@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Cormorant+Garamond:wght@300;400;500;600;700&family=Dancing+Script:wght@400;600;700&display=swap');

/* ===============================
   RESET / BASE
================================ */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:#070707;
  color:#f2f2f2;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
:focus-visible{outline:2px solid rgba(194,158,79,.85); outline-offset:2px}

/* ===============================
   THEME TOKENS
================================ */
:root{
  --bg:#070707;
  --panel:#0c0c0c;
  --panel2:#0f0f0f;
  --ink:#f2f2f2;
  --muted:rgba(255,255,255,.72);

  --gold:#c29e4f;
  --gold2:#d5b76a;

  --stroke:rgba(194,158,79,.20);
  --stroke2:rgba(255,255,255,.12);

  --radius:18px;

  --serif:"Cormorant Garamond", serif;
  --hand:"Dancing Script", cursive;

  --shadow: 0 30px 70px rgba(0,0,0,.55);
  --shadow2: 0 12px 30px rgba(0,0,0,.35);
}

.wrap{
  width:min(1180px, calc(100% - 48px));
  margin-inline:auto;
}

/* ===============================
   HELPERS
================================ */
.muted{color:var(--muted)}
.link{color:var(--gold2); text-decoration:underline; text-underline-offset:4px}
.grid{display:grid; gap:18px}
.grid--3{grid-template-columns:repeat(3, minmax(0,1fr))}
@media (max-width: 980px){
  .grid--3{grid-template-columns:repeat(2, minmax(0,1fr))}
}
@media (max-width: 640px){
  .grid--3{grid-template-columns:1fr}
}

.reveal{box-shadow:var(--shadow2)}
.page-block{padding:56px 0}

/* ===============================
   TOP BAR
================================ */
.topbar{
  position:relative;
  z-index:9998;
  background:linear-gradient(180deg, rgba(0,0,0,.65), rgba(0,0,0,.25));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  font-size:13px;
  line-height:1;
}
.topbar__left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.topbar__item{
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.topbar__item i{opacity:.9}
.topbar__sep{opacity:.35}
.topbar__right{
  display:flex;
  align-items:center;
  gap:10px;
}
.topbar__icon{
  width:30px;height:30px;
  display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(0,0,0,.25);
}
.topbar__lang{
  display:flex; align-items:center; gap:8px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(0,0,0,.25);
}
.topbar__lang img{width:18px;height:12px;border-radius:2px;object-fit:cover}
@media (max-width: 860px){
  .topbar__row{flex-direction:column; align-items:flex-start}
  .topbar__right{width:100%; justify-content:flex-end}
}

/* ===============================
   HEADER
================================ */
.site-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:linear-gradient(180deg, rgba(0,0,0,.70), rgba(0,0,0,.25));
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,.07);
}
body.admin-bar .site-header{ top:32px; }
@media (max-width: 782px){ body.admin-bar .site-header{ top:46px; } }

.header__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}

/* BRAND (left) */
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:240px;
}
.brand__mark{
  width:44px;height:44px;
  border-radius:12px;
  display:grid;place-items:center;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.25);
  color:var(--gold2);
  font-weight:700;
}
.brand__text{line-height:1.05}
.brand__name{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:18px;
}
.brand__tag{
  margin-top:4px;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(194,158,79,.85);
}

/* NAV */
.nav{flex:1; display:flex; justify-content:center}
.nav__list{
  margin:0; padding:0;
  list-style:none;
  display:flex;
  align-items:center;
  gap:24px;
}
.nav__list li{
  margin:0; padding:0;
  list-style:none;
}
.nav__list a{
  display:inline-block;
  padding:10px 0;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.88);
  border-bottom:2px solid transparent;
}
.nav__list a:hover{color:#fff}
.nav__list .current-menu-item > a,
.nav__list .current_page_item > a{
  color:var(--gold2);
  border-bottom-color:rgba(194,158,79,.65);
}

/* Right side (phone + book) */
.header__cta{
  display:flex;
  align-items:center;
  gap:14px;
  justify-content:flex-end;
  min-width:320px;
}
.header__phone{
  display:flex;
  align-items:center;
  gap:10px;
}
.header__phoneIcon{
  width:42px;height:42px;
  border-radius:999px;
  display:grid;place-items:center;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.25);
  color:var(--gold2);
}
.header__phoneNum{font-weight:700}
.header__phoneSub{font-size:12px; color:rgba(255,255,255,.65); margin-top:2px}

