
.header-cart{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:#a56f34;color:#fff;font-weight:800;text-decoration:none;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.header-cart b{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 9px;border-radius:999px;background:#fff;color:#6a451d;font-size:.95rem}
.summer-nearby{padding:34px 0 14px}
.summer-nearby-card{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;background:linear-gradient(90deg,#2b1a12,#3a2417 45%,#271d18);border-radius:34px;padding:30px;box-shadow:0 20px 40px rgba(21,13,10,.18)}
.summer-nearby-photo img{width:100%;height:100%;min-height:340px;object-fit:cover;border-radius:24px;display:block}
.summer-nearby-copy{color:#f7f1ea}
.summer-nearby-copy h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.03;margin:12px 0 16px;color:#fff}
.summer-nearby-copy h2 em{color:#d49c5c;font-style:italic;font-family:Georgia,serif;font-weight:500}
.summer-nearby-copy p{font-size:1.12rem;color:#eadccf;margin:0 0 18px;max-width:52ch}
.summer-nearby-badges{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.summer-nearby-badges span{padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);font-weight:700;color:#fff}
.summer-myst-visual-stack{display:grid;gap:18px}
.summer-myst-visual-stack img{width:100%;display:block;border-radius:22px;background:#fff;box-shadow:0 18px 35px rgba(0,0,0,.12)}
.summer-myst-visual-stack .stack-photo-product{object-fit:contain;padding:18px;min-height:230px}
.summer-myst-visual-stack .stack-photo-stock{object-fit:cover;min-height:230px}
.summer-bike-electric .summer-bike-photo{padding:10px;background:#fff}
.summer-bike-electric .summer-bike-photo img{width:100%;height:230px;object-fit:contain;display:block}
.summer-booking .section-head-compact{margin-bottom:18px}
.summer-reservation-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:start}
.summer-form-card,.summer-side-card,.summer-cart-card,.summer-contact-card{background:#fff;border-radius:26px;padding:24px;box-shadow:0 12px 30px rgba(0,0,0,.06)}
.summer-reservation-main{display:grid;gap:20px}
.summer-bike-preview{display:grid;grid-template-columns:.88fr 1.12fr;gap:18px;align-items:center;background:#f6efe4;border-radius:22px;padding:18px}
.summer-bike-preview img{width:100%;height:220px;object-fit:contain;background:#fff;border-radius:18px}
.summer-bike-preview h3{font-size:1.6rem;line-height:1.05;margin:0 0 8px}
.summer-bike-preview p{margin:0 0 10px;color:#5f534a}
.summer-included{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.summer-included span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e2d2bd;font-size:.92rem;font-weight:700;color:#5d4120}
.summer-formgrid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.summer-formgrid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.summer-field label{display:block;font-weight:800;color:#2d241f;margin-bottom:8px}
.summer-field input,.summer-field select{width:100%;padding:16px 16px;border-radius:16px;border:1px solid #d8d0c6;background:#fff;font:inherit;color:#2b221d;transition:border-color .2s, box-shadow .2s, background-color .2s}
.summer-field input:focus,.summer-field select:focus{outline:none;border-color:#a56f34;box-shadow:0 0 0 4px rgba(165,111,52,.12)}
.summer-field.invalid label{color:#b52c2c}
.summer-field.invalid input,.summer-field.invalid select{border-color:#d43f3a;background:#fff7f7;box-shadow:0 0 0 4px rgba(212,63,58,.12)}
.summer-checkline{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#f6efe4;border-radius:18px;border:1px solid #eadbc8}
.summer-checkline input{margin-top:4px}
.summer-feedback{display:none;margin-top:14px;padding:14px 16px;border-radius:16px;font-weight:700}
.summer-feedback.show{display:block}
.summer-feedback.success{background:#e7f8ec;color:#1f7a33;border:1px solid #86d19b}
.summer-feedback.error{background:#fff1f1;color:#b63b3b;border:1px solid #ec9d9d}
.summer-side-card{position:sticky;top:110px;background:linear-gradient(180deg,#231912,#2d1f17 70%,#251911);color:#fff}
.summer-side-card .tag{display:inline-block;background:#f2e0c4;color:#7a5320;border-radius:999px;padding:8px 14px;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.summer-side-price{font-size:clamp(2.6rem,5vw,4rem);font-weight:900;line-height:.95;margin:18px 0 10px;color:#f0be69}
.summer-side-sub{color:#ead7c3;margin:0 0 14px}
.summer-side-note{color:#cfb7a2;font-size:.95rem;line-height:1.5;margin-top:16px}
.summer-side-breakdown{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.summer-side-breakdown .line{display:flex;justify-content:space-between;gap:16px;font-weight:700}
.summer-side-breakdown .line small{color:#d9c3af;font-weight:600}
.summer-side-card .btn{width:100%;justify-content:center;margin-top:18px}
.summer-cart-card h3,.summer-contact-card h3{margin:0 0 10px}
.summer-cart-list{display:grid;gap:14px;margin-top:12px}
.summer-cart-item{border:1px solid #eadbc8;border-radius:18px;padding:16px;background:#fffaf3}
.summer-cart-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.summer-cart-item h4{margin:0;font-size:1.05rem}
.summer-cart-item p{margin:6px 0 0;color:#5c5048}
.summer-cart-item .tiny{font-size:.92rem;color:#7b6c61}
.summer-remove{border:none;background:none;color:#8e5a26;font-weight:800;cursor:pointer;padding:0}
.summer-cart-total{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid #e6d8c5;font-size:1.15rem;font-weight:900}
.summer-empty{color:#6e645c;margin:0}
.summer-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.summer-contact-grid .summer-field.full{grid-column:1/-1}
.summer-submit{width:100%;justify-content:center}
.summer-station-image figcaption{display:none}
.summer-afterride-images .afterride-first,.summer-afterride-images .afterride-second{object-fit:cover}
.summer-afterride-images .afterride-first{min-height:380px}
.summer-afterride-images .afterride-second{min-height:380px}
@media (max-width: 980px){
 .summer-nearby-card,.summer-reservation-grid,.summer-bike-preview{grid-template-columns:1fr}
 .summer-side-card{position:relative;top:auto}
 .summer-formgrid-3,.summer-contact-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 720px){
 .header-cart{padding:12px 18px;gap:8px}
 .header-cart span{display:none}
 .summer-nearby-card{padding:20px}
 .summer-formgrid-2,.summer-formgrid-3,.summer-contact-grid{grid-template-columns:1fr}
 .summer-side-price{font-size:2.8rem}
}

.summer-booking .booking-layout{display:grid;grid-template-columns:minmax(0,1.1fr) 360px;gap:24px;align-items:start}
.summer-booking .question-stack{display:grid;gap:20px}
.summer-booking .question-card .question-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.summer-booking .question-card h3{margin:0 0 6px;font-size:2rem;line-height:1.02}
.summer-booking .question-card p{margin:0;color:#ecdcc7}
.summer-booking .field{display:grid;gap:8px}
.summer-booking .field label{font-weight:800;color:#f2e5d8}
.summer-booking .field input,.summer-booking .field select{width:100%;padding:16px;border-radius:16px;border:none;background:#fff;color:#1e1712;font:inherit}
.summer-booking .field.invalid label{color:#ffb9b9}.summer-booking .field.invalid input,.summer-booking .field.invalid select{box-shadow:0 0 0 3px rgba(217,79,79,.26);background:#fff3f3}
.summer-booking .question-card .formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.summer-booking .question-card .formgrid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.summer-booking .vtt-choice-card{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:center;background:#fff;color:#211a15;border-radius:20px;padding:18px;margin-bottom:18px}
.summer-booking .vtt-choice-card img{width:100%;height:190px;object-fit:contain;background:#f7f1e8;border-radius:16px;padding:10px}
.summer-booking .vtt-choice-card h4{font-size:2rem;line-height:1.02;margin:6px 0 10px;color:#221810}
.summer-booking .vtt-choice-card p{color:#5f5347}
.summer-booking .vtt-choice-card .tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.summer-booking .vtt-choice-card .tags span{padding:10px 14px;border-radius:999px;border:1px solid #e0cdb3;background:#fff7ea;font-weight:800;color:#6e4a20}
.summer-booking .compact-choice{margin-bottom:16px}
.summer-booking .checkbox-card{display:flex;align-items:flex-start;gap:12px;padding:18px;background:#fff;color:#1d1814;border-radius:18px}
.summer-booking .checkbox-card input{margin-top:4px}
.summer-booking .checkbox-card small{display:block;color:#5c5046;margin-top:6px;line-height:1.45}
.summer-booking .price-card .line{display:flex;justify-content:space-between;gap:16px;margin:10px 0;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14)}
.summer-booking .price-card .line:last-of-type{border-bottom:none}
.summer-booking .price-card .tiny{color:#ead8c0}
.summer-booking .price-card .btn{width:100%;justify-content:center}
.summer-booking .vtt-add-feedback{display:none;margin-top:12px;padding:12px 14px;border-radius:14px;font-weight:700;line-height:1.45}
.summer-booking .vtt-add-feedback.show{display:block}
.summer-booking .vtt-add-feedback.success{background:#daf3df;color:#16652a}
.summer-booking .vtt-add-feedback.error{background:#fff0f0;color:#b53c3c}
.summer-afterride-single{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:26px;align-items:center}
.summer-afterride-single img{width:100%;height:440px;object-fit:cover;border-radius:28px;display:block}
@media (max-width:980px){
 .summer-booking .booking-layout,.summer-afterride-single,.summer-booking .vtt-choice-card{grid-template-columns:1fr}
 .summer-booking .question-card .formgrid-three{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
 .summer-booking .question-card h3{font-size:1.6rem}
 .summer-booking .question-card .formgrid,.summer-booking .question-card .formgrid-three{grid-template-columns:1fr}
 .summer-afterride-single img{height:300px}
}

/* V18 : changements strictement localisés aux deux photos demandées. */
.summer-myst .summer-myst-visual{background:#fff}
.summer-myst .summer-myst-visual img{object-fit:contain;object-position:center center}
.summer-afterride-single img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
