/*
Theme Name: Petit Hotel Elita Dignity
Theme URI: https://petithotelelita.com/
Author: Petit Hotel Elita
Description: Premium boutique hotel theme with multi-language UI, WhatsApp booking flow and restaurant menu cart.
Version: 2.0.0
Text Domain: petit-hotel-elita-dignity
*/

:root{
  --bg:#0a0e1a;
  --bg2:#0d1425;
  --accent:#d4a574;
  --accent-soft:#e8c8a0;
  --card:rgba(10,14,26,.88);
  --card-soft:rgba(10,14,26,.72);
  --border:rgba(255,255,255,.07);
  --radius:22px;
  --shadow:0 22px 60px rgba(0,0,0,.55), 0 0 80px rgba(212,165,116,.04);
  --text-muted:rgba(255,255,255,.72);
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(900px 520px at 15% 10%, rgba(212,165,116,.10), transparent 60%),
    radial-gradient(900px 520px at 85% 15%, rgba(232,200,160,.07), transparent 60%),
    radial-gradient(600px 600px at 50% 50%, rgba(30,42,80,.35), transparent 70%),
    linear-gradient(135deg, var(--bg2) 0%, #111833 40%, #0a0e1a 100%);
  color:#fff;
  line-height:1.6;
}
a{color:inherit;}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 22px;
  background:linear-gradient(180deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.30) 60%, transparent 100%);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.logo{
  position:relative;
  padding-bottom:6px;
}
.logo-main{
  position:relative;
  display:inline-block;
  font-family:"Cormorant Garamond", serif;
  font-size:22px;
  letter-spacing:3px;
  text-transform:uppercase;
  background:linear-gradient(120deg, #e8c8a0 0%, #d4a574 35%, #f0dcc4 60%, #d4a574 100%);
  background-size:220% auto;
  -webkit-background-clip:text;
  color:transparent;
  text-shadow:0 10px 24px rgba(0,0,0,.45);
  animation:logo-shine 8s ease-in-out infinite;
}
.logo-main::after{
  content:attr(data-text);
  position:absolute;
  left:0;
  right:0;
  top:100%;
  transform:scaleY(-1);
  opacity:.22;
  background:linear-gradient(180deg, rgba(212,165,116,.45), transparent 70%);
  -webkit-background-clip:text;
  color:transparent;
  filter:blur(0.4px);
  pointer-events:none;
}
.logo-main::before{
  content:"";
  position:absolute;
  inset:-6px -12px;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.45) 45%, transparent 60%);
  transform:translateX(-120%);
  animation:logo-glint 9s ease-in-out infinite;
  mix-blend-mode:screen;
  pointer-events:none;
}
.logo-sub{
  font-size:11px;
  letter-spacing:1px;
  color:var(--text-muted);
}
.main-nav{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:13px;
}
.mobile-nav-toggle,
.mobile-nav-backdrop,
.mobile-nav-head{
  display:none;
}
.main-nav-list{
  list-style:none;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:0;
  padding:0;
}
.main-nav a,
.main-nav-list a{
  text-decoration:none;
  opacity:.78;
  letter-spacing:.8px;
  text-transform:uppercase;
}
.main-nav a:hover,
.main-nav-list a:hover{opacity:1;}
.header-right{
  display:flex;
  align-items:center;
  gap:12px;
}
.lang-switch{
  position:relative;
  display:flex;
  align-items:center;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.45);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.8px;
  text-transform:uppercase;
  font-size:11px;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 30px rgba(0,0,0,.45);
  background:rgba(0,0,0,.65);
}
.btn-primary{
  background:linear-gradient(135deg, var(--accent), var(--accent-soft));
  border:none;
  color:#1a1208;
}
.btn-primary:hover{
  background:linear-gradient(135deg, var(--accent-soft), var(--accent));
}
.btn-ghost{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
}
.btn-outline{
  background:transparent;
  border:1px solid rgba(255,255,255,.35);
}
.btn-small{padding:8px 14px;}

.hero{padding:28px 22px 10px;}
.hero-inner{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:26px;
  align-items:center;
}
.hero-kicker{
  font-size:13px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:var(--accent-soft);
}
.hero-title{
  font-family:"Cormorant Garamond", serif;
  font-size:40px;
  margin-top:4px;
  letter-spacing:1px;
}
.hero-subtitle{
  margin-top:10px;
  color:var(--text-muted);
  font-size:14px;
}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.12);
  font-size:11px;
}
.badge i{font-size:12px;}
.hero-media{justify-self:flex-end;}
.hero-image-frame{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--border);
  background:#000;
  box-shadow:var(--shadow);
}
.hero-image-frame img{
  display:block;
  width:100%;
  height:100%;
  max-height:320px;
  object-fit:cover;
}
.hero-slider .hero-slide{
  position:absolute;
  inset:0;
  opacity:0;
  animation:heroFade 18s infinite;
}
.hero-slider .hero-slide:first-child{
  position:relative;
  opacity:1;
}
.hero-slider .hero-slide:nth-child(1){animation-delay:0s;}
.hero-slider .hero-slide:nth-child(2){animation-delay:6s;}
.hero-slider .hero-slide:nth-child(3){animation-delay:12s;}
.hero-tag{
  position:absolute;
  left:16px;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.68);
  border:1px solid rgba(255,255,255,.18);
  font-size:11px;
  letter-spacing:1.2px;
}

.booking-section{padding:8px 22px 26px;}
.booking-card{
  max-width:1120px;
  margin:0 auto;
  background:var(--card);
  border-radius:var(--radius);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  padding:18px 18px 16px;
}
.booking-card-compact{padding:14px 14px 12px;}
.booking-embed{margin-top:12px;}

/* VikBooking search bar on Home */
.booking-card .vbo-search-mainview,
.booking-card .vbdivsearch{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}
.booking-card .vb-search-inner{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-items:end;
}
.booking-card .vbo-search-inpblock label,
.booking-card .vbo-search-num-rooms label,
.booking-card .vbo-search-num-adults-entry-label,
.booking-card .vbo-search-num-children-entry-label{
  font-size:12px;
  letter-spacing:.6px;
  text-transform:uppercase;
  opacity:1;
  color:#f0e8de !important;
}
.booking-card .vbo-search-num-racblock{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.booking-card .vbo-search-submit{
  display:flex;
  align-items:end;
}
.booking-card .vbo-search-submit button,
.booking-card .vbo-pref-color-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 18px;
  border-radius:999px;
  border:none;
  background:linear-gradient(135deg, var(--accent), var(--accent-soft));
  color:#1a1208;
  text-transform:uppercase;
  letter-spacing:.8px;
  font-weight:700;
  font-size:11px;
  cursor:pointer;
}
.booking-card .vbo-search-submit button:hover,
.booking-card .vbo-pref-color-btn:hover{
  background:linear-gradient(135deg, var(--accent-soft), var(--accent));
}
.booking-card .input-group,
.booking-card .vbo-search-inpblock input,
.booking-card .vbo-search-num-racblock select{
  width:100%;
}
.booking-card .vbo-search-mainview,
.booking-card .vbdivsearch,
.booking-card .vbo-search-mainview *,
.booking-card .vbdivsearch *{
  color:#f0e8de !important;
}
.booking-card .vbo-search-inpblock input,
.booking-card .vbo-search-num-racblock select,
.booking-card .input-group input,
.booking-card .input-group select{
  background:rgba(10,14,26,.82) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.booking-card .vbo-search-num-racblock select option,
.booking-card select option{
  color:#1a1a1a;
}
.booking-card .vbo-search-roomnum,
.booking-card .vbo-search-num-aduchild-entry span{
  color:#f0e8de !important;
}
.booking-card .vbo-search-num-aduchild-entry{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:8px;
}

@media (max-width: 900px){
  .booking-card .vb-search-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
  .booking-method-grid{grid-template-columns:1fr;}
}
@media (max-width: 640px){
  .booking-card .vb-search-inner{grid-template-columns:1fr;}
  .booking-card .vbo-search-num-racblock{grid-template-columns:1fr;}
  .booking-home-cta{flex-direction:column;align-items:flex-start;}
}
.booking-card h2{
  font-family:"Cormorant Garamond", serif;
  font-size:26px;
  margin-bottom:4px;
  color:var(--accent);
}
.booking-sub{font-size:13px;color:var(--text-muted);margin-bottom:12px;}
.booking-cta-shell .booking-sub{
  color:rgba(255,255,255,.9);
  max-width:760px;
}
.booking-home-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.booking-home-cta-copy{max-width:700px;}
.booking-home-cta .button-group{margin-top:0;}
.booking-methods-section{padding-top:0;}
.booking-method-grid{
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.booking-method-card{
  background:var(--card-soft);
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.booking-method-card h2{
  margin:0;
  font-family:"Cormorant Garamond", serif;
  font-size:24px;
  color:var(--accent);
}
.booking-method-card p{
  margin:0;
  font-size:13px;
  color:var(--text-muted);
  line-height:1.55;
}
.booking-method-card .btn{
  width:fit-content;
  margin-top:4px;
}
.booking-method-pill{
  display:inline-flex;
  width:fit-content;
  border-radius:999px;
  padding:5px 10px;
  font-size:10px;
  letter-spacing:.8px;
  text-transform:uppercase;
  font-weight:700;
}
.booking-method-pill-online{
  background:rgba(212,165,116,.24);
  color:#e8c8a0;
  border:1px solid rgba(212,165,116,.45);
}
.booking-method-pill-whatsapp{
  background:rgba(37,211,102,.18);
  color:#9af0c3;
  border:1px solid rgba(37,211,102,.4);
}
.booking-note-inline{
  max-width:1120px;
  margin:10px auto 0;
}
.field-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:10px;
}
.field-full{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:10px;
}
label span{
  font-size:12px;
  letter-spacing:.6px;
  text-transform:uppercase;
  opacity:.85;
}
input,select,textarea{
  width:100%;
  margin-top:4px;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.35);
  color:#fff;
  font-family:inherit;
  font-size:13px;
}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,.55);}
textarea{resize:vertical;min-height:56px;}
.booking-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}
.booking-note{
  margin-top:6px;
  font-size:11px;
  color:var(--text-muted);
}

.field-info{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:6px 0;
}
.field-info-label{
  font-size:12px;
  letter-spacing:.6px;
  text-transform:uppercase;
  opacity:.85;
}
.field-info-note{
  font-size:12px;
  color:var(--text-muted);
  margin:0;
}
.room-picker{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:12px;
}
.room-picker-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.room-picker-card{
  background:var(--card-soft);
  border-radius:16px;
  border:1px solid var(--border);
  padding:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.room-picker-info h4{
  font-size:14px;
  margin-bottom:4px;
}
.room-picker-price{
  font-size:12px;
  color:var(--accent-soft);
}
.qty-control{
  display:flex;
  align-items:center;
  gap:6px;
}
.qty-btn{
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:16px;
  cursor:pointer;
}
.qty-btn:hover{background:rgba(0,0,0,.65);}
.room-qty-input{
  width:54px;
  text-align:center;
  padding:6px 8px;
  border-radius:10px;
}
.booking-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.35);
  font-size:13px;
}


.section{padding:22px 22px 8px;}
.section-header{
  max-width:1120px;
  margin:0 auto 14px;
}
.section-header h2{
  font-family:"Cormorant Garamond", serif;
  font-size:26px;
  color:var(--accent);
}
.section-header p{
  font-size:13px;
  color:var(--text-muted);
  max-width:640px;
}

.room-grid{
  max-width:1120px;
  margin:0 auto 10px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.room-card{
  background:var(--card-soft);
  border-radius:18px;
  border:1px solid var(--border);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.room-image img{
  width:100%;
  height:170px;
  object-fit:cover;
  display:block;
}
.room-body{padding:12px 12px 14px;}
.room-body h3{font-size:18px;margin-bottom:4px;}
.room-body p{font-size:13px;}
.room-price{margin-top:6px;font-weight:600;color:var(--accent-soft);}
.room-select{margin-top:10px;width:100%;}

.two-col{
  max-width:1120px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:18px;
  align-items:center;
}
.col-text p{color:var(--text-muted);}
.media-frame,.map-frame{
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#000;
  box-shadow:var(--shadow);
}
.media-frame img,.map-frame img{
  width:100%;
  height:240px;
  object-fit:cover;
}
.check-list{
  list-style:none;
  padding-left:0;
  margin:0 0 14px;
  font-size:13px;
  color:var(--text-muted);
}
.check-list li{
  position:relative;
  padding-left:18px;
  margin-bottom:4px;
}
.check-list li::before{
  content:"•";
  position:absolute;
  left:4px;
  color:var(--accent-soft);
}

.facility-grid{
  max-width:1120px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.facility-card{
  background:var(--card-soft);
  border-radius:18px;
  border:1px solid var(--border);
  padding:12px 12px 14px;
}
.facility-icon{
  width:32px;
  height:32px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(212,165,116,.16);
  margin-bottom:8px;
}
.facility-icon i{color:var(--accent-soft);}
.facility-card h3{font-size:15px;margin-bottom:4px;}
.facility-card p{font-size:13px;color:var(--text-muted);}

.policy-grid{
  max-width:1120px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.policy-card{
  background:var(--card-soft);
  border-radius:18px;
  border:1px solid var(--border);
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.policy-icon{
  width:32px;
  height:32px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(212,165,116,.16);
  margin-bottom:4px;
}
.policy-icon i{color:var(--accent-soft);}
.policy-card h3{font-size:15px;}
.policy-card p{font-size:13px;color:var(--text-muted);}

.contact-info{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.contact-row{
  display:flex;
  gap:10px;
}
.contact-icon{
  width:32px;
  height:32px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
}
.contact-icon i{color:var(--accent-soft);}
.label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.8px;
  opacity:.8;
}
.contact-row a{
  text-decoration:none;
  font-size:13px;
}
.contact-row a:hover{text-decoration:underline;text-underline-offset:3px;}

.contact-panel{
  background:rgba(0,0,0,.35);
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.contact-panel::before{
  content:"";
  position:absolute;
  width:200px;
  height:200px;
  right:-80px;
  top:-90px;
  background:radial-gradient(circle, rgba(212,165,116,.25), transparent 70%);
  opacity:.8;
}
.contact-panel::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  left:-110px;
  bottom:-120px;
  background:radial-gradient(circle, rgba(212,165,116,.18), transparent 70%);
  opacity:.7;
}
.contact-panel > *{
  position:relative;
  z-index:1;
}
.contact-panel .contact-row{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.08);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.contact-panel .contact-row:hover{
  transform:translateY(-2px);
  border-color:rgba(212,165,116,.35);
  box-shadow:0 14px 32px rgba(0,0,0,.35);
}
.contact-panel .contact-icon{
  background:rgba(212,165,116,.16);
  box-shadow:inset 0 0 0 1px rgba(212,165,116,.35);
}

@media (prefers-reduced-motion: no-preference){
  .contact-panel .contact-row{
    opacity:0;
    transform:translateY(12px);
    animation:fadeUp .6s ease forwards;
  }
  .contact-panel .contact-row:nth-child(1){animation-delay:.04s;}
  .contact-panel .contact-row:nth-child(2){animation-delay:.12s;}
  .contact-panel .contact-row:nth-child(3){animation-delay:.2s;}
  .contact-panel .contact-row:nth-child(4){animation-delay:.28s;}
  .contact-panel .contact-row:nth-child(5){animation-delay:.36s;}
  .contact-panel .contact-row:nth-child(6){animation-delay:.44s;}
  .contact-panel .contact-row:nth-child(7){animation-delay:.52s;}
  .contact-panel .contact-row:nth-child(8){animation-delay:.6s;}
}

.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:30;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px 8px 8px;
  border-radius:999px;
  background:rgba(10,14,26,.88);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 38px rgba(0,0,0,.5);
  text-decoration:none;
  color:#fff;
  backdrop-filter:blur(10px);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.whatsapp-float:hover{
  transform:translateY(-2px);
  border-color:rgba(37,211,102,.45);
  box-shadow:0 22px 44px rgba(0,0,0,.55);
}
.whatsapp-float .wa-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(37,211,102,.16);
  color:#25d366;
  box-shadow:inset 0 0 0 1px rgba(37,211,102,.4);
}
.whatsapp-float .wa-text{
  font-size:10px;
  letter-spacing:.9px;
  text-transform:uppercase;
  color:var(--text-muted);
  max-width:0;
  overflow:hidden;
  opacity:0;
  transition:max-width .2s ease, opacity .2s ease;
}
.whatsapp-float:hover .wa-text{
  max-width:140px;
  opacity:1;
}
.whatsapp-float::after{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:inherit;
  border:1px solid rgba(37,211,102,.25);
  opacity:0;
  animation:wa-pulse 3.4s ease-out infinite;
  pointer-events:none;
}
@keyframes wa-pulse{
  0%{opacity:.0;transform:scale(.96);}
  30%{opacity:.35;}
  100%{opacity:0;transform:scale(1.16);}
}

@media (max-width:640px){
  .whatsapp-float{right:16px;bottom:16px;padding:8px;}
  .whatsapp-float .wa-text{display:none;}
}
@media (prefers-reduced-motion: reduce){
  .whatsapp-float::after{animation:none;}
}

/* VikBooking theme alignment (starter) */
#vikbooking,
.vikbooking,
.vbo-availability-wrapper{
  color:#fff;
  font-family:inherit;
}
#vikbooking .vbo-booking-form,
.vikbooking .vbo-booking-form,
.vbo-availability-wrapper .vbo-booking-form{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow);
}
#vikbooking input,
#vikbooking select,
#vikbooking textarea,
.vikbooking input,
.vikbooking select,
.vikbooking textarea{
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}
#vikbooking .vbo-booking-button,
.vikbooking .vbo-booking-button,
#vikbooking .vbo-btn,
.vikbooking .vbo-btn{
  background:linear-gradient(135deg, var(--accent), var(--accent-soft));
  border:none;
  color:#1a1208;
  font-weight:700;
}


.footer{
  padding:18px 22px 26px;
  font-size:11px;
  text-align:center;
  color:var(--text-muted);
}

.home-facts{
  margin:16px 0 10px;
}
.home-note{
  margin-top:8px;
  font-size:13px;
  color:var(--text-muted);
}

.policy-intro{
  max-width:900px;
  margin:0 auto 18px;
  color:var(--text-muted);
  font-size:13px;
  text-align:center;
}

.gallery-grid{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
}
.gallery-card{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--card-soft);
  box-shadow:0 18px 45px rgba(0,0,0,.35);
}
.gallery-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}
.gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 30%, rgba(0,0,0,.55) 100%);
  opacity:.9;
  pointer-events:none;
}
.gallery-card figcaption{
  position:absolute;
  left:14px;
  bottom:12px;
  font-size:13px;
  letter-spacing:.4px;
  text-transform:uppercase;
  z-index:1;
}
.gallery-card:hover img{transform:scale(1.05);}

