/*!
Theme Name: Asiri_Perera_Theme_By_SC_Global
Theme URI: https://scglobalhq.com/
Author: SC Global
Author URI: https://scglobalhq.com/
Description: Theme of Asiri Perera developed by SC Global
Version: 1.0.0
*/

/* =====================================================
   1. BASE (shared design tokens – keep on every page)
   ===================================================== */
:root{
  --ink:#16144A;--royal:#2433B8;--magenta:#E8197D;--sun:#FFC21A;--lime:#C8F03C;
  --tangerine:#FF5B24;--violet:#7B2FF2;--blush:#FFEFF6;--rose:#FFD6E8;--paper:#FFFFFF;--muted:#5B5A7A;
  --sans:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --wrap:1240px;--r-lg:28px;--r-md:18px;--r-sm:999px;--ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--magenta);outline-offset:3px;border-radius:6px}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
h1,h2,h3,h4{line-height:1.08;margin:0;letter-spacing:-.02em}

/* Buttons used in header/footer */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:var(--r-sm);font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;line-height:1.2}
.btn:hover{transform:translateY(-2px)}
.btn-magenta,.btn-magenta:hover,.btn-magenta:focus,.btn-magenta:visited{background:var(--magenta);color:#fff!important;box-shadow:0 6px 0 #9C0E52}
.btn-magenta:hover{box-shadow:0 8px 0 #9C0E52}

/* =====================================================
   2. HEADER
   ===================================================== */
/* Top bar */
.topbar{background:var(--lime);color:var(--ink);font-size:14px;font-weight:600}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 0}
.topbar .contacts{display:flex;align-items:center;gap:28px}
.topbar a,.topbar a:hover,.topbar a:focus{text-decoration:none!important;transition:color .2s ease}
.topbar a:hover{color:var(--royal)}
.topbar .hot{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.topbar .flag{width:auto;height:14px;flex:none;border-radius:2px;box-shadow:0 0 0 1px rgba(22,20,74,.15);display:block}
.topbar .tagline{font-family:var(--serif);font-style:italic;font-weight:400;font-size:18px;white-space:nowrap}

/* Main header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(22,20,74,.08);transition:box-shadow .3s ease}
.site-header.scrolled{box-shadow:0 10px 30px rgba(22,20,74,.08)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px}
.logo{display:flex;flex-direction:column;text-decoration:none;line-height:1}
.logo .name{font-family:var(--serif);font-style:italic;font-size:30px;color:var(--magenta)}
.logo .sub{font-size:12px;font-weight:700;color:var(--royal);margin-top:4px}
.menu{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu>li>a,.menu>li>button{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:var(--r-sm);font-weight:600;font-size:15.5px;text-decoration:none;background:none;border:0;cursor:pointer;position:relative}
.menu>li>a::after,.menu>li>button::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;border-radius:3px;background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.menu>li>a:hover::after,.menu>li>button:hover::after,.menu [aria-current="page"]::after,.menu .is-current::after{transform:scaleX(1)}
.chev{width:12px;height:12px;transition:transform .25s ease}
#workMenu.open .chev{transform:rotate(180deg)}

/* Mega menu (Work with me) */
.mega{position:absolute;top:calc(100% + 12px);left:50%;width:600px;transform:translate(-50%,8px);display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:14px;background:#fff;border-radius:var(--r-lg);box-shadow:0 30px 60px rgba(22,20,74,.18);opacity:0;visibility:hidden;transition:all .25s var(--ease)}
.mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
#workMenu.open .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega a{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);text-decoration:none;transition:background .2s ease}
.mega a:hover{background:var(--blush)}
.mega strong{display:block;font-size:15px}
.mega span{display:block;font-size:13px;color:var(--muted);line-height:1.4}
.dot{flex:none;width:12px;height:12px;border-radius:50%;background:var(--c);margin-top:5px;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(22,20,74,.12)}

/* Right-side actions */
.nav-actions{display:flex;align-items:center;gap:12px}
.bag{position:relative;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(22,20,74,.12);text-decoration:none}
.bag svg{width:20px;height:20px}
.bag .count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--magenta);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px;transition:transform .2s ease}
.bag .count.is-empty{background:var(--muted)}
.bag .count.pop{animation:pop .45s var(--ease)}
@keyframes pop{40%{transform:scale(1.45)}100%{transform:scale(1)}}
.bag-mobile{display:none}
.nav-actions .btn{padding:11px 20px;font-size:15px}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--ink);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .3s ease,opacity .3s ease}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Mobile overlay menu */
.overlay{position:fixed;inset:0;z-index:55;background:var(--ink);color:#fff;padding:calc(var(--hh,78px) + 44px) 24px 40px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
body.menu-open .overlay{opacity:1;visibility:visible}
body.menu-open{overflow:hidden}
body.menu-open .site-header{position:fixed;top:0;left:0;right:0;background:#fff}
.overlay>ul{list-style:none;margin:0;padding:0}
.overlay .lvl1{display:block;font-size:30px;font-weight:700;padding:8px 0;text-decoration:none}
.overlay .row{display:flex;align-items:center;justify-content:space-between}
.overlay .row a{text-decoration:none}
.overlay [aria-current="page"]{color:var(--sun)}
.sub-toggle{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:none;display:grid;place-items:center;cursor:pointer;transition:transform .3s ease,background .3s ease}
.sub-toggle svg{width:16px;height:16px}
.sub-toggle[aria-expanded="true"]{transform:rotate(45deg);background:var(--magenta);border-color:var(--magenta)}
.overlay .sub{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.overlay .sub.open{grid-template-rows:1fr}
.overlay .sub>ul{overflow:hidden;list-style:none;margin:0;padding:0 0 0 4px}
.overlay .sub a{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:18px;text-decoration:none;color:rgba(255,255,255,.88)}
.overlay .sub .dot{margin-top:0;box-shadow:none}
.overlay .foot{margin-top:30px;display:flex;flex-direction:column;gap:10px;font-size:15px}
.overlay .foot a{text-decoration:none;color:rgba(255,255,255,.8)}
.overlay .foot .btn{color:#fff;margin-top:10px;align-self:flex-start}

/* =====================================================
   3. FOOTER
   ===================================================== */
.footer{position:relative;background:var(--violet);color:rgba(255,255,255,.85);padding:84px 0 30px;overflow:hidden}
.footer::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,var(--magenta) 0 16.6%,var(--tangerine) 16.6% 33.3%,var(--sun) 33.3% 50%,var(--lime) 50% 66.6%,var(--royal) 66.6% 83.3%,var(--ink) 83.3%)}
.footer::after{content:"";position:absolute;right:-120px;bottom:-200px;width:420px;height:420px;border-radius:50%;background:var(--magenta);opacity:.55}
.footer .wrap{position:relative;z-index:1}
.f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:20px}
.footer .logo .name{color:#fff}
.footer .logo .sub{color:var(--sun)}
.footer .tag{margin:16px 0 0;max-width:300px;font-size:15px}
.footer h4{color:var(--sun);margin:0 0 16px;font-size:16px}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.footer a,.footer a:hover,.footer a:focus{text-decoration:none!important;transition:color .2s ease}
.footer ul a:hover,.footer address a:hover{color:var(--sun)}
.footer address{font-style:normal;font-size:14.5px;line-height:1.55;margin-bottom:14px}
.footer address b{color:#fff;display:block}
.social-row{display:flex;gap:10px;margin-top:20px}
.social-row a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(255,255,255,.5);color:#fff;transition:all .25s ease}
.social-row a:hover{background:var(--lime);border-color:var(--lime);color:var(--ink);text-decoration:none}
.social-row svg{width:18px;height:18px}
.regs{padding:36px 0 34px}
.regs h4{margin:0 0 18px}
.logo-slider{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;width:max-content;animation:scroll 30s linear infinite}
.logo-slider:hover .logo-track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}
.logo-card{flex:none;width:190px;height:96px;margin-right:18px;border-radius:var(--r-md);background:#fff;display:grid;place-items:center;padding:14px 20px;transition:transform .3s ease}
.logo-card:hover{transform:translateY(-4px) rotate(-1deg)}
.logo-card img{max-width:100%;max-height:62px;width:auto;height:auto;object-fit:contain}
.logo-card .fallback{display:none;font-size:14px;font-weight:700;color:var(--ink);text-align:center;line-height:1.25}
.logo-card.missing img{display:none}
.logo-card.missing .fallback{display:block}
.footer .bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13.5px;color:rgba(255,255,255,.7);border-top:1px solid rgba(255,255,255,.2);padding-top:22px}

/* Demo spacer only – delete when you add real page content */
.demo-body{min-height:60vh;display:grid;place-items:center;background:var(--blush);color:var(--muted);font-family:var(--serif);font-style:italic;font-size:26px;text-align:center;padding:40px 20px}

/* =====================================================
   4. RESPONSIVE
   ===================================================== */
@media (max-width:1024px){
  .topbar .tagline{display:none}
  .topbar .wrap{justify-content:center}
  .menu,.nav-actions .btn,.nav-actions .bag{display:none}
  .burger{display:flex}
  .f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  body{font-size:16px}
  .site-header .wrap{height:68px}
  .logo .name{font-size:26px}
  .topbar .email{display:none}
  .topbar .contacts{gap:16px;font-size:12.5px}
  .topbar .hot{gap:6px}
  .f-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}


/*================================================================*/
  /*----woocommerce designs CSS--*/
/*==================================================================*/


/* =====================================================================
   ASIRI PERERA – WOOCOMMERCE STYLES  (asiri-woocommerce.css)
   Learn Do Rise® | Built by SC Global

   Works with your woocommerce.php wrapper:
     .Asiri-shop-content > .Asiri-shop-content-in > ... woocommerce_content()

   Covers:
     1.  Tokens + base
     2.  Page wrapper
     3.  Breadcrumb + page title banner (shop / category / tag / search)
     4.  Notices (success, error, info)
     5.  Toolbar (result count + sorting)
     6.  Product grid (shop, category, archive, related, upsells, cross-sells)
     7.  Pagination
     8.  Single product page
     9.  Quantity, buttons, forms (shared)
     10. Cart page (classic shortcode + block)
     11. Checkout page (classic shortcode + block)
     12. Order received / thank you
     13. My Account
     14. Sidebar widgets + mini cart
     15. Responsive
   Default WooCommerce CSS stays ON – this file overrides it.
   ===================================================================== */


/* ---------- 1. TOKENS + BASE ---------- */
:root{
  --ap-lime:#C6F432;
  --ap-blue:#0B4F9E;
  --ap-orange:#FF5A1F;
  --ap-purple:#9A4DFF;
  --ap-indigo:#2B1B8F;
  --ap-cyan:#19C3E6;
  --ap-pink:#FF3D7F;
  --ap-amber:#FFB21E;
  --ap-green:#1F8A4C;
  --ap-red:#D92D3A;
  --ap-ink:#2A1036;
  --ap-ink-soft:#5B4466;
  --ap-blush:#FFF4F8;
  --ap-white:#ffffff;
  --ap-line:rgba(42,16,54,.12);
  --ap-serif:"Instrument Serif", Georgia, "Times New Roman", serif;
  --ap-sans:"Bricolage Grotesque", "Segoe UI", Roboto, Arial, sans-serif;
  --ap-radius:22px;
  --ap-radius-sm:14px;
}

body.woocommerce,
body.woocommerce-page{
  font-family:var(--ap-sans);
  color:var(--ap-ink);
  -webkit-font-smoothing:antialiased;
}
.woocommerce *,
.woocommerce-page *{box-sizing:border-box}
.woocommerce a,
.woocommerce-page a{color:inherit}
.woocommerce :focus-visible,
.woocommerce-page :focus-visible{
  outline:3px solid var(--ap-pink);
  outline-offset:3px;
}
.woocommerce img,
.woocommerce-page img{max-width:100%;height:auto}


/* ---------- 2. PAGE WRAPPER ---------- */
.Asiri-shop-content{
  width:100%;
  background:var(--ap-white);
}
.Asiri-shop-content-in{
  width:min(1240px, 100% - 40px);
  margin-inline:auto;
  padding:60px 0 90px;
}

/* Shop / category title (woocommerce_content() outputs h1.page-title) */
.Asiri-shop-content h1.page-title{
  margin:0 0 10px;
  padding-top:10px;
}
@media (max-width:640px){
  .Asiri-shop-content-in{padding-top:36px}
}
/* your inner div has the same class name – reset it so it does not double up */
.Asiri-shop-content-in > .Asiri-shop-content{width:auto}

/* Cart / checkout / account pages normally use page.php.
   Wrap their content with the same classes, or this rule centres them. */
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce{
  width:min(1240px, 100% - 40px);
  margin:0 auto;
  padding:50px 0 90px;
}


/* ---------- 3. BREADCRUMB + TITLE BANNER ---------- */
.woocommerce .woocommerce-breadcrumb{
  margin:0 !important;
  padding:26px 0 0 !important;
  font-size:14px !important;
  color:var(--ap-ink-soft) !important;
}
.woocommerce .woocommerce-breadcrumb a{
  color:var(--ap-ink) !important;
  text-decoration:none;
  font-weight:500;
}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--ap-pink) !important}

