/* SAM STYLING - CLEANED VERSION */

/* ========== PROTECT WORDPRESS ADMIN ========== */
#wpadminbar,
#wpadminbar *,
.wp-admin,
.wp-admin *,
body.wp-admin,
body.wp-admin * {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* ========== UTILITY CLASSES ========== */
#hidden {
    display: none;
}

/* ========== HEADER ========== */
#top #header.header-scrolled .logo,
#top #header.header-scrolled .logo a {
    padding: 3px;
}

.logo,
.logo a {
    padding: 10px;
    max-width: 250px;
    overflow: visible;
}

/* ========== MAIN MENU DESKTOP ========== */
.av-main-nav > li > a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    padding: 0 13px;
    text-decoration: none;
    transition: background-color 0.4s ease-in-out, color 0.4s ease-in-out, border-color 0.4s ease-in-out;
}

.sub-menu .widemenu {
    width: auto !important;
    min-width: 380px !important;
    max-width: 480px !important;
}

/* Language submenu width override */
.menu-item-language .sub-menu {
    width: auto !important;
    min-width: 120px !important;
    max-width: 200px !important;
}

/* ========== WPML LANGUAGE SWITCHER STYLING ========== */

.avia-menu-text .wpml-ls-native {
    color: #999999;
}

.home .wpml-ls-item.wpml-ls-item-en .wpml-ls-native,
.home .wpml-ls-item.wpml-ls-item-es .wpml-ls-native,
.home .wpml-ls-item.wpml-ls-item-fr .wpml-ls-native,
.home .wpml-ls-item.wpml-ls-item-ar .wpml-ls-native,
.home .wpml-ls-item.wpml-ls-item-zh-hans .wpml-ls-native {
    color: #999999 !important;
}

/* Header scrolled state */
#top #header.header-scrolled .main_menu > div > ul > li > a,
#top #header.header-scrolled .wpml-ls-current-language > a .wpml-ls-native,
#top #header.header-scrolled .main_menu .sub-menu li a {
    color: #999999 !important;
}

/* ========== CONDITIONAL MENU VISIBILITY ========== */
.menulogged-in {
    display: none;
}

.menulogged-out {
    display: inline-block;
}

body.logged-in .menulogged-in {
    display: inline-block;
}

body.logged-in .menulogged-out {
    display: none;
}

.menucart-full {
    display: none;
}

html.html_visible_cart .menucart-full {
    display: inline-block !important;
}

/* Mobile menu visibility */
@media (max-width: 768px) {
    .responsive #top .av-main-nav li.menulogged-out:not(.av-active-burger-items) {
        display: none;
    }
    
    body.logged-in .menulogged-in,
    html.html_visible_cart .menucart-full,
    body:not(.logged-in) .menulogged-out {
        display: inline;
    }
}

/* ========== MOBILE MENU ========== */
.html_av-overlay-side-classic #top .av-burger-overlay li li .avia-bullet,
.html_av-overlay-side.av-burger-overlay-active #top .av-hamburger-inner,
.html_av-overlay-side.av-burger-overlay-active #top .av-hamburger-inner::before,
.html_av-overlay-side.av-burger-overlay-active #top .av-hamburger-inner::after {
    background-color: var(--enfold-header-color-color) !important;
}

#av-burger-menu-ul .wpml-ls-item a {
    color: #666 !important;
    font-size: 14px;
}


/* ========== HOME PAGE SPECIFIC STYLES ========== */
/* First blockquote on home page - mobile only */
@media only screen and (max-width: 767px) {
    .home blockquote:first-of-type {
        top: -40px;
    }
}