.note-card{
  margin-top:14px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(212,165,116,.14);
  border:1px solid rgba(212,165,116,.35);
  font-size:13px;
  color:var(--text-muted);
}

.fade-up{
  opacity:0;
  transform:translateY(14px);
  animation:fadeUp .6s ease forwards;
}
.delay-1{animation-delay:.12s;}
.delay-2{animation-delay:.22s;}
.delay-3{animation-delay:.32s;}
@keyframes logo-shine{
  0%,100%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
}
@keyframes logo-glint{
  0%,70%{transform:translateX(-120%);}
  85%,100%{transform:translateX(120%);}
}
@keyframes fadeUp{
  to{opacity:1;transform:translateY(0);}
}
@keyframes heroFade{
  0%,18%{opacity:1;transform:scale(1);}
  28%,100%{opacity:0;transform:scale(1.02);}
}


/* Mobile section cards + accordion */
.section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.section-header h2{
  display:flex;
  align-items:center;
  gap:10px;
}
.section-header h2::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 12px rgba(212,165,116,.65);
  animation:pulse-dot 2.4s ease-in-out infinite;
}
.section-toggle{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.45);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.section-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  background:rgba(0,0,0,.65);
}
.section-toggle-icon{
  display:inline-block;
  font-size:14px;
  transition:transform .2s ease;
}
.section.is-open .section-toggle-icon{transform:rotate(180deg);}

.section-content{margin-top:10px;}

.logo{
  animation:logo-float 8s ease-in-out infinite;
}

@keyframes pulse-dot{
  0%,100%{transform:scale(1);opacity:.85;}
  50%{transform:scale(1.25);opacity:1;}
}
@keyframes logo-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}

@media (max-width:680px){
  .section.section-collapsible{
    margin:14px 14px 18px;
    padding:14px;
    background:rgba(10,14,26,.55);
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
  }
  .section.section-collapsible .section-header{margin-bottom:0;}
  .section.section-collapsible .section-content{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-6px);
    transition:max-height .35s ease, opacity .35s ease, transform .35s ease;
  }
  .section.section-collapsible.is-open .section-content{
    max-height:2200px;
    opacity:1;
    transform:translateY(0);
    margin-top:12px;
  }
  .section.section-collapsible .room-grid,
  .section.section-collapsible .facility-grid,
  .section.section-collapsible .policy-grid,
  .section.section-collapsible .info-grid{
    margin-top:4px;
  }
}

@media (max-width:980px){
  .hero-inner{
    grid-template-columns:minmax(0,1fr);
  }
  .hero-media{order:-1;}
  .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .two-col{grid-template-columns:minmax(0,1fr);}

  .room-picker-grid{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:640px){
  .site-header{flex-wrap:wrap;align-items:flex-start;}
  .main-nav{order:3;width:100%;}
  .logo{padding-bottom:0;}
  .logo-main::after,
  .logo-main::before{display:none;}
  .booking-card{padding-inline:14px;}
  .policy-grid{grid-template-columns:minmax(0,1fr);}

  .room-picker-card{flex-direction:column;align-items:flex-start;}
  .qty-control{width:100%;justify-content:flex-start;}
}


/* MENU */
.menu-layout{
  max-width:1120px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,0.8fr);
  gap:18px;
  align-items:start;
}
.menu-categories{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.menu-category{
  background:var(--card-soft);
  border-radius:18px;
  border:1px solid var(--border);
  padding:14px;
  margin-bottom:14px;
}
.menu-category-title{
  font-size:16px;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:10px;
}
.menu-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.menu-item{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(0,0,0,.35);
  padding:10px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.menu-item > div:first-child{
  min-width:0;
}
.menu-item-name{
  font-size:15px;
  font-weight:700;
  line-height:1.25;
}
.menu-item-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  white-space:nowrap;
}
.menu-item-price{
  font-size:14px;
  font-weight:700;
  color:var(--accent-soft);
}
.menu-add{
  padding:7px 11px;
  font-size:11px;
}

.menu-cart{
  position:sticky;
  top:86px;
  background:var(--card);
  border-radius:18px;
  border:1px solid var(--border);
  padding:14px;
}
.menu-cart h3{font-size:16px;margin-bottom:8px;color:var(--accent);}
.menu-cart-list{display:flex;flex-direction:column;gap:8px;min-height:60px;}
.menu-empty{font-size:12px;color:var(--text-muted);}
.menu-cart-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.08);
}
.menu-cart-item span{font-size:12px;}
.menu-cart-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.menu-cart-total{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:13px;}
.menu-cart-note{margin-top:8px;font-size:11px;color:var(--text-muted);}


/* Mobile section cards + accordion */
.section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.section-header h2{
  display:flex;
  align-items:center;
  gap:10px;
}
.section-header h2::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 12px rgba(212,165,116,.65);
  animation:pulse-dot 2.4s ease-in-out infinite;
}
.section-toggle{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.45);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.section-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  background:rgba(0,0,0,.65);
}
.section-toggle-icon{
  display:inline-block;
  font-size:14px;
  transition:transform .2s ease;
}
.section.is-open .section-toggle-icon{transform:rotate(180deg);}

.section-content{margin-top:10px;}

.logo{
  animation:logo-float 8s ease-in-out infinite;
}

@keyframes pulse-dot{
  0%,100%{transform:scale(1);opacity:.85;}
  50%{transform:scale(1.25);opacity:1;}
}
@keyframes logo-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}

@media (max-width:680px){
  .section.section-collapsible{
    margin:14px 14px 18px;
    padding:14px;
    background:rgba(10,14,26,.55);
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
  }
  .section.section-collapsible .section-header{margin-bottom:0;}
  .section.section-collapsible .section-content{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-6px);
    transition:max-height .35s ease, opacity .35s ease, transform .35s ease;
  }
  .section.section-collapsible.is-open .section-content{
    max-height:2200px;
    opacity:1;
    transform:translateY(0);
    margin-top:12px;
  }
  .section.section-collapsible .room-grid,
  .section.section-collapsible .facility-grid,
  .section.section-collapsible .policy-grid,
  .section.section-collapsible .info-grid{
    margin-top:4px;
  }
}

@media (max-width:980px){
  .menu-layout{grid-template-columns:minmax(0,1fr);} 
  .menu-grid{grid-template-columns:minmax(0,1fr);} 
}
@media (max-width:640px){
  .menu-cart{position:static;}
}

/* --- Added components & overrides --- */
.main-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.main-nav li{margin:0;}

.button-group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.info-grid{
  max-width:1120px;
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:14px;
}
.info-card{
  background:var(--card-soft);
  border-radius:18px;
  border:1px solid var(--border);
  padding:14px 14px 16px;
}
.info-card h3{font-size:15px;margin-bottom:6px;}
.info-card p{font-size:13px;color:var(--text-muted);}

.extra-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:rgba(0,0,0,.35);
  margin-top:10px;
}
.extra-option h4{font-size:13px;margin-bottom:4px;}
.extra-option p{font-size:11px;color:var(--text-muted);}
.booking-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:8px;
  font-size:12px;
  color:var(--text-muted);
}
.booking-summary strong{color:#fff;font-weight:600;}
.breakfast-toggle{
  position:relative;
  width:46px;
  height:24px;
}
.breakfast-toggle input{
  opacity:0;
  width:0;
  height:0;
}
.breakfast-slider{
  position:absolute;
  inset:0;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid var(--border);
  transition:background .2s ease;
}
.breakfast-slider::before{
  content:"";
  position:absolute;
  width:18px;
  height:18px;
  left:3px;
  top:2px;
  border-radius:50%;
  background:var(--accent-soft);
  transition:transform .2s ease, background .2s ease;
  box-shadow:0 6px 14px rgba(0,0,0,.45);
}
.breakfast-toggle input:checked + .breakfast-slider{
  background:linear-gradient(135deg, var(--accent), var(--accent-soft));
}
.breakfast-toggle input:checked + .breakfast-slider::before{
  transform:translateX(20px);
  background:#1a1208;
}
.qty-btn:disabled,
.guest-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.extra-qty-input{
  width:54px;
  text-align:center;
  padding:6px 8px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:13px;
}

.menu-toolbar{
  max-width:1120px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.menu-search{
  flex:1;
  min-width:220px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.16);
}
.menu-search input{
  background:transparent;
  border:none;
  outline:none;
  color:#fff;
  font-family:inherit;
  font-size:12px;
  width:100%;
}
.menu-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;}
.menu-search-empty{max-width:1120px;margin:0 auto 6px;font-size:12px;color:var(--text-muted);}

.menu-category{
  padding:0;
  overflow:hidden;
}
.menu-category-toggle{
  width:100%;
  border:none;
  background:transparent;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  cursor:pointer;
  text-align:left;
}
.menu-category-toggle:hover{background:rgba(255,255,255,.04);}
.menu-category-title{
  font-size:14px;
  letter-spacing:.6px;
  text-transform:uppercase;
  color:var(--accent);
  margin:0;
}
.menu-category-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  color:var(--text-muted);
}
.menu-category-toggle i{
  transition:transform .2s ease;
}
.menu-category.is-open .menu-category-toggle i{transform:rotate(180deg);} 
.menu-category-body{padding:0 14px 14px;}
.menu-category-body[hidden]{display:none;}

.check-list li::before{
  content:"\2022";
}


/* Mobile section cards + accordion */
.section-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.section-header h2{
  display:flex;
  align-items:center;
  gap:10px;
}
.section-header h2::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 12px rgba(212,165,116,.65);
  animation:pulse-dot 2.4s ease-in-out infinite;
}
.section-toggle{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.45);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.section-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  background:rgba(0,0,0,.65);
}
.section-toggle-icon{
  display:inline-block;
  font-size:14px;
  transition:transform .2s ease;
}
.section.is-open .section-toggle-icon{transform:rotate(180deg);}

.section-content{margin-top:10px;}

.logo{
  animation:logo-float 8s ease-in-out infinite;
}

@keyframes pulse-dot{
  0%,100%{transform:scale(1);opacity:.85;}
  50%{transform:scale(1.25);opacity:1;}
}
@keyframes logo-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}

@media (max-width:680px){
  .section.section-collapsible{
    margin:14px 14px 18px;
    padding:14px;
    background:rgba(10,14,26,.55);
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    box-shadow:0 12px 30px rgba(0,0,0,.35);
  }
  .section.section-collapsible .section-header{margin-bottom:0;}
  .section.section-collapsible .section-content{
    max-height:0;
    opacity:0;
    overflow:hidden;
    transform:translateY(-6px);
    transition:max-height .35s ease, opacity .35s ease, transform .35s ease;
  }
  .section.section-collapsible.is-open .section-content{
    max-height:2200px;
    opacity:1;
    transform:translateY(0);
    margin-top:12px;
  }
  .section.section-collapsible .room-grid,
  .section.section-collapsible .facility-grid,
  .section.section-collapsible .policy-grid,
  .section.section-collapsible .info-grid{
    margin-top:4px;
  }
}

@media (max-width:980px){
  .info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .info-grid{grid-template-columns:minmax(0,1fr);} 
  .menu-toolbar{align-items:stretch;}
  .extra-option{flex-direction:column;align-items:flex-start;}
}


/* --- Dignity Theme Overrides --- */
:root{
  --organic-a:54px 20px 46px 14px;
  --organic-b:28px 48px 18px 44px;
}

body{
  position:relative;
  overflow-x:hidden;
}

body::before,
body::after{
  content:"";
  position:fixed;
  width:320px;
  height:320px;
  border-radius:55% 45% 60% 40%;
  pointer-events:none;
  z-index:-1;
  filter:blur(2px);
}
body::before{
  top:-120px;
  left:-90px;
  background:radial-gradient(circle at 30% 30%, rgba(232,200,160,.28), transparent 68%);
}
body::after{
  right:-130px;
  bottom:-130px;
  background:radial-gradient(circle at 45% 45%, rgba(95,177,160,.18), transparent 68%);
}

.screen-reader-text{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:20px;
  top:14px;
  width:auto;
  height:auto;
  overflow:visible;
  z-index:999;
  padding:8px 12px;
  border-radius:999px;
  color:#0b1012;
  background:#fff;
  text-decoration:none;
}

.logo{text-decoration:none;}

