:root{
  --ivoire:#fffffb;
  --auriu:#C9A84C;
  --auriu-pal:#e3d5a8;
  --oliv:#6d6950;
  --antracit:#2a2725;
  --maro:#2d2b1e;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--ivoire);color:var(--antracit);font-family:'Montserrat',sans-serif;font-weight:300;overflow-x:hidden;}
h1,h2,h3,.serif{font-family:'EB Garamond',serif;font-weight:500;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.kicker{font-size:.86rem;letter-spacing:.32em;text-transform:uppercase;color:var(--oliv);font-weight:500;}
.contact-left .kicker{font-size:1rem;}
.kicker.gold{color:var(--auriu);}

/* ---------- NAV — complet transparent, delimitat printr-o linie fina aurie ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:40;
  display:flex;align-items:center;justify-content:center;
  padding:26px 56px;transition:all .45s ease;
  background:linear-gradient(to bottom, rgba(109,105,80,.34) 0%, rgba(109,105,80,.3) 55%, rgba(109,105,80,0) 100%);
  border-bottom:none;
}
.site-logo{
  color:var(--auriu);transition:opacity .3s ease;
  display:inline-flex;align-items:center;justify-content:center;
  position:absolute;left:56px;top:50%;transform:translateY(-50%);z-index:41;
  opacity:0;pointer-events:none;
}
body.scrolled-start .site-logo{opacity:1;pointer-events:auto;}
.site-logo:hover{opacity:.7;}
header::after{
  content:'';position:absolute;left:8%;right:8%;bottom:0;height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,168,76,.4) 50%, transparent);
  opacity:1;transition:opacity .45s ease;
}
header.scrolled::after{opacity:0;}
header.scrolled{
  background:rgba(255,255,251,.92);backdrop-filter:blur(10px);
  padding:18px 56px;border-bottom:1px solid rgba(45,43,30,.08);
  box-shadow:0 2px 20px -8px rgba(42,39,37,.12);
}
nav.mainnav{display:flex;gap:38px;align-items:center;}
nav.mainnav a{
  font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ivoire);border-bottom:1px solid transparent;padding-bottom:4px;transition:all .3s;
  text-shadow:0 1px 6px rgba(0,0,0,.3);
}
nav.mainnav a:hover{border-color:var(--auriu);color:var(--auriu-pal);}
header.scrolled nav.mainnav a{color:var(--antracit);}
header.scrolled nav.mainnav a:hover{color:var(--oliv);}
.nav-socials{display:flex;gap:20px;align-items:center;margin-left:40px;padding-left:40px;border-left:1px solid rgba(255,255,251,.3);}
.nav-socials a{color:var(--auriu);display:flex;}
.nav-socials a:hover{color:var(--auriu-pal);}
.nav-socials svg{width:18px;height:18px;}
header.scrolled .nav-socials{border-left-color:rgba(45,43,30,.18);}
header.scrolled .nav-socials a{color:var(--auriu);}
.header-phone{align-items:center;gap:8px;font-family:'Montserrat',sans-serif;font-size:.8rem;letter-spacing:.02em;white-space:nowrap;}
.header-phone--mobile{display:none;}

/* ---------- HAMBURGER + NAV MOBIL ---------- */
.nav-toggle{
  display:none;position:absolute;right:24px;top:50%;transform:translateY(-50%);
  width:26px;height:18px;flex-direction:column;justify-content:space-between;
  background:none;border:none;padding:0;cursor:pointer;z-index:60;
}
.nav-toggle span{display:block;width:100%;height:1.5px;background:var(--ivoire);border-radius:1px;transition:transform .3s ease,opacity .3s ease,background .3s ease;}
header.scrolled .nav-toggle span{background:var(--antracit);}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.75px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.75px) rotate(-45deg);}
body.nav-open header{background:rgba(255,255,251,.98);}
body.nav-open .nav-toggle span{background:var(--antracit);}

.mobile-nav{
  position:fixed;inset:0;z-index:39;background:var(--ivoire);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:38px;
  opacity:0;visibility:hidden;transform:translateY(-14px);
  transition:opacity .4s ease,transform .4s ease,visibility 0s linear .4s;
}
.mobile-nav.open{opacity:1;visibility:visible;transform:translateY(0);transition:opacity .4s ease,transform .4s ease;}
.mobile-nav nav{display:flex;flex-direction:column;align-items:center;gap:26px;}
.mobile-nav nav a{font-family:'EB Garamond',serif;font-size:1.5rem;color:var(--maro);}
.mobile-nav nav a:hover{color:var(--auriu);}
.mobile-nav-socials{display:flex;gap:24px;}
.mobile-nav-socials a{color:var(--oliv);display:flex;}
.mobile-nav-socials a:hover{color:var(--auriu);}
.mobile-nav-socials svg{width:20px;height:20px;}

/* ---------- DIVIZOR ÎNTRE SECȚIUNI — aceeași linie fină aurie ca sub navbar ---------- */
#locul::before,
.statement::before,
.galerie::before,
.servicii::before,
.rezervare::before,
.contact::before,
footer::before{
  content:'';position:absolute;top:0;left:8%;right:8%;height:1px;z-index:2;
  background:linear-gradient(90deg, transparent, rgba(201,168,76,.4) 50%, transparent);
}

