/* ==========================================================================
   Outlet Mobilă Timișoara — foaie de stil comună
   Paletă și tipografie păstrate din identitatea existentă a site-ului.
   ========================================================================== */

:root{
  /* Culori — identitatea originală, cu un fundal mai luminos pentru aerisire */
  --walnut:#33261C;
  --walnut-2:#241B14;
  --walnut-3:#4A3B2D;
  --paper:#FCFAF6;
  --cream:#F8F3E9;
  --linen:#EFE7D8;
  --linen-2:#E4DAC5;
  --ink:#2A2119;
  --ink-soft:#5C4F3F;
  --ink-mute:#867863;
  --sage:#6E7B4F;
  --sage-dark:#545E3C;
  --clay:#A8502B;
  --clay-dark:#8A3F21;
  --clay-soft:#F4E6DE;
  --thread:#DED4BF;
  --thread-2:#C9BFA8;
  --gold:#C9A87E;

  /* Tipografie */
  --font-display:'Fraunces', Georgia, serif;
  --font-body:'Work Sans', system-ui, -apple-system, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, monospace;

  /* Ritm */
  --maxw:1240px;
  --gutter:clamp(20px, 4vw, 40px);
  --section-y:clamp(60px, 7vw, 108px);
  --radius:6px;
  --radius-lg:12px;

  /* Umbre discrete, calde */
  --shadow-sm:0 1px 2px rgba(51,38,28,.06), 0 2px 8px -4px rgba(51,38,28,.10);
  --shadow-md:0 4px 12px -6px rgba(51,38,28,.14), 0 18px 36px -22px rgba(51,38,28,.22);
  --shadow-lg:0 30px 70px -28px rgba(36,27,20,.45);

  --header-h:76px;
}

/* ===== Reset ============================================================= */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;padding:0;}

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
  -webkit-text-size-adjust:100%;
}
html,body{max-width:100%; overflow-x:clip;}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
@media (min-width:1100px){ body{font-size:17px;} }

img,video,svg,iframe{display:block; max-width:100%;}
img,video{height:auto;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:600;
  color:var(--walnut);
  line-height:1.12;
  letter-spacing:-.012em;
  text-wrap:balance;
}
h1{font-size:clamp(1.95rem, 1.25rem + 3.1vw, 3.4rem);}
h2{font-size:clamp(1.6rem, 1.2rem + 1.9vw, 2.5rem);}
h3{font-size:clamp(1.15rem, 1.02rem + .6vw, 1.5rem);}
h4{font-size:clamp(1.02rem, .97rem + .3vw, 1.18rem);}

p{text-wrap:pretty;}
a{color:inherit; text-decoration:none;}
ul,ol{padding-left:1.15em;}

button,input,select,textarea{font:inherit; color:inherit;}
button{background:none; border:none; cursor:pointer;}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2.5px solid var(--clay);
  outline-offset:2px;
  border-radius:2px;
}

/* ===== Layout ============================================================ */
.wrap{width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter);}
.wrap--narrow{max-width:860px;}
.section{padding-block:var(--section-y);}
.section--tight{padding-block:clamp(44px, 5vw, 72px);}
.section--cream{background:var(--cream); border-block:1px solid var(--thread);}
.section--dark{background:var(--walnut-2);}

.eyebrow{
  display:block;
  font-family:var(--font-mono);
  font-size:.75rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--sage-dark);
}
.section-head{max-width:660px; margin-bottom:clamp(32px, 4vw, 56px);}
.section-head h2{margin-top:14px;}
.section-head p{margin-top:16px; color:var(--ink-soft); font-size:1.03rem;}
.section-head--center{margin-inline:auto; text-align:center;}

.rule{height:1px; background:var(--thread); border:0;}

