/*
Theme Name:   Printedmerchke v1
Theme URI:    https://printedmerch.co.ke
Description:  Minimal, gallery-style Storefront child theme for printedmerch.co.ke. Pure white, black type, one quiet accent. Borderless product tiles, AJAX filter sidebar, slide-in cart drawer, add-to-cart modal, hero slideshow, product carousel, WhatsApp ordering, themed account. Visual layer only; SEO and performance left to parent Storefront.
Author:       Pixel Ads Company Limited
Author URI:   https://printedmerch.co.ke
Template:     storefront
Version:      3.0.0
Text Domain:  printedmerchke
*/

/* =========================================================
   TOKENS  —  gallery minimal
   ========================================================= */
:root{
  --ink:#111111;
  --ink-soft:#555555;
  --ink-faint:#8A8A8A;
  --paper:#FFFFFF;
  --hair:#EAEAEA;          /* the only line you'll see */
  --wash:#F7F7F7;          /* used sparingly: image bg, input fill */
  --accent:#B4633A;        /* one quiet rust. used rarely. */

  --fs-xs:.78rem; --fs-sm:.86rem; --fs-base:.95rem; --fs-lg:1.15rem;
  --fs-h2:1.6rem; --fs-h1:2.2rem;

  --sp1:8px; --sp2:16px; --sp3:24px; --sp4:40px; --sp5:64px; --sp6:96px;
  --maxw:1240px;
  --ease:cubic-bezier(.4,0,.2,1);
}

/* =========================================================
   RESET-ISH  /  GLOBAL
   ========================================================= */
body{ background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; line-height:1.6; }
.col-full{ max-width:var(--maxw); }
a{ color:var(--ink); }
a:hover{ color:var(--accent); }

h1,h2,h3,h4{ color:var(--ink); font-weight:600; letter-spacing:-.02em; line-height:1.15; }

/* section rhythm — space, not boxes */
.pm-section{ padding:var(--sp6) 0; }
.pm-section + .pm-section{ padding-top:0; }
.pm-head{ margin-bottom:var(--sp4); }
.pm-head h2{ font-size:var(--fs-h2); margin:0; }
.pm-head .pm-sub{ color:var(--ink-faint); font-size:var(--fs-sm); margin-top:6px; }
.pm-center{ text-align:center; }

/* =========================================================
   BUTTONS  —  flat, quiet, one strong + one ghost
   ========================================================= */
.button, button, input[type=submit],
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .single_add_to_cart_button, .woocommerce .button.alt{
  background:var(--ink) !important; color:#fff !important;
  border:1px solid var(--ink) !important; border-radius:2px !important;
  font-weight:500 !important; font-size:var(--fs-sm) !important; letter-spacing:.02em;
  padding:.8em 1.6em !important; text-transform:none;
  transition:background .18s var(--ease), color .18s var(--ease) !important;
  box-shadow:none !important;
}
.button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.single_add_to_cart_button:hover, .woocommerce .button.alt:hover{
  background:#fff !important; color:var(--ink) !important;
}
/* ghost variant */
.pm-ghost{ background:#fff !important; color:var(--ink) !important; border:1px solid var(--hair) !important; }
.pm-ghost:hover{ border-color:var(--ink) !important; }
/* primary accent only where money happens */
.wc-proceed-to-checkout a.checkout-button, .woocommerce #place_order{
  background:var(--accent) !important; border-color:var(--accent) !important; color:#fff !important;
}
.wc-proceed-to-checkout a.checkout-button:hover, .woocommerce #place_order:hover{
  background:#fff !important; color:var(--accent) !important;
}

/* =========================================================
   PRODUCT TILES  —  borderless, gallery
   The fix: no card. Image on a soft wash, text on white, hairline grid.
   ========================================================= */
ul.products{
  display:grid !important; margin:0 !important; padding:0 !important;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:var(--sp4) var(--sp3);
}
ul.products::before, ul.products::after{ content:none !important; display:none !important; }

