/* ═══════════════════════════════════════════════════════════════
   TC&C TRAVEL · "CINEMATIC" — V/H rail (motor din Luiz Design)
   Paletă Luiz: negru #030303 · auriu #c5a028 · crem #ede8dc
   Fonturi: Cormorant Garamond + JetBrains Mono
   Fundaluri: schițe creion tratate "blueprint" (linii albe pe negru / dark)
   ═══════════════════════════════════════════════════════════════ */

/* ── TOKENS : DARK (default) ── */
:root {
  --bg:#030303; --bg2:#0d0d0d;
  --text:#ede8dc; --text2:rgba(237,232,220,.60); --muted:rgba(237,232,220,.28);
  --gold:#c5a028; --gold2:rgba(197,160,40,.40); --gold3:rgba(197,160,40,.12); --gold4:rgba(197,160,40,.05);
  --border:rgba(237,232,220,.10); --border2:rgba(237,232,220,.22);
  --serif:'Cormorant Garamond',Georgia,serif;
  --mono:'JetBrains Mono',monospace;
  --ease:cubic-bezier(.77,0,.175,1);
}
html[data-theme="light"]{
  --bg:#ede8dc; --bg2:#e3ddd1;
  --text:#1a1208; --text2:rgba(26,18,8,.66); --muted:rgba(26,18,8,.34);
  --gold:#9a7d1e; --gold2:rgba(154,125,30,.42); --gold3:rgba(154,125,30,.12); --gold4:rgba(154,125,30,.05);
  --border:rgba(26,18,8,.12); --border2:rgba(26,18,8,.24);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px}
body{
  background:var(--bg); color:var(--text); font-family:var(--serif);
  overflow:hidden; -webkit-font-smoothing:antialiased;
  transition:background .75s,color .75s; padding-top:env(safe-area-inset-top);
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;border:none;background:none;color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
ul{list-style:none}



/* ── NAV ── */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;
  padding:max(1.5rem,calc(1rem + env(safe-area-inset-top))) 5vw 1.5rem;
  display:flex;align-items:center;justify-content:space-between;transition:padding .3s}
.nav-logo{font-family:var(--serif);font-size:clamp(.95rem,1.7vw,1.35rem);font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;display:flex;flex-direction:column;line-height:1;
  cursor:pointer;transition:opacity .4s var(--ease)}
.nav-logo b{font-weight:600}
.nav-logo .amp{color:var(--gold);font-style:italic;font-weight:600}
.nav-logo span{font-family:var(--mono);font-size:.42em;letter-spacing:.34em;color:var(--gold);margin-top:.45em;font-weight:300}
.nav-links{display:flex;gap:2.4rem}
.nav-links a{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text2);transition:color .2s;cursor:pointer}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:1rem}
.nav-cta{font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--gold2);padding:.5rem 1.2rem;color:var(--gold);cursor:pointer;position:relative;z-index:600;
  transition:background .25s,color .25s}
.nav-cta:hover{background:var(--gold);color:var(--bg)}
#themeBtn{font-family:var(--mono);font-size:.85rem;width:2.2rem;height:2.2rem;display:inline-flex;
  align-items:center;justify-content:center;border:1px solid var(--gold2);color:var(--gold);cursor:pointer;
  position:relative;z-index:600;flex-shrink:0;line-height:1;transition:border-color .25s,background .25s}
#themeBtn:hover{border-color:var(--gold);background:var(--gold3)}

/* ── V-RAIL / V-TRACK (5 rânduri × 100vh) ── */
#v-rail{position:fixed;inset:0;z-index:1;overflow:hidden}
#v-track{display:flex;flex-direction:column;width:100vw;height:500vh;transition:transform .8s var(--ease);will-change:transform}
.v-row{width:100vw;height:100vh;flex-shrink:0;position:relative;overflow:hidden}