/* ===== Butoane =========================================================== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  min-height:52px;
  padding:.85em 1.7em;
  font-family:var(--font-body);
  font-size:.97rem;
  font-weight:600;
  letter-spacing:.005em;
  border-radius:4px;
  border:1.5px solid transparent;
  cursor:pointer;
  text-align:center;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn:active{transform:translateY(0);}
.btn--primary{background:var(--clay); color:var(--cream); border-color:var(--clay);}
.btn--primary:hover{background:var(--clay-dark); border-color:var(--clay-dark);}
.btn--dark{background:var(--walnut); color:var(--cream); border-color:var(--walnut);}
.btn--dark:hover{background:var(--walnut-2); border-color:var(--walnut-2);}
.btn--ghost{background:transparent; color:var(--walnut); border-color:var(--thread-2);}
.btn--ghost:hover{background:var(--walnut); color:var(--cream); border-color:var(--walnut);}
.btn--light{background:var(--cream); color:var(--walnut); border-color:var(--cream);}
.btn--light:hover{background:#fff; border-color:#fff;}
.btn--outline-light{background:transparent; color:var(--cream); border-color:rgba(248,243,233,.45);}
.btn--outline-light:hover{background:var(--cream); color:var(--walnut); border-color:var(--cream);}
.btn--sm{min-height:44px; padding:.6em 1.2em; font-size:.9rem;}
.btn--block{width:100%;}
.btn[disabled]{opacity:.6; cursor:not-allowed; transform:none;}

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

.link-arrow{
  display:inline-flex; align-items:center; gap:.45em;
  font-weight:600; font-size:.94rem; color:var(--clay);
}
.link-arrow svg{width:16px; height:16px; transition:transform .2s ease;}
.link-arrow:hover svg{transform:translateX(3px);}

/* ===== Header / navigație ================================================ */
.site-header{
  position:sticky; top:0; z-index:60;
  background:rgba(252,250,246,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--thread);
}
.site-nav{
  display:flex; align-items:center; gap:clamp(12px, 2vw, 28px);
  width:100%; max-width:var(--maxw); margin-inline:auto;
  padding:14px var(--gutter);
  min-height:var(--header-h);
}
.site-nav__logo{flex:0 0 auto; margin-right:auto;}
.site-nav__logo img{height:clamp(38px, 6vw, 50px); width:auto;}
.site-nav__links{display:flex; align-items:center; gap:clamp(16px, 2vw, 30px);}
.site-nav__links a{
  font-size:.93rem; font-weight:500; color:var(--walnut-3);
  padding:6px 0; position:relative; white-space:nowrap;
}
.site-nav__links a::after{
  content:''; position:absolute; left:0; right:100%; bottom:0; height:1.5px;
  background:var(--clay); transition:right .25s ease;
}
.site-nav__links a:hover{color:var(--walnut);}
.site-nav__links a:hover::after{right:0;}
.site-nav__phone{
  display:inline-flex; align-items:center; gap:.45em;
  font-family:var(--font-mono); font-size:.9rem; font-weight:500;
  color:var(--walnut); white-space:nowrap;
}
.site-nav__phone svg{width:15px; height:15px; color:var(--clay);}

/* Buton hamburger — vizibil doar pe ecrane mici */
.nav-burger{
  display:none;
  flex-direction:column; gap:5px;
  width:46px; height:46px;
  align-items:center; justify-content:center;
  border:1px solid var(--thread); border-radius:4px;
  flex:0 0 auto;
}
.nav-burger span{width:20px; height:1.8px; background:var(--walnut); border-radius:2px;}

@media (max-width:960px){
  .site-nav__links{display:none;}
  .nav-burger{display:flex;}
  .site-nav__cta{display:none;}
}
@media (max-width:560px){
  .site-nav__phone span{display:none;}
  .site-nav__phone{
    width:46px; height:46px; justify-content:center;
    border:1px solid var(--thread); border-radius:4px;
  }
  .site-nav__phone svg{width:19px; height:19px;}
}

/* ===== Sertar mobil ====================================================== */
.drawer{position:fixed; inset:0; z-index:120; display:none;}
.drawer[data-open]{display:block;}
.drawer__backdrop{position:absolute; inset:0; background:rgba(36,27,20,.5);}
.drawer__panel{
  position:absolute; top:0; left:0; bottom:0;
  width:min(330px, 86vw);
  background:var(--paper);
  box-shadow:0 0 40px rgba(36,27,20,.3);
  display:flex; flex-direction:column;
  transform:translateX(-100%);
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.drawer[data-open] .drawer__panel{transform:translateX(0);}
.drawer__head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 18px; border-bottom:1px solid var(--thread); flex:0 0 auto;
}
.drawer__head img{height:36px; width:auto;}
.drawer__close{
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  border-radius:4px; color:var(--walnut);
}
.drawer__close svg{width:20px; height:20px;}
.drawer__close:hover{background:var(--linen);}
.drawer__body{flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch;}
.drawer__label{
  display:block; padding:18px 20px 8px;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--ink-mute);
}
.drawer__list{list-style:none; padding:0; margin:0;}
.drawer__item{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  width:100%; text-align:left;
  padding:15px 20px; min-height:52px;
  font-size:1rem; font-weight:600; color:var(--walnut);
  border-bottom:1px solid var(--thread);
}
.drawer__item:hover,.drawer__item:focus-visible{background:var(--clay-soft); color:var(--clay-dark);}
.drawer__item .chev{color:var(--clay); font-size:1.1rem; line-height:1;}
.drawer__item--sub{font-weight:500; font-size:.94rem; color:var(--ink-soft); padding-left:20px;}
.drawer__foot{flex:0 0 auto; padding:18px 20px; border-top:1px solid var(--thread); background:var(--cream);}

/* ===== Hero ============================================================== */
.hero{padding-block:clamp(40px, 5vw, 74px) clamp(52px, 6vw, 88px);}
.hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(32px, 5vw, 68px);
  align-items:center;
}
.hero__copy>*+*{margin-top:20px;}
.hero h1{margin-top:16px; max-width:15ch;}
.hero h1 em{font-style:italic; font-weight:500; color:var(--clay);}
.hero__sub{font-size:clamp(1rem, .96rem + .35vw, 1.14rem); color:var(--ink-soft); max-width:46ch;}
.hero__trust{
  display:flex; flex-wrap:wrap; gap:14px 28px;
  padding-top:26px; margin-top:28px;
  border-top:1px solid var(--thread);
  list-style:none; padding-left:0;
}
.hero__trust li{display:flex; align-items:center; gap:.5em; font-size:.9rem; color:var(--ink-soft);}
.hero__trust svg{width:17px; height:17px; color:var(--sage); flex:0 0 auto;}
.hero__trust strong{color:var(--walnut); font-weight:600;}

