/*
Theme Name: Essentials Child
Theme URI: https://essentials.pixfort.com/
Author: PixFort
Template: essentials
Author URI: http://themeforest.net/user/pixfort
Description: Essentials child theme
Version: 1.1.3
License: Envato Marketplaces Split Licence
License URI: https://themeforest.net/licenses/standard
Text Domain: essentials-child
Tags: header-builder, footer-builder, divider-builder, popup-builder, premium-design, translation-ready

*/

/* Slider imports use these VF aliases; the site uses Ravi and Modam names. */
@font-face {
    font-family: 'Ravi VF';
    src: url('/fonts/Ravi-VF.woff2') format('woff2');
    font-weight: 100 900;
    font-display: swap;
}

/* Match Essentials' 1024px header breakpoint for the two homepage box sets.
 * WPBakery's lg-only switch starts at 1200px and can also lose to visible rows. */
@media (min-width: 1025px) {
    .home #content .vc_row.vc_hidden-lg { display: none !important; }
    .home #content .vc_row.vc_hidden-md.vc_hidden-sm.vc_hidden-xs { display: block !important; }
}
@media (max-width: 1024px) {
    .home #content .vc_row.vc_hidden-md.vc_hidden-sm.vc_hidden-xs { display: none !important; }
}
/* The collections landing page uses sections and nested responsive columns. */
@media (min-width: 1025px) {
    .page-id-18378 #content .vc_section.vc_hidden-lg { display: none !important; }
    .page-id-18378 #content .vc_section.vc_hidden-md.vc_hidden-sm.vc_hidden-xs,
    .page-id-18378 #content .vc_section.vc_hidden-md.vc_hidden-sm.vc_hidden-xs .wpb_column.vc_hidden-md.vc_hidden-sm.vc_hidden-xs { display: flex !important; }
}
@media (max-width: 1024px) {
    .page-id-18378 #content .vc_section.vc_hidden-md.vc_hidden-sm.vc_hidden-xs { display: none !important; }
    .page-id-18378 #content .vc_section.vc_hidden-lg { display: flex !important; }
}
:is(.page-id-18378, .page-id-14745, .page-id-14747) #content .pix-highlighted-items .pix-highlighted-text {
    font-size: inherit !important;
    line-height: inherit;
}
@font-face {
    font-family: 'Modam VF';
    src: url('/fonts/ModamVF.woff2') format('woff2');
    font-weight: 100 900;
    font-display: swap;
}
.mysticky-site-front :is(.mysticky-welcomebar-content, .mysticky-welcomebar-btn, .mysticky-welcomebar-btn a) {
    font-family: Ravi, 'Ravi VF', sans-serif !important;
}
sr7-txt[id^="SR7_17_"][id$="-1"] { direction: ltr; unicode-bidi: isolate; }
.sevenwears-account-tabs { display: block; max-width: 640px; margin-inline: auto; }
.sevenwears-account-tablist { display: flex; gap: 8px; padding: 6px; border-radius: 8px; background: #edf2f6; }
.sevenwears-account-tablist > button {
    flex: 1;
    padding: 12px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #29475e;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.sevenwears-account-tablist > button[aria-selected="true"] { background: #fff; color: #092a48; box-shadow: 0 2px 5px rgba(9,42,72,.1); }
.sevenwears-account-tablist > button:focus-visible { outline: 2px solid #6a99cd; outline-offset: 2px; }
.sevenwears-account-tabs > .sevenwears-account-panel { width: 100%; max-width: 100%; padding-inline: 0; }
.sevenwears-account-panel[hidden], .sevenwears-account-panel > h4[hidden] { display: none !important; }
.woocommerce .sevenwears-account-panel form { border: 0; margin-top: 16px !important; margin-bottom: 24px !important; }
.sevenwears-search { padding-top: 24px; }
body.search #page { background-color: #f8f9fa; }
.sevenwears-search-filter { margin-inline-end: 12px; }
@media (max-width: 768px) {
    .sevenwears-account-tabs { margin-inline: 0; }
    .sevenwears-search .pix-main-intro-placeholder { height: 0 !important; min-height: 0 !important; }
    .sevenwears-search .sidebar .textwidget > .vc_row { margin-inline: 0; }
}

/* The homepage's visible-overflow carousel and oversized hero decorations must
 * stay within the viewport. clip preserves vertical sticky/scroll behavior and
 * lets carousel arrows/shadows extend into the page margins. */
body.home.rtl #content {
    overflow-x: clip;
    overflow-y: visible;
}

/* Keep each amount together: number on the right, currency on the left. */
.rtl .pix-product-price .woocommerce-Price-amount > bdi,
.rtl .summary .price .woocommerce-Price-amount > bdi {
    display: inline-flex;
    direction: rtl;
    align-items: baseline;
    gap: .35em;
    white-space: nowrap;
}
.rtl .pix-product-price .woocommerce-Price-currencySymbol,
.rtl .summary .price .woocommerce-Price-currencySymbol {
    unicode-bidi: isolate;
}
.pix-product-item .wc-single-product-cats,
.summary .wc-single-product-cats {
    font-size: 13px !important;
    line-height: 1.6;
    padding: 5px 10px;
    border: 1px solid rgba(9, 42, 72, .13);
    background: #edf2f6 !important;
    border-radius: 6px;
}
.pix-product-item .wc-single-product-cats > span,
.summary .wc-single-product-cats > span {
    color: #29475e !important;
}
.pix-product-item .pix-item-badges,
.summary > .pix-item-badges {
    margin-top: 12px;
    margin-bottom: 14px;
}
.pix-product-item .pix-item-badges .pix-item-badges { margin: 0; }
/* Compact card badges; retain the larger badges in the product summary. */
.pix-product-item .wc-single-product-cats {
    font-size: 11px !important;
    line-height: 1.35;
    padding: 3px 6px;
    border-radius: 4px;
}
.pix-product-item .pix-item-badges { margin-top: 8px; margin-bottom: 10px; }
.rtl .pix-product-item .pix-product-price,
.rtl .pix-product-item .pix-product-price .price {
    text-align: right !important;
}
.pix-product-item :is(.pix-sale-badge, .onsale) { display: none; }
.pix-product-item .pix-product-img-hover { position: relative; }
.sevenwears-image-sale {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    pointer-events: none;
}
.pix-product-item .sevenwears-image-sale .pix-sale-badge,
.sevenwears-image-sale .onsale {
    display: inline-flex;
    position: static;
    margin: 0 !important;
    min-width: 0;
    min-height: 0;
    padding: 6px 12px !important;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.4;
    background: #fff0ef !important;
    color: #b83229 !important;
    box-shadow: 0 2px 8px rgba(9, 42, 72, .12);
}
.pix-pagination .sevenwears-page-arrow {
    font: 700 27px/1 sans-serif;
    color: #092a48;
}
.rtl .pix-pagination :is(.prev, .next) svg {
    --pf-icon-stroke-width: 2.5;
    --pf-icon-color: #092a48;
}
.rtl .pix-pagination .prev svg[data-name$="arrow-left-2"],
.rtl .pix-pagination .next svg[data-name$="arrow-right-2"] {
    transform: rotate(180deg);
}
/* WooCommerce's content formatting adds an empty duplicate overlay link.
 * Keep it out of layout; the populated overlay remains the card link. */
#pix-page-footer .card:has(> .pix-img-overlay) > p:has(> .pix-img-overlay:empty),
#pix-page-footer .card > .pix-img-overlay:empty { display: none; }
#pix-page-footer .card:has(> .pix-img-overlay) > .pix-img-overlay > p:empty { display: none; }

@media (min-width: 769px) {
    .rtl.woocommerce-checkout #customer_details {
        display: flex;
        flex-direction: row;
        direction: rtl;
        gap: 4%;
    }
    .rtl.woocommerce-checkout #customer_details::before,
    .rtl.woocommerce-checkout #customer_details::after { display: none; }
    .rtl.woocommerce-checkout #customer_details > .col-1,
    .rtl.woocommerce-checkout #customer_details > .col-2 {
        float: none;
        width: 48%;
        max-width: 48%;
        flex: 0 0 48%;
    }
}
.woocommerce-checkout #customer_details .select2-container .select2-selection--single {
    min-height: 46px;
    height: auto;
    display: flex;
    align-items: center;
    padding-block: 8px;
}
.woocommerce-checkout #customer_details .select2-selection--single .select2-selection__rendered {
    line-height: 28px;
    padding-inline: 12px 30px;
}
.woocommerce-checkout #customer_details .select2-selection--single .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%);
}