/* ── SKETCH BACKGROUND (per rând, fix; cardurile alunecă peste) ── */
.row-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--bg)}
.row-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.row-bg::after{content:'';position:absolute;inset:0}
/* LIGHT — sublim: desen real pe crem */
html[data-theme="light"] .row-bg img{opacity:.30;filter:grayscale(1) contrast(1.05);mix-blend-mode:multiply}
html[data-theme="light"] .row-bg::after{background:radial-gradient(120% 95% at 50% 42%,transparent 45%,var(--bg) 100%)}
/* DARK — 3 moduri alb-negru (fără negativ), comutabile din buton */
/* A · Film — low-key, iese din negru */
html[data-theme="dark"][data-bg="cinematic"] .row-bg img{opacity:.95;filter:grayscale(1) contrast(1.5) brightness(.4)}
html[data-theme="dark"][data-bg="cinematic"] .row-bg::after{background:linear-gradient(180deg,rgba(3,3,3,.48),rgba(3,3,3,.32) 45%,rgba(3,3,3,.7)),radial-gradient(130% 100% at 50% 40%,transparent 12%,rgba(3,3,3,.8) 100%)}
/* B · Clar — alb-negru editorial */
html[data-theme="dark"][data-bg="editorial"] .row-bg img{opacity:.92;filter:grayscale(1) contrast(1.1) brightness(.95)}
html[data-theme="dark"][data-bg="editorial"] .row-bg::after{background:linear-gradient(180deg,rgba(3,3,3,.78) 0%,transparent 20%,transparent 66%,rgba(3,3,3,.86) 100%)}
/* C · Auriu — alb-negru virat spre aur */
html[data-theme="dark"][data-bg="duoton"] .row-bg img{opacity:.88;filter:grayscale(1) sepia(.75) saturate(1.25) hue-rotate(-8deg) contrast(1.2) brightness(.5)}
html[data-theme="dark"][data-bg="duoton"] .row-bg::after{background:linear-gradient(180deg,rgba(3,3,3,.46),rgba(3,3,3,.3) 45%,rgba(3,3,3,.7)),radial-gradient(130% 100% at 50% 40%,transparent 14%,rgba(3,3,3,.8) 100%)}
.graticule-grid{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:46px 46px}

/* ── H-TRACK (3 carduri × 100vw, centrul vizibil) ── */
.h-track{display:flex;flex-direction:row;width:300vw;height:100%;position:relative;z-index:1;
  transition:transform .8s var(--ease);will-change:transform;transform:translateX(-100vw)}
.v-row.no-h>.h-track{transform:translateX(0)!important;width:100vw}
.v-row.no-h>.h-track>.card{width:100vw}

.card{width:100vw;height:100vh;flex-shrink:0;position:relative;overflow:hidden;display:flex}

/* ── TWO-COLUMN ── */
.col-l,.col-r{height:100%;overflow:hidden;flex-shrink:0}
.col-l{width:52%;padding:clamp(3rem, 12vh, 9rem) 4vw clamp(1.5rem, 6vh, 5rem) 7vw;display:flex;flex-direction:column;justify-content:flex-start;
  background:linear-gradient(100deg,var(--bg) 30%,rgba(3,3,3,.78) 70%,transparent 100%)}
html[data-theme="light"] .col-l{background:linear-gradient(100deg,var(--bg) 30%,rgba(237,232,220,.82) 70%,transparent 100%)}
.col-r{width:48%;padding:clamp(3rem, 12vh, 9rem) 7vw clamp(1.5rem, 6vh, 5rem) 4vw;display:flex;flex-direction:column;justify-content:flex-start}
.card.solid-l .col-l{background:var(--bg)}
.card.full .col-l{width:100%;background:linear-gradient(180deg,transparent 40%,var(--bg) 100%)}

/* ── AUTO-HIDE UI ── */
body.ui-hidden #arrU,body.ui-hidden #arrD,body.ui-hidden #arrL,body.ui-hidden #arrR,
body.ui-hidden #v-dots,body.ui-hidden #h-dots{opacity:0!important;pointer-events:none}

/* ── ARROWS ── */
.arr{position:fixed;z-index:300;border:1px solid var(--border2);color:var(--text2);width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--mono);font-size:.9rem;
  transition:border-color .2s,color .2s,opacity .4s ease;background:rgba(3,3,3,.35);backdrop-filter:blur(6px)}
