/* Pages « Solutions » : liste + une page par type de produit */
.wf-solutions-page{background:#050607;color:#f7f5ef}
.wf-page-width{width:min(calc(100% - 48px),1450px);margin-inline:auto}
.sol{--o:#ff9800;--o2:#ffad28;--bd:rgba(255,255,255,.12);--soft:rgba(255,255,255,.74);padding:clamp(18px,3vw,40px) 0 clamp(40px,6vw,88px)}
.sol h1,.sol h2,.sol h3{text-wrap:balance}
.sol-eyebrow{margin:0 0 12px;color:var(--o);font-size:.82rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.sol-beta{display:inline-block;margin-left:.5em;padding:.15em .6em;border:1.5px solid var(--o2);border-radius:999px;color:var(--o2);font-size:.78em;font-style:normal;font-weight:900;letter-spacing:.14em;vertical-align:middle}
.sol-crumb{margin:0 0 14px;color:rgba(255,255,255,.6);font-size:.88rem}
.sol-crumb a{color:var(--o2)}

/* Boutons */
.sol-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 28px;border-radius:10px;font-weight:850;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:0;font-family:inherit;transition:transform .2s,box-shadow .2s,background .2s}
.sol-btn--primary{background:linear-gradient(90deg,#ff8b00,#ff6b00);color:#111;box-shadow:0 10px 28px rgba(255,120,0,.28)}
.sol-btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(255,120,0,.45)}
.sol-btn--ghost{border:1px solid rgba(255,153,0,.7);color:var(--o2);background:transparent}
.sol-btn--ghost:hover{background:rgba(255,153,0,.12);color:#fff;transform:translateY(-2px)}
.sol-btn:focus-visible,.sol a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.sol-price{color:var(--soft)}
.sol-price strong{color:#fff;font-size:1.25em}
.sol-price small{display:block;color:rgba(255,255,255,.6);font-size:.8rem}
.sol-price--lg strong{font-size:1.7rem}

/* Liste des solutions */
.sol-head{max-width:820px;padding:24px 0 clamp(24px,4vw,44px)}
.sol-head h1{margin:0;font-size:clamp(3rem,7vw,5.6rem);line-height:.95;letter-spacing:-.05em;text-transform:uppercase}
.sol-head p:last-child{margin:20px 0 0;color:var(--soft);font-size:1.08rem;line-height:1.7}
.sol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sol-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--bd);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,153,0,.025));color:inherit;text-decoration:none;transition:transform .25s,border-color .25s,box-shadow .25s}
.sol-card:hover,.sol-card:focus-visible{transform:translateY(-4px);border-color:rgba(255,153,0,.6);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.sol-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#0b0d10}
.sol-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.sol-card:hover .sol-card__media img{transform:scale(1.04)}
.sol-card__body{display:flex;flex-direction:column;gap:10px;flex:1;padding:22px 22px 20px}
.sol-card__title{font-size:1.5rem;font-weight:850;letter-spacing:-.02em}
.sol-card__text{color:var(--soft);line-height:1.55}
.sol-card__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid var(--bd)}
.sol-card__go{color:var(--o2);font-weight:800}
.sol-help{margin-top:clamp(30px,5vw,64px);padding:clamp(24px,4vw,44px);border:1px solid rgba(255,153,0,.4);border-radius:18px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(255,153,0,.14),transparent 60%)}
.sol-help h2{margin:0 0 8px;font-size:clamp(1.5rem,2.6vw,2.2rem)}
.sol-help p{margin:0 0 20px;color:var(--soft)}

/* Présentation d'un type */
.sol-hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:clamp(320px,34vw,480px);padding:clamp(26px,5vw,64px);border:1px solid var(--bd);border-radius:22px;background:radial-gradient(circle at 85% 20%,rgba(255,153,0,.18),transparent 55%),radial-gradient(circle at 10% 90%,rgba(40,90,200,.14),transparent 55%),linear-gradient(145deg,#0f1114,#07080a)}
.sol-hero__pic,.sol-hero__pic img{position:absolute;inset:0;width:100%;height:100%}
.sol-hero__pic img{object-fit:cover}
.sol-hero.has-image{aspect-ratio:2/1;min-height:clamp(380px,34vw,520px)}
.sol-hero.has-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,4,5,.9) 0,rgba(3,4,5,.7) 32%,rgba(3,4,5,0) 62%)}
.sol-hero__copy{position:relative;z-index:2;max-width:620px}
.sol-hero h1{margin:0;font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1;letter-spacing:-.045em;text-transform:uppercase}
.sol-hero__tagline{margin:18px 0 0;color:var(--o2);font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:800;line-height:1.35}
.sol-hero__intro{margin:14px 0 0;color:var(--soft);font-size:1.06rem;line-height:1.65;max-width:560px}
.sol-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:26px}

