/* ═══════════════════════════════════════════════════
   B&B Potenza.it — Design System
   ═══════════════════════════════════════════════════ */
:root {
  --black:    #080808;
  --dark:     #101010;
  --dark2:    #181818;
  --dark3:    #202020;
  --dark4:    #282828;
  --gold:     #C9A84C;
  --gold-lt:  #E0C06A;
  --gold-dk:  #8A6E2A;
  --gold-dim: rgba(201,168,76,.12);
  --gold-bdr: rgba(201,168,76,.20);
  --white:    #FDFAF4;
  --cream:    #F0EAD8;
  --muted:    #888078;
  --muted2:   rgba(253,250,244,.5);
  --red:      #C0392B;
  --red-dk:   #922B21;
  --booking:  #003580;
  --booking2: #0045a4;
  --ease:     cubic-bezier(.22,.68,0,1.2);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

/* ─── Reset ─────────────────────────────────────── */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
img  { display:block; max-width:100%; }
a    { text-decoration:none; color:inherit; }
button { border:none; cursor:pointer; font-family:inherit; background:none; }
ul   { list-style:none; }
body {
  font-family: Outfit, sans-serif;
  font-weight: 300;
  background: var(--black);
  color: var(--white);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* ─── Utilities ──────────────────────────────────── */
.serif   { font-family: Cormorant, serif; }
.gold    { color: var(--gold); }
.muted   { color: var(--muted); }
.italic  { font-style: italic; }

.container { width:100%; max-width:1200px; margin:0 auto; padding:0 1.4rem; }

.section-label {
  display:block; font-size:.6rem; letter-spacing:.34em;
  text-transform:uppercase; color:var(--gold); margin-bottom:.5rem;
}
.section-title {
  font-family:Cormorant,serif;
  font-size:clamp(2rem,7vw,3.2rem);
  font-weight:600; line-height:1.06; margin-bottom:.5rem;
}
.section-title em { font-style:italic; color:var(--gold); }
.gold-rule {
  width:36px; height:1.5px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin:1rem 0 1.6rem;
}

/* ─── Animations ─────────────────────────────────── */
@keyframes fadeUp      { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn      { from{opacity:0} to{opacity:1} }
@keyframes heroScale   { from{transform:scale(1)} to{transform:scale(1.07) translate(-.5%)} }
@keyframes orbFloat    { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-18px) scale(1.04)} }
@keyframes scrollBounce{ 0%,100%{transform:translate(-50%) translateY(0)} 50%{transform:translate(-50%) translateY(6px)} }
@keyframes pulseRing   { 0%{box-shadow:0 0 #c9a84c80} 70%{box-shadow:0 0 0 14px transparent} 100%{box-shadow:0 0 transparent} }
@keyframes shimmer     { 0%{background-position:200% center} to{background-position:-200% center} }
@keyframes slideIn     { from{opacity:0;transform:translateX(-16px)} to{opacity:1;transform:translateX(0)} }
@keyframes spin        { to{transform:rotate(360deg)} }

.shimmer {
  background:linear-gradient(120deg,var(--gold) 20%,var(--gold-lt) 50%,var(--gold) 80%);
  background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; animation:shimmer 4s linear infinite;
}

/* ─── Scroll Reveal ──────────────────────────────── */
.reveal {
  opacity:0; transform:translateY(22px);
  transition:opacity .65s var(--ease-out), transform .65s var(--ease-out);
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-left {
  opacity:0; transform:translateX(-20px);
  transition:opacity .65s var(--ease-out), transform .65s var(--ease-out);
}
.reveal-left.visible { opacity:1; transform:translateX(0); }
.d1{transition-delay:.06s} .d2{transition-delay:.12s} .d3{transition-delay:.18s}
.d4{transition-delay:.24s} .d5{transition-delay:.30s} .d6{transition-delay:.36s}

/* ─── Cookie Banner ──────────────────────────────── */
#cookie-banner {
  position:fixed; bottom:0; left:0; right:0; z-index:9999;
  background:var(--dark2); border-top:1px solid var(--gold-bdr);
  padding:1rem 1.4rem; display:flex; flex-wrap:wrap;
  align-items:center; gap:.8rem; font-size:.78rem; color:var(--muted);
  transform:translateY(100%); transition:transform .4s var(--ease-out);
}
#cookie-banner.show { transform:translateY(0); }
#cookie-banner a { color:var(--gold); text-decoration:underline; }
.cookie-actions { display:flex; gap:.5rem; margin-left:auto; }
.cookie-btn {
  padding:.45rem 1rem; border-radius:20px; font-size:.74rem;
  font-weight:500; cursor:pointer; transition:opacity .2s;
}
.cookie-btn:hover { opacity:.85; }
.cookie-accept { background:var(--gold); color:var(--black); }
.cookie-reject { background:var(--dark4); color:var(--muted); border:1px solid var(--gold-bdr); }

/* ─── Sticky CTA ─────────────────────────────────── */
.sticky-cta {
  position:fixed; bottom:0; left:0; right:0; z-index:400;
  display:grid; grid-template-columns:1fr 1fr;
  box-shadow:0 -2px 28px rgba(0,0,0,.6);
  transition:transform .3s var(--ease-out);
}
.sticky-cta.hide { transform:translateY(100%); }
.sticky-cta a {
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  padding:1rem .5rem; font-size:.95rem; font-weight:500; color:#fff;
  letter-spacing:.02em; transition:filter .2s;
}
.sticky-cta a:active { filter:brightness(.85); }
.sticky-cta .s-call { background:var(--red); }
.sticky-cta .s-book { background:var(--booking); }

/* ─── Navbar ─────────────────────────────────────── */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:300;
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.4rem; transition:all .4s;
}
.navbar.scrolled {
  background:rgba(8,8,8,.94); backdrop-filter:blur(16px);
  padding:.65rem 1.4rem; box-shadow:0 1px 0 var(--gold-bdr);
}
.nav-logo { display:flex; align-items:center; gap:.75rem; }
.nav-logo img {
  width:38px; height:38px; border-radius:50%; object-fit:cover;
  border:1px solid var(--gold-bdr);
}
.nav-logo-name {
  font-family:Cormorant,serif; font-size:1.1rem;
  font-weight:700; letter-spacing:.04em;
}
.nav-logo-name span { color:var(--gold); }
.nav-right { display:flex; align-items:center; gap:.9rem; }
.nav-rating {
  font-size:.67rem; color:var(--gold); letter-spacing:.07em;
  background:var(--gold-dim); border:1px solid var(--gold-bdr);
  border-radius:20px; padding:.22rem .7rem; white-space:nowrap;
  display:none;
}
.nav-lang {
  display:flex; gap:.2rem; background:var(--dark3);
  border-radius:20px; padding:.18rem .28rem; border:1px solid var(--gold-bdr);
}
.nav-lang button {
  font-size:.67rem; font-weight:500; letter-spacing:.05em;
  padding:.18rem .52rem; border-radius:14px; color:var(--muted);
  transition:color .2s, background .2s;
}
.nav-lang button.active { background:var(--gold); color:var(--black); font-weight:600; }
.nav-links { display:none; gap:1.6rem; }
.nav-links a {
  font-size:.7rem; letter-spacing:.13em; text-transform:uppercase;
  color:rgba(255,255,255,.55); transition:color .2s;
}
.nav-links a:hover { color:var(--gold); }
.nav-book-btn {
  display:none; background:var(--booking); color:#fff;
  padding:.48rem 1.1rem; border-radius:6px; font-size:.72rem;
  font-weight:500; letter-spacing:.04em; transition:background .2s;
}
.nav-book-btn:hover { background:var(--booking2); }

/* ─── Hero ───────────────────────────────────────── */
.hero {
  min-height:100svh; position:relative;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:0 1.4rem 5rem; overflow:hidden;
}
.hero-slides { position:absolute; inset:0; }
.hero-slide {
  position:absolute; inset:0;
  background:center/cover no-repeat;
  opacity:0; transition:opacity 1.2s ease;
}
.hero-slide.active {
  opacity:1;
  animation:heroScale 20s ease-in-out infinite alternate;
}
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(8,8,8,.15) 0%,rgba(8,8,8,.88) 70%);
  z-index:1;
}
.hero-orb {
  position:absolute; top:10%; right:-15%;
  width:300px; height:300px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,.08),transparent 70%);
  animation:orbFloat 9s ease-in-out infinite; z-index:2; pointer-events:none;
}
.hero-badge {
  position:absolute; top:5.5rem; right:1.4rem; z-index:4;
  width:68px; height:68px; border-radius:50%;
  background:var(--gold); color:var(--black);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; font-size:.5rem; font-weight:700; letter-spacing:.05em;
  text-transform:uppercase; line-height:1.3;
  animation:pulseRing 2.8s ease-out infinite;
  box-shadow:0 4px 20px rgba(201,168,76,.4);
}
.hero-badge strong { font-size:1.15rem; display:block; line-height:1; }
.hero-content { position:relative; z-index:3; }
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:.35rem;
  background:var(--gold-dim); border:1px solid var(--gold-bdr);
  border-radius:20px; padding:.26rem .85rem;
  font-size:.67rem; color:var(--gold); letter-spacing:.1em;
  text-transform:uppercase; margin-bottom:.9rem;
}
.hero-title {
  font-family:Cormorant,serif;
  font-size:clamp(3rem,11vw,5.5rem);
  font-weight:700; line-height:.92; margin-bottom:.9rem;
}
.hero-sub {
  font-size:.9rem; color:rgba(255,255,255,.7);
  line-height:1.75; max-width:360px; margin-bottom:1.6rem;
}
.hero-chips { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.8rem; }
.hero-chip {
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14);
  border-radius:20px; padding:.26rem .75rem; font-size:.69rem;
  color:rgba(255,255,255,.85);
}
.hero-ctas { display:flex; gap:.75rem; }
.hero-cta-call {
  display:flex; align-items:center; gap:.45rem;
  background:var(--red); color:#fff; border-radius:8px;
  padding:.85rem 1.4rem; font-size:.9rem; font-weight:500;
  box-shadow:0 4px 20px rgba(192,57,43,.4);
  transition:background .2s, transform .15s;
}
.hero-cta-call:hover { background:#d44; transform:translateY(-1px); }
.hero-cta-book {
  display:flex; align-items:center; gap:.45rem;
  background:var(--booking); color:#fff; border-radius:8px;
  padding:.85rem 1.4rem; font-size:.9rem; font-weight:500;
  box-shadow:0 4px 20px rgba(0,53,128,.4);
  transition:background .2s, transform .15s;
}
.hero-cta-book:hover { background:var(--booking2); transform:translateY(-1px); }
.scroll-hint {
  position:absolute; bottom:1.8rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  opacity:.38; animation:scrollBounce 2.2s ease-in-out infinite; pointer-events:none; z-index:3;
}
.scroll-hint span { font-size:.56rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); }
.scroll-hint::after { content:""; width:1px; height:26px; background:linear-gradient(to bottom,var(--gold),transparent); }

