/* ============================================================
   NUMERIQ — CSS-ul paginilor de text (13.11.2026)
   Reunește, în ordinea veche de încărcare: typography.css → v5.css → nq-oferta.css.
   Folosit de: articole, /calculator, /grila, /faq, /contact, /despre, /metodologie și paginile legale nedatate.
   ============================================================ */

/* ============================================
   NUMERIQ — Typography System
   Audience: 45-55 years, mobile-first
   Last updated: 2026
   ============================================ */

/* --- BASE --- */
body {
  font-size: 17px;
  font-family: 'Lora', serif;
  line-height: 1.6;
  font-weight: 400;
}

/* --- HEADINGS --- */
h1 { font-size: clamp(28px, 6vw, 42px); font-family: 'Cinzel', serif; line-height: 1.3; font-weight: 600; letter-spacing: 0.5px; }
h2 { font-size: clamp(22px, 4vw, 34px); font-family: 'Cinzel', serif; line-height: 1.35; font-weight: 600; letter-spacing: 0.5px; }
h3 { font-size: clamp(18px, 3vw, 26px); font-family: 'Lora', serif; line-height: 1.4; font-weight: 600; }
h4 { font-size: 18px; font-family: 'Lora', serif; line-height: 1.5; font-weight: 600; }

/* --- PARAGRAPHS & BODY --- */
p { font-size: 17px; line-height: 1.6; }
.article-body p,
.article-intro { font-size: 18px; line-height: 1.75; font-weight: 400; }
.lead { font-size: 19px; line-height: 1.7; font-weight: 300; }

/* --- LABELS & BADGES --- */
.result-type-badge { font-size: 14px; font-weight: 500; }

/* --- CARDS & CALCULATOR --- */
.step-title { font-size: 15px; font-weight: 600; line-height: 1.5; }
.step-text { font-size: 15px; font-weight: 400; line-height: 1.6; }
.result-number-title { font-size: 20px; font-weight: 400; }
.result-desc { font-size: 17px; line-height: 1.75; }

/* --- BUTTONS --- */
.toggle-btn { font-size: 14px; font-weight: 500; }

/* --- BREADCRUMBS --- */
.breadcrumb-sep { font-size: 13px; }
.breadcrumb a,
.breadcrumb span { font-size: 13px; line-height: 1.5; }

/* --- FOOTER --- */
footer { font-size: 14px; line-height: 1.6; }
.footer-copy { font-size: 13px; line-height: 1.6; font-weight: 400; }

/* --- INPUTS --- */
input[type="text"],
input[type="email"],
input[type="date"],
select,
textarea { font-size: 16px; line-height: 1.5; }

/* ============================================
   MOBILE OVERRIDES (max-width: 767px)
   ============================================ */
@media (max-width: 767px) {
  .article-body p,
  .article-intro { font-size: 17px; line-height: 1.7; }
  nav a,
  .nav-links a { font-size: 16px; }
  .step-text { font-size: 14px; }
  .step-title { font-size: 14px; }
  .result-desc { font-size: 16px; line-height: 1.8; }
  .section-eyebrow { font-size: 14px; }
  button,
  .btn,
  .btn-primary,
  .cta-button { font-size: 15px; }
}

@media (max-width: 480px) {
  .toggle-btn { font-size: 13px; }
  .section-eyebrow,
  .hero-eyebrow { font-size: 14px; }
}

/* ============================================
   UNIVERSAL CARD & PAGE COMPONENT SYSTEM
   Covers: articole, faq, contact, despre + future pages
   Rule: nothing readable below 14px, no weight 300 on body text
   NOTE: Acest bloc foloseste !important intentionat pentru
   uniformitate cross-page. Nu adauga duplicate in blocul 1.
   ============================================ */

/* --- Universal eyebrow labels (ALL pages) --- */
[class*="-eyebrow"],
[class*="-category"],
[class*="-badge"]:not(.badge-free):not(.badge-premium):not(.badge-soon) {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 2px;
}

/* --- Badge variants (decorative small labels) --- */
.article-badge { font-size: 11px !important; font-weight: 600 !important; }

/* --- Universal card titles --- */
[class*="-card-title"],
[class*="-article-title"],
.article-title,
.faq-question-text { font-size: 19px !important; font-weight: 600 !important; line-height: 1.45 !important; }

/* --- Universal card text / excerpts / descriptions --- */
[class*="-card-text"],
[class*="-card-desc"],
[class*="-excerpt"],
.faq-answer-inner,
.faq-answer-inner p { font-size: 17px !important; font-weight: 400 !important; line-height: 1.75 !important; }

