/* =========================================================
   Tierseralpl / Rifugio Alpe di Tires — stylesheet
   ========================================================= */

:root{
  --color-primary:#bf3730;
  --color-accent:#fe655d;
  --color-gray:#7f7f7f;
  --color-text:#333333;
  --color-bg:#ffffff;
  --color-bg-soft:#f7f5f4;
  --font-heading:'Poppins', 'Segoe UI', sans-serif;
  --font-body:'Inter', 'Segoe UI', sans-serif;
  --header-height:84px;
  --header-height-mobile:64px;
  --radius:10px;
  --transition-slow: .6s cubic-bezier(.25,.8,.25,1);
  --transition-fast: .25s ease;
  --container-width:1200px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-text);
  background:var(--color-bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{
  font-family:var(--font-heading);
  color:var(--color-text);
  margin:0 0 .6em;
  line-height:1.25;
}
h2{ font-size:2.3rem; font-weight:600; }
h3{ font-size:1.3rem; font-weight:600; }
p{ margin:0 0 1em; }
.container{
  max-width:var(--container-width);
  margin:0 auto;
  padding:0 28px;
}
.section{ padding:110px 0; position:relative; }
.section-tag{
  display:inline-flex;
  align-items:center;
  color:var(--color-primary);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.76rem;
  margin-bottom:18px;
  padding:7px 16px;
  border-radius:var(--radius);
  background:rgba(191,55,48,.08);
}
.section-head{ max-width:760px; margin-bottom:56px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* ---------------- Reveal on scroll ---------------- */
.reveal{ opacity:0; transform:translateY(38px); transition:opacity .9s ease, transform .9s ease; }
.reveal.in-view{ opacity:1; transform:translateY(0); }
.reveal-child{ opacity:0; transform:translateY(28px) scale(.97); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view .reveal-child{ opacity:1; transform:translateY(0) scale(1); }
.reveal-child:nth-child(1){ transition-delay:.05s; }
.reveal-child:nth-child(2){ transition-delay:.15s; }
.reveal-child:nth-child(3){ transition-delay:.25s; }
.reveal-child:nth-child(4){ transition-delay:.35s; }
.reveal-child:nth-child(5){ transition-delay:.45s; }
.reveal-child:nth-child(6){ transition-delay:.55s; }

/* ---------------- Buttons ---------------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:15px 34px;
  border-radius:var(--radius);
  font-weight:600;
  font-size:.92rem;
  letter-spacing:.03em;
  cursor:pointer;
  border:none;
  transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), color var(--transition-fast);
}
.btn-primary{
  background:linear-gradient(120deg,var(--color-primary),var(--color-accent));
  color:#fff;
  box-shadow:0 8px 22px rgba(191,55,48,.32);
}
.btn-primary:hover{ transform:translateY(-3px) scale(1.03); box-shadow:0 14px 30px rgba(191,55,48,.42); }
.btn-outline{
  border:2px solid var(--color-primary);
  color:var(--color-primary);
  background:transparent;
  padding:13px 30px;
}
.btn-outline:hover{ background:var(--color-primary); color:#fff; transform:translateY(-2px); }
.btn-white{
  background:#fff;
  color:var(--color-primary);
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
.btn-white:hover{ background:var(--color-text); color:#fff; transform:translateY(-3px) scale(1.03); }

/* ---------------- Header ---------------- */
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  height:var(--header-height);
  background:rgba(255,255,255,.97);
  z-index:1000;
  box-shadow:0 2px 18px rgba(0,0,0,.06);
  transition:height var(--transition-fast), box-shadow var(--transition-fast);
}
.site-header.scrolled{ box-shadow:0 4px 24px rgba(0,0,0,.12); }
.header-inner{
  max-width:var(--container-width);
  margin:0 auto;
  height:100%;
  padding:0 28px;
  display:flex;
  align-items:center;
  gap:32px;
}
.logo-link{ flex-shrink:0; display:flex; align-items:center; cursor:pointer; }
.logo-img{ height:42px; width:auto; }
.site-nav{
  display:flex;
  align-items:center;
  gap:6px;
  flex:1 1 auto;
  min-width:70px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  white-space:nowrap;
}
.site-nav::-webkit-scrollbar{ display:none; }
.nav-link{
  position:relative;
  font-weight:500;
  font-size:.94rem;
  color:var(--color-text);
  padding:10px 16px;
  border-radius:var(--radius);
  flex-shrink:0;
  transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}
.nav-link::after{
  content:'';
  position:absolute;
  left:16px; bottom:4px;
  width:0; height:2px;
  background:var(--color-accent);
  transition:width var(--transition-fast);
}
.nav-link:hover{
  background:rgba(191,55,48,.09);
  color:var(--color-primary);
  transform:translateY(-1px);
}
.nav-link:hover::after,
.nav-link.active-link::after{ width:calc(100% - 32px); }
.nav-link.active-link{ color:var(--color-primary); }

.burger-btn{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:40px; height:40px;
  border:none;
  background:transparent;
  cursor:pointer;
  padding:0;
  flex-shrink:0;
}
.burger-btn span{
  display:block;
  width:22px; height:2px;
  background:var(--color-text);
  border-radius:2px;
  transition:transform var(--transition-fast), opacity var(--transition-fast);
}
.burger-btn.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.burger-btn.open span:nth-child(2){ opacity:0; }
.burger-btn.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav-backdrop{
  display:none;
  position:fixed; inset:0;
  background:rgba(20,15,14,.4);
  z-index:998;
}
.nav-backdrop.open{ display:block; }

.btn-book-header{
  flex-shrink:0;
  background:var(--color-primary);
  color:#fff;
  padding:12px 26px;
  border-radius:var(--radius);
  font-weight:600;
  font-size:.88rem;
  letter-spacing:.03em;
  box-shadow:0 6px 18px rgba(191,55,48,.35);
  animation:pulseBtn 2.6s infinite;
  white-space:nowrap;
  transition:transform var(--transition-fast), background var(--transition-fast);
}
.btn-book-header:hover{ transform:translateY(-2px) scale(1.04); background:var(--color-accent); }
@keyframes pulseBtn{
  0%{ box-shadow:0 0 0 0 rgba(191,55,48,.45); }
  70%{ box-shadow:0 0 0 12px rgba(191,55,48,0); }
  100%{ box-shadow:0 0 0 0 rgba(191,55,48,0); }
}

.mobile-book-bar{ display:none; }

/* ---------------- Hero ---------------- */
.hero{
  position:relative;
  height:100vh;
  min-height:560px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-slider{ position:absolute; inset:0; }
.hero-slide{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.06);
  transition:opacity 1.8s ease;
  animation:kenburns 26s ease-in-out infinite alternate;
  will-change:transform,opacity;
}
.hero-slide:nth-child(1){ animation-delay:0s; }
.hero-slide:nth-child(2){ animation-delay:-9s; }
.hero-slide:nth-child(3){ animation-delay:-18s; }
.hero-slide:nth-child(4){ animation-delay:-13s; }
.mobile-only-slide{ display:none; }
@media (max-width:680px){
  .mobile-only-slide{ display:block; }
  .desktop-only-slide{ display:none; }
}
.hero-slide.active{ opacity:1; }
@keyframes kenburns{
  0%{ transform:scale(1.06); }
  100%{ transform:scale(1.2); }
}
.hero-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(20,15,14,.42) 0%,rgba(20,15,14,.32) 45%,rgba(20,15,14,.62) 100%);
  z-index:1;
}
.hero-content{
  position:relative;
  z-index:2;
  text-align:center;
  color:#fff;
  padding:0 24px;
  max-width:900px;
}
.hero-content h1{
  color:#fff;
  font-size:3rem;
  font-weight:700;
  text-shadow:0 4px 24px rgba(0,0,0,.35);
  margin-bottom:.5em;
}
.hero-subtitle{
  font-size:1.15rem;
  font-weight:400;
  opacity:.95;
  max-width:680px;
  margin:0 auto 2em;
  text-shadow:0 2px 12px rgba(0,0,0,.3);
}
.hero-actions{ display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.scroll-down{
  position:absolute;
  bottom:34px; left:50%;
  transform:translateX(-50%);
  z-index:2;
  width:32px; height:52px;
  border:2px solid rgba(255,255,255,.75);
  border-radius:var(--radius);
  cursor:pointer;
  transition:border-color var(--transition-fast);
}
.scroll-down:hover{ border-color:var(--color-accent); }
.scroll-down::before{
  content:'';
  position:absolute;
  top:8px; left:50%;
  width:5px; height:5px;
  margin-left:-2.5px;
  background:var(--color-accent);
  border-radius:50%;
  animation:scrollDot 1.8s infinite;
}
@keyframes scrollDot{
  0%{ opacity:1; top:8px; }
  70%{ opacity:0; top:32px; }
  100%{ opacity:0; top:8px; }
}
.hero-dots{
  position:absolute;
  bottom:34px; right:34px;
  z-index:2;
  display:flex;
  gap:9px;
}
.hero-dot{
  width:9px; height:9px;
  border-radius:50%;
  background:rgba(255,255,255,.45);
  cursor:pointer;
  transition:background var(--transition-fast), transform var(--transition-fast);
}
.hero-dot:hover{ background:rgba(254,101,93,.8); }
.hero-dot.active{ background:var(--color-accent); transform:scale(1.25); }

/* ---------------- Home intro ---------------- */
.home-intro{ background:var(--color-bg); }
.home-intro .container{ max-width:900px; text-align:center; }
.home-intro h2{ font-size:2.1rem; }
.home-intro p{ font-size:1.06rem; color:var(--color-text); }
.divider{
  width:64px; height:4px;
  margin:0 auto 34px;
  border-radius:4px;
  background:linear-gradient(120deg,var(--color-primary),var(--color-accent));
}

/* ---------------- Rooms ---------------- */
.rooms-section{ background:var(--color-bg-soft); }
.rooms-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
  margin-bottom:60px;
}
.room-card{
  background:#fff;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  transition:transform var(--transition-slow), box-shadow var(--transition-slow);
  display:flex;
  flex-direction:column;
}
.room-card::before{
  content:'';
  display:block;
  height:5px;
  background:linear-gradient(120deg,var(--color-primary),var(--color-accent));
}
.room-card:hover{ transform:translateY(-10px); box-shadow:0 22px 46px rgba(0,0,0,.14); }
.room-img-wrap{ overflow:hidden; height:220px; }
.room-img-wrap a{ display:block; width:100%; height:100%; cursor:zoom-in; }
.room-img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}
.room-card:hover .room-img{ transform:scale(1.1); }
.room-body{ padding:26px 26px 30px; display:flex; flex-direction:column; flex:1; }
.room-body h3{ margin-bottom:.3em; }
.room-capacity{ color:var(--color-gray); font-size:.92rem; margin-bottom:16px; }
.room-prices{ margin-bottom:20px; }
.room-prices li{
  display:flex;
  justify-content:space-between;
  padding:9px 0;
  border-bottom:1px dashed #e2ddda;
  font-size:.95rem;
}
.room-prices li:last-child{ border-bottom:none; }
.room-prices strong{ color:var(--color-primary); }
.room-body .btn-outline{ margin-top:auto; text-align:center; justify-content:center; }

