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

body .gg-nav-wrapper,
body .gg-logo-wrapper,
body .gg-icons-wrapper {
    --width: auto !important;
    width: auto !important;
    flex-basis: auto !important;
}

body .gg-nav-wrapper {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    justify-content: center !important;
}

body .gg-logo-wrapper,
body .gg-icons-wrapper {
    flex: 0 0 auto !important;
}

body .gg-icons-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}

@media (max-width: 1024px) {
    body .gg-nav-wrapper {
        flex: 0 0 auto !important;
        order: 1 !important;
        justify-content: flex-start !important;
        overflow: visible !important;
    }

    body .gg-logo-wrapper {
        flex: 1 1 auto !important;
        order: 2 !important;
        justify-content: center !important;
        min-width: 0 !important;
    }

    body .gg-icons-wrapper {
        flex: 0 0 auto !important;
        order: 3 !important;
        justify-content: flex-end !important;
        gap: 8px !important;
    }
}

/* ============================================================
   HEADER ICONS / CART TOGGLE / MEMBER AREA
   ============================================================ */

body .gg-icons-wrapper > .elementor-element,
body .gg-icons-wrapper .elementor-widget,
body .gg-icons-wrapper .elementor-widget-container,
body .gg-icons-wrapper .elementor-icon-wrapper,
body .gg-icons-wrapper .elementor-menu-cart__wrapper,
body .gg-icons-wrapper .elementor-menu-cart__toggle,
body .gg-icons-wrapper .elementor-menu-cart__toggle_wrapper,
body .gg-icons-wrapper .jet-blocks-cart,
body .gg-icons-wrapper .jet-blocks-cart__heading,
body .gg-icons-wrapper .jet-blocks-cart__heading-link {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

body .gg-icons-wrapper button,
body .gg-icons-wrapper .elementor-button,
body .gg-icons-wrapper a.elementor-button,
body .gg-icons-wrapper .elementor-menu-cart__toggle_button,
body .gg-icons-wrapper .elementor-menu-cart__toggle .elementor-button,
body .gg-icons-wrapper .elementor-menu-cart__toggle a,
body .gg-icons-wrapper .jet-blocks-cart__heading,
body .gg-icons-wrapper .jet-blocks-cart__heading-link {
    padding: 0 !important;
    margin: 0 !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 10px !important;
    background-color: #F2F8FB !important;
    color: #69727d !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    position: relative !important;
}

body .gg-header-icon,
body .gg-icons-wrapper .elementor-widget-icon .elementor-icon,
body .gg-icons-wrapper .elementor-icon-wrapper .elementor-icon {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    border-radius: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: #F2F8FB !important;
    color: #69727d !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

body .gg-header-icon:hover,
body .gg-icons-wrapper .elementor-widget-icon .elementor-icon:hover,
body .gg-icons-wrapper .elementor-icon-wrapper .elementor-icon:hover,
body .gg-icons-wrapper .elementor-button:hover,
body .gg-icons-wrapper .elementor-menu-cart__toggle_button:hover,
body .gg-icons-wrapper .jet-blocks-cart__heading:hover,
body .gg-icons-wrapper .jet-blocks-cart__heading-link:hover {
    background-color: #0D5B97 !important;
    color: #FFFFFF !important;
}

body .gg-icons-wrapper .elementor-icon i,
body .gg-icons-wrapper .elementor-icon svg,
body .gg-icons-wrapper .elementor-menu-cart__toggle .elementor-button-icon,
body .gg-icons-wrapper .elementor-menu-cart__toggle .elementor-button-icon i,
body .gg-icons-wrapper .elementor-menu-cart__toggle .elementor-button-icon svg,
body .gg-icons-wrapper .jet-blocks-cart__heading-icon,
body .gg-icons-wrapper .jet-blocks-cart__heading-icon i,
body .gg-icons-wrapper .jet-blocks-cart__heading-icon svg {
    color: inherit !important;
    fill: currentColor !important;
    font-size: 22px !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 1 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

body .gg-icons-wrapper .elementor-button-text,
body .gg-icons-wrapper .elementor-menu-cart__subtotal,
body .gg-icons-wrapper .elementor-menu-cart__product-name,
body .gg-icons-wrapper .jet-blocks-cart__label,
body .gg-icons-wrapper .jet-blocks-cart__total,
body .gg-icons-wrapper .jet-blocks-cart__total-val,
body .gg-icons-wrapper .jet-blocks-cart__heading-text {
    display: none !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
}

body .gg-icons-wrapper .elementor-menu-cart__toggle .elementor-button-icon {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .gg-icons-wrapper .elementor-menu-cart__toggle .elementor-button-icon[data-counter]::before,
body .gg-icons-wrapper .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty,
body .gg-icons-wrapper .elementor-menu-cart__toggle .elementor-button-icon .elementor-menu-cart__toggle_counter {
    position: absolute !important;
    top: -13px !important;
    right: -13px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 3 !important;
    transform: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #0D5B97 !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    text-align: center !important;
}

/* ============================================================
   ELEMENTOR MENU CART SLIDE PANEL
   ============================================================ */

body .elementor-menu-cart__container,
body .elementor-menu-cart__main {
    width: min(420px, 92vw) !important;
    min-width: min(420px, 92vw) !important;
    max-width: min(420px, 92vw) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    z-index: 100002 !important;
    border-radius: 22px !important;
    box-shadow:
        0 12px 48px rgba(6,30,51,0.18),
        0 4px 16px rgba(6,30,51,0.10) !important;
}

body .elementor-menu-cart__container {
    position: fixed !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    height: calc(100dvh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
}

body .elementor-menu-cart__main {
    height: 100% !important;
    max-height: 100% !important;
}

body .elementor-menu-cart__close-button {
    z-index: 100003 !important;
}

/* ============================================================
   JET MEGA MENU — DESKTOP PILLS
   ============================================================ */

body .jet-mega-menu-item .jet-mega-menu-item__inner {
    border-radius: 10px !important;
    margin-left: 5px !important;
}

/* ============================================================
   JET MEGA MENU — MOBILE SLICKMENU TRAVEL STYLE
   ============================================================ */

@media (max-width: 1024px) and (pointer: coarse) {
    html,
    body {
        overflow-x: hidden !important;
    }

    body .gg-nav-wrapper,
    body .gg-nav-wrapper .elementor-widget,
    body .gg-nav-wrapper .elementor-widget-container,
    body .jet-mega-menu {
        overflow: visible !important;
        max-width: none !important;
    }

    body .jet-mega-menu {
        position: static !important;
        width: auto !important;
        max-width: none !important;
    }

    body .jet-mega-menu-toggle {
        position: relative !important;
        z-index: 100004 !important;
        width: 44px !important;
        height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: #ffffff !important;
    }

    body .jet-mega-menu-toggle svg {
        width: 28px !important;
        height: 28px !important;
        fill: currentColor !important;
    }

    body .jet-mega-menu-container {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        min-width: 100vw !important;
        max-width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 100001 !important;
        box-sizing: border-box !important;
        padding: 96px 38px 48px !important;
        background:
            linear-gradient(90deg, rgba(4,18,33,0.88) 0%, rgba(4,18,33,0.70) 48%, rgba(4,18,33,0.58) 100%),
            linear-gradient(180deg, rgba(4,18,33,0.42) 0%, rgba(4,18,33,0.82) 100%),
            url("https://www.gogonnesa.it/wp-content/uploads/2025/11/Villaggi-Sud-Ovest-Sardegna-Occidentale-PortoPaglia13-Gonnesa-1170x600.jpg") center center / cover no-repeat !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    body .jet-mega-menu-container,
    body .jet-mega-menu--dropdown-open .jet-mega-menu-container,
    body .jet-mega-menu.jet-mega-menu--dropdown-open .jet-mega-menu-container {
        visibility: visible !important;
        opacity: 1 !important;
    }

    body .jet-mega-menu-container,
    body .jet-mega-menu-container *,
    body .jet-mega-menu-list,
    body .jet-mega-menu-list * {
        box-sizing: border-box !important;
    }

    body .jet-mega-menu-list {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 28px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        overflow: visible !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body .jet-mega-menu-list > .jet-mega-menu-item {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        overflow: visible !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: none !important;
    }

    body .jet-mega-menu-list > .jet-mega-menu-item > .jet-mega-menu-item__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 18px !important;
        width: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }

    body .jet-mega-menu-item__link,
    body .jet-mega-menu-item__title,
    body .jet-mega-menu-item__label {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        max-width: 100% !important;
        opacity: 1 !important;
        visibility: visible !important;
        color: #ffffff !important;
        transform: none !important;
    }

    body .jet-mega-menu-list > .jet-mega-menu-item > .jet-mega-menu-item__inner .jet-mega-menu-item__label {
        font-family: "Poppins", sans-serif !important;
        font-size: clamp(36px, 9vw, 54px) !important;
        line-height: 1.08 !important;
        font-weight: 300 !important;
        text-transform: none !important;
        letter-spacing: -0.045em !important;
        text-shadow: 0 2px 20px rgba(0,0,0,0.25) !important;
    }

    body .jet-mega-current-menu-item > .jet-mega-menu-item__inner .jet-mega-menu-item__label {
        opacity: 0.45 !important;
    }

    body .jet-mega-menu-item__dropdown {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: 12px !important;
        color: rgba(255,255,255,0.82) !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(2px) !important;
    }

    body .jet-mega-menu-item__dropdown svg {
        width: 22px !important;
        height: 22px !important;
        fill: currentColor !important;
        color: inherit !important;
    }

    body .jet-mega-menu-sub-menu,
    body .jet-mega-menu-mega-container {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        transform: none !important;
        margin: 24px 0 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    body .jet-mega-menu-sub-menu__list {
        display: flex !important;
        flex-direction: column !important;
        gap: 18px !important;
        width: 100% !important;
        padding: 0 0 0 8px !important;
        margin: 0 !important;
        list-style: none !important;
    }

    body .jet-mega-menu-sub-menu .jet-mega-menu-item {
        width: 100% !important;
        margin: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    body .jet-mega-menu-sub-menu .jet-mega-menu-item__inner {
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    body .jet-mega-menu-sub-menu .jet-mega-menu-item__label {
        color: rgba(255,255,255,0.88) !important;
        font-size: clamp(28px, 7vw, 42px) !important;
        line-height: 1.1 !important;
        font-weight: 300 !important;
        letter-spacing: -0.04em !important;
        text-shadow: 0 2px 16px rgba(0,0,0,0.24) !important;
    }

    body .jet-mega-menu-mega-container__inner,
    body .jet-mega-menu-mega-container .elementor,
    body .jet-mega-menu-mega-container .elementor-element,
    body .jet-mega-menu-mega-container .e-con {
        width: 100% !important;
        max-width: 100% !important;
        opacity: 1 !important;
        visibility: visible !important;
        color: #ffffff !important;
        background: transparent !important;
    }

    body .jet-mega-menu-mega-container .elementor-heading-title {
        color: #ffffff !important;
        font-weight: 400 !important;
        letter-spacing: -0.02em !important;
    }

    body .jet-mega-menu-mega-container p,
    body .jet-mega-menu-mega-container a {
        color: rgba(255,255,255,0.78) !important;
    }

    body .jet-mega-menu-mega-container .elementor-widget-text-editor {
        color: rgba(255,255,255,0.68) !important;
    }

    body .jet-mega-menu-mega-container .elementor-button {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 10px 18px !important;
        border-radius: 10px !important;
        background: rgba(255,255,255,0.14) !important;
        color: #ffffff !important;
    }
}

/* ============================================================
   STAGGER UNIVERSALE DESKTOP
   ============================================================ */

body .jet-mega-menu-mega-container .jet-mega-menu-sub-item,
body .jet-mega-menu-mega-container .elementor-widget,
body .jet-mega-menu-sub-menu .jet-mega-menu-sub-item {
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

body .jet-mega-menu-item--hover .jet-mega-menu-sub-item,
body .jet-mega-menu-item--open .jet-mega-menu-sub-item,
body .jet-mega-menu-item--hover .jet-mega-menu-mega-container .elementor-widget,
body .jet-mega-menu-item--open .jet-mega-menu-mega-container .elementor-widget {
    opacity: 1;
    transform: translateY(0);
}

body .jet-mega-menu-item--hover .jet-mega-menu-sub-item:nth-child(1),
body .jet-mega-menu-item--open .jet-mega-menu-sub-item:nth-child(1),
body .jet-mega-menu-item--hover .jet-mega-menu-mega-container .elementor-widget:nth-child(1) {
    transition-delay: 0ms;
}

body .jet-mega-menu-item--hover .jet-mega-menu-sub-item:nth-child(2),
body .jet-mega-menu-item--open .jet-mega-menu-sub-item:nth-child(2),
body .jet-mega-menu-item--hover .jet-mega-menu-mega-container .elementor-widget:nth-child(2) {
    transition-delay: 60ms;
}

body .jet-mega-menu-item--hover .jet-mega-menu-sub-item:nth-child(3),
body .jet-mega-menu-item--open .jet-mega-menu-sub-item:nth-child(3),
body .jet-mega-menu-item--hover .jet-mega-menu-mega-container .elementor-widget:nth-child(3) {
    transition-delay: 120ms;
}

body .jet-mega-menu-item--hover .jet-mega-menu-sub-item:nth-child(4),
body .jet-mega-menu-item--open .jet-mega-menu-sub-item:nth-child(4),
body .jet-mega-menu-item--hover .jet-mega-menu-mega-container .elementor-widget:nth-child(4) {
    transition-delay: 180ms;
}

body .jet-mega-menu-item--hover .jet-mega-menu-sub-item:nth-child(5),
body .jet-mega-menu-item--open .jet-mega-menu-sub-item:nth-child(5),
body .jet-mega-menu-item--hover .jet-mega-menu-mega-container .elementor-widget:nth-child(5) {
    transition-delay: 240ms;
}

body .jet-mega-menu-item--hover .jet-mega-menu-sub-item:nth-child(6),
body .jet-mega-menu-item--open .jet-mega-menu-sub-item:nth-child(6),
body .jet-mega-menu-item--hover .jet-mega-menu-mega-container .elementor-widget:nth-child(6) {
    transition-delay: 300ms;
}

body .jet-mega-menu-item--hover .jet-mega-menu-sub-item:nth-child(n+7),
body .jet-mega-menu-item--open .jet-mega-menu-sub-item:nth-child(n+7) {
    transition-delay: 360ms;
}

/* ============================================================
   MEGA CARD EFFECT
   ============================================================ */

body .gg-mega-card {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

body .gg-mega-card:hover {
    transform: scale(1.04);
}

/* ============================================================
   ACCESSIBILITÀ
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
    body .jet-mega-menu-mega-container .jet-mega-menu-sub-item,
    body .jet-mega-menu-mega-container .elementor-widget,
    body .jet-mega-menu-sub-menu .jet-mega-menu-sub-item,
    body .jet-mega-menu-container,
    body .gg-mega-card {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