/* Shop / category / tag title becomes a blue band with a rainbow arch */
.woocommerce-products-header{
  position:relative;
  overflow:hidden;
  margin:22px 0 40px;
  padding:56px 48px 60px;
  background:var(--ap-blue);
  color:var(--ap-white);
  border-radius:32px;
  min-height:240px;
}
.woocommerce-products-header::before,
.woocommerce-products-header::after{
  content:"";
  position:absolute;
  bottom:-2px;
  right:6%;
  width:280px;
  height:250px;
  border-radius:999px 999px 0 0;
  pointer-events:none;
}
.woocommerce-products-header::before{
  background:var(--ap-orange);
  box-shadow:inset 0 0 0 22px var(--ap-orange), inset 0 0 0 44px var(--ap-pink),
             inset 0 0 0 66px var(--ap-amber), inset 0 0 0 88px var(--ap-purple);
}
.woocommerce-products-header::after{
  width:calc(280px - 176px);
  height:calc(250px - 88px);
  right:calc(6% + 88px);
  background:var(--ap-blue);
}
.woocommerce-products-header__title.page-title{
  position:relative;
  z-index:1;
  max-width:60%;
  margin:0 0 14px;
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:clamp(42px, 5.6vw, 76px);
  line-height:1;
  letter-spacing:-.01em;
  color:var(--ap-white);
}
.woocommerce-products-header .term-description,
.woocommerce-products-header .page-description{
  position:relative;
  z-index:1;
  max-width:52ch;
  font-size:17px;
  line-height:1.6;
  opacity:.92;
}
.woocommerce-products-header .term-description p{margin:0 0 10px}

/* Category title colours (slug must match). Example: /product-category/books/ */
body.term-books    .woocommerce-products-header{background:var(--ap-orange)}
body.term-courses  .woocommerce-products-header{background:var(--ap-purple)}
body.term-toolkits .woocommerce-products-header{background:var(--ap-cyan)}
body.term-kids     .woocommerce-products-header{background:var(--ap-amber)}
body.term-sessions .woocommerce-products-header{background:var(--ap-blue)}
body.term-merch    .woocommerce-products-header{background:var(--ap-pink)}
body.term-books    .woocommerce-products-header::after{background:var(--ap-orange)}
body.term-courses  .woocommerce-products-header::after{background:var(--ap-purple)}
body.term-toolkits .woocommerce-products-header::after{background:var(--ap-cyan)}
body.term-kids     .woocommerce-products-header::after{background:var(--ap-amber)}
body.term-merch    .woocommerce-products-header::after{background:var(--ap-pink)}
body.term-toolkits .woocommerce-products-header,
body.term-kids     .woocommerce-products-header,
body.term-toolkits .woocommerce-products-header__title,
body.term-kids     .woocommerce-products-header__title{color:var(--ap-ink)}


