/*
Theme Name: Magnews 2026 child
Theme URI: https://www.magnews.it/
Template: bb-theme
Author: Neticon s.r.l.
Author URI: https://www.neticon.it/
Version: 1.1773658173
Updated: 2026-03-16 10:49:33
*/


/* ============================================================
   CSS CUSTOM PROPERTIES
   ============================================================ */

:root {

    /* -- Shadows -- */

    /*
     * Colore base delle ombre dei bottoni.
     * Nota: #f20df233 è un magenta semi-trasparente distinto
     * dall'accent (#e5405c), usato specificamente nelle btn-shadow.
     * Modificando questo valore si aggiorna tutte le ombre dei bottoni.
     */
    --shadow-accent-glow:   #f20df233;
    --shadow-btn:           0px 4px 6px -4px var(--shadow-accent-glow),
                            0px 10px 15px -3px var(--shadow-accent-glow);

    /* Glow box-shadow per i nav item attivi/hover — usa il colore accent del tema */
    --shadow-nav-active:    0px 0px 10px 0px var(--wp--preset--color--fl-accent);

    /* Ombra del pannello mega-menu */
    --shadow-mega-menu:     0px 30px 30px 0px #00000040;


    /* -- Border radii -- */

    --radius-nav:           8px;   /* Nav item attivi, bottoni menu */
    --radius-mega-menu:     24px;  /* Pannello mega-menu (angoli inferiori) */
    --radius-form:          12px;  /* Form group / campi contatto */


    /* -- Transitions -- */

    --transition-base:      all ease-in-out 150ms;


    /* -- Utilities -- */

    --btn-hover-lift:       translateY(-2px);  /* Lift verticale su hover bottoni */
}


/* ============================================================
   GENERAL
   ============================================================ */

html {
    scroll-behavior: smooth;
}

html,
body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke: 0.003em;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.008);
}

.no-grow {
    flex-grow: 0 !important;
}

@media all and (max-width: 992px) {
    .bg-contain {
        background-size: contain !important;
        padding: 4% !important;
    }
}


/* ============================================================
   TYPOGRAPHY
   ============================================================ */

h1,
h2 {font-weight: 900}

h3,
h4,
h5,
h6 {font-weight: 700}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
    line-height: inherit !important;
}

.h1.display,
h1.display {
    line-height: 100px;
    font-size: 110px;
    letter-spacing: -5px;
    font-weight: 900;
}

.h2.display,
h3.display {
    line-height: 60px;
    font-size: 60px;
    letter-spacing: -1.5px;
    font-weight: 900;
}

h1 .highlight,
h2 .highlight,
h3 .highlight,
h4 .highlight,
h5 .highlight,
h6 .highlight {
    color: var(--wp--preset--color--fl-accent) !important;
    font-weight: 900 !important;
}