/* Match the theme's soft white form controls without changing APF behavior. */
.single-product .summary .wapf :is(select, textarea, input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"]) {
    min-height: 46px;
    width: 100%;
    padding: 10px 14px;
    background-color: #fff;
    border: 1px solid #eef0f2;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .08);
    color: inherit;
    font: inherit;
    line-height: 1.5;
}
.single-product .summary .wapf :is(select, textarea, input):focus-visible {
    outline: 2px solid #6a99cd;
    outline-offset: 2px;
}
.single-product .summary .wapf select.wapf-input { padding-inline-end: 32px; }
.single-product .summary .wapf .wapf-swatch--text {
    min-height: 46px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #eef0f2;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .08);
    color: inherit;
}
.single-product .summary .wapf .wapf-swatch--text.wapf-checked {
    background: #edf2f6;
    border-color: #6a99cd;
    color: #092a48;
}
.single-product .summary .wapf .wapf-field-label { margin-bottom: 10px; }
.single-product .summary .wapf .wapf-field-description { margin-block: 8px 12px; }
.single-product .summary #yith-wapo-addon-1 .addon-header { margin-bottom: 16px; }
.single-product .summary #yith-wapo-addon-1 .checkbox-button-container {
    display: flex;
    align-items: center;
    gap: 8px;
}
.single-product .summary #yith-wapo-addon-1 .yith-wapo-addon-label { margin: 0; }
.sevenwears-product-tags {
    margin-top: 22px;
    padding-block: 16px;
    border-block: 1px solid rgba(9, 42, 72, .1);
}
.sevenwears-product-tags > summary {
    cursor: pointer;
    color: #29475e;
    font-weight: 700;
    font-size: 14px;
}
.sevenwears-product-tags > summary:focus-visible { outline: 2px solid #6a99cd; outline-offset: 4px; }
.sevenwears-tag-count { font-weight: 400; }
.sevenwears-tag-links { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 16px; }
.sevenwears-tag-links a { padding: 4px 8px; background: #edf2f6; color: #29475e; border-radius: 4px; font-size: 12px; }
.sevenwears-product-share { padding-top: 16px; }
.sevenwears-product-share a { gap: 8px; }
.sevenwears-product-share svg { width: 20px; height: 20px; flex-shrink: 0; }
.product_meta .sevenwears-sku {
    display: flex;
    align-items: baseline;
    gap: 6px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.7;
}
.product_meta .sevenwears-sku > span { font-size: inherit; font-weight: inherit; white-space: nowrap; }
.sevenwears-catalog-toolbar { display: flow-root; }
/* WooCommerce narrows container gutters to 10px; WPBakery footer rows need 15px. */
@media (max-width: 768px) {
    .woocommerce-page #pix-page-footer > .container { padding-inline: 15px; }
    .woocommerce-page #secondary .textwidget > .vc_row { margin-inline: 0; }
    .tax-product_cat #content { padding-top: 24px !important; }
    .tax-product_cat #content > .pix-main-intro-placeholder {
        height: 0 !important;
        min-height: 0 !important;
    }
    .tax-product_cat .woocommerce-products-header__title { font-weight: 700; }
    .woocommerce .woocommerce-pagination.pix-pagination { flex-wrap: wrap; row-gap: 8px; }
}
.rtl.woocommerce-account .woocommerce form,
.rtl.woocommerce-account .woocommerce form :is(label, p, input, textarea, select) {
    direction: rtl;
    text-align: right;
}
.rtl.woocommerce-account .woocommerce .form-check:has(> #rememberme) {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-inline: 0;
}
.rtl.woocommerce-account .woocommerce #rememberme {
    position: static !important;
    appearance: auto;
    opacity: 1;
    transform: none;
    width: 16px;
    height: 16px;
    min-height: 0;
    flex: 0 0 16px;
    margin: 0;
    accent-color: #6a99cd;
}
.rtl.woocommerce-account .woocommerce label[for="rememberme"] {
    width: auto !important;
    padding: 0;
    margin: 0;
}
.rtl.woocommerce-account .woocommerce label[for="rememberme"]::before,
.rtl.woocommerce-account .woocommerce label[for="rememberme"]::after { display: none; }
@media (max-width: 768px) {
    .sevenwears-catalog-toolbar { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
    .sevenwears-catalog-toolbar form.woocommerce-ordering {
        display: block !important;
        width: 100% !important;
        float: none !important;
        clear: both !important;
        margin: 0 !important;
        order: 2;
    }
    .sevenwears-catalog-toolbar form.ptf-filter-wrapper { order: 1; }
    .sevenwears-catalog-toolbar .pix-shop-dropdown { width: 100%; max-width: 100%; }
    .sevenwears-catalog-toolbar .woocommerce-result-count {
        order: 3;
        float: none !important;
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right;
    }
    .single-product .summary form.cart,
    .single-product .summary .woocommerce-variation-add-to-cart {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        direction: rtl;
        column-gap: 8px;
    }
    .single-product .summary form.cart > :not(.quantity):not(.single_add_to_cart_button):not(input[type="hidden"]),
    .single-product .summary .woocommerce-variation-add-to-cart > :not(.quantity):not(.single_add_to_cart_button):not(input[type="hidden"]) {
        flex-basis: 100%;
        width: 100%;
    }
    .single-product .summary form.cart .quantity,
    .single-product .summary form.cart .single_add_to_cart_button {
        float: none !important;
        margin: 20px 0 24px !important;
    }
    .single-product div.product .summary { margin-bottom: 0 !important; }
    .single-product div.product .woocommerce-tabs { margin-top: 12px !important; }
    .single-product div.product .woocommerce-tabs > .nav {
        margin-top: 0 !important;
        margin-bottom: 24px !important;
        padding-inline: 0;
    }
}

/* Defeat PixFort's more specific checked/hover pseudo-checkbox selectors too. */
.rtl.woocommerce-account .woocommerce .form-check > #rememberme + label::before,
.rtl.woocommerce-account .woocommerce .form-check > #rememberme + label::after {
    content: none !important;
    display: none !important;
}
.rtl.woocommerce-account .woocommerce .form-check > #rememberme {
    appearance: auto !important;
    background: none !important;
    border-radius: 2px;
    transform: none !important;
    transition: none;
    cursor: pointer;
}
.rtl.woocommerce-account .woocommerce .form-check > #rememberme + label {
    padding: 0 !important;
    cursor: pointer;
}
@media (max-width: 768px) {
    /* Inline-flex baseline alignment creates an extra 17px line above the hero. */
    .home .vc_row:has(#SR7_25_1) > .wpb_column { vertical-align: top; }
}

/* PixFort title icons use a physical right margin, which closes the RTL gap. */
.rtl #content .pix-acc-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: start;
}
.rtl #content .pix-acc-heading > .pix-acc-title-icon {
    flex-shrink: 0;
    margin: 0 !important;
}
/* Keep contact social links with their heading, apart from the SMS row. */
.page-id-14747 #content .vc_custom_1610571092309 {
    padding-top: 0 !important;
}
.page-id-14747 #content .vc_custom_1792739865505 {
    padding-bottom: 48px !important;
}
/* Keep the intro wave, without its translucent gray outlines on mobile. */
@media (max-width: 1024px) {
    .pix-main-intro .pix-bottom-divider :is(.pix-divider-layer-2, .pix-divider-layer-3) {
        display: none;
    }
}
/* Persian blog-card copy follows the reading direction on every card layout. */
.rtl .pix-post-meta-element .entry-title,
.rtl .pix-post-meta-element .pix-blog-post-text,
.rtl .pix-post-meta-element .pix-post-meta-categories {
    direction: rtl;
    text-align: right !important;
}

/* Panels already animate their height: nested entrance delays leave blank space. */
.accordion-card .card-body [data-anim-type],
.accordion-card .card-body .animate-in,
.accordion-card .card-body .pix-animate {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
    transition-delay: 0s !important;
}

/* Builder text columns in Persian articles need an RTL default of their own. */
.rtl.single-post .entry-content,
.rtl.single-post .entry-content .wpb_text_column:not(.text-center):not(.has-text-align-center),
.rtl.single-post .pix-post-title:not(.text-center) {
    direction: rtl;
    text-align: right;
}

/* Decorative scene images may extend past static pages, never the viewport. */
.rtl.page #content {
    overflow-x: clip;
    overflow-y: visible;
}
