/* ===================== HERO ===================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:#fff;isolation:isolate}
.hero-parallax{position:absolute;inset:-8% 0;z-index:0;will-change:transform}
.hero-slides{position:absolute;inset:0}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.hero-img.active{opacity:1}
.hero-overlay{position:absolute;inset:0;z-index:1;background:
  radial-gradient(ellipse 90% 70% at 50% 45%,rgba(11,13,17,.2) 0%,rgba(11,13,17,.55) 70%),
  linear-gradient(180deg,rgba(11,13,17,.35),transparent 30%,rgba(11,13,17,.6))}
.hero-content{position:relative;z-index:2;padding:calc(var(--nav-h) + 16px) var(--pad) 48px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;max-height:100svh;box-sizing:border-box}
.hero .script.hero-welcome{
  font-size:clamp(3.4rem,9.5vw,6.8rem);
  margin-bottom:.08em;
  display:block;
  line-height:.92;
  color:var(--gold-2);
  text-shadow:0 4px 32px rgba(194,161,92,.55),0 2px 6px rgba(0,0,0,.35);
}
.hero h1{font-size:clamp(1.85rem,5.8vw,5.4rem);color:#fff;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 8px 44px rgba(0,0,0,.45);white-space:nowrap;line-height:1.05}
.hero-tagline{margin-top:18px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;font-size:clamp(.74rem,1vw,.86rem);color:var(--gold-2);display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}
.hero-tagline i{width:5px;height:5px;border-radius:50%;background:var(--gold);display:inline-block}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;justify-content:center}
@media(max-width:420px){.hero h1{font-size:clamp(1.35rem,6.8vw,1.85rem);letter-spacing:.03em}.hero .script.hero-welcome{font-size:clamp(2.6rem,12vw,3.4rem)}}
@media(prefers-reduced-motion:reduce){.hero-content > .hero-welcome{opacity:1;animation:none;filter:none;transform:none}.hero-img{transition:none}}

/* ===================== EXPERIENCE CARDS (lifted) ===================== */
.experiences{background:#f6f1e8;position:relative;z-index:10;padding-block:clamp(40px,5vw,72px)}
.exp-lift{position:relative;z-index:20}

/* ===================== ROOMS (grid layout) ===================== */
.rooms{background:var(--paper);color:var(--text);padding-bottom:clamp(56px,7vw,96px)}
.rooms-hero{position:relative;min-height:clamp(260px,36vh,380px);display:grid;place-items:center;overflow:visible;margin-bottom:clamp(52px,6vw,68px)}
.rooms-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rooms-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,17,.25),rgba(11,13,17,.62))}
.rooms-hero-title{position:relative;z-index:2;font-family:var(--display);font-size:clamp(3.2rem,9vw,6.5rem);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-weight:600;text-shadow:0 10px 48px rgba(0,0,0,.45);margin:0}
.rooms-search{
  position:absolute;z-index:3;bottom:0;left:50%;transform:translate(-50%,50%);
  width:min(900px,calc(100% - 32px));background:#fff;border-radius:var(--r-lg);
  box-shadow:var(--shadow);display:grid;grid-template-columns:1.1fr 1.1fr 1fr auto;
  border:1px solid var(--line);overflow:hidden;
}
.rooms-search .sf{padding:14px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px;min-width:0}
.rooms-search label{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}
.rooms-search input,.rooms-search select{border:none;outline:none;font-family:var(--sans);font-weight:600;font-size:.92rem;color:var(--ink);background:transparent;width:100%}
.rooms-search .btn{border-radius:0;margin:0;height:100%;padding-inline:clamp(20px,3vw,36px);white-space:nowrap}
.rooms-body{padding-top:clamp(28px,4vw,40px)}
.rooms-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,28px)}
.rcard{
  background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);display:flex;flex-direction:column;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;
}
.rcard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.rcard-media{position:relative;aspect-ratio:4/3;overflow:hidden}
.rcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.rcard:hover .rcard-media img{transform:scale(1.05)}
.rcard-body{padding:18px 20px 22px;display:flex;flex-direction:column;flex:1}
.rcard-body h3{font-size:clamp(1.15rem,1.6vw,1.38rem);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);line-height:1.1}
.rcard-meta{display:flex;gap:12px 16px;flex-wrap:wrap;margin-top:12px;margin-bottom:18px;font-size:.74rem;color:var(--text);opacity:.68}
.rcard-meta span{display:inline-flex;align-items:center;gap:5px}
.rcard-meta svg{width:15px;height:15px;fill:none;stroke:var(--gold);stroke-width:1.4;flex:none}
.rcard .btn{width:100%;margin-top:auto}
.rcard-media a{display:block;height:100%}
.rcard-title{color:inherit;transition:color .25s}
.rcard-title:hover{color:var(--gold-deep)}
.rcard-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto}
@media(max-width:980px){.rooms-cards{grid-template-columns:repeat(2,1fr)}.rooms-search{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.rooms-search .btn{grid-column:1/-1;border-radius:0 0 var(--r-lg) var(--r-lg)}.rooms-search .sf:nth-child(2){border-right:none}}
@media(max-width:560px){.rooms-cards{grid-template-columns:1fr}.rooms-search{grid-template-columns:1fr}.rooms-search .sf{border-right:none;border-bottom:1px solid var(--line)}.rooms-search .sf:last-of-type{border-bottom:none}}
/* ===================== STATS ===================== */
.stats{position:relative;z-index:12;background:#ff2da6;color:var(--paper);padding-block:clamp(36px,4.5vw,56px)}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);text-align:center;gap:22px}
.stats-grid .st{position:relative;cursor:default;transition:transform .3s,opacity .3s;border-radius:var(--r);padding:8px 4px}
.stats-grid .st:hover,.stats-grid .st:focus-within{transform:translateY(-4px)}
.stats-grid .st:hover .ic,.stats-grid .st:focus-within .ic{color:var(--gold-2);transform:scale(1.08)}
.stats-grid .st .ic{transition:color .3s,transform .3s}
.stats-grid .st .n{transition:color .3s}
.stats-grid .st:hover .n,.stats-grid .st:focus-within .n{color:var(--gold-2)}
.stats-grid .st+.st::before{content:"";position:absolute;left:0;top:14%;height:72%;width:1px;background:rgba(255,255,255,.28)}
.st .ic{color:var(--gold);margin-bottom:12px;display:flex;justify-content:center}
.st .ic svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.3}
.st .n{font-family:var(--display);font-weight:600;font-size:clamp(2.1rem,3.6vw,3rem);color:#fff;line-height:1}
.st .n .u{color:var(--gold)}
.st .l{margin-top:9px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;opacity:.88}
@media(max-width:760px){.stats-grid{grid-template-columns:1fr 1fr 1fr}.stats-grid .st:nth-child(3)::before,.stats-grid .st:nth-child(1)::before{display:none}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr 1fr}}

/* ===================== REVIEWS + MAP + BOOKING ===================== */
.rev3{display:grid;grid-template-columns:1.08fr 1fr .92fr;gap:24px;align-items:stretch}
.rev-col{display:flex;flex-direction:column}
.ghead{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.ghead .score{font-family:var(--display);font-weight:600;font-size:2.6rem;line-height:1;color:var(--ink)}
.gstars{color:#e8a93a;letter-spacing:1px}
.ghead .gsub{font-size:.84rem;opacity:.62}
.glogo{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.rev-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-sm);flex:1}
.rev-card .top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rev-card .av{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;background:var(--gold);display:grid;place-items:center;color:#1a1d23;font-weight:800}
.rev-card .nm{font-weight:700;font-size:.98rem;line-height:1.1}
.rev-card .dt{font-size:.76rem;opacity:.55}
.rev-card .rs{color:#e8a93a;font-size:.85rem;letter-spacing:1px;margin-left:auto}
.rev-card p{font-size:.92rem;line-height:1.6;opacity:.86;margin-top:6px}
.rev-nav{display:flex;align-items:center;gap:14px;margin-top:16px;justify-content:center}
.rev-nav button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--gold-deep);transition:.25s}
.rev-nav button:hover{background:var(--gold);color:#1a1d23;border-color:var(--gold)}
.rev-dots{display:flex;gap:7px}
.rev-dots i{width:7px;height:7px;border-radius:50%;background:var(--line);cursor:pointer;transition:.25s}
.rev-dots i.on{background:var(--gold);width:20px;border-radius:4px}

.map-card{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);min-height:300px;background:#e9eadf}
.map-card iframe{width:100%;height:100%;min-height:300px;border:0;display:block;filter:grayscale(.15)}
.map-pin{position:absolute;left:18px;top:50%;transform:translateY(-50%);z-index:3;background:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:0 12px 30px -14px rgba(0,0,0,.4);max-width:220px}
.map-pin .mt{display:flex;gap:8px;align-items:center;font-weight:700;font-size:.92rem}
.map-pin svg{width:18px;height:18px;fill:var(--gold);flex:none}
.map-pin .ad{font-size:.8rem;opacity:.7;margin:6px 0 12px;line-height:1.4}
.map-pin .md{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:8px 12px;border-radius:var(--r);display:inline-block;color:var(--gold-deep)}
.map-pin .md:hover{background:var(--gold);color:#1a1d23;border-color:var(--gold)}

.booking{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow-sm)}
.booking h3{font-size:1.5rem;letter-spacing:.04em}
.booking .bfields{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.bfield{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:border .25s}
.bfield:focus-within{border-color:var(--gold)}
.bfield label{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;opacity:.55;font-weight:700}
.bfield input,.bfield select{border:none;background:none;outline:none;font-family:var(--sans);font-weight:600;font-size:.94rem;color:var(--text);text-align:right}
.bfield select{flex:1;min-width:0;max-width:68%;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a8175' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;padding-right:18px}
.booking .btn{width:100%;margin-top:16px}
.booking .guar{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px;font-size:.78rem;opacity:.7}
.booking .guar svg{width:15px;height:15px;fill:var(--gold)}

@media(max-width:980px){.rev3{grid-template-columns:1fr}.map-card{min-height:280px}}

/* ===================== EVENTS BAND ===================== */
.events{position:relative;min-height:clamp(320px,42svh,440px);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;isolation:isolate}
.events .ebg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.events::after{content:"";position:absolute;inset:0;background:rgba(12,14,18,.64);z-index:1}
.events .inner{position:relative;z-index:2;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:22px}
.events h2{color:#fff;font-size:clamp(1.9rem,4.2vw,3.1rem);max-width:22ch;margin:0}

/* ===================== SPA + KUPA (fucsia/viola) ===================== */
.spafux{background:radial-gradient(130% 110% at 85% -5%,rgba(151,71,255,.26) 0%,rgba(255,45,166,.07) 55%,transparent 100%);color:#f8effc;overflow:hidden}
.spafux .eyebrow{color:#ff5cc3}
.spafux h2,.spafux h3{color:#fff}
.spafux .grad{background:linear-gradient(90deg,#ff2da6,#9747ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.spa-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(28px,4.5vw,64px);align-items:center}
.spa-media{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 90px -40px rgba(255,45,166,.5)}
.spa-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3.2}
.spa-media .floatag{position:absolute;left:16px;bottom:16px;background:rgba(19,7,33,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,92,195,.4);border-radius:999px;padding:9px 16px;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ff8ed6}
.temps{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.temp{border:1px solid rgba(255,92,195,.45);background:rgba(255,45,166,.1);border-radius:999px;padding:8px 15px;font-size:.78rem;font-weight:600;display:inline-flex;gap:8px;align-items:baseline}
.temp b{color:#ff5cc3;font-size:1.06rem;font-family:var(--display)}
.spa-feats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}
.spa-feats .sf{display:flex;gap:10px;align-items:center;font-size:.85rem;padding:10px 13px;border:1px solid rgba(151,71,255,.35);border-radius:var(--r);background:rgba(151,71,255,.09)}
.spa-feats .sf svg{width:16px;height:16px;flex:none;fill:none;stroke:#c08bff;stroke-width:1.6}
.spa-hours{display:flex;gap:8px 22px;flex-wrap:wrap;margin-top:20px;font-size:.82rem;opacity:.9}
.spa-hours b{color:#ff5cc3}
.btn-fux{background:linear-gradient(90deg,#ff2da6,#9747ff);color:#fff}
.btn-fux:hover{transform:translateY(-2px);box-shadow:0 16px 34px -14px #ff2da6;filter:brightness(1.1)}
.kupa{margin-top:clamp(32px,4vw,56px);display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,3.5vw,48px);align-items:center}
.kupa .kimg{position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 90px -40px rgba(255,45,166,.5);min-height:320px}
.kupa .kimg img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3.2}
.kupa .kbd{padding:0}
.kupa .ktag{display:inline-block;border:1px solid rgba(255,92,195,.5);color:#ff8ed6;border-radius:999px;padding:7px 14px;font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}
.kupa h3{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:.07em;text-transform:uppercase}
.kupa p{margin-top:12px;opacity:.85;line-height:1.65;max-width:50ch}
.kupa ul{margin-top:18px}
.kupa li{display:flex;gap:10px;align-items:baseline;font-size:.92rem;margin-top:9px;opacity:.92}
.kupa li::before{content:"✦";color:#ff5cc3;flex:none}
.kupa .btn{margin-top:24px}
@media(max-width:900px){.spa-grid{grid-template-columns:1fr}.spa-grid .spa-media{order:-1}.kupa{grid-template-columns:1fr;gap:28px}.kupa .kimg{min-height:240px}.spa-feats{grid-template-columns:1fr}}

/* Viewport compatti desktop / laptop */
@media(max-height:820px) and (min-width:768px){
  .hero .script.hero-welcome{font-size:clamp(2.2rem,7vw,4rem)}
  .hero h1{font-size:clamp(1.5rem,4.2vw,3rem)}
  .hero-tagline{margin-top:12px}
  .hero-actions{margin-top:20px}
  .stats{padding-block:clamp(28px,3.5vw,40px)}
  .st .n{font-size:clamp(1.7rem,3vw,2.4rem)}
  .exp-card{min-height:clamp(260px,24vw,320px)}
  .shead{margin-bottom:clamp(28px,4vw,48px)}
  .shead h2{font-size:clamp(1.75rem,3.5vw,2.6rem)}
}