/* Compoziție de imagini — asimetrică, curată */
.hero__gallery{
  display:grid;
  grid-template-columns:1.42fr 1fr;
  grid-template-rows:repeat(2, minmax(0,1fr));
  gap:14px;
  min-width:0;
}
.hero__gallery .shot{
  position:relative; margin:0;
  border-radius:var(--radius); overflow:hidden;
  background:var(--linen);
  box-shadow:var(--shadow-sm);
  width:100%; padding:0;
  transition:box-shadow .25s ease;
}
.hero__gallery .shot:hover{box-shadow:var(--shadow-md);}
.hero__gallery .shot--tall{grid-row:span 2; aspect-ratio:4/5;}
.hero__gallery .shot--wide{aspect-ratio:4/3;}
.hero__gallery .shot img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.hero__gallery .shot:hover img{transform:scale(1.035);}
.hero__badge{
  position:absolute; left:14px; bottom:14px; z-index:2;
  background:rgba(252,250,246,.95);
  border-radius:3px; padding:8px 12px;
  box-shadow:var(--shadow-sm);
  text-align:left;
}
.hero__badge .k{
  display:block; font-family:var(--font-mono); font-size:.62rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute);
}
.hero__badge .v{
  display:block; font-family:var(--font-display); font-weight:600;
  font-size:.95rem; color:var(--clay); margin-top:2px;
}
/* Zonă de click transparentă care acoperă toată fotografia din hero */
.shot__hit{
  position:absolute; inset:0; z-index:3;
  width:100%; height:100%;
  background:transparent; border:0;
  font-size:0; line-height:0; color:transparent;
  cursor:zoom-in;
}
.shot__hit:focus-visible{outline:2.5px solid var(--clay); outline-offset:-3px;}

@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr; gap:34px;}
  .hero h1{max-width:20ch;}
  .hero__gallery{grid-template-columns:1fr 1fr; grid-template-rows:auto;}
  .hero__gallery .shot--tall{grid-row:span 2; aspect-ratio:3/4;}
}
@media (max-width:520px){
  .hero__gallery{grid-template-columns:1fr 1fr;}
  .hero__gallery .shot--tall{grid-column:1 / -1; grid-row:auto; aspect-ratio:16/11;}
  .hero__gallery .shot--wide{aspect-ratio:1/1;}
}

/* ===== Bandă de argumente ================================================ */
.assurance{background:var(--walnut); color:var(--cream);}
.assurance__grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:0;
  padding-block:clamp(30px, 3.4vw, 46px);
}
.assurance__item{
  display:flex; gap:16px; align-items:flex-start;
  padding-inline:clamp(0px, 2.4vw, 34px);
  border-left:1px solid rgba(248,243,233,.14);
}
.assurance__item:first-child{border-left:0; padding-left:0;}
.assurance__item svg{width:26px; height:26px; color:var(--gold); flex:0 0 auto; margin-top:2px;}
.assurance__item h3{font-size:1.01rem; color:var(--cream); margin-bottom:5px;}
.assurance__item p{font-size:.88rem; color:#C4B8A2; line-height:1.55;}
@media (max-width:820px){
  .assurance__grid{grid-template-columns:1fr; gap:26px;}
  .assurance__item{border-left:0; padding-inline:0;}
}

/* ===== Categorii ========================================================= */
.cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap:clamp(16px, 2vw, 26px);
}
.cat-card{
  position:relative; display:flex; flex-direction:column;
  min-width:0;
  background:var(--cream);
  border:1px solid var(--thread);
  border-radius:var(--radius);
  overflow:hidden;
  text-align:left;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.cat-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--thread-2);}
.cat-card__media{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--linen);}
.cat-card__media img{width:100%; height:100%; object-fit:cover; transition:transform .55s ease;}
.cat-card:hover .cat-card__media img{transform:scale(1.05);}
.cat-card__tag{
  position:absolute; top:12px; left:12px;
  font-family:var(--font-mono); font-size:.65rem; letter-spacing:.11em; text-transform:uppercase;
  background:rgba(252,250,246,.94); color:var(--walnut);
  padding:5px 9px; border-radius:3px;
}
.cat-card__body{padding:22px clamp(18px,2vw,26px) 24px; display:flex; flex-direction:column; flex:1 1 auto;}
.cat-card__body p{font-size:.92rem; color:var(--ink-soft); margin-top:9px;}
.cat-card__foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  margin-top:18px; padding-top:15px;
  border-top:1px solid var(--thread);
}
.cat-card__price{font-family:var(--font-mono); font-size:.84rem; color:var(--clay); font-weight:500;}
.cat-card--feature{grid-column:span 2;}
.cat-card--feature .cat-card__media{aspect-ratio:16/9;}
@media (max-width:980px){ .cat-card--feature{grid-column:auto;} .cat-card--feature .cat-card__media{aspect-ratio:4/3;} }