/* ─── Photo Strip ────────────────────────────────── */
.photo-strip {
  display:grid; grid-template-columns:repeat(3,1fr); gap:3px;
}
.photo-strip-item { overflow:hidden; aspect-ratio:4/3; }
.photo-strip-item img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s ease;
}
.photo-strip-item:hover img { transform:scale(1.06); }

/* ─── About / Stats ──────────────────────────────── */
.about-section {
  background:var(--black);
  border-top:1px solid var(--gold-bdr);
  border-bottom:1px solid var(--gold-bdr);
  padding:4.5rem 1.4rem;
}
.about-logo-row {
  display:flex; align-items:center; gap:1.1rem; margin-bottom:1.3rem;
}
.about-logo-row img {
  width:72px; height:72px; border-radius:50%;
  object-fit:cover; border:2px solid rgba(201,168,76,.35);
}
.about-logo-name { font-family:Cormorant,serif; font-size:1.5rem; font-weight:700; }
.about-logo-sub { font-size:.68rem; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; margin-top:.08rem; }
.about-text { font-size:.9rem; color:rgba(255,255,255,.6); line-height:1.8; max-width:580px; margin-bottom:2rem; }
.stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.stat-card {
  background:var(--dark2); border:1px solid var(--gold-bdr);
  border-radius:10px; padding:1.1rem 1rem;
  display:flex; flex-direction:column; gap:.15rem;
}
.stat-val { font-family:Cormorant,serif; font-size:2.5rem; font-weight:700; color:var(--gold); line-height:1; }
.stat-label { font-size:.7rem; color:var(--muted); letter-spacing:.05em; text-transform:uppercase; }

