/* ══════════════════════════════════
   LANGUAGE SWITCHER — drapeaux grands
══════════════════════════════════ */
#bsi-lang-bar {
  position: fixed; top: 0; right: 0; z-index: 9990;
  display: flex;
  background: rgba(0,0,0,0.70);
  backdrop-filter: blur(8px);
  border-bottom-left-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}
.bsi-lang-btn {
  background: none; border: none;
  border-left: 1px solid rgba(255,255,255,0.15);
  padding: 0.55rem 1.2rem;
  cursor: pointer;
  font-size: 1.8rem;
  line-height: 1;
  transition: background 0.18s, transform 0.15s;
  display: flex; align-items: center; justify-content: center;
  opacity: 0.75;
}
.bsi-lang-btn:first-child { border-left: none; }
.bsi-lang-btn:hover  { background: rgba(255,255,255,0.12); opacity: 1; transform: scale(1.1); }
.bsi-lang-btn.active { opacity: 1; background: rgba(255,255,255,0.08); }

/* ══════════════════════════════════
   MOBILE: cartes compactes
══════════════════════════════════ */
.bsi-card-inner { display: none; }  /* caché sur desktop */

@media (max-width: 600px) {
  .gallery-grid { display: block !important; }
  .grid-card {
    display: flex !important; flex-direction: row !important;
    align-items: stretch !important; background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09) !important;
    margin-bottom: 0.75rem !important; overflow: hidden !important;
    padding: 0 !important; min-height: 0 !important;
  }
  .grid-card > h1,
  .grid-card > h4,
  .grid-card > p,
  .grid-card > .card-buttons { display: none !important; }
  .grid-card > a:first-of-type {
    flex-shrink: 0 !important; width: 95px !important; height: 95px !important;
    display: block !important; overflow: hidden !important;
  }
  .grid-card > a:first-of-type img {
    width: 95px !important; height: 95px !important;
    object-fit: cover !important; display: block !important;
  }
  .bsi-card-inner {
    flex: 1 !important; padding: 0.5rem 0.65rem !important;
    display: flex !important; flex-direction: column !important;
    justify-content: space-between !important; min-width: 0 !important;
  }
  .bsi-card-top { margin-bottom: 0.2rem; }
  .bsi-card-name { font-weight: 700 !important; font-size: 0.88rem !important; color: #1a2a3a !important; display: block !important; }
  .bsi-card-price { font-size: 0.76rem !important; color: #e07b00 !important; font-weight: 600 !important; }
  .bsi-card-desc {
    font-size: 0.74rem !important; color: #555 !important; line-height: 1.3 !important;
    margin: 0 0 0.3rem !important;
    display: -webkit-box !important; -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important; overflow: hidden !important;
  }
  .bsi-card-btns { display: flex !important; gap: 0.35rem !important; }
  .bsi-card-btns a {
    flex: 1 !important; text-align: center !important;
    padding: 0.3rem 0.4rem !important; font-size: 0.72rem !important;
    border-radius: 6px !important; text-decoration: none !important; font-weight: 600 !important;
  }
  .bsi-card-btns .card-btn-secondary { background:#f0f4f8 !important; color:#0077B6 !important; border:1px solid #c8d8e8 !important; }
  .bsi-card-btns .card-btn-primary   { background:linear-gradient(135deg,#ff6b6b,#ff9f43) !important; color:#fff !important; border:none !important; }
}

/* ══════════════════════════════════
   MODAL
══════════════════════════════════ */
#bsi-overlay {
  display: none; position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,0.65); backdrop-filter: blur(4px);
  align-items: center; justify-content: center; padding: 1rem;
}
#bsi-overlay.open { display: flex; animation: bsiOvIn .22s ease; }
@keyframes bsiOvIn { from{opacity:0} to{opacity:1} }
#bsi-modal {
  background: #fff; border-radius: 18px; width: 100%; max-width: 520px;
  max-height: 94vh; overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.32);
  animation: bsiMdIn .3s cubic-bezier(.34,1.5,.64,1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
@keyframes bsiMdIn {
  from { opacity:0; transform:translateY(24px) scale(.97); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
#bsi-modal-head {
  background: linear-gradient(135deg,#0077B6,#00B4D8 55%,#00c9a7);
  padding: 1.6rem 1.8rem 1.2rem; border-radius: 18px 18px 0 0; position: relative;
}
#bsi-modal-head h3 { margin: 0 2.5rem 0.2rem 0; font-size: 1.35rem; font-weight: 800; color: #fff; }
#bsi-modal-head p  { margin: 0; font-size: 0.84rem; color: rgba(255,255,255,.78); }
#bsi-close-btn {
  position: absolute; top: 1rem; right: 1rem;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.2); border: none; color: #fff;
  font-size: 1rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .18s;
}
#bsi-close-btn:hover { background: rgba(255,255,255,.35); }
#bsi-modal-body { padding: 1.5rem 1.8rem; }
.bsi-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.bsi-field { display: flex; flex-direction: column; gap: .28rem; margin-bottom: .85rem; }
.bsi-label { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #1a2a3a; }
.bsi-req   { color: #e74c3c; margin-left: 2px; }
.bsi-input, .bsi-select, .bsi-textarea {
  width: 100%; padding: .62rem .9rem; border: 1.5px solid #dde3ea; border-radius: 9px;
  font-family: inherit; font-size: .91rem; color: #1a2a3a; background: #f7f9fb;
  outline: none; box-sizing: border-box; -webkit-appearance: none; appearance: none;
  transition: border-color .18s, box-shadow .18s;
}
.bsi-input:focus,.bsi-select:focus,.bsi-textarea:focus {
  border-color: #0077B6; box-shadow: 0 0 0 3px rgba(0,119,182,.1); background: #fff;
}
.bsi-input.err,.bsi-select.err { border-color: #e74c3c; box-shadow: 0 0 0 3px rgba(231,76,60,.1); }
.bsi-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6'%3E%3Cpath d='M1 1l4.5 4 4.5-4' stroke='%236b7b8d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .85rem center; padding-right: 2.2rem;
}
.bsi-textarea { resize: vertical; min-height: 80px; }
.bsi-errmsg { font-size: .73rem; color: #e74c3c; display: none; }
.bsi-errmsg.show { display: block; }
#bsi-submit {
  width: 100%; margin-top: .2rem; padding: .88rem;
  background: linear-gradient(135deg,#ff6b6b,#ff9f43); color: #fff;
  border: none; border-radius: 50px; font-family: inherit;
  font-size: .95rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 5px 20px rgba(255,107,107,.35);
  transition: transform .18s, box-shadow .18s;
}
#bsi-submit:hover { transform: translateY(-2px); box-shadow: 0 9px 28px rgba(255,107,107,.45); }
#bsi-submit:disabled { opacity: .6; cursor: default; transform: none; }
.bsi-send-msg { text-align: center; font-size: .84rem; color: #0077B6; margin-top: .5rem; display: none; }
.bsi-send-msg.show { display: block; }
#bsi-err-toast {
  display: none; background: #ffeaea; border: 1px solid #e74c3c;
  color: #c0392b; border-radius: 8px; padding: .6rem 1rem;
  font-size: .84rem; margin-top: .5rem; text-align: center;
}
#bsi-err-toast.show { display: block; }
#bsi-success { display: none; text-align: center; padding: 2.2rem 1.8rem; }
#bsi-success.show { display: block; }
#bsi-success .ico { font-size: 3rem; margin-bottom: .8rem; }
#bsi-success h4 { font-size: 1.25rem; font-weight: 800; color: #1a2a3a; margin: 0 0 .4rem; }
#bsi-success p  { color: #6b7b8d; line-height: 1.6; margin: 0 0 1.2rem; font-size: .87rem; }
#bsi-ok-btn {
  background: #0077B6; color: #fff; border: none; padding: .62rem 1.8rem;
  border-radius: 50px; font-family: inherit; font-weight: 700; cursor: pointer;
}
#bsi-ok-btn:hover { background: #005f94; }
@media(max-width:480px){
  .bsi-row2 { grid-template-columns: 1fr; }
  #bsi-modal-body { padding: 1.2rem; }
}

/* ══════════════════════════════════
   FOOTER SEO OPTIMISÉ
══════════════════════════════════ */
.bsi-footer {
  background: #0d1b2a;
  color: #a8b8c8;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  padding: 3rem 1.5rem 1.5rem;
}
.bsi-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto 2.5rem;
}
.bsi-footer-logo img { width: 80px; height: auto; margin-bottom: 0.8rem; display: block; }
.bsi-footer-logo p   { font-size: 0.82rem; line-height: 1.6; color: #7a8fa0; margin: 0; }
.bsi-footer h4 {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #e0eaf0; margin: 0 0 0.9rem;
}
.bsi-footer address { font-style: normal; font-size: 0.83rem; line-height: 1.8; color: #8fa4b6; }
.bsi-footer address a { color: #8fa4b6; text-decoration: none; }
.bsi-footer address a:hover { color: #00d4aa; }
.bsi-footer-links { list-style: none; padding: 0; margin: 0; }
.bsi-footer-links li { margin-bottom: 0.45rem; }
.bsi-footer-links a { color: #8fa4b6; text-decoration: none; font-size: 0.83rem; transition: color 0.18s; }
.bsi-footer-links a:hover { color: #00d4aa; }
.bsi-footer-activities { list-style: none; padding: 0; margin: 0; }
.bsi-footer-activities li { margin-bottom: 0.35rem; }
.bsi-footer-activities a { color: #8fa4b6; text-decoration: none; font-size: 0.8rem; transition: color 0.18s; }
.bsi-footer-activities a:hover { color: #00d4aa; }
.bsi-footer-bottom {
  max-width: 1100px; margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,0.07);
  padding-top: 1.2rem;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 0.5rem;
}
.bsi-footer-bottom p { font-size: 0.78rem; color: #5a7080; margin: 0; }
.bsi-footer-bottom .bsi-f-legal a { color: #5a7080; text-decoration: none; font-size: 0.78rem; margin-left: 1.2rem; }
.bsi-footer-bottom .bsi-f-legal a:hover { color: #00d4aa; }
@media(max-width: 768px) {
  .bsi-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media(max-width: 480px) {
  .bsi-footer-grid { grid-template-columns: 1fr; }
  .bsi-footer-bottom { flex-direction: column; text-align: center; }
  .bsi-footer-bottom .bsi-f-legal a { margin-left: 0.6rem; }
}

/* Hero subtitle */
.hero-subtitle {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.82);
  margin: -0.3rem 0 1.4rem;
  text-shadow: 0 1px 6px rgba(0,0,0,0.35);
}
@media(max-width:600px){
  .hero-subtitle { font-size: 0.82rem; letter-spacing: 0.05em; margin-bottom: 1rem; }
}


/* ══ DETAIL PAGE ══ */
.det-hero-sub {
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:1.05rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.82);margin:-.3rem 0 1.4rem;
  text-shadow:0 1px 6px rgba(0,0,0,.35);
}
@media(max-width:600px){.det-hero-sub{font-size:.82rem;margin-bottom:1rem;}}

.det-page{background:#f4f7fa;padding:0 0 4rem;}

/* Breadcrumb */
.det-breadcrumb{
  background:#fff;border-bottom:1px solid #e8eef4;
  padding:.7rem 1.5rem;font-size:.8rem;color:#6b7b8d;
}
.det-breadcrumb a{color:#0077B6;text-decoration:none;}
.det-breadcrumb a:hover{text-decoration:underline;}

/* Hero image */
.det-hero-img{
  width:100%;height:420px;object-fit:cover;display:block;
}
@media(max-width:768px){.det-hero-img{height:260px;}}

/* Main content */
.det-main{
  max-width:1000px;margin:0 auto;padding:2.5rem 1.5rem;
}
.det-layout{display:grid;grid-template-columns:1fr 340px;gap:2.5rem;align-items:start;}
@media(max-width:860px){.det-layout{grid-template-columns:1fr;}}

/* Left */
.det-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#0077B6;margin-bottom:.5rem;}
.det-title{
  font-family:Lobster,serif;font-size:clamp(1.8rem,4vw,2.6rem);
  color:#0d1b2a;margin:0 0 1.5rem;font-weight:400;line-height:1.2;
}

/* Specs bar */
.det-specs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;
  margin-bottom:2rem;
}
.det-spec{
  background:#fff;border-radius:12px;padding:1rem .9rem;
  text-align:center;border:1.5px solid #e0eaf2;
}
.det-spec-icon{font-size:1.5rem;margin-bottom:.3rem;}
.det-spec-val{font-size:.88rem;font-weight:700;color:#0d1b2a;margin-bottom:.1rem;}
.det-spec-lbl{font-size:.68rem;color:#6b7b8d;text-transform:uppercase;letter-spacing:.07em;}
@media(max-width:500px){.det-specs{grid-template-columns:repeat(2,1fr);}}

.det-desc{font-size:.97rem;color:#3a4a5a;line-height:1.85;margin-bottom:1.8rem;}

/* Highlights */
.det-highlights{
  background:linear-gradient(135deg,#f0f7ff,#e8f4ff);
  border-radius:14px;padding:1.4rem 1.5rem;margin-bottom:2rem;
  border-left:4px solid #0077B6;
}
.det-highlights h4{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0077B6;margin:0 0 .8rem;}
.det-hl-item{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.9rem;color:#1a2a3a;font-weight:500;}
.det-hl-item:last-child{margin-bottom:0;}
.det-hl-dot{width:6px;height:6px;border-radius:50%;background:#0077B6;flex-shrink:0;}

/* Includes */
.det-includes{margin-bottom:2rem;}
.det-includes h4{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#0d1b2a;margin:0 0 .8rem;}
.det-inc-grid{display:flex;flex-wrap:wrap;gap:.5rem;}
.det-inc-pill{
  background:#fff;border:1.5px solid #00c9a7;color:#00c9a7;
  font-size:.78rem;font-weight:700;border-radius:20px;padding:.3rem .9rem;
}

/* Back link */
.det-back{
  display:inline-flex;align-items:center;gap:.5rem;
  color:#0077B6;text-decoration:none;font-size:.88rem;font-weight:600;
  margin-bottom:2rem;transition:gap .18s;
}
.det-back:hover{gap:.7rem;color:#0077B6;}

/* RIGHT: Booking card */
.det-card{
  background:#fff;border-radius:20px;
  box-shadow:0 8px 30px rgba(0,0,0,.1);
  padding:1.8rem;position:sticky;top:90px;
}
.det-card-price{
  display:flex;align-items:baseline;gap:.4rem;margin-bottom:.4rem;
}
.det-card-from{font-size:.82rem;color:#6b7b8d;}
.det-card-num{font-family:Lobster,serif;font-size:2.8rem;color:#0077B6;line-height:1;}
.det-card-per{font-size:.8rem;color:#6b7b8d;}
.det-card-duration{font-size:.82rem;color:#6b7b8d;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid #e8eef4;}
.det-card-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem;}
.det-card-pill{
  background:#f0f7ff;border:1px solid #c8dff0;color:#0077B6;
  font-size:.72rem;font-weight:600;border-radius:20px;padding:.25rem .7rem;
}
.det-card-btn{
  display:block;width:100%;text-align:center;
  padding:.95rem;border-radius:50px;
  background:linear-gradient(135deg,#ff6b6b,#ff9f43);
  color:#fff;font-weight:700;font-size:1rem;
  border:none;cursor:pointer;text-decoration:none;
  box-shadow:0 6px 20px rgba(255,107,107,.35);
  transition:transform .18s,box-shadow .18s;margin-bottom:.7rem;
}
.det-card-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(255,107,107,.45);color:#fff;}
.det-card-contact{
  display:block;width:100%;text-align:center;
  padding:.7rem;border-radius:50px;border:2px solid #0077B6;
  color:#0077B6;font-weight:700;font-size:.88rem;text-decoration:none;
  transition:background .18s;
}
.det-card-contact:hover{background:#f0f7ff;color:#0077B6;}
.det-card-note{font-size:.74rem;color:#9aa5b4;text-align:center;margin-top:.8rem;line-height:1.5;}

/* Yamaha section */
.det-yamaha{
  background:#0d1b2a;border-radius:16px;padding:1.8rem;margin-top:2.5rem;
}
.det-yamaha h4{font-family:Lobster,serif;font-size:1.3rem;color:#fff;margin:0 0 .8rem;font-weight:400;}
.det-yamaha p{font-size:.85rem;color:rgba(255,255,255,.7);line-height:1.7;margin:0;}
.det-yamaha-specs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem;}
.det-yamaha-spec{
  background:rgba(0,201,167,.15);border:1px solid rgba(0,201,167,.3);
  color:#00c9a7;font-size:.72rem;font-weight:600;border-radius:20px;padding:.2rem .7rem;
}

/* ══════════════════════════════════
   COMPACT TOPBAR (detail pages)
══════════════════════════════════ */
.bsi-topbar {
  position: sticky; top: 0; z-index: 1000;
  background: #0a0a0a;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 2px 16px rgba(0,0,0,0.45);
}
.bsi-topbar-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center;
  padding: 0 1.5rem; height: 62px;
  gap: 1.5rem;
}
.bsi-topbar-logo {
  display: flex; align-items: center; gap: 0.65rem;
  text-decoration: none; flex-shrink: 0;
}
.bsi-topbar-logo img {
  height: 36px; width: auto; display: block;
}
.bsi-topbar-logo span {
  font-family: 'Lobster', cursive;
  font-size: 1.25rem; color: #fff;
  white-space: nowrap; letter-spacing: 0.01em;
}
.bsi-topbar-nav {
  margin-left: auto;
  display: flex; align-items: center; gap: 0.5rem;
}
.bsi-topbar-link {
  color: rgba(255,255,255,0.82); text-decoration: none;
  font-size: 0.88rem; font-weight: 500; letter-spacing: 0.04em;
  padding: 0.45rem 0.9rem; border-radius: 6px;
  transition: color .18s, background .18s;
}
.bsi-topbar-link:hover { color: #fff; background: rgba(255,255,255,0.08); }
.bsi-topbar-phone {
  color: rgba(255,255,255,0.7); text-decoration: none;
  font-size: 0.82rem; font-weight: 500;
  padding: 0.45rem 0.9rem; border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.15);
  transition: all .18s; white-space: nowrap;
}
.bsi-topbar-phone:hover { color: #fff; border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.06); }
.bsi-topbar-book {
  background: linear-gradient(135deg, #ff6b6b, #ff9f43);
  color: #fff; text-decoration: none;
  font-size: 0.88rem; font-weight: 700; letter-spacing: 0.04em;
  padding: 0.5rem 1.2rem; border-radius: 8px;
  transition: opacity .18s, transform .18s;
  white-space: nowrap;
}
.bsi-topbar-book:hover { opacity: 0.88; transform: translateY(-1px); color: #fff; }

.bsi-topbar-flags {
  display: flex;
  align-items: center;
  gap: 0;
  border-left: 1px solid rgba(255,255,255,0.12);
  padding-left: 0.75rem;
  flex-shrink: 0;
}
.bsi-topbar-flags .bsi-lang-btn {
  background: none; border: none;
  padding: 0.28rem 0.48rem;
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
  opacity: 0.6;
  border-radius: 4px;
  transition: opacity .15s, transform .15s;
}
.bsi-topbar-flags .bsi-lang-btn:hover  { opacity: 1; transform: scale(1.15); }
.bsi-topbar-flags .bsi-lang-btn.active { opacity: 1; }


/* Burger (mobile) */
.bsi-burger {
  display: none; background: none; border: none;
  color: #fff; font-size: 1.6rem; cursor: pointer;
  padding: 0.3rem 0.5rem; margin-left: auto; line-height: 1;
}
/* Mobile menu */
.bsi-mobile-menu {
  display: none; flex-direction: column;
  background: #111; padding: 0.6rem 1.2rem 1rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.bsi-mobile-menu.open { display: flex; }
.bsi-mob-link {
  color: rgba(255,255,255,0.82); text-decoration: none;
  font-size: 0.9rem; font-weight: 500;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
/* Drapeaux dans le menu mobile — alignés en ligne */
.bsi-mob-flags {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.25rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.bsi-mob-flags .bsi-lang-btn {
  font-size: 1.5rem;
  padding: 0.25rem 0.5rem;
  opacity: 0.6;
  border-radius: 6px;
  background: none; border: none; cursor: pointer;
  transition: opacity .15s, transform .15s;
  line-height: 1;
}
.bsi-mob-flags .bsi-lang-btn.active { opacity: 1; }
.bsi-mob-flags .bsi-lang-btn:hover  { opacity: 1; transform: scale(1.1); }
.bsi-mob-book {
  display: block; text-align: center; margin-top: 0.7rem;
  background: linear-gradient(135deg, #ff6b6b, #ff9f43);
  color: #fff; text-decoration: none;
  font-size: 0.92rem; font-weight: 700;
  padding: 0.7rem 1.5rem; border-radius: 8px;
}
@media(max-width: 820px) {
  .bsi-topbar-nav { display: none !important; }
  /* Flags restent visibles dans la barre en mobile */
  .bsi-topbar-flags {
    display: flex !important;
    border-left: 1px solid rgba(255,255,255,0.12);
    padding-left: 0.5rem;
    margin-left: auto;  /* pousse les drapeaux + burger à droite */
  }
  .bsi-topbar-flags .bsi-lang-btn { font-size: 1.15rem; padding: 0.2rem 0.35rem; }
  .bsi-burger {
    display: block !important;
    margin-left: 0.25rem; /* collé juste après les drapeaux */
  }
  /* Le logo n'a plus margin-left:auto — c'est les drapeaux qui l'ont */
  .bsi-topbar-logo { flex: 0 0 auto; }
}


/* ══ PHONE FIELD ══ */
.bsi-phone-row {
  display: flex;
  gap: .5rem;
}
.bsi-dial {
  flex: 0 0 auto;
  width: 110px;
  padding-right: 1.8rem;
  font-size: .88rem;
}
.bsi-phone-num {
  flex: 1 1 auto;
  min-width: 0;
}
@media(max-width:380px) {
  .bsi-dial { width: 95px; font-size: .82rem; }
}

/* ══════════════════════════════════════
   NO-LICENCE-BOAT LISTING PAGE (nlb-*)
══════════════════════════════════════ */
/* ══ TOPBAR ══ */
.bsi-topbar{position:sticky;top:0;z-index:1000;background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 2px 16px rgba(0,0,0,.45);}
.bsi-topbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;padding:0 1.5rem;height:62px;gap:1rem;}
.bsi-topbar-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0;}
.bsi-topbar-logo img{height:36px;width:auto;}
.bsi-topbar-logo span{font-family:'Lobster',cursive;font-size:1.2rem;color:#fff;white-space:nowrap;}
.bsi-topbar-nav{margin-left:auto;display:flex;align-items:center;gap:.4rem;}
.bsi-topbar-link{color:rgba(255,255,255,.82);text-decoration:none;font-size:.87rem;font-weight:500;padding:.42rem .85rem;border-radius:6px;transition:all .18s;}
.bsi-topbar-link:hover{color:#fff;background:rgba(255,255,255,.08);}
.bsi-topbar-phone{color:rgba(255,255,255,.72);text-decoration:none;font-size:.82rem;font-weight:500;padding:.42rem .85rem;border-radius:6px;border:1px solid rgba(255,255,255,.18);transition:all .18s;white-space:nowrap;}
.bsi-topbar-phone:hover{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06);}
.bsi-topbar-book{background:linear-gradient(135deg,#ff6b6b,#ff9f43);color:#fff;text-decoration:none;font-size:.87rem;font-weight:700;padding:.48rem 1.1rem;border-radius:8px;transition:opacity .18s,transform .15s;white-space:nowrap;}
.bsi-topbar-book:hover{opacity:.88;transform:translateY(-1px);color:#fff;}
.bsi-topbar-flags{display:flex;align-items:center;border-left:1px solid rgba(255,255,255,.12);padding-left:.75rem;}
.bsi-topbar-flags .bsi-lang-btn{background:none;border:none;padding:.28rem .45rem;cursor:pointer;font-size:1.25rem;line-height:1;opacity:.6;border-radius:4px;transition:opacity .15s,transform .15s;}
.bsi-topbar-flags .bsi-lang-btn:hover{opacity:1;transform:scale(1.15);}
.bsi-topbar-flags .bsi-lang-btn.active{opacity:1;}
.bsi-burger{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;padding:.3rem .5rem;margin-left:auto;line-height:1;}
.bsi-mobile-menu{display:none;flex-direction:column;background:#111;padding:.6rem 1.2rem 1rem;border-top:1px solid rgba(255,255,255,.08);}
.bsi-mobile-menu.open{display:flex;}
.bsi-mob-link{color:rgba(255,255,255,.82);text-decoration:none;font-size:.9rem;font-weight:500;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.07);}
.bsi-mob-flags{display:flex;flex-direction:row;align-items:center;gap:0;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.07);}
.bsi-mob-flags .bsi-lang-btn{font-size:1.5rem;padding:.25rem .5rem;opacity:.6;border-radius:6px;background:none;border:none;cursor:pointer;transition:opacity .15s,transform .15s;line-height:1;}
.bsi-mob-flags .bsi-lang-btn.active{opacity:1;}
.bsi-mob-flags .bsi-lang-btn:hover{opacity:1;transform:scale(1.1);}
.bsi-mob-book{display:block;text-align:center;margin-top:.7rem;background:linear-gradient(135deg,#ff6b6b,#ff9f43);color:#fff;text-decoration:none;font-size:.92rem;font-weight:700;padding:.7rem 1.5rem;border-radius:8px;}
@media(max-width:820px){
  .bsi-topbar-nav{display:none !important;}
  .bsi-topbar-flags{display:flex !important;border-left:1px solid rgba(255,255,255,.12);padding-left:.5rem;margin-left:auto;}
  .bsi-topbar-flags .bsi-lang-btn{font-size:1.15rem;padding:.2rem .35rem;}
  .bsi-burger{display:block !important;margin-left:.25rem;}
  .bsi-topbar-logo{flex:0 0 auto;}
}


/* ══ LISTING PAGE ══ */
.nlb-page{background:#f4f7fa;min-height:60vh;padding:3rem 1.2rem 5rem;}
.nlb-intro{max-width:860px;margin:0 auto 2.5rem;text-align:center;}
.nlb-intro-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#0077B6;margin-bottom:.5rem;}
.nlb-intro h2{font-family:Lobster,serif;font-size:clamp(1.8rem,4vw,2.6rem);color:#0d1b2a;line-height:1.2;margin-bottom:.9rem;font-weight:400;}
.nlb-intro p{color:#5a6a7a;font-size:.95rem;line-height:1.8;max-width:640px;margin:0 auto;}
.nlb-info-bar{max-width:900px;margin:0 auto 2.5rem;background:linear-gradient(135deg,#0d1b2a,#1a3a5c);border-radius:14px;padding:1.2rem 2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.nlb-info-bar .bar-icon{font-size:2rem;flex-shrink:0;}
.nlb-info-bar .bar-text{color:rgba(255,255,255,.85);font-size:.88rem;line-height:1.6;}
.nlb-info-bar .bar-text strong{color:#00c9a7;}
.bar-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem;}
.bar-pill{background:rgba(0,201,167,.15);border:1px solid rgba(0,201,167,.3);color:#00c9a7;font-size:.72rem;font-weight:600;letter-spacing:.04em;border-radius:20px;padding:.2rem .7rem;}
.nlb-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.8rem;}
.nlb-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.nlb-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.14);}
.nlb-card-img{position:relative;overflow:hidden;height:220px;flex-shrink:0;}
.nlb-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.nlb-card:hover .nlb-card-img img{transform:scale(1.05);}
.nlb-card-badge{position:absolute;bottom:.7rem;left:.7rem;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);color:#fff;font-size:.7rem;font-weight:700;border-radius:20px;padding:.25rem .8rem;letter-spacing:.04em;}
.nlb-card-body{padding:1.3rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1;}
.nlb-card-emoji{font-size:1.6rem;margin-bottom:.4rem;}
.nlb-card-name{font-family:Lobster,serif;font-size:1.35rem;color:#0d1b2a;margin:0 0 .3rem;font-weight:400;line-height:1.2;}
.nlb-card-sub{font-size:.82rem;color:#6b7b8d;margin-bottom:.8rem;}
.nlb-card-price{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.6rem;flex-wrap:wrap;}
.nlb-from{font-size:.76rem;color:#6b7b8d;font-weight:500;}
.nlb-price-num{font-family:Lobster,serif;font-size:2rem;color:#0077B6;line-height:1;}
.nlb-price-old{font-size:.9rem;color:#aaa;text-decoration:line-through;margin-left:.2rem;}
.nlb-per{font-size:.74rem;color:#6b7b8d;}
.nlb-card-includes{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:1rem;}
.nlb-pill{background:#f0f7ff;border:1px solid #c8dff0;color:#0077B6;font-size:.68rem;font-weight:600;border-radius:20px;padding:.2rem .6rem;white-space:nowrap;}
.nlb-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:auto;}
.nlb-btn-more{text-align:center;padding:.65rem;border-radius:50px;border:2px solid #0077B6;color:#0077B6;text-decoration:none;font-weight:700;font-size:.83rem;transition:background .18s,color .18s;}
.nlb-btn-more:hover{background:#0077B6;color:#fff;}
.nlb-btn-book{text-align:center;padding:.65rem;border-radius:50px;background:linear-gradient(135deg,#ff6b6b,#ff9f43);color:#fff;text-decoration:none;font-weight:700;font-size:.83rem;box-shadow:0 4px 14px rgba(255,107,107,.35);transition:transform .18s;}
.nlb-btn-book:hover{transform:translateY(-1px);color:#fff;}
/* Seasonal pricing table */
.nlb-season-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.5rem;}
.nlb-season-table th{background:#f0f7ff;color:#0077B6;font-weight:700;padding:.45rem .7rem;text-align:left;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;}
.nlb-season-table td{padding:.45rem .7rem;border-bottom:1px solid #f0f0f0;color:#374151;}
.nlb-season-table tr:last-child td{border-bottom:none;}
.nlb-season-table .season-icon{font-size:1rem;margin-right:.3rem;}
/* FAQ */
.nlb-faq{background:#0d1b2a;padding:3.5rem 1.5rem;margin-top:4rem;}
.nlb-faq-inner{max-width:860px;margin:0 auto;}
.nlb-faq h3{font-family:Lobster,serif;font-size:clamp(1.5rem,3vw,2rem);color:#fff;margin-bottom:1.8rem;font-weight:400;}
.nlb-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.nlb-faq-item{background:rgba(255,255,255,.05);border-radius:12px;padding:1.1rem 1.2rem;}
.nlb-faq-q{font-size:.87rem;font-weight:700;color:#00c9a7;margin-bottom:.35rem;}
.nlb-faq-a{font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.65;}
@media(max-width:600px){.nlb-faq-grid{grid-template-columns:1fr;}}
@media(max-width:480px){.nlb-card-actions{grid-template-columns:1fr;}}
#bsi-overlay {
  display: none; position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,0.65); backdrop-filter: blur(4px);
  align-items: center; justify-content: center; padding: 1rem;
}
#bsi-overlay.open { display: flex; animation: bsiOvIn .22s ease; }
@keyframes bsiOvIn { from{opacity:0} to{opacity:1} }
#bsi-modal {
  background: #fff; border-radius: 18px; width: 100%; max-width: 520px;
  max-height: 94vh; overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.32);
  animation: bsiMdIn .3s cubic-bezier(.34,1.5,.64,1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
@keyframes bsiMdIn {
  from { opacity:0; transform:translateY(24px) scale(.97); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
#bsi-modal-head {
  background: linear-gradient(135deg,#0077B6,#00B4D8 55%,#00c9a7);
  padding: 1.6rem 1.8rem 1.2rem; border-radius: 18px 18px 0 0; position: relative;
}
#bsi-modal-head h3 { margin: 0 2.5rem 0.2rem 0; font-size: 1.35rem; font-weight: 800; color: #fff; }
#bsi-modal-head p  { margin: 0; font-size: 0.84rem; color: rgba(255,255,255,.78); }
#bsi-close-btn {
  position: absolute; top: 1rem; right: 1rem;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.2); border: none; color: #fff;
  font-size: 1rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .18s;
}
#bsi-close-btn:hover { background: rgba(255,255,255,.35); }
#bsi-modal-body { padding: 1.5rem 1.8rem; }
.bsi-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.bsi-field { display: flex; flex-direction: column; gap: .28rem; margin-bottom: .85rem; }
.bsi-label { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #1a2a3a; }
.bsi-req   { color: #e74c3c; margin-left: 2px; }
.bsi-input, .bsi-select, .bsi-textarea {
  width: 100%; padding: .62rem .9rem; border: 1.5px solid #dde3ea; border-radius: 9px;
  font-family: inherit; font-size: .91rem; color: #1a2a3a; background: #f7f9fb;
  outline: none; box-sizing: border-box; -webkit-appearance: none; appearance: none;
  transition: border-color .18s, box-shadow .18s;
}
.bsi-input:focus,.bsi-select:focus,.bsi-textarea:focus {
  border-color: #0077B6; box-shadow: 0 0 0 3px rgba(0,119,182,.1); background: #fff;
}
.bsi-input.err,.bsi-select.err { border-color: #e74c3c; box-shadow: 0 0 0 3px rgba(231,76,60,.1); }
.bsi-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6'%3E%3Cpath d='M1 1l4.5 4 4.5-4' stroke='%236b7b8d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .85rem center; padding-right: 2.2rem;
}
.bsi-textarea { resize: vertical; min-height: 80px; }
.bsi-errmsg { font-size: .73rem; color: #e74c3c; display: none; }
.bsi-errmsg.show { display: block; }
#bsi-submit {
  width: 100%; margin-top: .2rem; padding: .88rem;
  background: linear-gradient(135deg,#ff6b6b,#ff9f43); color: #fff;
  border: none; border-radius: 50px; font-family: inherit;
  font-size: .95rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 5px 20px rgba(255,107,107,.35);
  transition: transform .18s, box-shadow .18s;
}
#bsi-submit:hover { transform: translateY(-2px); box-shadow: 0 9px 28px rgba(255,107,107,.45); }
#bsi-submit:disabled { opacity: .6; cursor: default; transform: none; }
.bsi-send-msg { text-align: center; font-size: .84rem; color: #0077B6; margin-top: .5rem; display: none; }
.bsi-send-msg.show { display: block; }
#bsi-err-toast {
  display: none; background: #ffeaea; border: 1px solid #e74c3c;
  color: #c0392b; border-radius: 8px; padding: .6rem 1rem;
  font-size: .84rem; margin-top: .5rem; text-align: center;
}
#bsi-err-toast.show { display: block; }
#bsi-success { display: none; text-align: center; padding: 2.2rem 1.8rem; }
#bsi-success.show { display: block; }
#bsi-success .ico { font-size: 3rem; margin-bottom: .8rem; }
#bsi-success h4 { font-size: 1.25rem; font-weight: 800; color: #1a2a3a; margin: 0 0 .4rem; }
#bsi-success p  { color: #6b7b8d; line-height: 1.6; margin: 0 0 1.2rem; font-size: .87rem; }
#bsi-ok-btn {
  background: #0077B6; color: #fff; border: none; padding: .62rem 1.8rem;
  border-radius: 50px; font-family: inherit; font-weight: 700; cursor: pointer;
}
#bsi-ok-btn:hover { background: #005f94; }
@media(max-width:480px){
  .bsi-row2 { grid-template-columns: 1fr; }
  #bsi-modal-body { padding: 1.2rem; }
}

/* ══════════════════════════════════
   FOOTER SEO OPTIMISÉ
══════════════════════════════════ */
.bsi-footer {
  background: #0d1b2a;
  color: #a8b8c8;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  padding: 3rem 1.5rem 1.5rem;
}
.bsi-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto 2.5rem;
}
.bsi-footer-logo img { width: 80px; height: auto; margin-bottom: 0.8rem; display: block; }
.bsi-footer-logo p   { font-size: 0.82rem; line-height: 1.6; color: #7a8fa0; margin: 0; }
.bsi-footer h4 {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #e0eaf0; margin: 0 0 0.9rem;
}
.bsi-footer address { font-style: normal; font-size: 0.83rem; line-height: 1.8; color: #8fa4b6; }
.bsi-footer address a { color: #8fa4b6; text-decoration: none; }
.bsi-footer address a:hover { color: #00d4aa; }
.bsi-footer-links { list-style: none; padding: 0; margin: 0; }
.bsi-footer-links li { margin-bottom: 0.45rem; }
.bsi-footer-links a { color: #8fa4b6; text-decoration: none; font-size: 0.83rem; transition: color 0.18s; }
.bsi-footer-links a:hover { color: #00d4aa; }
.bsi-footer-activities { list-style: none; padding: 0; margin: 0; }
.bsi-footer-activities li { margin-bottom: 0.35rem; }
.bsi-footer-activities a { color: #8fa4b6; text-decoration: none; font-size: 0.8rem; transition: color 0.18s; }
.bsi-footer-activities a:hover { color: #00d4aa; }
.bsi-footer-bottom {
  max-width: 1100px; margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,0.07);
  padding-top: 1.2rem;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 0.5rem;
}
.bsi-footer-bottom p { font-size: 0.78rem; color: #5a7080; margin: 0; }
.bsi-footer-bottom .bsi-f-legal a { color: #5a7080; text-decoration: none; font-size: 0.78rem; margin-left: 1.2rem; }
.bsi-footer-bottom .bsi-f-legal a:hover { color: #00d4aa; }
@media(max-width: 768px) {
  .bsi-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media(max-width: 480px) {
  .bsi-footer-grid { grid-template-columns: 1fr; }
  .bsi-footer-bottom { flex-direction: column; text-align: center; }
  .bsi-footer-bottom .bsi-f-legal a { margin-left: 0.6rem; }
}

/* ══════════════════════════════════════
   RENT-A-BOAT LISTING PAGE (rab-*)
══════════════════════════════════════ */
/* ══ TOPBAR ══ */
.bsi-topbar{position:sticky;top:0;z-index:1000;background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 2px 16px rgba(0,0,0,.45);}
.bsi-topbar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;padding:0 1.5rem;height:62px;gap:1rem;}
.bsi-topbar-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0;}
.bsi-topbar-logo img{height:36px;width:auto;}
.bsi-topbar-logo span{font-family:'Lobster',cursive;font-size:1.2rem;color:#fff;white-space:nowrap;}
.bsi-topbar-nav{margin-left:auto;display:flex;align-items:center;gap:.4rem;}
.bsi-topbar-link{color:rgba(255,255,255,.82);text-decoration:none;font-size:.87rem;font-weight:500;padding:.42rem .85rem;border-radius:6px;transition:all .18s;}
.bsi-topbar-link:hover{color:#fff;background:rgba(255,255,255,.08);}
.bsi-topbar-phone{color:rgba(255,255,255,.72);text-decoration:none;font-size:.82rem;font-weight:500;padding:.42rem .85rem;border-radius:6px;border:1px solid rgba(255,255,255,.18);transition:all .18s;white-space:nowrap;}
.bsi-topbar-phone:hover{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.06);}
.bsi-topbar-book{background:linear-gradient(135deg,#ff6b6b,#ff9f43);color:#fff;text-decoration:none;font-size:.87rem;font-weight:700;padding:.48rem 1.1rem;border-radius:8px;transition:opacity .18s,transform .15s;white-space:nowrap;}
.bsi-topbar-book:hover{opacity:.88;transform:translateY(-1px);color:#fff;}
.bsi-topbar-flags{display:flex;align-items:center;border-left:1px solid rgba(255,255,255,.12);padding-left:.75rem;}
.bsi-topbar-flags .bsi-lang-btn{background:none;border:none;padding:.28rem .45rem;cursor:pointer;font-size:1.25rem;line-height:1;opacity:.6;border-radius:4px;transition:opacity .15s,transform .15s;}
.bsi-topbar-flags .bsi-lang-btn:hover{opacity:1;transform:scale(1.15);}
.bsi-topbar-flags .bsi-lang-btn.active{opacity:1;}
.bsi-burger{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;padding:.3rem .5rem;margin-left:auto;line-height:1;}
.bsi-mobile-menu{display:none;flex-direction:column;background:#111;padding:.6rem 1.2rem 1rem;border-top:1px solid rgba(255,255,255,.08);}
.bsi-mobile-menu.open{display:flex;}
.bsi-mob-link{color:rgba(255,255,255,.82);text-decoration:none;font-size:.9rem;font-weight:500;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.07);}
.bsi-mob-flags{display:flex;flex-direction:row;align-items:center;gap:0;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.07);}
.bsi-mob-flags .bsi-lang-btn{font-size:1.5rem;padding:.25rem .5rem;opacity:.6;border-radius:6px;background:none;border:none;cursor:pointer;transition:opacity .15s,transform .15s;line-height:1;}
.bsi-mob-flags .bsi-lang-btn.active{opacity:1;}
.bsi-mob-flags .bsi-lang-btn:hover{opacity:1;transform:scale(1.1);}
.bsi-mob-book{display:block;text-align:center;margin-top:.7rem;background:linear-gradient(135deg,#ff6b6b,#ff9f43);color:#fff;text-decoration:none;font-size:.92rem;font-weight:700;padding:.7rem 1.5rem;border-radius:8px;}
@media(max-width:820px){
  .bsi-topbar-nav{display:none !important;}
  .bsi-topbar-flags{display:flex !important;border-left:1px solid rgba(255,255,255,.12);padding-left:.5rem;margin-left:auto;}
  .bsi-topbar-flags .bsi-lang-btn{font-size:1.15rem;padding:.2rem .35rem;}
  .bsi-burger{display:block !important;margin-left:.25rem;}
  .bsi-topbar-logo{flex:0 0 auto;}
}

#bsi-overlay {
  display: none; position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,0.65); backdrop-filter: blur(4px);
  align-items: center; justify-content: center; padding: 1rem;
}
#bsi-overlay.open { display: flex; animation: bsiOvIn .22s ease; }
@keyframes bsiOvIn { from{opacity:0} to{opacity:1} }
#bsi-modal {
  background: #fff; border-radius: 18px; width: 100%; max-width: 520px;
  max-height: 94vh; overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.32);
  animation: bsiMdIn .3s cubic-bezier(.34,1.5,.64,1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
@keyframes bsiMdIn {
  from { opacity:0; transform:translateY(24px) scale(.97); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
#bsi-modal-head {
  background: linear-gradient(135deg,#0077B6,#00B4D8 55%,#00c9a7);
  padding: 1.6rem 1.8rem 1.2rem; border-radius: 18px 18px 0 0; position: relative;
}
#bsi-modal-head h3 { margin: 0 2.5rem 0.2rem 0; font-size: 1.35rem; font-weight: 800; color: #fff; }
#bsi-modal-head p  { margin: 0; font-size: 0.84rem; color: rgba(255,255,255,.78); }
#bsi-close-btn {
  position: absolute; top: 1rem; right: 1rem;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.2); border: none; color: #fff;
  font-size: 1rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .18s;
}
#bsi-close-btn:hover { background: rgba(255,255,255,.35); }
#bsi-modal-body { padding: 1.5rem 1.8rem; }
.bsi-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.bsi-field { display: flex; flex-direction: column; gap: .28rem; margin-bottom: .85rem; }
.bsi-label { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #1a2a3a; }
.bsi-req   { color: #e74c3c; margin-left: 2px; }
.bsi-input, .bsi-select, .bsi-textarea {
  width: 100%; padding: .62rem .9rem; border: 1.5px solid #dde3ea; border-radius: 9px;
  font-family: inherit; font-size: .91rem; color: #1a2a3a; background: #f7f9fb;
  outline: none; box-sizing: border-box; -webkit-appearance: none; appearance: none;
  transition: border-color .18s, box-shadow .18s;
}
.bsi-input:focus,.bsi-select:focus,.bsi-textarea:focus {
  border-color: #0077B6; box-shadow: 0 0 0 3px rgba(0,119,182,.1); background: #fff;
}
.bsi-input.err,.bsi-select.err { border-color: #e74c3c; box-shadow: 0 0 0 3px rgba(231,76,60,.1); }
.bsi-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6'%3E%3Cpath d='M1 1l4.5 4 4.5-4' stroke='%236b7b8d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .85rem center; padding-right: 2.2rem;
}
.bsi-textarea { resize: vertical; min-height: 80px; }
.bsi-errmsg { font-size: .73rem; color: #e74c3c; display: none; }
.bsi-errmsg.show { display: block; }
#bsi-submit {
  width: 100%; margin-top: .2rem; padding: .88rem;
  background: linear-gradient(135deg,#ff6b6b,#ff9f43); color: #fff;
  border: none; border-radius: 50px; font-family: inherit;
  font-size: .95rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 5px 20px rgba(255,107,107,.35);
  transition: transform .18s, box-shadow .18s;
}
#bsi-submit:hover { transform: translateY(-2px); box-shadow: 0 9px 28px rgba(255,107,107,.45); }
#bsi-submit:disabled { opacity: .6; cursor: default; transform: none; }
.bsi-send-msg { text-align: center; font-size: .84rem; color: #0077B6; margin-top: .5rem; display: none; }
.bsi-send-msg.show { display: block; }
#bsi-err-toast {
  display: none; background: #ffeaea; border: 1px solid #e74c3c;
  color: #c0392b; border-radius: 8px; padding: .6rem 1rem;
  font-size: .84rem; margin-top: .5rem; text-align: center;
}
#bsi-err-toast.show { display: block; }
#bsi-success { display: none; text-align: center; padding: 2.2rem 1.8rem; }
#bsi-success.show { display: block; }
#bsi-success .ico { font-size: 3rem; margin-bottom: .8rem; }
#bsi-success h4 { font-size: 1.25rem; font-weight: 800; color: #1a2a3a; margin: 0 0 .4rem; }
#bsi-success p  { color: #6b7b8d; line-height: 1.6; margin: 0 0 1.2rem; font-size: .87rem; }
#bsi-ok-btn {
  background: #0077B6; color: #fff; border: none; padding: .62rem 1.8rem;
  border-radius: 50px; font-family: inherit; font-weight: 700; cursor: pointer;
}
#bsi-ok-btn:hover { background: #005f94; }
@media(max-width:480px){
  .bsi-row2 { grid-template-columns: 1fr; }
  #bsi-modal-body { padding: 1.2rem; }
}

/* ══════════════════════════════════
   FOOTER SEO OPTIMISÉ
══════════════════════════════════ */
.bsi-footer {
  background: #0d1b2a;
  color: #a8b8c8;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  padding: 3rem 1.5rem 1.5rem;
}
.bsi-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto 2.5rem;
}
.bsi-footer-logo img { width: 80px; height: auto; margin-bottom: 0.8rem; display: block; }
.bsi-footer-logo p   { font-size: 0.82rem; line-height: 1.6; color: #7a8fa0; margin: 0; }
.bsi-footer h4 {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #e0eaf0; margin: 0 0 0.9rem;
}
.bsi-footer address { font-style: normal; font-size: 0.83rem; line-height: 1.8; color: #8fa4b6; }
.bsi-footer address a { color: #8fa4b6; text-decoration: none; }
.bsi-footer address a:hover { color: #00d4aa; }
.bsi-footer-links { list-style: none; padding: 0; margin: 0; }
.bsi-footer-links li { margin-bottom: 0.45rem; }
.bsi-footer-links a { color: #8fa4b6; text-decoration: none; font-size: 0.83rem; transition: color 0.18s; }
.bsi-footer-links a:hover { color: #00d4aa; }
.bsi-footer-activities { list-style: none; padding: 0; margin: 0; }
.bsi-footer-activities li { margin-bottom: 0.35rem; }
.bsi-footer-activities a { color: #8fa4b6; text-decoration: none; font-size: 0.8rem; transition: color 0.18s; }
.bsi-footer-activities a:hover { color: #00d4aa; }
.bsi-footer-bottom {
  max-width: 1100px; margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,0.07);
  padding-top: 1.2rem;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 0.5rem;
}
.bsi-footer-bottom p { font-size: 0.78rem; color: #5a7080; margin: 0; }
.bsi-footer-bottom .bsi-f-legal a { color: #5a7080; text-decoration: none; font-size: 0.78rem; margin-left: 1.2rem; }
.bsi-footer-bottom .bsi-f-legal a:hover { color: #00d4aa; }
@media(max-width: 768px) {
  .bsi-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media(max-width: 480px) {
  .bsi-footer-grid { grid-template-columns: 1fr; }
  .bsi-footer-bottom { flex-direction: column; text-align: center; }
  .bsi-footer-bottom .bsi-f-legal a { margin-left: 0.6rem; }
}
/* ══ LISTING PAGE ══ */
.rab-page{background:#f4f7fa;min-height:60vh;padding:3rem 1.2rem 5rem;}
.rab-intro{max-width:860px;margin:0 auto 2.5rem;text-align:center;}
.rab-intro-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#0077B6;margin-bottom:.5rem;}
.rab-intro h2{font-family:Lobster,serif;font-size:clamp(1.8rem,4vw,2.6rem);color:#0d1b2a;line-height:1.2;margin-bottom:.9rem;font-weight:400;}
.rab-intro p{color:#5a6a7a;font-size:.95rem;line-height:1.8;max-width:640px;margin:0 auto;}
.rab-info-bar{max-width:900px;margin:0 auto 2.5rem;background:linear-gradient(135deg,#0d1b2a,#1a3a5c);border-radius:14px;padding:1.2rem 2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.rab-info-bar .bar-icon{font-size:2rem;flex-shrink:0;}
.rab-info-bar .bar-text{color:rgba(255,255,255,.85);font-size:.88rem;line-height:1.6;}
.rab-info-bar .bar-text strong{color:#00c9a7;}
.bar-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem;}
.bar-pill{background:rgba(0,201,167,.15);border:1px solid rgba(0,201,167,.3);color:#00c9a7;font-size:.72rem;font-weight:600;letter-spacing:.04em;border-radius:20px;padding:.2rem .7rem;}
.rab-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.8rem;}
.rab-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.rab-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.14);}
.rab-card-img{position:relative;overflow:hidden;height:220px;flex-shrink:0;}
.rab-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.rab-card:hover .rab-card-img img{transform:scale(1.05);}
.rab-card-badge{position:absolute;bottom:.7rem;left:.7rem;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);color:#fff;font-size:.7rem;font-weight:700;border-radius:20px;padding:.25rem .8rem;letter-spacing:.04em;}
.rab-card-body{padding:1.3rem 1.4rem 1.4rem;display:flex;flex-direction:column;flex:1;}
.rab-card-emoji{font-size:1.6rem;margin-bottom:.4rem;}
.rab-card-name{font-family:Lobster,serif;font-size:1.3rem;color:#0d1b2a;margin:0 0 .3rem;font-weight:400;line-height:1.2;}
.rab-card-sub{font-size:.82rem;color:#6b7b8d;margin-bottom:.8rem;}
.rab-card-price{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.6rem;flex-wrap:wrap;}
.rab-from{font-size:.76rem;color:#6b7b8d;font-weight:500;}
.rab-price-num{font-family:Lobster,serif;font-size:2rem;color:#0077B6;line-height:1;}
.rab-per{font-size:.74rem;color:#6b7b8d;}
.rab-card-includes{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:1rem;}
.rab-pill{background:#f0f7ff;border:1px solid #c8dff0;color:#0077B6;font-size:.68rem;font-weight:600;border-radius:20px;padding:.2rem .6rem;white-space:nowrap;}
.rab-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:auto;}
.rab-btn-more{text-align:center;padding:.65rem;border-radius:50px;border:2px solid #0077B6;color:#0077B6;text-decoration:none;font-weight:700;font-size:.83rem;transition:background .18s,color .18s;}
.rab-btn-more:hover{background:#0077B6;color:#fff;}
.rab-btn-book{text-align:center;padding:.65rem;border-radius:50px;background:linear-gradient(135deg,#ff6b6b,#ff9f43);color:#fff;text-decoration:none;font-weight:700;font-size:.83rem;box-shadow:0 4px 14px rgba(255,107,107,.35);transition:transform .18s;}
.rab-btn-book:hover{transform:translateY(-1px);color:#fff;}
@media(max-width:480px){.rab-card-actions{grid-template-columns:1fr;}}


/* ══════════════════════════════════════
   JET-SKI LISTING PAGE (jsk-*)
══════════════════════════════════════ */
/* ══════════════════════════════════
   LANGUAGE SWITCHER — drapeaux grands
══════════════════════════════════ */
#bsi-lang-bar {
  position: fixed; top: 0; right: 0; z-index: 9990;
  display: flex;
  background: rgba(0,0,0,0.70);
  backdrop-filter: blur(8px);
  border-bottom-left-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}
.bsi-lang-btn {
  background: none; border: none;
  border-left: 1px solid rgba(255,255,255,0.15);
  padding: 0.55rem 1.2rem;
  cursor: pointer;
  font-size: 1.8rem;
  line-height: 1;
  transition: background 0.18s, transform 0.15s;
  display: flex; align-items: center; justify-content: center;
  opacity: 0.75;
}
.bsi-lang-btn:first-child { border-left: none; }
.bsi-lang-btn:hover  { background: rgba(255,255,255,0.12); opacity: 1; transform: scale(1.1); }
.bsi-lang-btn.active { opacity: 1; background: rgba(255,255,255,0.08); }

/* ══════════════════════════════════
   MOBILE: cartes compactes
══════════════════════════════════ */
.bsi-card-inner { display: none; }  /* caché sur desktop */

@media (max-width: 600px) {
  .gallery-grid { display: block !important; }
  .grid-card {
    display: flex !important; flex-direction: row !important;
    align-items: stretch !important; background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.09) !important;
    margin-bottom: 0.75rem !important; overflow: hidden !important;
    padding: 0 !important; min-height: 0 !important;
  }
  .grid-card > h1,
  .grid-card > h4,
  .grid-card > p,
  .grid-card > .card-buttons { display: none !important; }
  .grid-card > a:first-of-type {
    flex-shrink: 0 !important; width: 95px !important; height: 95px !important;
    display: block !important; overflow: hidden !important;
  }
  .grid-card > a:first-of-type img {
    width: 95px !important; height: 95px !important;
    object-fit: cover !important; display: block !important;
  }
  .bsi-card-inner {
    flex: 1 !important; padding: 0.5rem 0.65rem !important;
    display: flex !important; flex-direction: column !important;
    justify-content: space-between !important; min-width: 0 !important;
  }
  .bsi-card-top { margin-bottom: 0.2rem; }
  .bsi-card-name { font-weight: 700 !important; font-size: 0.88rem !important; color: #1a2a3a !important; display: block !important; }
  .bsi-card-price { font-size: 0.76rem !important; color: #e07b00 !important; font-weight: 600 !important; }
  .bsi-card-desc {
    font-size: 0.74rem !important; color: #555 !important; line-height: 1.3 !important;
    margin: 0 0 0.3rem !important;
    display: -webkit-box !important; -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important; overflow: hidden !important;
  }
  .bsi-card-btns { display: flex !important; gap: 0.35rem !important; }
  .bsi-card-btns a {
    flex: 1 !important; text-align: center !important;
    padding: 0.3rem 0.4rem !important; font-size: 0.72rem !important;
    border-radius: 6px !important; text-decoration: none !important; font-weight: 600 !important;
  }
  .bsi-card-btns .card-btn-secondary { background:#f0f4f8 !important; color:#0077B6 !important; border:1px solid #c8d8e8 !important; }
  .bsi-card-btns .card-btn-primary   { background:linear-gradient(135deg,#ff6b6b,#ff9f43) !important; color:#fff !important; border:none !important; }
}

/* ══════════════════════════════════
   MODAL
══════════════════════════════════ */
#bsi-overlay {
  display: none; position: fixed; inset: 0; z-index: 99999;
  background: rgba(0,0,0,0.65); backdrop-filter: blur(4px);
  align-items: center; justify-content: center; padding: 1rem;
}
#bsi-overlay.open { display: flex; animation: bsiOvIn .22s ease; }
@keyframes bsiOvIn { from{opacity:0} to{opacity:1} }
#bsi-modal {
  background: #fff; border-radius: 18px; width: 100%; max-width: 520px;
  max-height: 94vh; overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.32);
  animation: bsiMdIn .3s cubic-bezier(.34,1.5,.64,1);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
@keyframes bsiMdIn {
  from { opacity:0; transform:translateY(24px) scale(.97); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
#bsi-modal-head {
  background: linear-gradient(135deg,#0077B6,#00B4D8 55%,#00c9a7);
  padding: 1.6rem 1.8rem 1.2rem; border-radius: 18px 18px 0 0; position: relative;
}
#bsi-modal-head h3 { margin: 0 2.5rem 0.2rem 0; font-size: 1.35rem; font-weight: 800; color: #fff; }
#bsi-modal-head p  { margin: 0; font-size: 0.84rem; color: rgba(255,255,255,.78); }
#bsi-close-btn {
  position: absolute; top: 1rem; right: 1rem;
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.2); border: none; color: #fff;
  font-size: 1rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .18s;
}
#bsi-close-btn:hover { background: rgba(255,255,255,.35); }
#bsi-modal-body { padding: 1.5rem 1.8rem; }
.bsi-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.bsi-field { display: flex; flex-direction: column; gap: .28rem; margin-bottom: .85rem; }
.bsi-label { font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #1a2a3a; }
.bsi-req   { color: #e74c3c; margin-left: 2px; }
.bsi-input, .bsi-select, .bsi-textarea {
  width: 100%; padding: .62rem .9rem; border: 1.5px solid #dde3ea; border-radius: 9px;
  font-family: inherit; font-size: .91rem; color: #1a2a3a; background: #f7f9fb;
  outline: none; box-sizing: border-box; -webkit-appearance: none; appearance: none;
  transition: border-color .18s, box-shadow .18s;
}
.bsi-input:focus,.bsi-select:focus,.bsi-textarea:focus {
  border-color: #0077B6; box-shadow: 0 0 0 3px rgba(0,119,182,.1); background: #fff;
}
.bsi-input.err,.bsi-select.err { border-color: #e74c3c; box-shadow: 0 0 0 3px rgba(231,76,60,.1); }
.bsi-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='6'%3E%3Cpath d='M1 1l4.5 4 4.5-4' stroke='%236b7b8d' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .85rem center; padding-right: 2.2rem;
}
.bsi-textarea { resize: vertical; min-height: 80px; }
.bsi-errmsg { font-size: .73rem; color: #e74c3c; display: none; }
.bsi-errmsg.show { display: block; }
#bsi-submit {
  width: 100%; margin-top: .2rem; padding: .88rem;
  background: linear-gradient(135deg,#ff6b6b,#ff9f43); color: #fff;
  border: none; border-radius: 50px; font-family: inherit;
  font-size: .95rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 5px 20px rgba(255,107,107,.35);
  transition: transform .18s, box-shadow .18s;
}
#bsi-submit:hover { transform: translateY(-2px); box-shadow: 0 9px 28px rgba(255,107,107,.45); }
#bsi-submit:disabled { opacity: .6; cursor: default; transform: none; }
.bsi-send-msg { text-align: center; font-size: .84rem; color: #0077B6; margin-top: .5rem; display: none; }
.bsi-send-msg.show { display: block; }
#bsi-err-toast {
  display: none; background: #ffeaea; border: 1px solid #e74c3c;
  color: #c0392b; border-radius: 8px; padding: .6rem 1rem;
  font-size: .84rem; margin-top: .5rem; text-align: center;
}
#bsi-err-toast.show { display: block; }
#bsi-success { display: none; text-align: center; padding: 2.2rem 1.8rem; }
#bsi-success.show { display: block; }
#bsi-success .ico { font-size: 3rem; margin-bottom: .8rem; }
#bsi-success h4 { font-size: 1.25rem; font-weight: 800; color: #1a2a3a; margin: 0 0 .4rem; }
#bsi-success p  { color: #6b7b8d; line-height: 1.6; margin: 0 0 1.2rem; font-size: .87rem; }
#bsi-ok-btn {
  background: #0077B6; color: #fff; border: none; padding: .62rem 1.8rem;
  border-radius: 50px; font-family: inherit; font-weight: 700; cursor: pointer;
}
#bsi-ok-btn:hover { background: #005f94; }
@media(max-width:480px){
  .bsi-row2 { grid-template-columns: 1fr; }
  #bsi-modal-body { padding: 1.2rem; }
}

/* ══════════════════════════════════
   FOOTER SEO OPTIMISÉ
══════════════════════════════════ */
.bsi-footer {
  background: #0d1b2a;
  color: #a8b8c8;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  padding: 3rem 1.5rem 1.5rem;
}
.bsi-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto 2.5rem;
}
.bsi-footer-logo img { width: 80px; height: auto; margin-bottom: 0.8rem; display: block; }
.bsi-footer-logo p   { font-size: 0.82rem; line-height: 1.6; color: #7a8fa0; margin: 0; }
.bsi-footer h4 {
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: #e0eaf0; margin: 0 0 0.9rem;
}
.bsi-footer address { font-style: normal; font-size: 0.83rem; line-height: 1.8; color: #8fa4b6; }
.bsi-footer address a { color: #8fa4b6; text-decoration: none; }
.bsi-footer address a:hover { color: #00d4aa; }
.bsi-footer-links { list-style: none; padding: 0; margin: 0; }
.bsi-footer-links li { margin-bottom: 0.45rem; }
.bsi-footer-links a { color: #8fa4b6; text-decoration: none; font-size: 0.83rem; transition: color 0.18s; }
.bsi-footer-links a:hover { color: #00d4aa; }
.bsi-footer-activities { list-style: none; padding: 0; margin: 0; }
.bsi-footer-activities li { margin-bottom: 0.35rem; }
.bsi-footer-activities a { color: #8fa4b6; text-decoration: none; font-size: 0.8rem; transition: color 0.18s; }
.bsi-footer-activities a:hover { color: #00d4aa; }
.bsi-footer-bottom {
  max-width: 1100px; margin: 0 auto;
  border-top: 1px solid rgba(255,255,255,0.07);
  padding-top: 1.2rem;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 0.5rem;
}
.bsi-footer-bottom p { font-size: 0.78rem; color: #5a7080; margin: 0; }
.bsi-footer-bottom .bsi-f-legal a { color: #5a7080; text-decoration: none; font-size: 0.78rem; margin-left: 1.2rem; }
.bsi-footer-bottom .bsi-f-legal a:hover { color: #00d4aa; }
@media(max-width: 768px) {
  .bsi-footer-grid { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media(max-width: 480px) {
  .bsi-footer-grid { grid-template-columns: 1fr; }
  .bsi-footer-bottom { flex-direction: column; text-align: center; }
  .bsi-footer-bottom .bsi-f-legal a { margin-left: 0.6rem; }
}

/* Hero subtitle */
.hero-subtitle {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.82);
  margin: -0.3rem 0 1.4rem;
  text-shadow: 0 1px 6px rgba(0,0,0,0.35);
}
@media(max-width:600px){
  .hero-subtitle { font-size: 0.82rem; letter-spacing: 0.05em; margin-bottom: 1rem; }
}

.jsk-hero-sub{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:1.05rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.82);margin:-.3rem 0 1.4rem;text-shadow:0 1px 6px rgba(0,0,0,.35);}
@media(max-width:600px){.jsk-hero-sub{font-size:.82rem;margin-bottom:1rem;}}
.jsk-page{background:#f4f7fa;min-height:60vh;padding:3rem 1.2rem 5rem;}
.jsk-intro{max-width:860px;margin:0 auto 2.5rem;text-align:center;}
.jsk-intro-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#0077B6;margin-bottom:.5rem;}
.jsk-intro h2{font-family:Lobster,serif;font-size:clamp(1.8rem,4vw,2.6rem);color:#0d1b2a;line-height:1.2;margin-bottom:.9rem;font-weight:400;}
.jsk-intro p{color:#5a6a7a;font-size:.95rem;line-height:1.8;max-width:640px;margin:0 auto;}
.jsk-yamaha-bar{max-width:860px;margin:0 auto 2.5rem;background:linear-gradient(135deg,#0d1b2a,#1a2a3a);border-radius:14px;padding:1.2rem 2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.jsk-yamaha-bar .yam-icon{font-size:2rem;flex-shrink:0;}
.jsk-yamaha-bar .yam-text{color:rgba(255,255,255,.85);font-size:.88rem;line-height:1.6;}
.jsk-yamaha-bar .yam-text strong{color:#00c9a7;}
.yam-pills{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem;}
.yam-pill{background:rgba(0,201,167,.15);border:1px solid rgba(0,201,167,.3);color:#00c9a7;font-size:.72rem;font-weight:600;letter-spacing:.04em;border-radius:20px;padding:.2rem .7rem;}
.jsk-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem;}
.jsk-card{background:#fff;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.07);overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.jsk-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.13);}
.jsk-card-img{position:relative;overflow:hidden;height:200px;flex-shrink:0;}
.jsk-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.jsk-card:hover .jsk-card-img img{transform:scale(1.05);}
.jsk-card-badge{position:absolute;bottom:.7rem;left:.7rem;background:rgba(0,0,0,.65);backdrop-filter:blur(4px);color:#fff;font-size:.7rem;font-weight:700;border-radius:20px;padding:.25rem .8rem;letter-spacing:.04em;}
.jsk-card-body{padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;flex:1;}
.jsk-card-emoji{font-size:1.5rem;margin-bottom:.35rem;}
.jsk-card-name{font-family:Lobster,serif;font-size:1.25rem;color:#0d1b2a;margin:0 0 .8rem;font-weight:400;line-height:1.2;}
.jsk-card-price{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.55rem;}
.jsk-from{font-size:.76rem;color:#6b7b8d;font-weight:500;}
.jsk-price-num{font-family:Lobster,serif;font-size:1.9rem;color:#0077B6;line-height:1;}
.jsk-per{font-size:.74rem;color:#6b7b8d;}
.jsk-card-includes{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.9rem;}
.jsk-pill{background:#f0f7ff;border:1px solid #c8dff0;color:#0077B6;font-size:.68rem;font-weight:600;border-radius:20px;padding:.2rem .6rem;white-space:nowrap;}
.jsk-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:auto;}
.jsk-btn-more{text-align:center;padding:.65rem;border-radius:50px;border:2px solid #0077B6;color:#0077B6;text-decoration:none;font-weight:700;font-size:.83rem;transition:background .18s,color .18s;}
.jsk-btn-more:hover{background:#0077B6;color:#fff;}
.jsk-btn-book{text-align:center;padding:.65rem;border-radius:50px;background:linear-gradient(135deg,#ff6b6b,#ff9f43);color:#fff;text-decoration:none;font-weight:700;font-size:.83rem;box-shadow:0 4px 14px rgba(255,107,107,.35);transition:transform .18s;}
.jsk-btn-book:hover{transform:translateY(-1px);color:#fff;}
.jsk-faq{background:#0d1b2a;padding:3.5rem 1.5rem;margin-top:4rem;}
.jsk-faq-inner{max-width:860px;margin:0 auto;}
.jsk-faq h3{font-family:Lobster,serif;font-size:clamp(1.5rem,3vw,2rem);color:#fff;margin-bottom:1.8rem;font-weight:400;}
.jsk-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;}
.jsk-faq-item{background:rgba(255,255,255,.05);border-radius:12px;padding:1.1rem 1.2rem;}
.jsk-faq-q{font-size:.87rem;font-weight:700;color:#00c9a7;margin-bottom:.35rem;}
.jsk-faq-a{font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.65;}
@media(max-width:600px){.jsk-faq-grid{grid-template-columns:1fr;}}
@media(max-width:480px){.jsk-card-actions{grid-template-columns:1fr;}}
