/* ==========================================================================
   CasaLuma — Responsive Stylesheet
   ========================================================================== */

/* ===== Mobile Spacing System ===== */
:root{
  --mobile-space-xs:8px;
  --mobile-space-sm:12px;
  --mobile-space-md:20px;
  --mobile-space-lg:15px;
  --mobile-space-xl:48px;
  --mobile-header-height:90px;
}

/* ===== Extra Large Desktop (1920px+) ===== */
@media (min-width:1921px){
  :root{--container-max:1600px}
  .container{width:90%;max-width:1600px}
  .nav-wrapper{max-width:1600px}
  .footer-container{width:min(1600px,calc(100% - 48px))}
}

/* ===== Large Desktop (1400px+) ===== */
@media (max-width:1400px){:root{--space-2xl:6rem}}

/* ===== Desktop (1200px) ===== */
@media (max-width:1200px){
  :root{--space-2xl:5rem;--space-xl:4rem}
  .why-grid{grid-template-columns:repeat(3,1fr)}
  .facilities-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:2fr 1fr 1fr;gap:2rem}
}

/* ===== Desktop Footer Container Width Fix (1025px+) ===== */
@media (min-width:1025px){
  .footer-container{width:min(var(--container-max),calc(100% - 48px)) !important;max-width:var(--container-max)}
}

/* ===== Desktop Nav Spacing Fix (1025px - 1280px) ===== */
@media (max-width:1280px) and (min-width:1025px){
  .nav-menu{gap:1.25rem}
  .nav-link{font-size:.78rem;letter-spacing:.06em}
  .nav-actions .btn{padding:.6rem 1.3rem;font-size:.72rem}
  .logo-img{height:65px}
}

/* ===== Laptop (1024px) ===== */


@media (max-width:1024px){
  :root{--space-2xl:4rem;--space-xl:3rem}
  .nav-menu{display:none}
  .hamburger{display:flex}
  .nav-actions .btn{display:none}
  .about-grid{grid-template-columns:1fr;gap:var(--space-lg)}
  .about-images{max-width:700px;margin:0}
  .about-images .img-main{height:450px}
  .about-images .img-sub{height:220px}
  .experience-row{grid-template-columns:1fr;gap:var(--space-md)}
  .experience-row.reverse .experience-image{order:0}
  .experience-image img{height:350px}
  .reviews-grid{grid-template-columns:repeat(2,1fr)}
  .room-card{flex:0 0 calc(50% - 1rem);min-width:280px;max-width:400px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .video-grid{grid-template-columns:repeat(3,1fr)}
  .location-grid{grid-template-columns:1fr}
  .location-map{min-height:350px}
  /*.room-detail-grid{grid-template-columns:1fr}*/
  .room-sidebar{position:static}
  .room-gallery-grid{grid-template-columns:repeat(2,1fr)}
  .room-gallery-grid .gallery-item:first-child{grid-column:span 2;grid-row:span 1}
  .other-rooms-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:2fr 1fr 1fr;gap:2rem}
}