/* Book dropdown */
.book{position:relative}
.book__btn{
  cursor:pointer;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.25);
  color:var(--gold2);
  padding:10px 14px;
  border-radius:14px;
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
}
.book__btn:hover{border-color:rgba(194,158,79,.35)}
.book__chev{opacity:.9}
.book__menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  min-width:190px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(12,12,12,.98);
  box-shadow:var(--shadow2);
  overflow:hidden;
  display:none;
}
.book__menu.is-open{display:block}
.book__menu a{
  display:block;
  padding:12px 14px;
  font-size:13px;
  color:rgba(255,255,255,.92);
}
.book__menu a:hover{
  background:rgba(194,158,79,.10);
  color:#fff;
}

/* Mobile header */
@media (max-width: 980px){
  .nav{display:none;}
  .header__row{gap:10px}
  .header__cta{min-width:0}
  .header__phone{display:none}
}

/* ===============================
   HERO
================================ */
.hero-x{
  position:relative;
  min-height:calc(100vh - 120px);
  overflow:hidden;
}
.hero-x__media{
  position:absolute;
  inset:0;
  z-index:0;
}
.hero-x__video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(1.02) contrast(1.02);
}
.hero-x__vignette{
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse at 50% 35%, rgba(0,0,0,.35) 0%, rgba(0,0,0,.70) 60%, rgba(0,0,0,.90) 100%);
}
.hero-x__grain{
  position:absolute; inset:-30%;
  opacity:.10;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  transform:rotate(6deg);
}

.hero-x__content{
  position:relative;
  z-index:1;
  padding:80px 0 56px;
}
.hero-x__kicker{
  font-size:12px;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:rgba(194,158,79,.85);
}
.hero-x__title{
  margin:10px 0 10px;
  font-size:72px;
  line-height:.92;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-x__title--serif{
  font-family:var(--serif);
  font-weight:500;
}
.hero-x__sub{
  max-width:720px;
  color:rgba(255,255,255,.78);
  margin:0 0 18px;
}
.hero-x__hint{
  margin-top:18px;
  font-size:11px;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(194,158,79,.72);
}
.hero-x__nums{
  margin-top:14px;
  display:flex;
  gap:10px;
}
.pill{
  width:44px;height:28px;
  border-radius:999px;
  border:1px solid rgba(194,158,79,.35);
  background:rgba(0,0,0,.25);
  color:rgba(255,255,255,.88);
  cursor:pointer;
}
.pill:hover{border-color:rgba(194,158,79,.65); color:#fff}

/* HUD */
.hud{
  margin-top:26px;
  padding:16px 18px;
  border-radius:var(--radius);
  border:1px solid rgba(194,158,79,.22);
  background:rgba(10,10,10,.70);
  backdrop-filter: blur(10px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
}
.hud.is-open{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
  transition:.25s ease;
}
.hud__left{display:flex; gap:14px; align-items:center; min-width:0}
.hud__num{
  width:46px;height:46px;
  border-radius:14px;
  display:grid;place-items:center;
  border:1px solid rgba(194,158,79,.25);
  color:var(--gold2);
  font-weight:700;
}
.hud__title{
  font-family:var(--serif);
  font-size:18px;
  letter-spacing:.06em;
}
.hud__desc{color:rgba(255,255,255,.70); font-size:13px; margin-top:2px}
.hud__right{display:flex; gap:10px; align-items:center}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.92);
  cursor:pointer;
}
.btn:hover{border-color:rgba(194,158,79,.25)}
.btn--primary{
  border-color:rgba(194,158,79,.35);
  background:rgba(194,158,79,.12);
  color:var(--gold2);
}
.btn--icon{
  width:42px;height:42px;
  padding:0;
  border-radius:14px;
  font-size:18px;
}

/* Responsive hero */
@media (max-width: 980px){
  .hero-x__title{font-size:54px}
}
@media (max-width: 640px){
  .hero-x__content{padding:60px 0 44px}
  .hero-x__title{font-size:40px}
  .hud{flex-direction:column; align-items:flex-start}
  .hud__right{width:100%; justify-content:space-between}
}

/* ===============================
   SECTIONS / CARDS
================================ */
.home-x__h2, .page-hero__title, .page__title{
  font-family:var(--hand);
  font-weight:700;
  font-size:44px;
  letter-spacing:.02em;
  text-transform:none;
  margin:0 0 8px;
}
@media (max-width: 640px){
  .home-x__h2, .page-hero__title, .page__title{font-size:34px}
}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.card{
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.10);
  background:rgba(10,10,10,.55);
  backdrop-filter: blur(10px);
  padding:18px;
}
.card__title{
  margin:0 0 8px;
  font-family:var(--hand);
  font-size:26px;
  font-weight:700;
}
.thumb{
  display:block;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  margin-bottom:12px;
}
.thumb img{width:100%; height:210px; object-fit:cover}

