/* Espace professionnel: hero with the company discount, offer cards and the request form. */
.pro-page{--pro-green:#2b875b;--pro-dark:#0c573a;--pro-soft:#e9f5ee;--pro-ink:#13392b;--pro-muted:#63766b;--pro-line:#d5e1d7}
.pro-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.pro-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,64px);align-items:center}
.pro-discount{position:relative;padding:clamp(26px,3.4vw,38px);border:1px solid #8adba540;border-radius:28px;background:linear-gradient(150deg,#ffffff14,#ffffff05);box-shadow:0 24px 60px #00170b40}
.pro-discount-label{margin:0;font-size:10px;line-height:1.5;letter-spacing:.16em;font-weight:800;color:#9fdab2}
.pro-discount-value{margin:6px 0 4px;font-size:clamp(64px,9vw,104px);line-height:1;letter-spacing:-.06em;font-weight:800;color:#c4ffd2}
.pro-discount-text{margin:0;max-width:320px;font-size:15px;line-height:1.6;color:#d8f1df}
.pro-discount-steps{counter-reset:step;list-style:none;margin:24px 0 0;padding:20px 0 0;border-top:1px solid #8adba530;display:grid;gap:12px}
.pro-discount-steps li{counter-increment:step;display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.4;color:#e7fbec}
.pro-discount-steps li::before{content:counter(step);display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#c4ffd2;color:#00170b;font-size:12px;font-weight:800}
.pro-discount-steps a{color:#c4ffd2;font-weight:800;text-decoration:underline;text-underline-offset:3px}

.pro-offer h3{margin:16px 0 14px;font-size:clamp(21px,2.2vw,25px);line-height:1.15;letter-spacing:-.04em;font-weight:800}
.pro-offer .home-service-featured h3{font-size:clamp(30px,3.4vw,40px)}

.pro-request-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(34px,6vw,80px);align-items:start}
.pro-request-intro{position:sticky;top:28px}
.pro-steps{list-style:none;counter-reset:step;margin:34px 0 0;padding:0;display:grid;gap:4px}
.pro-steps li{counter-increment:step;position:relative;padding:14px 0 14px 50px;border-top:1px solid var(--line)}
.pro-steps li::before{content:counter(step);position:absolute;left:0;top:14px;display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#fff;color:var(--pro-dark);font-size:13px;font-weight:800;box-shadow:inset 0 0 0 1px #cfe2d3}
.pro-steps strong{display:block;font-size:15px;letter-spacing:-.02em}
.pro-steps span{display:block;margin-top:3px;font-size:13px;line-height:1.6;color:var(--muted)}

.pro-form-card{padding:clamp(22px,4vw,38px);border:1px solid #dce6dc;border-radius:28px;background:#fff;box-shadow:0 18px 50px #183a2a12;color:var(--pro-ink)}
.pro-form{display:grid;gap:24px}
.pro-form[hidden]{display:none}
.pro-fieldset{min-width:0;margin:0;padding:0;border:0;display:grid;gap:14px}
.pro-fieldset[hidden]{display:none}
.pro-fieldset legend{float:left;width:100%;margin:0;padding:0;font-size:15px;font-weight:800;letter-spacing:-.02em}
.pro-fieldset legend small,.pro-field small{font-size:12px;font-weight:600;color:var(--pro-muted)}

.pro-kinds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pro-choice,.pro-need,.pro-days label{position:relative;display:block;cursor:pointer}
.pro-choice input,.pro-need input,.pro-days input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pro-choice span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:94px;padding:12px 6px;border:1.5px solid var(--pro-line);border-radius:18px;background:#fbfdfb;font-size:13px;font-weight:800;text-align:center;transition:border-color .2s,background .2s,color .2s}
.pro-choice svg{width:26px;height:26px;stroke-width:1.7;color:#4d7e63}
.pro-choice:hover span,.pro-need:hover span{border-color:#9cc9ad}
.pro-choice input:checked+span{border-color:var(--pro-green);background:var(--pro-soft);color:var(--pro-dark);box-shadow:inset 0 0 0 1px var(--pro-green)}
.pro-choice input:checked+span svg{color:var(--pro-green)}
.pro-choice input:focus-visible+span,.pro-need input:focus-visible+span,.pro-days input:focus-visible+span{outline:3px solid #287e53;outline-offset:3px}

.pro-needs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pro-need span{display:block;min-height:68px;padding:13px 14px 13px 50px;border:1.5px solid var(--pro-line);border-radius:17px;background:#fbfdfb;transition:border-color .2s,background .2s}
.pro-need span::before{content:"";position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;border:1.5px solid #a9bfb0;border-radius:7px;background:#fff center/14px no-repeat;transition:background-color .2s,border-color .2s}
.pro-need strong{display:block;font-size:14px;letter-spacing:-.02em}
.pro-need small{display:block;margin-top:2px;font-size:12px;line-height:1.4;color:var(--pro-muted)}
.pro-need input:checked+span{border-color:var(--pro-green);background:var(--pro-soft)}
.pro-need input:checked+span::before{border-color:var(--pro-green);background-color:var(--pro-green);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}

.pro-recurring{padding:20px;border:1px solid #d3e6d6;border-radius:20px;background:#f3f8f3}
.pro-days{display:grid;grid-template-columns:repeat(7,minmax(0,46px));gap:8px}
.pro-days span{display:grid;place-items:center;height:44px;border:1.5px solid var(--pro-line);border-radius:14px;background:#fff;font-size:14px;font-weight:800;transition:background .2s,color .2s,border-color .2s}
.pro-days input:checked+span{border-color:var(--pro-green);background:var(--pro-green);color:#fff}

.pro-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pro-field{display:block;min-width:0;font-size:13px;font-weight:700;line-height:1.4;color:var(--pro-ink)}
.pro-field input,.pro-field textarea{display:block;width:100%;min-height:50px;margin-top:7px;padding:12px 14px;border:1.5px solid var(--pro-line);border-radius:14px;background:#fbfdfb;color:var(--pro-ink);font:inherit;font-size:16px;font-weight:500;transition:border-color .2s,box-shadow .2s}
.pro-field textarea{resize:vertical;min-height:110px;line-height:1.5}
.pro-field input::placeholder,.pro-field textarea::placeholder{color:#93a399}
.pro-field input:focus,.pro-field textarea:focus{outline:none;border-color:var(--pro-green);box-shadow:0 0 0 4px #2b875b26;background:#fff}
.pro-field input[aria-invalid=true]{border-color:#c2412d}
.pro-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.pro-error{margin:0;padding:13px 15px;border-radius:14px;background:#fff1ee;color:#9b2c1c;font-size:14px;font-weight:700;line-height:1.5}
.pro-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:58px;padding:0 22px;border:0;border-radius:18px;background:var(--pro-green);color:#fff;font-size:16px;font-weight:800;letter-spacing:-.02em;transition:background .2s,transform .12s}
.pro-submit:hover{background:#1e6a46}
.pro-submit:active{transform:scale(.99)}
.pro-submit:disabled{opacity:.6;cursor:wait}
.pro-submit .ui-icon{width:20px;height:20px}
.pro-submit:focus-visible,.pro-again:focus-visible{outline:3px solid #287e53;outline-offset:4px}
.pro-privacy{margin:-8px 0 0;font-size:12px;line-height:1.6;color:var(--pro-muted);text-align:center}
.pro-privacy a{color:#226c49;font-weight:700;text-decoration:underline;text-underline-offset:3px}

.pro-sent{padding:clamp(18px,4vw,40px) 6px;text-align:center}
.pro-sent:focus{outline:none}
.pro-sent-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:var(--pro-soft);color:var(--pro-green)}
.pro-sent-icon .ui-icon{width:30px;height:30px;stroke-width:2.2}
.pro-sent h3{margin:0;font-size:clamp(26px,3vw,32px);letter-spacing:-.04em}
.pro-sent p{max-width:400px;margin:12px auto 0;font-size:15px;line-height:1.7;color:var(--pro-muted)}
.pro-again{margin-top:24px;min-height:48px;padding:0 20px;border:0;border-radius:14px;background:var(--pro-soft);color:#1e6a46;font-size:14px;font-weight:800}

@media(max-width:900px){.pro-hero,.pro-request-grid{grid-template-columns:1fr}.pro-discount{max-width:560px}.pro-request-intro{position:static}.pro-steps{margin-top:26px}}
@media(max-width:620px){.pro-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-needs,.pro-row{grid-template-columns:1fr}.pro-choice span{min-height:80px;flex-direction:row;justify-content:flex-start;padding:12px 14px;text-align:left}.pro-recurring{padding:16px}.pro-days{gap:5px}}
@media(max-width:360px){.pro-days span{font-size:13px}.pro-choice span{min-height:64px;font-size:12px;gap:8px}.pro-choice svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.pro-choice span,.pro-need span,.pro-need span::before,.pro-days span,.pro-submit{transition:none}}
