/* ===== Testimoniale ===== */
.tcard{ display:grid; grid-template-columns: 1fr 1.6fr; gap: clamp(16px, 4vw, 36px); align-items:center }
.tcard__avatar{ margin:0; width:min(46vw, 380px); aspect-ratio:1/1; border-radius:50%; position:relative }
.tcard__avatar img{
  width:100%; height:100%; object-fit:cover; border-radius:50%;
  /* inel gradient ca în design */
  padding:16px; background:
    radial-gradient(closest-side, #fff 78%, transparent 79% 100%),
    conic-gradient(from 270deg, var(--sunrise), var(--blood));
  -webkit-mask: radial-gradient(closest-side, transparent 76%, #000 77%);
          mask: radial-gradient(closest-side, transparent 76%, #000 77%);
  box-shadow: 0 14px 36px color-mix(in srgb, var(--ink) 14%, transparent);
}
.tcard__body{}
.tcard__name{ margin:.2rem 0 0; font-weight:800; letter-spacing:-.01em; color:var(--ink) }
.tcard__role{ margin:.2rem 0 .6rem; color:var(--concrete) }
.t-quote{ margin:0; color:var(--ink) }

@media (max-width:900px){
  .tcard{ grid-template-columns: 1fr; }
  .tcard__avatar{ width:min(68vw, 360px); margin-inline:auto }
}

/* Swiper controls ton pe brand */
.swiper.testimonials .swiper-pagination-bullet{ background: var(--royal); opacity:.35 }
.swiper.testimonials .swiper-pagination-bullet-active{ opacity:1 }
.swiper-button-prev, .swiper-button-next{
  color: var(--royal);
  filter: drop-shadow(0 4px 10px color-mix(in srgb, var(--ink) 12%, transparent));
}
/* ===== Forminator x Ovidiu — Contact ===== */
.forminator-ui.forminator-custom--ov{
  --ov-ink: var(--ink);
  --ov-breeze: var(--breeze);
  --ov-royal: var(--royal);
  --ov-blood: var(--blood);
  --ov-radius: 12px;
}

.forminator-ui.forminator-custom--ov .forminator-row{
  display: grid; gap: 12px;
}
.forminator-ui.forminator-custom--ov .forminator-field{
  margin-bottom: 10px;
}

/* Etichete & ajutor */
.forminator-ui.forminator-custom--ov .forminator-label{
  font-weight: 600; color: var(--ov-ink); margin-bottom: 6px;
}

/* Inputs */
.forminator-ui.forminator-custom--ov input[type="text"],
.forminator-ui.forminator-custom--ov input[type="email"],
.forminator-ui.forminator-custom--ov input[type="tel"],
.forminator-ui.forminator-custom--ov select,
.forminator-ui.forminator-custom--ov textarea{
  width: 100%;
  border:1px solid var(--ov-breeze);
  border-radius: var(--ov-radius);
  padding: 12px 14px;
  font: inherit; color: var(--ov-ink);
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease;
  outline: none;
}
.forminator-ui.forminator-custom--ov textarea{ min-height: 140px; resize: vertical; }

.forminator-ui.forminator-custom--ov input:focus,
.forminator-ui.forminator-custom--ov select:focus,
.forminator-ui.forminator-custom--ov textarea:focus{
  border-color: var(--ov-royal);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ov-royal) 18%, transparent);
}

/* Mesaje eroare / succes */
.forminator-ui.forminator-custom--ov .forminator-error-message{
  color:#B00020; font-weight:600; margin-top:6px;
}
.forminator-ui.forminator-custom--ov .forminator-response-message{
  border:1px solid color-mix(in srgb, var(--ov-royal) 26%, #fff);
  background: color-mix(in srgb, var(--ov-royal) 6%, #fff);
  color: var(--ov-ink);
  border-radius: var(--ov-radius);
  padding: 12px 14px; margin: 8px 0;
}

/* Checkbox GDPR */
.forminator-ui.forminator-custom--ov .forminator-checkbox .forminator-checkbox-box{
  border-radius: 6px; border-color: var(--ov-breeze);
}
.forminator-ui.forminator-custom--ov .forminator-checkbox input:checked + i{
  background: linear-gradient(135deg, var(--sunrise), var(--blood));
  border-color: transparent;
}

/* Buton submit — folosește estetica .btn--sunset */
.forminator-ui.forminator-custom--ov .forminator-button{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height:44px; padding:.9rem 1.3rem; line-height:1; font-weight:800; letter-spacing:.01em;
  border:2px solid transparent; border-radius:999px;
  background: linear-gradient(135deg, var(--sunrise) 0%, var(--blood) 100%);
  color:#fff; text-decoration:none; cursor:pointer;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--blood) 22%, transparent);
  transition: box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.forminator-ui.forminator-custom--ov .forminator-button:hover{
  box-shadow: 0 12px 28px color-mix(in srgb, var(--blood) 28%, transparent);
}
.forminator-ui.forminator-custom--ov .forminator-button:focus-visible{
  outline:3px solid color-mix(in srgb, var(--ov-royal) 70%, transparent);
  outline-offset:2px; border-radius:14px;
}

/* Placeholder & linkuri din mesaj */
.forminator-ui.forminator-custom--ov ::placeholder{ color: color-mix(in srgb, var(--ov-ink) 50%, #fff) }
.forminator-ui.forminator-custom--ov a{ color: var(--ov-royal); text-decoration: underline }

/* Grid simplu pentru 2 coloane (nume+email) pe ecrane largi */
@media (min-width:760px){
  .forminator-ui.forminator-custom--ov .forminator-row--name-email{
    grid-template-columns: 1fr 1fr; gap: 14px;
  }
}
/* Bullets premium (check-like) */
.bullets{ margin:0; padding:0; list-style:none }
.bullets li{
  position:relative; padding-left:28px; margin:8px 0; color:var(--ink);
}
.bullets li::before{
  content:""; position:absolute; left:0; top:.45em;
  width:12px; height:12px; border-radius:3px;
  background: linear-gradient(135deg, var(--sunrise), var(--blood));
  box-shadow: 0 2px 6px color-mix(in srgb, var(--blood) 25%, transparent);
}

/* Teaser spacing on home */
.offer-teaser .card{ align-self:start }
.offer-teaser .btn--sunset{ margin-top:10px }
/* --- Footer & newsletter separators fix --- */
.newsletter { border-bottom: 0 !important; box-shadow: none !important; }
.footer__grid { border-top: 0 !important; }
.footer { box-shadow: none; }

/* Logo styling */
.footer .custom-logo,
.footer-logo{
  height: 42px;
  max-width: 240px;
  width: auto;
  display:block;
  filter: drop-shadow(0 0 0 transparent);
}
.footer .brand{ display:inline-flex; align-items:center; gap:10px }

/* Fade separator (opțional, subtil) */
.footer::before{
  content:""; display:block; height:16px; margin-top:-16px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), transparent);
}
/* ===== Newsletter bar ===== */
.newsletter{
  background: color-mix(in srgb, var(--royal) 82%, #fff 0%);
  color:#fff;
  padding: clamp(26px,4vw,40px) 0;
  border-bottom: 1px solid color-mix(in srgb, #fff 8%, transparent);
}
.newsletter__grid{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap: clamp(16px, 3vw, 40px);
  align-items:center;
}
.newsletter .overline{
  margin:0; letter-spacing:.12em; text-transform:uppercase; opacity:.9; font-weight:800;
}
.newsletter h2{
  margin:.25rem 0 0; font-weight:800; letter-spacing:-.02em;
  font-size: clamp(22px, 3.4vw, 36px);
  color:#fff;
}
.newsletter__form{
  display:grid; grid-template-columns: 1fr auto; gap:12px; align-items:center;
}
.newsletter__form input{
  width:100%; height:52px; border-radius:999px; border:2px solid rgba(255,255,255,.75);
  background:#fff; padding:0 18px; font:inherit; outline:none;
}
.newsletter .nl-btn{
  height:52px; border-radius:999px; padding:0 26px; font-weight:800;
}

/* ===== Footer ===== */
.footer{
  --footerTop: color-mix(in srgb, var(--royal) 88%, var(--ink) 12%);
  --footerBot: color-mix(in srgb, var(--ink) 86%, black 0%);
  background:
    radial-gradient(160% 120% at 50% 0%, rgba(255,255,255,.08) 0%, transparent 60%),
    linear-gradient(180deg, var(--footerTop), var(--footerBot));
  color:#fff;
  padding-top: 26px;
}
.footer__grid{
  display:grid;
  grid-template-columns: 1.2fr .9fr .9fr .9fr;
  gap: clamp(18px,3vw,42px);
  padding: 24px 0 12px;
  border-top: 1px solid color-mix(in srgb, #fff 10%, transparent);
}
.footer__title{
  margin:0 0 10px; font-weight:800; letter-spacing:.01em;
  color:#fff;
}
.footer__links{ list-style:none; margin:0; padding:0; display:grid; gap:8px }
.footer__links a{
  color: rgba(255,255,255,.92) !important;
  text-decoration:none;
  transition: color .18s ease, transform .18s ease, text-shadow .18s ease;
}
.footer__links a:hover{
  color: color-mix(in srgb, #fff 98%, var(--sunny) 0%) !important;
  text-shadow: 0 0 1px rgba(255,255,255,.35);
  transform: translateX(2px);
}

/* Mail + buton */
.footer__mail{
  color:#fff !important;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--sunny) 64%, transparent);
  text-underline-offset: 3px;
}
.footer-cta{ margin-top:12px; display:inline-flex }

/* Brand + social */
.footer__brand .site-name{ color:#fff; font-weight:800 }
.footer__brand .t-sunny{ color: var(--sunny) }
.footer__social{ display:flex; gap:14px; margin-top:14px }
.footer__social .soc{
  width:40px; height:40px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.35); color:#fff; text-decoration:none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.footer__social .soc:hover{
  transform: translateY(-2px);
  background: color-mix(in srgb, var(--sunny) 20%, transparent);
  border-color: rgba(255,255,255,.65);
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

/* Bottom strip */
.footer__bottom{
  border-top:1px solid color-mix(in srgb, #fff 10%, transparent);
  margin-top: 16px;
  padding: 12px 0 24px;
}
.footer__bottom p{ margin:0; color:rgba(255,255,255,.85) }

/* ===== Footer link locks (înlătură roșul moștenit) ===== */
.footer a:link,
.footer a:visited,
.footer a:hover,
.footer a:focus,
.footer a:active{
  -webkit-text-fill-color: currentColor;
}

/* ===== Responsive ===== */
@media (max-width: 1060px){
  .footer__grid{
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 720px){
  .newsletter__grid{ grid-template-columns: 1fr; }
  .newsletter__form{ grid-template-columns: 1fr; }
  .footer__grid{ grid-template-columns: 1fr; }
  .footer__brand{ order:-1 }
}
/* ===== Book hero (Bani & Libertate) ===== */
.book-hero{
  position:relative; overflow:hidden;
  padding: clamp(56px, 8vw, 100px) 0;
  color:#fff;
  background:
    radial-gradient(120% 140% at 85% 10%, rgba(0,0,0,.25) 0%, transparent 60%),
    radial-gradient(180% 140% at -10% 120%, rgba(255,255,255,.06) 0%, transparent 60%),
    linear-gradient(180deg, color-mix(in srgb, var(--blood) 94%, #000 0%) 0%,
                           color-mix(in srgb, var(--blood) 78%, #000 0%) 100%);
}

.book-wrap{
  display:grid; align-items:center; gap: clamp(20px, 3vw, 40px);
  grid-template-columns: 1.1fr 0.9fr;
}

.book-copy .overline{
  margin:0 0 6px; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
  color: color-mix(in srgb, #fff 86%, var(--sunny) 0%);
  opacity:.9;
}

.book-title{
  margin:.2rem 0 .8rem;
  font-size: clamp(28px, 5.6vw, 56px);
  line-height: 1.05; letter-spacing:-.02em; font-weight:800;
  color:#fff;
  text-shadow: 0 2px 24px rgba(0,0,0,.25);
}

.book-desc{
  margin:0 0 18px; max-width: 58ch;
  color: color-mix(in srgb, #fff 92%, var(--breeze) 0%);
  opacity:.95;
}

.book-cta .btn--ghost-light{
  /* pe fundal închis: bordură + text alb, cu wipe subtil pe hover */
  --ghostBorder: rgba(255,255,255,.85);
  color:#fff !important; border-color: var(--ghostBorder); background: transparent;
}
.btn--ghost-light::before{ background: linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.06)); }
.btn--ghost-light:hover{ color:#fff !important; }

.book-badges{ display:flex; align-items:center; gap:18px; margin-top:18px; opacity:.95 }
.book-badges img{ display:block; height:34px; width:auto }
.book-badges .qr{ height:64px; filter: drop-shadow(0 6px 12px rgba(0,0,0,.25)); }
.book-badges .publisher{ opacity:.9 }

.book-visual{
  display:flex; justify-content:flex-end; align-items:flex-end;
  transform: translate3d(0,0,0);
}
.book-visual img{
  width: min(42vw, 540px); height:auto; object-fit:contain;
  filter: drop-shadow(0 22px 46px rgba(0,0,0,.35));
  transform: perspective(900px) rotateY(-6deg) rotateZ(0.2deg);
  transition: transform .5s ease;
}
.book-visual img:hover{
  transform: perspective(900px) rotateY(-3deg) rotateZ(0deg) translateY(-2px);
}

/* Responsive */
@media (max-width: 1024px){
  .book-wrap{ grid-template-columns: 1fr; }
  .book-visual{ justify-content:center; order:-1; margin-bottom: 16px }
  .book-visual img{ width:min(78vw, 520px) }
  .book-desc{ max-width: 64ch }
}
@media (max-width: 560px){
  .book-badges{ gap:12px }
  .book-badges .qr{ height:56px }
  .book-visual img{ width:min(88vw, 480px) }
}
/* ===== Newsletter band – layout & culori în paleta brand ===== */
.nl-band{
  background: var(--royal);
  color:#fff;
  padding: 46px 0;
}
.nl-wrap{
  display:grid;
  grid-template-columns: 1fr 2fr;
  align-items:center;
  gap: 20px;
}
.nl-title .overline{
  margin:0; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  opacity:.9; color:#E9EEF6;
}
.nl-title h3{
  margin:.2rem 0 0; font-size: clamp(22px, 2.6vw, 28px);
  color:#fff; letter-spacing:-.01em;
}
.nl-form{
  display:grid; grid-template-columns: 1fr auto; gap:12px;
}
.nl-form input{
  width:100%; padding: 14px 16px; border-radius: 999px;
  border: 2px solid color-mix(in srgb, var(--breeze) 70%, white);
  background:#fff; color: var(--ink); font: inherit;
  outline: none;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.nl-form input:focus{
  border-color: var(--sunny);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--sunny) 28%, transparent);
}
.nl-form .btn--sunset{
  padding: .95rem 1.4rem; border: 2px solid #fff;
  box-shadow: 0 4px 14px color-mix(in srgb, var(--blood) 20%, transparent);
}

/* ===== Footer – gradient + coloane + accente ===== */
.site-footer{
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--royal) 86%, #000 0%) 0%,
                           color-mix(in srgb, var(--royal) 65%, #000 0%) 44%),
    radial-gradient(120% 120% at 50% 100%, color-mix(in srgb, var(--blood) 26%, transparent) 0%, transparent 70%);
  color:#fff;
}
.footer-top{
  height: 2px;
  background: linear-gradient(90deg, var(--sunrise), var(--blood));
  opacity:.9;
}
.footer-grid{
  display:grid; gap: 28px;
  grid-template-columns: 1.15fr 1fr 1fr 1fr;
  padding: 34px 0 22px;
}
.footer-brand .tagline{ margin: 6px 0 14px; opacity:.9 }
.socials{ display:flex; gap:12px }
.socials a{
  width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid color-mix(in srgb, #fff 35%, transparent);
  color:#fff; text-decoration:none; transition: transform .12s ease, background-color .18s ease, border-color .18s ease;
}
.socials a:hover{ transform: translateY(-1px); background: color-mix(in srgb, #fff 10%, var(--royal)); border-color:#fff }

.footer-col h4, .footer-cta h4{ margin:0 0 10px; font-weight:800; color:#fff }
.footer-col ul{ list-style:none; padding:0; margin:0; display:grid; gap:8px }
.footer-col a{ color:#fff; text-decoration:none; opacity:.92 }
.footer-col a:hover{ text-decoration:underline; opacity:1 }

.footer-cta p{ margin:0 0 12px }
.footer-cta .email{ color:#fff; text-decoration:underline; text-underline-offset:3px }
.footer-cta .btn--sunset{ margin-top:6px }

.footer-bottom{
  border-top:1px solid color-mix(in srgb, #fff 18%, transparent);
  padding: 14px 0 28px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  color: color-mix(in srgb, #fff 86%, black 0%);
  opacity:.95;
}

/* ===== Responsive footer/newsletter ===== */
@media (max-width:900px){
  .nl-wrap{ grid-template-columns: 1fr; gap: 14px }
  .nl-form{ grid-template-columns: 1fr; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width:640px){
  .footer-grid{ grid-template-columns: 1fr; }
  .footer-bottom{ flex-direction: column; align-items:flex-start }
  .nl-band{ padding: 38px 0 }
}

/* contrast pe footer links/butoane */
.site-footer a[class*="btn--"]{ color:#fff !important }
/* Logo explicit: vizibil mereu în header și footer */
.site-logo {
  max-width: 140px;
  height: auto;
  display: block;
}
/* =========================================================
   OVIDIU THEME — main.css (brand-only, stable, no .btn base)
   Palette: Sunny #FFC145 · Sunrise #F08C2E · Blood #D6452E
            Royal #2E4A9E · Concrete #6B7280 · Breeze #E9EEF6
            Ink #0F172A
   ========================================================= */

/* ---------- Brand tokens ---------- */
:root{
  --sunny:#FFC145; --sunrise:#F08C2E; --blood:#D6452E;
  --royal:#2E4A9E; --concrete:#6B7280; --breeze:#E9EEF6; --ink:#0F172A;

  --radius:16px; --gap:24px; --container:1200px;

  --shadow-sm: 0 6px 16px color-mix(in srgb, var(--ink) 10%, transparent);
  --shadow-md: 0 10px 28px color-mix(in srgb, var(--ink) 16%, transparent);
}

/* ---------- Base / Reset ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.55; color:var(--ink); background:#fff;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--blood);text-decoration:none}
a:hover{text-decoration:underline}
.muted{color:var(--concrete)}
:focus-visible{outline:3px solid var(--royal);outline-offset:2px;border-radius:6px}

/* ---------- Layout ---------- */
.container{max-width:var(--container);margin-inline:auto;padding:0 20px}
.section{padding:72px 0}
.section-title{margin:0 0 18px;font-size:clamp(24px,2.6vw,36px);font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.grid{display:grid;gap:var(--gap)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* =========================================================
   HEADER / NAV (desktop)
   ========================================================= */
.site-header{
  position:sticky; top:0; z-index:50;
  background:#fff; border-bottom:1px solid var(--breeze);
  backdrop-filter:saturate(180%) blur(6px);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0; gap:24px;
}
.brand{display:flex; align-items:center; gap:10px}
.brand .site-name{font-weight:800; color:var(--royal); letter-spacing:-.02em}

.nav-wrap{display:flex; align-items:center; gap:28px}
.nav{display:block}
.nav .menu{display:flex; gap:22px; list-style:none; margin:0; padding:0}

/* Nav links → “pill” premium */
.nav .menu > li > a{
  position:relative;
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:12px;
  color:var(--concrete); text-decoration:none;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.nav .menu > li > a:hover{
  background: color-mix(in srgb, var(--breeze) 70%, white);
  color: var(--ink);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--ink) 8%, transparent);
}
/* Accent bar la hover */
.nav .menu > li > a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:-6px;
  height:2px; border-radius:2px;
  background: linear-gradient(90deg, var(--sunrise), var(--blood));
  transform: scaleX(0); transform-origin:left; transition: transform .18s ease;
}
.nav .menu > li > a:hover::after{ transform: scaleX(1) }
/* Pagina activă */
.nav .menu > li.current-menu-item > a,
.nav .menu > li.current_page_item > a{
  color:#fff; background: var(--royal);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--royal) 26%, transparent);
}
.nav .menu > li.current-menu-item > a::after,
.nav .menu > li.current_page_item > a::after{ height:3px; transform:none }

/* CTA vizibil pe desktop */
.header-cta{ display:inline-flex }

/* =========================================================
   BURGER & MOBILE DRAWER
   ========================================================= */
.burger{ display:none } /* desktop hidden */

@media (max-width:900px){
  .nav{ display:none }
  .header-cta{ display:none }
  .burger{
    display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:12px; border:1px solid var(--breeze);
    background:#fff; cursor:pointer;
    transition: box-shadow .18s ease, transform .12s ease;
  }
  .burger:hover{ box-shadow:0 6px 18px color-mix(in srgb, var(--ink) 10%, transparent) }
}

/* icon burger */
.burger-box{ position:relative; width:22px; height:16px }
.burger-inner,
.burger-inner::before,
.burger-inner::after{
  position:absolute; left:0; right:0; height:2px; border-radius:2px; background:var(--ink); content:"";
  transition: transform .18s ease, opacity .18s ease, top .18s ease, bottom .18s ease;
}
.burger-inner{ top:50%; transform:translateY(-50%) }
.burger-inner::before{ top:-7px }
.burger-inner::after{ bottom:-7px }
/* activ (X) */
body.nav-open .burger-inner{ background:transparent }
body.nav-open .burger-inner::before{ top:0; transform:rotate(45deg) }
body.nav-open .burger-inner::after{ bottom:0; transform:rotate(-45deg) }

/* Drawer */
.mobile-drawer{ position:fixed; inset:0; z-index:100; pointer-events:none }
.mobile-drawer__overlay{
  position:absolute; inset:0;
  background: color-mix(in srgb, var(--ink) 35%, transparent);
  backdrop-filter: blur(2px);
  opacity:0; transition: opacity .2s ease; pointer-events:none;
}
.mobile-drawer__panel{
  position:absolute; right:0; top:0; height:100%; width:min(92vw, 380px);
  background:
    radial-gradient(120% 160% at 0% 0%, color-mix(in srgb, var(--breeze) 86%, white) 0%, transparent 70%),
    linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--breeze) 60%, white) 100%);
  border-left:1px solid var(--breeze);
  box-shadow: -24px 0 48px color-mix(in srgb, var(--ink) 18%, transparent);
  transform: translateX(100%);
  transition: transform .24s cubic-bezier(.2,.7,.2,1);
  display:flex; flex-direction:column; gap:16px;
  padding:18px 18px 24px;
}
/* active */
body.nav-open .mobile-drawer{ pointer-events:auto }
body.nav-open .mobile-drawer__overlay{ opacity:1; pointer-events:auto }
body.nav-open .mobile-drawer__panel{ transform: translateX(0) }

/* conținut drawer */
.mobile-drawer__header{
  display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px;
}
.drawer-close{
  width:40px; height:40px; border-radius:12px; border:1px solid var(--breeze);
  background:#fff; font-size:24px; line-height:1; cursor:pointer;
  transition: box-shadow .18s ease;
}
.drawer-close:hover{ box-shadow:0 6px 18px color-mix(in srgb, var(--ink) 10%, transparent) }

.mobile-nav .mobile-menu{
  list-style:none; margin:8px 0 0; padding:0; display:flex; flex-direction:column; gap:6px;
}
.mobile-nav .mobile-menu > li > a{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 14px; border-radius:12px; color:var(--ink);
  background: color-mix(in srgb, var(--breeze) 48%, white);
  border:1px solid var(--breeze);
  text-decoration:none; font-weight:600;
  transition: background-color .18s ease, box-shadow .18s ease, transform .12s ease, color .18s ease;
}
.mobile-nav .mobile-menu > li > a:hover{
  background: color-mix(in srgb, var(--breeze) 72%, white);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--ink) 12%, transparent);
  transform: translateY(-1px);
}
/* activ */
.mobile-nav .mobile-menu > li.current-menu-item > a,
.mobile-nav .mobile-menu > li.current_page_item > a{
  color:#fff; background: var(--royal); border-color: transparent;
  box-shadow: 0 12px 22px color-mix(in srgb, var(--royal) 30%, transparent);
}
/* CTA din drawer */
.mobile-cta{ display:flex; flex-direction:column; gap:10px; margin-top:auto }
.mobile-cta .btn--sunset,
.mobile-cta .btn--navy,
.mobile-cta .btn--sunset-outline,
.mobile-cta .btn--navy-outline{ width:100%; text-align:center }

/* No-scroll când drawer e deschis */
body.nav-open{ overflow:hidden }

/* =========================================================
   BUTTONS (brand-only, stable hover) — NO .btn base
   ========================================================= */

/* Anti-conflict: link-urile globale NU afectează butoanele */
a:not([class*="btn--"]){ color:var(--blood); }
a:not([class*="btn--"]):hover{ text-decoration:underline; }

/* Stările link-ului pe butoane — hard lock */
a.btn--sunset:link, a.btn--sunset:visited, a.btn--sunset:hover, a.btn--sunset:focus, a.btn--sunset:active,
a.btn--navy:link,   a.btn--navy:visited,   a.btn--navy:hover,   a.btn--navy:focus,   a.btn--navy:active{ color:#fff !important; -webkit-text-fill-color:#fff; }
a.btn--sunset-outline:link, a.btn--sunset-outline:visited, a.btn--sunset-outline:focus, a.btn--sunset-outline:active{ color:var(--blood) !important; -webkit-text-fill-color:var(--blood); }
a.btn--navy-outline:link,   a.btn--navy-outline:visited,   a.btn--navy-outline:focus,   a.btn--navy-outline:active{ color:var(--royal) !important; -webkit-text-fill-color:var(--royal); }

/* Reset intern: copiii nu captează hover separat */
.btn--sunset *, .btn--navy *, .btn--sunset-outline *, .btn--navy-outline *{ color:inherit !important; pointer-events:none }

/* Bază comună */
.btn--sunset, .btn--navy, .btn--sunset-outline, .btn--navy-outline{
  min-height:44px; padding:.9rem 1.3rem; line-height:1;
  border-width:2px; border-radius:999px; border-style:solid; box-sizing:border-box;
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem; white-space:nowrap;
  font-weight:800; letter-spacing:.01em;
  transition: box-shadow .18s ease, transform .18s ease, background .18s ease, color .18s ease;
  filter:none !important; backface-visibility:hidden; transform:translateZ(0); will-change:box-shadow,transform;
  position:relative; overflow:hidden;
}

/* Primar – Sunset */
.btn--sunset{
  background: linear-gradient(135deg, var(--sunrise) 0%, var(--blood) 100%);
  color:#ffffff00; border-color:transparent; box-shadow:var(--shadow-sm);
}
.btn--sunset:hover{ box-shadow: 0 12px 28px color-mix(in srgb, var(--blood) 28%, transparent); transform:none; }

/* Secundar – Navy */
.btn--navy{
  background: linear-gradient(135deg, color-mix(in srgb, var(--royal) 90%, white 10%) 0%, var(--royal) 100%);
  color:#ffffff00; border-color:transparent; box-shadow:0 6px 16px color-mix(in srgb, var(--royal) 22%, transparent);
}
.btn--navy:hover{ box-shadow: 0 12px 28px color-mix(in srgb, var(--royal) 28%, transparent); transform:none; }

/* Outline-uri (cu wipe animat) */
.btn--sunset-outline{ background:#fff; color:var(--blood); border-color:var(--blood); box-shadow:none; isolation:isolate }
.btn--navy-outline{   background:#fff; color:var(--royal); border-color:var(--royal); box-shadow:none; isolation:isolate }

.btn--sunset-outline::before, .btn--navy-outline::before{
  content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1;
  transform:scaleX(0); transform-origin:left; transition:transform .28s ease;
}
.btn--sunset-outline::before{ background: linear-gradient(135deg, var(--sunrise), var(--blood)); }
.btn--navy-outline::before{   background: var(--royal); }

.btn--sunset-outline:hover::before, .btn--navy-outline:hover::before{ transform:scaleX(1) }
.btn--sunset-outline:hover, .btn--navy-outline:hover{ color:#fff !important; border-color:transparent }

/* Micro-anim: shimmer + breath */
@keyframes btn-shimmer{ to{ transform:translateX(130%) } }
@keyframes btn-breath{ 0%{transform:translateZ(0) scale(1)} 50%{transform:translateZ(0) scale(1.015)} 100%{transform:translateZ(0) scale(1)} }

.btn--sunset::before, .btn--navy::before, .btn--sunset-outline::before, .btn--navy-outline::before{
  /* deja definit pentru outline; pentru filled îl folosim ca shimmer */
  border-radius:inherit; -webkit-mask-image:-webkit-radial-gradient(white, black);
}
.btn--sunset::after, .btn--navy::after, .btn--sunset-outline::after, .btn--navy-outline::after{ /* rezervat pentru ripple */ }

.btn--sunset:hover::before, .btn--navy:hover::before, .btn--sunset-outline:hover::before, .btn--navy-outline:hover::before{
  animation: btn-shimmer 900ms ease forwards;
}

/* GLOW subtil (shadow pulse) */
.btn--sunset:hover{ animation: btn-breath .6s ease-out; }
.btn--navy:hover{   animation: btn-breath .6s ease-out; }

/* Ripple la click */
@keyframes btn-ripple{ to{ transform:translate(-50%,-50%) scale(28); opacity:0 } }
@media (pointer:fine){
  .btn--sunset:active::after, .btn--navy:active::after, .btn--sunset-outline:active::after, .btn--navy-outline:active::after{
    content:""; position:absolute; left:50%; top:50%; width:10px; height:10px; border-radius:50%;
    transform:translate(-50%,-50%) scale(1); opacity:.35; pointer-events:none; animation:btn-ripple 500ms ease-out forwards;
  }
  .btn--sunset:active::after{ background: color-mix(in srgb, var(--blood) 40%, white) }
  .btn--navy:active::after{   background: color-mix(in srgb, var(--royal) 40%, white) }
  .btn--sunset-outline:active::after{ background: color-mix(in srgb, var(--blood) 25%, white) }
  .btn--navy-outline:active::after{   background: color-mix(in srgb, var(--royal) 25%, white) }
}

/* Focus & disabled */
.btn--sunset:focus-visible, .btn--navy:focus-visible, .btn--sunset-outline:focus-visible, .btn--navy-outline:focus-visible{
  outline:3px solid color-mix(in srgb, var(--royal) 70%, transparent); outline-offset:2px; border-radius:14px;
}
.btn--sunset:disabled, .btn--navy:disabled, .btn--sunset-outline:disabled, .btn--navy-outline:disabled{
  opacity:.65; cursor:not-allowed; transform:none; box-shadow:none;
}

/* Fallback pentru browsere fără color-mix */
@supports not (color: color-mix(in srgb, black, white)){
  .btn--sunset:hover{ box-shadow:0 12px 28px rgba(214,69,46,.28) }
  .btn--navy:hover{   box-shadow:0 12px 28px rgba(46,74,158,.28) }
  .btn--sunset-outline:hover{ box-shadow:0 10px 24px rgba(214,69,46,.24) }
  .btn--navy-outline:hover{   box-shadow:0 10px 24px rgba(46,74,158,.24) }
}

/* =========================================================
   CARDS / HERO / RESURSE / FOOTER
   ========================================================= */
.card{
  background:#fff; border:1px solid var(--breeze);
  border-radius:var(--radius); padding:22px;
  box-shadow:var(--shadow-sm);
  transition:transform .15s ease, box-shadow .15s ease;
}
.card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md) }
.card h3{ margin:0 0 8px; font-weight:800; letter-spacing:-.01em; color:var(--ink) }
.card p{ margin:0 0 14px; color:var(--concrete); word-break:normal }
.grid.grid-3>.card{ display:flex; flex-direction:column; min-height:180px }
.grid.grid-3>.card p{ flex:1 1 auto }
.grid.grid-3>.card .btn--sunset,
.grid.grid-3>.card .btn--navy,
.grid.grid-3>.card .btn--sunset-outline,
.grid.grid-3>.card .btn--navy-outline{ align-self:flex-start; white-space:nowrap }

/* Hero */
.hero{
  padding:92px 0 72px;
  background:
    radial-gradient(70% 130% at 100% 0%, color-mix(in srgb, var(--sunrise) 22%, transparent) 0%, transparent 55%),
    linear-gradient(180deg, var(--sunny) 0%, var(--breeze) 70%);
}
.hero .grid-2{ align-items:center }
.hero h1{ font-size:clamp(36px,6vw,64px); line-height:1.08; margin:.3rem 0 1rem; color:var(--ink); letter-spacing:-.035em }
.hero-visual{ display:flex; justify-content:flex-end; align-items:flex-end }
.hero-img{
  width:min(44vw,640px); height:auto; object-fit:contain;
  filter: drop-shadow(0 22px 36px color-mix(in srgb, var(--ink) 18%, transparent));
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
          mask-image:linear-gradient(to bottom, rgba(0,0,0,1) 85%, rgba(0,0,0,0) 100%);
}
@media (max-width:900px){
  .hero{ padding:72px 0 48px }
  .hero-visual{ justify-content:center; margin-top:18px }
  .hero-img{
    width:min(78vw,480px);
    -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
            mask-image:linear-gradient(to bottom, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%);
  }
}

/* Resurse */
#resurse .resurse-head{
  display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:16px;
}
#resurse .cards{
  width:100%; display:grid; gap:24px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
@media (max-width:1200px){ #resurse .cards{ grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media (max-width:760px){
  #resurse .cards{ grid-template-columns:1fr }
  #resurse .resurse-head{ flex-direction:column; align-items:flex-start; gap:12px }
}

/* Footer */
.footer{ background: color-mix(in srgb, var(--royal) 20%, var(--ink)); color:#fff; margin-top:72px }
.footer a{ color:#fff; opacity:.95 }
.footer .container{ padding:34px 20px }

/* =========================================================
   Background FX (optional)
   ========================================================= */
body::before{
  content:""; position:fixed; inset:-20% -20%; z-index:-2; pointer-events:none;
  background:
    radial-gradient(60% 120% at 12% 12%, color-mix(in srgb, var(--sunny) 45%, transparent) 0%, transparent 65%),
    radial-gradient(70% 120% at 88% 8%,  color-mix(in srgb, var(--sunrise) 38%, transparent) 0%, transparent 60%),
    radial-gradient(60% 120% at 50% 100%, color-mix(in srgb, var(--breeze) 80%, transparent) 0%, transparent 70%);
  filter: saturate(110%) blur(4px); opacity:.55;
  animation:bg-pan 36s linear infinite alternate; will-change: transform, opacity;
}
@keyframes bg-pan{
  0%{ transform:translate3d(0,0,0) scale(1);   opacity:.55 }
  50%{ transform:translate3d(-1.5%,1.5%,0) scale(1.02); opacity:.60 }
  100%{transform:translate3d(1%,-1%,0) scale(1.01); opacity:.55 }
}
/* optional: orbe plutitoare */
.fx-orbs{ position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden }
.fx-orbs .orb{ position:absolute; border-radius:50%; filter: blur(34px); opacity:.16; mix-blend-mode:multiply; animation:orb-float 26s ease-in-out infinite }
.fx-orbs .o1{ width:38vmin; height:38vmin; background:var(--sunrise); left:8%;  top:22%;  animation-duration:28s }
.fx-orbs .o2{ width:30vmin; height:30vmin; background:var(--royal);   right:8%; top:10%; animation-duration:32s }
.fx-orbs .o3{ width:34vmin; height:34vmin; background:var(--blood);   right:14%; bottom:12%; animation-duration:30s }
@keyframes orb-float{
  0%{ transform:translate3d(0,0,0) scale(1) }
  33%{transform:translate3d(2vw,-1.5vh,0) scale(1.05)}
  66%{transform:translate3d(-1vw,1.8vh,0) scale(0.98)}
  100%{transform:translate3d(0,0,0) scale(1)}
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .btn--sunset, .btn--navy, .btn--sunset-outline, .btn--navy-outline{
    transition:none; animation:none !important;
  }
  .btn--sunset:hover::before, .btn--navy:hover::before, .btn--sunset-outline:hover::before, .btn--navy-outline:hover::before{ animation:none !important }
  body::before, .fx-orbs .orb{ animation:none !important }
}

/* =========================================================
   Testimonials (brand-only)
   ========================================================= */
.t-quote{ font-size:1.05rem; color:var(--ink); margin:0 0 10px; }
.t-meta{ margin:0; }
.t-role{ color:var(--concrete); }
.stars{ margin-bottom:8px; font-size:1rem; line-height:1; color:var(--sunrise); }
.stars-glyph{ letter-spacing:1px; }
.t-avatar{ margin:12px 0 0; }
.t-avatar img{ width:48px; height:48px; border-radius:999px; object-fit:cover; border:1px solid var(--breeze); }

/* ===== Enhanced sales visuals ===== */
.hero--enhanced { position: relative; overflow: hidden; }
.hero-highlights{ display:flex; gap:14px; flex-wrap:wrap; margin-top:16px }
.hero-highlights li{ background:rgba(233,238,246,.7); border:1px solid var(--breeze); padding:8px 12px; border-radius:999px; color:var(--ink) }

.trust-logos{ display:flex; gap:16px; flex-wrap:wrap; margin-top:12px }
.tlogo{ padding:8px 12px; border:1px solid var(--breeze); border-radius:10px; background:#fff; color:var(--concrete) }

/* KPI în carduri */
.kpi{ display:flex; align-items:baseline; gap:6px; margin-top:10px }
.kpi .count{ font-size:2rem; font-weight:800; line-height:1; color:var(--royal) }
.kpi small{ color:var(--concrete) }

/* Swiper basics (already loaded CSS) */
.swiper.testimonials .swiper-pagination-bullet{ background: var(--royal); opacity:.3 }
.swiper.testimonials .swiper-pagination-bullet-active{ opacity:1 }

/* Accordion */
.acc{ border:1px solid var(--breeze); border-radius:12px; padding:10px 14px; background:#fff; box-shadow: var(--shadow-sm); }
.acc + .acc{ margin-top:10px }
.acc summary{ cursor:pointer; font-weight:700; color:var(--ink) }
.acc p{ margin:10px 0 0; color:var(--concrete) }

/* Micro states */
.badge{ display:inline-block; background:linear-gradient(135deg,var(--sunny),var(--breeze)); padding:6px 10px; border-radius:999px; font-weight:700; color:var(--ink) }

/* CTA final centrat */
.cta-final .container{ display:flex; align-items:center; gap:16px; flex-wrap:wrap }
.cta-final h2{ margin:0 }

/* Safe prefers-reduced-motion handled already in your file */

/* Contact form polish */
.contact-form label{ display:grid; gap:6px; font-weight:600; color:var(--ink) }
.contact-form input,
.contact-form textarea{
  border:1px solid var(--breeze); border-radius:12px; padding:12px 14px; font:inherit; color:var(--ink);
  background:#fff; outline:none; transition:border-color .18s ease, box-shadow .18s ease;
}
.contact-form input:focus,
.contact-form textarea:focus{ border-color:var(--royal); box-shadow:0 0 0 3px color-mix(in srgb, var(--royal) 18%, transparent); }
.contact-form button{ font-weight:800 }

/* =============================
   RESPONSIVE ENHANCEMENTS
   (paste this at the END)
   Breakpoints: 1280 / 1100 / 900 / 760 / 560 / 380
   ============================= */

/* Container fluid + gutters mai aerisite pe ecrane mari */
@media (min-width:1280px){
  .container{ padding-inline: 28px }
}

/* ===== NAV: listă curată + drop-down-uri corecte ===== */
.nav .menu, .nav .menu ul { list-style: none; margin: 0; padding: 0; }
.nav .menu { display: flex; gap: 22px; align-items: center; }

/* elementele top-level */
.nav .menu > li { position: relative; }

/* link-urile din nav NU preiau culoarea globală de link */
.nav .menu a { color: var(--concrete); text-decoration: none; }
.nav .menu a:hover { color: var(--ink); }

/* sub-meniul (WP = .sub-menu) – ascuns implicit */
.nav .menu .sub-menu{
  position: absolute;
  left: 0; top: calc(100% + 10px);
  min-width: 280px;
  background: #fff;
  border: 1px solid var(--breeze);
  border-radius: 12px;
  box-shadow: 0 18px 36px color-mix(in srgb, var(--ink) 14%, transparent);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 20;
}

/* afișare la hover/focus-within pe li părinte */
.nav .menu > li:hover   > .sub-menu,
.nav .menu > li:focus-within > .sub-menu{
  opacity: 1; visibility: visible; transform: translateY(0);
}

/* item-urile din drop-down */
.nav .menu .sub-menu > li > a{
  display: block;
  padding: 12px 14px;
  color: var(--ink);
  border-bottom: 1px solid color-mix(in srgb, var(--breeze) 70%, white);
}
.nav .menu .sub-menu > li:last-child > a{ border-bottom: 0; }
.nav .menu .sub-menu > li > a:hover{
  background: color-mix(in srgb, var(--breeze) 72%, white);
}

/* iconița/accent bar rămân doar pe top-level */
.nav .menu .sub-menu > li > a::after{ content: none !important; }

/* ===== Brand/logo – nu moștenește roșul global de link ===== */
.brand a { color: inherit !important; text-decoration: none; }
.brand img { max-height: 42px; width: auto; display: block; }

/* Spacing vertical din secțiuni scade progresiv */
@media (max-width:1100px){
  .section{ padding: 64px 0 }
}
@media (max-width:760px){
  .section{ padding: 48px 0 }
}
@media (max-width:560px){
  .section{ padding: 40px 0 }
}

/* Titluri mai echilibrate pe mobil îngust */
@media (max-width:560px){
  .section-title{ font-size: clamp(22px, 6vw, 30px); margin-bottom: 14px }
}

/* Header: compactare & hit-area mai mare pe mobil */
@media (max-width:900px){
  .site-header .wrap{ padding: 10px 0; gap: 16px }
  .brand .site-name{ font-size: 1rem }
  .burger{ width: 44px; height: 44px }
}

/* Nav desktop: permite wrap între 900–1100 dacă ai multe item-uri */
@media (min-width:901px) and (max-width:1100px){
  .nav .menu{ flex-wrap: wrap; row-gap: 10px }
}

/* HERO: stivuire curată și accent pe text */
@media (max-width:1100px){
  .hero{ padding: 84px 0 60px }
}
@media (max-width:900px){
  .hero{ padding: 72px 0 48px }
  .hero .grid-2{ gap: 20px }
  .hero h1{ font-size: clamp(28px, 8vw, 44px) }
  .hero-visual{ order: 2 }
}
@media (max-width:560px){
  .hero{ padding: 56px 0 40px }
  .hero h1{ font-size: clamp(24px, 9vw, 38px) }
  .hero .container > .grid,
  .hero .grid-2{ gap: 16px }
  .hero .badge{ font-size: .9rem }
}

/* Grile: 3→2→1 coloane, cu gutter adaptiv */
@media (max-width:1200px){
  .grid{ gap: 20px }
  .grid-3{ grid-template-columns: repeat(2, minmax(0, 1fr)) }
}
@media (max-width:760px){
  .grid{ gap: 16px }
  .grid-2, .grid-3{ grid-template-columns: 1fr }
}

/* Carduri: echilibrare și tap-friendly */
.card{ display:flex; flex-direction:column }
.card h3{ font-size: clamp(18px, 1.8vw, 22px) }
.card .btn--sunset,
.card .btn--navy,
.card .btn--sunset-outline,
.card .btn--navy-outline{ margin-top: auto } /* „equal height” CTA jos */

@media (max-width:560px){
  .card{ padding: 18px }
}

/* CTA stacks: butoane pe o coloană când spațiul e îngust */
@media (max-width:560px){
  .cta-final .container{ flex-direction: column; align-items: flex-start }
  .cta-final .btn--sunset,
  .cta-final .btn--navy,
  .cta-final .btn--sunset-outline,
  .cta-final .btn--navy-outline{
    width: 100%; text-align: center;
  }
  /* și grupurile de butoane din hero */
  .hero .container .btn--sunset,
  .hero .container .btn--navy,
  .hero .container .btn--sunset-outline,
  .hero .container .btn--navy-outline{
    width: 100%;
  }
}

/* „Resurse”: capul secțiunii se rupe frumos pe rânduri */
@media (max-width:760px){
  #resurse .resurse-head{ gap: 10px }
  #resurse .resurse-head a[class*="btn--"]{ width: 100%; text-align: center }
}

/* Drawer mobil: reduce shadow și lățime pe telefoane mici */
@media (max-width:560px){
  .mobile-drawer__panel{
    width: min(94vw, 360px);
    box-shadow: -16px 0 32px color-mix(in srgb, var(--ink) 14%, transparent);
    padding: 14px;
  }
  .drawer-close{ width: 38px; height: 38px }
}

/* Footer pe coloane → stivă */
@media (max-width:900px){
  .footer .container{ display: grid; gap: 14px }
}
@media (max-width:760px){
  .footer .container{ gap: 10px }
  .footer .container > * + *{ margin-top: 6px }
}

/* Background FX: reduce intensitatea pe ecrane mici */
@media (max-width:560px){
  body::before{ opacity: .45; filter: saturate(105%) blur(3px) }
}

/* Utility helpers pentru layout responsive fin */
.hide-mobile{ display: initial }
.hide-desktop{ display: none }
@media (max-width:760px){
  .hide-mobile{ display: none !important }
  .hide-desktop{ display: initial !important }
}

/* Tabele/imagini în content: scroll orizontal sigur pe mobil */
.entry-content{ overflow-wrap: anywhere }
.entry-content table{ width:100%; display:block; overflow-x:auto; border-spacing:0; border-collapse: collapse }
.entry-content img{ max-width:100%; height:auto }

/* Buttons: mărim hit-area pe ecrane mici */
@media (max-width:560px){
  .btn--sunset, .btn--navy, .btn--sunset-outline, .btn--navy-outline{
    min-height: 48px; padding: 1rem 1.2rem; font-weight: 800;
  }
}

/* Nav „pill” pe desktop mic: paddings mai mici, ca să nu sară pe 2 rânduri prea repede */
@media (min-width:901px) and (max-width:1100px){
  .nav .menu > li > a{ padding: 8px 12px }
}

/* Brand logo micșorat foarte puțin pe 380px */
@media (max-width:380px){
  .brand .site-name{ font-size: .95rem }
}
/* ===== Mobile Drawer: no blur overlay ===== */
.mobile-drawer__overlay{
  background: rgba(15, 23, 42, .28); /* navy transparent */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Dimensiuni logo (funcționează pentru <img> și SVG inline) */
.brand-logo, .footer-logo { display:inline-flex; align-items:center; }
.brand-logo img,
.footer-logo img { max-height: 42px; width: auto; display: block; }
.brand-logo svg,
.footer-logo svg { height: 42px; width: auto; display: block; }
.footer-logo img,
.footer-logo svg { height: 36px; }
.brand a, .footer-brand a { color: inherit !important; text-decoration: none; }

/* Panel 100% opac ca să nu „ia” tentă de la overlay */
.mobile-drawer__panel{
  background:
    radial-gradient(120% 160% at 0% 0%, color-mix(in srgb, var(--breeze) 86%, white) 0%, transparent 70%),
    #fff; /* strat opac dedesubt */
}

/* Când e deschis drawer-ul, redu puțin intensitatea FX-ului global din body::before */
body.nav-open::before{
  opacity: .18;        /* înainte era ~.55 */
  filter: saturate(100%) blur(0);  /* fără blur suplimentar */
}

/* (opțional) micșorează și umbra, ca să nu pară mai „gri” decât e */
.mobile-drawer__panel{
  box-shadow: -18px 0 34px color-mix(in srgb, var(--ink) 14%, transparent);
}

/* ==== BOOK HERO / QR ===================================== */
/* containerul cu QR; îl păstrăm simplu pe mobil */
.book-badges{
  margin-top: clamp(12px, 2.6vw, 28px);
  display: flex;
  align-items: center;
}

/* QR mare, clar și cu fundal transparent (nu-l lasă nimic să-l micșoreze) */
.book-badges .qr{
  width: clamp(220px, 28vw, 420px); /* ↑ mărimea efectivă a QR-ului */
  height: auto;
  max-width: none !important;       /* ignoră limitele figure/col */
  display: block;

  /* păstrează muchiile crisp când e mărit */
  image-rendering: pixelated;
  image-rendering: crisp-edges;

  /* niciun efect nedorit peste PNG-ul transparent */
  background: transparent !important;
  mix-blend-mode: normal;
  filter: none !important;
}

/* coperta cărții – ca reper, ca să stea în echilibru cu QR-ul */
.book-visual img{
  width: clamp(260px, 38vw, 560px);
  height: auto;
}

/* layout prietenos pe ecrane mici */
@media (max-width: 720px){
  .book-badges{
    justify-content: center;
  }
  .book-badges .qr{
    width: min(78vw, 380px);
  }
  .book-visual img{
    width: min(72vw, 440px);
  }
}

/* dacă zona cărții e într-un grid/flex cu două coloane,
   asigură gap-ul dintre copertă și QR */
.hero-book, .book-hero{
  gap: clamp(14px, 4vw, 36px);
}

/* === Footer solid & sticky to bottom === */

/* 1) Pagină pe flex: conținutul ia spațiul, footer rămâne jos */
html, body { height: 100%; }
#page, .site, .site-wrap, body > .site-container {
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
main, .site-main, .site-content, #content {
  flex: 1 0 auto;      /* împinge footerul în jos */
}
.footer {
  flex: 0 0 auto;      /* footerul nu se întinde, rămâne la final */
}

/* 2) Scoate spațiul alb de deasupra footerului */
.footer { 
  margin-top: 0;                     /* înlătură “falia” albă de sus */
  background: color-mix(in srgb, var(--ink) 88%, var(--royal) 12%);
}

/* dacă vrei puțin respiro înainte de footer, îl muți pe secțiunea precedentă */
.section:last-of-type { padding-bottom: 72px; }

/* 3) Închide orice “separatoare” vizuale care pot crea linii albe */
.footer,
.footer .container { border: 0; }

/* 4) Asigură-te că pseudo-backgroundul global nu “transpare” pe lângă footer */
body::before { z-index: -2; } /* deja era negativ, doar reconfirmăm */

/* 5) Pentru view-uri mici, păstrează aceeași culoare compactă */
@media (max-width: 900px){
  .footer { background: color-mix(in srgb, var(--ink) 90%, var(--royal) 10%); }
}

/* (Opțional) Previne margin-collapse la primul copil din footer .container */
.footer .container > *:first-child { margin-top: 0; }

/* =========================
   PATCH: header/mobile/drawer
   ========================= */

/* 1) Responsive logo (header + footer) */
.brand-logo img,
.brand-logo svg{ height: clamp(28px, 5vw, 42px); width:auto; display:block }
.footer-logo img,
.footer-logo svg{ height: clamp(26px, 4.5vw, 36px); width:auto; display:block }

/* 2) Show CTA on mobile and place it next to burger */
@media (max-width: 900px){
  /* show the CTA again on mobile */
  .header-cta{ display:inline-flex !important; order:2; margin-left:auto; }
  .header-cta .btn--sunset{
    min-height: 40px; padding: .7rem 1rem; font-weight:800; border-radius:999px;
  }

  /* brand left, CTA next, burger last */
  .brand{ order:1 }
  .burger{ order:3; margin-left:8px }

  /* slightly tighter header on phones */
  .site-header .wrap{ gap:12px; padding:10px 0 }
}

/* 3) Burger menu — link buttons & CTA polish */
.mobile-nav .mobile-menu > li > a{
  border-radius:12px;
  background: color-mix(in srgb, var(--breeze) 50%, white);
  border:1px solid var(--breeze);
  padding: 12px 14px;
  font-weight: 700;
}
.mobile-nav .mobile-menu > li > a::after{
  content: "›";
  font-weight: 900;
  opacity: .45;
  margin-left: 10px;
}
.mobile-nav .mobile-menu > li > a:hover{
  background: color-mix(in srgb, var(--breeze) 75%, white);
  transform: translateY(-1px);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--ink) 12%, transparent);
}

/* Drawer CTA(s) — look like real buttons and span width */
.mobile-cta{ display:flex; flex-direction:column; gap:10px; margin-top:auto }
.mobile-cta .btn--sunset,
.mobile-cta .btn--navy,
.mobile-cta .btn--sunset-outline,
.mobile-cta .btn--navy-outline{
  width:100%; text-align:center; min-height:46px; font-size:1rem;
}

/* 4) Remove grey translucent screen when drawer is open */
.mobile-drawer__overlay{
  background: transparent !important;
  opacity: 0 !important;
  pointer-events: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* keep the panel fully opaque so content stays crisp */
.mobile-drawer__panel{
  background:
    radial-gradient(120% 160% at 0% 0%, color-mix(in srgb, var(--breeze) 86%, white) 0%, transparent 70%),
    #fff !important;
  box-shadow: -18px 0 34px color-mix(in srgb, var(--ink) 14%, transparent);
}

/* =========================
   Burger / Mobile Drawer UI
   ========================= */

/* Base reset for lists inside drawer */
.mobile-nav .mobile-menu,
.mobile-nav .mobile-menu ul{
  list-style: none; margin: 0; padding: 0;
}

/* Top-level items → pill buttons */
.mobile-nav .mobile-menu > li { position: relative; }
.mobile-nav .mobile-menu > li + li{ margin-top: 8px; }

.mobile-nav .mobile-menu > li > a{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding: 14px 16px;
  border-radius: 14px;
  background:
    linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--breeze) 40%, #fff) 100%);
  border: 1px solid var(--breeze);
  color: var(--ink);
  text-decoration:none;
  font-weight: 800;
  letter-spacing: .01em;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--ink) 10%, transparent);
  transition: transform .12s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

/* Chevron at right */
.mobile-nav .mobile-menu > li > a::after{
  content:"";
  width: 10px; height: 10px; flex: 0 0 10px;
  mask: conic-gradient(from 45deg at 30% 50%, transparent 0 25%, #000 0 75%, transparent 0) ;
  -webkit-mask: conic-gradient(from 45deg at 30% 50%, transparent 0 25%, #000 0 75%, transparent 0);
  background: currentColor;
  opacity:.45;
  transform: translateX(0);
  transition: transform .18s ease, opacity .18s ease;
}
.mobile-nav .mobile-menu > li > a:hover::after{ transform: translateX(2px); opacity:.7 }

/* Hover */
.mobile-nav .mobile-menu > li > a:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 22px color-mix(in srgb, var(--ink) 14%, transparent);
  background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--breeze) 58%, #fff) 100%);
}

/* Active/current page */
.mobile-nav .mobile-menu > li.current-menu-item > a,
.mobile-nav .mobile-menu > li.current_page_item > a{
  color: #fff;
  background: linear-gradient(135deg, color-mix(in srgb, var(--royal) 92%, white) 0%, var(--royal) 100%);
  border-color: transparent;
  box-shadow: 0 14px 24px color-mix(in srgb, var(--royal) 30%, transparent);
}
.mobile-nav .mobile-menu > li.current-menu-item > a::after,
.mobile-nav .mobile-menu > li.current_page_item > a::after{ background:#fff; opacity:.9 }

/* Sub-menu (dropdown) */
.mobile-nav .mobile-menu .sub-menu{
  margin-top: 8px;
  padding-left: 10px;
  border-left: 2px solid color-mix(in srgb, var(--breeze) 70%, #fff);
}
.mobile-nav .mobile-menu .sub-menu > li + li{ margin-top:6px; }

.mobile-nav .mobile-menu .sub-menu > li > a{
  display:flex; align-items:center; gap:10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--breeze) 35%, #fff);
  border: 1px solid color-mix(in srgb, var(--breeze) 75%, #fff);
  color: var(--ink);
  font-weight: 700;
  text-decoration:none;
  transition: background .18s ease, border-color .18s ease, transform .12s ease;
}
.mobile-nav .mobile-menu .sub-menu > li > a:hover{
  background: color-mix(in srgb, var(--breeze) 55%, #fff);
  transform: translateY(-1px);
  box-shadow: 0 8px 16px color-mix(in srgb, var(--ink) 10%, transparent);
}

/* Little square “dot” for sub-items */
.mobile-nav .mobile-menu .sub-menu > li > a::before{
  content:""; width:10px; height:10px; border-radius:3px; flex:0 0 10px;
  background: linear-gradient(135deg, var(--sunrise), var(--blood));
  box-shadow: 0 2px 6px color-mix(in srgb, var(--blood) 25%, transparent);
}

/* Drawer footer CTA(s) — full width */
.mobile-cta{
  display:flex; flex-direction:column; gap:10px; margin-top:auto;
}
.mobile-cta .btn--sunset,
.mobile-cta .btn--navy,
.mobile-cta .btn--sunset-outline,
.mobile-cta .btn--navy-outline{
  width:100%; text-align:center; min-height:46px; font-size:1rem;
}

/* ==== MOBILE DRAWER MENU (button look) ==== */

/* listă curată, fără bullets – funcționează cu sau fără .mobile-nav wrapper */
.mobile-drawer .mobile-menu,
.mobile-nav .mobile-menu{
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* item top-level: „buton” */
.mobile-drawer .mobile-menu > li > a,
.mobile-nav .mobile-menu > li > a{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  padding: 12px 14px;
  border-radius: 14px;

  color: var(--ink);
  text-decoration: none;
  font-weight: 700;

  background: color-mix(in srgb, var(--breeze) 72%, white);
  border: 1px solid var(--breeze);
  box-shadow: 0 6px 14px color-mix(in srgb, var(--ink) 10%, transparent);

  transition: background-color .18s ease, box-shadow .18s ease, transform .12s ease, color .18s ease;
}

/* hover/active */
.mobile-drawer .mobile-menu > li > a:hover,
.mobile-nav .mobile-menu > li > a:hover{
  background: color-mix(in srgb, var(--breeze) 82%, white);
  box-shadow: 0 10px 20px color-mix(in srgb, var(--ink) 14%, transparent);
  transform: translateY(-1px);
}

/* item activ (pagina curentă) */
.mobile-drawer .mobile-menu > li.current-menu-item > a,
.mobile-drawer .mobile-menu > li.current_page_item > a,
.mobile-nav .mobile-menu > li.current-menu-item > a,
.mobile-nav .mobile-menu > li.current_page_item > a{
  color:#fff;
  background: var(--royal);
  border-color: transparent;
  box-shadow: 0 12px 22px color-mix(in srgb, var(--royal) 30%, transparent);
}

/* chevron pentru item-urile cu submeniu */
.mobile-drawer .mobile-menu > li.menu-item-has-children > a::after,
.mobile-nav .mobile-menu > li.menu-item-has-children > a::after{
  content:"›";
  font-size: 18px;
  line-height: 1;
  opacity: .65;
  transform: translateY(1px);
}

/* sub-menu: card fin, fără bullets */
.mobile-drawer .mobile-menu .sub-menu,
.mobile-nav .mobile-menu .sub-menu{
  list-style: none;
  margin: 6px 0 0 0;
  padding: 8px;
  border-left: 2px solid var(--breeze);
  border-radius: 10px;
  background: color-mix(in srgb, var(--breeze) 40%, white);
}

.mobile-drawer .mobile-menu .sub-menu > li > a,
.mobile-nav .mobile-menu .sub-menu > li > a{
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--ink);
  text-decoration: none;
  border: 1px solid transparent;
  transition: background-color .18s ease, border-color .18s ease, transform .12s ease;
}

.mobile-drawer .mobile-menu .sub-menu > li > a:hover,
.mobile-nav .mobile-menu .sub-menu > li > a:hover{
  background: #fff;
  border-color: var(--breeze);
  transform: translateX(2px);
}

/* opțional: marchează un link din listă ca CTA (adaugi clasa .is-cta din WP Menu) */
.mobile-drawer .mobile-menu > li > a.is-cta,
.mobile-nav .mobile-menu > li > a.is-cta{
  background: linear-gradient(135deg, var(--sunrise) 0%, var(--blood) 100%);
  color:#fff;
  border-color: transparent;
  box-shadow: 0 12px 24px color-mix(in srgb, var(--blood) 30%, transparent);
}
.mobile-drawer .mobile-menu > li > a.is-cta:hover,
.mobile-nav .mobile-menu > li > a.is-cta:hover{
  transform:none;
  box-shadow: 0 16px 28px color-mix(in srgb, var(--blood) 36%, transparent);
}

/* spațiu în partea de jos a panoului pentru CTA-urile separate */
.mobile-drawer .mobile-cta{ margin-top: 12px; }

/* ==== Drawer: scroll + padding safe ==== */
.mobile-drawer { height: 100vh; }
.mobile-drawer__panel{
  height: 100vh;
  overflow: auto;                 /* <- scroll */
  -webkit-overflow-scrolling: touch; /* inerție iOS */
  padding-bottom: 16px;
}

/* ==== Acordeon pentru sub-meniu (ascuns implicit) ==== */
.mobile-drawer .mobile-menu .sub-menu{
  list-style: none;
  margin: 6px 0 0 0;
  padding: 0 8px;
  border-left: 2px solid var(--breeze);
  border-radius: 10px;
  background: color-mix(in srgb, var(--breeze) 40%, white);

  max-height: 0;          /* ascuns */
  overflow: hidden;
  opacity: 0;
  transition: max-height .28s ease, opacity .2s ease, margin-top .2s ease;
}

.mobile-drawer .mobile-menu > li.is-open > .sub-menu{
  margin-top: 8px;
  max-height: 800px;      /* suficient pentru lista ta */
  opacity: 1;
}

/* butonul de toggling (chevron real, clickabil) */
.submenu-toggle{
  margin-left: auto;
  flex: 0 0 auto;
  width: 34px; height: 34px;
  display: inline-flex; align-items:center; justify-content:center;
  border-radius: 10px;
  border: 1px solid var(--breeze);
  background: #fff;
  color: var(--ink);
  box-shadow: 0 4px 10px color-mix(in srgb, var(--ink) 10%, transparent);
}
.submenu-toggle svg{ width: 16px; height: 16px }
.mobile-drawer .mobile-menu > li.is-open > a .submenu-toggle{ transform: rotate(90deg); }

/* asigură-ți că linkul rămâne „buton” cum ți-am stilizat mai sus */
.mobile-drawer .mobile-menu > li > a{ gap: 8px; }

/* ===== Newsletter v2 (albastru, 2 coloane) ===== */
.nl-v2{
  background:#4b64a8;
  color:#fff;
  padding: clamp(36px,5vw,60px) 0;
  position:relative; overflow:hidden;
}
.nl-v2::before{
  content:""; position:absolute; inset:-20% -10% -30% -10%;
  background:
    radial-gradient(120% 80% at 70% 0%, rgba(255,255,255,.14), transparent 60%),
    radial-gradient(120% 80% at 0% 100%, rgba(0,0,0,.18), transparent 70%);
  pointer-events:none;
}
.nl-v2__wrap{
  display:grid; grid-template-columns: 1fr 2fr;
  gap: clamp(18px,3.5vw,40px); align-items:center;
}
.nl-v2__copy .overline{
  margin:0 0 6px; letter-spacing:.14em; text-transform:uppercase; opacity:.9; font-weight:800;
}
.nl-v2__copy h2{ margin:.1rem 0 .4rem; font-size: clamp(32px,4.6vw,56px); font-weight:800; color:#fff; }
.nl-v2__copy .hint{ margin:.2rem 0 0; opacity:.95 }

.nl-v2__form{
  display:grid; grid-template-columns: 1fr auto; gap:12px; align-items:center;
}
.nl-v2__field input{
  width:100%; height:56px; border-radius:999px;
  border:2px solid rgba(255,255,255,.85); background:#fff; color:#0F172A;
  padding:0 18px; font:inherit; outline:none;
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
}
.nl-v2__field input:focus{
  border-color:#fff; box-shadow: 0 0 0 4px rgba(255,255,255,.25), 0 10px 28px rgba(0,0,0,.16);
}
.nl-v2__btn{
  height:56px; border-radius:999px; padding:0 28px; border:2px solid #fff;
  white-space:nowrap; box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.nl-v2__policy{
  grid-column:1/-1; margin:6px 0 0; font-size:.95rem; color:rgba(255,255,255,.95);
}
.nl-v2__policy a{ color:#fff; text-decoration:underline; text-underline-offset:3px }

/* mesaje */
.nl-v2__msg{ grid-column:1/-1; margin:8px 0 0; font-weight:600 }
.nl-v2__msg.is-success{ color:#D4F6DD }
.nl-v2__msg.is-error{ color:#FFE0E0 }

/* honeypot ascuns */
.nl-v2 .hp{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

/* responsive */
@media (max-width:900px){
  .nl-v2__wrap{ grid-template-columns: 1fr; }
  .nl-v2__form{ grid-template-columns: 1fr; }
  .nl-v2__btn{ width:100% }
}
.privacy section[id]{scroll-margin-top:110px}
@media (max-width: 780px){ .privacy section[id]{scroll-margin-top:84px} }
.back-to-top{
  position:fixed;right:18px;bottom:24px;z-index:60;
  display:none;gap:8px;align-items:center;
  background:var(--royal,#223C8F);color:#fff;border:0;border-radius:999px;
  padding:10px 14px;box-shadow:0 8px 30px rgba(10,29,68,.25);cursor:pointer
}
.back-to-top.show{display:flex}
.back-to-top:hover{background:#1b2f72}
/* ===== Politica de confidențialitate ===== */
.privacy .section-title{margin-bottom:.5rem}
.privacy .card{background:#fff; border:1px solid rgba(10,29,68,.08); box-shadow:0 10px 30px rgba(10,29,68,.06)}
.privacy h2{font-size:clamp(22px,3.2vw,28px);letter-spacing:-.02em;margin:1.1rem 0 .6rem}
.privacy h3{font-size:clamp(17px,2.6vw,19px);margin:.8rem 0 .4rem}
.privacy p,.privacy li{color:var(--ink-muted,#4a5568)}
.privacy ul{margin:.3rem 0 .8rem 1.2rem}
.privacy .muted{opacity:.8}

/* —— TOC on-brand —— */
.privacy .toc a{
  color:var(--ink,#0a1d44);
  text-decoration:none;
  border-bottom:2px solid transparent;
  padding-bottom:3px;
  line-height:1.35;
  transition:border-color .2s ease,color .2s ease;
}
.privacy .toc a:link,
.privacy .toc a:visited{
  color:var(--ink,#0a1d44);
}
.privacy .toc a:hover,
.privacy .toc a:focus{
  border-bottom-color:rgba(255,107,45,.5);
  outline:0;
}
.privacy .toc a.active{
  color:var(--royal,#223C8F);
  border-bottom-color:var(--blood,#ff6b2d);
  font-weight:700;
}
.privacy .toc ol{margin:10px 0 0; padding-left:1.1rem}
.privacy .toc li{margin:.35rem 0}

/* offset pt. header fix + highlight secțiune curentă */
.privacy section[id]{scroll-margin-top:110px}
@media (max-width: 780px){ .privacy section[id]{scroll-margin-top:84px} }
.privacy :target h2{
  background:linear-gradient(90deg,rgba(255,107,45,.10),transparent);
  border-radius:10px;padding:.25rem .4rem
}

/* Back to top */
.back-to-top{display:inline-block;padding:.55rem .9rem;border-radius:999px}
.back-to-top{background:var(--royal,#223C8F);color:#fff}
.back-to-top:hover{background:#1b2f72;color:#fff}

/* ===== Pagini legale: termeni / confidențialitate ===== */
.legal .section-title{margin-bottom:.5rem}
.legal .card{background:#fff;border:1px solid rgba(10,29,68,.08);box-shadow:0 10px 30px rgba(10,29,68,.06)}
.legal h2{font-size:clamp(22px,3.2vw,28px);letter-spacing:-.02em;margin:1.1rem 0 .6rem}
.legal h3{font-size:clamp(17px,2.6vw,19px);margin:.8rem 0 .4rem}
.legal p,.legal li{color:var(--ink-muted,#4a5568)}
.legal ul{margin:.3rem 0 .8rem 1.2rem}
.legal .muted{opacity:.8}

/* TOC comun (on-brand) */
.legal .toc a{
  color:var(--ink,#0a1d44);
  text-decoration:none;
  border-bottom:2px solid transparent;
  padding-bottom:3px;
  line-height:1.35;
  transition:border-color .2s ease,color .2s ease;
}
.legal .toc a:hover,
.legal .toc a:focus{border-bottom-color:rgba(255,107,45,.5);outline:0}
.legal .toc a.active{
  color:var(--royal,#223C8F);
  border-bottom-color:var(--blood,#ff6b2d);
  font-weight:700;
}
.legal .toc ol{margin:10px 0 0; padding-left:1.1rem}
.legal .toc li{margin:.35rem 0}

/* offset pt. header fix + accent pe secțiunea curentă */
.legal section[id]{scroll-margin-top:110px}
@media (max-width: 780px){ .legal section[id]{scroll-margin-top:84px} }
.legal :target h2{
  background:linear-gradient(90deg,rgba(255,107,45,.10),transparent);
  border-radius:10px;padding:.25rem .4rem
}

/* „Sus ↑” */
.legal .back-to-top{display:inline-block;padding:.55rem .9rem;border-radius:999px;background:var(--royal,#223C8F);color:#fff}
.legal .back-to-top:hover{background:#1b2f72;color:#fff}

/* --- Social Wall --- */
.socialwall .sw-head { margin-bottom: 24px; }
.socialwall .sw-head .section-title { margin: 6px 0 8px; }

.sw-grid {
  --gap: 18px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--gap);
}
@media (max-width: 1200px){ .sw-grid{ grid-template-columns: repeat(8,1fr);} }
@media (max-width: 768px){ .sw-grid{ grid-template-columns: repeat(4,1fr);} }

.sw-item {
  grid-column: span 4;            /* 3 pe rând desktop */
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 6px 24px rgba(20,24,62,.08);
  padding: 10px;
}
@media (max-width: 1200px){ .sw-item{ grid-column: span 4; } }
@media (max-width: 768px){ .sw-item{ grid-column: span 4; padding: 6px; } }

.sw-item blockquote.tiktok-embed,
.sw-item iframe { width: 100% !important; }

.card {
  background:#fff;border:1px solid rgba(20,24,62,.08);border-radius:16px;padding:16px
}
.sw-note { margin-top: 18px; }

/* Swiper: nu lăsa containerul să colapseze și permite overflow-ul necesar */
.ot-testimonials-swiper { width: 100%; min-height: 1px; overflow: visible; }
.ot-testimonials-swiper .swiper,
.ot-testimonials-swiper .swiper-wrapper { overflow: visible; }

/* Slide-uri full-width, înălțime după conținut */
.ot-testimonials-swiper .swiper-slide{
  width: 100%;          /* important pentru unele teme/grid-uri */
  height: auto;         /* păstrează autoHeight corect */
  box-sizing: border-box;
}

/* (opțional) fixează o înălțime minimă ca să nu vezi “salturi” în timpul tranziției */
.tcard{ min-height: 320px; }   /* ajustează după cum îți place */
@media (max-width: 900px){ .tcard{ min-height: 0; } }

/* containerul */
.swiper.testimonials { overflow: hidden; }

/* important: wrapperul să nu strivească slide-urile */
.swiper.testimonials .swiper-wrapper{
  align-items: stretch;      /* slide-urile stau la înălțimea conținutului */
}

/* fiecare slide își ia înălțimea din conținut */
.swiper.testimonials .swiper-slide { height: auto; }

/* cardul tău din slide – o înălțime minimă ca să nu „clipească” */
.swiper.testimonials .tcard { min-height: 360px; }

/* dacă ai folosit înainte fade sau ai lăsat vreo regulă care ascunde slide-urile,
   o anulăm explicit ca să nu mai rămână „transparent”: */
.swiper.testimonials .swiper-slide {
  opacity: 1 !important;
  visibility: visible !important;
}

/* dacă ai layout pe grid în interior, lasă-l să se întindă frumos */
.swiper.testimonials .tcard{
  display: grid;
  grid-template-columns: 1fr 1.4fr; /* avatar + text */
  gap: clamp(16px, 4vw, 36px);
  align-items: center;
}
@media (max-width: 900px){
  .swiper.testimonials .tcard{ grid-template-columns: 1fr; }
}

/* Contact */
.contact-hero { padding: 46px 0 10px; background: linear-gradient(180deg,#f7f9ff,transparent); }
.contact-hero .page-title{ margin:0; font-weight:800; letter-spacing:-.02em; color:var(--royal,#2E4A9E); }

.contact-card .container{ display:grid; grid-template-columns: .9fr 1.1fr; gap: clamp(20px,4vw,40px); align-items:center; }
.contact-photo{ width:100%; height:auto; object-fit:contain; filter: drop-shadow(0 20px 40px rgba(15,23,42,.15)); }
.contact-name{ margin:.2rem 0 .4rem; font-weight:800; letter-spacing:-.01em; color:var(--ink,#0F172A) }
.contact-meta{ list-style:none; padding:0; margin:0 0 14px; display:grid; gap:6px }
.contact-meta a{ color:var(--royal,#2E4A9E); text-decoration:underline; text-underline-offset:3px }

.contact-ctas{ display:flex; flex-wrap:wrap; gap:12px; margin:12px 0 6px }
.socials{ display:flex; gap:12px; margin-top:10px }
.socials .soc{ width:40px; height:40px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; border:1px solid color-mix(in srgb,#fff 15%, var(--royal,#2E4A9E)); color:var(--royal,#2E4A9E); background:#fff; transition:.18s }
.socials .soc:hover{ transform:translateY(-1px); box-shadow:0 8px 18px rgba(15,23,42,.12) }

.contact-form .section-title{ margin:0 0 12px }
.basic-form{ display:grid; gap:12px; max-width: 820px }
.basic-form label{ display:grid; gap:6px; font-weight:600; color:var(--ink,#0F172A) }
.basic-form input, .basic-form textarea{
  border:1px solid var(--breeze,#E9EEF6); border-radius:12px; padding:12px 14px; font:inherit;
}
.basic-form button{ width:fit-content }

.presskit .presskit-logo{ max-width: 380px; width:100%; height:auto; }
.presskit .overline{ text-transform:uppercase; letter-spacing:.12em; opacity:.85; font-weight:800; margin:0 }
.t-royal{ color: var(--royal,#2E4A9E) }

@media (max-width:900px){
  .contact-card .container{ grid-template-columns: 1fr; }
  .contact-photo{ max-width: 420px; margin-inline:auto }
}
/* FX global – NU mai iese sub pagina */
body::before{
  content: "";
  position: fixed;
  /* top, right, bottom, left  → bottom = 0 */
  inset: -20% -20% 0 -20%;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(60% 120% at 12% 12%, color-mix(in srgb, var(--sunny) 45%, transparent) 0%, transparent 65%),
    radial-gradient(70% 120% at 88% 8%,  color-mix(in srgb, var(--sunrise) 38%, transparent) 0%, transparent 60%),
    radial-gradient(60% 120% at 50% 100%, color-mix(in srgb, var(--breeze) 80%, transparent) 0%, transparent 70%);
  filter: saturate(110%) blur(4px);
  opacity: .55;
}

/* Siguranță: footer fără umbre/border și lipit de jos */
html, body{ height:100%; margin:0; }
#page, .site, .site-wrap{ min-height:100%; display:flex; flex-direction:column; }
.footer, .site-footer{ margin-top:auto; border:0; box-shadow:none; position:relative; }

/* =========================================================
   MOBILE OVERHAUL (<= 760px)
   Lipit la finalul main.css – nu cere modificări HTML
   ========================================================= */
@media (max-width: 760px){

  /* ---- Layout & tipografie ---- */
  :root{
    --gap: 16px;
    --radius: 14px;
  }
  html{ scroll-behavior:smooth }
  body{ line-height:1.55; -webkit-text-size-adjust:100% }

  .container{ padding-inline: 16px; }
  .section{ padding: 40px 0; }
  .section-title{ font-size: clamp(22px, 6.2vw, 28px); margin-bottom: 14px }

  /* griduri → 1 coloană */
  .grid, .grid-2, .grid-3{ display:grid; gap: var(--gap); grid-template-columns: 1fr; }

  /* linkuri: contrast, fără “sărituri” */
  a{ text-underline-offset:3px }

  /* ---- Header & navigație ---- */
  .site-header .wrap{ padding: 10px 0; gap: 12px }
  .brand .site-name{ font-size: 0.98rem }
  .nav{ display:none !important }
  .header-cta{ display:inline-flex !important; margin-left:auto; order:2 }
  .header-cta .btn--sunset{ min-height:44px; padding:.8rem 1rem; border-radius:999px; font-weight:800 }
  .burger{ display:inline-flex !important; order:3; margin-left: 6px }

  /* drawer: full height, scroll ușor */
  .mobile-drawer{ height:100vh }
  .mobile-drawer__panel{
    width:min(94vw, 360px);
    height:100%;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding: 14px;
    box-shadow: -16px 0 32px rgba(15,23,42,.14);
  }
  .mobile-drawer__overlay{ background: transparent !important; opacity:0 !important }

  /* ---- Hero ---- */
  .hero{ padding: 56px 0 40px }
  .hero .overline,.hero .badge{
    display:inline-block; font-weight:800; letter-spacing:.12em;
    padding:.4rem .75rem; border-radius:999px; background:#fff; color:var(--royal);
    box-shadow:0 8px 18px rgba(15,23,42,.08);
  }
  .hero h1{
    margin:.5rem 0 .8rem;
    font-size: clamp(26px, 9vw, 38px);
    line-height:1.08; letter-spacing:-.02em;
  }
  .hero p{ margin:0 0 1rem; color:color-mix(in srgb,var(--ink) 86%, #fff) }
  .hero .grid-2{ gap: 16px }
  .hero-visual{ order:2; justify-content:center; margin-top: 8px }
  .hero-img{ width:min(82vw, 460px); -webkit-mask-image:linear-gradient(to bottom,#000 92%,transparent 100%); mask-image:linear-gradient(to bottom,#000 92%,transparent 100%) }

  /* CTA-uri full width */
  .hero .container .btn--sunset,
  .hero .container .btn--navy,
  .hero .container .btn--sunset-outline,
  .hero .container .btn--navy-outline{
    width:100%; min-width:0; justify-content:center;
    box-shadow:0 12px 22px color-mix(in srgb, var(--ink) 12%, transparent);
  }

  /* Bullets “cartonașe” */
  .hero .kpi-list{ margin:.6rem 0 0; padding:0; list-style:none; display:grid; gap: 10px }
  .hero .kpi-list li{
    display:flex; align-items:center; gap:10px; padding:.8rem 1rem;
    border-radius:14px; background:#fff; border:1px solid var(--breeze);
    box-shadow:0 8px 20px rgba(15,23,42,.08);
  }
  .hero .kpi-list li::before{
    content:""; width:8px; height:8px; border-radius:3px;
    background: linear-gradient(135deg, var(--sunrise), var(--blood));
    box-shadow: 0 2px 6px color-mix(in srgb, var(--blood) 30%, transparent);
  }

  /* ---- Carduri / resurse ---- */
  .card{ padding: 16px; border-radius: var(--radius); box-shadow:0 8px 18px rgba(15,23,42,.08) }
  .card h3{ font-size: clamp(18px, 5.2vw, 20px); margin-bottom: 8px }
  .card .btn--sunset, .card .btn--navy,
  .card .btn--sunset-outline, .card .btn--navy-outline{
    width:100%; text-align:center; margin-top:auto;
  }

  /* ---- Testimoniale (swiper) ---- */
  .ot-testimonials-swiper{ overflow:visible; }
  .swiper.testimonials{ overflow:hidden }
  .swiper.testimonials .swiper-wrapper{ align-items:stretch }
  .swiper.testimonials .swiper-slide{ height:auto; opacity:1 !important; visibility:visible !important }
  .swiper.testimonials .tcard{
    min-height: 0;
    display:grid;
    grid-template-columns: 1fr; gap: 16px; align-items:center;
  }
  .tcard__avatar{ width:min(70vw,360px); margin-inline:auto; aspect-ratio:1/1; border-radius:50%; overflow:hidden }
  .t-quote{ font-size: 16px }

  /* ---- Forme (contact/newsletter) ---- */
  .basic-form, .newsletter__form, .nl-form{ grid-template-columns: 1fr; gap: 12px }
  input[type="text"], input[type="email"], input[type="tel"], select, textarea{
    min-height:48px; border-radius:12px; font-size:16px; /* anti-zoom iOS */
  }
  textarea{ min-height:140px }
  .forminator-ui.forminator-custom--ov .forminator-button,
  button[type="submit"], .nl-btn{
    width:100%; min-height:48px; border-radius:999px; font-weight:800;
  }

  /* ---- Book hero / vizuale mari ---- */
  .book-wrap{ grid-template-columns: 1fr; gap: 16px }
  .book-visual{ justify-content:center; order:-1 }
  .book-visual img{ width:min(82vw, 460px) }
  .book-badges{ gap:12px; justify-content:center }
  .book-badges .qr{ height:56px }

  /* ---- Newsletter bar ---- */
  .nl-band, .nl-v2{ padding: 38px 0 }
  .nl-v2__wrap, .nl-wrap{ grid-template-columns: 1fr; gap: 14px }
  .nl-v2__btn{ width:100% }

  /* ---- Footer ---- */
  .footer .container, .footer-grid{ display:grid; gap: 12px; grid-template-columns: 1fr }
  .footer__grid{ grid-template-columns: 1fr; gap: 10px; padding: 20px 0 10px }
  .footer__brand{ order:-1 }
  .footer__social{ gap: 12px }
  .footer__social .soc{ width:40px; height:40px }
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:8px }

  /* ---- Spacing & FX globale ---- */
  body::before{ opacity:.42; filter:saturate(105%) blur(3px) }

  /* ---- Tap targets generos + focus vizibil ---- */
  .btn--sunset, .btn--navy, .btn--sunset-outline, .btn--navy-outline{ min-height:48px; padding: 1rem 1.1rem }
  .burger, .drawer-close{ width:42px; height:42px }
  :focus-visible{ outline:3px solid color-mix(in srgb, var(--royal) 70%, #fff); outline-offset:2px; border-radius:12px }
}
/* ============ Press section ============ */
.section-press { padding: clamp(40px, 6vw, 72px) 0; }

.press-wrap{
  display: grid;
  gap: clamp(18px, 4vw, 42px);
  align-items: center;
  grid-template-columns: 1fr;          /* mobil */
}

/* Coperta revistei */
.press-cover{
  margin: 0;
  max-width: 520px;                    /* limitează pe ecrane mici */
  width: 100%;
  justify-self: center;
}
.press-cover img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  box-shadow: 0 20px 48px rgba(15,23,42,.18);
  background: #fff;                    /* prevenim „transparent gaps” */
}

/* Text */
.press-copy .overline{
  margin: 0 0 6px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 800;
  color: color-mix(in srgb, var(--ink) 70%, #fff);
  opacity: .9;
}
.section-press .section-title{
  margin: .2rem 0 .6rem;
  font-weight: 800;
  letter-spacing: -.02em;
}
.t-sunrise{ color: var(--sunrise); }
.t-royal{ color: var(--royal); }
.section-press p{ margin: 0 0 .9rem; color: var(--ink); }
.section-press p.muted{ color: var(--concrete); }

/* Logouri publicații */
.press-logos{
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(10px, 2.6vw, 18px);
  align-items: center;
}
.press-logos li{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(8px, 1.8vw, 12px);
  border: 1px solid var(--breeze);
  border-radius: 12px;
  background: #fff;
}
.press-logos img{
  max-height: clamp(26px, 5vw, 42px);
  width: auto;
  height: auto;
  display: block;
  filter: saturate(0.9) contrast(1.02);
  transition: transform .18s ease, filter .18s ease;
}
.press-logos li:hover img{
  transform: translateY(-1px);
  filter: none;
}

/* ========= Breakpoints ========= */
@media (min-width: 900px){
  .press-wrap{
    grid-template-columns: .95fr 1.05fr;  /* copertă + text */
  }
  .press-cover{ justify-self: start; }
  .press-logos{
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
  }
}

@media (min-width: 1200px){
  .press-cover{ max-width: 620px; }
  .press-logos img{ max-height: 46px; }
}
/* --- Press cover: smaller sizes --- */
.section-press .press-cover{
  max-width: 320px;          /* mobil */
}
.section-press .press-cover img{
  box-shadow: 0 14px 32px rgba(15,23,42,.16);
  border-radius: 12px;
}

@media (min-width: 900px){
  .section-press .press-cover{ max-width: 400px; }   /* tablet / desktop mic */
}
@media (min-width: 1200px){
  .section-press .press-cover{ max-width: 480px; }   /* desktop mare */
}
.testi-more{ margin-top:16px; text-align:center }
.testi-more .btn--navy-outline{ min-width:260px }

/* =========================
   FIX Testimoniale – avatar, layout, slide
   ========================= */

/* Slide-urile nu mai stau „pe centru” ca flex; lăsăm cardul să se așeze normal */
.swiper.testimonials .swiper-slide{ display:block !important; height:auto; }

/* Card: două coloane pe desktop, stivă pe mobil */
.swiper.testimonials .tcard{
  display:grid;
  grid-template-columns: clamp(180px,28vw,300px) 1fr;
  gap: clamp(16px,3.2vw,32px);
  align-items:center;
  min-height: 0;
}
@media (max-width: 900px){
  .swiper.testimonials .tcard{ grid-template-columns: 1fr; }
}

/* Avatar: containerul face inelul, nu <img> */
.tcard__avatar{
  display:grid; place-items:center;
  width: clamp(160px,26vw,280px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  /* grosimea inelului = padding */
  padding: 10px;
  /* inel gradient + disc alb dedesubt (padding-box) */
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(var(--sunrise), var(--blood)) border-box;
  border: 0 solid transparent;
  overflow: hidden;           /* ține fotografia rotundă în interior */
  box-shadow: 0 14px 36px color-mix(in srgb, var(--ink) 14%, transparent);
  margin: 0;
}

/* Imaginea: full bleed în interiorul inelului */
.tcard__avatar img{
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 50%;
  /* anulăm vechiul efect care băga padding/mask pe <img> */
  padding: 0 !important;
  background: none !important;
  -webkit-mask: none !important;
          mask: none !important;
  box-shadow: none;
}

/* Corpul textului să poată micșora corect în grid */
.tcard__body{ min-width:0; }
.t-quote{ margin:0 0 .6rem; overflow-wrap:anywhere }

/* Bullets & pagination – rămân on-brand */
.swiper.testimonials .swiper-pagination-bullet{ background: var(--royal); opacity:.3 }
.swiper.testimonials .swiper-pagination-bullet-active{ opacity:1 }

/* ===== Testimoniale – avatar FIX (acceptă .t-avatar și .tcard__avatar) ===== */

/* layout mai compact */
.swiper.testimonials .tcard{
  display:grid;
  grid-template-columns: clamp(140px,24vw,220px) 1fr;
  gap: clamp(14px,3vw,28px);
  align-items:center;
}
@media (max-width: 900px){
  .swiper.testimonials .tcard{ grid-template-columns: 1fr; }
}

/* containerul avatarului creează inelul */
.t-avatar,
.tcard__avatar{
  display:grid; place-items:center;
  width: clamp(120px,22vw,200px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  padding: 10px;
  background:
    linear-gradient(#fff,#fff) padding-box,
    conic-gradient(var(--sunrise), var(--blood)) border-box;
  border: 0 solid transparent;
  overflow: hidden;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--ink) 14%, transparent);
  margin: 0;
}

/* imaginea din avatar – fără măști/padding, acoperă tot */
.t-avatar img,
.tcard__avatar img{
  width: 100%; height: 100%;
  object-fit: cover; display:block;
  border-radius: 50%;
  padding: 0 !important;
  background: none !important;
  -webkit-mask: none !important;
          mask: none !important;
  box-shadow: none !important;
}

/* când nu există avatar – ascunde cercul și center-ui textul pe mobil */
.tcard.no-avatar .t-avatar,
.tcard.no-avatar .tcard__avatar{ display:none; }

/* ascunde “cercul” când nu există avatar */
.tcard.no-avatar .tcard__avatar { display:none; }


/* ===== Testimonials slider — no avatar layout =====
   Paste in theme CSS (style.css) or inside <style> in front-page.php
================================================================= */

.ot-testimonials .card.tcard {
  /* trece la un singur-corp (fără coloană avatar) */
  display: block;
  grid-template-columns: none !important;
  gap: 0;
  padding: 28px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 36px rgba(11,18,36,0.06);
  min-height: 160px;
  align-items: stretch;
}

.ot-testimonials .card.tcard .tcard__avatar,
.ot-testimonials .card.tcard .tcard__avatar * {
  display: none !important; /* ascunde avatarul complet */
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.ot-testimonials .card.tcard .tcard__body {
  display: block;
  margin: 0;
  padding: 0;
}

.ot-testimonials .stars {
  color: #f08c2e;
  margin-bottom: 8px;
  font-size: 0.95rem;
}

/* Citat (accent, spațiere) */
.ot-testimonials .t-quote {
  font-size: 1.05rem;
  margin: 0 0 12px;
  color: #0f172a;
  line-height: 1.45;
  max-width: 80ch;
}

/* Nume & rol */
.ot-testimonials .tcard__name {
  margin: 8px 0 4px;
  font-weight: 800;
  color: #0f172a;
}
.ot-testimonials .tcard__role {
  margin: 0;
  color: #6b7280;
}

/* Slide container — păstrează padding-ul și min-height la ecrane mici */
.ot-testimonials .swiper-slide { display: flex; align-items: center; }

/* Ajustări responsive */
@media (max-width: 820px) {
  .ot-testimonials .card.tcard { padding: 20px; min-height: 0; }
  .ot-testimonials .t-quote { font-size: 1rem; }
}

/* Paginație & navigare (stiluri light) */
.ot-testimonials .swiper-pagination { margin-top: 14px; text-align:center; }
.ot-testimonials .swiper-button-next,
.ot-testimonials .swiper-button-prev {
  color: #2E4A9E;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 8px 22px rgba(15,23,42,0.06);
  border: 1px solid rgba(46,74,158,0.06);
}

/* Buton "Vezi toate testimonialele" */
.ot-testimonials .testi-more { margin-top: 18px; text-align: center; }
.ot-testimonials .btn--navy-outline {
  border-color: #2E4A9E;
  color: #2E4A9E;
  background: #fff;
  padding: 12px 22px;
  border-radius: 999px;
  display: inline-block;
  font-weight: 800;
  text-decoration: none;
}

/* Defensive: dacă un avatar rămâne în markup, forțăm ascunderea și evităm gap-ul */
.tcard.no-avatar .tcard__avatar,
.tcard .tcard__avatar[style*="display:none"] { display:none !important; }

/* Mic polish: previne overflow vizual când conținutul e lung */
.ot-testimonials .card.tcard { overflow: hidden; }

/* ==============================
   BUTTONS - PREMIUM EFFECTS
   ============================== */
.btn,
.btn--sunset,
.btn--sunset-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 28px;
  border-radius: 100px;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.25s ease;
}

/* Solid Sunset Button */
.btn--sunset {
  background: linear-gradient(135deg, #f55f46, #f8ae56);
  color: #fff;
  box-shadow: 0 8px 20px rgba(245, 95, 70, 0.35);
}

.btn--sunset::before {
  content: "";
  position: absolute;
  top: 0;
  left: -150%;
  width: 150%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, 0.35),
    transparent
  );
  transform: skewX(-25deg);
}

.btn--sunset:hover::before {
  left: 150%;
  transition: left 1.2s ease;
}

.btn--sunset:hover {
  transform: scale(1.04);
  box-shadow: 0 12px 28px rgba(245, 95, 70, 0.45);
}

/* Outline Sunset Button */
.btn--sunset-outline {
  border: 2px solid #f55f46;
  color: #f55f46;
  background: transparent;
}

.btn--sunset-outline::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f55f46, #f8ae56);
  transition: left 0.35s ease;
  z-index: 0;
}

.btn--sunset-outline:hover::before {
  left: 0;
}

.btn--sunset-outline span {
  position: relative;
  z-index: 1;
  transition: color 0.25s ease 0.05s;
}

.btn--sunset-outline:hover span {
  color: #fff;
}

/* ==============================
   FOOTER - CLEAN + NEWSLETTER
   ============================== */
.site-footer {
  background: #0c0c0c;
  color: #eee;
  padding: 60px 20px 20px;
  font-size: 0.9rem;
  line-height: 1.6;
}

.site-footer .footer-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.site-footer h4 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: #fff;
}

.site-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer ul li a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.25s;
}

.site-footer ul li a:hover {
  color: #f55f46;
}

/* Newsletter */
.footer-newsletter {
  background: #111;
  padding: 24px;
  border-radius: 12px;
}

.footer-newsletter p {
  margin-bottom: 16px;
  color: #ccc;
}

.footer-newsletter form {
  display: flex;
  gap: 12px;
}

.footer-newsletter input[type="email"] {
  flex: 1;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid #333;
  background: #1a1a1a;
  color: #fff;
  transition: all 0.25s ease;
}

.footer-newsletter input[type="email"]:focus {
  border-color: #f55f46;
  box-shadow: 0 0 0 3px rgba(245, 95, 70, 0.3);
}

.footer-newsletter button {
  border: none;
  padding: 0 20px;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  background: linear-gradient(135deg, #f55f46, #f8ae56);
  color: #fff;
  transition: transform 0.25s ease;
}

.footer-newsletter button:hover {
  transform: scale(1.05);
}

/* ==============================
   HERO / BOOK VISUAL
   ============================== */
.book-visual img {
  max-width: 100%;
  border-radius: 20px;
  transition: transform 0.35s ease, filter 0.35s ease;
}

.book-visual img:hover {
  transform: translateY(-12px) scale(1.04);
  filter: brightness(1.05);
}

.book-visual .overline {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 700;
  color: #f55f46;
  animation: fade-in 0.8s ease;
}

@keyframes fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-visual {
  position: relative;
}

.herophoto {
  position: absolute;
  right: 2.5rem;
  bottom: 1.5rem;
  text-align: right;
  font-family: 'Poppins', sans-serif;
  font-weight: 700; /* Bold */
  font-size: 1.05rem;
  letter-spacing: 0.02em;
  color: #111;
  line-height: 1.4;
  background: rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(5px);
  padding: 0.6rem 1rem;
  border-radius: 10px;
  transition: opacity 0.5s ease, transform 0.5s ease;
  opacity: 0;
  transform: translateY(10px);
}

/* Animare la intrare (dacă folosești data-animate) */
.hero-visual[data-animate="float-up"] .herophoto {
  opacity: 1;
  transform: translateY(0);
}

/* Pe ecrane mici — se centrează sub imagine */
@media (max-width: 992px) {
  .herophoto {
    position: static;
    text-align: center;
    margin: 1rem auto 0;
    background: transparent;
    backdrop-filter: none;
    padding: 0;
    color: #111;
  }
}



/* ==============================
   RESPONSIVE TWEAKS
   ============================== */
@media (max-width: 560px) {
  .btn,
  .btn--sunset,
  .btn--sunset-outline {
    padding: 10px 20px;
    font-size: 0.9rem;
  }

  .site-footer {
    text-align: center;
  }

  .footer-newsletter form {
    flex-direction: column;
  }

  .footer-newsletter button {
    width: 100%;
  }
}

/* Collapse excerpt */
.js-collapse {
  position: relative;
  overflow: hidden;
  transition: max-height 360ms ease;
  /* fallback: când JS nu rulează, afișăm tot conținutul — totuși limita explicită e setată din JS */
}

/* gradient fade în partea de jos */
.js-collapse::after {
  content: "";
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4.2rem; /* înălțimea zonei fade */
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 75%);
  transition: opacity .25s ease;
}

/* când e deschis, ascunde fade-ul */
.js-collapse.is-open::after { opacity: 0; height: 0; }

/* layout card + buton */
.collapse-toggle {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin-top: .8rem;
  background: transparent;
  border: 2px solid var(--royal, #2E4A9E);
  color: var(--royal, #2E4A9E);
  padding: .6rem 1.05rem;
  border-radius: 999px;
  cursor: pointer;
  font-weight:700;
}

/* mică animație pentru săgeată */
.collapse-toggle .arrow {
  display:inline-block;
  transform: rotate(0deg);
  transition: transform .28s ease;
}
.collapse-toggle[aria-expanded="true"] .arrow { transform: rotate(90deg); }

/* responsive */
@media (max-width:900px){
  .js-collapse::after { height:3.6rem; }
}


