/* Femilio CSS entry point – do not add styles here.
   Edit module files in assets/css/* and plugins/*.
   Order matters to preserve cascade layer intent. */

/*@layer femilio.tokens, femilio.base, femilio.layout, femilio.components, femilio.utilities, femilio.overrides, femilio.plugins;*/

/*@layer femilio.tokens {*/

:root {
        /* === Astra base palette (authoritative in child theme) === */
        --ast-global-color-0: #f97272; /* brand / danger */
        --ast-global-color-1: #fff1e5; /* subtle bg */
        --ast-global-color-2: #414141; /* text-muted */
        --ast-global-color-3: #333333; /* text */
        --ast-global-color-4: #f5f5f5; /* surface-2 */
        --ast-global-color-5: #ffffff; /* surface-1 */
        --ast-global-color-6: #4e9d6d; /* accent / success */
        --ast-global-color-7: #000000; /* ink */
        --ast-global-color-8: #ffe3cc; /* menu bg */

        /* === Femilio aliases — prefer these in new CSS === */
        --fm-color-brand:       var(--ast-global-color-0);
        --fm-color-accent:      var(--ast-global-color-6);
        --fm-color-text:        var(--ast-global-color-3);
        --fm-color-text-muted:  var(--ast-global-color-2);
        --fm-surface-1:         var(--ast-global-color-5);
        --fm-surface-2:         var(--ast-global-color-4);
        --fm-bg:                var(--ast-global-color-5);
        --fm-ink:               var(--ast-global-color-7);

        --fm-page-background: #fff9f3;

        /* Navigation */
        --fm-menu-bg:           var(--ast-global-color-8);
        --fm-menu-bg-hover:     var(--ast-global-color-1);

        /* Status helpers */
        --fm-success:           var(--ast-global-color-6);
        --fm-danger:            var(--ast-global-color-0);

        /* Typography aliases */
        --fm-font-sans: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        --fm-font-text: "Lexend", var(--fm-font-sans);
        --fm-font-heading: "Lexend", var(--fm-font-sans);
        --fm-font-logo: "Alkaline", var(--fm-font-sans);
        --fm-font-alkaline: "Alkaline", var(--fm-font-sans);

        /* === Compatibility vars from original Additional CSS (do not remove) === */
        --menu-bg-color: #fff4ed;
        --menu-hover-bg-color: #ffe3d4;
        --text-color-dark: #333;
        --button-bg-color: #4e9d6d;
        --footer-text-color: #414141;
        --footer-heading-font: "Alkaline";

        /* Legacy global-color aliases used in rules */
        --global-color-1: var(--ast-global-color-1);
        --global-color-2: var(--ast-global-color-2);
        --global-color-3: var(--ast-global-color-3);
        --global-color-4: var(--ast-global-color-4);
        --global-color-5: var(--ast-global-color-5);
        --global-color-6: var(--ast-global-color-6);
    }

/*}*/

/* Responsive viewport aliases
 * Keep as single source of truth for breakpoints.
 */

/* Down (max-width) */

/* Up (min-width) */

/* Micro down (compat) — keep current behavior from build */

/*@layer femilio.base {*/

html {
    box-sizing: border-box;
}

*, *::before, *::after {
    box-sizing: inherit;
}

body {
    background: #fff9f3;
    background: var(--fm-page-background, #fff9f3);
    color: #333333;
    color: var(--fm-color-text);
    font-family: "Lexend", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-family: var(--fm-font-text);
    /*font-size: var(--fm-font-size);*/
    /*line-height: var(--fm-line);*/
    text-rendering: optimizeLegibility;
}

h2, .entry-content h2 {
    font-size: 2.33rem;
}

h3, .entry-content h3 {
    font-size: 1.5rem;
}

h4, .entry-content h4 {
    font-size: 1.3rem;
}

h6, .entry-content h6 {
    font-size: .8rem;
}

.entry-content.clear {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}

/*}*/

/*@layer femilio.layout {*/

/* Site wrapper width (scope na Astra wrapper) */

.site {
        /*max-width: 1200px;*/
        /*margin-inline: auto;*/
        /*padding-inline: var(--fm-space-2);*/
    }

/* Header nav spacing (príklad) */

nav.site-navigation {
        /*gap: var(--fm-space-2);*/
    }

/* Biele karty pre vybrané sekcie */

main > article .custom-blog-posts article.uagb-post__inner-wrap,
         main > .ast-article-single.tag-blog,
         main .ast-woocommerce-container,
         .woocommerce.ast-separate-container .ast-woocommerce-container {
        background-color: #fff;
        padding: 64px !important;
        border-radius: 18px;
        box-shadow: 0 1px 8px 0 rgba(250,227,204,0.21176) !important;
    }

main .ast-woocommerce-container {
        padding: 48px !important;
    }

@media (max-width: 768px) {
        .wp-block-uagb-container.uagb-block-50bd9076 {
            padding: 0 10px 10px 10px;
        }
    }

.ast-separate-container #primary,
.ast-separate-container.ast-left-sidebar #primary,
.ast-separate-container.ast-right-sidebar #primary {
    margin: 2rem 0;
}

/*}*/

/*@layer femilio.components {*/

/* Product card */

body.woocommerce ul.products li.product {
    /*border-radius: var(--fm-radius);*/
    /*box-shadow: var(--fm-shadow-1);*/
    overflow: hidden;
    background: #fff;
}

body.woocommerce ul.products li.product a img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}

/* Buttons */

.button, .wp-block-button__link, .woocommerce a.button, .woocommerce button.button {
    /*border-radius: var(--fm-radius);*/
}

/* Header / Primary menu (Astra) */

.main-header-bar-navigation .site-navigation {
    background-color: transparent;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    padding: 8px;
}

.main-header-bar-navigation .site-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

.main-header-bar-navigation .site-navigation li {
    position: relative;
    line-height: 42px !important;
}

.main-header-bar-navigation .site-navigation a {
    -webkit-text-decoration: none;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    color: #333;
    color: var(--text-color-dark);
    padding: 0 28px !important;
    background-color: transparent;
    border-radius: 50px;
    transition: background-color .3s ease, color .3s ease;
}

.main-header-bar-navigation .site-navigation a:hover,
.main-header-bar-navigation .site-navigation .current-menu-item a,
.main-header-bar-navigation .site-navigation a:focus {
    background-color: #ffe3d4;
    background-color: var(--menu-hover-bg-color);
    outline: none;
}

/* Mobile menu icon */