/* ===== Mobile Header: Solid Black (1024px and below) — ONE source of truth ===== */
@media (max-width:1024px){
  .header{
    background:#000000 !important;
    padding:0 !important;
    height:var(--mobile-header-height) !important;
    min-height:var(--mobile-header-height) !important;
    max-height:var(--mobile-header-height) !important;
    margin:0 !important;
    box-shadow:0 2px 20px rgba(0,0,0,.3);
  }
  .nav-wrapper{
    height:var(--mobile-header-height) !important;
    min-height:var(--mobile-header-height) !important;
    max-height:var(--mobile-header-height) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 22px !important;
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }
  .logo{display:flex !important;align-items:center !important;margin:0 !important;padding:0 !important;flex-shrink:0}
  .logo-img{width:72px !important;height:auto !important;max-height:80px;object-fit:contain !important;display:block !important;margin:0 !important;padding:0 !important}
  .hamburger{display:flex !important;width:44px !important;height:44px !important;flex-direction:column;justify-content:center;align-items:center;gap:5px;flex-shrink:0;margin:0 !important}
  .hamburger span{width:28px;height:2.5px}
  .header-transparent{background:#000000 !important}
  .header-scrolled{background:#000000 !important;padding:0 !important}
  /* Push all hero/content sections below fixed header */
  .hero{margin-top:var(--mobile-header-height) !important}
  .room-hero{margin-top:var(--mobile-header-height) !important}
  .page-header{margin-top:var(--mobile-header-height) !important}
  .menu-hero{margin-top:var(--mobile-header-height) !important}
  .tarrif-hero{margin-top:var(--mobile-header-height) !important}
  .td-hero{margin-top:var(--mobile-header-height) !important}
}

/* ===== Mobile Reserve Bar ===== */
.mobile-reserve-bar{
  display:none;
}
@media (max-width:768px){
  .mobile-reserve-bar{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.6rem;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
    height:60px;
    background:linear-gradient(135deg,#C7A76C 0%,#A8895A 100%);
    color:#000;
    font-family:'Josefin Sans',sans-serif;
    font-size:.9rem;
    font-weight:500;
    letter-spacing:.2em;
    text-transform:uppercase;
    z-index:1003;
    text-decoration:none;
    box-shadow:0 -4px 20px rgba(0,0,0,.3);
  }
  .mobile-reserve-bar svg{
    width:22px;
    height:22px;
    stroke:#000;
    fill:none;
    stroke-width:1.5;
    flex-shrink:0;
  }
  .mobile-reserve-bar:hover{
    background:linear-gradient(135deg,#D4BC8A 0%,#C7A76C 100%);
  }
  body{padding-bottom:60px}
  /* WhatsApp button above Book Now bar */
  .whatsapp-float{bottom:72px;right:16px;width:50px;height:50px}
  .whatsapp-float svg{width:28px;height:28px}
}

/* ===== Tablet (768px) ===== */
@media (max-width:768px){
  :root{--space-2xl:2.5rem;--space-xl:1.75rem;--space-lg:1.5rem;--space-md:1.25rem}
  h1{font-size:clamp(2rem,8vw,3rem)}
  h2{font-size:clamp(1.75rem,6vw,2.5rem)}

  /* ── Global section spacing reduction ── */
  .section{padding:var(--mobile-space-xl) 0}
  .about{padding:var(--mobile-space-xl) 0}
  .why-choose{padding:var(--mobile-space-xl) 0}
  .experience{padding:var(--mobile-space-xl) 0}
  .rooms{padding:var(--mobile-space-xl) 0}
  .gallery{padding:var(--mobile-space-xl) 0}
  .video-gallery{padding:var(--mobile-space-xl) 0}
  .reviews{padding:var(--mobile-space-xl) 0}
  .booking{padding:var(--mobile-space-xl) 0}
  .location{padding:var(--mobile-space-xl) 0}
  .faq{padding:var(--mobile-space-xl) 0}
  .contact{padding:var(--mobile-space-xl) 0}
  .room-gallery-section{padding:var(--mobile-space-xl) 0}
  .room-detail{padding:var(--mobile-space-xl) 0}
  .room-cta{padding:var(--mobile-space-xl) 0}
  .other-rooms{padding:0 0 var(--mobile-space-xl)}
  .villa-details{padding:var(--mobile-space-xl) 0}
  .facilities{padding:var(--mobile-space-xl) 0}
  .facility-grid{margin-top:var(--mobile-space-lg)}
  .section-header{margin-bottom:var(--mobile-space-md)}

  /* ── Header: inherits from 1024px block; reinforce key props ── */
  .nav-menu{display:none}
  .nav-actions .btn{display:none}
  .nav-actions{display:flex !important;align-items:center !important;flex-shrink:0;gap:22px !important;margin:0 !important;padding:0 !important;height:var(--mobile-header-height) !important}
  .hamburger{width:44px !important;height:44px !important;gap:5px}
  .hamburger span{width:28px;height:2.5px}

  /* ── Content offset below fixed header ── */
  .hero{margin-top:var(--mobile-header-height) !important;height:60vh;min-height:340px}
  .room-hero{margin-top:var(--mobile-header-height) !important;height:50vh;min-height:300px}
  .page-header{margin-top:var(--mobile-header-height) !important}
  .menu-hero{margin-top:var(--mobile-header-height) !important}
  .tarrif-hero{margin-top:var(--mobile-header-height) !important}
  .td-hero{margin-top:var(--mobile-header-height) !important}

  /* ── Hero adjustments ── */
  .hero-subtitle{font-size:.85rem;letter-spacing:.2em}
  .hero-buttons{flex-direction:column;align-items:center}
  .hero-buttons .btn{width:100%;max-width:280px}

  /* ── Room hero content spacing ── */
  .room-hero-content{padding:0 1.25rem}
  .room-hero-content .eyebrow{margin-bottom:var(--mobile-space-sm)}
  .room-hero-content h1{margin-bottom:var(--mobile-space-sm)}
  .room-hero-content p{font-size:1rem}

  /* ── Breadcrumb spacing ── */
  .room-breadcrumb{padding:var(--mobile-space-md) 1.25rem}
  .room-breadcrumb a,.room-breadcrumb span{font-size:.72rem;letter-spacing:.1em}

  /* ── Room gallery section ── */
  .room-gallery-section .section-header{margin-bottom:var(--mobile-space-md)}
  .room-slider{max-width:100%;margin-bottom:0}
  .room-slider-track img{height:260px}
  .room-slider-dots{margin-top:var(--mobile-space-sm)}
  .room-slider-btn{width:36px;height:36px;font-size:1rem}

  /* ── Room detail spacing ── */
  .room-detail-content .eyebrow{margin-bottom:var(--mobile-space-sm)}
  .room-detail-content h2{margin-bottom:var(--mobile-space-md);font-size:1.6rem}
  .room-detail-content p{margin-bottom:var(--mobile-space-md);line-height:1.7;font-size:.95rem}
  .room-detail-content h3{margin:var(--mobile-space-md) 0 var(--mobile-space-sm);font-size:1.4rem}
  .room-amenities-list{gap:.5rem;margin-bottom:var(--mobile-space-md)}
  .room-amenities-list li{font-size:.9rem}

  /* ── Other rooms spacing ── */
  .other-rooms .section-header{margin-bottom:var(--mobile-space-md)}
  .other-rooms-grid{grid-template-columns:1fr;gap:var(--mobile-space-md)}
  .room-card-body{padding:var(--mobile-space-md)}
  .room-card-body h3{margin-bottom:var(--mobile-space-xs)}
  .room-card-body p{margin-bottom:var(--mobile-space-sm);font-size:.88rem;line-height:1.5}

  /* ── About section spacing ── */
  .about-content h2{margin-bottom:var(--mobile-space-md)}
  .about-content p{margin-bottom:var(--mobile-space-md);line-height:1.7}
  .about-content .btn{margin-top:0}

  /* ── Experience section spacing ── */
  .experience-content .eyebrow{margin-bottom:var(--mobile-space-sm)}
  .experience-content h3{margin-bottom:var(--mobile-space-md);font-size:1.5rem}
  .experience-content p{margin-bottom:var(--mobile-space-md);line-height:1.7;font-size:.95rem}

  /* ── Section header spacing ── */
  .section-header .eyebrow{margin-bottom:var(--mobile-space-xs)}
  .section-header h2{margin-bottom:var(--mobile-space-xs)}
  .section-header p{margin-top:var(--mobile-space-xs);font-size:.95rem}

  /* ── Taller video cards on mobile ── */
  .video-card{aspect-ratio:9/18}

  .about-features{grid-template-columns:1fr;gap:var(--mobile-space-sm)}
  .why-grid{grid-template-columns:repeat(2,1fr);gap:var(--mobile-space-sm)}
  .why-card{padding:var(--mobile-space-md) var(--mobile-space-sm)}
  .facilities-grid{grid-template-columns:repeat(2,1fr);gap:var(--mobile-space-sm)}
  .reviews-grid{grid-template-columns:1fr}
  .room-card{flex:0 0 100%;max-width:400px}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}
  .gallery-item.tall,.gallery-item.wide{grid-row:span 1;grid-column:span 1}
  .video-grid{grid-template-columns:repeat(2,1fr)}
  .booking-form{grid-template-columns:1fr}
  .form-group.full,.booking-submit{grid-column:span 1}
  .contact-info{grid-template-columns:1fr;gap:var(--mobile-space-md)}
  .faq-question{padding:1rem 1.25rem;font-size:1.1rem}
  .faq-answer p{padding:0 1.25rem 1rem}
  /* Menu + Tarrif: tablet */
  .menu-hero-content h1{font-size:2.5rem}
  .menu-section{padding:var(--mobile-space-xl) 0}
  .menu-section-header h2{font-size:2rem}
  .menu-grid{grid-template-columns:1fr;max-width:500px}
  .menu-subcategory-title{font-size:1.4rem}
  .menu-download-content h2{font-size:2rem}
  .tarrif-hero-content h1{font-size:2.5rem}
  .tarrif-hero-content p{font-size:1rem}
  .tarrif-section{padding:var(--mobile-space-xl) 0}
  .tarrif-cards-double{flex-direction:column;align-items:center}
  /* Activities: tablet horizontal scroll */
  .accessibility{padding:var(--mobile-space-lg) 0}
  .accessibility-grid{grid-template-columns:1fr;gap:var(--mobile-space-md)}
  .accessibility-card{padding:var(--mobile-space-md) 1.25rem}
  .accessibility-cta{padding:var(--mobile-space-lg) 1.25rem}
  .accessibility-cta h3{font-size:1.8rem}
  .activities{padding:var(--mobile-space-lg) 0}
  .activities-cards{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;height:auto}
  .activity-card{flex:0 0 80%;scroll-snap-align:start;height:400px;border-radius:10px}
  .activity-card+.activity-card{margin-left:1rem}
  .activity-card.active{flex:0 0 80%}
  .activity-card-collapsed{display:none}
  .activity-card-content{opacity:1;transform:translateY(0);position:relative;height:auto;padding:var(--mobile-space-md) 1.25rem}
  .activity-title{font-size:1.5rem}
  .activity-desc{font-size:.9rem}
  /* Footer: logo centered, quick links + villas side by side */
  .footer-grid{grid-template-columns:1fr;gap:var(--mobile-space-md)}
  .footer-brand{text-align:left;display:flex;flex-direction:column;align-items:flex-start}
  .footer-brand .logo{margin:0}
  .footer-brand .logo-img{height:auto !important;width:140px !important;max-width:none;object-fit:contain}
  .footer-brand p{text-align:left}
  .footer-brand .footer-social{justify-content:flex-start}
  .footer-links-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--mobile-space-md)}
  .footer-bottom{flex-direction:column;text-align:left}
  .room-gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}
  .room-gallery-grid .gallery-item:first-child{grid-column:span 1;grid-row:span 1}
  .room-amenities-list{grid-template-columns:1fr}
  .lightbox-close{top:1rem;right:1rem}
  .lightbox-nav{width:40px;height:40px;font-size:1.2rem}
  .lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}
}