.highlight.gradient {
    background: linear-gradient(120deg, var(--wp--preset--color--fl-accent), #999999);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.highlight.yellow {
    color: #fabf5e !important;
}


/* ============================================================
   LAYOUT — COLUMNS
   ============================================================ */

.col-2_3-1_3 .fl-module.fl-module-box:first-child { flex-basis: 66.6%; }
.col-2_3-1_3 .fl-module.fl-module-box:last-child  { flex-basis: 33.3%; }

.col-1_3-2_3 .fl-module.fl-module-box:first-child { flex-basis: 33.3%; }
.col-1_3-2_3 .fl-module.fl-module-box:last-child  { flex-basis: 66.6%; }


/* ============================================================
   BUTTONS
   ============================================================ */

.fl-button,
.form-submit input.wpcf7-submit {
    box-shadow: var(--shadow-btn);
    transform: var(--btn-hover-lift);
}

.fl-button-text {
    background: transparent !important;
}

/* Arrow icon via SVG mask on button */
.icon-arrow .fl-button:after,
.bbcs-slide__btn:after,
button[type=submit]:after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    width: 1em;
    height: 0.86em;
    border: 0;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2715%27%20height%3D%2713%27%20viewBox%3D%270%200%2015%2013%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M14.4353%204.22363C14.8256%204.61411%2014.8256%205.2472%2014.4353%205.6377L8.07102%2012.002C7.68053%2012.3923%207.04745%2012.3923%206.65696%2012.002L0.292705%205.6377C-0.0976067%205.2472%20-0.0976372%204.61411%200.292705%204.22363C0.683171%203.83317%201.31623%203.83328%201.70677%204.22363L6.36399%208.88086V1C6.36399%200.447715%206.81171%200%207.36399%200C7.91628%200%208.36399%200.447715%208.36399%201V8.88086L13.0212%204.22363C13.4118%203.83328%2014.0448%203.83317%2014.4353%204.22363Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2715%27%20height%3D%2713%27%20viewBox%3D%270%200%2015%2013%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M14.4353%204.22363C14.8256%204.61411%2014.8256%205.2472%2014.4353%205.6377L8.07102%2012.002C7.68053%2012.3923%207.04745%2012.3923%206.65696%2012.002L0.292705%205.6377C-0.0976067%205.2472%20-0.0976372%204.61411%200.292705%204.22363C0.683171%203.83317%201.31623%203.83328%201.70677%204.22363L6.36399%208.88086V1C6.36399%200.447715%206.81171%200%207.36399%200C7.91628%200%208.36399%200.447715%208.36399%201V8.88086L13.0212%204.22363C13.4118%203.83328%2014.0448%203.83317%2014.4353%204.22363Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    zoom: 0.8;
}

.icon-arrow.arrow-right .fl-button:after { transform: rotate(-90deg); }
.icon-arrow.arrow-left  .fl-button:after { transform: rotate(90deg); }
.icon-arrow.arrow-up    .fl-button:after { transform: rotate(-180deg); }
.icon-arrow.arrow-down  .fl-button:after { transform: rotate(0deg); }

/* BB Custom Slider buttons */
.bbcs-slide__btn,
.form-submit input.wpcf7-submit {
    color: #FFF;
    background-color: var(--wp--preset--color--fl-accent);
    box-shadow: var(--shadow-btn);
}

.bbcs-slide__btn:after,
button[type=submit]:after {
    transform: rotate(-90deg);
}

.bbcs-slide__btn,
.bbcs-slide__btn:focus {
    color: #FFF;
    background-color: var(--wp--preset--color--fl-accent);
}

.bbcs-slide__btn:hover,
.form-submit input.wpcf7-submit:hover {
    color: #FFF;
    background-color: var(--wp--preset--color--fl-accent-hover);
    transform: var(--btn-hover-lift);
}


/* ============================================================
   MISCELLANEOUS
   ============================================================ */

.section-bg-blob {
    position: absolute;
}

.section-bg-blob figure {
    transform: translateY(-50%);
}

.left-bg {
    left: 0;
    transform: translateX(-50%);
}

.right-bg {
    right: 0;
    transform: translateX(50%);
}


/* ============================================================
   TRANSITIONS
   ============================================================ */

.top-bar,
.main-bar .main-logo img,
.main-logo,
.fl-menu #menu-main-menu .fl-has-submenu-container a:after,
.fl-menu #menu-main-menu .fl-has-submenu-container p:after,
#menu-main-menu .item-parent-link a:after,
#menu-main-menu a,
#menu-main-menu .sub-menu,
#menu-main-menu .nav-label-toggle {
    transition: var(--transition-base);
}


/* ============================================================
   HEADER
   ============================================================ */

/* -- Top bar -- */

.top-bar {
    height: 42px;
    transform: translateY(0);
    overflow: hidden;
}

.fl-theme-builder-header-sticky.fl-theme-builder-header-scrolled .top-bar {
    transform: translateY(-100%);
    height: 0;
}

/* -- Logo -- */

.main-bar .main-logo img {
    height: 35px;
    width: auto;
}

.main-logo {
    position: relative;
}

.main-logo.sticky-logo {
    position: absolute;
    top: 0;
}