/* ─── Strengths ──────────────────────────────────── */
.strengths-section { background:var(--dark2); padding:4.5rem 1.4rem; }
.str-list { display:flex; flex-direction:column; gap:.85rem; margin-top:1.3rem; }
.str-card {
  background:var(--dark3); border:1px solid var(--gold-bdr);
  border-left:2.5px solid var(--gold); border-radius:8px;
  padding:1.1rem 1rem; display:flex; align-items:flex-start; gap:.9rem;
  transition:background .3s, border-color .3s;
}
.str-card:hover { background:var(--dark4); border-color:rgba(201,168,76,.5); }
.str-icon { font-size:1.4rem; flex-shrink:0; margin-top:.05rem; }
.str-title { font-family:Cormorant,serif; font-size:1.05rem; font-weight:600; margin-bottom:.15rem; }
.str-desc { font-size:.79rem; color:var(--muted); line-height:1.6; }

/* ─── Rooms ──────────────────────────────────────── */
.rooms-section { background:var(--black); padding:4.5rem 1.4rem; }
.rooms-lead { font-size:.85rem; color:var(--muted); line-height:1.7; max-width:540px; margin-bottom:1.6rem; }
.rooms-grid { display:flex; flex-direction:column; gap:1.4rem; }
.room-card {
  background:var(--dark2); border:1px solid var(--gold-bdr);
  border-radius:12px; overflow:hidden;
  transition:border-color .35s, transform .35s;
}
.room-card:hover { border-color:rgba(201,168,76,.55); transform:translateY(-2px); }