.lang-switch{
  position:relative;
  display:flex;
  align-items:center;
}
.lang-current-btn{
  display:none;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(8,14,18,.68);
  color:#fff;
  border-radius:999px;
  min-height:38px;
  padding:6px 10px;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.lang-current-flag{
  font-size:18px;
  line-height:1;
}
.lang-current-code{
  font-size:11px;
  letter-spacing:.7px;
  text-transform:uppercase;
  opacity:.88;
}
.lang-options{
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(8,14,18,.62);
}
.lang-btn{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:18px;
  line-height:1;
  padding:4px;
  min-width:34px;
  min-height:30px;
  border-radius:10px;
  cursor:pointer;
  opacity:.76;
  transition:opacity .2s ease, transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.lang-btn:hover{
  opacity:1;
  transform:translateY(-1px);
}
.lang-btn.active{
  opacity:1;
  border-color:rgba(232,200,160,.72);
  background:rgba(232,200,160,.2);
  box-shadow:0 0 0 1px rgba(232,200,160,.35) inset;
}

.section,
.booking-card,
.info-card,
.room-card,
.facility-card,
.policy-card,
.menu-category,
.menu-cart,
.contact-panel,
.note-card{
  border-radius:var(--organic-a);
  position:relative;
  overflow:hidden;
}

.section::before,
.booking-card::before,
.menu-cart::before,
.contact-panel::before{
  content:"";
  position:absolute;
  width:140px;
  height:140px;
  right:-70px;
  top:-72px;
  border-radius:60% 40% 48% 52%;
  background:radial-gradient(circle at 30% 30%, rgba(212,165,116,.16), transparent 70%);
  pointer-events:none;
}

.hero-image-frame,
.media-frame,
.map-frame,
.gallery-card,
.policy-visual-card{
  border-radius:var(--organic-b);
}

.room-card:nth-child(2n){
  border-radius:26px 44px 22px 42px;
}
.room-card:nth-child(3n){
  border-radius:48px 20px 52px 18px;
}

.hero-tag{
  letter-spacing:1px;
  backdrop-filter:blur(6px);
}

.badge{
  border-radius:28px 16px 30px 14px;
}

.booking-cta-band{
  padding-top:20px;
  padding-bottom:0;
}
.booking-cta-shell{
  max-width:1120px;
  margin:0 auto;
  padding:22px;
  border-radius:46px 16px 42px 20px;
  background:linear-gradient(120deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.95fr);
  gap:22px;
  align-items:start;
}
.contact-media{
  display:grid;
  gap:16px;
}
.map-frame iframe{
  display:block;
  width:100%;
  height:320px;
  border:0;
}
.contact-photo-stack img{
  width:100%;
  max-height:220px;
  object-fit:cover;
}

.policy-visual-grid{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:18px 0 20px;
}
.policy-visual-card{
  border:1px solid var(--border);
  background:rgba(0,0,0,.35);
}
.policy-visual-card img{
  width:100%;
  height:160px;
  object-fit:cover;
  display:block;
}
.policy-visual-card figcaption{
  padding:10px 12px;
  font-size:12px;
  color:var(--text-muted);
}

.whatsapp-float{
  border-radius:24px 18px 26px 14px;
  background:linear-gradient(140deg, rgba(13,171,98,.95), rgba(11,141,84,.95));
  border:1px solid rgba(255,255,255,.22);
}
.whatsapp-float .wa-icon{
  background:rgba(0,0,0,.18);
}

body.page-template-page-menu .whatsapp-float,
body.page-menu .whatsapp-float{
  display:inline-flex !important;
}

@media (max-width:980px){
  .contact-layout{grid-template-columns:minmax(0,1fr);}
  .policy-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:640px){
  .policy-visual-grid{grid-template-columns:minmax(0,1fr);} 
  .booking-cta-shell{padding:16px;border-radius:30px 14px 30px 14px;}
  .section,
  .booking-card,
  .info-card,
  .room-card,
  .facility-card,
  .policy-card,
  .menu-category,
  .menu-cart,
  .contact-panel,
  .note-card{border-radius:24px 14px 26px 14px;}
}

/* Section heading accent: keep titles static and clear */
.section-header h2::before{
  content:none !important;
  display:none !important;
}
.section-header h2{
  animation:none !important;
  transform:none !important;
  text-shadow:none !important;
}

/* Keep mobile accordion controls only on Menu page */
body:not(.page-template-page-menu):not(.page-menu) .section-toggle{
  display:none !important;
}
body:not(.page-template-page-menu):not(.page-menu) .section.section-collapsible .section-content{
  max-height:none !important;
  opacity:1 !important;
  overflow:visible !important;
  transform:none !important;
  margin-top:10px !important;
}

/* Booking split flow and contrast fixes */
.booking-whatsapp-panel[hidden]{
  display:none !important;
}
.booking-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.booking-panel-head h2{
  margin:0;
}
.booking-panel-close{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.26);
  background:rgba(0,0,0,.32);
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.booking-panel-close:hover{
  background:rgba(0,0,0,.52);
}
.booking-whatsapp-panel-sub{
  color:rgba(247,242,232,.92);
}

/* Layout stability */
html,
body{
  max-width:100%;
  overflow-x:clip;
}
@supports not (overflow: clip){
  html,
  body{
    overflow-x:hidden;
  }
}

/* Mobile nav: only open by button click */
@media (max-width:760px){
  .main-nav{
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(110%, 0, 0) !important;
    transition:transform .26s ease, visibility 0s linear .26s !important;
    overscroll-behavior:contain;
    touch-action:pan-y;
  }
  .main-nav.is-open{
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0, 0, 0) !important;
    transition:transform .26s ease !important;
  }
  html.mobile-nav-open,
  body.mobile-nav-open{
    overflow:hidden !important;
    overscroll-behavior:none;
  }
}

/* Keep floating WhatsApp fixed and visible */
.whatsapp-float{
  position:fixed !important;
  z-index:120 !important;
  right:max(14px, env(safe-area-inset-right)) !important;
  bottom:max(14px, env(safe-area-inset-bottom)) !important;
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* Section title animation for brown headings */
@keyframes phed-title-glow{
  0%,100%{text-shadow:0 0 0 rgba(232,200,160,0);}
  50%{text-shadow:0 0 14px rgba(232,200,160,.28);}
}
@keyframes phed-title-dot{
  0%,100%{transform:scale(1);opacity:.82;}
  50%{transform:scale(1.2);opacity:1;}
}
body.page-template-page-facilities .section-header h2,
body.page-template-page-policies .section-header h2,
body.page-template-page-contact .section-header h2,
body.page-facilities .section-header h2,
body.page-policies .section-header h2,
body.page-contact .section-header h2{
  animation:phed-title-glow 4.2s ease-in-out infinite !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
body.page-template-page-facilities .section-header h2::before,
body.page-template-page-policies .section-header h2::before,
body.page-template-page-contact .section-header h2::before,
body.page-facilities .section-header h2::before,
body.page-policies .section-header h2::before,
body.page-contact .section-header h2::before{
  content:"" !important;
  display:inline-block !important;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 10px rgba(212,165,116,.55);
  animation:phed-title-dot 2.3s ease-in-out infinite;
}

/* Center brown section titles on mobile */
@media (max-width:760px){
  body.page-template-page-facilities .section-header,
  body.page-template-page-policies .section-header,
  body.page-template-page-contact .section-header,
  body.page-facilities .section-header,
  body.page-policies .section-header,
  body.page-contact .section-header{
    text-align:center !important;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  body.page-template-page-facilities .section-header h2,
  body.page-template-page-policies .section-header h2,
  body.page-template-page-contact .section-header h2,
  body.page-facilities .section-header h2,
  body.page-policies .section-header h2,
  body.page-contact .section-header h2{
    justify-content:center;
    text-align:center;
  }
  body.page-template-page-facilities .section-header p,
  body.page-template-page-policies .section-header p,
  body.page-template-page-contact .section-header p,
  body.page-facilities .section-header p,
  body.page-policies .section-header p,
  body.page-contact .section-header p{
    margin:0 auto !important;
    text-align:center;
  }
}

/* Promotional popup */
.promo-popup-overlay{
  position:fixed;
  inset:0;
  z-index:140;
  background:rgba(3,8,14,.58);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.promo-popup-overlay.is-open{
  opacity:1;
  pointer-events:auto;
}
.promo-popup-modal{
  position:relative;
  width:min(520px, 100%);
  border-radius:20px;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(165deg, rgba(18,33,40,.97), rgba(9,20,29,.98));
  box-shadow:0 22px 50px rgba(0,0,0,.45);
  padding:18px 18px 16px;
}
.promo-popup-close{
  position:absolute;
  top:8px;
  right:8px;
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.promo-popup-title{
  margin:0 0 8px;
  color:var(--accent-soft);
  font-family:"Cormorant Garamond", serif;
  font-size:29px;
  line-height:1.1;
}
.promo-popup-message{
  margin:0;
  color:rgba(246,243,235,.93);
  font-size:14px;
  line-height:1.55;
  white-space:pre-line;
}
.promo-popup-cta{
  margin-top:14px;
}

.gallery-grid-extended{
  margin-top:12px;
}
.booking-method-card p,
.booking-whatsapp-panel .booking-note,
.booking-whatsapp-panel .field-info-note{
  color:rgba(247,242,232,.9);
}
.booking-method-pill-online{
  color:#fff2d6;
  background:rgba(212,165,116,.33);
}
.booking-method-pill-whatsapp{
  color:#e7ffef;
  background:rgba(37,211,102,.26);
}
.booking-whatsapp-panel label span,
.booking-whatsapp-panel .field-info-label{
  color:#fff1d8;
  opacity:1;
}
.booking-whatsapp-panel input,
.booking-whatsapp-panel select,
.booking-whatsapp-panel textarea{
  background:rgba(4,9,12,.88);
  border:1px solid rgba(255,255,255,.34);
  color:#fff;
}
.booking-whatsapp-panel input::placeholder,
.booking-whatsapp-panel textarea::placeholder{
  color:rgba(255,255,255,.7);
}
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed p,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed span,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed li,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed td,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed th,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed label,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed h1,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed h2,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed h3,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed h4,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed h5,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed h6{
  color:#f0e8de !important;
}
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed a{
  color:#f7cf8a !important;
}
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed .wrap.plugin-container,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed .vbo-search-mainview,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed .vbdivsearch,
body.wp-theme-petit-hotel-elita-dignity .booking-online-only .booking-embed .vbo-availability-wrapper{
  background:rgba(5,10,12,.72) !important;
  border-color:rgba(255,255,255,.16) !important;
}
.booking-online-only .booking-embed .vbo-search-submit button,
.booking-online-only .booking-embed .vbo-pref-color-btn,
.booking-online-only .booking-embed .vbo-booking-button,
.booking-online-only .booking-embed .vbo-btn{
  color:#1a1208 !important;
}
.booking-online-only .booking-embed input,
.booking-online-only .booking-embed select,
.booking-online-only .booking-embed textarea{
  background:rgba(5,10,12,.9) !important;
  border:1px solid rgba(255,255,255,.35) !important;
  color:#fff !important;
}
.booking-online-only .booking-embed select option{
  color:#1a1a1a !important;
}
@media (max-width:680px){
  .booking-panel-head{
    align-items:flex-start;
  }
  .booking-panel-close{
    margin-left:auto;
  }
}

/* VikBooking contrast fixes on online booking page */
body .booking-online-only .booking-embed .vbo-pref-color-text,
body .booking-online-only .booking-embed .vbo-pref-bordertext{
  color:#f4e5c8 !important;
}

body .booking-online-only .booking-embed .vbo-pref-color-btn,
body .booking-online-only .booking-embed .vbo-pref-color-element,
body .booking-online-only .booking-embed .vbo-pref-background,
body .booking-online-only .booking-embed .ui-datepicker-calendar td.checkin-date>*,
body .booking-online-only .booking-embed .ui-datepicker-calendar td.checkout-date>*,
body .booking-online-only .booking-embed .ui-datepicker-calendar td.ui-state-highlight>*,
body .booking-online-only .booking-embed .ui-datepicker-calendar td.ui-datepicker-current-day>*,
body .booking-online-only .booking-embed ol.vbo-stepbar li.vbo-step-complete:before{
  background:#d4a574 !important;
  border-color:#d4a574 !important;
  color:#1a1208 !important;
}

body .booking-online-only .booking-embed .vbo-pref-bordercolor{
  border-color:#d4a574 !important;
}

body .booking-online-only .booking-embed .vbo-pref-color-btn:hover{
  background:#e8c8a0 !important;
  color:#1a1208 !important;
}

body .booking-online-only .booking-embed .vbo-pref-color-btn-secondary{
  border:1px solid #e8c8a0 !important;
  color:#f4e5c8 !important;
  background:rgba(255,255,255,.06) !important;
}

body .booking-online-only .booking-embed .vbo-pref-color-btn-secondary:hover{
  background:#e8c8a0 !important;
  border-color:#e8c8a0 !important;
  color:#1a1208 !important;
}

body .booking-online-only .booking-embed .ui-datepicker .ui-datepicker-current-day a,
body .booking-online-only .booking-embed .ui-datepicker td.checkin-date a:hover,
body .booking-online-only .booking-embed .ui-datepicker td.checkout-date a:hover,
body .booking-online-only .booking-embed .ui-datepicker-calendar td.ui-datepicker-current-day>*:hover{
  color:#1a1208 !important;
}

body .booking-online-only .booking-embed .vbo-rdetails-capacity-icn i{
  background:#d4a574 !important;
  color:#1a1208 !important;
}

/* WhatsApp booking engine details */
.room-picker-stock{
  display:block;
  margin-top:5px;
  font-size:11px;
  line-height:1.35;
  color:#f4e5c8;
  font-weight:600;
}
.booking-engine-note{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(232,200,160,.48);
  background:rgba(212,165,116,.14);
  color:#f5e8cf;
  font-size:12px;
  line-height:1.45;
}

/* Extra VikBooking color hardening for low-contrast presets */
body .booking-online-only .booking-embed .vbo-pref-color-element,
body .booking-online-only .booking-embed .vbo-pref-color-btn{
  color:#1a1208 !important;
}
body .booking-online-only .booking-embed .vbo-pref-color-btn:hover{
  color:#1a1208 !important;
  background:#d9ab62 !important;
}
body .booking-online-only .booking-embed .ui-datepicker .ui-datepicker-current-day a,
body .booking-online-only .booking-embed .ui-datepicker td.checkin-date a:hover,
body .booking-online-only .booking-embed .ui-datepicker td.checkout-date a:hover{
  color:#1a1208 !important;
}
body .booking-online-only .booking-embed label,
body .booking-online-only .booking-embed .vbo-mod-roomn-det{
  color:#f4e5c8 !important;
}

/* Remove mobile page-section collapse UI (menu keeps item-group collapse) */
@media (max-width:680px){
  .section-toggle{
    display:none !important;
  }
  .section.section-collapsible .section-content{
    max-height:none !important;
    opacity:1 !important;
    overflow:visible !important;
    transform:none !important;
    margin-top:10px !important;
  }
}

/* Compact mobile navigation spacing */
@media (max-width:760px){
  .site-header{
    gap:10px;
    padding:10px 12px;
  }
  .logo-main{
    font-size:18px;
    letter-spacing:2px;
  }
  .logo-sub{
    font-size:10px;
  }
  .header-right{
    width:auto;
    margin-left:auto;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:nowrap;
  }
  .site-header{
    align-items:center;
    z-index:80;
  }
  .mobile-nav-toggle{
    display:inline-flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:7px;
    min-height:40px;
    padding:8px 10px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(8,14,18,.54);
    color:#fff;
    cursor:pointer;
    order:2;
  }
  .mobile-nav-toggle-icon{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    gap:3px;
  }
  .mobile-nav-toggle-icon span{
    width:18px;
    height:2px;
    border-radius:99px;
    background:rgba(255,255,255,.95);
  }
  .mobile-nav-toggle-label{
    font-size:10px;
    letter-spacing:.75px;
    text-transform:uppercase;
    font-weight:700;
  }
  .lang-switch{
    order:3;
    margin-left:0;
  }
  .lang-current-btn{
    display:inline-flex;
  }
  .lang-current-code{
    display:none;
  }
  .lang-options{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    display:none;
    flex-direction:column;
    gap:6px;
    padding:8px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(8,14,18,.95);
    box-shadow:0 14px 32px rgba(0,0,0,.35);
    z-index:95;
  }
  .lang-switch.is-open .lang-options{
    display:flex;
  }
  .lang-options .lang-btn{
    min-width:40px;
    min-height:34px;
    font-size:20px;
  }
  .main-nav{
    position:fixed;
    top:0;
    right:0;
    width:min(84vw, 320px);
    height:100dvh;
    padding:16px 14px 20px;
    background:linear-gradient(165deg, rgba(26,40,38,.96) 0%, rgba(32,51,49,.96) 100%);
    border-left:1px solid rgba(255,255,255,.12);
    box-shadow:-20px 0 48px rgba(0,0,0,.5);
    transform:translateX(104%);
    transition:transform .25s ease;
    z-index:75;
    display:flex;
    flex-direction:column;
    gap:12px;
    overflow:auto;
  }
  .main-nav.is-open{
    transform:translateX(0);
  }
  .mobile-nav-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#f5e8c9;
    letter-spacing:.5px;
    text-transform:uppercase;
    font-size:12px;
  }
  .mobile-nav-close{
    width:34px;
    height:34px;
    border-radius:8px;
    border:1px solid rgba(255,255,255,.2);
    background:rgba(255,255,255,.06);
    color:#fff;
    font-size:24px;
    line-height:1;
    cursor:pointer;
  }
  .main-nav-list,
  .main-nav ul{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .main-nav a,
  .main-nav-list a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:42px;
    padding:10px 12px;
    border-radius:11px;
    letter-spacing:.4px;
    font-size:12px;
    line-height:1.2;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.22);
    opacity:1;
    pointer-events:auto;
    position:relative;
    z-index:1;
  }
  .mobile-nav-backdrop{
    position:fixed;
    inset:0;
    z-index:65;
    border:0;
    margin:0;
    padding:0;
    background:rgba(2,8,12,.32);
    opacity:0;
    pointer-events:none;
    transition:opacity .22s ease;
  }
  body.mobile-nav-open .mobile-nav-backdrop{
    display:block;
    opacity:1;
    pointer-events:auto;
  }
  body.mobile-nav-open{
    overflow:hidden;
  }
  #headerBookBtn{
    order:1;
    padding:9px 13px;
    font-size:10px;
  }
  .menu-item{
    grid-template-columns:minmax(0,1fr) auto;
    padding:12px;
  }
  .menu-item-name{
    font-size:16px;
  }
  .menu-item-price{
    font-size:15px;
  }
  .menu-add{
    font-size:11px;
    padding:8px 12px;
  }
}

/* Contact map click-through to directions */
.map-frame-link-wrap{
  position:relative;
}
.map-click-overlay{
  position:absolute;
  inset:0;
  display:block;
  z-index:2;
  cursor:pointer;
}

/* Booking auth + card details */
.booking-auth-box{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.28);
}
.booking-auth-box p{
  margin:0;
  color:rgba(247,242,232,.92);
  font-size:12px;
}
.booking-auth-logged{
  border-color:rgba(212,165,116,.42);
  background:rgba(212,165,116,.12);
}
.booking-auth-actions{
  margin-top:8px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.card-fields-wrap{
  margin-top:8px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(232,200,160,.42);
  background:rgba(212,165,116,.12);
}
.card-fields-wrap h4{
  margin:0 0 8px;
  font-size:13px;
  color:#fff0d1;
}
.card-fields-wrap .field-row{
  margin-top:8px;
}
.card-security-note{
  margin-top:8px;
  color:#ffe3b3 !important;
}

/* Booking flow v4 */
.home-booking-search-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:100%;
  max-width:780px;
}
.home-booking-search-form label{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.home-booking-search-form label span{
  font-size:11px;
  letter-spacing:.5px;
  text-transform:uppercase;
  opacity:.85;
}
.home-booking-search-form .btn{
  align-self:end;
  width:100%;
}

.room-picker-card{
  align-items:stretch;
}
.room-picker-media{
  flex:0 0 104px;
  width:104px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.35);
}
.room-picker-media img{
  width:100%;
  height:100%;
  min-height:96px;
  object-fit:cover;
  display:block;
}
.room-picker-info{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.room-picker-info h4{
  font-size:18px;
  line-height:1.2;
}
.room-picker-price{
  font-size:14px;
}
.room-picker-stock{
  font-size:12px;
  color:rgba(247,242,232,.9);
}
.room-picker-controls{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:6px;
}
.compact-counter{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.compact-counter-label{
  font-size:10px;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:rgba(247,242,232,.86);
}
.qty-control-room,
.qty-control-guests{
  justify-content:flex-start;
  gap:6px;
}
.guest-btn{
  width:30px;
  height:30px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:16px;
  cursor:pointer;
}
.guest-btn:hover{
  background:rgba(0,0,0,.65);
}
.room-person-input{
  width:58px;
  text-align:center;
  padding:6px 8px;
  border-radius:10px;
}
.room-line-total{
  margin-top:6px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
}
.room-line-total-value{
  color:var(--accent-soft);
  font-weight:700;
}
.booking-terms{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:8px 0 6px;
  font-size:12px;
  color:rgba(247,242,232,.92);
}
.booking-terms input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-top:2px;
}
.booking-terms a{
  color:#f7cf8a;
  text-decoration:underline;
}

@media (max-width:980px){
  .menu-layout{
    display:flex;
    flex-direction:column;
  }
  .menu-cart{
    order:-1;
    position:sticky;
    top:74px;
    z-index:4;
  }
}

@media (max-width:760px){
  .home-booking-search-form{
    grid-template-columns:minmax(0,1fr);
  }
  .room-picker-card{
    flex-direction:column;
    align-items:center;
    text-align:center;
    gap:14px;
  }
  .room-picker-info{
    width:100%;
    align-items:center;
    text-align:center;
  }
  .room-picker-controls{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .compact-counter{
    align-items:center;
  }
  .compact-counter-label{
    font-size:11px;
  }
  .qty-control-room,
  .qty-control-guests{
    width:100%;
    justify-content:center;
    gap:8px;
  }
  .qty-btn{
    width:36px;
    height:36px;
    font-size:20px;
  }
  .guest-btn{
    width:36px;
    height:36px;
    font-size:20px;
  }
  .room-qty-input{
    width:62px;
    min-height:36px;
    font-size:16px;
    font-weight:700;
    text-align:center;
  }
  .room-person-input{
    width:62px;
    min-height:36px;
    font-size:16px;
    font-weight:700;
    text-align:center;
  }
  .room-picker-media{
    width:100%;
    min-height:140px;
    flex:0 0 auto;
  }
}

@media (max-width:640px){
  .menu-cart{
    position:sticky !important;
    top:66px !important;
  }
  .menu-cart-actions{
    position:sticky;
    bottom:0;
    padding-top:10px;
    background:linear-gradient(180deg, rgba(5,10,12,.05) 0%, rgba(5,10,12,.96) 24%);
    z-index:3;
  }
}

/* Menu mobile balance fixes */
@media (max-width:760px){
  body.page-template-page-menu #menu .section-header,
  body.page-menu #menu .section-header{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:6px;
    margin-bottom:14px;
  }
  body.page-template-page-menu #menu .section-header h2,
  body.page-menu #menu .section-header h2{
    width:100%;
    margin:0;
    font-size:24px;
    line-height:1.14;
  }
  body.page-template-page-menu #menu .section-header p,
  body.page-menu #menu .section-header p{
    width:100%;
    max-width:none;
    margin:0;
    font-size:15px;
    line-height:1.45;
    color:rgba(247,242,232,.92);
  }

  body.page-template-page-menu .menu-cart,
  body.page-menu .menu-cart{
    width:100%;
    max-width:none;
    padding:18px 16px;
    border-radius:24px 16px 26px 16px;
  }
  body.page-template-page-menu .menu-cart h3,
  body.page-menu .menu-cart h3{
    margin-bottom:12px;
    font-size:20px;
    line-height:1.2;
  }
  body.page-template-page-menu .menu-cart-list,
  body.page-menu .menu-cart-list{
    gap:10px;
    min-height:84px;
  }
  body.page-template-page-menu .menu-cart-item,
  body.page-menu .menu-cart-item{
    padding:10px 12px;
  }
  body.page-template-page-menu .menu-cart-item span,
  body.page-menu .menu-cart-item span{
    font-size:15px;
    line-height:1.35;
  }
  body.page-template-page-menu .menu-empty,
  body.page-menu .menu-empty{
    font-size:14px;
  }
  body.page-template-page-menu .menu-cart-total,
  body.page-menu .menu-cart-total{
    margin-top:12px;
    font-size:15px;
    font-weight:600;
  }
  body.page-template-page-menu .menu-cart-note,
  body.page-menu .menu-cart-note{
    margin-top:10px;
    font-size:13px;
    line-height:1.45;
  }
  body.page-template-page-menu .menu-cart-actions,
  body.page-menu .menu-cart-actions{
    margin-top:12px;
    gap:10px;
    position:static;
    bottom:auto;
    padding-top:0;
    background:none;
  }
  body.page-template-page-menu .menu-cart-actions .btn,
  body.page-menu .menu-cart-actions .btn{
    flex:1 1 calc(50% - 5px);
    min-height:44px;
    padding:10px 12px;
    font-size:13px;
  }
}

@media (max-width:420px){
  body.page-template-page-menu .menu-cart-actions .btn,
  body.page-menu .menu-cart-actions .btn{
    flex-basis:100%;
  }
}

/* Footer additions */
.footer{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.footer-powered{
  display:flex;
  align-items:center;
  gap:6px;
}
.footer-manager-link{
  color:var(--accent-soft);
  text-decoration:none;
  font-weight:700;
}
.footer-manager-link:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Menu reservation form */
.menu-table-booking{
  margin-top:16px;
  padding-top:14px;
  border-top:1px dashed rgba(255,255,255,.18);
}
.menu-table-booking h4{
  margin:0 0 8px;
  color:var(--accent-soft);
  font-size:15px;
}
.menu-table-booking p{
  margin:0 0 12px;
  font-size:13px;
  color:var(--text-muted);
}
.menu-table-toggle{
  width:100%;
  justify-content:center;
  font-weight:700;
  letter-spacing:.2px;
  box-shadow:0 10px 24px rgba(212,165,116,.25);
}
.menu-table-form[hidden]{
  display:none !important;
}
.menu-table-form{
  margin-top:12px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.menu-table-step{
  padding:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.menu-table-step-title{
  margin:0 0 8px;
  font-size:12px;
  font-weight:700;
  color:var(--accent-soft);
}
.menu-table-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.menu-table-form label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:11px;
  color:var(--text-muted);
}
.menu-table-form input{
  width:100%;
}
.menu-table-hint{
  margin-top:2px;
  font-size:10px;
  color:rgba(255,255,255,.7);
}

/* Rooms page redesign */
body.page-template-page-rooms .room-grid,
body.page-rooms .room-grid{
  grid-template-columns:minmax(0,1fr);
  max-width:980px;
}
body.page-template-page-rooms .room-grid-stacked .room-card,
body.page-rooms .room-grid-stacked .room-card{
  display:grid;
  grid-template-columns:minmax(280px, 420px) minmax(0, 1fr);
  align-items:stretch;
}
body.page-template-page-rooms .room-grid-stacked .room-body,
body.page-rooms .room-grid-stacked .room-body{
  padding:16px;
}
.room-slider{
  position:relative;
  border-right:1px solid var(--border);
  background:#0b1012;
  min-height:100%;
}
.room-slider-track{
  height:100%;
  position:relative;
}
.room-slide{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  display:none;
}
.room-slide.is-active{
  display:block;
}
.room-slider-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.45);
  color:#fff;
  cursor:pointer;
  z-index:2;
}
.room-slider-prev{
  left:10px;
}
.room-slider-next{
  right:10px;
}
.room-feature-list{
  list-style:none;
  margin:12px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
}
.room-feature-list li{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:var(--text-muted);
  line-height:1.35;
}
.room-feature-icon{
  width:18px;
  flex:0 0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--accent-soft);
}
.room-feature-icon i{
  font-size:13px;
  line-height:1;
}