.badges{display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 8px}
.badge{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:rgba(255,255,255,.86);
}
.badge--soft{
  border-color:rgba(194,158,79,.18);
  color:rgba(194,158,79,.95);
}
.badge--gold{
  border-color:rgba(194,158,79,.30);
  background:rgba(194,158,79,.10);
  color:var(--gold2);
}

/* ===============================
   PAGINATION
================================ */
.pager{margin-top:22px}
.navigation.pagination .nav-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.navigation.pagination a,
.navigation.pagination span{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.18);
}
.navigation.pagination .current{
  border-color:rgba(194,158,79,.30);
  color:var(--gold2);
}

/* ===============================
   FOOTER (basic)
================================ */
.site-footer{
  padding:34px 0;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.55);
}
.site-footer .muted{font-size:13px}

/* ===============================
   IMPORTANT FIXES (clipping/z-index)
================================ */
.page, main, .wrap, .page-hero, .hero, .hud{
  overflow:visible !important;
}/* ===============================
   Booking Wizard
================================ */
.bookwiz{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(10,10,10,.55);
  border-radius:18px;
  padding:18px;
  box-shadow: var(--shadow2);
}
.bookwiz__bar{
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.bookwiz__fill{
  height:100%;
  background:rgba(194,158,79,.55);
  border-right:1px solid rgba(194,158,79,.35);
  transition:.25s ease;
}
.bookwiz__steps{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0;
}
.bookwiz__tab{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
  color:rgba(255,255,255,.75);
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.bookwiz__tab.is-active{
  border-color:rgba(194,158,79,.35);
  background:rgba(194,158,79,.12);
  color:var(--gold2);
}

.bookwiz__panel{display:none}
.bookwiz__panel.is-active{display:block}
.bookwiz__h{
  font-family:var(--hand);
  font-size:34px;
  margin:0 0 12px;
}
.bookwiz__label{
  display:block;
  margin:10px 0 6px;
  color:rgba(255,255,255,.82);
  font-weight:600;
}
.bookwiz input, .bookwiz select, .bookwiz textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.22);
  color:#fff;
}
.bookwiz textarea{resize:vertical}
.bookwiz__nav{
  margin-top:14px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
/* =========================================================
   FOOTER FIX (dark + gold + clean)
========================================================= */
.siteFooter{
  margin-top: 36px;
  padding: 36px 0 18px;
  border-top: 1px solid rgba(194,158,79,.18);
  background: radial-gradient(1200px 600px at 20% -10%, rgba(194,158,79,.12), transparent 60%),
              linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.75));
}
.siteFooter .wrap{max-width:1200px;margin:0 auto;padding:0 18px}
.siteFooter__grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 18px;
}
@media (max-width: 980px){
  .siteFooter__grid{grid-template-columns:1fr; gap:14px}
}
.siteFooter__h{
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 10px;
  color: rgba(194,158,79,.92);
}
.siteFooter__item{
  display:flex;
  gap:10px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(194,158,79,.14);
}
.siteFooter__item:last-child{border-bottom:0}
.siteFooter__k{
  width: 72px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.58);
}
.siteFooter__v{color: rgba(255,255,255,.86)}
.siteFooter a{color: rgba(255,255,255,.88); text-decoration:none}
.siteFooter a:hover{color: rgba(194,158,79,.95)}

