/* =========================================================================
   Cabinet Avocat Badea — skin public „Cerneală & Hârtie" (redesign 07.2026)
   Se încarcă DOAR pe paginile publice, după style.css, și re-tematizează
   token-urile comune. Aplicația (admin/client) nu încarcă acest fișier.
   Paletă: hârtie albă / cerneală albastru-închis / albastru de semnătură /
   roșu de ștampilă. Fonturi: Newsreader + Public Sans + Fragment Mono.
   ========================================================================= */

:root {
    --bone:        #FBFAF6;   /* hârtie — fundalul paginii */
    --bone-2:      #F1F0E9;   /* panouri umbrite */
    --paper:       #FFFFFF;
    --ink:         #141C2E;   /* cerneală albastru-negru */
    --ink-soft:    #232D44;
    --muted:       #57617A;
    --muted-2:     #8A93A8;
    --line:        #E3E1D6;
    --line-strong: #CCCBBE;
    --accent:      #2743D0;   /* albastru de semnătură */
    --accent-2:    #1C2F9E;
    --accent-soft: #E7EAFB;
    --gold:        #A08440;
    --green:       #2E6B3F;
    --red:         #9A2A2A;
    --rose:        #A7B6FF;   /* accent pe fundal închis */
    --ink-2:       #2B3550;   /* borduri pe fundal închis */
    --muted-on-ink:#96A0B8;
    --stamp:       #BF3B2F;   /* roșu de ștampilă — folosit rar */
    --hl:          #F5E47C;   /* evidențiator galben */

    --radius:      12px;
    --radius-sm:   8px;
    --radius-lg:   18px;

    --shadow-1: 0 1px 2px rgba(20,28,46,.05);
    --shadow-2: 0 6px 24px rgba(20,28,46,.07);
    --shadow-3: 0 18px 50px rgba(20,28,46,.12);

    --font-display: 'Newsreader', Georgia, 'Times New Roman', serif;
    --font-body:    'Public Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    --font-mono:    'Fragment Mono', ui-monospace, 'SF Mono', Menlo, monospace;

    --container: 1160px;
}

/* ---------- Bază ---------- */
body { font-size: 16.5px; }
::selection { background: var(--accent); color: #fff; }

h1, h2, h3 {
    font-variation-settings: normal;
    font-weight: 500;
    letter-spacing: -0.015em;
    line-height: 1.04;
}
h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); }
h2 { font-size: clamp(1.9rem, 4vw, 2.9rem); font-weight: 480; }
h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); font-weight: 520; }
h1 em, h2 em, h3 em { font-style: italic; font-weight: 420; color: var(--accent); }

.display { font-variation-settings: normal; font-weight: 480; letter-spacing: -0.02em; line-height: 1.0; }

a:hover { color: var(--accent); }
.lead { font-size: clamp(1.06rem, 1.6vw, 1.24rem); line-height: 1.65; }

/* Etichetă mono — înlocuiește eyebrow-ul pe paginile noi */
.mono-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-mono);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .16em;
    color: var(--muted);
}
.mono-label::before {
    content: "";
    width: 7px; height: 7px;
    border: 1.5px solid var(--accent);
    display: inline-block;
    transform: rotate(45deg);
}
.mono-label--center { justify-content: center; }

/* Vizibil doar pentru screen readere / crawlere — headinguri de structură */
.sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Evidențiator galben pe cuvinte-cheie */
mark.hl {
    background: linear-gradient(transparent 52%, var(--hl) 52%, var(--hl) 94%, transparent 94%);
    color: inherit;
    padding: 0 2px;
}
.cta-final mark.hl { background: linear-gradient(transparent 52%, rgba(245,228,124,.35) 52%, rgba(245,228,124,.35) 94%, transparent 94%); color: inherit; }

/* Adnotare de margine — nota avocatului, serif italic albastru */
.annot {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.08rem;
    line-height: 1.5;
    color: var(--accent);
    display: flex;
    gap: 10px;
    align-items: flex-start;
    max-width: 34ch;
}
.annot svg { width: 26px; height: 26px; flex: 0 0 auto; margin-top: 2px; }

