/* =========================================================
   HOTEL PALAS · Mamaia Nord
   Foaie de stil globală — toate paginile
   ========================================================= */

:root{
  --abyss:#04161d;
  --deep:#062a35;
  --deep-2:#083441;
  --teal:#0d5666;
  --cream:#ece2cf;
  --cream-2:#e2d6bd;
  --ink:#22363d;
  --ink-2:#1a3a48;
  --ink-soft:#5a6f76;
  --flame:#e0533a;
  --gold:#e8b24a;
  --bone:#f4efe4;

  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --mono:"Space Mono","JetBrains Mono",ui-monospace,Consolas,"Courier New",monospace;

  --pad:clamp(18px,4.5vw,140px);
  --maxw:3000px;
  --ease:cubic-bezier(.22,.61,.36,1);

  --hdr:clamp(76px,8vw,116px);
}

/* waterline-mask: început — rescris de tools/gen-waterline-mask.py, nu edita manual */
:root{--waterline-mask:url("data:image/png;base64,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")}
/* waterline-mask: sfârșit */

*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--hdr) + 16px);
}

body{
  margin:0;
  position:relative;
  background:#062a36;
  color:var(--bone);
  font-family:var(--mono);
  font-size:15px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* =========================================================
   OCEANUL — apa care continuă în jos pe toată pagina
   Stă în spatele tuturor secțiunilor; cele „de apă” sunt
   transparente, ca să se vadă prin ele.
   ========================================================= */
.ocean{
  position:absolute;inset:0;z-index:0;
  overflow:hidden;pointer-events:none;isolation:isolate;
  background:#062a36;
}
.ocean__grad{
  position:absolute;left:0;right:0;top:0;height:260vh;
  background:linear-gradient(180deg,
    #10809a 0%,
    #0a6076 12%,
    #075063 24%,
    #064658 40%,
    #053c4c 62%,
    #062a36 100%);
}
/* Straturile de caustice se deplasează exact cu o dală, iar suprafața lor
   depășește ecranul fix cu o dală în direcția de mers — așa marginea lor
   nu ajunge niciodată în cadru (altfel se vedea „capătul” fundalului). */
.ocean__caustics{
  position:fixed;
  background:url("../img/caustics.png") repeat;
  mix-blend-mode:screen;pointer-events:none;
}
.ocean__caustics--a{
  background-size:820px 820px;opacity:.03;
  top:0;right:0;left:-900px;bottom:-900px;      /* merge spre dreapta-sus */
  animation:caustA 40s linear infinite;
}
.ocean__caustics--b{
  background-size:1320px 1320px;opacity:.021;
  top:0;left:0;right:-1400px;bottom:-1400px;    /* merge spre stânga-sus */
  animation:caustB 64s linear infinite;
}
@keyframes caustA{from{transform:translate3d(0,0,0)}to{transform:translate3d(820px,-820px,0)}}
@keyframes caustB{from{transform:translate3d(0,0,0)}to{transform:translate3d(-1320px,-1320px,0)}}

main,.footer{position:relative;z-index:1}

/* =========================================================
   VALURI ANIMATE
   ========================================================= */
.waves{
  position:absolute;left:0;right:0;top:0;
  height:clamp(52px,7vw,116px);
  overflow:hidden;pointer-events:none;z-index:3;
  transform:translateY(-99%);
}
/* banda de valuri stă în capul secțiunii, ca bulele să poată trece peste ea */
.waves--band{
  top:0;left:0;right:0;height:clamp(96px,12vw,210px);transform:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 52%,transparent 98%);
  mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 52%,transparent 98%);
}
.waves svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke:none}
.waves__l{animation:waveslide 19s linear infinite;will-change:transform}
.waves__l--2{animation-duration:29s;animation-direction:reverse}
.waves__l--3{animation-duration:41s}
@keyframes waveslide{from{transform:translateX(0)}to{transform:translateX(-1440px)}}

.wave-1{fill:rgba(255,255,255,.055)}
.wave-2{fill:rgba(168,232,248,.055)}
.wave-3{fill:rgba(255,255,255,.045)}
.wave-solid{fill:#062a36}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
svg{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

.svg-defs{position:absolute;width:0;height:0;overflow:hidden}

.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.skiplink{
  position:fixed;top:-100px;left:16px;z-index:999;
  background:var(--cream);color:var(--ink);padding:10px 18px;
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  transition:top .2s var(--ease);
}
.skiplink:focus{top:16px}

:focus-visible{outline:2px solid var(--flame);outline-offset:3px}

/* conținutul umple fereastra, minus marginile laterale */
.wrap{width:min(100% - var(--pad) * 2,var(--maxw));margin-inline:auto}
.wrap--narrow{width:min(100% - var(--pad) * 2,1020px);margin-inline:auto}
.wrap--mid{width:min(100% - var(--pad) * 2,1560px);margin-inline:auto}

/* ---------- tipografie ---------- */
.stitle{
  margin:0;
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.9rem,4.4vw,3.6rem);
  line-height:1;letter-spacing:.09em;text-transform:uppercase;
  color:var(--bone);
}
.stitle--sm{font-size:clamp(1.5rem,3vw,2.4rem)}
.skicker{
  margin:.7em 0 0;
  font-family:var(--mono);font-size:clamp(10px,1vw,12px);
  letter-spacing:.24em;text-transform:uppercase;
  color:rgba(244,239,228,.62);
}
.eyebrow{
  display:block;margin:0 0 clamp(10px,1.4vw,18px);
  font-family:var(--mono);font-size:clamp(9.5px,.85vw,11px);
  letter-spacing:.3em;text-transform:uppercase;
  color:rgba(244,239,228,.5);
}
.lead{
  margin:0;max-width:52ch;
  font-family:var(--serif);font-weight:300;
  font-size:clamp(1.15rem,2.1vw,1.85rem);line-height:1.5;letter-spacing:.01em;
  color:rgba(244,239,228,.92);
}
.wrap--narrow .lead{margin-inline:auto}
.prose p{
  margin:0 0 1.15em;max-width:66ch;
  font-family:var(--mono);font-size:clamp(12.5px,1.05vw,14px);
  line-height:1.95;letter-spacing:.02em;
  color:rgba(244,239,228,.78);
}
.prose p:last-child{margin-bottom:0}
.on-cream .stitle,.on-cream .lead{color:var(--ink)}
.on-cream .eyebrow,.on-cream .skicker{color:rgba(34,54,61,.55)}
.on-cream .prose p{color:rgba(34,54,61,.8)}

/* ---------- butoane ---------- */
.btn-outline{
  display:inline-block;padding:13px 26px;
  border:1px solid rgba(244,239,228,.6);
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bone);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.btn-outline:hover{background:var(--bone);color:var(--deep);border-color:var(--bone)}
.btn-outline--dark{border-color:rgba(34,54,61,.45);color:var(--ink)}
.btn-outline--dark:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}

.btn-solid{
  display:inline-block;padding:14px 30px;
  background:var(--flame);color:#fff;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  transition:filter .3s var(--ease),transform .3s var(--ease);
}
.btn-solid:hover{filter:brightness(1.08);transform:translateY(-1px)}

.btn-row{display:flex;flex-wrap:wrap;gap:12px}