/* Zonă de click extinsă pe toată cartela, păstrând un singur element focusabil */
.stretch::after{content:''; position:absolute; inset:0; z-index:2; border-radius:inherit;}
.stretch:focus-visible{outline:none;}
.cat-card:has(.stretch:focus-visible){outline:2.5px solid var(--clay); outline-offset:2px;}

/* ===== Grilă de produse ================================================== */
.prod-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 265px), 1fr));
  gap:clamp(16px, 2.2vw, 30px);
}
.prod-card{
  display:flex; flex-direction:column; min-width:0;
  background:var(--paper);
  border:1px solid var(--thread);
  border-radius:var(--radius);
  overflow:hidden;
  transition:box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
.prod-card:hover{box-shadow:var(--shadow-md); border-color:var(--thread-2); transform:translateY(-3px);}
.prod-card__media{
  position:relative; display:block; width:100%;
  aspect-ratio:4/3; overflow:hidden;
  background:var(--linen); border:0; padding:0;
  cursor:zoom-in;
}
.prod-card__media img{width:100%; height:100%; object-fit:cover; transition:transform .55s ease;}
.prod-card:hover .prod-card__media img{transform:scale(1.05);}
.prod-card__zoom{
  position:absolute; right:10px; bottom:10px;
  width:34px; height:34px; border-radius:50%;
  background:rgba(252,250,246,.93); color:var(--walnut);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:translateY(5px);
  transition:opacity .22s ease, transform .22s ease;
  pointer-events:none;
}
.prod-card__zoom svg{width:16px; height:16px;}
.prod-card:hover .prod-card__zoom,
.prod-card__media:focus-visible .prod-card__zoom{opacity:1; transform:translateY(0);}
@media (hover:none){ .prod-card__zoom{opacity:1; transform:none;} }
.prod-card__body{padding:18px 20px 20px; display:flex; flex-direction:column; flex:1 1 auto; gap:8px;}
.prod-card__body h3{font-size:1.05rem;}
.prod-card__meta{font-size:.85rem; color:var(--ink-soft); flex:1 1 auto;}
.prod-card__row{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  margin-top:6px; padding-top:14px; border-top:1px solid var(--thread);
}
.prod-card__price{font-family:var(--font-display); font-weight:600; font-size:1.08rem; color:var(--clay);}
.prod-card__price small{font-family:var(--font-body); font-weight:400; font-size:.72rem; color:var(--ink-mute); display:block;}
.pill{
  display:inline-block;
  font-family:var(--font-mono); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase;
  padding:4px 9px; border-radius:99px;
  background:var(--linen); color:var(--walnut-3);
}
.pill--stock{background:#E8EDDD; color:var(--sage-dark);}
.pill--order{background:var(--clay-soft); color:var(--clay-dark);}

/* ===== Secțiunea video ================================================== */
.showcase{
  display:grid;
  grid-template-columns:minmax(0, 400px) minmax(0, 1fr);
  gap:clamp(28px, 4.5vw, 62px);
  align-items:center;
}
.video-frame{
  position:relative; width:100%;
  aspect-ratio:9/16;
  max-height:min(78vh, 640px);
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--walnut-2);
  box-shadow:var(--shadow-md);
  border:0; padding:0;
  cursor:pointer;
  isolation:isolate;
}
.video-frame video{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
.video-frame__veil{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(36,27,20,.55) 0%, rgba(36,27,20,0) 42%);
  pointer-events:none;
}
.video-frame__play{
  position:absolute; z-index:2;
  left:50%; top:50%; transform:translate(-50%,-50%);
  width:clamp(60px, 12vw, 76px); aspect-ratio:1;
  border-radius:50%;
  background:rgba(252,250,246,.92);
  color:var(--clay);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 26px -8px rgba(36,27,20,.5);
  transition:transform .25s ease, background .25s ease;
  pointer-events:none;
}
.video-frame__play svg{width:38%; height:38%; margin-left:8%;}
.video-frame:hover .video-frame__play{transform:translate(-50%,-50%) scale(1.07); background:#fff;}
.video-frame__hint{
  position:absolute; z-index:2; left:16px; right:16px; bottom:16px;
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  color:var(--cream); font-size:.8rem;
  pointer-events:none;
}
.video-frame__hint .muted-tag{
  display:inline-flex; align-items:center; gap:.4em;
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  background:rgba(36,27,20,.6); padding:5px 9px; border-radius:99px;
  backdrop-filter:blur(3px);
}
.video-frame__hint svg{width:13px; height:13px;}
.showcase__copy>*+*{margin-top:18px;}
.showcase__list{list-style:none; padding:0; margin-top:24px; display:grid; gap:14px;}
.showcase__list li{display:flex; gap:12px; align-items:flex-start; font-size:.94rem; color:var(--ink-soft);}
.showcase__list svg{width:18px; height:18px; color:var(--sage); flex:0 0 auto; margin-top:3px;}
@media (max-width:860px){
  .showcase{grid-template-columns:1fr; gap:30px;}
  .video-frame{max-width:380px; margin-inline:auto; aspect-ratio:9/16;}
}

/* ===== Obiecții / încredere ============================================== */
.why-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap:1px; background:rgba(248,243,233,.13);
  border-radius:var(--radius); overflow:hidden;
}
.why-item{background:var(--walnut-2); padding:clamp(24px, 3vw, 36px) clamp(20px, 2.6vw, 34px); min-width:0;}
.why-item .q{
  font-family:var(--font-display); font-style:italic; font-weight:500;
  color:#D8B594; font-size:1rem; margin-bottom:14px;
}
.why-item h3{color:var(--cream); font-size:1.1rem; margin-bottom:9px;}
.why-item p{font-size:.9rem; color:#C4B8A2;}
.why-item .soon{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.09em; text-transform:uppercase; opacity:.75; font-weight:400;}
.section--dark .section-head h2{color:var(--cream);}
.section--dark .section-head p{color:#CBBFA9;}
.section--dark .eyebrow{color:var(--gold);}

/* ===== Statistici ======================================================== */
.stats{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap:clamp(24px, 3vw, 40px);
}
.stats__item{text-align:center; min-width:0;}
.stats__num{font-family:var(--font-display); font-weight:700; font-size:clamp(2.2rem, 1.6rem + 2.4vw, 3.2rem); color:var(--clay); line-height:1;}
.stats__label{font-size:.9rem; color:var(--ink-soft); margin-top:10px;}

/* ===== Bandă rate ======================================================== */
.rate-band{
  background:var(--sage); color:var(--cream);
  border-radius:var(--radius-lg);
  padding:clamp(28px, 3.6vw, 48px);
  display:flex; align-items:center; justify-content:space-between; gap:clamp(20px, 3vw, 40px);
  flex-wrap:wrap;
}
.rate-band h2{color:var(--cream); font-size:clamp(1.35rem, 1.1rem + 1.1vw, 1.85rem); max-width:22ch;}
.rate-band p{color:#E7EADD; font-size:.95rem; margin-top:10px; max-width:52ch;}
.rate-band__copy{flex:1 1 min(100%, 420px); min-width:0;}
.rate-band .soon{font-weight:500; opacity:.8; font-size:.72em;}

/* ===== Locație / hartă =================================================== */
.locate{
  display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(26px, 4vw, 52px); align-items:start;
}
@media (max-width:860px){ .locate{grid-template-columns:1fr;} }
.locate__facts{list-style:none; padding:0; margin-top:26px; display:grid; gap:18px;}
.locate__facts li{display:flex; gap:14px; align-items:flex-start;}
.locate__facts svg{width:19px; height:19px; color:var(--clay); flex:0 0 auto; margin-top:3px;}
.locate__facts .k{display:block; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.11em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:2px;}
.locate__facts .v{font-weight:600; color:var(--walnut);}
.locate__facts a.v:hover{color:var(--clay);}

.map-box{
  position:relative; width:100%;
  aspect-ratio:16/11;
  min-height:280px;
  border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--thread);
  background:var(--linen);
}
@media (max-width:600px){ .map-box{aspect-ratio:4/3;} }
.map-box iframe{width:100%; height:100%; border:0;}
.map-gate{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
  text-align:center; padding:clamp(20px, 4vw, 40px);
  background:
    linear-gradient(rgba(239,231,216,.82), rgba(239,231,216,.82)),
    repeating-linear-gradient(45deg, var(--linen) 0 14px, var(--linen-2) 14px 28px);
}
.map-gate svg{width:30px; height:30px; color:var(--clay);}
.map-gate h3{font-size:1.05rem;}
.map-gate p{font-size:.86rem; color:var(--ink-soft); max-width:40ch;}
.map-gate .btn-row{justify-content:center;}

/* ===== CTA final ========================================================= */
.cta-final{background:var(--clay); color:var(--cream); text-align:center;}
.cta-final h2{color:var(--cream);}
.cta-final .eyebrow{color:#F8DCC4;}
.cta-final p{color:#F6DFD1; margin:18px auto 30px; max-width:54ch; font-size:1.03rem;}
.cta-final .btn-row{justify-content:center;}
.cta-final__note{
  margin-top:24px; font-family:var(--font-mono); font-size:.72rem;
  letter-spacing:.06em; color:#FBE7D9; opacity:.85;
}

/* ===== Footer ============================================================ */
.site-footer{background:var(--walnut-2); color:#B7A88E; font-size:.9rem; padding-block:clamp(44px, 5vw, 68px) 26px;}
.site-footer a:hover{color:var(--cream);}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(3, minmax(0,1fr));
  gap:clamp(26px, 3vw, 44px);
  padding-bottom:clamp(30px, 3.5vw, 44px);
}
@media (max-width:900px){ .footer-grid{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width:540px){ .footer-grid{grid-template-columns:1fr;} }
.footer-brand img{height:44px; width:auto; margin-bottom:16px;}
.footer-brand p{font-size:.87rem; opacity:.85; max-width:34ch;}
.footer-col h2, .footer-col h3{
  font-family:var(--font-mono); font-size:.7rem; font-weight:500;
  letter-spacing:.13em; text-transform:uppercase; color:var(--gold);
  margin-bottom:14px;
}
.footer-col ul{list-style:none; padding:0; display:grid; gap:9px;}
.footer-col a{opacity:.88;}
.footer-addr{font-style:normal; display:grid; gap:9px;}
.footer-addr a{display:inline-flex; align-items:flex-start; gap:.5em; opacity:.88;}
.footer-addr svg{width:15px; height:15px; color:var(--gold); flex:0 0 auto; margin-top:4px;}

.footer-anpc{
  display:flex; flex-wrap:wrap; gap:10px;
  padding-block:22px;
  border-top:1px solid rgba(248,243,233,.1);
}
.footer-anpc__label{
  flex:1 1 100%;
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-mute); margin-bottom:2px;
}
.anpc-badge{
  display:inline-flex; align-items:center; gap:.5em;
  padding:9px 13px;
  border:1px solid rgba(248,243,233,.16);
  border-radius:4px;
  font-size:.78rem; font-weight:500; color:#CFC1A8;
  background:rgba(248,243,233,.03);
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.anpc-badge:hover{border-color:var(--gold); color:var(--cream); background:rgba(201,168,126,.1);}
.anpc-badge svg{width:15px; height:15px; color:var(--gold); flex:0 0 auto;}
.anpc-badge .sub{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.07em; opacity:.7; display:block;}

.footer-bottom{
  display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; justify-content:space-between;
  border-top:1px solid rgba(248,243,233,.1);
  padding-top:20px;
  font-size:.78rem; opacity:.72;
}
.footer-bottom nav{display:flex; flex-wrap:wrap; gap:8px 18px;}

.footer-credit{margin-top:14px; font-size:.72rem; opacity:.55;}
.footer-credit a{text-decoration:underline; text-underline-offset:2px;}

/* ===== Lightbox ========================================================== */
.lb{position:fixed; inset:0; z-index:200; display:none;}
.lb[data-open]{display:block;}
.lb__backdrop{position:absolute; inset:0; background:rgba(24,18,13,.93); backdrop-filter:blur(4px);}
.lb__stage{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:14px;
  padding:clamp(56px, 8vh, 84px) clamp(12px, 5vw, 76px) clamp(60px, 9vh, 88px);
  margin:0; pointer-events:none;
}
.lb__media{
  display:flex; align-items:center; justify-content:center;
  max-width:100%; max-height:100%; min-height:0;
  pointer-events:auto;
}
.lb__media img,
.lb__media video{
  max-width:100%;
  max-height:calc(100vh - clamp(150px, 22vh, 210px));
  width:auto; height:auto;
  object-fit:contain;
  border-radius:4px;
  background:#191310;
  box-shadow:var(--shadow-lg);
}
.lb__media video{max-height:calc(100vh - clamp(130px, 18vh, 190px));}
.lb__cap{
  pointer-events:auto;
  text-align:center; color:var(--cream);
  max-width:min(660px, 92vw);
  display:grid; gap:5px;
}
.lb__cap .count{font-family:var(--font-mono); font-size:.7rem; letter-spacing:.14em; color:var(--gold); text-transform:uppercase;}
.lb__cap .title{font-family:var(--font-display); font-size:clamp(1rem, .95rem + .4vw, 1.22rem); font-weight:600;}
.lb__cap .price{font-family:var(--font-mono); font-size:.85rem; color:#E9CFAE;}
.lb__cap .cta{margin-top:12px; justify-self:center;}

.lb__btn{
  position:absolute; z-index:3;
  display:flex; align-items:center; justify-content:center;
  color:var(--cream);
  background:rgba(248,243,233,.1);
  border:1px solid rgba(248,243,233,.2);
  border-radius:50%;
  backdrop-filter:blur(4px);
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.lb__btn:hover{background:rgba(248,243,233,.22); border-color:rgba(248,243,233,.4);}
.lb__btn svg{width:45%; height:45%;}
.lb__close{top:14px; right:14px; width:46px; height:46px;}
.lb__nav{top:50%; transform:translateY(-50%); width:52px; height:52px;}
.lb__nav:hover{transform:translateY(-50%) scale(1.06);}
.lb__prev{left:max(12px, 2vw);}
.lb__next{right:max(12px, 2vw);}
.lb[data-single] .lb__nav{display:none;}
.lb__dots{
  position:absolute; z-index:3; left:0; right:0; bottom:16px;
  display:flex; flex-wrap:wrap; justify-content:center; gap:7px;
  padding-inline:16px;
}
.lb__dots button{
  width:8px; height:8px; border-radius:99px;
  background:rgba(248,243,233,.32); border:0; padding:0;
  transition:width .2s ease, background .2s ease;
}
.lb__dots button[aria-current="true"]{width:22px; background:var(--gold);}
.lb[data-single] .lb__dots{display:none;}
@media (max-width:640px){
  .lb__nav{width:44px; height:44px;}
  .lb__prev{left:8px;} .lb__next{right:8px;}
  .lb__stage{padding-inline:8px;}
}

/* ===== Banner cookies =================================================== */
.cc{
  position:fixed; z-index:180;
  left:max(12px, 2vw); right:max(12px, 2vw); bottom:max(12px, 2vw);
  max-width:560px;
  background:var(--paper);
  border:1px solid var(--thread-2);
  border-radius:var(--radius-lg);
  box-shadow:0 24px 60px -20px rgba(36,27,20,.5);
  padding:clamp(20px, 3vw, 28px);
  display:none;
  animation:cc-in .35s cubic-bezier(.4,0,.2,1);
}
.cc[data-open]{display:block;}
@keyframes cc-in{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:none;}}
@media (prefers-reduced-motion:reduce){ .cc{animation:none;} }
.cc__head{display:flex; gap:12px; align-items:center; margin-bottom:10px;}
.cc__head svg{width:22px; height:22px; color:var(--clay); flex:0 0 auto;}
.cc__head h2{font-size:1.08rem;}
.cc__text{font-size:.87rem; color:var(--ink-soft);}
.cc__text a{color:var(--clay); font-weight:600; text-decoration:underline; text-underline-offset:2px;}
.cc__actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.cc__actions .btn{flex:1 1 auto; min-height:48px;}
.cc__actions .btn--text{
  flex:0 0 auto; min-height:48px; padding-inline:.6em;
  background:none; border:0; color:var(--ink-soft);
  font-size:.86rem; font-weight:600; text-decoration:underline; text-underline-offset:3px;
}
.cc__actions .btn--text:hover{color:var(--clay); transform:none;}
.cc__prefs{display:none; margin-top:18px; padding-top:16px; border-top:1px solid var(--thread);}
.cc__prefs[data-open]{display:block;}
.cc-opt{display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--thread);}
.cc-opt:last-of-type{border-bottom:0;}
.cc-opt input{
  width:20px; height:20px; margin-top:3px; flex:0 0 auto;
  accent-color:var(--sage); cursor:pointer;
}
.cc-opt input:disabled{cursor:not-allowed; opacity:.6;}
.cc-opt__txt strong{display:block; font-size:.9rem; color:var(--walnut); font-weight:600;}
.cc-opt__txt span{display:block; font-size:.8rem; color:var(--ink-soft); margin-top:2px;}
.cc-opt__txt .req{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.09em; text-transform:uppercase; color:var(--sage-dark);}
@media (max-width:480px){
  .cc__actions .btn{flex:1 1 100%;}
  .cc__actions .btn--text{flex:1 1 100%;}
}

/* Buton mic „Setări cookies” pentru refolosire în footer */
.cc-reopen{text-decoration:underline; text-underline-offset:3px; cursor:pointer; color:inherit;}

/* ===== Pagini de conținut / documente ==================================== */
.page-hero{padding-block:clamp(34px, 4vw, 60px) clamp(24px, 3vw, 40px); border-bottom:1px solid var(--thread);}
.page-hero h1{margin-top:14px; max-width:24ch;}
.page-hero p{margin-top:16px; font-size:1.03rem; color:var(--ink-soft); max-width:56ch;}
.page-hero__actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;}
.btn-row{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:4px;}
.crumbs{display:flex; flex-wrap:wrap; gap:6px; font-size:.8rem; color:var(--ink-mute); margin-bottom:6px;}
.crumbs a:hover{color:var(--clay);}
.crumbs span{opacity:.5;}

.doc{max-width:74ch; margin-inline:auto;}
.doc__meta{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.06em;
  color:var(--ink-mute); padding-bottom:22px; margin-bottom:30px;
  border-bottom:1px solid var(--thread);
}
.doc h2{font-size:clamp(1.22rem, 1.1rem + .55vw, 1.5rem); margin-top:44px; margin-bottom:14px;}
.doc h2:first-of-type{margin-top:0;}
.doc h3{font-size:1.05rem; margin-top:26px; margin-bottom:10px;}
.doc p, .doc li{color:var(--ink-soft); font-size:.97rem;}
.doc p+p{margin-top:14px;}
.doc ul, .doc ol{margin-top:12px; display:grid; gap:9px; padding-left:1.3em;}
.doc li::marker{color:var(--clay);}
.doc strong{color:var(--walnut); font-weight:600;}
.doc a:not(.btn){color:var(--clay); text-decoration:underline; text-underline-offset:2px; font-weight:500;}
.doc__note{
  background:var(--cream); border:1px solid var(--thread);
  border-left:3px solid var(--clay);
  border-radius:4px; padding:18px 20px; margin-top:24px;
}
.doc__note p{font-size:.9rem;}
.doc__toc{
  background:var(--cream); border:1px solid var(--thread);
  border-radius:var(--radius); padding:22px 24px; margin-bottom:36px;
}
.doc__toc h2{font-family:var(--font-mono); font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-mute); margin:0 0 12px;}
.doc__toc ol{margin:0; display:grid; gap:7px;}
.doc__toc a{color:var(--walnut); font-weight:500; font-size:.92rem; text-decoration:none;}
.doc__toc a:hover{color:var(--clay); text-decoration:underline;}

.doc code{
  font-family:var(--font-mono); font-size:.86em;
  background:var(--cream); border:1px solid var(--thread);
  border-radius:3px; padding:1px 5px; color:var(--walnut);
  word-break:break-word;
}
.doc em{font-style:italic;}

.tbl-wrap{overflow-x:auto; margin-top:18px; border:1px solid var(--thread); border-radius:var(--radius); max-width:100%;}
.tbl-wrap:focus-visible{outline:2px solid var(--clay); outline-offset:2px;}
table.doc-tbl{width:100%; border-collapse:collapse; font-size:.88rem; min-width:520px;}
table.doc-tbl th, table.doc-tbl td{padding:12px 14px; text-align:left; border-bottom:1px solid var(--thread); vertical-align:top;}
table.doc-tbl th{background:var(--cream); font-family:var(--font-mono); font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; color:var(--walnut-3); font-weight:500;}
table.doc-tbl tr:last-child td{border-bottom:0;}
table.doc-tbl td{color:var(--ink-soft);}

/* ===== Formulare ========================================================= */
.form-card{
  background:var(--cream); border:1px solid var(--thread);
  border-radius:var(--radius-lg);
  padding:clamp(24px, 3vw, 36px);
  max-width:560px;
}
.field{margin-bottom:16px; min-width:0;}
.field label{display:block; font-size:.82rem; font-weight:600; color:var(--walnut); margin-bottom:7px;}
.field input, .field select, .field textarea{
  width:100%; max-width:100%;
  padding:12px 14px; min-height:48px;
  font-family:var(--font-body); font-size:.97rem;
  border:1.5px solid var(--thread-2); border-radius:4px;
  background:#fff; color:var(--ink);
  transition:border-color .18s ease;
}
.field input:hover, .field select:hover, .field textarea:hover{border-color:var(--ink-mute);}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:2px solid var(--sage); outline-offset:0; border-color:var(--sage);
}
.field textarea{resize:vertical; min-height:88px;}
.field select{appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C4F3F' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 13px center; background-size:17px; padding-right:40px;}
.field-note{font-size:.78rem; color:var(--ink-mute); margin-top:6px;}
.form-note{font-size:.78rem; color:var(--ink-mute); margin-top:14px; text-align:center;}
.form-note a{color:var(--clay); text-decoration:underline; text-underline-offset:2px;}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

.alert{border-radius:4px; padding:14px 16px; margin-bottom:18px; font-size:.88rem; display:none;}
.alert[data-show]{display:block;}
.alert--error{background:#FBEDE7; border:1.5px solid #E0B4A0; color:#7A3C22;}
.alert--error a{color:#7A3C22; font-weight:600; text-decoration:underline;}
.state-success{display:none; text-align:center; padding:12px 0;}
.state-success[data-show]{display:block;}
.state-success .check{
  width:52px; height:52px; border-radius:50%;
  background:var(--sage); color:#fff;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 16px;
}
.state-success .check svg{width:24px; height:24px;}
.state-success p{color:var(--ink-soft); font-size:.95rem; margin-top:8px;}

/* Modal formular (dialog) */
.modal{position:fixed; inset:0; z-index:190; display:none;}
.modal[data-open]{display:block;}
.modal__backdrop{position:absolute; inset:0; background:rgba(36,27,20,.6); backdrop-filter:blur(3px);}
.modal__scroll{
  position:absolute; inset:0;
  display:flex; align-items:flex-start; justify-content:center;
  padding:clamp(16px, 4vh, 48px) max(12px, 3vw);
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.modal__box{
  position:relative;
  background:var(--paper);
  border-radius:var(--radius-lg);
  width:100%; max-width:480px;
  padding:clamp(26px, 3.4vw, 38px) clamp(20px, 3vw, 34px);
  box-shadow:var(--shadow-lg);
  margin:auto;
}
.modal__close{
  position:absolute; top:12px; right:12px;
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--walnut); opacity:.65;
}
.modal__close svg{width:18px; height:18px;}
.modal__close:hover{opacity:1; background:var(--linen);}
.modal__box h2{font-size:clamp(1.25rem, 1.1rem + .6vw, 1.55rem); margin-top:8px;}
.modal__sub{font-size:.9rem; color:var(--ink-soft); margin:10px 0 22px;}
.js-form{display:none;}
.js-form[data-active]{display:block;}
.chosen{
  background:#fff; border:1.5px solid var(--thread);
  border-left:3px solid var(--clay);
  border-radius:4px; padding:12px 14px; margin-bottom:18px;
}
.chosen .k{display:block; font-family:var(--font-mono); font-size:.63rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); margin-bottom:3px;}
.chosen .v{font-size:.94rem; font-weight:600; color:var(--walnut);}

/* ===== Animații la scroll ================================================ */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease;}
.reveal[data-in]{opacity:1; transform:none;}
.reveal:nth-child(2){transition-delay:.07s;}
.reveal:nth-child(3){transition-delay:.14s;}
.reveal:nth-child(4){transition-delay:.21s;}
.reveal:nth-child(5){transition-delay:.28s;}

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
/* Link „sari la conținut” — devine vizibil la navigarea cu tastatura */
.skip-link:focus{
  position:fixed; top:10px; left:10px; z-index:300;
  width:auto; height:auto; margin:0; clip:auto; overflow:visible;
  padding:12px 18px; border-radius:4px;
  background:var(--walnut); color:var(--cream);
  font-size:.9rem; font-weight:600;
}
body[data-locked]{overflow:hidden;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important; transition-duration:.01ms !important;}
  .reveal{opacity:1; transform:none;}
}

@media print{
  .site-header,.site-footer,.cc,.lb,.modal,.drawer,.map-box{display:none !important;}
  body{background:#fff; font-size:11pt;}
}