/* Secțiuni */
.sec { padding: clamp(68px, 10vw, 120px) 0; }
.sec-tight { padding: clamp(44px, 6vw, 72px) 0; }
.sec-intro { max-width: 640px; margin-bottom: clamp(36px, 5vw, 56px); }
.sec-intro.center { margin-left: auto; margin-right: auto; text-align: center; }
.sec-intro h2 { margin-top: 14px; }
.sec-intro .lead { margin-top: 10px; color: var(--muted); }
.sec-shade { background: var(--bone-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

/* ---------- Bară de progres la citire (scroll-driven, doar CSS) ---------- */
.read-progress { display: none; }
@supports (animation-timeline: scroll()) {
    .read-progress {
        display: block;
        position: fixed;
        top: 0; left: 0;
        width: 100%; height: 3px;
        background: var(--accent);
        transform-origin: 0 50%;
        transform: scaleX(0);
        z-index: 2000;
        animation: readGrow linear both;
        animation-timeline: scroll(root);
        pointer-events: none;
    }
    @keyframes readGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
}

/* ---------- Header ---------- */
.site-header {
    background: color-mix(in srgb, var(--bone) 88%, transparent);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line);
}
.site-header.scrolled { box-shadow: 0 4px 24px rgba(20,28,46,.06); }
.brand-mark {
    background: var(--ink);
    color: var(--bone);
    font-family: var(--font-display);
    font-weight: 500;
    border-radius: 8px;
    position: relative;
}
.brand-mark::after {
    content: "";
    position: absolute;
    inset: 3px;
    border: 1px solid color-mix(in srgb, var(--bone) 34%, transparent);
    border-radius: 5px;
    pointer-events: none;
}
.brand-text strong { font-family: var(--font-display); font-weight: 520; letter-spacing: 0; }
.brand-text span { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; }
.nav a { font-weight: 500; font-size: .92rem; }
.nav a.active::after { background: var(--accent); }

/* ---------- Butoane ---------- */
.btn { border-radius: 10px; font-weight: 600; letter-spacing: .005em; }
.btn-primary {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
}
.btn-primary:hover { background: var(--accent-2); border-color: var(--accent-2); color: #fff; transform: translateY(-1px); }
.btn-accent {
    background: var(--bone);
    color: var(--ink);
    border-color: var(--bone);
}
.btn-accent:hover { background: #fff; color: var(--ink); transform: translateY(-1px); }
.btn-ghost { border: 1px solid var(--line-strong); color: var(--ink); }
.btn-ghost:hover { border-color: var(--ink); color: var(--ink); background: transparent; }

/* ---------- Sistemul de ilustrații „desenate cu stiloul" ----------
   SVG-urile cu clasa .draw au path-uri cu pathLength="1" care se
   desenează singure când elementul .reveal părinte primește .in. */
.draw path, .draw circle, .draw rect, .draw line, .draw polyline, .draw ellipse {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
html.js .draw [pathLength] {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    transition: stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1);
}
.reveal.in .draw [pathLength], .draw.in [pathLength] { stroke-dashoffset: 0; }
.reveal.in .draw [pathLength]:nth-of-type(2) { transition-delay: .25s; }
.reveal.in .draw [pathLength]:nth-of-type(3) { transition-delay: .5s; }
.reveal.in .draw [pathLength]:nth-of-type(4) { transition-delay: .7s; }
.reveal.in .draw [pathLength]:nth-of-type(5) { transition-delay: .85s; }
.reveal.in .draw [pathLength]:nth-of-type(6) { transition-delay: 1s; }
.reveal.in .draw [pathLength]:nth-of-type(7) { transition-delay: 1.1s; }
.reveal.in .draw [pathLength]:nth-of-type(8) { transition-delay: 1.2s; }

/* ---------- HERO ---------- */
.hero-ink {
    position: relative;
    padding: clamp(56px, 8vw, 104px) 0 clamp(48px, 6vw, 80px);
    overflow: clip;
}
.hero-ink .container {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}
.hero-para {
    position: absolute;
    top: -60px; right: -30px;
    font-family: var(--font-display);
    font-size: clamp(280px, 34vw, 520px);
    line-height: 1;
    color: var(--bone-2);
    user-select: none;
    pointer-events: none;
    z-index: -1;
    font-style: italic;
}

/* Hook-ul: fraza de legalese tăiată cu o linie de cerneală */
.hero-legalese {
    display: block;
    font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    font-size: clamp(1rem, 1.9vw, 1.3rem);
    line-height: 1.45;
    color: var(--muted-2);
    max-width: 44ch;
    margin-bottom: 18px;
    opacity: 0;
    animation: heroFadeIn .6s ease .15s forwards;
}
.hero-legalese s {
    text-decoration: line-through;
    text-decoration-color: var(--accent);
    text-decoration-thickness: 2px;
    text-decoration-skip-ink: none;
    animation: strikeDraw .5s ease .95s backwards;
}
@keyframes strikeDraw { from { text-decoration-color: transparent; } to { text-decoration-color: var(--accent); } }
.hero-h1 { margin: 0 0 .35em; }
.hero-plain {
    display: block;
    opacity: 0;
    transform: translateY(14px);
    animation: heroRise .7s cubic-bezier(.2,.7,.2,1) 1.5s forwards;
}
.hero-sub {
    opacity: 0;
    animation: heroFadeIn .7s ease 1.9s forwards;
}
.hero-sub .lead { color: var(--muted); max-width: 50ch; }
.hero-cta-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }

@keyframes heroFadeIn { to { opacity: 1; } }
@keyframes heroRise { to { opacity: 1; transform: none; } }

/* Statistici hero — registru contabil, cifre mono */
.fact-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px clamp(14px, 2vw, 28px);
    margin-top: clamp(30px, 4vw, 46px);
    padding-top: 22px;
    border-top: 1px solid var(--line);
}
.fact-row strong {
    display: block;
    font-family: var(--font-mono);
    font-weight: 400;
    font-size: clamp(1.5rem, 2.6vw, 2rem);
    color: var(--ink);
    letter-spacing: -.02em;
}
.fact-row span { font-size: .8rem; color: var(--muted); }

/* Documentul ilustrat din dreapta hero-ului */
.hero-doc { position: relative; max-width: 430px; margin-left: auto; }
.hero-doc-sheet {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-3);
    padding: clamp(22px, 3vw, 34px) clamp(22px, 3vw, 32px);
    transform: rotate(1.2deg);
}
.hero-doc::before {
    content: "";
    position: absolute;
    inset: 14px -14px -14px 14px;
    background: var(--bone-2);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    transform: rotate(-1.6deg);
    z-index: -1;
}
.hero-doc-head {
    font-family: var(--font-mono);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: var(--muted-2);
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 14px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--line);
}
.hero-doc-line {
    height: 9px;
    border-radius: 4px;
    background: var(--bone-2);
    margin-bottom: 12px;
}
.hero-doc-line.w60 { width: 60%; }
.hero-doc-line.w85 { width: 85%; }
.hero-doc-line.w72 { width: 72%; }
.hero-doc-line.hl-line {
    background: linear-gradient(90deg, var(--hl), color-mix(in srgb, var(--hl) 55%, #fff));
    width: 78%;
}
.hero-doc-annot {
    font-family: var(--font-display);
    font-style: italic;
    color: var(--accent);
    font-size: 1.06rem;
    line-height: 1.4;
    margin: 16px 0 6px;
    display: flex;
    gap: 8px;
    align-items: flex-start;
}
.hero-doc-annot svg { width: 22px; height: 22px; flex: 0 0 auto; transform: scaleX(-1) rotate(-24deg); margin-top: -2px; }
.hero-doc-sign {
    margin-top: 18px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}
.hero-doc-sign svg { width: 130px; height: 44px; color: var(--accent); }
.hero-doc-sign .mono-tag { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-2); }

/* Ștampila CONFIDENȚIAL de pe documentul hero — lângă semnătură, ca pe un act real */
.stamp-mini {
    position: absolute;
    right: -22px;
    bottom: -26px;
    width: 104px; height: 104px;
    color: var(--stamp);
    transform: rotate(-11deg);
    opacity: .9;
}

/* ---------- Linia de încredere (verificabilă) ---------- */
.trustline {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: var(--paper);
}
.trustline-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(18px, 4vw, 56px);
    padding: 16px 0;
}
.trustline a, .trustline span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted);
}
.trustline a:hover { color: var(--accent); }
.trustline svg { width: 15px; height: 15px; stroke: currentColor; fill: none; stroke-width: 1.6; }
.trustline .ext { width: 11px; height: 11px; opacity: .6; }