.siteFooter__social{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.soc{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(194,158,79,.20);
  background: rgba(0,0,0,.25);
  box-shadow: 0 12px 32px rgba(0,0,0,.25);
  font-size: 13px;
}
.soc:hover{
  border-color: rgba(194,158,79,.45);
  transform: translateY(-1px);
}

.siteFooter__bottom{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(194,158,79,.14);
  display:flex;
  justify-content:space-between;
  gap: 12px;
  align-items:center;
  flex-wrap:wrap;
}

/* Brand lockup in footer */
.brandLockup{display:flex; gap:12px; align-items:center}
.brandMark{
  width: 44px; height:44px;
  border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(194,158,79,.30);
  background: rgba(0,0,0,.25);
  color: rgba(194,158,79,.95);
  font-weight: 800;
}
.brandTitle{font-weight:800; letter-spacing:.06em}
.brandSub{font-size: 12px; letter-spacing:.14em; opacity:.75}
/* ================================
   ABOUT PAGE (Embeds + Reviews)
================================ */
.pageHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.pageHead__actions{display:flex;gap:10px;flex-wrap:wrap}

.aboutMedia{
  display:grid;
  grid-template-columns: 1.35fr .9fr;
  gap: 14px;
}
@media (max-width: 980px){
  .aboutMedia{grid-template-columns:1fr}
}

.mediaGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 720px){
  .mediaGrid{grid-template-columns:1fr}
}

.yt{
  position: relative;
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(194,158,79,.16);
  background: rgba(0,0,0,.25);
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
}
.yt:before{content:""; display:block; padding-top:56.25%;}
.yt iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
}

.socialRow{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.socPill{
  display:inline-flex;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(194,158,79,.22);
  background: rgba(0,0,0,.25);
  text-decoration:none;
  font-size: 13px;
}
.socPill:hover{border-color: rgba(194,158,79,.45); transform: translateY(-1px)}

.miniMap{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(194,158,79,.16);
  background: rgba(0,0,0,.25);
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
}
.miniMap iframe{width:100%; height: 260px; border:0}

/* Reviews */
.reviewGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
@media (max-width: 860px){
  .reviewGrid{grid-template-columns:1fr}
}
.review{
  border-radius: 18px;
  border: 1px solid rgba(194,158,79,.14);
  background: rgba(0,0,0,.25);
  padding: 14px;
  box-shadow: 0 18px 44px rgba(0,0,0,.28);
}
.review__top{display:flex; gap:12px; align-items:center}
.face{
  width: 44px; height:44px;
  border-radius: 14px;
  border: 1px solid rgba(194,158,79,.22);
  background: radial-gradient(22px 22px at 30% 30%, rgba(194,158,79,.18), rgba(0,0,0,.35));
}
.review__name{font-weight:800; letter-spacing:.02em}
.review__text{margin-top:10px; color: rgba(255,255,255,.86); line-height:1.55}
.stars{display:flex; gap:2px; margin-top:2px}
.star{opacity:.35}
.star.is-on{opacity:1; color: rgba(194,158,79,.95)}.brand__logo{
  height: 54px;
  width: auto;
  display:block;
  object-fit: contain;
}/* =========================================================
   CONTACT + BOOK ONLINE — PREMIUM FINISH
   Paste at END of assets/css/ui.css
========================================================= */

/* Use the same handwriting feel already in your theme */
.page-block.booking .page__title,
.page-block.contact .page__title,
.page-template-page-book-online .page__title,
.page-template-page-contact .page__title{
  font-family: var(--hand);
  font-weight: 700;
  letter-spacing: .02em;
}

/* Shared shell */
.page-block.booking,
.page-block.contact{
  padding: 44px 0 64px;
}

.booking__shell,
.contact__shell{
  margin-top: 14px;
}

/* Make content not cramped */
.page-block.booking .wrap,
.page-block.contact .wrap{
  width: min(1180px, calc(100% - 48px));
}

/* PREMIUM PANEL (works for your booking wizard + contact form) */
.booking__shell > * ,
.contact__shell > * ,
.bookwiz,
.contact form,
.booking form{
  background: linear-gradient(180deg, rgba(12,12,14,.72), rgba(10,10,12,.62));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  box-shadow: 0 22px 55px rgba(0,0,0,.55);
  padding: 22px;
  position: relative;
  overflow: hidden;
}

/* Glow */
.booking__shell > *::before,
.contact__shell > *::before,
.bookwiz::before,
.contact form::before,
.booking form::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(1200px 520px at 15% 0%, rgba(194,158,79,.18), transparent 55%),
    radial-gradient(900px 450px at 85% 10%, rgba(255,255,255,.06), transparent 55%);
  pointer-events:none;
  opacity:.95;
}