.arrowlink{
  display:inline-flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(244,239,228,.8);
  transition:color .3s var(--ease),gap .3s var(--ease);
}
.arrowlink svg{width:28px;height:10px;stroke-width:1.2}
.arrowlink:hover{color:#fff;gap:20px}
.on-cream .arrowlink{color:rgba(34,54,61,.75)}
.on-cream .arrowlink:hover{color:var(--ink)}

/* ---------- muchii rupte / valuri ---------- */
.edge{
  position:absolute;left:0;top:0;width:100%;
  height:clamp(26px,4.4vw,58px);
  transform:translateY(-99%);
  display:block;stroke:none;pointer-events:none;z-index:4;
  fill:var(--edge,var(--deep));
}
.edge--bottom{top:auto;bottom:0;transform:translateY(99%) scaleY(-1)}
.edge--torn{height:clamp(18px,3vw,38px)}

/* =========================================================
   LOGO (semn + wordmark tipografic)
   ========================================================= */
.lockup{display:flex;flex-direction:column;align-items:center;gap:.3em;line-height:1}
.lockup__mark{height:3em;width:auto}
.lockup__hotel{
  font-family:var(--mono);font-size:.84em;letter-spacing:.42em;text-indent:.42em;
  color:currentColor;
}
.lockup__stars{color:var(--gold);font-size:.6em;letter-spacing:.5em;text-indent:.5em;margin:.2em 0 -.3em}
.lockup__palas{
  font-family:var(--serif);font-weight:400;font-size:3em;line-height:.95;letter-spacing:.04em;
}

/* =========================================================
   HEADER
   ========================================================= */
.siteheader{
  position:fixed;top:0;left:0;right:0;z-index:80;
  display:flex;align-items:center;gap:clamp(12px,2vw,40px);
  padding:clamp(12px,1.7vw,22px) var(--pad);
  transition:background .4s var(--ease),backdrop-filter .4s var(--ease),padding .4s var(--ease);
}
.siteheader::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(4,22,29,.6),rgba(4,22,29,0));
  transition:opacity .4s var(--ease);
}
.siteheader.is-stuck{
  background:rgba(5,32,41,.92);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  backdrop-filter:blur(16px) saturate(1.2);
  padding-top:10px;padding-bottom:10px;
  box-shadow:0 1px 0 rgba(244,239,228,.12);
}
.siteheader.is-stuck::before{opacity:0}

.brand{display:flex;align-items:center;flex:0 0 auto}
.brand__logo{
  height:clamp(56px,5.6vw,108px);width:auto;
  filter:drop-shadow(0 2px 12px rgba(2,20,28,.6));
  transition:height .4s var(--ease);
}
.siteheader.is-stuck .brand__logo{height:clamp(46px,4.2vw,72px)}

.mainnav{display:flex;gap:clamp(10px,1.5vw,26px);margin-left:auto;margin-right:auto}
.mainnav a{
  position:relative;
  font-family:var(--mono);font-size:clamp(10px,.78vw,11.5px);
  letter-spacing:.16em;text-transform:uppercase;
  color:rgba(244,239,228,.82);padding:6px 0;white-space:nowrap;
  transition:color .3s var(--ease);
}
.mainnav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform .35s var(--ease);
}
.mainnav a:hover,.mainnav a[aria-current="page"]{color:#fff}
.mainnav a:hover::after,.mainnav a[aria-current="page"]::after{transform:scaleX(1)}

.siteheader__cta{flex:0 0 auto;padding:11px 20px;font-size:10.5px;letter-spacing:.18em}

.burger{display:none;width:46px;height:36px;position:relative;flex:0 0 auto;z-index:2}
.burger span{
  position:absolute;left:9px;right:9px;height:1.5px;background:var(--bone);
  transition:transform .35s var(--ease),opacity .25s var(--ease);
}
.burger span:nth-child(1){top:11px}
.burger span:nth-child(2){top:17px}
.burger span:nth-child(3){top:23px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.mobilenav{
  position:fixed;inset:0;z-index:75;
  background:rgba(4,22,29,.97);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(18px,3vh,30px);padding:calc(var(--hdr) + 20px) 20px 40px;
  overflow-y:auto;
}
.mobilenav[hidden]{display:none}
.mobilenav nav{display:flex;flex-direction:column;gap:clamp(10px,1.8vh,18px);text-align:center}
.mobilenav nav a{
  font-family:var(--serif);font-size:clamp(22px,4.6vw,30px);
  letter-spacing:.14em;text-transform:uppercase;color:var(--bone);
}
.mobilenav nav a[aria-current="page"]{color:var(--gold)}

/* =========================================================
   HERO — pagina principală
   ========================================================= */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;flex-direction:column;
  overflow:hidden;
  padding-bottom:clamp(24px,5vh,64px);
  isolation:isolate;
}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}

.hero__water{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(6,42,53,0) 26%,
    rgba(8,70,88,.10) 38%,
    rgba(6,52,68,.24) 55%,
    rgba(4,34,46,.44) 82%,
    rgba(4,26,36,.62) 100%);
}
.hero__water::after{
  content:"";position:absolute;left:0;right:0;top:38%;bottom:0;
  -webkit-backdrop-filter:blur(1.3px) saturate(1.06);
  backdrop-filter:blur(1.3px) saturate(1.06);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 16%);
  mask-image:linear-gradient(180deg,transparent,#000 16%);
}
.hero__vignette{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:radial-gradient(120% 90% at 50% 30%,transparent 45%,rgba(3,18,25,.42) 100%);
}

/* Fotografia și straturile ei se DIZOLVĂ spre transparent la baza hero-ului,
   ca să se topească în ocean fără nicio muchie. Conținutul (titlu, tichet,
   bule) nu e mascat. */
.hero__bg,.hero__water,.hero__vignette{
  -webkit-mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.72) 80%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 58%,rgba(0,0,0,.72) 80%,transparent 100%);
}

/* pânza cu bule */
/* Bulele se sting lin la marginile pânzei — altfel se vedea linia unde
   se termină pânza și păreau că intră sub o dungă. */
.bubbles-canvas{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 87%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 87%,transparent 100%);
}
/* HERO — linia apei din fotografie NU e orizontală: coboară de la ~29% (stânga)
   la ~40% (dreapta). O mască dreaptă lăsa bule în aer, peste sticla clădirii.
   Masca de mai jos urmează conturul real al apei și are exact proporția
   fotografiei, deci `mask-size:cover` o decupează identic cu `object-fit:cover`
   al fotografiei, la orice lățime. A doua mască stinge bulele spre baza pânzei.

   E încorporată ca `data:` — un fișier separat NU merge: pe `file://` fiecare
   fișier e altă origine, iar o mască „cross-origin” e citită ca transparentă,
   deci ar dispărea toate bulele când clientul deschide site-ul local.
   Regenerare (rescrie linia de mai jos): python tools/gen-waterline-mask.py */
