/* mobile.css loaded last */
/* The footer newsletter and popup use this brand face on every language route.
   Keep a compact mobile face available before the deferred font catalogues. */
@font-face {
  font-family: "Tangerine";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/wp-content/themes/astra-child/assets/fonts/store-tangerine-400.woff2") format("woff2");
}

@media (max-width: 921px) {
  /* Freeze the complete mobile header chain before optimized CSS arrives. */
  body.ast-header-break-point #masthead {
    height: 96px !important;
    min-height: 96px !important;
    box-sizing: border-box !important;
  }

  body.ast-header-break-point #ast-desktop-header {
    display: none !important;
  }

  body.ast-header-break-point #ast-mobile-header {
    display: block !important;
  }

  :root{
    --gutter: clamp(16px, 5vw, 24px);
    --tap: 44px;
    --fs-base: clamp(15px, 4.2vw, 17px);
    --fs-sm: 12px;
    --header-offset: 40px;
    }

  /* Global resets (mobile only) */
  html, body { font-size: var(--fs-base); }
  .ast-container,
  .site-primary-footer-wrap[data-section="section-primary-footer-builder"] .ast-builder-grid-row {
    padding-inline: var(--gutter) !important;
  }

  /* Do not block copy/paste on mobile */
  html, body, * { user-select: text !important; -webkit-user-select: text !important; }
  img { max-width: 100%; height: auto; }

  /* Header / Nav */
  .main-header-menu { gap: 20px !important; }
  .site-header-primary-section-right.site-header-section.ast-flex.ast-grid-right-section { gap: 20px !important; }

  /* If the mobile menu is active, keep the desktop menu hidden */
  /* Keep the cart icon and badge aligned */
  .ast-site-header-cart-li,
  .ast-site-header-cart-li a.cart-container { height: var(--tap); }

  /* Lower sticky header spacing on mobile */
  .ast-woocommerce-container { padding-top: 110px !important; }

  /* Product Grid (PLP) */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 16px !important;
  }
  .woocommerce .products { margin-top: 16px !important; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .price {
    text-align: left !important;
    font-size: 14px !important;
  }

  /* Breadcrumb + Sort wrapper */
  .breadcrumb-sort-wrapper { gap: 8px; }
  .woocommerce .woocommerce-ordering select.orderby { font-size: 12px; }

  /* PDP */
  .single-product .lls-two-col {
    display: block;
  }
  .single-product .lls-left { width: 100%; }
  .single-product .lls-product-vertical-gallery__inner { width: 100% !important; }
  .single-product .summary.entry-summary {
    position: static;
    width: 100% !important;
  }
  h1.product_title.entry-title { font-size: 18px !important; margin-bottom: 0px !important;}
  .woocommerce .price { font-size: 14px !important; }
  .single-product table.variations select#pa_size {
    height: 40px !important;
    font-size: 12px !important;
    background-size: 10px !important;
  }
  /* Sticky CTA bar at the bottom */
  .pdp-sticky-cta { position: sticky; bottom: 0; background:var(--surface-primary); padding: 12px; border-top:1px solid var(--border-subtle); }
  .pdp-sticky-cta .single_add_to_cart_button { width: 100% !important; height: var(--tap) !important; font-size: 14px !important; }

/* Policy/Content pages */
  .elementor-element-70fd2b8 .elementor-widget-container img { width: 100% !important; }
  .table-wrap--ring-sizes { padding-inline: 0 !important; }
  .table--ring-sizes .table__cell { width: auto; }
}

@media (max-width: 767px) {
  /* Cart table turned into cards */
  .woocommerce-cart-form__contents thead { display: none; }
  .woocommerce-cart-form__cart-item.cart_item,
  .woocommerce-cart-form__cart-item.cart_item td {
    padding-left: var(--gutter) !important;
    padding-right: var(--gutter) !important;
  }

  .woocommerce-cart-form__cart-item.cart_item {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 12px;
    align-items: center;
    padding-block: 12px !important;
    border-bottom: 1px solid var(--border-subtle);
  }

  .woocommerce-cart-form__cart-item .product-thumbnail { width: auto !important; }

  .woocommerce-cart-form__cart-item .product-thumbnail img {
    max-width: 88px !important;
    margin: 0 !important;
  }

  .woocommerce-cart-form__cart-item .product-name a,
  .woocommerce-cart-form__cart-item .product-name dl.variation,
  .woocommerce-cart-form__cart-item .product-name .amount {
    padding-left: 0 !important;
    font-size: 14px !important;
  }

  .woocommerce-cart-form__cart-item .product-quantity,
  .woocommerce-cart-form__cart-item .product-subtotal {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 6px;
  }

  .quantity-without-bin { height: var(--tap); }
  .quantity-without-bin .qty-btn { padding: 0 10px; }
  .quantity-without-bin .quantity input.qty { width: 40px; padding: 0; font-size: 16px; }

  .woocommerce-cart-form__cart-item .product-quantity a.remove {
    width: var(--tap);
    height: var(--tap);
  }

  .cart-collaterals {
    text-align: left !important;
    padding-inline: var(--gutter) !important;
  }

  .cart-collaterals .button.checkout {
    width: 100% !important;
    max-width: none !important;
    height: var(--tap) !important;
    font-size: 14px !important;
  }

  .woocommerce-cart-form__contents td.actions {
    padding-inline: var(--gutter) !important;
  }

  input#coupon_code.input-text { width: 55% !important; }

  button.button[name="apply_coupon"] {
    width: auto !important;
    padding: 0 10px !important;
    height: var(--tap) !important;
  }
}

@media (max-width: 921px){

  /* Wrapper with light padding and vertical centering */
  body.ast-header-break-point #ast-mobile-header .ast-primary-header-bar{
    padding: 20px 35px !important;
    height: 96px !important;
    min-height: 96px !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }
  body.ast-header-break-point #ast-mobile-header,
  body.ast-header-break-point #ast-mobile-header .ast-main-header-wrap {
    height: 96px !important;
    min-height: 96px !important;
    box-sizing: border-box !important;
  }
  body.ast-header-break-point #ast-mobile-header .ast-builder-grid-row{
    align-items: center !important;
    min-height: 56px; /* Mobile adjustment */
    column-gap: 16px !important;
  }

  /* Center logo */
  body.ast-header-break-point #ast-mobile-header .site-logo-img{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
  }
  body.ast-header-break-point #ast-mobile-header .custom-mobile-logo-link{
    display: inline-block !important;
  }
  body.ast-header-break-point #ast-mobile-header .custom-mobile-logo-link img.ast-mobile-header-logo{
    display: block !important;
    margin: 0 auto !important;
    height: auto !important;
    max-height: 48px !important; /* Mobile adjustment */
  }

  /* Menu toggle icon (clean image) */
  body.ast-header-break-point .ast-mobile-menu-trigger-fill .mobile-menu-toggle-icon{
    background: url('https://www.lalousi.com/wp-content/uploads/2025/11/toggle-mobile-menu-dark.png') no-repeat center center / contain;
    width: 32px;
    height: 32px;
    display: block;
    border: none;
    box-shadow: none;
  }
  body.ast-header-break-point .ast-mobile-menu-trigger-fill .mobile-menu-toggle-icon svg{ display: none !important; }

  /* The source artwork is black. On the dark canvas use the same raster with
     a reliable inversion instead of a CSS mask, which optimized CSS could
     remove. The close state stays in the same #F5F5F5 colour. */
  html[data-theme="dark"] body .ast-mobile-menu-trigger-fill .mobile-menu-toggle-icon{
    background: url('https://www.lalousi.com/wp-content/uploads/2025/11/toggle-mobile-menu-dark.png') no-repeat center center / contain !important;
    filter: brightness(0) invert(1) !important;
  }
  html[data-theme="dark"] body.ast-main-header-nav-open .ast-mobile-menu-trigger-fill .mobile-menu-toggle-icon{
    background-image: url('https://www.lalousi.com/wp-content/uploads/2025/11/toggle-off-menu-mobile.png') !important;
  }
  body.ast-header-break-point .ast-mobile-menu-trigger-fill,
  body.ast-header-break-point .ast-mobile-menu-trigger-fill button,
  body.ast-header-break-point .menu-toggle.main-header-menu-toggle{
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  /* Cart icon (clean image) */
  body.ast-header-break-point .ast-header-woo-cart .ast-icon-shopping-cart,
  body.ast-header-break-point .ast-header-woo-cart .ast-icon-shopping-cart .ast-icon,
  body.ast-header-break-point .ast-header-woo-cart .ast-icon-shopping-cart svg{
    display: none !important;
  }
  body.ast-header-break-point .ast-header-woo-cart .cart-container{
    background: url('https://www.lalousi.com/wp-content/uploads/2025/11/shopping-bag-icon-mobile-dark.png') no-repeat center center / contain !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-block !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }
  body.ast-header-break-point .ast-site-header-cart-li,
  body.ast-header-break-point .ast-site-header-cart{
    border: none !important;
    background: none !important;
    box-shadow: none !important;
  }
  /* Vertically center the cart icon */
  body.ast-header-break-point .ast-header-woo-cart .ast-site-header-cart-li{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
  }
}

/* Disable sticky header on mobile */
@media (max-width: 921px) {
    body.ast-header-break-point .site-header {
        position: static !important;
        background-color: transparent !important;
        box-shadow: none !important;
    }

    body.ast-header-break-point .site-header + .content {
        margin-top: 0 !important;
    }
}

/* Keep the standard mobile header over the homepage hero without adding a
   separate dark or light strip before the artwork. */