#ast-mobile-header button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal {
    background-color: #ffe3cc;
    background-color: var(--ast-global-color-8);
    border-radius: 4px;
    width: 48px;
    height: 48px;
    justify-content: center;
}

#ast-mobile-header button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal svg.ast-mobile-svg {
    fill: #414141;
    fill: var(--ast-global-color-2);
    width: 18px;
    height: 18px;
}

/* Custom product card (site component) */

.custom-product-card {
    width: 264px;
    height: 400px;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    margin: 0;
    flex: 0 0 auto;
}

.ast-container .ast-woocommerce-container .custom-product-card {
    width: auto;
    height: auto;
}

@media (max-width: 976px) {
    .custom-product-card {
        /*width: 200px;*/
        /*height: 300px;*/
    }
}

.custom-product-image {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}

.custom-product-image img {
    width: auto;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

.custom-product-link {
    -webkit-text-decoration: none;
    text-decoration: none;
    color: inherit;
}

.custom-product-link:hover .custom-product-image img {
    opacity: .9;
}

.custom-product-link:hover h2 {
    color: #0073e6;
}

.custom-product-info {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 18px;
    padding: 15px;
    backdrop-filter: blur(10px);
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    max-height: 88px;
    grid-gap: 8px;
    gap: 8px;
    opacity: 1;
    transition: max-height .4s ease;
}

.custom-product-card.show-size-selector .custom-product-link {
    pointer-events: none;
}

.custom-product-card.show-size-selector .custom-product-info {
    max-height: 271px;
    height: 271px;
}

.custom-product-card .product-size-selector {
    opacity: 0;
    display: flex;
    transition: opacity 0 ease;
}

.custom-product-card.show-size-selector .product-size-selector {
    opacity: 1;
    transition: opacity .4s ease-in .1s;
}

@media (max-width: 976px) {
    .custom-product-card .custom-product-info {
        padding: 12px;
        bottom: 6px;
        left: 6px;
        right: 6px;
        max-height: 100px;
    }
}

@media (max-width: 768px) {
    .custom-product-card .custom-product-info {
        padding: 10px;
        bottom: 3px;
        left: 3px;
        right: 3px;
        /*max-height: 68px;*/
    }
}

.custom-product-info .custom-product-detail {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}

.custom-product-info .custom-product-detail h2 {
    font-family: "Lexend", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-family: var(--fm-font-heading);
    font-size: .8rem;
    margin: 0;
    color: #333333;
    color: var(--ast-global-color-3);
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 154px;
}

@media (max-width: 1300px) {
    .custom-product-info .custom-product-detail h2 {
        width: 132px;
    }
}

@media (max-width: 976px) {
    .custom-product-info .custom-product-detail h2 {
        width: 112px;
    }
}

.custom-product-info .price {
    font-size: .83rem;
    font-weight: 400;
    color: #333333;
    color: var(--ast-global-color-3);
    margin: 4px 0 0;
    text-align: left;
}

.custom-cart-icon i.fas {
    font-size: .8rem;
    color: #414141;
    color: var(--ast-global-color-2);
}

@media (max-width: 976px) {
    .custom-cart-icon i.fas {
        font-size: .7rem;
    }
}

.custom-product-card .custom-product-info .custom-cart-icon a.button {
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f5f5f5;
    background-color: var(--ast-global-color-4);
}

.custom-product-card .custom-product-info .custom-cart-icon a.button:hover {
    background: #4e9d6d;
    background: var(--ast-global-color-6);
}

.custom-product-card .custom-product-info .custom-cart-icon a.button:hover i.fas {
    color: #fff;
}

.custom-cart-icon a.added_to_cart.wc-forward {
    display: none;
}

.custom-cart-icon a.add_to_cart_button.button {
    background: #ffffff;
    background: var(--ast-global-color-5);
    color: #414141;
    color: var(--ast-global-color-2);
}

.custom-cart-icon a.add_to_cart_button.button.added,
.custom-cart-icon a.add_to_cart_button.button:hover {
    background: #4e9d6d;
    background: var(--button-bg-color);
    color: #fff;
}

.custom-cart-icon i.fas.fa-spinner {
    font-size: 1rem;
    margin-left: 2px;
}

/* Footer */

footer .site-above-footer-wrap[data-section="section-above-footer-builder"] .ast-builder-grid-row {
    align-items: flex-start;
    padding-top: 64px;
}

footer .widget.widget_block.widget_media_image {
    margin-bottom: 18px;
}

footer h6.wp-block-heading.footer-logo-text {
    font-family: "Alkaline", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-family: var(--fm-font-logo);
    font-size: 18px;
    font-weight: 500;
}

footer div.footer-contact h2,
footer h2.widget-title,
footer .custom-footer-subscribe-title > h2 {
    font-family: "Lexend", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-family: var(--fm-font-heading) !important;
    font-size: .8rem !important;
    font-weight: 600 !important;
}

footer div.footer-contact h2 {
    margin-bottom: 0;
}

footer ul#menu-footer-menu.menu li.menu-item a,
footer div.footer-contact p {
    color: #414141;
    color: var(--footer-text-color);
    font-weight: 500;
    font-size: .8rem;
}

footer div.footer-contact {
    gap: 0;
}

footer div.footer-email-input input {
    font-size: .8rem;
    border-radius: 8px !important;
    font-weight: 400;
}

footer div.ast-footer-copyright > p {
    font-weight: 400;
    font-size: .8rem;
}

/* Blog – listing & single */

#main .custom-blog-posts div.uagb-post__image {
    width: auto;
}

.custom-blog-posts img {
    width: 400px !important;
    height: 300px !important;
    border-radius: 8px !important;
    -o-object-fit: cover;
       object-fit: cover;
}

.custom-blog-posts.uagb-block-7f88c91f.is-grid article.uagb-post__inner-wrap {
    padding-left: 0;
    margin-left: -20px;
}

@media (max-width: 768px) {
    .custom-blog-posts.uagb-block-7f88c91f.wp-block-uagb-post-grid article {
        display: flex;
        flex-flow: column;
        padding: 0;
    }

    .custom-blog-posts.uagb-block-7f88c91f.wp-block-uagb-post-grid .uag-post-grid-wrapper {
        padding: 0;
        width: 100%;
    }

    .custom-blog-posts img {
        width: 100% !important;
    }
}

article.post header div.post-thumb-img-content.post-thumb img {
    width: 100% !important;
    height: 400px !important;
    border-radius: 8px !important;
    -o-object-fit: cover;
       object-fit: cover;
}

article.post header h1 {
    font-family: "Lexend", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-family: var(--fm-font-heading);
    font-weight: 700;
}