/* Facilities page alignment */
body.page-template-page-facilities #facilities .section-header,
body.page-template-page-facilities #facility-gallery .section-header,
body.page-template-page-facilities #tours .section-header,
body.page-facilities #facilities .section-header,
body.page-facilities #facility-gallery .section-header,
body.page-facilities #tours .section-header{
  text-align:center;
}
body.page-template-page-facilities #facilities .section-header p,
body.page-template-page-facilities #facility-gallery .section-header p,
body.page-template-page-facilities #tours .section-header p,
body.page-facilities #facilities .section-header p,
body.page-facilities #facility-gallery .section-header p,
body.page-facilities #tours .section-header p{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body.page-template-page-facilities #facilities .facility-card,
body.page-facilities #facilities .facility-card{
  text-align:center;
}
body.page-template-page-facilities #facilities .facility-icon,
body.page-facilities #facilities .facility-icon{
  margin-left:auto;
  margin-right:auto;
}
.tours-list{
  margin-bottom:10px;
}
.tours-list-priority{
  margin-bottom:8px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 18px;
}
.tours-list-priority li{
  font-weight:700;
  color:#fff;
  margin-bottom:0;
}
body.page-template-page-facilities .section-header,
body.page-template-page-policies .section-header,
body.page-template-page-contact .section-header,
body.page-facilities .section-header,
body.page-policies .section-header,
body.page-contact .section-header{
  text-align:center;
}
body.page-template-page-facilities .section-header p,
body.page-template-page-policies .section-header p,
body.page-template-page-contact .section-header p,
body.page-facilities .section-header p,
body.page-policies .section-header p,
body.page-contact .section-header p{
  margin-left:auto;
  margin-right:auto;
}

@media (max-width:980px){
  body.page-template-page-rooms .room-grid-stacked .room-card,
  body.page-rooms .room-grid-stacked .room-card{
    grid-template-columns:minmax(0,1fr);
  }
  .room-slider{
    border-right:none;
    border-bottom:1px solid var(--border);
  }
}

@media (max-width:760px){
  #about .section-header{
    display:block;
    text-align:center;
  }
  #about .section-header h2{
    justify-content:center;
    margin-bottom:6px;
  }
  #about .section-header p{
    margin:0 auto;
  }
  body.page-template-page-rooms .section-header,
  body.page-rooms .section-header{
    display:block;
    text-align:center;
  }
  body.page-template-page-rooms .section-header h2,
  body.page-rooms .section-header h2{
    justify-content:center;
    margin-bottom:6px;
  }
  body.page-template-page-rooms .section-header p,
  body.page-rooms .section-header p{
    margin:0 auto;
  }
  body.page-template-page-rooms .room-body h3,
  body.page-template-page-rooms .room-body p,
  body.page-rooms .room-body h3,
  body.page-rooms .room-body p{
    text-align:center;
  }
  .room-feature-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 8px;
  }
  .menu-table-form-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

/* Inline booking auth (phone + password) */
.booking-auth-inline{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.booking-auth-toggle{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.booking-auth-toggle .btn{
  width:100%;
}
.booking-auth-toggle .btn.is-active{
  background:linear-gradient(135deg, var(--accent), var(--accent-soft));
  color:#1a1208;
  border-color:transparent;
}
.booking-auth-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.booking-auth-form[hidden]{
  display:none !important;
}
.booking-auth-form label{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.booking-auth-form label span{
  font-size:11px;
  line-height:1.25;
  letter-spacing:.3px;
  color:#fff1d8;
}
.booking-auth-form input{
  min-height:38px;
}
.booking-auth-form button{
  grid-column:1 / -1;
}
.booking-auth-form.is-loading{
  opacity:.72;
}
.booking-auth-status{
  min-height:18px;
  font-size:12px;
  margin:0;
  color:rgba(247,242,232,.88);
}
.booking-auth-status.is-error{
  color:#ffd6d6;
}
.booking-auth-status.is-success{
  color:#d7ffd9;
}
.booking-auth-fallback-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

/* Strong mobile nav and overflow lock */
@media (max-width:760px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden !important;
    overscroll-behavior-x:none;
  }
  body{
    touch-action:pan-y;
  }
  body:not(.mobile-nav-open) .main-nav{
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translate3d(112%, 0, 0) !important;
  }
  .main-nav{
    right:0 !important;
    will-change:transform;
  }
}

/* Keep WhatsApp always visible/stable */
.whatsapp-float{
  left:auto !important;
  top:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  display:inline-flex !important;
  z-index:130 !important;
}
body.page-template-page-menu .whatsapp-float,
body.page-menu .whatsapp-float{
  display:inline-flex !important;
}

/* Brown headings: centered + animated on desktop and mobile */
body.page-template-page-facilities .section-header,
body.page-template-page-policies .section-header,
body.page-template-page-contact .section-header,
body.page-template-page-rooms .section-header,
body.page-facilities .section-header,
body.page-policies .section-header,
body.page-contact .section-header,
body.page-rooms .section-header{
  text-align:center !important;
}
body.page-template-page-facilities .section-header p,
body.page-template-page-policies .section-header p,
body.page-template-page-contact .section-header p,
body.page-template-page-rooms .section-header p,
body.page-facilities .section-header p,
body.page-policies .section-header p,
body.page-contact .section-header p,
body.page-rooms .section-header p{
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
body.page-template-page-facilities .section-header h2,
body.page-template-page-policies .section-header h2,
body.page-template-page-contact .section-header h2,
body.page-template-page-rooms .section-header h2,
body.page-facilities .section-header h2,
body.page-policies .section-header h2,
body.page-contact .section-header h2,
body.page-rooms .section-header h2{
  justify-content:center !important;
  animation:phed-title-glow 4.2s ease-in-out infinite !important;
}
body.page-template-page-facilities #facilities .facility-card,
body.page-facilities #facilities .facility-card{
  text-align:center !important;
}
body.page-template-page-facilities #facilities .facility-icon,
body.page-facilities #facilities .facility-icon{
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:760px){
  body.page-template-page-facilities .section-header,
  body.page-template-page-policies .section-header,
  body.page-template-page-contact .section-header,
  body.page-template-page-rooms .section-header,
  body.page-facilities .section-header,
  body.page-policies .section-header,
  body.page-contact .section-header,
  body.page-rooms .section-header{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
  }
  .booking-auth-form{
    grid-template-columns:minmax(0, 1fr);
  }
}

/* Tours lines: keep each route clear and straight */
#tours .check-list{
  margin-top:8px;
}
#tours .check-list li{
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}
@media (max-width:760px){
  #tours .check-list li{
    justify-content:flex-start;
    text-align:left;
    padding-left:18px;
  }
  #tours .check-list li::before{
    display:inline-block;
    left:0;
  }
}

/* Final mobile stability overrides */
@media (max-width:760px){
  html,
  body{
    overflow-x:hidden !important;
    overscroll-behavior-x:none !important;
    touch-action:pan-y;
  }
  .main-nav{
    right:0 !important;
    transform:translate3d(calc(100% + 40px), 0, 0) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    box-shadow:none !important;
  }
  .main-nav.is-open{
    transform:translate3d(0, 0, 0) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    box-shadow:-20px 0 48px rgba(0,0,0,.5) !important;
  }
  html.mobile-nav-open,
  body.mobile-nav-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }

  body.page-template-page-facilities .section-header,
  body.page-template-page-policies .section-header,
  body.page-template-page-contact .section-header,
  body.page-template-page-rooms .section-header,
  body.page-facilities .section-header,
  body.page-policies .section-header,
  body.page-contact .section-header,
  body.page-rooms .section-header{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    gap:8px !important;
  }
  body.page-template-page-facilities .section-header h2,
  body.page-template-page-policies .section-header h2,
  body.page-template-page-contact .section-header h2,
  body.page-template-page-rooms .section-header h2,
  body.page-facilities .section-header h2,
  body.page-policies .section-header h2,
  body.page-contact .section-header h2,
  body.page-rooms .section-header h2{
    text-align:center !important;
    justify-content:center !important;
    margin:0 auto 4px !important;
  }
  body.page-template-page-facilities .section-header p,
  body.page-template-page-policies .section-header p,
  body.page-template-page-contact .section-header p,
  body.page-template-page-rooms .section-header p,
  body.page-facilities .section-header p,
  body.page-policies .section-header p,
  body.page-contact .section-header p,
  body.page-rooms .section-header p{
    text-align:center !important;
    margin:0 auto !important;
  }
}

/* Booking: bank transfer panel + anchor offset */
#booking,
#bookingFormWrap{
  scroll-margin-top:110px;
}
.bank-details-wrap{
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(95,177,255,.42);
  background:rgba(35,79,121,.22);
}
.bank-details-wrap h4{
  margin:0 0 8px;
  font-size:13px;
  color:#dff1ff;
}
.bank-details-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}
.bank-details-list li{
  margin:0;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(0,0,0,.2);
  font-size:12px;
  line-height:1.45;
  color:#e9f5ff;
}
.bank-details-list li strong{
  color:#f2f8ff;
}
.bank-details-list li span{
  color:#e9f5ff;
  word-break:break-word;
}
.bank-details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
}
.bank-detail-item{
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  padding:8px;
}
.bank-detail-item strong{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:#f2f8ff;
}
.bank-detail-item span{
  font-size:12px;
  line-height:1.35;
  color:#e9f5ff;
  word-break:break-word;
}

