/* Liyomera — mobile pass (2026-09): global fixes + ≤1024px / ≤640px layouts.
   Loaded last so it wins over base/components/woocommerce/shop-ux. */

/* ============ GLOBAL FIXES (all sizes) ============ */

/* Discount badge + heart were clipped by the arch radius of .pcard-media
   (overflow:hidden). Clip the image instead, let the badges float above. */
.pcard-media{ overflow:visible; }
.pcard-media > a{ display:block; height:100%; border-radius:inherit; overflow:hidden; }
.pcard-media img{ border-radius:inherit; }
.pcard-price ins, .price ins{ text-decoration:none; }
.pcard-media.ph{ overflow:hidden; }
.pcard-off, .pcard-fav, .li-wl{ z-index:3; }
.pcard-media::after{ display:none; }

/* Woo loop cards: equal height, button pinned to the bottom, 2-line titles */
.woocommerce ul.products li.product{ display:flex; flex-direction:column; }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link{ display:block; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:0;
}
.woocommerce ul.products li.product .price{ margin-top:auto; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{ min-height:42px; align-self:stretch; }

/* Woo's smallscreen sheet paints .button.alt purple — brand it */
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit.alt{ background:var(--o) !important; color:#fff !important; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover{ background:var(--o-600) !important; }

/* Woo icon-font glyphs that render as stray characters */
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before,
.woocommerce-form-coupon-toggle .woocommerce-info::before,
a.shipping-calculator-button::after{ display:none !important; content:none !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error{ padding-inline-start:18px !important; }
.woocommerce-cart .woocommerce-shipping-calculator, .woocommerce-cart .shipping-calculator-button{ display:none; }

/* Payment box: brand surface instead of Woo's lavender */
#payment div.payment_box, .woocommerce-checkout #payment div.payment_box{
  background:var(--surface) !important; color:var(--body) !important; border-radius:12px;
}
#payment div.payment_box::before{ display:none !important; }

/* Single product: Woo repeats the tab title as an h2 inside the panel */
.woocommerce-Tabs-panel > h2:first-child{ display:none; }
.woocommerce-Tabs-panel h1, .woocommerce-Tabs-panel h2, .woocommerce-Tabs-panel h3{ font-size:1.15em; margin:1.4em 0 .5em; }

/* Only Iran is sold to — the country selector is noise */
#billing_country_field, #shipping_country_field{ display:none !important; }
.woocommerce-cart .cart_totals tr.shipping td, .woocommerce-cart .cart_totals tr.shipping th{ background:none !important; }
.woocommerce-cart h1.entry-title, .woocommerce-checkout h1.entry-title, .woocommerce-account h1.entry-title{ margin-top:0; }

/* Checkbox / radio touch size */
.woocommerce-checkout input[type="checkbox"], .woocommerce input.shipping_method,
#shipping_method input, .lf-stock input{ width:20px; height:20px; accent-color:var(--o); }

/* Inputs never smaller than 16px on touch devices (iOS auto-zoom) */
@media (pointer:coarse){
  input, select, textarea{ font-size:16px !important; }
}

/* mobile-menu category rows: summary already pads, so the inner link must not */
.mobile-menu .mm-nav .mm-cats summary a{ padding:0; min-height:0; }
.mm-nav .mm-cats summary{ min-height:46px; padding:6px 12px; }
.mm-nav .mm-cats details details ul a{ min-height:40px; }

/* Contact Form 7 — it shipped unstyled */
.wpcf7 form{ display:grid; gap:14px; }
.wpcf7 form > p, .wpcf7 form label{ margin:0; display:block; font-size:14px; font-weight:600; color:var(--ink); }
.wpcf7-form-control-wrap{ display:block; margin-top:6px; }
.wpcf7 .wpcf7-text, .wpcf7 .wpcf7-tel, .wpcf7 .wpcf7-email, .wpcf7 .wpcf7-textarea, .wpcf7 .wpcf7-select{
  width:100%; min-height:48px; border:1.5px solid var(--line-2); border-radius:12px; padding:11px 14px;
  font-family:inherit; font-size:15px; font-weight:400; color:var(--ink); background:#fff; transition:border-color .15s;
}
.wpcf7 .wpcf7-textarea{ min-height:150px; resize:vertical; }
.wpcf7 .wpcf7-text:focus, .wpcf7 .wpcf7-tel:focus, .wpcf7 .wpcf7-email:focus, .wpcf7 .wpcf7-textarea:focus{
  outline:none; border-color:var(--o-400); box-shadow:0 0 0 3px var(--o-50);
}
.wpcf7 .wpcf7-submit{
  width:100%; min-height:50px; background:var(--o); color:#fff; border:none; border-radius:12px;
  font-family:inherit; font-size:15px; font-weight:800; cursor:pointer; box-shadow:0 8px 20px rgba(245,138,75,.32);
}
.wpcf7 .wpcf7-submit:hover{ background:var(--o-600); }
.wpcf7 .wpcf7-spinner{ display:none; }
.wpcf7 .wpcf7-response-output{ margin:0; border-radius:12px; padding:12px 16px; font-size:14px; border:1.5px solid var(--o-200) !important; }
.wpcf7 .wpcf7-not-valid-tip{ font-size:12.5px; color:var(--sale); margin-top:4px; }

/* Blog sidebar block widgets (search button was default black) */
.widget .wp-block-search__button{ background:var(--o); color:#fff; border:none; border-radius:10px; padding:0 16px; font-family:inherit; font-weight:700; }
.widget .wp-block-search__input{ border:1.5px solid var(--line-2); border-radius:10px; padding:10px 12px; font-family:inherit; }
.widget .wp-block-search__inside-wrapper{ gap:8px; }

/* toast parks below the viewport — must stay invisible when bottom offset grows */
.li-toast{ visibility:hidden; transition:transform .35s cubic-bezier(.2,.9,.3,1.2), visibility .35s; }
.li-toast.show{ visibility:visible; }

/* Bottom nav / sticky ATC / filter button: desktop default = hidden */
.li-bnav, .li-filter-btn, .li-sticky-atc, .li-filters-head{ display:none; }

/* ============ ≤1024px (burger breakpoint) ============ */
@media (max-width:1024px){
  html{ scroll-padding-top:70px; }
  .header-main{ height:60px; gap:8px; }
  .logo-mark{ width:34px; height:34px; font-size:18px; border-radius:10px; }
  .logo-tx b{ font-size:18px; }
  .logo-tx span{ font-size:9px; letter-spacing:.22em; }
  .custom-logo{ max-height:38px; }
  .icon-btn{ width:42px; height:42px; }
  .header-actions{ gap:2px; }
  .topbar{ font-size:12.5px; padding:7px 14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

  /* room for the bottom nav */
  body{ padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
  .site-footer{ margin-bottom:0; }

  /* ---- bottom nav ---- */
  .li-bnav{
    position:fixed; left:0; right:0; bottom:0; z-index:95;
    display:grid; grid-template-columns:repeat(5,1fr);
    height:calc(62px + env(safe-area-inset-bottom)); padding-bottom:env(safe-area-inset-bottom);
    background:rgba(255,255,255,.96); backdrop-filter:blur(14px);
    border-top:1px solid var(--line); box-shadow:0 -6px 24px rgba(42,33,27,.06);
  }
  .li-bnav-item{
    position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
    font-size:11px; font-weight:600; color:var(--muted); transition:.15s;
  }
  .li-bnav-item .li-ico{ transition:.15s; }
  .li-bnav-item.is-active{ color:var(--o-700); }
  .li-bnav-item.is-active .li-ico{ transform:translateY(-1px); }
  .li-bnav-item .cart-badge{ top:6px; inset-inline-start:calc(50% - 22px); }
  .li-fab{ bottom:calc(76px + env(safe-area-inset-bottom)); }
  .li-toast{ bottom:calc(78px + env(safe-area-inset-bottom)); }

  /* mobile menu: give the search a real hit size + hide page scroll under it */
  .mobile-menu{ padding:18px 16px calc(24px + env(safe-area-inset-bottom)); }
  .mobile-menu nav a{ min-height:48px; display:flex; align-items:center; }

  /* ---- shop archives: sidebar becomes an off-canvas sheet ---- */
  .woocommerce.archive .shop-wrap:has(.shop-sidebar),
  .woocommerce.post-type-archive .shop-wrap:has(.shop-sidebar){ display:block; }
  .shop-sidebar{
    position:fixed; top:0; bottom:0; left:0; right:auto; z-index:111; width:min(88vw,360px);
    background:#fff; box-shadow:10px 0 40px rgba(0,0,0,.2); overflow-y:auto; overscroll-behavior:contain;
    padding:0 16px calc(24px + env(safe-area-inset-bottom));
    transform:translateX(-110%); visibility:hidden; transition:transform .3s cubic-bezier(.2,.9,.3,1), visibility .3s;
  }
  .shop-sidebar.open{ transform:translateX(0); visibility:visible; }
  .li-filters-head{
    display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:2;
    background:#fff; padding:16px 0 12px; margin-bottom:8px; border-bottom:1px solid var(--line); font-size:16px; font-weight:800; color:var(--ink);
  }
  .shop-sidebar .li-filter{ border:none; padding:12px 0; margin:0; border-bottom:1px solid var(--line); border-radius:0; }
  .lf-cats > li > a, .lf-brands a{ min-height:44px; }
  .lf-cats ul a{ min-height:40px; display:flex; align-items:center; }
  .li-filter-btn{
    display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; margin:0 0 14px;
    border:1.5px solid var(--line-2); border-radius:12px; background:#fff; font-size:14px; font-weight:700; color:var(--ink);
  }
  .li-filter-btn b{ background:var(--o); color:#fff; font-size:11px; min-width:20px; height:20px; border-radius:99px; display:grid; place-items:center; }
  .woocommerce .woocommerce-result-count{ float:none; margin:0 0 6px; font-size:13px; }
  .woocommerce .woocommerce-ordering{ float:none; margin:0 0 16px; }
  .woocommerce .woocommerce-ordering select{ width:100%; min-height:44px; font-size:14px; }

  /* ---- single product: sticky add-to-cart ---- */
  .li-sticky-atc{
    position:fixed; left:0; right:0; bottom:calc(62px + env(safe-area-inset-bottom)); z-index:94;
    display:flex; align-items:center; gap:12px; padding:10px 16px;
    background:rgba(255,255,255,.97); backdrop-filter:blur(12px); border-top:1px solid var(--line);
    transform:translateY(110%); transition:transform .25s;
  }
  .li-sticky-atc[hidden]{ display:flex; }
  .li-sticky-atc.show{ transform:translateY(0); }
  .li-sticky-price{ flex:1; min-width:0; font-weight:800; color:var(--o-700); font-size:16px; line-height:1.3; }
  .li-sticky-price del{ display:block; font-size:12px; color:var(--muted); font-weight:500; }
  .li-sticky-price ins{ text-decoration:none; }
  .li-sticky-btn{
    flex:none; display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:0 22px;
    background:var(--o); color:#fff; border-radius:12px; font-size:15px; font-weight:800; box-shadow:0 8px 20px rgba(245,138,75,.32);
  }
  .li-sticky-btn.done{ background:var(--sage); }
}

/* ============ ≤640px (phones) ============ */
@media (max-width:640px){
  :root{ --r-lg:18px; --r-xl:22px; }
  body{ font-size:15px; line-height:1.75; }
  .wrap{ padding:0 16px; }
  .section{ padding:34px 0; }
  .sec-head{ margin-bottom:18px; gap:10px; }
  .sec-title{ font-size:20px; }
  .sec-link{ padding:8px 12px; font-size:13px; }
  .btn{ padding:13px 20px; font-size:14.5px; min-height:46px; }

  /* horizontal rails: hide the desktop arrow buttons; snap must respect the edge padding */
  .row-scroll, .cats, .brands, .reviews, .blog-grid{ scroll-padding-inline:16px; }
  .scroller-btn{ display:none; }
  .row-scroll{ gap:12px; padding:4px 0 12px; scroll-snap-type:x proximity; margin:0 -16px; padding-inline:16px; }
  .row-scroll::-webkit-scrollbar{ display:none; }
  .scroller .pcard{ flex:0 0 calc(50vw - 22px); width:auto; max-width:none; }

  /* ---- hero: copy only (the placeholder visual wasted a full screen) ---- */
  .hero-inner{ padding:26px 16px 30px; gap:0; }
  .hero-vis{ display:none; }
  .hero-ey{ margin-bottom:16px; font-size:12.5px; padding:7px 13px; }
  .hero h1{ font-size:28px; line-height:1.3; }
  .hero-sub{ font-size:15px; margin:14px 0 20px; }
  .hero-cta .btn{ flex:1; }
  .hero-stats{ margin-top:24px; gap:0; justify-content:space-between; }
  .hero-stat b{ font-size:22px; }

  /* ---- trust: 2×2 compact ---- */
  .trust{ grid-template-columns:1fr 1fr; gap:10px; padding:4px 0 !important; }
  .trust-item{ padding:12px; gap:10px; border-radius:14px; }
  .trust-item .ti-ic{ width:38px; height:38px; }
  .trust-item b{ font-size:13.5px; }
  .trust-item span{ font-size:11.5px; line-height:1.5; display:block; }

  /* ---- categories: one horizontal rail of round tiles ---- */
  .cats{ display:flex; gap:14px; overflow-x:auto; margin:0 -16px; padding:4px 16px 8px; scroll-snap-type:x proximity; }
  .cats::-webkit-scrollbar{ display:none; }
  .cat{ flex:0 0 96px; gap:8px; padding:0; scroll-snap-align:start; }
  .cat:hover{ transform:none; }
  .cat-media{ width:96px; aspect-ratio:1/1; border-radius:50%; }
  .cat.noarch .cat-media{ border-radius:50%; }
  .cat-name{ font-size:13px; white-space:normal; line-height:1.4; }
  .cat-count{ margin-top:-4px; font-size:11.5px; }
  .cat-media.ph::after{ font-size:10px; padding:3px 8px; }

  /* ---- sale banner ---- */
  .sale-banner{ padding:20px 18px; gap:14px; margin-bottom:20px; }
  .sale-banner p{ font-size:13px; }
  .sale-timer{ justify-content:flex-start; }
  .sale-timer .seg{ min-width:48px; padding:6px 8px; }
  .sale-timer .seg b{ font-size:19px; }

  /* ---- product cards (theme markup) ---- */
  .cards-grid{ gap:10px; }
  .pcard-media{ margin:8px 8px 4px; }
  .pcard-body{ padding:2px 10px 12px; }
  .pcard-brand{ font-size:11px; }
  .pcard-name{ font-size:13px; line-height:1.55; min-height:40px; margin:3px 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .pcard-rate{ margin-bottom:8px; font-size:12px; }
  .pcard-foot{ flex-wrap:nowrap; align-items:center; }
  .pcard-now{ font-size:12px; }
  .pcard-now b{ font-size:14.5px; }
  .pcard-old{ font-size:11px; }
  .pcard-add{ width:40px; height:40px; border-radius:11px; }
  .pcard-fav{ width:32px; height:32px; top:6px; inset-inline-end:6px; }
  .pcard-off{ top:6px; inset-inline-start:6px; font-size:11px; padding:3px 7px; }

  /* ---- promos ---- */
  .promo{ padding:22px 20px; min-height:0; }
  .promo h3{ font-size:19px; max-width:100%; }
  .promo p{ max-width:100%; font-size:13.5px; }

  /* ---- AI advisor ---- */
  .ai{ padding:26px 18px; border-radius:var(--r-xl); }
  .ai h2{ font-size:22px; }
  .ai p{ font-size:14.5px; margin:12px 0 18px; }
  .ai-chip{ padding:9px 13px; font-size:13px; }
  .ai-chat{ height:300px; padding:14px; }
  .ai-form input{ height:48px; font-size:16px; }
  .ai-form button{ width:48px; height:48px; }

  /* ---- brands & reviews & blog: horizontal rails ---- */
  .brands{ display:flex; gap:10px; overflow-x:auto; margin:0 -16px; padding:4px 16px 8px; }
  .brands::-webkit-scrollbar{ display:none; }
  .brand{ flex:0 0 auto; min-width:110px; height:64px; padding:0 18px; font-size:15px; }
  .brand:hover{ transform:none; }
  .reviews{ display:flex; gap:12px; overflow-x:auto; margin:0 -16px; padding:4px 16px 8px; scroll-snap-type:x proximity; }
  .reviews::-webkit-scrollbar{ display:none; }
  .review{ flex:0 0 82vw; max-width:320px; padding:18px; scroll-snap-align:start; }
  .review-q{ font-size:14px; line-height:1.85; margin:10px 0 14px; }
  .blog-grid{ display:flex; gap:12px; overflow-x:auto; margin:0 -16px; padding:4px 16px 8px; scroll-snap-type:x proximity; }
  .blog-grid::-webkit-scrollbar{ display:none; }
  .front-page .post-card{ flex:0 0 78vw; max-width:300px; scroll-snap-align:start; }
  .front-page .post-card:hover{ transform:none; }
  .post-body{ padding:14px 16px 16px; }
  .post-card h3{ font-size:15px; line-height:1.6; }
  .post-more{ min-height:36px; display:inline-flex; align-items:center; }
  .post-media{ aspect-ratio:16/9; }
  /* blog index stays vertical, tighter */
  .blog-layout .post-card{ margin-bottom:0; }
  .blog-layout{ gap:26px; }
  .page-title-band{ padding:28px 0; margin-bottom:24px; }
  .entry-content{ font-size:16px; line-height:1.95; }
  .single-thumb{ margin-bottom:22px; }

  /* ---- CTA band ---- */
  .cta-band{ padding:28px 18px; }

  /* ---- footer ---- */
  .site-footer{ padding:36px 0 0; margin-top:24px; }
  .footer-top{ grid-template-columns:1fr 1fr; gap:22px 18px; padding-bottom:26px; }
  .footer-brand{ grid-column:1 / -1; }
  .footer-contact{ grid-column:1 / -1; }
  .footer-about{ margin:12px 0; max-width:none; font-size:13.5px; }
  .ftr-col-title{ margin-bottom:8px; font-size:14px; }
  .site-footer .widget a, .footer-menu a{ padding:8px 0; font-size:13.5px; min-height:36px; display:flex; align-items:center; }
  .footer-bottom{ padding:16px 0; font-size:12px; }

  /* ---- shop archive ---- */
  .shop-wrap{ padding-top:14px; padding-bottom:36px; }
  .woocommerce-products-header{ padding:18px 0; margin-bottom:4px; }
  .woocommerce-products-header__title{ font-size:22px; }
  .term-description{ font-size:13.5px; }
  .li-breadcrumb{ margin:0 0 12px; font-size:12.5px; white-space:nowrap; overflow-x:auto; flex-wrap:nowrap; }
  .li-breadcrumb::-webkit-scrollbar{ display:none; }
  .li-breadcrumb a, .li-breadcrumb span{ flex:none; }
  .cat-chips{ flex-wrap:nowrap; overflow-x:auto; margin:0 -16px 14px; padding:2px 16px 4px; gap:8px; }
  .cat-chips::-webkit-scrollbar{ display:none; }
  .cat-chip{ flex:none; min-height:36px; }
  .woocommerce ul.products{ gap:10px; }
  .woocommerce ul.products li.product a img{ margin:8px 8px 4px; width:calc(100% - 16px); }
  .woocommerce ul.products li.product .woocommerce-loop-product__title{ font-size:13px; padding:0 10px; line-height:1.55; }
  .woocommerce ul.products li.product .price{ padding:4px 10px 0; margin-inline:0; font-size:13px; line-height:1.5; }
  .woocommerce ul.products li.product .price .amount{ font-size:14.5px; }
  .woocommerce ul.products li.product del .amount{ font-size:12px; }
  .woocommerce ul.products li.product .star-rating{ margin:4px 10px; }
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .added_to_cart{ margin:8px 10px 10px; padding:9px 10px; font-size:12.5px; min-height:40px; }
  .woocommerce ul.products li.product .onsale{ top:12px; inset-inline-start:12px; }
  .li-wl{ top:12px; inset-inline-end:12px; width:34px; height:34px; }
  .woocommerce nav.woocommerce-pagination{ margin:28px 0 6px; }
  .woocommerce nav.woocommerce-pagination ul.page-numbers{ gap:6px; flex-wrap:wrap; }
  .woocommerce nav.woocommerce-pagination ul.page-numbers li a,
  .woocommerce nav.woocommerce-pagination ul.page-numbers li span{ width:40px; height:40px; font-size:14px; }

  /* ---- single product ---- */
  .single-product div.product{ padding:8px 0 20px; gap:18px; }
  .single-product div.product .product_title{ font-size:20px; line-height:1.45; margin-bottom:6px; }
  .single-product div.product p.price, .single-product div.product span.price{ font-size:22px; margin:8px 0 10px; }
  .single-product div.product p.price del{ font-size:15px; }
  .single-product form.cart{ margin:14px 0; gap:10px; }
  .single-product form.cart .quantity input{ width:64px; height:48px; }
  .single-product .single_add_to_cart_button{ flex:1; padding:14px 18px !important; font-size:15px !important; min-height:48px; }
  .single-product .woocommerce-product-details__short-description{ font-size:14.5px; }
  .li-wl-single-wrap{ margin:8px 0; }
  .single-product .product_meta{ margin-top:10px; }
  .woocommerce-tabs{ margin-top:8px; }
  .woocommerce-tabs ul.tabs{ gap:4px; margin-bottom:16px; overflow-x:auto; white-space:nowrap; }
  .woocommerce-tabs ul.tabs::-webkit-scrollbar{ display:none; }
  .woocommerce-tabs ul.tabs li a{ padding:11px 14px; font-size:14px; min-height:44px; display:flex; align-items:center; }
  .woocommerce-tabs .panel{ font-size:14.5px; line-height:1.9; }
  .related.products > h2, .upsells.products > h2{ font-size:19px; margin-bottom:14px; }
  .li-recent{ padding-top:10px; }
  .li-mini-grid{ gap:10px; }
  .li-mini-card{ padding:10px; }

  /* ---- cart page: rows become cards ---- */
  .woocommerce-cart .shop-wrap, .woocommerce-checkout .shop-wrap, .woocommerce-account .shop-wrap{ padding-top:18px; }
  .woocommerce-cart h1.entry-title, .woocommerce-checkout h1.entry-title{ font-size:22px; margin-bottom:16px; }
  .woocommerce-cart table.shop_table.cart{ display:block; border:none; border-radius:0; }
  .woocommerce-cart table.shop_table.cart thead{ display:none; }
  .woocommerce-cart table.shop_table.cart tbody{ display:block; }
  .woocommerce-cart table.shop_table.cart tr.cart_item{
    display:grid; grid-template-columns:76px 1fr; grid-template-areas:"thumb name" "thumb price" "thumb qty" "thumb sub";
    gap:2px 12px; align-items:center; position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; padding:12px 12px 12px 40px; margin-bottom:10px;
  }
  .woocommerce-cart table.shop_table.cart tr.cart_item td{ display:block; border:none !important; padding:0 !important; background:none !important; text-align:start; }
  .woocommerce-cart table.shop_table.cart td::before{ content:none !important; display:none !important; }
  .woocommerce-cart table.shop_table.cart td.product-remove{ position:absolute; left:8px; top:10px; grid-area:none; }
  .woocommerce-cart table.shop_table.cart td.product-remove a.remove{
    width:28px; height:28px; border-radius:50%; background:var(--surface); color:var(--muted) !important; display:grid; place-items:center; font-size:18px; line-height:1; text-decoration:none;
  }
  .woocommerce-cart table.shop_table.cart td.product-thumbnail{ grid-area:thumb; display:block !important; }
  .woocommerce-cart table.shop_table.cart td.product-thumbnail img{ width:76px; height:76px; object-fit:cover; border-radius:12px; background:var(--o-50); }
  .woocommerce-cart table.shop_table.cart td.product-name{ grid-area:name; font-size:13.5px; font-weight:700; line-height:1.55; }
  .woocommerce-cart table.shop_table.cart td.product-name a{ color:var(--ink); text-decoration:none; }
  .woocommerce-cart table.shop_table.cart td.product-price{ grid-area:price; font-size:12.5px; color:var(--muted); }
  .woocommerce-cart table.shop_table.cart td.product-quantity{ grid-area:qty; }
  .woocommerce-cart table.shop_table.cart td.product-subtotal{ grid-area:sub; font-size:14px; font-weight:800; color:var(--o-700); }
  .woocommerce-cart .quantity .qty{
    width:72px; height:40px; border:1.5px solid var(--line-2); border-radius:10px; text-align:center; font-family:inherit; font-size:15px; margin-top:4px;
  }
  .woocommerce-cart table.shop_table.cart tr:last-child td.actions{
    display:flex; flex-wrap:wrap; gap:10px; padding:4px 0 0 !important; border:none !important; background:none !important;
  }
  .woocommerce-cart .coupon{ display:flex; gap:8px; width:100%; flex-wrap:nowrap; }
  .woocommerce-cart .coupon label{ display:none; }
  .woocommerce-cart .coupon .input-text{
    flex:1; min-height:46px !important; width:auto !important; border:1.5px solid var(--line-2) !important; border-radius:12px !important; padding:10px 14px !important; font-family:inherit; font-size:16px;
  }
  .woocommerce-cart .coupon .button{ flex:none; min-height:46px; padding:0 16px !important; border-radius:12px !important; }
  .woocommerce-cart td.actions > .button{ width:100%; min-height:46px; border-radius:12px !important; }
  .woocommerce-cart .cart-collaterals{ margin-top:14px; }
  .woocommerce-cart .cart_totals{ padding:16px; }
  .woocommerce-cart .cart_totals h2{ font-size:17px; margin-bottom:10px; }
  .woocommerce-cart .cart_totals table.shop_table{ border:none; border-radius:0; font-size:14px; }
  .woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td{ padding:10px 0; background:none; }
  .woocommerce-cart .cart_totals .order-total .amount{ color:var(--o-700); font-size:17px; }
  .woocommerce-cart .wc-proceed-to-checkout{ padding:8px 0 0; }
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button{ min-height:50px; }
  .woocommerce-cart .return-to-shop .button{ width:100%; text-align:center; }

  /* ---- checkout ---- */
  .woocommerce-checkout #customer_details{ padding:16px; border-radius:16px; }
  .woocommerce-checkout #customer_details h3, #order_review_heading{ font-size:16px; margin-bottom:12px; }
  .woocommerce-checkout .form-row{ margin-bottom:12px; }
  .woocommerce-checkout .form-row input.input-text,
  .woocommerce-checkout .form-row textarea,
  .woocommerce-checkout .form-row select,
  .woocommerce-checkout .form-row .select2-selection--single{ min-height:48px; font-size:16px; }
  #order_review_heading{ margin-top:18px; }
  #order_review.woocommerce-checkout-review-order{ padding:14px; }
  table.woocommerce-checkout-review-order-table{ font-size:13px; }
  table.woocommerce-checkout-review-order-table th, table.woocommerce-checkout-review-order-table td{ padding:9px 2px; }
  .woocommerce-checkout #order_review table.shop_table{ border:none; border-radius:0; }
  .woocommerce-checkout #order_review table.shop_table th{ background:none; padding:9px 2px; }
  .woocommerce-checkout #order_review table.shop_table td{ padding:9px 2px; border-top:none; }
  #payment ul.payment_methods li > label{ min-height:50px; font-size:14px; }
  .woocommerce-terms-and-conditions-wrapper .form-row{ display:flex; align-items:flex-start; gap:8px; }
  #place_order{ min-height:52px; font-size:15.5px; }
  form.checkout_coupon, form.woocommerce-form-login{ padding:14px !important; }
  form.checkout_coupon .form-row{ margin-bottom:10px; }
  form.checkout_coupon .button{ width:100%; min-height:46px; }

  /* ---- my account: nav becomes a horizontal tab rail ---- */
  .woocommerce-account h1.entry-title{ font-size:22px; margin-bottom:14px; }
  .woocommerce-MyAccount-navigation{ padding:6px; margin:0 -16px 16px; border-radius:0; border-inline:none; }
  .woocommerce-MyAccount-navigation ul{ flex-direction:row; gap:4px; overflow-x:auto; padding:0 10px; scroll-snap-type:x proximity; }
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{ display:none; }
  .woocommerce-MyAccount-navigation li{ flex:none; scroll-snap-align:start; }
  .woocommerce-MyAccount-navigation li a{ white-space:nowrap; min-height:42px; display:flex; align-items:center; padding:0 14px; font-size:14px; }
  .woocommerce-MyAccount-content{ font-size:14.5px; }
  .woocommerce-MyAccount-content .woocommerce-form-row input.input-text{ min-height:48px; font-size:16px; }
  .woocommerce-MyAccount-content fieldset{ padding:16px; margin:22px 0 18px; }
  .woocommerce-MyAccount-content button[type="submit"], .woocommerce-MyAccount-content .woocommerce-Button{ width:100%; min-height:48px; margin-top:14px; }
  .woocommerce-account .woocommerce-orders-table{ display:block; }
  .woocommerce-account .woocommerce-orders-table thead{ display:none; }
  .woocommerce-account .woocommerce-orders-table tbody{ display:block; }
  .woocommerce-account .woocommerce-orders-table tr{ display:block; background:#fff; border:1px solid var(--line); border-radius:14px; padding:6px 14px; margin-bottom:10px; }
  .woocommerce-account .woocommerce-orders-table td{ display:flex; justify-content:space-between; gap:12px; padding:9px 0 !important; border:none !important; border-bottom:1px dashed var(--line) !important; font-size:13.5px; text-align:start; }
  .woocommerce-account .woocommerce-orders-table td:last-child{ border-bottom:none !important; }
  .woocommerce-account .woocommerce-orders-table td::before{ content:attr(data-title); color:var(--muted); font-weight:600; }
  .woocommerce-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button{ padding:8px 14px; font-size:13px; }
  .woocommerce-account form.login, .woocommerce-account form.register{ border:1px solid var(--line) !important; border-radius:16px !important; padding:16px !important; }
  .woocommerce-account .u-columns.col2-set{ display:grid; gap:16px; }
  .woocommerce-account .u-columns.col2-set .col-1, .woocommerce-account .u-columns.col2-set .col-2{ width:100% !important; float:none !important; }
  .woocommerce form .form-row input.input-text{ min-height:48px; font-size:16px; width:100%; }
  .woocommerce form .form-row .button{ width:100%; min-height:48px; }

  /* ---- wishlist / search / pages ---- */
  .li-empty{ padding:28px 0; font-size:14px; }
  .search-empty, .error-404{ padding:50px 0; }
  .error-404 .big{ font-size:84px; }
  .contact-grid{ gap:24px; }
  .contact-info .ci-item{ padding:14px 0; gap:12px; }
  .contact-info .ci-ic{ width:42px; height:42px; }
  .comments-area{ margin-top:30px; }
  .comment-body{ padding:14px 16px; }

  /* mini cart drawer: touch sizes */
  .cart-drawer{ width:min(92vw,400px); }
  .drawer-head{ padding:18px 16px 14px; }
  .drawer-body{ padding:14px 16px; }
  .drawer-foot{ padding:12px 16px calc(12px + env(safe-area-inset-bottom)); }
  .drawer-foot .btn{ min-height:48px; }
  .cart-drawer li.woocommerce-mini-cart-item > a.remove{ width:32px; height:32px; }
}

/* very narrow phones */
@media (max-width:360px){
  .hero h1{ font-size:25px; }
  .scroller .pcard{ flex:0 0 calc(56vw); }
  .li-bnav-item{ font-size:10px; }
}
@media (max-width:640px){
  .brands.brands--duo{ display:grid; grid-template-columns:repeat(2,1fr); margin:0; padding:0; overflow:visible; }
  .brands--duo .brand{ min-width:0; height:88px; padding:0 10px; font-size:19px; }
}