ul.products li.product{
  width:auto !important; float:none !important; margin:0 !important; padding:0 !important;
  background:none !important; border:0 !important; box-shadow:none !important;
  display:flex; flex-direction:column; text-align:left;
}
ul.products li.product a img, ul.products li.product img{
  width:100%; aspect-ratio:1/1; object-fit:contain;
  background:none; border:0; border-radius:0;
  margin:0 0 var(--sp2) !important; padding:0;
  transition:opacity .25s var(--ease), transform .25s var(--ease);
}
ul.products li.product:hover img{ opacity:1; transform:scale(1.03); }
ul.products li.product .woocommerce-loop-product__title{
  font-size:var(--fs-base) !important; font-weight:500 !important; color:var(--ink) !important;
  line-height:1.4; padding:0 !important; margin:0 0 4px !important; min-height:auto;
}
ul.products li.product .price{
  color:var(--ink-soft) !important; font-weight:500; font-size:var(--fs-sm) !important; margin:0 0 var(--sp2) !important;
}
ul.products li.product .price del{ color:var(--ink-faint); font-weight:400; }
ul.products li.product .price ins{ color:var(--accent); text-decoration:none; }
/* button: quiet by default, hidden until hover on desktop for gallery calm */
ul.products li.product .button{
  margin-top:auto !important; align-self:flex-start; width:auto;
}
@media (min-width:769px){
  ul.products li.product .button{
    opacity:0; transform:translateY(4px); transition:opacity .2s var(--ease), transform .2s var(--ease);
  }
  ul.products li.product:hover .button{ opacity:1; transform:none; }
}
.onsale{
  background:none !important; color:var(--accent) !important; border:0 !important;
  padding:0 !important; min-height:0 !important; min-width:0 !important;
  font-size:var(--fs-xs) !important; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  top:var(--sp1) !important; left:var(--sp1) !important; right:auto !important; margin:0 !important; border-radius:0 !important;
}

/* result count / sorting — quiet */
.woocommerce-result-count, .woocommerce-ordering{ color:var(--ink-faint); font-size:var(--fs-sm); }
.woocommerce-ordering select{ border:1px solid var(--hair); border-radius:2px; padding:.5em .7em; }

/* =========================================================
   SHOP LAYOUT  +  FILTER SIDEBAR (minimal)
   ========================================================= */
.pm-shop-wrap{ display:grid; grid-template-columns:210px 1fr; gap:var(--sp5); align-items:start; }
.pm-filters{ background:none; border:0; padding:0; position:sticky; top:88px; }
.pm-filters h4{
  font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.12em; color:var(--ink-faint);
  margin:0 0 var(--sp2); font-weight:600;
}
.pm-filter-block{ margin-bottom:var(--sp4); padding-bottom:var(--sp4); border-bottom:1px solid var(--hair); }
.pm-filter-block:last-child{ border-bottom:0; }
.pm-filter-search input, .pm-sort select, .pm-filter-block select{
  width:100%; padding:.6em .7em; border:1px solid var(--hair); border-radius:2px;
  font-size:var(--fs-sm); background:#fff; color:var(--ink);
}
.pm-price-row{ display:flex; align-items:center; gap:var(--sp1); }
.pm-price-row input{ width:100%; padding:.5em .6em; border:1px solid var(--hair); border-radius:2px; font-size:var(--fs-sm); }
.pm-price-apply{ margin-top:var(--sp1); width:100%; }
.pm-color-list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.pm-color-label{ display:flex; flex-direction:column; align-items:center; gap:5px; font-size:var(--fs-xs); color:var(--ink-faint); }
.pm-color-swatch{
  width:26px; height:26px; border-radius:50%; cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); transition:transform .12s var(--ease);
}
.pm-color-swatch:hover{ transform:scale(1.12); }
.pm-color-swatch.pm-active{ box-shadow:inset 0 0 0 1px rgba(0,0,0,.12), 0 0 0 2px var(--ink); }
.pm-filter-clear{ background:none; border:0; padding:0; color:var(--accent); font-size:var(--fs-sm); cursor:pointer; }
.pm-results-area{ position:relative; min-height:300px; }
.pm-results-area.pm-loading{ opacity:.5; }
.pm-results-bar{ margin-bottom:var(--sp3); color:var(--ink-faint); font-size:var(--fs-sm); }
.pm-filter-trigger{ display:none; }

