/*
Theme Name:     Divi Azemurg
Theme URI:      https://azemurg.eu
Description:    Tema copil Divi pentru Azemurg Grup. Tokens de design, override-uri Divi, suport multilingv (RO/RU/EN), shortcoduri KPI și componente vizuale conforme cu brand book-ul Azemurg.
Author:         Azemurg Grup
Author URI:     https://azemurg.eu
Template:       Divi
Version:        1.0.0
Text Domain:    azemurg
*/

/* ============================================================
   1. Tokens — sursa de adevăr pentru culori, spațiere și tipografie.
   Modifici aici, se propagă peste tot.
   ============================================================ */

:root {
    --az-red:        #E63946;
    --az-red-700:    #B81F2D;
    --az-navy:       #1D2A3A;
    --az-navy-800:   #11192A;
    --az-ink:        #0E1623;
    --az-slate:      #475569;
    --az-line:       #E5E7EB;
    --az-bg:         #F8FAFC;
    --az-white:      #FFFFFF;
    --az-success:    #16A34A;
    --az-warn:       #F59E0B;

    --az-shadow-sm:  0 1px 2px rgba(14,22,35,.06);
    --az-shadow-md:  0 4px 12px rgba(14,22,35,.08);
    --az-shadow-lg:  0 12px 30px rgba(29,42,58,.12);

    --az-radius-sm:  6px;
    --az-radius-md:  10px;
    --az-radius-lg:  16px;

    --az-font-head:  "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --az-font-body:  "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --az-font-mono:  "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

    --az-fs-h1:      clamp(2.5rem, 4.5vw, 4rem);     /* 40 → 64 */
    --az-fs-h2:      clamp(2rem, 3.2vw, 3rem);       /* 32 → 48 */
    --az-fs-h3:      clamp(1.5rem, 2.2vw, 2rem);     /* 24 → 32 */
    --az-fs-h4:      clamp(1.25rem, 1.5vw, 1.5rem);  /* 20 → 24 */
    --az-fs-lead:    clamp(1.125rem, 1.25vw, 1.25rem); /* 18 → 20 */
    --az-fs-body:    clamp(1rem, 1.05vw, 1.0625rem);   /* 16 → 17 */
    --az-fs-sm:      0.9375rem;
    --az-fs-xs:      0.8125rem;

    --az-container:  1240px;
    --az-section-y:  clamp(56px, 8vw, 96px);
}

/* ============================================================
   2. Reset / corecturi globale peste Divi
   ============================================================ */

html { scroll-behavior: smooth; }

body,
body.et_pb_pagebuilder_layout {
    font-family: var(--az-font-body);
    font-size:   var(--az-fs-body);
    line-height: 1.6;
    color:       var(--az-ink);
    background:  var(--az-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3, .et_pb_module h4 {
    font-family: var(--az-font-head);
    font-weight: 800;
    color:       var(--az-navy);
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 0.5em;
}

h1, .et_pb_module h1 { font-size: var(--az-fs-h1); }
h2, .et_pb_module h2 { font-size: var(--az-fs-h2); }
h3, .et_pb_module h3 { font-size: var(--az-fs-h3); line-height: 1.25; }
h4, .et_pb_module h4 { font-size: var(--az-fs-h4); line-height: 1.3; }

a { color: var(--az-navy); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--az-red); }

p { margin: 0 0 1em; }

::selection { background: var(--az-red); color: #fff; }

/* container override */
.et_pb_row,
.et_pb_section .et_pb_row {
    max-width: var(--az-container);
}

/* ============================================================
   3. Header — logo + meniu
   ============================================================ */

#main-header,
#main-header.et-fixed-header {
    background: rgba(255,255,255,.96);
    backdrop-filter: saturate(140%) blur(8px);
    -webkit-backdrop-filter: saturate(140%) blur(8px);
    box-shadow: 0 1px 0 var(--az-line);
    transition: box-shadow .2s ease, background .2s ease;
}

#main-header.et-fixed-header {
    box-shadow: var(--az-shadow-md);
}

#logo { max-height: 44px; transition: max-height .2s ease; }
.et-fixed-header #logo { max-height: 36px; }

#top-menu li a {
    font-family:   var(--az-font-body);
    font-weight:   600;
    font-size:     0.95rem;
    color:         var(--az-navy) !important;
    letter-spacing: -0.01em;
    padding-bottom: 8px !important;
    position: relative;
}