/* ---------- Cele două drumuri: persoană / firmă ---------- */
.duo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 3vw, 32px);
}
.duo-card {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(26px, 3.4vw, 40px);
    display: flex;
    flex-direction: column;
    transition: transform var(--t-med), box-shadow var(--t-med), border-color var(--t-med);
}
.duo-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); border-color: var(--line-strong); }
.duo-card .draw { width: 64px; height: 64px; color: var(--accent); margin-bottom: 18px; }
.duo-card h3 { margin-bottom: 4px; }
.duo-kicker { font-family: var(--font-mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 14px; display: block; }
.duo-card p.duo-desc { color: var(--muted); margin-bottom: 18px; }
.duo-list { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 9px; }
.duo-list li {
    display: flex;
    gap: 10px;
    align-items: baseline;
    font-size: .95rem;
}
.duo-list li::before {
    content: "§";
    font-family: var(--font-display);
    font-style: italic;
    color: var(--accent);
    flex: 0 0 auto;
    font-size: .95rem;
}
.duo-cta { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--accent); }
.duo-cta svg { width: 16px; height: 16px; transition: transform var(--t-fast); }
.duo-cta:hover svg { transform: translateX(4px); }
.duo-note { text-align: center; margin: 26px auto 0; justify-content: center; }

/* ---------- Portalul: mockup UI al portalului de clienți ---------- */
.portal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    gap: clamp(36px, 5vw, 80px);
    align-items: center;
}
.portal-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 13px; max-width: 46ch; }
.portal-list li { display: flex; gap: 12px; align-items: baseline; font-size: 1rem; }
.portal-list li svg {
    width: 15px; height: 15px; flex: 0 0 auto;
    stroke: var(--accent); fill: none;
    stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round;
    transform: translateY(2px);
}
.portal-mock {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-3);
    padding: 0 0 10px;
    max-width: 470px;
    margin-left: auto;
    transform: rotate(-.6deg);
    overflow: hidden;
}
.portal-mock-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    border-bottom: 1px solid var(--line);
    background: var(--bone);
}
.pm-brand {
    width: 24px; height: 24px;
    background: var(--ink); color: var(--bone);
    border-radius: 6px;
    display: grid; place-items: center;
    font-family: var(--font-display);
    font-size: .82rem;
}
.pm-title { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pm-dot { margin-left: auto; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.pm-item { margin: 14px 16px 0; }
.pm-case {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 16px 18px;
    background: var(--paper);
}
.pm-case-top { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; font-size: .92rem; }
.pm-case-top strong { font-weight: 600; color: var(--ink); }
.pm-tag {
    flex: 0 0 auto;
    font-family: var(--font-mono);
    font-size: .6rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--accent);
    background: var(--accent-soft);
    border-radius: 5px;
    padding: 3px 8px;
}
.pm-progress { height: 5px; border-radius: 3px; background: var(--bone-2); margin: 12px 0 10px; overflow: hidden; }
.pm-progress span { display: block; height: 100%; width: 64%; border-radius: 3px; background: var(--accent); }
.pm-meta { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); }
.pm-row {
    display: flex;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 12px 16px;
    font-size: .9rem;
    color: var(--ink-soft);
}
.pm-row svg { width: 17px; height: 17px; flex: 0 0 auto; stroke: var(--accent); fill: none; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pm-paid { font-style: normal; color: var(--green); font-weight: 600; }
.pm-msg {
    background: var(--bone-2);
    border-radius: var(--radius) var(--radius) var(--radius) 4px;
    padding: 13px 16px;
    font-family: var(--font-display);
    font-style: italic;
    font-size: .98rem;
    color: var(--ink);
}
.pm-msg span { display: block; font-family: var(--font-mono); font-style: normal; font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-2); margin-top: 6px; }
/* Rândurile mockup-ului intră în cascadă după reveal */
html.js .portal-mock .pm-item { opacity: 0; transform: translateY(10px); transition: opacity .5s ease, transform .5s var(--ease); }
.portal-mock.reveal.in .pm-item { opacity: 1; transform: none; }
.portal-mock.reveal.in .pm-item:nth-child(3) { transition-delay: .15s; }
.portal-mock.reveal.in .pm-item:nth-child(4) { transition-delay: .3s; }
.portal-mock.reveal.in .pm-item:nth-child(5) { transition-delay: .45s; }

/* ---------- Cazuri: extrase din registru, rail orizontal ---------- */
.case-rail {
    display: flex;
    gap: 18px;
    overflow-x: auto;
    padding: 10px max(28px, calc((100vw - var(--container)) / 2 + 28px)) 26px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--line-strong) transparent;
}
.case-card {
    flex: 0 0 min(360px, 82vw);
    scroll-snap-align: center;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    --focus: 1;
    opacity: calc(.45 + .55 * var(--focus));
    transform: translateY(calc((1 - var(--focus)) * 8px));
}
.case-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-family: var(--font-mono);
    font-size: .66rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted-2);
    border-bottom: 1px solid var(--line);
    padding-bottom: 10px;
}
.case-meta .case-domain { color: var(--accent); }
.case-card p { margin: 0; font-size: .96rem; line-height: 1.6; }
.case-result {
    margin-top: auto;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.04rem;
    color: var(--ink);
    padding-top: 4px;
}
.case-note { text-align: center; font-family: var(--font-mono); font-size: .68rem; letter-spacing: .08em; color: var(--muted-2); text-transform: uppercase; }