html[data-theme="light"] .arr{background:rgba(237,232,220,.45)}
.arr:hover{border-color:var(--gold);color:var(--gold)}
.arr.off{opacity:0!important;pointer-events:none}
#arrU{left:50%;transform:translateX(-50%);top:.9rem}
#arrD{left:50%;transform:translateX(-50%);bottom:4.6rem}
#arrL{left:1.4rem;top:50%;transform:translateY(-50%)}
#arrR{right:1.4rem;top:50%;transform:translateY(-50%)}

/* ── DOTS ── */
#v-dots{position:fixed;right:1.4rem;top:50%;transform:translateY(-50%);z-index:300;display:flex;flex-direction:column;gap:.65rem;transition:opacity .4s}
#h-dots{position:fixed;bottom:3.8rem;left:50%;transform:translateX(-50%);z-index:300;display:flex;gap:.65rem;transition:opacity .4s}
#h-dots.hidden{opacity:0;pointer-events:none}
.vdot,.hdot{width:5px;height:5px;border-radius:50%;border:1px solid var(--gold2);background:transparent;cursor:pointer;
  transition:background .3s,border-color .3s,transform .3s}
.vdot.on,.hdot.on{background:var(--gold);border-color:var(--gold);transform:scale(1.35)}

/* ── MARQUEE ── */
#mq{position:fixed;left:0;right:0;bottom:0;z-index:100;overflow:hidden;background:var(--gold4);
  padding:.55rem 0;pointer-events:none;transition:background .75s;border-top:1px solid var(--gold3)}
.mq-t{display:flex;gap:2rem;width:max-content;animation:mq 34s linear infinite}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq-i{font-family:var(--mono);font-size:.58rem;font-weight:300;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold);white-space:nowrap;display:flex;align-items:center;gap:1.5rem}
.mqd{width:3px;height:3px;background:var(--gold);border-radius:50%;flex-shrink:0}

/* ── FOOTER ── */
#footbar{position:fixed;bottom:0;left:0;right:0;z-index:100;
  padding:.55rem 5vw calc(.55rem + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.ft-f{font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;color:var(--gold2)}
.ft-c{font-family:var(--mono);font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* ── OZANA FAB (era iconul TBI discret) ── */
#oz-fab{position:fixed;right:1.4rem;bottom:3.2rem;z-index:300;display:flex;align-items:center;gap:.5rem;
  background:rgba(3,3,3,.72);backdrop-filter:blur(8px);border:1px solid var(--gold2);padding:.4rem .8rem;cursor:pointer;
  opacity:.62;transition:opacity .3s,border-color .3s,transform .3s}
html[data-theme="light"] #oz-fab{background:rgba(237,232,220,.85)}
#oz-fab:hover{opacity:1;border-color:var(--gold);transform:translateY(-2px)}
#oz-fab.hidden{opacity:0;pointer-events:none}
#oz-fab .oz-spark{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 var(--gold2);animation:ozpulse 2.6s infinite}
@keyframes ozpulse{0%{box-shadow:0 0 0 0 rgba(197,160,40,.5)}70%{box-shadow:0 0 0 7px rgba(197,160,40,0)}100%{box-shadow:0 0 0 0 rgba(197,160,40,0)}}
#oz-fab span.lbl{font-family:var(--mono);font-size:.5rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}

/* ── SOCIAL FABS ── */
#social-fabs{position:fixed;left:1.4rem;bottom:2rem;z-index:300;display:flex;flex-direction:column;gap:.7rem;opacity:1;transition:opacity .3s}
.s-fab{width:42px;height:42px;border-radius:50%;border:1px solid var(--gold2);background:rgba(3,3,3,.72);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;color:var(--gold);opacity:.75;transition:opacity .3s,border-color .3s,transform .3s,background .3s}
html[data-theme="light"] .s-fab{background:rgba(237,232,220,.85)}
.s-fab:hover{opacity:1;border-color:var(--gold);transform:scale(1.08);background:rgba(197,160,40,.08)}
.s-fab svg{width:18px;height:18px}

/* ── SHARED TYPE ── */
.s-hd{font-family:var(--mono);font-size:clamp(0.48rem, 1.2vh, 0.56rem);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:clamp(0.5rem, 2vh, 1.6rem);opacity:.9}
.s-title{font-size:clamp(1.8rem, 4vh + 2vw, 4.8rem);font-weight:300;letter-spacing:-.02em;line-height:.96;margin-bottom:clamp(0.8rem, 2.5vh, 1.8rem)}
.s-title em{font-style:italic;color:var(--gold)}
.body-text{font-size:clamp(0.85rem, 1.5vh + 0.5vw, 1.18rem);font-weight:300;line-height:1.75;color:var(--text2);text-align:justify;hyphens:auto}
.body-text p+p{margin-top:1rem}
.body-text strong{font-weight:600;color:var(--text)}
.card-dir{display:none !important;}
.card-dir.left{left:2rem}.card-dir.right{right:2rem}

/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem 2.2rem;margin-top:2.6rem}
.stat-n{font-family:var(--mono);font-size:clamp(1.8rem,3.2vw,3rem);font-weight:100;color:var(--gold);letter-spacing:-.02em;line-height:1}
.stat-l{font-family:var(--mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text2);margin-top:.35rem}

