/* ============ B2C SIMULATOR — scoped #b2cSim (light theme, site charte) ============ */
#b2cSim{max-width:940px;margin:0 auto;font-family:'Inter',sans-serif}

/* ----- compact view : formules à gauche, résumé du séjour à droite (desktop) ----- */
#b2cSim .b2c-compact{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
@media(min-width:880px){ #b2cSim .b2c-compact{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
/* the non-compact editor + shared cards stay a readable single column */
#b2cSim > .card,#b2cSim > .price-box,#b2cSim > .reveal-btn,#b2cSim > .detail-card,
#b2cSim > .detail-toggle,#b2cSim > .cta-row,#b2cSim > .cta-alt,#b2cSim > .signed,
#b2cSim > .inc-card,#b2cSim > .sim-foot,#b2cSim > .back-btn,#b2cSim > .customize-btn{max-width:680px;margin-left:auto;margin-right:auto}
#b2cSim .col-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);font-weight:800;margin-bottom:12px}
#b2cSim .presets{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
#b2cSim .preset{background:var(--light-gray);border:2px solid var(--light-gray);border-radius:var(--radius);padding:16px 12px;cursor:pointer;transition:all .15s;text-align:center;color:var(--black)}
#b2cSim .preset:hover{border-color:var(--primary-light)}
#b2cSim .preset.active{border-color:var(--primary);background:rgba(27,67,50,.08)}
#b2cSim .preset .icon{font-size:22px}
#b2cSim .preset .name{font-size:14px;font-weight:800;color:var(--primary);margin-top:2px}
#b2cSim .preset .sub{font-size:11px;color:var(--gray);margin-top:3px;line-height:1.35}

#b2cSim .summary-card{background:var(--white);border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:22px;box-shadow:var(--shadow)}
#b2cSim .recap-mini{margin:14px 0 4px;padding:14px 0 4px;border-top:1px solid var(--light-gray)}

#b2cSim .customize-btn{display:block;width:100%;margin:18px 0 6px;padding:14px;border-radius:14px;cursor:pointer;background:var(--white);border:2px solid var(--primary);color:var(--primary);font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}
#b2cSim .customize-btn:hover{background:rgba(27,67,50,.06)}
#b2cSim .back-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--primary);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:4px 0;margin-bottom:14px}
#b2cSim .back-btn:hover{color:var(--primary-light)}

/* ----- cards / fields ----- */
#b2cSim .card{background:var(--white);border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:22px;margin-bottom:18px;box-shadow:var(--shadow)}
#b2cSim .card h3{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);margin:0 0 18px;font-weight:800;display:flex;justify-content:space-between;align-items:center}
#b2cSim .card h3 .chev{font-size:16px;display:inline-block;transition:transform .2s}
#b2cSim .field{margin-bottom:18px}#b2cSim .field:last-child{margin-bottom:0}
#b2cSim .field > label{font-size:12px;font-weight:700;color:var(--primary);display:block;margin-bottom:7px}
#b2cSim .field > label .lbl-hint{font-weight:500;color:var(--gray);text-transform:none;letter-spacing:0}
#b2cSim .field-hint{font-size:12px;color:var(--primary-light);margin-top:6px;font-weight:700}
#b2cSim .btn-row{display:flex;gap:6px;flex-wrap:wrap}
#b2cSim .btn{flex:1;min-width:44px;padding:10px 6px;border-radius:10px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;background:var(--light-gray);color:var(--black);border:2px solid var(--light-gray);transition:all .15s;text-align:center}
#b2cSim .btn:hover{border-color:var(--primary-light)}
#b2cSim .btn.on{border-color:var(--primary);background:rgba(27,67,50,.08);color:var(--primary)}
#b2cSim .board-row .btn{flex:1 1 30%;min-width:90px;padding:11px 8px;font-size:13px}

/* stepper : − N + */
#b2cSim .stepper{display:inline-flex;align-items:center;gap:10px}
#b2cSim .stepper-val{min-width:28px;text-align:center;font-size:18px;font-weight:800;color:var(--primary)}
#b2cSim .stepper-unit{font-size:13px;color:var(--gray);font-weight:600}

#b2cSim input[type=date]{width:100%;padding:12px 14px;border-radius:10px;border:2px solid var(--light-gray);background:var(--light-gray);color:var(--black);font-family:inherit;font-size:15px;font-weight:600;outline:none;transition:border-color .2s}
#b2cSim input[type=date]:focus{border-color:var(--primary);background:var(--white)}
#b2cSim .season-tag{display:inline-block;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:700;margin-top:8px}
#b2cSim .season-tag.s1{background:rgba(45,106,79,.12);color:var(--primary-light);border:1px solid rgba(45,106,79,.25)}
#b2cSim .season-tag.s2{background:rgba(212,165,116,.16);color:#a8742f;border:1px solid rgba(212,165,116,.35)}
#b2cSim .season-tag.off{background:#fdecec;color:#c0392b;border:1px solid #f5c6c6;display:block;margin-top:8px;line-height:1.45}
#b2cSim .chk{cursor:pointer;font-size:13px;display:flex;align-items:flex-start;gap:6px;margin-top:10px;color:var(--gray);font-weight:600}
#b2cSim .chk.on{color:var(--primary-light)}
#b2cSim .chk input{width:16px;height:16px;margin-top:2px;accent-color:var(--primary);flex-shrink:0}

#b2cSim .notice{margin-top:10px;padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.45}
#b2cSim .notice.gala{background:#fdecec;border:1px solid #f5c6c6;color:#a5352a}
#b2cSim .notice.promo{background:linear-gradient(135deg,#e85d4a,#c94430);color:#fff;font-weight:700}
#b2cSim .notice.promo .d{font-weight:500;font-size:11px;opacity:.95;display:block;margin-top:3px}

/* extras */
#b2cSim .extra-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--light-gray);border-radius:var(--radius);border:2px solid transparent;margin-bottom:8px}
#b2cSim .extra-row.qty{background:rgba(45,106,79,.08);border-color:rgba(45,106,79,.25)}
#b2cSim .extra-info{flex:1;min-width:0}
#b2cSim .extra-info .en{font-size:13px;font-weight:600}
#b2cSim .extra-info .ed{font-size:11px;color:var(--gray);margin-top:1px}
#b2cSim .extra-price{font-size:13px;color:var(--primary);font-weight:700;white-space:nowrap;margin-right:4px}
#b2cSim .extras-foot{display:flex;justify-content:space-between;padding:12px 2px 0;margin-top:8px;border-top:1px solid var(--light-gray);font-size:12px;color:var(--gray)}
#b2cSim .extras-foot .hl{color:var(--primary);font-weight:700}
#b2cSim .extras-note{font-size:12px;color:var(--primary);font-weight:600;margin-top:-8px}
#b2cSim .qc{display:flex;align-items:center;gap:2px}
#b2cSim .qb{width:30px;height:30px;border-radius:8px;border:2px solid #e5e7eb;background:var(--white);color:var(--primary);font-size:17px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
#b2cSim .qb:hover{border-color:var(--primary)}
#b2cSim .qv{width:28px;text-align:center;font-size:15px;font-weight:700}

/* price box */
#b2cSim .price-box{border-radius:var(--radius-lg);padding:24px;text-align:center;margin:8px 0 0;position:relative;overflow:hidden}
#b2cSim .price-box.ok{background:linear-gradient(135deg,rgba(212,165,116,.14),rgba(27,67,50,.10));border:1px solid rgba(212,165,116,.4)}
#b2cSim .price-box.promo{background:linear-gradient(135deg,rgba(232,93,74,.10),rgba(212,165,116,.14));border:1px solid rgba(232,93,74,.4)}
#b2cSim .price-box.empty{background:var(--light-gray);border:1px solid #e5e7eb;padding:18px}
#b2cSim .price-box .empty-msg{font-size:13px;color:var(--gray);line-height:1.5}
#b2cSim .price-box .promo-tag{font-size:12px;color:#c94430;font-weight:700;margin-bottom:6px}
#b2cSim .price-box .rack{font-size:14px;color:var(--gray);margin-bottom:4px}
#b2cSim .price-box .rack s{color:#c0392b}
#b2cSim .big-price{font-size:clamp(36px,8vw,48px);font-weight:800;color:var(--primary);line-height:1}
#b2cSim .big-price .u{font-size:.5em;font-weight:600}
#b2cSim .price-sub{font-size:13px;color:var(--gray);margin-top:4px}
#b2cSim .savings{display:inline-block;margin-top:12px;padding:7px 18px;border-radius:30px;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#fff;font-size:13px;font-weight:700}
#b2cSim .savings.promo{background:linear-gradient(135deg,#e85d4a,#c94430)}
#b2cSim .comp-line{font-size:13px;color:#a8742f;margin-top:10px}
#b2cSim .comp-total{font-size:14px;color:var(--primary);margin-top:3px;font-weight:800}
#b2cSim .price-blurred .big-price,#b2cSim .price-blurred .savings,#b2cSim .price-blurred .rack,#b2cSim .price-blurred .comp-line,#b2cSim .price-blurred .comp-total{filter:blur(11px);-webkit-filter:blur(11px);user-select:none;pointer-events:none}

/* reveal / recap / cta */
#b2cSim .reveal-btn{display:block;width:100%;margin:16px 0 4px;padding:16px 24px;border-radius:14px;cursor:pointer;background:linear-gradient(135deg,var(--secondary),#c08f52);border:none;color:var(--primary-dark);font-size:15px;font-weight:800;font-family:inherit;box-shadow:0 6px 22px rgba(212,165,116,.42);transition:transform .2s,box-shadow .2s}
#b2cSim .reveal-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(212,165,116,.5)}
#b2cSim .detail-toggle{width:100%;padding:11px;border-radius:12px;cursor:pointer;background:var(--light-gray);border:1px solid #e5e7eb;color:var(--gray);font-size:13px;font-family:inherit;font-weight:700;margin:14px 0}
#b2cSim .detail-card{background:var(--white);border:1px solid #e5e7eb;border-radius:var(--radius);padding:18px;margin-bottom:16px}
#b2cSim .detail-card .t{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);margin-bottom:12px;font-weight:800}
#b2cSim .drow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--light-gray)}
#b2cSim .recap-mini .drow:first-child{padding-top:0}
#b2cSim .drow .dl{font-size:13px;font-weight:700;color:var(--black)}
#b2cSim .drow .dl .ri{display:inline-block;width:1.35em;margin-right:2px}
#b2cSim .drow .dd{font-size:12px;color:var(--gray);margin-top:1px}
#b2cSim .drow .dc{color:var(--primary-light);font-size:15px;font-weight:700;flex-shrink:0}
#b2cSim .dtot{display:flex;justify-content:space-between;padding:13px 0 0;margin-top:2px}
#b2cSim .dtot .l{font-size:15px;font-weight:800;color:var(--primary)}
#b2cSim .dtot .v{font-size:20px;font-weight:800}
#b2cSim .cta-row{display:flex;gap:10px;margin:14px 0 8px}
#b2cSim .cta{flex:1;padding:15px;border-radius:14px;cursor:pointer;border:none;font-size:15px;font-weight:700;font-family:inherit;transition:transform .2s;display:flex;align-items:center;justify-content:center;gap:8px}
#b2cSim .cta:hover{transform:translateY(-2px)}
#b2cSim .cta-wa{background:linear-gradient(135deg,#25d366,#128c3e);color:#fff}
#b2cSim .cta-mail{background:linear-gradient(135deg,var(--secondary),#c08f52);color:var(--primary-dark)}
#b2cSim .cta-alt{display:block;text-align:center;font-size:12px;color:var(--gray);margin:2px 0 12px;text-decoration:none}
#b2cSim .cta-alt u{color:var(--primary-light)}
#b2cSim .signed{text-align:center;font-size:12px;color:var(--gray)}

/* inclusions + foot */
#b2cSim .inc-card{background:var(--light-gray);border-radius:var(--radius-lg);padding:22px;margin-top:18px}
#b2cSim .inc-card h3{color:var(--primary)}
#b2cSim .inc-item{display:flex;gap:12px;align-items:flex-start;padding:7px 0}
#b2cSim .inc-item .ic{font-size:17px;line-height:1.4}
#b2cSim .inc-item .it{font-size:14px;font-weight:700}
#b2cSim .inc-item .id{font-size:12px;color:var(--gray)}
#b2cSim .sim-foot{text-align:center;font-size:11px;color:var(--gray);margin-top:14px;line-height:1.6}

/* modal */
#b2cModal{position:fixed;inset:0;background:rgba(15,43,32,.55);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .3s}
#b2cModal.show{opacity:1;pointer-events:all}
#b2cModal .m{background:var(--white);border-radius:24px;padding:30px;max-width:410px;width:100%;box-shadow:0 24px 70px rgba(0,0,0,.3);transform:translateY(16px);transition:transform .3s;position:relative}
#b2cModal.show .m{transform:translateY(0)}
#b2cModal h2{font-size:22px;font-weight:800;color:var(--primary);text-align:center;margin-bottom:4px}
#b2cModal .msub{font-size:13px;color:var(--gray);text-align:center;margin-bottom:20px}
#b2cModal .ff{margin-bottom:12px}
#b2cModal .ff label{font-size:11px;color:var(--primary);display:block;margin-bottom:5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
#b2cModal input{width:100%;padding:12px 14px;border-radius:10px;border:2px solid var(--light-gray);background:var(--light-gray);color:var(--black);font-family:inherit;font-size:15px;outline:none;transition:border-color .2s}
#b2cModal input:focus{border-color:var(--primary);background:var(--white)}
#b2cModal .err{color:#c0392b;font-size:11px;margin-top:4px;display:none}
#b2cModal .sb{width:100%;padding:15px;border-radius:12px;cursor:pointer;background:linear-gradient(135deg,var(--secondary),#c08f52);border:none;color:var(--primary-dark);font-size:16px;font-weight:800;font-family:inherit;margin-top:6px}
#b2cModal .sb:disabled{opacity:.5;cursor:not-allowed}
#b2cModal .pv{font-size:11px;color:var(--gray);text-align:center;margin-top:10px;line-height:1.4}
#b2cModal .cx{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;border:2px solid var(--light-gray);background:var(--white);color:var(--gray);font-size:16px;cursor:pointer;line-height:1}

@media(max-width:600px){
  #b2cSim .card,#b2cSim .summary-card{padding:16px}
  #b2cSim .cta-row{flex-direction:column}
  #b2cSim .board-row .btn{flex:1 1 100%}
}
