/* ============================================================
   Seven Lake View Hotel — design tokens
   ============================================================ */
:root{
  --cream:#faf7f1;
  --paper:#ffffff;
  --ink:#221d16;
  --muted:#6e6459;
  --gold:#F8AC39;
  --gold-deep:#7c551f;
  --gold-pale:#f4e9d8;
  --line:#e6dcc8;
  --charcoal:#1b1815;
  --charcoal-2:#252019;
  --serif:'Petrona',Georgia,'Times New Roman',serif;
  --sans:'Work Sans',Arial,Helvetica,sans-serif;
  --shadow-soft:0 18px 40px -24px rgba(34,29,22,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:#efece4;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden}
.site{container-type:inline-size;max-width:1440px;margin:0 auto;background:var(--cream);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
/* Short pages still fill the screen: main grows, the footer sits at the bottom */
.site>main{flex:1 0 auto}
img{max-width:100%;display:block}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:500;color:var(--ink)}
p{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
button:not(.button):not(.round):not(.menu-toggle){-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid var(--gold-deep);outline-offset:4px}
.skip{position:fixed;top:-100px;left:20px;background:#fff;padding:14px 18px;z-index:200;border-radius:4px}
.skip:focus{top:12px}

/* ============================================================
   Buttons
   ============================================================ */
.button{
  display:inline-block;
  background:linear-gradient(180deg,var(--gold),var(--gold-deep));
  border:1px solid var(--gold-deep);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
  color:#fff9ee;
  font-family:var(--sans);
  font-weight:600;
  font-size:1.3cqw;
  line-height:1.2;
  padding:1.05cqw 2.1cqw;
  border-radius:2px;
  text-align:center;
  white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease;
}
.button:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 10px 18px -10px rgba(124,85,31,.55)}
.button.outline{background:none;color:var(--gold-deep);box-shadow:none;border:1px solid #cdbb9d}
.button.outline:hover{background:var(--gold-pale)}
.button.small,.small-button{font-size:1.1cqw;padding:.85cqw 1.5cqw}
.text-link{position:relative;display:inline-block;color:var(--gold-deep);font-weight:600;font-size:1.5cqw}
.text-link::after,.experiences a::after,.breadcrumbs a::after{content:"";position:absolute;left:0;right:0;bottom:-.15em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.text-link:hover::after,.experiences a:hover::after,.breadcrumbs a:hover::after{transform:scaleX(1)}

/* ============================================================
   Header
   ============================================================ */
.header{height:76px;background:var(--charcoal);border-bottom:1px solid #362f26;position:sticky;top:0;z-index:50}
.header-inner{max-width:1440px;margin:0 auto;height:100%;display:flex;align-items:center;padding:0 3.1cqw;gap:3cqw}
.logo{flex-shrink:0;height:82%}
.logo img{height:100%;width:auto}
.header nav{display:flex;align-items:center;flex:1;gap:2.3cqw;font-size:1.28cqw;font-weight:500;white-space:nowrap;height:100%}
.header nav a{padding:.4cqw 0;position:relative;color:#fff;display:inline-flex;align-items:center;gap:.4em;height:100%;box-sizing:border-box}
.header nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.header nav a:hover::after,.header nav a.current::after{transform:scaleX(1)}
.header nav a:hover,.header nav a.current{color:#fff}
.nav-icon{display:block;width:1em;height:1em;flex-shrink:0}
.nav-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.header .button{font-size:1cqw;padding:.85cqw 1.5cqw;flex-shrink:0}
.header-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:.5em;background:none;border:1px solid var(--gold);color:var(--gold);box-shadow:none;border-radius:50%;font-weight:600;transition:background .2s ease,border-color .2s ease}
.header-whatsapp:hover{background:rgba(248,172,57,.18);border-color:var(--gold);color:var(--gold);box-shadow:none;transform:none}
.header .header-whatsapp{width:2.6cqw;height:2.6cqw;padding:0}
.header-whatsapp .wa-icon{width:1.3em;height:1.3em;fill:currentColor;flex-shrink:0}
.header-whatsapp .wa-text{display:none}
.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:26px;height:20px}
.menu-toggle span{display:block;height:2px;background:#e9e3d6;border-radius:2px;transition:transform .3s ease,opacity .3s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-overlay{display:none}
.nav-close{display:none}

/* ============================================================
   Hero
   ============================================================ */
.hero{display:grid;grid-template-columns:44% 56%;height:70vh;background:var(--cream)}
.hero-media{order:2;position:relative;overflow:hidden;height:100%}
.hero-photo{position:absolute;inset:0;width:100%;height:100%}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35) 0%,transparent 20%)}
.hero-copy{order:1;position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 3.6cqw;background-color:var(--cream);background-image:radial-gradient(rgba(124,85,31,.18) 1.4px,transparent 1.8px);background-size:22px 22px}
.hero-copy>*{position:relative;z-index:1}
.tagline{font-family:var(--serif);font-style:italic;font-size:1.9cqw;color:var(--gold-deep);margin-bottom:1.1cqw}
.hero h1{font-size:3.5cqw;line-height:1.08;letter-spacing:-.02em;white-space:nowrap}
.hero .intro{font-family:var(--sans);font-size:1.5cqw;line-height:1.6;color:var(--muted);margin:2.4cqw 0 2.7cqw;max-width:32cqw}
.hero-copy .button{font-size:1.35cqw}
.round{width:4.3cqw;height:4.3cqw;padding:0;border:1px solid var(--line);background:#fffefac9;border-radius:50%;font-size:1.6cqw;display:grid;place-items:center;color:var(--ink);backdrop-filter:blur(2px)}
.round:hover{background:#fff}
.hero-dots{position:absolute;bottom:2.6cqw;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.7cqw;z-index:2}
.hero-dots button{width:.65cqw;height:.65cqw;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.5);box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;transition:width .35s ease,background .35s ease,box-shadow .35s ease}
.hero-dots button:hover{background:rgba(255,255,255,.8)}
.hero-dots button[aria-current=true]{width:2.1cqw;background:linear-gradient(90deg,var(--gold),var(--gold-deep));box-shadow:0 2px 6px rgba(0,0,0,.4)}

/* ============================================================
   Experiences strip
   ============================================================ */
.experiences{background:var(--paper);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.experiences article{text-align:center;padding:4.6cqw 2.2cqw;background-image:radial-gradient(rgba(124,85,31,.14) 1.4px,transparent 1.8px);background-size:20px 20px}
.experiences article+article{border-left:1px solid var(--line)}
.icon{display:inline-block;width:4.7cqw;height:4.7cqw;color:var(--gold-deep)}
.icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.experiences .icon{background:var(--gold-pale);border-radius:50%;box-sizing:border-box;padding:1.3cqw}
.experiences h2{font-size:2.3cqw;margin:1.6cqw 0 .7cqw}
.experiences p{font-size:1.35cqw;color:var(--muted);line-height:1.4}
.experiences a{position:relative;display:inline-block;font-size:1.28cqw;color:var(--gold-deep);font-weight:600;margin-top:1.7cqw}

/* ============================================================
   Reservation bar
   ============================================================ */
.reservation{display:flex;align-items:end;flex-wrap:nowrap;gap:.9cqw;background:var(--gold-pale);border-bottom:1px solid #e3cfa8;padding:.7cqw 2.6cqw;position:sticky;top:76px;z-index:40}
.res-toggle{display:none}
.res-body{display:contents}
.res-select-wrap{position:relative;display:flex;flex-direction:column;gap:.3cqw;flex:0 0 auto}
.res-select-wrap label{font-size:.9cqw;color:var(--muted);font-weight:600;white-space:nowrap}
.res-select-wrap:after{content:"";position:absolute;right:.9cqw;bottom:.85cqw;width:.45cqw;height:.45cqw;border-right:2px solid #fff9ee;border-bottom:2px solid #fff9ee;transform:rotate(45deg);pointer-events:none}
.res-type-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;font-family:var(--sans);font-weight:700;font-size:.95cqw;color:#fff9ee;background:linear-gradient(180deg,var(--gold),var(--gold-deep));border:1px solid var(--gold-deep);border-radius:20px;padding:.55cqw 2.2cqw .55cqw 1.1cqw;white-space:nowrap;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.res-type-select option{color:var(--ink);background:var(--paper);font-weight:600}
.res-type-select:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.res-type-select:focus{outline:2px solid var(--gold-deep);outline-offset:2px}
.reservation-panel{display:none;align-items:end;flex-wrap:nowrap;gap:.8cqw;flex:1 1 auto;min-width:0;margin:0}
.reservation-panel.active{display:flex}
.res-field{display:flex;flex-direction:column;gap:.3cqw;flex:1 1 0;min-width:0}
.res-field label{font-size:.9cqw;color:var(--muted);font-weight:600;white-space:nowrap}
.res-field input,.res-field select{font-family:var(--sans);font-size:.95cqw;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:.5cqw .6cqw;width:100%;min-width:0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.res-field input:focus,.res-field select:focus{outline:none;border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(248,172,57,.2)}

.res-field:has(input[type="date"]),.res-field:has(input[type="time"]){cursor:pointer}
.res-field input[type="date"],.res-field input[type="time"]{cursor:pointer}
.res-field input[type="date"]:hover,.res-field input[type="time"]:hover{border-color:var(--gold);background:#fffdf8}
.res-field input[type="date"]::-webkit-calendar-picker-indicator,
.res-field input[type="time"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;padding:3px;margin-left:.3em;border-radius:4px;transition:opacity .2s ease,background .2s ease}
.res-field input[type="date"]:hover::-webkit-calendar-picker-indicator,
.res-field input[type="time"]:hover::-webkit-calendar-picker-indicator,
.res-field input[type="date"]:focus::-webkit-calendar-picker-indicator,
.res-field input[type="time"]:focus::-webkit-calendar-picker-indicator{opacity:1;background:var(--gold-pale)}
.reservation-panel .button{flex:0 0 auto;font-size:.95cqw;padding:.55cqw 1.1cqw;white-space:nowrap}
.res-captcha{flex:0 0 auto;width:6.5cqw}
.res-captcha label{white-space:normal;line-height:1.25}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* Toast — brief confirmation after a reservation form submits, no page reload */
.site-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(16px);z-index:999;background:var(--charcoal);color:#fff;font-family:var(--sans);font-size:14px;font-weight:600;padding:14px 24px;border-radius:8px;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.site-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.site-toast.error{background:#7a2a22}

/* ============================================================
   Shared section rhythm
   ============================================================ */
.section{margin-left:4.2cqw;margin-right:4.2cqw}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2cqw;margin-bottom:2.8cqw}
.section-heading h2{font-size:3.5cqw;margin-bottom:.8cqw}
.section-heading p{font-size:1.4cqw;color:var(--muted)}

/* About */
.about{display:grid;grid-template-columns:46% 1fr;gap:4.5cqw;padding:6.5cqw 0 6cqw;align-items:center}
.about-photo{aspect-ratio:4/3;border-radius:2px;overflow:hidden}
.about-photo img{width:100%;height:100%;object-fit:cover}
.about-copy .tagline{margin-bottom:1.2cqw}
.about-copy h2{font-size:3.5cqw;line-height:1.1}
.about-copy p{font-size:1.35cqw;line-height:1.6;color:var(--muted);margin:1.9cqw 0 2.2cqw;max-width:36cqw}

/* Rooms */
.rooms, #other-events{padding-bottom:5.5cqw}
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2cqw}
.room-card{border:1px solid var(--line);border-radius:.9cqw;overflow:hidden;background:var(--paper);box-shadow:0 10px 26px -18px rgba(34,29,22,.3);transition:box-shadow .2s ease,transform .2s ease}
.room-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-3px)}
.room-photo{display:block;aspect-ratio:106/78;overflow:hidden}
.room-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.room-card:hover .room-photo img{transform:scale(1.04)}
.room-info{padding:1.7cqw 1.5cqw 2cqw}
.room-info h3{font-size:2cqw;margin-bottom:.3cqw}
.room-category{font-size:1.2cqw;color:var(--gold-deep);font-weight:600;margin-bottom:.7cqw}
.room-description{font-size:1.22cqw;color:var(--muted);line-height:1.5;margin-bottom:1.6cqw}
.room-info .text-link{font-size:1.25cqw}

/* Restaurant band */
.restaurant{min-height:31cqw;background:var(--charcoal);position:relative;overflow:hidden;color:#f4efe6}
.restaurant-photo{position:absolute;width:54%;height:100%;right:0;top:0}
.restaurant-photo img{width:100%;height:100%;object-fit:cover}
.restaurant-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--charcoal) 0%,var(--charcoal) 38%,transparent 66%)}
.restaurant-copy{position:relative;padding:5cqw 4.5cqw;max-width:44cqw}
.restaurant-copy .tagline{color:#dcb877}
.restaurant h2{font-size:3.3cqw;line-height:1.08;color:#fff}
.restaurant-copy p{font-size:1.32cqw;line-height:1.6;color:#c9c1b4;margin:1.9cqw 0 2.4cqw}

/* Cuisines strip */
.cuisines{padding:6cqw 0 0}
.cuisines.cuisines-end{padding:0 0 6cqw}
.cuisine-carousel{position:relative}
.cuisine-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc(25% - 1.65cqw);gap:2.2cqw;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.3cqw}
.cuisine-track::-webkit-scrollbar{display:none}
.cuisine-card{scroll-snap-align:start;border-radius:1cqw;overflow:hidden;border:1px solid var(--line);background:var(--paper);box-shadow:0 10px 26px -18px rgba(34,29,22,.3);transition:box-shadow .2s ease,transform .2s ease}
.cuisine-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-3px)}
.cuisine-photo{position:relative;aspect-ratio:4/3.4;overflow:hidden;background:var(--gold-pale)}
.cuisine-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cuisine-card:hover .cuisine-photo img{transform:scale(1.05)}
.cuisine-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(155deg,var(--gold-pale),#e7cfa0);color:var(--gold-deep)}
.cuisine-name{display:block;padding:1.1cqw .8cqw;text-align:center;background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#2b1c08;font-weight:800;font-size:1.35cqw;letter-spacing:.03em;text-transform:uppercase}
.cuisine-arrow{position:absolute;top:38%;transform:translateY(-50%);background:var(--charcoal);border-color:var(--charcoal);color:var(--gold-pale);backdrop-filter:none;z-index:2}
.cuisine-arrow:hover{background:var(--gold-deep);border-color:var(--gold-deep)}
.cuisine-prev{left:-1.6cqw}
.cuisine-next{right:-1.6cqw}

/* Banquets */
.banquets{display:grid;grid-template-columns:42% 1fr;gap:3cqw;align-items:center;padding:5.6cqw 0}
.banquet-photo{aspect-ratio:181/128;border-radius:2px;overflow:hidden}
.banquet-photo img{width:100%;height:100%;object-fit:cover}
.banquets h2{font-size:2.9cqw;line-height:1.1}
.banquets-copy p{font-size:1.28cqw;line-height:1.65;color:var(--muted);margin:1.7cqw 0 2.1cqw;max-width:30cqw}

/* Benefits */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);background:var(--gold-pale);padding:2.4cqw 4.2cqw}
.benefits>div{display:flex;align-items:center;justify-content:center;gap:1.8cqw;min-height:7cqw}
.benefits>div+div{border-left:1px solid #e3cfa8}
.benefits .icon{width:3.6cqw;height:3.6cqw}
.benefits p{font-size:1.35cqw;line-height:1.4;color:#5b4f3f}

/* Testimonials */
.testimonials{position:relative;text-align:center;padding:4cqw 12cqw 4.2cqw;min-height:16cqw;background:var(--paper)}
.testimonials h2{font-size:2.6cqw;margin-bottom:1.8cqw}
.review q{font-family:var(--serif);font-size:1.6cqw;font-style:italic;line-height:1.55;color:#4a4438;quotes:none}
.review .review-author{display:block;font-family:var(--sans);font-size:1.15cqw;color:var(--muted);margin-top:1cqw}
.stars{display:block;font-size:1.3cqw;letter-spacing:.15cqw;color:var(--gold);margin-top:.8cqw}
.room-rating{display:block;font-size:1.05cqw;letter-spacing:.12cqw;color:#e0a300;margin:.4cqw 0 .6cqw}
.testimonials .round{position:absolute;top:50%;transform:translateY(-50%);width:3.4cqw;height:3.4cqw}
.review-prev{left:3.5cqw}
.review-next{right:3.5cqw}

/* ============================================================
   Footer
   ============================================================ */
footer{background:var(--charcoal);color:#e9e3d6;padding:1.8cqw 4.5cqw;text-align:center}
.rights{color:#8b8070;font-size:1.05cqw}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.4em 1.6em;margin:0 0 .6cqw;font-size:1.05cqw}
.footer-links a{color:#c9b995}
.footer-links a:hover{color:#e6cd9c}
.site-credit{color:#6f6558;font-size:.9cqw;margin:.5cqw 0 0;letter-spacing:.02em}
.site-credit a{color:#b3a283;text-decoration:none;border-bottom:1px solid rgba(179,162,131,.35)}
.site-credit a:hover{color:#e6cd9c;border-bottom-color:#e6cd9c}

/* 404 page */
.error-page{text-align:center;padding-top:6cqw;padding-bottom:7cqw}
.error-code{font-family:Petrona,Georgia,serif;font-size:10cqw;line-height:1;color:var(--gold-deep);opacity:.35;margin:0 0 1cqw}
.error-page h1{font-size:3.2cqw;margin-bottom:1.2cqw}
.error-page .intro-copy{margin:0 auto 2.6cqw}
.error-links{display:flex;justify-content:center;flex-wrap:wrap;gap:1cqw}

.scroll-top{position:fixed;right:24px;bottom:24px;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:var(--gold-deep);color:#fff9ee;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s;z-index:60}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.scroll-top:hover{background:var(--gold)}
.scroll-top svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================
   Inner pages — hero band
   ============================================================ */
.page-hero{min-height:11cqw;position:relative;display:grid;align-items:end;background:var(--charcoal);color:#fff;overflow:hidden}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,24,21,.88),rgba(27,24,21,.3))}
.page-hero-inner{position:relative;z-index:1;padding:1.8cqw 4.5cqw}
.breadcrumbs{font-size:1.1cqw;margin-bottom:1cqw;color:#e6cd9c}
.breadcrumbs a{position:relative;display:inline-block;color:#e6cd9c}
.breadcrumbs .sep{opacity:.6;margin:0 .3em}
.page-hero h1{font-size:3.6cqw;color:#fff}

.page-wrap{padding:4.2cqw 4.5cqw}
.intro-copy{max-width:60cqw;color:var(--muted);font-size:1.4cqw;line-height:1.65;margin:0 0 3cqw}
.listing+.intro-copy{margin:2.6cqw 0 0}

/* Listing (rooms.php) */
.listing{display:grid;gap:2.4cqw}
.listing-card{display:grid;grid-template-columns:34% 1fr;gap:2.4cqw;border-bottom:1px solid var(--line);padding-bottom:2.4cqw}
.listing-card img{width:100%;height:17cqw;object-fit:cover;border-radius:2px}
.listing-card h2{font-size:2.2cqw;margin-bottom:.5cqw}
.listing-card h2 small{font-family:var(--sans);font-size:.55em;color:var(--gold-deep);font-weight:600}
.listing-card>div>p{font-size:1.3cqw;line-height:1.6;color:var(--muted);max-width:48cqw}

/* Pagination (rooms.php, events.php) */
.pagination{display:flex;align-items:center;justify-content:center;gap:.6cqw;margin-top:3cqw}
.pagination-num,.pagination-arrow{display:grid;place-items:center;width:2.6cqw;height:2.6cqw;min-width:34px;min-height:34px;border-radius:50%;border:1px solid var(--line);color:var(--ink);font-family:var(--sans);font-weight:600;font-size:1.1cqw;transition:border-color .2s ease,background .2s ease,color .2s ease}
.pagination-num:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.pagination-num.active{background:linear-gradient(180deg,var(--gold),var(--gold-deep));border-color:var(--gold-deep);color:#fff9ee;cursor:default}
.pagination-arrow{color:var(--gold-deep)}
.pagination-arrow svg{width:.7cqw;height:1.1cqw;min-width:9px;min-height:15px;stroke:currentColor;fill:none}
.pagination-arrow:hover{border-color:var(--gold-deep);background:var(--gold-pale)}
.pagination-arrow.disabled{opacity:.35;pointer-events:none}
.event-date{font-family:var(--sans);font-size:1.15cqw;color:var(--gold-deep);font-weight:600;margin-bottom:.5cqw}
.room-rates{display:flex;flex-wrap:wrap;gap:1.6cqw;margin:1cqw 0}
.room-rate{background:var(--gold-pale);border-radius:4px;padding:.8cqw 1.3cqw;font-size:1.2cqw;color:var(--ink)}
.room-rate b{display:block;font-size:.85cqw;font-weight:600;color:var(--gold-deep);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2cqw}
.room-rate small{color:var(--muted);font-weight:400}
.facts{display:flex;flex-wrap:wrap;gap:1.6cqw;margin:1.4cqw 0;color:var(--gold-deep);font-size:1.1cqw;font-weight:600}
.facts span{display:inline-flex;align-items:center;gap:.5em}
.fact-icon{display:block;width:1.3em;height:1.3em;flex-shrink:0}
.fact-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Detail grid (banquet-package.php) */
.detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(20cqw,1fr);gap:3cqw;align-items:start}
.detail-main>img{width:100%;height:26cqw;object-fit:cover;border-radius:2px}
.detail-main h1{font-size:3cqw;margin:2.2cqw 0 1cqw}
.detail-main .price{font-family:var(--sans);color:var(--gold-deep);font-weight:600;font-size:1.5cqw;margin-bottom:1cqw}
.detail-main>p{font-size:1.32cqw;line-height:1.7;color:var(--muted);max-width:52cqw}
.detail-main h2{font-size:1.9cqw;margin:2.6cqw 0 1.2cqw}
.sidebar{background:var(--gold-pale);padding:2.2cqw;border-top:3px solid var(--gold-deep);position:sticky;top:190px}
.sidebar h2{font-size:1.9cqw;margin-bottom:1cqw}
.sidebar p{font-size:1.18cqw;margin:.7cqw 0 1.6cqw;color:#63583f;line-height:1.55}
.sidebar .button{width:100%}

/* Full-width detail layout (room.php) — no sidebar */
.detail-full .detail-main>p{max-width:none}
.detail-title-row{display:flex;align-items:center;justify-content:flex-start;gap:1.2cqw;flex-wrap:wrap;margin:2.2cqw 0 1cqw}
.detail-title-row h1{margin:0}
.share-btn{display:inline-flex;align-items:center;gap:.5cqw;flex-shrink:0;font-family:var(--sans);font-weight:600;font-size:1.05cqw;color:var(--gold-deep);background:none;border:1px solid #cdbb9d;border-radius:20px;padding:.6cqw 1.3cqw;cursor:pointer;transition:background .2s ease,border-color .2s ease}
.share-btn:hover{background:var(--gold-pale)}
.share-btn .fact-icon{width:1.2em;height:1.2em}
.share-btn.copied{color:#2f7d4f;border-color:#2f7d4f}
.detail-band{margin:2.2cqw -4.5cqw .9cqw;padding:.7cqw 4.5cqw;background:var(--gold-pale);border-top:1px solid #e3cfa8;border-bottom:1px solid #e3cfa8}
.detail-band h2{margin:0}

/* Room photo slider (room.php) — vertical thumb rail + viewport-fit main image on desktop */
.room-slider{display:flex;gap:1cqw;margin-bottom:2.2cqw}
.room-slider-main{position:relative;flex:1;min-width:0;border-radius:2px;overflow:hidden;height:calc(100svh - 140px);min-height:320px;max-height:900px;background:#e7ddca}
.room-slider-main img{width:100%;height:100%;object-fit:cover}
.room-slider-dots{position:absolute;bottom:1.4cqw;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.6cqw;z-index:2}
.room-slider-dots button{width:.65cqw;height:.65cqw;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.5);box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:pointer;transition:width .35s ease,background .35s ease,box-shadow .35s ease}
.room-slider-dots button:hover{background:rgba(255,255,255,.8)}
.room-slider-dots button[aria-current=true]{width:2cqw;background:linear-gradient(90deg,var(--gold),var(--gold-deep));box-shadow:0 2px 6px rgba(0,0,0,.4)}
.room-slider-thumbs{display:flex;flex-direction:column;flex-shrink:0;gap:.8cqw;width:7cqw;max-height:calc(100svh - 140px);overflow-y:auto;padding-right:.2cqw}
.thumb{flex-shrink:0;border-radius:2px;overflow:hidden;aspect-ratio:4/3;border:2px solid transparent;opacity:.65;transition:opacity .2s ease,border-color .2s ease}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb:hover{opacity:.9}
.thumb.active{opacity:1;border-color:var(--gold-deep)}

/* Horizontal accordion (room.php) */
.h-accordion{margin-bottom:1cqw}
.h-accordion-tabs{display:flex;flex-wrap:wrap;gap:.6cqw;border-bottom:1px solid var(--line);padding-bottom:1.1cqw;margin-bottom:1.4cqw}
.h-tab{font-size:1.15cqw;padding:.65cqw 1.3cqw;border:1px solid var(--line);border-radius:20px;color:var(--muted);background:var(--paper);white-space:nowrap;display:inline-flex;align-items:center;gap:.5em}

.h-tab:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.h-tab.active{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff9ee}
.h-tab-select{display:none}
.h-panel{display:none}
.h-panel.active{display:block}
.h-panel h3{display:none}
.check-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.7cqw 1.6cqw}
.check-list li{font-size:1.2cqw;line-height:1.5;color:var(--muted);display:flex;gap:.6em}
.check-list li:before{content:"—";flex-shrink:0;color:var(--gold-deep)}

/* Event types (catering.php) */
.event-types-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3cqw}
.event-type-col h3{display:flex;align-items:center;gap:1cqw;font-family:var(--serif);font-weight:500;font-size:1.5cqw;color:var(--gold-deep);margin-bottom:1.3cqw}
.event-type-col h3:after{content:"";flex:1;height:1px;background:var(--line)}
.event-type-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9cqw}
.event-type-col li{display:flex;align-items:center;gap:.8cqw;font-size:1.15cqw;color:var(--ink);font-weight:600}
.event-type-mark{flex-shrink:0;display:grid;place-items:center;width:1.9cqw;height:1.9cqw;border-radius:50%;background:var(--gold-pale);color:var(--gold-deep)}
.event-type-mark svg{width:.75cqw;height:.6cqw;min-width:10px;min-height:8px}

/* Two-column (about.php, restaurant.php intro) */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3.5cqw;align-items:center}
.two-col img{width:100%;height:22cqw;object-fit:cover;border-radius:2px}
.two-col img.photo-natural{height:auto;max-height:34cqw;object-fit:contain;background:var(--charcoal)}
.two-col h2{font-size:2.7cqw;margin-bottom:1.1cqw}
.two-col p{font-size:1.32cqw;line-height:1.65;color:var(--muted);margin-bottom:1.1cqw}

/* Menu */
.menu-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1.4cqw;margin-bottom:2cqw;padding:1.2cqw 1.6cqw;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.menu-filter-field{display:flex;flex-direction:column;gap:.5cqw}
.menu-filter-field label{font-size:.9cqw;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.menu-filter-select{font-size:1.15cqw;padding:.7cqw 2.4cqw .7cqw 1.1cqw;border:1px solid var(--line);border-radius:8px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5 7 7.5 13 1.5' fill='none' stroke='%237c551f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1cqw center/12px 8px;color:var(--ink);min-width:15cqw;-webkit-appearance:none;appearance:none;cursor:pointer}
.menu-filter-select:hover{border-color:var(--gold-deep)}
.menu-filter-reset{display:inline-flex;align-items:center;gap:.5em;font-size:1.05cqw;font-weight:600;padding:.7cqw 1.3cqw;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);cursor:pointer}
.menu-filter-reset svg{width:1.1em;height:1.1em;flex-shrink:0}
.menu-filter-reset:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.menu-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:0 3cqw}
.menu-group{margin-bottom:2.4cqw}
.menu-group.is-hidden{display:none}
.menu-group h2{font-size:2cqw;border-bottom:2px solid var(--gold-deep);padding-bottom:.9cqw;margin-bottom:.3cqw}
.dish{display:flex;justify-content:space-between;gap:1cqw;padding:1cqw 0;border-bottom:1px solid var(--line);font-size:1.25cqw}
.dish b{color:var(--gold-deep)}
.dish>span{display:inline-flex;align-items:center;gap:.6em}

.diet-mark{display:inline-block;flex-shrink:0;width:.9em;height:.9em;border:.1em solid;border-radius:2px;position:relative}
.diet-mark:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.diet-veg{border-color:#2e7d32}
.diet-veg:before{width:.4em;height:.4em;border-radius:50%;background:#2e7d32}
.diet-nonveg{border-color:#8b1e1e}
.diet-nonveg:before{width:0;height:0;border-left:.28em solid transparent;border-right:.28em solid transparent;border-bottom:.48em solid #8b1e1e;top:56%}
.diet-egg{border-color:#c9962b}
.diet-egg:before{width:.42em;height:.56em;border-radius:50%;background:#c9962b}
.notice{padding:1.4cqw 1.6cqw;background:var(--gold-pale);border-left:3px solid var(--gold-deep);font-size:1.2cqw;line-height:1.55;color:#5b5136;margin-bottom:2cqw}

/* Food gallery (restaurant.php) */
.food-gallery{padding-top:1cqw}
.food-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw}
.food-card{border-radius:4px;overflow:hidden;background:var(--paper);border:1px solid var(--line);transition:box-shadow .2s ease,transform .2s ease}
.food-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-3px)}
.food-card-photo{aspect-ratio:4/3;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold-pale),#e7cf9c)}
.food-card:nth-child(4n+2) .food-card-photo{background:linear-gradient(135deg,#f0e2c4,var(--gold-pale))}
.food-card:nth-child(4n+3) .food-card-photo{background:linear-gradient(135deg,#e9d9b3,#f6ecd6)}
.food-card:nth-child(4n+4) .food-card-photo{background:linear-gradient(135deg,var(--gold-pale),#ecdcae)}
.food-card-photo i{display:block;width:2.6cqw;height:2.6cqw;color:var(--gold-deep);opacity:.55}
.food-card-photo img{width:100%;height:100%;object-fit:cover}
.food-card-photo svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.food-card-info{display:flex;align-items:center;justify-content:space-between;gap:.6cqw;padding:1cqw 1.1cqw}
.food-card-info span{display:inline-flex;align-items:center;gap:.5em;font-weight:600;font-size:1.05cqw;color:var(--ink)}
.food-card-info small{font-size:.9cqw;color:var(--muted);white-space:nowrap}

/* Banquet packages */
.menu-options{display:grid;grid-template-columns:1fr 1fr;gap:1.6cqw;margin-bottom:1cqw}
.menu-option{border:1px solid var(--line);border-radius:2px;padding:1.4cqw}
.menu-option h4{font-size:1.3cqw;margin-bottom:.4cqw}
.menu-option .price{font-size:1.5cqw;color:var(--gold-deep);font-weight:600;margin-bottom:1cqw}
.menu-option .price span{font-size:1cqw;color:var(--muted);font-weight:400}

/* Gallery — letterboxed thumbnails (whole image visible, no cropping) */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2cqw}
.gallery-grid a{overflow:hidden;border-radius:4px;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--paper);border:1px solid var(--line);cursor:zoom-in;transition:box-shadow .25s ease,border-color .25s ease}
.gallery-grid img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .4s ease}
.gallery-grid a:hover{box-shadow:var(--shadow-soft);border-color:var(--gold)}
.gallery-grid a:hover img{transform:scale(1.04)}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(12,9,5,.94);z-index:300;display:none;align-items:center;justify-content:center;flex-direction:column;padding:4cqw}
.lightbox.open{display:flex}
.lightbox-stage{max-width:90vw;max-height:76vh;display:flex;align-items:center;justify-content:center}
.lightbox-img{max-width:90vw;max-height:76vh;width:auto;height:auto;object-fit:contain;border-radius:2px;box-shadow:0 20px 60px rgba(0,0,0,.55);opacity:0;transform:scale(.97);transition:opacity .22s ease,transform .22s ease}
.lightbox-img.show{opacity:1;transform:scale(1)}
.lightbox-caption{color:#f0e9d8;margin-top:1.4cqw;font-size:1.1cqw;text-align:center;max-width:80vw}
.lightbox-count{position:absolute;top:24px;left:24px;color:#cfc7b0;font-size:13px;letter-spacing:.04em}
.lightbox-close{position:absolute;top:16px;right:20px;background:none;border:none;color:#fff;font-size:34px;line-height:1;cursor:pointer;width:44px;height:44px;border-radius:50%;transition:background .2s ease}
.lightbox-close:hover{background:rgba(255,255,255,.12)}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:none;color:#fff;font-size:26px;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}
.lightbox-prev:hover,.lightbox-next:hover{background:rgba(255,255,255,.25)}
.lightbox-prev{left:14px}
.lightbox-next{right:14px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3cqw}
.contact-card{background:var(--paper);border:1px solid var(--line);padding:2.4cqw}
.contact-card h2{font-size:2cqw;margin-bottom:1.2cqw}
.contact-card p{font-size:1.3cqw;line-height:1.7;color:var(--muted);margin-bottom:.6cqw}
.contact-card strong{color:var(--ink)}
.contact-card .button{margin-top:1.4cqw}
.map-embed{margin-top:2.2cqw;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.map-embed iframe{width:100%;height:22cqw;border:0;display:block}

/* Legal pages */
.legal-copy{max-width:56cqw;font-size:1.3cqw;line-height:1.7;color:var(--muted)}
.legal-copy h2{font-size:1.8cqw;color:var(--ink);margin:2cqw 0 1cqw}
.legal-copy p{margin-bottom:1.2cqw}
.legal-copy h3{font-size:1.45cqw;color:var(--ink);margin:1.6cqw 0 .8cqw}
.legal-copy ul{margin:0 0 1.2cqw;padding-left:1.4em}
.legal-copy li{margin-bottom:.4cqw}
.legal-copy strong{color:var(--ink)}

/* ============================================================
   Mobile
   ============================================================ */
@media(max-width:1024px){
  .header-whatsapp{margin-left:auto;border-radius:20px}
  .header .header-whatsapp{width:auto;height:auto;padding:12px 18px}
  .header-whatsapp .wa-text{display:inline}
  .menu-toggle{display:flex;order:3}

  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:70;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
  .nav-overlay.open{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s linear 0s}

  .header nav{position:fixed;top:0;right:0;bottom:0;height:auto;width:78vw;max-width:320px;background:var(--charcoal);z-index:80;padding:90px 26px 32px;font-size:17px;box-shadow:-14px 0 34px rgba(0,0,0,.4);display:flex;flex-direction:column;align-items:stretch;gap:6px;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .35s ease,visibility 0s linear .35s}
  .header nav.open{transform:translateX(0);visibility:visible;transition:transform .35s ease,visibility 0s linear 0s}
  .header nav a{padding:12px 0;border-bottom:1px solid #362f26;height:auto}
  .header nav a::after{display:none}

  .nav-close{display:block;position:absolute;top:20px;right:20px;width:34px;height:34px;border:1px solid #4a4136;border-radius:50%;background:none;color:#e9e3d6;font-size:22px;line-height:1;cursor:pointer}
  .nav-close:hover{border-color:var(--gold);color:var(--gold)}

  body.nav-open{overflow:hidden}
}

@media(max-width:760px){
  html{scroll-padding-top:76px}
  body{background:var(--cream)}
  .site{margin:0}
  .header{height:60px}
  .header-inner{padding:0 18px;gap:12px}
  .logo{height:44px}
  .header .whatsapp{margin-left:auto;font-size:10px;padding:8px 11px}

  .button{font-size:13px;padding:12px 18px}
  .button.small,.small-button{font-size:12px;padding:9px 14px}
  .text-link{font-size:14px}

  .hero{height:auto;display:flex;flex-direction:column}
  .hero-media{order:0;display:block;position:relative;height:300px;flex-shrink:0}
  .hero-photo{position:absolute;inset:0;width:100%;height:100%}
  .hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,24,21,.15) 0%,rgba(27,24,21,0) 40%,var(--cream) 100%)}
  .hero-copy{order:0;position:relative;display:block;height:auto;text-align:left;padding:24px 22px 28px;max-width:none;background-color:var(--cream);background-size:18px 18px}
  .hero h1{white-space:normal}
  .tagline{font-size:17px;margin-bottom:8px}
  .hero-copy .tagline{color:var(--gold-deep)}
  .hero h1{font-size:38px;color:var(--ink)}
  .hero .intro{font-size:15px;max-width:none;margin:16px 0 20px;color:var(--muted)}
  .hero-copy .button{font-size:13px;padding:12px 20px}
  .round{width:36px;height:36px;font-size:18px}
  .hero-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);gap:8px}
  .hero-dots button{width:7px;height:7px}
  .hero-dots button[aria-current=true]{width:22px}

  .experiences{grid-template-columns:1fr}
  .experiences article{padding:26px 20px;background-size:16px 16px}
  .experiences article+article{border-left:0;border-top:1px solid var(--line)}
  .icon{width:34px;height:34px}
  .experiences .icon{padding:9px}
  .experiences h2{font-size:22px}
  .experiences p{font-size:13px}
  .experiences a{font-size:12px}


  .section{margin-left:20px;margin-right:20px}
  .section-heading{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:22px}
  .section-heading h2{font-size:28px}
  .section-heading p{font-size:13px}

  .about{grid-template-columns:1fr;gap:22px;padding:32px 0 8px}
  .about-photo{aspect-ratio:4/3}
  .about-copy h2{font-size:28px}
  .about-copy p{font-size:14px;max-width:none}

  .room-grid{grid-template-columns:1fr;gap:20px}
  .room-card{border-radius:10px}
  .rooms, #other-events{padding-bottom:36px}
  .room-info h3{font-size:22px}
  .room-category{font-size:13px}
  .room-description{font-size:13px}
  .room-info .text-link{font-size:13px}

  .restaurant{min-height:0}
  .restaurant-photo{position:relative;width:100%;height:220px}
  .restaurant-shade{background:linear-gradient(0deg,var(--charcoal) 25%,rgba(27,24,21,.1) 100%)}
  .restaurant-copy{padding:28px 22px;max-width:none}
  .restaurant h2{font-size:26px}
  .restaurant-copy p{font-size:14px}

  .cuisines{padding:32px 0 0}
  .cuisines.cuisines-end{padding:0 0 32px}
  .cuisine-track{grid-auto-columns:74%;gap:14px}
  .cuisine-card{border-radius:10px}
  .cuisine-photo{aspect-ratio:4/3.2}
  .cuisine-name{font-size:15px;padding:12px 10px}
  .cuisine-prev{left:6px}
  .cuisine-next{right:6px}

  .banquets{grid-template-columns:1fr;gap:20px;padding:32px 0}
  .banquets h2{font-size:24px}
  .banquets-copy p{font-size:14px;max-width:none}

  .benefits{grid-template-columns:1fr;padding:6px 20px}
  .benefits>div{flex-direction:column;text-align:center;gap:10px;padding:18px 0}
  .benefits>div+div{border-left:0;border-top:1px solid #e3cfa8}
  .benefits .icon{width:28px;height:28px}
  .benefits p{font-size:13px}

  .testimonials{padding:32px 24px;min-height:0}
  .testimonials h2{font-size:22px}
  .review q{font-size:15px}
  .review .review-author{font-size:12px}
  .stars{font-size:16px}
  .room-rating{font-size:13px}
  .testimonials .round{position:static;transform:none;margin:18px 10px 0;display:inline-flex}

  footer{padding:20px 22px}
  .rights{font-size:12px}
  .footer-links{font-size:12px;margin-bottom:8px}
  .site-credit{font-size:11px;margin-top:6px}

  .error-page{padding-top:40px;padding-bottom:48px}
  .error-code{font-size:84px;margin-bottom:8px}
  .error-page h1{font-size:28px;margin-bottom:10px}
  .error-links{gap:10px}

  .scroll-top{right:16px;bottom:16px;width:42px;height:42px}
  .scroll-top svg{width:19px;height:19px}

  .page-hero{min-height:130px}
  .page-hero-inner{padding:14px 20px}
  .page-wrap{padding:26px 20px}
  .breadcrumbs{font-size:11px}
  .page-hero h1{font-size:30px}
  .intro-copy{font-size:14px;max-width:none;margin-bottom:24px}
  .listing+.intro-copy{margin:24px 0 0}

  .listing-card{grid-template-columns:1fr;gap:14px;padding-bottom:24px}
  .listing-card img{height:200px}
  .listing-card h2{font-size:24px}
  .listing-card>div>p{font-size:14px;max-width:none}
  .event-date{font-size:13px}
  .room-rates{gap:10px}
  .room-rate{padding:10px 14px;font-size:14px}
  .room-rate b{font-size:11px}
  .facts{font-size:12px;gap:10px}

  .detail-grid{grid-template-columns:1fr;gap:24px}
  .detail-main>img{height:220px}
  .detail-main h1{font-size:26px;margin:0}
  .detail-title-row{margin:18px 0 8px;gap:10px}
  .share-btn{font-size:13px;padding:8px 14px}
  .detail-main>p{font-size:14px;max-width:none}
  .detail-main .price{font-size:16px}
  .detail-main h2{font-size:20px}
  .sidebar{padding:20px;position:static}
  .sidebar h2{font-size:22px}
  .sidebar p{font-size:14px}

  .detail-band{margin:20px -20px 10px;padding:10px 20px}

  .room-slider{flex-direction:column}
  .room-slider-main{height:60vh;min-height:240px;max-height:none;order:1}
  .room-slider-thumbs{flex-direction:row;width:auto;max-height:none;overflow-x:auto;overflow-y:visible;order:2;margin-top:8px}
  .thumb{width:76px}
  .room-slider-dots{bottom:12px;gap:8px}
  .room-slider-dots button{width:7px;height:7px}
  .room-slider-dots button[aria-current=true]{width:20px}

  .h-accordion-tabs{display:none}
  .h-tab-select{display:block;width:100%;font-size:15px;padding:12px 40px 12px 14px;border:1px solid var(--line);border-radius:4px;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1.5 7 7.5 13 1.5' fill='none' stroke='%237c551f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;background-size:14px 9px;color:var(--ink);margin-bottom:16px;-webkit-appearance:none;appearance:none}
  .check-list{grid-template-columns:1fr;gap:10px}
  .check-list li{font-size:14px}

  .event-types-grid{grid-template-columns:1fr;gap:28px}
  .event-type-col h3{font-size:19px;gap:10px;margin-bottom:14px}
  .event-type-col ul{gap:12px}
  .event-type-col li{font-size:14px;gap:10px}
  .event-type-mark{width:26px;height:26px}
  .event-type-mark svg{width:10px;height:8px}

  .two-col{grid-template-columns:1fr;gap:18px}
  .two-col img{height:220px}
  .two-col img.photo-natural{height:auto;max-height:320px}
  .two-col h2{font-size:24px}
  .two-col p{font-size:14px}

  .menu-filter-bar{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px;margin-bottom:16px}
  .menu-filter-field label{font-size:12px}
  .menu-filter-select{font-size:14px;padding:10px 34px 10px 12px;min-width:0;width:100%;background-size:12px 8px}
  .menu-filter-reset{font-size:13px;padding:10px 14px;justify-content:center}
  .menu-columns{grid-template-columns:1fr;gap:0}
  .menu-group h2{font-size:22px}
  .dish{font-size:14px}
  .notice{font-size:13px}

  .food-gallery-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .food-card-photo i{width:34px;height:34px}
  .food-card-info{padding:12px}
  .food-card-info span{font-size:13px}
  .food-card-info small{font-size:11px}

  .menu-options{grid-template-columns:1fr;gap:14px}
  .menu-option{padding:16px}
  .menu-option h4{font-size:16px}
  .menu-option .price{font-size:20px}
  .menu-option .price span{font-size:13px}

  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .lightbox-caption{font-size:13px}
  .lightbox-prev,.lightbox-next{width:40px;height:40px;font-size:20px}
  .lightbox-close{top:8px;right:8px;font-size:28px}
  .lightbox-count{top:12px;left:12px;font-size:11px}

  .contact-grid{grid-template-columns:1fr;gap:18px}
  .contact-card{padding:22px}
  .contact-card h2{font-size:22px}
  .contact-card p{font-size:14px}
  .map-embed iframe{height:240px}

  .legal-copy{font-size:14px}
  .legal-copy h2{font-size:19px}
  .legal-copy h3{font-size:16px}
}

/* "Make a Reservation" — collapsible, stacked layout on phones, tablets (portrait
 * and landscape — landscape phones are under 1024px too; iPad Pro via touch detection).
 * Desktop keeps the single-row bar. Sizes are fixed px here: the desktop bar
 * scales with the page width (cqw), which becomes unreadably small on phones. */
@media (max-width:1024px), (hover:none) and (pointer:coarse) and (max-width:1366px){
  .reservation{position:static;flex-direction:column;align-items:stretch;padding:0;gap:0}
  .res-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;font-family:var(--sans);font-weight:700;font-size:15px;color:var(--ink);background:none;border:0;cursor:pointer}
  .res-toggle-icon{flex-shrink:0;color:var(--gold-deep);transition:transform .2s ease}
  .reservation.open .res-toggle-icon{transform:rotate(180deg)}
  .res-body{display:none;padding:0 20px 20px}
  .reservation.open .res-body{display:block}
  .res-select-wrap{margin-bottom:16px;gap:8px}
  .res-select-wrap label{font-size:13px}
  .res-type-select{width:100%;font-size:15px;padding:13px 34px 13px 16px;text-align:left}
  .res-select-wrap:after{right:18px;bottom:20px;width:8px;height:8px}
  .reservation-panel{flex-direction:column;align-items:stretch;gap:14px}
  .res-field{min-width:0;gap:6px}
  .res-field label{font-size:13px}
  .res-field input,.res-field select{font-size:15px;padding:11px 12px}
  .reservation-panel .button{width:100%;font-size:15px;font-weight:700;line-height:1.2;padding:14px 20px;margin-top:4px}
  .res-captcha{width:auto}
  .res-captcha label{white-space:nowrap}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .button,.round,.room-card,.room-photo img,.gallery-grid img,.header nav a::after,.text-link::after,.experiences a::after,.breadcrumbs a::after{transition:none}
}