/* ── ID LIST ── */
.id-list{display:flex;flex-direction:column;gap:.9rem}
.id-list li{display:flex;align-items:flex-start;gap:.8rem}
.id-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:.55rem}
.id-text{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;color:var(--text2);line-height:1.7}
.id-text b{color:var(--text);font-weight:400}

/* ── TIMELINE ── */
.tl{display:flex;flex-direction:column;gap:1.7rem}
.tl-item{border-left:1px solid var(--gold2);padding-left:1.3rem;position:relative}
.tl-item::before{content:'';position:absolute;left:-3px;top:.45rem;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.tl-yr{font-family:var(--mono);font-size:.54rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.3rem}
.tl-role{font-size:clamp(.95rem,1.2vw,1.15rem);font-weight:300;margin-bottom:.15rem}
.tl-role em{color:var(--gold);font-style:italic}
.tl-inst{font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;color:var(--text2)}

/* ── DESTINAȚII GRID (row 2 centru) ── */
.dest-wrap{flex-direction:column}
.dest-header{display:flex;justify-content:space-between;align-items:flex-end;padding:7rem 5vw 1.6rem;flex-shrink:0;position:relative;z-index:2}
.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;gap:1px;flex:1;background:var(--border);overflow:hidden;position:relative;z-index:1}
.dest-grid>.dest-card:first-child{grid-column:1/3;grid-row:1/3}
.dest-card{position:relative;overflow:hidden;cursor:pointer;background:var(--bg2);display:flex}
.dest-card .dc-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;
  opacity:.5;filter:grayscale(1) contrast(1.05) brightness(.55);transition:opacity .5s,transform .6s var(--ease)}
html[data-theme="light"] .dest-card .dc-bg{filter:grayscale(1);mix-blend-mode:multiply;opacity:.22}
.dest-card:hover .dc-bg{opacity:.5;transform:scale(1.05)}
.dest-card .dc-grid{position:absolute;inset:0;z-index:0;opacity:.4;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px}
.dc-overlay{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem 1.5rem;width:100%;
  background:linear-gradient(to top,rgba(3,3,3,.9) 0%,rgba(3,3,3,.15) 60%,transparent 100%)}