/* ---------- 4. NOTICES ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info,
.woocommerce-page .woocommerce-error{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 20px;
  margin:0 0 26px !important;
  padding:18px 24px 18px 56px !important;
  border:0 !important;
  border-radius:var(--ap-radius-sm);
  font-size:15px;
  line-height:1.5;
  list-style:none;
  position:relative;
}
.woocommerce .woocommerce-message::after,
.woocommerce .woocommerce-info::after,
.woocommerce .woocommerce-error::after{display:none}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before{
  top:50% !important;
  left:22px !important;
  transform:translateY(-50%);
}
.woocommerce .woocommerce-message{background:#E7F8D0 !important;color:var(--ap-ink) !important}
.woocommerce .woocommerce-message::before{color:var(--ap-green) !important}
.woocommerce .woocommerce-info{background:var(--ap-blush) !important;color:var(--ap-ink) !important}
.woocommerce .woocommerce-info::before{color:var(--ap-pink) !important}
.woocommerce .woocommerce-error{background:#FFE6E8 !important;color:var(--ap-ink) !important}
.woocommerce .woocommerce-error::before{color:var(--ap-red) !important}
.woocommerce .woocommerce-error li{margin:0;flex-basis:100%}
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button{
  order:2;
  margin-left:auto !important;
  float:none !important;
  padding:10px 18px !important;
  font-size:14px !important;
}
.woocommerce .woocommerce-message a:not(.button),
.woocommerce .woocommerce-info a:not(.button){font-weight:600}

/* Block-based notices */
.wc-block-components-notice-banner{
  border-radius:var(--ap-radius-sm) !important;
  font-family:var(--ap-sans);
}


/* ---------- 5. TOOLBAR (result count + sorting) ---------- */
.woocommerce .woocommerce-result-count{
  float:left;
  margin:8px 0 28px !important;
  font-size:15px;
  color:var(--ap-ink-soft);
}
.woocommerce .woocommerce-ordering{
  float:right;
  margin:0 0 28px !important;
}
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby{
  font:500 15px var(--ap-sans);
  color:var(--ap-ink);
  padding:11px 44px 11px 18px;
  border:1.5px solid var(--ap-line);
  border-radius:999px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232A1036' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 18px center;
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
}
.woocommerce .woocommerce-ordering select:hover{border-color:var(--ap-pink)}
.woocommerce .woocommerce-ordering::after{content:"";display:table;clear:both}


/* ---------- 6. PRODUCT GRID ---------- */
/* Works on: shop, category, tag, search, related, upsells, cross-sells, [products] shortcode */
.woocommerce ul.products,
.woocommerce-page ul.products{
  clear:both;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:28px;
  margin:0 0 10px !important;
  padding:0 !important;
  list-style:none;
}
.woocommerce ul.products.columns-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4, minmax(0,1fr))}
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after{display:none !important}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  --c:var(--ap-orange);
  --c-text:var(--ap-white);
  position:relative;
  display:flex;
  flex-direction:column;
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:0 0 20px !important;
  background:var(--ap-white);
  border:1.5px solid var(--ap-line);
  border-radius:var(--ap-radius);
  text-align:left;
  transition:border-color .2s, transform .2s;
}
.woocommerce ul.products li.product:hover{
  border-color:var(--c);
  transform:translateY(-3px);
}

/* Colour per category – WooCommerce adds product_cat-<slug> automatically */
.woocommerce ul.products li.product.product_cat-books{--c:var(--ap-orange)}
.woocommerce ul.products li.product.product_cat-courses{--c:var(--ap-purple)}
.woocommerce ul.products li.product.product_cat-toolkits{--c:var(--ap-cyan);--c-text:var(--ap-ink)}
.woocommerce ul.products li.product.product_cat-kids{--c:var(--ap-amber);--c-text:var(--ap-ink)}
.woocommerce ul.products li.product.product_cat-sessions{--c:var(--ap-blue)}
.woocommerce ul.products li.product.product_cat-merch{--c:var(--ap-pink)}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex;
  flex-direction:column;
  flex:1;
  text-decoration:none;
  color:inherit;
}

/* Arched product image */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img{
  width:calc(100% - 24px) !important;
  height:auto;
  aspect-ratio:1/1;
  margin:12px 12px 0 !important;
  object-fit:cover;
  border-radius:999px 999px 14px 14px;
  background:var(--c);
  box-shadow:none !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{
  margin:18px 20px 8px !important;
  padding:0 !important;
  font:600 18px/1.3 var(--ap-sans) !important;
  color:var(--ap-ink);
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:var(--ap-ink)}

.woocommerce ul.products li.product .star-rating{
  margin:0 20px 10px !important;
  font-size:14px;
  color:var(--ap-amber);
}

.woocommerce ul.products li.product .price{
  display:flex !important;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 10px;
  margin:auto 20px 16px !important;
  font-family:var(--ap-serif) !important;
  font-size:28px !important;
  font-weight:400 !important;
  line-height:1;
  color:var(--ap-ink) !important;
}
.woocommerce ul.products li.product .price del{
  font-size:18px;
  opacity:.5;
  color:var(--ap-ink);
}
.woocommerce ul.products li.product .price ins{
  text-decoration:none;
  font-weight:400;
  background:none;
}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol{font-size:.85em}

/* Loop button: Add to basket / Select options / Read more */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 20px !important;
  padding:14px 18px !important;
  background:var(--ap-ink) !important;
  color:var(--ap-white) !important;
  border:0 !important;
  border-radius:999px !important;
  font:600 15px/1 var(--ap-sans) !important;
  text-align:center;
  transition:background .2s, color .2s;
}
.woocommerce ul.products li.product .button:hover{
  background:var(--c) !important;
  color:var(--c-text) !important;
}
.woocommerce ul.products li.product .button.loading{opacity:.6}
.woocommerce ul.products li.product .button.loading::after{top:auto !important;right:16px !important}
.woocommerce ul.products li.product .button.added{background:var(--ap-green) !important}
.woocommerce ul.products li.product .button.added::after{margin-left:6px}
.woocommerce ul.products li.product .added_to_cart{
  display:block;
  margin:10px 20px 0;
  padding:0;
  text-align:center;
  font-size:14px;
  font-weight:600;
  text-decoration:underline;
  color:var(--ap-ink);
}

/* Sale badge */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale{
  position:absolute;
  top:22px !important;
  left:22px !important;
  right:auto !important;
  z-index:3;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:8px 14px !important;
  background:var(--ap-lime) !important;
  color:var(--ap-ink) !important;
  border-radius:999px !important;
  font:700 13px/1 var(--ap-sans) !important;
}

/* Category tiles when shop page shows categories (Customizer > Shop page display) */
.woocommerce ul.products li.product-category{
  --c:var(--ap-orange);
  padding:0 !important;
  border:0;
  background:var(--c);
  overflow:hidden;
}
.woocommerce ul.products li.product-category:nth-child(6n+2){--c:var(--ap-purple)}
.woocommerce ul.products li.product-category:nth-child(6n+3){--c:var(--ap-cyan)}
.woocommerce ul.products li.product-category:nth-child(6n+4){--c:var(--ap-amber)}
.woocommerce ul.products li.product-category:nth-child(6n+5){--c:var(--ap-blue)}
.woocommerce ul.products li.product-category:nth-child(6n+6){--c:var(--ap-pink)}
.woocommerce ul.products li.product-category a{text-decoration:none;display:block}
.woocommerce ul.products li.product-category a img{
  background:rgba(255,255,255,.2);
}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title{
  margin:16px 20px 20px !important;
  padding:0 !important;
  font:700 19px/1.25 var(--ap-sans) !important;
  color:var(--ap-white);
}
.woocommerce ul.products li.product-category .count{
  display:block;
  margin-top:4px;
  background:none !important;
  font-weight:500;
  font-size:14px;
  opacity:.9;
}
.woocommerce ul.products li.product-category:nth-child(6n+3) .woocommerce-loop-category__title,
.woocommerce ul.products li.product-category:nth-child(6n+4) .woocommerce-loop-category__title{color:var(--ap-ink)}