/* ---------- Abonamente / tarife ---------- */
.tarif-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(18px, 2.6vw, 28px);
    align-items: stretch;
}
.tarif {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(24px, 3vw, 34px);
    display: flex;
    flex-direction: column;
    transition: transform var(--t-med), box-shadow var(--t-med);
}
.tarif:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }
.tarif-kicker { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-2); }
.tarif h3 { margin: 8px 0 2px; }
.tarif-price { display: flex; align-items: baseline; gap: 6px; margin-top: 14px; }
.tarif-price [data-price] { font-family: var(--font-mono); font-size: clamp(1.7rem, 2.6vw, 2.1rem); letter-spacing: -.02em; color: var(--ink); }
.tarif-cycle { font-size: .85rem; color: var(--muted); }
.tarif-note { font-size: .78rem; color: var(--muted-2); margin: 4px 0 0; font-family: var(--font-mono); }
.tarif-desc { color: var(--muted); font-size: .92rem; margin: 14px 0 0; }
.tarif-perks { list-style: none; margin: 18px 0 24px; padding: 18px 0 0; border-top: 1px solid var(--line); display: grid; gap: 10px; }
.tarif-perks li { display: flex; gap: 10px; align-items: baseline; font-size: .93rem; }
.tarif-perks li svg { width: 13px; height: 13px; flex: 0 0 auto; stroke: var(--accent); fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transform: translateY(1px); }
.tarif .btn { margin-top: auto; }
.tarif-featured { background: var(--ink); border-color: var(--ink); color: #E9ECF4; }
.tarif-featured h3, .tarif-featured .tarif-price [data-price] { color: #fff; }
.tarif-featured .tarif-desc { color: var(--muted-on-ink); }
.tarif-featured .tarif-cycle, .tarif-featured .tarif-note { color: var(--muted-on-ink); }
.tarif-featured .tarif-perks { border-top-color: var(--ink-2); }
.tarif-featured .tarif-perks li svg { stroke: var(--rose); }
.tarif-featured .tarif-kicker { color: var(--rose); }
.tarif-badge {
    position: absolute;
    top: -13px;
    left: 50%;
    transform: translateX(-50%) rotate(-1.5deg);
    font-family: var(--font-mono);
    font-size: .64rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--stamp);
    background: var(--bone);
    border: 1.5px solid var(--stamp);
    border-radius: 4px;
    padding: 4px 12px;
    white-space: nowrap;
}
.tarif-alt { text-align: center; margin-top: 30px; color: var(--muted); font-size: .95rem; }
.tarif-alt a { color: var(--accent); font-weight: 600; }

/* Toggle-ul lunar/anual — restilizat */
.billing-toggle { background: var(--paper); border: 1px solid var(--line-strong); border-radius: 10px; }
.billing-toggle button { font-family: var(--font-mono); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; border-radius: 7px; }
.billing-toggle button.active { background: var(--ink); color: var(--bone); }
.billing-toggle-save { color: var(--stamp); font-weight: 400; }
.billing-toggle button.active .billing-toggle-save { color: var(--hl); }

/* ---------- Banda „întreabă întâi AI" ---------- */
.ai-strip {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(26px, 4vw, 44px);
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: clamp(20px, 3vw, 40px);
    align-items: center;
}
.ai-strip .draw { width: 74px; height: 74px; color: var(--accent); }
.ai-strip h3 { margin-bottom: 6px; }
.ai-strip p { color: var(--muted); margin: 0; max-width: 56ch; }
.ai-strip .mono-tag { display: block; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-2); margin-top: 10px; }

