/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* ===== Global Typography Overrides (Design System: "The Editorial Nursery") ===== */

/* Display & Headlines: Plus Jakarta Sans — playful, rounded personality */
/* Body & Titles: Be Vietnam Pro — clean, trustworthy readability */

:root {
    /* Body typography — Be Vietnam Pro */
    --body_typography-font-family: 'Be Vietnam Pro', sans-serif;
    --body_typography-font-weight: 400;

    /* Heading typography — Plus Jakarta Sans */
    --h1_typography-font-family: 'Plus Jakarta Sans', sans-serif;
    --h1_typography-font-weight: 700;
    --h1_typography-letter-spacing: -0.025em;

    --h2_typography-font-family: 'Plus Jakarta Sans', sans-serif;
    --h2_typography-font-weight: 700;
    --h2_typography-letter-spacing: -0.025em;

    --h3_typography-font-family: 'Plus Jakarta Sans', sans-serif;
    --h3_typography-font-weight: 700;

    --h4_typography-font-family: 'Plus Jakarta Sans', sans-serif;
    --h4_typography-font-weight: 600;

    --h5_typography-font-family: 'Plus Jakarta Sans', sans-serif;
    --h5_typography-font-weight: 600;

    --h6_typography-font-family: 'Plus Jakarta Sans', sans-serif;
    --h6_typography-font-weight: 600;

    /* Post title typography */
    --post_title_typography-font-family: 'Plus Jakarta Sans', sans-serif;
    --post_title_typography-font-weight: 700;
    --post_title_typography-letter-spacing: -0.025em;
}

/* Direct selectors with !important to override Avada's dynamic CSS */
body,
body.fusion-body {
    font-family: 'Be Vietnam Pro', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.fusion-title h1, .fusion-title h2, .fusion-title h3,
.fusion-title h4, .fusion-title h5, .fusion-title h6,
.post-content h1, .post-content h2, .post-content h3,
.post-content h4, .post-content h5, .post-content h6,
.entry-title,
.fusion-page-title-bar h1,
.fusion-widget-area h4 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    letter-spacing: -0.025em !important;
}

/* Body text uses Be Vietnam Pro per design system */
.fusion-title p,
.entry-content p,
.post-content p,
body p {
    font-family: 'Be Vietnam Pro', sans-serif !important;
}

/* ===== Announcement Marquee Bar (above header) ===== */
.lb-marquee-bar {
    background: #AFD193 !important;
    overflow: hidden !important;
    padding: 10px 0 !important;
    position: relative !important;
}
.lb-marquee-bar .fusion-builder-row,
.lb-marquee-bar .fusion-row {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.lb-marquee-bar .fusion-layout-column {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}
.lb-marquee-viewport {
    display: flex;
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%);
}
.lb-marquee-track {
    display: flex;
    width: max-content;
    gap: 4rem;
    animation: lb-marquee-scroll 40s linear infinite;
    will-change: transform;
}
.lb-marquee-item {
    color: #39382e;
    font-family: 'Be Vietnam Pro', sans-serif !important;
    font-weight: 500;
    font-size: 0.92rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}
.lb-marquee-item .lb-marquee-dot {
    color: #3f7100;
    font-size: 0.7rem;
    margin-right: 0.6rem;
}
.lb-marquee-item a {
    color: #39382e !important;
    text-decoration: none;
    border-bottom: 1px dashed rgba(57,56,46,0.45);
    padding-bottom: 1px;
    transition: border-color 0.2s ease;
    font-weight: 600;
}
.lb-marquee-item a:hover {
    border-bottom-color: #39382e;
}
@keyframes lb-marquee-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.lb-marquee-bar:hover .lb-marquee-track {
    animation-play-state: paused;
}
@media (max-width: 768px) {
    .lb-marquee-bar { padding: 8px 0 !important; }
    .lb-marquee-track { animation-duration: 28s; gap: 2.5rem; }
    .lb-marquee-item { font-size: 0.82rem; }
}
@media (prefers-reduced-motion: reduce) {
    .lb-marquee-track { animation: none; }
}