/* No products found */
.woocommerce-info.woocommerce-no-products-found,
.woocommerce .woocommerce-no-products-found .woocommerce-info{
  justify-content:center;
  padding:50px 24px !important;
  text-align:center;
  font-size:17px;
}


/* ---------- 7. PAGINATION ---------- */
.woocommerce nav.woocommerce-pagination{
  clear:both;
  margin-top:48px;
  text-align:center;
}
.woocommerce nav.woocommerce-pagination ul{
  display:inline-flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:0 !important;
  padding:0;
  border:0 !important;
}
.woocommerce nav.woocommerce-pagination ul li{
  list-style:none;
  float:none !important;
  border:0 !important;
  overflow:visible !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  display:grid !important;
  place-items:center;
  width:46px;
  height:46px;
  padding:0 !important;
  border-radius:50%;
  background:var(--ap-blush);
  color:var(--ap-ink);
  font:600 15px/1 var(--ap-sans);
  text-decoration:none;
  transition:background .2s, color .2s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus{
  background:var(--ap-pink);
  color:var(--ap-white);
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ap-ink);
  color:var(--ap-white);
}
.woocommerce nav.woocommerce-pagination ul li span.dots{background:transparent}


/* ---------- 8. SINGLE PRODUCT PAGE ---------- */
.woocommerce div.product{
  --c:var(--ap-pink);
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:30px 60px;
  margin-top:30px;
}
.woocommerce div.product > *{min-width:0}
.woocommerce div.product.product_cat-books{--c:var(--ap-orange)}
.woocommerce div.product.product_cat-courses{--c:var(--ap-purple)}
.woocommerce div.product.product_cat-toolkits{--c:var(--ap-cyan)}
.woocommerce div.product.product_cat-kids{--c:var(--ap-amber)}
.woocommerce div.product.product_cat-sessions{--c:var(--ap-blue)}
.woocommerce div.product.product_cat-merch{--c:var(--ap-pink)}

