@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;500;600;700;800&family=DM+Sans:wght@300;400;500&display=swap");
.devis-wrapper {
--blue:      #2563eb;
--blue-dark: #1d4ed8;
--blue-light:#eff6ff;
--text:      #0f172a;
--muted:     #64748b;
--border:    #e2e8f0;
--white:     #ffffff;
--success:   #10b981;
--error:     #ef4444;
--shadow:    0 4px 24px rgba(37,99,235,.12);
font-family: 'DM Sans', sans-serif;
max-width: 760px;
width: 100%;
margin: 2rem auto;
padding: 2.5rem;
background: var(--white);
border-radius: 20px;
box-shadow: var(--shadow);
position: relative;
overflow-x: hidden;
box-sizing: border-box;
} .devis-wrapper *,
.devis-wrapper *::before,
.devis-wrapper *::after {
box-sizing: border-box;
max-width: 100%;
}
.devis-wrapper::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 4px;
background: linear-gradient(90deg, var(--blue), #6366f1);
} .devis-progress {
display: flex;
align-items: center;
gap: .75rem;
margin-bottom: 2rem;
}
.devis-progress-bar {
flex: 1;
height: 6px;
background: var(--border);
border-radius: 99px;
overflow: hidden;
min-width: 0;
}
.devis-progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--blue), #6366f1);
border-radius: 99px;
transition: width .5s cubic-bezier(.4,0,.2,1);
width: 25%;
}
.devis-steps-dots {
display: flex;
gap: 6px;
flex-shrink: 0;
}
.step-dot {
width: 10px; height: 10px;
border-radius: 50%;
background: var(--border);
transition: all .3s;
display: inline-block;
}
.devis-step-label {
font-family: 'Bricolage Grotesque', sans-serif;
font-size: .8rem;
font-weight: 600;
color: var(--muted);
white-space: nowrap;
flex-shrink: 0;
} .devis-step {
display: none;
}
@keyframes fadeSlideIn {
from { opacity: 0; transform: translateX(20px); }
to   { opacity: 1; transform: translateX(0); }
} .devis-step-header {
text-align: center;
margin-bottom: 1.75rem;
}
.devis-step-icon {
font-size: 2.2rem;
margin-bottom: .4rem;
display: block;
}
.devis-question {
font-family: 'Bricolage Grotesque', sans-serif;
font-size: 1.5rem;
font-weight: 800;
color: var(--text);
margin: 0 0 .4rem;
line-height: 1.2;
}
.devis-hint {
color: var(--muted);
font-size: .9rem;
margin: 0;
} .devis-field-group {
margin-bottom: 1.25rem;
}
.devis-label {
display: block;
font-weight: 500;
font-size: .9rem;
color: var(--text);
margin-bottom: .5rem;
}
.devis-label .required { color: var(--error); }
.devis-label .optional  { color: var(--muted); font-size: .8rem; }
.devis-input-wrap { display: block; }
.devis-input-icon { display: none; }
.devis-input {
width: 100%;
padding: .85rem 1rem;
border: 2px solid var(--border);
border-radius: 10px;
font-family: 'DM Sans', sans-serif;
font-size: 1rem;
color: var(--text);
outline: none;
transition: border-color .2s, box-shadow .2s, background .2s;
background: #f8fafc;
box-sizing: border-box;
-webkit-appearance: none;
appearance: none;
}
.devis-input::placeholder { color: #b0bec5; }
.devis-input:focus {
border-color: var(--blue);
box-shadow: 0 0 0 3px rgba(37,99,235,.1);
background: var(--white);
}
.devis-textarea {
width: 100%;
padding: .85rem 1rem;
border: 2px solid var(--border);
border-radius: 10px;
font-family: 'DM Sans', sans-serif;
font-size: 1rem;
color: var(--text);
outline: none;
resize: vertical;
min-height: 120px;
transition: border-color .2s, box-shadow .2s;
background: #f8fafc;
box-sizing: border-box;
line-height: 1.5;
-webkit-appearance: none;
appearance: none;
}
.devis-textarea:focus {
border-color: var(--blue);
box-shadow: 0 0 0 3px rgba(37,99,235,.1);
background: var(--white);
}
.devis-char-count {
text-align: right;
font-size: .78rem;
color: var(--muted);
margin-top: .25rem;
}
.devis-fields-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
} .devis-nav {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 2rem;
gap: .75rem;
}
.devis-btn-next,
.devis-btn-submit {
background: linear-gradient(135deg, var(--blue), #6366f1);
color: white;
border: none;
padding: .85rem 1.75rem;
border-radius: 10px;
font-family: 'Bricolage Grotesque', sans-serif;
font-size: 1rem;
font-weight: 700;
cursor: pointer;
transition: all .25s;
display: flex;
align-items: center;
gap: .5rem;
box-shadow: 0 4px 14px rgba(37,99,235,.3);
white-space: nowrap;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}
.devis-btn-next:hover,
.devis-btn-submit:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(37,99,235,.4);
}
.devis-btn-next:active,
.devis-btn-submit:active {
transform: translateY(0);
}
.devis-btn-prev {
background: transparent;
color: var(--muted);
border: 2px solid var(--border);
padding: .85rem 1.25rem;
border-radius: 10px;
font-family: 'DM Sans', sans-serif;
font-size: .9rem;
cursor: pointer;
transition: all .2s;
white-space: nowrap;
-webkit-tap-highlight-color: transparent;
touch-action: manipulation;
}
.devis-btn-prev:hover {
color: var(--text);
border-color: var(--text);
} .devis-recap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-bottom: 1.5rem;
}
.recap-block {
background: var(--blue-light);
border-radius: 12px;
padding: 1rem;
}
.recap-title {
font-family: 'Bricolage Grotesque', sans-serif;
font-size: .82rem;
font-weight: 700;
color: var(--blue);
margin: 0 0 .4rem;
text-transform: uppercase;
letter-spacing: .03em;
}
.recap-value {
font-size: .9rem;
color: var(--text);
line-height: 1.5;
word-break: break-word;
} .devis-message {
padding: 1rem;
border-radius: 10px;
margin-bottom: 1rem;
font-size: .9rem;
text-align: center;
display: none;
}
.devis-message.success { background: #d1fae5; color: #065f46; display: block; }
.devis-message.error   { background: #fee2e2; color: #991b1b; display: block; } .devis-success {
text-align: center;
padding: 2rem 1rem;
}
.success-animation { margin-bottom: 1.5rem; }
.success-circle {
width: 80px; height: 80px;
border-radius: 50%;
background: linear-gradient(135deg, var(--success), #34d399);
display: inline-flex; align-items: center; justify-content: center;
box-shadow: 0 8px 24px rgba(16,185,129,.3);
animation: popIn .5s cubic-bezier(.175,.885,.32,1.275) forwards;
}
.success-check { font-size: 2rem; color: white; }
.success-title {
font-family: 'Bricolage Grotesque', sans-serif;
font-size: 1.7rem;
font-weight: 800;
color: var(--text);
margin: 0 0 .75rem;
}
.success-text {
color: var(--muted);
font-size: 1rem;
line-height: 1.6;
max-width: 380px;
margin: 0 auto 1.5rem;
}
.devis-btn-reset {
background: transparent;
color: var(--blue);
border: 2px solid var(--blue);
padding: .75rem 1.5rem;
border-radius: 10px;
font-family: 'DM Sans', sans-serif;
font-size: .9rem;
cursor: pointer;
transition: all .2s;
-webkit-tap-highlight-color: transparent;
}
.devis-btn-reset:hover { background: var(--blue); color: white; }
@keyframes popIn {
from { transform: scale(0); opacity: 0; }
to   { transform: scale(1); opacity: 1; }
} @media (max-width: 768px) {
.devis-wrapper {
margin: 1rem;
padding: 2rem 1.5rem;
border-radius: 16px;
}
.devis-question {
font-size: 1.35rem;
}
} @media (max-width: 480px) { .devis-wrapper {
margin: 0;
padding: 1.25rem 1rem 1.5rem;
border-radius: 0;
box-shadow: none;
border-top: 4px solid var(--blue);
width: 100vw;
max-width: 100vw;
left: 0;
position: relative;
}
.devis-wrapper::before {
display: none; } .devis-progress {
flex-wrap: wrap;
gap: .5rem;
margin-bottom: 1.5rem;
}
.devis-progress-bar {
order: 1;
width: 100%;
flex: none;
}
.devis-steps-dots {
order: 2;
}
.devis-step-label {
order: 3;
font-size: .75rem;
} .devis-step-header {
margin-bottom: 1.25rem;
}
.devis-step-icon {
font-size: 1.8rem;
}
.devis-question {
font-size: 1.2rem;
}
.devis-hint {
font-size: .85rem;
} #besoinsGrid {
grid-template-columns: 1fr 1fr !important;
gap: 8px !important;
width: 100% !important;
} .besoin-card,
#besoinsGrid > div {
padding: .75rem .75rem .7rem !important;
} .devis-input,
.devis-textarea {
font-size: 16px; padding: .9rem 1rem;
}
.devis-textarea {
min-height: 100px;
} .devis-fields-row {
grid-template-columns: 1fr;
gap: .75rem;
} .devis-recap {
grid-template-columns: 1fr;
gap: .75rem;
} .devis-nav {
flex-direction: column-reverse;
gap: .6rem;
margin-top: 1.5rem;
}
.devis-btn-next,
.devis-btn-submit {
width: 100%;
justify-content: center;
padding: 1rem;
font-size: 1rem;
}
.devis-btn-prev {
width: 100%;
text-align: center;
padding: .8rem;
} .devis-success {
padding: 1.5rem .5rem;
}
.success-title {
font-size: 1.4rem;
}
.success-text {
font-size: .9rem;
}
.devis-btn-reset {
width: 100%;
padding: .85rem;
}
}.wpa-test-msg{background: #d1ecf1 !important; border: 1px solid #bee5eb !important; border-radius: 5px !important;color: #0c5460 !important; font-size: 14px !important; padding:.75rem 1.25rem !important; font-family: Arial !important; margin-top:5px !important;}
span.wpa-button{ display: inline-block !important; padding-top: 5px !important; color: #fff !important;background-color: #6c757d !important;border-color: #6c757d !important; padding: 5px 10px !important; border-radius: 5px !important; margin-top:5px !important;  cursor: pointer !important; }
#altEmail_container, .altEmail_container{position:absolute !important; overflow: hidden !important; display: inline !important; height:1px !important; width: 1px !important;z-index:-1000 !important;}.rdp-toc {
--rdp-bg:         #f0f4fa;
--rdp-border:     #d0d8e8;
--rdp-radius:     8px;
--rdp-font:       -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--rdp-text:       #1a1a2e;
--rdp-sub-text:   #333355;
--rdp-title-col:  #1a1a2e;
--rdp-link-hover: #1a73e8;
--rdp-active-col: #1a73e8;
--rdp-active-bg:  transparent;
--rdp-toggle-bg:  #e2e8f4;
--rdp-toggle-border: #b8c4d8;
--rdp-shadow:     none;
--rdp-transition: 180ms ease;
} .rdp-toc--minimal {
--rdp-bg:         #f9f9f9;
--rdp-border:     #e0e0e0;
--rdp-text:       #222;
--rdp-sub-text:   #444;
--rdp-title-col:  #111;
--rdp-link-hover: #333;
--rdp-active-col: #333;
--rdp-toggle-bg:  #ebebeb;
--rdp-toggle-border: #ccc;
} .rdp-toc--dark {
--rdp-bg:         #1e2733;
--rdp-border:     #3c4b5c;
--rdp-text:       #e8eaed;
--rdp-sub-text:   #b0bec8;
--rdp-title-col:  #ffffff;
--rdp-link-hover: #8ab4f8;
--rdp-active-col: #8ab4f8;
--rdp-toggle-bg:  #2a3a4a;
--rdp-toggle-border: #4a5c6e;
--rdp-shadow:     0 2px 12px rgba(0,0,0,.3);
} .rdp-toc {
font-family: var(--rdp-font);
font-size: 0.93rem;
background: var(--rdp-bg);
border: 1px solid var(--rdp-border);
border-radius: var(--rdp-radius);
box-shadow: var(--rdp-shadow);
margin: 1.6em 0 2em;
max-width: 720px;
overflow: hidden;
color: var(--rdp-text);
} .rdp-toc__header {
display: flex;
align-items: center;
padding: 12px 14px 12px 16px;
background: var(--rdp-bg);
border-bottom: 1px solid var(--rdp-border);
}
.rdp-toc__icon {
display: none; }
.rdp-toc__title {
font-weight: 700;
font-size: 1.05rem;
color: var(--rdp-title-col);
flex: 1;
letter-spacing: 0;
text-transform: none;
} .rdp-toc__toggle {
background: var(--rdp-toggle-bg);
border: 1px solid var(--rdp-toggle-border);
border-radius: 5px;
cursor: pointer;
padding: 4px 7px;
display: flex;
align-items: center;
justify-content: center;
transition: background var(--rdp-transition);
color: var(--rdp-text);
font-size: 0.85rem;
gap: 2px;
line-height: 1;
}
.rdp-toc__toggle:hover {
background: var(--rdp-border);
} .rdp-toc__arrow {
display: none;
}
.rdp-toc__toggle::before {
content: '≡';
font-size: 1rem;
line-height: 1;
margin-right: 2px;
}
.rdp-toc__toggle::after {
content: '▲';
font-size: 0.55rem;
line-height: 1;
transition: transform var(--rdp-transition);
display: inline-block;
}
.rdp-toc--open .rdp-toc__toggle::after {
transform: rotate(180deg);
} .rdp-toc__body {
overflow: hidden;
max-height: 0;
transition: max-height 320ms ease, opacity 220ms ease;
opacity: 0;
}
.rdp-toc--open .rdp-toc__body {
max-height: 3000px;
opacity: 1;
} .rdp-toc__list,
.rdp-toc__sublist {
margin: 0;
padding: 0;
list-style: none;
}
.rdp-toc__list {
padding: 8px 0 10px;
}
.rdp-toc__sublist {
padding: 0;
} .rdp-toc__item {
position: relative;
} .rdp-toc__link {
display: block;
padding: 3px 16px;
color: var(--rdp-text);
text-decoration: none;
line-height: 1.45;
transition: color var(--rdp-transition);
position: relative;
} .rdp-toc__link::before {
display: none;
} .rdp-toc__sublist .rdp-toc__link {
padding-left: 32px;
font-size: 0.91rem;
color: var(--rdp-sub-text);
} .rdp-toc__sublist .rdp-toc__sublist .rdp-toc__link {
padding-left: 48px;
font-size: 0.88rem;
} .rdp-toc__link:hover {
color: var(--rdp-link-hover);
text-decoration: underline;
background: transparent;
} .rdp-toc__link.rdp-toc--active {
color: var(--rdp-active-col);
font-weight: 600;
background: var(--rdp-active-bg);
} #rdp-back-to-top {
position: fixed;
bottom: 28px;
right: 28px;
z-index: 9999;
width: 42px;
height: 42px;
border-radius: 50%;
background: #1a73e8;
color: #fff;
border: none;
cursor: pointer;
box-shadow: 0 3px 12px rgba(26,115,232,.35);
font-size: 1.1rem;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transform: translateY(10px);
transition: opacity 240ms ease, transform 240ms ease;
pointer-events: none;
}
#rdp-back-to-top.rdp-visible {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
#rdp-back-to-top:hover {
background: #0d5bba;
} @media (max-width: 640px) {
.rdp-toc {
font-size: 0.89rem;
max-width: 100%;
}
.rdp-toc__sublist .rdp-toc__link {
padding-left: 26px;
}
#rdp-back-to-top {
bottom: 14px;
right: 14px;
width: 36px;
height: 36px;
}
} .rdp-anchor-link {
opacity: 0;
margin-left: 7px;
font-size: 0.72em;
color: #1a73e8;
text-decoration: none;
transition: opacity 180ms;
vertical-align: middle;
}
:is(h2,h3,h4,h5,h6):hover .rdp-anchor-link {
opacity: 1;
}.bd-form{--bd-bg:#ffffff;--bd-text:#111827;--bd-muted:#6b7280;--bd-border:#e5e7eb;--bd-primary:#6366f1;--bd-primary-2:#22c55e;max-width:980px;margin:24px auto;border-radius:18px;background:var(--bd-bg);border:1px solid var(--bd-border);overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.06)}
.bd-form header{padding:20px 24px;border-bottom:1px solid var(--bd-border);background:linear-gradient(180deg, rgba(99,102,241,.08), rgba(99,102,241,0));}
.bd-form .bd-inner{padding:20px 24px}
.bd-grid-2{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:720px){.bd-grid-2{grid-template-columns:1fr 1fr}}
.bd-field{display:flex;flex-direction:column;gap:8px}
.bd-field label{font-size:16px;line-height:1.4}
.bd-input,.bd-select,.bd-textarea,.bd-file{width:100%;padding:12px 14px;border:1px solid var(--bd-border);border-radius:12px;background:transparent;color:var(--bd-text);font-size:16px;line-height:1.5}
.bd-select{height:auto}
.bd-textarea{min-height:240px}
.bd-note{font-size:14px;color:var(--bd-muted)}
.bd-alert{padding:12px 14px;border-radius:12px;margin-bottom:12px}
.bd-alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.bd-btn{appearance:none;border:0;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;font-size:16px;line-height:1.2}
.bd-btn-primary{background:linear-gradient(90deg,#6366f1,#22c55e);color:#fff}
.bd-single-extras{border:1px solid var(--bd-border);border-radius:12px;padding:14px;margin:16px 0;background:rgba(0,0,0,.02)}
.bd-hours{white-space:pre-line}
.bd-kv{margin:.25rem 0}
.bd-kv strong{display:inline-block;min-width:120px}
.bd-cat-search{display:flex;gap:8px;align-items:center}
.bd-cat-search label{font-size:16px}
.bd-cat-search input{flex:1}
@media (max-width:480px){.bd-input,.bd-select,.bd-textarea,.bd-file{font-size:17px}} .bd-grid{display:grid;gap:18px}
@media (min-width:640px){.bd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:960px){.bd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.bd-card{position:relative;border:1px solid var(--bd-border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.06);transition:transform .2s ease, box-shadow .2s ease}
.bd-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.1)}
.bd-thumb{display:block;width:100%;height:180px;object-fit:cover}
.bd-card-inner{padding:14px}
.bd-card h3{margin:.25rem 0 .5rem;font-size:1.05rem;line-height:1.35}
.bd-meta{color:var(--bd-muted);font-size:.9rem;margin-bottom:.5rem}
.bd-chipbar{display:flex;flex-wrap:wrap;gap:6px;margin:.25rem 0 .5rem}
.bd-chip{font-size:.78rem;border:1px solid var(--bd-border);border-radius:999px;padding:6px 10px;color:#374151;background:#f9fafb}
.bd-card .bd-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.bd-link{font-weight:700;text-decoration:none}
.bd-cta{appearance:none;border:0;border-radius:999px;padding:8px 12px;background:linear-gradient(90deg,#6366f1,#22c55e);color:#fff;font-weight:700}
.bd-badge{position:absolute;top:10px;left:10px;background:#111827;color:#fff;border-radius:999px;padding:6px 10px;font-size:.78rem;opacity:.9} .bd-contact{margin-top:18px;border:1px solid var(--bd-border);background:#fff;border-radius:16px;box-shadow:0 10px 26px rgba(0,0,0,.06);overflow:hidden}
.bd-contact h3{margin:0;padding:14px 16px;border-bottom:1px solid var(--bd-border);background:linear-gradient(180deg, rgba(34,197,94,.08), rgba(34,197,94,0));font-size:1.05rem}
#bd-contact-form{padding:16px}
#bd-contact-form .bd-field{margin-bottom:12px}
#bd-contact-form .bd-input,#bd-contact-form .bd-textarea{transition:box-shadow .15s ease,border-color .15s ease}
#bd-contact-form .bd-input:focus,#bd-contact-form .bd-textarea:focus{outline:none;border-color:#a5b4fc;box-shadow:0 0 0 4px rgba(99,102,241,.15)}
.bd-form-actions{display:flex;align-items:center;gap:10px;margin-top:8px}
@keyframes bdspin{to{transform:rotate(360deg)}}
.bd-toast{margin:12px 16px 0;padding:10px 12px;border-radius:12px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}'; .bd-grid-2 { display:grid !important; grid-template-columns:1fr !important; gap:14px !important; width:100% !important; box-sizing:border-box !important; }
@media (min-width:480px){ .bd-grid-2 { grid-template-columns:1fr 1fr !important; } }
.bd-form { width:100% !important; max-width:100% !important; box-sizing:border-box !important; }
.bd-inner { width:100% !important; box-sizing:border-box !important; } #bd-payment-element { min-height:200px !important; display:block !important; visibility:visible !important; }
#bd-payment-element iframe { min-height:200px !important; width:100% !important; }
#bd-payment-element .__PrivateStripeElement { min-height:200px !important; }.wpsla-form-wrap{
--wpsla-color: #1e6091;
--wpsla-accent: #f59e0b;
--wpsla-border: #e5e7eb;
--wpsla-bg: #ffffff;
--wpsla-text: #1f2937;
--wpsla-muted: #6b7280;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
color: var(--wpsla-text);
line-height: 1.5;
max-width: 640px;
margin: 20px 0;
position: relative;
box-sizing: border-box;
}
.wpsla-form-wrap *,
.wpsla-form-wrap *::before,
.wpsla-form-wrap *::after{ box-sizing: border-box; }
.wpsla-form-wrap.wpsla-style-boxed{
background: var(--wpsla-bg);
border: 1px solid var(--wpsla-border);
border-radius: 12px;
padding: 30px;
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.wpsla-form-header{ margin-bottom: 20px; text-align: left; }
.wpsla-form-title{ margin: 0 0 8px; font-size: 22px; font-weight: 600; color: var(--wpsla-color); }
.wpsla-form-subtitle{ margin: 0; color: var(--wpsla-muted); font-size: 15px; }
.wpsla-form-body{ display: flex; flex-direction: column; gap: 15px; }
.wpsla-form-row{ display: flex; flex-direction: column; gap: 6px; }
.wpsla-label{ font-size: 14px; font-weight: 500; color: var(--wpsla-text); }
.wpsla-input{
width: 100%; padding: 12px 14px; font-size: 15px;
border: 1px solid var(--wpsla-border); border-radius: 6px;
background: #fff; color: var(--wpsla-text);
transition: border-color 0.15s, box-shadow 0.15s;
font-family: inherit;
}
.wpsla-input:focus{
outline: none; border-color: var(--wpsla-color);
box-shadow: 0 0 0 3px rgba(30, 96, 145, 0.12);
}
.wpsla-form-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 540px) { .wpsla-form-grid{ grid-template-columns: 1fr; } }
.wpsla-checkbox{ display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--wpsla-muted); cursor: pointer; line-height: 1.4; }
.wpsla-checkbox input{ margin-top: 3px; }
.wpsla-rgpd-row{ margin-top: 5px; }
.wpsla-submit-btn{
background: var(--wpsla-color); color: #fff; border: none;
padding: 14px 28px; font-size: 16px; font-weight: 600; border-radius: 6px;
cursor: pointer; transition: filter 0.15s; display: inline-flex; align-items: center; gap: 8px;
font-family: inherit;
}
.wpsla-submit-btn:hover{ filter: brightness(1.1); }
.wpsla-submit-btn:disabled{ opacity: 0.7; cursor: not-allowed; }
.wpsla-spin{ animation: wpsla-spin 1s linear infinite; }
@keyframes wpsla-spin{ to { transform: rotate(360deg); } }
.wpsla-form-message{
padding: 14px 16px; border-radius: 6px; margin-top: 10px;
font-size: 14px; line-height: 1.5;
}
.wpsla-form-message.success{ background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.wpsla-form-message.error{ background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.wpsla-form-progress{ margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--wpsla-border); }
.wpsla-progress-bar{ width: 100%; height: 6px; background: var(--wpsla-border); border-radius: 3px; overflow: hidden; }
.wpsla-progress-fill{ height: 100%; background: var(--wpsla-color); width: 0%; transition: width 0.5s ease; }
.wpsla-progress-text{ margin: 12px 0 15px; font-size: 14px; color: var(--wpsla-muted); }
.wpsla-progress-steps{ list-style: none; padding: 0; margin: 0; }
.wpsla-progress-steps li{
padding: 8px 0 8px 30px; position: relative;
color: var(--wpsla-muted); font-size: 14px;
}
.wpsla-progress-steps li::before{ content: '○'; position: absolute; left: 0; top: 8px; }
.wpsla-progress-steps li.done{ color: #16a34a; }
.wpsla-progress-steps li.done::before{ content: '✓'; }
.wpsla-progress-steps li.active{ color: var(--wpsla-color); font-weight: 600; }
.wpsla-progress-steps li.active::before{ content: '●'; } .wpsla-layout-compact .wpsla-form-body{
flex-direction: row; flex-wrap: wrap; gap: 10px; align-items: flex-end;
}
.wpsla-layout-compact .wpsla-form-row{ flex: 1 1 200px; }
.wpsla-layout-compact .wpsla-form-grid,
.wpsla-layout-compact .wpsla-rgpd-row{ flex-basis: 100%; }