article.post header div.entry-meta {
    display: none;
}

article.post div.entry-content {
    padding: 0;
}

.single .post-navigation a {
    color: #333333;
    color: var(--ast-global-color-3);
    font-weight: 600;
    font-size: 1rem;
}

/* Bezpečnejší fix ľavého odsadenia prvého prvku (zrušené !important + užšie scope) */

.site-main .is-layout-flow > :first-child {
    margin-left: 0;
}

/* Benefits o satku */

.custom-block-benefits {
}

.custom-block-benefits > ul > li div.wp-block-group {
    height: auto;
    min-height: 460px;
    align-content: space-around;
}

.custom-block-benefits > ul > li div.wp-block-group a.wp-block-read-more img {
    display: inline-block;
    padding-bottom: 2px;
    padding-left: 1px;
}

@media (max-width: 976px) {
    .custom-block-benefits > ul {
        display: flex;
        overflow-x: auto;
        scroll-behavior: smooth;
        padding-bottom: 24px;
    }

    .custom-block-benefits > ul > li {
        flex-shrink: 0;
        width: 370px;
    }
}

@media (max-width: 480px) {
    .custom-block-benefits {
        margin-left: -8px !important;
        width: 104% !important;
    }

    .custom-block-benefits > ul {
        gap: 16px;
    }

    .custom-block-benefits > ul > li {
        width: 300px;
    }

    .custom-block-benefits > ul > li div.wp-block-group {
        padding: 24px !important;
    }

    .custom-block-benefits > ul > li div.wp-block-group .offset-image {
        display: none;
    }
}

/* Košík (Woo Blocks) – názov položky */

.wc-block-cart-item__product .wc-block-components-product-name{
    color: #414141;
    color: var(--footer-text-color);
    font-weight: 700;
}

/* PLP / Related – responsívne doplnky (kopírujú pôvodné “hacky”) */

@media (max-width: 1273px){
    body.woocommerce-shop .ast-woocommerce-container .custom-product-card,
    section.related.products .custom-product-card{
        width: 100%;
        height: 100%;
        grid-template-rows: auto;
        grid-auto-rows: 1fr;
    }
}

/*@media (--fm-1100-down){*/

/*    body.woocommerce-shop .ast-woocommerce-container .custom-product-card .custom-product-detail h2,*/

/*    section.related.products .custom-product-card .custom-product-detail h2{*/

/*        width: 92px;*/

/*    }*/

/*}*/

@media (max-width: 921px){
    section.related.products ul.products.columns-4{ grid-auto-rows: 1fr; }
    /*section.related.products .custom-product-card .custom-product-detail h2{ width: 76px; }*/
}

@media (max-width: 718px){
    body.woocommerce-shop .ast-archive-entry-banner p{ display: none; }
}

@media (max-width: 530px){
    body.woocommerce-shop .ast-woocommerce-container select.orderby{ width: 100%; }
    body.woocommerce-shop .ast-woocommerce-container .products.columns-4,
    section.related.products ul.products.columns-4{
        grid-column-gap: 12px;
        grid-row-gap: 22px;
    }
}

@media (max-width: 412px){
    body.woocommerce-shop .ast-woocommerce-container .custom-product-card .custom-product-info,
    section.related.products ul.products.columns-4 .custom-product-card .custom-product-info{
        left: 0; right: 0; bottom: 0; border-radius: 0;
    }
    body.woocommerce-shop .ast-woocommerce-container .custom-product-card .custom-product-detail h2{
        /*width: 75px; */
        font-size: .76rem;
    }
    body.woocommerce-shop .ast-woocommerce-container .custom-product-card .custom-product-detail span.price{
        font-size: .76rem;
    }
    .custom-product-card.show-size-selector .custom-product-info{
        padding-top: 48px; overflow-y: auto;
    }
}

/* Výber veľkostí: rozloženie skupiny veľkostí */

.custom-product-card.show-size-selector .product-size-selector .sizes{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

/* Accordion (Shortcodes Ultimate) – drobné typografické ekvivalenty */

.custom-product-accordion.su-accordion .su-spoiler .su-spoiler-title{ font-size: 1.1rem; }

.custom-product-accordion.su-accordion .su-spoiler .su-spoiler-content{
    margin-left: 0; padding-left: 0;
}

/*}*/

/*@layer femilio.utilities {*/

/* fade-in used across blocks */

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.u-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
    white-space: nowrap;
}

/*}*/

/*@layer femilio.overrides {*/

/*    .wp-block-group {*/

/*        margin-block: var(--fm-space-3);*/

/*    }*/

/*}*/

/* Plugins (scoped overrides) */

/*@layer femilio.plugins {*/

/* Normalize product grid image margin (replacement for old style.css reset) */

body.woocommerce, body.woocommerce-page ul.products li.product a img {
    margin: 0; /* no !important needed due to cascade layer */
}

/* PDP gallery images — prevent distortion */

body.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
}

/* Checkout forms — larger tap targets on mobile */

@media (max-width: 480px) {
    body.woocommerce-checkout input,
    body.woocommerce-checkout select {
        min-height: 44px;
    }
}

/* Header cart bubble */

.ast-site-header-cart i.astra-icon:after {
    line-height: 19px !important;
    padding: 0 !important;
    background-color: #4e9d6d !important;
    background-color: var(--button-bg-color) !important;
    color: #fff !important;
}

/* Product grids / Woo Blocks */

.wc-block-grid__products {
    gap: 20px !important;
}

.wc-block-components-product-metadata {
    display: none;
}

button.wc-block-cart-item__remove-link {
    font-size: .8rem !important;
    color: #f97272 !important;
    color: var(--ast-global-color-0) !important;
}

.is-large.wc-block-cart .wc-block-cart-items td {
    vertical-align: middle !important;
    padding: 18px 12px 18px 0 !important;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
    border-radius: 8px;
}

/* Mini-cart (Astra drawer) */

.astra-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content ul li {
    display: flex;
}

.astra-cart-drawer .astra-cart-drawer-header {
    font-size: 22px;
    font-weight: 600;
    border: 0;
}

.astra-cart-drawer .astra-cart-drawer-close {
    top: 1.5em;
}

.woocommerce-js ul.product_list_widget li img {
    position: relative;
    left: 0;
    width: 56px !important;
    height: 56px !important;
    border-radius: 4px !important;
    top: 50%;
    -o-object-fit: cover;
       object-fit: cover;
}

.woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__total {
    align-items: center;
}