#top-menu li a:hover { color: var(--az-red) !important; opacity: 1; }

#top-menu li.current-menu-item > a::after,
#top-menu li:hover > a::after {
    content: '';
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    height: 2px;
    background: var(--az-red);
    border-radius: 2px;
}

/* CTA în meniu — adaugă clasă `menu-cta` în WP admin */
#top-menu li.menu-cta a {
    background: var(--az-red);
    color: #fff !important;
    border-radius: var(--az-radius-sm);
    padding: 10px 18px !important;
}
#top-menu li.menu-cta a::after { display: none; }
#top-menu li.menu-cta a:hover { background: var(--az-red-700); color: #fff !important; }

/* ============================================================
   4. Butoane (Divi + native)
   ============================================================ */

.et_pb_button,
.et_pb_button_module_wrapper .et_pb_button,
a.az-btn {
    font-family: var(--az-font-body) !important;
    font-weight: 600 !important;
    font-size:   0.95rem !important;
    letter-spacing: 0 !important;
    border-radius: var(--az-radius-sm) !important;
    padding: 14px 26px !important;
    transition: transform .15s ease, background-color .2s ease, box-shadow .2s ease !important;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.et_pb_button:after { display: none !important; margin: 0 !important; }

.et_pb_button.az-btn-primary,
a.az-btn.az-btn-primary {
    background-color: var(--az-red) !important;
    color: #fff !important;
    border: 0 !important;
}
.et_pb_button.az-btn-primary:hover,
a.az-btn.az-btn-primary:hover {
    background-color: var(--az-red-700) !important;
    transform: translateY(-1px);
    box-shadow: var(--az-shadow-md);
    color: #fff !important;
}

.et_pb_button.az-btn-secondary,
a.az-btn.az-btn-secondary {
    background-color: transparent !important;
    color: var(--az-navy) !important;
    border: 1.5px solid var(--az-navy) !important;
}
.et_pb_button.az-btn-secondary:hover,
a.az-btn.az-btn-secondary:hover {
    background-color: var(--az-navy) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

.et_pb_button.az-btn-ghost,
a.az-btn.az-btn-ghost {
    background: transparent !important;
    color: var(--az-navy) !important;
    border: 0 !important;
    padding: 8px 0 !important;
}
.et_pb_button.az-btn-ghost:hover,
a.az-btn.az-btn-ghost:hover {
    color: var(--az-red) !important;
    transform: none;
}
.et_pb_button.az-btn-ghost::after,
a.az-btn.az-btn-ghost::after {
    content: '→';
    margin-left: 6px;
    transition: transform .15s ease;
}
.et_pb_button.az-btn-ghost:hover::after,
a.az-btn.az-btn-ghost:hover::after {
    transform: translateX(3px);
}

/* ============================================================
   5. Hero
   ============================================================ */

.az-hero {
    position: relative;
    min-height: 88vh;
    color: #fff;
    overflow: hidden;
    background-color: var(--az-navy-800);
    background-image:
        linear-gradient(135deg, rgba(17,25,42,.78) 0%, rgba(17,25,42,.55) 55%, rgba(17,25,42,.85) 100%),
        url('assets/hero-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    isolation: isolate;
}
.az-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(900px 500px at 85% 18%, rgba(230,57,70,.22), transparent 60%),
        radial-gradient(600px 300px at 0% 100%, rgba(230,57,70,.10), transparent 60%);
    pointer-events: none;
    z-index: 1;
}
.az-hero::after {
    /* Diagonale subtile albe */
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 1px, transparent 1px 80px);
    pointer-events: none;
    z-index: 1;
    mix-blend-mode: overlay;
}
@media (max-width: 768px) {
    .az-hero {
        min-height: 76vh;
        background-image:
            linear-gradient(135deg, rgba(17,25,42,.82) 0%, rgba(17,25,42,.62) 55%, rgba(17,25,42,.92) 100%),
            url('assets/hero-bg-mobile.jpg');
    }
}
.az-hero h1 { color: #fff; max-width: 14ch; }
.az-hero p.lead { color: rgba(255,255,255,.85); font-size: var(--az-fs-lead); max-width: 60ch; }
.az-hero .et_pb_row { position: relative; z-index: 2; }

.az-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(230,57,70,.15);
    color: #FCA5A5;
    font-size: var(--az-fs-xs);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 24px;
}
.az-hero-eyebrow::before {
    content: '';
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--az-red);
    box-shadow: 0 0 0 4px rgba(230,57,70,.25);
}