html[data-theme="light"] .dc-overlay{background:linear-gradient(to top,rgba(237,232,220,.92) 0%,transparent 70%)}
.dc-cat{font-family:var(--mono);font-size:.48rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.dc-name{font-size:clamp(1.1rem,1.6vw,1.7rem);font-weight:300;line-height:1.1;color:var(--text)}
.dc-name em{font-style:italic;color:var(--gold)}
.dc-name small{display:block;font-family:var(--mono);font-size:.46rem;letter-spacing:.14em;color:var(--text2);margin-top:.3rem;text-transform:uppercase}
.dc-price{position:absolute;top:1.2rem;right:1.3rem;z-index:3;text-align:right}
.dc-price b{font-family:var(--mono);font-size:clamp(1rem,1.5vw,1.4rem);font-weight:100;color:var(--gold);display:block;line-height:1}
.dc-price small{font-family:var(--mono);font-size:.42rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text2)}
.dest-card:first-child .dc-name{font-size:clamp(1.4rem,2.2vw,2.4rem)}

/* ── REPER / LANDMARK (filigran centrat) ── */
.dc-mark{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none}
.dc-mark svg{width:44%;max-width:138px;height:auto;opacity:.13;stroke:var(--gold);fill:none;
  stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round;transform:translateY(-6%);
  transition:opacity .5s var(--ease),transform .6s var(--ease)}
.dest-card:first-child .dc-mark svg{width:38%;opacity:.45;filter:drop-shadow(0 0 15px rgba(255,204,0,0.3))}
.dest-card:first-child:hover .dc-mark svg{opacity:1;transform:translateY(-9%) scale(1.08);filter:drop-shadow(0 0 25px rgba(255,204,0,0.7))}
.dest-card:hover .dc-mark svg{opacity:.4;transform:translateY(-9%) scale(1.04)}

/* ── ORAR / BOARD (row 2 dreapta) ── */
.board-list{display:flex;flex-direction:column;margin-top:.5rem}
.board-colhead{display:grid;grid-template-columns:1fr auto auto;gap:1.4rem;padding:0 .2rem .7rem;
  font-family:var(--mono);font-size:.46rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text2)}
.board-row{display:grid;grid-template-columns:1fr auto auto;gap:1.4rem;align-items:center;padding:1rem .2rem;border-top:1px solid var(--border);cursor:pointer;transition:background .25s}
.board-row:hover{background:var(--gold4)}
.br-dest{display:flex;flex-direction:column;gap:.15rem}
.br-land{font-size:1.05rem;font-weight:400}
.br-city{font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;color:var(--text2);text-transform:uppercase}
.br-time{font-family:var(--mono);font-size:.92rem;font-weight:100;color:var(--gold)}
.br-state{font-family:var(--mono);font-size:.46rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text2);display:flex;align-items:center;gap:.4rem}
.br-state .st-dot{width:5px;height:5px;border-radius:50%;background:#5CBA5C}
.br-state.warn .st-dot{background:var(--gold)}

/* ── OZANA CHAT IMMERSIVE (row 1 dreapta) ── */
#r1-r .s-hd,
#r1-r .s-title,
#r1-r .body-text {
  display: none !important;
}

#r1-r .card-scroll {
  padding: 4.5rem 0.6rem 4rem 0.6rem !important;
  display: flex;
  flex-direction: column;
}

.oz-panel {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: auto;
  max-height: 100%;
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  border-radius: 16px;
  border: none;
  background: rgba(10, 10, 15, 0.03);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}