/* ---------- HERO ---------- */
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:clamp(110px,15vh,160px);}
.hero-bg{position:absolute;inset:0;background:url('../images/aristocrat-hero-photoshoot.webp?v=1') center 40%/cover no-repeat;filter:saturate(.88);}
/* overlay maro cald, uniform peste toata poza */
.hero-bg::after{content:'';position:absolute;inset:0;
  background: linear-gradient(180deg, rgba(35,33,23,.78) 0%, rgba(35,33,23,.82) 55%, rgba(35,33,23,.9) 100%);
}
.hero-content{position:relative;z-index:2;text-align:center;color:var(--ivoire);padding:0 24px;max-width:760px;}
.hero-logo{width:min(52vw,370px);height:auto;margin:0 auto;opacity:0;animation:fadeUp 0.9s 0.3s ease forwards;filter:drop-shadow(0 2px 10px rgba(0,0,0,.3));}
.hero-subtag{
  font-family:'EB Garamond',serif;font-style:italic;font-weight:400;color:var(--ivoire);
  font-size:clamp(1.1rem,2vw,1.4rem);letter-spacing:.02em;margin-top:16px;
  opacity:0;animation:fadeUp 0.9s 0.4s ease forwards;text-shadow:0 2px 10px rgba(0,0,0,.3);
}
.hero-subtag .subtag-dot,.foot-logo p .subtag-dot{color:var(--auriu);font-style:normal;margin:0 8px;}
.hero-subtag .subtag-group,.foot-logo p .subtag-group{display:inline;}
.hero-tagline{
  font-family:'Montserrat',sans-serif;font-weight:400;color:var(--ivoire);
  font-size:clamp(1.1rem,2.3vw,1.5rem);letter-spacing:.01em;line-height:1.45;
  margin:44px 0 10px;opacity:0;animation:fadeUp 0.8s 0.5s ease forwards;
}
.hero-tagline em{font-style:italic;color:var(--auriu);}
.tagline-gold{display:inline-block;margin-top:6px;color:var(--ivoire);}
.tagline-gold em{font-style:italic;color:var(--auriu);}
.hero-content p.lede{font-size:1.1rem;font-weight:400;color:var(--ivoire);max-width:600px;margin:0 auto 38px;line-height:1.8;opacity:0;animation:fadeUp 0.8s 0.7s ease forwards;text-shadow:0 2px 12px rgba(0,0,0,.4);}
.lede-hook{display:block;font-family:'EB Garamond',serif;font-weight:600;font-size:1.3rem;line-height:1.4;margin-bottom:12px;}
.hero-tagline{text-shadow:0 2px 10px rgba(0,0,0,.22);}
.hero-ctas{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:80px;opacity:0;animation:fadeUp 0.8s 0.9s ease forwards;}
.hero-ctas .btn{font-weight:450;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;transition:all .35s ease;cursor:pointer;border:none;font-family:'Montserrat',sans-serif;border-radius:4px;}
.mobile-break{display:none;}
.btn-primary{border:1px solid var(--auriu);color:var(--ivoire);background:transparent;}
.btn-primary:hover{background:var(--auriu);color:var(--maro);}
.btn-ghost{color:var(--ivoire);border-radius:0;border-bottom:1px solid var(--auriu);padding:15px 2px;background:none;}
.btn-ghost:hover{border-color:var(--auriu);color:var(--auriu-pal);}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.scroll-cue{
  position:absolute;bottom:54px;left:0;right:0;margin-inline:auto;width:fit-content;
  color:var(--ivoire);font-size:.72rem;font-weight:450;letter-spacing:.32em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:fadeUp 0.8s 1.05s ease forwards;text-shadow:0 2px 8px rgba(0,0,0,.25);
}
.scroll-cue .line{width:1px;height:38px;background:linear-gradient(var(--auriu),transparent);animation:pulse 2.2s infinite;}
@keyframes pulse{0%,100%{opacity:.35}50%{opacity:1}}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

section{padding:20px 56px 130px;}

.wave-img{position:absolute;width:360px;max-width:38vw;height:auto;pointer-events:none;z-index:0;opacity:.85;}
.wave-tl{top:0;left:0;}
.wave-tr{top:0;right:0;transform:scaleX(-1);}
.wave-bl{bottom:0;left:0;}
.wave-br{bottom:0;right:0;}
/* tratamentul "mare" folosit în Despre — val amplu, lipit de colțul din dreapta-sus, cu fade
   spre centrul secțiunii. Rămâne doar pentru colțul dreapta-sus (Despre, Servicii, Footer);
   colțul stânga-sus și ambele colțuri de jos folosesc valul mic (.wave-tl/tr/bl/br). */
.wave-big-tr{
  top:0;right:0;width:50%;max-width:620px;height:auto;opacity:1;transform:scaleX(-1);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-image:linear-gradient(to right, black 45%, transparent 92%);
  mask-image:linear-gradient(to right, black 45%, transparent 92%);
}
/* colțul dreapta-sus din Servicii foloseşte acum asset-ul gata făcut în Canva (wave-corner-tr),
   la fel ca în Rezervări/Footer — fără mască şi fără oglindire, doar poziţionat în colţ.
   Rămâne discret ca să nu concureze cu cardurile "Dotări tehnice" de dedesubt. */