/* Facilities: sliders and route pairs */
.facility-slider-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.facility-media-slider{
  border-right:none;
  min-height:220px;
}
.facility-media-slider .room-slider-track{
  min-height:220px;
}
.facility-media-slider .room-slide{
  display:none;
  min-height:220px;
  height:220px;
  object-fit:cover;
}
.facility-media-slider .room-slide.is-active{
  display:block;
}
.facility-media-slider .room-slider-btn{
  width:32px;
  height:32px;
}
#tours .tours-list-pairs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px 18px;
}
#tours .tours-list-pairs li{
  margin-bottom:0;
}
#tours .tours-list-single{
  margin-top:8px;
}
#tours .tours-list-single li{
  font-weight:700;
}

/* Mobile stability: nav and floating whatsapp */
@media (max-width:760px){
  html,
  body{
    overflow-x:hidden !important;
    overscroll-behavior-x:none !important;
    touch-action:pan-y;
  }
  .site-header{
    overflow:visible;
  }
  .main-nav{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    width:min(84vw,320px) !important;
    height:100dvh !important;
    transform:translate3d(100%,0,0) !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  .main-nav.is-open{
    transform:translate3d(0,0,0) !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
  html.mobile-nav-open,
  body.mobile-nav-open{
    overflow:hidden !important;
  }
  .facility-slider-grid{
    grid-template-columns:minmax(0,1fr);
  }
  #tours .tours-list-pairs{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px 10px;
  }
  .bank-details-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .bank-details-list li{
    padding:8px;
    font-size:11px;
  }
}
.whatsapp-float{
  position:fixed !important;
  right:max(14px, env(safe-area-inset-right)) !important;
  bottom:max(14px, env(safe-area-inset-bottom)) !important;
  transform:translateZ(0) !important;
  z-index:130 !important;
}

/* Final booking/menu/facilities polish */
body.page-template-page-facilities .facility-media-slider,
body.page-facilities .facility-media-slider{
  min-height:220px !important;
  border-radius:14px;
  overflow:hidden;
}
body.page-template-page-facilities .facility-media-slider .room-slider-track,
body.page-facilities .facility-media-slider .room-slider-track{
  min-height:220px !important;
}
body.page-template-page-facilities .facility-media-slider .room-slide,
body.page-facilities .facility-media-slider .room-slide{
  display:none !important;
  min-height:220px !important;
  height:220px !important;
  object-fit:cover;
}
body.page-template-page-facilities .facility-media-slider .room-slide.is-active,
body.page-facilities .facility-media-slider .room-slide.is-active{
  display:block !important;
}

body.page-template-page-menu #menu .section-header,
body.page-menu #menu .section-header{
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
body.page-template-page-menu #menu .section-header h2,
body.page-menu #menu .section-header h2{
  justify-content:center !important;
  margin:0 auto !important;
  animation:phed-title-glow 4.2s ease-in-out infinite !important;
}
body.page-template-page-menu #menu .section-header p,
body.page-menu #menu .section-header p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:760px){
  body.page-template-page-booking .booking-panel-head,
  body.page-booking .booking-panel-head{
    justify-content:center;
    text-align:center;
  }
  body.page-template-page-booking .booking-panel-head h2,
  body.page-booking .booking-panel-head h2{
    width:100%;
    text-align:center;
    justify-content:center;
  }
  body.page-template-page-booking .booking-actions,
  body.page-booking .booking-actions{
    justify-content:center;
    text-align:center;
  }
  body.page-template-page-booking .booking-actions .btn,
  body.page-booking .booking-actions .btn{
    min-width:238px;
  }

  body.page-template-page-facilities .facility-media-slider,
  body.page-facilities .facility-media-slider{
    min-height:190px !important;
  }
  body.page-template-page-facilities .facility-media-slider .room-slider-track,
  body.page-facilities .facility-media-slider .room-slider-track{
    min-height:190px !important;
  }
  body.page-template-page-facilities .facility-media-slider .room-slide,
  body.page-facilities .facility-media-slider .room-slide{
    min-height:190px !important;
    height:190px !important;
  }

  body.page-template-page-menu #menu .section-header,
  body.page-menu #menu .section-header{
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

/* PWA install + admin mobile panel */
.install-app-btn[hidden]{
  display:none !important;
}
.install-app-btn,
.admin-mobile-link{
  white-space:nowrap;
}

body.page-template-page-admin-mobile .admin-mobile-wrap,
body.page-admin-mobile .admin-mobile-wrap{
  max-width:1100px;
  margin:0 auto;
}

.admin-mobile-toolbar{
  display:flex;
  align-items:flex-end;
  gap:10px;
  justify-content:space-between;
  flex-wrap:wrap;
  margin:10px 0 12px;
}
.admin-toolbar-date{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:220px;
}
.admin-toolbar-date span{
  font-size:12px;
  color:var(--text-muted);
}

.admin-mobile-status{
  margin:0 0 10px;
  font-size:12px;
  color:var(--text-muted);
  min-height:18px;
}
.admin-mobile-status.is-error{
  color:#ff8e8e;
}
.admin-mobile-status.is-success{
  color:#8fd6a8;
}

.admin-mobile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.admin-mobile-card{
  background:rgba(12,18,21,.9);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
}
.admin-mobile-card h3{
  margin:0 0 6px;
  font-size:16px;
}
.admin-mobile-hint{
  margin:0 0 10px;
  font-size:12px;
  color:var(--text-muted);
}
.admin-mobile-card-wide{
  grid-column:1 / -1;
}
.admin-collapsible{
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.admin-collapsible summary{
  list-style:none;
  cursor:pointer;
  padding:12px;
  font-size:16px;
  font-weight:700;
}
.admin-collapsible summary::-webkit-details-marker{
  display:none;
}
.admin-collapsible[open] summary{
  border-bottom:1px solid var(--border);
}
.admin-collapsible .admin-reservation-list{
  margin:10px;
}

.admin-room-list,
.admin-price-list{
  display:grid;
  gap:8px;
}
.admin-room-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:12px;
  padding:8px;
  background:rgba(255,255,255,.02);
}
.admin-room-meta{
  min-width:0;
}
.admin-room-meta strong{
  display:block;
  font-size:13px;
}
.admin-room-meta small{
  display:block;
  font-size:11px;
  color:var(--text-muted);
}
.admin-room-stepper{
  display:flex;
  align-items:center;
  gap:6px;
}
.admin-step-btn{
  width:30px;
  height:30px;
  border-radius:9px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text-light);
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.admin-step-input{
  width:68px;
  text-align:center;
}

.admin-price-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:8px;
  background:rgba(255,255,255,.02);
}
.admin-price-row span{
  font-size:12px;
  color:var(--text-muted);
}
.admin-price-row input{
  width:120px;
}

.admin-discount-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
}
.admin-discount-grid label{
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:12px;
  color:var(--text-muted);
}
.admin-discount-grid .admin-checkbox-row{
  flex-direction:row;
  align-items:center;
  gap:8px;
  grid-column:1 / -1;
  color:var(--text-light);
}

.admin-card-actions{
  margin-top:12px;
  display:flex;
  justify-content:flex-end;
}

.admin-reservation-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}
.admin-reservation-empty{
  padding:10px;
  border:1px dashed var(--border);
  border-radius:10px;
  color:var(--text-muted);
  font-size:12px;
}
.admin-reservation-item{
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
  background:rgba(255,255,255,.02);
}
.admin-res-row-main{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}
.admin-res-row-main strong{
  font-size:13px;
}
.admin-res-status{
  font-size:11px;
  text-transform:uppercase;
}
.admin-res-status.status-pending{
  color:#f0d09f;
}
.admin-res-status.status-confirmed{
  color:#8fd6a8;
}
.admin-res-status.status-cancelled{
  color:#ff8e8e;
}
.admin-res-status.status-blocked{
  color:#e8b6ff;
}
.admin-res-row-meta{
  font-size:11px;
  color:var(--text-muted);
  line-height:1.35;
}
.admin-res-actions{
  margin-top:8px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.admin-res-btn{
  border:1px solid var(--border);
  border-radius:10px;
  padding:5px 10px;
  font-size:11px;
  cursor:pointer;
  color:var(--text-light);
  background:rgba(255,255,255,.05);
}
.admin-res-btn:hover{
  background:rgba(255,255,255,.12);
}
.admin-res-btn-cancel{
  border-color:rgba(255,120,120,.35);
  color:#ffb8b8;
}
.admin-res-btn-confirm{
  border-color:rgba(120,220,150,.35);
  color:#a8e9bd;
}

.admin-month-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:8px 0 10px;
}
.admin-toolbar-month{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:180px;
}
.admin-toolbar-month span{
  font-size:12px;
  color:var(--text-muted);
}
.admin-month-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.admin-month-calendar-wrap{
  overflow:auto;
  border:1px solid var(--border);
  border-radius:12px;
}
.admin-month-calendar{
  width:100%;
  min-width:1200px;
  border-collapse:collapse;
}
.admin-month-calendar th,
.admin-month-calendar td{
  border-top:1px solid var(--border);
  border-right:1px solid var(--border);
  vertical-align:top;
  padding:6px;
  white-space:nowrap;
}
.admin-month-calendar th:last-child,
.admin-month-calendar td:last-child{
  border-right:none;
}
.admin-month-calendar thead th{
  border-top:none;
  font-size:12px;
  text-align:center;
  color:var(--text-light);
  background:rgba(255,255,255,.04);
}
.admin-month-room-head{
  min-width:140px;
  text-align:left !important;
}
.admin-month-room-name{
  min-width:140px;
  text-align:left;
  font-size:12px;
  color:var(--text-light);
  background:rgba(255,255,255,.03);
}
.admin-month-col-head{
  display:grid;
  justify-items:center;
  gap:2px;
}
.admin-month-col-head strong{
  font-size:12px;
  color:var(--text-light);
}
.admin-month-col-head small{
  font-size:10px;
  color:var(--text-muted);
}
.admin-month-slot{
  display:grid;
  justify-items:center;
  gap:4px;
  min-width:58px;
}
.admin-month-slot input{
  width:58px;
  text-align:center;
  padding:5px 4px;
  font-size:12px;
}
.admin-month-slot small{
  font-size:10px;
  line-height:1.25;
  color:var(--text-muted);
}
.admin-month-empty{
  padding:14px;
  font-size:12px;
  color:var(--text-muted);
}

@media (max-width:980px){
  .admin-mobile-grid{
    grid-template-columns:minmax(0,1fr);
  }
}

@media (max-width:760px){
  .admin-mobile-toolbar{
    align-items:stretch;
  }
  .admin-toolbar-date{
    min-width:0;
    width:100%;
  }
  .admin-card-actions{
    justify-content:center;
  }
  .admin-card-actions .btn{
    width:100%;
  }
  .admin-price-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .admin-price-row input{
    width:100%;
  }
  .admin-discount-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .admin-month-actions .btn{
    flex:1 1 auto;
  }
  .admin-month-room-head,
  .admin-month-room-name{
    min-width:112px;
  }
  .admin-month-slot{
    min-width:52px;
  }
  .admin-month-slot input{
    width:52px;
  }
}

/* Desktop nav click safety */
@media (min-width:761px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:320 !important;
    isolation:isolate;
  }
  .site-header .main-nav{
    position:relative !important;
    z-index:321 !important;
  }
  .main-nav,
  .main-nav-list,
  .main-nav ul{
    position:static !important;
    transform:none !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .main-nav a,
  .main-nav-list a{
    position:relative !important;
    z-index:322 !important;
    pointer-events:auto !important;
  }
  .mobile-nav-backdrop,
  #mobileNavBackdrop{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
  html.mobile-nav-open,
  body.mobile-nav-open{
    overflow-y:auto !important;
  }
}

/* FINAL desktop nav hard-fix */
@media (min-width:761px){
  .site-header,
  .site-header *{
    pointer-events:auto;
  }
  .site-header::before,
  .site-header::after{
    pointer-events:none !important;
  }

  body:not(.mobile-nav-open) .main-nav,
  body:not(.mobile-nav-open) .main-nav-list,
  body:not(.mobile-nav-open) .main-nav ul,
  body:not(.mobile-nav-open) .main-nav li,
  body:not(.mobile-nav-open) .main-nav a{
    pointer-events:auto !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
  }

  .main-nav{
    position:relative !important;
    right:auto !important;
    left:auto !important;
    top:auto !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    min-height:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .mobile-nav-backdrop,
  #mobileNavBackdrop{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    z-index:-1 !important;
  }

  .mobile-nav-toggle,
  #mobileNavToggle,
  .mobile-nav-close,
  #mobileNavClose{
    display:none !important;
    pointer-events:none !important;
  }
}

/* 2026 Design System + Booking UX hardening */
:root{
  --phed-font-sans:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;
  --phed-bg:#0a0e1a;
  --phed-bg-elev:#111833;
  --phed-glass:rgba(255,255,255,.06);
  --phed-border:rgba(232,200,160,.24);
  --phed-focus:0 0 0 3px rgba(232,200,160,.45);
  --phed-radius-lg:22px;
  --phed-radius-md:14px;
  --phed-shadow-lg:0 22px 60px rgba(0,0,0,.55);
}

body{
  font-family:var(--phed-font-sans);
  background:radial-gradient(1100px 540px at 4% -6%, rgba(212,165,116,.15), transparent 52%),
             radial-gradient(900px 500px at 100% 0%, rgba(20,30,65,.25), transparent 58%),
             var(--phed-bg);
}

.logo{
  gap:5px;
  align-items:flex-start;
}
.logo-wordmark-wrap{
  display:block;
  line-height:0;
}
.logo-wordmark{
  display:block;
  width:clamp(170px, 32vw, 280px);
  height:auto;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.35));
}
.logo-sub{
  margin-left:4px;
  font-size:11px;
  letter-spacing:.26em;
  text-transform:uppercase;
}

.booking-card,
.room-card,
.facility-card,
.policy-card,
.info-card,
.note-card{
  background:linear-gradient(165deg, rgba(10,17,23,.9), rgba(7,12,17,.78));
  border-color:var(--phed-border);
  box-shadow:var(--phed-shadow-lg);
  backdrop-filter:blur(7px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:none;
  box-shadow:var(--phed-focus);
}

.booking-form-status{
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid transparent;
  font-size:13px;
  line-height:1.45;
}
.booking-form-status.is-info{
  border-color:rgba(212,165,116,.5);
  background:rgba(212,165,116,.14);
}
.booking-form-status.is-success{
  border-color:rgba(74,178,130,.55);
  background:rgba(74,178,130,.16);
}
.booking-form-status.is-warning{
  border-color:rgba(224,173,78,.58);
  background:rgba(224,173,78,.17);
}
.booking-form-status.is-error{
  border-color:rgba(220,108,108,.62);
  background:rgba(220,108,108,.14);
}

.booking-form-help{
  margin-top:10px;
  color:var(--text-muted);
  font-size:12px;
}

.field-error-msg{
  display:block;
  margin-top:5px;
  font-size:12px;
  color:#ffb9b9;
}

input.is-invalid,
textarea.is-invalid,
select.is-invalid{
  border-color:#e87b7b !important;
}

.booking-form.is-submitting{
  pointer-events:none;
  opacity:.84;
}
.booking-actions .btn[disabled]{
  filter:saturate(.75);
  cursor:not-allowed;
}

.footer{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-topline{
  display:flex;
  gap:12px;
  justify-content:space-between;
  flex-wrap:wrap;
}
.footer-nap{
  display:flex;
  gap:10px 16px;
  flex-wrap:wrap;
  align-items:center;
  font-size:12px;
  color:var(--text-muted);
}
.footer-nap-link{
  color:var(--accent-soft);
}
.footer-nap-address{
  opacity:.95;
}

@media (max-width:760px){
  .logo-wordmark{
    width:180px;
  }
  .logo-sub{
    letter-spacing:.2em;
    font-size:10px;
  }
  .footer-topline,
  .footer-nap{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
}

/* 2026 round 2 refinements: warm premium + booking/mobile fixes */
:root{
  --bg:#120a08;
  --bg2:#1b110d;
  --accent:#d39a56;
  --accent-soft:#f0cd9a;
  --card:rgba(20,12,10,.88);
  --card-soft:rgba(26,15,12,.8);
  --border:rgba(240,205,154,.22);
  --text-muted:rgba(244,232,215,.78);
  --phed-bg:#120a08;
  --phed-bg-elev:#1f130f;
  --phed-border:rgba(240,205,154,.25);
  --phed-focus:0 0 0 3px rgba(211,154,86,.42);
}

body{
  background:
    radial-gradient(900px 520px at 8% 0%, rgba(211,154,86,.18), transparent 58%),
    radial-gradient(900px 520px at 100% 8%, rgba(133,86,53,.18), transparent 62%),
    linear-gradient(160deg, #160e0b 0%, #0f0907 100%);
}

body::before,
body::after{
  opacity:.45;
  filter:none;
}

.logo{
  animation:none !important;
  text-decoration:none;
}

.logo-wordmark{
  display:none !important;
}

.logo-wordmark-wrap{
  display:block;
  line-height:1;
}

.logo-wordmark-script{
  display:inline-flex;
  align-items:baseline;
  gap:.34rem;
  color:#f4dcc1;
  font-family:"Times New Roman","Palatino Linotype",serif;
  text-shadow:0 8px 18px rgba(0,0,0,.42);
  white-space:nowrap;
}

.logo-wordmark-petit{
  font-size:clamp(13px,1.1vw,18px);
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.9;
  font-style:normal;
}

.logo-wordmark-hotel{
  font-size:clamp(12px,1vw,16px);
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.72;
  font-style:normal;
}

.logo-wordmark-elita{
  font-size:clamp(24px,2.3vw,34px);
  line-height:1;
  font-style:italic;
  font-weight:600;
  letter-spacing:.04em;
}

.logo-sub{
  display:none !important;
}

.lang-current-code{
  display:none !important;
}

.lang-current-btn,
.lang-options{
  background:rgba(23,14,11,.84);
  border-color:rgba(240,205,154,.25);
}

.lang-btn{
  background:rgba(255,255,255,.05);
  border-color:rgba(240,205,154,.25);
}

.footer{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.footer-topline{
  justify-content:center;
  align-items:center;
  text-align:center;
}

.footer-nap{
  display:none !important;
}

.booking-cta-band,
.booking-online-band{
  display:none !important;
}

.booking-section{
  padding-top:8px;
}

#bookingFormWrap .booking-card,
.booking-whatsapp-panel .booking-card{
  overflow:visible;
}

#bookingFormWrap .booking-form{
  min-width:0;
}

#bookingFormWrap .field-row > *,
#bookingFormWrap .room-picker-card,
#bookingFormWrap .room-picker-controls,
#bookingFormWrap .compact-counter,
#bookingFormWrap .qty-control-room,
#bookingFormWrap .qty-control-guests{
  min-width:0;
}

@media (max-width:760px){
  #bookingFormWrap .field-row{
    grid-template-columns:minmax(0,1fr);
  }

  #bookingFormWrap .booking-card{
    padding:14px;
  }

  #bookingFormWrap .room-picker-grid{
    grid-template-columns:minmax(0,1fr);
  }

  .logo-wordmark-script{
    gap:.26rem;
  }

  .logo-wordmark-petit{
    font-size:13px;
  }

  .logo-wordmark-hotel{
    font-size:11px;
  }

  .logo-wordmark-elita{
    font-size:24px;
  }
}