.bubbles-canvas--hero{
  -webkit-mask-image:var(--waterline-mask),linear-gradient(180deg,#000 84%,transparent 100%);
  mask-image:var(--waterline-mask),linear-gradient(180deg,#000 84%,transparent 100%);
  -webkit-mask-size:cover,100% 100%;
  mask-size:cover,100% 100%;
  /* aceeași încadrare ca fotografia: .hero__bg img are object-position:50% 28% */
  -webkit-mask-position:50% 28%,0 0;
  mask-position:50% 28%,0 0;
  -webkit-mask-repeat:no-repeat,no-repeat;
  mask-repeat:no-repeat,no-repeat;
  -webkit-mask-mode:alpha;
  mask-mode:alpha;
  /* Stratul de jos trebuie compus cu `add`/`source-over`, nu cu `intersect`:
     el se intersectează cu un fond gol, deci ar șterge toată pânza. */
  mask-composite:intersect,add;
  -webkit-mask-composite:source-in,source-over;
}
/* Stratul de bule al întregii pagini: fix, cât ecranul, în spatele conținutului.
   Se vede prin toate secțiunile „de apă” (care sunt transparente), deci bulele urcă
   fără întrerupere din subsol până la linia apei. Marginea de sus a măștii e mutată
   de JS (`--wl`) exact pe linia apei din antetul paginii; când antetul iese din
   ecran, `--wl` devine negativ și bulele urcă până sus de tot. */
.ocean__bubbles{position:fixed;inset:0;z-index:2;pointer-events:none}
.bubbles-canvas--page{
  position:absolute;inset:0;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,transparent var(--wl,-200px),#000 calc(var(--wl,-200px) + 150px),#000 100%);
  mask-image:linear-gradient(180deg,transparent 0,transparent var(--wl,-200px),#000 calc(var(--wl,-200px) + 150px),#000 100%);
}
.bubbles-canvas--full{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 87%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 87%,transparent 100%);
}

.hero__inner{
  position:relative;z-index:3;
  margin-top:min(31vh,42vw);
  padding:0 var(--pad) 0 clamp(18px,7.4vw,130px);
}
.hero__title{
  position:relative;z-index:1;margin:0;
  font-family:var(--serif);font-weight:400;
  font-size:clamp(3rem,10.8vw,18rem);
  line-height:.87;letter-spacing:.015em;text-transform:uppercase;
  color:#f7f3e9;
}
.hero__word{display:block}
.hero__word--above{text-shadow:0 6px 40px rgba(2,20,28,.35)}
.hero__word--below{text-shadow:0 8px 46px rgba(2,24,34,.55)}
.hero__meta{
  position:relative;z-index:3;
  margin:clamp(14px,2vh,26px) 0 0;
  font-family:var(--mono);font-size:clamp(10.5px,1.15vw,15px);
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(247,243,233,.92);text-shadow:0 2px 16px rgba(2,20,28,.6);
}
.hero__meta b{font-weight:400;opacity:.6;margin:0 .35em}

/* =========================================================
   RIGLA DE ADÂNCIME — fixă, pe toate paginile, legată de scroll
   ========================================================= */
.gauge{
  position:fixed;z-index:60;left:28px;top:16vh;bottom:14vh;width:1px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(244,239,228,0),rgba(244,239,228,.42) 10%,rgba(244,239,228,.42) 90%,rgba(244,239,228,0));
}
/* gradațiile mărunte */
.gauge__ticks{
  position:absolute;inset:0;left:0;width:7px;
  background:repeating-linear-gradient(180deg,
    rgba(244,239,228,.34) 0 1px,transparent 1px 34px);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent);
}
/* cursorul care coboară odată cu pagina */
.gauge__marker{
  position:absolute;left:0;top:0;
  display:flex;align-items:center;gap:9px;
  transform:translateY(-50%);
  transition:top .12s linear;
}
.gauge__marker i{display:block;width:15px;height:1px;background:var(--gold)}
.gauge__marker b{
  font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.08em;
  color:rgba(244,239,228,.92);white-space:nowrap;
  text-shadow:0 1px 8px rgba(2,18,25,.9);
}
.gauge__cap{
  position:absolute;left:-3px;width:7px;height:1px;background:rgba(244,239,228,.55);
}
.gauge__cap--top{top:0}
.gauge__cap--bot{bottom:0}
/* sub 1700px marginile sunt prea înguste pentru cifră — rămân doar gradațiile */
@media (max-width:1699px){
  .gauge{left:20px}
  .gauge__marker b{display:none}
  .gauge__marker i{width:11px}
}

/* scroll to dive */
.dive{
  position:absolute;z-index:4;
  right:clamp(16px,4vw,72px);top:58%;
  width:clamp(88px,9vw,124px);aspect-ratio:1;
  border:1px solid rgba(244,239,228,.55);border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(247,243,233,.92);text-align:center;line-height:1.5;
  transition:background .35s var(--ease);
}
.dive svg{width:16px;height:16px;animation:bob 2.4s ease-in-out infinite}
.dive:hover{background:rgba(244,239,228,.14)}
@keyframes bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}

/* =========================================================
   HERO — pagini interioare
   ========================================================= */
.phero{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:clamp(340px,52vh,560px);
  display:flex;align-items:flex-end;
  padding:calc(var(--hdr) + clamp(30px,6vw,80px)) 0 clamp(34px,6vw,80px);
}
.phero__bg{position:absolute;inset:0;z-index:0}
.phero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.phero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(4,22,29,.72) 0%,
      rgba(4,22,29,.3) 38%,
      rgba(4,24,32,.8) 74%,
      rgba(4,26,34,.74) 100%),
    radial-gradient(130% 100% at 25% 78%,rgba(3,18,25,.5),transparent 62%);
}
/* fotografia și voalul ei se dizolvă la bază, exact ca la hero —
   nicio muchie între banner și oceanul care continuă */
.phero__bg,.phero::after{
  -webkit-mask-image:linear-gradient(180deg,#000 76%,rgba(0,0,0,.72) 90%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 76%,rgba(0,0,0,.72) 90%,transparent 100%);
}
.phero .bubbles-canvas{z-index:2}
.phero__inner{position:relative;z-index:3}
.phero__title{
  margin:0;font-family:var(--serif);font-weight:400;
  font-size:clamp(2.4rem,7vw,6rem);line-height:.92;letter-spacing:.04em;text-transform:uppercase;
  color:#f7f3e9;text-shadow:0 4px 26px rgba(2,20,28,.85),0 10px 60px rgba(2,20,28,.6);
}
.phero__sub{
  margin:clamp(12px,1.6vw,20px) 0 0;max-width:56ch;
  font-family:var(--mono);font-size:clamp(11px,1.05vw,13.5px);
  line-height:1.9;letter-spacing:.1em;color:rgba(244,239,228,.86);
}
.crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 clamp(14px,2vw,22px);
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(244,239,228,.55);
}
.crumbs a:hover{color:#fff}
.crumbs i{font-style:normal;opacity:.5}

/* =========================================================
   SECȚIUNI GENERICE
   ========================================================= */
.sec{position:relative;padding:clamp(48px,7vw,110px) 0}
/* secțiune „de imersiune”: valuri jos, bule peste ele, conținut deasupra */
.sec--dive{overflow:hidden;isolation:isolate;padding-top:clamp(70px,9vw,150px)}
.sec--dive > .waves{z-index:1}
.sec--dive > .bubbles-canvas{z-index:2}
.sec--dive > .wrap{position:relative;z-index:3}
/* secțiunile „de apă” sunt transparente — se vede oceanul din spate */
.sec--dark{background:transparent}
.sec--deep{background:rgba(3,20,27,.28)}
.sec--cream{background:linear-gradient(180deg,#efe7d6,#e4d9c1);color:var(--ink)}
.sec__head{margin-bottom:clamp(24px,3.4vw,52px)}
.sec__head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}

.hr{height:1px;background:rgba(244,239,228,.14);border:0;margin:clamp(30px,4vw,56px) 0}
.on-cream .hr{background:rgba(34,54,61,.18)}

/* banda de imersiune (homepage) */
.plunge{
  position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(96px,13vw,240px) 0 clamp(64px,10vw,150px);
  background:transparent;
  text-align:center;
}
/* în banda de imersiune: valurile dedesubt, bulele PESTE ele, textul deasupra */
.plunge .waves{z-index:1}
.plunge .bubbles-canvas{z-index:2}
.plunge .wrap{position:relative;z-index:3}
.plunge__mark{margin:0 auto clamp(18px,2.4vw,30px);height:clamp(56px,7vw,96px);width:auto;opacity:.9}
.plunge__text{
  margin:0 auto;max-width:22ch;
  font-family:var(--serif);font-weight:300;
  font-size:clamp(1.6rem,4.4vw,3.4rem);line-height:1.25;letter-spacing:.02em;
  color:rgba(247,243,233,.95);
}
.plunge__sub{
  margin:clamp(16px,2vw,26px) auto 0;max-width:50ch;
  font-family:var(--mono);font-size:clamp(11px,1vw,13px);line-height:1.95;letter-spacing:.06em;
  color:rgba(244,239,228,.62);
}

/* fâșia cu cifre */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(244,239,228,.16);
  border-bottom:1px solid rgba(244,239,228,.16);
}
.stats__item{
  padding:clamp(22px,3vw,42px) clamp(10px,1.6vw,24px);
  text-align:center;
}
.stats__item + .stats__item{border-left:1px solid rgba(244,239,228,.16)}
.stats__n{
  display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(2rem,4.4vw,3.6rem);line-height:1;letter-spacing:.02em;color:var(--bone);
}
.stats__n .star{color:var(--gold);font-size:.6em;vertical-align:.15em}
.stats__u{font-size:.4em;letter-spacing:.04em;margin-left:.1em;color:rgba(244,239,228,.7)}
.stats__l{
  display:block;margin-top:10px;
  font-family:var(--mono);font-size:clamp(9px,.8vw,10.5px);
  letter-spacing:.24em;text-transform:uppercase;color:rgba(244,239,228,.55);
}

/* =========================================================
   CARDURI „EXPLOREAZĂ”
   ========================================================= */
.explore{display:grid;gap:clamp(10px,1.2vw,18px);grid-template-columns:repeat(12,1fr)}
/* raport fix -> fotografiile se văd corect, nu tăiate, la orice lățime */
.xcard{
  position:relative;overflow:hidden;display:block;
  aspect-ratio:3/2;min-height:190px;max-height:60vh;
  border:1px solid rgba(244,239,228,.18);
  grid-column:span 3;
}
.xcard:nth-child(1),.xcard:nth-child(2){grid-column:span 6;aspect-ratio:16/9;min-height:230px}
.xcard img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s var(--ease),filter .6s var(--ease);
  filter:saturate(.9) brightness(.72);
}
.xcard::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(4,22,29,.1) 30%,rgba(4,22,29,.82));
  transition:background .5s var(--ease);
}
.xcard:hover img{transform:scale(1.06);filter:saturate(1) brightness(.82)}
.xcard__body{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:clamp(16px,2vw,30px);
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
}
.xcard__t{
  margin:0;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.15rem,2.3vw,2rem);line-height:1;letter-spacing:.1em;text-transform:uppercase;
  color:var(--bone);
}
.xcard__d{
  display:block;margin-top:8px;
  font-family:var(--mono);font-size:clamp(9.5px,.85vw,11px);
  letter-spacing:.18em;text-transform:uppercase;color:rgba(244,239,228,.62);
}
.xcard__go{
  flex:0 0 auto;width:38px;height:38px;border:1px solid rgba(244,239,228,.4);border-radius:50%;
  display:grid;place-items:center;color:var(--bone);
  transition:background .35s var(--ease),transform .35s var(--ease);
}
.xcard__go svg{width:15px;height:15px}
.xcard:hover .xcard__go{background:rgba(244,239,228,.16);transform:translateX(4px)}