.servicii .wave-tr{
  top:0;right:0;transform:none;width:820px;max-width:64vw;opacity:.85;
}

/* ---------- DESPRE ---------- */
#locul{position:relative;overflow:hidden;padding-top:0;}
/* colțul dreapta-sus, ca în Servicii/Rezervări/Footer — asset Canva gata făcut, fără mască/oglindire. */
#locul .wave-tr{top:0;right:0;transform:none;width:820px;max-width:58vw;opacity:.9;}
.despre-grid{display:grid;grid-template-columns:5fr 7fr;gap:8vw;max-width:1320px;margin:100px auto 0;align-items:stretch;position:relative;z-index:1;}
.despre-img{position:relative;min-height:600px;}
.arch-frame{position:relative;overflow:hidden;border-radius:230px 230px 6px 6px;box-shadow:0 24px 50px -28px rgba(42,39,37,.3);height:100%;}
.despre-img img{width:100%;height:100%;object-fit:cover;object-position:38% center;filter:saturate(.9);}
.despre-copy{display:flex;flex-direction:column;justify-content:center;}
.despre-copy .kicker{margin-bottom:22px;display:block;}
.despre-copy h2{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.28;margin-bottom:30px;}
.despre-copy p{font-size:1.07rem;line-height:1.95;color:#4a453f;margin-bottom:22px;}
.despre-copy .tag-quote{font-family:'EB Garamond',serif;font-style:italic;font-size:clamp(1.25rem,2.1vw,1.55rem);line-height:1.5;color:var(--maro);margin-top:14px;}
.pull{font-family:'EB Garamond',serif;font-style:italic;font-size:1.5rem;line-height:1.5;color:var(--maro);margin:40px 0;max-width:520px;}
.facts{display:grid;grid-template-columns:repeat(4,auto);gap:0;margin-top:50px;border-top:1px solid rgba(45,43,30,.16);max-width:560px;}
.fact{padding:22px 24px 0 0;}
.fact b{display:block;font-family:'EB Garamond',serif;font-size:1.5rem;color:var(--maro);}
.fact span{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--oliv);}


/* ---------- STATEMENT ---------- */
.statement{padding:105px 56px;text-align:center;position:relative;overflow:hidden;}
.statement::after{content:'';position:absolute;inset:0;z-index:-1;background-color:var(--ivoire);background-image:linear-gradient(to right, rgba(255,255,251,.94) 0%, rgba(255,255,251,.65) 42%, rgba(255,255,251,.4) 75%, rgba(255,255,251,.4) 100%), url('../images/aristocrat-19-statement-bg.webp?v=2');background-position:right center;background-size:cover;background-repeat:no-repeat;opacity:.8;}
.statement .wave-img{opacity:1;width:560px;max-width:48vw;}
.statement .wave-tr{transform:none;}
.statement .wave-tl{width:900px;max-width:74vw;}
.statement .kicker{display:block;margin-bottom:26px;}
.statement p{font-family:'EB Garamond',serif;font-style:italic;font-weight:400;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.6;max-width:840px;margin:0 auto;color:var(--maro);}
.statement-cite{display:block;margin-top:22px;font-family:'Montserrat',sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oliv);}
.btn-statement{display:inline-block;margin-top:38px;background:var(--maro);border:2px solid var(--auriu);color:var(--ivoire);animation:galPulse 2.1s ease-out infinite;}
.btn-statement:hover{background:var(--auriu);color:var(--maro);animation-play-state:paused;}
.statement p.statement-hook{margin-top:34px;font-family:'EB Garamond',serif;font-style:italic;font-weight:400;font-size:1.65rem;color:var(--maro);max-width:none;}

/* ---------- POVESTEA ---------- */
.povestea{padding:10px 56px 130px;position:relative;overflow:hidden;}
.povestea-wrap{max-width:760px;margin:0 auto;position:relative;z-index:1;}
.povestea-wrap .kicker{display:block;margin-bottom:22px;}
.povestea-wrap h2{font-family:'EB Garamond',serif;font-weight:500;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.35;margin-bottom:28px;}
.povestea-todo{font-size:.82rem;line-height:1.8;color:var(--oliv);font-style:italic;border:1px dashed rgba(45,43,30,.3);padding:18px 20px;}

/* ---------- GALERIE ---------- */
.galerie{padding-top:90px;padding-bottom:80px;position:relative;overflow:hidden;}
.gal-head{max-width:1320px;margin:0 auto 50px;position:relative;z-index:1;text-align:center;}
.gal-head h2{font-size:clamp(1.8rem,3vw,2.5rem);}
.gal-head p{font-size:.96rem;color:var(--oliv);line-height:1.75;margin-top:14px;}
.gal-index{display:grid;grid-template-columns:repeat(5,1fr);gap:0;max-width:1320px;margin:0 auto;position:relative;z-index:1;}
/* aceeași semnătură arcuită ca .arch-frame din Despre, scalată la lățimea celulei de index —
   ține motivul arcadei coerent în ambele locuri unde site-ul "înrămează" o fotografie reală.
   lățime plafonată explicit, altfel arcul se lățește și își pierde rafinamentul pe coloane late. */