.booking__shell > * > *,
.contact__shell > * > *,
.bookwiz > *,
.contact form > *,
.booking form > *{
  position: relative;
  z-index: 2;
}

/* Labels */
.bookwiz label,
.contact form label,
.booking form label{
  display:block;
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
}

/* Inputs */
.bookwiz input,
.bookwiz select,
.bookwiz textarea,
.contact form input,
.contact form select,
.contact form textarea,
.booking form input,
.booking form select,
.booking form textarea{
  width: 100%;
  background: rgba(0,0,0,.40);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  padding: 12px 13px;
  color: rgba(255,255,255,.92);
  outline: none;
  transition: .18s ease;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.12);
}

.bookwiz textarea,
.contact form textarea,
.booking form textarea{
  min-height: 150px;
  resize: vertical;
}

.bookwiz input::placeholder,
.contact form input::placeholder,
.booking form input::placeholder,
.bookwiz textarea::placeholder,
.contact form textarea::placeholder,
.booking form textarea::placeholder{
  color: rgba(255,255,255,.45);
}

.bookwiz input:focus,
.bookwiz select:focus,
.bookwiz textarea:focus,
.contact form input:focus,
.contact form select:focus,
.contact form textarea:focus,
.booking form input:focus,
.booking form select:focus,
.booking form textarea:focus{
  border-color: rgba(194,158,79,.65);
  box-shadow:
    0 0 0 4px rgba(194,158,79,.12),
    0 18px 35px rgba(0,0,0,.40);
}

/* Fancy select arrow */
.bookwiz select,
.contact form select,
.booking form select{
  appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(194,158,79,.92) 50%),
    linear-gradient(135deg, rgba(194,158,79,.92) 50%, transparent 50%);
  background-position:
    calc(100% - 20px) 50%,
    calc(100% - 14px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat:no-repeat;
}

/* Buttons */
.bookwiz button,
.contact form button,
.contact form input[type="submit"],
.booking form button,
.booking form input[type="submit"]{
  border: 0;
  cursor: pointer;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 14px;
  padding: 12px 16px;
  transition: .18s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  color: #0a0a0a;
  background: linear-gradient(180deg, rgba(213,183,106,1), rgba(194,158,79,1));
  box-shadow: 0 20px 45px rgba(0,0,0,.45);
}

.bookwiz button:hover,
.contact form button:hover,
.contact form input[type="submit"]:hover,
.booking form button:hover,
.booking form input[type="submit"]:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

/* BOOKING WIZARD (your existing .bookwiz styles get upgraded) */
.bookwiz__bar{
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.10);
}
.bookwiz__fill{
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(194,158,79,.95), rgba(213,183,106,.95));
}

.bookwiz__steps{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  margin: 14px 0;
}

.bookwiz__tab{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.82);
  border-radius: 999px;
  padding: 10px 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bookwiz__tab.is-active{
  border-color: rgba(194,158,79,.65);
  background: rgba(194,158,79,.12);
  color: rgba(255,255,255,.92);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}

.bookwiz__nav{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed rgba(255,255,255,.14);
  display:flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap:wrap;
}

/* CONTACT PAGE: make form not tiny */
body.page-slug-contact .wrap,
.page-template-page-contact .wrap{
  width: min(1180px, calc(100% - 48px));
}

@media (max-width: 860px){
  .booking__shell > *,
  .contact__shell > *,
  .bookwiz,
  .contact form,
  .booking form{
    padding: 16px;
    border-radius: 18px;
  }
}
/* =========================================================
   CONTACT + BOOKING (Premium UI)
========================================================= */

.sitatuga-booking, .sitatuga-contact{
  padding: 42px 0 70px;
}

.sita-head{ margin: 0 0 18px; }
.sita-head .kicker{
  letter-spacing:.25em;
  text-transform:uppercase;
  font-size:12px;
  opacity:.85;
}
.sita-head .script-title{
  font-family: "Pacifico", cursive;
  font-size: clamp(34px, 4vw, 54px);
  margin: 10px 0 12px;
  line-height: 1.05;
}
.sita-head .muted{ opacity:.75; max-width: 760px; }