.rooms-info{
  background:#fff;
  border-radius:var(--radius);
  padding:44px 40px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  border-left:4px solid var(--color-accent);
}
.info-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px 32px;
  margin-bottom:10px;
}
.info-list li{
  position:relative;
  padding-left:26px;
  font-size:.96rem;
}
.info-list li::before{
  content:'';
  position:absolute;
  left:0; top:9px;
  width:9px; height:9px;
  border-radius:50%;
  background:var(--color-accent);
}
.rooms-info h3{ margin-top:34px; color:var(--color-primary); }
.rooms-cta{ text-align:center; margin-top:38px; }

/* ---------------- CTA band ---------------- */
.cta-band{
  padding:120px 0;
  text-align:center;
  color:#fff;
  position:relative;
  overflow:hidden;
}
.cta-bg{
  position:absolute;
  top:-18%; left:0; right:0; bottom:-18%;
  background-image:url('../img/parallax.jpg');
  background-size:cover;
  background-position:center;
  transform:scale(1.3);
  will-change:transform;
}
.cta-overlay{
  position:absolute; inset:0;
  background:linear-gradient(120deg,rgba(191,55,48,.86),rgba(254,101,93,.8));
}
.cta-band-inner{ position:relative; z-index:1; max-width:640px; margin:0 auto; }
.cta-band h2{ color:#fff; font-size:2rem; }
.cta-band p{ color:rgba(255,255,255,.92); font-size:1.05rem; margin-bottom:30px; }

/* ---------------- Kitchen / gallery ---------------- */
.kitchen-section{ background:var(--color-bg); }
.kitchen-text{ max-width:820px; margin:0 auto 44px; text-align:center; }
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:60px;
}
.gallery-grid:last-of-type{ margin-bottom:0; }
.gallery-item{
  position:relative;
  height:260px;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 4px 0 0 rgba(0,0,0,0);
  transition:box-shadow var(--transition-fast);
}
.gallery-item a{ display:block; width:100%; height:100%; cursor:zoom-in; }
.gallery-item img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s ease;
}
.gallery-item::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(254,101,93,0) 45%,rgba(191,55,48,.6) 100%);
  opacity:0;
  transition:opacity var(--transition-fast);
  pointer-events:none;
}
.gallery-item:hover{ box-shadow:0 0 0 3px var(--color-accent); }
.gallery-item:hover img{ transform:scale(1.12); }
.gallery-item:hover::after{ opacity:1; }