.woocommerce-js .astra-cart-drawer .woocommerce-mini-cart__total > strong,
.woocommerce-js .astra-cart-drawer .woocommerce-mini-cart__total > span.amount {
    font-weight: 600;
    font-size: 16px;
}

.woocommerce-js .astra-cart-drawer .woocommerce-mini-cart__total > span.amount {
    font-size: 22px;
}

.astra-cart-drawer .widget_shopping_cart_content a:not(.button) {
    color: #414141;
    color: var(--global-color-2);
    font-size: 15px;
}

.astra-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content ul li {
    border-bottom-color: #f5f5f5;
    border-bottom-color: var(--global-color-4);
    padding: 1.2em 0 1.2em 1.2em;
}

.astra-cart-drawer-content span.quantity {
    font-size: 15px;
    font-weight: 700;
}

/* Cart page layout box */

.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block {
    font-size: .9rem;
    font-weight: normal;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    background-color: #fff !important;
}

.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large {
    background: #fff;
    padding: 28px;
    border-radius: 8px;
}

.wc-block-cart__submit-container a.wc-block-components-button {
    color: #fff;
    background-color: #4e9d6d;
    background-color: var(--button-bg-color);
}

/* „Najnovšie kúsky“ vodorovne scrollovateľné */

div.wc-block-product-new ul.wc-block-grid__products {
    display: flex;                /* force horizontal flow */
    flex-wrap: nowrap;            /* single row */
    overflow-x: auto;                /* show horizontal scrollbar only when overflowing */
    overflow-y: hidden;           /* prevent vertical jiggle */
    -webkit-overflow-scrolling: touch; /* smooth inertial scroll on iOS */
    scrollbar-gutter: stable both-edges; /* avoid layout shift when scrollbar appears */
    gap: 20px;                    /* preserve spacing between items */
    padding-bottom: 24px;          /* room for scrollbar so content isn't clipped */
    /* Edge-bleed so the first card can sit flush with the container edge */
    padding-left: 0;
    padding-left: var(--fm-scroll-bleed, 0);
    margin-left: calc(0 * -1);
    margin-right: calc(0 * -1);
    margin-left: calc(var(--fm-scroll-bleed, 0) * -1);
    margin-right: calc(var(--fm-scroll-bleed, 0) * -1);
    list-style: none;             /* remove default UL padding */
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-right: 0;
    padding-right: var(--fm-scroll-bleed, 0);
}

@media (max-width: 480px) {
    div.wc-block-product-new.wc-block-grid ul.wc-block-grid__products {
        display: flex;
        padding-left: 0;
        /*padding-right: 0;*/
    }
}

/* Default bleed matches common container paddings; adjust per breakpoint */

div.wc-block-product-new { --fm-scroll-bleed: 24px; }

@media (max-width: 530px)  { div.wc-block-product-new { --fm-scroll-bleed: 16px; } }

@media (max-width: 412px)  { div.wc-block-product-new { --fm-scroll-bleed: 8px; } }

/* Horizontal scroller: item sizing & snapping */

div.wc-block-product-new ul.wc-block-grid__products > li {
    flex: 0 0 auto;               /* don't shrink; width equals intrinsic/card width */
    scroll-snap-align: start;     /* optional: align each card to viewport edge */
}

div.wc-block-product-new ul.wc-block-grid__products {
    scroll-snap-type: x proximity; /* optional: gentle snapping while swiping */
}

body.woocommerce-shop .woocommerce-ordering {
    margin-bottom: 16px;

}

/* Shop – toolbar, result count */

body.woocommerce-shop .woocommerce-ordering select.orderby {
    background: #f5f5f5 !important;
    background: var(--ast-global-color-4) !important;
    color: #414141;
    color: var(--ast-global-color-2);
    padding: 16px 0 16px 16px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin-right: 0px !important;
    width: 264px;
    font-size: .8rem;
    background-position: 92% 50%;
}

body.woocommerce-shop .ast-woocommerce-container {
    padding: 2.5rem;
}

.woocommerce .woocommerce-result-count, .woocommerce-page .woocommerce-result-count {
    font-weight: 600;
    font-size: .8rem;
    color: #414141;
    color: var(--ast-global-color-2);
}

@media (max-width: 758px) {
    body.woocommerce-shop .ast-woocommerce-container {
        padding: 1.5rem;
    }
}

@media (max-width: 530px) {
    body.woocommerce-shop .ast-woocommerce-container {
        padding: 1rem;
    }
}

@media (max-width: 412px) {
    body.woocommerce-shop .ast-woocommerce-container {
        padding: .5rem;
    }
}

/* Woo notices */

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error {
    background-color: #fff1e5;
    background-color: var(--ast-global-color-1);
    border-radius: 12px;
    border-top: 0;
    justify-content: flex-start;
    flex-direction: row;
    font-weight: 600;
    margin: 0 0 24px;
    width: 96%;
    font-size: .9rem;
}

.woocommerce-message::before, .woocommerce-info::before {
    color: #4e9d6d;
    color: var(--ast-global-color-6);
}

.woocommerce-error li, .woocommerce-info li, .woocommerce-message li {
    display: flex;
}

.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
    text-align: center;
    height: 50px;
    width: 220px;
    margin-left: 48px;
    padding: 18px 0 6px 0;
}

/* PDP – spoločné */

main .ast-woocommerce-container {
    background: #ffffff;
    background: var(--ast-global-color-5);
    padding: 48px;
    border-radius: 18px;
}

main .ast-woocommerce-container .summary .woocommerce-breadcrumb {
    font-weight: 500;
    font-size: .8rem;
}

main .ast-woocommerce-container .summary h1.product_title {
    font-family: "Lexend", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-family: var(--fm-font-heading);
    font-size: 1.2rem;
    font-weight: 600;
}

.woocommerce-js div.product .ast-stock-detail .stock {
    font-weight: 600;
    font-size: .9rem;
    color: #4e9d6d;
    color: var(--ast-global-color-6);
}

main .ast-woocommerce-container .summary form.cart > button,
main .ast-woocommerce-container button.button {
    line-height: 1.4rem;
    background: #4e9d6d;
    background: var(--ast-global-color-6);
    color: #fff;
    width: auto !important;
    padding: 12px 18px !important;
}

main .ast-woocommerce-container .product form.cart .quantity {
    display: none !important;
}

main .ast-woocommerce-container .summary form.cart > .quantity > input{
    background-color: white; /* ← FIX ; */
    border: 2px solid white;
    border-radius: 8px;
    font-weight: normal;
}

/* Related grid narrow columns (kept as-is) */