@media (max-width:420px){
  #bookingFormWrap .room-picker-controls{
    grid-template-columns:minmax(0,1fr);
  }

  #bookingFormWrap .qty-control-room,
  #bookingFormWrap .qty-control-guests{
    justify-content:space-between;
  }

  #bookingFormWrap .room-qty-input,
  #bookingFormWrap .room-person-input{
    width:100%;
    max-width:84px;
  }
}

/* 2026 round 3: high-tech polish + requested refinements */
:root{
  --accent-tech:#6fd8ff;
  --accent-tech-soft:#9de9ff;
}

html{
  background:
    radial-gradient(1200px 620px at 0% -8%, rgba(211,154,86,.2), transparent 58%),
    radial-gradient(980px 600px at 100% -6%, rgba(111,216,255,.16), transparent 62%),
    linear-gradient(180deg, #150d0a 0%, #15111c 44%, #0d0908 100%);
}

body{
  background:transparent !important;
}

body::before,
body::after{
  display:none !important;
}

.btn-primary{
  background:linear-gradient(130deg, #d39a56 0%, #efc98e 58%, #8ddff9 100%);
  box-shadow:0 12px 34px rgba(111,216,255,.16), 0 10px 26px rgba(211,154,86,.2);
}

.site-header .main-nav a,
.site-header .main-nav-list a{
  position:relative;
  padding:6px 2px;
  transition:color .25s ease, transform .25s ease, text-shadow .25s ease;
}

.site-header .main-nav a::after,
.site-header .main-nav-list a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:100%;
  height:2px;
  border-radius:999px;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg, var(--accent) 0%, var(--accent-tech) 100%);
  transition:transform .25s ease;
}

.site-header .main-nav a:hover,
.site-header .main-nav-list a:hover{
  color:#fff;
  transform:translateY(-1px);
  text-shadow:0 0 14px rgba(111,216,255,.25);
}

.site-header .main-nav a:hover::after,
.site-header .main-nav-list a:hover::after{
  transform:scaleX(1);
}

.logo-wordmark-script{
  font-family:"Segoe Script","Lucida Handwriting","Palatino Linotype",serif;
  letter-spacing:.02em;
}

.logo-wordmark-petit{
  opacity:.84;
  letter-spacing:.12em;
}

.logo-wordmark-hotel{
  opacity:.72;
}

.logo-wordmark-elita{
  color:#f3dfbf;
  text-shadow:0 0 12px rgba(211,154,86,.26), 0 0 24px rgba(111,216,255,.16);
}

body.home .logo-wordmark-script{
  animation:phedWordmarkEnter .95s cubic-bezier(.18,.78,.23,1.02) .08s both;
}

body.home .logo-wordmark-elita{
  animation:phedElitaGlow 1.8s ease .45s both;
}