/* --- Universal card email / links on cards --- */
[class*="-card-email"],
[class*="-card-link"] { font-size: 15px !important; font-weight: 500 !important; }

/* --- Article meta (date, read time) --- */
[class*="-meta"] { font-size: 13px !important; font-weight: 500 !important; }

/* --- Article read link --- */
[class*="-read-link"] { font-size: 14px !important; font-weight: 600 !important; }

/* --- Hero subtitles (ALL pages) --- */
[class*="-hero-sub"],
[class*="-hero-subtitle"],
.hero-subtitle { font-size: 17px !important; font-weight: 400 !important; line-height: 1.7 !important; }

/* --- CTA subtitle blocks --- */
[class*="-cta-sub"],
[class*="-cta-subtitle"],
[class*="-teaser-sub"],
.cta-subtitle { font-size: 16px !important; font-weight: 400 !important; line-height: 1.65 !important; }

/* --- Forms --- */
.form-section-title { font-size: 16px !important; font-weight: 600 !important; }
.form-label { font-size: 15px !important; font-weight: 500 !important; }
.form-input, .form-select, .form-textarea { font-size: 16px !important; font-weight: 400 !important; }
.form-submit { font-size: 16px !important; font-weight: 600 !important; }
.form-status { font-size: 15px !important; font-weight: 400 !important; }

/* --- Buttons (global, all pages) --- */
[class*="btn-"] { font-size: 16px !important; font-weight: 600 !important; }

/* --- Nav (all pages) --- */
.nav-links a, .mobile-menu a { font-size: 16px !important; font-weight: 500 !important; }
.nav-cta { font-size: 15px !important; font-weight: 600 !important; }

/* --- Footer --- */
.footer-links a { font-size: 14px !important; min-height: 44px; display: inline-flex; align-items: center; padding: 10px 8px; }

@media (max-width: 767px) {
  [class*="-card-title"],
  [class*="-article-title"],
  .article-title,
  .faq-question-text { font-size: 18px !important; }

  [class*="-card-text"],
  .article-excerpt,
  .faq-answer-inner p { font-size: 16px !important; }

  .hero-subtitle,
  [class*="-hero-sub"] { font-size: 16px !important; }

  /* Minimum 44px tap targets */
  footer a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .hamburger {
    min-width: 44px;
    min-height: 44px;
  }
}