@media (max-width: 921px) {
    body.home .site-header {
        position: absolute !important;
        inset: 0 0 auto !important;
        z-index: 20 !important;
        background: transparent !important;
    }

    body.home #content.site-content {
        padding-top: 0 !important;
    }

    body.home #content.site-content .ast-container {
        min-height: 0 !important;
        display: block !important;
    }
}
/* Footer */
@media (max-width: 921px) {

    /* Hide the default Astra footer */
    .site-footer {
        display: none !important;
    }

    /* Footer wrapper */
    .lalousi-footer-mobile {
        display: block !important;
        background: var(--surface-primary) !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    .lalousi-footer-mobile-inner {
        padding-top: 55px !important;
        padding-left: 35px !important;
        padding-right: 35px !important;
        padding-bottom: 35px !important;
        margin: 0 0 !important;
        box-sizing: border-box !important;
    }

    /* Newsletter */

    #newsletter-subscribe {
        font-family: var(--font-body) !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        text-align: left !important;
    }

    #newsletter-subscribe h4 {
        font-family: var(--font-special) !important;
        font-size: 25px !important;
        font-weight: 600 !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
        color: var(--text-primary) !important;
        text-align: center !important;
    }

    #newsletter-subscribe form {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* row = underline + input + icon (CENTERED block) */
    #newsletter-subscribe .email-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 230px !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        position: relative !important;

        border-bottom: 1px solid var(--text-primary) !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    /* Input */
    #newsletter-subscribe #email {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 36.5px !important;
        border: none !important;
        background: transparent !important;

        padding: 0 45px 0 14.5px !important;
        margin: 0 !important;

        font-family: var(--font-body) !important;
        font-size: 16px !important;
        color: var(--text-primary) !important;

        outline: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }

    #newsletter-subscribe #email::placeholder {
        color: var(--text-secondary) !important;
        font-size: 10px !important;
        font-family: var(--font-body) !important;
        padding-left: 0 !important;
    }

    /* Match the desktop arrow, centred in the same 45px touch target. */
    #newsletter-subscribe #subscribe-btn {
      width: 45px !important;
      height: 36.5px !important;

      background: transparent !important;

      padding: 0 !important;
      margin: 0 !important;
      border: none !important;
      box-shadow: none !important;
      border-radius: 0 !important;

      display: grid !important;
      place-items: center !important;
      cursor: pointer !important;

      font-size: 0 !important;       /* SIGN UP */
      line-height: 0 !important;     /* Mobile adjustment */
      color: var(--text-primary) !important;

      overflow: hidden !important;

      position: absolute !important;
      top: 0 !important;
      right: 0 !important;
      min-width: 45px !important;
      min-height: 36.5px !important;
  }

    #newsletter-subscribe #subscribe-btn img {
        display: none !important;
    }

    #newsletter-subscribe #subscribe-btn::before {
        width: 16px !important;
        height: 16px !important;
        content: "" !important;
        background: currentColor !important;
        -webkit-mask: url("https://www.lalousi.com/wp-content/uploads/2026/09/icons-forward.png") center / contain no-repeat !important;
        mask: url("https://www.lalousi.com/wp-content/uploads/2026/09/icons-forward.png") center / contain no-repeat !important;
        transform: translateX(-0.67px) !important;
    }

    html[data-theme="dark"] .lalousi-footer-mobile #newsletter-subscribe #subscribe-btn {
        background: transparent !important;
        -webkit-mask: none !important;
        mask: none !important;
    }

    /* GAP Newsletter Menu */
    .lalousi-footer-mobile-menu {
        margin: 75px 0 0 0 !important;        /* Mobile adjustment */
        padding: 0 !important;
        text-align: center !important;
    }

    /* MENU (LEFT ALIGN) */
    .lalousi-footer-mobile-menu-list {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;

        font-family: var(--font-body) !important;
        font-size: 15px !important;
        color: var(--text-primary) !important;
        line-height: 1.7 !important;
        text-align: center !important;
    }

    .lalousi-footer-mobile-menu-list li {
        width: 100% !important;
    }

    .lalousi-footer-mobile-menu-list a {
        color: var(--text-primary) !important;
        text-decoration: none !important;
        display: inline-block !important;
    }

    .lalousi-footer-mobile-meta {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        margin: 24px 0 0 0 !important;
        padding: 0 !important;
        text-align: center !important;
    }

    .lalousi-footer-mobile-currency {
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        color: var(--text-primary) !important;
    }

    .lalousi-footer-mobile-theme,
    .lalousi-footer-mobile-language {
        display: inline-flex !important;
        align-items: center !important;
        margin: 0 18px 0 0 !important;
        padding: 0 18px 0 0 !important;
        border-right: 1px solid color-mix(in srgb, var(--text-primary) 14%, transparent) !important;
        vertical-align: middle !important;
    }

    .lalousi-footer-mobile-theme,
    .lalousi-footer-mobile-language,
    .lalousi-footer-mobile-currency {
        display: inline-flex !important;
        vertical-align: middle !important;
    }

    .lalousi-footer-mobile-theme .lalousi-theme-switcher {
        display: inline-flex !important;
        min-height: 24px !important;
        margin: 0 !important;
        color: var(--text-primary) !important;
        font-size: 13px !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher {
        position: relative !important;
        display: inline-flex !important;
        margin: 0 !important;
        color: var(--text-primary) !important;
        font-family: var(--font-body) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        letter-spacing: .11em !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher summary {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 24px !important;
        padding: 0 !important;
        cursor: pointer !important;
        list-style: none !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher summary::-webkit-details-marker {
        display: none !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher summary::after {
        display: inline-block !important;
        width: 5px !important;
        height: 5px !important;
        margin-left: 2px !important;
        border-right: 1px solid currentColor !important;
        border-bottom: 1px solid currentColor !important;
        content: "" !important;
        transform: rotate(45deg) translateY(-2px) !important;
        transition: transform 220ms ease !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher[open] summary::after {
        transform: rotate(225deg) translate(-1px, -2px) !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher__panel {
        position: absolute !important;
        z-index: 2100 !important;
        bottom: calc(100% + 12px) !important;
        left: 0 !important;
        right: auto !important;
        display: grid !important;
        min-width: 148px !important;
        padding: 8px !important;
        overflow: visible !important;
        background: color-mix(in srgb, var(--surface-primary) 96%, transparent) !important;
        border: 1px solid color-mix(in srgb, var(--text-primary) 5.5%, transparent) !important;
        border-radius: 16px !important;
        box-shadow: var(--shadow-glass) !important;
        backdrop-filter: blur(18px) saturate(1.03) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.03) !important;
        text-align: left !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-8px) scale(.985) !important;
        transform-origin: bottom left !important;
        box-sizing: border-box !important;
        transition: opacity 180ms cubic-bezier(.16, 1, .3, 1), transform 180ms cubic-bezier(.16, 1, .3, 1), visibility 0s linear 180ms !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher__panel::after {
        content: none !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher[open] .lalousi-language-switcher__panel {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
        transition-delay: 0s !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher__panel a {
        display: grid !important;
        grid-template-columns: 11px 1fr auto !important;
        align-items: center !important;
        column-gap: 12px !important;
        width: calc(100% - 16px) !important;
        min-height: 0 !important;
        margin: 0 8px !important;
        padding: 10px 16px !important;
        box-sizing: border-box !important;
        border-radius: 10px !important;
        color: var(--text-primary) !important;
        font-family: var(--font-body) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        letter-spacing: .095em !important;
        line-height: 1.05 !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher__panel a:hover,
    .lalousi-footer-mobile-language .lalousi-language-switcher__panel a:focus-visible,
    .lalousi-footer-mobile-language .lalousi-language-switcher__panel a.is-current {
        background: color-mix(in srgb, var(--text-primary) 2.4%, transparent) !important;
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 3%, transparent) !important;
        outline: none !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher__bullet {
        width: 11px !important;
        height: 11px !important;
        border: 1px solid color-mix(in srgb, var(--text-primary) 26%, transparent) !important;
        border-radius: 50% !important;
        box-sizing: border-box !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher__panel a.is-current .lalousi-language-switcher__bullet {
        border-color: color-mix(in srgb, var(--text-primary) 42%, transparent) !important;
        background-image: radial-gradient(circle at center, var(--text-primary) 0 2px, transparent 2.1px) !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher__option-code {
        grid-column: 2 !important;
        min-width: 0 !important;
        letter-spacing: .11em !important;
        text-align: left !important;
    }

    .lalousi-footer-mobile-language .lalousi-language-switcher__name {
        display: none !important;
    }

    .lalousi-footer-mobile-currency aside,
    .lalousi-footer-mobile-currency section,
    .lalousi-footer-mobile-currency .footer-widget-area,
    .lalousi-footer-mobile-currency .widget-area,
    .lalousi-footer-mobile-currency .site-footer-focus-item,
    .lalousi-footer-mobile-currency .footer-widget-area-inner,
    .lalousi-footer-mobile-currency .widget_block {
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .lalousi-footer-mobile-currency .widget,
    .lalousi-footer-mobile-currency form {
        margin: 0 !important;
        padding: 0 !important;
    }

    .lalousi-footer-mobile-currency .currency-switcher-holder,
    .lalousi-footer-mobile-currency .la-currency-switcher {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        line-height: 1 !important;
    }

    .lalousi-footer-mobile-currency .currency-switcher-holder select[name="currency"] {
        position: absolute !important;
        inset: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__trigger {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        min-width: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-family: var(--font-body) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        letter-spacing: 0.11em !important;
        text-transform: uppercase !important;
        color: inherit !important;
        cursor: pointer !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
        transition: opacity 0.22s ease !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__trigger::after {
        display: inline-block !important;
        width: 5px !important;
        height: 5px !important;
        margin-left: 2px !important;
        border-right: 1px solid currentColor !important;
        border-bottom: 1px solid currentColor !important;
        content: "" !important;
        transform: rotate(45deg) translateY(-2px) !important;
        transition: transform 220ms ease !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher.is-open .la-currency-switcher__trigger::after {
        transform: rotate(225deg) translate(-1px, -2px) !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__trigger-symbol {
        font-family: var(--font-body) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        letter-spacing: 0.02em !important;
        line-height: 1 !important;
        color: inherit !important;
        text-transform: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__trigger-symbol.is-empty {
        display: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__trigger-code {
        font-family: var(--font-body) !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        letter-spacing: 0.11em !important;
        line-height: 1 !important;
        color: inherit !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__trigger:hover,
    .lalousi-footer-mobile-currency .la-currency-switcher.is-open .la-currency-switcher__trigger {
        opacity: 0.72 !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__panel {
        position: absolute !important;
        top: auto !important;
        bottom: calc(100% + 12px) !important;
        /* The panel is wider than the EUR trigger. It must grow back into
           the footer, not out past the viewport; even while invisible an
           absolutely-positioned panel contributes to document scroll width. */
        left: auto !important;
        right: 0 !important;
        min-width: 248px !important;
        width: fit-content !important;
        max-width: min(320px, calc(100vw - 70px)) !important;
        max-height: 344px !important;
        overflow: hidden !important;
        overflow-x: hidden !important;
        padding: 0 0 8px !important;
        background: color-mix(in srgb, var(--surface-primary) 96%, transparent) !important;
        border: 1px solid color-mix(in srgb, var(--text-primary) 5.5%, transparent) !important;
        border-radius: 16px !important;
        box-shadow: var(--shadow-glass) !important;
        backdrop-filter: blur(18px) saturate(1.03) !important;
        -webkit-backdrop-filter: blur(18px) saturate(1.03) !important;
        z-index: 2100 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translate(0, -8px) scale(0.985) !important;
        transform-origin: bottom right !important;
        transition: opacity 180ms cubic-bezier(0.16, 1, 0.3, 1), transform 180ms cubic-bezier(0.16, 1, 0.3, 1), visibility 0s linear 180ms !important;
        box-sizing: border-box !important;
        will-change: transform, opacity !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__panel::before {
        content: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher.is-open .la-currency-switcher__panel {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translate(0, 0) scale(1) !important;
        transition-delay: 0s !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__search-wrap {
        position: relative !important;
        padding: 9px 10px 6px !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__search {
        width: 100% !important;
        height: 38px !important;
        padding: 0 14px 0 38px !important;
        border: 1px solid color-mix(in srgb, var(--text-primary) 6%, transparent) !important;
        border-radius: 9px !important;
        background: color-mix(in srgb, var(--surface-primary) 58%, transparent) !important;
        box-shadow: none !important;
        font-family: var(--font-body) !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        letter-spacing: 0.02em !important;
        color: var(--text-primary) !important;
        box-sizing: border-box !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__search:focus {
        outline: none !important;
        border-color: color-mix(in srgb, var(--text-primary) 10%, transparent) !important;
        background: color-mix(in srgb, var(--surface-primary) 84%, transparent) !important;
        box-shadow: var(--shadow-subtle) !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__search-wrap::before {
        content: "" !important;
        position: absolute !important;
        left: 28px !important;
        top: 50% !important;
        width: 10px !important;
        height: 10px !important;
        border: 1px solid color-mix(in srgb, var(--text-primary) 28%, transparent) !important;
        border-radius: 50% !important;
        transform: translateY(-55%) !important;
        pointer-events: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__search-wrap::after {
        content: "" !important;
        position: absolute !important;
        left: 36px !important;
        top: calc(50% + 5px) !important;
        width: 5px !important;
        height: 1px !important;
        background: color-mix(in srgb, var(--text-primary) 28%, transparent) !important;
        transform: rotate(45deg) !important;
        transform-origin: left center !important;
        pointer-events: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__list {
        max-height: 278px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 4px 0 2px !important;
        box-sizing: border-box !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__option {
        width: calc(100% - 16px) !important;
        display: grid !important;
        grid-template-columns: 11px 1fr auto !important;
        align-items: center !important;
        column-gap: 12px !important;
        padding: 10px 16px !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        border-radius: 10px !important;
        margin: 0 8px !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__option:hover,
    .lalousi-footer-mobile-currency .la-currency-switcher__option:focus-visible {
        background: color-mix(in srgb, var(--text-primary) 2.4%, transparent) !important;
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 3%, transparent) !important;
        outline: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__divider {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 8px 20px 6px !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__divider::after {
        content: "" !important;
        flex: 1 1 auto !important;
        height: 1px !important;
        background: color-mix(in srgb, var(--text-primary) 7%, transparent) !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__divider-label {
        font-family: var(--font-body) !important;
        font-size: 9px !important;
        font-weight: 500 !important;
        letter-spacing: 0.16em !important;
        text-transform: uppercase !important;
        color: color-mix(in srgb, var(--text-primary) 42%, transparent) !important;
        white-space: nowrap !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__bullet {
        width: 11px !important;
        height: 11px !important;
        flex: 0 0 11px !important;
        border: 1px solid color-mix(in srgb, var(--text-primary) 26%, transparent) !important;
        border-radius: 50% !important;
        display: grid !important;
        place-items: center !important;
        background-image: none !important;
        box-sizing: border-box !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__option.is-selected .la-currency-switcher__bullet {
        border-color: color-mix(in srgb, var(--text-primary) 42%, transparent) !important;
        background-image: radial-gradient(circle at center, var(--text-primary) 0 2px, transparent 2.1px) !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__symbol {
        min-width: 28px !important;
        font-family: var(--font-body) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        letter-spacing: 0.03em !important;
        line-height: 1.05 !important;
        color: var(--text-primary) !important;
        white-space: nowrap !important;
        text-align: right !important;
        justify-self: end !important;
        text-transform: none !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__symbol.is-empty {
        visibility: hidden !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__text {
        font-family: var(--font-body) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.05 !important;
        color: var(--text-primary) !important;
        text-transform: uppercase !important;
        letter-spacing: 0.095em !important;
        opacity: 0.9 !important;
    }

    .lalousi-footer-mobile-currency .la-currency-switcher__option.is-selected {
        background: color-mix(in srgb, var(--text-primary) 2%, transparent) !important;
    }

    /* COPYRIGHT (LEFT ALIGN) */
    .lalousi-footer-mobile-copyright {
        flex: 0 0 100% !important;
        margin: 10px 0 0 0 !important;
        padding: 0 !important;

        font-family: var(--font-body) !important;
        font-size: 8px !important;
        color: var(--text-secondary) !important;
        text-align: left !important;
    }
    .lalousi-footer-mobile-newsletter {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 230px !important;
    max-width: 100% !important;

    text-align: center !important;
    }
}

/* MOBILE MENU - full height, custom spacing and typography */
@media (max-width: 921px) {

  /* 1. White background when the mobile menu is open */
  body.ast-header-break-point.ast-main-header-nav-open {
    background: var(--surface-primary) !important;
    overflow: hidden !important;
  }

  /* 2. Hide the main page content while the menu is open */
  body.ast-header-break-point.ast-main-header-nav-open #content.site-content {
    display: none !important;
  }

  /*
   * The footer is a sibling of #content, so hiding only #content exposed it
   * directly below the 96px header while the menu was open.  It is page
   * content too; the navigation below is now the only open-state layer.
   */
  body.ast-header-break-point.ast-main-header-nav-open .lalousi-footer-mobile,
  body.ast-header-break-point.ast-main-header-nav-open .site-footer {
    display: none !important;
  }

  /* 3. Keep the header above everything and transparent */
  body.ast-header-break-point.ast-main-header-nav-open header.site-header,
  body.ast-header-break-point.ast-main-header-nav-open #ast-mobile-header {
    position: relative !important;
    z-index: 2 !important;
  }

  body.ast-header-break-point.ast-main-header-nav-open .ast-primary-header-bar {
    background: transparent !important;
    box-shadow: none !important;
  }

  /*
   * 4. Mobile menu panel.
   *
   * The header chain is intentionally 96px tall for the normal layout.
   * Keeping Astra's expanded navigation in that normal-flow chain made its
   * viewport calculation overflow the header (and, on Astra builds that clip
   * the header wrapper, left only a short strip visible).  Make the expanded
   * navigation an independent viewport layer below the header instead.
   */
  body.ast-header-break-point.ast-main-header-nav-open #masthead,
  body.ast-header-break-point.ast-main-header-nav-open header.site-header,
  body.ast-header-break-point.ast-main-header-nav-open #ast-mobile-header,
  body.ast-header-break-point.ast-main-header-nav-open #ast-mobile-header .ast-main-header-wrap {
    overflow: visible !important;
  }

  body.ast-header-break-point.ast-main-header-nav-open
  #ast-mobile-header .ast-mobile-header-content .main-header-bar-navigation {
    position: fixed !important;
    top: calc(96px + var(--wp-admin--admin-bar--height, 0px)) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    background: var(--surface-primary) !important;
    display: block !important;
    /* Shared rhythm for the primary menu and SHOP's category view. */
    --lalousi-mobile-menu-gap: 24px;
    --lalousi-mobile-menu-font-size: 29px;
    padding-top: 36px !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    z-index: 3 !important;
  }

  body.ast-header-break-point.ast-main-header-nav-open
  #ast-mobile-header .main-navigation {
    width: 100% !important;
  }

  /* 5. Center the list and remove default list styles */
  body.ast-header-break-point.ast-main-header-nav-open #ast-hf-mobile-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--lalousi-mobile-menu-gap, 30px) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
  }

  /* 6. Space out each list item and remove background styles */
  body.ast-header-break-point.ast-main-header-nav-open #ast-hf-mobile-menu > li {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.ast-header-break-point.ast-main-header-nav-open #ast-hf-mobile-menu > li:last-child {
    margin-bottom: 0 !important;
  }

  /* 7. Link typography and colors */
  body.ast-header-break-point.ast-main-header-nav-open #ast-hf-mobile-menu > li > a.menu-link {
    font-family: var(--font-body) !important;
    font-size: var(--lalousi-mobile-menu-font-size) !important;
    font-weight: 500 !important;
    line-height: 1 !important;

    color: var(--text-primary) !important;
    text-decoration: none !important;
    text-align: center !important;

    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;   /* Remove the white block background */
    border: 0 !important;
    box-shadow: none !important;
  }

  /* SHOP opens the existing Product Menu as a deliberate second menu level. */
  body.ast-header-break-point.ast-main-header-nav-open #ast-hf-mobile-menu > li:has(> a.menu-link .lalousi-mobile-menu-arrow) {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    width: 100% !important;
    align-items: center !important;
    position: relative !important;
  }

  body.ast-header-break-point.ast-main-header-nav-open #ast-hf-mobile-menu > li > a.menu-link:has(.lalousi-mobile-menu-arrow) {
    grid-column: 2 !important;
    position: static !important;
  }

  .lalousi-mobile-menu-arrow {
    position: absolute;
    right: 32px;
    left: auto;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-technical);
    font-size: 20px;
    font-weight: 300;
    line-height: 1;
  }

  .lalousi-mobile-product-menu[hidden] {
    display: none !important;
  }

  /* This is a view switch, not an expanded list below the main navigation. */
  body.ast-header-break-point.ast-main-header-nav-open.lalousi-mobile-product-menu-open #ast-hf-mobile-menu {
    display: none !important;
  }

  body.ast-header-break-point.ast-main-header-nav-open .lalousi-mobile-product-menu {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  /* Override the global button-label heading font: this is navigation, not a CTA. */
  body.ast-header-break-point.ast-main-header-nav-open .lalousi-mobile-product-menu .lalousi-mobile-product-menu__back {
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    margin: 0 0 var(--lalousi-mobile-menu-gap, 30px) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    outline: none !important;
    filter: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -webkit-tap-highlight-color: transparent;
    color: var(--text-primary) !important;
    font-family: var(--font-body) !important;
    font-size: var(--lalousi-mobile-menu-font-size, 30px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer;
    text-decoration: none !important;
  }

  body.ast-header-break-point.ast-main-header-nav-open .lalousi-mobile-product-menu__back > span:last-child {
    font-family: var(--font-body) !important;
    font-size: var(--lalousi-mobile-menu-font-size, 30px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }

  /* Keep the second-level SHOP control visually identical to a first-level link. */
  .lalousi-mobile-product-menu__back:hover,
  .lalousi-mobile-product-menu__back:active,
  .lalousi-mobile-product-menu__back:focus,
  .lalousi-mobile-product-menu__back:focus-visible {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--text-primary) !important;
    outline: none !important;
    filter: none !important;
  }

  .lalousi-mobile-product-menu__back > span:first-child {
    position: absolute;
    left: 32px;
    font-family: var(--font-technical);
    font-size: 20px;
    font-weight: 300;
  }

  .lalousi-mobile-product-menu__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: var(--lalousi-mobile-menu-gap, 30px);
  }

  .lalousi-mobile-product-menu__list > li {
    margin: 0 !important;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
  }

  .lalousi-mobile-product-menu__list > li:last-child {
    margin-bottom: 0;
  }

  .lalousi-mobile-product-menu__list a {
    color: var(--text-primary) !important;
    font-family: var(--font-body) !important;
    font-size: var(--lalousi-mobile-menu-font-size) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}

/* Fullscreen background layer behind the page on HOME only */
body.home::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;          /* Cover the full viewport */
  background: var(--surface-primary);    /* Background color behind the footer */

  z-index: -2 !important; /* fixed Elementor hero */
  pointer-events: none;   /* Mobile adjustment */
}

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

  /* 1. Remove the top padding from #primary on the shop page */
  body.woocommerce .ast-separate-container #primary {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 2. Remove any extra top spacing from the WooCommerce container */
  body.woocommerce .ast-woocommerce-container,
  body.woocommerce .breadcrumb-sort-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .ast-separate-container #primary {
    padding-top: 30px !important;
    padding-bottom: 0px !important;
  }

  /* 1. Products UL top margin */
  body.woocommerce ul.products.columns-4 {
    margin-top: 0 !important;
  }

  /* 3. Product images: max height 220px, width stays proportional */
  body.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
    width: 100% !important;
    height: auto !important;
    max-height: 220px !important;
    object-fit: contain !important;   /* Mobile adjustment */
    display: block !important;
    margin: 0px !important;
  }

  /* Force center alignment in the summary area */
  body.woocommerce ul.products li.product .astra-shop-summary-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;   /* horizontal center */
    justify-content: flex-start !important;
    text-align: center !important;
    width: 100% !important;
    padding-top: 10px !important;
    min-height: 38px !important;
    box-sizing: border-box !important;
  }

  /* Re-apply centering so theme overrides do not break it */
  body.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.woocommerce ul.products li.product .price {
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  @media (max-width: 767px) {
    /* On the compact two-column catalogue, keep the toolbar to sorting only. */
    body.woocommerce .breadcrumb-sort-wrapper {
      justify-content: flex-end;
      margin-bottom: 20px;
    }

    body.woocommerce .breadcrumb-sort-wrapper .product-submenu-list {
      display: none !important;
    }

    body.woocommerce .breadcrumb-sort-wrapper .woocommerce-ordering {
      display: block !important;
    }
  }

  /* Mobile adjustment */
  body.woocommerce ul.products li.product
  .astra-shop-summary-wrap .woocommerce-loop-product__title {
    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    line-height: 14px !important;
    min-height: 14px !important;
    text-transform: uppercase !important;
    margin: 0 0 2px !important;
    font-weight: 400 !important;
    letter-spacing: 1.2px !important;
    font-synthesis: none !important;
  }

  /* Mobile adjustment */
  body.woocommerce ul.products li.product
  .astra-shop-summary-wrap .price,
  body.woocommerce ul.products li.product
  .astra-shop-summary-wrap .price span,
  body.woocommerce ul.products li.product
  .astra-shop-summary-wrap .price bdi {
    font-family: var(--font-body) !important;
    font-size: 9px !important;
    line-height: 12px !important;
    min-height: 12px !important;
    margin: 0 !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    font-synthesis: none !important;
  }

  .ast-separate-container #content .ast-container {
      padding-left: var(--gutter) !important;
      padding-right: var(--gutter) !important;
  }

  body.woocommerce ul.products li.product {
    margin-bottom: 20px !important;
  }
}

/* Store archive geometry: keep the two-column grid centered under page UCSS. */
@media (max-width: 767px) {
  body.ast-woo-shop-archive.ast-separate-container #content .ast-container,
  body.tax-product_cat.ast-separate-container #content .ast-container,
  body.tax-product_tag.ast-separate-container #content .ast-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--gutter) !important;
    padding-right: var(--gutter) !important;
    box-sizing: border-box !important;
  }

  body.ast-woo-shop-archive ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.ast-woo-shop-archive ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.tax-product_tag ul.products li.product {
    width: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
  }

  body.ast-woo-shop-archive ul.products li.product .astra-shop-thumbnail-wrap,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap,
  body.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap {
    width: 100% !important;
    aspect-ratio: 2 / 3 !important;
    overflow: hidden !important;
    background: var(--surface-primary) !important;
  }

  body.ast-woo-shop-archive ul.products li.product .astra-shop-thumbnail-wrap img,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap img,
  body.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  body.ast-woo-shop-archive .product-submenu-list,
  body.tax-product_cat .product-submenu-list,
  body.tax-product_tag .product-submenu-list {
    min-height: 16px !important;
    line-height: 16px !important;
  }

  body.ast-woo-shop-archive .product-submenu-list a,
  body.tax-product_cat .product-submenu-list a,
  body.tax-product_tag .product-submenu-list a {
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 16px !important;
    font-synthesis: none !important;
  }

  /* Keep the active category visibly bold on the mobile archive menu. */
  body.ast-woo-shop-archive .product-submenu-list .current-menu-item > a,
  body.ast-woo-shop-archive .product-submenu-list .current-menu-ancestor > a,
  body.ast-woo-shop-archive .product-submenu-list .current-menu-parent > a,
  body.tax-product_cat .product-submenu-list .current-menu-item > a,
  body.tax-product_cat .product-submenu-list .current-menu-ancestor > a,
  body.tax-product_cat .product-submenu-list .current-menu-parent > a,
  body.tax-product_tag .product-submenu-list .current-menu-item > a,
  body.tax-product_tag .product-submenu-list .current-menu-ancestor > a,
  body.tax-product_tag .product-submenu-list .current-menu-parent > a {
    font-weight: 700 !important;
    font-synthesis: weight !important;
  }
}

@media (max-width: 921px) {
  /* Let the hero / Elementor background come through as soon as mobile header takes over. */
  body.ast-header-break-point .site-header,
  body.ast-header-break-point .site-header.scrolled,
  body.ast-header-break-point .main-header-bar-wrap,
  body.ast-header-break-point .main-header-bar,
  body.ast-header-break-point #ast-mobile-header,
  body.ast-header-break-point #ast-mobile-header .ast-main-header-wrap,
  body.ast-header-break-point #ast-mobile-header .ast-primary-header-bar {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-bottom-color: transparent !important;
  }

  body.ast-header-break-point .site-header + .content {
    margin-top: 0 !important;
  }
}

@media (max-width: 921px) {

  /* When the menu is open (aria-expanded="true") */
  .menu-toggle[aria-expanded="true"] .ast-mobile-svg {
    display: none !important;              /* Hide both the menu icon and the close SVG */
  }

  .menu-toggle[aria-expanded="true"] .mobile-menu-toggle-icon {
    background-image: url("https://www.lalousi.com/wp-content/uploads/2025/11/toggle-off-menu-mobile.png") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 24px 24px !important;

    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}
/* MOBILE PRODUCT GALLERY SLIDER */
@media (max-width: 767px) {

  .single-product .lls-product-vertical-gallery {
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 20px !important;
  }

  .single-product .lls-product-vertical-gallery__inner {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow: visible !important;
  }

  .single-product .lls-product-vertical-gallery__frame > picture,
  .single-product .lls-product-vertical-gallery__frame > img {
    display: block;
    width: 100%;
  }

  .single-product .lls-mobile-gallery--active {
    overflow: hidden;
    touch-action: pan-y pinch-zoom;
  }

  .single-product .lls-mobile-gallery--active .lls-product-vertical-gallery__inner {
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  .single-product .lls-mobile-gallery--active .lls-product-vertical-gallery__frame {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 410 / 615;
    overflow: hidden;
    cursor: zoom-in;
    background: var(--surface-primary);
  }

  .single-product .lls-mobile-gallery--active .lls-product-vertical-gallery__frame.swiper-slide {
    flex-shrink: 0;
    width: 100% !important;
    min-width: 100% !important;
  }

  .single-product .lls-mobile-gallery--active .lls-product-vertical-gallery__frame > picture {
    display: flex;
    width: 100%;
    height: 100%;
  }

  .single-product .lls-mobile-gallery--active .lls-product-vertical-gallery__frame > picture img,
  .single-product .lls-mobile-gallery--active .lls-product-vertical-gallery__frame > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .single-product .lls-mobile-gallery__nav,
  .single-product .lls-mobile-gallery__fullscreen {
    position: absolute;
    z-index: 4;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    background: color-mix(in srgb, var(--surface-primary) 62%, transparent);
    color: var(--text-primary);
    box-shadow: var(--shadow-subtle);
    backdrop-filter: blur(8px);
    -webkit-tap-highlight-color: transparent;
  }

  .single-product .lls-mobile-gallery__nav svg,
  .single-product .lls-mobile-gallery__fullscreen svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .single-product .lls-mobile-gallery__nav:disabled {
    opacity: 0.4;
    cursor: default;
    box-shadow: none;
  }

  .single-product .lls-mobile-gallery__nav--prev {
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
  }

  .single-product .lls-mobile-gallery__nav--next {
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }

  .single-product .lls-mobile-gallery__fullscreen {
    right: 12px;
    bottom: 12px;
  }
}

@media (max-width: 767px) {

  .single-product .single_add_to_cart_button,
  .single-product .single_add_to_cart_button.disabled,
  .single-product .single_add_to_cart_button.wc-variation-selection-needed,
  .single-product .single_add_to_cart_button:disabled {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    height: 50px !important;
    min-height: 50px !important;

    margin: 15px auto !important;
    padding: 0 !important;
    font-size: 12px !important;

    line-height: 1 !important;
    box-sizing: border-box !important;
  }
}


/* double-tap zoom mobile browsers */
.lls-mobile-gallery__nav,
.lls-mobile-gallery__fullscreen {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* ABOUT section mobile layout: image first, centered, with 30px top spacing */
@media (max-width: 767px) {

  /* Elementor paddings container */
  .elementor-element-c2f697a.e-con {
    --padding-block-start: 0 !important;
    --padding-block-end: 0 !important;
    padding: 0 !important;
  }

  /* inner flex gap + CENTER children */
  .elementor-element-c2f697a > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding: 0 !important;
    align-items: center !important;     /* child containers */
  }

  /* children (image + text) full width centered column */
  .elementor-element-ee49809.e-con,
  .elementor-element-d4c5eff.e-con {
    --padding-block-start: 0 !important;
    --padding-block-end: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 360px !important;        /* Mobile adjustment */
    flex: 0 0 auto !important;
    margin-left: auto !important;       /* CENTER */
    margin-right: auto !important;
  }

  /* : , ~30px space header, */
  .elementor-element-ee49809.e-con {
    order: 1 !important;
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
  }

  /* Mobile adjustment */
  .elementor-element-d4c5eff.e-con {
    order: 2 !important;
  }

  /* Center image widget */
  .elementor-element-14697e5 {
    text-align: center !important;
  }

  .elementor-element-14697e5 img {
    display: block !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .elementor-43 .elementor-element.elementor-element-14697e5 > .elementor-widget-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

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

  /* TEXT container (Contact Text + Form) */
  .elementor-element.elementor-element-1b5edbc.e-con-full {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
    margin-top: 30px !important; /* 30px top */
  }

  /* Parent container for the block */
  .e-con.e-parent:has(> .e-con-inner > .elementor-element-1b5edbc.e-con-full) {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* CENTER group */
  }

  /* Center columns (text + form) */
  .elementor-element-1b5edbc,
  .elementor-element-372307e {
    width: 100% !important;
    max-width: 360px !important;        /* Same column width as the other pages */
    margin-left: auto !important;       /* CENTER */
    margin-right: auto !important;
    padding: 0 !important;
    display: block !important;
  }

  /* FIRST / LAST name */

  form#custom-contact-form .form-row.double {
    display: block !important;      /* Stack the fields instead of using a flex row */
    width: 100% !important;
  }

  form#custom-contact-form .form-row.double .form-group {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 14px !important;
  }

  /* Inputs / textarea full-width */
  form#custom-contact-form .form-group input,
  form#custom-contact-form .form-group textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* SEND button full-width */
  form#custom-contact-form .submit-button {
    width: 100% !important;
    display: block !important;
  }

}

@media (min-width: 768px) and (max-width: 921px) {

  body.woocommerce-cart .cart-collaterals {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-cart td.actions {
    padding-top: 12px !important;
  }

  body.woocommerce-cart td.actions .coupon {
    align-items: flex-end !important;
    gap: 10px !important;
    margin: 0 0 18px 0 !important;
  }

  body.woocommerce-cart td.actions .coupon input#coupon_code {
    flex: 0 1 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    min-width: 0 !important;
    height: 23px !important;
    line-height: 23px !important;
    padding: 0 10px !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    font-size: 12px !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart td.actions .coupon input#coupon_code::placeholder {
    font-size: 12px !important;
  }

  body.woocommerce-cart td.actions .coupon button[name="apply_coupon"] {
    height: 23px !important;
    line-height: 23px !important;
    padding: 0 16px !important;
    font-size: 10px !important;
    margin-left: 0 !important;
  }

  body.woocommerce-cart td.actions .cart-collaterals {
    display: grid !important;
    justify-items: stretch !important;
    row-gap: 6px !important;
    margin-top: 6px !important;
    width: 100% !important;
    text-align: left !important;
  }

  body.woocommerce-cart td.actions .cart-collaterals p {
    margin: 0 !important;
  }

  body.woocommerce-cart td.actions .cart-collaterals p:first-child {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    font-size: 18px !important;
  }

  body.woocommerce-cart td.actions .cart-collaterals p:first-child .amount {
    float: none !important;
    flex: 0 0 auto !important;
  }

  body.woocommerce-cart td.actions .cart-collaterals .cart-notice {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart td.actions .cart-collaterals a.button.checkout {
    width: min(560px, 100%) !important;
    margin-top: 16px !important;
    justify-self: center !important;
  }
}

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

  /* 0. Elementor section padding (Account page) */
  .elementor-41 .elementor-element.elementor-element-89a318a {
    padding: 30px 0 40px 0 !important;
  }

  /* extra padding #primary */
  body.woocommerce-account .ast-separate-container #primary {
    padding-top: 0 !important;
    padding-bottom: 40px !important;
  }

  /* 1. Header: Account + Logout */
  .la-account-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  .la-account-title {
    font-size: 22px !important;
    margin: 0 !important;
  }

  body.woocommerce-account a.la-btn.la-btn--ghost[href*="/logout/"]{
    align-self: flex-start;
    min-width: 110px !important;
    width: auto !important;
    height: 32px !important;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }

  .la-account-separator {
    margin: 16px 0 24px !important;
  }

  /* 2. Navigation tabs desktop, */
  .woocommerce-MyAccount-navigation {
    margin-bottom: 24px !important;
  }

  .woocommerce-MyAccount-navigation ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .woocommerce-MyAccount-navigation li {
    margin: 0 0 14px 0 !important;
  }

  .woocommerce-MyAccount-navigation li a {
    font-size: 14px !important;
    padding: 0 !important;
  }

  /* 3. PROFILE + ADDRESSES FORMS */

  body.woocommerce-account .la-profile__grid,
  body.woocommerce-account .la-addresses .la-profile__grid {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
    width: 100% !important;
    justify-content: stretch !important;
    gap: 12px !important;
  }

  body.woocommerce-account .la-profile__grid .la-card {
    width: 100% !important;
  }

  body.woocommerce-account .la-profile__grid .la-input,
  body.woocommerce-account .la-profile__grid .flatpickr-input[readonly],
  body.woocommerce-account .la-profile__grid .form-control.input[readonly],
  body.woocommerce-account .la-profile__grid .select2-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.woocommerce-account .la-profile__actions {
    margin-top: 32px !important;
  }

  body.woocommerce-account .la-save-btn {
    width: 100% !important;
    max-width: none !important;
  }

  /* 4. MY ORDERS */

  body.woocommerce-account .la-ordercard {
    padding: 18px 16px !important;
  }

  body.woocommerce-account .la-ordercard__head {
    grid-template-columns: 1fr !important;
    row-gap: 6px !important;
  }

  body.woocommerce-account .la-ordercard__body {
    grid-template-columns: 1fr !important;
    row-gap: 16px !important;
  }

  body.woocommerce-account .la-ordercard__row {
    grid-template-columns: 80px 1fr !important;
    gap: 12px !important;
  }

  body.woocommerce-account .la-ordercard__thumb {
    width: 80px !important;
  }

  body.woocommerce-account .la-ordercard__cta {
    justify-content: flex-start !important;
  }

  body.woocommerce-account .la-ordercard__cta .la-btn.la-btn--ghost {
    width: 100% !important;
  }

  /* 5. VIEW ORDER */

  body.woocommerce-account .la-card-order {
    padding: 22px 16px !important;
  }

  body.woocommerce-account .la-vieworder .la-row {
    grid-template-columns: 1fr !important;
    row-gap: 18px !important;
  }

  body.woocommerce-account .la-vieworder .la-item {
    grid-template-columns: 80px 1fr !important;
    gap: 12px !important;
  }

  body.woocommerce-account .la-vieworder .la-item__thumb {
    width: 80px !important;
  }

  body.woocommerce-account .la-vieworder .la-dl__row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }

  body.woocommerce-account .la-vieworder .la-dl__row dd {
    text-align: left !important;
  }
}

@media (max-width: 767px) {

  /* My Account Date of Birth box inputs */
  .woocommerce-account .la-profile__grid .la-card[data-field="dob"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .woocommerce-account .la-profile__grid input[name="date_of_birth"],
  .woocommerce-account .la-profile__grid .js-dob,
  .woocommerce-account .la-profile__grid .flatpickr-input[readonly],
  .woocommerce-account .la-profile__grid .form-control.input[readonly] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    box-sizing: border-box !important;

    background-color: var(--surface-primary) !important;
    border: 1px solid var(--border-subtle) !important;
    border-radius: 0 !important;
    padding: 0 12px !important;

    font-family: var(--font-body) !important;
    font-size: 16px !important;
    color: var(--text-primary) !important;

    -webkit-appearance: none;
    appearance: none;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
    min-width: 0;
    box-sizing: border-box !important;
    margin-top: 8px !important;
    border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent) !important;
    border-radius: 24px !important;
    background: var(--surface-primary) !important;
    box-shadow: var(--shadow-card) !important;
    padding: 14px 12px 12px !important;
    overflow: visible !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr::before,
  .woocommerce-account .flatpickr-calendar.la-flatpickr::after {
    display: none !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-months {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) 32px !important;
    align-items: center !important;
    column-gap: 8px !important;
    margin-bottom: 10px !important;
    position: relative !important;
    z-index: 8 !important;
    overflow: visible !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-prev-month,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-next-month {
    position: static !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--text-primary) !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-prev-month svg,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-next-month svg {
    width: 12px !important;
    height: 12px !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-month,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-current-month {
    position: static !important;
    left: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-current-month {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-native-month-select {
    display: none !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-cal-month {
    position: relative !important;
    flex: 1 1 0 !important;
    min-width: 112px !important;
    z-index: 9 !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-cal-month-trigger {
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 0 14px !important;
    border: 1px solid color-mix(in srgb, var(--text-primary) 16%, transparent) !important;
    border-radius: 999px !important;
    background: var(--surface-primary) !important;
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface-primary) 80%, transparent) !important;
    color: var(--text-primary) !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-cal-month-trigger::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid var(--text-primary);
    flex: 0 0 auto;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-cal-month-label {
    display: block !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-cal-month-menu {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    max-height: 220px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    padding: 8px !important;
    border: 1px solid color-mix(in srgb, var(--text-primary) 12%, transparent) !important;
    border-radius: 18px !important;
    background: var(--surface-primary) !important;
    box-shadow: var(--shadow-card) !important;
    z-index: 20 !important;
    display: none !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-cal-month.is-open .la-cal-month-menu {
    display: block !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-cal-month-option {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: var(--text-primary) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    text-align: left !important;
    padding: 9px 10px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .la-cal-month-option.is-active {
    background: color-mix(in srgb, var(--text-primary) 6%, transparent) !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .numInputWrapper {
    width: 92px !important;
    height: 38px !important;
    flex: 0 0 92px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid color-mix(in srgb, var(--text-primary) 16%, transparent) !important;
    border-radius: 999px !important;
    background: var(--surface-primary) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    box-shadow: inset 0 1px 0 color-mix(in srgb, var(--surface-primary) 80%, transparent) !important;
    font-size: 16px !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .numInputWrapper span.arrowUp,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .numInputWrapper span.arrowDown {
    display: none !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .cur-year {
    width: 100% !important;
    height: 100% !important;
    padding: 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--text-primary) !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-align: center !important;
    -webkit-text-size-adjust: 100% !important;
    appearance: textfield !important;
    -webkit-appearance: none !important;
    outline: none !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-innerContainer,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-rContainer,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-days,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .dayContainer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-weekdays,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-days,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .dayContainer {
    position: relative !important;
    z-index: 1 !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-weekdays {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 8px 0 !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr span.flatpickr-weekday {
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
    color: color-mix(in srgb, var(--text-primary) 58%, transparent) !important;
    font-family: var(--font-body) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    padding: 0 0 6px 0 !important;
    background: transparent !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .dayContainer {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    row-gap: 4px !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-day {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 36px !important;
    line-height: 36px !important;
    margin: 0 !important;
    justify-self: center !important;
    border-radius: 10px !important;
    color: var(--text-primary) !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-day.prevMonthDay,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-day.nextMonthDay,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-day.flatpickr-disabled {
    color: color-mix(in srgb, var(--text-primary) 28%, transparent) !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-day.today {
    border-color: color-mix(in srgb, var(--text-primary) 22%, transparent) !important;
  }

  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-day.selected,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-day.startRange,
  .woocommerce-account .flatpickr-calendar.la-flatpickr .flatpickr-day.endRange {
    border-color: var(--text-primary) !important;
    background: var(--text-primary) !important;
    color: var(--text-inverse) !important;
    box-shadow: none !important;
  }
}
/* My Account mobile helpers stay hidden outside mobile */
.la-account-back,
.la-account-nav__icon,
.la-account-nav__description,
.la-account-nav__chevron {
  display: none;
}

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

  /* 1. Account section padding */
  .elementor-41 .elementor-element.elementor-element-89a318a {
    padding: 30px 0 80px 0 !important;
  }

  body.woocommerce-account .woocommerce {
    display: flex !important;
    flex-direction: column !important;
  }

  body.woocommerce-account .woocommerce-MyAccount-content {
    order: 1 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.woocommerce-account .la-account-navigation {
    order: 2 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-account .la-account-separator {
    display: none !important;
  }

  /* 2. Header row */
  .la-account-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin: 0 0 18px 0 !important;
  }

  .la-account-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .la-account-title {
    margin: 0 !important;
  }

  .la-account-back {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: color-mix(in srgb, var(--text-primary) 78%, transparent) !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
    transition: color .25s ease, transform .25s ease, opacity .25s ease !important;
  }

  .la-account-back__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
  }

  .la-account-back__icon::before {
    content: "";
    width: 8px;
    height: 8px;
    border-left: 1.5px solid var(--text-primary);
    border-bottom: 1.5px solid var(--text-primary);
    transform: rotate(45deg);
    margin-left: 4px;
  }

  .la-account-back__label {
    display: inline-block !important;
    color: inherit !important;
  }

  .la-account-back:active,
  .la-account-back:focus-visible {
    color: var(--text-primary) !important;
    transform: translateX(-2px) !important;
  }

  /* Logout */
  body.woocommerce-account a.la-btn.la-btn--ghost[href*="/logout/"]{
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
}
/* MY ACCOUNT MOBILE TILES */
@media (max-width: 767px) {

  body.woocommerce-account .la-account-navigation.is-dashboard {
    margin-top: 16px !important;
    margin-bottom: 26px !important;
    padding: 10px 22px !important;
    border: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent) !important;
    border-radius: 30px !important;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface-primary) 98%, transparent) 0%, color-mix(in srgb, var(--surface-primary) 96%, transparent) 100%) !important;
    box-shadow: var(--shadow-card) !important;
    overflow: hidden !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard ~ .woocommerce-MyAccount-content > p:last-of-type {
    display: none !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard ul {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li + li {
    border-top: 1px solid color-mix(in srgb, var(--text-primary) 8%, transparent) !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) 18px !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 20px 0 !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 20px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--text-primary) !important;
    text-align: left !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    position: relative !important;
    overflow: hidden !important;
    -webkit-tap-highlight-color: transparent !important;
    transition: transform .28s cubic-bezier(.22, 1, .36, 1), color .28s ease !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a::before {
    content: "";
    position: absolute;
    inset: 6px 0;
    border-radius: 18px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--surface-primary) 94%, transparent) 0%, color-mix(in srgb, var(--surface-primary) 98%, transparent) 100%);
    box-shadow: var(--shadow-card);
    opacity: 0;
    transform: scale(0.985);
    transition: opacity .28s ease, transform .32s cubic-bezier(.22, 1, .36, 1) !important;
    pointer-events: none;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a > * {
    position: relative !important;
    z-index: 1 !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li.is-active > a,
  body.woocommerce-account .la-account-navigation.is-dashboard li a:hover {
    background: transparent !important;
    color: var(--text-primary) !important;
    text-decoration: none !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a:active::before,
  body.woocommerce-account .la-account-navigation.is-dashboard li a:focus-visible::before {
    opacity: 1 !important;
    transform: scale(1) !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a:active,
  body.woocommerce-account .la-account-navigation.is-dashboard li a:focus-visible {
    transform: translateX(3px) !important;
    outline: none !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard .la-account-nav__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 56px !important;
    height: 56px !important;
    border: 1px solid color-mix(in srgb, var(--text-primary) 6%, transparent) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface-primary) 98%, transparent) 0%, color-mix(in srgb, var(--surface-primary) 92%, transparent) 100%) !important;
    box-shadow: var(--shadow-card) !important;
    position: relative !important;
    transition: transform .28s cubic-bezier(.22, 1, .36, 1), box-shadow .28s ease, background .28s ease !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard .la-account-nav__icon::before {
    content: "";
    width: 26px;
    height: 26px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 26px 26px;
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account .la-account-nav__icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='7.75' r='3.75' stroke='%239e9e9e' stroke-width='1.4'/%3E%3Cpath d='M4.75 19.25c1.64-2.63 4.08-3.95 7.25-3.95s5.61 1.32 7.25 3.95' stroke='%239e9e9e' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address .la-account-nav__icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 20.25s5.25-4.92 5.25-9.35a5.25 5.25 0 1 0-10.5 0c0 4.43 5.25 9.35 5.25 9.35Z' stroke='%239e9e9e' stroke-width='1.4'/%3E%3Ccircle cx='12' cy='10.5' r='2.1' stroke='%239e9e9e' stroke-width='1.4'/%3E%3C/svg%3E");
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation-link--orders .la-account-nav__icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6.4 8.75h11.2l-.95 10.5H7.35L6.4 8.75Z' stroke='%239e9e9e' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M9.5 8.75V7.6a2.5 2.5 0 0 1 5 0v1.15' stroke='%239e9e9e' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  body.woocommerce-account .woocommerce-MyAccount-navigation-link--security .la-account-nav__icon::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 3.6 18 6.05v5.2c0 3.53-2.2 6.67-6 8.3-3.8-1.63-6-4.77-6-8.3v-5.2L12 3.6Z' stroke='%239e9e9e' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='m9.35 11.95 1.7 1.7 3.65-3.85' stroke='%239e9e9e' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  body.woocommerce-account .la-account-navigation.is-dashboard .la-account-nav__copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    min-width: 0 !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard .la-account-nav__label {
    display: block !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    color: var(--text-primary) !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard .la-account-nav__description {
    display: block !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: color-mix(in srgb, var(--text-primary) 62%, transparent) !important;
    transition: color .28s ease !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard .la-account-nav__chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 18px !important;
    height: 18px !important;
    position: relative !important;
    transition: transform .28s cubic-bezier(.22, 1, .36, 1), opacity .28s ease !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard .la-account-nav__chevron::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1.5px solid color-mix(in srgb, var(--text-primary) 68%, transparent);
    border-right: 1.5px solid color-mix(in srgb, var(--text-primary) 68%, transparent);
    transform: rotate(45deg);
  }

  body.woocommerce-account .la-account-navigation.is-subpage {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
  }

  body.woocommerce-account .la-account-navigation.is-subpage ul {
    display: none !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a:active .la-account-nav__icon,
  body.woocommerce-account .la-account-navigation.is-dashboard li a:focus-visible .la-account-nav__icon {
    transform: translateY(-1px) scale(1.03) !important;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface-primary) 100%, transparent) 0%, color-mix(in srgb, var(--surface-primary) 96%, transparent) 100%) !important;
    box-shadow: var(--shadow-card) !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a:active .la-account-nav__description,
  body.woocommerce-account .la-account-navigation.is-dashboard li a:focus-visible .la-account-nav__description {
    color: color-mix(in srgb, var(--text-primary) 78%, transparent) !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a:active .la-account-nav__chevron,
  body.woocommerce-account .la-account-navigation.is-dashboard li a:focus-visible .la-account-nav__chevron {
    transform: translateX(4px) !important;
  }
}

@media (max-width: 360px) {
  body.woocommerce-account .la-account-navigation.is-dashboard {
    padding: 8px 18px !important;
    border-radius: 26px !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard li a {
    grid-template-columns: 52px minmax(0, 1fr) 16px !important;
    gap: 14px !important;
    padding: 18px 0 !important;
  }

  body.woocommerce-account .la-account-navigation.is-dashboard .la-account-nav__icon {
    width: 52px !important;
    height: 52px !important;
  }
}
/* CARE OF SILVER MOBILE FINAL FIXED CENTERING */
@media (max-width: 767px) {

  /* container mobile + */
  .elementor-5185 .elementor-element-9555cca.e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    align-items: center !important;  /* CHILDREN */
    padding: 0 !important;
    width: 100% !important;
  }

  /* Image block with max width */
  .elementor-5185 .elementor-element-70fd2b8 {
    order: 1 !important;
    margin-top: 30px !important;
    width: 100% !important;
    max-width: 450px !important;  /* Mobile adjustment */
    margin-left: auto !important;  /* CENTER BLOCK */
    margin-right: auto !important;
    display: block !important;
  }

  .elementor-5185 .elementor-element-70fd2b8 img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }

  /* Text block with max width */
  .elementor-5185 .elementor-element-84603ba {
    order: 2 !important;
    width: 100% !important;
    max-width: 450px !important; /* <--- TEXT BLOCK */
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    padding: 0 !important;
  }

  .elementor-5185 .elementor-element-84603ba .elementor-widget-container {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;
    text-align: left !important; /* LEFT */
  }

  /* Heading 30px top */
  .elementor-5185 .elementor-element-5556034.e-con {
    margin-top: 30px !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

}
/* CARE OF SILVER CSS MOBILE */
@media (max-width: 767px) {

  /* Remove Astra/Elementor default top spacing */
  body.page-id-5185 #content,
  body.page-id-5185 .ast-container,
  body.page-id-5185 #primary,
  body.page-id-5185 .entry-content.clear {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* container */
  body.page-id-5185 .elementor.elementor-5185 {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* MAIN container (image + text) */
  body.page-id-5185 .elementor-element-9555cca {
    margin-top: 30px !important;     /* top spacing */
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;   /* CENTER */
    width: 100% !important;
  }

  /* IMAGE + TEXT blocks */
  body.page-id-5185 .elementor-element-70fd2b8,
  body.page-id-5185 .elementor-element-84603ba {
    width: 100% !important;
    max-width: 360px !important;       /* Mobile adjustment */
    margin: 0 auto !important;         /* Mobile adjustment */
    padding: 0 !important;
    display: block !important;
  }

  /* IMAGE FIXES */

  /* margin image widget */
  body.page-id-5185 .elementor-element-70fd2b8 {
    margin: 0 auto !important;
    padding: 0 !important;
    order: 1 !important;
  }

  /* padding image container */
  body.page-id-5185 .elementor-element-70fd2b8 .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 100% width, centered, with no padding */
  body.page-id-5185 .elementor-element-70fd2b8 img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;         /* CENTER */
    padding: 0 !important;
  }

  /* TEXT FIXES */

  body.page-id-5185 .elementor-element-84603ba {
    order: 2 !important;
  }

  body.page-id-5185 .elementor-element-84603ba .elementor-widget-container {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;
    text-align: left !important;       /* left */
    padding: 0 !important;
    margin: 0 !important;
  }

}
/* TERMS & CONDITIONS MOBILE LAYOUT */
@media (max-width: 767px) {

  /* default Astra top spacing */
  body.page-id-5190 #content,
  body.page-id-5190 .ast-container,
  body.page-id-5190 #primary,
  body.page-id-5190 .entry-content.clear {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Elementor wrapper */
  body.page-id-5190 .elementor.elementor-5190 {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* MAIN container (heading + text) */
  body.page-id-5190 .elementor-element-62e0eeb.e-con {
    margin-top: 30px !important;      /* Mobile adjustment */
    padding: 0 !important;
    --padding-block-start: 0 !important;
    --padding-block-end: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;   /* CENTER */
    width: 100% !important;
  }

  /* e-con-inner (Elementor internal wrapper) */
  body.page-id-5190 .elementor-element-62e0eeb > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding: 0 !important;
    align-items: center !important;   /* CENTER EVERYTHING */
  }

  /* Heading block */
  body.page-id-5190 .elementor-element-d5af148 {
    width: 100% !important;
    max-width: 360px !important;      /* centered column */
    margin: 0 auto !important;
    padding: 0 !important;
  }

  /* Heading styling */
  body.page-id-5190 .elementor-element-d5af148 .elementor-heading-title {
    text-align: center !important;
    font-family: var(--font-body) !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;
    margin: 0 auto !important;
  }

  /* TEXT BLOCK */
  body.page-id-5190 .elementor-element-c79b283 {
    width: 100% !important;
    max-width: 360px !important;      /* centered column */
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
  }

  body.page-id-5190 .elementor-element-c79b283 .elementor-widget-container {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;
    text-align: left !important;      /* Mobile adjustment */
    padding: 0 !important;
    margin: 0 !important;
  }

}
/* SHIPPING / RETURN POLICY MOBILE LAYOUT */
@media (max-width: 767px) {

  /* default Astra top spacing */
  body.page-id-4656 #content,
  body.page-id-4656 .ast-container,
  body.page-id-4656 #primary,
  body.page-id-4656 .entry-content.clear {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Elementor wrapper */
  body.page-id-4656 .elementor.elementor-4656 {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* MAIN container (whole section wrapper) */
  body.page-id-4656 .elementor-element-8801112.e-con {
    margin-top: 30px !important;           /* Mobile adjustment */
    padding: 0 !important;
    --padding-block-start: 0 !important;
    --padding-block-end: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;        /* CENTER */
    width: 100% !important;
  }

  /* Inner wrapper */
  body.page-id-4656 .elementor-element-8801112 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding: 0 !important;
    align-items: center !important;        /* CENTER */
  }

  /* TEXT BLOCK */
  body.page-id-4656 .elementor-element-f139d7e {
    width: 100% !important;
    max-width: 360px !important;           /* centered column */
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    display: block !important;
  }

  /* Typography ( Care / Terms / About) */
  body.page-id-4656 .elementor-element-f139d7e .elementor-widget-container {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;
    text-align: left !important;           /* Mobile adjustment */
    padding: 0 !important;
    margin: 0 !important;
  }

  /* h4 headings inside text */
  body.page-id-4656 .elementor-element-f139d7e h4 {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
  }

}
/* PRIVACY POLICY MOBILE LAYOUT (post-4666) */
@media (max-width: 767px) {

  /* Astra paddings */
  body.page-id-4666 #content,
  body.page-id-4666 .ast-container,
  body.page-id-4666 #primary,
  body.page-id-4666 .entry-content.clear {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Elementor wrapper */
  body.page-id-4666 .elementor.elementor-4666 {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* MAIN container (whole page section) */
  body.page-id-4666 .elementor-element-07d24f2.e-con {
    margin-top: 30px !important;           /* Mobile adjustment */
    padding: 0 !important;
    --padding-block-start: 0 !important;
    --padding-block-end: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;        /* CENTER */
    width: 100% !important;
  }

  /* Inner wrapper */
  body.page-id-4666 .elementor-element-07d24f2 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    padding: 0 !important;
    align-items: center !important;        /* CENTER */
  }

  /* TEXT BLOCK */
  body.page-id-4666 .elementor-element-02e3033 {
    width: 100% !important;
    max-width: 360px !important;           /* Narrow centered column */
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    display: block !important;
  }

  /* Typography to match the other pages */
  body.page-id-4666 .elementor-element-02e3033 .elementor-widget-container {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;

    text-align: left !important;          /* Mobile adjustment */
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Fix UL & OL spacing (match Care/Terms styles) */
  body.page-id-4666 .elementor-element-02e3033 ul,
  body.page-id-4666 .elementor-element-02e3033 ol {
    padding-left: 18px !important;
    margin: 0 0 20px 0 !important;
  }

  /* Fix <h4> inside text */
  body.page-id-4666 .elementor-element-02e3033 h4 {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
  }

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

  /* Remove Astra/Elementor extra top spacing */
  body.page-id-4641 #content,
  body.page-id-4641 .ast-container,
  body.page-id-4641 #primary,
  body.page-id-4641 .entry-content.clear {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Elementor wrapper */
  body.page-id-4641 .elementor.elementor-4641 {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Main page section */
  body.page-id-4641 .elementor-element-243cf7d.e-con {
    margin-top: 0 !important;
    min-height: 0 !important;
    --min-height: 0 !important;
    padding: 0 !important;
    --padding-block-start: 0 !important;
    --padding-block-end: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-content: flex-start !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  /* Inner wrapper */
  body.page-id-4641 .elementor-element-243cf7d > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    --padding-block-start: 0 !important;
    --padding-block-end: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
  }

  /* Heading block */
  body.page-id-4641 .elementor-element-c6b30b7,
  body.page-id-4641 .elementor-element-7e91fee {
    width: 100% !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
  }

  body.page-id-4641 .elementor-element-c6b30b7 {
    margin-bottom: 20px !important;
  }

  body.page-id-4641 .elementor-element-c6b30b7 > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.page-id-4641 .elementor-element-c6b30b7 .elementor-heading-title {
    text-align: left !important;
    font-family: var(--font-heading) !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.3px !important;
    color: var(--text-primary) !important;
    margin: 0 !important;
  }

  /* Text block */
  body.page-id-4641 .elementor-element-7e91fee .elementor-widget-container {
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 37px !important;
    letter-spacing: 0.6px !important;
    color: var(--text-primary) !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.page-id-4641 .elementor-element-7e91fee ul,
  body.page-id-4641 .elementor-element-7e91fee ol {
    padding-left: 18px !important;
    margin: 0 0 20px 0 !important;
  }
}
/* ASTRA MOBILE SIDE CART MINIMAL FIXES ONLY */
@media (max-width: 767px) {

	/* Drawer full width */
	#astra-mobile-cart-drawer.astra-cart-drawer {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	/* HEADER: TITLE CENTER, CLOSE RIGHT */
	#astra-mobile-cart-drawer .astra-cart-drawer-header {
		position: relative !important;
		padding: 16px 20px !important;
		border-bottom: 1px solid var(--border-subtle) !important;
		text-align: center !important; /* Mobile adjustment */
		box-sizing: border-box !important;
	}

	#astra-mobile-cart-drawer .astra-cart-drawer-title {
		margin: 0 !important;
		display: inline-block !important;
	}

	#astra-mobile-cart-drawer .astra-cart-drawer-close {
		position: absolute !important;
		right: 16px !important;  /* Mobile adjustment */
		left: auto !important;   /* left */
		top: 50% !important;
		transform: translateY(-50%) !important;
		width: 32px !important;
		height: 32px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
	}

	/* Hide the second close icon injected by Astra */
	#astra-mobile-cart-drawer .ast-mini-cart-close {
		display: none !important;
	}

	/* Content: scrollable and aligned to the drawer width */

	/* Match the content wrapper padding to the header */
	#astra-mobile-cart-drawer .astra-cart-drawer-content {
		max-height: calc(100vh - 64px) !important; /* Roughly the header height */
		overflow-y: auto !important;
		padding: 16px 20px calc(32px + env(safe-area-inset-bottom, 0px)) 20px !important;
		box-sizing: border-box !important;
		width: 100% !important;
	}

	/* Keep the widget and inner content within bounds */
	#astra-mobile-cart-drawer .widget.woocommerce.widget_shopping_cart,
	#astra-mobile-cart-drawer .widget_shopping_cart_content {
		width: 100% !important;
		box-sizing: border-box !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Keep the mini-cart list aligned to the same width */
	#astra-mobile-cart-drawer .woocommerce-mini-cart.cart_list.product_list_widget {
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
		box-sizing: border-box !important;
        max-width: 300px !important;
        margin-left: auto !important;
        margin-right: auto !important;
	}

	/* Remove extra padding and margin from each item */
	#astra-mobile-cart-drawer .woocommerce-mini-cart.cart_list.product_list_widget .woocommerce-mini-cart-item {
		margin: 0 0 16px 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	/* Align the notice, subtotal, and buttons to the same width */
	#astra-mobile-cart-drawer .mini-cart-notice,
	#astra-mobile-cart-drawer .woocommerce-mini-cart__total,
	#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons {
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

    #astra-mobile-cart-drawer .mini-cart-notice{
        max-width: 300px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #astra-mobile-cart-drawer .woocommerce-mini-cart__total{
        max-width: 300px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
    }

	/* Make buttons full width without changing fonts or colors */
	#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons {
		margin-top: 16px !important;
	}

	#astra-mobile-cart-drawer .woocommerce-mini-cart__buttons .button {
		width: 100% !important;
		display: block !important;
		text-align: center !important;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
		margin: 0 0 10px 0 !important;
	}

	/* Empty cart state uses the same full-width button style */
	#astra-mobile-cart-drawer .ast-mini-cart-empty {
		text-align: center !important;
		padding: 32px 0 !important;
	}

	#astra-mobile-cart-drawer .ast-mini-cart-empty .woocommerce-mini-cart__buttons .button {
		width: 100% !important;
		display: block !important;
		margin: 0 !important;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
		text-align: center !important;
	}

    #astra-mobile-cart-drawer .woocommerce-mini-cart.cart_list.product_list_widget li {
        border-bottom: none !important;
    }
}
/* CART PAGE MOBILE LAYOUT CLEAN */
@media (max-width: 767px) {

	/* Hide the empty thead */
	body.woocommerce-cart .shop_table.cart thead {
		display: none !important;
	}

	/* Each cart item becomes a grid: [image] | [right column] */
	body.woocommerce-cart .shop_table.cart tr.cart_item {
		display: grid !important;
		grid-template-columns: clamp(72px, 18vw, 96px) minmax(0, 1fr) !important;
		column-gap: 14px;
		padding: 20px 0 !important;
		border-bottom: 1px solid var(--border-subtle);
		width: 100% !important;
	}

	/* Clean td defaults */
	body.woocommerce-cart .shop_table.cart tr.cart_item td {
		border: none !important;
		padding: 0 !important;
	}

	/* Mobile adjustment */
	body.woocommerce-cart td.product-thumbnail {
		grid-column: 1 !important;
		grid-row: 1 / 4 !important; /* Mobile adjustment */
		align-self: flex-start;
		text-align: left !important;
		margin: 0 !important;
	}

	body.woocommerce-cart td.product-thumbnail a {
		display: block;
	}

	body.woocommerce-cart td.product-thumbnail img {
		display: block;
		width: 100%;
		height: auto;
	}

	/* Right column: product and size */

	body.woocommerce-cart td.product-name {
		grid-column: 2 !important;
		grid-row: 1 !important;
		margin: 0 0 6px 0 !important;
		text-align: left !important;
		min-width: 0 !important;
	}

	/* "Product:" label inline */
	body.woocommerce-cart .shop_table_responsive tr.cart_item td.product-name::before {
		float: none !important;
		display: inline-block !important;
		width: auto !important;
		margin: 0 4px 0 0 !important;
		padding: 0 !important;
		text-align: left !important;
		font-weight: 600;
	}

	body.woocommerce-cart td.product-name a {
		font-weight: 600;
		display: inline-block;
		overflow-wrap: anywhere !important;
	}

	/* Size on the second line */
	body.woocommerce-cart td.product-name dl.variation {
		margin: 0;
	}

	body.woocommerce-cart td.product-name dl.variation dt,
	body.woocommerce-cart td.product-name dl.variation dd {
		display: inline-block;
		margin: 0;
	}

	body.woocommerce-cart td.product-name dl.variation dt {
		font-weight: 600;
		margin-right: 4px;
	}

	/* Quantity on the second row of the right column */

	body.woocommerce-cart td.product-quantity {
		grid-column: 2 !important;
		grid-row: 2 !important;
		margin: 0 0 6px 0 !important;
		text-align: left !important;
		min-width: 0 !important;
	}

	/* Place the "Quantity:" label above the pill and bin */
	body.woocommerce-cart .shop_table_responsive tr.cart_item td.product-quantity::before {
		content: "Quantity:" !important;
		float: none !important;
		display: block !important;
		width: 100% !important;
		margin: 0 0 2px 0 !important;
		padding: 0 !important;
		text-align: left !important;
		font-weight: 600;
	}

	/* Keep the pill and bin on one horizontal row below the label */
	body.woocommerce-cart td.product-quantity .quantity-container {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		column-gap: 10px;
	}

	/* Keep the pill design and only constrain the input */
	body.woocommerce-cart td.product-quantity .quantity input.qty {
		max-width: 50px;
		text-align: center;
	}

	/* Mobile adjustment */
	body.woocommerce-cart td.product-quantity .quantity-container .remove {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 18px;
		height: 18px;
		text-decoration: none;
	}

	/* Subtotal on the third row of the right column */

	body.woocommerce-cart td.product-subtotal {
		grid-column: 2 !important;
		grid-row: 3 !important;
		margin: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		text-align: right !important;
		min-width: 0 !important;
	}

	body.woocommerce-cart .shop_table_responsive tr.cart_item td.product-subtotal::before {
		content: "Subtotal:" !important;
		float: none !important;
		display: inline-block !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		font-weight: 600;
	}

    .elementor-39 .elementor-element.elementor-element-4c824ebb {
        margin-top: 30px !important;
        padding-top: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .elementor-39 .elementor-element.elementor-element-74c8743 {
        text-align: center !important;
    }

    .elementor-39 .elementor-element.elementor-element-74c8743 .elementor-heading-title {
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    .elementor-39 .elementor-element.elementor-element-74c8743 .elementor-heading-title {
        padding-left: 0 !important;
    }

    .woocommerce-cart td.product-name,
    .woocommerce-cart td.product-name * {
        text-align: left !important;
    }

	/* Remove the "Product:" label that causes the offset */
	.woocommerce-cart .shop_table_responsive tr.cart_item td.product-name::before {
		content: none !important;
		display: none !important;
	}

	/* Remove the size label as well */
	.woocommerce-cart .shop_table_responsive tr.cart_item td.product-name dl.variation dt::before {
		content: none !important;
	}

	/* Remove the pseudo-label that pushes the text */
	.woocommerce-cart .shop_table.shop_table_responsive.cart
		tr.woocommerce-cart-form__cart-item td.product-name::before {
		content: none !important;
		display: none !important;
		width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* Keep the cell and text fully left-aligned, with no padding */
	.woocommerce-cart .shop_table.shop_table_responsive.cart
		tr.woocommerce-cart-form__cart-item td.product-name {
		text-align: left !important;
		padding-left: 0 !important;
	}

	/* Keep the product link and size block left-aligned */
	.woocommerce-cart .shop_table.shop_table_responsive.cart
		tr.woocommerce-cart-form__cart-item td.product-name a,
	.woocommerce-cart .shop_table.shop_table_responsive.cart
		tr.woocommerce-cart-form__cart-item td.product-name dl,
	.woocommerce-cart .shop_table.shop_table_responsive.cart
		tr.woocommerce-cart-form__cart-item td.product-name dl * {
		text-align: left !important;
	}

	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .woocommerce-cart-form__contents,
	body.woocommerce-cart .shop_table.shop_table_responsive.cart {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
}

/* MOBILE STYLING +/- PILL & BIN ICON */
@media (max-width: 767px) {

    /* Hide the theme-generated "Quantity:" label above the field */
    .woocommerce-cart-form td.product-quantity::before,
    .woocommerce-cart-form td.product-quantity[data-title]::before {
        content: '' !important;
        display: none !important;
    }

    /* Layout: place the pill and bin below Echo / Size */
    .woocommerce-cart-form td.product-quantity .quantity-container {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.35rem;              /* Mobile adjustment */
        margin-top: 0.15rem;
    }

    /* pill container mobile */
    .woocommerce-cart-form td.product-quantity .quantity-without-bin {
        display: inline-flex;
        align-items: center;
        border: 1px solid var(--text-primary);
        border-radius: 999px;
        overflow: hidden;
        height: 26px;              /* 30 -> 26 */
    }

    /* Mobile adjustment */
    .woocommerce-cart-form td.product-quantity .qty-btn {
        width: 24px;               /* 28 */
        height: 26px;              /* 30 */
        padding: 0;
        border: 0;
        background: transparent;
        font-size: 16px;           /* 18 */
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* input quantity */
    .woocommerce-cart-form td.product-quantity .quantity .qty {
        width: 26px;               /* 34 */
        height: 22px;              /* 30 */
        padding: 0;
        margin: 0;
        border: 0;
        font-size: 16px;           /* 13 */
        text-align: center;
        background-color: transparent !important;
        box-shadow: none !important;
        -moz-appearance: textfield;
    }

    .woocommerce-cart-form td.product-quantity .quantity .qty::-webkit-outer-spin-button,
    .woocommerce-cart-form td.product-quantity .quantity .qty::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    /* X SVG Astra */
    a.remove span.ahfb-svg-iconset {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        position: absolute !important;
    }

    /* product-name pill */
    .woocommerce-cart-form td.product-name {
        padding-top: 0.15rem !important;
        padding-bottom: 0.15rem !important;
        line-height: 1.2;
    }

    /* extra margins variation & p */
    .woocommerce-cart-form td.product-name dl,
    .woocommerce-cart-form td.product-name p {
        margin-top: 0;
        margin-bottom: 0;
    }

    /* spacing "Echo" "Size" */
    .woocommerce-cart-form td.product-name dl.variation {
        margin-top: 0.1rem;
    }

    .woocommerce-cart-form td.product-quantity .quantity {
        height: 26px !important;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        margin: 0 !important;
    }
}
/* FIX: remove artificial height that WooCommerce + Astra inject in mobile */
@media (max-width: 767px) {

    /* line-height mobile tables */
    table.shop_table.shop_table_responsive td {
        line-height: 1.1 !important;
        min-height: 0 !important;
        height: auto !important;
    }

    /* product-name cell */
    td.product-name {
        display: flex !important;               /* FIX */
        flex-direction: column;
        justify-content: flex-start !important;
        align-items: flex-start !important;

        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* M spacing td */
    td.product-name > * {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.1 !important;
    }

    /* Variation block */
    td.product-name dl.variation {
        margin-top: 2px !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
    }
}
@media (max-width: 767px) {

    /* Container cart */
    body.woocommerce-cart .woocommerce-cart-form {
        display: flex;
        flex-direction: column;
        min-height: 70vh;
    }

    /* Checkout area */
    body.woocommerce-cart .woocommerce-cart-form .actions {
        margin-top: auto !important; /* MAGIC actions */
    }
}
/* Prevent checkout input zoom on iOS and Android. */
@media (max-width: 921px){
    body.woocommerce-checkout .woocommerce form .form-row input.input-text{
        font-size: 16px !important;
        }
}
/* Mobile input zoom fix for the custom contact form only */
@media (max-width: 767px){
  form#custom-contact-form input[type="text"],
  form#custom-contact-form input[type="email"],
  form#custom-contact-form input[type="tel"],
  form#custom-contact-form textarea{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 767px){

  /* Order notes textarea */
  body.woocommerce-checkout textarea#order_comments{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
}
@media (max-width: 767px){

  /* 1) Closed control (what you see in the form) */
  body.woocommerce-checkout .select2-container--default .select2-selection--single,
  body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  /* Force the rendered text to actually inherit */
  body.woocommerce-checkout .select2-container--default .select2-selection__rendered{
    font-size: 16px !important;
  }

  /* 2) Open dropdown list (options) */
  body.woocommerce-checkout .select2-container--open .select2-results__option{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  /* 3) If Select2 shows a search input */
  body.woocommerce-checkout .select2-container--default .select2-search--dropdown .select2-search__field{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 767px){

  body.woocommerce-checkout form.checkout{
    display: block !important;
  }

  body.woocommerce-checkout .col2-set,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review{
    width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
  }

  body.woocommerce-checkout #order_review_heading{
    margin-top: 32px !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
    display: block !important;
  }

  body.woocommerce-checkout .col2-set .col-1,
  body.woocommerce-checkout .col2-set .col-2,
  body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row,
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last{
    float: none !important;
    width: 100% !important;
    clear: both !important;
    margin-right: 0 !important;
  }
}

/* Mobile font-size fix for profile fields */
@media (max-width: 767px){
  .la-profile__grid .la-input{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
}
/* Profile dropdowns (Select2) - mobile 16px */
@media (max-width: 767px){

  /* Closed select UI (what you see in the form) */
  .la-profile__grid .select2-container--default .select2-selection--single,
  .la-profile__grid .select2-container--default .select2-selection--single .select2-selection__rendered{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  /* Match the Lalousi input height. */
  .la-profile__grid .select2-container--default .select2-selection--single{
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* The control already owns the 12px left inset. Adding another 12px to the
     rendered Select2 span made "Greece" and "Attica" start one inset later
     than the text inputs. */
  .la-profile__grid .select2-container--default .select2-selection--single .select2-selection__rendered{
    padding-left: 0 !important;
    padding-right: 34px !important; /* room for arrow */
  }

  /* Arrow centering */
  .la-profile__grid .select2-container--default .select2-selection--single .select2-selection__arrow{
    height: 44px !important;
    top: 0 !important;
    right: 10px !important;
  }

  /* Open dropdown options */
  .select2-container--open .select2-results__option{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }

  /* If dropdown has a search field */
  .select2-container--open .select2-search--dropdown .select2-search__field{
    font-size: 16px !important;
    line-height: 1.25 !important;
  }
}
@media (max-width: 921px) {

  /* Do not override the drawer position or transform */
  #astra-mobile-cart-drawer.astra-cart-drawer {
    height: 100vh !important;
    max-height: 100vh !important;
  }

  /* Mobile adjustment */
  #astra-mobile-cart-drawer .astra-cart-drawer-content {
    min-height: calc(100vh - 64px) !important; /* max */
    height: calc(100vh - 64px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 921px) {

  /* Use dynamic viewport height on mobile (fixes bottom gap on iOS/Chrome) */
  #astra-mobile-cart-drawer.astra-cart-drawer {
    height: 100vh !important;
    max-height: 100vh !important;
    bottom: 0 !important; /* direction, */
    background: var(--surface-primary) !important; /* Mobile adjustment */
  }

  /* If the browser supports dvh, use it */
  @supports (height: 100dvh) {
    #astra-mobile-cart-drawer.astra-cart-drawer {
      height: 100dvh !important;
      max-height: 100dvh !important;
    }
  }

  /* content */
  #astra-mobile-cart-drawer .astra-cart-drawer-content {
    height: calc(100vh - 64px) !important;
    max-height: calc(100vh - 64px) !important;
    overflow-y: auto !important;
    background: var(--surface-primary) !important;
  }

  @supports (height: 100dvh) {
    #astra-mobile-cart-drawer .astra-cart-drawer-content {
      height: calc(100dvh - 64px) !important;
      max-height: calc(100dvh - 64px) !important;
    }
  }
}

@media (min-width: 768px) and (max-width: 921px) {
  #astra-mobile-cart-drawer .astra-cart-drawer-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

/* CART (mobile only) styling Scope: only cart page */

@media (max-width: 921px){

  /* Make the whole "actions" area behave nicely */
  body.woocommerce-cart td.actions{
    padding-top: 18px;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Coupon row: input + button side-by-side */
  body.woocommerce-cart td.actions .coupon{
    display: flex;
    align-items: center;
    flex-wrap: wrap !important;
    gap: 12px;
    width: 100%;
    margin: 0 0 14px 0 !important;
  }

  body.woocommerce-cart td.actions .coupon label{
    display: none !important; /* Screen-reader label already exists */
  }

  body.woocommerce-cart td.actions .coupon input#coupon_code{
    flex: 1 1 170px;
    min-width: 0;
    height: 44px;
    line-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--text-primary);
    border-radius: 0;
    background: transparent;
    font-size: 14px;
    box-sizing: border-box;
  }

  body.woocommerce-cart td.actions .coupon button[name="apply_coupon"]{
    flex: 0 0 auto;
    height: 23px !important;
    line-height: 23px !important;
    padding: 0 18px;
    border: 1px solid var(--text-primary);
    border-radius: 0;
    background: transparent;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;

    /* hard-center text inside button */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
  }

  /* If some theme adds floats, kill them */
  body.woocommerce-cart td.actions .coupon input,
  body.woocommerce-cart td.actions .coupon button{
    float: none !important;
    margin: 0 !important;
  }

  /* Collaterals block under coupon */
  body.woocommerce-cart td.actions .cart-collaterals{
    margin-top: 10px;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-cart td.actions .cart-collaterals p{
    margin: 0 0 10px 0;
    line-height: 1.35;
  }

  body.woocommerce-cart td.actions .cart-collaterals p:first-child{
    font-size: 18px;
    letter-spacing: .02em;
  }

  body.woocommerce-cart td.actions .cart-collaterals p:first-child .amount{
    float: right;
  }

  body.woocommerce-cart td.actions .cart-collaterals .cart-notice{
    font-size: 12px;
    opacity: .75;
    margin-top: -4px;
  }

  body.woocommerce-cart td.actions .cart-collaterals .cart-notice a{
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  /* Checkout button: full width + centered text */
  body.woocommerce-cart td.actions .cart-collaterals a.button.checkout{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
    min-height: 52px;
    padding: 0 16px;
    margin-top: 12px;

    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
    line-height: 1;
  }
}

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

  /* Banner container: -> , full width, safe paddings */
  .cky-consent-bar {
    height: auto !important;
    min-height: 0 !important;
    padding: 14px 14px 12px !important;  /* premium spacing */
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;

    /* iOS safe area ( notch / bottom bar) */
    padding-left: max(14px, env(safe-area-inset-left)) !important;
    padding-right: max(14px, env(safe-area-inset-right)) !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
  }

  /* Inner wrapper full width */
  .cky-consent-bar .cky-notice {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Group: stack vertically on mobile */
  .cky-notice-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 10px !important;
  }

  /* Text on top, clean and readable */
  .cky-notice-des {
    flex: 0 0 auto !important;
    width: 100% !important;
    text-align: left !important;
    min-width: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .cky-notice-des p {
    font-size: 11px !important;   /* mobile readable */
    line-height: 1.5 !important;
  }

  .cky-notice-des a.cky-policy {
    font-size: 11px !important;
  }

  /* Buttons wrapper: two rows with clear hierarchy */
  .cky-notice-btn-wrapper {
    width: 100% !important;
    margin-left: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* 2 */
    gap: 10px !important;
    justify-content: stretch !important;
    align-items: stretch !important;
  }

  /* sizing ( /fonts) */
  .cky-btn {
    width: 100% !important;
    height: 42px !important;     /* thumb-friendly */
    font-size: 12px !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }

  .cky-btn-accept {
    grid-column: 1 / -1 !important;
  }

  .cky-btn-customize {
    grid-column: 1 / 2 !important;
  }

  .cky-btn-reject {
    grid-column: 2 / 3 !important;
  }

  /* If the plugin shows an X/close button inside the bar, keep it compact */
  .cky-consent-bar .cky-banner-btn-close,
  .cky-consent-bar .cky-btn-close {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;
  }

  /* If the close button is out of flow, make the bar relative */
  .cky-consent-bar {
    position: relative !important;
  }
}

/* Extra-small screens: tighten the spacing a bit */
@media (max-width: 380px) {
  .cky-consent-bar {
    padding: 12px 12px 10px !important;
    gap: 8px !important;
  }

  .cky-notice-des p,
  .cky-notice-des a.cky-policy {
    font-size: 10px !important;
  }

  .cky-btn {
    height: 40px !important;
    font-size: 11px !important;
  }

  .cky-notice-btn-wrapper {
    gap: 8px !important;
  }
}

@media (max-width: 921px) {

  body.woocommerce-cart td.actions .coupon input#coupon_code {
    font-size: 16px !important;
  }

  body.woocommerce-cart td.actions .coupon input#coupon_code::placeholder {
    font-size: 12px !important;
  }
}


@media (max-width: 921px){

  /* Force wrap on mobile too */
  body.woocommerce-cart td.actions .coupon{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  /* Force notice to next row + clean style */
  body.woocommerce-cart td.actions .coupon #coupon-error-notice,
body.woocommerce-cart td.actions .coupon .coupon-error-notice{
    flex: 0 0 100% !important;
    width: 100% !important;

    text-align: left !important;

    margin-top: 8px !important;
    padding: 0 !important;

    font-family: var(--font-body) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    color: var(--text-primary) !important;

    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

}

/* Mouse focus is hidden; keyboard focus keeps the browser default indicator. */
:focus:not(:focus-visible) {
  outline: none !important;
}

/* Text inputs intentionally have no visual focus treatment. */
html body input:focus,
html body textarea:focus {
  outline: none !important;
  outline-style: none !important;
  box-shadow: none !important;
}

/* Buttons and accordions use a light keyboard-only indicator without changing colours. */
html body :is(button, input[type="submit"], input[type="button"], input[type="reset"], a.button, .button):focus-visible {
  outline: 1px dotted currentColor !important;
  outline-offset: 2px;
}

html body .lls-acc__title:focus,
html body .lls-acc__title:focus-visible {
  border: 0 !important;
  box-shadow: none !important;
}

html body .lls-acc__title:focus-visible {
  outline: 1px dotted currentColor !important;
  outline-offset: 2px;
}

/* Mobile footer currency switcher keyboard states. */
.lalousi-footer-mobile-currency .la-currency-switcher__trigger:focus-visible {
  outline: 1px dotted currentColor !important;
  outline-offset: 3px;
  opacity: 1 !important;
}

.lalousi-footer-mobile-currency .la-currency-switcher__option:focus-visible {
  background: color-mix(in srgb, var(--text-primary) 2.4%, transparent) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text-primary) 3%, transparent) !important;
  outline: 1px dotted currentColor !important;
  outline-offset: 2px;
}

/* Store archive tablet grid.
 * This stylesheet loads after tablet.css, so the definitive 768-921px
 * geometry must live at the end of this file.
 */
@media (min-width: 768px) and (max-width: 921px) {
  body.ast-woo-shop-archive ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_tag ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    column-gap: 28px !important;
    row-gap: 24px !important;
  }

  body.ast-woo-shop-archive ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.tax-product_tag ul.products li.product {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    align-self: start !important;
    float: none !important;
  }

  body.ast-woo-shop-archive ul.products li.product .astra-shop-thumbnail-wrap,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap,
  body.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 2 / 3 !important;
    overflow: hidden !important;
    background: var(--surface-primary) !important;
  }

  body.ast-woo-shop-archive ul.products li.product .astra-shop-thumbnail-wrap > a,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap > a,
  body.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.ast-woo-shop-archive ul.products li.product .astra-shop-thumbnail-wrap img,
  body.tax-product_cat ul.products li.product .astra-shop-thumbnail-wrap img,
  body.tax-product_tag ul.products li.product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  body.ast-woo-shop-archive ul.products li.product .astra-shop-summary-wrap,
  body.tax-product_cat ul.products li.product .astra-shop-summary-wrap,
  body.tax-product_tag ul.products li.product .astra-shop-summary-wrap {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 0 0 !important;
    transform: none !important;
  }
}

/* Cart item layout: final mobile override.
 * The cart has legacy responsive rules above; keep this at the end so the
 * product image, details, quantity controls and price always remain aligned. */
@media (max-width: 767px) {
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item {
    grid-template-columns: clamp(72px, 20vw, 96px) minmax(0, 1fr) max-content !important;
    column-gap: 24px !important;
    align-items: center !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-thumbnail {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-thumbnail img {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-name {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    margin: 0 !important;
  }

  /* Do not render Woo/Astra's generated Quantity label; the pill is enough. */
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-quantity::before,
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-quantity[data-title]::before {
    content: none !important;
    display: none !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-quantity {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    align-self: start !important;
    margin: 8px 0 0 !important;
    text-align: left !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-quantity .quantity-container {
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  /* Safari gives buttons and number inputs different font baselines. Give all
   * three pill pieces the same measured box and use neutral control glyphs. */
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin {
    height: 24px !important;
    align-items: stretch !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin .qty-btn {
    display: grid !important;
    place-items: center !important;
    position: relative !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: transparent !important;
    font-size: 0 !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin .qty-btn::after,
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin .qty-btn.plus::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 7px;
    height: 1px;
    background: var(--text-primary);
    transform: translate(-50%, -50%);
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin .qty-btn.plus::before {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin .quantity,
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin input.qty {
    height: 24px !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin .quantity {
    display: flex !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .quantity-without-bin input.qty {
    display: block !important;
    flex: 0 0 26px !important;
    width: 26px !important;
    min-width: 26px !important;
    font-family: var(--font-body) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 24px !important;
    text-align: center !important;
    text-indent: 0 !important;
    padding: 1px 0 0 !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    appearance: none !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-quantity .quantity-container {
    gap: 8px !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-quantity .quantity-container .remove {
    width: 17px !important;
    height: 17px !important;
  }

  /* The label stays below the pill; the corresponding amount is at right. */
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item .cart-line-subtotal-label {
    display: block !important;
    margin-top: 9px !important;
    /* Match the product title/line-price typography, without the title bold. */
    font-family: var(--font-body) !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    color: var(--text-primary) !important;
    letter-spacing: 0 !important;
  }

  /* The line price sits centered against the complete product card. */
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-subtotal {
    grid-column: 3 !important;
    grid-row: 1 / 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    align-self: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-subtotal::before,
  body.woocommerce-cart .shop_table.shop_table_responsive.cart tr.cart_item td.product-subtotal[data-title]::before {
    content: none !important;
    display: none !important;
  }
}

@media (min-width: 768px) {
  .cart-line-subtotal-label {
    display: none !important;
  }
}