.woocommerce section.related.products ul.products:not(.elementor-grid),
.woocommerce-page section.related.products ul.products:not(.elementor-grid) {
    grid-template-columns: repeat(4, 0fr);
}

main .ast-woocommerce-container .summary .woocommerce-breadcrumb {
    display: block;
}

.product-template-default.single-product .ast-article-single .woocommerce-tabs h1 {
    font-family: 'Lexend' !important;
    font-size: 1.6rem !important;
    font-weight: normal;
}

@media (max-width: 976px) {

body.product-template-default.single-product main .ast-woocommerce-container {
        padding: 1rem !important;
}
    }

/* Apple Pay display workaround */

.wcf-embed-checkout-form.wcf-embed-checkout-form-modern-checkout .woocommerce-checkout #payment ul.payment_methods > li.payment_method_stripe_applepay:not(.woocommerce-info) {
    display: none;
}

.woocommerce-js div.product form.cart {
    position: relative;
}

.woocommerce-js div.product .product_meta {
    display: none;
}

@media (max-width: 480px) {

body.product-template-default.single-product form.cart .button.single_add_to_cart_button {
        width: 100% !important;
}
    }

.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-error {
    background-color: rgba(78, 157, 109, 0.2);
    border-radius: 12px;
    border-top: 0;
    justify-content: flex-start;
    flex-direction: row;
    font-weight: 600;
    margin: 0 0 24px;
    width: 96%;
    font-size: 0.9rem;
}

.woocommerce-message::before, .woocommerce-info::before {
    color: #4e9d6d;
    color: var(--ast-global-color-6);
}

.woocommerce-error li, .woocommerce-info li, .woocommerce-message li {
    display: flex;
}

.woocommerce .woocommerce-error .button, .woocommerce .woocommerce-info .button, .woocommerce .woocommerce-message .button, .woocommerce-page .woocommerce-error .button, .woocommerce-page .woocommerce-info .button, .woocommerce-page .woocommerce-message .button {
    text-align: center;
    height: 50px;
    width: 220px;
    margin-left: 48px;
    padding: 18px 0 6px 0;
}

.wpr-checkout-notice .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-message {
    width: 100%;
    margin-bottom: 16px !important;
    font-weight: 600;
    flex-direction: row !important;
}

@media (max-width: 976px) {
        .wpr-checkout-notice .woocommerce-message  > a.button,.woocommerce-notices-wrapper .woocommerce-message  > a.button {
            display: none;
        }
    }

@media (max-width: 976px) {

main > article .custom-blog-posts article.uagb-post__inner-wrap, main > .ast-article-single.tag-blog, main .ast-woocommerce-container, .woocommerce.ast-separate-container .ast-woocommerce-container {
        padding: 2.25rem !important;
}
    }

.woocommerce-Price-amount {
    white-space: nowrap;
}

/*}*/

/*@layer femilio.plugins {*/

/* Hero titles */

.uagb-ifb-title-wrap h1.uagb-ifb-title-prefix {
    line-height: 1;
}

.uagb-ifb-title-wrap h4.uagb-ifb-title {
    line-height: 1.2em;
    font-weight: 500;
    font-size: 1.1em;
    padding-top: 8px;
}

@media (max-width: 768px) {
    .wp-block-uagb-container.uagb-block-474c825a {
        padding: 24px !important;
    }

    .wp-block-uagb-container.uagb-block-cd9e7e16 {
        padding: 64px 32px !important;
    }

    .uagb-ifb-title-wrap h1.uagb-ifb-title-prefix {
        font-size: 2.5rem;
    }

    .wp-block-uagb-container.uagb-block-cd9e7e16 {
        padding: 48px 16px !important;
    }

    .uagb-ifb-title-wrap h4.uagb-ifb-title {
        font-size: 1em;
        padding-top: 0px;
    }

    .uagb-block-fd845007.wp-block-uagb-info-box .uagb-ifb-title {
        margin-bottom: 20px;
    }

}

div.hero-benefits div.uagb-container-inner-blocks-wrap {
    margin-left: 0;
}

div.hero-benefits .uagb-ifb-image-content img {
    opacity: .83;
}

/* UAGB Post Carousel (+ our custom wrappers) */

.custom-carousel.wp-block-uagb-post-carousel.is-carousel {
    padding: 24px 0;
}

@media (max-width: 480px) {
    .custom-carousel.wp-block-uagb-post-carousel.is-carousel {
        padding: 64px 0;
    }
}

.custom-carousel.slick-initialized .slick-slide article {
    display: grid !important;
    grid-template-columns: 33% auto;
    width: 100%;
    height: 430px;
    grid-gap: 24px;
    gap: 24px;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}

.custom-carousel.slick-initialized .slick-slide article .custom-image-container > div > a {
    pointer-events: none;
}

@media (max-width: 1235px) {
    .custom-carousel.slick-initialized .slick-slide article {
        height: 430px;
        grid-template-columns: 50% 50%;
        font-size: 1rem;
    }

    .custom-carousel.slick-initialized .slick-slide article .custom-image-container img {
        height: 430px !important;
        width: 96% !important;
    }
}

@media (max-width: 884px) {
    .custom-carousel.slick-initialized .slick-slide article {
        height: auto;
        min-height: 400px;
        grid-template-columns: 1fr;
        grid-template-rows: 156px auto;
        gap: 12px;
    }

    .custom-carousel.slick-initialized .slick-slide article .custom-content-container {
        order: 2;
        height: 100% !important;
    }

    .custom-carousel.slick-initialized .slick-slide article .custom-image-container {
        order: 1;
    }

    .custom-carousel.slick-initialized .slick-slide article .custom-image-container img {
        width: 100% !important;
        height: 156px !important;
    }
}

.custom-carousel.slick-initialized .slick-slide article .custom-image-container {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    border-radius: 18px;
    overflow: hidden;
}

.custom-carousel.slick-initialized .slick-slide article .custom-image-container img {
    width: 100%;
    height: 430px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 18px;
    -o-object-position: center;
       object-position: center;
}

.custom-carousel.slick-initialized .slick-slide article .custom-content-container {
    background: #fff1e5;
    background: var(--ast-global-color-1);
    width: auto;
    height: 430px;
    display: block;
    padding: 48px;
    box-sizing: border-box;
    border-radius: 18px;
}

.custom-carousel.slick-initialized .slick-slide article .custom-content-container h4 {
    margin-top: 24px;
    font-size: 1.3rem;
    color: #333333;
    color: var(--ast-global-color-3);
}