/* ============================================================
   6. KPI block (cifrele 10x)
   ============================================================ */

.az-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 32px;
    padding: 32px 0;
}
.az-kpi {
    text-align: left;
    border-left: 3px solid var(--az-red);
    padding: 4px 0 4px 20px;
}
.az-kpi__num {
    font-family: var(--az-font-head);
    font-size: clamp(2.5rem, 4vw, 3.75rem);
    font-weight: 800;
    line-height: 1;
    color: var(--az-navy);
    letter-spacing: -0.03em;
}
.az-hero .az-kpi__num { color: #fff; }
.az-kpi__num .suffix { color: var(--az-red); margin-left: 2px; }
.az-kpi__label {
    margin-top: 10px;
    font-size: var(--az-fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--az-slate);
    font-weight: 600;
}
.az-hero .az-kpi__label { color: rgba(255,255,255,.7); }

/* ============================================================
   7. Carduri servicii / proiecte / echipă
   ============================================================ */

.az-card {
    background: #fff;
    border: 1px solid var(--az-line);
    border-radius: var(--az-radius-md);
    padding: 28px;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.az-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--az-shadow-lg);
    border-color: rgba(29,42,58,.18);
}
.az-card__icon {
    width: 48px; height: 48px;
    border-radius: var(--az-radius-sm);
    background: rgba(230,57,70,.1);
    color: var(--az-red);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 18px;
}
.az-card__title {
    font-size: var(--az-fs-h4);
    margin-bottom: 10px;
}
.az-card__body {
    color: var(--az-slate);
    font-size: var(--az-fs-body);
}
.az-card__cta {
    margin-top: auto;
    padding-top: 18px;
    color: var(--az-navy);
    font-weight: 600;
}
.az-card__cta::after {
    content: ' →';
    transition: transform .15s ease;
    display: inline-block;
}
.az-card:hover .az-card__cta { color: var(--az-red); }
.az-card:hover .az-card__cta::after { transform: translateX(3px); }

/* Echipă */
.az-team-card {
    text-align: left;
}
.az-team-card__photo {
    aspect-ratio: 4/5;
    object-fit: cover;
    width: 100%;
    border-radius: var(--az-radius-md);
    background: var(--az-bg);
    filter: saturate(.95);
    transition: filter .25s ease, transform .25s ease;
}
.az-team-card:hover .az-team-card__photo {
    filter: saturate(1.05);
    transform: scale(1.01);
}
.az-team-card__name {
    margin-top: 18px;
    font-size: var(--az-fs-h4);
    color: var(--az-navy);
}
.az-team-card__role {
    font-size: var(--az-fs-sm);
    color: var(--az-red);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 4px;
}
.az-team-card__bio {
    margin-top: 12px;
    color: var(--az-slate);
    font-size: var(--az-fs-sm);
}

/* ============================================================
   8. Secțiune zebra & eyebrow titles
   ============================================================ */