/* ===== Mobile Gallery & Reviews Carousels (768px and below) ===== */
@media (max-width:768px){
  /* Gallery carousel */
  .gallery-filters{display:none}
  .gallery-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    grid-template-columns:none;
    grid-auto-rows:auto;
    gap:0;
    height:auto;
    scroll-behavior:smooth;
  }
  .gallery-grid::-webkit-scrollbar{display:none}
  .gallery-grid{scrollbar-width:none}
  .gallery-item{
    flex:0 0 100%;
    width:100%;
    height:300px;
    scroll-snap-align:center;
    border-radius:8px;
    overflow:hidden;
  }
  .gallery-item.tall,.gallery-item.wide{grid-row:span 1;grid-column:span 1}
  .gallery-item img{width:100%;height:100%;object-fit:cover}

  /* Reviews carousel */
  .reviews-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    grid-template-columns:none;
    gap:0;
    scroll-behavior:smooth;
  }
  .reviews-grid::-webkit-scrollbar{display:none}
  .reviews-grid{scrollbar-width:none}
  .review-card{
    flex:0 0 100%;
    width:100%;
    scroll-snap-align:center;
    transform:none!important;
  }
  .review-card:hover{transform:none!important}
}

/* ===== Mobile Large (480px) ===== */
@media (max-width:480px){
  :root{--space-2xl:2rem;--space-xl:1.5rem;--space-lg:1.25rem}
  .container{width:92%}
  h1{font-size:2rem}
  h2{font-size:1.75rem}
  .hero{height:55vh;min-height:300px}
  .hero-content h1{font-size:2.4rem}
  .hero-subtitle{font-size:.8rem}
  .btn{padding:.8rem 1.8rem;font-size:.75rem}
  .about-images{grid-template-columns:1fr}
  .about-images .img-main{grid-row:span 1;height:280px}
  .about-images .img-sub{height:280px}
  .why-grid{grid-template-columns:1fr}
  .facilities-grid{grid-template-columns:1fr}
  .gallery-filters{gap:.5rem}
  .gallery-filter{padding:.4rem 1rem;font-size:.72rem}
  .booking-card{padding:1.5rem}
  .room-hero{height:45vh;min-height:280px}
  .room-info-card{padding:1.5rem}
  .room-price .price-value{font-size:2rem}
  .mobile-nav{width:280px}
  /* Menu + Tarrif: mobile */
  .menu-hero{height:40vh;min-height:260px;margin-top:var(--mobile-header-height) !important}
  .menu-hero-content h1{font-size:2rem}
  .menu-hero-content p{font-size:.95rem}
  .menu-section{padding:var(--mobile-space-lg) 0}
  .menu-section-header h2{font-size:1.8rem}
  .menu-section-number{font-size:.85rem}
  .menu-item-name{font-size:.85rem}
  .menu-subcategory-title{font-size:1.3rem}
  .menu-download{padding:var(--mobile-space-lg) 0}
  .menu-download-content h2{font-size:1.8rem}
  .tarrif-hero{height:45vh;min-height:280px;margin-top:var(--mobile-header-height) !important}
  .tarrif-hero-content h1{font-size:2rem}
  .tarrif-hero-content p{font-size:.9rem}
  .tarrif-hero-content{padding:0 1.5rem 1.5rem 1.5rem}
  .tarrif-section{padding:var(--mobile-space-lg) 0}
  .tarrif-table{display:block}
  .tarrif-table thead{display:none}
  .tarrif-table tbody tr{display:block;margin-bottom:1rem;border:1px solid rgba(200,169,106,.2);border-radius:8px}
  .tarrif-table tbody td{display:flex;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #222}
  .tarrif-table tbody td:last-child{border-bottom:none}
  .tarrif-table tbody td::before{content:attr(data-label);font-family:var(--font-body);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#888}
  .tarrif-card{max-width:none;width:100%}
  .tarrif-time-value{font-size:1.6rem}
  .tarrif-cta{flex-direction:column;align-items:center}
  .tarrif-cta .btn{width:100%;max-width:280px}
  /* Activities: mobile one card per row */
  .accessibility-card{flex-direction:column;gap:1rem;padding:1.5rem 1.25rem}
  .accessibility-icon{width:48px;height:48px}
  .accessibility-icon svg{width:24px;height:24px}
  .accessibility-card-body h3{font-size:1.3rem}
  .accessibility-cta h3{font-size:1.5rem}
  .accessibility-tagline{font-size:1rem}
  .activities{padding:var(--mobile-space-md) 0}
  .activities-cards{flex-direction:column;gap:1rem;height:auto}
  .activity-card{flex:0 0 auto;width:100%;height:300px;border-radius:10px}
  .activity-card.active{flex:0 0 auto}
  .activity-card-collapsed{display:none}
  .activity-card-content{opacity:1;transform:translateY(0);position:relative;height:auto;padding:var(--mobile-space-md) 1.25rem}
  .activity-title{font-size:1.4rem}
  .activity-desc{font-size:.9rem}
  /* keep 2 columns on medium phones */
  .video-grid{grid-template-columns:repeat(2,1fr)}
  .video-card{aspect-ratio:9/18}
  /* Extra spacing reduction on small screens */
  .section{padding:var(--mobile-space-lg) 0}
  .about{padding:var(--mobile-space-lg) 0}
  .why-choose{padding:var(--mobile-space-lg) 0}
  .experience{padding:var(--mobile-space-lg) 0}
  .rooms{padding:var(--mobile-space-lg) 0}
  .gallery{padding:var(--mobile-space-lg) 0}
  .video-gallery{padding:var(--mobile-space-lg) 0}
  .reviews{padding:var(--mobile-space-lg) 0}
  .booking{padding:var(--mobile-space-lg) 0}
  .location{padding:var(--mobile-space-lg) 0}
  .faq{padding:var(--mobile-space-lg) 0}
  .contact{padding:var(--mobile-space-lg) 0}
  .room-gallery-section{padding:var(--mobile-space-lg) 0}
  .room-detail{padding:var(--mobile-space-lg) 0}
  .room-cta{padding:var(--mobile-space-lg) 0}
  .other-rooms{padding:0 0 var(--mobile-space-lg)}
  .villa-details{padding:var(--mobile-space-lg) 0}
  .facilities{padding:var(--mobile-space-lg) 0}
  .facility-grid{margin-top:var(--mobile-space-md)}

  /* WhatsApp button above Book Now bar */
  .whatsapp-float{bottom:72px !important;right:16px !important;width:48px !important;height:48px !important}
  .whatsapp-float svg{width:26px !important;height:26px !important}
}

/* ===== Mobile Small (375px) ===== */
@media (max-width:375px){
  .container{width:94%}
  h1{font-size:1.6rem}
  h2{font-size:1.5rem}
  .hero-content h1{font-size:2rem}
  .hero-subtitle{font-size:.75rem;letter-spacing:.15em}
  .btn{padding:.7rem 1.5rem;font-size:.7rem}
  .section-header .eyebrow{font-size:.72rem}
  .faq-question{font-size:1rem;padding:1rem 1.25rem}
  .video-grid{grid-template-columns:1fr}
  .video-card{aspect-ratio:9/18}
}

/* ===== Landscape Mobile ===== */
@media (max-height:500px) and (orientation:landscape){
  .hero{height:70vh;min-height:380px}
  .hero-content{padding:1rem}
  .hero-content h1{font-size:1.8rem}
  .hero-subtitle{font-size:.7rem;margin-bottom:1rem}
  .hero-buttons{gap:.5rem}
}

/* ===== Unified Mobile Header (768px and below) — reinforces 1024px block ===== */
@media (max-width:768px){
  #header{
    height:var(--mobile-header-height) !important;
    min-height:var(--mobile-header-height) !important;
    max-height:var(--mobile-header-height) !important;
    padding:0 !important;
    margin:0 !important;
    background:#000 !important;
  }
  #header .nav-wrapper{
    height:var(--mobile-header-height) !important;
    min-height:var(--mobile-header-height) !important;
    max-height:var(--mobile-header-height) !important;
    padding:0 16px !important;
    margin:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  #header .logo{
    height:var(--mobile-header-height) !important;
    display:flex !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
    flex-shrink:0;
  }
  #header .logo-img{
    width:72px !important;
    height:auto !important;
    max-height:80px !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
  }
  #header .nav-menu{display:none !important}
  #header .nav-actions{
    height:var(--mobile-header-height) !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:22px !important;
    margin:0 !important;
    padding:0 !important;
    flex-shrink:0;
  }
  #header .nav-actions > .btn{display:none !important}
  .header-call-icon{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:38px !important;
    height:38px !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    text-decoration:none !important;
    flex-shrink:0;
  }
  .header-call-icon svg{
    width:28px !important;
    height:28px !important;
    fill:currentColor !important;
    display:block !important;
  }
  #header .hamburger{
    width:40px !important;
    height:40px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    margin:0 !important;
    padding:0 !important;
    flex-shrink:0;
  }
  #header .hamburger span{
    width:28px !important;
    height:2.5px !important;
    display:block !important;
    margin:0 !important;
    background:#fff !important;
    border-radius:2px !important;
  }
  .header-transparent{background:#000 !important}
  .header-scrolled{background:#000 !important;padding:0 !important}
  /* Prevent horizontal scroll */
  body{overflow-x:hidden}
}

/* ===== Mobile menu viewport handling ===== */
@media (max-width:768px){
  body.menu-open{overflow:hidden}
  .mobile-nav{padding-bottom:calc(120px + env(safe-area-inset-bottom)) !important}
  .mobile-reserve-bar{padding-bottom:env(safe-area-inset-bottom);height:calc(60px + env(safe-area-inset-bottom))}
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
}

/* ===== Print ===== */
@media print{
  .header,.hamburger,.mobile-nav,.overlay,.hero-video,.room-hero-video,.video-card video,.preloader{display:none!important}
  body{color:#000;background:#fff}
}


