/* Le Séjour Parfait — simulateur d'excursions (v1, 22/10/2026). Chargé après site.css et sp-ui.css. */
body[data-page="excursions"]{background:#f6f8fb}
.sx-tete{padding:clamp(22px,4vw,44px) 0 14px}
.sx-kicker{font:700 12px/1 var(--titre);letter-spacing:.12em;text-transform:uppercase;color:var(--safran)}
.sx-tete h1{font:700 clamp(28px,4vw,46px)/1.08 var(--titre);letter-spacing:-.02em;color:var(--anthracite);margin:10px 0 8px}
.sx-tete h1 em{font-family:var(--luxe,"Playfair Display",serif);font-style:italic;font-weight:600;color:var(--safran)}
.sx-tete p{max-width:760px;color:var(--gris);margin:0 0 18px;font-size:16px}
.sx-onglets{display:inline-flex;background:#fff;border:1px solid #e3e8f0;border-radius:999px;padding:4px;gap:4px;box-shadow:0 8px 22px -18px rgba(11,36,71,.5)}
.sx-onglets button{border:0;background:transparent;border-radius:999px;padding:10px 18px;font:600 14.5px var(--titre);color:var(--anthracite);cursor:pointer}
.sx-onglets button.on{background:var(--anthracite);color:#fff}

.sx-grille{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start;padding-bottom:10px}
.sx-form{display:flex;flex-direction:column;gap:16px;min-width:0}
.sx-etape{border:1px solid #e8edf4;background:#fff;border-radius:20px;padding:18px 18px 16px;margin:0;min-width:0;box-shadow:0 14px 34px -30px rgba(11,36,71,.5)}
.sx-etape legend{float:left;width:100%;display:flex;align-items:center;gap:10px;font:600 18px var(--titre);color:var(--anthracite);padding:0;margin:0 0 12px}
.sx-etape legend+*{clear:both}
.sx-etape legend i{font-style:normal;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:var(--ui-ciel,#e9f5ff);color:var(--safran-fonce);font:700 14px var(--titre)}
.sx-budget-etape{border-color:var(--safran);background:linear-gradient(180deg,#f2f8ff,#fff)}
.sx-champ{display:flex;flex-direction:column;gap:6px;font:600 13px var(--titre);color:var(--anthracite)}
.sx-champ select,.sx-champ input{width:100%;min-height:46px;border:1.5px solid #dfe5ee;border-radius:12px;padding:0 12px;font:500 16px var(--texte);color:var(--encre);background:#fff}
.sx-champ select:focus,.sx-champ input:focus,.sx-contact input:focus{outline:none;border-color:var(--safran);box-shadow:0 0 0 3px rgba(1,116,208,.15)}
#sx-budget{font:700 22px var(--titre);min-height:54px}
.sx-aide{font-size:13.5px;color:var(--gris);margin:10px 0 0}
.sx-puces{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.sx-budget-etape .sx-puces{margin:10px 0 0}
.sx-puces button{border:1.5px solid #dfe5ee;background:#fff;border-radius:999px;padding:8px 14px;font:600 13.5px var(--titre);color:var(--anthracite);cursor:pointer}
.sx-puces button.on,.sx-puces button:hover{border-color:var(--anthracite)}
.sx-puces button.on{background:var(--anthracite);color:#fff}
.sx-zone-info{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:14px;color:var(--gris)}
.sx-zone-info b{color:var(--anthracite)}
.sx-des{margin-left:auto;background:#e6f2fd;color:var(--safran-fonce);border-radius:999px;padding:3px 10px}
.sx-des b{color:var(--safran-fonce)}

.sx-lieux{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:10px}
.sx-lieu{display:flex;gap:10px;align-items:center;border:1.5px solid #e3e8f0;border-radius:14px;padding:8px;cursor:pointer;position:relative;background:#fff;transition:border-color .15s}
.sx-lieu input{position:absolute;opacity:0;pointer-events:none}
.sx-lieu img,.sx-lieu-vide{width:64px;height:64px;border-radius:10px;object-fit:cover;flex:none;background:#e9eef5}
.sx-lieu-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.sx-lieu-t b{font:600 14px/1.25 var(--titre);color:var(--anthracite)}
.sx-lieu-t small{font-size:12px;color:var(--gris);line-height:1.3}
.sx-lieu-t em{font-style:normal;font-size:12px;font-weight:700;color:var(--safran-fonce)}
.sx-lieu::after{content:"";position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:6px;border:1.5px solid #c9d2df;background:#fff}
.sx-lieu.on{border-color:var(--safran);background:#f3f9ff}
.sx-lieu.on::after{background:var(--safran) 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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--safran)}
.sx-lieu .sx-lieu-t{padding-right:24px}

.sx-compteurs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sx-cpt,.sx-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px solid #e8edf4;border-radius:14px;padding:10px 12px}
.sx-cpt span,.sx-opt span{display:flex;flex-direction:column;min-width:0}
.sx-cpt b,.sx-opt b{font:600 14.5px var(--titre);color:var(--anthracite)}
.sx-cpt small,.sx-opt small{font-size:12px;color:var(--gris)}
.sx-cpt div,.sx-mini{display:flex;align-items:center;gap:6px;flex:none}
.sx-cpt button,.sx-mini button{width:36px;height:36px;border-radius:50%;border:1.5px solid #cfd8e4;background:#fff;font:600 19px/1 var(--titre);color:var(--anthracite);cursor:pointer;display:grid;place-items:center;touch-action:manipulation}
.sx-cpt button:hover,.sx-mini button:hover{border-color:var(--anthracite)}
.sx-cpt output,.sx-mini output{min-width:26px;text-align:center;font:700 17px var(--titre);color:var(--anthracite)}
.sx-ligne2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.sx-bascule{display:flex;border:1.5px solid #dfe5ee;border-radius:12px;padding:3px;gap:3px;min-height:46px}
.sx-bascule button{flex:1;border:0;background:transparent;border-radius:9px;font:600 14px var(--titre);color:var(--anthracite);cursor:pointer}
.sx-bascule button.on{background:var(--anthracite);color:#fff}

.sx-formules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sx-f{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:8px;border:1.5px solid #e3e8f0;border-radius:16px;padding:14px;background:#fff;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s}
.sx-f:hover{border-color:#b9c6d8}
.sx-f.on{border-color:var(--safran);box-shadow:0 0 0 3px rgba(1,116,208,.14);background:#f6fbff}
.sx-f.ko{opacity:.72}
.sx-f-tete b{display:block;font:700 17px var(--titre);color:var(--anthracite)}
.sx-f-tete small{font-size:12.5px;color:var(--gris)}
.sx-f-prix{font-size:13px;color:var(--gris)}
.sx-f-prix b{font:700 20px var(--titre);color:var(--safran-fonce)}
.sx-f-prix.ko{color:var(--ui-ko,#c0392b);font-weight:600;font-size:12.5px;line-height:1.35}
.sx-f-min{font-size:11.5px;font-weight:700;color:var(--lagune);background:var(--lagune-pale);border-radius:8px;padding:4px 8px;align-self:flex-start}
.sx-f ul{margin:0;padding:0 0 0 16px;font-size:12.5px;color:#3a4a66;line-height:1.45}
.sx-f-ex{font-size:11.5px;color:var(--gris-clair,#9a9aa0);line-height:1.35}

.sx-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sx-opt.on{border-color:var(--safran);background:#f6fbff}
.sx-inter{position:relative;width:46px;height:28px;flex:none;cursor:pointer}
.sx-inter input{opacity:0;position:absolute;inset:0;margin:0;cursor:pointer}
.sx-inter i{position:absolute;inset:0;border-radius:999px;background:#cfd8e4;transition:background .15s;pointer-events:none}
.sx-inter i::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .15s}
.sx-inter input:checked+i{background:var(--safran)}
.sx-inter input:checked+i::after{transform:translateX(18px)}

/* ---------- colonne résultat ---------- */
.sx-res{position:sticky;top:92px;min-width:0}
.sx-carte{background:#fff;border-radius:22px;border:1px solid #e3e8f0;box-shadow:0 26px 60px -38px rgba(11,36,71,.6);padding:20px;max-height:calc(100vh - 110px);overflow:auto;overscroll-behavior:contain}
.sx-res-tete{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.sx-res-tete small{font:700 12px var(--titre);letter-spacing:.06em;text-transform:uppercase;color:var(--safran)}
.sx-ref{font:600 11.5px var(--titre);color:var(--gris-clair,#9a9aa0)}
.sx-total{margin:6px 0 12px}
.sx-total b{display:block;font:700 clamp(32px,3.6vw,40px)/1.05 var(--titre);color:var(--anthracite);letter-spacing:-.02em}
.sx-total span{font-size:13.5px;color:var(--gris)}
.sx-pp{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-bottom:12px}
.sx-pp div{background:#f3f7fc;border-radius:12px;padding:8px 10px}
.sx-pp small{display:block;font-size:11.5px;color:var(--gris)}
.sx-pp b{font:700 15px/1.25 var(--titre);color:var(--anthracite)}
.sx-alertes{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.sx-alertes:empty{display:none}
.sx-alertes li{font-size:13px;line-height:1.4;border-radius:10px;padding:8px 10px;background:#fff6e8;color:#7a4a0c}
.sx-alertes li.b{background:#fdeceb;color:#9b2a1f;font-weight:600}
.sx-detail summary{cursor:pointer;font:600 14px var(--titre);color:var(--safran-fonce);padding:6px 0}
.sx-res table{width:100%;border-collapse:collapse;font-size:13.5px}
.sx-res td{padding:7px 0;border-bottom:1px solid #eef1f5;vertical-align:top;color:#33415c}
.sx-res td:last-child{text-align:right;white-space:nowrap;font-weight:600;color:var(--anthracite);padding-left:10px}
.sx-res td small{display:block;font-size:11.5px;color:var(--gris-clair,#9a9aa0);line-height:1.3}
.sx-res tr.st td{font-weight:700;color:var(--anthracite)}
.sx-res tr.tt td{font:700 16px var(--titre);color:var(--anthracite);border-bottom:0;padding-top:10px}
.sx-ech{margin-top:12px;background:#f6fbff;border-radius:14px;padding:10px 12px}
.sx-ech h3,.sx-carte h3{font:600 14px var(--titre);color:var(--anthracite);margin:2px 0 6px}
.sx-ech td{border-bottom-color:#e2ecf7}
.sx-ech tr:last-child td{border-bottom:0}
.sx-contact{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.sx-contact input{min-height:44px;border:1.5px solid #dfe5ee;border-radius:12px;padding:0 12px;font:500 16px var(--texte);min-width:0}
.sx-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.sx-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:14px;font:600 15px var(--titre);text-decoration:none;cursor:pointer;border:0}
.sx-btn svg{width:20px;height:20px}
.sx-wa{background:var(--wa);color:#fff}
.sx-wa.off{opacity:.45;pointer-events:none}
.sx-sec{background:#fff;color:var(--anthracite);border:1.5px solid #cfd8e4}
.sx-sec:disabled{opacity:.45;cursor:not-allowed}
.sx-mention{font-size:11.5px;color:var(--gris);margin:10px 0 0;line-height:1.4}

.sx-b-tab{margin-bottom:4px}
.sx-b-tab th{font:600 12px var(--titre);color:var(--gris);text-align:center;padding:4px}
.sx-b-tab tbody th{text-align:left;color:var(--anthracite);font-size:13px;white-space:nowrap}
.sx-res .sx-b-tab td{text-align:center!important;font-size:12.5px;padding:7px 3px;border-radius:8px;border:2px solid #fff;cursor:pointer}
.sx-res .sx-b-tab td.ok{background:#e5f6ec;color:#146c3a}
.sx-res .sx-b-tab td.ko{background:#f5f6f8;color:#9aa3b2;font-weight:500}
.sx-res .sx-b-tab td.na{color:#c5cbd5;cursor:default;font-weight:400}
.sx-b-max{list-style:none;padding:0;margin:0 0 6px;font-size:13.5px;color:#33415c}
.sx-b-max li{padding:6px 0;border-bottom:1px solid #eef1f5}
.sx-b-dest{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.sx-b-dest button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;border:1.5px solid #e3e8f0;background:#fff;border-radius:12px;padding:8px 12px;cursor:pointer;text-align:left;font:inherit}
.sx-b-dest button:hover{border-color:var(--safran)}
.sx-b-dest span{font:600 13.5px var(--titre);color:var(--anthracite)}
.sx-b-dest small{display:block;font:500 11.5px var(--texte);color:var(--gris)}
.sx-b-dest b{font:700 14px var(--titre);color:#146c3a;white-space:nowrap}

/* ---------- tableaux du bas ---------- */
.sx-bas{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;padding:18px 0 clamp(30px,5vw,60px)}
.sx-bloc{background:#fff;border:1px solid #e8edf4;border-radius:20px;padding:18px;min-width:0}
.sx-bloc h2{font:700 20px var(--titre);color:var(--anthracite);margin:0}
.sx-bloc .sx-aide{margin:6px 0 12px}
.sx-tab-defile{overflow-x:auto}
.sx-tab{border-collapse:collapse;font-size:13px;min-width:100%}
.sx-tab th,.sx-tab td{padding:8px 8px;border-bottom:1px solid #eef1f5;text-align:right;white-space:nowrap}
.sx-tab thead th{font:600 12.5px var(--titre);color:var(--gris)}
.sx-tab thead th.on{color:#fff;background:var(--safran);border-radius:8px 8px 0 0}
.sx-tab tbody th{text-align:left;font:600 13px var(--titre);color:var(--anthracite);position:sticky;left:0;background:#fff}
.sx-tab td{color:#33415c}
.sx-tab td small{font-size:11px;color:var(--gris)}
.sx-conditions{margin:12px 0 0;padding-left:18px;font-size:13.5px;line-height:1.5;color:#3a4a66}
.sx-conditions li+li{margin-top:6px}

.sx-barre{display:none}
@media (max-width:1020px){
  .sx-grille{grid-template-columns:1fr}
  .sx-res{position:static}
  .sx-carte{max-height:none}
  .sx-bas{grid-template-columns:1fr}
  .sx-barre{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:49;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--anthracite);color:#fff;box-shadow:0 -10px 30px -16px rgba(0,0,0,.5)}
  .sx-barre small{display:block;font-size:11px;opacity:.75}
  .sx-barre b{font:700 19px var(--titre)}
  .sx-barre a{background:#fff;color:var(--anthracite);border-radius:999px;padding:9px 16px;font:600 14px var(--titre);text-decoration:none}
  body[data-page="excursions"]{padding-bottom:72px}
}
@media (max-width:760px){
  .sx-barre{bottom:calc(62px + env(safe-area-inset-bottom));padding-bottom:10px}
  body[data-page="excursions"].avec-tab{padding-bottom:136px}
  .sx-formules{grid-template-columns:1fr}
  .sx-options,.sx-ligne2,.sx-contact{grid-template-columns:1fr}
  .sx-compteurs{grid-template-columns:1fr}
  .sx-etape{padding:14px 12px;border-radius:16px}
  .sx-onglets{display:flex}
  .sx-onglets button{flex:1;padding:10px 8px;font-size:13.5px}
  .sx-des{margin-left:0}
}