.az-section { padding: var(--az-section-y) 0; }
.az-section--alt { background: var(--az-bg); }
.az-section--navy { background: var(--az-navy); color: #fff; }
.az-section--navy h2,
.az-section--navy h3 { color: #fff; }
.az-section--navy p { color: rgba(255,255,255,.82); }

.az-eyebrow {
    display: inline-block;
    font-size: var(--az-fs-xs);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
    color: var(--az-red);
    margin-bottom: 14px;
}

/* ============================================================
   9. Parteneri (logo strip)
   ============================================================ */

.az-partners {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 24px;
    align-items: center;
}
.az-partners img {
    max-height: 44px;
    width: auto;
    margin: 0 auto;
    filter: grayscale(1) opacity(.55);
    transition: filter .2s ease, transform .2s ease;
}
.az-partners a:hover img {
    filter: grayscale(0) opacity(1);
    transform: scale(1.04);
}

/* ============================================================
   10. Formulare (FluentForm)
   ============================================================ */

.fluentform .ff-el-input--label label,
.fluentform .ff-el-form-control,
.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform textarea,
.fluentform select {
    font-family: var(--az-font-body) !important;
}

.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform textarea,
.fluentform select {
    border: 1px solid var(--az-line) !important;
    border-radius: var(--az-radius-sm) !important;
    padding: 12px 14px !important;
    background: #fff !important;
    color: var(--az-ink) !important;
    transition: border-color .15s ease, box-shadow .15s ease !important;
}
.fluentform input:focus,
.fluentform textarea:focus,
.fluentform select:focus {
    border-color: var(--az-navy) !important;
    box-shadow: 0 0 0 3px rgba(29,42,58,.12) !important;
    outline: 0 !important;
}

.fluentform .ff-btn-submit {
    background: var(--az-red) !important;
    border: 0 !important;
    border-radius: var(--az-radius-sm) !important;
    font-weight: 600 !important;
    padding: 14px 26px !important;
    transition: background .2s ease, transform .15s ease !important;
}
.fluentform .ff-btn-submit:hover {
    background: var(--az-red-700) !important;
    transform: translateY(-1px);
}

/* ============================================================
   11. Footer
   ============================================================ */

#main-footer { background: var(--az-navy); color: rgba(255,255,255,.78); }
#main-footer h1, #main-footer h2, #main-footer h3, #main-footer h4 { color: #fff; }
#main-footer a { color: rgba(255,255,255,.85); }
#main-footer a:hover { color: var(--az-red); }

#footer-widgets .footer-widget li::before { display: none; }
#footer-widgets .footer-widget h4.title {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--az-fs-xs);
    color: rgba(255,255,255,.6);
    font-weight: 700;
}

#footer-bottom {
    background: var(--az-navy-800);
    padding: 16px 0;
}
#footer-bottom #footer-info,
#footer-info.az-footer-injected,
.et_pb_section_0_tb_footer #footer-info {
    color: rgba(255,255,255,.55);
    font-size: var(--az-fs-xs);
    line-height: 1.6;
    text-align: center;
    margin: 0;
}
#footer-info .az-copyright strong,
#footer-bottom #footer-info .az-copyright strong {
    color: rgba(255,255,255,.85);
    font-weight: 700;
}
#footer-info .az-credits {
    margin-left: 8px;
    padding-left: 12px;
    border-left: 1px solid rgba(255,255,255,.15);
    color: rgba(255,255,255,.65);
    display: inline-block;
}
#footer-info a.az-smartix,
#footer-info a.az-smartix:visited {
    color: #fff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.25);
    padding-bottom: 1px;
    transition: color .2s ease, border-color .2s ease;
}
#footer-info a.az-smartix:hover {
    color: var(--az-red) !important;
    border-bottom-color: var(--az-red);
}
#footer-info .az-heart {
    display: inline-block;
    color: var(--az-red);
    transform-origin: 50% 50%;
    animation: az-heartbeat 1.4s ease-in-out infinite;
    margin: 0 3px;
    font-size: 1.05em;
    line-height: 1;
    will-change: transform;
}
@keyframes az-heartbeat {
    0%, 28%, 60%, 100% { transform: scale(1); }
    14%                { transform: scale(1.28); }
    42%                { transform: scale(1.18); }
}
@media (prefers-reduced-motion: reduce) {
    #footer-info .az-heart { animation: none; }
}
@media (max-width: 540px) {
    #footer-info .az-credits {
        display: block;
        margin-left: 0;
        padding-left: 0;
        border-left: 0;
        margin-top: 4px;
    }
}

/* ============================================================
   12. TranslatePress language switcher (clean style)
   ============================================================ */