/* ---------- CTA final pe cerneală ---------- */
.cta-final {
    position: relative;
    background: var(--ink);
    color: #DFE4EF;
    padding: clamp(76px, 10vw, 130px) 0;
    overflow: clip;
}
.cta-final h2 { color: #fff; }
.cta-final h2 em { color: var(--rose); }
.cta-final .lead { color: var(--muted-on-ink); }
.cta-final a:not(.btn) { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cta-final .btn-ghost { border-color: var(--ink-2); color: #E9ECF4; }
.cta-final .btn-ghost:hover { border-color: var(--rose); color: #fff; }
.cta-final .mono-label { color: var(--muted-on-ink); }
.cta-phone { font-family: var(--font-mono); font-size: .82rem; letter-spacing: .04em; color: var(--muted-on-ink); margin-top: 26px; }

/* Ștampila mare CONFIDENȚIAL */
.stamp-seal {
    position: absolute;
    right: clamp(-40px, 4vw, 90px);
    top: 50%;
    width: clamp(150px, 18vw, 230px);
    height: clamp(150px, 18vw, 230px);
    color: var(--stamp);
    opacity: 0;
    transform: translateY(-50%) rotate(14deg) scale(1.25);
    transition: opacity .5s ease .3s, transform .55s cubic-bezier(.2,1.2,.3,1) .3s;
    pointer-events: none;
}
.stamp-seal.reveal.in, .cta-final .reveal.in ~ .stamp-seal, .stamp-seal.in {
    opacity: .85;
    transform: translateY(-50%) rotate(-8deg) scale(1);
}
.stamp-face { width: 100%; height: 100%; }

/* ---------- Sub-pagini: antet de pagină ----------
   Neutralizează .page-head din style.css (acolo e antetul de APP: flex,
   h1 mic, border-bottom) — pe paginile publice e antetul editorial mare. */
.page-head {
    display: block;
    border-bottom: none;
    margin-bottom: 0;
    padding: clamp(52px, 7vw, 88px) 0 clamp(28px, 4vw, 44px);
}
.page-head h1 {
    font-size: clamp(2.3rem, 5vw, 3.8rem);
    font-weight: 500;
    max-width: 18ch;
    margin-top: 14px;
    margin-bottom: 0;
}
.page-head .lead { color: var(--muted); max-width: 54ch; margin-top: 12px; }
.page-head-rule {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid var(--line);
    padding-bottom: 16px;
    margin-top: clamp(24px, 4vw, 40px);
    font-family: var(--font-mono);
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}

/* ---------- Formulare (retuș peste style.css) ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select, textarea {
    font-family: var(--font-body);
    border-radius: var(--radius-sm);
}
label { font-weight: 600; font-size: .86rem; }

/* ---------- Footer ---------- */
.site-footer { background: var(--ink); border-top: none; }
.site-footer .brand-mark { background: var(--bone); color: var(--ink); }
.site-footer h5,
.site-footer .footer-h {
    font-family: var(--font-mono);
    font-weight: 400;
    letter-spacing: .14em;
    font-size: .68rem;
    text-transform: uppercase;
    color: var(--bone);
    margin: 0 0 14px;
}
.footer-sig { margin-top: 14px; color: var(--rose); width: 120px; height: 40px; }
.footer-bottom, .footer-legal { font-size: .78rem; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
    .hero-ink .container { grid-template-columns: 1fr; }
    .hero-doc { margin: 10px auto 0; max-width: 400px; }
    /* Pe ecrane înguste ștampila devine filigran în spatele textului */
    .stamp-seal { right: -20px; z-index: 0; }
    .stamp-seal.in, .stamp-seal.reveal.in { opacity: .16; }
    .cta-final .container { position: relative; z-index: 1; }
}
@media (max-width: 900px) {
    .duo-grid { grid-template-columns: 1fr; }
    .tarif-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
    .ai-strip { grid-template-columns: 1fr; text-align: left; }
    .ai-strip .draw { width: 58px; height: 58px; }
    .portal-grid { grid-template-columns: 1fr; }
    .portal-mock { margin: 8px auto 0; transform: none; }
}
@media (max-width: 720px) {
    .hero-ink { padding-top: 36px; }
    .hero-legalese { font-size: .95rem; }
    .fact-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .case-rail { padding-left: 20px; padding-right: 20px; }
    .hero-doc-sheet { transform: rotate(.8deg); }
    .stamp-mini { width: 84px; height: 84px; right: -12px; top: -16px; }
}
@media (max-width: 420px) {
    .hero-cta-row .btn { width: 100%; justify-content: center; }
    .duo-card { padding: 22px 20px; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
    .hero-legalese, .hero-plain, .hero-sub { animation: none; opacity: 1; transform: none; }
    .hero-legalese s { animation: none; }
    .draw [pathLength] { transition: none; stroke-dashoffset: 0; }
    .stamp-seal { transition: none; opacity: .85; transform: translateY(-50%) rotate(-8deg); }
    .read-progress { display: none; }
    .case-card { opacity: 1; transform: none; }
    html.js .portal-mock .pm-item { opacity: 1; transform: none; transition: none; }
}


/* =========================================================================
   CSS per pagină (generat în redesign 07.2026): servicii / despre / faq /
   contact / asistent. Prefixe: sv- ab- fq- ct- ai2-
   ========================================================================= */

/* ---- servicii.php ---- */
/* Fișele de serviciu — meta mono de dosar deasupra titlului */
.sv-meta {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
    font-family: var(--font-mono);
    font-size: .64rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
    border-bottom: 1px solid var(--line);
    padding-bottom: 12px;
    margin-bottom: 16px;
}
.sv-aud { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); }
.sv-aud::before {
    content: "";
    width: 6px; height: 6px;
    background: var(--ink);
    transform: rotate(45deg);
    flex: 0 0 auto;
}
.sv-aud--b2c::before { background: var(--accent); }
.sv-aud--b2b::before { background: var(--gold); }

.sv-card { transition: transform var(--t-med), box-shadow var(--t-med), border-color var(--t-med); }
.sv-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-2); }
.sv-card h3 { font-size: 1.35rem; margin-bottom: 8px; }
.sv-card .check svg { display: block; width: 12px; height: 12px; margin-top: 4px; }

/* Subsolul fișei: onorariul în mono, „la cerere" în serif italic */
.sv-price { font-family: var(--font-mono); font-size: 1.18rem; letter-spacing: -.01em; color: var(--ink); }
.sv-price--ask { font-family: var(--font-display); font-style: italic; font-size: 1.05rem; color: var(--muted); }
.sv-cta { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: .92rem; color: var(--accent); }
.sv-cta svg { width: 15px; height: 15px; transition: transform var(--t-fast); }
.sv-cta:hover svg { transform: translateX(4px); }

/* Adnotarea de sub grilă + CTA-urile finale centrate */
.sv-note { text-align: center; justify-content: center; margin: clamp(26px, 4vw, 42px) auto 0; }
.sv-final { justify-content: center; }

@media (max-width: 420px) {
    .sv-final .btn { width: 100%; justify-content: center; }
    .sv-meta { font-size: .6rem; }
}

/* ---- despre.php ---- */

/* Antet: grid text + portret */
.ab-head-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
}
.ab-head-cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }

/* Portretul — fotografie prinsă la dosar */
.ab-portrait { position: relative; max-width: 400px; margin-left: auto; }
.ab-portrait-frame {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-3);
    padding: 12px;
    transform: rotate(1.1deg);
}
.ab-portrait-frame::before {
    content: "";
    position: absolute;
    inset: 16px -16px -16px 16px;
    background: var(--bone-2);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    transform: rotate(-1.8deg);
    z-index: -1;
}
.ab-portrait img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: calc(var(--radius) - 6px);
}

/* Fișa avocatului — bilet mono suprapus peste portret */
.ab-fisa {
    position: relative;
    z-index: 2;
    display: block;
    width: min(300px, 94%);
    margin: -34px 0 0 -18px;
    background: var(--paper);
    border: 1px solid var(--line-strong);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-2);
    padding: 12px 16px 6px;
    transform: rotate(-1.4deg);
    font-family: var(--font-mono);
    font-size: .66rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--muted);
}
.ab-fisa-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line);
    letter-spacing: .14em;
    color: var(--accent);
}
.ab-fisa-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px dashed var(--line);
}
.ab-fisa-row:last-child { border-bottom: 0; }
.ab-fisa-row b { font-weight: 400; color: var(--ink); white-space: nowrap; }

/* Povestea — blocuri narative */
.ab-story { margin-top: clamp(48px, 7vw, 76px); }
.ab-story:first-child { margin-top: 0; }
.ab-story h2 { margin-top: 14px; max-width: 24ch; }
.ab-story p:not(.annot) {
    margin-top: 18px;
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--ink-soft);
    max-width: 62ch;
}
.ab-margin-note { margin: 26px 0 0 auto; transform: rotate(-.5deg); }

/* Parcurs — registru mono de ani */
.ab-track { list-style: none; margin: 0; padding: 0; max-width: 780px; }
.ab-track-row {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 6px 32px;
    padding: 20px 0;
    border-top: 1px solid var(--line);
}
.ab-track-row:last-child { border-bottom: 1px solid var(--line); }
.ab-track-year {
    font-family: var(--font-mono);
    font-size: .82rem;
    letter-spacing: .04em;
    color: var(--accent);
    padding-top: 5px;
}
.ab-track-row h3 { font-size: 1.18rem; margin: 0 0 4px; }
.ab-track-row p { margin: 0; color: var(--muted); font-size: .92rem; max-width: 56ch; }