.plate .frame{height:320px;max-width:220px;overflow:hidden;margin:22px auto 0;border-radius:110px 110px 6px 6px;box-shadow:0 16px 34px -20px rgba(42,39,37,.32);cursor:pointer;}
.plate img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) saturate(.7);transition:filter .6s ease,transform .8s ease;}
.plate:hover img{filter:grayscale(0) saturate(1);transform:scale(1.03);}
.plate .cap{padding:16px 18px 20px;}
.plate .cap .n{font-family:'EB Garamond',serif;font-style:italic;color:var(--auriu);font-size:.85rem;}
.plate .cap .t{font-size:.72rem;letter-spacing:.04em;color:var(--antracit);margin-top:4px;}

.gal-group{max-width:1320px;margin:0 auto;padding-top:56px;position:relative;z-index:1;border-top:1px solid rgba(45,43,30,.16);}
.gal-group:first-of-type{padding-top:0;border-top:none;}
.gal-group > .kicker{display:block;margin-bottom:26px;}
.gal-group .gal-index{margin:0;max-width:none;}
.gal-index--sm{grid-template-columns:repeat(5,1fr);}
.gal-index--sm .plate{grid-column:span 1;}
.gal-group-note{font-size:.92rem;color:var(--oliv);line-height:1.7;margin:-10px 0 26px;max-width:560px;}
.gal-group-footnote{
  font-family:'EB Garamond',serif;font-style:italic;font-size:clamp(1.1rem,1.9vw,1.35rem);
  line-height:1.5;color:var(--maro);margin:90px auto;max-width:100%;width:100%;text-align:center;
}
.gal-group-footnote:has(+ .gal-group-footnote){margin-bottom:0;}
.gal-group-footnote + .gal-group-footnote{margin-top:0;}
.gal-cta{text-align:center;margin-top:34px;}
.btn-gal{background:transparent;border:1px solid var(--auriu);color:var(--maro);animation:galPulse 2.1s ease-out infinite;}
.btn-gal:hover{background:var(--maro);border-color:var(--maro);color:var(--ivoire);animation-play-state:paused;}
@keyframes galPulse{
  0%{box-shadow:0 0 0 0 rgba(201,168,76,.45);}
  70%{box-shadow:0 0 0 14px rgba(201,168,76,0);}
  100%{box-shadow:0 0 0 0 rgba(201,168,76,0);}
}
.gal-index--curte{grid-template-columns:repeat(2,1fr);max-width:640px;margin:0 auto;column-gap:60px;}
.gal-index--curte .frame{max-width:260px;height:380px;border-radius:130px 130px 6px 6px;}
.gal-placeholder{display:grid;grid-template-columns:repeat(5,1fr);gap:0;}
.gal-placeholder-item{height:320px;max-width:220px;margin:22px auto 0;border-radius:110px 110px 6px 6px;border:1px dashed rgba(45,43,30,.25);background:rgba(45,43,30,.03);}

/* ---------- LIGHTBOX GALERIE ---------- */
.lightbox{
  position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  background:rgba(45,43,30,.94);opacity:0;visibility:hidden;transition:opacity .35s ease;padding:40px;
}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox-figure{position:relative;max-width:min(88vw,1100px);max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:18px;}
.lightbox-img{max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);opacity:0;transform:scale(.98);transition:opacity .3s ease,transform .3s ease;}
.lightbox-img.loaded{opacity:1;transform:scale(1);}
.lightbox-cap{font-family:'EB Garamond',serif;font-style:italic;color:var(--auriu-pal);font-size:1rem;text-align:center;}
.lightbox-close,.lightbox-nav{
  position:absolute;background:none;border:1px solid rgba(255,255,251,.3);color:var(--ivoire);
  cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease;border-radius:50%;
}
.lightbox-close:hover,.lightbox-nav:hover{border-color:var(--auriu);color:var(--auriu-pal);}
.lightbox-close{top:28px;right:28px;width:44px;height:44px;font-size:1.6rem;line-height:1;}
.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:52px;font-size:2rem;line-height:1;}
.lightbox-prev{left:24px;}
.lightbox-next{right:24px;}
@media(max-width:900px){
  .lightbox{padding:20px;}
  .lightbox-nav{width:42px;height:42px;font-size:1.6rem;}
  .lightbox-prev{left:8px;}
  .lightbox-next{right:8px;}
  .lightbox-close{top:16px;right:16px;width:38px;height:38px;font-size:1.3rem;}
}

