/* =========================================
   VEGA GLOBAL HERO / SECTION SPACING
   ========================================= */

/* Standard page hero */
.vega-page-hero {
    padding-top: 54px !important;
    padding-bottom: 26px !important;
}

/* If hero is followed by a normal theme section */
.vega-page-hero + .vega-section {
    padding-top: 34px !important;
}

/* WooCommerce/category/shop shell */
.vega-page-hero + .vega-wc-page,
.vega-wc-page {
    padding-top: 30px !important;
}

/* Homepage / large Vega hero */
.vega-hero {
    padding-bottom: 38px !important;
}

/* First section immediately after main hero */
.vega-hero + .vega-section {
    padding-top: 34px !important;
}

/* Categories directly after hero */
.vega-hero + .vega-categories,
.vega-page-hero + .vega-categories {
    padding-top: 36px !important;
}


/* TABLET */
@media (max-width: 820px) {

    .vega-page-hero {
        padding-top: 42px !important;
        padding-bottom: 22px !important;
    }

    .vega-hero {
        padding-top: 44px !important;
        padding-bottom: 30px !important;
    }

    .vega-page-hero + .vega-section,
    .vega-hero + .vega-section {
        padding-top: 28px !important;
    }

    .vega-wc-page {
        padding-top: 26px !important;
    }
}


/* MOBILE */
@media (max-width: 540px) {

    .vega-page-hero {
        padding-top: 30px !important;
        padding-bottom: 18px !important;
    }

    .vega-hero {
        padding-top: 34px !important;
        padding-bottom: 24px !important;
    }

    .vega-page-hero + .vega-section,
    .vega-hero + .vega-section,
    .vega-page-hero + .vega-categories,
    .vega-hero + .vega-categories {
        padding-top: 22px !important;
    }

    .vega-wc-page {
        padding-top: 22px !important;
    }
}


/* ===== MY ACCOUNT HERO GAP FIX ===== */

/* My Account hero itself */
body.woocommerce-account .vega-page-hero {
    padding-top: 42px !important;
    padding-bottom: 14px !important;
    margin-bottom: 0 !important;
}


/*
 * Account content section directly below hero.
 * :has() keeps this rule limited to the actual My Account section.
 */
body.woocommerce-account
.vega-section:has(.woocommerce-MyAccount-content),

body.woocommerce-account
.vega-section:has(.woocommerce-MyAccount-navigation) {
    padding-top: 20px !important;
    margin-top: 0 !important;
}


/* Possible page/main wrappers */
body.woocommerce-account
.vega-page-hero + main,

body.woocommerce-account
.vega-page-hero + .site-main,

body.woocommerce-account
.vega-page-hero + .vega-section {
    margin-top: 0 !important;
    padding-top: 20px !important;
}


/* Remove secondary spacing inside page content */
body.woocommerce-account
.entry-content > .woocommerce {
    margin-top: 0 !important;
}


body.woocommerce-account
.woocommerce-MyAccount-navigation,

body.woocommerce-account
.woocommerce-MyAccount-content {
    margin-top: 0 !important;
}


/* MOBILE */
@media (max-width: 600px) {

    body.woocommerce-account .vega-page-hero {
        padding-top: 26px !important;
        padding-bottom: 10px !important;
    }


    body.woocommerce-account
    .vega-section:has(.woocommerce-MyAccount-content),

    body.woocommerce-account
    .vega-section:has(.woocommerce-MyAccount-navigation),

    body.woocommerce-account
    .vega-page-hero + main,

    body.woocommerce-account
    .vega-page-hero + .site-main,

    body.woocommerce-account
    .vega-page-hero + .vega-section {
        padding-top: 14px !important;
        margin-top: 0 !important;
    }
}



/* ===== FINAL MY ACCOUNT MAIN GAP FIX ===== */

/*
 * Festival banner is rendered before .vega-site-main.
 * Remove the separate page-shell spacing below that banner.
 */

body.woocommerce-account .vega-site-main,
body.woocommerce-account main#content.vega-site-main {
    margin-top: 0 !important;
    padding-top: 14px !important;
}


/* Remove spacing from common page wrappers inside main */
body.woocommerce-account .vega-site-main > .vega-container,
body.woocommerce-account .vega-site-main .entry-content,
body.woocommerce-account .vega-site-main .page-content,
body.woocommerce-account .vega-site-main .site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* WooCommerce account shell itself */
body.woocommerce-account .vega-site-main .woocommerce {
    margin-top: 0 !important;
}


/*
 * Old Vega account preset can also add its own shell spacing.
 */