/* Gallery – arched frame */
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery{
  grid-column:1;
  width:100% !important;
  max-width:100%;
  min-width:0;
  float:none !important;
  margin:0 !important;
  position:relative;
}
.woocommerce div.product .woocommerce-product-gallery__wrapper{
  margin:0;
  padding:16px;
  background:var(--c);
  border-radius:999px 999px var(--ap-radius) var(--ap-radius);
  overflow:hidden;
}
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product div.images img{
  border-radius:999px 999px 14px 14px;
  aspect-ratio:1/1;
  object-fit:cover;
  background:var(--ap-blush);
}
.woocommerce div.product .flex-viewport{
  max-width:100%;
  border-radius:999px 999px var(--ap-radius) var(--ap-radius);
}
.woocommerce div.product .flex-viewport .woocommerce-product-gallery__wrapper{border-radius:0}
.woocommerce div.product div.images .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
  margin:14px 0 0 !important;
  padding:0;
}
.woocommerce div.product div.images .flex-control-thumbs li{
  list-style:none;
  width:auto !important;
  float:none !important;
  margin:0 !important;
}
.woocommerce div.product div.images .flex-control-thumbs li img{
  border-radius:var(--ap-radius-sm);
  opacity:.55;
  border:2px solid transparent;
  transition:opacity .2s, border-color .2s;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover{
  opacity:1;
  border-color:var(--ap-ink);
}
.woocommerce div.product div.images .woocommerce-product-gallery__trigger{
  top:28px !important;
  right:28px !important;
  width:44px !important;
  height:44px !important;
  background:var(--ap-white) !important;
  border-radius:50% !important;
  z-index:5;
}
.woocommerce div.product span.onsale{top:26px !important;left:26px !important}

/* Summary column */
.woocommerce div.product div.summary{
  grid-column:2;
  width:100% !important;
  float:none !important;
  margin:0 !important;
  padding-top:10px;
}
.woocommerce div.product .product_title{
  margin:0 0 14px;
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:clamp(36px, 4.2vw, 56px);
  line-height:1.02;
  letter-spacing:-.01em;
  color:var(--ap-ink);
}
.woocommerce div.product .woocommerce-product-rating{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px !important;
}
.woocommerce div.product .woocommerce-product-rating .star-rating{
  margin:0 !important;
  color:var(--ap-amber);
}
.woocommerce div.product .woocommerce-review-link{
  font-size:14px;
  color:var(--ap-ink-soft);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 14px;
  margin:0 0 22px;
  font-family:var(--ap-serif);
  font-size:42px !important;
  font-weight:400;
  line-height:1;
  color:var(--ap-ink) !important;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del{font-size:24px;opacity:.45}
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins{text-decoration:none;font-weight:400}
.woocommerce div.product .woocommerce-product-details__short-description{
  margin:0 0 26px;
  padding:0 0 26px;
  border-bottom:1px solid var(--ap-line);
  font-size:17px;
  line-height:1.65;
  color:var(--ap-ink-soft);
}
.woocommerce div.product .woocommerce-product-details__short-description ul{
  padding-left:20px;
}
.woocommerce div.product .woocommerce-product-details__short-description li::marker{color:var(--c)}

/* Stock */
.woocommerce div.product .stock{
  display:inline-block;
  margin:0 0 18px;
  padding:7px 14px;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
}
.woocommerce div.product .stock.in-stock{background:#E7F8D0;color:var(--ap-green)}
.woocommerce div.product .stock.out-of-stock{background:#FFE6E8;color:var(--ap-red)}
.woocommerce div.product .stock.available-on-backorder{background:#FFF1D6;color:#9A5B00}

/* Add to cart form */
.woocommerce div.product form.cart{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:12px;
  margin:0 0 28px !important;
}
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after{display:none}
.woocommerce div.product form.cart div.quantity{
  float:none !important;
  margin:0 !important;
}
.woocommerce div.product form.cart .button{
  float:none !important;
  flex:1;
  min-width:200px;
}

/* Variations (variable products) */
.woocommerce div.product form.cart.variations_form{display:block}
.woocommerce div.product form.cart .variations{
  width:100%;
  margin:0 0 18px !important;
  border:0;
}
.woocommerce div.product form.cart .variations tr{display:block;margin-bottom:14px}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td{
  display:block;
  padding:0 !important;
  text-align:left;
  line-height:1.4 !important;
}
.woocommerce div.product form.cart .variations label{
  display:block;
  margin-bottom:8px;
  font-weight:600;
  font-size:15px;
}
.woocommerce div.product form.cart .variations select{
  width:100%;
  max-width:100%;
  margin:0 !important;
}
.woocommerce div.product form.cart .reset_variations{
  display:inline-block;
  margin-top:8px;
  font-size:14px;
  color:var(--ap-pink);
}
.woocommerce div.product .woocommerce-variation-price{margin-bottom:14px}
.woocommerce div.product .woocommerce-variation-add-to-cart{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

/* Grouped products */
.woocommerce div.product form.cart .group_table{width:100%;margin-bottom:18px}
.woocommerce div.product form.cart .group_table td{
  padding:12px 8px !important;
  border-bottom:1px solid var(--ap-line);
  vertical-align:middle;
}

/* Meta (SKU, categories, tags) */
.woocommerce div.product .product_meta{
  display:grid;
  gap:8px;
  padding:22px;
  background:var(--ap-blush);
  border-radius:var(--ap-radius-sm);
  font-size:14px;
  color:var(--ap-ink-soft);
}
.woocommerce div.product .product_meta > span{display:block}
.woocommerce div.product .product_meta a{
  color:var(--ap-ink);
  font-weight:600;
  text-decoration:none;
}
.woocommerce div.product .product_meta a:hover{color:var(--ap-pink)}

/* Tabs – full width under both columns */
.woocommerce div.product .woocommerce-tabs{
  grid-column:1 / -1;
  margin-top:40px;
  padding:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 28px !important;
  padding:0 !important;
  overflow:visible;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none !important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  list-style:none;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--ap-blush) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;
  padding:13px 24px !important;
  font:600 15px/1 var(--ap-sans);
  color:var(--ap-ink) !important;
  text-decoration:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover{background:#FFE1EC !important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ap-ink) !important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ap-white) !important}
.woocommerce div.product .woocommerce-tabs .panel{
  margin:0 !important;
  padding:40px 44px;
  border:1.5px solid var(--ap-line);
  border-radius:var(--ap-radius);
  font-size:16px;
  line-height:1.75;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child{
  margin:0 0 16px;
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:34px;
  line-height:1.1;
}
.woocommerce div.product .woocommerce-tabs .panel p{max-width:75ch}
.woocommerce table.shop_attributes{
  margin:0;
  border:0 !important;
}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  padding:14px 16px !important;
  border:0 !important;
  border-bottom:1px solid var(--ap-line) !important;
  background:none !important;
  font-style:normal !important;
  text-align:left;
}
.woocommerce table.shop_attributes th{width:200px;font-weight:600}
.woocommerce table.shop_attributes td p{padding:0}

/* Reviews */
.woocommerce #reviews #comments h2{
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:30px;
  margin:0 0 20px;
}
.woocommerce #reviews #comments ol.commentlist{margin:0;padding:0}
.woocommerce #reviews #comments ol.commentlist li{margin:0 0 18px}
.woocommerce #reviews #comments ol.commentlist li .comment_container{
  display:flex;
  gap:16px;
  padding:20px;
  background:var(--ap-blush);
  border-radius:var(--ap-radius-sm);
}
.woocommerce #reviews #comments ol.commentlist li img.avatar{
  position:static !important;
  width:52px !important;
  height:52px;
  padding:0 !important;
  border:0 !important;
  border-radius:50%;
  background:var(--ap-white) !important;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text{
  flex:1;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{
  font-size:14px;
  color:var(--ap-ink-soft);
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta strong{color:var(--ap-ink)}
.woocommerce #review_form #respond{
  margin-top:28px;
  padding:28px;
  border:1.5px solid var(--ap-line);
  border-radius:var(--ap-radius);
}
.woocommerce #review_form #respond .comment-reply-title{
  display:block;
  margin-bottom:12px;
  font-family:var(--ap-serif);
  font-size:28px;
}
.woocommerce #review_form #respond p{margin:0 0 16px}
.woocommerce #review_form #respond .stars a{color:var(--ap-amber)}
.woocommerce #review_form #respond textarea{min-height:140px}

/* Related, upsells, cross-sells headings */
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products{
  grid-column:1 / -1;
  margin-top:60px;
}
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce .cross-sells > h2{
  margin:0 0 26px;
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:clamp(32px, 4vw, 46px);
  line-height:1.05;
}


/* ---------- 9. QUANTITY, BUTTONS, FORMS (shared) ---------- */
/* Quantity stepper: [ − ] 1 [ + ]  (buttons added by the script in functions.php) */
.woocommerce .quantity,
.woocommerce-page .quantity{
  display:inline-flex !important;
  align-items:center;
  gap:2px;
  height:54px;
  padding:4px;
  background:var(--ap-white);
  border:1.5px solid var(--ap-line);
  border-radius:999px;
  transition:border-color .2s;
}
.woocommerce .quantity:focus-within{border-color:var(--ap-pink)}
.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty{
  width:44px !important;
  height:100%;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  font:600 18px/1 var(--ap-sans);
  color:var(--ap-ink);
  text-align:center;
  box-shadow:none !important;
  -moz-appearance:textfield;
  appearance:textfield;
}
.woocommerce .quantity .qty:focus{outline:none}
/* hide the browser's small up/down arrows */
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.woocommerce .quantity .ap-qty-btn{
  flex:none;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--ap-blush);
  color:var(--ap-ink);
  cursor:pointer;
  transition:background .15s, color .15s, transform .1s;
}
.woocommerce .quantity .ap-qty-btn svg{width:16px;height:16px}
.woocommerce .quantity .ap-qty-btn:hover{background:var(--ap-ink);color:var(--ap-white)}
.woocommerce .quantity .ap-qty-btn.ap-qty-plus:hover{background:var(--ap-pink)}
.woocommerce .quantity .ap-qty-btn:active{transform:scale(.92)}
.woocommerce .quantity .ap-qty-btn:focus-visible{outline:3px solid var(--ap-pink);outline-offset:2px}
.woocommerce .quantity .ap-qty-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
  background:var(--ap-blush);
  color:var(--ap-ink);
}
/* slightly smaller inside the cart table */
.woocommerce-cart table.cart .quantity{height:48px}
.woocommerce-cart table.cart .quantity .ap-qty-btn{width:38px;height:38px}
.woocommerce-cart table.cart .quantity .qty{width:38px !important;font-size:16px}

/* All WooCommerce buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:54px;
  padding:15px 28px !important;
  background:var(--ap-ink) !important;
  color:var(--ap-white) !important;
  border:0 !important;
  border-radius:999px !important;
  font:600 16px/1 var(--ap-sans) !important;
  text-decoration:none;
  text-align:center;
  cursor:pointer;
  transition:background .2s, color .2s, transform .15s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover{
  background:var(--ap-pink) !important;
  color:var(--ap-white) !important;
  transform:translateY(-2px);
}

/* Primary buttons (add to cart, checkout, place order) use lime */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page a.button.alt,
.woocommerce-page button.button.alt,
.woocommerce div.product form.cart .single_add_to_cart_button{
  background:var(--ap-lime) !important;
  color:var(--ap-ink) !important;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
  background:var(--ap-ink) !important;
  color:var(--ap-lime) !important;
}
.woocommerce a.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce button.button.alt.disabled{
  opacity:.45 !important;
  cursor:not-allowed;
  transform:none;
}

/* Form fields */
.woocommerce form .form-row{
  margin:0 0 18px !important;
  padding:0 !important;
}
.woocommerce form .form-row label,
.woocommerce-page form .form-row label{
  display:block;
  margin-bottom:7px;
  font-weight:600;
  font-size:15px;
  line-height:1.3;
}
.woocommerce form .form-row .required{color:var(--ap-pink);text-decoration:none}
.woocommerce form .form-row .optional{font-weight:400;color:var(--ap-ink-soft)}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"],
.woocommerce #review_form #respond textarea,
.woocommerce div.product form.cart .variations select,
.woocommerce-cart table.cart td.actions .coupon .input-text{
  width:100%;
  padding:14px 18px !important;
  border:1.5px solid var(--ap-line) !important;
  border-radius:var(--ap-radius-sm) !important;
  background:var(--ap-white);
  font:16px/1.4 var(--ap-sans);
  color:var(--ap-ink);
  box-shadow:none;
  transition:border-color .2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce #review_form #respond textarea:focus,
.woocommerce div.product form.cart .variations select:focus{
  border-color:var(--ap-pink) !important;
  outline:none;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--ap-red) !important}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--ap-green) !important}
.woocommerce form .form-row select,
.woocommerce div.product form.cart .variations select{
  -webkit-appearance:none;
  appearance:none;
  padding-right:44px !important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232A1036' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 18px center;
}
.woocommerce form .form-row input[type="checkbox"],
.woocommerce form .form-row input[type="radio"]{
  width:18px;
  height:18px;
  margin-right:8px;
  vertical-align:middle;
  accent-color:var(--ap-purple);
}

/* Select2 (country / state dropdowns) */
.woocommerce .select2-container .select2-selection--single{
  height:auto;
  padding:10px 14px;
  border:1.5px solid var(--ap-line);
  border-radius:var(--ap-radius-sm);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{
  line-height:1.6;
  color:var(--ap-ink);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{
  top:50%;
  right:12px;
  transform:translateY(-50%);
}
.select2-dropdown{
  border:1.5px solid var(--ap-line) !important;
  border-radius:var(--ap-radius-sm) !important;
  overflow:hidden;
  font-family:var(--ap-sans);
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{
  background:var(--ap-pink) !important;
}

/* Shared tables */
.woocommerce table.shop_table{
  width:100%;
  margin:0 0 30px !important;
  border:1.5px solid var(--ap-line) !important;
  border-radius:var(--ap-radius) !important;
  border-collapse:separate !important;
  border-spacing:0;
  overflow:hidden;
}
.woocommerce table.shop_table th{
  padding:16px 20px !important;
  background:var(--ap-blush);
  font-weight:700;
  font-size:14px;
  color:var(--ap-ink);
  text-align:left;
}
.woocommerce table.shop_table td{
  padding:18px 20px !important;
  border-top:1px solid var(--ap-line) !important;
  vertical-align:middle;
}
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td{border-top:1px solid var(--ap-line) !important}
.woocommerce table.shop_table .order-total .woocommerce-Price-amount{
  font-family:var(--ap-serif);
  font-size:28px;
  font-weight:400;
}


/* ---------- 10. CART PAGE ---------- */
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper + form,
.woocommerce-cart .woocommerce-cart-form{margin-bottom:10px}
.woocommerce-cart table.cart img{
  width:84px !important;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:999px 999px 10px 10px;
  background:var(--ap-blush);
}
.woocommerce-cart table.cart .product-name a{
  font-weight:600;
  font-size:16px;
  text-decoration:none;
}
.woocommerce-cart table.cart .product-name a:hover{color:var(--ap-pink)}
.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal{font-weight:600}
.woocommerce a.remove{
  display:grid !important;
  place-items:center;
  width:34px !important;
  height:34px !important;
  border-radius:50%;
  background:var(--ap-blush);
  color:var(--ap-ink) !important;
  font-size:20px !important;
  font-weight:400 !important;
  line-height:1 !important;
  transition:background .2s, color .2s;
}
.woocommerce a.remove:hover{
  background:var(--ap-red) !important;
  color:var(--ap-white) !important;
}
.woocommerce-cart table.cart td.actions{
  padding:20px !important;
  background:var(--ap-white);
}
.woocommerce-cart table.cart td.actions .coupon{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.woocommerce-cart table.cart td.actions .coupon .input-text{
  width:220px !important;
  min-height:54px;
  margin:0 !important;
}
.woocommerce-cart table.cart td.actions > .button{float:right}

.woocommerce .cart-collaterals{
  display:grid;
  grid-template-columns:1fr minmax(0,440px);
  gap:40px;
  margin-top:20px;
}
.woocommerce .cart-collaterals::before,
.woocommerce .cart-collaterals::after{display:none}
.woocommerce .cart-collaterals .cross-sells{
  grid-column:1;
  width:100% !important;
  float:none !important;
}
.woocommerce .cart-collaterals .cross-sells ul.products{grid-template-columns:repeat(2, minmax(0,1fr))}
.woocommerce .cart-collaterals .cart_totals{
  grid-column:2;
  width:100% !important;
  float:none !important;
  padding:30px;
  background:var(--ap-blush);
  border-radius:28px;
}
.woocommerce .cart-collaterals .cart_totals h2{
  margin:0 0 18px;
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:34px;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table{
  background:var(--ap-white);
  margin-bottom:20px !important;
}
.woocommerce .cart-collaterals .cart_totals table.shop_table th{background:var(--ap-white);width:40%}
.woocommerce-cart .wc-proceed-to-checkout{padding:0 !important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:flex !important;
  width:100%;
  margin:0 !important;
  font-size:17px !important;
}
.woocommerce ul#shipping_method{margin:0;padding:0}
.woocommerce ul#shipping_method li{margin:0 0 6px;padding:0}
.woocommerce ul#shipping_method li input{accent-color:var(--ap-purple)}
.woocommerce .woocommerce-shipping-calculator .shipping-calculator-button{
  color:var(--ap-pink);
  font-weight:600;
}

/* Empty cart */
.woocommerce-cart .cart-empty.woocommerce-info{
  justify-content:center;
  padding:60px 24px 60px 56px !important;
  font-size:20px;
  font-family:var(--ap-serif);
}
.woocommerce-cart .return-to-shop{text-align:center;margin-top:10px}

/* Cart block (WooCommerce 8+ default) */
.wp-block-woocommerce-cart{font-family:var(--ap-sans);color:var(--ap-ink)}
.wc-block-cart-items__row .wc-block-components-product-image img{
  border-radius:999px 999px 10px 10px;
  background:var(--ap-blush);
}
.wc-block-cart__sidebar .wc-block-components-sidebar,
.wp-block-woocommerce-cart-totals-block{
  padding:26px !important;
  background:var(--ap-blush);
  border-radius:28px;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:var(--ap-serif);
  font-size:30px !important;
  font-weight:400 !important;
}


/* ---------- 11. CHECKOUT PAGE ---------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{margin-bottom:14px !important}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{
  margin:0 0 28px !important;
  padding:26px !important;
  border:1.5px solid var(--ap-line) !important;
  border-radius:var(--ap-radius) !important;
}
.woocommerce form.checkout_coupon .form-row-first,
.woocommerce form.checkout_coupon .form-row-last{width:auto !important;float:left}
.woocommerce form.checkout_coupon .form-row-first{flex:1;min-width:220px;margin-right:10px !important}

.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
  gap:0 50px;
  align-items:start;
}
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup{grid-column:1 / -1}
.woocommerce-checkout #customer_details{
  grid-column:1;
  grid-row:1 / span 3;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  width:100% !important;
  float:none !important;
}
.woocommerce-checkout #customer_details .col-2{margin-top:20px}
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{
  margin:0 0 20px;
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:34px;
  line-height:1.1;
}
.woocommerce-checkout #order_review_heading{
  grid-column:2;
  padding:30px 30px 0;
  margin:0;
  background:var(--ap-blush);
  border-radius:28px 28px 0 0;
}
.woocommerce-checkout #order_review{
  grid-column:2;
  padding:20px 30px 30px;
  background:var(--ap-blush);
  border-radius:0 0 28px 28px;
  position:sticky;
  top:110px;
}
.woocommerce-checkout #order_review table.shop_table{background:var(--ap-white)}
.woocommerce-checkout #order_review table.shop_table th{background:var(--ap-white)}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last{width:48.5% !important}
.woocommerce #ship-to-different-address{font-size:20px;font-family:var(--ap-sans);font-weight:600}
.woocommerce #ship-to-different-address label{display:flex;align-items:center;gap:8px;cursor:pointer}

/* Payment methods */
.woocommerce-checkout #payment{
  background:var(--ap-white) !important;
  border-radius:var(--ap-radius) !important;
  border:1.5px solid var(--ap-line);
}
.woocommerce-checkout #payment ul.payment_methods{
  padding:20px !important;
  border-bottom:1px solid var(--ap-line) !important;
}
.woocommerce-checkout #payment ul.payment_methods li{
  margin:0 0 10px;
  line-height:1.5 !important;
}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;cursor:pointer}
.woocommerce-checkout #payment ul.payment_methods li input{
  margin-right:8px !important;
  accent-color:var(--ap-purple);
}
.woocommerce-checkout #payment div.payment_box{
  margin:10px 0 6px !important;
  padding:16px 18px !important;
  background:var(--ap-blush) !important;
  border-radius:var(--ap-radius-sm) !important;
  font-size:14px !important;
  color:var(--ap-ink) !important;
}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--ap-blush) !important}
.woocommerce-checkout #payment div.form-row.place-order{padding:20px !important;margin:0 !important}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text{
  font-size:13px;
  color:var(--ap-ink-soft);
}
.woocommerce-checkout #payment #place_order{
  width:100%;
  float:none !important;
  min-height:60px;
  font-size:18px !important;
}