html[data-theme="light"] .oz-panel{background:rgba(237,232,220,.8)}
.oz-head{display:none !important;}
.oz-ava{width:38px;height:38px;border-radius:50%;border:1px solid var(--gold2);display:grid;place-items:center;color:var(--gold);flex:none;font-family:var(--mono);font-size:.9rem}
.oz-id .nm{font-family:var(--mono);font-size:.7rem;letter-spacing:.22em;color:var(--text);text-transform:uppercase}
.oz-id .ro{font-family:var(--mono);font-size:.5rem;letter-spacing:.1em;color:var(--text2);display:flex;align-items:center;gap:.4rem;margin-top:.2rem}
.oz-id .ro .dot{width:6px;height:6px;border-radius:50%;background:#5CBA5C}
.oz-msgs{flex:1;overflow-y:auto;padding:1.1rem 0.6rem;display:flex;flex-direction:column;gap:.7rem;scrollbar-width:none}
.oz-msgs::-webkit-scrollbar{display:none}
.oz-msg{max-width:96%;padding:.7rem .9rem;font-size:.95rem;line-height:1.5;font-weight:300;border-radius:8px;font-family:var(--sans, 'Raleway', sans-serif)}
.oz-msg b{color:var(--text);font-weight:600}
.oz-agent{align-self:flex-start;background:rgba(196,168,130,0.03);border:1px solid rgba(255,255,255,0.05);color:var(--text)}
.oz-user{align-self:flex-end;background:var(--gold);color:var(--bg);font-weight:500}
.oz-typing{align-self:flex-start;display:flex;gap:5px;padding:.7rem .9rem}
.oz-typing i{width:6px;height:6px;border-radius:50%;background:var(--gold2);animation:ozb 1s infinite}
.oz-typing i:nth-child(2){animation-delay:.15s}.oz-typing i:nth-child(3){animation-delay:.3s}
@keyframes ozb{0%,100%{opacity:.25}50%{opacity:1}}
.oz-chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:.6rem 1.2rem}
.oz-chip{font-family:var(--sans, 'Raleway', sans-serif);font-size:.85rem;padding:.4rem .9rem;border:none;background:rgba(196,168,130,0.05);border-radius:8px;color:var(--text2);cursor:pointer;transition:.2s}
.oz-chip:hover{background:var(--gold);color:var(--bg)}
.oz-input{display:flex;gap:.6rem;padding:.9rem 1.2rem;border-top:1px solid var(--border)}
.oz-input input{flex:1;background:none;border:none;border-bottom:1px solid var(--border2);color:var(--text);font-family:var(--sans, 'Raleway', sans-serif);font-size:.95rem;padding:.5rem 0;outline:none}
.oz-input input::placeholder{color:var(--muted);font-style:italic}
.oz-input input:focus{border-color:var(--gold)}
.oz-send{width:36px;height:36px;border:1px solid var(--gold2);color:var(--gold);cursor:pointer;flex:none;transition:.2s;border-radius:6px;background:transparent;display:grid;place-items:center;}
.oz-send:hover{background:var(--gold);color:var(--bg)}

.oz-reserve-btn { display: inline-block; margin-top: 15px; padding: 10px 20px; background: transparent; border: 1px solid rgba(196, 168, 130, 0.3); color: var(--gold); text-decoration: none; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; font-family: var(--mono); transition: 0.3s; border-radius: 4px; }
.oz-reserve-btn:hover { background: rgba(196, 168, 130, 0.08); border-color: var(--gold); }
.oz-wa-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 15px; padding: 10px 20px; background: transparent; border: 1px solid rgba(92, 186, 92, 0.4); color: #5CBA5C; text-decoration: none; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase; font-family: var(--mono); transition: 0.3s; border-radius: 4px; }
.oz-wa-btn:hover { background: rgba(92, 186, 92, 0.08); border-color: #5CBA5C; }
/* ── CONTACT / BOOKING (row 4) ── */
.contact-info{display:flex;flex-direction:column;gap:1.2rem;margin:1.8rem 0 1.6rem}
.c-item{display:flex;flex-direction:column;gap:.25rem}
.c-lbl{font-family:var(--mono);font-size:.46rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.c-val{font-size:clamp(.95rem,1.15vw,1.1rem);font-weight:300;color:var(--text2);transition:color .2s}
a.c-val:hover{color:var(--gold)}
.contact-social{display:flex;gap:1.4rem;flex-wrap:wrap}
.social-link{font-family:var(--mono);font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text2);border-bottom:1px solid var(--border2);padding-bottom:.2rem;transition:.25s}
.social-link:hover{color:var(--gold);border-color:var(--gold)}
.bk-form{display:flex;flex-direction:column;gap:1.2rem}
.form-row{display:flex;flex-direction:column;gap:.45rem}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form-lbl{font-family:var(--mono);font-size:.46rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.9}
.form-in{background:transparent;border:none;border-bottom:1px solid var(--border2);padding:.6rem 0;
  font-family:var(--serif);font-size:1rem;color:var(--text);outline:none;transition:border-color .25s;width:100%}
.form-in::placeholder{color:var(--muted);font-style:italic}
.form-in:focus{border-color:var(--gold)}
select.form-in{cursor:pointer}
select.form-in option{background:var(--bg2);color:var(--text)}
.form-btn{margin-top:.5rem;font-family:var(--mono);font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--gold);padding:.85rem 2rem;cursor:pointer;align-self:flex-start;transition:.25s;display:inline-flex;gap:.7rem;align-items:center}
.form-btn:hover { background: var(--text); color: var(--bg); }