body.vega-v25-account-app.woocommerce-account
.vega-site-main .woocommerce {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* If Elementor is wrapping the account page */
body.woocommerce-account
.vega-site-main > .elementor,
body.woocommerce-account
.vega-site-main .elementor-page {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Festival hero must finish cleanly */
body.woocommerce-account .vega-festival-pro {
    margin-bottom: 0 !important;
}


/* MOBILE */
@media (max-width: 600px) {

    body.woocommerce-account .vega-site-main,
    body.woocommerce-account main#content.vega-site-main {
        padding-top: 10px !important;
    }


    body.woocommerce-account
    .vega-site-main .woocommerce {
        margin-top: 0 !important;
    }
}



/* ===== VEGA LOGGED OUT ACCOUNT GAP FIX ===== */


/*
 * My Account login / register screen only.
 * Do not affect logged-in customer dashboard.
 */
body.woocommerce-account:not(.logged-in)
.vega-site-main,
body.woocommerce-account:not(.logged-in)
main#content.vega-site-main {
    margin-top: 0 !important;
    padding-top: 16px !important;
}


/*
 * Normal Vega section spacing was creating
 * the large blank area after the festival hero.
 */
body.woocommerce-account:not(.logged-in)
.vega-site-main .vega-section,
body.woocommerce-account:not(.logged-in)
.vega-section:has(.woocommerce-form-login),
body.woocommerce-account:not(.logged-in)
.vega-section:has(.woocommerce-form-register) {
    padding-top: 16px !important;
    margin-top: 0 !important;
}


/* Elementor/page wrappers */
body.woocommerce-account:not(.logged-in)
.vega-site-main > .elementor,
body.woocommerce-account:not(.logged-in)
.vega-site-main .elementor-page,
body.woocommerce-account:not(.logged-in)
.vega-site-main .entry-content,
body.woocommerce-account:not(.logged-in)
.vega-site-main .page-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* WooCommerce login shell */
body.woocommerce-account:not(.logged-in)
.vega-site-main .woocommerce {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Login / Register columns */
body.woocommerce-account:not(.logged-in)
.woocommerce .u-columns,
body.woocommerce-account:not(.logged-in)
.woocommerce .col2-set {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Login heading */
body.woocommerce-account:not(.logged-in)
.woocommerce h2:first-child {
    margin-top: 0 !important;
    margin-bottom: 18px !important;
}


/* Login form card */
body.woocommerce-account:not(.logged-in)
form.woocommerce-form-login,
body.woocommerce-account:not(.logged-in)
form.woocommerce-form-register {
    margin-top: 0 !important;
}


/* Festival banner ends cleanly */
body.woocommerce-account:not(.logged-in)
.vega-festival-pro {
    margin-bottom: 0 !important;
}


/* MOBILE */
@media (max-width: 600px) {

    body.woocommerce-account:not(.logged-in)
    .vega-site-main,
    body.woocommerce-account:not(.logged-in)
    main#content.vega-site-main {
        padding-top: 12px !important;
    }


    body.woocommerce-account:not(.logged-in)
    .vega-site-main .vega-section,
    body.woocommerce-account:not(.logged-in)
    .vega-section:has(.woocommerce-form-login),
    body.woocommerce-account:not(.logged-in)
    .vega-section:has(.woocommerce-form-register) {
        padding-top: 12px !important;
        padding-bottom: 28px !important;
    }


    body.woocommerce-account:not(.logged-in)
    .woocommerce h2:first-child {
        margin-top: 0 !important;
        margin-bottom: 14px !important;
    }
}



/* ===== EXACT MY ACCOUNT ELEMENTOR SPACING FIX ===== */

/*
 * Elementor page 4582 section 79db6ca5 was adding:
 * margin-top:45px;
 * padding-top:23px;
 * padding-bottom:80px;
 */

body.woocommerce-account:not(.logged-in)
.elementor-4582
.elementor-element.elementor-element-79db6ca5 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* Keep only one controlled gap after festival hero */
body.woocommerce-account:not(.logged-in)
.vega-site-main {
    padding-top: 0 !important;
}


body.woocommerce-account:not(.logged-in)
.vega-site-main > .vega-section {
    padding-top: 18px !important;
    padding-bottom: 32px !important;
}


/*
 * Elementor's own section width is not needed here;
 * outer Vega container already controls page width.
 */
body.woocommerce-account:not(.logged-in)
.elementor-4582
.elementor-element.elementor-element-79db6ca5
> .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
}


/* MOBILE */
@media (max-width: 767px) {

    body.woocommerce-account:not(.logged-in)
    .vega-site-main > .vega-section {
        padding-top: 12px !important;
        padding-bottom: 24px !important;
    }


    body.woocommerce-account:not(.logged-in)
    .elementor-4582
    .elementor-element.elementor-element-79db6ca5 {
        margin-top: 0 !important;

        padding:
            0 0 0 0 !important;
    }


    /*
     * Elementor was also adding 5px column padding.
     */
    body.woocommerce-account:not(.logged-in)
    .elementor-4582
    .elementor-element.elementor-element-2255fc82
    > .elementor-element-populated {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