/* =========================================================
   TICHET REZERVARE
   ========================================================= */
.booking{position:relative;z-index:6;margin-top:auto;padding:0 var(--pad);width:100%}
.ticket{
  --notch:9px;--gap:26px;
  position:relative;display:grid;
  grid-template-columns:auto 1fr auto auto;align-items:stretch;
  max-width:min(100%,1900px);margin:0 auto;
  background:
    radial-gradient(120% 140% at 12% 0%,rgba(255,255,255,.5),transparent 60%),
    linear-gradient(180deg,#efe7d6,#e4d9c1);
  color:var(--ink);
  box-shadow:0 34px 70px -28px rgba(1,14,20,.75);
  -webkit-mask:
    radial-gradient(var(--notch) at left,#0000 98%,#000) 0 calc(var(--gap)/2)/100% var(--gap) repeat-y,
    radial-gradient(var(--notch) at right,#0000 98%,#000) 100% calc(var(--gap)/2)/100% var(--gap) repeat-y;
  -webkit-mask-composite:source-in;
  mask:
    radial-gradient(var(--notch) at left,#0000 98%,#000) 0 calc(var(--gap)/2)/100% var(--gap) repeat-y,
    radial-gradient(var(--notch) at right,#0000 98%,#000) 100% calc(var(--gap)/2)/100% var(--gap) repeat-y;
  mask-composite:intersect;
}
.ticket--page{box-shadow:0 30px 60px -30px rgba(1,14,20,.6)}
.ticket--plain{grid-template-columns:1fr}

.ticket__side{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:14px clamp(8px,.9vw,14px);
}
.ticket__side--left{border-right:1px dashed rgba(34,54,61,.28)}
.ticket__side--right{border-left:1px dashed rgba(34,54,61,.28)}
.ticket__vtext{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(34,54,61,.72);
}
.ticket__vtext--code{color:rgba(34,54,61,.5)}
.ticket__pelican{height:clamp(34px,3.1vw,48px);width:auto;opacity:.75}

.ticket__fields{display:grid;grid-template-columns:1fr 1fr .9fr}
.field{padding:clamp(13px,1.35vw,20px) clamp(13px,1.9vw,30px);min-width:0}
.field + .field{border-left:1px solid rgba(34,54,61,.14)}
.field__label{
  display:block;
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(34,54,61,.6);margin-bottom:clamp(6px,.75vw,11px);
}
.field__control{
  position:relative;display:flex;align-items:center;gap:10px;
  border-bottom:1px dotted rgba(34,54,61,.45);padding-bottom:8px;cursor:pointer;
}
.field__value{
  flex:1;min-width:0;
  font-family:var(--mono);font-size:clamp(12.5px,1.25vw,17px);letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.field__ico{width:18px;height:18px;flex:0 0 auto;color:rgba(34,54,61,.6);stroke-width:1.3}
.field__native{
  position:absolute;inset:0;width:100%;height:100%;
  opacity:0;border:0;padding:0;margin:0;cursor:pointer;
}
.field__native::-webkit-calendar-picker-indicator{width:100%;height:100%;cursor:pointer}
.field__select{
  appearance:none;-webkit-appearance:none;flex:1;min-width:0;
  background:none;border:0;padding:0;
  font-family:var(--mono);font-size:clamp(12.5px,1.25vw,17px);letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);cursor:pointer;
}
.field__select:focus{outline:none}
.field__control:focus-within{border-bottom-color:var(--flame);border-bottom-style:solid}
.field__control:hover .field__ico{color:var(--flame)}
.field__ico--chev{width:16px;height:16px;stroke-width:1.6}

.ticket__submit{
  align-self:center;margin:0 clamp(12px,1.4vw,24px);
  padding:clamp(15px,1.6vw,22px) clamp(28px,3.4vw,62px);
  background:var(--flame);color:#fff;
  font-family:var(--mono);font-size:clamp(11px,1.05vw,14px);font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;
  transition:filter .3s var(--ease);
}
.ticket__submit:hover{filter:brightness(1.09)}
.ticket__submit:active{transform:translateY(1px)}

.ticket__error{
  grid-column:1/-1;margin:0;padding:0 clamp(18px,3vw,44px) 14px;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:#b0341c;
}
.ticket__error[hidden]{display:none}

/* =========================================================
   PISCINĂ — puncte de interes
   ========================================================= */
.pool{position:relative;z-index:1;background:transparent}
.pool__media{position:relative;margin:0;overflow:hidden}
.pool__media > img{width:100%;height:auto;aspect-ratio:1672/697;object-fit:cover}
.pool__media::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,22,29,.28),transparent 26%,transparent 74%,rgba(4,22,29,.3));
}
.pool__leaders{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.pool__leaders line{stroke:rgba(255,255,255,.85);stroke-width:1;vector-effect:non-scaling-stroke}
.pool__legend{display:contents}
.pool__dot{
  position:absolute;z-index:4;left:var(--x);top:var(--y);
  width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;
  border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.18);
}
.pool__tag{
  position:absolute;z-index:5;top:var(--y);transform:translateY(-50%);
  padding:9px 16px;border:1px solid rgba(255,255,255,.85);
  background:rgba(6,32,42,.28);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  font-family:var(--mono);font-size:clamp(8.5px,.85vw,12px);letter-spacing:.2em;text-transform:uppercase;
  color:#fff;line-height:1.5;white-space:nowrap;
  transition:background .35s var(--ease),transform .35s var(--ease);
}
.pool__tag:hover{background:rgba(6,32,42,.6);transform:translateY(-50%) scale(1.03)}
.pool__tag--l{left:var(--x)}
.pool__tag--r{right:var(--x);text-align:right}

/* =========================================================
   CAMERE
   ========================================================= */
.rooms__track{
  display:flex;gap:clamp(14px,2.2vw,34px);
  padding:8px var(--pad) 18px;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;scrollbar-width:none;cursor:grab;
}
.rooms__track::-webkit-scrollbar{display:none}
.rooms__track.is-dragging{cursor:grabbing;scroll-snap-type:none}
.rooms__track.is-dragging .rcard{pointer-events:none}

.rooms__nav{display:flex;align-items:center;gap:12px}
.drag{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(244,239,228,.6);
}
.drag svg{width:30px;height:12px}
.rooms__arrow{
  width:38px;height:38px;border:1px solid rgba(244,239,228,.32);border-radius:50%;
  display:grid;place-items:center;color:rgba(244,239,228,.85);
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.rooms__arrow svg{width:16px;height:16px}
.rooms__arrow:hover{background:rgba(244,239,228,.14);border-color:rgba(244,239,228,.6)}

.rcard{
  position:relative;flex:0 0 auto;
  width:clamp(230px,23vw,560px);
  background:var(--cream);text-align:left;padding:0;
  scroll-snap-align:center;
  box-shadow:0 28px 56px -26px rgba(1,12,18,.85);
  transition:transform .45s var(--ease);
}
.rcard::after{
  content:"";position:absolute;inset:-7px;border:1px solid rgba(236,226,207,.38);pointer-events:none;
  transition:inset .45s var(--ease),border-color .45s var(--ease);
}
.rcard:hover{transform:translateY(-8px)}
.rcard:hover::after{inset:-11px;border-color:rgba(236,226,207,.7)}
.rcard.is-selected::after{border-color:var(--flame);inset:-11px}
.rcard__photo{display:block;overflow:hidden}
.rcard__photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;transition:transform .8s var(--ease)}
.rcard:hover .rcard__photo img{transform:scale(1.05)}
.rcard__foot{display:block;padding:clamp(13px,1.6vw,22px) clamp(15px,1.7vw,24px) clamp(15px,1.8vw,26px)}
.rcard__name{
  display:block;margin-bottom:6px;
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(34,54,61,.55);
}
.rcard__price{
  display:block;font-family:var(--serif);font-weight:400;
  font-size:clamp(2.4rem,4.4vw,4.4rem);line-height:.9;letter-spacing:.02em;color:var(--ink);
}
.rcard__unit{
  display:block;margin-top:6px;
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(34,54,61,.6);
}
.rcard__hint{
  position:absolute;right:14px;top:14px;
  padding:6px 12px;background:rgba(4,22,29,.72);color:var(--bone);
  font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  opacity:0;transform:translateY(-6px);transition:opacity .35s var(--ease),transform .35s var(--ease);
}
.rcard:hover .rcard__hint,.rcard:focus-visible .rcard__hint{opacity:1;transform:none}
.rcard.is-selected .rcard__hint{opacity:1;transform:none;background:var(--flame)}

/* camere — listă detaliată (pagina Camere) */
/* Fotografiile camerelor au 1050 px lățime. Pe ecran lat rândul se oprește la
   1500 px, iar fotografia la 760 px, ca să nu fie mărită peste rezoluția ei și
   ca textul de alături să nu rămână pierdut într-un câmp gol. */
.roomrow{
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  gap:clamp(20px,3vw,64px);align-items:center;
  max-width:1500px;margin-inline:auto;
  padding:clamp(26px,3.6vw,54px) 0;
  border-top:1px solid rgba(244,239,228,.14);
}
.roomrow:first-of-type{border-top:0}
.roomrow:nth-child(even) .roomrow__media{order:2}
.roomrow__media{
  position:relative;overflow:hidden;border:1px solid rgba(244,239,228,.2);
  width:100%;max-width:760px;justify-self:end;
}
.roomrow:nth-child(even) .roomrow__media{justify-self:start}
.roomrow__body{max-width:52ch}
.roomrow:nth-child(even) .roomrow__body{justify-self:end}
.roomrow__media img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center;transition:transform 1s var(--ease)}
.roomrow:hover .roomrow__media img{transform:scale(1.04)}
.roomrow__price{
  display:flex;align-items:baseline;gap:12px;margin:0 0 clamp(12px,1.6vw,20px);
}
.roomrow__price b{
  font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4.6vw,4rem);line-height:.9;
  color:var(--bone);
}
.roomrow__price span{
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(244,239,228,.55);
}
.taglist{display:flex;flex-wrap:wrap;gap:8px;margin:clamp(14px,2vw,22px) 0 0;padding:0;list-style:none}
.taglist li{
  padding:7px 14px;border:1px solid rgba(244,239,228,.24);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,239,228,.72);
}
.on-cream .taglist li{border-color:rgba(34,54,61,.24);color:rgba(34,54,61,.7)}