/* Room carousel */
.room-carousel { position:relative; aspect-ratio:16/9; background:var(--dark3); overflow:hidden; }
.carousel-slides { display:flex; height:100%; transition:transform .5s var(--ease-out); }
.carousel-slide { flex-shrink:0; width:100%; height:100%; }
.carousel-slide img { width:100%; height:100%; object-fit:cover; }
.carousel-placeholder {
  width:100%; height:100%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:.5rem;
  color:var(--muted); text-align:center; padding:1rem;
}
.carousel-placeholder-icon { font-size:2.5rem; opacity:.18; }
.carousel-placeholder-text { font-size:.78rem; color:var(--muted); }
.carousel-placeholder-hint { font-size:.65rem; color:rgba(136,128,120,.6); }
.carousel-btn {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(8,8,8,.65); border:1px solid var(--gold-bdr);
  color:var(--gold); width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; transition:background .2s; z-index:2;
}
.carousel-btn:hover { background:rgba(201,168,76,.2); }
.carousel-prev { left:.65rem; }
.carousel-next { right:.65rem; }
.carousel-dots {
  position:absolute; bottom:.65rem; left:50%; transform:translateX(-50%);
  display:flex; gap:.4rem; z-index:2;
}
.carousel-dot {
  width:6px; height:6px; border-radius:50%;
  background:rgba(255,255,255,.3); transition:background .2s, transform .2s;
}
.carousel-dot.active { background:var(--gold); transform:scale(1.3); }
.carousel-count {
  position:absolute; top:.65rem; right:.75rem; z-index:2;
  background:rgba(8,8,8,.7); border-radius:20px; padding:.2rem .6rem;
  font-size:.65rem; color:rgba(255,255,255,.7);
}