/* Checkout block */
.wp-block-woocommerce-checkout{font-family:var(--ap-sans);color:var(--ap-ink)}
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-order-summary-block{
  padding:24px;
  background:var(--ap-blush);
  border-radius:28px;
}
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-select select{
  border-radius:var(--ap-radius-sm) !important;
  border:1.5px solid var(--ap-line) !important;
}
.wc-block-components-text-input input:focus{border-color:var(--ap-pink) !important;box-shadow:none !important}
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link){
  min-height:58px;
  border-radius:999px !important;
  background:var(--ap-lime) !important;
  color:var(--ap-ink) !important;
  font:600 17px var(--ap-sans) !important;
  border:0 !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-button:not(.is-link):hover{
  background:var(--ap-ink) !important;
  color:var(--ap-lime) !important;
}


/* ---------- 12. ORDER RECEIVED / THANK YOU ---------- */
.woocommerce-order .woocommerce-thankyou-order-received,
.woocommerce-order .woocommerce-notice--success{
  margin:0 0 30px;
  padding:40px;
  background:var(--ap-lime);
  border-radius:28px;
  font-family:var(--ap-serif);
  font-size:clamp(28px, 3.4vw, 42px);
  line-height:1.15;
  color:var(--ap-ink);
}
.woocommerce ul.order_details{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
  gap:12px;
  margin:0 0 40px !important;
  padding:0 !important;
}
.woocommerce ul.order_details::before,
.woocommerce ul.order_details::after{display:none}
.woocommerce ul.order_details li{
  list-style:none;
  float:none !important;
  margin:0 !important;
  padding:18px 20px !important;
  border:0 !important;
  background:var(--ap-blush);
  border-radius:var(--ap-radius-sm);
  font-size:13px !important;
  text-transform:none !important;
  color:var(--ap-ink-soft);
}
.woocommerce ul.order_details li strong{
  display:block;
  margin-top:6px;
  font-size:17px !important;
  color:var(--ap-ink);
}
.woocommerce .woocommerce-order-details h2,
.woocommerce .woocommerce-customer-details h2,
.woocommerce .woocommerce-column__title{
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:32px;
  margin:0 0 18px;
}
.woocommerce .woocommerce-customer-details address{
  padding:22px !important;
  border:1.5px solid var(--ap-line) !important;
  border-radius:var(--ap-radius) !important;
  font-style:normal;
  line-height:1.7;
}
.woocommerce .woocommerce-bacs-bank-details{
  padding:26px;
  margin-bottom:30px;
  border-radius:var(--ap-radius);
  background:var(--ap-blush);
}
.woocommerce .woocommerce-bacs-bank-details ul.bacs_details{margin:0 !important}


/* ---------- 13. MY ACCOUNT ---------- */
/* Layout: menu on the left, content on the right.
   Each part gets a fixed column, and the invisible clearfix helpers
   (::before / ::after) are removed so they don't take a grid slot. */
.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:30px 40px;
  align-items:start;
}
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after,
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after,
.woocommerce-account .woocommerce-MyAccount-content::before,
.woocommerce-account .woocommerce-MyAccount-content::after{
  content:none !important;
  display:none !important;
}
/* anything else WordPress drops in (empty <p>, <br>, notices) spans full width */
.woocommerce-account .woocommerce > *{grid-column:1 / -1;min-width:0}
.woocommerce-account .woocommerce > p:empty,
.woocommerce-account .woocommerce > br{display:none}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation{grid-column:1}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-content{grid-column:2}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  width:100% !important;
  float:none !important;
  margin:0 !important;
}