.custom-carousel.slick-initialized .slick-slide article .custom-content-container p {
    margin: 0;
    line-height: 1.8;
    color: #414141;
    color: var(--ast-global-color-2);
}

.custom-carousel button.slick-arrow svg {
    width: 20px;
    height: 20px;
}

.custom-carousel button.slick-prev, .custom-carousel button.slick-next {
    background: #fff1e5 !important;
    background: var(--ast-global-color-1) !important;
    border: 0;
    width: 48px;
    height: 48px;
}

.custom-carousel button.slick-prev {
    top: -18px;
    left: 0 !important;
    margin-left: 8px;
}

.custom-carousel button.slick-next {
    top: -18px;
    left: 72px;
}

@media (max-width: 480px) {
    .custom-carousel button.slick-next, .custom-carousel button.slick-prev {
        top: 0;
    }
}

/* UAGB Forms – feedback */

.custom-feedback-form {
    backdrop-filter: blur(10px) !important;
    background-color: rgba(255, 255, 255, .5) !important;
}

.custom-feedback-form button {
    background: #f97272 !important;
    background: var(--ast-global-color-0) !important;
    color: #fff !important;
}

.custom-feedback-form .uagb-forms-input-label {
    font-weight: 400;
    font-size: .9rem;
}

.custom-feedback-form input, .custom-feedback-form textarea {
    font-weight: 400;
    font-size: .9rem;
}

body.home.page-template-default .uagb-ifb-title-wrap .uagb-ifb-title-prefix {
    margin-right: 10%;
}

@media (max-width: 976px) {

body.home.page-template-default .uagb-ifb-title-wrap .uagb-ifb-title-prefix {
        margin-right: 0;
}
    }

body.home.page-template-default .uagb-ifb-title-wrap .uagb-ifb-title {
    margin-right: 10%;
}

@media (max-width: 976px) {

body.home.page-template-default .uagb-ifb-title-wrap .uagb-ifb-title {
        margin-right: 0;
}

    }

/*}*/

/*@layer femilio.plugins {*/

/* Main container */

#wpgs-gallery.wcgs-woocommerce-product-gallery {
        margin-right: 48px;
        max-width: 45% !important;
    }

/* Show arrows only on hover */

#wpgs-gallery.wcgs-woocommerce-product-gallery .wcgs-carousel .wcgs-swiper-arrow {
        visibility: hidden;
    }

#wpgs-gallery.wcgs-woocommerce-product-gallery .wcgs-carousel:hover .wcgs-swiper-arrow {
        visibility: visible;
    }

main .ast-woocommerce-container #wpgs-gallery .wcgs-slider-image img {
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
        width: 100%;
        height: 100%;
    }

main .ast-woocommerce-container #wpgs-gallery .wcgs-slider-image {
        width: 100%;
        height: 550px;
    }

/* Thumbs */

main .ast-woocommerce-container #wpgs-gallery div.wcgs-thumb img {
        width: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        height: 150px;
        opacity: .5;
        border-radius: 18px;
    }

main .ast-woocommerce-container #wpgs-gallery .wcgs-thumb.swiper-slide-thumb-active.wcgs-thumb img {
        border: none;
        opacity: 1;
    }

@media (max-width: 1200px) {
       main .ast-woocommerce-container #wpgs-gallery .wcgs-slider-image {
            height: 400px;
        }

       main .ast-woocommerce-container #wpgs-gallery div.wcgs-thumb img {
            height: 120px;
        }
    }

@media (max-width: 768px) {
       main .ast-woocommerce-container #wpgs-gallery .wcgs-slider-image {
            height: 300px;
        }

       main .ast-woocommerce-container #wpgs-gallery div.wcgs-thumb img {
            height: 175px;
        }
    }

/* Floating controls */

main .ast-woocommerce-container #wpgs-gallery .wcgs-carousel .wcgs-swiper-arrow,
         main .ast-woocommerce-container #wpgs-gallery .wcgs-lightbox .sp_wgs-lightbox {
        font-size: .9rem;
        margin: 12px;
        width: 48px;
        height: 48px;
    }

main .ast-woocommerce-container #wpgs-gallery .wcgs-lightbox .sp_wgs-lightbox {
        margin: 2px;
    }

/*}*/

/*@layer femilio.plugins {*/

/* Woo Variation Swatches (two popular class patterns) */

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item {
    border-radius: 8px;
    box-shadow: none;
    border: 2px solid #f5f5f5;
    border: 2px solid var(--ast-global-color-4);
    background: #f5f5f5;
    background: var(--ast-global-color-4);
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item span {
    font-weight: 600;
    color: #414141;
    color: var(--ast-global-color-2);
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) {
    box-shadow: none;
    border-width: 3px;
    border-color: #414141;
    border-color: var(--ast-global-color-2);
    background: #414141;
    background: var(--ast-global-color-2);
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item.selected:not(.no-stock) span {
    color: #fff;
}

/* cfvsw alias (ak sa používajú) */

.cfvsw-swatches-option {
    font-size: 1rem;
    font-weight: 600;
    background: #f5f5f5;
    background: var(--ast-global-color-4);
    color: #414141;
    color: var(--ast-global-color-2);
    border: 0;
    border-radius: 8px !important;
    padding: 12px 24px;
}

.cfvsw-swatches-option.cfvsw-selected-swatch {
    background: #414141;
    background: var(--ast-global-color-2);
    color: #fff;
}

/*}*/

/*@layer femilio.plugins {*/

div.packetery-widget-button-wrapper .form-row.packeta-widget {
    margin-bottom: 0;
}

div.packetery-widget-button-wrapper .packeta-widget.after-rate .packeta-widget-button button {
    background: #4e9d6d;
    background: var(--ast-global-color-6);
    line-height: .8rem;
    width: 100%;
    padding: 4px 8px;
    font-family: "Lexend", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-family: var(--fm-font-heading);
    font-weight: 400;
    font-size: .7rem;
    color: #fff;
    border: none;
    letter-spacing: 0;
    text-transform: none;
}

div.packetery-widget-button-wrapper .packeta-widget.after-rate .packeta-widget-button img {
    border-radius: 12px;
}

@media (max-width: 768px) {
    div.packetery-widget-button-wrapper .packeta-widget.after-rate .packeta-widget-button {
        justify-content: center;
    }

    div.packetery-widget-button-wrapper .packeta-widget.after-rate .packetery-widget-button-row {
        max-width: 120px;
    }
}

/*}*/

/*@layer femilio.plugins {*/

.pum-theme-4770, .pum-theme-enterprise-blue {
    background-color: rgba(0, 0, 0, .20);
}

.pum-theme-4770 .pum-container, .pum-theme-enterprise-blue .pum-container {
    border-radius: 8px;
    border: none;
}

.pum-container .pum-content {
    line-height: 1.5rem;
    font-size: .9rem;
}

.pum-container .pum-content h3 {
    line-height: 1.5rem;
    margin-bottom: 36px;
}

.pum-container .pum-content h3 i {
    font-size: 1.1rem;
}

.pum-container .pum-content h3 span {
    font-size: 1.1rem;
    padding: 0 12px;
}

.pum-container button.pum-close.popmake-close {
    background: transparent;
    color: #414141;
    color: var(--ast-global-color-2);
    margin: 16px;
    font-size: 1.2rem;
}

/*}*/

#sb_instagram #sbi_images {
    padding: 24px 0;
}

#sb_instagram #sbi_images .sbi_item {
    border-radius: 18px;
}

