/* Idéal Web — Compact Premium V2 / tunnel uniquement
 * Présentation exclusivement : choix métier, onboarding, logo, préparation,
 * transition, sélection de design, activation.
 * Aucun effet sur les pages de photos, l'administration, les accès ou les JS métier.
 * Sans dépendance JavaScript. Conserve les états d'erreur, chargement et focus.
 */

/* Cohérence : dimensions des étapes avec saisie. */
@media (min-width: 621px) {
  body[data-page="onboarding.html"] .screen,
  body[data-page="images.html"] main.page { padding:18px 24px; }
}
body[data-page="onboarding.html"] .layout,
body[data-page="images.html"] main.page > section.card {
  width:min(900px,100%);
  border-radius:24px;
  box-shadow:0 18px 58px rgba(12,57,40,.075);
}
body[data-page="onboarding.html"] .layout {padding:19px 26px 24px;}
body[data-page="onboarding.html"] .iw-onboarding-brandbar,
body[data-page="images.html"] .topbar {
  min-height:55px;
  padding:0 0 12px;
  gap:12px;
}
body[data-page="onboarding.html"] .iw-onboarding-logo,
body[data-page="images.html"] .iw-tunnel-brand__logo {
  width:174px!important;max-width:44vw!important;
}
body[data-page="onboarding.html"] .iw-onboarding-step,
body[data-page="images.html"] .topbar .step {
  min-height:31px;padding:7px 11px;font-size:11px;
}
body[data-page="onboarding.html"] .card.main {
  padding:16px 4px 0;
  border:0;border-radius:0;box-shadow:none;
}
body[data-page="onboarding.html"] .hero h1,
body[data-page="images.html"] .iw-page-intro h1 {
  max-width:none;margin:0;
  font-size:clamp(28px,3vw,35px);line-height:1.16;letter-spacing:-.045em;
}
body[data-page="onboarding.html"] .hero>.lead,
body[data-page="images.html"] .iw-page-intro>p {
  margin:7px 0 15px;
  font-size:13px;line-height:1.46;font-weight:500;
}
body[data-page="onboarding.html"] .quick-fields {gap:10px 12px!important;}
body[data-page="onboarding.html"] :is(#businessNameField,.experience-field) {
  padding:11px 13px;border-radius:13px;
}
body[data-page="onboarding.html"] :is(#businessNameField,.experience-field)>label,
body[data-page="onboarding.html"] .address-field>label {
  margin-bottom:6px;font-size:11px;letter-spacing:.01em;
}
body[data-page="onboarding.html"] :is(#businessNameField,.experience-field)>label::after,
body[data-page="onboarding.html"] .address-field>label::after {
  padding:3px 7px;font-size:9px;
}
body[data-page="onboarding.html"] .address-box {
  padding:11px 13px;border-radius:13px;
}
body[data-page="onboarding.html"] .address-grid {gap:10px;}
body[data-page="onboarding.html"] .address-subfield label {
  margin-bottom:5px;font-size:10px;letter-spacing:0;
}
body[data-page="onboarding.html"] input:not([type="checkbox"]) {
  min-height:44px;height:44px;padding:10px 12px;
  border-radius:10px;font-size:13px;
}
body[data-page="onboarding.html"] .experience-hint {
  margin:4px 0 0;font-size:10px;line-height:1.35;
}
body[data-page="onboarding.html"] .actions {
  margin-top:13px;gap:10px;
}
body[data-page="onboarding.html"] :is(.iw-onboarding-visible-back,.btn-main) {
  min-height:46px;border-radius:11px;font-size:13px;
}

/* Logo — garder les choix et l'aperçu pleinement utilisables. */
body[data-page="images.html"] main.page > section.card {padding:22px 28px 25px;}
body[data-page="images.html"] .iw-page-intro {padding:17px 0 15px;}
body[data-page="images.html"] .iw-page-eyebrow {font-size:10px;margin-bottom:5px;}
body[data-page="images.html"] .choices {gap:10px;}
body[data-page="images.html"] .choice {
  min-height:92px;padding:12px 14px;gap:11px;border-radius:13px;
}
body[data-page="images.html"] .choice-icon {
  width:37px;height:37px;flex-basis:37px;border-radius:10px;
}
body[data-page="images.html"] .choice-icon svg {width:20px;height:20px;}
body[data-page="images.html"] .choice-copy {gap:3px;}
body[data-page="images.html"] .choice-copy strong {font-size:13px;}
body[data-page="images.html"] .choice-copy span {font-size:11px;}
body[data-page="images.html"] .preview {
  margin-top:10px;padding:10px 13px;border-radius:12px;
}
body[data-page="images.html"] .preview-head {margin-bottom:7px;}
body[data-page="images.html"] .preview-frame {min-height:88px;padding:9px;}
body[data-page="images.html"] .preview-frame img {max-height:86px;}
body[data-page="images.html"] .actions {margin-top:13px;gap:10px;}
body[data-page="images.html"] .actions .btn {
  min-height:46px;border-radius:11px;font-size:13px;
}

/* Choix du métier : réduire le grand hero, sans masquer les catégories. */
body.trade-selector-page.iw-compact-v2 .selector-hero-inner {
  padding:32px 0 47px;
}
body.trade-selector-page.iw-compact-v2 .selector-kicker {
  margin-bottom:10px;padding:6px 10px;font-size:10px;
}
body.trade-selector-page.iw-compact-v2 .selector-hero h1 {
  max-width:850px;font-size:clamp(31px,4vw,45px);line-height:1.08;
}
body.trade-selector-page.iw-compact-v2 .selector-lead {
  max-width:680px;margin-top:10px;font-size:14px;line-height:1.48;
}
body.trade-selector-page.iw-compact-v2 .selector-proof {margin-top:13px;gap:6px 16px;font-size:11px;}
body.trade-selector-page.iw-compact-v2 .searchbox {max-width:690px;margin-top:18px;padding:4px 9px;}
body.trade-selector-page.iw-compact-v2 .searchbox input {padding:10px 4px;font-size:14px;}
body.trade-selector-page.iw-compact-v2 .selector-controls-card {padding:15px 18px;border-radius:17px;}
body.trade-selector-page.iw-compact-v2 .selector-controls-head {margin-bottom:10px;}
body.trade-selector-page.iw-compact-v2 .selector-controls h2 {font-size:19px;}
body.trade-selector-page.iw-compact-v2 .categories {gap:7px;}
body.trade-selector-page.iw-compact-v2 .catbtn {min-height:35px;padding:7px 10px;border-radius:9px;font-size:11px;}
body.trade-selector-page.iw-compact-v2 .selector-catalogue {padding-top:20px;}
body.trade-selector-page.iw-compact-v2 .section {margin-bottom:12px;border-radius:16px;}
body.trade-selector-page.iw-compact-v2 .section-head {padding:12px 15px;}
body.trade-selector-page.iw-compact-v2 .section-icon {width:35px;height:35px;flex-basis:35px;}
body.trade-selector-page.iw-compact-v2 .section-head h2 {font-size:17px;}
body.trade-selector-page.iw-compact-v2 .cards {gap:8px;padding:10px;}
body.trade-selector-page.iw-compact-v2 .card {min-height:100px;padding:12px 15px;gap:9px;border-radius:12px;}
body.trade-selector-page.iw-compact-v2 .card-copy h3 {font-size:14px;}
body.trade-selector-page.iw-compact-v2 .card-copy p {margin-top:4px;font-size:11px;}
body.trade-selector-page.iw-compact-v2 .card-action-arrow {width:26px;height:26px;}

/* Chargement de préparation — présentation condensée, états et boutons intacts. */
body.iw-compact-v2 .prep-shell {padding:16px;}
body.iw-compact-v2 .prep-card {
  width:min(650px,100%);padding:23px 29px 23px;border-radius:23px;
  box-shadow:0 18px 60px rgba(15,52,40,.08);
}
body.iw-compact-v2 .prep-brand {gap:6px;}
body.iw-compact-v2 .prep-ideal-logo {width:156px;}
body.iw-compact-v2 .prep-logo-wrap {width:50px;height:50px;border-radius:13px;}
body.iw-compact-v2 .prep-badge {padding:5px 10px;font-size:10px;}
body.iw-compact-v2 .prep-company {margin-top:11px;font-size:12px;}
body.iw-compact-v2 .prep-card h1 {
  margin:6px 0 6px;font-size:clamp(29px,3.3vw,37px);line-height:1.12;
}
body.iw-compact-v2 .prep-lead {font-size:13px;line-height:1.5;}
body.iw-compact-v2 .prep-visual {width:92px;height:92px;margin:15px auto 15px;}
body.iw-compact-v2 .orbit {inset:3px;}
body.iw-compact-v2 .orbit-b {inset:17px;}
body.iw-compact-v2 .orbit-c {inset:29px;}
body.iw-compact-v2 .prep-core {width:35px;height:35px;border-radius:11px;}
body.iw-compact-v2 .prep-core span {width:8px;height:8px;}
body.iw-compact-v2 .prep-message {min-height:0;margin-bottom:14px;padding:13px 15px;border-radius:14px;}
body.iw-compact-v2 .prep-message-kicker {margin-bottom:5px;font-size:11px;}
body.iw-compact-v2 .prep-message p {font-size:13px;line-height:1.48;}
body.iw-compact-v2 .prep-status {margin-top:8px;font-size:12px;}

/* Chargement de transition / routage : cohérence visuelle et espace réduit. */
body[data-page="transition.html"] .transition {width:min(520px,100%);}
body[data-page="transition.html"] .transition-card {
  padding:26px 30px;border-radius:22px;
  box-shadow:0 18px 60px rgba(19,55,41,.09);
}
body[data-page="transition.html"] .transition-logo {width:160px;margin-bottom:13px;}
body[data-page="transition.html"] .transition-card h1 {
  margin:7px 0 9px;font-size:clamp(28px,3.4vw,38px);
}
body[data-page="transition.html"] #transitionMessage {font-size:13px;line-height:1.5;}
body[data-page="transition.html"] .transition-progress {margin-top:17px;height:8px;}
body[data-page="transition.html"] .transition-status {margin-top:9px;}

/* Choix du design : galerie large mais moins haute, lisible et accessible. */
body.iw-compact-v2 .ct-top {min-height:60px;padding-top:7px;padding-bottom:7px;}
body.iw-compact-v2 .ct-hero {max-width:960px;padding:24px 0 24px;}
body.iw-compact-v2 .ct-kicker {font-size:10px;}
body.iw-compact-v2 .ct-hero h1 {
  margin:7px 0 8px;font-size:clamp(30px,4vw,48px);line-height:1.08;
}
body.iw-compact-v2 .ct-hero p {font-size:13px;line-height:1.5;}
body.iw-compact-v2 .ct-chips {margin-top:10px;gap:6px;}
body.iw-compact-v2 .ct-chips span {padding:5px 9px;font-size:10px;}
body.iw-compact-v2 .ct-recommended {padding:17px;margin-bottom:25px;border-radius:18px;}
body.iw-compact-v2 .ct-all {margin-bottom:35px;}
body.iw-compact-v2 .ct-section-head {gap:12px;margin-bottom:12px;}
body.iw-compact-v2 .ct-section-head h2 {margin-top:4px;font-size:clamp(22px,2.6vw,29px);}
body.iw-compact-v2 .ct-grid {gap:11px;}
body.iw-compact-v2 .ct-card {border-radius:15px;}
body.iw-compact-v2 .ct-preview {height:126px;margin:7px 7px 0;border-radius:10px;}
body.iw-compact-v2 .ct-card-body {padding:12px;}
body.iw-compact-v2 .ct-card h3 {margin:8px 0 4px;font-size:15px;}
body.iw-compact-v2 .ct-desc {min-height:0;margin:7px 0;font-size:11px;line-height:1.45;}
body.iw-compact-v2 .ct-action {min-height:40px;margin-top:9px;}
body.iw-compact-v2 .ct-module-row {margin:10px 0;padding:9px 12px;}

/* Activation : tarifs et preuves lisibles, sans supprimer d'informations obligatoires. */
body.iw-compact-v2 .activation-header {min-height:67px;padding-top:8px;padding-bottom:8px;gap:14px;}
body.iw-compact-v2 .activation-main {padding-top:22px;padding-bottom:35px;}
body.iw-compact-v2 .hero {gap:22px;margin-bottom:23px;align-items:center;}
body.iw-compact-v2 .hero h1 {font-size:clamp(30px,3.6vw,43px);line-height:1.1;}
body.iw-compact-v2 .lead {margin-top:10px;font-size:13px;line-height:1.53;}
body.iw-compact-v2 .hero-trust {margin-top:11px;gap:6px;}
body.iw-compact-v2 .hero-trust span {padding:7px 9px;font-size:10px;}
body.iw-compact-v2 .project-card {padding:13px;border-radius:14px;gap:10px;}
body.iw-compact-v2 .project-icon {width:35px;height:35px;border-radius:10px;}
body.iw-compact-v2 .project-state {padding-top:7px;}
body.iw-compact-v2 .offers-section {padding:21px;border-radius:21px;}
body.iw-compact-v2 .section-heading {gap:15px;margin-bottom:17px;}
body.iw-compact-v2 .section-heading h2 {font-size:clamp(24px,2.65vw,32px);}
body.iw-compact-v2 .section-heading p:not(.eyebrow) {margin-top:6px;font-size:12px;}
body.iw-compact-v2 .iw-free-first-note {padding:11px 13px;font-size:12px;line-height:1.5;}
body.iw-compact-v2 .offer-card {padding:18px;border-radius:17px;}
body.iw-compact-v2 .purchase-selection {margin-top:22px;padding:22px;border-radius:20px;}
/* Ne jamais cacher la tarification, le renouvellement, les consentements ou les messages d'erreur. */

@media (max-width: 700px) {
  body[data-page="onboarding.html"] .layout {padding:15px 18px;}
  body[data-page="onboarding.html"] .card.main {padding:14px 0 0;}
  body[data-page="onboarding.html"] .hero h1,
  body[data-page="images.html"] .iw-page-intro h1 {font-size:clamp(26px,8vw,32px);}
  body[data-page="onboarding.html"] .quick-fields {grid-template-columns:1fr!important;gap:10px!important;}
  body[data-page="onboarding.html"] .address-grid {grid-template-columns:1fr 1fr;}
  body[data-page="onboarding.html"] .address-subfield:first-child {grid-column:1/-1;}
  body[data-page="images.html"] .choices {grid-template-columns:1fr;gap:9px;}
  body[data-page="images.html"] main.page>section.card {padding:18px!important;}
  body[data-page="images.html"] .choice {min-height:72px;}
  body.trade-selector-page.iw-compact-v2 .selector-hero-inner {padding:25px 0 40px;}
  body.trade-selector-page.iw-compact-v2 .selector-hero h1 {font-size:clamp(28px,7.5vw,36px);}
  body.trade-selector-page.iw-compact-v2 .selector-proof {justify-content:center;}
  body.trade-selector-page.iw-compact-v2 .selector-controls-card {padding:13px;}
  body.trade-selector-page.iw-compact-v2 .catbtn {flex:0 0 auto;}
  body.iw-compact-v2 .prep-card {padding:22px 17px;}
  body.iw-compact-v2 .ct-hero {padding:23px 0 18px;}
  body.iw-compact-v2 .ct-hero h1 {font-size:clamp(29px,8vw,36px);}
  body.iw-compact-v2 .ct-preview {height:145px;}
  body.iw-compact-v2 .ct-section-head {align-items:start;}
  body.iw-compact-v2 .activation-main {padding-top:18px;}
  body.iw-compact-v2 .offers-section {padding:15px;border-radius:17px;}
  body.iw-compact-v2 .hero {gap:12px;}
  body.iw-compact-v2 .offer-card {padding:16px;}
}
@media (max-width: 430px) {
  body[data-page="onboarding.html"] .address-grid {grid-template-columns:1fr;}
  body[data-page="onboarding.html"] .address-subfield:first-child {grid-column:auto;}
  body[data-page="onboarding.html"] :is(#businessNameField,.experience-field) {padding:10px;}
  body[data-page="onboarding.html"] .address-box {padding:10px;}
  body[data-page="images.html"] .iw-page-intro {padding:13px 0;}
  body.trade-selector-page.iw-compact-v2 .selector-hero h1 {font-size:29px;}
  body.iw-compact-v2 .ct-preview {height:138px;}
  body.iw-compact-v2 .transition-card {padding:25px 19px;}
}
@media (prefers-reduced-motion: reduce) {
  body.iw-compact-v2 .ct-card,
  body.trade-selector-page.iw-compact-v2 .card {transition:none;}
}

/* Corrections de proportions vérifiées sur 1366×768. */
@media (min-width: 621px) {
  body[data-page="onboarding.html"] .layout {width:min(900px,100%)!important;}
}
body[data-page="onboarding.html"] input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  min-height:44px!important;height:44px!important;
}
@media (max-width:620px) {
  /* La navigation ne doit jamais recouvrir le dernier champ. */
  body[data-page="onboarding.html"] .actions,
  body[data-page="images.html"] .actions {
    position:static!important;
    z-index:auto;
    margin:14px 0 0!important;
    padding:0 0 max(12px,env(safe-area-inset-bottom))!important;
    border:0!important;background:transparent!important;
    backdrop-filter:none!important;
  }
}

/* Sélection de designs alignée visuellement avec le tunnel clair Idéal Web. */
body.iw-compact-v2:has(.ct-shell) {
  --text:#10251f;--muted:#5c7368;--line:#dbe9e0;
  --green:#008c55;--green2:#00854d;
  color:#10251f;
  background:radial-gradient(circle at 90% 4%,rgba(0,140,83,.09),transparent 30%),
    radial-gradient(circle at 8% 88%,rgba(0,140,83,.055),transparent 32%),
    #f8fcf9;
}
body.iw-compact-v2 .ct-top {
  border-color:#e2ece6;
  background:rgba(255,255,255,.95);
  box-shadow:0 1px 0 rgba(16,60,40,.035);
}
body.iw-compact-v2 .ct-back {
  border-color:#d6e7dd;color:#006841;background:#fff;
}
body.iw-compact-v2 .ct-hero h1 {color:#10251f;}
body.iw-compact-v2 .ct-hero h1 em {color:#008751;}
body.iw-compact-v2 .ct-hero p {color:#5c7368;}
body.iw-compact-v2 .ct-chips span {
  border-color:#cfe6d7;background:#ecf8f1;color:#126c46;
}
body.iw-compact-v2 .ct-recommended {
  border-color:#d5e8dc;background:#f2faf5;
  box-shadow:0 12px 40px rgba(9,70,43,.04);
}
body.iw-compact-v2 .ct-section-head h2 {color:#10251f;}
body.iw-compact-v2 .ct-section-head span {color:#087d4a;}
body.iw-compact-v2 .ct-section-head p {color:#5d7467;}
body.iw-compact-v2 .ct-section-head strong {
  border-color:#d9e9e0;color:#0c8150;background:#fff;
}
body.iw-compact-v2 .ct-card {
  border:1px solid #dce9e2;
  background:#fff;
  box-shadow:0 9px 25px rgba(7,48,31,.055);
}
body.iw-compact-v2 .ct-card.is-recommended {border-color:#8cceab;}
body.iw-compact-v2 .ct-card:not(.is-locked):hover {
  border-color:#8fcfad;box-shadow:0 15px 38px rgba(7,48,31,.1);
}
body.iw-compact-v2 .ct-card h3 {color:#10251f;}
body.iw-compact-v2 .ct-style {color:#657c70;}
body.iw-compact-v2 .ct-desc {color:#5c7368;}
body.iw-compact-v2 .ct-badge {background:#eaf8ef;color:#087346;}
body.iw-compact-v2 .ct-action {
  background:#f0f8f3;border-color:#d5e7db;color:#087344;
}
body.iw-compact-v2 .ct-card:not(.is-locked):hover .ct-action {
  background:#e4f5e9;border-color:#a9d8bc;
}
body.iw-compact-v2 .ct-action i {color:#008750;}
body.iw-compact-v2 .ct-message {
  background:#0f3021;color:#fff;
}
