:root {
    --bg-deep: #07111f;
    --bg-navy: #152845;
    --bg-soft: #f5efe4;
    --bg-warm: #efe3cf;
    --text-light: #f8fafc;
    --text-dark: #16202c;
    --text-muted: #667085;
    --brand: #d08a4a;
    --brand-dark: #9a5f28;
    --brand-ink: #3a2412;
    --line: rgba(255, 255, 255, 0.14);
    --shadow: 0 28px 80px rgba(7, 14, 28, 0.34);
    --radius-lg: 24px;
    --radius-xl: 32px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: "Manrope", sans-serif;
    color: var(--text-dark);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at top left, rgba(208, 138, 74, 0.12), transparent 30%),
        radial-gradient(circle at bottom right, rgba(21, 40, 69, 0.08), transparent 26%),
        linear-gradient(180deg, #fffaf3 0%, #f7f0e6 100%);
}
main { flex: 1 0 auto; }
.site-footer { margin-top: auto; }

h1, h2, h3, .brand-text { font-family: "Playfair Display", serif; }
a { color: inherit; text-decoration: none; }
.site-header { position: absolute; top: 0; left: 0; width: 100%; z-index: 10; }
.navbar { padding: 1.2rem 0; }
.navbar .nav-link { color: rgba(255, 255, 255, 0.82); font-weight: 600; letter-spacing: 0.01em; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: #fff; }
.brand-mark { width: 2.25rem; height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; background: linear-gradient(135deg, #f0c58a, var(--brand)); color: var(--brand-ink); font-weight: 800; box-shadow: 0 10px 24px rgba(208, 138, 74, 0.28); }
.brand-text { color: #fff; font-size: 1.2rem; }
.brand-logo { width: 150px; height: auto; max-width: 100%; display: block; transition: width 260ms ease; }
@media (max-width: 575.98px) { .brand-logo { width: 120px; } }
.btn-brand { background: linear-gradient(135deg, #e0a35b, #f0c58a); border: none; color: #21140c; font-weight: 800; border-radius: 999px; padding-inline: 1.5rem; box-shadow: 0 12px 30px rgba(208, 138, 74, 0.22); }
.btn-brand:hover { background: linear-gradient(135deg, #d68f45, #efc17f); color: #21140c; transform: translateY(-1px); }
.hero-section {
    position: relative;
    background:
        radial-gradient(circle at top left, rgba(240, 197, 138, 0.2), transparent 34%),
        radial-gradient(circle at 80% 10%, rgba(255, 255, 255, 0.08), transparent 26%),
        linear-gradient(135deg, var(--bg-deep), var(--bg-navy));
    color: var(--text-light);
    overflow: hidden;
}

.hero-row { min-height: 78vh; margin-top: -6rem; }
.hero-banner-carousel--wide { width: 100%; }
.hero-banner-carousel--wide .carousel-inner { width: 100%; }
.hero-banner-carousel--wide .carousel-item { width: 100%; }
.hero-banner-carousel--wide .hero-banner-card {
    position: relative;
    height: 580px;
    min-height: 580px;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
        0 22px 70px rgba(0, 0, 0, 0.26),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}
.hero-banner-carousel--wide .hero-banner-card::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0.05) 24%, rgba(255, 255, 255, 0.02) 72%, rgba(255, 255, 255, 0.16));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 2;
}
.hero-banner-carousel--wide .hero-banner-card img {
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0,
        rgba(0, 0, 0, 0.65) 0.6cm,
        rgba(0, 0, 0, 1) calc(100% - 1.2cm),
        transparent 99%
    ), linear-gradient(
        to bottom,
        transparent 0,
        rgba(0, 0, 0, 0.65) 0.6cm,
        rgba(0, 0, 0, 1) calc(100% - 1.2cm),
        transparent 99%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0,
        rgba(0, 0, 0, 0.65) 0.6cm,
        rgba(0, 0, 0, 1) calc(100% - 1.2cm),
        transparent 99%
    ), linear-gradient(
        to bottom,
        transparent 0,
        rgba(0, 0, 0, 0.65) 0.6cm,
        rgba(0, 0, 0, 1) calc(100% - 1.2cm),
        transparent 99%
    );
    mask-composite: intersect;
    -webkit-mask-composite: source-in;
}
.hero-banner-carousel { position: relative; }
.hero-banner-carousel--wide .carousel-indicators { margin-bottom: 0.6rem; }
.hero-banner-carousel .carousel-indicators [data-bs-target] { width: 11px; height: 11px; border-radius: 999px; background-color: rgba(255, 255, 255, 0.55); }
.hero-banner-carousel .carousel-indicators .active { background-color: #fff; }
.hero-banner-carousel .carousel-control-prev,
.hero-banner-carousel .carousel-control-next { width: 12%; }.hero-backdrop {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.95), transparent);
}
.eyebrow { display: inline-block; letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.8rem; font-weight: 800; color: var(--brand); }
.glass-card, .feature-panel, .info-card, .security-item, .auth-card, .dashboard-card, .legal-shell, .mini-stat { border-radius: var(--radius-lg); }
.glass-card { display: flex; flex-direction: column; gap: 0.4rem; padding: 1rem; min-height: 100%; background: rgba(255, 255, 255, 0.08); border: 1px solid var(--line); backdrop-filter: blur(14px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); }
.glass-card span { color: rgba(255, 255, 255, 0.72); font-size: 0.92rem; }
.feature-panel { background: linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(251, 246, 238, 0.98)); color: var(--text-dark); padding: 2rem; box-shadow: var(--shadow); border: 1px solid rgba(208, 138, 74, 0.08); }
.panel-badge { display: inline-flex; padding: 0.5rem 0.9rem; border-radius: 999px; background: rgba(208, 138, 74, 0.14); color: var(--brand-dark); font-weight: 700; letter-spacing: 0.02em; }
.feature-list li { padding: 0.95rem 0; border-bottom: 1px solid rgba(15, 23, 42, 0.08); }
.feature-list li:last-child { border-bottom: none; }
.section-light { background: linear-gradient(180deg, var(--bg-soft), var(--bg-warm)); }
.section-dark, .site-footer, .dashboard-page, .auth-page { background: radial-gradient(circle at top, rgba(208, 138, 74, 0.1), transparent 24%), linear-gradient(180deg, #0f1a2d, #17253a); color: var(--text-light); }
.section-copy { max-width: 46rem; }
.services-section { position: relative; }
.service-card {
    background: linear-gradient(180deg, #ffffff, #fbf5ea);
    padding: 1.6rem;
    border-radius: 26px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 16px 42px rgba(15, 23, 42, 0.08);
}
.service-card h3 {
    font-size: 1.35rem;
    margin-bottom: 0.9rem;
}
.service-card p {
    color: var(--text-muted);
}
.info-card, .auth-card, .dashboard-card, .legal-shell { background: linear-gradient(180deg, #ffffff, #fcf7ef); padding: 2rem; box-shadow: 0 14px 40px rgba(15, 23, 42, 0.09); border: 1px solid rgba(15, 23, 42, 0.05); }
.info-card h3 { font-size: 1.4rem; margin-bottom: 1rem; }
.section-dark .info-card .form-label,
.section-dark .info-card .form-text {
    color: var(--text-dark);
}
.section-dark .info-card .form-control {
    background-color: #fff;
    color: var(--text-dark);
    border-color: rgba(15, 23, 42, 0.16);
}
.section-dark .info-card .form-control::placeholder {
    color: #94a3b8;
}
.security-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.security-item { padding: 1.4rem; background: rgba(255, 255, 255, 0.07); border: 1px solid var(--line); }
.security-item span { display: block; color: rgba(255, 255, 255, 0.7); margin-top: 0.45rem; }
.auth-wrapper { min-height: 100vh; }
.auth-card, .dashboard-card, .legal-shell { color: var(--text-dark); }
.auth-note { padding: 1rem 1.2rem; background: linear-gradient(135deg, rgba(208, 138, 74, 0.1), rgba(240, 197, 138, 0.16)); border-radius: 18px; color: var(--text-dark); }
.dashboard-shell { margin-top: 1.25rem; }
.dashboard-page .modal-content {
    background: linear-gradient(180deg, #ffffff, #fcf7ef);
    color: var(--text-dark);
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.35);
}
.dashboard-page .modal-title,
.dashboard-page .modal-content .form-label {
    color: var(--text-dark);
}
.dashboard-page .modal-content .text-muted,
.dashboard-page .modal-content .form-text {
    color: var(--text-muted) !important;
}
.dashboard-tile {
    display: block;
    padding: 1.35rem 1.4rem;
    border-radius: 22px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: linear-gradient(180deg, #fffaf3, #ffffff);
    text-decoration: none;
    color: var(--text-dark);
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.dashboard-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 44px rgba(15, 23, 42, 0.12);
    border-color: rgba(208, 138, 74, 0.25);
}
.dashboard-tile .tile-title { font-weight: 800; letter-spacing: 0.01em; }
.dashboard-tile .tile-copy { margin-top: 0.45rem; color: var(--text-muted); }
.mini-stat { background: linear-gradient(180deg, #fffaf3, #f2e7d7); padding: 1rem 1.2rem; border: 1px solid rgba(208, 138, 74, 0.08); }
.mini-stat span { display: block; font-size: 0.85rem; color: var(--text-muted); margin-bottom: 0.25rem; }
.legal-shell { max-width: 860px; margin: 5rem auto 0; border-radius: var(--radius-xl); }
.legal-shell h2 { margin-top: 2rem; font-size: 1.4rem; }
.site-footer a { color: #f5d0a9; }
.footer-divider { border-color: rgba(255, 255, 255, 0.12); margin: 2rem 0 1rem; }
.cookie-banner { position: fixed; right: 1rem; bottom: 1rem; z-index: 1040; width: min(420px, calc(100% - 2rem)); background: linear-gradient(180deg, #fffaf3, #fff); color: #231c13; padding: 1rem 1.2rem; border-radius: 20px; border: 1px solid rgba(15, 23, 42, 0.12); display: flex; flex-direction: column; gap: .65rem; }
/* Culoare text EXPLICITA — fundalul bannerului e mereu deschis, nu ne bazam
   pe culoarea mostenita (pe unele pagini/teme era deschisa -> text invizibil). */
.cookie-banner, .cookie-banner div, .cookie-banner p, .cookie-banner strong { color: #231c13; }
.cookie-banner p { margin: 0; opacity: .85; }
.cookie-banner .btn-brand { align-self: flex-start; }
@media (max-width: 991.98px) {
    /* Regula veche din tema dark — NU trebuie sa atinga header-ul light de
       pe homepage (.site-header--home), altfel apare banda navy + pozitionare
       rupta a meniului mobil. Vezi blocul v6.18 de la finalul fisierului. */
    .site-header:not(.site-header--home) { position: relative; background: #101828; }
    .security-grid { grid-template-columns: 1fr; }
    .dashboard-shell, .legal-shell { margin-top: 1rem; }
}
@media (max-width: 767.98px) {
    .display-3 { font-size: 2.5rem; }
    .feature-panel, .info-card, .auth-card, .dashboard-card, .legal-shell { padding: 1.5rem; }
}




/* ============================================================
   PAGINA PUBLICĂ DE SEMNARE CONTRACT (client)
   ============================================================ */
.contract-client-page .cc-main {
    padding: 6rem 0 4rem;
    min-height: calc(100vh - 220px);
}
.contract-client-page .cc-shell { max-width: 1080px; }

.contract-client-page .cc-card {
    background: linear-gradient(180deg, #ffffff, #fdf8ee);
    color: var(--text-dark);
    border-radius: 28px;
    padding: 2.5rem;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.20);
    border: 1px solid rgba(15, 23, 42, 0.06);
}
@media (max-width: 575.98px) {
    .contract-client-page .cc-card { padding: 1.5rem; border-radius: 22px; }
    .contract-client-page .cc-main { padding: 3rem 0 2rem; }
}

.contract-client-page .cc-head { margin-bottom: 1.75rem; }
.contract-client-page .cc-eyebrow {
    display: inline-block;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--brand);
}
.contract-client-page .cc-title {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    margin: 0.5rem 0 0.75rem;
    color: var(--text-dark);
}
.contract-client-page .cc-lead {
    color: #4b5563;
    font-size: 1.02rem;
    line-height: 1.55;
    margin: 0;
}

/* Preview PDF */
.contract-client-page .cc-preview {
    margin-top: 1.75rem;
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    overflow: hidden;
}
.contract-client-page .cc-preview-head {
    background: linear-gradient(135deg, #1f2937, #0f172a);
    color: #fff;
    padding: 0.75rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.contract-client-page .cc-pdf-icon {
    display: inline-block;
    background: #ef4444;
    color: #fff;
    font-style: normal;
    font-weight: 800;
    font-size: 0.7rem;
    padding: 0.18rem 0.4rem;
    border-radius: 4px;
    letter-spacing: 0.04em;
    margin-right: 0.5rem;
    vertical-align: middle;
}
.contract-client-page .cc-preview-label {
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #fff;
}
.contract-client-page .cc-preview-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.contract-client-page .cc-preview-actions .btn-outline-light {
    border-color: rgba(255, 255, 255, 0.35);
    color: #fff;
}
.contract-client-page .cc-preview-actions .btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.55);
    color: #fff;
}
.contract-client-page .cc-preview-frame {
    width: 100%;
    height: 70vh;
    min-height: 520px;
    border: 0;
    display: block;
    background: #fff;
}
.contract-client-page .cc-preview-mobile {
    padding: 1.5rem;
    text-align: center;
    color: #4b5563;
}

/* Semnătură */
.contract-client-page .cc-sign {
    margin-top: 2rem;
    padding-top: 1.75rem;
    border-top: 1px dashed rgba(15, 23, 42, 0.14);
}
.contract-client-page .cc-sign-title {
    font-family: "Playfair Display", serif;
    font-size: 1.4rem;
    margin: 0 0 0.35rem;
    color: #b91c1c;
}
.contract-client-page .cc-sign-help {
    color: #6b7280;
    margin: 0 0 1rem;
    font-size: 0.95rem;
}
.contract-client-page .cc-canvas-wrap {
    position: relative;
    background: #fff;
    border: 2px dashed rgba(15, 23, 42, 0.18);
    border-radius: 14px;
    padding: 6px;
    transition: border-color 160ms ease;
}
.contract-client-page .cc-canvas-wrap:hover { border-color: rgba(208, 138, 74, 0.45); }
.contract-client-page #signature-pad {
    width: 100%;
    height: 200px;
    display: block;
    touch-action: none;
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32'><path d='M26 2 L30 6 L10 26 L4 28 L6 22 Z' fill='%231e3a8a' stroke='%23ffffff' stroke-width='0.8' stroke-linejoin='round'/><circle cx='5' cy='27' r='1.2' fill='%23ef4444'/></svg>") 4 28, crosshair;
    border-radius: 10px;
    background: #fdfdfd;
}
.contract-client-page .cc-canvas-hint {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: rgba(15, 23, 42, 0.32);
    font-size: 0.95rem;
    pointer-events: none;
    user-select: none;
    font-style: italic;
}
.contract-client-page .cc-sign-actions {
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}
.contract-client-page .cc-sign-submit { padding-inline: 1.75rem; }
.contract-client-page .cc-sign-submit:disabled { opacity: 0.6; cursor: not-allowed; }
.contract-client-page .cc-sign-note {
    color: #b91c1c;
    font-size: 0.88rem;
    font-weight: 500;
    margin: 2rem 0 0;
    text-align: center;
}

/* Success state */
.contract-client-page .cc-success {
    text-align: center;
    padding: 1.5rem 0;
}
.contract-client-page .cc-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border-radius: 999px;
    background: linear-gradient(135deg, #d1fae5, #6ee7b7);
    color: #065f46;
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 1.25rem;
    box-shadow: 0 18px 38px rgba(16, 185, 129, 0.30);
}
.contract-client-page .cc-success-icon .cc-check {
    font-style: normal;
    line-height: 1;
}
.contract-client-page .cc-success-title {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    margin-bottom: 0.5rem;
    color: var(--text-dark);
}
.contract-client-page .cc-success-sub {
    color: #4b5563;
    font-size: 1.02rem;
    max-width: 560px;
    margin: 0 auto 0.5rem;
}
.contract-client-page .cc-success-actions {
    margin-top: 1.5rem;
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    flex-wrap: wrap;
}
.contract-client-page .cc-success-actions .btn-outline-light {
    border-color: rgba(15, 23, 42, 0.20);
    color: var(--text-dark);
}
.contract-client-page .cc-success-actions .btn-outline-light:hover {
    background: rgba(15, 23, 42, 0.04);
    color: var(--text-dark);
}

/* Site header pe această pagină rămâne dark (existent în site.css) */
.contract-client-page .site-header .brand-text {
    color: #0f172a !important;
}

/* Error state (link invalid / expirat / inexistent) */
.contract-client-page .cc-card--error {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
}
.contract-client-page .cc-error-state {
    padding: 1rem 0;
}
.contract-client-page .cc-error-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 88px;
    height: 88px;
    border-radius: 999px;
    background: linear-gradient(135deg, #fff1e0, #ffe6cf);
    color: #b45309;
    font-size: 2.4rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 14px 32px rgba(180, 83, 9, 0.18);
}
.contract-client-page .cc-error-title {
    font-family: "Playfair Display", serif;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    color: var(--text-dark);
}
.contract-client-page .cc-error-sub {
    color: #4b5563;
    font-size: 1rem;
    line-height: 1.55;
    max-width: 460px;
    margin: 0 auto;
}
.contract-client-page .cc-error-actions {
    margin-top: 1.5rem;
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
}

.etien-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: none;
}
.etien-breadcrumb .breadcrumb-separator {
    list-style: none;
    display: inline-flex;
    align-items: center;
    color: #94a3b8;
    margin: 0 0.35rem;
}
.etien-breadcrumb .breadcrumb-separator ion-icon {
    font-size: 0.95rem;
}

.dashboard-page .etien-breadcrumb,
.auth-page .etien-breadcrumb {
    padding: 0.5rem 0 0.25rem;
}
.dashboard-page .etien-breadcrumb .breadcrumb-item,
.auth-page .etien-breadcrumb .breadcrumb-item {
    color: #e5e7eb;
    font-weight: 600;
}
.dashboard-page .etien-breadcrumb .breadcrumb-item a,
.auth-page .etien-breadcrumb .breadcrumb-item a {
    color: #f8fafc;
    text-decoration: none;
}
.dashboard-page .etien-breadcrumb .breadcrumb-item a:hover,
.auth-page .etien-breadcrumb .breadcrumb-item a:hover {
    color: #f0c58a;
}
.dashboard-page .etien-breadcrumb .breadcrumb-item.active,
.auth-page .etien-breadcrumb .breadcrumb-item.active {
    color: #f0c58a;
}
.dashboard-page .etien-breadcrumb .breadcrumb-separator,
.auth-page .etien-breadcrumb .breadcrumb-separator {
    color: #cbd5e1;
}
.dashboard-page .site-header, .auth-page .site-header { position: relative !important; background: transparent; }
.dashboard-page .site-header + .container, .auth-page .site-header + .container { display:block; }
.dashboard-page .etien-breadcrumb, .auth-page .etien-breadcrumb { margin-top: .25rem; }

.breadcrumb-arrow-fallback { display:inline-block; font-size: 1rem; line-height:1; margin-left: .1rem; font-weight:700; }
.etien-breadcrumb .breadcrumb-separator ion-icon { display:none; }
html.ionicons-ready .etien-breadcrumb .breadcrumb-separator ion-icon { display:inline-block; }
html.ionicons-ready .breadcrumb-arrow-fallback { display:none; }


/* ============================================================
   ZONA PRIVATĂ — sidebar + chrome (layout nou)
   ============================================================ */
:root {
    --priv-sidebar-w: 248px;
    --priv-sidebar-w-collapsed: 72px;
    --priv-bg: #f6f1e7;
    --priv-card: #ffffff;
    --priv-border: rgba(15, 23, 42, 0.08);
    --priv-text: #16202c;
    --priv-text-muted: #6b7280;
    --priv-accent: var(--brand);
    --priv-accent-soft: rgba(208, 138, 74, 0.12);
    --priv-success: #1f8a4c;
    --priv-warning: #b45309;
    --priv-danger: #b91c1c;
}

body.private-shell {
    background:
        radial-gradient(circle at 20% -10%, rgba(208, 138, 74, 0.08), transparent 28%),
        linear-gradient(180deg, #fbf6ec 0%, #f3ecde 100%);
    color: var(--priv-text);
}

.private-layout {
    display: flex;
    min-height: 100vh;
    align-items: stretch;
}

.private-sidebar {
    width: var(--priv-sidebar-w);
    flex: 0 0 var(--priv-sidebar-w);
    background: linear-gradient(180deg, #0f172a 0%, #1c2741 100%);
    color: #e5e7eb;
    display: flex;
    flex-direction: column;
    padding: 1.25rem 1rem 1rem;
    position: sticky;
    top: 0;
    height: 100vh;
    z-index: 30;
}

.private-sidebar-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    margin-top: -0.6rem;
    padding: 0 0.5rem 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
/* logo centrat pe toata latimea -> butonul colaps/inchide iese din
   flow (absolut, dreapta, centrat vertical) ca sa nu strice centrarea.
   In starea colapsata revine static (vezi @media min-width:992px). */
.private-sidebar-brand .private-sidebar-collapse,
.private-sidebar-brand .private-sidebar-close {
    position: absolute;
    right: 0.25rem;
    top: 50%;
    transform: translateY(-50%);
}
.private-sidebar-brand .private-brand-link { justify-content: flex-start; }
.private-sidebar-brand .brand-text {
    font-size: 1.1rem;
    color: #fff;
}
.private-sidebar-brand .private-brand-logo {
    height: 96px;
    width: auto;
    max-width: 260px;
    display: block;
    margin: 0;
}
/* Privat: pe desktop logo set 1 (--d); pe telefon/tableta (sidebar
   off-canvas, <=991.98px) comuta pe logo set 2 (--m = light_backup),
   doar cand ambele sunt setate (clasa --mob-swap). */
.private-brand-link--mob-swap .private-brand-logo--m { display: none; }
/* Logo incarcat in privat: ascunde marca nativa "E" (redundanta).
   Ramane DOAR in sidebar colapsat, unde logo-ul (.private-collapsible)
   e ascuns si avem nevoie de un marcaj compact. */
.private-brand-link--has-logo .brand-mark { display: none; }
.private-sidebar-close,
.private-sidebar-collapse {
    background: transparent;
    border: 0;
    color: #cbd5e1;
    font-size: 1rem;
    padding: 0.35rem 0.5rem;
    line-height: 1;
    border-radius: 8px;
    transition: background 140ms ease, color 140ms ease;
}
.private-sidebar-close:hover,
.private-sidebar-collapse:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}
.private-sidebar-collapse .collapse-icon-closed { display: none; }

.private-nav {
    flex: 1 1 auto;
    margin-top: 1rem;
    overflow-y: auto;
    /* scrollbar lipit de marginea din DREAPTA a sidebar-ului:
       anulam padding-ul-dreapta al sidebar-ului (1rem) cu margin
       negativ, dar pastram spatiu pt. text prin padding-right. */
    margin-right: -1rem;
    padding-right: 1rem;
}
/* sidebar colapsat are padding-right 0.5rem -> potriveste offset-ul */
.priv-sidebar-collapsed .private-nav { margin-right: -0.5rem; padding-right: 0.5rem; }
.private-nav ul li + li { margin-top: 0.25rem; }

/* ===== Scrollbar subtil si fin in zona privata ===== */
/* Firefox */
.private-shell,
.private-shell * {
    scrollbar-width: thin;
    scrollbar-color: rgba(15, 23, 42, 0.22) transparent;
}
/* WebKit/Blink (Chrome, Edge, Safari) */
.private-shell ::-webkit-scrollbar,
.private-shell::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
.private-shell ::-webkit-scrollbar-track,
.private-shell::-webkit-scrollbar-track,
.private-shell ::-webkit-scrollbar-corner {
    background: transparent;
}
.private-shell ::-webkit-scrollbar-thumb,
.private-shell::-webkit-scrollbar-thumb {
    background-color: rgba(15, 23, 42, 0.20);
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: content-box;
}
.private-shell ::-webkit-scrollbar-thumb:hover,
.private-shell::-webkit-scrollbar-thumb:hover {
    background-color: rgba(15, 23, 42, 0.38);
}
/* Varianta deschisa pe fundalul inchis al sidebar-ului */
.private-shell .private-sidebar,
.private-shell .private-sidebar * {
    scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}
.private-shell .private-sidebar ::-webkit-scrollbar-thumb,
.private-shell .private-nav::-webkit-scrollbar-thumb {
    background-color: rgba(255, 255, 255, 0.16);
}
.private-shell .private-sidebar ::-webkit-scrollbar-thumb:hover,
.private-shell .private-nav::-webkit-scrollbar-thumb:hover {
    background-color: rgba(255, 255, 255, 0.30);
}
.private-nav-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.75rem;
    border-radius: 12px;
    color: #cbd5e1;
    font-weight: 600;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    transition: background 140ms ease, color 140ms ease;
}
.private-nav-link i { font-size: 1.1rem; opacity: 0.85; }
.private-nav-link:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }
.private-nav-link.is-active {
    background: linear-gradient(135deg, rgba(208, 138, 74, 0.22), rgba(208, 138, 74, 0.10));
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(208, 138, 74, 0.30);
}
.private-nav-link.is-active i { opacity: 1; color: #f0c58a; }

.private-sidebar-foot {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 0.85rem;
    margin-top: 0.5rem;
}
.private-user { padding: 0 0.25rem 0.65rem; }
.private-user-name { font-weight: 700; color: #fff; font-size: 0.92rem; }
.private-user-role { font-size: 0.78rem; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.08em; }
.private-logout {
    display: flex; align-items: center; gap: 0.6rem;
    padding: 0.55rem 0.75rem;
    border-radius: 10px;
    color: #cbd5e1;
    font-weight: 600;
    font-size: 0.9rem;
}
.private-logout:hover { background: rgba(255, 255, 255, 0.06); color: #fff; }

.private-sidebar-toggle {
    position: fixed;
    top: 0.85rem;
    left: 0.85rem;
    z-index: 40;
    width: 42px; height: 42px;
    border-radius: 12px;
    border: 1px solid var(--priv-border);
    background: #fff;
    color: var(--priv-text);
    font-size: 1.2rem;
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.10);
}

.private-sidebar-backdrop {
    position: fixed; inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: 25;
}

.private-content {
    flex: 1 1 auto;
    min-width: 0;
    padding: 1.75rem 2rem 3rem;
}

/* === Starea "collapsed" pe desktop (icons-only sidebar) === */
@media (min-width: 992px) {
    .priv-sidebar-collapsed .private-sidebar {
        width: var(--priv-sidebar-w-collapsed);
        flex: 0 0 var(--priv-sidebar-w-collapsed);
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .priv-sidebar-collapsed .private-collapsible { display: none !important; }
    /* sidebar colapsat: logo-ul e ascuns -> readu marca "E" compacta */
    .priv-sidebar-collapsed .private-brand-link--has-logo .brand-mark { display: inline-flex; }
    .priv-sidebar-collapsed .private-brand-link {
        justify-content: center;
    }
    .priv-sidebar-collapsed .private-sidebar-brand {
        flex-direction: column;
        gap: 0.5rem;
        padding-left: 0.25rem;
        padding-right: 0.25rem;
    }
    /* colapsat: butonul colaps revine in flow (coloana), nu absolut */
    .priv-sidebar-collapsed .private-sidebar-brand .private-sidebar-collapse {
        position: static;
        transform: none;
    }
    .priv-sidebar-collapsed .private-sidebar-collapse .collapse-icon-open { display: none; }
    .priv-sidebar-collapsed .private-sidebar-collapse .collapse-icon-closed { display: inline-block; }
    .priv-sidebar-collapsed .private-nav-link {
        justify-content: center;
        padding: 0.7rem 0.5rem;
        position: relative;
    }
    .priv-sidebar-collapsed .private-nav-link i { font-size: 1.25rem; }
    .priv-sidebar-collapsed .private-logout {
        justify-content: center;
        padding: 0.55rem 0.5rem;
    }
    /* Tooltip pe hover când e collapsed */
    .priv-sidebar-collapsed .private-nav-link[data-priv-tip]:hover::after,
    .priv-sidebar-collapsed .private-logout[data-priv-tip]:hover::after {
        content: attr(data-priv-tip);
        position: absolute;
        left: calc(100% + 0.5rem);
        top: 50%;
        transform: translateY(-50%);
        background: #0f172a;
        color: #fff;
        padding: 0.4rem 0.75rem;
        border-radius: 8px;
        font-size: 0.85rem;
        font-weight: 600;
        white-space: nowrap;
        z-index: 100;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35);
        border: 1px solid rgba(255, 255, 255, 0.08);
        pointer-events: none;
    }
}

@media (max-width: 991.98px) {
    .private-sidebar {
        position: fixed;
        top: 0; left: 0;
        transform: translateX(-100%);
        transition: transform 200ms ease;
        box-shadow: 0 20px 60px rgba(7, 14, 28, 0.40);
    }
    .private-sidebar.is-open { transform: translateX(0); }
    /* pe telefon/tableta: logo set 2 (--m) in loc de set 1 (--d) */
    .private-brand-link--mob-swap .private-brand-logo--d { display: none; }
    .private-brand-link--mob-swap .private-brand-logo--m { display: block; }
    .private-content { padding: 4.25rem 1rem 2.5rem; }
    /* Ascunde hamburger-ul cand sidebar-ul e deschis pe mobile */
    .private-layout:has(.private-sidebar.is-open) .private-sidebar-toggle,
    body.priv-sidebar-mobile-open .private-sidebar-toggle {
        opacity: 0;
        pointer-events: none;
        visibility: hidden;
    }
}

/* Chrome reusabil în pagini private */
.priv-page-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}
.priv-page-head .btn,
.priv-page-head .priv-cta {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
    line-height: 1.25;
    font-weight: 600;
}
.priv-page-head .priv-cta {
    padding-left: 1.1rem;
    padding-right: 1.1rem;
}
.priv-page-head h1 {
    margin: 0;
    font-family: "Playfair Display", serif;
    font-size: 1.85rem;
    color: var(--priv-text);
}
.priv-page-head .priv-page-sub {
    color: var(--priv-text-muted);
    margin-top: 0.25rem;
    font-size: 0.95rem;
}
/* Status citire email (read-receipt prin pixel) */
.email-read {
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.32rem 0.7rem; border-radius: 999px;
    font-size: 0.82rem; font-weight: 600; line-height: 1; white-space: nowrap;
}
.email-read i { font-size: 0.95rem; }
.email-read--yes { background: rgba(46, 125, 50, 0.12); color: #2e7d32; border: 1px solid rgba(46, 125, 50, 0.28); }
.email-read--no { background: rgba(140, 129, 112, 0.12); color: #6b6356; border: 1px solid rgba(140, 129, 112, 0.30); }

.priv-card {
    background: var(--priv-card);
    border: 1px solid var(--priv-border);
    border-radius: 18px;
    padding: 1.5rem;
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.05);
}
.priv-card + .priv-card { margin-top: 1.25rem; }

/* Cap de tabel uniform pentru toate listele (.contracts-table):
   modelul de la Contracte, aplicat global (Rapoarte, Facturi, Clienți etc.). */
.contracts-table thead th {
    background: #fbf6ec;
    border-bottom: 1px solid var(--priv-border);
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--priv-text-muted);
}
.contracts-table tbody tr:hover { background: #fbf6ec; }
.contracts-table th, .contracts-table td { padding: 0.85rem 1rem; }

.priv-stat {
    display: flex; flex-direction: column; gap: 0.4rem;
    padding: 1.1rem 1.25rem;
    background: linear-gradient(180deg, #ffffff, #fbf6ec);
    border: 1px solid var(--priv-border);
    border-radius: 16px;
}
.priv-stat-label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    color: var(--priv-text-muted);
    font-weight: 700;
}
.priv-stat-value {
    font-family: "Playfair Display", serif;
    font-size: 2rem;
    line-height: 1;
    color: var(--priv-text);
}
.priv-stat-hint { font-size: 0.85rem; color: var(--priv-text-muted); }

.priv-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.1rem;
    min-height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand), #f0c58a);
    color: #21140c;
    font-weight: 800;
    letter-spacing: 0.01em;
    box-shadow: 0 10px 28px rgba(208, 138, 74, 0.28);
    border: 0;
    line-height: 1.25;
}
.priv-cta:hover { color: #21140c; transform: translateY(-1px); box-shadow: 0 14px 32px rgba(208, 138, 74, 0.34); }

.priv-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.priv-status::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: currentColor; }
.priv-status-pending  { background: #fff1e0; color: var(--priv-warning); }
.priv-status-sent     { background: #e6f0ff; color: #1d4ed8; }
.priv-status-signed   { background: #e6f6ec; color: var(--priv-success); }
.priv-status-expired  { background: #fbe6e6; color: var(--priv-danger); }
.priv-status-draft    { background: #f1f5f9; color: #475569; }

.priv-activity { display: flex; flex-direction: column; }
.priv-activity-item {
    display: flex; align-items: center; gap: 0.85rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--priv-border);
}
.priv-activity-item:last-child { border-bottom: 0; }
.priv-activity-main { flex: 1 1 auto; min-width: 0; }
.priv-activity-title { font-weight: 700; color: var(--priv-text); }
.priv-activity-sub { font-size: 0.85rem; color: var(--priv-text-muted); }
.priv-activity-meta { text-align: right; font-size: 0.85rem; color: var(--priv-text-muted); }
.priv-activity-empty { padding: 1.5rem 0; text-align: center; color: var(--priv-text-muted); }

/* ============================================================
   WIZARD CREARE CONTRACT
   ============================================================ */
.wizard-progress {
    list-style: none;
    counter-reset: wizard-counter;
    padding: 0;
    margin: 0 0 1.5rem 0;
    display: flex;
    gap: 0.5rem;
    flex-wrap: nowrap;
    overflow-x: auto;
}
.wizard-progress-step {
    flex: 1 1 0;
    min-width: 100px;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    background: #fff;
    border: 1px solid var(--priv-border);
    color: var(--priv-text-muted);
    font-weight: 600;
    font-size: 0.9rem;
    transition: background 160ms ease, border-color 160ms ease, color 160ms ease;
}
.wizard-progress-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #f3f4f6;
    color: var(--priv-text-muted);
    font-weight: 800;
    flex-shrink: 0;
}
.wizard-progress-label { white-space: nowrap; }
.wizard-progress-step.is-active {
    background: linear-gradient(135deg, #fff, #fbf6ec);
    border-color: rgba(208, 138, 74, 0.40);
    color: var(--priv-text);
    box-shadow: 0 4px 14px rgba(208, 138, 74, 0.14);
}
.wizard-progress-step.is-active .wizard-progress-num {
    background: linear-gradient(135deg, var(--brand), #f0c58a);
    color: #21140c;
}
.wizard-progress-step.is-done {
    border-color: rgba(31, 138, 76, 0.28);
    color: #1f8a4c;
}
.wizard-progress-step.is-done .wizard-progress-num {
    background: #e6f6ec;
    color: var(--priv-success);
}
.wizard-progress-step.is-done .wizard-progress-num::before {
    content: "\F633"; /* bi-check2 unicode */
    font-family: "bootstrap-icons";
    font-size: 1rem;
    line-height: 1;
}
.wizard-progress-step.is-done .wizard-progress-num span { display: none; }

.wizard-step { display: none; }
.wizard-step.is-active { display: block; }

.wizard-details summary {
    cursor: pointer;
    color: var(--brand-dark);
    font-weight: 600;
    padding: 0.5rem 0.75rem;
    border: 1px dashed var(--priv-border);
    border-radius: 10px;
    background: #fbf6ec;
}
.wizard-details[open] summary { background: #fff; }

.wizard-summary-card {
    background: linear-gradient(180deg, #fff, #fbf6ec);
    border: 1px solid var(--priv-border);
    border-radius: 14px;
    padding: 1rem 1.1rem;
    height: 100%;
}
.wizard-summary-title {
    font-family: "Playfair Display", serif;
    font-size: 1.05rem;
    color: var(--priv-text);
    margin-bottom: 0.5rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid var(--priv-border);
}
.wizard-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.3rem 0;
    font-size: 0.92rem;
}
.wizard-summary-row span { color: var(--priv-text-muted); }
.wizard-summary-row strong { color: var(--priv-text); text-align: right; word-break: break-word; }

@media (max-width: 575.98px) {
    .wizard-progress-label { display: none; }
    .wizard-progress-step { justify-content: center; min-width: 0; padding: 0.6rem 0.5rem; }
}

.cui-hint {
    transition: color 140ms ease;
}
.cui-hint--loading { color: var(--brand-dark); opacity: 1; }
.cui-hint--ok      { color: var(--priv-success); font-weight: 600; opacity: 1; }
.cui-hint--err     { color: var(--priv-danger); font-weight: 600; opacity: 1; }

@keyframes cui-flash-anim {
    0%   { background-color: rgba(31, 138, 76, 0.18); }
    100% { background-color: transparent; }
}
.cui-flash {
    animation: cui-flash-anim 1.4s ease-out;
}

/* Placeholder-uri mai discrete in zona privată */
.private-shell .form-control::placeholder,
.private-shell .form-select::placeholder,
.private-shell input::placeholder,
.private-shell textarea::placeholder {
    color: var(--priv-text-muted);
    opacity: 0.45;
    font-style: italic;
    font-weight: 400;
}
.private-shell .form-control::-webkit-input-placeholder { color: var(--priv-text-muted); opacity: 0.45; }
.private-shell .form-control::-moz-placeholder         { color: var(--priv-text-muted); opacity: 0.45; }
.private-shell .form-control:-ms-input-placeholder     { color: var(--priv-text-muted); opacity: 0.45; }

/* Text de ajutor sub câmpuri — mai muted */
.private-shell .form-text {
    color: var(--priv-text-muted) !important;
    opacity: 0.75;
    font-size: 0.82rem;
}

/* ============================================================
   VIEW CONTRACT — timeline, meta, preview iframe
   ============================================================ */
.priv-status--lg {
    font-size: 0.92rem;
    padding: 0.4rem 0.95rem;
}
.priv-status--lg::before { width: 0; height: 0; margin: 0; }

.priv-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}
.priv-timeline::before {
    content: "";
    position: absolute;
    left: 13px;
    top: 6px;
    bottom: 6px;
    width: 2px;
    background: var(--priv-border);
    z-index: 0;
}
.priv-timeline-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0.5rem 0;
}
.priv-timeline-dot {
    position: relative;
    z-index: 1;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #fff;
    border: 2px solid var(--priv-border);
    color: var(--priv-text-muted);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
}
.priv-timeline-item.is-done .priv-timeline-dot {
    background: linear-gradient(135deg, #e6f6ec, #c5ecd2);
    border-color: rgba(31, 138, 76, 0.40);
    color: var(--priv-success);
}
.priv-timeline-item.is-pending .priv-timeline-dot {
    background: #fbf6ec;
    border-color: var(--priv-border);
    color: var(--priv-text-muted);
}
.priv-timeline-title {
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--priv-text);
}
.priv-timeline-item.is-pending .priv-timeline-title { color: var(--priv-text-muted); }
.priv-timeline-sub { font-size: 0.82rem; color: var(--priv-text-muted); }

.priv-meta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.4rem 1rem;
    margin: 0;
}
.priv-meta > div {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 0.5rem;
    align-items: baseline;
    border-bottom: 1px dashed var(--priv-border);
    padding: 0.4rem 0;
}
.priv-meta > div:last-child { border-bottom: 0; }
.priv-meta dt {
    color: var(--priv-text-muted);
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
}
.priv-meta dd {
    color: var(--priv-text);
    margin: 0;
    word-break: break-word;
}
@media (max-width: 575.98px) {
    .priv-meta > div { grid-template-columns: 1fr; gap: 0.15rem; }
}

.priv-preview-card { overflow: hidden; }
.priv-preview-head {
    background: linear-gradient(180deg, #fbf6ec, #fff);
    border-bottom: 1px solid var(--priv-border);
}
.priv-preview-frame {
    width: 100%;
    height: 70vh;
    min-height: 540px;
    border: 0;
    background: #fff;
    display: block;
}
/* Pe desktop, zona de previzualizare se intinde pe toata inaltimea
   coloanei (Bootstrap egalizeaza coloanele -> ia inaltimea coloanei
   din stanga daca aceasta e mai mare), cu un minim rezonabil. */
@media (min-width: 992px) {
    .priv-preview-card {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .priv-preview-card .priv-preview-frame {
        flex: 1 1 auto;
        height: auto;
        min-height: 600px;
    }
}

/* ============================================================
   SETĂRI — tabs, editor template, placeholder chips
   ============================================================ */
.priv-tabs {
    border-bottom: 1px solid var(--priv-border);
}
.priv-tabs .nav-link {
    color: var(--priv-text-muted);
    font-weight: 600;
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 0.75rem 1.1rem;
    border-radius: 0;
}
.priv-tabs .nav-link:hover {
    color: var(--priv-text);
    background: rgba(208, 138, 74, 0.06);
}
.priv-tabs .nav-link.active {
    color: var(--brand-dark);
    border-bottom-color: var(--brand);
    background: transparent;
}

.template-textarea {
    font-family: ui-monospace, "SF Mono", "Cascadia Code", Consolas, "Liberation Mono", monospace;
    font-size: 0.85rem;
    line-height: 1.5;
    background: #f8fafc;
    border: 1px solid var(--priv-border);
}
.template-textarea:focus {
    background: #fff;
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(208, 138, 74, 0.16);
}

.placeholder-list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    max-height: 460px;
    overflow-y: auto;
    padding-right: 0.25rem;
}
.placeholder-chip {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 0.7rem;
    background: #fff;
    border: 1px solid var(--priv-border);
    border-radius: 10px;
    cursor: pointer;
    text-align: left;
    transition: all 140ms ease;
    color: var(--priv-text);
}
.placeholder-chip:hover {
    border-color: rgba(208, 138, 74, 0.40);
    background: #fbf6ec;
    transform: translateX(2px);
}
.placeholder-chip code {
    background: rgba(208, 138, 74, 0.10);
    color: var(--brand-dark);
    padding: 0.12rem 0.45rem;
    border-radius: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    flex-shrink: 0;
}
.placeholder-chip .placeholder-label {
    font-size: 0.84rem;
    color: var(--priv-text-muted);
}
.placeholder-chip.is-inserted {
    border-color: var(--priv-success);
    background: #e6f6ec;
}
.placeholder-chip.is-inserted code {
    background: var(--priv-success);
    color: #fff;
}

/* Lista template-uri în sidebar */
.template-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    max-height: 540px;
    overflow-y: auto;
    padding: 0.25rem;
}
.template-list-item {
    display: block;
    padding: 0.6rem 0.7rem;
    border-radius: 10px;
    text-decoration: none;
    color: var(--priv-text);
    border: 1px solid transparent;
    transition: background 140ms ease, border-color 140ms ease;
}
.template-list-item:hover {
    background: #fbf6ec;
    border-color: rgba(208, 138, 74, 0.20);
    color: var(--priv-text);
}
.template-list-item.is-active {
    background: linear-gradient(135deg, rgba(208, 138, 74, 0.14), rgba(240, 197, 138, 0.10));
    border-color: rgba(208, 138, 74, 0.40);
    color: var(--priv-text);
}
.template-list-name { font-weight: 700; font-size: 0.92rem; }
.template-list-key {
    color: var(--priv-text-muted);
    font-size: 0.75rem;
    font-family: ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;
    margin-top: 0.15rem;
}
.template-list-new {
    color: var(--brand-dark);
    font-weight: 600;
    font-size: 0.88rem;
    border: 1px dashed rgba(208, 138, 74, 0.40);
    text-align: center;
    margin-top: 0.25rem;
}

/* ============================================================
   SEMNATURA COMPANIE — canvas din Setari > Firma mea
   ============================================================ */
.company-signature-wrap {
    margin-top: 0.5rem;
}

.company-signature-current {
    position: relative;
    background: #fff;
    border: 1px solid var(--priv-border);
    border-radius: 14px;
    padding: 1rem;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    min-width: 280px;
}
.company-signature-current img {
    max-width: 320px;
    max-height: 140px;
    display: block;
}
.company-signature-actions {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center;
}

.company-signature-canvas-wrap {
    position: relative;
    background: #fff;
    border: 2px dashed rgba(15, 23, 42, 0.18);
    border-radius: 14px;
    padding: 6px;
    transition: border-color 160ms ease;
}
.company-signature-canvas-wrap:hover {
    border-color: rgba(208, 138, 74, 0.45);
}
#companySignaturePad {
    width: 100%;
    height: 180px;
    display: block;
    touch-action: none;
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32'><path d='M26 2 L30 6 L10 26 L4 28 L6 22 Z' fill='%231e3a8a' stroke='%23ffffff' stroke-width='0.8' stroke-linejoin='round'/><circle cx='5' cy='27' r='1.2' fill='%23ef4444'/></svg>") 4 28, crosshair;
    border-radius: 10px;
    background: #fdfdfd;
}
.company-signature-hint {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: rgba(15, 23, 42, 0.32);
    font-size: 0.95rem;
    pointer-events: none;
    user-select: none;
    font-style: italic;
}

/* ============================================================
   PORTOFOLIU — dropzone drag-drop + thumbnails
   ============================================================ */
.dropzone {
    position: relative;
    border: 2px dashed rgba(15, 23, 42, 0.16);
    border-radius: 14px;
    background: #fbf6ec;
    padding: 1.25rem 1rem;
    text-align: center;
    transition: border-color 160ms ease, background 160ms ease, transform 100ms ease;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dropzone:hover { border-color: rgba(208, 138, 74, 0.55); background: #fff; }
.dropzone.is-dragging {
    border-color: var(--brand);
    background: linear-gradient(180deg, #fff7e6, #fbeed0);
    transform: scale(1.01);
}

.dropzone-empty,
.dropzone-current,
.dropzone-preview {
    width: 100%;
}

.dropzone-icon {
    font-size: 2.5rem;
    color: var(--brand);
    display: block;
    margin-bottom: 0.5rem;
}
.dropzone-title {
    font-weight: 700;
    color: var(--priv-text);
    font-size: 1rem;
}
.dropzone-sub {
    color: var(--priv-text-muted);
    font-size: 0.9rem;
    margin-top: 0.25rem;
}
.dropzone-formats {
    color: var(--priv-text-muted);
    font-size: 0.78rem;
    margin-top: 0.5rem;
}

/* Coperta actuală sau preview înainte de upload */
.dropzone-current,
.dropzone-preview {
    position: relative;
}
.dropzone-current img,
.dropzone-preview img {
    width: 100%;
    max-height: 220px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}
.dropzone-current-actions {
    position: absolute;
    bottom: 0.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.4rem;
    background: rgba(15, 23, 42, 0.72);
    padding: 0.3rem 0.45rem;
    border-radius: 12px;
    backdrop-filter: blur(6px);
}
.dropzone-current-actions .btn-outline-light {
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
}
.dropzone-current-actions .btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}
.dropzone-preview-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.5rem;
    font-size: 0.85rem;
    color: var(--priv-text-muted);
}

/* Thumbnail mic în tabel */
.portfolio-thumb-sm {
    width: 64px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
    border: 1px solid var(--priv-border);
}
.portfolio-thumb-empty {
    background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
    color: #9ca3af;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
}

/* Coperta pe homepage public */
.portfolio-card {
    overflow: hidden;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.portfolio-card > h3,
.portfolio-card > p,
.portfolio-card > .panel-badge,
.portfolio-card > .d-flex {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.portfolio-card > h3 { padding-top: 1.25rem; }
.portfolio-card > .d-flex { padding-bottom: 1.5rem; margin-top: auto; }
.portfolio-card > p { margin-top: 0.75rem; }
.portfolio-card > .panel-badge { margin-top: 1.5rem; }

.portfolio-cover {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: linear-gradient(135deg, #1f2937, #0f172a);
}
.portfolio-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 320ms ease;
}
.portfolio-cover:hover img { transform: scale(1.04); }
.portfolio-cover-badge {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    background: rgba(15, 23, 42, 0.78);
    color: #fff;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255, 255, 255, 0.10);
}

/* ==========================================================
   ZONA PRIVATA - tema editoriala (acelasi vibe ca homepage)
   Crem cald + accent terracotta + butoane pill espresso.
   Pus la finalul regiunii private ca sa bata regulile de mai sus
   prin ordinea sursei. Fontul ramane cel privat (cerinta Emanuel).
   ========================================================== */
body.private-shell {
    --brand: #cf5a25;
    --brand-dark: #b54a1c;
    --brand-ink: #2a1a0e;
    --priv-card: #fffdf8;
    --priv-border: rgba(40, 30, 16, 0.16);
    --priv-text: #231c13;
    --priv-text-muted: #8c8170;
    --priv-accent: #cf5a25;
    --priv-accent-soft: rgba(207, 90, 37, 0.12);
    --priv-success: #1f7a45;
    --priv-warning: #b45309;
    --priv-danger: #b3261e;
}
body.private-shell {
    background:
        radial-gradient(circle at 22% -10%, rgba(207, 90, 37, 0.07), transparent 30%),
        linear-gradient(180deg, #f8f3e8 0%, #f1e9da 100%);
    color: var(--priv-text);
}

/* ===== Fonturi UNIFORME in zona privata: Barlow Semi Condensed =====
   Un singur font (text + titluri), mai ingust pe orizontala -> mai mult
   text pe linie. Scopat .private-shell ca sa NU atinga publicul.
   Pagina publica de semnare (.contract-client-page) ramane neschimbata. */
body.private-shell,
.private-shell .priv-page-sub,
.private-shell .priv-stat-label,
.private-shell .priv-stat-hint {
    font-family: "Barlow Semi Condensed", system-ui, -apple-system, "Segoe UI", sans-serif;
}
.private-shell h1, .private-shell h2, .private-shell h3,
.private-shell h4, .private-shell h5, .private-shell h6,
.private-shell .brand-text,
.private-shell .priv-page-head h1,
.private-shell .priv-stat-value,
.private-shell .wizard-summary-title {
    font-family: "Barlow Semi Condensed", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-weight: 700;
    letter-spacing: -0.005em;
}

/* Sidebar espresso (in loc de navy rece) */
.private-shell .private-sidebar {
    background: linear-gradient(180deg, #2a2018 0%, #1d1610 100%);
    color: #e9e1d3;
}
.private-shell .private-sidebar-brand { border-bottom-color: rgba(244, 239, 228, 0.12); }
.private-shell .private-sidebar-brand .brand-text { color: #fdf9f0; }
.private-shell .brand-mark {
    background: linear-gradient(135deg, #e07a45, #cf5a25);
    color: #fdf6ea;
    box-shadow: 0 10px 24px rgba(207, 90, 37, 0.30);
}
.private-shell .private-sidebar-close,
.private-shell .private-sidebar-collapse { color: #d8ccb8; }
.private-shell .private-sidebar-close:hover,
.private-shell .private-sidebar-collapse:hover { background: rgba(244, 239, 228, 0.10); color: #fff; }
.private-shell .private-nav-link { color: #cdc2af; }
.private-shell .private-nav-link:hover { background: rgba(244, 239, 228, 0.07); color: #fdf9f0; }
.private-shell .private-nav-link.is-active {
    background: linear-gradient(135deg, rgba(207, 90, 37, 0.30), rgba(207, 90, 37, 0.14));
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(207, 90, 37, 0.45);
}
.private-shell .private-nav-link.is-active i { color: #f0a070; }
.private-shell .private-sidebar-foot { border-top-color: rgba(244, 239, 228, 0.12); }
.private-shell .private-user-name { color: #fdf9f0; }
.private-shell .private-user-role { color: #a7937a; }
.private-shell .private-logout { color: #cdc2af; }
.private-shell .private-logout:hover { background: rgba(244, 239, 228, 0.07); color: #fff; }

/* Categorii in meniul lateral (Business / Administrare site public) */
.private-shell .private-nav-group + .private-nav-group { margin-top: 1.15rem; }
.private-shell .private-nav-group-label {
    padding: 0.3rem 0.75rem 0.45rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #9c8b73;
}
@media (min-width: 992px) {
    .priv-sidebar-collapsed .private-nav-group + .private-nav-group {
        margin-top: 0.65rem;
        padding-top: 0.65rem;
        border-top: 1px solid rgba(244, 239, 228, 0.12);
    }
}

/* Hamburger + backdrop in tonuri calde */
.private-shell .private-sidebar-toggle {
    background: #fffdf8;
    color: var(--priv-text);
    border-color: var(--priv-border);
    box-shadow: 0 6px 20px rgba(40, 30, 16, 0.14);
}
.private-shell .private-sidebar-backdrop { background: rgba(35, 28, 19, 0.45); }

/* Scrollbar privat in tonuri calde (peste regula rece de mai sus) */
.private-shell ::-webkit-scrollbar-thumb,
.private-shell::-webkit-scrollbar-thumb { background-color: rgba(40, 30, 16, 0.20); }
.private-shell ::-webkit-scrollbar-thumb:hover,
.private-shell::-webkit-scrollbar-thumb:hover { background-color: rgba(40, 30, 16, 0.40); }
.private-shell,
.private-shell * { scrollbar-color: rgba(40, 30, 16, 0.22) transparent; }
.private-shell .private-sidebar,
.private-shell .private-sidebar * { scrollbar-color: rgba(244, 239, 228, 0.20) transparent; }

/* Tooltip sidebar collapsed -> espresso */
@media (min-width: 992px) {
    .priv-sidebar-collapsed .private-nav-link[data-priv-tip]:hover::after,
    .priv-sidebar-collapsed .private-logout[data-priv-tip]:hover::after {
        background: #231c13;
        border-color: rgba(244, 239, 228, 0.12);
        box-shadow: 0 8px 22px rgba(35, 28, 19, 0.40);
    }
}

/* Butoane in stilul editorial public: pill espresso -> terracotta */
.private-shell .btn-brand,
.private-shell .priv-cta,
.priv-page-head .priv-cta {
    background: #231c13;
    border: 1px solid #231c13;
    color: #f4efe4;
    border-radius: 999px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    box-shadow: none;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.private-shell .btn-brand:hover,
.private-shell .priv-cta:hover,
.priv-page-head .priv-cta:hover {
    background: #cf5a25;
    border-color: #cf5a25;
    color: #f4efe4;
    transform: translateY(-2px);
    box-shadow: none;
}
/* Fara umbra la hover pe niciun buton din zona privata */
.private-shell .btn:hover,
.private-shell .priv-cta:hover { box-shadow: none; }
.private-shell .btn-outline-secondary {
    color: #231c13;
    border-color: rgba(40, 30, 16, 0.22);
    background: transparent;
}
.private-shell .btn-outline-secondary:hover {
    color: #fff;
    background: #cf5a25;
    border-color: #cf5a25;
}
.private-shell .btn-outline-primary {
    color: #b54a1c;
    border-color: rgba(207, 90, 37, 0.55);
    background: transparent;
}
.private-shell .btn-outline-primary:hover {
    color: #fff;
    background: #cf5a25;
    border-color: #cf5a25;
}
.private-shell .btn-brand:focus-visible,
.private-shell .priv-cta:focus-visible,
.private-shell .btn-outline-secondary:focus-visible,
.private-shell .btn-outline-primary:focus-visible {
    outline: 2px solid rgba(207, 90, 37, 0.45);
    outline-offset: 2px;
}

/* Inputuri: focus terracotta (ca pe formularul public) */
.private-shell .form-control:focus,
.private-shell .form-select:focus {
    border-color: #cf5a25;
    box-shadow: 0 0 0 3px rgba(207, 90, 37, 0.16);
}
.private-shell .form-check-input:checked {
    background-color: #cf5a25;
    border-color: #cf5a25;
}

/* Accente de continut */
.private-shell .eyebrow { color: #cf5a25; }
.private-shell .panel-badge { background: rgba(207, 90, 37, 0.12); color: #b54a1c; }
/* Link-uri text de continut: doar in interiorul cardurilor, fara butoane/CTA.
   Specificitate joasa intentionat ca sa nu bata regulile de buton/.priv-cta. */
.private-shell .priv-card a:not([class]):hover { color: #cf5a25; }

/* ==========================================================
   PUBLIC HOMEPAGE - v5 CLEAN EDITORIAL (cream + 1 accent)
   Fundal crem deschis, spatios; Playfair Display serif pe titlu/text,
   Inter tracked uppercase pe etichete; un singur accent
   terracotta folosit minimal. Butoane pill-outline.
   Scoped .home-page / .site-header--home. Privat neatins.
   ========================================================== */

.site-brand { text-decoration: none; }
.brand-eq { display: inline-flex; align-items: flex-end; gap: 3px; height: 16px; }
.brand-eq i { width: 3px; flex: none; border-radius: 1px; background: #2a2118; }
.brand-eq i:nth-child(1) { height: 45%; }
.brand-eq i:nth-child(2) { height: 90%; }
.brand-eq i:nth-child(3) { height: 60%; }
.brand-eq i:nth-child(4) { height: 100%; }
.brand-dot { color: #cf5a25; -webkit-text-fill-color: #cf5a25; font-style: normal; }

.home-page {
    --hp-ink: #231c13;
    --hp-soft: #43382a;
    --hp-muted: #8c8170;
    --hp-line: rgba(40, 30, 16, 0.20);
    --hp-line-soft: rgba(40, 30, 16, 0.10);
    --hp-panel: rgba(255, 255, 255, 0.50);
    --hp-card: rgba(255, 255, 255, 0.66);
    --hp-accent: #cf5a25;
    --hp-accent-deep: #b54a1c;
    --hp-btn: #231c13;
    --hp-btn-ink: #f4efe4;
    --hp-navh: 70px;
    --hp-serif: "Playfair Display", Georgia, serif;
    --hp-label: "Space Mono", ui-monospace, SFMono-Regular, monospace;
}
body.home-page {
    color: var(--hp-ink);
    font-family: var(--hp-serif);
    background:
        radial-gradient(1200px 720px at 50% -16%, #faf7ef 0%, transparent 60%),
        linear-gradient(178deg, #f6f2e9 0%, #f1ece0 100%);
    background-attachment: fixed;
}
.home-page h1, .home-page h2, .home-page h3, .home-page h4 { font-family: var(--hp-serif); color: var(--hp-ink); font-weight: 500; }
.home-page p { color: var(--hp-soft); }
.home-page a { color: inherit; }
.home-page .grad-text { font-family: inherit; font-style: italic; font-weight: inherit;
    color: var(--hp-accent); background: none; -webkit-text-fill-color: var(--hp-accent); }
.home-page ::selection { background: rgba(207, 90, 37, 0.20); }

/* etichete tip "label" rarite */
.home-page .eyebrow {
    display: inline-flex; align-items: center;
    font-family: var(--hp-label); color: var(--hp-muted);
    font-size: 0.72rem; font-weight: 600; letter-spacing: 0.32em; text-transform: uppercase;
}
.home-page .eyebrow::before, .home-page .eyebrow::after {
    content: ""; display: inline-block; width: 22px; height: 1px; background: currentColor; opacity: 0.6;
}
.home-page .eyebrow::before { margin-right: 0.9rem; }
.home-page .eyebrow::after { margin-left: 0.9rem; }

.home-page .sec { padding: 7.5rem 0; scroll-margin-top: calc(var(--hp-navh) + 8px); position: relative; }
.home-page .sec-head { max-width: 48rem; margin-bottom: 3.75rem; }
.home-page .sec-title {
    font-family: var(--hp-serif); font-weight: 500;
    font-size: clamp(2.2rem, 4.8vw, 3.8rem); line-height: 1.06;
    letter-spacing: -0.015em; color: var(--hp-ink); margin: 1.2rem 0 0;
}
.home-page .sec-sub {
    font-family: var(--hp-serif); font-style: italic; color: var(--hp-muted);
    font-size: 1.15rem; line-height: 1.6; margin: 1.2rem 0 0;
}

/* ===== HEADER / NAV ===== */
.site-header--home {
    position: fixed; inset: 0 0 auto 0; z-index: 1030;
    border-bottom: 1px solid transparent;
    transition: background 240ms ease, border-color 240ms ease, backdrop-filter 240ms ease;
}
/* v6.21 - bara de meniu ramane fixa la --hp-navh; logo-ul primar (mare)
   nu mai lateste antetul: curge in jos peste hero (sticky/overlay),
   nu impinge meniul. align-self:flex-start = creste doar in jos. */
.site-header--home .navbar { padding: 0; height: var(--hp-navh); }
.site-header--home .site-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: var(--hp-navh); }
.site-header--home .site-brand { align-self: flex-start; }
/* la scroll logo-ul e mic (44px) -> centrat vertical in bara;
   cel mare (nederulat) ramane flex-start ca sa creasca doar in jos */
.site-header--home.is-scrolled .site-brand { align-self: center; }
.site-header--home .brand-text {
    font-family: var(--hp-label); color: var(--hp-ink);
    font-weight: 600; font-size: 0.82rem; letter-spacing: 0.2em; text-transform: uppercase;
}
/* v6.20 - logo public mare sus, se micsoreaza la scroll.
   Foloseste clasa .is-scrolled comutata deja din assets/js/site.js
   (window.pageYOffset > 24), fara JS nou. Scoped doar pe homepage. */
.site-header--home .brand-logo { width: 230px; }
/* logo mic (la scroll) controlat prin INALTIME -> incape in bara
   --hp-navh (70px) si e predictibil indiferent ce fisier e in slot */
.site-header--home.is-scrolled .brand-logo { width: auto; height: 44px; }
@media (max-width: 575.98px) {
    .site-header--home .brand-logo { width: 150px; }
    .site-header--home.is-scrolled .brand-logo { width: auto; height: 36px; }
}
/* v6.22 - la scroll comuta pe logo-ul din setul 2 (dark backup, fara
   „ciurumelea"). Activ doar cand .site-brand--swap (ambele logo-uri
   setate); altfel logo-ul primar ramane mereu. CSS-only pe .is-scrolled.
   FIX: logo-ul secundar (--scroll) e ascuns GLOBAL (nu doar pe home),
   altfel pe paginile non-home (cookie/politici, fara .site-header--home)
   apareau ambele logo-uri = logo dublat. */
.site-brand--swap .brand-logo--scroll { display: none; }
.site-header--home.is-scrolled .site-brand--swap .brand-logo--top { display: none; }
.site-header--home.is-scrolled .site-brand--swap .brand-logo--scroll { display: block; }
.site-header--home.is-scrolled {
    background: rgba(246, 242, 233, 0.9);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    border-bottom-color: var(--hp-line-soft);
}
.site-header--home .site-nav-links { display: flex; align-items: center; gap: 0.5rem; }
.site-header--home .site-nav-links > a {
    font-family: var(--hp-label); color: var(--hp-soft);
    font-size: 0.74rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
    padding: 0.55rem 0.85rem; border-radius: 999px; transition: color 160ms ease, background 160ms ease;
}
.site-header--home .site-nav-links > a:hover { color: var(--hp-ink); background: rgba(40, 30, 16, 0.06); }
.site-header--home .site-nav-links .nav-cta {
    color: var(--hp-ink); background: transparent;
    border: 1px solid var(--hp-line); padding: 0.5rem 1.1rem;
}
.site-header--home .site-nav-links .nav-cta:hover { color: var(--hp-accent); border-color: var(--hp-accent); background: transparent; }

.site-header--home .nav-toggle {
    display: none; width: 42px; height: 42px; padding: 0;
    flex-direction: column; align-items: center; justify-content: center; gap: 5px;
    background: transparent; border: 1px solid var(--hp-line); border-radius: 999px; cursor: pointer;
}
.site-header--home .nav-toggle span { display: block; width: 18px; height: 2px; border-radius: 2px;
    background: var(--hp-ink); transition: transform 200ms ease, opacity 160ms ease; }
.site-header--home .nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header--home .nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.site-header--home .nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 991.98px) {
    .site-header--home .nav-toggle { display: inline-flex; }
    .site-header--home .site-nav-links {
        position: fixed; left: 0; right: 0; top: var(--hp-navh);
        flex-direction: column; align-items: stretch; gap: 0.15rem;
        padding: 1rem 1.1rem 1.3rem;
        background: rgba(246, 242, 233, 0.98);
        -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
        border-bottom: 1px solid var(--hp-line);
        box-shadow: 0 22px 40px rgba(60, 40, 12, 0.12);
        opacity: 0; visibility: hidden; transform: translateY(-12px); pointer-events: none;
        transition: opacity 200ms ease, transform 220ms ease, visibility 0s linear 220ms;
    }
    .site-header--home .site-nav-links.is-open { opacity: 1; visibility: visible; transform: none; pointer-events: auto;
        transition: opacity 200ms ease, transform 220ms ease; }
    .site-header--home .site-nav-links > a { padding: 0.9rem 0.9rem; font-size: 0.85rem; }
    .site-header--home .site-nav-links .nav-cta { text-align: center; margin-top: 0.6rem; }
}

/* ===== HERO ===== */
.hero { position: relative; overflow: hidden; padding: calc(var(--hp-navh) + 7rem) 0 7rem; }
.hero-fx, .hero-blob, .hero-grid { display: none; }
.hero .container, .hero-inner { position: relative; z-index: 1; }
.hero-badge { display: inline-flex; align-items: center; gap: 0.6rem; margin-bottom: 2rem;
    font-family: var(--hp-label); color: var(--hp-muted);
    font-size: 0.72rem; font-weight: 600; letter-spacing: 0.28em; text-transform: uppercase; }
.hero-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--hp-accent);
    box-shadow: 0 0 0 0 rgba(207, 90, 37, 0.5); animation: pulseDot 2.6s infinite; }
@keyframes pulseDot { 0% { box-shadow: 0 0 0 0 rgba(207,90,37,0.45); } 70% { box-shadow: 0 0 0 9px rgba(207,90,37,0); } 100% { box-shadow: 0 0 0 0 rgba(207,90,37,0); } }
/* v6.24 - badge "Disponibil pentru colaborari" mutat in coloana
   showcase (col-lg-5), deasupra cardului, CENTRAT pe latimea cardului
   (= latimea coloanei). Bulina pe stanga textului. Doar desktop
   (>=992px, .hero-badge-top e d-none d-lg-flex); mobil = .hero-badge-m. */
@media (min-width: 992px) {
    .home-page .hero-badge-top {
        width: 100%;
        justify-content: center;
        margin-bottom: 1rem;
    }
    .home-page .hero-badge-top .hero-badge { margin-bottom: 0; }
}
.hero-title { font-family: var(--hp-serif); font-weight: 500;
    font-size: clamp(2.5rem, 6.2vw, 4.8rem); line-height: 1.04;
    letter-spacing: -0.02em; margin: 0; color: var(--hp-ink); }
.hero-title .grad-text { font-style: italic; color: var(--hp-accent); -webkit-text-fill-color: var(--hp-accent); }
.hero-lead { font-family: var(--hp-serif); font-style: italic; margin: 1.8rem 0 0;
    max-width: 33rem; font-size: 1.2rem; line-height: 1.6; color: var(--hp-soft); }
.hero-lead strong { font-weight: 600; font-style: normal; color: var(--hp-ink); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.7rem; margin-top: 2.8rem; }
.btn-glow, .btn-ghost, .hp-submit {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
    padding: 0.7rem 1.4rem; border-radius: 999px;
    font-family: var(--hp-label); font-size: 0.74rem; font-weight: 600;
    letter-spacing: 0.16em; text-transform: uppercase; cursor: pointer;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.btn-glow, .hp-submit { color: var(--hp-btn-ink); background: var(--hp-btn); border: 1px solid var(--hp-btn); }
.btn-glow:hover, .hp-submit:hover { color: var(--hp-btn-ink); background: var(--hp-accent); border-color: var(--hp-accent); transform: translateY(-2px); }
.btn-ghost { color: var(--hp-ink); background: transparent; border: 1px solid var(--hp-line); }
.btn-ghost:hover { color: var(--hp-accent); border-color: var(--hp-accent); transform: translateY(-2px); }
.hp-submit { width: auto; padding: 0.8rem 1.8rem; }
.hero-eq { display: inline-flex; align-items: flex-end; gap: 4px; height: 22px; margin-top: 3rem; }
.hero-eq span { width: 3px; border-radius: 2px; background: rgba(40, 30, 16, 0.45); animation: heroEq 1.4s ease-in-out infinite; }
.hero-eq span:nth-child(odd) { animation-delay: -0.4s; }
.hero-eq span:nth-child(3n) { animation-delay: -0.7s; }
@keyframes heroEq { 0%,100% { height: 20%; } 50% { height: 100%; } }

.hero-showcase { position: relative; }
.hero-show-carousel, .hero-show-carousel img, .hero-nowplaying { border-radius: 10px; overflow: hidden; }
.hero-show-carousel { border: 1px solid var(--hp-line); box-shadow: 0 30px 64px rgba(60, 40, 12, 0.16); }
.hero-show-carousel img { display: block; width: 100%; height: 480px; object-fit: cover; filter: saturate(0.94); }
.hero-show-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem 1.5rem;
    background: linear-gradient(0deg, rgba(25, 18, 8, 0.55), transparent); color: #f6efdf; }
.hero-show-cap strong { display: block; font-family: var(--hp-serif); font-size: 1.05rem; }
.hero-show-cap span { font-family: var(--hp-serif); font-style: italic; font-size: 0.9rem; opacity: 0.88; }
.hero-show-carousel .carousel-indicators { margin-bottom: 0.6rem; }
.hero-show-carousel .carousel-indicators [data-bs-target] { width: 7px; height: 7px; border-radius: 50%; background: #f6efdf; opacity: 0.5; border: 0; }
.hero-show-carousel .carousel-indicators .active { opacity: 1; }
.hero-nowplaying { background: var(--hp-card); border: 1px solid var(--hp-line); padding: 2.6rem; text-align: center; }
.hero-nowplaying .np-label { display: inline-flex; align-items: center; gap: 0.4rem;
    font-family: var(--hp-label); color: var(--hp-muted); font-size: 0.72rem; font-weight: 600;
    letter-spacing: 0.22em; text-transform: uppercase; }
.np-wave { display: flex; align-items: flex-end; justify-content: center; gap: 3px; height: 56px; margin: 1.4rem 0; }
.np-wave span { width: 3px; border-radius: 2px; background: rgba(40, 30, 16, 0.4); height: 30%; animation: heroEq 1.1s ease-in-out infinite; }
.hero-nowplaying strong { display: block; font-family: var(--hp-serif); font-size: 1.25rem; color: var(--hp-ink); }
.np-sub { font-family: var(--hp-serif); font-style: italic; color: var(--hp-muted); font-size: 0.95rem; }
.hero-show-ring { display: none; }
.hero-scroll { position: absolute; left: 50%; bottom: 1.6rem; transform: translateX(-50%);
    width: 20px; height: 32px; border: 1px solid rgba(40, 30, 16, 0.35); border-radius: 999px; z-index: 1; }
.hero-scroll span { position: absolute; left: 50%; top: 6px; width: 3px; height: 6px; border-radius: 2px;
    background: var(--hp-accent); transform: translateX(-50%); animation: scrollDot 1.9s ease-in-out infinite; }
@keyframes scrollDot { 0% { opacity: 0; top: 6px; } 40% { opacity: 1; } 100% { opacity: 0; top: 16px; } }

/* ===== MARQUEE ===== */
.marquee { position: relative; overflow: hidden; padding: 1.1rem 0;
    border-top: 1px solid var(--hp-line-soft); border-bottom: 1px solid var(--hp-line-soft); }
.marquee-track { display: flex; width: max-content; animation: marquee 46s linear infinite; }
.marquee-track span { padding: 0 1.3rem; font-family: var(--hp-label);
    font-size: 0.74rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
    color: var(--hp-muted); white-space: nowrap; }
.marquee-track .dot { color: var(--hp-accent); }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ===== CARDURI ===== */
.svc-card, .pf-card, .contact-card {
    background: var(--hp-card); border: 1px solid var(--hp-line); border-radius: 12px;
    box-shadow: 0 10px 30px rgba(60, 40, 12, 0.05);
}
.svc-card { position: relative; height: 100%; padding: 2.4rem 1.9rem; overflow: hidden;
    transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease; }
.svc-card:hover { transform: translateY(-5px); border-color: var(--hp-ink); box-shadow: 0 20px 44px rgba(60, 40, 12, 0.10); }
.svc-num { font-family: var(--hp-label); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.2em; color: var(--hp-accent); }
.svc-ico { display: inline-flex; align-items: center; justify-content: center;
    width: 50px; height: 50px; margin: 1.2rem 0 1.3rem; border-radius: 999px;
    background: transparent; color: var(--hp-ink); font-size: 1.4rem; border: 1px solid var(--hp-line); }
.svc-card h3 { font-size: 1.35rem; font-weight: 500; margin: 0 0 0.55rem; }
.svc-card p { margin: 0; font-family: var(--hp-serif); color: var(--hp-muted); font-size: 1rem; line-height: 1.6; }

.pf-card { height: 100%; display: flex; flex-direction: column; overflow: hidden;
    transition: transform 240ms ease, border-color 240ms ease, box-shadow 240ms ease; }
.pf-card:hover { transform: translateY(-5px); border-color: var(--hp-ink); box-shadow: 0 20px 44px rgba(60, 40, 12, 0.10); }
.pf-cover { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: rgba(40, 30, 16, 0.08); }
.pf-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform 440ms ease; filter: saturate(0.94); }
.pf-card:hover .pf-cover img { transform: scale(1.05); }
.pf-cover-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: rgba(40, 30, 16, 0.2); }
.pf-play { position: absolute; inset: 0; margin: auto; width: 56px; height: 56px;
    display: flex; align-items: center; justify-content: center; border-radius: 999px;
    background: rgba(246, 242, 233, 0.92); color: var(--hp-accent); font-size: 1.3rem;
    opacity: 0; transform: scale(0.85); transition: opacity 220ms ease, transform 220ms ease; }
.pf-card:hover .pf-play { opacity: 1; transform: scale(1); }
.pf-body { padding: 1.5rem 1.6rem 1.7rem; display: flex; flex-direction: column; flex: 1; }
.pf-body h3 { font-size: 1.3rem; font-weight: 500; margin: 0 0 0.55rem; color: var(--hp-ink); }
.pf-body p { margin: 0 0 1.2rem; font-family: var(--hp-serif); color: var(--hp-muted); font-size: 0.98rem; line-height: 1.55; }
.pf-date { font-family: var(--hp-label); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--hp-muted); margin-bottom: 0.6rem; }
.pf-foot { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: auto; padding-top: 0.7rem; }
.pf-foot-slot { display: inline-flex; align-items: center; min-width: 0; }
.pf-foot-slot-end { justify-content: flex-end; text-align: right; }
.pf-link { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--hp-ink);
    font-family: var(--hp-label); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
    border-bottom: 1px solid var(--hp-line); padding-bottom: 2px; transition: gap 160ms ease, color 160ms ease, border-color 160ms ease; }
.pf-link:hover { gap: 0.55rem; color: var(--hp-accent); border-bottom-color: var(--hp-accent); }
.pf-empty { text-align: center; color: var(--hp-muted); padding: 3.5rem 1rem;
    border: 1px dashed var(--hp-line); border-radius: 12px; background: var(--hp-panel);
    font-family: var(--hp-serif); font-style: italic; }
.pf-empty i { font-size: 2.3rem; color: rgba(40, 30, 16, 0.35); display: block; margin-bottom: 0.8rem; }

/* ===== CONTACT ===== */
.contact-points { list-style: none; padding: 0; margin: 2rem 0 0; display: flex; flex-direction: column; gap: 1rem; }
.contact-points li { display: flex; align-items: center; gap: 0.75rem; font-family: var(--hp-serif); color: var(--hp-soft); }
.contact-points i { color: var(--hp-accent); font-size: 1.05rem; }
.contact-points a { color: var(--hp-soft); }
.contact-points a:hover { color: var(--hp-accent); }
.contact-card { padding: 2.6rem; }
.home-page .contact-card .form-label { font-family: var(--hp-label); color: var(--hp-muted);
    font-size: 0.68rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 0.45rem; }
.home-page .contact-card .form-control { background: rgba(255, 255, 255, 0.7); border: 1px solid var(--hp-line);
    color: var(--hp-ink); border-radius: 8px; padding: 0.75rem 0.95rem; font-family: var(--hp-serif); }
.home-page .contact-card .form-control::placeholder { color: rgba(40, 30, 16, 0.38); font-style: italic; }
.home-page .contact-card .form-control:focus { background: #fffdf8; border-color: var(--hp-accent);
    box-shadow: 0 0 0 3px rgba(207, 90, 37, 0.14); color: var(--hp-ink); }
.home-page .contact-card .form-control.is-invalid { border-color: #a23b2f; box-shadow: 0 0 0 3px rgba(162, 59, 47, 0.14); }
.home-page .contact-card .invalid-feedback { color: #8c2f24; font-style: italic; font-family: var(--hp-serif); }
.home-page .contact-card .alert { border-radius: 8px; font-family: var(--hp-serif); }
.home-page .contact-card .alert-success { background: rgba(94, 122, 62, 0.13); border: 1px solid rgba(94, 122, 62, 0.38); color: #43562c; }
.home-page .contact-card .alert-danger { background: rgba(162, 59, 47, 0.11); border: 1px solid rgba(162, 59, 47, 0.33); color: #7d2a20; }

/* ===== FOOTER ===== */
.home-page .site-footer { background: rgba(40, 30, 14, 0.04); border-top: 1px solid var(--hp-line-soft); color: var(--hp-muted); }
.home-page .site-footer a { color: var(--hp-soft); border-bottom: 1px solid var(--hp-line); }
.home-page .site-footer a:hover { color: var(--hp-accent); border-bottom-color: var(--hp-accent); }
.home-page .site-footer .footer-divider { border-color: var(--hp-line-soft); }
.home-page .site-footer .text-white-50 { color: var(--hp-muted) !important; font-family: var(--hp-label); font-size: 0.72rem; letter-spacing: 0.1em; }
/* Iconite social footer: mari, fara underline/bordura, aliniate dreapta */
.site-footer .footer-social { gap: 1.15rem; }
.site-footer .footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    line-height: 1;
    border-bottom: 0;
    transition: color 160ms ease, transform 160ms ease;
}
.site-footer .footer-social-link:hover { transform: translateY(-2px); }
.home-page .site-footer .footer-social-link,
.home-page .site-footer .footer-social-link:hover { border-bottom: 0; color: var(--hp-soft); }
.home-page .site-footer .footer-social-link:hover { color: var(--hp-accent); }

/* ===== REVEAL + RESPONSIVE ===== */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 720ms ease, transform 720ms cubic-bezier(0.22,1,0.36,1); }
.reveal.is-in { opacity: 1; transform: none; }
.reveal-d1 { transition-delay: 90ms; }
.reveal-d2 { transition-delay: 170ms; }
.reveal-d3 { transition-delay: 250ms; }
@media (max-width: 991.98px) {
    .hero { padding: calc(var(--hp-navh) + 3rem) 0 4rem; }
    .home-page .sec { padding: 5rem 0; }
    .hero-show-carousel img { height: 340px; }
}
@media (max-width: 767.98px) {
    .home-page .sec-head { margin-bottom: 2.5rem; }
    .contact-card { padding: 1.7rem; }
    .hero-actions .btn-glow, .hero-actions .btn-ghost { flex: 1 1 auto; justify-content: center; }
    .home-page .eyebrow { letter-spacing: 0.2em; }
}
@media (prefers-reduced-motion: reduce) {
    .home-page .reveal { opacity: 1; transform: none; transition: none; }
    .hero-eq span, .np-wave span, .marquee-track, .hero-pulse, .hero-scroll span { animation: none !important; }
}
/* v5.1 - fonturi exact ca in mock (Playfair Display + Space Mono) */
.home-page .eyebrow,
.site-header--home .brand-text,
.site-header--home .site-nav-links > a,
.site-header--home .site-nav-links .nav-cta,
.home-page .hero-badge,
.home-page .btn-glow, .home-page .btn-ghost, .home-page .hp-submit,
.home-page .marquee-track span,
.home-page .svc-num,
.home-page .hero-nowplaying .np-label,
.home-page .pf-date,
.home-page .pf-link,
.home-page .contact-card .form-label,
.home-page .site-footer .text-white-50 {
    font-family: "Space Mono", ui-monospace, SFMono-Regular, monospace;
    font-weight: 400;
}
.home-page .eyebrow { letter-spacing: 0.20em; }
.home-page .hero-badge { letter-spacing: 0.18em; }
.site-header--home .site-nav-links > a { font-size: 0.7rem; letter-spacing: 0.12em; padding-left: 0.7rem; padding-right: 0.7rem; }
.site-header--home .brand-text { letter-spacing: 0.16em; }
.home-page .btn-glow, .home-page .btn-ghost, .home-page .hp-submit { letter-spacing: 0.13em; }
.home-page .marquee-track span { letter-spacing: 0.14em; }
.home-page .hero-title, .home-page .sec-title, .home-page h3,
.home-page .hero-lead, .home-page .sec-sub,
.home-page .svc-card p, .home-page .pf-body p,
.home-page .contact-points li, .home-page .pf-empty {
    font-family: "Playfair Display", Georgia, serif;
}
.home-page .hero-title { font-weight: 600; }
.home-page .sec-title { font-weight: 600; }
.home-page .svc-card h3, .home-page .pf-body h3 { font-weight: 600; }
/* v5.2 - corectii: butoane vizibile (bat .home-page a), layering cover */
.home-page .btn-glow, .home-page .hp-submit { color: var(--hp-btn-ink); }
.home-page .btn-glow:hover, .home-page .hp-submit:hover { color: var(--hp-btn-ink); }
.home-page .btn-ghost { color: var(--hp-ink); }
.home-page .btn-ghost:hover { color: var(--hp-accent); }
.home-page .marquee, .home-page .hero-scroll { display: none !important; }
.home-page .pf-cover { isolation: isolate; }
.home-page .pf-cover-fallback { z-index: 0; }
.home-page .pf-cover img { position: absolute; inset: 0; z-index: 1; }
.home-page .pf-play { z-index: 3; }
/* ==========================================================
   v6 - SEGMENTARE + INCARCARE DINAMICA LA SCROLL
   Bara de progres sus + separatoare numerotate intre segmente
   + reveal mai cinematic. Scoped .home-page.
   ========================================================== */
.scroll-progress {
    position: fixed; top: 0; left: 0; right: 0; height: 3px;
    z-index: 1100; background: rgba(40, 30, 16, 0.10); pointer-events: none;
}
.scroll-progress i {
    display: block; height: 100%; width: 100%;
    background: linear-gradient(90deg, var(--hp-accent), var(--hp-accent-deep));
    transform: scaleX(0); transform-origin: 0 50%;
    transition: transform 90ms linear;
}

/* Separator vizual intre segmente */
.home-page .seg-sep { padding: 1.5rem 0; }
.home-page .seg-sep .container {
    display: flex; align-items: center; gap: 1.5rem;
}
.home-page .seg-line {
    flex: 1; height: 1px; background: var(--hp-line);
    transform: scaleX(0); transition: transform 900ms cubic-bezier(0.22,1,0.36,1);
}
.home-page .seg-line:first-child { transform-origin: right center; }
.home-page .seg-line:last-child { transform-origin: left center; }
.home-page .seg-sep.is-in .seg-line { transform: scaleX(1); }
.home-page .seg-tag {
    flex: none; display: inline-flex; align-items: baseline; gap: 0.6rem;
    font-family: var(--hp-label); font-size: 0.72rem; font-weight: 400;
    letter-spacing: 0.22em; text-transform: uppercase; color: var(--hp-muted);
    opacity: 0; transform: translateY(8px);
    transition: opacity 700ms ease 220ms, transform 700ms ease 220ms;
}
.home-page .seg-sep.is-in .seg-tag { opacity: 1; transform: none; }
.home-page .seg-tag b { font-weight: 400; color: var(--hp-accent); }

/* Reveal mai cinematic (incarcare la intrarea in viewport) */
.home-page .reveal {
    opacity: 0; transform: translateY(34px);
    transition: opacity 820ms cubic-bezier(0.22,1,0.36,1), transform 820ms cubic-bezier(0.22,1,0.36,1);
    will-change: opacity, transform;
}
.home-page .reveal.is-in { opacity: 1; transform: none; }
.home-page .reveal-d1 { transition-delay: 110ms; }
.home-page .reveal-d2 { transition-delay: 210ms; }
.home-page .reveal-d3 { transition-delay: 310ms; }

@media (max-width: 767.98px) {
    .home-page .seg-sep .container { gap: 0.9rem; }
    .home-page .seg-tag { letter-spacing: 0.16em; font-size: 0.66rem; }
}
@media (prefers-reduced-motion: reduce) {
    .scroll-progress i { transition: none; }
    .home-page .seg-line { transform: scaleX(1); transition: none; }
    .home-page .seg-tag { opacity: 1; transform: none; transition: none; }
    .home-page .reveal { opacity: 1; transform: none; transition: none; }
}
/* ==========================================================
   v6.1 - textul de continut pe fontul din meniu (Space Mono);
   serif-ul (Playfair) ramane DOAR pe titluri. Lizibilitate
   ajustata (mono e mai lat: size mai mic, line-height mai mare).
   ========================================================== */
.home-page .hero-lead,
.home-page .sec-sub,
.home-page p,
.home-page .svc-card p,
.home-page .pf-body p,
.home-page .contact-points li,
.home-page .pf-empty,
.home-page .hero-show-cap span,
.home-page .np-sub,
.home-page .contact-card .form-control,
.home-page .contact-card .form-control::placeholder {
    font-family: var(--hp-label);
    font-style: normal;
    letter-spacing: -0.006em;
    line-height: 1.7;
}
.home-page .hero-lead { font-size: 1rem; line-height: 1.78; font-style: normal; }
.home-page .hero-lead strong { font-weight: 700; font-style: normal; }
.home-page .sec-sub { font-size: 0.95rem; font-style: normal; }
.home-page .svc-card p,
.home-page .pf-body p { font-size: 0.86rem; line-height: 1.66; }
.home-page .contact-points li { font-size: 0.9rem; }
.home-page .pf-empty { font-style: normal; }

/* Titlurile si accentul lor raman serif (Playfair Display) */
.home-page h1, .home-page h2, .home-page h3, .home-page h4,
.home-page .hero-title, .home-page .sec-title,
.home-page .svc-card h3, .home-page .pf-body h3,
.home-page .hero-nowplaying strong,
.home-page .hero-show-cap strong {
    font-family: var(--hp-serif);
}
.home-page .hero-title .grad-text,
.home-page .sec-title .grad-text { font-family: inherit; font-style: italic; }
/* ==========================================================
   PAGINI LEGALE (confidentialitate + cookie) - acelasi stil
   editorial ca homepage: crem, Playfair titluri, Space Mono
   text. Scoped .legal-page. Privat/auth neatins.
   ========================================================== */
.legal-page {
    --hp-ink: #231c13; --hp-soft: #43382a; --hp-muted: #8c8170;
    --hp-line: rgba(40, 30, 16, 0.20); --hp-line-soft: rgba(40, 30, 16, 0.10);
    --hp-accent: #cf5a25; --hp-accent-deep: #b54a1c;
    --hp-serif: "Playfair Display", Georgia, serif;
    --hp-label: "Space Mono", ui-monospace, SFMono-Regular, monospace;
}
body.legal-page {
    color: var(--hp-ink); font-family: var(--hp-label);
    background:
        radial-gradient(1200px 720px at 50% -16%, #faf7ef 0%, transparent 60%),
        linear-gradient(178deg, #f6f2e9 0%, #f1ece0 100%);
    background-attachment: fixed;
}
.legal-page .site-header {
    position: sticky; top: 0; z-index: 1030;
    background: rgba(246, 242, 233, 0.9);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--hp-line-soft);
}
.legal-page .navbar { padding: 0; }
.legal-page .site-nav { display: flex; align-items: center; min-height: 64px; }
.legal-page .site-brand { text-decoration: none; }
.legal-page .brand-text {
    font-family: var(--hp-label); color: var(--hp-ink);
    font-weight: 600; font-size: 0.82rem; letter-spacing: 0.2em; text-transform: uppercase;
}
.legal-page .brand-dot { color: var(--hp-accent); -webkit-text-fill-color: var(--hp-accent); font-style: normal; }
.legal-page main { padding-top: 3rem; padding-bottom: 4.5rem; }
.legal-page .legal-shell {
    max-width: 760px; margin: 0 auto;
    background: #fff; border: 1px solid var(--hp-line); border-radius: 14px;
    box-shadow: 0 10px 30px rgba(60, 40, 12, 0.05);
    padding: 3rem 3rem 3.25rem;
}
.legal-page .legal-shell h1 {
    font-family: var(--hp-serif); font-weight: 600; color: var(--hp-ink);
    font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1.12;
    letter-spacing: -0.015em; margin: 0 0 1.4rem;
}
.legal-page .legal-shell h2 {
    font-family: var(--hp-serif); font-weight: 600; color: var(--hp-ink);
    font-size: 1.3rem; margin: 2.2rem 0 0.55rem;
}
.legal-page .legal-shell p {
    font-family: var(--hp-label); color: var(--hp-soft);
    font-size: 0.92rem; line-height: 1.75; letter-spacing: -0.006em; margin: 0 0 0.9rem;
}
.legal-page .legal-shell a { color: var(--hp-accent); border-bottom: 1px solid var(--hp-line); }
.legal-page .legal-shell a:hover { color: var(--hp-accent-deep); border-bottom-color: var(--hp-accent-deep); }
.legal-page .site-footer {
    background: rgba(40, 30, 14, 0.04); border-top: 1px solid var(--hp-line-soft); color: var(--hp-muted);
}
.legal-page .site-footer a { color: var(--hp-soft); border-bottom: 1px solid var(--hp-line); }
.legal-page .site-footer a:hover { color: var(--hp-accent); border-bottom-color: var(--hp-accent); }
.legal-page .site-footer .footer-divider { border-color: var(--hp-line-soft); }
.legal-page .site-footer .text-white-50 {
    color: var(--hp-muted) !important; font-family: var(--hp-label);
    font-size: 0.72rem; letter-spacing: 0.1em;
}
.legal-page .cookie-banner { font-family: var(--hp-label); }
@media (max-width: 575.98px) {
    .legal-page .legal-shell { padding: 1.6rem 1.3rem 1.9rem; }
}
/* ==========================================================
   PAGINA AUTH (login) - aceeasi tema editoriala ca homepage/
   legal: crem, Playfair titluri, Space Mono. Scoped .auth-page.
   Suprascrie vechea tema dark navy a .auth-page.
   ========================================================== */
.auth-page {
    --hp-ink: #231c13; --hp-soft: #43382a; --hp-muted: #8c8170;
    --hp-line: rgba(40, 30, 16, 0.20); --hp-line-soft: rgba(40, 30, 16, 0.10);
    --hp-accent: #cf5a25; --hp-accent-deep: #b54a1c;
    --hp-serif: "Playfair Display", Georgia, serif;
    --hp-label: "Space Mono", ui-monospace, SFMono-Regular, monospace;
}
body.auth-page {
    color: var(--hp-ink); font-family: var(--hp-label);
    background:
        radial-gradient(1200px 720px at 50% -16%, #faf7ef 0%, transparent 60%),
        linear-gradient(178deg, #f6f2e9 0%, #f1ece0 100%);
    background-attachment: fixed;
}
.auth-page .site-header {
    position: sticky !important; top: 0; z-index: 1030;
    background: rgba(246, 242, 233, 0.9);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--hp-line-soft);
}
.auth-page .navbar { padding: 0; }
.auth-page .site-nav { display: flex; align-items: center; min-height: 64px; }
.auth-page .site-brand { text-decoration: none; }
.auth-page .brand-text {
    font-family: var(--hp-label); color: var(--hp-ink);
    font-weight: 600; font-size: 0.82rem; letter-spacing: 0.2em; text-transform: uppercase;
}
.auth-page .brand-dot { color: var(--hp-accent); -webkit-text-fill-color: var(--hp-accent); font-style: normal; }
.auth-page .auth-main {
    display: flex; align-items: center; justify-content: center;
    min-height: calc(100vh - 64px); padding: 4rem 0 5rem;
}
.auth-page .auth-shell {
    width: 100%; max-width: 440px; margin: 0 auto;
    background: #fff; border: 1px solid var(--hp-line); border-radius: 16px;
    box-shadow: 0 16px 44px rgba(60, 40, 12, 0.07);
    padding: 2.6rem 2.4rem 2.8rem;
}
.auth-page .auth-eyebrow {
    display: flex; align-items: center; gap: 0.55rem; margin: 0 0 1rem;
    font-family: var(--hp-label); color: var(--hp-muted);
    font-size: 0.72rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase;
}
.auth-page .auth-shell h1 {
    font-family: var(--hp-serif); font-weight: 600; color: var(--hp-ink);
    font-size: clamp(1.7rem, 4vw, 2.3rem); line-height: 1.12;
    letter-spacing: -0.015em; margin: 0 0 0.5rem;
}
.auth-page .auth-sub {
    font-family: var(--hp-label); color: var(--hp-soft);
    font-size: 0.88rem; line-height: 1.6; margin: 0 0 1.6rem;
}
.auth-page .auth-field { margin-bottom: 1.05rem; }
.auth-page .auth-field label {
    display: block; margin-bottom: 0.4rem;
    font-family: var(--hp-label); color: var(--hp-soft);
    font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
.auth-page .auth-field input {
    width: 100%; font-family: var(--hp-label); font-size: 0.95rem; color: var(--hp-ink);
    background: #faf7ef; border: 1px solid var(--hp-line); border-radius: 10px;
    padding: 0.8rem 0.95rem;
    transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}
.auth-page .auth-field input:focus {
    outline: none; border-color: var(--hp-accent); background: #fff;
    box-shadow: 0 0 0 3px rgba(207, 90, 37, 0.14);
}
.auth-page .auth-submit {
    width: 100%; margin-top: 0.4rem; cursor: pointer;
    font-family: var(--hp-label); font-weight: 700; font-size: 0.78rem;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: #fff; background: var(--hp-accent); border: 1px solid var(--hp-accent);
    border-radius: 999px; padding: 0.85rem 1.4rem;
    transition: background 160ms ease, transform 120ms ease, border-color 160ms ease;
}
.auth-page .auth-submit:hover {
    background: var(--hp-accent-deep); border-color: var(--hp-accent-deep); transform: translateY(-1px);
}
.auth-page .auth-alert {
    margin-top: 1rem; font-family: var(--hp-label); font-size: 0.82rem;
    border-radius: 10px; padding: 0.7rem 0.9rem;
}
.auth-page .auth-alert--error { background: rgba(199, 60, 37, 0.10); color: #9a3417; border: 1px solid rgba(199, 60, 37, 0.25); }
.auth-page .auth-alert--ok { background: rgba(46, 125, 50, 0.10); color: #2e6b32; border: 1px solid rgba(46, 125, 50, 0.25); }
.auth-page .auth-back {
    display: flex; align-items: center; justify-content: center; gap: 0.4rem;
    margin-top: 1.6rem; padding-top: 1.2rem;
    border-top: 1px solid var(--hp-line-soft);
    font-family: var(--hp-label); color: var(--hp-muted);
    font-size: 0.74rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
    transition: color 140ms ease;
}
.auth-page .auth-back:hover { color: var(--hp-accent); }
.auth-page .auth-back i { font-size: 0.95rem; }
.auth-page .auth-link {
    display: block; text-align: center; margin-top: 0.95rem;
    font-family: var(--hp-label); color: var(--hp-soft);
    font-size: 0.78rem; letter-spacing: 0.04em;
    border-bottom: 1px solid transparent; width: max-content; margin-left: auto; margin-right: auto;
    transition: color 140ms ease, border-color 140ms ease;
}
.auth-page .auth-link:hover { color: var(--hp-accent); border-bottom-color: var(--hp-accent); }
.auth-page .site-footer {
    background: rgba(40, 30, 14, 0.04); border-top: 1px solid var(--hp-line-soft); color: var(--hp-muted);
}
.auth-page .site-footer a { color: var(--hp-soft); border-bottom: 1px solid var(--hp-line); }
.auth-page .site-footer a:hover { color: var(--hp-accent); border-bottom-color: var(--hp-accent); }
.auth-page .site-footer .text-white-50 {
    color: var(--hp-muted) !important; font-family: var(--hp-label);
    font-size: 0.72rem; letter-spacing: 0.1em;
}
@media (max-width: 575.98px) {
    .auth-page .auth-shell { padding: 1.8rem 1.4rem 2rem; }
    .auth-page .auth-main { padding: 2.5rem 0 3rem; }
}
/* ==========================================================
   PAGINI DE EROARE (404/403/500) - aceeasi tema editoriala
   crem/Playfair/Space Mono. Standalone (fara header/footer
   app), scoped .error-page. Folosit de includes/error-view.php
   ========================================================== */
.error-page {
    --hp-ink: #231c13; --hp-soft: #43382a; --hp-muted: #8c8170;
    --hp-line: rgba(40, 30, 16, 0.20); --hp-line-soft: rgba(40, 30, 16, 0.10);
    --hp-accent: #cf5a25; --hp-accent-deep: #b54a1c;
    --hp-serif: "Playfair Display", Georgia, serif;
    --hp-label: "Space Mono", ui-monospace, SFMono-Regular, monospace;
    margin: 0; min-height: 100vh;
    color: var(--hp-ink); font-family: var(--hp-label);
    background:
        radial-gradient(1200px 720px at 50% -16%, #faf7ef 0%, transparent 60%),
        linear-gradient(178deg, #f6f2e9 0%, #f1ece0 100%);
    background-attachment: fixed;
}
.error-page .error-wrap {
    min-height: 100vh; display: flex; align-items: center; justify-content: center;
    padding: 3rem 1.2rem;
}
.error-page .error-card {
    width: 100%; max-width: 540px; margin: 0 auto; text-align: center;
    background: #fff; border: 1px solid var(--hp-line); border-radius: 18px;
    box-shadow: 0 18px 50px rgba(60, 40, 12, 0.08);
    padding: 3rem 2.6rem 3rem;
}
.error-page .error-brand {
    display: inline-block; margin-bottom: 1.6rem;
    font-family: var(--hp-label); color: var(--hp-ink);
    font-size: 0.8rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase;
    text-decoration: none;
}
.error-page .error-brand span { color: var(--hp-accent); }
.error-page .error-code {
    font-family: var(--hp-serif); font-weight: 600; color: var(--hp-accent);
    font-size: clamp(4rem, 14vw, 7rem); line-height: 1; letter-spacing: -0.02em;
    margin-bottom: 0.6rem;
}
.error-page .error-card h1 {
    font-family: var(--hp-serif); font-weight: 600; color: var(--hp-ink);
    font-size: clamp(1.5rem, 4vw, 2.1rem); line-height: 1.15;
    letter-spacing: -0.015em; margin: 0 0 0.7rem;
}
.error-page .error-card p {
    font-family: var(--hp-label); color: var(--hp-soft);
    font-size: 0.9rem; line-height: 1.65; margin: 0 auto 1.8rem; max-width: 38ch;
}
.error-page .error-btn {
    display: inline-flex; align-items: center; gap: 0.45rem;
    font-family: var(--hp-label); font-weight: 700; font-size: 0.78rem;
    letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none;
    color: #fff; background: var(--hp-accent); border: 1px solid var(--hp-accent);
    border-radius: 999px; padding: 0.8rem 1.5rem;
    transition: background 160ms ease, transform 120ms ease, border-color 160ms ease;
}
.error-page .error-btn:hover {
    background: var(--hp-accent-deep); border-color: var(--hp-accent-deep); transform: translateY(-1px);
}
@media (max-width: 575.98px) {
    .error-page .error-card { padding: 2.2rem 1.5rem 2.3rem; }
}
/* v6.2 - email protejat: @ ca imagine, fara mailto */
.home-page .email-protect { white-space: nowrap; }
.home-page .at-glyph {
    width: 0.95em; height: 0.95em;
    vertical-align: -0.14em; margin: 0 1px;
    display: inline-block;
}
/* v6.3 - logo identic pe paginile legale + carduri servicii */
.legal-page .brand-text {
    font-family: var(--hp-label); color: var(--hp-ink);
    font-weight: 400; font-size: 0.82rem; letter-spacing: 0.16em; text-transform: uppercase;
}
/* Servicii: fara numerele portocalii, contur portocaliu pe iconita */
.home-page .svc-num { display: none; }
.home-page .svc-ico {
    border: 1.5px solid var(--hp-accent);
    color: var(--hp-accent);
}
/* v6.4 - hover: bordura portocalie pe carduri */
.home-page .svc-card:hover,
.home-page .pf-card:hover {
    border-color: var(--hp-accent);
}
/* v6.5 - SVG iconita serviciu (chitara) la dimensiune ca BI */
.home-page .svc-svg { width: 1.55rem; height: 1.55rem; display: block; }
/* v6.6 - iconite servicii: negru implicit, portocaliu la select/hover */
.home-page .svc-ico {
    border-color: var(--hp-ink);
    color: var(--hp-ink);
    transition: color 200ms ease, border-color 200ms ease;
}
.home-page .svc-card:hover .svc-ico,
.home-page .svc-card:focus-within .svc-ico {
    border-color: var(--hp-accent);
    color: var(--hp-accent);
}
/* ==========================================================
   v6.7 - hero showcase: caption SUB imagine (nu peste),
   bulina activa portocalie, aranjare eleganta.
   ========================================================== */
.home-page .hero-show-carousel {
    position: relative;
    background: #fffdf8;
}
.home-page .hero-show-carousel img {
    height: 360px;
    border-bottom: 1px solid var(--hp-line);
}
.home-page .hero-show-cap {
    position: static;
    background: none;
    color: var(--hp-ink);
    padding: 1.4rem 1.6rem 0.5rem;
    min-height: 5.4rem;
}
.home-page .hero-show-cap strong {
    display: block;
    font-family: var(--hp-serif);
    color: var(--hp-ink);
    font-weight: 600;
    font-size: 1.18rem;
    line-height: 1.2;
    margin-bottom: 0.4rem;
}
.home-page .hero-show-cap span {
    display: block;
    font-family: var(--hp-label);
    color: var(--hp-muted);
    font-style: normal;
    font-size: 0.82rem;
    line-height: 1.6;
    opacity: 1;
}
.home-page .hero-show-carousel .carousel-indicators {
    position: static;
    margin: 0;
    padding: 0.4rem 0 1.2rem;
    justify-content: center;
    align-items: center;
}
.home-page .hero-show-carousel .carousel-indicators [data-bs-target] {
    box-sizing: border-box;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--hp-line);
    opacity: 1;
    border: 0;
    margin: 0 4px;
    transition: background 220ms ease, transform 220ms ease;
}
.home-page .hero-show-carousel .carousel-indicators .active {
    background: var(--hp-accent);
    transform: scale(1.18);
}
@media (max-width: 991.98px) {
    .home-page .hero-show-carousel img { height: 300px; }
}
/* v6.8 - fara umbrire pe cardul showcase (doar bordura) */
.home-page .hero-show-carousel,
.home-page .hero-nowplaying { box-shadow: none; }
/* ==========================================================
   v6.9 - showcase: colturi jos drepte + bulinele sub imagine
   (deasupra titlului), ancorate la inaltimea bannerului.
   ========================================================== */
.home-page { --hp-banner-h: 360px; }
.home-page .hero-show-carousel { border-radius: 10px 10px 0 0; }
.home-page .hero-show-carousel img { height: var(--hp-banner-h); }
.home-page .hero-show-cap { padding-top: 2.9rem; }
.home-page .hero-show-carousel .carousel-indicators {
    position: absolute;
    top: var(--hp-banner-h);
    bottom: auto;
    left: 0; right: 0;
    margin: 0; padding: 0;
    transform: translateY(0.85rem);
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media (max-width: 991.98px) {
    .home-page { --hp-banner-h: 300px; }
}
/* ==========================================================
   v6.10 - rotunjirea pe IMAGINEA banner, caseta text plata
   (fara box/contur in jurul textului).
   ========================================================== */
.home-page .hero-show-carousel {
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}
.home-page .hero-show-carousel img {
    border-radius: 12px;
    border-bottom: 0;
}
.home-page .hero-show-cap {
    padding: 2.4rem 0 0.4rem;
    background: none;
}
.home-page .hero-show-carousel .carousel-indicators {
    transform: translateY(0.7rem);
}
/* v6.11 - detaliul showcase fix pe 2 randuri (fara resize la slide) */
.home-page .hero-show-cap span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    min-height: 2.64rem;
}
/* v6.12 - border doar pe imaginea banner */
.home-page .hero-show-carousel img {
    border: 1px solid var(--hp-line);
}
/* v6.13 - ultimele 2 cuvinte din titlul banner: portocaliu + italic (ca "loveste") */
.home-page .hero-show-cap strong .cap-accent {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    font-style: italic;
    color: var(--hp-accent);
    -webkit-text-fill-color: var(--hp-accent);
    display: inline;
    -webkit-line-clamp: none;
    min-height: 0;
    overflow: visible;
}
/* v6.14 - buton "Inapoi pe site" pe paginile legale */
.legal-page .legal-back {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 1.8rem;
    padding: 0.5rem 1.1rem;
    border: 1px solid var(--hp-line);
    border-radius: 999px;
    font-family: var(--hp-label);
    font-size: 0.72rem;
    font-weight: 400;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--hp-ink);
    background: transparent;
    transition: color 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.legal-page .legal-back:hover {
    color: var(--hp-accent);
    border-color: var(--hp-accent);
    transform: translateX(-2px);
}
/* v6.15 - carduri portofoliu mai mici / compacte */
.home-page .sec-portfolio .pf-card { max-width: 340px; }
.home-page .sec-portfolio .pf-cover { aspect-ratio: 16 / 9; }
.home-page .sec-portfolio .pf-play { width: 46px; height: 46px; font-size: 1.1rem; }
.home-page .sec-portfolio .pf-body { padding: 1.05rem 1.15rem 1.2rem; }
.home-page .sec-portfolio .pf-body h3 { font-size: 1.05rem; margin-bottom: 0.35rem; }
.home-page .sec-portfolio .pf-body p { font-size: 0.8rem; line-height: 1.55; margin-bottom: 0.85rem; }
.home-page .sec-portfolio .pf-date { font-size: 0.62rem; }
.home-page .sec-portfolio .pf-link { font-size: 0.64rem; }
/* v6.16 - bulina "disponibil" mai mare + radiere (pulse) mai amplu */
.home-page .hero-pulse {
    width: 11px;
    height: 11px;
    box-shadow: 0 0 0 0 rgba(207, 90, 37, 0.55);
}
@keyframes pulseDot {
    0%   { box-shadow: 0 0 0 0 rgba(207, 90, 37, 0.55); }
    70%  { box-shadow: 0 0 0 16px rgba(207, 90, 37, 0); }
    100% { box-shadow: 0 0 0 0 rgba(207, 90, 37, 0); }
}
/* v6.17 - link de meniu activ (zona deschisa): contur portocaliu */
.site-header--home .site-nav-links > a {
    transition: color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.site-header--home .site-nav-links > a.is-active {
    color: var(--hp-accent);
    box-shadow: inset 0 0 0 1px var(--hp-accent);
}
/* ==========================================================
   v6.18 - MOBIL: header light + meniu elegant + banner incadrat
   Repara: banda navy din tema veche pe homepage (scopata mai sus
   la .site-header:not(.site-header--home)) + dropdown mobil curat
   ancorat sub header-ul fix + showcase centrat si incadrat.
   Scoped .home-page / .site-header--home. Privat & legal neatinse.
   ========================================================== */
@media (max-width: 991.98px) {
    /* Header fix, transparent peste crem; devine crem+blur la scroll */
    .site-header--home {
        position: fixed;
        background: transparent;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }
    .site-header--home.is-scrolled {
        background: rgba(246, 242, 233, 0.94);
        -webkit-backdrop-filter: blur(12px);
        backdrop-filter: blur(12px);
        border-bottom-color: var(--hp-line-soft);
    }
    .site-header--home .site-nav {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    /* Dropdown: panou full-width sub header, niciodata banda subtire */
    .site-header--home .site-nav-links {
        position: fixed;
        top: var(--hp-navh);
        left: 0;
        right: 0;
        width: 100%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.2rem;
        margin: 0;
        padding: 0.9rem 1.1rem 1.25rem;
        max-height: calc(100vh - var(--hp-navh));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: rgba(246, 242, 233, 0.98);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        border-bottom: 1px solid var(--hp-line);
        border-radius: 0 0 18px 18px;
        box-shadow: 0 26px 46px rgba(60, 40, 12, 0.16);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        pointer-events: none;
        transition: opacity 200ms ease, transform 220ms ease, visibility 0s linear 220ms;
    }
    .site-header--home .site-nav-links.is-open {
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
        transition: opacity 200ms ease, transform 220ms ease;
    }
    .site-header--home .site-nav-links > a {
        display: block;
        width: 100%;
        text-align: center;
        padding: 0.85rem 1rem;
        font-size: 0.78rem;
        letter-spacing: 0.16em;
        border-radius: 10px;
    }
    .site-header--home .site-nav-links > a + a {
        border-top: 1px solid var(--hp-line-soft);
    }
    .site-header--home .site-nav-links > a.is-active {
        box-shadow: inset 0 0 0 1px var(--hp-accent);
    }
    .site-header--home .site-nav-links .nav-cta {
        margin-top: 0.7rem;
        border-top: 0;
        border: 1px solid var(--hp-line);
        background: var(--hp-ink);
        color: var(--hp-bg, #f6f2e9);
    }

    /* Showcase / banner: centrat si incadrat pe ecrane mici */
    .home-page .hero-showcase {
        max-width: 460px;
        margin-left: auto;
        margin-right: auto;
    }
    .home-page .hero-show-carousel img {
        width: 100%;
        height: var(--hp-banner-h);
        object-fit: cover;
        border-radius: 14px;
    }
    .home-page .hero-show-cap {
        text-align: center;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .home-page .hero-show-carousel .carousel-indicators {
        left: 0;
        right: 0;
        justify-content: center;
    }
}
@media (max-width: 480px) {
    .home-page { --hp-banner-h: 240px; }
    .site-header--home .site-nav { padding-left: 0.9rem; padding-right: 0.9rem; }
}
/* ==========================================================
   v6.19 - MOBIL: ordine hero = badge -> banner -> titlu/text
   + portofoliu centrat. Desktop neschimbat: badge-ul mobil e
   .d-lg-none (display:none >=992), iar cel din copy e
   .d-none.d-lg-inline-flex; regulile de order sunt doar <=991.
   Scoped .home-page. Privat & legal neatinse.
   ========================================================== */
@media (max-width: 991.98px) {
    .home-page .hero .hero-badge-m { order: 1; margin-top: 2.5rem; margin-bottom: 0; text-align: center; }
    .home-page .hero .hero-badge-m .hero-badge { margin-bottom: 1rem; }
    .home-page .hero .col-lg-5 { order: 2; }
    .home-page .hero .hero-copy { order: 3; }
    .home-page .hero .hero-copy .hero-title { margin-top: 0.6rem; }
}
/* Portofoliu: cardul (capat 340px) centrat in coloana, pe orice ecran */
.home-page .sec-portfolio .pf-card {
    margin-left: auto;
    margin-right: auto;
}