/* Menu */
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0;
  padding:10px;
  list-style:none;
  background:var(--ap-blush);
  border-radius:var(--ap-radius);
}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0 0 4px;list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;
  padding:13px 18px;
  border-radius:999px;
  font-weight:500;
  font-size:15px;
  line-height:1.2;
  text-decoration:none;
  transition:background .2s, color .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--ap-white)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:var(--ap-ink);
  color:var(--ap-white);
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{
  margin-top:8px !important;
  padding-top:8px;
  border-top:1px solid var(--ap-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--ap-red)}
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:#FFE6E8}

/* Content card */
.woocommerce-account .woocommerce-MyAccount-content{
  padding:36px 40px;
  border:1.5px solid var(--ap-line);
  border-radius:var(--ap-radius);
  font-size:16px;
  line-height:1.7;
}
.woocommerce-account .woocommerce-MyAccount-content > p{max-width:70ch}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child,
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper + p{margin-top:0}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button){
  color:var(--ap-pink);
  font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3{
  font-family:var(--ap-serif);
  font-weight:400;
  line-height:1.1;
}

/* Addresses: two cards side by side */
.woocommerce-account .woocommerce-Addresses{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:20px;
  margin-top:24px;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2{
  width:100% !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:26px;
  background:var(--ap-blush);
  border-radius:var(--ap-radius);
}
.woocommerce-account .woocommerce-Address-title{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:6px 16px;
  margin-bottom:14px;
}
.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after{display:none !important}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3{
  float:none !important;
  margin:0;
  font-size:28px;
}
.woocommerce-account .woocommerce-Address-title a.edit{
  float:none !important;
  font-size:14px;
  white-space:nowrap;
}
.woocommerce-account .woocommerce-Address address{
  margin:0;
  font-style:normal;
  line-height:1.7;
  color:var(--ap-ink-soft);
}

/* Account details + edit address forms */
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields{max-width:640px}
.woocommerce-account .woocommerce-address-fields__field-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 16px;
}
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row{
  width:100% !important;
  float:none !important;
  grid-column:1 / -1;
}
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first{grid-column:1}
.woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last{grid-column:2}
.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
.woocommerce-account .woocommerce-EditAccountForm .form-row-last{width:calc(50% - 8px) !important}
.woocommerce-account .woocommerce-EditAccountForm .form-row-first{float:left;margin-right:16px !important}
.woocommerce-account .woocommerce-EditAccountForm .form-row-last{float:right}
.woocommerce-account .woocommerce-EditAccountForm .clear{clear:both}
.woocommerce-account .woocommerce-EditAccountForm em,
.woocommerce-account #account_display_name_description{
  display:block;
  margin-top:6px;
  font-size:13px;
  line-height:1.5;
  color:var(--ap-ink-soft);
}
.woocommerce-account fieldset{
  margin:30px 0 24px;
  padding:26px 24px 8px;
  border:1.5px solid var(--ap-line);
  border-radius:var(--ap-radius);
}
.woocommerce-account fieldset legend{
  padding:0 10px;
  margin-left:-10px;
  font-family:var(--ap-serif);
  font-size:26px;
  line-height:1;
  white-space:nowrap;
}

/* Password field with eye icon */
.woocommerce form .password-input,
.woocommerce-page form .password-input{
  position:relative;
  display:block;
  width:100%;
}
.woocommerce form .password-input input[type="password"],
.woocommerce form .password-input input[type="text"]{padding-right:52px !important}
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input{
  position:absolute;
  top:50% !important;
  right:16px !important;
  transform:translateY(-50%);
  color:var(--ap-ink-soft);
}

/* Orders + downloads tables */
.woocommerce-account table.shop_table{font-size:15px}
.woocommerce-account table.my_account_orders .button,
.woocommerce-account table.woocommerce-table--order-downloads .button{
  min-height:40px;
  padding:10px 18px !important;
  margin:2px;
  font-size:14px !important;
}
.woocommerce-account .woocommerce-orders-table__cell-order-number a{font-weight:700}
.woocommerce-account .woocommerce-orders-table__cell-order-status{font-weight:600}
.woocommerce-account mark{
  background:var(--ap-lime);
  color:var(--ap-ink);
  padding:2px 8px;
  border-radius:999px;
  font-weight:600;
}
.woocommerce-account .woocommerce-pagination{display:flex;gap:10px;margin-top:10px}

/* Logged out: login / register side by side */
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce-account #customer_login{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px;
}
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2{
  width:100% !important;
  float:none !important;
}
.woocommerce-account #customer_login h2,
.woocommerce-account:not(.logged-in) .woocommerce > h2{
  font-family:var(--ap-serif);
  font-weight:400;
  font-size:38px;
  margin:0 0 16px;
}
.woocommerce-account #customer_login .u-column2 form.register{
  background:var(--ap-blush);
  border-color:transparent !important;
}
.woocommerce form.login .woocommerce-form-login__rememberme{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-right:16px;
  font-weight:500;
}
.woocommerce .lost_password a{color:var(--ap-pink);font-weight:600;font-size:14px}
.woocommerce-account form.lost_reset_password{max-width:520px}