/* ── AUTOCOMPLETE & GPS ── */
.ac-list { position:absolute; top:calc(100% + 4px); left:0; right:0; background:var(--bg2); border:1px solid var(--border2); border-radius:var(--r-md); max-height:200px; overflow-y:auto; z-index:100; list-style:none; margin:0; padding:4px; box-shadow:0 8px 24px rgba(0,0,0,0.5); }
.ac-list li { padding:10px 14px; font-family:var(--mono); font-size:0.8rem; color:var(--text); cursor:pointer; border-radius:4px; transition:background 0.2s; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ac-list li:hover { background:var(--gold3); color:var(--gold); }
.ac-list.loading::after { content:""; display:block; width:16px; height:16px; margin:10px auto; border:2px solid var(--gold); border-top-color:transparent; border-radius:50%; animation:ac-spin 0.6s linear infinite; }
@keyframes ac-spin { to { transform:rotate(360deg); } }

/* ── HERO (row 0) ── */
.hero-card{align-items:flex-start;justify-content:center;padding-top:16vh;text-align:center}
.hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding:0 6vw}
.hero-eyebrow{font-family:var(--mono);font-size:clamp(.5rem,.8vw,.66rem);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.hero-title{font-size:clamp(3rem,9vw,8rem);font-weight:300;line-height:.92;letter-spacing:-.02em}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-sub{font-family:var(--mono);font-size:clamp(.52rem,.82vw,.72rem);letter-spacing:.2em;text-transform:uppercase;color:var(--text2);max-width:60ch}
.hero-scroll{position:absolute;bottom:6.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;opacity:.6;z-index:2}
.hero-scroll span{font-family:var(--mono);font-size:.45rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text2)}
.hero-scroll .arw{color:var(--gold);animation:bnc 1.8s ease-in-out infinite}
@keyframes bnc{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ── MOTION DEFAULTS ── */
@media(prefers-reduced-motion:reduce){#v-track,.h-track{transition:none}*{animation-duration:.001ms!important}}

/* WIENER RIESENRAD ANIMATION */
.svg-riesenrad .rr-wheel {
  animation: rr-spin 40s linear infinite;
  transform-origin: 50px 40px;
}
.svg-riesenrad .rr-cabin {
  animation: rr-counter-spin 40s linear infinite;
  transform-origin: 0px 0px;
}
@keyframes rr-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes rr-counter-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(-360deg); }
}

/* ── VERTICAL ACCORDION (L1 DESTINAȚII) ── */
.dest-acc {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.acc-item {
  flex: 1;
  position: relative;
  background-size: cover;
  background-position: center;
  transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.acc-item:last-child {
  border-bottom: none;
}

.acc-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  transition: background 0.6s;
}

.acc-title {
  position: relative;
  z-index: 2;
  font-size: clamp(1.4rem, 6vw, 2rem);
  font-family: var(--serif);
  color: var(--text);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: transform 0.6s, opacity 0.4s;
}

.acc-content {
  position: absolute;
  z-index: 2;
  bottom: 10%;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px);
  transition: opacity 0.4s, transform 0.6s;
}

.acc-details {
  text-align: center;
  font-family: var(--mono);
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: var(--gold);
  text-transform: uppercase;
}

.acc-btn {
  background: var(--gold);
  color: var(--bg);
  border: none;
  padding: 0.8rem 2rem;
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.2s, background 0.3s;
}

.acc-btn:active {
  transform: scale(0.95);
}

