/* Ski Le Rocher — parcours d'achat 2026 : sobre, lisible, mobile. */
:root{--shop-ink:#153347;--shop-blue:#126997;--shop-muted:#60798b;--shop-border:#dae6ed;--shop-bg:#f4f8fb;--shop-pale:#e8f3f8;}
body.shop-body,body[data-shop-page]{background:var(--shop-bg);color:var(--shop-ink)}
.shop-shell{width:min(1030px,calc(100% - 40px));margin:auto}
.shop-hero{background:linear-gradient(135deg,#0b3049 0%,#155675 85%);color:#fff;position:relative;overflow:hidden}
.shop-hero:before{content:"";position:absolute;right:8%;top:-130px;width:380px;height:380px;border:1px solid #ffffff24;border-radius:50%;box-shadow:0 0 0 65px #ffffff0a,0 0 0 145px #ffffff08;pointer-events:none}
.shop-hero-inner{position:relative;padding:49px 0 48px}
.shop-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#a8d6e8;margin:0 0 10px}
.shop-hero h1{color:white;font-size:clamp(1.9rem,3.6vw,3.05rem);letter-spacing:-.033em;margin:0 0 10px;line-height:1.17}
.shop-hero p.shop-subtitle{font-size:.95rem;color:#dbe9f2;margin:0;line-height:1.6;max-width:660px}
.shop-content{padding:33px 0 72px}
.shop-steps{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 28px;font-size:.73rem;color:#698294;font-weight:680}
.shop-step{display:inline-flex;align-items:center;gap:8px}
.shop-step b{display:grid;place-items:center;width:24px;height:24px;border:1px solid #c6d6e0;border-radius:50%;font-size:.73rem}
.shop-step.is-current{color:#0b6594}.shop-step.is-current b{color:#fff;background:#0b6594;border-color:#0b6594}
.shop-step-sep{height:1px;width:34px;background:#c6d6e0}
.shop-section-title{font-size:1.19rem;letter-spacing:-.015em;color:#133f5b;margin:0 0 18px}
.shop-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.shop-product{display:flex;flex-direction:column;gap:0;min-width:0;padding:25px;border:1px solid var(--shop-border);border-radius:13px;background:#fff;box-shadow:0 8px 24px #10344b09;transition:border-color .16s,box-shadow .16s,transform .16s}
.shop-product:hover{border-color:#66a0bd;box-shadow:0 12px 28px #10344b18;transform:translateY(-2px)}
.shop-product-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}
.shop-product-badge{background:#ebf4f9;color:#1b658e;padding:6px 10px;border-radius:30px;font-size:.69rem;letter-spacing:.03em;font-weight:830}
.shop-product-symbol{font-size:1.35rem;opacity:.65}
.shop-product h2{font-size:1.26rem;margin:0 0 8px;color:#133954;line-height:1.3}
.shop-product-description{margin:0 0 23px;color:#5d788b;font-size:.81rem;line-height:1.6;max-width:37ch}
.shop-price{font-size:2.5rem;font-weight:850;letter-spacing:-.06em;color:#0b547d;margin:auto 0 4px;line-height:1.2}
.shop-price-note{font-size:.73rem;color:#688395;min-height:33px;line-height:1.45;margin:3px 0 15px}
.shop-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;text-decoration:none;border-radius:8px;background:#096d9f;color:#fff;padding:10px 17px;min-height:39px;font-size:.82rem;font-weight:820;cursor:pointer;line-height:1.3;transition:background .18s}
.shop-btn:hover{background:#085780;color:#fff}
.shop-btn:disabled{background:#a0b3bf;cursor:not-allowed}
.shop-btn-secondary{background:#e8f1f6;color:#1c638c}.shop-btn-secondary:hover{background:#d5e9f4;color:#14496c}
.shop-btn-outline{background:#fff;border:1px solid #c7dbe7;color:#225a7e}.shop-btn-outline:hover{background:#eef7fa;color:#1c5779}
.shop-product .shop-btn{align-self:flex-start}
.shop-free{display:flex;gap:13px;align-items:start;background:#e9f5f0;border:1px solid #d2e7db;border-radius:10px;padding:17px 19px;margin:19px 0 0;color:#215c45}
.shop-free strong{font-size:.85rem;color:#205a43}.shop-free p{font-size:.8rem;line-height:1.5;margin:4px 0 0;color:#487460}
.shop-test-note{display:flex;align-items:flex-start;gap:10px;padding:12px 15px;margin:23px 0 0;border:1px solid #d3e3ec;border-radius:8px;color:#536d80;font-size:.77rem;background:#fff;line-height:1.55}
.shop-checkout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(255px,1fr);gap:20px;align-items:start}
.shop-panel{border:1px solid var(--shop-border);background:#fff;border-radius:12px;padding:23px;box-shadow:0 6px 20px #173f5d08;min-width:0}
.shop-panel h2{font-size:1.12rem;letter-spacing:-.015em;margin:0 0 15px;color:#133c56}
.shop-panel p{font-size:.8rem;line-height:1.55;color:#637c8e}
.shop-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.shop-field{display:grid;gap:7px;font-weight:760;color:#31546a;font-size:.76rem}
.shop-field input,.shop-field select{min-height:39px;max-width:100%;width:100%;border:1px solid #c7d9e4;border-radius:7px;background:#fff;padding:8px 10px;color:#203e51;font:inherit;font-size:.86rem}
.shop-field input:focus-visible,.shop-btn:focus-visible,.shop-product:focus-within,.shop-link:focus-visible{outline:3px solid #7cc2eb;outline-offset:3px}
.shop-field-small{max-width:118px}
.shop-summary-row{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:12px 0;border-bottom:1px solid #edf2f5;font-size:.8rem}
.shop-summary-row:last-child{border-bottom:0}
.shop-summary-row strong{color:#143d58}.shop-summary-row span{color:#526c7e}
.shop-summary-total{border-top:1px solid #d6e5ef;margin-top:12px;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.91rem;font-weight:790;color:#13384f}
.shop-summary-total strong{font-size:1.5rem;letter-spacing:-.025em;color:#0a6192}
.shop-checkout-cta{display:grid;gap:11px;margin-top:22px}
.shop-checkout-cta .shop-btn{width:100%}
.shop-aside-note{font-size:.74rem!important;line-height:1.55;margin:12px 0 0;color:#70889a!important}
.shop-back{display:inline-flex;gap:7px;margin:0 0 17px;color:#2c698e;font-size:.8rem;font-weight:740;text-decoration:none}
.shop-error{font-size:.79rem;color:#ad423c!important;font-weight:700;min-height:20px;margin:6px 0}
.shop-success-icon{display:grid;place-items:center;width:62px;height:62px;background:#e5f4ec;color:#2c7651;border-radius:50%;font-size:1.75rem;margin:0 0 20px}
.shop-confirm-card{max-width:620px;margin:0 auto;text-align:left}
.shop-confirm-card h2{font-size:1.45rem;margin:0 0 10px;color:#0d3b58}
.shop-status{display:inline-block;font-size:.72rem;font-weight:830;background:#e8f0f6;color:#36617d;padding:6px 10px;border-radius:5px}
.shop-status.is-paid{background:#e1f3e9;color:#236447}.shop-status.is-refunded{background:#fae9e8;color:#9c443e}
.shop-code{background:#f3f8fc;border:1px dashed #aac7da;padding:12px 14px;border-radius:7px;font-size:.86rem;letter-spacing:.04em;overflow-wrap:anywhere}
.shop-foot-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.shop-receipt{max-width:720px;margin:auto}
.shop-receipt-top{display:flex;align-items:start;justify-content:space-between;gap:15px}
.shop-receipt-print{margin-left:auto}
.shop-receipt h2{font-size:1.4rem}
.shop-receipt-address{font-size:.75rem;color:#6c8493}
.shop-footer-links{display:flex;align-items:center;gap:16px;justify-content:center;flex-wrap:wrap;color:#527287;font-size:.76rem;margin:32px 0 0}
.shop-footer-links a{color:#296a90}
@media(max-width:760px){.shop-hero-inner{padding:33px 0 35px}.shop-content{padding:22px 0 55px}.shop-options,.shop-checkout{grid-template-columns:1fr}.shop-product{padding:22px}.shop-price{font-size:2.25rem}.shop-panel{padding:20px}.shop-field-grid{grid-template-columns:1fr 1fr}}
@media(max-width:400px){.shop-shell{width:calc(100% - 28px)}.shop-step-sep{width:17px}.shop-field-grid{grid-template-columns:1fr}}
@media print{.shop-hero,.shop-steps,.shop-back,.shop-btn,.shop-test-note,.site-header,.site-footer,.member-header,.member-footer,.shop-footer-links{display:none!important}.shop-content{padding:0}.shop-panel{border:0;box-shadow:none}.shop-receipt{max-width:none}body{background:white!important}}

/* Compact shared bar for checkout, confirmation and receipt. */
.shop-topbar{background:#fff;border-bottom:1px solid #e0eaf0}
.shop-topbar-inner{min-height:72px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.shop-brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:#113d58}
.shop-brand img{width:42px;height:42px;object-fit:contain}
.shop-brand span{display:grid;gap:2px}
.shop-brand strong{font-size:.96rem;letter-spacing:-.02em}
.shop-brand small{font-size:.68rem;color:#708697}
.shop-topbar-nav{display:flex;align-items:center;flex-wrap:wrap;gap:18px;font-size:.77rem;font-weight:740}
.shop-topbar-nav a{color:#326a8c;text-decoration:none}
.shop-topbar-nav a:hover{text-decoration:underline}
.shop-hero-slim .shop-hero-inner{padding:37px 0 35px}
.shop-hero-slim h1{font-size:clamp(1.75rem,3vw,2.25rem)}
.shop-panel[hidden],.shop-field-grid[hidden],.shop-season-copy[hidden],.shop-btn[hidden],.shop-summary-row[hidden]{display:none!important}
@media(max-width:460px){.shop-topbar-inner{min-height:63px}.shop-brand strong{font-size:.84rem}.shop-brand small{font-size:.62rem}.shop-brand img{width:34px;height:34px}.shop-topbar-nav{gap:9px;font-size:.68rem}}


/* Ouverture conditionnelle : informations visibles AVANT Stripe, même sur mobile. */
.shop-sales-status{margin:0 0 20px;padding:15px 17px;border:1px solid #efb1a4;border-left:5px solid #c44a35;border-radius:8px;background:#fff3f0;color:#783c31;font-size:.82rem;font-weight:760;line-height:1.65}
.shop-sales-status[hidden],.shop-sales-warning[hidden],.shop-sales-season-note[hidden]{display:none!important}
.shop-sales-season-note{margin:14px 0 4px!important;padding:12px 14px;border:1px solid #d0e0eb;background:#eef6fa;border-radius:8px;color:#36596f!important;font-size:.79rem;line-height:1.58}
.shop-sales-warning{margin:18px 0 8px;border:1px solid #e4c778;border-left:5px solid #c48b1d;border-radius:9px;padding:16px;background:#fff9e9;color:#624c1a}
.shop-sales-warning strong{display:block;font-size:.87rem;color:#694914;line-height:1.4}
.shop-sales-warning p{margin:9px 0 12px!important;color:#6c5b35!important;font-size:.78rem!important;line-height:1.6!important}
.shop-sales-ack{display:flex;align-items:flex-start;gap:11px;border-top:1px solid #e8d7a6;padding-top:13px;font-size:.8rem;line-height:1.5;color:#523e13;cursor:pointer;font-weight:760}
.shop-sales-ack input{width:19px;height:19px;min-width:19px;margin:1px 0 0;accent-color:#0e6a4b;cursor:pointer}
.shop-sales-ack input:focus-visible{outline:3px solid #6d9db6;outline-offset:2px}
@media(max-width:650px){.shop-sales-status,.shop-sales-warning{padding:13px 12px}}

/* Aucun achat n'est possible quand l'interrupteur Admin est fermé. */
.shop-options .shop-btn[aria-disabled="true"]{background:#899ba8!important;border-color:#899ba8!important;color:#fff!important;cursor:not-allowed;opacity:.85;pointer-events:none}
.shop-options .shop-btn[aria-disabled="true"] span[aria-hidden="true"]{display:none}