/* Citat pe cerneală */
.ab-quote {
    position: relative;
    background: var(--ink);
    color: #DFE4EF;
    padding: clamp(64px, 9vw, 110px) 0;
    overflow: clip;
}
.ab-quote .mono-label { color: var(--muted-on-ink); }
.ab-quote blockquote {
    margin: 18px 0 0;
    font-family: var(--font-display);
    font-weight: 460;
    font-size: clamp(1.7rem, 3.6vw, 2.7rem);
    line-height: 1.22;
    letter-spacing: -.015em;
    color: #fff;
    max-width: 26ch;
}
.ab-quote blockquote em { font-style: italic; font-weight: 420; color: var(--rose); }
.ab-quote-by {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 30px;
    font-family: var(--font-mono);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-on-ink);
}
.ab-quote-by svg { width: 108px; height: 36px; color: var(--rose); flex: 0 0 auto; }
.ab-quote-para {
    position: absolute;
    right: -20px;
    top: -50px;
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(240px, 26vw, 420px);
    line-height: 1;
    color: var(--ink-2);
    opacity: .5;
    user-select: none;
    pointer-events: none;
}

/* Domenii de practică */
.ab-doms { margin-top: 8px; }
.ab-dom { border-top: 1px solid var(--line-strong); padding-top: 18px; }
.ab-dom-mark {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.35rem;
    line-height: 1;
    color: var(--accent);
}
.ab-dom-mark i {
    font-family: var(--font-mono);
    font-style: normal;
    font-size: .66rem;
    letter-spacing: .12em;
    color: var(--muted-2);
}
.ab-dom h3 { font-size: 1.22rem; margin: 12px 0 6px; }
.ab-dom p { margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.6; }

/* CTA scurt */
.ab-cta-box {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: clamp(20px, 4vw, 48px);
    align-items: center;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(26px, 4vw, 44px);
}
.ab-cta-box h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); max-width: 24ch; }
.ab-cta-box p { margin: 10px 0 0; color: var(--muted); max-width: 52ch; }

/* Responsive */
@media (max-width: 900px) {
    .ab-head-grid { grid-template-columns: 1fr; }
    .ab-portrait { margin: 10px auto 0; max-width: 380px; }
    .ab-quote-para { right: -60px; }
}
@media (max-width: 720px) {
    .ab-track-row { grid-template-columns: 1fr; gap: 2px; padding: 16px 0; }
    .ab-track-year { padding-top: 0; }
    .ab-cta-box { grid-template-columns: 1fr; justify-items: start; }
    .ab-portrait-frame { transform: rotate(.7deg); }
}
@media (max-width: 420px) {
    .ab-head-cta .btn { width: 100%; justify-content: center; }
    .ab-fisa { width: 100%; margin-left: 0; transform: rotate(-.8deg); }
}

/* ---- faq.php ---- */

/* Antetul paginii — neutralizează stilul de app al .page-head din style.css */
.page-faq .page-head { display: block; border-bottom: 0; margin-bottom: 0; }
.page-faq .page-head h1 {
    font-size: clamp(2.4rem, 5.2vw, 3.9rem);
    font-weight: 480;
    letter-spacing: -0.02em;
    line-height: 1.04;
}

/* Grup de întrebări pe categorie */
.fq-group { margin-bottom: clamp(36px, 5vw, 56px); }
.fq-group:last-of-type { margin-bottom: 0; }
.fq-cat {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--line-strong);
}
.fq-cat-count {
    font-family: var(--font-mono);
    font-size: .66rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}
/* Categoria e <h2> semantic, dar păstrează aspectul de etichetă mono */
.fq-cat h2.mono-label { margin: 0; font-weight: 400; font-size: .72rem; }

/* Item <details> — registru editorial, fără JS */
.fq-item { border-bottom: 1px solid var(--line); }
.fq-item summary {
    display: grid;
    grid-template-columns: 44px 1fr 30px;
    gap: 18px;
    align-items: baseline;
    padding: clamp(16px, 2.4vw, 22px) 0;
    cursor: pointer;
    list-style: none;
}
.fq-item summary::-webkit-details-marker { display: none; }
.fq-item summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 6px; }
.fq-num {
    font-family: var(--font-mono);
    font-size: .72rem;
    letter-spacing: .08em;
    color: var(--accent);
}
.fq-q {
    font-family: var(--font-display);
    font-weight: 500;
    font-size: clamp(1.06rem, 1.7vw, 1.32rem);
    line-height: 1.3;
    letter-spacing: -0.01em;
    transition: color var(--t-fast);
}
.fq-item summary:hover .fq-q { color: var(--accent); }

/* Plus/minus rotativ, doar CSS */
.fq-toggle {
    position: relative;
    width: 30px; height: 30px;
    align-self: center;
    border: 1px solid var(--line-strong);
    border-radius: 50%;
    color: var(--muted);
    transition: transform var(--t-med), border-color var(--t-fast), color var(--t-fast);
}
.fq-toggle::before, .fq-toggle::after {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 11px; height: 1.7px;
    background: currentColor;
    border-radius: 1px;
    transform: translate(-50%, -50%);
}
.fq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform var(--t-med); }
.fq-item summary:hover .fq-toggle { border-color: var(--accent); color: var(--accent); }
.fq-item[open] .fq-toggle { transform: rotate(180deg); border-color: var(--accent); color: var(--accent); }
.fq-item[open] .fq-toggle::after { transform: translate(-50%, -50%) rotate(180deg); }

/* Răspunsul — leading lejer, aliniat sub întrebare */
.fq-a { padding: 0 64px 26px 62px; }
.fq-a p {
    margin: 0;
    max-width: 62ch;
    font-size: .97rem;
    line-height: 1.75;
    color: var(--muted);
}
.fq-item[open] .fq-a p { animation: fqIn .35s var(--ease) backwards; }
@keyframes fqIn { from { opacity: 0; transform: translateY(-4px); } }

/* Adnotarea de sub listă */
.fq-annot { margin: clamp(28px, 4vw, 44px) auto 0; justify-content: center; }

