/* AMIVA MOBILE UI v0.3.4 */
.amiva-mobile-bottom-nav,
.amiva-mobile-drawer { display:none; }

@media (max-width:782px) {
    :root{--amiva-mobile-pink:#b5166d;--amiva-mobile-text:#222}
    html,body{overflow-x:hidden!important}
    body{padding-bottom:72px!important}

    /* HEADER */
    header.wp-block-template-part{
        position:relative!important;z-index:90000!important;width:100%!important;
        margin:0!important;padding:0!important;background:var(--amiva-mobile-pink)!important;
        color:#fff!important;overflow:visible!important
    }
    header.wp-block-template-part>.wp-block-group{
        position:relative!important;width:100%!important;max-width:none!important;min-height:126px!important;
        margin:0!important;padding:0!important;background:var(--amiva-mobile-pink)!important;
        box-sizing:border-box!important;overflow:visible!important
    }
    header .wp-block-site-logo{display:none!important}
    header .wp-block-site-title{
        position:absolute!important;top:17px!important;left:76px!important;right:118px!important;
        z-index:90002!important;margin:0!important;padding:0!important;text-align:left!important
    }
    header .wp-block-site-title a{
        display:block!important;color:#fff!important;font-size:27px!important;font-weight:800!important;
        line-height:40px!important;height:40px!important;text-decoration:none!important;white-space:nowrap!important
    }

    header .wp-block-navigation{
        position:absolute!important;top:12px!important;left:12px!important;width:44px!important;height:44px!important;
        min-height:0!important;margin:0!important;padding:0!important;transform:none!important;
        background:transparent!important;overflow:visible!important;z-index:90005!important
    }
    header .wp-block-navigation__responsive-container-open{
        display:flex!important;width:44px!important;height:44px!important;align-items:center!important;
        justify-content:center!important;margin:0!important;padding:6px!important;border:0!important;
        background:transparent!important;color:#fff!important
    }
    header .wp-block-navigation__responsive-container-open svg{width:31px!important;height:31px!important}
    header .wp-block-navigation__responsive-container.is-menu-open{display:none!important}

    /* Account + Cart: exact same box/top/baseline */
    header .wp-block-woocommerce-customer-account,
    header .wc-block-mini-cart{
        position:absolute!important;
        top:14px!important;
        width:40px!important;
        height:40px!important;
        margin:0!important;
        padding:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        transform:none!important;
    }
    header .wp-block-woocommerce-customer-account{
        right:58px!important;
        z-index:90005!important
    }
    header .wc-block-mini-cart{
        right:14px!important;
        z-index:90006!important
    }
    header .wp-block-woocommerce-customer-account>a,
    header .wc-block-mini-cart__button{
        width:40px!important;
        height:40px!important;
        min-width:40px!important;
        min-height:40px!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        color:#fff!important;
        background:transparent!important;
        line-height:1!important;
        transform:none!important;
    }
    header .wp-block-woocommerce-customer-account svg,
    header .wc-block-mini-cart svg{
        display:block!important;
        width:25px!important;
        height:25px!important;
        margin:0!important;
        padding:0!important;
        transform:none!important;
    }
    header .wc-block-mini-cart__badge,
    header .wc-block-mini-cart__quantity-badge{
        position:absolute!important;
        top:-2px!important;
        right:-2px!important;
        transform:scale(.85)!important;
        transform-origin:top right!important;
    }

    /* SEARCH */
    header .wp-block-search{
        position:absolute!important;left:16px!important;right:16px!important;bottom:12px!important;
        width:auto!important;max-width:none!important;margin:0!important;padding:0!important;z-index:90003!important
    }
    header .wp-block-search__inside-wrapper{
        width:100%!important;min-height:44px!important;height:44px!important;margin:0!important;padding:0!important;
        background:#fff!important;border:0!important;border-radius:22px!important;overflow:hidden!important;box-shadow:none!important
    }
    header .wp-block-search__input{
        min-height:44px!important;height:44px!important;padding:0 16px!important;border:0!important;outline:0!important;
        background:transparent!important;color:#333!important;font-size:15px!important
    }
    header .wp-block-search__button{
        min-width:44px!important;min-height:44px!important;height:44px!important;margin:0!important;padding:0 12px!important;
        border:0!important;background:transparent!important;color:var(--amiva-mobile-pink)!important
    }

    /* CUSTOM DRAWER */
    .amiva-mobile-drawer{
        position:fixed!important;inset:0!important;z-index:999999!important;display:none!important
    }
    .amiva-mobile-drawer.is-open{display:block!important}
    .amiva-mobile-drawer__backdrop{
        position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border:0!important;
        background:rgba(0,0,0,.38)!important
    }
    .amiva-mobile-drawer__panel{
        position:absolute!important;top:0!important;left:0!important;bottom:0!important;width:min(88vw,420px)!important;
        padding:0 0 28px!important;box-sizing:border-box!important;background:#fff!important;
        opacity:1!important;filter:none!important;mix-blend-mode:normal!important;
        overflow-y:auto!important;box-shadow:8px 0 30px rgba(0,0,0,.15)!important
    }
    .amiva-mobile-drawer__head{
        position:sticky!important;top:0!important;z-index:5!important;display:flex!important;align-items:center!important;
        justify-content:space-between!important;padding:20px 22px 16px!important;background:#fff!important;
        opacity:1!important;border-bottom:1px solid #eee!important
    }
    .amiva-mobile-drawer__head strong{color:#222!important;font-size:24px!important;line-height:1.2!important}
    .amiva-mobile-drawer__close{
        appearance:none!important;width:40px!important;height:40px!important;margin:0!important;padding:0!important;
        border:0!important;background:#fff!important;color:#444!important;font-size:36px!important;font-weight:300!important;line-height:1!important
    }

    /* Force the entire drawer list to solid white */
    .amiva-mobile-drawer__menu,
    .amiva-mobile-drawer__menu>.wp-block-navigation__container,
    .amiva-mobile-drawer__menu .wp-block-navigation__container,
    .amiva-mobile-drawer__menu ul,
    .amiva-mobile-drawer__menu li{
        background:#fff!important;
        background-color:#fff!important;
        opacity:1!important;
        filter:none!important;
        mix-blend-mode:normal!important;
    }
    .amiva-mobile-drawer__menu{
        position:relative!important;
        z-index:2!important;
        min-height:calc(100dvh - 78px)!important;
        padding:6px 18px 30px!important
    }
    .amiva-mobile-drawer__menu ul{list-style:none!important;margin:0!important;padding:0!important}
    .amiva-mobile-drawer__menu>ul>li{position:relative!important;border-bottom:1px solid #ececec!important}
    .amiva-mobile-drawer__menu li{display:block!important;width:100%!important;margin:0!important;padding:0!important}
    .amiva-mobile-drawer__menu a{
        display:block!important;width:100%!important;box-sizing:border-box!important;padding:15px 44px 15px 8px!important;
        color:#2d2d2d!important;background:#fff!important;font-size:18px!important;font-weight:500!important;
        line-height:1.35!important;text-decoration:none!important;white-space:normal!important
    }

    .amiva-mobile-drawer__menu li.amiva-ready-parent>a{
        color:var(--amiva-mobile-pink)!important;font-weight:700!important
    }
    .amiva-subcat-toggle{
        position:absolute!important;top:8px!important;right:2px!important;width:38px!important;height:38px!important;
        display:flex!important;align-items:center!important;justify-content:center!important;
        margin:0!important;padding:0!important;border:0!important;background:#fff!important;color:#666!important;
        font-size:22px!important;line-height:1!important;cursor:pointer!important
    }
    .amiva-subcat-toggle::before{content:"⌄";display:block!important;transition:transform .2s ease!important}
    .amiva-ready-parent.is-expanded>.amiva-subcat-toggle::before{transform:rotate(180deg)!important}

    .amiva-mobile-drawer__menu .amiva-ready-subcats{
        display:none!important;margin:0 0 6px 10px!important;padding:2px 0 4px 12px!important;
        background:#fafafa!important;background-color:#fafafa!important;border-left:2px solid #eee!important
    }
    .amiva-mobile-drawer__menu .amiva-ready-parent.is-expanded>.amiva-ready-subcats{display:block!important}
    .amiva-mobile-drawer__menu .amiva-ready-subcats li{
        border-bottom:1px solid #eee!important;background:#fafafa!important;background-color:#fafafa!important
    }
    .amiva-mobile-drawer__menu .amiva-ready-subcats a{
        padding:12px 10px!important;color:#555!important;background:#fafafa!important;
        font-size:16px!important;font-weight:400!important
    }
    .amiva-mobile-drawer__menu a:active,
    .amiva-mobile-drawer__menu a:hover{
        color:var(--amiva-mobile-pink)!important;background:#f7f7f7!important
    }

    /* COMPACT WHITE FOOTER */
    .amiva-footer-pro{
        width:100%!important;margin:0!important;padding:30px 22px 26px!important;box-sizing:border-box!important;
        background:#fff!important;color:#333!important;border-top:1px solid #eee!important
    }
    .amiva-footer-grid{display:block!important;width:100%!important;margin:0!important}
    .amiva-footer-grid .amiva-footer-col:nth-child(1),
    .amiva-footer-grid .amiva-footer-col:nth-child(2),
    .amiva-footer-grid .amiva-footer-col:nth-child(3){display:none!important}
    .amiva-footer-grid .amiva-footer-col:nth-child(4){display:flex!important;width:100%!important;gap:14px!important}
    .amiva-footer-col h3{display:none!important}
    .amiva-contact-item{display:flex!important;width:100%!important;gap:13px!important;color:#333!important;font-size:15px!important;line-height:1.55!important}
    .amiva-contact-icon{width:28px!important;min-width:28px!important;color:var(--amiva-mobile-pink)!important;font-size:20px!important}
    .amiva-footer-pro a{color:#333!important}
    .amiva-footer-bottom{
        display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;
        margin:26px 0 0!important;padding:20px 0 0!important;gap:16px!important;border-top:1px solid #ddd!important
    }
    .amiva-copyright{width:100%!important;color:#555!important;font-size:13px!important;line-height:1.5!important;text-align:center!important}
    .amiva-socials{display:flex!important;justify-content:center!important;gap:12px!important}
    .amiva-social{
        display:inline-flex!important;width:40px!important;height:40px!important;align-items:center!important;justify-content:center!important;
        color:var(--amiva-mobile-pink)!important;background:#fff!important;border:1px solid #d7d7d7!important;border-radius:50%!important
    }
    .amiva-social svg{fill:currentColor!important}

    /* BOTTOM NAV */
    .amiva-mobile-bottom-nav{
        position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:999990!important;
        display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important;
        width:100%!important;height:68px!important;padding:4px 6px env(safe-area-inset-bottom,0)!important;
        box-sizing:border-box!important;background:rgba(255,255,255,.98)!important;border-top:1px solid #e8e8e8!important;
        box-shadow:0 -4px 18px rgba(0,0,0,.06)!important
    }
    .amiva-mobile-nav-item{
        appearance:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;
        justify-content:center!important;gap:2px!important;min-width:0!important;margin:0!important;padding:2px!important;
        border:0!important;background:transparent!important;color:#444!important;text-decoration:none!important;
        font:inherit!important;font-size:11px!important;line-height:1.15!important;cursor:pointer!important
    }
    .amiva-mobile-nav-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important}
    .amiva-mobile-nav-icon svg{
        width:25px!important;height:25px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
        stroke-linecap:round!important;stroke-linejoin:round!important
    }
    .amiva-mobile-nav-item:nth-child(3),
    .amiva-mobile-nav-item:hover,
    .amiva-mobile-nav-item:focus{color:var(--amiva-mobile-pink)!important;outline:0!important}

    .wp-site-blocks{gap:0!important}
    header.wp-block-template-part+main{margin-top:0!important;padding-top:0!important}
}


/* =========================================================
   v0.3.4 — CART VISUAL ALIGNMENT
   Move the actual WooCommerce cart glyph wrapper, not only
   the outer mini-cart block.
========================================================= */
@media (max-width:782px) {

    header.wp-block-template-part .wp-block-woocommerce-customer-account,
    header.wp-block-template-part .wc-block-mini-cart {
        top:14px !important;
        height:40px !important;
    }

    header.wp-block-template-part .wp-block-woocommerce-customer-account > a,
    header.wp-block-template-part .wc-block-mini-cart__button {
        height:40px !important;
        min-height:40px !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }

    /* This is the real wrapper around the WooCommerce cart SVG + badge. */
    header.wp-block-template-part .wc-block-mini-cart__quantity-badge {
        position:relative !important;
        top:3px !important;
        transform:none !important;
        margin:0 !important;
    }

    /* Fallback for WooCommerce markup variants. */
    header.wp-block-template-part .wc-block-mini-cart__button > svg,
    header.wp-block-template-part svg.wc-block-mini-cart__icon {
        position:relative !important;
        top:3px !important;
        transform:none !important;
    }

    /* Keep the little item-count bubble attached to the cart glyph. */
    header.wp-block-template-part .wc-block-mini-cart__badge {
        top:-2px !important;
        right:-2px !important;
    }
}


/* v0.3.12
 * WooCommerce Mini-Cart is configured to open automatically after Add to cart.
 * Hide the redundant "View cart / Сагс харах" link that otherwise navigates
 * to the old full cart page.
 */
a.added_to_cart.wc-forward,
.woocommerce a.added_to_cart.wc-forward,
.wc-block-grid a.added_to_cart.wc-forward {
    display: none !important;
}

/* =========================================================
   v0.3.14 — PRODUCT CARD ALIGNMENT
   Keep product images, titles, prices and Add-to-Cart buttons
   aligned across WooCommerce Product Collection grids.
========================================================= */

/* Make every WooCommerce product tile fill its grid row. */
.wc-block-product,
.wc-block-grid__product {
    box-sizing: border-box !important;
    height: 100% !important;
}

/* Common inner wrappers used by WooCommerce block themes. */
.wc-block-product > .wp-block-group,
.wc-block-product > .wp-block-group-is-layout-flow,
.wc-block-product > .wp-block-group-is-layout-constrained,
.wc-block-grid__product {
    display: flex !important;
    flex-direction: column !important;
}

.wc-block-product > .wp-block-group,
.wc-block-product > .wp-block-group-is-layout-flow,
.wc-block-product > .wp-block-group-is-layout-constrained {
    height: 100% !important;
}

/* Equal image area. Product itself stays fully visible. */
.wc-block-product .wc-block-components-product-image,
.wc-block-product .wp-block-woocommerce-product-image,
.wc-block-grid__product .wc-block-grid__product-image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.wc-block-product .wc-block-components-product-image img,
.wc-block-product .wp-block-woocommerce-product-image img,
.wc-block-grid__product .wc-block-grid__product-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

/* Reserve the same title height (up to about 3 lines). */
.wc-block-product .wp-block-post-title,
.wc-block-product .wc-block-components-product-name,
.wc-block-grid__product .wc-block-grid__product-title {
    min-height: 4.2em !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
}

/* Reserve one consistent price zone, including sale prices. */
.wc-block-product .wp-block-woocommerce-product-price,
.wc-block-product .wc-block-components-product-price,
.wc-block-grid__product .wc-block-grid__product-price {
    min-height: 52px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

/* Push the Add-to-Cart block to the bottom of each card. */
.wc-block-product .wp-block-button.wc-block-components-product-button,
.wc-block-product .wp-block-woocommerce-product-button,
.wc-block-grid__product .wc-block-grid__product-add-to-cart {
    margin-top: auto !important;
    width: 100% !important;
}

.wc-block-product .wp-block-button.wc-block-components-product-button .wp-block-button__link,
.wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product .wc-block-grid__product-add-to-cart a,
.wc-block-grid__product .wc-block-grid__product-add-to-cart button {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Mobile: keep alignment but allow slightly less reserved title space. */
@media (max-width: 782px) {
    .wc-block-product .wp-block-post-title,
    .wc-block-product .wc-block-components-product-name,
    .wc-block-grid__product .wc-block-grid__product-title {
        min-height: 4.2em !important;
    }

    .wc-block-product .wp-block-woocommerce-product-price,
    .wc-block-product .wc-block-components-product-price,
    .wc-block-grid__product .wc-block-grid__product-price {
        min-height: 48px !important;
    }
}

/* =========================================================
   v0.3.15 — PRODUCT CARD ALIGNMENT FIX
   v0.3.14 reserved title/price space but did not make the
   actual WooCommerce product tile a flex column. In Product
   Collection blocks the image/title/price/button are often
   direct children of .wc-block-product, so margin-top:auto
   could not push the button down. This fixes that structure.
========================================================= */

/* The actual product tile itself must be the flex column. */
.wc-block-product,
.wc-block-grid__product,
.wp-block-woocommerce-product-template > li.product,
ul.wp-block-post-template > li.product {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* Keep product titles in one consistent reserved zone. */
.wc-block-product > .wp-block-post-title,
.wc-block-product .wp-block-post-title,
.wc-block-product .wc-block-components-product-name,
.wc-block-grid__product .wc-block-grid__product-title,
li.product > .wp-block-post-title {
    min-height: 4.2em !important;
    line-height: 1.4 !important;
}

/* Keep prices in one consistent zone, including sale prices. */
.wc-block-product > .wp-block-woocommerce-product-price,
.wc-block-product .wp-block-woocommerce-product-price,
.wc-block-product .wc-block-components-product-price,
.wc-block-grid__product .wc-block-grid__product-price,
li.product > .wp-block-woocommerce-product-price {
    min-height: 52px !important;
    box-sizing: border-box !important;
}

/* Force the Add-to-Cart area to the bottom edge of every tile. */
.wc-block-product > .wp-block-button,
.wc-block-product > .wp-block-woocommerce-product-button,
.wc-block-product .wp-block-button.wc-block-components-product-button,
.wc-block-product .wp-block-woocommerce-product-button,
.wc-block-grid__product .wc-block-grid__product-add-to-cart,
li.product > .wp-block-button,
li.product > .wp-block-woocommerce-product-button {
    margin-top: auto !important;
    width: 100% !important;
}

.wc-block-product > .wp-block-button .wp-block-button__link,
.wc-block-product .wc-block-components-product-button .wp-block-button__link,
.wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-grid__product .wc-block-grid__product-add-to-cart a,
.wc-block-grid__product .wc-block-grid__product-add-to-cart button,
li.product > .wp-block-button .wp-block-button__link {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* =========================================================
   v0.3.16 — PRODUCT GRID + MOBILE MINI-CART POLISH
   1) Desktop Add-to-Cart buttons use a compact centered width.
   2) Mobile product images fill their image area more naturally.
   3) Sale badges are overlaid inside the image/card area so they
      no longer consume vertical space and push images downward.
   4) The fixed AMIVA bottom nav is hidden while WooCommerce's
      Mini-Cart drawer is open, keeping Checkout fully tappable.
========================================================= */

/* Sale badges must not participate in normal flow. */
.wc-block-product,
.wc-block-grid__product,
.wp-block-woocommerce-product-template > li.product,
ul.wp-block-post-template > li.product,
.woocommerce ul.products li.product {
    position: relative !important;
}

.wc-block-product .wc-block-components-product-image,
.wc-block-product .wp-block-woocommerce-product-image,
.wc-block-grid__product .wc-block-grid__product-image {
    position: relative !important;
}

.wc-block-product .wc-block-components-product-sale-badge,
.wc-block-product .wc-block-components-product-sale-badge--align-right,
.wc-block-product .onsale,
.wc-block-grid__product .wc-block-grid__product-onsale,
.woocommerce ul.products li.product .onsale {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 8 !important;
}

/* Desktop: keep the card aligned but do not stretch the button edge-to-edge. */
@media (min-width: 783px) {
    .wc-block-product .wp-block-button.wc-block-components-product-button,
    .wc-block-product .wp-block-woocommerce-product-button,
    .wc-block-grid__product .wc-block-grid__product-add-to-cart,
    li.product > .wp-block-button,
    li.product > .wp-block-woocommerce-product-button {
        width: 100% !important;
        text-align: center !important;
    }

    .wc-block-product .wp-block-button.wc-block-components-product-button .wp-block-button__link,
    .wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
    .wc-block-grid__product .wc-block-grid__product-add-to-cart .wp-block-button__link,
    .wc-block-grid__product .wc-block-grid__product-add-to-cart a,
    .wc-block-grid__product .wc-block-grid__product-add-to-cart button,
    li.product > .wp-block-button .wp-block-button__link {
        width: min(100%, 240px) !important;
        max-width: 240px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
    }
}

@media (max-width: 782px) {
    /* Product images: undo the overly-small "contain" look introduced by
       equal-height cards. The wrapper remains square, while the picture
       fills it consistently on two-column mobile grids. */
    .wc-block-product .wc-block-components-product-image,
    .wc-block-product .wp-block-woocommerce-product-image,
    .wc-block-grid__product .wc-block-grid__product-image,
    .woocommerce ul.products li.product a img {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .wc-block-product .wc-block-components-product-image img,
    .wc-block-product .wp-block-woocommerce-product-image img,
    .wc-block-grid__product .wc-block-grid__product-image img,
    .woocommerce ul.products li.product a img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        object-fit: cover !important;
    }

    /* Place sale badges over the picture instead of above it. */
    .wc-block-product .wc-block-components-product-sale-badge,
    .wc-block-product .wc-block-components-product-sale-badge--align-right,
    .wc-block-product .onsale,
    .wc-block-grid__product .wc-block-grid__product-onsale,
    .woocommerce ul.products li.product .onsale {
        top: 10px !important;
        right: 10px !important;
    }

    /* While the WooCommerce drawer is open, do not let the fixed bottom
       navigation cover the checkout button. */
    body.amiva-mini-cart-open .amiva-mobile-bottom-nav {
        display: none !important;
    }

    body.amiva-mini-cart-open {
        padding-bottom: 0 !important;
    }

    /* Small safety gap for devices with a gesture/navigation area. */
    body.amiva-mini-cart-open .wc-block-mini-cart__footer,
    body.amiva-mini-cart-open .wc-block-mini-cart__footer-actions {
        padding-bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* =========================================================
   v0.3.17 — CLEAN PRODUCT GRID / BOLOR-STYLE RHYTHM
   - Prevent archive sorting/results controls from overflowing.
   - Make classic WooCommerce loops true responsive grids.
   - Make product images fill a consistent image zone.
   - Wrap/clamp long titles while reserving equal title height.
   - Keep price and Add-to-Cart on a consistent baseline.
   - Place SALE badge on top of the image, never in document flow.
========================================================= */

/* Never allow archive controls or product grids to create a horizontal page scroll. */
body.woocommerce,
body.woocommerce-page,
body.tax-product_cat,
body.post-type-archive-product {
    overflow-x: clip !important;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering,
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    float: none !important;
    clear: both !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
    width: auto !important;
    min-width: 190px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
    margin: 0 0 12px !important;
}

/* Classic WooCommerce product archives: remove legacy float widths/margins. */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 34px 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    list-style: none !important;
}

.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.woocommerce ul.products.columns-2,
.woocommerce-page ul.products.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* Classic loop link becomes the flexible body of the card. */
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product > a.woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    color: inherit !important;
    text-decoration: none !important;
}

/* Image: full card width, consistent square area, no tiny centered thumbnails. */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.wc-block-product .wc-block-components-product-image img,
.wc-block-product .wp-block-woocommerce-product-image img,
.wc-block-grid__product .wc-block-grid__product-image img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: cover !important;
    margin: 0 0 18px !important;
    box-sizing: border-box !important;
}

/* Title: wrap normally, reserve exactly two lines on desktop. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.wc-block-product .wp-block-post-title,
.wc-block-product .wc-block-components-product-name,
.wc-block-grid__product .wc-block-grid__product-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.4 !important;
    min-height: 2.8em !important;
    max-height: 2.8em !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

/* Price stays on the same row rhythm even for sale prices. */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.wc-block-product .wp-block-woocommerce-product-price,
.wc-block-product .wc-block-components-product-price,
.wc-block-grid__product .wc-block-grid__product-price {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 4px !important;
    min-height: 52px !important;
    margin-top: auto !important;
    margin-bottom: 14px !important;
    box-sizing: border-box !important;
}

/* Button zone is always after the equal title/price zones. */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.wc-block-product .wp-block-button.wc-block-components-product-button .wp-block-button__link,
.wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-grid__product .wc-block-grid__product-add-to-cart a,
.wc-block-grid__product .wc-block-grid__product-add-to-cart button {
    box-sizing: border-box !important;
}

/* Desktop: compact button like a neat retail card, not a full-width bar. */
@media (min-width: 783px) {
    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button,
    .wc-block-product .wp-block-button.wc-block-components-product-button .wp-block-button__link,
    .wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
    .wc-block-grid__product .wc-block-grid__product-add-to-cart a,
    .wc-block-grid__product .wc-block-grid__product-add-to-cart button {
        display: block !important;
        width: min(100%, 190px) !important;
        max-width: 190px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* SALE badge: always sits over the top-right corner of the image/card. */
.woocommerce ul.products li.product .onsale,
.woocommerce-page ul.products li.product .onsale,
.wc-block-product .wc-block-components-product-sale-badge,
.wc-block-product .wc-block-components-product-sale-badge--align-right,
.wc-block-product .onsale,
.wc-block-grid__product .wc-block-grid__product-onsale {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ef3632 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    transform: none !important;
}

/* Block product templates: make every tile stretch to the same row height. */
.wp-block-woocommerce-product-template,
.wp-block-post-template.is-layout-grid {
    align-items: stretch !important;
    max-width: 100% !important;
}

.wp-block-woocommerce-product-template > li.wc-block-product,
ul.wp-block-post-template > li.wc-block-product,
ul.wp-block-post-template > li.product {
    min-width: 0 !important;
    height: 100% !important;
}

@media (max-width: 782px) {
    /* Two clean columns with small gutters so the pictures are materially larger. */
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .woocommerce ul.products.columns-4,
    .woocommerce-page ul.products.columns-4,
    .woocommerce ul.products.columns-3,
    .woocommerce-page ul.products.columns-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px 12px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .woocommerce .woocommerce-ordering,
    .woocommerce-page .woocommerce-ordering {
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-bottom: 18px !important;
    }

    .woocommerce .woocommerce-ordering select,
    .woocommerce-page .woocommerce-ordering select {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .woocommerce ul.products li.product a img,
    .woocommerce-page ul.products li.product a img,
    .wc-block-product .wc-block-components-product-image img,
    .wc-block-product .wp-block-woocommerce-product-image img,
    .wc-block-grid__product .wc-block-grid__product-image img {
        width: 100% !important;
        max-width: none !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        margin-bottom: 14px !important;
    }

    /* Mobile names can use up to three lines, but every card reserves the same height. */
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
    .wc-block-product .wp-block-post-title,
    .wc-block-product .wc-block-components-product-name,
    .wc-block-grid__product .wc-block-grid__product-title {
        -webkit-line-clamp: 3 !important;
        min-height: 4.2em !important;
        max-height: 4.2em !important;
        font-size: 16px !important;
    }

    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price,
    .wc-block-product .wp-block-woocommerce-product-price,
    .wc-block-product .wc-block-components-product-price,
    .wc-block-grid__product .wc-block-grid__product-price {
        min-height: 48px !important;
        margin-bottom: 10px !important;
    }

    /* Mobile button fills its own card width only. */
    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button,
    .wc-block-product .wp-block-button.wc-block-components-product-button .wp-block-button__link,
    .wc-block-product .wp-block-woocommerce-product-button .wp-block-button__link,
    .wc-block-grid__product .wc-block-grid__product-add-to-cart a,
    .wc-block-grid__product .wc-block-grid__product-add-to-cart button {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .woocommerce ul.products li.product .onsale,
    .woocommerce-page ul.products li.product .onsale,
    .wc-block-product .wc-block-components-product-sale-badge,
    .wc-block-product .wc-block-components-product-sale-badge--align-right,
    .wc-block-product .onsale,
    .wc-block-grid__product .wc-block-grid__product-onsale {
        top: 8px !important;
        right: 8px !important;
        width: 50px !important;
        min-width: 50px !important;
        height: 50px !important;
        min-height: 50px !important;
        font-size: 12px !important;
    }
}


/* =========================================================
   v0.3.18 — CLEAN ADD-TO-CART SUCCESS NOTICE
   Keep the success message, but remove the redundant View Cart
   action. Header/bottom Mini-Cart remains the cart entry point.
========================================================= */
.woocommerce-message a.wc-forward,
.woocommerce-message a.button.wc-forward,
.wc-block-components-notice-banner.is-success a.wc-forward,
.wc-block-components-notice-banner.is-success .wc-block-components-notice-banner__action {
    display: none !important;
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
    padding-right: 18px !important;
}


/* =========================================================
   v0.3.19 — AMIVA INFORMATION / LEGAL PAGES
   Terms, Privacy, Delivery & Payment, Returns & Exchanges.
   Content is untouched; this only improves readability/layout.
========================================================= */
body.amiva-info-page {
    background: #f7f7fa !important;
}

body.amiva-info-page main,
body.amiva-info-page .wp-site-blocks > main {
    background: #f7f7fa !important;
}

body.amiva-info-page .amiva-info-card {
    box-sizing: border-box !important;
    width: min(1040px, calc(100% - 48px)) !important;
    max-width: 1040px !important;
    margin: 44px auto 64px !important;
    padding: 44px 52px 48px !important;
    background: #ffffff !important;
    border: 1px solid rgba(181, 22, 109, 0.14) !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 38px rgba(31, 21, 28, 0.08) !important;
    color: #2c2630 !important;
    font-size: 16.5px !important;
    line-height: 1.78 !important;
}

body.amiva-info-page .amiva-info-card > :first-child {
    margin-top: 0 !important;
}

body.amiva-info-page .amiva-info-card > :last-child {
    margin-bottom: 0 !important;
}

body.amiva-info-page .amiva-info-card p,
body.amiva-info-page .amiva-info-card li,
body.amiva-info-page .amiva-info-card td,
body.amiva-info-page .amiva-info-card th {
    color: #3d3540 !important;
    line-height: 1.78 !important;
}

body.amiva-info-page .amiva-info-card p {
    margin-top: 0 !important;
    margin-bottom: 1.05em !important;
}

body.amiva-info-page .amiva-info-card h1,
body.amiva-info-page .amiva-info-card h2 {
    color: #b5166d !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em !important;
    font-weight: 750 !important;
}

body.amiva-info-page .amiva-info-card h1 {
    font-size: clamp(28px, 3vw, 38px) !important;
    margin: 0 0 26px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid rgba(181, 22, 109, 0.14) !important;
}

body.amiva-info-page .amiva-info-card h2 {
    font-size: clamp(22px, 2.2vw, 28px) !important;
    margin: 38px 0 16px !important;
}

body.amiva-info-page .amiva-info-card h3,
body.amiva-info-page .amiva-info-card h4,
body.amiva-info-page .amiva-info-card h5,
body.amiva-info-page .amiva-info-card h6 {
    color: #27202a !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    margin: 28px 0 12px !important;
}

body.amiva-info-page .amiva-info-card h3 {
    font-size: 20px !important;
    padding-left: 12px !important;
    border-left: 3px solid #b5166d !important;
}

body.amiva-info-page .amiva-info-card strong,
body.amiva-info-page .amiva-info-card b {
    color: #27202a !important;
    font-weight: 700 !important;
}

body.amiva-info-page .amiva-info-card a {
    color: #b5166d !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

body.amiva-info-page .amiva-info-card ul,
body.amiva-info-page .amiva-info-card ol {
    margin: 0 0 1.25em 1.35em !important;
    padding-left: 0.55em !important;
}

body.amiva-info-page .amiva-info-card li {
    margin-bottom: 0.45em !important;
}

body.amiva-info-page .amiva-info-card blockquote {
    margin: 24px 0 !important;
    padding: 18px 22px !important;
    background: #fff7fb !important;
    border-left: 4px solid #b5166d !important;
    border-radius: 0 12px 12px 0 !important;
}

body.amiva-info-page .amiva-info-card hr {
    border: 0 !important;
    border-top: 1px solid #eee4ea !important;
    margin: 30px 0 !important;
}

body.amiva-info-page .amiva-info-card table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 22px 0 !important;
    background: #fff !important;
}

body.amiva-info-page .amiva-info-card th,
body.amiva-info-page .amiva-info-card td {
    padding: 12px 14px !important;
    border: 1px solid #eadfe5 !important;
    vertical-align: top !important;
}

body.amiva-info-page .amiva-info-card th {
    background: #fff7fb !important;
    color: #5a1740 !important;
}

@media (max-width: 782px) {
    body.amiva-info-page .amiva-info-card {
        width: calc(100% - 24px) !important;
        margin: 18px auto 92px !important;
        padding: 26px 18px 30px !important;
        border-radius: 14px !important;
        font-size: 15.5px !important;
        line-height: 1.72 !important;
        box-shadow: 0 8px 24px rgba(31, 21, 28, 0.07) !important;
    }

    body.amiva-info-page .amiva-info-card h1 {
        font-size: 27px !important;
        margin-bottom: 22px !important;
    }

    body.amiva-info-page .amiva-info-card h2 {
        font-size: 21px !important;
        margin-top: 30px !important;
    }

    body.amiva-info-page .amiva-info-card h3 {
        font-size: 18px !important;
    }

    body.amiva-info-page .amiva-info-card table {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

/* =========================================================
   v0.3.20 — AMIVA MY ACCOUNT
   Clean Login / Register cards + optional guest shopping path.
========================================================= */
body.amiva-my-account-page {
    background: #f7f7fa !important;
}

body.amiva-my-account-page main,
body.amiva-my-account-page .wp-site-blocks > main {
    background: #f7f7fa !important;
}

body.amiva-my-account-page .wp-block-post-title,
body.amiva-my-account-page .entry-title {
    width: min(1080px, calc(100% - 48px)) !important;
    margin: 38px auto 16px !important;
    color: #241d27 !important;
    font-size: clamp(30px, 3.2vw, 42px) !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

body.amiva-my-account-page .woocommerce {
    box-sizing: border-box !important;
    width: min(1080px, calc(100% - 48px)) !important;
    max-width: 1080px !important;
    margin: 22px auto 70px !important;
    color: #332b35 !important;
}

body.amiva-my-account-page .woocommerce .u-columns.col2-set {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px !important;
    width: 100% !important;
}

body.amiva-my-account-page .woocommerce .u-column1,
body.amiva-my-account-page .woocommerce .u-column2 {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

body.amiva-my-account-page .woocommerce .u-column1 > h2,
body.amiva-my-account-page .woocommerce .u-column2 > h2 {
    margin: 0 0 14px !important;
    color: #b5166d !important;
    font-size: 24px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
}

body.amiva-my-account-page .woocommerce form.login,
body.amiva-my-account-page .woocommerce form.register {
    box-sizing: border-box !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 30px !important;
    background: #ffffff !important;
    border: 1px solid rgba(181, 22, 109, 0.14) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 32px rgba(31, 21, 28, 0.07) !important;
}

body.amiva-my-account-page .woocommerce form .form-row {
    margin: 0 0 18px !important;
    padding: 0 !important;
}

body.amiva-my-account-page .woocommerce form .form-row label {
    display: block !important;
    margin: 0 0 8px !important;
    color: #37303a !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
    opacity: 1 !important;
}

body.amiva-my-account-page .woocommerce form .required {
    color: #b5166d !important;
    font-weight: 700 !important;
}

body.amiva-my-account-page .woocommerce form input.input-text,
body.amiva-my-account-page .woocommerce form input[type="text"],
body.amiva-my-account-page .woocommerce form input[type="email"],
body.amiva-my-account-page .woocommerce form input[type="password"] {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    color: #28212b !important;
    border: 1px solid #d8d1d7 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

body.amiva-my-account-page .woocommerce form input:focus {
    outline: none !important;
    border-color: #b5166d !important;
    box-shadow: 0 0 0 3px rgba(181, 22, 109, 0.10) !important;
}

body.amiva-my-account-page .woocommerce form .show-password-input {
    top: 50% !important;
    transform: translateY(-50%) !important;
    right: 14px !important;
}

body.amiva-my-account-page .woocommerce form .woocommerce-form-login__rememberme {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 2px 0 14px !important;
    color: #5c535e !important;
    font-size: 14px !important;
}

body.amiva-my-account-page .woocommerce form .woocommerce-form-login__rememberme input {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
}

body.amiva-my-account-page .woocommerce form .woocommerce-button,
body.amiva-my-account-page .woocommerce form button.button,
body.amiva-my-account-page .woocommerce form input.button {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 50px !important;
    margin: 6px 0 0 !important;
    padding: 12px 18px !important;
    background: #b5166d !important;
    color: #ffffff !important;
    border: 1px solid #b5166d !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body.amiva-my-account-page .woocommerce form .woocommerce-button:hover,
body.amiva-my-account-page .woocommerce form button.button:hover,
body.amiva-my-account-page .woocommerce form input.button:hover {
    filter: brightness(0.93) !important;
}

body.amiva-my-account-page .woocommerce .woocommerce-LostPassword,
body.amiva-my-account-page .woocommerce .lost_password {
    margin: 16px 0 0 !important;
    text-align: center !important;
}

body.amiva-my-account-page .woocommerce a {
    color: #a51162 !important;
}

body.amiva-my-account-page .woocommerce .woocommerce-privacy-policy-text,
body.amiva-my-account-page .woocommerce form.register > p:not(.form-row) {
    color: #68606a !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

body.amiva-my-account-page .amiva-account-guest {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    width: 100% !important;
    margin: 26px 0 0 !important;
    padding: 24px 26px !important;
    background: #fff7fb !important;
    border: 1px solid rgba(181, 22, 109, 0.18) !important;
    border-radius: 16px !important;
}

body.amiva-my-account-page .amiva-account-guest__text {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    color: #4b424d !important;
    line-height: 1.5 !important;
}

body.amiva-my-account-page .amiva-account-guest__text strong {
    color: #2d2530 !important;
    font-size: 17px !important;
}

body.amiva-my-account-page .amiva-account-guest__text span {
    font-size: 14px !important;
}

body.amiva-my-account-page .amiva-account-guest__button {
    flex: 0 0 auto !important;
    min-width: 220px !important;
    padding: 13px 20px !important;
    background: #ffffff !important;
    color: #b5166d !important;
    border: 1.5px solid #b5166d !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
}

body.amiva-my-account-page .amiva-account-guest__button:hover {
    background: #b5166d !important;
    color: #ffffff !important;
}

/* Logged-in My Account dashboard */
body.amiva-my-account-page .woocommerce-MyAccount-navigation {
    box-sizing: border-box !important;
    float: left !important;
    width: 25% !important;
    padding-right: 24px !important;
}

body.amiva-my-account-page .woocommerce-MyAccount-navigation ul {
    margin: 0 !important;
    padding: 10px !important;
    list-style: none !important;
    background: #ffffff !important;
    border: 1px solid #eadfe5 !important;
    border-radius: 14px !important;
}

body.amiva-my-account-page .woocommerce-MyAccount-navigation li {
    margin: 0 !important;
}

body.amiva-my-account-page .woocommerce-MyAccount-navigation a {
    display: block !important;
    padding: 12px 14px !important;
    color: #403742 !important;
    border-radius: 9px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}

body.amiva-my-account-page .woocommerce-MyAccount-navigation li.is-active a,
body.amiva-my-account-page .woocommerce-MyAccount-navigation a:hover {
    background: #fff0f7 !important;
    color: #b5166d !important;
}

body.amiva-my-account-page .woocommerce-MyAccount-content {
    box-sizing: border-box !important;
    float: right !important;
    width: 75% !important;
    padding: 28px 30px !important;
    background: #ffffff !important;
    border: 1px solid #eadfe5 !important;
    border-radius: 14px !important;
    color: #3f3742 !important;
}

@media (max-width: 782px) {
    body.amiva-my-account-page .wp-block-post-title,
    body.amiva-my-account-page .entry-title,
    body.amiva-my-account-page .woocommerce {
        width: calc(100% - 24px) !important;
    }

    body.amiva-my-account-page .wp-block-post-title,
    body.amiva-my-account-page .entry-title {
        margin-top: 20px !important;
        font-size: 29px !important;
    }

    body.amiva-my-account-page .woocommerce {
        margin-top: 14px !important;
        margin-bottom: 105px !important;
    }

    body.amiva-my-account-page .woocommerce .u-columns.col2-set {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body.amiva-my-account-page .woocommerce form.login,
    body.amiva-my-account-page .woocommerce form.register {
        padding: 22px 18px !important;
        border-radius: 14px !important;
    }

    body.amiva-my-account-page .amiva-account-guest {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 16px !important;
        padding: 20px 18px !important;
        text-align: center !important;
    }

    body.amiva-my-account-page .amiva-account-guest__button {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.amiva-my-account-page .woocommerce-MyAccount-navigation,
    body.amiva-my-account-page .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
    }

    body.amiva-my-account-page .woocommerce-MyAccount-navigation {
        padding: 0 !important;
        margin-bottom: 16px !important;
    }

    body.amiva-my-account-page .woocommerce-MyAccount-content {
        padding: 22px 18px !important;
    }
}

/* ==========================================================
   v0.3.21 — My Account dashboard Mongolian copy
   ========================================================== */
body.amiva-account-dashboard-root .woocommerce-MyAccount-content > p {
    display: none !important;
}

body.amiva-my-account-page .amiva-account-dashboard-intro {
    margin: 0 !important;
    padding: 2px 0 !important;
    color: #28222a !important;
    font-size: 17px !important;
    line-height: 1.75 !important;
}

body.amiva-my-account-page .amiva-account-dashboard-intro p {
    margin: 0 0 16px !important;
}

body.amiva-my-account-page .amiva-account-dashboard-intro p:last-child {
    margin-bottom: 0 !important;
}

body.amiva-my-account-page .amiva-account-dashboard-intro a {
    color: #b5166d !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}


/* ==========================================================
   v0.3.22 — Focused My Account auth screen
   Login-first layout inspired by the supplied reference.
   Register toggles the native WooCommerce registration form;
   guest shopping stays available underneath.
   ========================================================== */
body.amiva-my-account-page.amiva-account-logged-out,
body.amiva-my-account-page.amiva-account-logged-out main,
body.amiva-my-account-page.amiva-account-logged-out .wp-site-blocks > main {
    background: #ffffff !important;
}

body.amiva-account-logged-out .wp-block-post-title,
body.amiva-account-logged-out .entry-title {
    display: none !important;
}

body.amiva-account-logged-out .woocommerce {
    width: min(768px, calc(100% - 32px)) !important;
    max-width: 768px !important;
    margin: 56px auto 80px !important;
}

body.amiva-account-logged-out .woocommerce .u-columns.col2-set {
    display: block !important;
    width: 100% !important;
}

body.amiva-account-logged-out .woocommerce .u-column1,
body.amiva-account-logged-out .woocommerce .u-column2 {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
}

body.amiva-account-logged-out .woocommerce .u-column1 > h2,
body.amiva-account-logged-out .woocommerce .u-column2 > h2 {
    display: none !important;
}

body.amiva-account-logged-out .amiva-auth-heading {
    margin: 0 0 38px !important;
    color: #244d6b !important;
    font-size: clamp(34px, 4vw, 46px) !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    text-align: center !important;
    letter-spacing: -0.02em !important;
}

body.amiva-account-logged-out .woocommerce form.login,
body.amiva-account-logged-out .woocommerce form.register {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.amiva-account-logged-out .woocommerce form .form-row {
    margin: 0 0 26px !important;
}

body.amiva-account-logged-out .woocommerce form .form-row label {
    margin: 0 0 8px !important;
    color: #8d98a2 !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}

body.amiva-account-logged-out .woocommerce form input.input-text,
body.amiva-account-logged-out .woocommerce form input[type="text"],
body.amiva-account-logged-out .woocommerce form input[type="email"],
body.amiva-account-logged-out .woocommerce form input[type="password"] {
    min-height: 68px !important;
    padding: 15px 18px !important;
    background: #ffffff !important;
    color: #243746 !important;
    border: 2px solid #d3dae1 !important;
    border-radius: 8px !important;
    font-size: 18px !important;
}

body.amiva-account-logged-out .woocommerce form input:focus {
    border-color: #2f6383 !important;
    box-shadow: 0 0 0 3px rgba(47,99,131,.10) !important;
}

body.amiva-account-logged-out .woocommerce .woocommerce-LostPassword,
body.amiva-account-logged-out .woocommerce .lost_password {
    margin: 4px 0 30px !important;
    text-align: center !important;
    font-size: 18px !important;
}

body.amiva-account-logged-out .woocommerce .woocommerce-LostPassword a,
body.amiva-account-logged-out .woocommerce .lost_password a {
    color: #244d6b !important;
    text-decoration: none !important;
}

body.amiva-account-logged-out .woocommerce form .woocommerce-form-login__rememberme {
    display: none !important;
}

body.amiva-account-logged-out .amiva-auth-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    margin-top: 8px !important;
}

body.amiva-account-logged-out .amiva-auth-switch,
body.amiva-account-logged-out .woocommerce form .woocommerce-button,
body.amiva-account-logged-out .woocommerce form button.button,
body.amiva-account-logged-out .woocommerce form input.button {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 14px 18px !important;
    border-radius: 8px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    text-align: center !important;
    cursor: pointer !important;
}

body.amiva-account-logged-out .amiva-auth-switch {
    background: #ffffff !important;
    color: #244d6b !important;
    border: 2px solid #2f6383 !important;
}

body.amiva-account-logged-out .woocommerce form .woocommerce-button,
body.amiva-account-logged-out .woocommerce form button.button,
body.amiva-account-logged-out .woocommerce form input.button {
    background: #315f7b !important;
    color: #ffffff !important;
    border: 2px solid #315f7b !important;
}

body.amiva-account-logged-out .amiva-auth-switch:hover,
body.amiva-account-logged-out .woocommerce form .woocommerce-button:hover,
body.amiva-account-logged-out .woocommerce form button.button:hover,
body.amiva-account-logged-out .woocommerce form input.button:hover {
    filter: brightness(.96) !important;
}

body.amiva-account-logged-out .amiva-account-guest {
    display: block !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    text-align: center !important;
}

body.amiva-account-logged-out .amiva-account-guest__text {
    display: none !important;
}

body.amiva-account-logged-out .amiva-account-guest__button {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 56px !important;
    padding: 14px 18px !important;
    background: #f7f9fb !important;
    color: #315f7b !important;
    border: 1.5px solid #cbd6de !important;
    border-radius: 8px !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body.amiva-account-logged-out .amiva-account-guest__button:hover {
    background: #eef4f7 !important;
    color: #244d6b !important;
}

body.amiva-account-logged-out .woocommerce .u-column2 {
    display: none !important;
}

body.amiva-account-logged-out.amiva-auth-register-mode .woocommerce .u-column1 {
    display: none !important;
}

body.amiva-account-logged-out.amiva-auth-register-mode .woocommerce .u-column2 {
    display: block !important;
}

body.amiva-account-logged-out .woocommerce-privacy-policy-text,
body.amiva-account-logged-out .woocommerce form.register > p:not(.form-row) {
    color: #7a858e !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

@media (max-width: 782px) {
    body.amiva-account-logged-out .woocommerce {
        width: calc(100% - 28px) !important;
        margin: 30px auto 110px !important;
    }

    body.amiva-account-logged-out .amiva-auth-heading {
        margin-bottom: 26px !important;
        font-size: 34px !important;
    }

    body.amiva-account-logged-out .woocommerce form .form-row label {
        font-size: 17px !important;
    }

    body.amiva-account-logged-out .woocommerce form input.input-text,
    body.amiva-account-logged-out .woocommerce form input[type="text"],
    body.amiva-account-logged-out .woocommerce form input[type="email"],
    body.amiva-account-logged-out .woocommerce form input[type="password"] {
        min-height: 58px !important;
        font-size: 16px !important;
    }

    body.amiva-account-logged-out .amiva-auth-actions {
        gap: 10px !important;
    }

    body.amiva-account-logged-out .amiva-auth-switch,
    body.amiva-account-logged-out .woocommerce form .woocommerce-button,
    body.amiva-account-logged-out .woocommerce form button.button,
    body.amiva-account-logged-out .woocommerce form input.button {
        min-height: 54px !important;
        font-size: 16px !important;
    }
}

/* v0.3.23 — percentage discount badge */
.amiva-sale-percent {
    letter-spacing: -0.2px !important;
    white-space: nowrap !important;
}