@keyframes phedWordmarkEnter{
  from{
    opacity:0;
    transform:translateY(-10px) scale(.985);
    filter:blur(1px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes phedElitaGlow{
  0%{
    text-shadow:0 0 0 rgba(211,154,86,0), 0 0 0 rgba(111,216,255,0);
  }
  100%{
    text-shadow:0 0 14px rgba(211,154,86,.26), 0 0 28px rgba(111,216,255,.2);
  }
}

.lang-btn{
  position:relative;
  font-size:0 !important;
  color:transparent !important;
}

.lang-btn::before{
  content:"";
  display:block;
  width:24px;
  height:16px;
  border-radius:3px;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 1px 4px rgba(0,0,0,.25);
}

.lang-btn[data-flag="AL"]::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 980 700'%3E%3Crect fill='%23e41e20' width='980' height='700'/%3E%3Cg transform='translate(490,350)'%3E%3Cpath d='M0-195c-18 0-34 8-46 22l-8-48-38 18 20 42-48-12 4 42 36-4-30 34 36 16 6-38 22 34h92l22-34 6 38 36-16-30-34 36 4 4-42-48 12 20-42-38-18-8 48c-12-14-28-22-46-22z' fill='%23000'/%3E%3Cpath d='M0-162c-12 0-22 5-30 14l-5-32-25 12 13 28-32-8 3 28 24-3-20 22 24 11 4-26 14 22h60l14-22 4 26 24-11-20-22 24 3 3-28-32 8 13-28-25-12-5 32c-8-9-18-14-30-14z' fill='%23000'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}

.lang-btn[data-flag="IT"]::before{
  background:linear-gradient(90deg, #1b8f4d 0 33.33%, #ffffff 33.33% 66.66%, #d13c3c 66.66% 100%);
}

.lang-btn[data-flag="FR"]::before{
  background:linear-gradient(90deg, #2c4bb9 0 33.33%, #ffffff 33.33% 66.66%, #d33b3b 66.66% 100%);
}

.lang-btn[data-flag="DE"]::before{
  background:linear-gradient(180deg, #111111 0 33.33%, #b62f2f 33.33% 66.66%, #e2b74b 66.66% 100%);
}

.lang-btn[data-flag="GB"]::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3CclipPath id='a'%3E%3Crect width='60' height='30'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23a)'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0 0l60 30M60 0L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0l60 30' stroke='%23C8102E' stroke-width='2' transform='translate(0 -1)'/%3E%3Cpath d='M60 0L0 30' stroke='%23C8102E' stroke-width='2' transform='translate(0 1)'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}

@media (min-width:761px){
  .lang-options{
    display:flex !important;
    gap:8px;
    padding:6px;
  }
  .lang-options .lang-btn{
    min-width:40px;
    min-height:30px;
    padding:6px;
  }
}

body.page-template-page-menu .menu-category,
body.page-menu .menu-category{
  background:linear-gradient(155deg, rgba(34,18,14,.92), rgba(15,30,42,.76));
  border:1px solid rgba(111,216,255,.22);
}

body.page-template-page-menu .menu-category-toggle,
body.page-menu .menu-category-toggle{
  background:linear-gradient(120deg, rgba(211,154,86,.2), rgba(111,216,255,.12));
}

body.page-template-page-menu .menu-category-toggle:hover,
body.page-menu .menu-category-toggle:hover{
  background:linear-gradient(120deg, rgba(211,154,86,.28), rgba(111,216,255,.2));
}

body.page-template-page-menu .menu-category.is-open .menu-category-toggle,
body.page-menu .menu-category.is-open .menu-category-toggle{
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.14);
}

/* 2026 round 4: alternate palette + equal-size wordmark */
:root{
  --bg:#081826;
  --bg2:#10293b;
  --accent:#72e6ff;
  --accent-soft:#bff3ff;
  --accent-warm:#ffbf7a;
  --card:rgba(10,24,37,.86);
  --card-soft:rgba(13,30,45,.8);
  --border:rgba(114,230,255,.24);
  --text-muted:rgba(228,242,255,.8);
  --phed-bg:#081826;
  --phed-bg-elev:#10293b;
  --phed-border:rgba(114,230,255,.26);
  --phed-focus:0 0 0 3px rgba(114,230,255,.42);
}

html{
  background:#081826 !important;
}

body{
  background:
    radial-gradient(920px 520px at 6% 2%, rgba(114,230,255,.2), transparent 58%),
    radial-gradient(980px 540px at 96% 2%, rgba(255,191,122,.18), transparent 60%),
    linear-gradient(170deg, #081826 0%, #122e45 52%, #0b1d2f 100%) !important;
  background-attachment:fixed;
}

.site-header{
  background:linear-gradient(180deg, rgba(4,12,18,.9) 0%, rgba(7,18,27,.44) 64%, transparent 100%);
  border-bottom-color:rgba(114,230,255,.14);
}

.btn-primary{
  background:linear-gradient(132deg, var(--accent-warm) 0%, var(--accent) 58%, var(--accent-soft) 100%);
  color:#10212f;
  box-shadow:0 12px 30px rgba(114,230,255,.22), 0 10px 24px rgba(255,191,122,.2);
}

.btn-primary:hover{
  background:linear-gradient(132deg, var(--accent) 0%, var(--accent-soft) 66%, #d7fbff 100%);
}

.booking-card,
.room-card,
.facility-card,
.policy-card,
.info-card,
.note-card,
.menu-category,
.menu-cart,
.contact-panel{
  background:linear-gradient(155deg, rgba(8,22,34,.9), rgba(12,34,52,.82));
  border-color:rgba(114,230,255,.24);
}

.site-header .main-nav a,
.site-header .main-nav-list a{
  position:relative;
  transition:color .24s ease, transform .24s ease, text-shadow .24s ease;
}

.site-header .main-nav a::after,
.site-header .main-nav-list a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:100%;
  height:2px;
  border-radius:999px;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg, var(--accent) 0%, var(--accent-warm) 100%);
  transition:transform .24s ease;
}

.site-header .main-nav a:hover,
.site-header .main-nav-list a:hover{
  color:#f4fbff;
  transform:translateY(-1px);
  text-shadow:0 0 12px rgba(114,230,255,.3);
}

.site-header .main-nav a:hover::after,
.site-header .main-nav-list a:hover::after{
  transform:scaleX(1);
}

.logo-wordmark-script{
  display:inline-flex;
  align-items:baseline;
  gap:.3rem;
  font-family:"Palatino Linotype","Book Antiqua",serif;
  letter-spacing:.02em;
}

.logo-wordmark-script > span{
  font-size:clamp(22px,2vw,30px);
  line-height:1;
}

.logo-wordmark-petit,
.logo-wordmark-hotel{
  color:#eaf7ff;
  font-weight:500;
  opacity:.95;
}

.logo-wordmark-elita{
  color:#ffd19a;
  font-weight:700;
  text-shadow:0 0 12px rgba(255,191,122,.25), 0 0 18px rgba(114,230,255,.2);
}

body.home .logo-wordmark-script{
  animation:phedWordmarkAltEnter .85s cubic-bezier(.2,.78,.22,1.02) .08s both;
}

@keyframes phedWordmarkAltEnter{
  from{
    opacity:0;
    transform:translateY(-8px) scale(.985);
    filter:blur(1px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

body.page-template-page-menu .menu-category,
body.page-menu .menu-category{
  border-color:rgba(114,230,255,.28);
  background:linear-gradient(160deg, rgba(9,28,42,.92), rgba(16,38,56,.84));
}

body.page-template-page-menu .menu-category-toggle,
body.page-menu .menu-category-toggle{
  background:linear-gradient(120deg, rgba(114,230,255,.18), rgba(255,191,122,.14));
}

body.page-template-page-menu .menu-category-toggle:hover,
body.page-menu .menu-category-toggle:hover{
  background:linear-gradient(120deg, rgba(114,230,255,.28), rgba(255,191,122,.22));
}

/* 2026 round 5: alternative palette + balanced wordmark */
:root{
  --bg:#0a1f30;
  --bg2:#16354b;
  --card:rgba(13,34,49,.84);
  --card-soft:rgba(17,41,58,.8);
  --surface:#1e4861;
  --border:rgba(134,224,255,.24);
  --text:#eef8ff;
  --text-muted:rgba(222,238,249,.78);
  --accent:#7adfff;
  --accent-soft:#c8f2ff;
  --accent-warm:#ffc98f;
  --accent-rose:#f3a9b2;
  --accent-olive:#9dbf9c;
  --shadow-lg:0 22px 50px rgba(4,13,20,.36);
  --shadow-soft:0 10px 26px rgba(10,24,38,.28);
  --phed-bg:#0a1f30;
  --phed-bg-elev:#16354b;
  --phed-border:rgba(134,224,255,.24);
  --phed-focus:0 0 0 3px rgba(122,223,255,.38);
}

html{
  background:#0a1f30 !important;
}

body{
  background:
    radial-gradient(960px 580px at 8% -2%, rgba(122,223,255,.2), transparent 56%),
    radial-gradient(820px 520px at 98% 0%, rgba(243,169,178,.14), transparent 62%),
    radial-gradient(720px 460px at 50% 100%, rgba(157,191,156,.12), transparent 64%),
    linear-gradient(165deg, #0a1f30 0%, #193c55 52%, #10293d 100%) !important;
  background-attachment:fixed;
}

body::before,
body::after{
  display:none !important;
}

.site-header{
  background:linear-gradient(180deg, rgba(6,15,23,.88) 0%, rgba(9,20,31,.58) 72%, rgba(9,20,31,.2) 100%);
  border-bottom-color:rgba(134,224,255,.14);
  box-shadow:0 12px 24px rgba(4,12,20,.22);
}

.site-header .main-nav a,
.site-header .main-nav-list a{
  position:relative;
  transition:color .26s ease, transform .26s ease, text-shadow .26s ease;
}

.site-header .main-nav a::after,
.site-header .main-nav-list a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--accent) 0%, var(--accent-warm) 58%, var(--accent-rose) 100%);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .26s ease;
}

.site-header .main-nav a:hover,
.site-header .main-nav-list a:hover{
  color:#fbfeff;
  transform:translateY(-1px);
  text-shadow:0 0 14px rgba(122,223,255,.3);
}

.site-header .main-nav a:hover::after,
.site-header .main-nav-list a:hover::after{
  transform:scaleX(1);
}

.btn-primary{
  background:linear-gradient(130deg, var(--accent-warm) 0%, var(--accent) 48%, var(--accent-soft) 100%);
  color:#0f273a;
  box-shadow:0 12px 32px rgba(122,223,255,.22), 0 8px 20px rgba(255,201,143,.2);
}

.btn-primary:hover{
  background:linear-gradient(130deg, var(--accent) 0%, var(--accent-soft) 62%, #dcf8ff 100%);
}

.booking-card,
.room-card,
.facility-card,
.policy-card,
.info-card,
.note-card,
.menu-category,
.menu-cart,
.contact-panel{
  background:linear-gradient(158deg, rgba(12,32,46,.9), rgba(19,45,63,.84));
  border-color:rgba(134,224,255,.24);
  box-shadow:var(--shadow-soft);
}

.logo-wordmark-script{
  display:inline-flex;
  align-items:baseline;
  gap:.34rem;
  font-family:"URW Chancery L","Palatino Linotype","Book Antiqua",serif;
  letter-spacing:.012em;
}

.logo-wordmark-script > span{
  font-size:clamp(22px,2vw,30px);
  line-height:1;
}

.logo-wordmark-petit,
.logo-wordmark-hotel{
  color:#f1f8fd;
  font-weight:600;
  text-shadow:0 0 10px rgba(122,223,255,.16);
}

.logo-wordmark-elita{
  color:#ffd7aa;
  font-weight:800;
  letter-spacing:.022em;
  text-shadow:0 0 14px rgba(255,201,143,.28), 0 0 16px rgba(122,223,255,.2);
}

body.home .logo-wordmark-script{
  animation:phedWordmarkRise .8s cubic-bezier(.2,.82,.22,1) .08s both;
}

body.home .logo-wordmark-elita{
  animation:phedWordmarkPulse 2.4s ease .7s infinite alternate;
}

@keyframes phedWordmarkRise{
  from{
    opacity:0;
    transform:translateY(-8px) scale(.985);
    filter:blur(1px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes phedWordmarkPulse{
  from{
    text-shadow:0 0 10px rgba(255,201,143,.22), 0 0 12px rgba(122,223,255,.14);
  }
  to{
    text-shadow:0 0 18px rgba(255,201,143,.32), 0 0 22px rgba(122,223,255,.24);
  }
}

/* 2026 round 6: final requested polish */
:root{
  --accent:#74dbff;
  --accent-soft:#c7f3ff;
  --accent-warm:#ffc889;
  --accent-fresh:#9fd2b0;
  --card:rgba(15,35,52,.85);
  --card-soft:rgba(18,42,60,.82);
  --border:rgba(212,165,116,.24);
  --text-muted:rgba(226,239,248,.8);
  --phed-bg:#0b2134;
  --phed-bg-elev:#193f5a;
  --phed-border:rgba(212,165,116,.24);
  --phed-focus:0 0 0 3px rgba(212,165,116,.4);
}

html{
  background:#0b2134 !important;
}

body{
  background:
    radial-gradient(1080px 560px at 5% -3%, rgba(116,219,255,.18), transparent 56%),
    radial-gradient(940px 520px at 98% -1%, rgba(232,200,160,.16), transparent 60%),
    radial-gradient(780px 420px at 50% 102%, rgba(159,210,176,.13), transparent 64%),
    linear-gradient(165deg, #0b2134 0%, #183d56 55%, #102a3e 100%) !important;
  background-attachment:fixed;
}

body::before,
body::after{
  display:none !important;
}

.site-header{
  background:linear-gradient(180deg, rgba(7,18,28,.9) 0%, rgba(9,21,33,.64) 74%, rgba(9,21,33,.2) 100%);
  border-bottom-color:rgba(212,165,116,.16);
  box-shadow:0 10px 24px rgba(4,12,20,.26);
}

.site-header .main-nav a,
.site-header .main-nav-list a{
  position:relative;
  transition:color .24s ease, transform .24s ease, text-shadow .24s ease;
}

.site-header .main-nav a::after,
.site-header .main-nav-list a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-4px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--accent) 0%, var(--accent-warm) 62%, var(--accent-fresh) 100%);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .24s ease;
}

.site-header .main-nav a:hover,
.site-header .main-nav-list a:hover{
  color:#f8fdff;
  transform:translateY(-1px);
  text-shadow:0 0 12px rgba(212,165,116,.32);
}

.site-header .main-nav a:hover::after,
.site-header .main-nav-list a:hover::after{
  transform:scaleX(1);
}

.site-header .btn{
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.site-header .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(4,12,20,.36);
  filter:brightness(1.03);
}

.btn-primary{
  background:linear-gradient(130deg, var(--accent-warm) 0%, var(--accent) 52%, var(--accent-soft) 100%);
  color:#10283b;
  box-shadow:0 12px 30px rgba(212,165,116,.2), 0 9px 20px rgba(232,200,160,.18);
}

.btn-primary:hover{
  background:linear-gradient(130deg, var(--accent) 0%, var(--accent-soft) 66%, #def8ff 100%);
}

.booking-card,
.room-card,
.facility-card,
.policy-card,
.info-card,
.note-card,
.menu-category,
.menu-cart,
.contact-panel{
  background:linear-gradient(158deg, rgba(14,35,51,.9), rgba(21,48,68,.84));
  border-color:rgba(212,165,116,.24);
}

.logo-wordmark-script{
  display:inline-flex;
  align-items:baseline;
  gap:.34rem;
  font-family:"URW Chancery L","Palatino Linotype","Book Antiqua",serif;
  letter-spacing:.015em;
}

.logo-wordmark-script > span{
  font-size:clamp(23px,2vw,30px);
  line-height:1.02;
}

.logo-wordmark-petit,
.logo-wordmark-hotel{
  color:#f2f9fe;
  font-weight:600;
  text-shadow:0 0 9px rgba(212,165,116,.14);
}

.logo-wordmark-elita{
  color:#ffd8aa;
  font-weight:800;
  letter-spacing:.02em;
  text-shadow:0 0 16px rgba(232,200,160,.32), 0 0 18px rgba(212,165,116,.2);
}

body.home .logo-wordmark-script{
  animation:phedWordmarkFinalEnter .82s cubic-bezier(.2,.8,.2,1) .08s both;
}

body.home .logo-wordmark-elita{
  animation:phedWordmarkFinalGlow 2.5s ease .62s infinite alternate;
}

@keyframes phedWordmarkFinalEnter{
  from{
    opacity:0;
    transform:translateY(-8px) scale(.986);
    filter:blur(1px);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

@keyframes phedWordmarkFinalGlow{
  from{
    text-shadow:0 0 10px rgba(232,200,160,.24), 0 0 12px rgba(212,165,116,.14);
  }
  to{
    text-shadow:0 0 20px rgba(232,200,160,.34), 0 0 24px rgba(212,165,116,.24);
  }
}

.lang-btn{
  position:relative;
  font-size:0 !important;
  color:transparent !important;
  line-height:1 !important;
}

.lang-btn::before{
  content:"";
  display:block;
  width:24px;
  height:16px;
  border-radius:3px;
  border:1px solid rgba(255,255,255,.36);
  box-shadow:0 1px 4px rgba(0,0,0,.26);
}

.lang-btn[data-flag="AL"]::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 980 700'%3E%3Crect fill='%23e41e20' width='980' height='700'/%3E%3Cg transform='translate(490,350)'%3E%3Cpath d='M0-195c-18 0-34 8-46 22l-8-48-38 18 20 42-48-12 4 42 36-4-30 34 36 16 6-38 22 34h92l22-34 6 38 36-16-30-34 36 4 4-42-48 12 20-42-38-18-8 48c-12-14-28-22-46-22z' fill='%23000'/%3E%3Cpath d='M0-162c-12 0-22 5-30 14l-5-32-25 12 13 28-32-8 3 28 24-3-20 22 24 11 4-26 14 22h60l14-22 4 26 24-11-20-22 24 3 3-28-32 8 13-28-25-12-5 32c-8-9-18-14-30-14z' fill='%23000'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}

.lang-btn[data-flag="IT"]::before{
  background:linear-gradient(90deg, #1b8f4d 0 33.33%, #fff 33.33% 66.66%, #d13c3c 66.66% 100%);
}

.lang-btn[data-flag="FR"]::before{
  background:linear-gradient(90deg, #2c4bb9 0 33.33%, #fff 33.33% 66.66%, #d33b3b 66.66% 100%);
}

.lang-btn[data-flag="DE"]::before{
  background:linear-gradient(180deg, #111 0 33.33%, #b62f2f 33.33% 66.66%, #e2b74b 66.66% 100%);
}

.lang-btn[data-flag="GB"]::before{
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3CclipPath id='a'%3E%3Crect width='60' height='30'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23a)'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0 0l60 30M60 0L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0l60 30' stroke='%23C8102E' stroke-width='2' transform='translate(0 -1)'/%3E%3Cpath d='M60 0L0 30' stroke='%23C8102E' stroke-width='2' transform='translate(0 1)'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}

@media (min-width:761px){
  .lang-options{
    display:flex !important;
    gap:8px;
    padding:6px 8px;
    border:1px solid rgba(212,165,116,.24);
    background:rgba(10,25,38,.72);
  }

  .lang-options .lang-btn{
    min-width:40px;
    min-height:30px;
    padding:6px;
    border-radius:9px;
  }
}

body.page-template-page-menu .menu-category,
body.page-menu .menu-category{
  background:linear-gradient(160deg, rgba(15,36,53,.94), rgba(19,48,67,.85));
  border-color:rgba(212,165,116,.26);
}

body.page-template-page-menu .menu-category-toggle,
body.page-menu .menu-category-toggle{
  background:linear-gradient(120deg, rgba(212,165,116,.18), rgba(232,200,160,.16));
  transition:background .2s ease, box-shadow .2s ease;
}

body.page-template-page-menu .menu-category-toggle:hover,
body.page-menu .menu-category-toggle:hover{
  background:linear-gradient(120deg, rgba(212,165,116,.28), rgba(232,200,160,.24));
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.16);
}

body.page-template-page-menu .menu-category.is-open .menu-category-toggle,
body.page-menu .menu-category.is-open .menu-category-toggle{
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.18);
}

/* 2026 Midnight Sapphire: elegant dark hotel palette */
:root{
  --brand-primary:#d4a574;
  --brand-bg:#0a0e1a;
  --brand-bg-soft:#0d1425;
  --brand-dark:#e8e4df;
  --brand-muted:rgba(255,255,255,.65);
  --brand-accent:#e8c8a0;
  --brand-sage:#748572;

  --bg:#0a0e1a;
  --bg2:#0d1425;
  --accent:#d4a574;
  --accent-soft:#e8c8a0;
  --card:rgba(10,14,26,.88);
  --card-soft:rgba(10,14,26,.72);
  --border:rgba(255,255,255,.07);
  --text:#f0ebe5;
  --text-muted:rgba(255,255,255,.65);
  --phed-bg:#0a0e1a;
  --phed-bg-elev:#111833;
  --phed-border:rgba(232,200,160,.18);
  --phed-focus:0 0 0 3px rgba(212,165,116,.35);
  --shadow-soft:0 14px 30px rgba(0,0,0,.45);
}

html{
  background:var(--brand-bg) !important;
}

body{
  background:
    radial-gradient(900px 520px at 15% 10%, rgba(212,165,116,.08), transparent 60%),
    radial-gradient(900px 520px at 85% 15%, rgba(232,200,160,.06), transparent 60%),
    radial-gradient(700px 700px at 50% 40%, rgba(20,30,65,.40), transparent 70%),
    linear-gradient(135deg, var(--brand-bg-soft) 0%, #111833 40%, #0a0e1a 100%) !important;
  color:#f0ebe5 !important;
}

.site-header{
  background:rgba(10,14,26,.88) !important;
  border-bottom:1px solid rgba(212,165,116,.12) !important;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
  backdrop-filter:blur(16px);
}

.site-header .main-nav a,
.site-header .main-nav-list a{
  color:rgba(255,255,255,.82);
  opacity:1;
}

.site-header .main-nav a::after,
.site-header .main-nav-list a::after{
  background:linear-gradient(90deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
}

.site-header .main-nav a:hover,
.site-header .main-nav-list a:hover{
  color:#fff;
  text-shadow:0 0 12px rgba(212,165,116,.25);
}

.logo-wordmark-script{
  font-family:"URW Chancery L","Palatino Linotype","Book Antiqua",serif;
  gap:.28rem;
}

.logo-wordmark-script > span{
  font-size:clamp(23px,2vw,30px);
}

.logo-wordmark-petit,
.logo-wordmark-hotel{
  font-family:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:clamp(17px,1.5vw,21px);
  font-weight:700;
  letter-spacing:.085em;
  text-transform:uppercase;
  color:rgba(255,255,255,.88);
  text-shadow:none;
  line-height:1.05;
}

.logo-wordmark-hotel{
  opacity:.72;
}

.logo-wordmark-elita{
  font-family:"URW Chancery L","Palatino Linotype","Book Antiqua",serif;
  font-size:clamp(27px,2.2vw,33px);
  font-weight:700;
  letter-spacing:.015em;
  text-transform:none;
  color:var(--brand-primary);
  text-shadow:0 0 18px rgba(212,165,116,.30);
}

.btn{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}

.btn:hover{
  background:rgba(255,255,255,.12);
  box-shadow:0 8px 24px rgba(0,0,0,.35);
}

.btn-primary{
  background:linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-accent) 100%);
  color:#0a0e1a;
  border:none;
  box-shadow:0 10px 28px rgba(212,165,116,.22);
}

.btn-primary:hover{
  background:linear-gradient(135deg, var(--brand-accent) 0%, var(--brand-primary) 100%);
  color:#0a0e1a;
  box-shadow:0 14px 36px rgba(212,165,116,.30);
}

#headerBookBtn{
  background:linear-gradient(135deg, var(--brand-primary), var(--brand-accent)) !important;
  color:#0a0e1a !important;
}

#headerBookBtn:hover{
  background:linear-gradient(135deg, var(--brand-accent), var(--brand-primary)) !important;
  color:#0a0e1a !important;
  box-shadow:0 12px 30px rgba(212,165,116,.28) !important;
}

.hero-kicker{
  color:var(--brand-accent);
}

.hero-title{
  color:#fff;
}

.hero-subtitle{
  color:var(--brand-muted);
}

.hero-image-frame{
  position:relative;
}

.hero-image-frame::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg, rgba(212,165,116,.10), rgba(20,30,65,.12));
  pointer-events:none;
}

.hero-tag{
  background:rgba(10,14,26,.78);
  border-color:rgba(212,165,116,.20);
}

.booking-card,
.room-card,
.facility-card,
.policy-card,
.info-card,
.note-card,
.menu-category,
.menu-cart,
.contact-panel{
  background:linear-gradient(165deg, rgba(13,20,37,.92), rgba(16,24,44,.88));
  border-color:rgba(212,165,116,.10);
  box-shadow:0 16px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);
}

.section-header h2,
.booking-card h2,
.booking-method-card h2,
.menu-cart h3,
.menu-category-title{
  color:var(--brand-accent);
}

.booking-sub,
.booking-note,
.booking-method-card p,
.policy-card p,
.facility-card p,
.info-card p{
  color:var(--brand-muted);
}

input,
select,
textarea{
  background:rgba(0,0,0,.30);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}

input::placeholder,
textarea::placeholder{
  color:rgba(255,255,255,.40);
}

.booking-whatsapp-panel label span,
.booking-whatsapp-panel .field-info-label{
  color:rgba(255,255,255,.78) !important;
}

.booking-whatsapp-panel input,
.booking-whatsapp-panel select,
.booking-whatsapp-panel textarea{
  background:rgba(0,0,0,.30) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.14) !important;
}

.lang-current-btn,
.lang-options{
  background:rgba(10,14,26,.90);
  border-color:rgba(212,165,116,.18);
}

.lang-btn{
  background:rgba(10,14,26,.80);
  border-color:rgba(255,255,255,.12);
}

.lang-btn.active{
  border-color:rgba(212,165,116,.65);
  background:rgba(212,165,116,.15);
  box-shadow:0 0 0 1px rgba(212,165,116,.25) inset;
}

body.page-template-page-menu .menu-category,
body.page-menu .menu-category{
  background:linear-gradient(162deg, rgba(13,20,37,.94), rgba(16,24,50,.88));
  border-color:rgba(212,165,116,.12);
}

body.page-template-page-menu .menu-category-toggle,
body.page-menu .menu-category-toggle{
  background:linear-gradient(120deg, rgba(212,165,116,.10), rgba(232,200,160,.08));
}

body.page-template-page-menu .menu-category-toggle:hover,
body.page-menu .menu-category-toggle:hover{
  background:linear-gradient(120deg, rgba(212,165,116,.18), rgba(232,200,160,.14));
}

.facility-icon,
.policy-icon,
.contact-panel .contact-icon{
  background:rgba(212,165,116,.12);
}

.facility-icon i,
.policy-icon i,
.contact-icon i{
  color:var(--brand-accent);
}

.footer{
  background:rgba(6,8,16,.95);
  color:rgba(255,255,255,.72) !important;
  border-top:1px solid rgba(212,165,116,.08);
}

.footer a,
.footer-manager-link{
  color:var(--brand-accent) !important;
}

.footer a:hover,
.footer-manager-link:hover{
  color:#fff !important;
}

@media (max-width:760px){
  .main-nav{
    background:linear-gradient(165deg, #0d1425 0%, #0a0e1a 100%) !important;
    border-left:1px solid rgba(212,165,116,.15);
  }

  .main-nav a,
  .main-nav-list a{
    color:#fff;
    background:rgba(255,255,255,.05);
    border-color:rgba(255,255,255,.10);
  }
}

/* US flag removed — English now uses GB */

/* ===== MODERN ANIMATIONS ===== */

/* Smooth card hover lift effect */
.room-card,
.facility-card,
.policy-card,
.info-card,
.booking-method-card{
  transition:transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease;
}
.room-card:hover,
.facility-card:hover,
.policy-card:hover,
.info-card:hover,
.booking-method-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 56px rgba(0,0,0,.45), 0 0 40px rgba(212,165,116,.06);
  border-color:rgba(212,165,116,.18);
}

/* Subtle glow on section headings */
.section-header h2{
  transition:text-shadow .3s ease;
}
.section-header h2:hover{
  text-shadow:0 0 20px rgba(212,165,116,.25);
}

/* Image reveal on hover */
.room-image img,
.gallery-card img,
.media-frame img{
  transition:transform .6s cubic-bezier(.22,1,.36,1), filter .4s ease;
}
.room-card:hover .room-image img,
.gallery-card:hover img{
  transform:scale(1.06);
  filter:brightness(1.08);
}

/* Animated gradient border on primary buttons */
.btn-primary{
  position:relative;
  overflow:hidden;
}
.btn-primary::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:linear-gradient(135deg, rgba(232,200,160,.35), transparent 40%, rgba(212,165,116,.25));
  border-radius:inherit;
  opacity:0;
  transition:opacity .3s ease;
  z-index:-1;
}
.btn-primary:hover::before{
  opacity:1;
}

/* Smooth scroll-triggered fade-in (uses IntersectionObserver in JS) */
.reveal-on-scroll{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
.reveal-on-scroll.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Staggered children animation */
.reveal-on-scroll.is-visible > *:nth-child(1){transition-delay:.05s;}
.reveal-on-scroll.is-visible > *:nth-child(2){transition-delay:.10s;}
.reveal-on-scroll.is-visible > *:nth-child(3){transition-delay:.15s;}
.reveal-on-scroll.is-visible > *:nth-child(4){transition-delay:.20s;}

/* Subtle floating particles effect on hero */
.hero::before{
  content:"";
  position:absolute;
  top:10%;
  left:5%;
  width:260px;
  height:260px;
  background:radial-gradient(circle, rgba(212,165,116,.08), transparent 70%);
  border-radius:50%;
  animation:float-particle 12s ease-in-out infinite;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  top:20%;
  right:10%;
  width:180px;
  height:180px;
  background:radial-gradient(circle, rgba(20,30,65,.30), transparent 70%);
  border-radius:50%;
  animation:float-particle 16s ease-in-out infinite reverse;
  pointer-events:none;
}
.hero{position:relative;overflow:hidden;}

@keyframes float-particle{
  0%,100%{transform:translate(0,0) scale(1);}
  33%{transform:translate(30px,-20px) scale(1.1);}
  66%{transform:translate(-15px,15px) scale(.95);}
}

/* Smooth badge hover */
.badge{
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.badge:hover{
  transform:translateY(-2px);
  border-color:rgba(212,165,116,.25);
  box-shadow:0 8px 18px rgba(0,0,0,.30);
}

/* Contact card glow on hover */
.contact-panel .contact-row{
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.contact-panel .contact-row:hover{
  transform:translateY(-3px);
  border-color:rgba(212,165,116,.28);
  box-shadow:0 16px 36px rgba(0,0,0,.35);
  background:rgba(212,165,116,.06);
}

/* Booking card subtle shimmer */
.booking-card{
  position:relative;
  overflow:hidden;
}
.booking-card::before{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:50%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(212,165,116,.04), transparent);
  animation:card-shimmer 8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes card-shimmer{
  0%,70%{left:-100%;}
  85%,100%{left:200%;}
}

@media (prefers-reduced-motion: reduce){
  .hero::before,
  .hero::after{animation:none;}
  .booking-card::before{animation:none;}
  .reveal-on-scroll{opacity:1;transform:none;transition:none;}
  .room-card,.facility-card,.policy-card,.info-card,.booking-method-card{transition:none;}
}

/* ===== DAY / NIGHT TOGGLE ===== */

.day-night-toggle{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#e8c8a0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:15px;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease;
  flex-shrink:0;
}
.day-night-toggle:hover{
  transform:translateY(-2px);
  background:rgba(212,165,116,.12);
  border-color:rgba(212,165,116,.30);
  box-shadow:0 8px 20px rgba(0,0,0,.30);
}
.day-night-toggle i{
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.day-night-toggle:hover i{
  transform:rotate(-20deg) scale(1.1);
}

/* ===== DAY MODE ===== */

body.day-mode{
  --brand-primary:#6d4422;
  --brand-bg:#ddd6cb;
  --brand-bg-soft:#d4ccc0;
  --brand-dark:#1a1208;
  --brand-muted:#4a3f32;
  --brand-accent:#7a5030;
  --brand-sage:#3e5040;

  --bg:#ddd6cb;
  --bg2:#d4ccc0;
  --accent:#6d4422;
  --accent-soft:#7a5030;
  --card:rgba(240,235,228,.97);
  --card-soft:rgba(235,228,218,.94);
  --border:rgba(0,0,0,.13);
  --text:#1a1208;
  --text-muted:#4a3f32;
  --phed-bg:#ddd6cb;
  --phed-bg-elev:#e8e2d8;
  --phed-border:rgba(109,68,34,.22);
  --phed-focus:0 0 0 3px rgba(109,68,34,.28);
  --shadow:0 16px 40px rgba(40,25,10,.14);
  --shadow-soft:0 10px 24px rgba(40,25,10,.10);

  background:
    radial-gradient(800px 500px at 15% 10%, rgba(109,68,34,.07), transparent 60%),
    radial-gradient(800px 500px at 85% 15%, rgba(122,80,48,.06), transparent 60%),
    linear-gradient(160deg, #d4ccc0 0%, #d9d2c6 40%, #ddd6cb 100%) !important;
  color:#1a1208 !important;
}

body.day-mode .site-header{
  background:rgba(225,218,208,.96) !important;
  border-bottom:1px solid rgba(109,68,34,.16) !important;
  box-shadow:0 4px 18px rgba(40,25,10,.10);
  backdrop-filter:blur(16px);
}

body.day-mode .site-header .main-nav a,
body.day-mode .site-header .main-nav-list a{
  color:#2e2218;
}
body.day-mode .site-header .main-nav a:hover,
body.day-mode .site-header .main-nav-list a:hover{
  color:#1a1208;
  text-shadow:none;
}

body.day-mode .logo-wordmark-petit,
body.day-mode .logo-wordmark-hotel{
  color:#1a1208;
}
body.day-mode .logo-wordmark-hotel{
  opacity:.70;
}
body.day-mode .logo-wordmark-elita{
  color:#6d4422;
  text-shadow:0 0 12px rgba(109,68,34,.20);
}

body.day-mode .hero-title{
  color:#1a1208;
}
body.day-mode .hero-kicker{
  color:#6d4422;
}
body.day-mode .hero-subtitle{
  color:#4a3f32;
}
body.day-mode .hero-tag{
  background:rgba(26,18,8,.78);
  color:#fff;
}

body.day-mode .badge{
  background:rgba(0,0,0,.08);
  border-color:rgba(0,0,0,.14);
  color:#1a1208;
}

body.day-mode .btn{
  background:rgba(240,235,228,.92);
  border-color:rgba(0,0,0,.16);
  color:#1a1208;
}
body.day-mode .btn:hover{
  background:rgba(245,240,234,.98);
  box-shadow:0 6px 16px rgba(40,25,10,.12);
}
body.day-mode .btn-primary{
  background:linear-gradient(135deg, #6d4422, #7a5030);
  color:#fff;
  border:none;
  box-shadow:0 8px 22px rgba(109,68,34,.22);
}
body.day-mode .btn-primary:hover{
  background:linear-gradient(135deg, #7a5030, #6d4422);
  box-shadow:0 10px 28px rgba(109,68,34,.28);
}
body.day-mode #headerBookBtn{
  background:linear-gradient(135deg, #6d4422, #7a5030) !important;
  color:#fff !important;
}
body.day-mode #headerBookBtn:hover{
  background:linear-gradient(135deg, #7a5030, #6d4422) !important;
}

body.day-mode .booking-card,
body.day-mode .room-card,
body.day-mode .facility-card,
body.day-mode .policy-card,
body.day-mode .info-card,
body.day-mode .note-card,
body.day-mode .menu-category,
body.day-mode .menu-cart,
body.day-mode .contact-panel{
  background:linear-gradient(165deg, rgba(240,235,228,.97), rgba(232,225,215,.94));
  border-color:rgba(0,0,0,.12);
  box-shadow:0 10px 28px rgba(40,25,10,.10);
}

body.day-mode .section-header h2,
body.day-mode .booking-card h2,
body.day-mode .booking-method-card h2,
body.day-mode .menu-cart h3,
body.day-mode .menu-category-title{
  color:#1a1208;
}

body.day-mode .section-header h2::before{
  background:#6d4422;
  box-shadow:0 0 10px rgba(109,68,34,.50);
}

body.day-mode input,
body.day-mode select,
body.day-mode textarea{
  background:rgba(255,255,255,.80);
  border-color:rgba(0,0,0,.18);
  color:#1a1208;
}
body.day-mode input::placeholder,
body.day-mode textarea::placeholder{
  color:#6d6052;
}
body.day-mode select option{
  color:#1a1208;
  background:#e8e2d8;
}

body.day-mode .booking-whatsapp-panel label span,
body.day-mode .booking-whatsapp-panel .field-info-label{
  color:#1a1208 !important;
}
body.day-mode .booking-whatsapp-panel input,
body.day-mode .booking-whatsapp-panel select,
body.day-mode .booking-whatsapp-panel textarea{
  background:rgba(255,255,255,.80) !important;
  color:#1a1208 !important;
  border:1px solid rgba(0,0,0,.18) !important;
}

body.day-mode .facility-icon,
body.day-mode .policy-icon,
body.day-mode .contact-panel .contact-icon{
  background:rgba(109,68,34,.14);
}
body.day-mode .facility-icon i,
body.day-mode .policy-icon i,
body.day-mode .contact-icon i{
  color:#6d4422;
}

body.day-mode .contact-panel::before{
  background:radial-gradient(circle, rgba(109,68,34,.10), transparent 70%);
}
body.day-mode .contact-panel::after{
  background:radial-gradient(circle, rgba(109,68,34,.06), transparent 70%);
}
body.day-mode .contact-panel .contact-row{
  background:rgba(255,255,255,.45);
  border-color:rgba(0,0,0,.10);
}
body.day-mode .contact-panel .contact-row:hover{
  border-color:rgba(109,68,34,.28);
  box-shadow:0 12px 28px rgba(40,25,10,.12);
  background:rgba(255,255,255,.60);
}

body.day-mode .whatsapp-float{
  background:rgba(232,225,215,.96);
  border-color:rgba(0,0,0,.14);
  box-shadow:0 12px 28px rgba(40,25,10,.14);
  color:#1a1208;
}
body.day-mode .whatsapp-float:hover{
  border-color:rgba(37,211,102,.45);
}

body.day-mode .lang-current-btn,
body.day-mode .lang-options{
  background:rgba(232,225,215,.96);
  border-color:rgba(0,0,0,.14);
}
body.day-mode .lang-btn{
  background:rgba(240,235,228,.92);
  border-color:rgba(0,0,0,.14);
}
body.day-mode .lang-btn.active{
  border-color:rgba(109,68,34,.60);
  background:rgba(109,68,34,.14);
}

body.day-mode .note-card{
  background:rgba(109,68,34,.10);
  border-color:rgba(109,68,34,.25);
  color:#1a1208;
}

body.day-mode .booking-method-pill-online{
  background:rgba(109,68,34,.14);
  color:#6d4422;
  border-color:rgba(109,68,34,.32);
}

body.day-mode .menu-item{
  background:rgba(255,255,255,.45);
  border-color:rgba(0,0,0,.10);
}
body.day-mode .menu-item-name{
  color:#1a1208;
}
body.day-mode .menu-item-price{
  color:#6d4422;
}
body.day-mode .menu-cart-item{
  background:rgba(255,255,255,.45);
  border-color:rgba(0,0,0,.10);
  color:#1a1208;
}

body.day-mode .booking-total,
body.day-mode .extra-option{
  background:rgba(255,255,255,.45);
  border-color:rgba(0,0,0,.12);
}
body.day-mode .booking-summary strong{
  color:#1a1208;
}

body.day-mode .qty-btn{
  background:rgba(0,0,0,.07);
  border-color:rgba(0,0,0,.18);
  color:#1a1208;
}
body.day-mode .qty-btn:hover{
  background:rgba(0,0,0,.12);
}

body.day-mode .room-picker-card{
  background:rgba(255,255,255,.45);
  border-color:rgba(0,0,0,.10);
}
body.day-mode .room-picker-price{
  color:#6d4422;
}
body.day-mode .room-price{
  color:#6d4422;
}
body.day-mode .room-body h3{
  color:#1a1208;
}
body.day-mode .room-body p,
body.day-mode .facility-card h3,
body.day-mode .policy-card h3,
body.day-mode .info-card h3{
  color:#1a1208;
}

body.day-mode .gallery-card{
  border-color:rgba(0,0,0,.12);
  box-shadow:0 12px 30px rgba(40,25,10,.12);
}

body.day-mode .menu-search{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.14);
}
body.day-mode .menu-search input{
  color:#1a1208;
  background:transparent;
  border:none;
}
body.day-mode .menu-search i{
  color:#4a3f32;
}

body.day-mode .hero-image-frame::after{
  background:linear-gradient(140deg, rgba(109,68,34,.05), rgba(122,80,48,.03));
}

body.day-mode .booking-card::before{
  background:linear-gradient(90deg, transparent, rgba(109,68,34,.03), transparent);
}

body.day-mode .hero::before{
  background:radial-gradient(circle, rgba(109,68,34,.05), transparent 70%);
}
body.day-mode .hero::after{
  background:radial-gradient(circle, rgba(180,155,125,.08), transparent 70%);
}

body.day-mode .check-list li{
  color:#4a3f32;
}
body.day-mode .check-list li::before{
  color:#6d4422;
}
body.day-mode .col-text p{
  color:#4a3f32;
}

body.day-mode .footer{
  background:#1a1208 !important;
  color:rgba(255,255,255,.80) !important;
  border-top:1px solid rgba(109,68,34,.20);
}
body.day-mode .footer a,
body.day-mode .footer-manager-link{
  color:#e8c8a0 !important;
}

body.day-mode .day-night-toggle{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.16);
  color:#6d4422;
}
body.day-mode .day-night-toggle:hover{
  background:rgba(109,68,34,.12);
  border-color:rgba(109,68,34,.30);
  box-shadow:0 6px 16px rgba(40,25,10,.12);
}

body.day-mode .breakfast-slider{
  background:rgba(0,0,0,.10);
  border-color:rgba(0,0,0,.16);
}

body.day-mode .section-toggle{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.16);
  color:#1a1208;
}
body.day-mode .section-toggle:hover{
  background:rgba(0,0,0,.10);
}

body.day-mode .booking-note,
body.day-mode .menu-cart-note,
body.day-mode .menu-empty,
body.day-mode .booking-sub,
body.day-mode .home-note,
body.day-mode .policy-intro{
  color:#4a3f32;
}

body.day-mode label span{
  color:#4a3f32;
}

body.day-mode .field-info-label{
  color:#4a3f32;
}
body.day-mode .field-info-note{
  color:#4a3f32;
}

body.day-mode.page-template-page-menu .menu-category,
body.day-mode.page-menu .menu-category{
  background:linear-gradient(162deg, rgba(240,235,228,.97), rgba(232,225,215,.94));
  border-color:rgba(0,0,0,.12);
}
body.day-mode.page-template-page-menu .menu-category-toggle,
body.day-mode.page-menu .menu-category-toggle{
  background:linear-gradient(120deg, rgba(109,68,34,.07), rgba(122,80,48,.06));
}
body.day-mode.page-template-page-menu .menu-category-toggle:hover,
body.day-mode.page-menu .menu-category-toggle:hover{
  background:linear-gradient(120deg, rgba(109,68,34,.14), rgba(122,80,48,.12));
}

@media (max-width:760px){
  body.day-mode .main-nav{
    background:linear-gradient(165deg, #d4ccc0, #cdc4b8) !important;
    border-left:1px solid rgba(0,0,0,.12);
  }
  body.day-mode .main-nav a,
  body.day-mode .main-nav-list a{
    color:#1a1208;
    background:rgba(255,255,255,.30);
    border-color:rgba(0,0,0,.10);
  }
  body.day-mode .main-nav a:hover,
  body.day-mode .main-nav-list a:hover{
    background:rgba(109,68,34,.12);
  }
}

@media (max-width:680px){
  body.day-mode .section.section-collapsible{
    background:rgba(232,225,215,.80);
    border-color:rgba(0,0,0,.10);
    box-shadow:0 8px 22px rgba(40,25,10,.08);
  }
}

/* VikBooking day-mode overrides */
body.day-mode #vikbooking,
body.day-mode .vikbooking{
  color:#1a1208;
}
body.day-mode #vikbooking input,
body.day-mode #vikbooking select,
body.day-mode #vikbooking textarea,
body.day-mode .vikbooking input,
body.day-mode .vikbooking select,
body.day-mode .vikbooking textarea{
  background:rgba(255,255,255,.80);
  border-color:rgba(0,0,0,.18);
  color:#1a1208;
}

body.day-mode .booking-card .vbo-search-inpblock label,
body.day-mode .booking-card .vbo-search-num-rooms label,
body.day-mode .booking-card .vbo-search-num-adults-entry-label,
body.day-mode .booking-card .vbo-search-num-children-entry-label{
  color:#1a1208 !important;
}
body.day-mode .booking-card .vbo-search-mainview *,
body.day-mode .booking-card .vbdivsearch *{
  color:#1a1208 !important;
}
body.day-mode .booking-card .vbo-search-inpblock input,
body.day-mode .booking-card .vbo-search-num-racblock select{
  background:rgba(255,255,255,.80) !important;
  border-color:rgba(0,0,0,.18) !important;
  color:#1a1208 !important;
}