.main-logo,
.fl-theme-builder-header-sticky.fl-theme-builder-header-scrolled .main-logo.sticky-logo {
    opacity: 1;
}

.fl-theme-builder-header-sticky.fl-theme-builder-header-scrolled .main-logo {
    opacity: 0;
}

/* -- CTA button in header -- */

.main-bar-cta {
    flex-grow: unset;
}

.main-bar-cta a {
    box-shadow: var(--shadow-btn);
    z-index: 100;
}

/* -- Burger icon -- */

.fl-hamburger-menu-top,
.fl-hamburger-menu-middle,
.fl-hamburger-menu-bottom {
    transform-box: fill-box;
    transform-origin: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
    fill: #000 !important;
}

.menu-open header .fl-hamburger-menu-top    { transform: translateY(205px) rotate(-45deg); }
.menu-open header .fl-hamburger-menu-middle { opacity: 0; }
.menu-open header .fl-hamburger-menu-bottom { transform: translateY(-205px) rotate(45deg); }


/* ============================================================
   MAIN NAV — BASE
   ============================================================ */

.fl-menu .menu {
    gap: 36px;
}

/* Nav layer stacking context */
.nav-layer {
    position: relative;
    z-index: 1;
}

/* Mobile menu open — lock scroll and fix header */
body.menu-open {
    overflow: hidden;
}

.menu-open header {
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1000;
}

/* Mobile-only menu items — hidden by default */
#menu-main-menu .mobile-only {
    display: none;
    font-size: 14px;
}

#menu-main-menu .mobile-only.first-item {
    margin-top: 16px;
}

#menu-main-menu .menu-btn a {
    color: var(--wp--preset--color--fl-accent);
    border: solid 2px var(--wp--preset--color--fl-accent);
    background-color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    border-radius: var(--radius-nav);
    padding: 9px 12px 8px 14px;
    margin-left: 14px;
    box-shadow: var(--shadow-btn);
    display: inline-block;
    width: auto !important;
}

#menu-main-menu .menu-btn:hover a {
    border: solid 1px var(--wp--preset--color--fl-accent-hover);
    color: var(--wp--preset--color--fl-accent-hover);
}

/* Move burger to end on medium screens */
@media (max-width: 1200px) {
    .main-nav {
        order: 99;
    }
}

/* Full-width nav row before burger breakpoint */
@media (max-width: 1200px) and (min-width: 993px) {
    .main-nav {
        flex-basis: 100%;
    }
}


/* ============================================================
   MAIN NAV — MEGA MENU
   ============================================================ */

#menu-main-menu > .menu-item > .sub-menu {
    overflow: hidden;
    width: 99vw !important;
    margin-left: calc(50.5% - 50vw);
    padding: 46px 6%;
    padding-left: calc(49vw - 50%);
    padding-right: calc(49vw - 50%);
    box-shadow: var(--shadow-mega-menu);
    border-radius: 0 0 var(--radius-mega-menu) var(--radius-mega-menu);
    gap: 64px;
    justify-content: center;
	background: var(--wp--preset--color--fl-body-bg);
}

#menu-main-menu > .menu-item > .sub-menu:before {
    position: absolute;
    content: "";
    height: 1px;
    width: 100vw;
    top: 14px;
    left: 0;
    background-color: #f3f4f6;
}

#menu-main-menu .sub-menu > li {
    width: auto;
}

#menu-main-menu .sub-menu > li.item-parent-link > a {
    font-weight: 700;
    text-transform: uppercase;
}

#menu-main-menu .sub-menu > li.item-parent-link > a:hover,
#menu-main-menu .sub-menu > li.item-parent-link > a:focus {
    color: initial;
}

.sub-menu .item-label.nav-label-toggle {
    margin: 8px 0 0 0;
    padding-bottom: 24px;
    font-size: 20px;
    line-height: 120%;
    font-weight: 400;
    color: #4b5563 !important;
    letter-spacing: 0;
    text-transform: none;
}