/* Strip final — două căi */
.fq-paths { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 2.4vw, 24px); }
.fq-path {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: clamp(22px, 3vw, 30px);
    color: inherit;
    transition: transform var(--t-med), box-shadow var(--t-med), border-color var(--t-med);
}
.fq-path:hover { transform: translateY(-3px); box-shadow: var(--shadow-2); border-color: var(--line-strong); color: inherit; }
.fq-path .draw { width: 44px; height: 44px; color: var(--accent); }
.fq-path h3 { font-size: 1.2rem; margin: 2px 0 0; }
.fq-path p { margin: 0; font-size: .93rem; line-height: 1.6; color: var(--muted); }
.fq-path-meta {
    margin-top: auto;
    padding-top: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: .66rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}
.fq-path-meta svg { width: 14px; height: 14px; transition: transform var(--t-fast); }
.fq-path:hover .fq-path-meta { color: var(--accent); }
.fq-path:hover .fq-path-meta svg { transform: translateX(4px); }

/* Responsive */
@media (max-width: 900px) {
    .fq-paths { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .fq-item summary { grid-template-columns: 36px 1fr 26px; gap: 12px; }
    .fq-toggle { width: 26px; height: 26px; }
    .fq-a { padding: 0 0 22px; }
}
@media (max-width: 420px) {
    .fq-path { padding: 20px 18px; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .fq-toggle, .fq-toggle::after { transition: none; }
    .fq-item[open] .fq-a p { animation: none; }
}

/* ---- contact.php ---- */

/* Grid principal: date de contact (stânga) + foaia din dosar (dreapta) */
.ct-grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(36px, 5vw, 72px);
    align-items: start;
    padding-bottom: clamp(12px, 2vw, 24px);
}

/* Coloana stângă — registru de date cu etichete mono */
.ct-lines { margin-bottom: 26px; }
.ct-line {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 16px;
    align-items: baseline;
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
}
.ct-line:first-child { border-top: 1px solid var(--line); }
.ct-line-label {
    font-family: var(--font-mono);
    font-size: .66rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
}
.ct-line a { color: var(--ink); font-weight: 500; }
.ct-line a:hover { color: var(--accent); }
.ct-tel {
    font-family: var(--font-mono);
    font-size: 1.14rem;
    letter-spacing: -.01em;
}
.ct-line-sub { display: block; font-size: .82rem; color: var(--muted); margin-top: 3px; }
.ct-dir {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: .86rem;
    font-weight: 600;
    color: var(--accent) !important;
}
.ct-dir svg { width: 14px; height: 14px; }
.ct-annot { margin-top: 26px; }
.ct-info .contact-lawyer span { line-height: 1.45; }

/* Foaia din dosar — formularul, cu a doua foaie rotită în spate */
.ct-sheet-wrap { position: relative; }
.ct-sheet-wrap::before {
    content: "";
    position: absolute;
    inset: 16px -14px -14px 14px;
    background: var(--bone-2);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    transform: rotate(-1.2deg);
    z-index: -1;
}
.ct-sheet {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-2);
    padding: clamp(24px, 3.4vw, 40px);
}
.ct-sheet-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-family: var(--font-mono);
    font-size: .68rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--muted-2);
    padding-bottom: 14px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--line);
}
.ct-sheet-conf { color: var(--stamp); }

/* Harta — card cu bară de adresă */
.ct-map {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-1);
}
.ct-map iframe { display: block; width: 100%; height: 400px; border: 0; }
.ct-map-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 18px 24px;
    border-top: 1px solid var(--line);
}
.ct-map-bar strong {
    display: block;
    font-family: var(--font-display);
    font-weight: 480;
    font-size: 1.1rem;
}
.ct-map-bar span { font-size: .86rem; color: var(--muted); }
.ct-map-bar .btn { display: inline-flex; align-items: center; gap: 8px; }

/* Responsive */
@media (max-width: 900px) {
    .ct-grid { grid-template-columns: 1fr; gap: 44px; }
    .ct-sheet-wrap::before { inset: 12px -8px -10px 8px; }
}
@media (max-width: 720px) {
    .ct-line { grid-template-columns: 80px 1fr; gap: 12px; }
    .ct-map iframe { height: 300px; }
}
@media (max-width: 420px) {
    .ct-sheet { padding: 22px 16px; }
    .ct-map-bar .btn { width: 100%; justify-content: center; }
}

/* ---- asistent.php ---- */

/* Antet: text + pictogramă desenată */
.ai2-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(28px, 5vw, 64px);
    align-items: center;
}
.ai2-figure { color: var(--accent); padding-right: clamp(0px, 2vw, 24px); }
.ai2-figure .draw { width: clamp(120px, 14vw, 170px); height: auto; }

/* Preset-urile ca „întrebări de pornire" — chips (scoped, componenta chat rămâne partajată) */
.page-asistent .chat-presets.ai2-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 560px;
}
.page-asistent .ai2-chips form { display: contents; }
.page-asistent .ai2-chips .chat-preset-btn {
    width: auto;
    height: auto;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--paper);
    border: 1px solid var(--line-strong);
    font-size: .88rem;
    line-height: 1.35;
}
.page-asistent .ai2-chips .chat-preset-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: var(--paper);
}

/* Contor de întrebări — mono + romburi (motivul din .mono-label) */
.ai2-turns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0;
    padding: 0 20px 16px;
    font-family: var(--font-mono);
    font-size: .72rem;
    letter-spacing: .05em;
    color: var(--muted);
}
.ai2-dots { display: inline-flex; gap: 7px; }
.ai2-dot {
    width: 7px;
    height: 7px;
    border: 1.5px solid var(--accent);
    transform: rotate(45deg);
    display: inline-block;
}
.ai2-dot-used { background: var(--accent); }

/* Limita de întrebări atinsă */
.ai2-limit {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px;
    border-top: 1px solid var(--line);
    text-align: center;
}
.ai2-limit p {
    margin: 0 auto;
    color: var(--muted);
    font-size: .95rem;
    max-width: 52ch;
}
.ai2-limit-actions { justify-content: center; }

.ai2-inline-form { display: inline-block; }

/* Puntea spre avocat + nota legală */
.ai2-human { margin-top: clamp(36px, 6vw, 56px); }
.ai2-footnote {
    font-size: .8rem;
    line-height: 1.65;
    color: var(--muted-2);
    max-width: 62ch;
    margin: 26px auto 0;
}