/* ---------------- Directions ---------------- */
.directions-section{ background:var(--color-bg-soft); }
.directions-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:50px;
}
.directions-grid a{ display:block; cursor:zoom-in; border-radius:var(--radius); overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.08); }
.directions-grid img{
  width:100%; height:340px;
  object-fit:cover;
  transition:transform .8s ease;
}
.directions-grid a:hover img{ transform:scale(1.06); }
.directions-columns{
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:50px;
  align-items:start;
}
.trail-list li{
  position:relative;
  padding:14px 0 14px 34px;
  border-bottom:1px solid #e5e0dd;
  font-size:.96rem;
}
.trail-list li:last-child{ border-bottom:none; }
.trail-list li::before{
  content:'\1F9ED';
  position:absolute;
  left:0; top:12px;
  font-size:1rem;
}
.distances-box{
  background:#fff;
  border-radius:var(--radius);
  padding:30px 32px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  margin-bottom:26px;
  border-left:4px solid var(--color-primary);
}
.distances-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 22px;
}
.distances-grid div{
  display:flex;
  justify-content:space-between;
  font-size:.92rem;
  padding:6px 0;
  border-bottom:1px dotted #e2ddda;
}
.distances-grid strong{ color:var(--color-primary); }
.useful-links-box{
  background:#fff;
  border-radius:var(--radius);
  padding:30px 32px;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  border-left:4px solid var(--color-accent);
}
.useful-links-box li{ padding:8px 0; }
.useful-links-box a{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--color-text);
  font-weight:500;
  font-size:.94rem;
  transition:color var(--transition-fast), transform var(--transition-fast);
}
.useful-links-box a:hover{ color:var(--color-primary); transform:translateX(4px); }
.link-icon{
  width:20px; height:20px;
  flex-shrink:0;
}
.link-icon.icon-air{ fill:var(--color-primary); }
.link-icon.icon-bus{ fill:var(--color-accent); }
.link-icon.icon-train{ fill:var(--color-gray); }