/* ── Zero animații de apariție pe tot site-ul — conținut instant ── */
/* Neutralizează .fade-in (load) + .reveal/.reveal-child (scroll) definite inline pe cele 51 de pagini. */
/* !important e necesar: <style> inline vine după acest fișier în <head>. */
.fade-in,
.reveal,
.reveal-child {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* ============================================
   CONTRAST FIX — WCAG AA pe text mic
   Închide auriul/gri-ul DOAR pe elemente mici cu text.
   Text mare (h1 em, bignum) rămâne neatins.
   Calculat pe fundal ivory #FAF8F3: auriu #8A6D26 = 4.61, gri #73707D = 4.56.
   ============================================ */
.article-category-badge,
[class*="-category-badge"],
.breadcrumb a,
.breadcrumb span:not(.breadcrumb-current),
nav a.active,
.nav-links a.active {
  color: #8A6D26 !important;
}

[class*="footer-copy"] {
  color: #73707D !important;
}

/* ============================================================
   NUMERIQ · v5 "Bento" — Foundation stylesheet
   Variabilele de design partajate (--v5-*). Clasele .v5-* au fost scoase (12.11.2026).
   ============================================================ */
:root{
  --v5-ivory:      #FAF8F3;
  --v5-ink:        #23222F;
  --v5-ink-soft:   #5C5965;
  --v5-gold:       #A8842F;
  --v5-gold-brand: #C9A84C;
  --v5-card:       #FFFFFF;
  --v5-line:       #E9E5DC;
  --v5-navy:       #1A1A2E;
  --v5-r:          24px;
  --v5-r-pill:     99px;
}

/* ============================================================
   NUMERIQ — blocurile de ofertă din paginile cu trafic (site nou, 10.11.2026)
   Folosit de: articole, /calculator, /grila (pagini care au deja stilurile lor inline).
   Toate clasele au prefixul nqo- ca să nu se lovească de stilurile inline ale articolelor.
   Sursa: machetele aprobate (machete/bloc-oferta.html). Fonturile (Cinzel / Lora) le are deja pagina.
   (Butonul fix de jos „.nqo-gobar” a fost scos din pagini la 11.11.2026; regulile lui au ieșit aici la 13.11.2026.)
   ============================================================ */
.nqo,.nqo-band,.nqo-upcards,.nqo-trust{
  --nqo-ink:#23222F;--nqo-soft:#5C5965;--nqo-gold:#A8842F;--nqo-gold-brand:#C9A84C;--nqo-gold-aa:#8A6D26;
  --nqo-line:#E9E5DC;--nqo-navy:#1A1A2E;--nqo-cta:linear-gradient(135deg,#B08A32,#8A6D26);
}
.nqo *,.nqo-band *,.nqo-upcards *{box-sizing:border-box}
.nqo .nw,.nqo-band .nw,.nqo-upcards .nw,.nqo-trust .nw{white-space:nowrap}
.nqo small,.nqo-band small,.nqo-upcards small,.nqo-trust small{font-size:.6em;font-weight:inherit;letter-spacing:0;line-height:1}

/* ── Blocul de ofertă (mijloc / final de articol) ── */
.nqo{display:grid;gap:18px;grid-template-columns:1fr;margin:28px 0;padding:24px 22px;border-radius:24px;background:linear-gradient(165deg,#FFFEFB,#FBF6EA);border:1.5px solid rgba(201,168,76,.45);color:var(--nqo-ink);text-align:left;hyphens:manual;-webkit-hyphens:manual}
.nqo__head{display:flex;gap:16px;align-items:flex-start}
.nqo__lbl{display:block;margin:0 0 8px;font-family:'Lora',Georgia,serif;font-size:13px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--nqo-gold-aa);text-wrap:balance}
.nqo h3.nqo__t,.nqo .nqo__t{font-family:'Lora',Georgia,serif;font-size:21px;font-weight:600;line-height:1.3;margin:0 0 6px;color:var(--nqo-ink);text-wrap:balance}
.nqo p.nqo__p,.nqo .nqo__p{font-size:16px;line-height:1.6;color:var(--nqo-soft);margin:0;text-wrap:pretty}
.nqo__buy{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.nqo__alt{font-size:16px;line-height:1.5;color:var(--nqo-soft);margin:0}
.nqo__alt a{display:inline-flex;align-items:center;min-height:48px;color:var(--nqo-gold-aa);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(min-width:760px){
  .nqo__buy{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 22px}
}

/* ── Miniatura paginii din PDF ── */
.nqo-sample{flex-shrink:0;width:92px;aspect-ratio:210/297;background:#fff;border:1px solid var(--nqo-line);border-radius:8px;box-shadow:0 8px 20px rgba(35,34,47,.12);padding:10px 9px;display:flex;flex-direction:column;gap:5px;overflow:hidden}
.nqo-sample__brand{font-family:'Cinzel',serif;font-size:6px;letter-spacing:1.5px;color:var(--nqo-gold);text-align:center}
.nqo-sample__title{font-family:'Cinzel',serif;font-weight:700;font-size:8px;line-height:1.3;text-align:center;color:var(--nqo-ink)}
.nqo-sample__num{font-family:'Cinzel',serif;font-weight:700;font-size:26px;line-height:1;color:var(--nqo-gold-brand);text-align:center;margin:2px 0}
.nqo-sample__line{height:4px;border-radius:3px;background:#EFEBE2}
.nqo-sample__line.s{width:62%}.nqo-sample__line.m{width:84%}
@media(min-width:760px){.nqo-sample{width:120px}}

/* ── Butonul auriu ── */
.nqo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:420px;min-height:56px;padding:10px 26px;border-radius:99px;border:none;background:var(--nqo-cta);color:#fff!important;font-family:'Lora',Georgia,serif;font-size:18px;font-weight:600;line-height:1.25;text-align:center;text-decoration:none!important;white-space:normal;text-wrap:balance;box-shadow:0 6px 18px rgba(138,109,38,.28);transition:box-shadow .15s ease,transform .15s ease}
.nqo-btn:hover{box-shadow:0 10px 28px rgba(138,109,38,.4)}
.nqo-btn:active{transform:scale(.98)}
.nqo-btn:focus-visible{outline:3px solid var(--nqo-gold-brand);outline-offset:3px}
@media(min-width:760px){.nqo__buy .nqo-btn{width:auto}}

/* ── Rândul de preț / încredere ── */
.nqo-trust{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0;font-family:'Lora',Georgia,serif;font-size:15px;line-height:1.5;color:var(--nqo-soft)}
.nqo-trust li{position:relative;padding-left:22px;margin:0}
.nqo-trust li::before{content:"✓";position:absolute;left:0;color:var(--nqo-gold);font-weight:600}
.nqo-trust b{font-weight:600;color:var(--nqo-ink)}
.nqo-trust--center{justify-content:center}

/* ── Banda de sus (articolele „an personal”) ── */
.nqo-band{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;min-height:52px;margin:14px 0;padding:10px 16px;background:var(--nqo-navy);color:#fff!important;border-radius:14px;font-family:'Lora',Georgia,serif;font-size:16px;line-height:1.35;text-decoration:none!important}
.nqo-band b{color:var(--nqo-gold-brand);font-weight:600;white-space:nowrap}
.nqo-band i{font-style:normal;color:var(--nqo-gold-brand);font-weight:600;white-space:nowrap}

/* ── Calculator / grilă: cardurile de sub rezultat ── */
.nqo-upcards{display:grid;gap:14px;grid-template-columns:1fr;margin:18px 0 0;text-align:left;font-family:'Lora',Georgia,serif}
@media(min-width:760px){.nqo-upcards{grid-template-columns:1fr 1fr}}
.nqo-upcard{display:flex;flex-direction:column;gap:10px;padding:24px 22px;border-radius:24px;background:#fff;border:2px solid var(--nqo-gold-brand);color:var(--nqo-ink)}
.nqo-upcard--navy{background:var(--nqo-navy);border-color:var(--nqo-navy);color:#FAF8F3}
.nqo-upcard h3{font-family:'Lora',Georgia,serif;font-size:20px;font-weight:600;line-height:1.3;margin:0;color:inherit;text-wrap:balance}
.nqo-upcard--navy h3{color:#fff}
.nqo-upcard p{font-size:16px;line-height:1.6;margin:0;color:var(--nqo-soft);text-wrap:pretty}
.nqo-upcard--navy p{color:#B9B5BE}
.nqo-upcard .nqo__lbl{margin:0}
.nqo-upcard--navy .nqo__lbl{color:var(--nqo-gold-brand)}
.nqo-upcard .nqo-btn{width:100%;max-width:none}
.nqo-price{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap}
.nqo-price__n{font-family:'Cinzel',serif;font-weight:700;font-size:28px;line-height:1;color:var(--nqo-ink)}
.nqo-price__u{font-size:15px;color:var(--nqo-soft)}
.nqo-upcard--navy .nqo-price__n{color:#fff}
.nqo-upcard--navy .nqo-price__u{color:#B9B5BE}

/* ── Întărire: regulile inline ale articolelor (.article-body ul li, ::before „—”, p 19px, a)
   au specificitate (0,1,1)–(0,1,3) și băteau clasele de mai sus. Clasa dublată (0,2,x) le bate
   oriunde stă blocul, fără să atingem articolele. ── */
ul.nqo-trust.nqo-trust{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.nqo-trust.nqo-trust li{position:relative;padding-left:22px;margin:0;font-size:15px;line-height:1.5;color:var(--nqo-soft)}
.nqo-trust.nqo-trust li::before{content:"✓";position:absolute;left:0;top:0;color:var(--nqo-gold);font-weight:600}
p.nqo__alt.nqo__alt{font-size:16px;line-height:1.5;color:var(--nqo-soft);margin:0}
.nqo__alt.nqo__alt a{display:inline-flex;align-items:center;min-height:48px;color:var(--nqo-gold-aa);font-weight:600;text-decoration:underline;text-underline-offset:3px}
p.nqo__p.nqo__p{font-size:16px;line-height:1.6;color:var(--nqo-soft);margin:0}
p.nqo__t.nqo__t{font-family:'Lora',Georgia,serif;font-size:21px;font-weight:600;line-height:1.3;margin:0 0 6px;color:var(--nqo-ink)}
.nqo-upcard.nqo-upcard p{font-size:16px;line-height:1.6;margin:0;color:var(--nqo-soft)}
.nqo-upcard--navy.nqo-upcard--navy p{color:#B9B5BE}
.nqo-upcard.nqo-upcard h3{font-family:'Lora',Georgia,serif;font-size:20px;font-weight:600;line-height:1.3;margin:0}

@media(prefers-reduced-motion:reduce){.nqo-btn,.nqo-band{transition:none}}