/* shared panel */
.panel{
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
  padding: 18px;
}

/* ========== FORM (force override) ========== */
.sita-form .hp{ position:absolute; left:-9999px; opacity:0; }

.sita-form label{
  display:block;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin: 0 0 8px;
  color: rgba(255,255,255,.78);
}

.sita-form input,
.sita-form select,
.sita-form textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.45) !important;
  color: #fff !important;
  padding: 14px 14px;
  outline: none;
  transition: .22s ease;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.0);
}

.sita-form input::placeholder,
.sita-form textarea::placeholder{
  color: rgba(255,255,255,.42) !important;
}

.sita-form input:focus,
.sita-form select:focus,
.sita-form textarea:focus{
  border-color: rgba(201,169,94,.55);
  box-shadow: 0 0 0 4px rgba(201,169,94,.12);
}

.sita-form input.is-bad,
.sita-form select.is-bad{
  border-color: rgba(255,120,120,.7);
  box-shadow: 0 0 0 4px rgba(255,120,120,.12);
}

.grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.grid3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 10px 0 14px;
}
@media (max-width: 860px){
  .grid2{ grid-template-columns: 1fr; }
  .grid3{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 520px){
  .grid3{ grid-template-columns: 1fr; }
}

.field{ margin: 0 0 14px; }

/* ========== BUTTONS ========== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 18px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color:#fff;
  cursor:pointer;
  transition:.2s ease;
}
.btn:hover{ transform: translateY(-1px); }
.btn-gold{
  background: rgba(201,169,94,.20);
  border-color: rgba(201,169,94,.55);
  color: #e9d9a5;
}
.btn-gold:hover{
  background: rgba(201,169,94,.26);
}

/* ========== WIZARD ========== */
.wizard{ margin-top: 14px; }
.wizard__top{
  padding: 10px 12px 14px;
  margin-bottom: 12px;
}
.wizard__tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom: 12px;
}
.wiz-tab{
  border-radius: 14px;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.85);
  cursor:pointer;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size: 12px;
}
.wiz-tab.is-active{
  background: rgba(201,169,94,.25);
  border-color: rgba(201,169,94,.60);
  color: #f1e2b2;
}

.wizard__bar{
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  overflow:hidden;
}
.wizard__barFill{
  display:block;
  height:100%;
  width:0%;
  background: rgba(201,169,94,.55);
  border-radius: 999px;
  transition: width .25s ease;
}

.wiz-step{ display:none; }
.wiz-step.is-active{ display:block; }

.wiz-actions{
  display:flex;
  justify-content: space-between;
  gap: 12px;
  align-items:center;
  margin-top: 12px;
}

.chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  cursor:pointer;
}
.chip input{ width:16px; height:16px; accent-color: rgba(201,169,94,.8); }
.chip span{ color: rgba(255,255,255,.86); }

.tiny{ font-size:12px; margin-top: 10px; }

/* ========== CONTACT LAYOUT ========== */
.contact-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 14px;
  margin-top: 14px;
}
@media (max-width: 920px){
  .contact-grid{ grid-template-columns: 1fr; }
}

.cardTitle{
  margin: 0 0 12px;
  font-size: 14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.85;
}

.stack{ display:flex; flex-direction:column; gap: 14px; }

.quick{ display:grid; gap: 10px; }
.quick__item{
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 12px 12px;
  background: rgba(255,255,255,.03);
}
.quick__k{
  display:block;
  font-size: 11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.7;
  margin-bottom: 6px;
}
.quick__v{ display:block; color: rgba(255,255,255,.9); }

.socialRow{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 12px;
}

.pill{
  display:inline-flex;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.86);
  transition:.2s ease;
}
.pill:hover{
  background: rgba(201,169,94,.18);
  border-color: rgba(201,169,94,.55);
  color: #f1e2b2;
}

.map{
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.12);
  min-height: 240px;
  background: rgba(255,255,255,.03);
}
.map iframe{
  width:100%;
  height: 320px;
  border:0;
  display:block;
}
.map--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 18px;
  text-align:center;
}