/* =========================================================
   RESTAURANT / MENIU
   ========================================================= */
.resto{
  position:relative;z-index:3;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
  background:var(--cream);
  --torn:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0,40 L0,20 L15.9,13.7 L35.7,12.3 L54.1,17.6 L66.8,20.1 L79.3,18.8 L92.1,12.6 L109.2,25.9 L122.7,15 L142.2,28.1 L161.1,18.1 L184.9,11.8 L207.2,16.2 L220.9,13.1 L236.6,25.7 L250.8,21.5 L270.4,17.7 L289,12.1 L301.7,14.7 L321.9,18.7 L337.7,21.5 L355.1,16.4 L376.6,23.6 L391.6,21.3 L409.9,26.8 L430.6,16.2 L454.4,13.1 L471.4,24.6 L485.2,19.8 L497.7,23 L518.9,21.3 L541.4,16.6 L561.7,21.7 L580.7,19.2 L602.7,28 L620.4,23 L633.2,23.6 L652.9,28.9 L674.8,16.1 L691.4,23 L703.7,19.3 L717.7,13.1 L730.4,24.8 L744,15.5 L760.7,26.7 L773.6,19.1 L792.2,26.9 L814.1,26.6 L829.4,18.5 L845.7,26.9 L869.2,13.7 L883.3,15.2 L898.1,19.7 L917.2,15.7 L929.2,18.5 L945.7,21.2 L969.1,23.4 L987.3,22.1 L1007.4,12 L1030.2,25 L1052.7,25.4 L1069.4,18.2 L1082.6,22.4 L1095.4,12.2 L1109.9,13.9 L1126,11.9 L1138,13.7 L1151.2,17.5 L1163.5,26.7 L1182.9,13.7 L1197.9,17.3 L1200,13.2 L1200,40 Z'/%3E%3C/svg%3E");
  -webkit-mask-image:var(--torn),linear-gradient(#000,#000);
  -webkit-mask-size:100% 34px,100% calc(100% - 33px);
  -webkit-mask-position:top center,bottom center;
  -webkit-mask-repeat:no-repeat,no-repeat;
  mask-image:var(--torn),linear-gradient(#000,#000);
  mask-size:100% 34px,100% calc(100% - 33px);
  mask-position:top center,bottom center;
  mask-repeat:no-repeat,no-repeat;
}
.resto__media{position:relative;overflow:hidden;background:#160f0a;min-height:clamp(260px,30vw,660px)}
.resto__media img{width:100%;height:100%;object-fit:cover;object-position:52% 55%;position:absolute;inset:0}
.resto__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(8,20,26,.72),rgba(8,20,26,.12) 58%);
}
.resto__titles{position:absolute;z-index:2;left:clamp(18px,3.4vw,58px);top:clamp(22px,3.4vw,54px)}
.resto__menu{
  padding:clamp(26px,3.6vw,62px) clamp(20px,3.4vw,60px) clamp(24px,3.2vw,54px);
  color:var(--ink);display:flex;flex-direction:column;
}
.menu__title{
  margin:0 0 clamp(16px,2.2vw,30px);
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.3rem,2.1vw,2rem);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);
}
.menu__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.menu__item{padding:clamp(10px,1.2vw,15px) 0;border-bottom:1px solid rgba(34,54,61,.16)}
.menu__course{
  display:block;font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(34,54,61,.55);margin-bottom:6px;
}
.menu__row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.menu__dish{
  font-family:var(--mono);font-size:clamp(11px,1.02vw,13.5px);line-height:1.65;letter-spacing:.03em;color:var(--ink);
}
.menu__price{
  flex:0 0 auto;font-family:var(--mono);font-size:clamp(11px,1.02vw,13.5px);letter-spacing:.1em;
  color:var(--ink);white-space:nowrap;
}
.menu__foot{
  margin-top:auto;padding-top:clamp(18px,2.6vw,36px);
  display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
}
.menu__scan{
  display:flex;align-items:center;gap:16px;flex:1;min-width:0;
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(34,54,61,.72);line-height:1.7;transition:color .3s var(--ease);
}
.menu__scan span{flex:0 0 auto}
.menu__scan svg{flex:1;height:12px;min-width:50px;color:rgba(34,54,61,.5);stroke-width:1.1}
.menu__scan:hover{color:var(--ink)}
.menu__scan:hover svg{color:var(--flame)}
.menu__qr{width:clamp(74px,8vw,112px);height:auto;flex:0 0 auto;background:#fff;padding:6px}

/* =========================================================
   GALERIE
   ========================================================= */
/* 2 plăci late + 6 pătrate: nicio placă sub 1/3 din lățime, deci
   fotografiile nu mai sunt tăiate agresiv */
.gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(6px,.8vw,14px)}
.gtile{
  position:relative;overflow:hidden;padding:0;
  border:1px solid rgba(244,239,228,.28);
  aspect-ratio:3/2;min-height:140px;
  grid-column:span 4;
}
.gtile:nth-child(1),.gtile:nth-child(2){grid-column:span 6;aspect-ratio:16/9;min-height:180px}
.gtile img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .9s var(--ease)}
.gtile::after{content:"";position:absolute;inset:0;background:rgba(4,22,29,.16);transition:background .4s var(--ease)}
.gtile:hover img{transform:scale(1.07)}
.gtile:hover::after{background:rgba(4,22,29,0)}