/* ========== MOBILE TYPOGRAPHY ========== */
@media only screen and (max-width: 767px) {
    /* Reduce heading sizes for mobile */
    h1, .av-special-heading-h1 {
        font-size: 24px !important;
        line-height: 1.2 !important;
    }

    h2, .av-special-heading-h2 {
        font-size: 20px !important;
        line-height: 1.3 !important;
    }

    h3, .av-special-heading-h3 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }

    h4, .av-special-heading-h4 {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    h5, .av-special-heading-h5 {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    h6, .av-special-heading-h6 {
        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    /* Special heading tags used by Enfold */
    .av-special-heading .av-special-heading-tag {
        font-size: inherit !important;
    }
}

.bold span.avia-menu-text,
.bold a .avia-menu-text {
    font-weight: 700 !important;
}

/* ========== BODY CONTENT ========== */
.content {
    padding-top: 0;
}

/* Text selection styling */
body:not(.wp-admin) ::selection {
    background-color: #6c978b !important;
    color: #FFFFFF !important;
}

body:not(.wp-admin) ::-moz-selection {
    background-color: #6c978b !important;
    color: #FFFFFF !important;
}

/* ========== TYPOGRAPHY ========== */
/* Base typography - scoped to frontend only */
body:not(.wp-admin) .entry-content,
body:not(.wp-admin) .wpb_text_column,
body:not(.wp-admin) .avia-textblock,
body:not(.wp-admin) .content p,
body:not(.wp-admin) .content div:not(#header):not(#header *):not(.av-main-nav):not(.av-main-nav *) {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-size: 14px !important;
}

/* Headings */
h1,
h1.main-title,
h1.entry-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    text-transform: none !important;
    font-size: 42px !important;
    color: #6c978b !important;
    letter-spacing: 0.02em !important;
    line-height: 1.2 !important;
}

h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    text-transform: none !important;
    color: #6c978b !important;
}

h3,
h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
    text-transform: none !important;
    color: #6c978b !important;
}

/* Bold and italic text alternative: font-family: 'CrimsonText', serif !important; */
b,
strong {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    color: #6c978b !important;
}

i,
em {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 400 !important;
    font-style: italic !important;
}

/* Blockquote styling */
blockquote {
    width: 80%;
    margin: 0.25em 0 !important;
    padding: 0.25em 40px !important;
    position: relative;
    border: none !important;
    background: #f8f8f6 !important;
    border-radius: 4px;
}

blockquote p {
    font-family: 'EB Garamond', serif !important;
    font-size: 18px !important;
    font-style: italic !important;
    line-height: 1.45 !important;
    color: #383838 !important;
}

blockquote:before {
    display: block !important;
    content: "\201C" !important;
    font-family: 'EB Garamond', serif !important;
    font-size: 80px !important;
    position: absolute;
    left: -10px;
    top: -20px;
    color: #6c978b !important;
    line-height: 1 !important;
    z-index: 1;
}

blockquote cite {
    color: #999999 !important;
    font-size: 14px !important;
    display: block;
    margin-top: 5px;
    font-style: normal !important;
}

blockquote cite:before {
    content: "\2014 \2009";
}

/* Blockquote rotations */
blockquote:nth-child(odd) { transform: rotate(-1.4deg); }
blockquote:nth-child(even) { transform: rotate(1deg); }
blockquote:nth-child(3n) { transform: rotate(1.1deg); }
blockquote:nth-child(4n) { transform: rotate(-0.4deg); }
blockquote:nth-child(5n) { transform: rotate(0.5deg); }
blockquote:nth-child(6n) { transform: rotate(-0.7deg); }

blockquote:not(:first-child) {
    margin-top: 18px !important;
}