.trp-language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.trp-language-switcher > div {
    background: transparent !important;
    border: 1px solid var(--az-line) !important;
    border-radius: var(--az-radius-sm) !important;
}
.trp-language-switcher > div:hover {
    border-color: var(--az-navy) !important;
}
.trp-ls-shortcode-language {
    font-family: var(--az-font-body) !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    color: var(--az-navy) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* RTL nu e cazul azi, dar pregătit */

/* ============================================================
   12.b Featured Project — CEF Galați 200MW (catchy showcase)
   ============================================================ */

.az-feature {
    position: relative;
    overflow: hidden;
    background: var(--az-navy);
    color: #fff;
    border-radius: var(--az-radius-lg);
    isolation: isolate;
}
.az-feature__media {
    position: relative;
    aspect-ratio: 16/9;
    background-size: cover;
    background-position: center;
    background-image: linear-gradient(180deg, rgba(17,25,42,0) 30%, rgba(17,25,42,.85) 100%),
                      url('assets/project-cef.jpg');
}
.az-feature__media::after {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 6px;
    background: var(--az-red);
}
.az-feature__body {
    padding: 36px 40px 40px;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 32px;
    align-items: end;
}
.az-feature__tag {
    display: inline-block;
    background: rgba(230,57,70,.2);
    color: #FCA5A5;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 14px;
}
.az-feature__title {
    color: #fff;
    font-size: clamp(1.75rem, 2.6vw, 2.5rem);
    margin: 0 0 14px;
    line-height: 1.18;
}
.az-feature__text {
    color: rgba(255,255,255,.78);
    font-size: var(--az-fs-body);
    margin: 0 0 18px;
    max-width: 60ch;
}
.az-feature__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    padding: 22px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--az-radius-md);
    backdrop-filter: blur(6px);
}
.az-feature__stat-num {
    font-family: var(--az-font-head);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1;
    color: #fff;
    letter-spacing: -0.02em;
}
.az-feature__stat-num .unit { color: var(--az-red); margin-left: 2px; }
.az-feature__stat-label {
    font-size: 0.78rem;
    color: rgba(255,255,255,.6);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-top: 6px;
    font-weight: 600;
}
@media (max-width: 980px) {
    .az-feature__body {
        grid-template-columns: 1fr;
        padding: 28px 24px 32px;
    }
    .az-feature__stats {
        grid-template-columns: repeat(3, 1fr);
        padding: 18px 14px;
    }
    .az-feature__stat-num { font-size: 1.5rem; }
}

/* ============================================================
   12.c Process timeline — 4 etape vizuale
   ============================================================ */

.az-process {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    counter-reset: stepcounter;
}
.az-process::before {
    content: '';
    position: absolute;
    top: 28px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(90deg, var(--az-red) 0%, var(--az-navy) 100%);
    opacity: 0.4;
    z-index: 0;
}
.az-process__step {
    position: relative;
    z-index: 1;
    text-align: center;
}
.az-process__circle {
    width: 56px; height: 56px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--az-red);
    color: var(--az-navy);
    font-family: var(--az-font-head);
    font-weight: 800;
    font-size: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    counter-increment: stepcounter;
    box-shadow: 0 6px 18px rgba(29,42,58,.12);
    transition: transform .25s ease, background-color .25s ease, color .25s ease;
}
.az-process__circle::before {
    content: counter(stepcounter, decimal-leading-zero);
}
.az-process__step:hover .az-process__circle {
    background: var(--az-red);
    color: #fff;
    transform: translateY(-3px) scale(1.05);
}
.az-process__title {
    font-size: var(--az-fs-h4);
    color: var(--az-navy);
    margin: 0 0 8px;
}
.az-process__text {
    color: var(--az-slate);
    font-size: var(--az-fs-sm);
}
@media (max-width: 768px) {
    .az-process { grid-template-columns: 1fr; gap: 28px; }
    .az-process::before { display: none; }
    .az-process__step { text-align: left; display: grid; grid-template-columns: 56px 1fr; gap: 16px; }
    .az-process__step .az-process__circle { margin-bottom: 0; }
}

/* ============================================================
   12.d Counter-up animation pentru KPI numere
   ============================================================ */

.az-kpi__num[data-count] {
    /* numărul vizibil este injectat de JS; menținem layout până se încarcă */
    min-width: 1ch;
    display: inline-block;
}

/* ============================================================
   12.e Scroll fade-in (controlat din JS)
   ============================================================ */

.az-fade {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .6s ease, transform .6s ease;
    will-change: opacity, transform;
}
.az-fade.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.az-fade--delay-1 { transition-delay: .08s; }
.az-fade--delay-2 { transition-delay: .16s; }
.az-fade--delay-3 { transition-delay: .24s; }
.az-fade--delay-4 { transition-delay: .32s; }

/* ============================================================
   12.f Partners — logo strip cu mai mult „life"
   ============================================================ */

.az-partners-track {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.az-partners-row {
    display: flex;
    gap: 64px;
    align-items: center;
    animation: az-marquee 35s linear infinite;
    width: max-content;
}
.az-partners-row img {
    max-height: 48px;
    width: auto;
    filter: grayscale(1) brightness(.7) opacity(.7);
    transition: filter .25s ease, transform .25s ease;
}
.az-partners-row img:hover {
    filter: grayscale(0) brightness(1) opacity(1);
    transform: scale(1.06);
}
@keyframes az-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
    .az-partners-row { animation: none; }
}

/* ============================================================
   12.g Testimonial card cu accent
   ============================================================ */