@media (max-width: 900px) {
    .ai2-head { grid-template-columns: 1fr; }
    .ai2-figure { display: none; }
}
@media (max-width: 720px) {
    .page-asistent .page-head-rule { flex-wrap: wrap; gap: 6px 16px; }
    .ai2-turns { flex-wrap: wrap; gap: 8px 12px; }
}
@media (max-width: 420px) {
    .page-asistent .ai2-chips .chat-preset-btn { width: 100%; }
    .ai2-limit-actions .btn { width: 100%; justify-content: center; }
}


/* =========================================================================
   FIX-URI post-critică (07.2026 v2) — la final ca să câștige cascada
   ========================================================================= */

/* Servicii: prețul și CTA-ul ancorate la baza fișei, pe aceeași linie în rând */
.service-card { display: flex; flex-direction: column; }
.service-card .card-foot { margin-top: auto; }

/* Rail-ul de cazuri: fade la margini — afordanță de scroll */
.case-rail {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 36px, #000 calc(100% - 72px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 36px, #000 calc(100% - 72px), transparent 100%);
}

/* Ștampila din hero: nu acoperă semnătura */
.hero-doc-sign { padding-right: 88px; }
.stamp-mini { right: -14px; bottom: -22px; }

/* Portretul (Despre): tratament de cerneală peste selfie + crop pe mobil */
.ab-portrait-frame img { filter: grayscale(1) contrast(1.07) brightness(1.04); }
@media (max-width: 720px) {
    .ab-portrait-frame img { aspect-ratio: 1 / 1; object-fit: cover; object-position: 50% 22%; }
}

/* Adnotările pe mobil: un singur gest grafic, aliniat stânga */
@media (max-width: 720px) {
    .annot { text-align: left; justify-content: flex-start; }
}

/* Footer: separatoare fără puncte orfane + Facebook pe un rând + contrast adresă */
.footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; }
.footer-legal-sep { display: none; }
.footer-social { display: inline-flex; align-items: center; gap: 6px; }
.site-footer .footer-links span { color: #C7CFE2; }

/* Banner cookie mai compact pe desktop */
@media (min-width: 900px) {
    .cookie-consent-inner { align-items: center; gap: 18px; }
    .cookie-consent-text p { margin: 0; font-size: .82rem; }
}

/* Chat: fără mânerul nativ de resize */
.page-asistent textarea { resize: none; }

/* Markerii fișelor de serviciu: un singur accent, fără cod de culoare neexplicat */
.sv-aud--b2c::before, .sv-aud--b2b::before { background: var(--accent); }


/* ===== Fix-uri V1 per pagină (07.2026 v2) ===== */

/* fix: servicii */
/* Cardul 7 (ultimul, impar) nu se mai întinde pe toată lățimea grilei —
   anulează regula globală din style.css (.grid-3 > *:last-child:nth-child(3n+1)
   și varianta :nth-child(odd) de la breakpoint-ul de 2 coloane). */
.page-servicii .grid-3 > *:last-child:nth-child(3n+1),
.page-servicii .grid-3 > *:last-child:nth-child(odd) { grid-column: auto; }

/* fix: despre */
a.ab-dom {
    display: flex;
    flex-direction: column;
    color: inherit;
    text-decoration: none;
    transition: border-color var(--t-fast);
}
a.ab-dom:hover,
a.ab-dom:focus-visible { border-top-color: var(--accent); }
.ab-dom-go {
    margin-top: auto;
    padding-top: 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-mono);
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--accent);
    opacity: 0;
    transform: translateY(2px);
    transition: opacity var(--t-fast), transform var(--t-fast);
}
.ab-dom-go svg { width: 14px; height: 14px; transition: transform var(--t-fast); }
a.ab-dom:hover .ab-dom-go,
a.ab-dom:focus-visible .ab-dom-go { opacity: 1; transform: none; }
a.ab-dom:hover .ab-dom-go svg { transform: translateX(3px); }
@media (hover: none), (max-width: 900px) {
    .ab-dom-go { opacity: 1; transform: none; }
}

/* fix: faq.php */

/* Footer card „două căi” — badge static stânga, acțiune link dreapta */
.fq-path-foot {
    margin-top: auto;
    padding-top: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px 14px;
}
.fq-path-badge {
    font-family: var(--font-mono);
    font-size: .66rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted-2);
}
.fq-path-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: .93rem;
    color: var(--accent);
    white-space: nowrap;
}
.fq-path-cta svg { width: 15px; height: 15px; transition: transform var(--t-fast); }
.fq-path:hover .fq-path-cta { text-decoration: underline; text-underline-offset: 3px; }
.fq-path:hover .fq-path-cta svg { transform: translateX(4px); }

/* Mobil: răspunsul aliniat cu textul întrebării (36px coloană Q.xx + 12px gap) */
@media (max-width: 720px) {
    .fq-item .fq-a { padding: 0 0 22px 48px; }
}
@media (max-width: 420px) {
    .fq-path-foot { flex-wrap: wrap; }
}

/* fix: contact */

/* Antet: pe mobil, cele două mențiuni mono trec pe rânduri separate, nu ies din container */
@media (max-width: 720px) {
    .page-head-rule { flex-wrap: wrap; gap: 6px 16px; }
}

/* Foaia din spate: pe mobil reducem depășirea spre dreapta + rotația,
   ca marginea foii să rămână la >=12px de marginea viewport-ului */
@media (max-width: 720px) {
    .ct-sheet-wrap::before { inset: 12px -3px -10px 3px; transform: rotate(-.7deg); }
}
@media (max-width: 480px) {
    .ct-sheet-wrap::before { inset: 10px 1px -8px 1px; transform: rotate(-.5deg); }
}

/* Harta: zona iframe-ului are fundal discret cât se încarcă sau dacă embed-ul e blocat;
   bara cu adresă + „Cere direcții" de dedesubt rămâne vizibilă oricum */
.ct-map iframe { background: var(--bone-2); }

/* fix: asistent — golul dintre disclaimer și footer, readus la ritmul celorlalte pagini */
.page-asistent .sec-tight { padding-bottom: clamp(28px, 4vw, 44px); }
.page-asistent .site-footer { margin-top: clamp(40px, 6vw, 64px); }