#menu-main-menu .sub-menu li a {
    padding-left: 0;
    padding-right: 0;
    letter-spacing: 0;
}


/* ============================================================
   MAIN NAV — ARROW ICON (::after)
   ============================================================ */

.fl-menu #menu-main-menu .fl-has-submenu-container a:after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    width: 15px;
    height: 13px;
    border: 0;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2715%27%20height%3D%2713%27%20viewBox%3D%270%200%2015%2013%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M14.4353%204.22363C14.8256%204.61411%2014.8256%205.2472%2014.4353%205.6377L8.07102%2012.002C7.68053%2012.3923%207.04745%2012.3923%206.65696%2012.002L0.292705%205.6377C-0.0976067%205.2472%20-0.0976372%204.61411%200.292705%204.22363C0.683171%203.83317%201.31623%203.83328%201.70677%204.22363L6.36399%208.88086V1C6.36399%200.447715%206.81171%200%207.36399%200C7.91628%200%208.36399%200.447715%208.36399%201V8.88086L13.0212%204.22363C13.4118%203.83328%2014.0448%203.83317%2014.4353%204.22363Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2715%27%20height%3D%2713%27%20viewBox%3D%270%200%2015%2013%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M14.4353%204.22363C14.8256%204.61411%2014.8256%205.2472%2014.4353%205.6377L8.07102%2012.002C7.68053%2012.3923%207.04745%2012.3923%206.65696%2012.002L0.292705%205.6377C-0.0976067%205.2472%20-0.0976372%204.61411%200.292705%204.22363C0.683171%203.83317%201.31623%203.83328%201.70677%204.22363L6.36399%208.88086V1C6.36399%200.447715%206.81171%200%207.36399%200C7.91628%200%208.36399%200.447715%208.36399%201V8.88086L13.0212%204.22363C13.4118%203.83328%2014.0448%203.83317%2014.4353%204.22363Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    transform: translateY(1px) rotate(0deg);
}

/* Rotated arrow for parent link and sub-menu items */
#menu-main-menu .item-parent-link a:after,
#menu-main-menu .sub-menu .menu-item a:after {
    transform: rotate(-90deg);
}

/* Rotate arrow on hover/focus */
.fl-menu #menu-main-menu .fl-has-submenu-container:hover a:after,
.fl-menu #menu-main-menu .fl-has-submenu-container:focus a:after,
.fl-menu #menu-main-menu .fl-has-submenu-container a:hover:after,
.fl-menu #menu-main-menu .fl-has-submenu-container a:focus:after {
    transform: rotate(-180deg);
}

/* Toggle button arrow on hover */
.fl-menu #menu-main-menu .fl-has-submenu:hover .fl-menu-toggle:before {
    transform: translate(5px, -1px) rotate(0deg);
}


/* ============================================================
   MAIN NAV — HOVER / FOCUS / ACTIVE STATES
   ============================================================ */

/* First level — with submenu */
#menu-main-menu > li > .fl-has-submenu-container a:focus,
#menu-main-menu > li > .fl-has-submenu-container a.has-focus,
#menu-main-menu > li > .fl-has-submenu-container:has(a:focus) > a,
#menu-main-menu > li > .fl-has-submenu-container:has(p:focus) > a,
.fl-menu #menu-main-menu > li.menu-item > .fl-has-submenu-container :is(*:focus, a:hover),
.fl-menu #menu-main-menu > li.menu-item > .fl-has-submenu-container:hover > *,
.fl-menu #menu-main-menu > li.current-menu-item > a,
.fl-menu #menu-main-menu > li.current-menu-item > .fl-has-submenu-container > * {
    background-color: #000;
    color: #fff;
    border: 0;
    border-radius: var(--radius-nav);
    box-shadow: var(--shadow-nav-active);
    outline: 0;
    text-decoration: none;
    position: relative;
    z-index: 100;
}