/* Sections */
.sol-section{margin-top:clamp(36px,6vw,80px)}
.sol-section>h2,.sol-two h2,.sol-custom h2,.sol-final h2{margin:0 0 20px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.03em}
.sol-cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sol-mini{padding:24px;border:1px solid var(--bd);border-radius:16px;background:rgba(255,255,255,.035)}
.sol-mini h3{margin:0 0 8px;color:#fff;font-size:1.2rem}
.sol-mini p{margin:0;color:var(--soft);line-height:1.6}
.sol-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.sol-checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sol-checks li{position:relative;padding-left:2.1em;line-height:1.5;color:#fff}
.sol-checks li::before{content:"";position:absolute;left:0;top:.1em;width:1.35em;height:1.35em;border-radius:50%;background:var(--o) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5.5 12.5 4.2 4.2L18.5 8' fill='none' stroke='%23111' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat}
.sol-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.sol-chips li{padding:10px 16px;border:1px solid var(--bd);border-radius:999px;background:rgba(255,255,255,.04);color:#fff;font-weight:650}
.sol-chips--accent li{border-color:rgba(255,153,0,.6);color:var(--o2)}
.sol-note{margin:16px 0 0;color:rgba(255,255,255,.62);font-size:.95rem;line-height:1.6}
.sol-custom{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;padding:clamp(24px,4vw,44px);border:1px solid rgba(255,153,0,.4);border-radius:20px;background:radial-gradient(circle at 90% 0,rgba(255,153,0,.14),transparent 55%)}
.sol-custom.has-image{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.sol-custom__text .sol-chips{margin-top:20px}
.sol-custom__img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 18px 44px rgba(0,0,0,.5)}
.sol-custom p{margin:0;color:var(--soft);line-height:1.65}
.sol-custom h2{margin-bottom:12px}

/* Formes disponibles */
.sol-forms{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.sol-forms.is-single{grid-template-columns:minmax(0,1fr)}
.sol-form{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid var(--bd);border-radius:18px;background:rgba(255,255,255,.035)}
.sol-forms:not(.is-single) .sol-form{grid-template-columns:minmax(0,1fr)}
.sol-form__media{min-height:240px;background:#0b0d10}
.sol-form__media img{display:block;width:100%;height:100%;object-fit:cover}
.sol-form__ph{display:grid;place-items:center;height:100%;min-height:240px;color:rgba(255,255,255,.45)}
.sol-form__body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:clamp(20px,3vw,34px)}
.sol-form__body h3{margin:0;font-size:1.6rem}
.sol-form__body p{margin:0;color:var(--soft);line-height:1.6}

/* Étapes */
.sol-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
.sol-steps li{counter-increment:s;padding:24px;border:1px solid var(--bd);border-radius:16px;background:rgba(255,255,255,.035)}
.sol-steps li::before{content:counter(s);display:grid;place-items:center;width:40px;height:40px;margin-bottom:14px;border-radius:50%;background:var(--o);color:#111;font-weight:900}
.sol-steps b{display:block;margin-bottom:6px;font-size:1.15rem}
.sol-steps span{color:var(--soft);line-height:1.6}

/* Questionnaire (menu digital) */
.sol-quote{padding:clamp(22px,4vw,44px);border:1px solid rgba(255,153,0,.45);border-radius:22px;background:radial-gradient(circle at 90% 0,rgba(255,153,0,.12),transparent 55%),#0a0b0d}
.sol-quote__lead{margin:-6px 0 22px;color:var(--soft);line-height:1.6}
.sol-form-quote{display:grid;gap:22px}
.sol-form-quote fieldset{margin:0;padding:0;border:0;display:grid;gap:16px;min-width:0}
.sol-form-quote legend{margin:0 0 6px;padding:0;color:var(--o2);font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.sol-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sol-form-quote label{display:grid;gap:6px;font-weight:700}
.sol-form-quote label small{font-weight:400;color:rgba(255,255,255,.6)}
.sol-form-quote b{color:var(--o)}
.sol-form-quote input[type=text],.sol-form-quote input[type=email],.sol-form-quote input[type=tel],.sol-form-quote select,.sol-form-quote textarea{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:#0d0f12;color:#fff;font:inherit;font-weight:400}
.sol-form-quote textarea{resize:vertical}
.sol-form-quote input:focus,.sol-form-quote select:focus,.sol-form-quote textarea:focus{outline:2px solid var(--o);outline-offset:1px}
.sol-q{margin:0 0 8px;font-weight:700}
.sol-checkgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sol-radios{display:flex;flex-wrap:wrap;gap:10px}
.sol-form-quote .sol-check{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.03);font-weight:600;cursor:pointer}
.sol-check input{width:20px;height:20px;accent-color:var(--o);flex:none}
.sol-check:has(input:checked){border-color:rgba(255,153,0,.8);background:rgba(255,153,0,.1)}
.sol-form-quote .sol-consent{align-items:flex-start;font-weight:400;line-height:1.5}
.sol-consent a{color:var(--o2)}
.sol-submit{justify-self:start}
.sol-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sol-alert{margin:0 0 18px;padding:14px 18px;border:1px solid rgba(255,90,70,.7);border-radius:12px;background:rgba(255,90,70,.1)}
.sol-alert p{margin:4px 0}

/* Appel final */
.sol-final{margin-top:clamp(40px,6vw,84px);padding:clamp(30px,5vw,56px) 24px;border:1px solid rgba(255,153,0,.45);border-radius:22px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(255,153,0,.18),transparent 60%)}
.sol-final h2{margin-bottom:10px}
.sol-final p{margin:0 0 22px;color:var(--soft)}
.sol-final__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}

@media(max-width:1000px){.sol-grid,.sol-cards3,.sol-steps{grid-template-columns:minmax(0,1fr)}.sol-two,.sol-custom,.sol-custom.has-image{grid-template-columns:minmax(0,1fr)}.sol-form{grid-template-columns:minmax(0,1fr)}.sol-checkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .wf-page-width{width:min(calc(100% - 28px),1450px)}
  .sol-hero{min-height:0;padding:24px 18px}
  .sol-hero.has-image{display:block;aspect-ratio:auto;min-height:0;padding:0}
  .sol-hero.has-image .sol-hero__pic{position:relative;inset:auto;display:block;width:100%;aspect-ratio:4/5;height:auto}
  .sol-hero.has-image .sol-hero__pic img{position:absolute;inset:0;object-position:center 80%}
  .sol-hero.has-image::after{display:none}
  .sol-hero.has-image .sol-hero__copy{max-width:none;padding:22px 18px 26px}
  .sol-grid2,.sol-checkgrid{grid-template-columns:minmax(0,1fr)}
  .sol-btn{width:100%}
  .sol-hero__actions{align-items:flex-start}
  .sol-submit{justify-self:stretch}
}
@media(prefers-reduced-motion:reduce){.sol-card,.sol-card__media img,.sol-btn{transition:none}}

/* Fiche produit intégrée à la page solution : bouton aperçu + détails dépliables */
button.sol-btn{border:0;cursor:pointer;font-family:inherit}
.sol-more{margin-top:18px;border-top:1px solid var(--bd);padding-top:14px}
.sol-more summary{display:inline-flex;align-items:center;gap:10px;cursor:pointer;list-style:none;color:#e9e6e0;font-weight:700;font-size:.92rem}
.sol-more summary::-webkit-details-marker{display:none}
.sol-more__plus{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid #ff8100;color:#ff8100;font-size:1.1rem;line-height:1;transition:transform .2s}
.sol-more[open] .sol-more__plus{transform:rotate(45deg)}
.sol-more__body{margin-top:12px;color:#cfcac2;font-size:.95rem;line-height:1.6}
.sol-more__body p{margin:0 0 12px}
.sol-more__thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:0 0 14px}
.sol-more__thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid var(--bd)}
.sol-more__steps{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem;color:#a9a49b}
.sol-more__steps b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#ff8100;color:#111;font-size:.75rem}