/* =========================================================
   HERO  —  one clean editorial slide, no overlay clutter
   ========================================================= */
.pm-hero{ position:relative; background:var(--wash); overflow:hidden; }
.pm-slide{ display:none; }
.pm-slide.pm-active{ display:block; }
.pm-slide-inner{
  max-width:var(--maxw); margin:0 auto; padding:var(--sp6) var(--sp3);
  min-height:60vh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
}
.pm-slide.pm-has-img .pm-slide-inner{ min-height:64vh; }
.pm-slide-content{ position:relative; max-width:560px; }
.pm-slide.pm-has-img{ background-size:cover; background-position:center; }
.pm-slide.pm-has-img .pm-slide-content{ color:#fff; }
.pm-slide.pm-has-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.4),transparent 70%); }
.pm-slide-content h2{ font-size:clamp(2rem,5vw,3.4rem); margin:0 0 var(--sp2); letter-spacing:-.03em; }
.pm-slide-content p{ font-size:var(--fs-lg); color:inherit; opacity:.85; margin:0 0 var(--sp3); }
.pm-slide-dots{ position:absolute; bottom:var(--sp3); left:0; right:0; display:flex; justify-content:center; gap:8px; z-index:3; }
.pm-dot{ width:7px; height:7px; border-radius:50%; background:rgba(0,0,0,.25); border:0; cursor:pointer; padding:0; }
.pm-slide.pm-has-img ~ .pm-slide-dots .pm-dot{ background:rgba(255,255,255,.5); }
.pm-dot.pm-active{ background:var(--ink); width:22px; border-radius:4px; }
.pm-hero-arrow{ display:none; } /* gallery hero: dots only, calmer */

/* =========================================================
   CAROUSEL  —  borderless, scroll-snap
   ========================================================= */
.pm-carousel-wrap{ position:relative; }
.pm-carousel{ display:flex; gap:var(--sp3); overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding-bottom:var(--sp2); -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.pm-carousel::-webkit-scrollbar{ display:none; }
.pm-carousel .product{ flex:0 0 230px; scroll-snap-align:start; display:flex; flex-direction:column; background:none; border:0; padding:0; }
.pm-carousel .product img{ width:100%; aspect-ratio:1/1; object-fit:contain; background:var(--wash); border-radius:2px; padding:var(--sp3); margin-bottom:var(--sp2); }
.pm-carousel .product .pm-c-title{ font-size:var(--fs-base); font-weight:500; line-height:1.4; margin-bottom:4px; }
.pm-carousel .product .pm-c-price{ color:var(--ink-soft); font-size:var(--fs-sm); margin-bottom:var(--sp2); }
.pm-carousel .product .button{ align-self:flex-start; }
.pm-carousel-arrow{ position:absolute; top:34%; width:40px; height:40px; border-radius:50%; border:1px solid var(--hair); background:#fff; cursor:pointer; font-size:1.1rem; color:var(--ink); display:flex; align-items:center; justify-content:center; z-index:2; }
.pm-carousel-arrow:hover{ border-color:var(--ink); }
.pm-carousel-arrow.pm-c-prev{ left:-8px; } .pm-carousel-arrow.pm-c-next{ right:-8px; }

/* =========================================================
   CATEGORY  —  text-led, minimal
   ========================================================= */
.pm-cats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--sp3); }
.pm-cat-card{ display:block; text-decoration:none; color:var(--ink); }
.pm-cat-card img{ width:100%; aspect-ratio:1/1; object-fit:contain; background:var(--wash); border-radius:2px; padding:var(--sp3); margin-bottom:var(--sp1); transition:opacity .2s var(--ease); }
.pm-cat-card:hover img{ opacity:.82; }
.pm-cat-card .pm-cat-name{ font-weight:500; font-size:var(--fs-sm); display:block; }
.pm-cat-card .pm-cat-count{ color:var(--ink-faint); font-size:var(--fs-xs); }