/* ---------------- Footer ---------------- */
.site-footer{
  position:relative;
  color:#fff;
  overflow:hidden;
  padding-top:90px;
}
.footer-bg{
  position:absolute;
  top:-18%; left:0; right:0; bottom:-18%;
  background-image:url('../img/footer.jpg');
  background-size:cover;
  background-position:center;
  transform:scale(1.35);
  will-change:transform;
}
.footer-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(24,17,16,.72) 0%,rgba(24,17,16,.86) 100%);
}
.footer-inner{
  position:relative;
  z-index:2;
  max-width:var(--container-width);
  margin:0 auto;
  padding:0 28px 50px;
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:46px;
}
.footer-logo{ height:38px; width:auto; margin-bottom:20px; filter:brightness(0) invert(1); }
.footer-col h3{ color:#fff; font-size:1.15rem; }
.footer-col h4{
  color:#fff;
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin:0 0 14px;
  opacity:.85;
}
.footer-col p{ color:rgba(255,255,255,.85); font-size:.94rem; }
.footer-col a{ transition:color var(--transition-fast); }
.footer-contact a:hover{ color:var(--color-accent); }
.lang-switch{ display:flex; gap:10px; margin-bottom:32px; }
.lang-switch a{
  width:42px; height:42px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:var(--radius);
  font-size:.8rem;
  font-weight:600;
  color:#fff;
  transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.lang-switch a.active,
.lang-switch a:hover{
  background:var(--color-primary);
  border-color:transparent;
  transform:translateY(-2px);
}
.social-links{ display:flex; gap:12px; margin-bottom:8px; }
.social-links a{
  width:42px; height:42px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.35);
  border-radius:var(--radius);
  transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
}
.social-links a:hover{
  background:var(--color-accent);
  border-color:transparent;
  transform:translateY(-3px);
}
.social-links svg{ width:18px; height:18px; fill:#fff; }
.footer-extra{ display:flex; flex-direction:column; gap:18px; }
.footer-extra-link{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:.92rem;
  font-weight:500;
  color:#fff;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:var(--radius);
  transition:background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);
}
.footer-extra-link svg{ width:20px; height:20px; fill:#fff; flex-shrink:0; transition:transform var(--transition-fast); }
.footer-extra-link:hover{
  background:var(--color-accent);
  border-color:transparent;
  transform:translateY(-2px);
}
.footer-extra-link:hover svg{ transform:scale(1.15) rotate(-6deg); }
.footer-bottom{
  position:relative;
  z-index:2;
  border-top:1px solid rgba(255,255,255,.18);
  padding:22px 28px;
  max-width:var(--container-width);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:.85rem;
  color:rgba(255,255,255,.7);
}
.footer-privacy:hover{ color:var(--color-accent); }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1100px){
  .rooms-grid{ grid-template-columns:repeat(3,1fr); gap:22px; }
  .footer-inner{ grid-template-columns:1fr 1fr; }
  .footer-extra{ grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; }
  .footer-extra-link{ flex:1; min-width:220px; }
}

@media (max-width:960px){
  :root{ --header-height:70px; }
  .hero-content h1{ font-size:2.3rem; }
  .rooms-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .directions-grid{ grid-template-columns:1fr; }
  .directions-columns{ grid-template-columns:1fr; gap:30px; }
  .section{ padding:80px 0; }
  .cta-band{ padding:64px 0; }
}

@media (max-width:768px){
  .header-inner{ gap:14px; padding:0 18px; }
  .logo-img{ height:34px; }
  .hero-content h1{ font-size:1.9rem; }
  .hero-subtitle{ font-size:1rem; }
  .info-list{ grid-template-columns:1fr; }
  .distances-grid{ grid-template-columns:1fr; }
  .footer-inner{ grid-template-columns:1fr; padding-bottom:36px; }
  .footer-extra{ flex-direction:column; }
  .footer-extra-link{ min-width:0; }
  .footer-bottom{ flex-direction:column; text-align:center; }
  h2{ font-size:1.8rem; }
}

@media (max-width:680px){
  .btn-book-header{ display:none; }
  .burger-btn{ display:flex; margin-left:auto; }
  .logo-img{ height:40px; width:auto; }
  .hero-actions{ display:none; }
  .rooms-cta{ display:none; }
  .cta-band-inner .btn{ display:none; }
  .gallery-grid{ grid-template-columns:1fr; margin-bottom:40px; }
  .gallery-item{ height:240px; }
  .site-nav{
    display:none;
    position:fixed;
    top:var(--header-height-mobile);
    left:0; right:0;
    background:#fff;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px 22px 24px;
    box-shadow:0 16px 30px rgba(0,0,0,.14);
    max-height:calc(100vh - var(--header-height-mobile));
    overflow-y:auto;
    z-index:999;
    white-space:normal;
  }
  .site-nav.nav-open{ display:flex; }
  .nav-link{
    padding:16px 6px;
    border-bottom:1px solid #eee;
    font-size:1rem;
    width:100%;
    border-radius:0;
  }
  .nav-link:hover{ background:transparent; transform:none; }
  .nav-link::after{ display:none; }
  .mobile-book-bar{
    display:flex;
    position:fixed;
    left:0; right:0; bottom:0;
    z-index:1001;
    padding:8px 14px calc(8px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.8);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    box-shadow:0 -6px 20px rgba(0,0,0,.12);
  }
  .mobile-book-bar a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    padding:11px;
    background:var(--color-primary);
    color:#fff;
    font-weight:600;
    border-radius:var(--radius);
    font-size:.92rem;
    letter-spacing:.03em;
    animation:pulseBtn 2.6s infinite;
  }
  body{ padding-bottom:62px; }
}

@media (max-width:520px){
  .container{ padding:0 18px; }
  .rooms-grid{ grid-template-columns:1fr; }
  .gallery-item{ height:210px; }
  .rooms-info{ padding:30px 22px; }
  .hero-dots{ display:none; }
  .header-inner{ gap:10px; padding:0 14px; }
  .logo-img{ height:36px; width:auto; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
