/* Réservation par étapes (thème sombre, or). Tout est scopé sous .bk */
.bk { --bg: #0e0f16; --surface: #161823; --surface-2: #1d2030; --line: #2a2e42; --text: #f4f5fa; --muted: #aeb2c4; --gold: #e4bf3b; --gold-2: #cd9343; --ok: #5ad19a; --bad: #ff8f7e;
    background: var(--bg); color: var(--text); font-family: 'Atkinson Hyperlegible', 'Tajawal', sans-serif; min-height: 100vh; padding-bottom: 110px; }
.bk * { box-sizing: border-box; }
.bk-wrap { width: min(1180px, 100% - 40px); margin-inline: auto; }
.bk-hero { position: relative; padding: 200px 0 56px; background: linear-gradient(180deg, rgba(14, 15, 22, .55), var(--bg) 96%), var(--bk-bg) center/cover; }
.bk-eyebrow { margin: 0 0 10px; color: var(--gold); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.bk-title { margin: 0; font: 700 clamp(2rem, 4.4vw, 3.4rem)/1.08 'Rufina', 'Tajawal', serif; text-wrap: balance; color: #fff; }
.bk-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; align-items: start; margin-top: -4px; }
.bk-card { min-width: 0; position: relative; background: var(--surface); border: 1px solid var(--line); border-radius: 26px; padding: 30px 32px 26px; box-shadow: 0 30px 70px -40px #000; scroll-margin-top: calc(var(--promo-h, 0px) + 90px); }
@media (max-width: 960px) { .bk-layout { grid-template-columns: minmax(0, 1fr); } .bk-side { display: none; } .bk-card { padding: 22px 18px; border-radius: 20px; } .bk-hero { padding-top: 170px; } }

/* progression */
.bk-progress { margin-bottom: 26px; }
.bk-progress__bar { height: 4px; border-radius: 4px; background: var(--line); overflow: hidden; }
.bk-progress__bar span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--gold), var(--gold-2)); transition: width .6s cubic-bezier(.22, 1, .36, 1); }
html[dir="rtl"] .bk-progress__bar span { margin-inline-start: auto; }
.bk-progress ol { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.bk-progress li { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 14px; }
.bk-progress li b { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--line); font-size: 13px; transition: all .35s; }
.bk-progress li.is-current { color: #fff; } .bk-progress li.is-current b { border-color: var(--gold); background: var(--gold); color: #1b1306; box-shadow: 0 0 0 5px rgba(228, 191, 59, .16); }
.bk-progress li.is-done b { border-color: var(--gold); color: var(--gold); } .bk-progress li.is-done b::after { content: "✓"; } .bk-progress li.is-done b { font-size: 0; } .bk-progress li.is-done b::after { font-size: 14px; }
.bk-progress__count { display: none; margin: 12px 0 0; font-size: 13px; color: var(--muted); }
@media (max-width: 640px) { .bk-progress li span { display: none; } .bk-progress li.is-current span { display: inline; } .bk-progress ol { grid-template-columns: auto auto auto 1fr; } .bk-progress__count { display: block; } }

/* étapes */
.bk-step[hidden] { display: none; }
.bk-h { margin: 0 0 6px; font: 700 clamp(1.4rem, 2.4vw, 1.9rem)/1.15 'Rufina', 'Tajawal', serif; color: #fff; outline: none; }
.bk-sub { margin: 0 0 18px; color: var(--muted); }
.bk-field { margin-top: 22px; } .bk-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } @media (max-width: 560px) { .bk-grid2 { grid-template-columns: 1fr; } }
.bk-label { display: block; margin-bottom: 9px; font-size: 14px; font-weight: 700; color: #e9ebf5; } .bk-label small { color: var(--muted); font-weight: 400; }
.bk-input { width: 100%; min-height: 54px; padding: 12px 16px; border-radius: 14px; border: 1.5px solid var(--line); background: #0f1119; color: var(--text); font: inherit; font-size: 16px; transition: border-color .2s, box-shadow .2s; color-scheme: dark; }
textarea.bk-input { min-height: 96px; resize: vertical; } .bk-input::placeholder { color: #6f7490; }
.bk-input:focus, .bk-phone select:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(228, 191, 59, .16); }
.bk-hint { margin: 8px 0 0; font-size: 13.5px; color: var(--muted); } .bk-hint.is-ok { color: var(--ok); } .bk-hint.is-bad { color: var(--bad); }
.bk-err { margin: 8px 0 0; font-size: 13.5px; color: var(--bad); } .bk-err[hidden] { display: none; }
.bk-link { background: none; border: 0; padding: 0; color: var(--gold); font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bk-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* choix du bateau */
.bk-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.bk-tabs button { min-height: 40px; padding: 0 16px; border-radius: 40px; border: 1.5px solid var(--line); background: transparent; color: var(--muted); font: inherit; font-size: 14px; cursor: pointer; transition: all .25s; }
.bk-tabs button[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: #1b1306; font-weight: 700; }
.bk-boats__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 12px; }
.bk-boat { display: flex; flex-direction: column; gap: 4px; text-align: start; padding: 0 0 12px; border-radius: 16px; border: 1.5px solid var(--line); background: var(--surface-2); color: var(--text); font: inherit; cursor: pointer; overflow: hidden; transition: transform .35s cubic-bezier(.22, 1, .36, 1), border-color .25s, box-shadow .25s; }
.bk-boat:hover { transform: translateY(-3px); border-color: #4a5070; }
.bk-boat.is-sel { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(228, 191, 59, .2); }
.bk-boat__img { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: #22263a; } .bk-boat__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk-boat__img em, .bk-side__img em { position: absolute; top: 8px; inset-inline-start: 8px; padding: 3px 9px; border-radius: 20px; background: var(--gold); color: #1b1306; font: 700 12px/1.3 inherit; font-style: normal; }
.bk-boat__t { padding: 8px 12px 0; font-weight: 700; font-size: 15px; line-height: 1.25; } .bk-boat__m { padding: 0 12px; font-size: 12.5px; color: var(--muted); } .bk-boat__p { padding: 2px 12px 0; font-size: 13.5px; color: var(--gold); font-weight: 700; }
.bk-boat.is-sel::after { content: "✓"; position: absolute; }
@media (max-width: 640px) { .bk-boats__grid { display: flex; max-height: none; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; } .bk-boat { flex: 0 0 62%; scroll-snap-align: start; } }

/* chips durée / heures */
.bk-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.bk-chip { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 96px; min-height: 58px; padding: 8px 16px; border-radius: 14px; border: 1.5px solid var(--line); background: #0f1119; color: var(--text); font: inherit; cursor: pointer; transition: all .25s; }
.bk-chip b { font-size: 15px; } .bk-chip small { color: var(--muted); font-size: 12.5px; }
.bk-chip:hover { border-color: #4a5070; } .bk-chip.is-sel { border-color: var(--gold); background: rgba(228, 191, 59, .12); } .bk-chip.is-sel small { color: var(--gold); }
.bk-chip--sm { min-width: 0; min-height: 40px; padding: 4px 13px; border-radius: 40px; font-size: 14px; } .bk-chips--sm { margin-top: 10px; gap: 8px; }
.bk-stepper { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: 16px; overflow: hidden; background: #0f1119; }
.bk-stepper button { width: 56px; height: 54px; border: 0; background: transparent; color: var(--gold); font-size: 26px; cursor: pointer; transition: background .2s; } .bk-stepper button:hover:not(:disabled) { background: rgba(228, 191, 59, .12); } .bk-stepper button:disabled { color: #4a4f66; cursor: not-allowed; }
.bk-stepper output { min-width: 64px; text-align: center; font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }

/* activités */
.bk-acts { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.bk-act { border: 1.5px solid var(--line); border-radius: 16px; background: var(--surface-2); overflow: hidden; transition: border-color .25s, box-shadow .25s; } .bk-act.is-sel { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(228, 191, 59, .18); }
.bk-act__main { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border: 0; background: transparent; color: var(--text); font: inherit; cursor: pointer; text-align: start; }
.bk-act__img { flex: none; width: 58px; height: 58px; border-radius: 12px; overflow: hidden; background: #22263a; } .bk-act__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk-act__t { flex: 1; font-weight: 700; font-size: 15px; line-height: 1.25; }
.bk-act__check { flex: none; width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--line); transition: all .25s; } .bk-act.is-sel .bk-act__check { background: var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4l2.6 2.6 5.4-5.6' fill='none' stroke='%231b1306' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat; border-color: var(--gold); }
.bk-act__sel { display: block; padding: 0 12px 12px; } .bk-act__sel select { width: 100%; min-height: 46px; padding: 8px 12px; border-radius: 12px; border: 1.5px solid var(--line); background: #0f1119; color: var(--text); font: inherit; color-scheme: dark; } .bk-act__sel select:disabled { opacity: .4; }

/* coordonnées */
.bk-phone { display: grid; grid-template-columns: 128px 1fr; gap: 10px; } .bk-phone select { min-height: 54px; padding: 0 10px; border-radius: 14px; border: 1.5px solid var(--line); background: #0f1119; color: var(--text); font: inherit; font-size: 15px; color-scheme: dark; }

/* confirmation */
.bk-recap dl, .bk-side dl { margin: 0; display: grid; gap: 0; } .bk-recap dl > div, .bk-side dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 15px; } .bk-recap dt, .bk-side dt { color: var(--muted); } .bk-recap dd, .bk-side dd { margin: 0; text-align: end; font-weight: 700; }
.bk-coupon { margin-top: 22px; padding: 16px; border-radius: 16px; background: rgba(228, 191, 59, .07); border: 1.5px dashed rgba(228, 191, 59, .5); } .bk-coupon__row { display: flex; gap: 10px; } .bk-coupon .bk-input { letter-spacing: .06em; text-transform: uppercase; }
.bk-total { margin-top: 18px; display: grid; gap: 8px; } .bk-total > div { display: flex; justify-content: space-between; font-size: 15.5px; color: var(--muted); } .bk-total b { color: var(--text); } .bk-total .is-disc b, .bk-total .is-disc { color: var(--ok); }
.bk-total__t { margin-top: 6px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 21px !important; color: #fff !important; } .bk-total__t b { color: var(--gold); font-size: 28px; }
.bk-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; } @media (max-width: 640px) { .bk-cta { grid-template-columns: 1fr; } }
.bk-note { margin: 14px 0 0; font-size: 13.5px; color: var(--muted); text-align: center; }
.msgbox { margin-top: 12px; text-align: center; font-size: 14.5px; } .msgbox.is-bad { color: var(--bad); }

/* boutons */
.bk-btn { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 54px; padding: 0 28px; border-radius: 40px; border: 1.5px solid transparent; font: 700 16px/1.2 'Atkinson Hyperlegible', 'Tajawal', sans-serif; cursor: pointer; text-decoration: none; transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s, background .2s; }
.bk-btn small { font-weight: 400; font-size: 12px; opacity: .8; } .bk-btn:disabled { opacity: .55; cursor: wait; } .bk-btn:hover:not(:disabled) { transform: translateY(-2px); }
.bk-btn--gold { color: #1b1306; background: linear-gradient(135deg, #f4d03f, var(--gold) 50%, var(--gold-2)); box-shadow: 0 16px 34px -18px rgba(228, 191, 59, .9); }
.bk-btn--wa { color: #fff; background: linear-gradient(135deg, #25d366, #128c7e); box-shadow: 0 16px 34px -18px rgba(37, 211, 102, .8); }
.bk-btn--ghost { background: transparent; color: var(--text); border-color: var(--line); } .bk-btn--ghost:hover { border-color: var(--gold); }
.bk-btn--skip { background: transparent; color: var(--muted); text-decoration: underline; border: 0; }
.bk-nav { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); } .bk-nav[hidden] { display: none; } .bk-nav.is-last { justify-content: flex-start; } #bkBack { margin-inline-end: auto; } #bkBack[hidden], #bkSkip[hidden], #bkNext[hidden] { display: none; }
@media (max-width: 960px) { .bk-nav #bkNext { display: none; } .bk-nav { padding-top: 18px; } }

/* récap latéral */
.bk-side { position: sticky; top: calc(var(--promo-h, 0px) + 100px); display: grid; gap: 14px; }
.bk-side__card { border-radius: 22px; border: 1px solid var(--line); background: var(--surface); overflow: hidden; padding-bottom: 8px; }
.bk-side__img { position: relative; aspect-ratio: 16 / 9; background: #22263a; } .bk-side__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bk-side h3 { margin: 16px 20px 6px; font: 700 20px/1.2 'Rufina', 'Tajawal', serif; color: #fff; } .bk-side dl { padding: 0 20px; } .bk-side dl > div { font-size: 14px; padding: 9px 0; }
.bk-side__sum { margin: 10px 20px 8px; padding-top: 10px; display: grid; gap: 7px; } .bk-side__sum > div { display: flex; justify-content: space-between; font-size: 14.5px; color: var(--muted); } .bk-side__sum .is-disc { color: var(--ok); } .bk-side__total { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--line); color: #fff !important; font-size: 18px !important; } .bk-side__total b { color: var(--gold); font-size: 24px; }
.bk-side__help { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; border-radius: 16px; border: 1px solid var(--line); background: var(--surface); text-decoration: none; color: var(--muted); font-size: 13.5px; } .bk-side__help strong { color: var(--gold); font-size: 17px; }

/* barre mobile */
.bk-bar { display: none; position: fixed; inset: auto 0 0 0; z-index: 9990; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); background: rgba(14, 15, 22, .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--line); }
.bk-bar[hidden] { display: none !important; } .bk-bar small { display: block; color: var(--muted); font-size: 12px; } .bk-bar strong { color: var(--gold); font-size: 21px; font-variant-numeric: tabular-nums; } .bk-bar .bk-btn { min-height: 50px; padding: 0 30px; }
@media (max-width: 960px) { .bk-bar { display: flex; } .bk-bar:has(#bkNextM[hidden]) .bk-btn { display: none; } }

/* succès */
.bk-done { text-align: center; padding: 10px 0 6px; display: grid; justify-items: center; gap: 12px; } .bk-done .bk-recap { width: min(460px, 100%); text-align: start; margin: 6px 0 10px; }
.bk-done__icon svg { width: 88px; height: 88px; fill: none; stroke: var(--gold); stroke-width: 3; } .bk-done__icon circle { stroke: rgba(228, 191, 59, .35); } .bk-done__icon path { stroke-linecap: round; stroke-linejoin: round; }
html[dir="rtl"] .bk-progress__bar span { float: right; }
@media (prefers-reduced-motion: reduce) { .bk *, .bk *::before { transition-duration: .01ms !important; } }

/* catégories + ajouts */
.bk-cats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.bk-cat { display: flex; flex-direction: column; gap: 4px; text-align: start; padding: 14px 16px; border-radius: 16px; border: 1.5px solid var(--line); background: var(--surface-2); color: var(--text); font: inherit; cursor: pointer; transition: border-color .25s, box-shadow .25s, transform .3s; }
.bk-cat b { font-size: 16px; } .bk-cat small { color: var(--muted); font-size: 12.5px; }
.bk-cat:hover { transform: translateY(-2px); border-color: #4a5070; }
.bk-cat.is-sel { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(228, 191, 59, .2); background: rgba(228, 191, 59, .08); } .bk-cat.is-sel b { color: var(--gold); }
.bk-h3 { margin: 26px 0 6px; font: 700 1.15rem/1.3 'Rufina', 'Tajawal', serif; color: #fff; }
.bk-extras { margin-bottom: 8px; }
.bk-boat--extra { position: relative; padding: 0; }
.bk-boat__main { display: flex; flex-direction: column; gap: 4px; width: 100%; padding: 0 0 10px; border: 0; background: none; color: inherit; font: inherit; text-align: start; cursor: pointer; position: relative; }
.bk-boat__check { position: absolute; top: 8px; inset-inline-end: 8px; width: 26px; height: 26px; border-radius: 50%; border: 2px solid #fff; background: rgba(0, 0, 0, .35); }
.bk-boat--extra.is-sel .bk-boat__check { background: var(--gold); border-color: var(--gold); } .bk-boat--extra.is-sel .bk-boat__check::after { content: "✓"; display: grid; place-items: center; height: 100%; color: #1b1306; font-weight: 800; font-size: 14px; }
.bk-boat__sel { display: block; padding: 0 10px 10px; } .bk-boat__sel[hidden] { display: none; }
.bk-boat__sel select { width: 100%; min-height: 40px; border-radius: 10px; border: 1.5px solid var(--gold); background: #0f1119; color: var(--text); font: inherit; font-size: 13px; padding: 0 8px; }
@media (max-width: 640px) { .bk-cats { grid-template-columns: 1fr; } .bk-boats--extra .bk-boats__grid { display: grid; } }
.bk-boats__grid { align-items: start; }
.bk-boat__img { flex: none; height: auto; } .bk-boat__img img { position: absolute; inset: 0; }

/* van Mercedes */
.bk-van { display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; margin-top: 26px; padding: 18px; border-radius: 18px; border: 1.5px dashed #4a5070; background: var(--surface-2); transition: border-color .25s, box-shadow .25s; }
.bk-van.is-on { border: 1.5px solid var(--gold); box-shadow: 0 0 0 3px rgba(228, 191, 59, .18); }
.bk-van__ico { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 16px; background: rgba(228, 191, 59, .12); color: var(--gold); }
.bk-van h3 { margin: 0 0 4px; font-size: 16px; color: #fff; } .bk-van p { margin: 0 0 6px; color: var(--muted); font-size: 14px; line-height: 1.5; } .bk-van small { display: block; color: var(--muted); font-size: 12.5px; }
.bk-van__loc { display: block; margin: 8px 0; } .bk-van__loc[hidden] { display: none; } .bk-van__loc span { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; }
.bk-van__act { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; } .bk-van__act strong { color: var(--gold); font-size: 15px; white-space: nowrap; }
@media (max-width: 640px) { .bk-van { grid-template-columns: 1fr; } .bk-van__act { align-items: stretch; flex-direction: row; justify-content: space-between; align-items: center; } }
.bk-modal[hidden] { display: none; } .bk-modal { position: fixed; inset: 0; z-index: 9990; display: grid; place-items: center; padding: 16px; }
.bk-modal__backdrop { position: absolute; inset: 0; background: rgba(6, 7, 12, .72); backdrop-filter: blur(5px); }
.bk-modal__box { position: relative; width: min(480px, 100%); padding: 30px 26px 24px; border-radius: 24px; border: 1px solid var(--line); background: var(--surface); text-align: center; box-shadow: 0 40px 90px -30px #000; }
.bk-modal__box .bk-van__ico { margin: 0 auto 14px; width: 70px; height: 70px; border-radius: 50%; }
.bk-modal__box h3 { margin: 0 0 8px; font: 700 1.4rem/1.2 'Rufina', 'Tajawal', serif; color: #fff; } .bk-modal__box p { margin: 0 0 8px; color: var(--muted); line-height: 1.55; }
.bk-modal__price { color: var(--gold) !important; font-size: 1.6rem; font-weight: 700; margin: 10px 0 !important; } .bk-modal__box small { display: block; color: var(--muted); font-size: 12.5px; margin-bottom: 18px; }
.bk-modal__btns { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.bk-total__est { margin: 4px 0 8px; font-size: 12.5px; color: var(--muted); }

.bk-van__img { width: 150px; height: 100px; object-fit: cover; border-radius: 14px; display: block; }
.bk-modal__img { width: calc(100% + 52px); max-width: none; margin: -30px -26px 18px; height: 210px; object-fit: cover; display: block; border-radius: 24px 24px 0 0; }
.bk-modal__box { overflow: hidden; }
@media (max-width: 640px) { .bk-van__img { width: 100%; height: 160px; } }

.bk-clear { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 0; padding: 6px 12px; border-radius: 30px; border: 1px solid var(--line); background: transparent; color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; transition: all .25s; } .bk-clear[hidden] { display: none; } .bk-clear:hover { color: #fff; border-color: var(--bad); }

.bk-grp { margin: 22px 0 10px; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); display: flex; align-items: center; gap: 10px; } .bk-grp::after { content: ""; flex: 1; height: 1px; background: var(--line); }

/* ===== mobile : compact, 3 par ligne ===== */
.bk-progress__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.bk-progress__row .bk-clear, .bk-progress__row .bk-progress__count { margin: 0; }
@media (max-width: 640px) {
    .bk-card { padding: 18px 14px; }
    .bk-progress { margin-bottom: 14px; } .bk-progress ol { margin-top: 10px; }
    .bk-progress__row { margin-top: 8px; } .bk-progress__count { font-size: 12.5px; } .bk-clear { padding: 5px 10px; font-size: 12px; }
    .bk-h { font-size: 1.35rem; } .bk-sub { margin-bottom: 10px; font-size: 14px; } .bk-h3 { margin: 16px 0 4px; font-size: 1.05rem; }
    .bk-field { margin-top: 11px; } .bk-label { margin-bottom: 6px; font-size: 13px; } .bk-grid2 { gap: 11px; } .bk-input { min-height: 48px; padding: 10px 14px; } textarea.bk-input { min-height: 76px; }
    /* catégories : une ligne */
    .bk-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .bk-cat { padding: 10px 8px; gap: 2px; border-radius: 14px; align-items: center; text-align: center; } .bk-cat b { font-size: 14px; } .bk-cat small { font-size: 10.5px; line-height: 1.25; }
    /* produits : 3 par ligne */
    .bk-boats__grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; overflow: visible; padding: 0; }
    .bk-boat { flex: none; min-width: 0; border-radius: 12px; padding-bottom: 8px; gap: 2px; }
    .bk-boat__t { padding: 6px 7px 0; font-size: 11.5px; line-height: 1.2; overflow-wrap: anywhere; } .bk-boat__m { display: none; } .bk-boat__p { padding: 0 7px; font-size: 10.5px; line-height: 1.25; }
    .bk-boat__img { aspect-ratio: 1 / 1; } .bk-boat__img em, .bk-side__img em { top: 5px; inset-inline-start: 5px; padding: 2px 6px; font-size: 9.5px; }
    .bk-boat__check { top: 5px; inset-inline-end: 5px; width: 20px; height: 20px; } .bk-boat--extra.is-sel .bk-boat__check::after { font-size: 11px; }
    .bk-boat__main { padding-bottom: 6px; gap: 2px; } .bk-boat__sel { padding: 0 5px 6px; } .bk-boat__sel select { min-height: 34px; padding: 0 4px; font-size: 10.5px; border-radius: 8px; }
    .bk-grp { margin: 14px 0 8px; font-size: 12.5px; }
    /* heures : une ligne */
    .bk-chips--sm { flex-wrap: nowrap; gap: 6px; margin-top: 8px; } .bk-chip--sm { flex: 1 1 0; min-width: 0; padding: 4px 2px; font-size: 12.5px; justify-content: center; }
    /* durées : 5 par ligne */
    #bkDur { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
    #bkDur .bk-chip { min-width: 0; min-height: 50px; padding: 5px 2px; border-radius: 10px; } #bkDur .bk-chip b { font-size: 12px; text-align: center; line-height: 1.15; } #bkDur .bk-chip small { font-size: 10px; }
    /* activités : 3 par ligne */
    .bk-acts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .bk-act { border-radius: 12px; } .bk-act__main { position: relative; flex-direction: column; align-items: stretch; gap: 6px; padding: 0 0 4px; }
    .bk-act__img { width: 100%; height: auto; aspect-ratio: 1 / 1; border-radius: 0; } .bk-act__t { padding: 0 6px; font-size: 11.5px; line-height: 1.2; overflow-wrap: anywhere; }
    .bk-act__check { position: absolute; top: 5px; inset-inline-end: 5px; width: 20px; height: 20px; background-color: rgba(0, 0, 0, .35); border-color: #fff; }
    .bk-act__sel { padding: 0 5px 6px; } .bk-act__sel select { min-height: 34px; padding: 0 4px; font-size: 10.5px; border-radius: 8px; }
    .bk-nav { margin-top: 18px; padding-top: 14px; }
    .bk-van { margin-top: 16px; padding: 12px; gap: 10px; }
}
@media (max-width: 960px) { .bk-side { display: none; } }