/* ---------- SERVICII ---------- */
.servicii{padding-top:90px;padding-bottom:60px;position:relative;overflow:hidden;}
.serv-head{max-width:1320px;margin:0 auto 56px;display:flex;flex-direction:column;align-items:flex-start;}
.serv-head h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-top:14px;padding-bottom:26px;border-bottom:1px solid rgba(45,43,30,.16);}
.serv-head-intro{font-size:1.03rem;color:var(--oliv);line-height:1.75;max-width:100%;width:100%;margin-top:22px;}
.serv-head-intro + .serv-head-intro{margin-top:14px;}
.serv-list{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;max-width:1320px;margin:0 auto;position:relative;z-index:1;}
.serv-row{display:grid;grid-template-columns:236px 1fr;gap:30px;padding:38px 0;align-items:stretch;}
.serv-text{max-width:320px;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid rgba(45,43,30,.16);}
.serv-row:nth-last-child(-n+2) .serv-text{border-bottom:none;}
.serv-text h3{font-size:1.32rem;letter-spacing:.01em;margin-bottom:12px;line-height:1.25;}
.serv-text p{font-size:1.01rem;color:#5c564d;line-height:1.65;}
.serv-visual{display:flex;flex-direction:column;align-items:flex-start;gap:14px;}
.serv-visual .idx{font-family:'EB Garamond',serif;font-style:italic;color:var(--auriu);font-size:1.2rem;line-height:1;}
.serv-thumb{display:block;width:236px;height:236px;border-radius:6px;overflow:hidden;box-shadow:0 12px 26px -10px rgba(42,39,37,.4);}
.serv-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.92);}

.tarife-wrap{max-width:1320px;margin:84px auto 0;position:relative;z-index:1;}
.tarife-wrap .kicker{display:block;margin-bottom:20px;}
.tarife-intro{font-size:.91rem;color:var(--oliv);line-height:1.75;max-width:760px;margin-bottom:40px;}
.tarife-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.tarife-support-note{width:100%;margin-top:32px;padding-left:22px;border-left:1px solid var(--auriu);}
.tarife-support-note strong{display:block;font-family:'EB Garamond',serif;font-weight:500;font-size:1.35rem;color:var(--maro);margin-bottom:10px;}
.tarife-support-note span{display:block;width:100%;font-family:'Montserrat',sans-serif;font-weight:300;font-style:italic;font-size:1.03rem;line-height:1.8;color:#4a453f;}
table.tarife{width:100%;border-collapse:collapse;font-size:.97rem;}
table.tarife thead th{text-align:left;padding:14px 18px;font-weight:500;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oliv);border-bottom:1px solid rgba(45,43,30,.25);}
table.tarife tbody td{padding:18px;border-bottom:1px solid rgba(45,43,30,.14);}
table.tarife td.price{font-family:'EB Garamond',serif;font-size:1.05rem;color:var(--maro);}