/* =========================================================
   RECENZII
   ========================================================= */
.voices{
  position:relative;padding:clamp(32px,4.4vw,62px) 0 clamp(28px,4vw,54px);
  background:rgba(3,20,27,.3);overflow:hidden;
}
.voices::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(140,220,235,.35),transparent);
}
.voices__title{
  margin:0 0 clamp(18px,2.4vw,34px);text-align:center;
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.3rem,2.4vw,2.2rem);letter-spacing:.16em;text-transform:uppercase;
  color:rgba(247,243,233,.94);
}
.voices__row{display:flex;align-items:center;gap:clamp(16px,2.6vw,44px);padding-left:var(--pad)}
.score{
  flex:0 0 auto;border-radius:999px;
  padding:clamp(11px,1.3vw,17px) clamp(16px,1.8vw,24px);
  border:1px solid rgba(244,239,228,.5);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:rgba(4,22,29,.35);white-space:nowrap;
}
.score b{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2vw,28px);line-height:1;letter-spacing:.02em}
.score__star{color:var(--gold)}
.score em{font-family:var(--mono);font-style:normal;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,239,228,.7)}

.marquee{
  flex:1;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 92%,transparent);
}
.marquee__track{display:flex;width:max-content;animation:slide 46s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__set{display:flex;align-items:center;gap:clamp(16px,2.4vw,42px);padding-right:clamp(16px,2.4vw,42px)}
.marquee q{
  font-family:var(--serif);font-style:italic;font-size:clamp(1rem,1.75vw,1.7rem);
  color:rgba(247,243,233,.95);white-space:nowrap;
}
/* sunt teme desprinse din recenzii, nu citate exacte — fără ghilimele */
.marquee q{quotes:none}
.marquee q::before,.marquee q::after{content:none}
.marquee i{font-style:normal;color:rgba(244,239,228,.4)}
@keyframes slide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* =========================================================
   BANDĂ CTA
   ========================================================= */
.cta{
  position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(56px,8vw,120px) 0;text-align:center;
}
.cta__bg{position:absolute;inset:0;z-index:0}
.cta__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.cta::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(4,24,32,.86),rgba(4,24,32,.76));
}
/* banda de final se dizolvă în sus și în jos — fără muchii spre ocean și spre subsol */
.cta__bg,.cta::after{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 82%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 82%,transparent 100%);
}
/* Banda de final de pe pagina principală are o fotografie de apă adâncă, nu un
   peisaj. O compunem cu `screen`: negrul ei dispare complet în ocean și rămân
   doar causticele și dâra de bule, care se adaugă peste fundal. Așa nu mai
   există niciun dreptunghi și nicio muchie — fotografia devine chiar apa.
   `isolation:auto` e obligatoriu: altfel `.cta` ar izola grupul, iar `screen`
   s-ar compune cu un fond gol, nu cu oceanul de dedesubt.
   Voalul devine radial, ca textul să rămână lizibil, dar marginile să se
   topească; masca de sus/jos e mai lungă, pentru o trecere mai lină. */
.cta--deep{isolation:auto}
.cta--deep .cta__bg{mix-blend-mode:screen}
.cta--deep::after{
  background:radial-gradient(125% 95% at 50% 50%,
    rgba(3,18,25,.66) 0%,rgba(3,18,25,.44) 46%,rgba(3,18,25,0) 80%);
}
.cta--deep .cta__bg,.cta--deep::after{
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 72%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0,#000 26%,#000 72%,transparent 100%);
}
.cta .bubbles-canvas{z-index:2}
.cta__inner{position:relative;z-index:3}
.cta__t{
  margin:0 auto;max-width:20ch;
  font-family:var(--serif);font-weight:300;
  font-size:clamp(1.8rem,5vw,4rem);line-height:1.12;letter-spacing:.03em;
  color:#f7f3e9;
}
.cta__s{
  margin:clamp(14px,2vw,24px) auto clamp(24px,3vw,40px);max-width:46ch;
  font-family:var(--mono);font-size:clamp(11px,1vw,13px);line-height:1.9;letter-spacing:.1em;
  color:rgba(244,239,228,.72);
}
.cta .btn-row{justify-content:center}

/* =========================================================
   TABEL PREȚURI
   ========================================================= */
.ptable{width:100%;border-collapse:collapse;font-family:var(--mono)}
.ptable caption{
  text-align:left;padding-bottom:14px;
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,239,228,.5);
}
.ptable th,.ptable td{
  padding:clamp(12px,1.5vw,20px) clamp(8px,1.2vw,18px);
  border-bottom:1px solid rgba(244,239,228,.14);text-align:left;vertical-align:middle;
}
.ptable th{
  font-weight:400;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(244,239,228,.5);
}
.ptable td{font-size:clamp(11.5px,1vw,13.5px);letter-spacing:.04em;color:rgba(244,239,228,.86)}
.ptable td.num{
  font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.2rem);letter-spacing:.02em;
  color:var(--bone);white-space:nowrap;
}
.ptable tr:last-child th,.ptable tr:last-child td{border-bottom:0}
.ptable__note{
  margin:clamp(16px,2vw,24px) 0 0;
  font-family:var(--mono);font-size:11px;line-height:1.9;letter-spacing:.04em;
  color:rgba(244,239,228,.55);
}