/* First level — simple items (no dropdown) */
.fl-menu #menu-main-menu > li.menu-item:not(.fl-has-submenu) > a:hover,
.fl-menu #menu-main-menu > li.menu-item:not(.fl-has-submenu) > a:focus {
    background-color: #000;
    color: #fff;
    border: 0;
    border-radius: var(--radius-nav);
    box-shadow: var(--shadow-nav-active);
    outline: 0;
    text-decoration: none;
}


/* ============================================================
   MAIN NAV — SUBMENU LOGIC (KEYFRAMES)
   ============================================================ */

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ============================================================
   MAIN NAV — DESKTOP SUBMENU LOGIC (≥993px, :focus based)
   ============================================================ */

@media all and (min-width: 993px) {

    /* Main nav stays open while any toggle inside has focus */
    body #menu-main-menu:has(.nav-label-toggle:focus) {
        display: flex !important;
    }

    /* Parent sub-menu stays open while parent button has :focus or .has-focus */
    body #menu-main-menu > li:has(.fl-has-submenu-container .has-focus) > .sub-menu,
    body #menu-main-menu > li:has(.fl-has-submenu-container a:focus) > .sub-menu {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Parent sub-menu stays open while any toggle inside has focus */
    body #menu-main-menu .sub-menu:has(.nav-label-toggle:focus) {
        display: flex !important;
    }

    /* Child sub-menu opens when its sibling toggle has focus */
    body #menu-main-menu .fl-has-submenu-container:has(.nav-label-toggle:focus) ~ .sub-menu {
        display: flex !important;
        flex-direction: column;
    }

    body #menu-main-menu .sub-menu p.item-label {
        cursor: default;
    }
}


/* ============================================================
   MAIN NAV — MOBILE (≤992px, .has-focus class based)
   ============================================================ */