.az-testimonial {
    background: #fff;
    border: 1px solid var(--az-line);
    border-radius: var(--az-radius-lg);
    padding: 36px;
    position: relative;
    box-shadow: var(--az-shadow-md);
}
.az-testimonial::before {
    content: '\201C';   /* curly quote */
    position: absolute;
    top: -16px;
    left: 28px;
    font-family: Georgia, serif;
    font-size: 90px;
    line-height: 1;
    color: var(--az-red);
    background: #fff;
    padding: 0 8px;
}
.az-testimonial__text {
    font-size: var(--az-fs-lead);
    line-height: 1.55;
    color: var(--az-navy);
    margin: 0 0 18px;
}
.az-testimonial__author {
    display: flex;
    align-items: center;
    gap: 14px;
}
.az-testimonial__avatar {
    width: 52px; height: 52px;
    border-radius: 50%;
    background: var(--az-bg);
    object-fit: cover;
}
.az-testimonial__name {
    font-weight: 700;
    color: var(--az-navy);
}
.az-testimonial__meta {
    font-size: 0.85rem;
    color: var(--az-slate);
}

/* ============================================================
   13. Reduced motion & accesibilitate
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

:focus-visible {
    outline: 2px solid var(--az-red);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ============================================================
   14. Responsive ajustări
   ============================================================ */

@media (max-width: 980px) {
    .az-hero { min-height: 64vh; }
    .az-hero h1 { max-width: 100%; }
    .az-kpi-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .az-kpi { border-left-width: 2px; padding-left: 14px; }
}

@media (max-width: 540px) {
    .az-kpi-grid { grid-template-columns: 1fr 1fr; }
    .et_pb_button, a.az-btn { padding: 12px 20px !important; font-size: 0.9rem !important; }
}

/* ============================================================
   15. Print
   ============================================================ */