#sb_instagram #sbi_load .sbi_load_btn, #sb_instagram .sbi_follow_btn a {
    font-size: .9rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 12px 24px;
    background: #fff1e5 !important;
    background: var(--ast-global-color-1) !important;
    border-radius: 64px;
    color: #333333;
    color: var(--ast-global-color-3);
}

#sb_instagram .sbi_follow_btn a:hover, #sb_instagram .sbi_follow_btn a:focus {
    background: #ffe3cc !important;
    background: var(--ast-global-color-8) !important;
    box-shadow: none !important;
}

#sb_instagram .sbi_follow_btn .fa, #sb_instagram .sbi_follow_btn svg {
    font-size: 22px;
}

/* Footer icons */

.custom-footer-icons {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-content: center;
}

.custom-footer-icons .footer-payment-icons, .custom-footer-icons .footer-delivery-icons {
    display: flex;
    flex-direction: row;
}

.custom-footer-icons .payment-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}

.custom-footer-icons .payment-icon img {
    background-size: auto 24px;
    height: 24px;
    mix-blend-mode: luminosity;
}

#wpconsent-banner-holder .wpconsent-banner {
    display: none !important;
}

#wpconsent-banner-holder .wpconsent-banner {
    background-color: red !important;
}

#wpconsent-banner-holder .wpconsent-banner .wpconsent-banner-body {

}

#wpconsent-banner-holder .wpconsent-banner .wpconsent-banner-footer {

}

#wpconsent-banner-holder .wpconsent-banner .wpconsent-banner-body .wpconsent-banner-message p {

}

#wpconsent-banner-holder .wpconsent-banner .wpconsent-banner-footer button.wpconsent-banner-button {

}

#wpconsent-banner-holder .wpconsent-banner .wpconsent-banner-footer button.wpconsent-banner-button.wpconsent-accept-all {

}

/* Femilio — FINAL unlayered overrides
   Purpose: minimal, high-precision fixes that must outrank Astra/plugins.
   Keep this file small; refactor back into layers once safe. */

/* ===== Header / Primary menu ===== */

.main-header-bar-navigation .site-navigation {
    background-color: transparent;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    padding: 8px 8px;
}

.main-header-bar-navigation .site-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 20px;
}

.main-header-bar-navigation .site-navigation li {
    position: relative;
    line-height: 42px;
}

.main-header-bar-navigation .site-navigation a {
    -webkit-text-decoration: none;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    color: #333;
    color: var(--text-color-dark);
    padding: 0 28px;
    background-color: transparent;
    border-radius: 50px;
    transition: background-color .3s ease, color .3s ease;
}

.main-header-bar-navigation .site-navigation a:hover,
.main-header-bar-navigation .site-navigation .current-menu-item a,
.main-header-bar-navigation .site-navigation a:focus {
    background-color: #ffe3d4;
    background-color: var(--menu-hover-bg-color);
    color: #333;
    color: var(--text-color-dark);
}

/* Header cart text size (Astra cart bubble) */

.ast-site-header-cart.ast-menu-cart-with-border.ast-desktop-cart-flyout.ast-menu-cart-fill
span.ast-woo-header-cart-info-wrap {
    font-size: 16px !important;
}

/* Mobile burger button */

#ast-mobile-header button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal {
    background-color: #ffe3cc;
    background-color: var(--ast-global-color-8);
    border-radius: 4px;
    width: 48px;
    height: 48px;
    justify-content: center;
}

#ast-mobile-header button.menu-toggle.main-header-menu-toggle.ast-mobile-menu-trigger-minimal svg.ast-mobile-svg {
    fill: #414141;
    fill: var(--ast-global-color-2);
    width: 18px;
    height: 18px;
}

/* ===== Product card (listing + related) ===== */

/*.custom-product-card {*/

/*    width: 264px;*/

/*    height: 400px;*/

/*    background: #fff;*/

/*    border-radius: 18px;*/

/*    overflow: hidden;*/

/*    position: relative;*/

/*    margin: 0;*/

/*    flex: 0 0 auto;*/

/*}*/

/*@media (--fm-md-down) {*/

/*    .custom-product-card {*/

/*        width: 200px;*/

/*        height: 300px;*/

/*    }*/

/*}*/

.custom-product-image {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}