@media (max-width: 992px) {

    /* -- Layout -- */

    #menu-main-menu {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        height: 100vh;
        width: 100vw;
        z-index: -1;
        overflow-x: scroll;
        overflow-y: scroll;
        padding: 24px;
        padding-top: calc(24px + 64px);
        box-sizing: border-box;
        text-align: left;
    }

    #menu-main-menu:before {
        content: "";
        width: 100vw;
        height: 1px;
        position: fixed;
        left: 0;
        top: 65px;
        z-index: 1;
        border-top: 1px solid #ededed;
    }

    #menu-main-menu .menu-item,
    #menu-main-menu .menu-item > div,
    #menu-main-menu .menu-item a {
        width: 100%;
    }

    /* Show mobile-only items */
    #menu-main-menu .mobile-only {
        display: block;
    }

    #menu-main-menu .nav-label-toggle {
        cursor: pointer;
    }

    /* -- First level sub-menu -- */

    /* Bypass BB — close all first submenu */
    #menu-main-menu.menu > li.fl-has-submenu > ul.sub-menu {
        display: none !important;
    }

    /* Bypass BB — open first submenu if .has-focus */
    #menu-main-menu.menu > li.fl-has-submenu:has(.has-focus) > ul.sub-menu {
        display: block !important;
    }

    #menu-main-menu > .menu-item > .sub-menu {
        margin: 14px 0;
        box-shadow: none;
        border-radius: 0;
        padding: 0;
        max-width: 100%;
    }

    #menu-main-menu > .menu-item > .sub-menu:before {
        display: none;
    }

    /* -- Nested sub-menus -- */

    #menu-main-menu.menu li.fl-has-submenu ul.sub-menu {
        padding: 0;
    }

    #menu-main-menu.menu > li.fl-has-submenu > ul.sub-menu {
        padding: 0 14px;
    }

    #menu-main-menu .sub-menu .item-label.nav-label-toggle {
        padding-bottom: 8px;
        font-size: 16px;
    }

    /* -- Arrow icon — position and reset -- */

    .fl-menu #menu-main-menu .fl-has-submenu-container a:after {
        position: absolute;
        right: 14px;
    }

    .fl-menu #menu-main-menu .fl-has-submenu-container p:after {
        position: absolute;
        right: 0;
    }

    .fl-menu #menu-main-menu .fl-has-submenu-container a:after,
    .fl-menu #menu-main-menu .fl-has-submenu-container p:after {
        content: '';
        display: inline-block;
        margin-left: 5px;
        width: 15px;
        height: 13px;
        border: 0;
        background-color: currentColor;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2715%27%20height%3D%2713%27%20viewBox%3D%270%200%2015%2013%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M14.4353%204.22363C14.8256%204.61411%2014.8256%205.2472%2014.4353%205.6377L8.07102%2012.002C7.68053%2012.3923%207.04745%2012.3923%206.65696%2012.002L0.292705%205.6377C-0.0976067%205.2472%20-0.0976372%204.61411%200.292705%204.22363C0.683171%203.83317%201.31623%203.83328%201.70677%204.22363L6.36399%208.88086V1C6.36399%200.447715%206.81171%200%207.36399%200C7.91628%200%208.36399%200.447715%208.36399%201V8.88086L13.0212%204.22363C13.4118%203.83328%2014.0448%203.83317%2014.4353%204.22363Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg%20width%3D%2715%27%20height%3D%2713%27%20viewBox%3D%270%200%2015%2013%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M14.4353%204.22363C14.8256%204.61411%2014.8256%205.2472%2014.4353%205.6377L8.07102%2012.002C7.68053%2012.3923%207.04745%2012.3923%206.65696%2012.002L0.292705%205.6377C-0.0976067%205.2472%20-0.0976372%204.61411%200.292705%204.22363C0.683171%203.83317%201.31623%203.83328%201.70677%204.22363L6.36399%208.88086V1C6.36399%200.447715%206.81171%200%207.36399%200C7.91628%200%208.36399%200.447715%208.36399%201V8.88086L13.0212%204.22363C13.4118%203.83328%2014.0448%203.83317%2014.4353%204.22363Z%27%20fill%3D%27black%27%2F%3E%3C%2Fsvg%3E");
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-size: contain;
        transform: translateY(1px) rotate(0deg);
    }

    /* Arrow — default focus state */
    .fl-menu #menu-main-menu .fl-has-submenu-container a:focus:after,
    .fl-menu #menu-main-menu .fl-has-submenu-container p:focus:after {
        transform: translateY(1px) rotate(0deg);
    }

    /* Arrow — active (.has-focus) state */
    .fl-menu #menu-main-menu .fl-has-submenu-container a.has-focus:after,
    .fl-menu #menu-main-menu .fl-has-submenu-container p.has-focus:after {
        transform: translateY(1px) rotate(180deg);
    }

    /* Sub-menu links — space-between layout */
    #menu-main-menu .sub-menu .menu-item a {
        display: flex;
        justify-content: space-between;
    }

    /* -- First level states -- */

    /* Not-active state */
    .fl-menu #menu-main-menu > li.menu-item:has(.nav-label-toggle) > div > a,
    .fl-menu #menu-main-menu > li.menu-item:has(.nav-label-toggle) > div > a:focus {
        background-color: initial;
        color: initial;
        box-shadow: initial;
    }

    /* Active state */
    .fl-menu #menu-main-menu > li.menu-item:has(.nav-label-toggle) > div > a.has-focus,
    .fl-menu #menu-main-menu > li.menu-item.fl-active > div > a {
        background-color: #000;
        color: #fff;
        border-radius: var(--radius-nav);
        box-shadow: var(--shadow-nav-active);
        outline: 0;
        text-decoration: none;
        position: relative;
        z-index: 100;
    }

    /* Rotate arrow when third level is open */
    #menu-main-menu > li:has(a.has-focus) > div > a:after {
        transform: rotate(-180deg);
    }

    /* -- Submenu logic -- */

    body #menu-main-menu:has(.nav-label-toggle.has-focus) {
        display: block !important;
    }

    body #menu-main-menu .sub-menu:has(.nav-label-toggle.has-focus) {
        display: flex !important;
        flex-direction: column;
        gap: 0;
    }

    body #menu-main-menu .fl-has-submenu-container ~ .sub-menu {
        display: none !important;
    }

    body #menu-main-menu .fl-has-submenu-container:has(.nav-label-toggle.has-focus) ~ .sub-menu {
        display: flex !important;
        flex-direction: column;
        gap: 0;
        animation: slideDown 0.2s ease forwards;
    }
}