/* =========================================================
   INFO / FEATURE GRID
   ========================================================= */
.fgrid{display:grid;gap:clamp(12px,1.6vw,24px);grid-template-columns:repeat(4,1fr)}
.fgrid--3{grid-template-columns:repeat(3,1fr)}
.fcard{
  padding:clamp(20px,2.4vw,34px);
  border:1px solid rgba(244,239,228,.16);
  background:rgba(255,255,255,.02);
  transition:border-color .35s var(--ease),background .35s var(--ease),transform .35s var(--ease);
}
.fcard:hover{border-color:rgba(244,239,228,.4);background:rgba(255,255,255,.05);transform:translateY(-3px)}
.fcard__ico{width:26px;height:26px;color:var(--gold);margin-bottom:clamp(12px,1.6vw,20px);stroke-width:1.2}
.fcard h3{
  margin:0 0 10px;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.05rem,1.7vw,1.4rem);letter-spacing:.08em;text-transform:uppercase;color:var(--bone);
}
.fcard p{
  margin:0;font-family:var(--mono);font-size:11.5px;line-height:1.9;letter-spacing:.03em;
  color:rgba(244,239,228,.68);
}
.on-cream .fcard{border-color:rgba(34,54,61,.18);background:rgba(255,255,255,.3)}
.on-cream .fcard h3{color:var(--ink)}
.on-cream .fcard p{color:rgba(34,54,61,.75)}

/* două coloane text + imagine */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:center}
.split--wide-media{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.split__media{position:relative;overflow:hidden;border:1px solid rgba(244,239,228,.18)}
.split__media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.on-cream .split__media{border-color:rgba(34,54,61,.2)}

/* =========================================================
   FORMULARE (contact / rezervare)
   ========================================================= */
.form{display:grid;gap:clamp(14px,2vw,22px);grid-template-columns:1fr 1fr}
.form .fullw{grid-column:1/-1}
.finput{display:flex;flex-direction:column;gap:8px}
.finput > span{
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(244,239,228,.55);
}
.finput input,.finput select,.finput textarea{
  width:100%;padding:13px 14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(244,239,228,.22);
  color:var(--bone);
  font-family:var(--mono);font-size:13px;letter-spacing:.04em;
  transition:border-color .3s var(--ease),background .3s var(--ease);
}
.finput textarea{resize:vertical;min-height:130px;line-height:1.8}
.finput input:focus,.finput select:focus,.finput textarea:focus{
  outline:none;border-color:var(--flame);background:rgba(255,255,255,.07);
}
.finput select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4efe4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:16px 16px;
}
.on-cream .finput select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2322363d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
.finput select option{background:#062a35;color:var(--bone)}
.form__msg{
  margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:#ff8b72;
}
.form__msg[hidden]{display:none}

.contactlist{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,2.4vw,30px)}
.contactlist dt,.contactlist__label{
  font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(244,239,228,.5);margin-bottom:7px;
}
.contactlist__value{
  font-family:var(--mono);font-size:clamp(13px,1.3vw,16px);letter-spacing:.06em;
  color:var(--bone);line-height:1.8;
}
.contactlist__value a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{
  position:relative;overflow:hidden;isolation:isolate;
  /* începe transparent -> se leagă fără muchie de banda de deasupra */
  background:linear-gradient(180deg,transparent 0,rgba(2,14,20,.5) 26%,rgba(2,14,20,.88) 100%);
  padding:clamp(64px,7vw,120px) var(--pad) clamp(18px,2vw,26px);
}
.footer .bubbles-canvas{z-index:0}
.footer__cols,.footer__bar,.footer__word{position:relative;z-index:2}
/* cuvântul mare stă în banda lui, sub conținut — nu mai trece peste texte */
.footer__word{
  display:block;margin:clamp(26px,3.4vw,52px) 0 -0.2em;
  font-family:var(--serif);font-weight:400;
  /* „HOTEL PALAS” măsoară ~6,8 × dimensiunea fontului. Dacă rândul iese din
     cutie, `text-align:center` NU mai centrează — surplusul se taie tot în
     dreapta și dispare S-ul final. Deci calculăm corpul din lățimea rămasă
     după padding (împărțim la 7, ca să rămână o rezervă). */
  font-size:min(15rem, calc((100vw - 2 * var(--pad) - 12px) / 7));
  line-height:.8;
  letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-align:center;
  color:transparent;-webkit-text-stroke:1px rgba(244,239,228,.16);
  pointer-events:none;user-select:none;
}
.footer__cols{
  position:relative;z-index:2;display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(20px,3vw,52px);
}
.footer__col p{
  margin:0 0 4px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;
  color:rgba(244,239,228,.82);line-height:1.85;
}
.footer__col a{transition:color .3s var(--ease)}
.footer__col a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer__label{
  margin-top:16px!important;
  font-size:10px!important;letter-spacing:.24em!important;text-transform:uppercase;
  color:rgba(244,239,228,.45)!important;
}
.footer__brand{margin-bottom:clamp(16px,2vw,24px)}
.footer__brand img{height:clamp(84px,7.5vw,120px);width:auto}
.footer__nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px}
.footer__nav a{
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(244,239,228,.6);
}
.footer__nav a:hover{color:var(--bone)}