/* Active State */
.acc-item.active {
  flex: 6;
  cursor: default;
}

.acc-item.active .acc-overlay {
  background: rgba(0, 0, 0, 0.3);
}

.acc-item.active .acc-title {
  transform: translateY(-20vh);
}

.acc-item.active .acc-content {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0.3s;
}

/* Hide FABs on L1 */
.hidden-fabs {
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Hide FABs on L1 */
.hidden-fabs {
  opacity: 0 !important;
  pointer-events: none !important;
}

.card-scroll {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 5vh, 5rem) 1.5rem clamp(1rem, 5vh, 5rem) 1.5rem;
  overflow: hidden;
}

.glass-panel {
  background: rgba(10, 10, 15, 0.03);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  border: none;
  border-radius: 16px;
  padding: clamp(1.2rem, 4vh, 3rem) 2.5rem;
  width: 100%;
  max-width: 600px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  margin: auto 0;
}
/* ── PWA INSTALLER (Cinematic Glassmorphism) ── */
.pwa-prompt {
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(0, 0, 0, 0.4); /* Much lighter overlay */
    display: flex; align-items: center; justify-content: center; /* Center vertically and horizontally */
    padding: 1.5rem; opacity: 0; pointer-events: none;
    transition: opacity 0.4s cubic-bezier(.77,0,.175,1);
}
.pwa-prompt.pwa-prompt--visible {
    opacity: 1; pointer-events: auto;
}
.pwa-prompt-inner {
    background: rgba(10, 10, 10, 0.85); /* Dark translucent background */
    backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); /* Blur applied to the box itself */
    border: 1px solid var(--gold2); border-radius: 12px;
    padding: 1.5rem; width: 100%; max-width: 320px; /* Smaller width */
    position: relative; display: flex; flex-direction: column; gap: 1rem;
    transform: translateY(20px) scale(0.95); transition: transform 0.4s var(--ease);
    box-shadow: 0 10px 40px rgba(0,0,0,0.8);
    text-align: center;
}
.pwa-prompt--visible .pwa-prompt-inner {
    transform: translateY(0) scale(1);
}
.pwa-prompt-icon {
    width: auto; height: 32px; object-fit: contain; filter: brightness(0) invert(1); opacity: 0.9; margin: 0 auto;
}
.pwa-prompt-text {
    display: flex; flex-direction: column; gap: 0.25rem; align-items: center;
}
.pwa-prompt-title {
    font-family: var(--serif); font-size: 1.25rem; color: var(--gold); font-weight: 600; letter-spacing: 0.05em;
}
.pwa-prompt-sub {
    font-family: var(--mono); font-size: 0.75rem; color: var(--text2); line-height: 1.4;
}
.pwa-btn-dismiss {
    color: var(--muted); font-size: 1.25rem; background: none; border: none; cursor: pointer;
    transition: color 0.2s; position: absolute; right: 12px; top: 12px; line-height: 1;
}
.pwa-btn-dismiss:hover { color: var(--text); }
.pwa-btn-install {
    font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.1em;
    background: var(--gold); color: #000; border: none; padding: 0.6rem 1.2rem;
    border-radius: 4px; cursor: pointer; font-weight: 600; width: 100%;
    transition: transform 0.2s, background 0.2s;
}
.pwa-btn-install:active { transform: scale(0.96); }
.pwa-ios-steps { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.5rem; align-items: center; }
.pwa-inapp-step { font-family: var(--mono); font-size: 0.75rem; color: var(--text); }

/* PWA TOP LEFT BUTTON (ICON) */
.nav-pwa {
    font-family: var(--mono); font-size: 1rem; width: 36px; height: 36px; display: none; align-items: center; justify-content: center;
    border: 1px solid var(--gold2); border-radius: 50%; color: var(--gold);
    background: rgba(3, 3, 3, 0.4); cursor: pointer; transition: background 0.25s, color 0.25s, transform 0.2s;
    backdrop-filter: blur(4px); padding: 0;
}
.nav-pwa:hover {
    background: var(--gold); color: var(--bg); transform: scale(1.05);
}