/* ============================================================
   CONTACT FORM
   ============================================================ */

/* Container */
.wpcf7-form {
    max-width: 700px;
    margin: 0 auto;
}

/* Row layout */
.form-row {
    margin-bottom: 20px;
}

.form-row.two-cols {
    display: flex;
    gap: 20px;
}

.form-row.two-cols .form-group {
    flex: 1;
}

/* Field wrapper */
.form-group {
    background: #FAFAFA;
    border-radius: var(--radius-form);
    padding: 16px;
    margin: 0;
}

.form-group:has(.wpcf7-not-valid-tip) {
    box-shadow: 0 0 0 1px #e8365d73;
}

/* Label */
.form-group label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #9CA3AF;
    padding: 0;
    margin: 0;
}

/* Inputs */
.form-group input.wpcf7-form-control,
.form-group textarea.wpcf7-form-control {
    width: 100%;
    border: none;
    outline: none;
    background: transparent;
    font-size: 16px;
    color: #333;
    padding: 4px 0;
    font-family: inherit;
}

.form-group textarea.wpcf7-form-control {
    min-height: 60px;
    resize: vertical;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: #D1D5DB;
    font-weight: 800;
}

/* Submit */
.form-submit {
    text-align: center;
    margin-top: 30px;
}

.form-submit input.wpcf7-submit {
    max-width: unset;
    width: 100%;
    padding: 23px 0px 21px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.form-submit input.wpcf7-submit:hover {
    transform: var(--btn-hover-lift) !important;
}

/* Reset CF7 defaults */
.wpcf7-form-control-wrap {
    display: block;
}

.wpcf7 .wpcf7-not-valid-tip {
    font-size: 12px;
    margin-top: 4px;
    position: absolute;
    bottom: -18px;
}

/* Responsive */
@media (max-width: 600px) {
    .form-row.two-cols {
        flex-direction: column;
        gap: 20px;
    }
}


/* ============================================================
   FOOTER
   ============================================================ */

footer .menu .menu-item > a {
    color: #121212;
    font-size: 16px;
}

footer .menu .menu-item > a:hover,
footer .menu .menu-item > a:focus {
    color: var(--wp--preset--color--fl-accent);
    text-decoration: none;
}


/* ============================================================
   WPML
   ============================================================ */

/* TOP BAR NAV LANG MENU */
.wpml-ls-menu-item .wpml-ls-native {
    font-size: 0;
}

.wpml-ls-menu-item .wpml-ls-native::after {
    font-size: 14px;
    content: attr(lang);
    text-transform: uppercase;
}

.wpml-ls-menu-item:not(.wpml-ls-last-item) .wpml-ls-native::after {
    content: attr(lang) " /";
}

.wpml-ls-menu-item:not(.wpml-ls-last-item) {
    margin-right: calc(-1 * 40px);
}
/* ============================================================
   BLOG
   ============================================================ */
/* TAXONOMY FILTERS ON BLOG */
.tax-type {
	padding-bottom: 1rem;
}
.tax-filter {
	display: flex;
	gap: 1rem;
	flex-direction: row;
	flex-wrap: wrap;
	padding: 0;
}
.tax-filter a {
	padding: 8px 10px;
    font-size: 12px;
    text-transform: uppercase;
    border-radius: 6px;
    font-weight: 700;
	line-height: 1em;
    letter-spacing: 0.1em;
	border: solid 2px var(--wp--preset--color--fl-accent);
	color: var(--wp--preset--color--fl-accent);
}
.tax-filter a.active, .tax-filter a:focus, .tax-filter a:hover {
	text-decoration: none;
    color: #FFF;
    background-color: #000;
	border: solid 2px #000;
}