.dotari-wrap{max-width:1320px;margin:0 auto 42px;position:relative;z-index:1;}
.dotari-label{font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;color:var(--oliv);margin-bottom:22px;}
.dotari-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dotari-video{max-width:1320px;margin:44px auto 76px;position:relative;z-index:1;}
.video-embed{position:relative;width:100%;padding-top:56.25%;overflow:hidden;border-radius:6px;box-shadow:0 20px 40px -24px rgba(42,39,37,.35);pointer-events:none;}
.video-embed iframe{position:absolute;top:50%;left:50%;width:120%;height:120%;transform:translate(-50%,-50%);border:0;}
.dotare{padding:32px 28px 34px;background:var(--ivoire);border:1px solid rgba(45,43,30,.1);border-radius:14px;transition:background .4s ease,border-color .4s ease;}
.dotare:hover{background:#fdfbf3;border-color:rgba(201,168,76,.35);}
.dotare-icon{display:block;height:56px;width:auto;margin-bottom:20px;opacity:.9;transition:transform .4s ease;}
.dotari-grid .dotare:nth-child(2) .dotare-icon{height:66px;}
.dotari-grid .dotare:nth-child(3) .dotare-icon{height:46px;margin-top:18px;margin-bottom:22px;}
.dotare:hover .dotare-icon{transform:translateY(-2px);}
.dotare b{display:block;font-family:'EB Garamond',serif;font-weight:500;font-size:1.18rem;color:var(--maro);margin-bottom:10px;letter-spacing:.01em;}
.dotare p{font-size:.94rem;color:#5c564d;line-height:1.75;}

/* ---------- REZERVARE / CALENDAR ---------- */
.rezervare{background:var(--maro);color:var(--ivoire);margin-top:60px;position:relative;overflow:hidden;}
/* Cele 4 waves din acest colț sunt asset-uri gata făcute în Canva de client — fiecare are deja
   fade-ul și decuparea corecte "coapte" în PNG, pe colțul din numele fișierului. Nu se mai aplică
   mask-image sau transform: se pun exact așa cum sunt, doar poziționate în colțul corespunzător. */
.rezervare .wave-img{
  opacity:1;width:520px;max-width:46vw;height:auto;
}
.rezervare .wave-tl{
  top:0;left:0;
  /* PNG-ul are câteva linii subțiri ("raze") care merg prea departe spre dreapta, spre interior —
     le tăiem cu un mask care estompează mai devreme partea dreaptă a imaginii. */
  -webkit-mask-image:linear-gradient(to right, black 50%, transparent 72%);
  mask-image:linear-gradient(to right, black 50%, transparent 72%);
}
.rezervare .wave-tr{top:0;right:0;transform:none;}
.rezervare .wave-bl{bottom:0;left:0;width:1150px;max-width:78vw;}
.rezervare .wave-br{bottom:0;right:0;transform:none;}
.rez-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1180px;margin:0 auto;align-items:start;padding:130px 56px;position:relative;z-index:1;}
.rez-left .kicker{color:var(--auriu-pal);}
.rez-left h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin:16px 0 24px;}
.rez-left p{color:rgba(255,255,251,.68);line-height:1.85;font-size:1rem;margin-bottom:36px;}
.wa-card{display:flex;align-items:center;gap:18px;border:1px solid var(--auriu);border-radius:4px;padding:24px;transition:border-color .35s ease;}
.wa-card:hover{border-color:var(--auriu);}
.wa-icon{width:42px;height:42px;flex-shrink:0;color:#25D366;}
.wa-card b{font-family:'EB Garamond',serif;font-size:1.08rem;display:block;}
.wa-card span{font-size:.8rem;color:rgba(255,255,251,.6);}

form{display:flex;flex-direction:column;gap:22px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--auriu-pal);}
.field label .field-hint{text-transform:none;letter-spacing:0;color:rgba(255,255,251,.4);}
.field input,.field select,.field textarea{background:transparent;border:none;border-bottom:1px solid rgba(255,255,251,.3);color:var(--ivoire);font-family:'Montserrat',sans-serif;font-size:1rem;padding:10px 2px;}
.field textarea{resize:vertical;min-height:70px;line-height:1.6;}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,251,.35);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--auriu);}
.field textarea:invalid:not(:placeholder-shown){border-color:rgba(201,96,76,.55);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
form .btn{margin-top:8px;align-self:flex-start;}

/* calendar de sloturi */
.slot-picker{margin-top:6px;}
.slot-status{font-size:.78rem;color:rgba(255,255,251,.55);min-height:18px;margin-top:4px;}
.slot-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.slot-btn{
  padding:9px 14px;font-size:.76rem;border:1px solid rgba(255,255,251,.3);color:var(--ivoire);
  background:transparent;cursor:pointer;transition:all .25s ease;font-family:'Montserrat',sans-serif;border-radius:4px;
}
.slot-btn:hover:not(:disabled){border-color:var(--auriu);color:var(--auriu-pal);}
.slot-btn.selected{background:var(--auriu);color:var(--maro);border-color:var(--auriu);}
.slot-btn:disabled{opacity:.28;cursor:not-allowed;text-decoration:line-through;}
.form-disabled{opacity:.4;pointer-events:none;}
.form-note{font-size:.72rem;color:var(--auriu-pal);margin-top:-6px;}

/* ---------- EVENIMENTE (ON HOLD) ---------- */
.evenimente-placeholder{
  max-width:1320px;margin:0 auto;border:1px dashed rgba(42,39,37,.2);
  padding:40px;text-align:center;display:none; /* activează când e gata linkul Luma */
}
.evenimente-placeholder .kicker{margin-bottom:12px;display:block;}
.evenimente-placeholder p{color:var(--oliv);font-size:.96rem;}

/* ---------- CONTACT ---------- */
.contact{padding:100px 56px;position:relative;overflow:hidden;}
.contact-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1180px;margin:0 auto;align-items:stretch;position:relative;z-index:1;}
.contact-right{display:flex;flex-direction:column;height:100%;}
.contact-left .kicker{display:block;margin-bottom:22px;}
.contact-left h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:20px;}
.contact-intro{font-size:1.03rem;color:var(--oliv);line-height:1.75;max-width:440px;margin-bottom:36px;}
.contact-wa{
  display:flex;align-items:center;gap:18px;text-align:left;
  border:1px solid rgba(201,168,76,.4);border-radius:14px;
  padding:22px 30px;margin-bottom:36px;max-width:400px;
  transition:border-color .35s ease,background .35s ease;
}
.contact-wa:hover{border-color:var(--auriu);background:#fdfbf3;}
.contact-wa .wa-icon{width:38px;height:38px;flex-shrink:0;color:#25D366;}
.contact-wa b{display:block;font-family:'EB Garamond',serif;font-weight:500;font-size:1.08rem;color:var(--maro);}
.contact-wa span{font-size:.78rem;color:var(--oliv);}
.contact-address{margin-bottom:36px;text-align:left;display:flex;flex-direction:column;flex:1;min-height:0;}
.contact-address .t{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--auriu);margin-bottom:10px;}
.contact-address p{font-size:.98rem;line-height:1.6;color:var(--antracit);margin-bottom:18px;}
.contact-map{
  display:block;position:relative;flex:1;min-height:220px;overflow:hidden;border-radius:14px;
  border:1px solid rgba(45,43,30,.12);box-shadow:0 16px 34px -22px rgba(42,39,37,.28);
  filter:grayscale(.85) sepia(.14) saturate(.5) contrast(1.05) brightness(1.02);
  transition:filter .5s ease,box-shadow .5s ease;
}
.contact-map:hover{filter:grayscale(0) sepia(0) saturate(1) contrast(1) brightness(1);box-shadow:0 20px 40px -20px rgba(42,39,37,.4);}
.contact-map iframe{
  position:absolute;top:-34px;left:0;width:100%;height:calc(100% + 80px);border:0;pointer-events:none;
}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left;max-width:440px;margin-bottom:36px;}
.contact-item .t{display:block;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--auriu);margin-bottom:10px;}
.contact-item p{font-size:.98rem;line-height:1.6;color:var(--antracit);}
.contact-item p a{color:var(--antracit);text-decoration:none;border-bottom:1px solid rgba(45,43,30,.25);transition:border-color .3s ease;}
.contact-item p a:hover{border-color:var(--auriu);}
.contact-item p a{border-bottom:1px solid rgba(45,43,30,.2);transition:border-color .3s ease;}
.contact-item p a:hover{border-color:var(--auriu);}
.contact-pending{font-style:italic;color:var(--oliv);opacity:.75;}
.contact-socials{display:flex;justify-content:flex-start;gap:22px;}
.contact-socials a{color:var(--oliv);transition:color .3s ease;}
.contact-socials a:hover{color:var(--auriu);}
.contact-socials svg{width:20px;height:20px;}