@media print {
    #main-header, #main-footer, .az-hero { box-shadow: none; }
    .az-hero { background: #fff; color: var(--az-ink); }
    .az-hero h1, .az-hero p.lead { color: var(--az-ink); }
    a { color: var(--az-ink); text-decoration: underline; }
}

/* ============================================================
   16. AZ — Brand enforcement + Mobile optimization
   (Smartix, 2026-07 · strat adăugat peste designul Divi existent)
   ============================================================ */

/* 16.1 — Heading-uri: forțează fontul de brand (Manrope) peste Poppins-ul Divi */
h1, h2, h3, h4, h5, h6,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3,
.et_pb_module h4, .et_pb_module h5, .et_pb_module h6,
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3, .et_pb_text h4,
.et_pb_slide_title, .et_pb_fullwidth_header .header-content h1,
.et_pb_promo_description h2, .et_pb_blurb_description h4,
.et_pb_toggle_title, .et_pb_accordion .et_pb_toggle_title {
    font-family: var(--az-font-head) !important;
}
/* Accent roșu consistent pe linkuri de conținut la hover */
.et_pb_text a:not(.et_pb_button):hover { color: var(--az-red); }

/* 16.2 — TABLETĂ (≤980px): compactează ritmul vertical fără a rupe hero-ul */
@media (max-width: 980px) {
    .et_pb_row, .et_pb_section .et_pb_row {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }
    /* spațiu curat între coloane stivuite */
    .et_pb_column { margin-bottom: 26px !important; }
    .et_pb_row .et_pb_column:last-child { margin-bottom: 0 !important; }
    .et_pb_gutters3 .et_pb_column,
    .et_pb_gutters2 .et_pb_column { margin-bottom: 26px !important; }
}

/* 16.3 — TELEFON (≤767px): reduce padding-ul excesiv de secțiune + tipografie */
@media (max-width: 767px) {
    /* multe secțiuni au 100px sus/jos pe mobil → prea mult scroll gol */
    .et_pb_section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    /* NU adăuga padding la secțiuni flush / hero / fullwidth / prima secțiune */
    .et_pb_fullwidth_section,
    .et_pb_section.et_pb_fullwidth_section,
    .et_pb_fullwidth_header,
    .et_pb_section_parallax,
    .home #main-content .et_pb_section:first-of-type,
    body:not(.home) #main-content .et_pb_section:first-of-type {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    .et_pb_fullwidth_header .et_pb_fullwidth_header_container { padding: 0 !important; }

    /* Tipografie: heading-uri lizibile, nu enorme */
    h1, .et_pb_module h1, .et_pb_slide_title { font-size: 30px !important; line-height: 1.18 !important; }
    h2, .et_pb_text h2, .et_pb_module h2 { font-size: 26px !important; line-height: 1.22 !important; }
    h3, .et_pb_text h3, .et_pb_module h3 { font-size: 20px !important; line-height: 1.3 !important; }
    body, .et_pb_text, .et_pb_text p { font-size: 16px; line-height: 1.6; }

    /* Butoane: tap target confortabil (min 48px), text lizibil */
    .et_pb_button {
        padding: 14px 22px !important;
        font-size: 16px !important;
        min-height: 48px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }
    /* Number counters / KPI Divi — dimensiune rezonabilă pe mobil */
    .et_pb_number_counter .percent p,
    .et_pb_number_counter .percent-value,
    .et_pb_circle_counter .percent p { font-size: 40px !important; }

    /* Imagini nu depășesc lățimea */
    .et_pb_image img, .et_pb_module img { max-width: 100%; height: auto; }
}

/* 16.4 — Hero fullwidth header: font de brand (Manrope) peste Playfair Display */
.et_pb_fullwidth_header .header-content .et_pb_fullwidth_header_subhead,
.et_pb_fullwidth_header .header-content-container .et_pb_fullwidth_header_subhead,
.et_pb_fullwidth_header .header-content h1,
.et_pb_fullwidth_header .header-content h2,
.et_pb_fullwidth_header_container .et_pb_module_header,
.et_pb_fullwidth_header .et_pb_module_header,
.et_pb_slide .et_pb_slide_description .et_pb_slide_title {
    font-family: var(--az-font-head) !important;
    letter-spacing: -0.01em !important;
}
.et_pb_fullwidth_header .header-content .et_pb_fullwidth_header_subhead {
    font-weight: 700 !important;
}

/* 16.5 — Divi CTA/Promo: font de brand (Manrope) pe titlurile display (peste Playfair) */
.et_pb_section .et_pb_cta .et_pb_promo_description h1,
.et_pb_section .et_pb_cta .et_pb_promo_description h2,
.et_pb_section .et_pb_cta .et_pb_promo_description h3,
.et_pb_section .et_pb_cta .et_pb_promo_description p,
.et_pb_section .et_pb_promo .et_pb_promo_description p,
.et_pb_promo_description h1, .et_pb_promo_description h2 {
    font-family: var(--az-font-head) !important;
    letter-spacing: -0.01em !important;
}

/* 16.6 — Hero fullwidth header: dimensiuni lizibile pe mobil pentru headline-uri lungi */
@media (max-width: 767px) {
    .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
        font-size: 24px !important;
        line-height: 1.28 !important;
        word-break: normal;
        overflow-wrap: break-word;
    }
    .et_pb_fullwidth_header .header-content,
    .et_pb_fullwidth_header .header-content-container {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }
}

/* 16.7 — Hero fullwidth: centrează conținutul pe mobil (fix deplasare stânga) */
@media (max-width: 767px) {
    .et_pb_fullwidth_header .header-content-container,
    .et_pb_fullwidth_header .header-content {
        max-width: 100% !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
    .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead,
    .et_pb_fullwidth_header .et_pb_module_header,
    .et_pb_fullwidth_header p {
        text-align: center !important;
    }
    .et_pb_fullwidth_header .et_pb_button_wrapper,
    .et_pb_fullwidth_header .et_pb_more_button {
        text-align: center !important;
    }
}

/* 16.8 — Hero fullwidth: containerul real (.et_pb_fullwidth_header_container) full-width + centrat pe mobil */
@media (max-width: 767px) {
    .et_pb_fullwidth_header .et_pb_fullwidth_header_container,
    .et_pb_fullwidth_header .et_pb_fullwidth_header_container.left,
    .et_pb_fullwidth_header .et_pb_fullwidth_header_container.right,
    .et_pb_fullwidth_header .et_pb_fullwidth_header_container.center {
        width: auto !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        text-align: center !important;
        justify-content: center !important;
    }
    .et_pb_section .et_pb_fullwidth_header { margin-left: 0 !important; }
}

/* 16.9 — Hero: neutralizează translateX(-28px) pe mobil (deplasare stânga) */
@media (max-width: 767px) {
    .et_pb_section .et_pb_fullwidth_header,
    .et_pb_fullwidth_header.et_pb_module { transform: none !important; }
}