/* Mobile blockquote adjustments */
@media (max-width: 768px) {
    blockquote {
        width: 90% !important;
        margin: 0.25em auto !important;
        transform: none !important;
    }
    
    blockquote:not(:first-child) {
        margin-top: 18px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Text justification with hyphenation */
html[lang="en-US"] .txtjustify,
html[lang="de-DE"] .txtjustify,
html[lang="fr"] .txtjustify,
html[lang="es"] .txtjustify,
html[lang="pt"] .txtjustify,
html[lang="pt-BR"] .txtjustify {
    text-align: justify;
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    hyphenate-limit-lines: 2;
    hyphenate-limit-zone: 8%;
}

/* ========== LAYOUT ELEMENTS ========== */
.wpb_text_column p {
    line-height: 1.8;
}

.title_container div.container {
    margin-top: 30px;
}

.container_wrap {
    border-top-style: none;
    border-top-width: 0;
}

/* ========== HIDE ELEMENTS ========== */
.entry-content-header .page-thumb {
    display: none;
}

.home .title_container,
.woocommerce-account .title_container,
.woocommerce-cart .title_container,
.woocommerce-checkout .title_container {
    display: none;
}

.woocommerce-account .content,
.woocommerce-cart .content,
.woocommerce-checkout .content {
    padding-top: 50px;
}

#generated_coupon_data_container,
.single-product .product_meta,
.woocommerce div.quantity,
.woocommerce-cart .wt-related-products,
.woocommerce-checkout .wt-related-products,
.woocommerce-cart .cross-sells,
.woocommerce-checkout .cross-sells {
    display: none !important;
}

.woocommerce-cart button[name="update_cart"] {
    display: none !important;
}

.ui_tpicker_hour_label, 
.ui_tpicker_hour, 
.ui_tpicker_minute_label, 
.ui_tpicker_minute {
    display: none;
}

.wpfooterbar {
    display: none !important;
}

/* ========== WOOCOMMERCE ========== */
.inner_product,
.products .product a,
.products .product a img {
    border: none;
}

form.cart .button {
    float: none;
    display: block;
}

.product-keywords {
    display: block;
    margin-top: 50px;
    font-size: 12px;
    color: #555;
}

.product .woocommerce-tabs {
    display: none;
}

/* NEW Badge */
.new-badge {
    background-color: #c32830;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    line-height: 42px;
    width: 42px;
    height: 42px;
    position: absolute;
    top: 50px;
    right: 60px;
    z-index: 10;
    border-radius: 50%;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    transform: rotate(-4deg) !important;
    transform-origin: center;
    display: inline-block;
}

@media (max-width: 1024px) {
    .new-badge {
        line-height: 36px;
        width: 36px;
        height: 36px;
        top: 40px;
        right: 40px;
    }
}

@media (max-width: 768px) {
    .new-badge {
        top: 40px;
        right: 30px;
        width: 50px;
        height: 50px;
        line-height: 50px;
        font-size: 14px;
    }
}

/* Cart and checkout styling */
#top div .widget_shopping_cart .woocommerce-mini-cart__buttons .button {
    display: block;
    border-radius: 6px;
    width: 100%;
    margin-bottom: 10px;
}

#top div .widget_shopping_cart .woocommerce-mini-cart__buttons .button.checkout {
    margin-bottom: 0;
}

.single-product .single-product-main-image .woocommerce-product-gallery__trigger,
.single-product .single-product-main-image .avia-wc-30-product-gallery-lightbox {
    display: none !important;
}

.woocommerce-MyAccount-navigation ul li a {
    text-align: left;
}

/* ========== MESSAGES STYLES ========== */
ul.woocommerce-message {
    border: none;
    list-style: none;
    margin: 0 0 23px 0;
    padding: 15px;
    background-color: #d2f2fd;
    color: #20c0f6;
    display: flex;
    align-items: center;
}

ul.woocommerce-error {
    border: none;
    list-style: none;
    margin: 0 0 23px 0;
    padding: 15px;
    background-color: #f0dcdb;
    color: #941210;
    display: flex;
    align-items: center;
}

ul.woocommerce-info {
    border: none;
    list-style: none;
    margin: 0 0 23px 0;
    padding: 15px;
    background-color: #fcfaf6;
    color: #a19890;
    display: flex;
    align-items: center;
}

/* ========== CONTACT FORM 7 ========== */
#top .wpcf7 input[type="text"],
#top .wpcf7 input[type="email"] {
    margin-bottom: 0;
}

#top .wpcf7 .wpcf7-list-item {
    display: inline-block;
    margin: 0 !important;
}

#top .wpcf7 label span,
#top .wpcf7 legend span {
    font-weight: normal;
    font-size: 13px !important;
    color: #444;
}

#top .wpcf7 .wpcf7-submit {
    margin: 20px 0;
    padding: 15px 30px;
    font-weight: 700;
    font-size: 16px !important;
}

.wpcf7-form-control::placeholder {
    color: #333 !important;
    opacity: 1;
}

.wpcf7-form-control {
    color: #000 !important;
}

/* ========== FOOTER ========== */
.cmplz-manage-consent {
    display: none;
}

.widget_text form.inf-form div h4,
.widget_text form.inf-form div span {
    display: none;
}

.widget_text form.inf-form label {
    font-weight: 400;
}

.widget_text form.inf-form .inf-submit {
    text-align: left;
}

/* Footer socket styling */
.socket_color,
.socket_color p,
.socket_color div,
.socket_color span,
.socket_color li,
.socket_color a {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 300 !important;
}