.footer__bar{
  position:relative;z-index:2;margin-top:clamp(26px,3.4vw,52px);padding-top:16px;
  border-top:1px solid rgba(244,239,228,.12);
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
.footer__bar p{
  margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(244,239,228,.5);
}
.footer__legal{display:flex;gap:clamp(12px,2vw,34px);flex-wrap:wrap}
.footer__legal button{
  padding:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(244,239,228,.5);transition:color .3s var(--ease);
}
.footer__legal button:hover{color:var(--bone)}

/* =========================================================
   MODALE + LIGHTBOX
   ========================================================= */
.modal{
  border:0;padding:clamp(24px,3.4vw,48px);
  max-width:min(560px,92vw);width:100%;
  background:linear-gradient(180deg,#efe7d6,#e3d8c0);color:var(--ink);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7);
}
.modal::backdrop{background:rgba(3,18,25,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.modal__close-form{position:absolute;top:10px;right:12px;margin:0}
.modal__close{font-size:26px;line-height:1;color:rgba(34,54,61,.55);padding:6px 10px}
.modal__close:hover{color:var(--ink)}
.modal__title{
  margin:0 0 20px;font-family:var(--serif);font-weight:400;
  font-size:clamp(1.4rem,2.6vw,2.2rem);letter-spacing:.1em;text-transform:uppercase;
}
.modal__summary{margin:0 0 20px;display:grid;grid-template-columns:auto 1fr;gap:10px 20px}
.modal__summary dt{
  font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(34,54,61,.55);padding-top:3px;
}
.modal__summary dd{margin:0;font-family:var(--mono);font-size:13.5px;letter-spacing:.06em;color:var(--ink)}
.modal__summary dd.is-total{font-family:var(--serif);font-size:26px;letter-spacing:.04em}
.modal__note{margin:0 0 20px;font-family:var(--mono);font-size:12px;line-height:1.8;color:rgba(34,54,61,.78)}
.modal__note a{text-decoration:underline;text-underline-offset:3px}
.modal__actions{display:flex;gap:12px;flex-wrap:wrap}

.lightbox{
  border:0;padding:0;background:transparent;
  max-width:100vw;max-height:100vh;width:100vw;height:100vh;
  display:none;align-items:center;justify-content:center;gap:clamp(6px,2vw,30px);
}
.lightbox[open]{display:flex}
.lightbox::backdrop{background:rgba(3,16,22,.94)}
.lightbox__fig{margin:0;max-width:min(1200px,84vw);display:flex;flex-direction:column;gap:14px}
.lightbox__fig img{width:100%;max-height:76vh;object-fit:contain;border:1px solid rgba(244,239,228,.25)}
.lightbox__fig figcaption{
  font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(244,239,228,.65);text-align:center;
}
.lightbox__nav{
  width:clamp(38px,4vw,54px);aspect-ratio:1;border:1px solid rgba(244,239,228,.4);border-radius:50%;
  display:grid;place-items:center;color:var(--bone);flex:0 0 auto;
  transition:background .3s var(--ease);
}
.lightbox__nav:hover{background:rgba(244,239,228,.16)}
.lightbox__nav svg{width:18px;height:18px}
.lightbox__close{
  position:absolute;top:16px;right:20px;font-size:34px;line-height:1;
  color:rgba(244,239,228,.75);padding:4px 12px;
}
.lightbox__close:hover{color:#fff}

/* =========================================================
   REVEAL
   ========================================================= */
[data-reveal]{opacity:0;transform:translateY(24px)}
[data-reveal].is-in{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1400px){
  .mainnav{gap:clamp(9px,1.15vw,18px)}
}

@media (max-width:1240px){
  .mainnav,.siteheader__cta{display:none}
  .burger{display:block;margin-left:auto}
  .dive{display:none}
  .gauge{display:none}
  .footer .bubbles-canvas{display:none}
}

@media (max-width:1400px){
  .fgrid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:1024px){
  .explore{grid-template-columns:repeat(12,1fr)}
  .xcard{grid-column:span 6}
  .xcard:nth-child(1),.xcard:nth-child(2){grid-column:span 6;min-height:clamp(200px,26vw,320px)}
  .split,.split--wide-media{grid-template-columns:1fr;gap:clamp(20px,3vw,36px)}
  .fgrid,.fgrid--3{grid-template-columns:repeat(2,1fr)}
  .roomrow{grid-template-columns:1fr;gap:clamp(16px,2.6vw,28px)}
  .roomrow:nth-child(even) .roomrow__media{order:0}
}

@media (max-width:980px){
  .hero__inner{margin-top:min(30vh,44vw)}
  .ticket{grid-template-columns:1fr;--gap:24px}
  .ticket__side{display:none}
  .ticket__fields{grid-template-columns:1fr 1fr}
  .field--select{grid-column:1/-1;border-left:0!important;border-top:1px solid rgba(34,54,61,.14)}
  .ticket__submit{align-self:stretch;margin:0 18px 18px;padding:16px 20px}

  .resto{grid-template-columns:1fr}
  .resto__media{min-height:280px}

  .voices__row{flex-direction:column;align-items:stretch;gap:18px;padding-right:var(--pad)}
  .score{align-self:center}

  .footer__cols{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .stats__item:nth-child(3){border-left:0}
  .stats__item:nth-child(n+3){border-top:1px solid rgba(244,239,228,.16)}
}

@media (max-width:720px){
  body{font-size:14px}
  .hero{min-height:92svh}
  .hero__inner{margin-top:28vh}
  .hero__title{font-size:clamp(2.6rem,15vw,5rem)}

  .phero{min-height:clamp(300px,46vh,420px)}

  .pool__leaders,.pool__dot{display:none}
  .pool__media::after{display:none}
  .pool__legend{display:flex;flex-wrap:wrap;gap:8px;padding:16px var(--pad) 48px}
  .pool__tag{position:static;transform:none;background:rgba(6,32,42,.55);white-space:normal}
  .pool__tag:hover{transform:none}
  .pool__tag--r{text-align:left}
  .pool__tag br{display:none}

  .drag{display:none}

  .explore{grid-template-columns:1fr 1fr}
  .xcard,.xcard:nth-child(1),.xcard:nth-child(2){grid-column:span 1;min-height:clamp(160px,38vw,240px)}
  .fgrid,.fgrid--3{grid-template-columns:1fr}

  .gallery__grid{grid-template-columns:repeat(12,1fr)}
  .gtile{grid-column:span 6;aspect-ratio:1/1;min-height:0}
  .gtile:nth-child(1),.gtile:nth-child(2){grid-column:span 12;aspect-ratio:16/9}

  .menu__foot{flex-direction:column;align-items:flex-start;gap:16px}
  .menu__scan svg{display:none}

  .form{grid-template-columns:1fr}

  .footer__cols{grid-template-columns:1fr}
  .footer__bar{flex-direction:column;align-items:flex-start}
  .footer__word{-webkit-text-stroke-width:.8px}

  .lightbox__nav{position:absolute;bottom:20px}
  .lightbox__nav--prev{left:20px}
  .lightbox__nav--next{right:20px}
  .lightbox__fig{max-width:92vw}
  .lightbox__fig img{max-height:70vh}

  .ptable,.ptable tbody,.ptable tr,.ptable td,.ptable th{display:block;width:100%}
  .ptable thead{display:none}
  .ptable tr{
    padding:16px 0;border-bottom:1px solid rgba(244,239,228,.14);
    display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center;
  }
  .ptable td{border:0;padding:2px 0}
  .ptable td.num{grid-row:1/3;grid-column:2;text-align:right}
  .ptable td[data-l]::before{
    content:attr(data-l) " · ";
    color:rgba(244,239,228,.45);letter-spacing:.16em;text-transform:uppercase;font-size:9.5px;
  }
}

@media (max-width:520px){
  .field{padding:12px 14px}
  .field__value,.field__select{font-size:12.5px;letter-spacing:.06em}
  .field__ico{width:15px;height:15px}
  .hero__meta{letter-spacing:.13em}
  .modal__summary{grid-template-columns:1fr;gap:2px 0}
  .modal__summary dd{margin-bottom:12px}
  .stats{grid-template-columns:1fr}
  .stats__item + .stats__item{border-left:0;border-top:1px solid rgba(244,239,228,.16)}
  .explore{grid-template-columns:1fr}
  .xcard,.xcard:nth-child(1),.xcard:nth-child(2){min-height:clamp(180px,52vw,280px)}
}

@media (max-width:380px){
  :root{--pad:16px}
  .hero__title{font-size:clamp(2.3rem,15.5vw,3.6rem)}
  .brand__mark{height:30px}
  .brand__palas{font-size:16px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-reveal]{opacity:1;transform:none}
  .caustics{display:none}
}

@media print{
  .siteheader,.mobilenav,.dive,.gauge,.booking,.lightbox,.modal,.bubbles-canvas,.caustics{display:none!important}
  body{background:#fff;color:#000}
}

/* =========================================================
   FIX: cardurile ieseau din ecran pe telefon
   =========================================================
   `.xcard` si `.gtile` au `aspect-ratio:16/9` IMPREUNA cu `min-height`
   (180px). Cand inaltimea e impinsa la minimul ei, raportul ii dicteaza
   latimea: 180 x 16/9 = 320px. Pe un ecran de 320px celula din grila are
   doar ~273px, deci cardul iesea in afara si pagina se putea trage
   stanga-dreapta. Se intampla la orice latime la care celula < 320px,
   deci si pe telefoane mai mari cand grila e pe 2 coloane.

   `width:100%` face cardul sa nu depaseasca niciodata celula. Raportul
   16/9 cedeaza in fata lui `min-height` — adica exact ce voia designul:
   „cel putin 180px inaltime". La latimile mari e fara efect, cardul
   umplea deja celula.

   NU `min-width:0`: am incercat, nu ajuta. Latimea nu vine din continut,
   ci din raportul de aspect aplicat inaltimii minime. */
.xcard, .gtile { width: 100%; }