/* =========================================================
   FAQ  —  hairline rows, no boxes
   ========================================================= */
.pm-faq{ max-width:720px; margin:0 auto; border-top:1px solid var(--hair); }
.pm-faq-item{ border-bottom:1px solid var(--hair); }
.pm-faq-q{ width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:var(--sp3) 0; font-size:var(--fs-base); font-weight:500; color:var(--ink); display:flex; justify-content:space-between; align-items:center; gap:var(--sp3); }
.pm-faq-q::after{ content:"+"; font-size:1.3rem; color:var(--ink-faint); font-weight:400; }
.pm-faq-item.pm-open .pm-faq-q::after{ content:"\2212"; }
.pm-faq-a{ max-height:0; overflow:hidden; transition:max-height .28s var(--ease); }
.pm-faq-item.pm-open .pm-faq-a{ max-height:400px; }
.pm-faq-a-inner{ padding:0 0 var(--sp3); color:var(--ink-soft); }

/* =========================================================
   MODAL  —  minimal
   ========================================================= */
.pm-modal-overlay{ position:fixed; inset:0; background:rgba(17,17,17,.4); display:none; align-items:center; justify-content:center; z-index:100000; padding:var(--sp2); opacity:0; transition:opacity .2s var(--ease); }
.pm-modal-overlay.pm-show{ display:flex; opacity:1; }
.pm-modal{ background:#fff; border-radius:3px; max-width:420px; width:100%; overflow:hidden; transform:translateY(8px); transition:transform .2s var(--ease); }
.pm-modal-overlay.pm-show .pm-modal{ transform:none; }
.pm-modal-head{ display:flex; align-items:center; gap:10px; padding:var(--sp2) var(--sp3); border-bottom:1px solid var(--hair); font-weight:600; font-size:var(--fs-sm); }
.pm-modal-head .pm-check{ width:18px; height:18px; border-radius:50%; background:var(--accent); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:.7rem; }
.pm-modal-close{ margin-left:auto; background:none; border:0; font-size:1.3rem; cursor:pointer; color:var(--ink-faint); }
.pm-modal-body{ display:flex; gap:var(--sp2); padding:var(--sp3); }
.pm-modal-body img{ width:72px; height:72px; object-fit:contain; background:var(--wash); border-radius:2px; padding:6px; }
.pm-m-title{ font-weight:500; margin-bottom:2px; }
.pm-m-price{ color:var(--ink-soft); font-size:var(--fs-sm); }
.pm-modal-foot{ display:flex; gap:var(--sp1); padding:0 var(--sp3) var(--sp3); }
.pm-modal-foot a{ flex:1; text-align:center; padding:.75em 1em; border-radius:2px; text-decoration:none; font-weight:500; font-size:var(--fs-sm); }
.pm-btn-continue{ background:#fff; color:var(--ink); border:1px solid var(--hair); }
.pm-btn-continue:hover{ border-color:var(--ink); }
.pm-btn-checkout{ background:var(--ink); color:#fff; }
.pm-btn-checkout:hover{ background:var(--accent); }

/* =========================================================
   CART DRAWER  —  minimal, aligned
   ========================================================= */
.pm-drawer-overlay{ position:fixed; inset:0; background:rgba(17,17,17,.4); z-index:100001; opacity:0; visibility:hidden; transition:opacity .25s var(--ease), visibility .25s var(--ease); }
.pm-drawer-overlay.pm-show{ opacity:1; visibility:visible; }
.pm-drawer{ position:fixed; top:0; right:0; height:100%; width:380px; max-width:90vw; background:#fff; z-index:100002; transform:translateX(100%); transition:transform .28s var(--ease); display:flex; flex-direction:column; }
.pm-drawer.pm-show{ transform:none; }
.pm-drawer-head{ display:flex; align-items:center; justify-content:space-between; padding:var(--sp3); border-bottom:1px solid var(--hair); }
.pm-drawer-head h3{ margin:0; font-size:var(--fs-base); font-weight:600; letter-spacing:.02em; text-transform:uppercase; }
.pm-drawer-close{ background:none; border:0; font-size:1.5rem; cursor:pointer; color:var(--ink-faint); }
.pm-drawer-body{ flex:1 1 auto; overflow-y:auto; padding:0 var(--sp3); }
.pm-drawer ul.cart_list, .pm-drawer ul.product_list_widget{ margin:0; padding:0; list-style:none; }
.pm-drawer ul.cart_list li, .pm-drawer ul.product_list_widget li{
  display:grid !important; grid-template-columns:56px 1fr auto; gap:var(--sp2); align-items:center;
  padding:var(--sp2) 0 !important; border-bottom:1px solid var(--hair); margin:0 !important; position:relative;
}
.pm-drawer ul.cart_list img, .pm-drawer ul.product_list_widget img{
  width:56px !important; height:56px; object-fit:contain; background:var(--wash); border-radius:2px;
  float:none !important; margin:0 !important; grid-column:1; grid-row:1/3;
}
.pm-drawer ul.cart_list li a:not(.remove), .pm-drawer ul.product_list_widget li a:not(.remove){ grid-column:2; font-size:var(--fs-sm); font-weight:500; }
.pm-drawer ul.cart_list .quantity, .pm-drawer ul.product_list_widget .quantity{ grid-column:2; font-size:var(--fs-xs); color:var(--ink-faint); }
.pm-drawer ul.cart_list li a.remove, .pm-drawer ul.product_list_widget li a.remove{ position:static !important; grid-column:3; justify-self:end; margin:0 !important; color:var(--ink-faint) !important; }
.pm-drawer-foot{ border-top:1px solid var(--hair); padding:var(--sp3); }
.pm-drawer-foot .pm-sub{ display:flex; justify-content:space-between; font-weight:600; margin-bottom:var(--sp2); font-size:var(--fs-base); }
.pm-drawer-foot .button{ width:100%; text-align:center; margin-bottom:var(--sp1); }
.pm-drawer-foot .pm-view-cart{ background:#fff !important; color:var(--ink) !important; border:1px solid var(--hair) !important; }
.pm-drawer-foot .pm-view-cart:hover{ border-color:var(--ink) !important; }
.pm-drawer-foot .pm-checkout{ background:var(--accent) !important; border-color:var(--accent) !important; }

/* =========================================================
   CART + CHECKOUT  —  clean, airy, minimal lines
   ========================================================= */
.woocommerce-cart table.cart{ border:0; }
.woocommerce-cart table.cart thead th{ border-bottom:1px solid var(--ink); background:none; font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.1em; color:var(--ink-faint); padding-bottom:var(--sp2); }
.woocommerce-cart table.cart td{ border-top:1px solid var(--hair); padding:var(--sp2) var(--sp1); }
.woocommerce-cart table.cart img{ border-radius:2px; }
.woocommerce-cart .cart_totals{ border:1px solid var(--hair); border-radius:2px; padding:var(--sp3); }
.quantity .qty{ border:1px solid var(--hair); border-radius:2px; padding:.45em; }

/* Quantity field — compact, no giant gray blocks */
.woocommerce .quantity{ display:inline-flex; align-items:stretch; }
.woocommerce .quantity .qty{
  width:54px !important; height:42px; text-align:center; border:1px solid var(--hair);
  border-radius:2px; background:#fff; font-size:var(--fs-sm); padding:0 !important; -moz-appearance:textfield;
}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
/* If a plus/minus plugin or theme adds buttons, keep them small and flat */
.woocommerce .quantity .plus, .woocommerce .quantity .minus,
.quantity button.plus, .quantity button.minus{
  width:42px !important; height:42px !important; background:#fff !important; color:var(--ink) !important;
  border:1px solid var(--hair) !important; border-radius:2px !important; font-size:1rem !important;
  padding:0 !important; line-height:1 !important; box-shadow:none !important;
}
.woocommerce .quantity .minus{ margin-right:-1px; }
.woocommerce .quantity .plus{ margin-left:-1px; }
.woocommerce .quantity .plus:hover, .woocommerce .quantity .minus:hover{ border-color:var(--ink) !important; background:#fff !important; color:var(--ink) !important; }

/* single product add-to-cart row: align qty + button on one baseline */
.single-product form.cart{ display:flex; align-items:center; gap:var(--sp2); flex-wrap:wrap; }
.single-product form.cart .single_add_to_cart_button{ height:42px; display:inline-flex; align-items:center; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2{ float:none; width:100%; }
.woocommerce-checkout input.input-text, .woocommerce-checkout textarea, .woocommerce-checkout select, .woocommerce-checkout .select2-selection{
  border:1px solid var(--hair) !important; border-radius:2px !important; padding:.7em .8em !important; min-height:46px;
}
.woocommerce-checkout #order_review{ border:1px solid var(--hair); border-radius:2px; padding:var(--sp3); }

/* =========================================================
   SEARCH INPUTS  —  rounded-2px to match
   ========================================================= */
.site-search input.search-field, .widget_product_search input.search-field, input.search-field[name="s"],
.pm-filter-search input, .woocommerce-product-search input[type=search]{
  border-radius:2px !important; border:1px solid var(--hair) !important; padding:.6em .9em !important; background:#fff;
}
.site-search .pm-live-results, .pm-search-wrap .pm-live-results{
  position:absolute; left:0; right:0; top:100%; background:#fff; border:1px solid var(--hair);
  border-radius:2px; margin-top:6px; box-shadow:0 12px 30px rgba(0,0,0,.08); z-index:1001; max-height:70vh; overflow-y:auto; display:none;
}
.pm-live-results.pm-show{ display:block; }
.pm-live-results a.pm-res{ display:flex; align-items:center; gap:var(--sp2); padding:10px var(--sp2); border-bottom:1px solid var(--hair); text-decoration:none; color:var(--ink); }
.pm-live-results a.pm-res:hover{ background:var(--wash); }
.pm-live-results img{ width:40px; height:40px; object-fit:contain; background:var(--wash); border-radius:2px; }
.pm-live-results .pm-res-t{ font-size:var(--fs-sm); }
.pm-live-results .pm-res-p{ font-size:var(--fs-xs); color:var(--ink-soft); }
.pm-live-results .pm-empty, .pm-live-results .pm-loading{ padding:14px; color:var(--ink-faint); font-size:var(--fs-sm); }
.site-search, .pm-search-wrap{ position:relative; }

/* =========================================================
   HEADER + ACCOUNT
   ========================================================= */
.site-header{
  background:#fff !important; border-bottom:1px solid var(--hair);
  position:sticky; top:0; z-index:999;
}
/* constrain the logo — it was rendering huge */
.site-branding img, .custom-logo-link img, .site-logo-anchor img{
  max-height:48px !important; width:auto !important;
}
.site-header .site-branding{ max-width:200px; }
.pm-account-link{ display:inline-flex; align-items:center; gap:7px; color:var(--ink) !important; text-decoration:none; font-size:var(--fs-sm); font-weight:500; margin-right:var(--sp3); }
.pm-account-link:hover{ color:var(--accent) !important; }

/* -------- HEADER CLEAN-UP --------
   Storefront prints a small cart "contents" link AND a separate cart total/basket.
   That produced the duplicated, scattered cart on the right. We keep ONE cart
   element (the basket trigger that opens the drawer) and align the row. */
.site-header-cart .widget_shopping_cart{ display:none !important; } /* hover dropdown — drawer replaces it */
.storefront-handheld-footer-bar{ display:none !important; }

/* Right-hand header cluster: account + search + cart on one aligned row */
.site-header .col-full{ display:flex; align-items:center; flex-wrap:wrap; gap:var(--sp2) var(--sp3); }
.site-header .site-branding{ margin:0; flex:0 0 auto; }
.main-navigation{ order:5; flex:1 1 100%; }
.site-search{ order:3; flex:1 1 220px; max-width:340px; margin:0 !important; }
.pm-account-link{ order:3; margin:0; }
.site-header-cart{ order:4; margin:0; }
.site-header-cart .cart-contents{ display:inline-flex; align-items:center; gap:6px; color:var(--ink) !important; font-weight:500; font-size:var(--fs-sm); }
.site-header-cart .cart-contents .amount{ color:var(--ink) !important; }
.site-header-cart .count{ color:var(--ink-faint); }

/* Suppress the default WordPress widget sidebar (Search / Recent Posts / Archives
   junk leaking onto shop/pages). We run a custom filter sidebar instead. */
.woocommerce-page #secondary,
.archive.woocommerce #secondary,
.post-type-archive-product #secondary,
.single-product #secondary{ display:none !important; }
.woocommerce-page #primary,
.post-type-archive-product #primary,
.single-product #primary{ width:100% !important; float:none !important; }

/* =========================================================
   WHATSAPP  —  official green, restrained
   ========================================================= */
.pm-wa-fab{ position:fixed; right:18px; bottom:18px; z-index:99999; display:inline-flex; align-items:center; background:#25D366; color:#fff !important; text-decoration:none; border-radius:999px; padding:14px; box-shadow:0 6px 20px rgba(37,211,102,.4); transition:transform .15s var(--ease); overflow:hidden; white-space:nowrap; }
.pm-wa-fab:hover{ transform:translateY(-2px); }
.pm-wa-label{ max-width:0; opacity:0; font-weight:600; font-size:var(--fs-sm); transition:max-width .28s var(--ease), opacity .2s var(--ease), margin .28s var(--ease); }
.pm-wa-fab:hover .pm-wa-label{ max-width:160px; opacity:1; margin-left:9px; margin-right:5px; }
.pm-wa-fab.pm-wa-loading{ opacity:.7; pointer-events:none; }

/* =========================================================
   MY ACCOUNT  —  minimal
   ========================================================= */
.woocommerce-account .woocommerce{ display:grid; grid-template-columns:200px 1fr; gap:var(--sp5); align-items:start; }
.woocommerce-account .woocommerce-MyAccount-navigation{ float:none; width:auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li{ margin:0; border:0; border-bottom:1px solid var(--hair); }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:.8em 0; color:var(--ink); text-decoration:none; font-size:var(--fs-sm); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ color:var(--accent); }
.woocommerce-account .woocommerce-MyAccount-content{ float:none; width:auto; }
.pm-account-hero{ margin-bottom:var(--sp3); padding-bottom:var(--sp3); border-bottom:1px solid var(--hair); }
.pm-account-hero h2{ margin:0 0 4px; font-size:var(--fs-h2); }
.pm-account-hero p{ margin:0; color:var(--ink-faint); }

/* =========================================================
   FOOTER  —  clean columns, one dark tone, no cards
   ========================================================= */
.site-footer{ background:var(--footer,#111) !important; color:#9a9a9a; padding:0; }
.pm-footer{ padding:var(--sp5) 0 var(--sp4); }
.pm-footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:var(--sp4); }
.pm-footer-col h4{ color:#fff; font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.12em; margin:0 0 var(--sp2); font-weight:600; }
.pm-footer-col ul{ list-style:none; margin:0; padding:0; }
.pm-footer-col li{ padding:.32em 0; }
.pm-footer-col a{ color:#9a9a9a; text-decoration:none; font-size:var(--fs-sm); }
.pm-footer-col a:hover{ color:#fff; }
.pm-footer-about p{ font-size:var(--fs-sm); line-height:1.7; margin:var(--sp1) 0 0; max-width:34ch; }
.pm-footer-brand{ color:#fff; font-size:var(--fs-lg); margin:0 0 var(--sp1); }
.pm-footer-logo img{ max-height:42px; width:auto; filter:brightness(0) invert(1); margin-bottom:var(--sp2); }
.pm-footer-contact li{ color:#9a9a9a; font-size:var(--fs-sm); }
.site-footer .site-info{ background:rgba(0,0,0,.25); color:#666; border-top:1px solid rgba(255,255,255,.08); font-size:var(--fs-xs); margin:0; padding:var(--sp2) 0; }
.storefront-handheld-footer-bar{ display:none !important; }
a.added_to_cart{ display:none !important; }

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width:768px){
  body{ font-size:14.5px; }
  .pm-section{ padding:var(--sp5) 0; }
  .pm-head h2{ font-size:1.35rem; }

  .col-full{ position:relative; }
  .site-header .col-full{ gap:var(--sp1) var(--sp2); }
  .site-branding img, .custom-logo-link img{ max-height:38px !important; }
  .site-search{ flex:1 1 100%; max-width:none; order:6; }

  ul.products{ grid-template-columns:1fr 1fr !important; gap:var(--sp3) var(--sp2); }
  ul.products li.product img{ padding:0; }
  ul.products li.product .woocommerce-loop-product__title{ font-size:var(--fs-sm) !important; }
  ul.products li.product .button{ width:100%; align-self:stretch; opacity:1 !important; transform:none !important; }

  .pm-shop-wrap{ grid-template-columns:1fr; gap:0; }
  .pm-filters{ position:fixed; top:0; left:0; height:100%; width:300px; max-width:86vw; background:#fff; z-index:100003; transform:translateX(-100%); transition:transform .28s var(--ease); overflow-y:auto; padding:var(--sp3); }
  .pm-filters.pm-show{ transform:none; }
  .pm-filter-trigger{ display:inline-flex; align-items:center; gap:6px; background:#fff; color:var(--ink); border:1px solid var(--hair); border-radius:2px; padding:.55em 1em; font-size:var(--fs-sm); font-weight:500; cursor:pointer; margin-bottom:var(--sp3); }
  .pm-filters-overlay{ position:fixed; inset:0; background:rgba(17,17,17,.4); z-index:100002; opacity:0; visibility:hidden; transition:opacity .25s; }
  .pm-filters-overlay.pm-show{ opacity:1; visibility:visible; }
  .pm-filters-close{ display:block; margin-left:auto; background:none; border:0; font-size:1.4rem; cursor:pointer; color:var(--ink-faint); }

  .pm-slide-inner{ min-height:46vh; padding:var(--sp4) var(--sp3); }
  .pm-carousel .product{ flex-basis:150px; }

  .pm-wa-fab{ right:14px; bottom:14px; padding:13px; }
  .pm-wa-fab .pm-wa-label{ display:none; }

  .pm-account-link{ position:absolute; top:50%; right:92px; transform:translateY(-50%); margin:0; z-index:1000; }
  .pm-account-label{ display:none; }

  .woocommerce-account .woocommerce{ grid-template-columns:1fr; gap:var(--sp3); }

  .pm-footer-grid{ grid-template-columns:1fr 1fr; gap:var(--sp3); }
  .pm-footer-about{ grid-column:1 / -1; }

  .single-product div.product .woocommerce-product-gallery, .single-product div.product .summary{ width:100% !important; float:none !important; }
}
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; } }