/* ---------- 14. SIDEBAR WIDGETS + MINI CART ---------- */
.woocommerce .widget_product_search form,
.widget_product_search .woocommerce-product-search{
  display:flex;
  border:1.5px solid var(--ap-line);
  border-radius:999px;
  overflow:hidden;
  background:var(--ap-white);
}
.widget_product_search .search-field{
  flex:1;
  min-width:0;
  padding:12px 18px;
  border:0;
  font:15px var(--ap-sans);
  background:transparent;
}
.widget_product_search .search-field:focus{outline:none}
.widget_product_search button{
  padding:0 20px;
  border:0;
  background:var(--ap-ink);
  color:var(--ap-white);
  font:600 14px var(--ap-sans);
  cursor:pointer;
}
.widget_product_categories ul.product-categories{margin:0;padding:0;list-style:none}
.widget_product_categories ul.product-categories li{
  display:flex;
  justify-content:space-between;
  padding:10px 2px;
  border-bottom:1px solid var(--ap-line);
  font-size:15px;
}
.widget_product_categories ul.product-categories li a{text-decoration:none}
.widget_product_categories ul.product-categories li a:hover,
.widget_product_categories ul.product-categories li.current-cat > a{color:var(--ap-pink);font-weight:600}
.widget_product_categories ul.product-categories .count{color:var(--ap-ink-soft);font-size:13px}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range{background:var(--ap-pink)}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{
  width:18px;
  height:18px;
  top:-6px;
  background:var(--ap-ink);
  border:3px solid var(--ap-white);
  box-shadow:0 0 0 1.5px var(--ap-ink);
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background:var(--ap-blush)}
.woocommerce .widget_price_filter .price_slider_amount{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.woocommerce .widget_price_filter .price_slider_amount .button{
  min-height:40px;
  padding:10px 20px !important;
  font-size:14px !important;
}

.woocommerce ul.product_list_widget li{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:4px 14px;
  align-items:center;
  padding:12px 0 !important;
  border-bottom:1px solid var(--ap-line);
}
.woocommerce ul.product_list_widget li a{
  display:contents;
  font-weight:600;
  font-size:15px;
  text-decoration:none;
}
.woocommerce ul.product_list_widget li img{
  grid-row:span 2;
  width:64px !important;
  margin:0 !important;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:999px 999px 8px 8px;
  background:var(--ap-blush);
  float:none !important;
}
.woocommerce ul.product_list_widget li .star-rating{margin:2px 0}

/* Mini cart (widget or header dropdown) */
.woocommerce.widget_shopping_cart .cart_list li,
.woocommerce .widget_shopping_cart .cart_list li{
  position:relative;
  padding-left:0 !important;
  padding-right:40px !important;
}
.woocommerce.widget_shopping_cart .cart_list li a.remove,
.woocommerce .widget_shopping_cart .cart_list li a.remove{
  left:auto !important;
  right:0;
  top:50% !important;
  transform:translateY(-50%);
  width:28px !important;
  height:28px !important;
}
.woocommerce .widget_shopping_cart .total,
.woocommerce.widget_shopping_cart .total{
  display:flex;
  justify-content:space-between;
  padding:16px 0 !important;
  border-top:0 !important;
  font-size:16px;
}
.woocommerce .widget_shopping_cart .buttons,
.woocommerce.widget_shopping_cart .buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0;
}
.woocommerce .widget_shopping_cart .buttons a{margin:0 !important;font-size:14px !important;padding:14px 12px !important}
.woocommerce .widget_shopping_cart .buttons a.checkout{
  background:var(--ap-lime) !important;
  color:var(--ap-ink) !important;
}


/* ---------- 15. RESPONSIVE ---------- */
@media (max-width:1100px){
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products.columns-4{grid-template-columns:repeat(2, minmax(0,1fr))}
  .woocommerce div.product{gap:30px 36px}
}

@media (max-width:900px){
  .woocommerce-products-header{padding:40px 28px 170px;border-radius:26px}
  .woocommerce-products-header::before{width:200px;height:150px;right:50%;transform:translateX(50%)}
  .woocommerce-products-header::after{width:24px;height:62px;right:50%;transform:translateX(50%)}
  .woocommerce-products-header__title.page-title{max-width:100%}

  .woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:24px}
  .woocommerce div.product div.images,
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product div.summary,
  .woocommerce div.product .woocommerce-tabs,
  .woocommerce div.product .related.products,
  .woocommerce div.product .upsells.products{grid-column:1}
  .woocommerce div.product .woocommerce-product-gallery{width:100% !important;max-width:520px;margin:0 auto !important}
  .woocommerce div.product .woocommerce-product-gallery__wrapper{padding:10px}
  .woocommerce div.product div.images .flex-control-thumbs{gap:8px;margin-top:10px !important}
  .woocommerce div.product span.onsale{top:18px !important;left:18px !important}
  .woocommerce div.product div.images .woocommerce-product-gallery__trigger{top:18px !important;right:18px !important}
  .woocommerce div.product .product_title{font-size:36px}
  .woocommerce div.product .woocommerce-tabs .panel{padding:26px 22px}

  .woocommerce .cart-collaterals{grid-template-columns:1fr}
  .woocommerce .cart-collaterals .cross-sells,
  .woocommerce .cart-collaterals .cart_totals{grid-column:1}

  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
  .woocommerce-checkout #order_review_heading{margin-top:30px}
  .woocommerce-checkout #order_review{position:static}

  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr);gap:20px}
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce > .woocommerce-MyAccount-content{grid-column:1}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:flex;
    gap:6px;
    overflow-x:auto;
    padding:6px;
    border-radius:999px;
    scrollbar-width:none;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{display:none}
  .woocommerce-account .woocommerce-MyAccount-navigation li{margin:0;flex:none}
  .woocommerce-account .woocommerce-MyAccount-navigation li a{padding:11px 16px;white-space:nowrap}
  .woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout{margin:0 !important;padding:0;border:0}
  .woocommerce-account .woocommerce-MyAccount-content{padding:24px 20px}
  .woocommerce-account #customer_login{grid-template-columns:1fr}
}

@media (max-width:768px){
  /* WooCommerce turns cart table into stacked rows on small screens */
  .woocommerce-cart table.cart tr.cart_item{
    display:block;
    padding:12px 0;
    border-top:1px solid var(--ap-line);
  }
  .woocommerce-cart table.cart tr.cart_item td{border-top:0 !important;padding:8px 18px !important}
  .woocommerce-cart table.cart td.product-thumbnail{display:block !important;text-align:left !important}
  .woocommerce-cart table.cart td.actions .coupon{float:none !important;margin-bottom:12px}
  .woocommerce-cart table.cart td.actions .coupon .input-text{width:100% !important;flex:1}
  .woocommerce-cart table.cart td.actions > .button{float:none;width:100%}
  .woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}
  .woocommerce-account .woocommerce-address-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-first,
  .woocommerce-account .woocommerce-address-fields__field-wrapper .form-row-last{grid-column:1}
  .woocommerce-account .woocommerce-EditAccountForm .form-row-first,
  .woocommerce-account .woocommerce-EditAccountForm .form-row-last{width:100% !important;float:none;margin-right:0 !important}
}

@media (max-width:640px){
  .Asiri-shop-content-in,
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce{width:calc(100% - 32px)}
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering{float:none;width:100%}
  .woocommerce .woocommerce-ordering select{width:100%}
  .woocommerce ul.products,
  .woocommerce-page ul.products,
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-4,
  .woocommerce .cart-collaterals .cross-sells ul.products{grid-template-columns:1fr}
  .woocommerce div.product p.price,
  .woocommerce div.product span.price{font-size:34px !important}
  .woocommerce div.product form.cart .button{min-width:0;width:100%}
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last,
  .woocommerce-page form .form-row-first,
  .woocommerce-page form .form-row-last{width:100% !important;float:none !important}
  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{padding-left:20px;padding-right:20px}
  .woocommerce .widget_shopping_cart .buttons{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .woocommerce *,
  .woocommerce-page *{transition:none !important;animation:none !important}
}