.custom-product-image img {
    width: auto;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* Sale badge */

.onsale {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #f00;
    color: #fff;
    padding: 5px 10px;
    font-size: 14px;
    border-radius: 12px;
    z-index: 1;
}

/* Card info overlay */

.custom-product-info {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    background: rgba(255, 255, 255, .5);
    border-radius: 18px;
    padding: 15px;
    backdrop-filter: blur(10px);
    z-index: 2;
    display: grid;
    grid-template-columns: fit-content(100%) max-content;
    justify-content: space-between;
    max-height: 88px;
    opacity: 1;
    transition: max-height .4s ease;
}

.custom-product-link {
    -webkit-text-decoration: none;
    text-decoration: none;
    color: inherit;
}

.custom-product-link:hover .custom-product-image img {
    opacity: .9;
}

/* Title + price */

.custom-product-info .custom-product-detail {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    min-width: 0;
}

.custom-product-info .custom-product-detail h2 {
    font-family: "Lexend";
    font-size: .8rem;
    margin: 0;
    color: #333333;
    color: var(--ast-global-color-3);
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

/*@media (--fm-1300-down) {*/

/*    .custom-product-info .custom-product-detail h2 {*/

/*        width: 132px;*/

/*    }*/

/*}*/

/*@media (--fm-md-down) {*/

/*    .custom-product-info .custom-product-detail h2 {*/

/*        width: 112px;*/

/*    }*/

/*}*/

.custom-product-info .price {
    font-size: .83rem;
    font-weight: 400;
    color: #333333;
    color: var(--ast-global-color-3);
    margin: 4px 0 0;
    text-align: left;
}

/* Cart icon button */

.custom-cart-icon i.fas {
    font-size: .8rem;
    color: #414141;
    color: var(--ast-global-color-2);
}

@media (max-width: 976px) {
    .custom-cart-icon i.fas {
        font-size: .7rem;
    }
}

.custom-product-card .custom-product-info .custom-cart-icon a.button {
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f5f5f5;
    background: var(--ast-global-color-4);
}

.custom-product-card .custom-product-info .custom-cart-icon a.button:hover {
    background: #4e9d6d;
    background: var(--ast-global-color-6);
}

.custom-product-card .custom-product-info .custom-cart-icon a.button:hover i.fas {
    color: #fff;
}

.custom-cart-icon a.added_to_cart.wc-forward {
    display: none !important;
}

/* Card — size selector (overlay state) */

.custom-product-card .product-size-selector {
    display: none;
    z-index: 9999;
    padding: 0;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    opacity: 0;
}

.custom-product-card.show-size-selector .custom-product-link {
    pointer-events: none;
}

.custom-product-card.show-size-selector .custom-product-info {
    max-height: 271px;
    height: 271px;
}

.custom-product-card.show-size-selector .custom-product-info .product-size-selector {
    display: flex;
    opacity: 1;
    transition: opacity .4s ease-in .1s;
}

.custom-product-card.show-size-selector .custom-product-info .custom-product-detail,
.custom-product-card.show-size-selector .custom-product-info .custom-cart-icon {
    display: none;
}

.custom-product-card .product-size-selector p {
    font-size: .9rem;
    font-weight: 600;
    margin-bottom: 0;
    color: #333333;
    color: var(--ast-global-color-3);
}

.custom-product-card .size-option {
    background: transparent;
    border: 2px solid #414141;
    border: 2px solid var(--ast-global-color-2);
    color: #414141;
    color: var(--ast-global-color-2);
    width: 62px;
    height: 42px;
    border-radius: 64px;
    margin: 0;
    cursor: pointer;
    font-weight: 600;
    font-size: .9rem;
    transition: background-color .2s, border-color .2s, transform .2s;
    white-space: nowrap;
}

.custom-product-card .size-option:hover {
    background: rgba(78,157,109,0.18039);
    border-color: #4e9d6d;
    border-color: var(--ast-global-color-6);
    transform: scale(1.1);
    color: #333333;
    color: var(--ast-global-color-3);
}

.custom-product-card .size-option.selected {
    background: #414141;
    background: var(--ast-global-color-2);
    color: #fff;
    border-color: #414141;
    border-color: var(--ast-global-color-2);
}

.custom-product-card .add-to-cart {
    background: #4e9d6d;
    background: var(--ast-global-color-6);
    color: #fff;
    border: none;
    padding: 20px 18px;
    width: auto;
    border-radius: 42px;
    cursor: pointer;
    font-weight: 600;
    font-size: .9rem;
    margin: 24px 0 0;
    transition: background-color .2s, transform .2s;
}

/* ===== Shop grid (small screens → 2 stĺpce) ===== */

@media (max-width: 718px) {
    body.woocommerce-shop .ast-woocommerce-container .products.columns-4,
    section.related.products .products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: 1fr;
        grid-gap: 20px;
        grid-row-gap: 30px;
    }

        @media (max-width: 480px)  {
    body.woocommerce-shop .ast-woocommerce-container .products.columns-4,
    section.related.products .products.columns-4 {
            display: flex;
            flex-direction: column;
    }
        }

    body.woocommerce-shop .ast-woocommerce-container .products.columns-4 > li {
        margin-bottom: 0;
    }
}

/* ===== PDP – Size guide button placement ===== */

main .variations_button button#size-guide-button {
    background: transparent;
    color: #414141;
    color: var(--ast-global-color-2);
    border: none;
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1;
}

main .variations_button button#size-guide-button > i {
    font-size: .9rem;
}

main .variations_button button#size-guide-button > span {
    font-size: .8rem;
    padding: 2px 8px;
}

/* ===== PDP – WPGS Gallery sizing (outer box + heights) ===== */

#wpgs-gallery.wcgs-woocommerce-product-gallery {
    margin-right: 48px;
    max-width: 45% !important;
}

@media (max-width: 768px) {

#wpgs-gallery.wcgs-woocommerce-product-gallery {
        max-width: 100% !important;
}
    }

main .ast-woocommerce-container #wpgs-gallery .wcgs-slider-image {
    width: 100%;
    height: 550px;
}

@media (max-width: 1200px) {
    main .ast-woocommerce-container #wpgs-gallery .wcgs-slider-image {
        height: 400px;
    }
}

@media (max-width: 768px) {
    main .ast-woocommerce-container #wpgs-gallery .wcgs-slider-image {
        height: 350px;
    }
}

/* ===== PDP – Tabs bar look ===== */

body.product-template-default.single-product .ast-article-single div.woocommerce-tabs {
    display: flex;
    flex-direction: column;
    align-items: center;
}

body.product-template-default.single-product .ast-article-single div.woocommerce-tabs > ul.wc-tabs {
    width: 100%;
    background: #fff9f3;
    padding: 8px 0;
    border-radius: 128px;
    text-align: center;
}

@media (max-width: 544px) {

body.product-template-default.single-product .ast-article-single div.woocommerce-tabs > ul.wc-tabs {
        display: flex;
        flex-direction: row;
        justify-content: center;
        padding-left: 8px;
        padding-right: 8px;
}

        body.product-template-default.single-product .ast-article-single div.woocommerce-tabs > ul.wc-tabs  > li {
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 128px;
        }

            body.product-template-default.single-product .ast-article-single div.woocommerce-tabs > ul.wc-tabs > li  > a {
                height: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                padding: 8px 0;
            }
    }

body.product-template-default.single-product .ast-article-single ul.tabs > li:before {
    background: none !important;
}

body.product-template-default.single-product .ast-article-single ul.tabs > li a {
    padding: 8px 32px;
}

body.product-template-default.single-product .ast-article-single ul.tabs > li.active {
    background: #ffe3cc;
    background: var(--ast-global-color-8);
    border-radius: 28px;
}

/* ===== Gutenberg flow left offset fix (scoped) ===== */

:root :where(.is-layout-flow) > :first-child { margin-left: 0 !important; }