.room-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:.9rem 1.1rem; border-bottom:1px solid var(--gold-bdr);
}
.room-letter-wrap { display:flex; align-items:baseline; gap:.5rem; }
.room-letter { font-family:Cormorant,serif; font-size:2.2rem; font-weight:700; line-height:1; }
.room-letter.a { color:var(--gold); }
.room-letter.b { color:#b0b0b0; }
.room-letter.c { color:#e0e0e0; }
.room-type { font-size:.62rem; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; }
.room-avail { font-size:.74rem; color:#5fba7d; font-weight:500; }
.room-body { padding:.9rem 1.1rem 1.1rem; }
.room-features { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin-bottom:1rem; }
.room-feat { display:flex; align-items:center; gap:.4rem; font-size:.76rem; color:rgba(255,255,255,.55); }
.room-feat-dot { width:4px; height:4px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.room-book-btn {
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  width:100%; background:var(--booking); color:#fff; border-radius:8px;
  padding:.8rem; font-size:.84rem; font-weight:500; letter-spacing:.03em;
  transition:background .2s, transform .15s;
}
.room-book-btn:hover { background:var(--booking2); transform:translateY(-1px); }

/* ─── Amenities ──────────────────────────────────── */
.amenities-section { background:var(--dark2); padding:4.5rem 1.4rem; }
.am-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; margin-top:1.3rem; }
.am-card {
  background:var(--dark3); border-radius:10px; padding:1rem;
  border:1px solid var(--gold-bdr); border-bottom:2px solid transparent;
  transition:border-color .3s, background .3s;
}
.am-card:hover { border-color:var(--gold); background:var(--dark4); }
.am-icon { font-size:1.5rem; margin-bottom:.45rem; }
.am-name { font-size:.85rem; font-weight:500; margin-bottom:.18rem; }
.am-desc { font-size:.73rem; color:var(--muted); line-height:1.5; }

/* ─── Map ────────────────────────────────────────── */
.map-section { background:var(--black); padding:4.5rem 0 0; }
.map-inner { padding:0 1.4rem; }
.map-link {
  display:inline-flex; align-items:center; gap:.4rem;
  color:var(--gold); font-size:.8rem; font-weight:500;
  margin-bottom:1.2rem; transition:opacity .2s;
}
.map-link:hover { opacity:.75; }
.map-frame { border-radius:10px; overflow:hidden; border:1px solid var(--gold-bdr); }
.map-frame iframe { width:100%; height:280px; border:none; display:block; }
.poi-grid { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; padding:1.2rem 1.4rem 4.5rem; }
.poi-chip {
  background:var(--dark2); border-radius:8px; padding:.75rem;
  border:1px solid var(--gold-bdr); transition:border-color .3s;
}
.poi-chip:hover { border-color:rgba(201,168,76,.45); }
.poi-top { display:flex; align-items:center; gap:.4rem; margin-bottom:.15rem; }
.poi-ico { font-size:.9rem; }
.poi-nm { font-size:.76rem; font-weight:500; }
.poi-dist { font-size:.68rem; color:var(--gold); font-weight:500; }

/* ─── Reviews ────────────────────────────────────── */
.reviews-section { background:var(--dark2); padding:4.5rem 1.4rem; border-top:1px solid var(--gold-bdr); }
.reviews-tabs {
  display:flex; gap:.5rem; margin-bottom:1.5rem;
}
.rev-tab {
  padding:.45rem 1.1rem; border-radius:20px; font-size:.74rem; font-weight:500;
  letter-spacing:.04em; border:1px solid var(--gold-bdr); color:var(--muted);
  transition:all .2s; cursor:pointer;
}
.rev-tab.active { background:var(--gold); color:var(--black); border-color:var(--gold); }

.rev-platform { display:none; }
.rev-platform.active { display:block; }

.rev-score-row {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.9rem;
  background:var(--dark3); border:1px solid var(--gold-bdr); border-radius:10px;
  padding:1rem 1.1rem; margin-bottom:1.5rem;
}
.rev-score-left { display:flex; align-items:center; gap:.9rem; }
.rev-score-num { font-family:Cormorant,serif; font-size:3rem; font-weight:700; color:var(--gold); line-height:1; }
.rev-stars { font-size:1rem; color:var(--gold); letter-spacing:.08em; }
.rev-platform-name { font-size:.7rem; color:var(--muted); margin-top:.1rem; }
.rev-score-badge {
  background:var(--gold); color:var(--black); border-radius:20px;
  padding:.4rem .9rem; font-size:.7rem; font-weight:700;
  transition:background .2s; white-space:nowrap;
}
.rev-score-badge:hover { background:var(--gold-lt); }
.rev-list { display:flex; flex-direction:column; gap:.9rem; }
.rev-card {
  background:var(--dark3); border-radius:10px; padding:1.1rem;
  border:1px solid var(--gold-bdr); border-left:2.5px solid var(--gold);
  transition:border-color .3s;
}
.rev-card:hover { border-color:rgba(201,168,76,.55); }
.rev-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:.15rem; }
.rev-author { font-size:.86rem; font-weight:500; }
.rev-stars-sm { font-size:.8rem; color:var(--gold); }
.rev-stars-sm.booking { color:#003580; }
.rev-date { font-size:.63rem; color:rgba(136,128,120,.7); margin-bottom:.5rem; }
.rev-text { font-size:.81rem; color:rgba(255,255,255,.6); line-height:1.67; font-style:italic; }
.rev-more {
  display:inline-flex; align-items:center; gap:.4rem;
  color:var(--gold); font-size:.78rem; border:1px solid var(--gold-bdr);
  border-radius:20px; padding:.5rem 1rem; margin-top:1.3rem;
  transition:border-color .25s;
}
.rev-more:hover { border-color:var(--gold); }

/* ─── Contact ────────────────────────────────────── */
.contact-section { background:var(--black); padding:4.5rem 1.4rem; border-top:1px solid var(--gold-bdr); }
.contact-lead { font-size:.88rem; color:var(--muted); line-height:1.7; max-width:440px; margin-bottom:1.5rem; }
.cta-pair { display:flex; flex-direction:column; gap:.75rem; margin-bottom:2rem; }
.btn-call-lg {
  display:flex; align-items:center; justify-content:center; gap:.55rem;
  background:var(--red); color:#fff; border-radius:10px; padding:1.05rem;
  font-size:1rem; font-weight:500; letter-spacing:.01em;
  box-shadow:0 4px 20px rgba(192,57,43,.35);
  transition:background .2s, transform .15s;
}
.btn-call-lg:hover { background:#d44; transform:translateY(-1px); }
.btn-book-lg {
  display:flex; align-items:center; justify-content:center; gap:.55rem;
  background:var(--booking); color:#fff; border-radius:10px; padding:1.05rem;
  font-size:1rem; font-weight:500; letter-spacing:.01em;
  box-shadow:0 4px 20px rgba(0,53,128,.3);
  transition:background .2s, transform .15s;
}
.btn-book-lg:hover { background:var(--booking2); transform:translateY(-1px); }
.contact-info { display:flex; flex-direction:column; gap:.9rem; }
.ci-row { display:flex; align-items:flex-start; gap:.75rem; font-size:.85rem; color:var(--muted); line-height:1.55; }
.ci-icon { font-size:.9rem; margin-top:.05rem; flex-shrink:0; color:var(--gold); }
.ci-row a { color:rgba(255,255,255,.75); transition:color .2s; }
.ci-row a:hover { color:var(--gold); }

/* ─── Footer ─────────────────────────────────────── */
footer {
  background:var(--dark2); border-top:1px solid var(--gold-bdr);
  padding:2.2rem 1.4rem 1.4rem; font-size:.7rem; color:rgba(255,255,255,.28);
  line-height:2;
}
.footer-top { display:flex; align-items:center; justify-content:center; gap:.75rem; margin-bottom:.6rem; }
.footer-top img { width:34px; height:34px; border-radius:50%; border:1px solid var(--gold-bdr); object-fit:cover; }
.footer-brand { font-family:Cormorant,serif; font-size:1.2rem; color:rgba(255,255,255,.5); }
.footer-brand span { color:var(--gold); }
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.3rem 1.1rem; margin-bottom:.5rem; }
.footer-links a { color:rgba(201,168,76,.55); transition:color .2s; }
.footer-links a:hover { color:var(--gold); }
.footer-legal { text-align:center; }

/* ─── Responsive ─────────────────────────────────── */
@media(min-width:768px) {
  body { padding-bottom:0; }
  .sticky-cta { display:none; }
  .navbar { padding:1.1rem 3rem; }
  .navbar.scrolled { padding:.7rem 3rem; }
  .nav-links { display:flex; }
  .nav-rating { display:block; }
  .nav-book-btn { display:block; }
  .hero { padding:0 3rem 5rem; }
  .hero-badge { right:3rem; }
  .photo-strip { grid-template-columns:repeat(6,1fr); }
  .about-section { padding:5.5rem 3rem; }
  .stats-grid { grid-template-columns:repeat(4,1fr); }
  .strengths-section { padding:5.5rem 3rem; }
  .str-list { flex-direction:row; flex-wrap:wrap; }
  .str-card { flex:1; min-width:240px; }
  .rooms-section { padding:5.5rem 3rem; }
  .rooms-grid { flex-direction:row; flex-wrap:wrap; }
  .room-card { flex:1; min-width:280px; }
  .amenities-section { padding:5.5rem 3rem; }
  .am-grid { grid-template-columns:repeat(3,1fr); }
  .map-section { padding:5.5rem 0 0; }
  .map-inner { padding:0 3rem; }
  .poi-grid { padding:1.2rem 3rem 5.5rem; grid-template-columns:repeat(4,1fr); }
  .map-frame iframe { height:380px; }
  .reviews-section, .contact-section { padding:5.5rem 3rem; }
  .cta-pair { flex-direction:row; }
  .btn-call-lg, .btn-book-lg { flex:1; }
  footer { padding:2.5rem 3rem 2rem; }
}
@media(min-width:1024px) {
  .rooms-grid { flex-wrap:nowrap; }
  .room-card { min-width:0; }
}
@media(max-width:380px) {
  .hero-title { font-size:2.8rem; }
  .hero-ctas { flex-direction:column; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .stat-val { font-size:2rem; }
}