footer{background:var(--ivoire);padding:84px 56px 34px;position:relative;overflow:hidden;}
footer .wave-bl,footer .wave-br{opacity:1;width:480px;max-width:44vw;}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:56px;max-width:1080px;margin:0 auto 54px;position:relative;z-index:1;}
.foot-logo img{height:44px;width:auto;filter:none;margin-bottom:18px;}
.foot-logo p{font-size:.9rem;line-height:1.85;color:var(--oliv);max-width:320px;}
.foot-logo p .subtag-group:last-of-type{display:block;}
.foot-col h4{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--oliv);margin-bottom:18px;}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;font-size:.85rem;color:var(--oliv);}
.foot-col a:hover{color:var(--auriu);}
.foot-col ul.foot-nav-2col{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,auto);grid-auto-flow:column;column-gap:18px;row-gap:12px;}
.foot-bottom{max-width:1080px;margin:0 auto;padding-top:24px;border-top:1px solid rgba(45,43,30,.14);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.7rem;color:var(--oliv);position:relative;z-index:1;}
.foot-bottom a{color:var(--oliv);text-decoration:underline;text-underline-offset:2px;transition:color .3s ease;}
.foot-bottom a:hover{color:var(--auriu);}

@media(max-width:900px){
  header{padding:26px 24px;background:none;}
  header::after{display:none;}
  header.scrolled{padding:20px 24px;}
  .site-logo{left:24px;}
  nav.mainnav{display:none;}
  .nav-toggle{display:flex;}
  .header-phone--mobile{
    display:flex;align-items:center;gap:6px;position:absolute;left:50%;top:50%;
    transform:translate(-50%,-50%);color:var(--ivoire);font-family:'Montserrat',sans-serif;
    font-size:.78rem;letter-spacing:.01em;white-space:nowrap;z-index:41;text-shadow:0 2px 8px rgba(0,0,0,.3);
  }
  .header-phone--mobile svg{width:16px;height:16px;flex-shrink:0;}
  header.scrolled .header-phone--mobile{color:var(--maro);text-shadow:none;}
  .hero{padding-top:40px;}
  .hero-content{transform:translateY(-18px);}
  .scroll-cue{transform:translateY(-92px);}
  /* poza din hero are zone luminoase (fereastra) care taie contrastul textului alb pe mobil —
     îngroșăm puțin overlay-ul și adăugăm umbră pe text/butoane doar aici, desktop rămâne la fel */
  .hero-bg::after{background:linear-gradient(180deg, rgba(35,33,23,.78) 0%, rgba(35,33,23,.8) 55%, rgba(35,33,23,.9) 100%);}
  .mobile-break{display:block;}
  .btn-gal{white-space:normal;text-align:center;line-height:1.6;}
  .hero-subtag{margin-top:10px;}
  .hero-tagline{margin-top:24px;}
  .hero-subtag{display:flex;flex-direction:column;align-items:center;gap:2px;}
  .hero-subtag .subtag-sep{display:none;}
  .hero-subtag .subtag-group{display:block;white-space:nowrap;}
  .hero-subtag .subtag-group::before,.hero-subtag .subtag-group::after{content:'·';color:var(--auriu);margin:0 8px;}
  .foot-logo p{display:flex;flex-direction:column;align-items:center;gap:2px;}
  .foot-logo p .subtag-sep{display:none;}
  .foot-logo p .subtag-group{display:block;white-space:nowrap;}
  .foot-logo p .subtag-group::before,.foot-logo p .subtag-group::after{content:'·';color:var(--auriu);margin:0 8px;}
  .hero-ctas{margin-top:36px;gap:5px;}
  .scroll-cue{bottom:64px;gap:6px;}
  .scroll-cue .line{height:22px;}
  .hero-tagline{font-size:1.15rem;}
  .hero-content p.lede{font-size:1.05rem;font-weight:500;text-shadow:0 2px 14px rgba(0,0,0,.55);}
  .hero-ctas .btn{font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,.5);}
  .hero-ctas .btn:hover{text-shadow:none;}
  .scroll-cue{text-shadow:0 2px 10px rgba(0,0,0,.4);}
  section{padding:10px 24px 90px;}
  .dotari-video{margin:0 -24px 50px;max-width:none;}
  .video-embed{border-radius:0;box-shadow:none;}
  .despre-grid,.rez-grid,.contact-grid-2col{grid-template-columns:1fr;gap:44px;}
  .rez-grid{padding:90px 24px;}
  /* fundal foarte închis (maro) + text estompat = contrast slab pe mobil — pe desktop rămâne cum era */
  .rez-left p,.wa-card span,.slot-status,.field label .field-hint{color:var(--ivoire);}
  #bookingForm .kicker{color:var(--auriu-pal);}
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,251,.6);}
  .facts{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 48px;text-align:center;}
  .fact{padding:22px 0 0;text-align:center;}
  .gal-head{flex-direction:column;align-items:flex-start;gap:14px;}
  .gal-head p{text-align:left;}
  .gal-index,.gal-placeholder{grid-template-columns:repeat(2,1fr) !important;column-gap:20px !important;row-gap:0 !important;}
  .gal-group{padding-top:40px;}
  .plate-hide-mobile{display:none;}
  /* pe mobil nu există hover, deci pozele din galerie ar rămâne mereu gri —
     activăm culoarea progresiv, pe măsură ce fiecare poză intră în ecran la scroll */
  .plate img{transition:filter 2.2s ease,transform .8s ease;}
  .plate.in-view img{filter:grayscale(0) saturate(1);}
  .contact{padding:60px 24px;}
  .contact-grid{grid-template-columns:1fr;gap:0;}
  .contact-item{padding:15px 0;}
  .contact-item .t,.contact-address .t{margin-bottom:6px;font-size:.7rem;font-weight:500;}
  .contact-item p{text-align:left;padding-bottom:10px;border-bottom:1px solid rgba(201,168,76,.4);}
  .contact-item:last-child p{border-bottom:none;padding-bottom:0;}
  .contact-right{height:auto;}
  .contact-address{flex:none;}
  .contact-map{flex:none;height:180px;min-height:0;}
  .serv-list{grid-template-columns:1fr;}
  .serv-row{grid-template-columns:1fr;gap:18px;padding:24px 0;justify-items:center;}
  .serv-text{max-width:100%;align-items:center;text-align:center;padding-bottom:22px;}
  .serv-row:nth-last-child(-n+2) .serv-text{border-bottom:1px solid rgba(45,43,30,.16);}
  .serv-row:last-child .serv-text{border-bottom:none;}
  .serv-visual{flex-direction:column;align-items:center;gap:14px;}
  .serv-thumb{width:220px;height:220px;}
  .tarife-scroll{overflow-x:visible;}
  table.tarife thead{display:none;}
  table.tarife,table.tarife tbody,table.tarife tr,table.tarife td{display:block;width:100%;}
  table.tarife tr{
    margin-bottom:14px;padding:18px 20px;border:1px solid rgba(45,43,30,.14);
    border-radius:14px;
  }
  table.tarife td{padding:5px 0;border-bottom:none;display:flex;justify-content:space-between;align-items:baseline;font-size:.96rem;}
  table.tarife td:first-child{
    display:block;font-family:'EB Garamond',serif;font-size:1.05rem;color:var(--maro);
    padding:0 0 12px;margin-bottom:8px;border-bottom:1px solid rgba(45,43,30,.12);
  }
  table.tarife td:not(:first-child)::before{
    content:attr(data-label);color:var(--maro);font-weight:500;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  }
  table.tarife td.price{font-size:.96rem;}
  .dotari-grid{grid-template-columns:1fr;}
  .dotari-wrap{margin-bottom:50px;}
  .field-row{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;gap:36px;text-align:center;}
  .foot-logo img{margin:0 auto 18px;}
  .foot-logo p{margin:0 auto;}
  .tarife-wrap{margin-top:0;}
  .foot-col ul.foot-nav-2col{justify-content:center;max-width:360px;margin:0 auto;grid-auto-flow:row;grid-template-rows:auto;}
  .foot-col ul.foot-nav-2col .foot-contact-full{grid-column:1/-1;justify-self:center;margin-top:4px;}
  .foot-bottom{justify-content:center;text-align:center;flex-direction:column;align-items:center;gap:8px;}
  .statement{padding:55px 24px;}
  .statement::after{opacity:.72;background-image:linear-gradient(to right, rgba(255,255,251,.94) 0%, rgba(255,255,251,.68) 42%, rgba(255,255,251,.48) 75%, rgba(255,255,251,.48) 100%), url('../images/aristocrat-19-statement-bg.webp?v=2');}
  .statement p{font-size:1.55rem;}
  .statement p.statement-hook{font-size:1.1rem;margin-top:26px;}
  .statement .kicker.gold{color:#a6832e;text-shadow:0 1px 6px rgba(255,255,251,.75);}
  .statement .statement-cite{color:var(--maro);text-shadow:0 1px 6px rgba(255,255,251,.75);}
  .despre-scroll .pull{white-space:normal;font-size:1.15rem;max-width:520px;}
}
