/* ============================================================
   FOODSTOCKS — WOOCOMMERCE OVERRIDES
   PLP (archive), PDP (single), cart, checkout, notices, reseller box.
   ============================================================ */

/* ---------- Notices — complete overhaul ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,
.wc-block-components-notice-banner{
  display:flex;align-items:center;gap:10px;
  border-radius:var(--fs-radius-md);border:1.5px solid var(--fs-line);
  background:var(--fs-cream);padding:13px 18px;font-size:.88rem;
  font-family:var(--fs-font-display);font-weight:500;
  list-style:none;margin:0 0 var(--fs-s4)
}
.woocommerce-message{background:#E6F6E9;border-color:#BBE9C4;color:#15803D}
.woocommerce-error{background:#FEECEC;border-color:#F8C4C4;color:var(--fs-red-dark)}
.woocommerce-info{background:var(--fs-peach);border-color:var(--fs-line);color:var(--fs-maroon)}

/* Suppress ALL WC font icon glyphs */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{display:none!important;content:none!important}

/* Heroicon via ::after — empty box filled with SVG data URI */
/* check-circle (success) */
.woocommerce-message::after{
  content:'';display:block;flex-shrink:0;order:-1;
  width:18px;height:18px;min-width:18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%2315803D'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z'/%3E%3C/svg%3E");
  background-size:18px 18px;background-repeat:no-repeat
}
/* exclamation-circle (error) */
.woocommerce-error::after{
  content:'';display:block;flex-shrink:0;order:-1;
  width:18px;height:18px;min-width:18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23B40001'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z'/%3E%3C/svg%3E");
  background-size:18px 18px;background-repeat:no-repeat
}
/* information-circle (info) */
.woocommerce-info::after{
  content:'';display:block;flex-shrink:0;order:-1;
  width:18px;height:18px;min-width:18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23580302'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z'/%3E%3C/svg%3E");
  background-size:18px 18px;background-repeat:no-repeat
}

/* Float button inside notice to right without breaking flex */
.woocommerce-message .button,.woocommerce-error .button,.woocommerce-info .button{
  margin-left:auto;flex-shrink:0;float:none
}

/* Custom cart-page notice (replaces wc_print_notice for reseller nudge) */
.fs-cart-notice{
  display:flex;align-items:center;gap:10px;
  border-radius:var(--fs-radius-md);padding:13px 18px;
  font-family:var(--fs-font-display);font-size:.88rem;font-weight:500;
  margin-bottom:var(--fs-s5)
}
.fs-cart-notice--info{background:var(--fs-peach);color:var(--fs-maroon)}
.fs-cart-notice--success{background:#E6F6E9;color:#15803D}

/* ---------- PLP — shop listing page ---------- */

/* ROOT CAUSE: WooCommerce's woocommerce-general.css injects
   ul.products::before { display:table; content:'' } as a float clearfix.
   Under display:grid this becomes a ghost grid ITEM, shifting every
   product card right by 1 and leaving the top-left cell empty. */
.woocommerce ul.products::before,.woocommerce ul.products::after,
ul.products::before,ul.products::after{display:none!important;content:none!important}

/* Page head */
.fs-plp__head{padding-block:var(--fs-s5) var(--fs-s4);border-bottom:1px solid var(--fs-line);margin-bottom:var(--fs-s5)}
.fs-plp__title{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.025em;margin:0 0 4px;line-height:1.15}
.fs-plp__desc{color:var(--fs-gray-500);font-size:.9rem;margin:0;max-width:60ch;line-height:1.6}

/* Two-column page layout */
.fs-plp__layout{display:grid;grid-template-columns:220px 1fr;gap:var(--fs-s6);align-items:start;padding-bottom:var(--fs-s9)}
.fs-plp__main{min-width:0}

/* ---- Sidebar ---- */
.fs-plp__sidebar{position:sticky;top:130px}
.fs-plp__sidebar .widget{background:#fff;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:16px;margin-bottom:12px!important}
.fs-plp__sidebar .widget+.widget{margin-top:0}
.fs-plp__sidebar .widget-title{font-family:var(--fs-font-display);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--fs-gray-500);margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--fs-line)}
.fs-plp__sidebar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
/* li-level: shared by both wp_list_categories fallback and WC widget */
.fs-plp__sidebar li{list-style:none;padding:0!important;border:none!important;margin:0}
.fs-plp__sidebar li a,.fs-plp__sidebar ul a{
  display:flex!important;align-items:center;justify-content:space-between;gap:6px;
  padding:7px 10px!important;border-radius:6px;
  font-size:.875rem;color:var(--fs-gray-700)!important;
  transition:background .14s,color .14s;line-height:1.4;width:100%;
}
.fs-plp__sidebar li a:hover,.fs-plp__sidebar ul a:hover{background:var(--fs-cream)!important;color:var(--fs-red)!important}
.fs-plp__sidebar li.current-cat>a{background:rgba(214,0,1,.07)!important;color:var(--fs-red)!important;font-weight:600}
/* Count pill — works for WC widget <span class="count"> AND custom walker */
.fs-plp__sidebar .count{flex-shrink:0;background:var(--fs-cream);color:var(--fs-gray-500);font-size:.68rem;font-weight:700;font-family:var(--fs-font-display);padding:2px 7px;border-radius:999px;min-width:22px;text-align:center;line-height:1.6}
.fs-plp__sidebar li.current-cat .count{background:rgba(214,0,1,.1);color:var(--fs-red)}

/* ---- Sidebar: search ---- */
.fs-sidebar-search{margin-bottom:12px}
.fs-sidebar-search__wrap{position:relative;display:flex;align-items:center}
.fs-sidebar-search__icon{position:absolute;left:12px;color:var(--fs-gray-500);pointer-events:none;flex-shrink:0}
.fs-sidebar-search__input{
  width:100%;padding:9px 14px 9px 36px;
  border:1.5px solid var(--fs-line)!important;border-radius:999px!important;
  font-family:var(--fs-font-display);font-size:.86rem;color:var(--fs-ink);
  background:#fff!important;transition:border-color .14s,box-shadow .14s;outline:none!important;
  appearance:none;-webkit-appearance:none;
}
.fs-sidebar-search__input::placeholder{color:var(--fs-gray-500)}
.fs-sidebar-search__input:focus{border-color:var(--fs-red)!important;box-shadow:0 0 0 3px rgba(214,0,1,.08)}

/* ---- Sidebar: widget-title icon ---- */
.fs-plp__sidebar .widget-title{display:flex;align-items:center;gap:6px}
.fs-plp__sidebar .widget-title svg{flex-shrink:0;opacity:.55}

/* ---- Sidebar: price range filter ---- */
.fs-price-range{display:flex;flex-direction:column;gap:8px}
.fs-price-range__row{display:flex;flex-direction:column;gap:6px}
.fs-price-range__sep{display:none}
/* Rounded-full field — no inner divider, matches site's form style */
.fs-price-range__field{
  display:flex;align-items:center;gap:8px;
  border:1.5px solid var(--fs-line);border-radius:999px!important;
  padding:9px 16px;background:#fff;
  transition:border-color .14s,box-shadow .14s;
}
.fs-price-range__field:focus-within{
  border-color:var(--fs-red)!important;box-shadow:0 0 0 3px rgba(214,0,1,.12);
}
.fs-price-range__prefix{
  font-size:.8rem;font-weight:700;color:var(--fs-gray-500);
  font-family:var(--fs-font-display);flex-shrink:0;line-height:1;
  border:none!important;background:none!important;
}
.fs-price-range__input{
  width:100%;padding:0!important;
  border:none!important;outline:none!important;box-shadow:none!important;
  font-size:.9rem;font-family:var(--fs-font-body);
  color:var(--fs-ink);background:transparent!important;min-width:0;
}
.fs-price-range__input::-webkit-inner-spin-button,
.fs-price-range__input::-webkit-outer-spin-button{-webkit-appearance:none}
.fs-price-range__input::placeholder{color:var(--fs-gray-500)}
/* Rounded-full CTA — matches other .fs-btn--primary on site */
.fs-price-range__btn{
  width:100%;padding:11px 14px;border-radius:var(--fs-radius-lg)!important;
  background:var(--fs-red);color:#fff;border:none;cursor:pointer;
  font-family:var(--fs-font-display);font-weight:700;font-size:.86rem;
  transition:background .14s,transform .12s;
}
.fs-price-range__btn:hover{background:var(--fs-red-dark);transform:translateY(-1px)}

/* ---- Sidebar: reset filter ---- */
.fs-sidebar-reset{
  display:flex;align-items:center;gap:6px;margin-top:4px;
  padding:8px 10px;border-radius:var(--fs-radius-md);
  font-size:.8rem;font-family:var(--fs-font-display);font-weight:500;
  color:var(--fs-gray-500);transition:color .14s,background .14s;
}
.fs-sidebar-reset:hover{color:var(--fs-red);background:rgba(214,0,1,.05)}

/* ---- Filter button (mobile) ---- */
.fs-filter-btn{display:none;align-items:center;gap:6px;padding:7px 14px;background:#fff;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);font-family:var(--fs-font-display);font-size:.82rem;font-weight:600;color:var(--fs-ink);cursor:pointer;white-space:nowrap;line-height:1;transition:border-color .15s,color .15s}
.fs-filter-btn:hover{border-color:var(--fs-red);color:var(--fs-red)}
.fs-filter-btn svg{stroke:currentColor;flex-shrink:0}

/* ---- Filter drawer (mobile) ---- */
.fs-filter-drawer{position:fixed;inset:0 auto 0 0;width:min(300px,88vw);background:#fff;z-index:calc(var(--fs-z-drawer) + 1);transform:translateX(-110%);transition:transform .3s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;box-shadow:8px 0 28px rgba(15,23,42,.18)}
.fs-filter-drawer.is-open{transform:translateX(0)}
.fs-filter-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--fs-line);flex-shrink:0}
.fs-filter-drawer__title{margin:0;font-size:.92rem;font-weight:700;font-family:var(--fs-font-display);color:var(--fs-ink);display:flex;align-items:center;gap:7px}
.fs-filter-drawer__close{background:none;border:0;padding:7px;cursor:pointer;color:var(--fs-gray-500);border-radius:50%;line-height:0;transition:background .15s,color .15s}
.fs-filter-drawer__close:hover{background:var(--fs-peach);color:var(--fs-ink)}
.fs-filter-drawer__body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.fs-filter-drawer .widget{background:#fff;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:14px;margin:0!important}
.fs-filter-drawer .widget-title{font-family:var(--fs-font-display);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--fs-gray-500);margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--fs-line);display:flex;align-items:center;gap:6px}
.fs-filter-drawer .widget-title svg{flex-shrink:0;opacity:.55}
.fs-filter-drawer .fs-sidebar-search{margin:0}
.fs-filter-drawer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.fs-filter-drawer li{list-style:none;padding:0!important;border:none!important;margin:0}
.fs-filter-drawer li a,.fs-filter-drawer ul a{display:flex!important;align-items:center;justify-content:space-between;gap:6px;padding:7px 10px!important;border-radius:var(--fs-radius-sm);font-size:.86rem;color:var(--fs-ink);text-decoration:none!important;transition:background .12s,color .12s}
.fs-filter-drawer li a:hover,.fs-filter-drawer ul a:hover{background:var(--fs-cream)!important;color:var(--fs-red)!important}
.fs-filter-drawer li.current-cat>a{background:rgba(214,0,1,.07)!important;color:var(--fs-red)!important;font-weight:600}
.fs-filter-drawer .count{flex-shrink:0;background:var(--fs-cream);color:var(--fs-gray-500);font-size:.68rem;font-weight:700;font-family:var(--fs-font-display);padding:2px 7px;border-radius:999px;min-width:22px;text-align:center;line-height:1.6}
.fs-filter-drawer li.current-cat .count{background:rgba(214,0,1,.1);color:var(--fs-red)}

/* ---- Toolbar ---- */
.fs-plp__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--fs-s3);flex-wrap:wrap;margin-bottom:var(--fs-s4);padding:9px 14px;background:var(--fs-cream);border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg)}
.fs-toolbar-left{display:flex;align-items:center;gap:10px}
.fs-toolbar-right{display:flex;align-items:center;gap:8px}
/* Force all toolbar children to align-self:center so nothing drifts up/down */
.fs-toolbar-left>*,.fs-toolbar-right>*{align-self:center}

/* ---- Active filter chips ---- */
.fs-filter-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:var(--fs-s3)}
.fs-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 12px;background:#fef2f2;color:var(--fs-red);border:1.5px solid #fecaca;border-radius:var(--fs-radius-pill);font-family:var(--fs-font-display);font-size:.76rem;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s;white-space:nowrap}
.fs-filter-chip:hover{background:#fee2e2;border-color:#fca5a5}
.fs-filter-chip svg{flex-shrink:0;opacity:.65}
.fs-filter-chips__reset{font-family:var(--fs-font-display);font-size:.76rem;font-weight:500;color:var(--fs-gray-500);text-decoration:underline;text-underline-offset:2px;padding:4px 2px;line-height:1;transition:color .15s}
.fs-filter-chips__reset:hover{color:var(--fs-red)}

.woocommerce-result-count{
  margin:0!important;padding:0!important;
  color:var(--fs-gray-500);font-size:.8rem;font-family:var(--fs-font-display);
  font-weight:500;line-height:1;align-self:center;
}
/* Ordering form: reset any browser/WC default margin that breaks alignment */
.woocommerce-ordering{margin:0!important;padding:0!important}
.woocommerce-ordering select{
  -webkit-appearance:none;appearance:none;
  border:1.5px solid var(--fs-line);border-radius:999px;
  padding:6px 30px 6px 14px;font-family:var(--fs-font-display);font-size:.8rem;font-weight:500;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 10px center / 12px no-repeat;
  cursor:pointer;color:var(--fs-ink);
}
.woocommerce-ordering select:focus{outline:none;border-color:var(--fs-red)}

/* ---- Toolbar: per-page select ---- */
.fs-perpage{display:flex;align-items:center;gap:5px}
.fs-perpage__label{font-size:.76rem;font-family:var(--fs-font-display);font-weight:500;color:var(--fs-gray-500);white-space:nowrap}
.fs-perpage__select{
  -webkit-appearance:none;appearance:none;
  border:1.5px solid var(--fs-line);border-radius:999px;
  padding:5px 28px 5px 12px;font-family:var(--fs-font-display);font-size:.78rem;font-weight:600;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right 9px center / 12px no-repeat;
  cursor:pointer;color:var(--fs-ink);outline:none;transition:border-color .14s;
}
.fs-perpage__select:focus{border-color:var(--fs-red)}

/* ---- Toolbar: grid / list toggle ---- */
.fs-view-toggle{display:flex;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-md);overflow:hidden}
.fs-view-toggle__btn{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border:none;background:transparent;cursor:pointer;
  color:var(--fs-gray-500);transition:background .12s,color .12s;
}
.fs-view-toggle__btn+.fs-view-toggle__btn{border-left:1px solid var(--fs-line)}
.fs-view-toggle__btn.is-active{background:var(--fs-red)!important;color:#fff!important}
.fs-view-toggle__btn:hover:not(.is-active){background:var(--fs-cream);color:var(--fs-ink)}

/* ---- Custom select dropdown (.fs-csel) ---- */
/* Replaces native <select> which can't be styled on dropdown options */
.fs-csel{position:relative;display:inline-flex;vertical-align:middle}
.fs-csel__btn{
  display:inline-flex;align-items:center;gap:8px;
  border:1.5px solid var(--fs-line);border-radius:999px;
  padding:6px 14px;font-family:var(--fs-font-display);font-size:.8rem;font-weight:500;
  background:#fff;cursor:pointer;color:var(--fs-ink);outline:none;
  transition:border-color .14s;white-space:nowrap;
}
.fs-csel__btn:hover,.fs-csel.is-open .fs-csel__btn{border-color:var(--fs-red)}
.fs-csel__btn svg{flex-shrink:0;transition:transform .2s ease}
.fs-csel.is-open .fs-csel__btn svg{transform:rotate(180deg)}
.fs-csel__panel{
  position:absolute;top:calc(100% + 6px);right:0;min-width:100%;
  background:#fff;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);
  padding:5px;list-style:none;margin:0;
  box-shadow:0 8px 28px -4px rgba(15,23,42,.15);z-index:200;
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .15s,transform .15s;
}
.fs-csel.is-open .fs-csel__panel{opacity:1;transform:none;pointer-events:auto}
.fs-csel__opt{
  padding:8px 14px;border-radius:var(--fs-radius-md);
  font-family:var(--fs-font-display);font-size:.82rem;font-weight:500;
  color:var(--fs-ink);cursor:pointer;white-space:nowrap;
  transition:background .1s,color .1s;
}
.fs-csel__opt:hover{background:var(--fs-cream)}
.fs-csel__opt.is-active{background:var(--fs-red)!important;color:#fff!important}
/* WooCommerce ordering form: need inline-block so custom select wraps it */
.woocommerce-ordering{position:relative;display:inline-flex!important;align-items:center}

/* ---- Product grid ---- */
ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product,ul.products li.product{margin:0!important;width:auto!important;float:none!important;height:100%}

/* ---- Grid view column variants ---- */
ul.products[data-view="grid-3"]{grid-template-columns:repeat(3,1fr)!important}
ul.products[data-view="grid-2"]{grid-template-columns:repeat(2,1fr)!important}

/* ---- List view ---- */
ul.products[data-view="list"]{grid-template-columns:1fr!important;gap:10px!important}
ul.products[data-view="list"] li.product,
ul.products[data-view="list"] .woocommerce ul.products li.product{height:auto!important}
/* Card becomes 2-col grid: image | body+foot */
ul.products[data-view="list"] li.product.fs-card{
  display:grid!important;
  grid-template-columns:260px 1fr auto;
  grid-template-rows:1fr auto;
  align-items:stretch;
  position:relative;
}
ul.products[data-view="list"] li.product .fs-card__badges{
  position:absolute;top:10px;left:10px;z-index:2;
}
ul.products[data-view="list"] li.product .fs-card__media{
  grid-column:1;grid-row:1/3;
  height:auto!important;min-height:200px;
  border-radius:var(--fs-radius-lg) 0 0 var(--fs-radius-lg)!important;
  overflow:hidden;
}
ul.products[data-view="list"] li.product .fs-card__media img{
  width:100%;height:100%;object-fit:cover;
}
ul.products[data-view="list"] li.product .fs-card__body{
  grid-column:2;grid-row:1;
  padding:16px 18px 8px!important;
  display:flex;flex-direction:column;justify-content:flex-start;
}
ul.products[data-view="list"] li.product .fs-card__foot{
  grid-column:2;grid-row:2;
  padding:0 18px 14px!important;
  display:flex;flex-direction:row!important;align-items:center;gap:8px;
  justify-content:flex-start!important;
}
/* Action column on the far right */
ul.products[data-view="list"] li.product .fs-card__foot .fs-card__view{display:none}
ul.products[data-view="list"] li.product .fs-card__foot .fs-btn{flex:0 0 auto;width:auto;padding:9px 18px}

/* ---- Pagination ---- */
/* Strategy: work WITH WooCommerce's float:left layout, not against it.
   WC uses float:left on li + inline-block on ul (BFC) for horizontal flow.
   We kill the border-box decorations and restyle the circles only. */
.woocommerce-pagination{margin-top:var(--fs-s6);text-align:center}
/* Kill WC's outer border-box; preserve its display/white-space for float containment */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce-pagination ul,
.woocommerce-pagination ul.page-numbers{
  border:none!important;border-radius:0!important;background:none!important;
  list-style:none!important;padding:0!important;margin:0!important;
}
/* Kill WC's li border-right separator; let float:left remain for horizontal flow */
.woocommerce nav.woocommerce-pagination ul li,
.woocommerce-pagination ul li,
.woocommerce-pagination ul.page-numbers li{
  border:none!important;border-right:none!important;
  overflow:visible!important;margin:0 3px!important;padding:0!important;
  list-style:none!important;
}
/* Circle buttons — target a/span directly to beat WC's display:block */
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:38px!important;height:38px!important;padding:0!important;
  border-radius:50%!important;border:1.5px solid var(--fs-line)!important;
  font-family:var(--fs-font-display)!important;font-weight:600!important;font-size:.875rem!important;
  color:var(--fs-ink)!important;text-decoration:none!important;line-height:1!important;
  box-sizing:border-box!important;background:transparent!important;
  transition:border-color .14s,color .14s,background .14s!important;min-width:0!important;
}
.woocommerce-pagination a.page-numbers:hover{border-color:var(--fs-red)!important;color:var(--fs-red)!important}
.woocommerce-pagination span.page-numbers.current{background:var(--fs-red)!important;color:#fff!important;border-color:var(--fs-red)!important}
.woocommerce-pagination .page-numbers.prev,
.woocommerce-pagination .page-numbers.next{width:auto!important;padding:0 16px!important;border-radius:999px!important}
.woocommerce-pagination .page-numbers.dots{
  border:none!important;background:none!important;pointer-events:none!important;color:var(--fs-gray-500)!important;
}

/* ---------- PDP (single product) ---------- */
.fs-pdp{padding-block:var(--fs-s6) var(--fs-s9)}
.fs-pdp div.product{display:grid;grid-template-columns:1fr 1fr;gap:var(--fs-s8);align-items:start}
/* WC sets float:left/right;width:48% on .images + .summary — override so CSS Grid owns layout.
   min-width:0 is the critical fix: grid items default to min-width:auto and a 1fr track is
   minmax(auto,1fr), so the flexslider's width:400% slides list (huge min-content) refused to
   shrink and blew the column far past the viewport on mobile. Forcing min-width:0 lets the
   tracks collapse to the available width. max-width:100% is belt-and-suspenders. */
.fs-pdp div.product>*{min-width:0}
.fs-pdp div.product .woocommerce-product-gallery,
.fs-pdp div.product .summary{float:none!important;width:auto!important;max-width:100%}
.fs-pdp div.product .woocommerce-product-gallery .flex-viewport{max-width:100%}
/* Ritme spasi: andalkan grid row-gap, hindari margin bertumpuk */
.fs-pdp div.product>.woocommerce-product-gallery,
.fs-pdp div.product>.summary,
.fs-pdp div.product>.entry-summary{margin-bottom:0}
.fs-pdp div.product>.related,
.fs-pdp div.product>.up-sells{margin-top:0}
.fs-pdp .woocommerce-tabs{margin-top:var(--fs-s8)}
.fs-pdp .woocommerce-product-gallery{position:relative;background:#fff;border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:var(--fs-s4)}
.fs-pdp .woocommerce-product-gallery__image img{border-radius:var(--fs-radius-md)}
.fs-pdp .product_title{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.15;margin:0 0 var(--fs-s3)}
.fs-pdp .woocommerce-product-rating{display:flex;align-items:center;gap:10px;margin-bottom:var(--fs-s4)}
.fs-pdp div.product p.price,.fs-pdp div.product span.price{font-family:var(--fs-font-display);display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;font-size:1.9rem;color:var(--fs-red);font-weight:800;line-height:1.1;margin-bottom:var(--fs-s4)}
.fs-pdp div.product p.price del,.fs-pdp div.product span.price del{color:var(--fs-gray-500);font-size:1.05rem;font-weight:400;opacity:.85}
.fs-pdp div.product p.price del bdi{text-decoration:line-through}
.fs-pdp div.product p.price ins,.fs-pdp div.product span.price ins{text-decoration:none;font-weight:800}
.fs-pdp .woocommerce-product-details__short-description{color:var(--fs-gray-700);margin-bottom:var(--fs-s5)}
.fs-pdp .cart{display:flex;gap:var(--fs-s3);align-items:stretch;flex-wrap:wrap;margin-bottom:var(--fs-s5)}
.fs-pdp .single_add_to_cart_button{border-radius:var(--fs-radius-lg)!important;padding:0 36px!important;font-size:.95rem!important;font-weight:700!important;letter-spacing:.01em!important;flex:1;min-width:140px;white-space:nowrap;height:50px}
.fs-pdp .quantity input.qty{width:54px;height:50px;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-md);text-align:center;font-family:var(--fs-font-display);font-weight:700}
.fs-pdp .product_meta{display:grid;grid-template-columns:1fr 1fr;gap:8px var(--fs-s5);font-size:.84rem;color:var(--fs-gray-500);border-top:1px solid var(--fs-line);padding-top:var(--fs-s4);margin-top:var(--fs-s5)}
.fs-pdp .product_meta>span{display:flex;align-items:baseline;gap:5px;min-width:0;margin-bottom:0}
.fs-pdp .product_meta .sku,.fs-pdp .product_meta a{color:var(--fs-ink);font-weight:600}
.fs-pdp .product_meta a:hover{color:var(--fs-red)}
/* Stock badge */
.fs-pdp p.stock{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;padding:4px 12px;border-radius:var(--fs-radius-pill);margin-bottom:var(--fs-s4)}
.fs-pdp p.stock::before{content:"";width:7px;height:7px;border-radius:50%;flex-shrink:0}
.fs-pdp p.stock.in-stock{background:rgba(34,197,94,.1);color:#15803d}
.fs-pdp p.stock.in-stock::before{background:#15803d}
.fs-pdp p.stock.out-of-stock{background:rgba(239,68,68,.1);color:var(--fs-red)}
.fs-pdp p.stock.out-of-stock::before{background:var(--fs-red)}

/* Reseller box (dipakai PDP & dirender oleh inc/woocommerce-reseller-pricing.php) */
.fs-reseller-box{display:flex;gap:var(--fs-s3);align-items:flex-start;background:rgba(255,193,6,.12);border:1.5px solid rgba(255,193,6,.55);border-radius:var(--fs-radius-lg);padding:14px 16px;margin-bottom:var(--fs-s5)}
.fs-reseller-box__icon{flex-shrink:0;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:var(--fs-yellow);color:var(--fs-maroon);border-radius:var(--fs-radius-md)}
.fs-reseller-box__icon svg{width:20px;height:20px}
.fs-reseller-box__body{display:flex;flex-direction:column;min-width:0}
.fs-reseller-box__label{font-family:var(--fs-font-display);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fs-maroon);opacity:.85}
.fs-reseller-box__price{font-family:var(--fs-font-display);font-weight:800;font-size:1.3rem;color:var(--fs-maroon);line-height:1.2}
.fs-reseller-box__price .amount{font-size:inherit}
.fs-reseller-box__note{font-size:.8rem;color:var(--fs-gray-700);margin-top:3px;line-height:1.5}

/* Tabs — minimalist premium (high-specificity WC override) */
.woocommerce-tabs{margin-top:var(--fs-s8)}
.woocommerce .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs{
  list-style:none!important;display:flex!important;justify-content:center!important;gap:0!important;
  border-bottom:1.5px solid var(--fs-line)!important;
  padding:0!important;margin:0 0 var(--fs-s6)!important;
  background:transparent!important;box-shadow:none!important;overflow:visible!important
}
.woocommerce .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce .woocommerce-tabs ul.tabs li::before,
.woocommerce .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important;content:none!important;border:0!important;box-shadow:none!important}
.woocommerce .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  list-style:none!important;margin:0!important;padding:0!important;
  background:transparent!important;border:none!important;border-radius:0!important;
  box-shadow:none!important
}
.woocommerce .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:inline-block;font-family:var(--fs-font-display);font-weight:600;
  font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;
  color:var(--fs-gray-500);padding:13px 18px;
  position:relative;border:none!important;background:none!important;
  text-decoration:none;transition:color .2s
}
.woocommerce .woocommerce-tabs ul.tabs li a::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li a::after{
  content:"";position:absolute;left:0;right:0;bottom:-1.5px;height:2.5px;
  background:var(--fs-red);border-radius:2px 2px 0 0;
  transform:scaleX(0);transition:transform .2s ease
}
.woocommerce .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--fs-red)!important;background:transparent!important;border:none!important
}
.woocommerce .woocommerce-tabs ul.tabs li.active a::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after{transform:scaleX(1)}
.woocommerce .woocommerce-tabs ul.tabs li a:hover{color:var(--fs-red)}
.related.products>h2,.up-sells>h2{font-size:var(--fs-h3);margin-top:var(--fs-s8)}

/* Add-to-cart buttons (WooCommerce .button → samakan dgn .fs-btn primary) */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce a.button.alt,.woocommerce button.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--fs-font-display);font-weight:700;font-size:1rem;
  background:var(--fs-red);color:#fff;border:2px solid transparent;
  padding:13px 26px;border-radius:var(--fs-radius-md);cursor:pointer;transition:.18s ease
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--fs-red-dark);color:#fff;box-shadow:var(--fs-shadow-lift)}
.woocommerce .button.loading{opacity:.7}
.woocommerce .added_to_cart,.added_to_cart.wc-forward{display:none!important} /* feedback via drawer */

/* ============================================================
   CART PAGE — COMPLETE REDESIGN
   ============================================================ */
.fs-cart-page{padding-block:var(--fs-s5) var(--fs-s9)}

/* Two-column grid: items | summary */
.fs-cart__grid{display:grid;grid-template-columns:1fr 360px;gap:var(--fs-s6);align-items:start}

/* Empty state */
.fs-cart-empty{text-align:center;padding:var(--fs-s9) var(--fs-s5);max-width:400px;margin:0 auto}
.fs-cart-empty .fs-drawer__empty-icon{margin-bottom:var(--fs-s5)}
.fs-cart-empty .fs-btn{display:inline-flex;margin-top:var(--fs-s5);background:var(--fs-red)!important;background-image:none!important;box-shadow:none!important}

/* Page title */
.woocommerce-cart h1.entry-title{font-family:var(--fs-font-display);font-size:1.6rem;font-weight:700;color:var(--fs-ink);margin-bottom:var(--fs-s5)}

/* ---- LEFT: cart table → flex card rows ---- */
.woocommerce-cart-form table.cart{display:block;width:100%;margin:0;border:none;border-collapse:collapse}
.woocommerce-cart-form table.cart thead{display:none}
.woocommerce-cart-form table.cart tbody{display:block}

/* each item row */
.woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item{
  display:flex;align-items:center;gap:14px;
  padding:var(--fs-s4) 0;
  border-bottom:1px solid var(--fs-line);
  position:relative;padding-right:44px
}
.woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item:last-of-type{border-bottom:none}

/* all td → block */
.woocommerce-cart-form table.cart td{display:block;border:none;padding:0;vertical-align:middle}

/* remove button — absolute top-right */
.woocommerce-cart-form td.product-remove{position:absolute;top:50%;right:0;transform:translateY(-50%)}
.woocommerce-cart-form td.product-remove a.remove{
  display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;
  border:1.5px solid var(--fs-line);background:#fff;
  color:var(--fs-gray-500);text-decoration:none;font-size:0;
  transition:background .15s,border-color .15s,color .15s
}
.woocommerce-cart-form td.product-remove a.remove:hover{background:var(--fs-peach);border-color:var(--fs-red);color:var(--fs-red)}

/* thumbnail */
.woocommerce-cart-form td.product-thumbnail{flex:0 0 88px;width:88px}
.woocommerce-cart-form td.product-thumbnail a{display:block}
.woocommerce-cart-form td.product-thumbnail img{width:88px!important;height:88px!important;object-fit:cover;border-radius:var(--fs-radius-md);display:block}

/* name + unit price */
.woocommerce-cart-form td.product-name{flex:1;min-width:0}
.woocommerce-cart-form td.product-name a{
  font-family:var(--fs-font-display);font-weight:600;color:var(--fs-ink);
  font-size:.92rem;line-height:1.45;text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.woocommerce-cart-form td.product-name a:hover{color:var(--fs-red)}
.fs-cart-item__unit{display:block;margin-top:4px;font-family:var(--fs-font-display);font-size:.82rem;color:var(--fs-gray-500)}

/* separate price column — hidden (shown inside name cell) */
.woocommerce-cart-form td.product-price{display:none!important}

/* quantity stepper — covers both before JS (.quantity) and after JS (.fs-qty-done) */
.woocommerce-cart-form td.product-quantity{flex:0 0 auto}
.woocommerce-cart-form .quantity,
.woocommerce-cart-form .quantity.fs-qty-done{
  display:flex!important;align-items:center!important;
  border:1.5px solid var(--fs-line)!important;border-radius:var(--fs-radius-lg)!important;
  overflow:hidden!important;background:#fff!important;
  height:38px!important
}
.woocommerce-cart-form .quantity input.qty,
.woocommerce-cart-form .quantity.fs-qty-done input.qty{
  width:44px!important;height:38px!important;text-align:center;
  border:none!important;background:transparent!important;
  font-family:var(--fs-font-display);font-weight:700;font-size:.9rem;color:var(--fs-ink);
  padding:0!important;-moz-appearance:textfield
}
/* +/- buttons injected by JS — override PDP stepper size/color */
.woocommerce-cart-form .quantity .fs-qty__btn{
  width:36px!important;height:38px!important;
  background:#fff!important;color:var(--fs-gray-500)!important;
  font-size:1rem!important;border:none!important;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;flex-shrink:0
}
.woocommerce-cart-form .quantity .fs-qty__btn:hover{
  background:var(--fs-peach)!important;color:var(--fs-red)!important
}
.woocommerce-cart-form .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none}

/* subtotal */
.woocommerce-cart-form td.product-subtotal{flex:0 0 auto;min-width:80px;text-align:right}
.woocommerce-cart-form td.product-subtotal .amount,
.woocommerce-cart-form td.product-subtotal bdi{
  font-family:var(--fs-font-display);font-weight:700;font-size:.92rem;color:var(--fs-ink)
}

/* actions row (coupon + update cart) */
.woocommerce-cart-form table.cart tr.fs-cart-actions-row{display:block;border:none;padding-right:0}
.woocommerce-cart-form table.cart tr.fs-cart-actions-row td.actions{
  display:flex;align-items:center;gap:var(--fs-s3);flex-wrap:wrap;
  padding:var(--fs-s5) 0 0;border:none
}
.woocommerce-cart-form .coupon{display:flex;align-items:center;gap:var(--fs-s2);flex:0 1 340px}
.woocommerce-cart-form .coupon label{display:none}
.woocommerce-cart-form .coupon input[name=coupon_code]{
  flex:1;min-width:0;padding:9px 16px;
  border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);
  font-family:var(--fs-font-display);font-size:.88rem;color:var(--fs-ink);
  background:#fff;outline:none;transition:border-color .15s
}
.woocommerce-cart-form .coupon input[name=coupon_code]:focus{border-color:var(--fs-red)}
.woocommerce-cart-form .coupon input[name=coupon_code]::placeholder{color:var(--fs-gray-500)}
.woocommerce-cart-form .coupon .button[name=apply_coupon]{
  padding:9px 18px;border-radius:var(--fs-radius-lg);
  border:1.5px solid var(--fs-red);background:transparent;
  color:var(--fs-red);font-family:var(--fs-font-display);font-weight:700;
  font-size:.88rem;cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s
}
.woocommerce-cart-form .coupon .button[name=apply_coupon]:hover{background:var(--fs-red);color:#fff}
.woocommerce-cart-form .button[name=update_cart]{
  padding:9px 18px;border-radius:var(--fs-radius-lg);
  border:1.5px solid var(--fs-line);background:#fff;
  color:var(--fs-gray-500);font-family:var(--fs-font-display);
  font-weight:600;font-size:.88rem;cursor:pointer;white-space:nowrap;
  transition:border-color .15s,color .15s
}
.woocommerce-cart-form .button[name=update_cart]:hover{background:var(--fs-red)!important;border-color:var(--fs-red)!important;color:#fff!important;box-shadow:none!important}
/* prevent WC generic button styles overriding our coupon/update buttons */
.woocommerce-cart-form .button[name=apply_coupon],
.woocommerce-cart-form .button[name=update_cart]{box-shadow:none!important}

/* ---- RIGHT: order summary card ---- */
.fs-cart__right{position:sticky;top:100px}
.fs-cart__right .cart-collaterals,.fs-cart__right>div{display:block!important;width:100%}

/* Kill WooCommerce's shop_table outer border that causes nested-box look */
.cart_totals table.shop_table,
.fs-cart-summary__table{
  border:none!important;border-collapse:collapse!important;
  border-radius:0!important;box-shadow:none!important;margin:0!important;
  width:100%
}

/* ─── Summary card ─── */
.fs-cart-summary{
  background:#fff;
  border-radius:16px;
  /* single box-shadow as border + depth — more refined than hard border */
  box-shadow:0 0 0 1.5px var(--fs-line), 0 12px 40px -16px rgba(15,23,42,.12);
  overflow:hidden
}

/* card header stripe */
.fs-cart-summary__head{
  padding:18px var(--fs-s5) 0
}
.fs-cart-summary__title{
  font-family:var(--fs-font-display);font-size:1rem;font-weight:700;
  color:var(--fs-ink);margin:0;line-height:1.3
}

/* table rows */
.fs-cart-summary__table{
  padding:var(--fs-s4) var(--fs-s5);
  display:block
}
.fs-cart-summary__table tbody{display:block}
.fs-cart-summary__table tr{display:flex;justify-content:space-between;align-items:center}
.fs-cart-summary__table td,.fs-cart-summary__table th{
  display:block;border:none!important;padding:11px 0;
  font-family:var(--fs-font-display);vertical-align:middle
}
.fs-cart-summary__table th{
  color:var(--fs-gray-500);font-weight:500;font-size:.88rem;text-align:left
}
.fs-cart-summary__table td{
  text-align:right;font-weight:600;font-size:.92rem;color:var(--fs-ink)
}
/* row separator: on th because tr display:flex can't do border-top on tr */
.fs-cart-summary__table .cart-subtotal th,
.fs-cart-summary__table .cart-subtotal td{
  padding-bottom:11px
}
.fs-cart-summary__table .order-total{
  border-top:1.5px solid var(--fs-line);
  margin-top:2px
}
.fs-cart-summary__table .order-total th{
  font-size:.95rem;font-weight:700;color:var(--fs-ink);padding-top:14px
}
.fs-cart-summary__table .order-total td{padding-top:14px}
.fs-cart-summary__table .order-total td,
.fs-cart-summary__table .order-total td .amount,
.fs-cart-summary__table .order-total td bdi{
  font-size:1.35rem;font-weight:800;color:var(--fs-red)
}
/* discount / coupon rows */
.fs-cart-summary__table .cart-discount th{color:var(--fs-gray-500);font-size:.85rem}
.fs-cart-summary__table .cart-discount td{color:#15803D;font-size:.88rem}
/* shipping */
.fs-cart-summary__table .woocommerce-shipping-totals th{color:var(--fs-gray-500)}
.fs-cart-summary__table .woocommerce-shipping-totals td{font-size:.88rem;color:var(--fs-gray-500)}

/* ─── Actions area ─── */
.fs-cart-summary__actions{
  padding:0 var(--fs-s5) var(--fs-s5);
  display:flex;flex-direction:column;gap:var(--fs-s3)
}

/* Proceed to checkout — uses .fs-checkout-btn class from template override */
.wc-proceed-to-checkout{margin:0!important;padding:0!important}
.fs-checkout-btn{
  display:block;width:100%;text-align:center;
  background:var(--fs-red)!important;background-image:none!important;
  color:#fff!important;border:none!important;
  font-family:var(--fs-font-display)!important;font-weight:700!important;
  font-size:1rem!important;padding:15px 24px;
  border-radius:var(--fs-radius-lg)!important;
  text-decoration:none!important;letter-spacing:.02em;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
  cursor:pointer;box-sizing:border-box
}
.fs-checkout-btn:hover{
  background:var(--fs-red-dark)!important;color:#fff!important;
  box-shadow:0 8px 24px -8px rgba(214,0,1,.45);
  transform:translateY(-1px)
}

/* "Lanjut Belanja" link */
.fs-cart-summary__continue{
  display:flex;align-items:center;justify-content:center;gap:6px;
  font-family:var(--fs-font-display);font-size:.84rem;font-weight:600;
  color:var(--fs-gray-500);text-decoration:none;
  transition:color .15s
}
.fs-cart-summary__continue:hover{color:var(--fs-red)}

/* cross-sells */
.cross-sells{margin-top:var(--fs-s6)}
.cross-sells h2{font-family:var(--fs-font-display);font-size:1.1rem;font-weight:700;color:var(--fs-ink);margin-bottom:var(--fs-s4)}

/* reset old collaterals grid */
.cart-collaterals{display:block!important;grid-template-columns:unset!important}

/* ---------- Checkout ---------- */
.fs-checkout-page{padding-block:var(--fs-s6) var(--fs-s9)}
.woocommerce-checkout .col2-set,.woocommerce-checkout #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:var(--fs-s6)}
.woocommerce-checkout .form-row label{font-family:var(--fs-font-display);font-weight:600;font-size:.88rem;display:block;margin-bottom:6px}
.woocommerce-checkout .input-text,.woocommerce-checkout select,.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea{width:100%;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-sm);padding:11px 14px;font-family:var(--fs-font-body)}
.woocommerce-checkout .input-text:focus{outline:none;border-color:var(--fs-red)}
#order_review{background:var(--fs-cream);border-radius:var(--fs-radius-md);padding:var(--fs-s5)}
#order_review table{width:100%}
#order_review th,#order_review td{padding:10px 0;border-bottom:1px solid var(--fs-line);text-align:left}
#place_order{width:100%;font-size:1.1rem;padding:16px}

@media (max-width:1024px){
  ul.products,ul.products[data-view="grid-3"]{grid-template-columns:repeat(2,1fr)!important}
  .fs-pdp div.product{grid-template-columns:1fr;gap:var(--fs-s6)}
}
@media (max-width:860px){
  .fs-plp__layout{grid-template-columns:1fr}
  .fs-plp__sidebar{display:none}
  .fs-filter-btn{display:inline-flex}
  .fs-cart__grid{grid-template-columns:1fr}
  .fs-cart__right{position:static}
  .woocommerce-checkout .col2-set,.woocommerce-checkout #customer_details{grid-template-columns:1fr}
}
@media (max-width:640px){
  /* Dropdown: expand ke kanan agar tidak keluar layar sebelah kiri */
  .fs-csel__panel{left:0;right:auto}
  /* Mobile: 2-col product grid, hide view toggle */
  .fs-view-toggle{display:none!important}
  ul.products,
  ul.products[data-view="grid-3"],
  ul.products[data-view="grid-2"],
  ul.products[data-view="list"]{
    grid-template-columns:repeat(2,1fr)!important;
    gap:10px!important
  }
  /* list-view juga jadi 2-col card di mobile (samakan dengan grid) */
  ul.products[data-view="list"] li.product.fs-card{
    flex-direction:column!important;height:100%!important
  }
}

/* ============================================================
   PAGE PROMO — halaman /promo/ berisi [sale_products].
   Render lebar penuh sebagai grid produk (bukan wrapper prose
   sempit yang memaksa <ul> jadi kolom ber-indent).
   ============================================================ */
.fs-page--listing .fs-page__content--listing{max-width:none;width:100%}
/* Intro <p> di atas grid (teks pengantar promo) */
.fs-page--listing .fs-page__content--listing>p{
  color:var(--fs-gray-700);font-size:1.02rem;line-height:1.6;
  max-width:60ch;margin:0 0 var(--fs-s6)
}
/* Wrapper shortcode + grid produk full width */
.fs-page--listing .fs-page__content--listing .woocommerce{width:100%}
.fs-page--listing .fs-page__content--listing ul.products{
  display:grid!important;grid-template-columns:repeat(4,1fr);gap:16px;
  margin:0!important;padding:0!important;list-style:none
}
.fs-page--listing .fs-page__content--listing ul.products li.product{
  margin:0!important;width:auto!important;float:none!important;height:100%
}
@media (max-width:1024px){
  .fs-page--listing .fs-page__content--listing ul.products{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:768px){
  .fs-page--listing .fs-page__content--listing ul.products{grid-template-columns:repeat(2,1fr)!important;gap:10px}
}

/* ============================================================
   UX ENHANCEMENTS (ui-ux-pro-max) — breadcrumb, qty stepper,
   PDP trust strip, sticky add-to-cart bar.
   ============================================================ */

/* Breadcrumb */
.fs-breadcrumb{padding-block:var(--fs-s4) 0}
.woocommerce-breadcrumb{color:var(--fs-gray-500);font-size:.85rem;margin-bottom:var(--fs-s4)}
.woocommerce-breadcrumb a{color:var(--fs-gray-700)}
.woocommerce-breadcrumb a:hover{color:var(--fs-red)}

/* Quantity stepper */
.quantity.fs-qty-done{display:inline-flex;align-items:stretch;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);overflow:hidden;background:#fff}
.quantity.fs-qty-done input.qty{width:54px;height:50px;border:none;border-radius:0;text-align:center;font-family:var(--fs-font-display);font-weight:700;-moz-appearance:textfield;background:#fff}
.quantity.fs-qty-done input.qty::-webkit-outer-spin-button,
.quantity.fs-qty-done input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.fs-qty__btn{width:46px;height:50px;border:none;background:var(--fs-cream);color:var(--fs-ink);font-size:1.25rem;line-height:1;cursor:pointer;font-family:var(--fs-font-display);display:flex;align-items:center;justify-content:center;transition:.15s ease}
.fs-qty__btn:hover{background:var(--fs-peach);color:var(--fs-red)}

/* PDP trust strip (di bawah add-to-cart) */
.fs-pdp-trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px var(--fs-s4);padding:var(--fs-s4) 0 0;margin:var(--fs-s4) 0 0;border-top:1px solid var(--fs-line)}
.fs-pdp-trust li{display:flex;align-items:center;gap:10px;font-size:.84rem;color:var(--fs-gray-700);font-weight:500}
.fs-pdp-trust__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(214,0,1,.08);border-radius:8px}
.fs-pdp-trust__icon svg{width:18px;height:18px;color:var(--fs-red)}

/* Sticky add-to-cart bar (mobile PDP) */
.fs-pdp-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--fs-z-header);background:#fff;box-shadow:0 -1px 0 var(--fs-line),0 -4px 12px rgba(15,23,42,.07);display:flex;align-items:center;gap:var(--fs-s3);padding:10px var(--fs-gutter);padding-bottom:max(10px,env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.fs-pdp-bar.is-visible{transform:none}
.fs-pdp-bar__price{display:flex;flex-direction:column;gap:1px;min-width:0}
.fs-pdp-bar__price del{display:block;color:var(--fs-gray-500);font-weight:400;font-size:.72rem;line-height:1.2}
.fs-pdp-bar__price ins{display:block;font-family:var(--fs-font-display);font-weight:800;color:var(--fs-red);font-size:1.15rem;line-height:1.1;text-decoration:none;white-space:nowrap}
.fs-pdp-bar__price>.woocommerce-Price-amount{font-family:var(--fs-font-display);font-weight:800;color:var(--fs-red);font-size:1.15rem;line-height:1.1;white-space:nowrap}
.fs-pdp-bar__btn{flex:1;margin-left:0;padding:14px 16px;font-size:.92rem;white-space:nowrap;background:var(--fs-red)!important;border-color:var(--fs-red)!important;box-shadow:none!important}
.fs-pdp-bar__btn:hover{background:var(--fs-red-dark)!important;border-color:var(--fs-red-dark)!important;box-shadow:none!important;transform:none!important}
@media (min-width:861px){.fs-pdp-bar{display:none!important}}

/* PhotoSwipe lightbox: flush buttons to right edge, skin already sets 44×44 touch targets */
.pswp__top-bar{padding:0!important}

/* Empty state PLP/search lebih jelas */
.woocommerce-info.woocommerce-no-products-found,
.woocommerce-no-products-found{text-align:center;padding:var(--fs-s8) var(--fs-s5)}

/* ============================================================
   POLISH v2 — senada navbar premium (setelah layout.css WC dimatikan)
   ============================================================ */

/* Badge SALE bawaan WooCommerce → merah, rapi */
.woocommerce span.onsale{position:absolute;z-index:3;top:10px;left:10px;min-width:0;min-height:0;
  background:var(--fs-red);color:#fff;font-family:var(--fs-font-display);font-weight:700;
  font-size:.72rem;letter-spacing:.02em;line-height:1;padding:5px 10px;border-radius:var(--fs-radius-sm);margin:0}
/* PDP: badge "Hemat X%" menempel pojok kiri-atas foto utama (di dalam galeri) */
.fs-pdp .woocommerce-product-gallery .onsale{top:var(--fs-s5);left:var(--fs-s5);font-size:.8rem;padding:6px 12px;border-radius:var(--fs-radius-md)}

/* Related / upsells: grid 4 kolom (full width, tanpa sidebar) */
.related ul.products,.up-sells ul.products{grid-template-columns:repeat(4,1fr)}
.related.products,.up-sells{clear:both}

/* Galeri PDP: thumbnail aktif */
.fs-pdp .flex-control-thumbs{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:var(--fs-s5) 0 0!important}
.fs-pdp .flex-control-thumbs li{width:74px}
.fs-pdp .flex-control-thumbs img{display:block;width:100%;box-sizing:border-box;border-radius:var(--fs-radius-md);cursor:pointer;border:2px solid transparent;opacity:1;transition:border-color .15s ease}
.fs-pdp .flex-control-thumbs img.flex-active,.fs-pdp .flex-control-thumbs img:hover{border-color:var(--fs-red)}

/* Tab panel content */
.woocommerce-Tabs-panel{max-width:none;line-height:1.8;color:var(--fs-gray-700);font-size:.95rem}
.woocommerce-Tabs-panel h2{font-family:var(--fs-font-display);font-weight:700;font-size:1.15rem;color:var(--fs-ink);margin:0 0 var(--fs-s4)}
.woocommerce-Tabs-panel p{margin-bottom:var(--fs-s3)}

/* Deskripsi PDP: 3 kolom semantik (Deskripsi | Isi Produk | Informasi Produk) */
.fs-pdp .woocommerce-Tabs-panel--description{max-width:none}
.fs-desc-cols{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--fs-s6);row-gap:var(--fs-s5)}
.fs-desc-col{min-width:0}
.fs-desc-col:not(:first-child){border-left:1px solid var(--fs-line);padding-left:var(--fs-s6)}
.fs-desc-col__title{font-family:var(--fs-font-display);font-weight:700;font-size:1rem;color:var(--fs-ink);margin:0 0 var(--fs-s4)}
.fs-desc-col p{margin:0 0 var(--fs-s2);line-height:1.7}
.fs-desc-col p:last-child{margin-bottom:0}
.fs-desc-col .fs-desc-sub{font-weight:700;color:var(--fs-ink);margin-top:var(--fs-s4)}
.fs-desc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fs-desc-list li{position:relative;padding-left:18px;line-height:1.55}
.fs-desc-list li::before{content:"";position:absolute;left:2px;top:8px;width:6px;height:6px;border-radius:50%;background:var(--fs-red)}
@media (max-width:900px){
  .fs-desc-cols{grid-template-columns:1fr 1fr}
  .fs-desc-col:nth-child(3){border-left:none;padding-left:0}
}
@media (max-width:560px){
  .fs-desc-cols{grid-template-columns:1fr}
  .fs-desc-col:not(:first-child){border-left:none;padding-left:0;padding-top:var(--fs-s5);border-top:1px solid var(--fs-line)}
}

/* Tab "Informasi Tambahan": tabel atribut rapi (override WC plugin specificity) */
.fs-pdp .woocommerce-Tabs-panel .shop_attributes{width:100%;border-collapse:separate!important;border-spacing:0!important;font-size:.92rem;border:1px solid var(--fs-line)!important;border-radius:var(--fs-radius-lg);overflow:hidden;margin:0}
.fs-pdp .woocommerce-Tabs-panel .shop_attributes th,
.fs-pdp .woocommerce-Tabs-panel .shop_attributes td{padding:12px 16px!important;border:0!important;border-bottom:1px solid var(--fs-line)!important;text-align:left!important;font-style:normal!important;line-height:1.5}
.fs-pdp .woocommerce-Tabs-panel .shop_attributes th{font-family:var(--fs-font-display);font-weight:600;color:var(--fs-ink);width:38%;background:var(--fs-cream)}
.fs-pdp .woocommerce-Tabs-panel .shop_attributes td{color:var(--fs-gray-700);border-left:1px solid var(--fs-line)!important}
.fs-pdp .woocommerce-Tabs-panel .shop_attributes tr:last-child th,
.fs-pdp .woocommerce-Tabs-panel .shop_attributes tr:last-child td{border-bottom:0!important}
.fs-pdp .woocommerce-Tabs-panel .shop_attributes td p{margin:0}

/* Review form */
#reviews{padding:0;outline:none}
#comments .woocommerce-Reviews-title{font-family:var(--fs-font-display);font-weight:700;font-size:1.15rem;color:var(--fs-ink);margin:0 0 var(--fs-s5)}
.commentlist{list-style:none;padding:0;margin:0 0 var(--fs-s6)}
.commentlist .comment_container{display:flex;gap:var(--fs-s4);padding:var(--fs-s4) 0;border-bottom:1px solid var(--fs-line)}
.commentlist .comment_container img.avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;object-fit:cover}
.commentlist .comment-text .star-rating{margin-bottom:4px}
.commentlist .comment-text .meta{font-size:.82rem;color:var(--fs-gray-500);margin-bottom:var(--fs-s2)}
.commentlist .comment-text .description p{font-size:.92rem;color:var(--fs-gray-700);margin:0}
#review_form_wrapper{margin-top:var(--fs-s6);padding-top:var(--fs-s5);border-top:1.5px solid var(--fs-line)}
#review_form_wrapper h3{font-family:var(--fs-font-display);font-weight:700;font-size:1.05rem;color:var(--fs-ink);margin:0 0 var(--fs-s5)}
.comment-form .comment-form-rating,.comment-form .comment-form-comment,.comment-form .comment-form-author,.comment-form .comment-form-email{margin-bottom:var(--fs-s4)}
.comment-form label{font-family:var(--fs-font-display);font-weight:600;font-size:.88rem;display:block;margin-bottom:6px;color:var(--fs-ink)}
.comment-form input[type="text"],.comment-form input[type="email"]{width:100%;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-pill);padding:12px 20px;font-family:var(--fs-font-body);font-size:.95rem;background:#fff;color:var(--fs-ink);transition:border-color .2s,box-shadow .2s}
.comment-form textarea{width:100%;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:14px 18px;font-family:var(--fs-font-body);font-size:.95rem;background:#fff;color:var(--fs-ink);transition:border-color .2s,box-shadow .2s}
.comment-form input[type="text"]:focus,.comment-form input[type="email"]:focus,.comment-form textarea:focus{outline:none;border-color:var(--fs-red);box-shadow:0 0 0 3px rgba(214,0,1,.12)}
.comment-form textarea{resize:vertical;min-height:120px}
.comment-form-rating .stars{margin-top:6px;display:flex;gap:4px}
.comment-form-rating .stars a{font-size:1.5rem;color:var(--fs-line);text-decoration:none;line-height:1;transition:color .15s}
.comment-form-rating .stars .active,.comment-form-rating .stars a:hover{color:#f59e0b}
.comment-form .form-submit{margin-top:var(--fs-s5)}
.comment-form .form-submit{margin-top:var(--fs-s5)}
.comment-form .form-submit .submit,.woocommerce #review_form #respond .form-submit input{
  display:inline-block;font-family:var(--fs-font-display)!important;font-weight:800!important;
  font-size:1rem!important;background:var(--fs-red)!important;color:#fff!important;
  border:2px solid transparent!important;padding:13px 32px!important;
  border-radius:var(--fs-radius-lg)!important;cursor:pointer;transition:.18s ease;
  appearance:none;-webkit-appearance:none;line-height:1.4
}
.comment-form .form-submit .submit:hover,.woocommerce #review_form #respond .form-submit input:hover{background:var(--fs-maroon)!important}
.comment-form-cookies-consent{font-size:.82rem;color:var(--fs-gray-500);display:flex;align-items:center;gap:8px;margin-bottom:var(--fs-s4)}
.comment-form-cookies-consent input[type="checkbox"]{width:16px;height:16px;accent-color:var(--fs-red);flex-shrink:0}
.woocommerce-noreviews{background:var(--fs-cream);border:none!important;border-radius:var(--fs-radius-md);padding:var(--fs-s4)!important;color:var(--fs-gray-500);font-size:.92rem}

/* My Account (layout.css dimatikan → layout minimal rapi) */
.woocommerce-MyAccount-navigation ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 var(--fs-s6)}
.woocommerce-MyAccount-navigation a{display:inline-block;padding:9px 16px;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-md);font-family:var(--fs-font-display);font-weight:600;font-size:.9rem;color:var(--fs-ink)}
.woocommerce-MyAccount-navigation a:hover{border-color:var(--fs-red);color:var(--fs-red)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--fs-red);color:#fff;border-color:var(--fs-red)}

/* Star rating (WC general dipertahankan) selaras warna brand */
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--fs-yellow)}

/* Related heading */
.related.products>h2,.up-sells>h2{font-size:var(--fs-h3);margin:var(--fs-s8) 0 var(--fs-s5)}
@media (max-width:1024px){ .related ul.products,.up-sells ul.products{grid-template-columns:repeat(2,1fr)} }

/* PDP: tabs, related & upsells harus FULL-WIDTH (jangan ikut grid 2-kolom .product) */
.fs-pdp .product>.woocommerce-tabs,
.fs-pdp .product>.related,
.fs-pdp .product>.up-sells,
.fs-pdp .product>.woocommerce-product-gallery~.woocommerce-tabs{grid-column:1 / -1}
.fs-pdp .product>.related,.fs-pdp .product>.up-sells{margin-top:var(--fs-s8)}

/* ============================================================
   MY ACCOUNT + THANK YOU (classic)
   ============================================================ */

/* --- Login / Register (logged out) --- */
.woocommerce-account:not(.logged-in) .fs-page__content>.woocommerce{max-width:920px;margin-inline:auto}
.woocommerce-account .u-columns.col2-set,.woocommerce-account .woocommerce>.u-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--fs-s6)}
.woocommerce-account .col-1,.woocommerce-account .col-2{min-width:0}
.woocommerce form.login,.woocommerce form.register{border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:var(--fs-s6);margin:0}
.woocommerce-account h2{font-size:var(--fs-h4)}
.woocommerce form .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 var(--fs-s4)}
.woocommerce form .form-row label{font-family:var(--fs-font-display);font-weight:600;font-size:.88rem}
.woocommerce form .input-text,.woocommerce-account .input-text{width:100%;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-md);padding:11px 14px;font-family:var(--fs-font-body);font-size:.95rem;background:#fff}
.woocommerce form .input-text:focus{outline:none;border-color:var(--fs-red);box-shadow:0 0 0 3px rgba(214,0,1,.12)}
.woocommerce-form-login__rememberme,.woocommerce-form-register__submit{margin-top:var(--fs-s2)}

/* --- Dashboard (logged in): sidebar + content --- */
body.woocommerce-account.logged-in .fs-page__content>.woocommerce{display:grid;grid-template-columns:230px 1fr;gap:var(--fs-s7);align-items:start}
.woocommerce-MyAccount-navigation{margin:0}
.woocommerce-MyAccount-navigation ul{list-style:none;display:flex;flex-direction:column;gap:4px;padding:0;margin:0}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation a{display:block;padding:11px 16px;border-radius:var(--fs-radius-md);font-family:var(--fs-font-display);font-weight:600;font-size:.92rem;color:var(--fs-ink);border:1.5px solid transparent}
.woocommerce-MyAccount-navigation a:hover{background:var(--fs-cream);color:var(--fs-red)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--fs-red);color:#fff}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content p:not([class]){color:var(--fs-gray-700);line-height:1.7}
.woocommerce-MyAccount-content a:not(.button):not(.fs-btn){color:var(--fs-red)}

/* Orders / downloads table */
.woocommerce-orders-table,.woocommerce-table--order-details,.shop_table{width:100%;border-collapse:collapse;font-size:.92rem}
.woocommerce-orders-table th,.woocommerce-table--order-details th,.shop_table th{text-align:left;font-family:var(--fs-font-display);padding:12px;border-bottom:2px solid var(--fs-line)}
.woocommerce-orders-table td,.woocommerce-table--order-details td,.shop_table td{padding:12px;border-bottom:1px solid var(--fs-line);vertical-align:middle}

/* Addresses */
.woocommerce-Addresses.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:var(--fs-s5)}
.woocommerce-Address{border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:var(--fs-s5)}
.woocommerce-Address .title{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--fs-s3)}
.woocommerce-Address .title h2,.woocommerce-Address .title h3{font-size:1.05rem;margin:0}
.woocommerce-Address address{font-style:normal;color:var(--fs-gray-700);line-height:1.7}

/* --- Thank you / order received --- */
.woocommerce-order{max-width:760px;margin-inline:auto}
.woocommerce-thankyou-order-received{font-family:var(--fs-font-display);font-weight:800;font-size:var(--fs-h3);color:var(--fs-ink);text-align:center;background:#E6F6E9;border:1.5px solid #BBE9C4;border-radius:var(--fs-radius-lg);padding:var(--fs-s6)}
.woocommerce-order-overview{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--fs-s4);padding:0;margin:var(--fs-s6) 0;border:1.5px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:var(--fs-s5)}
.woocommerce-order-overview li{font-size:.82rem;color:var(--fs-gray-500);text-transform:uppercase;letter-spacing:.03em;font-family:var(--fs-font-display);font-weight:600;border:none}
.woocommerce-order-overview li strong{display:block;margin-top:4px;font-size:1.05rem;color:var(--fs-ink);text-transform:none;letter-spacing:0}

@media (max-width:860px){
  body.woocommerce-account.logged-in .fs-page__content>.woocommerce{grid-template-columns:1fr}
  .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap}
  .woocommerce-account .u-columns.col2-set,.woocommerce-account .woocommerce>.u-columns,.woocommerce-Addresses.col2-set{grid-template-columns:1fr}
}

/* ============================================================
   MOBILE RESPONSIVE — fills gaps across all pages
   ============================================================ */

/* ---- 640px: PLP + PDP + Cart + Checkout ---- */
@media (max-width:640px){
  /* PLP toolbar: hide per-page selector (not essential on mobile) */
  .fs-perpage{display:none}
  .fs-plp__toolbar{padding:8px 10px;gap:6px}
  .fs-plp__head{padding-block:var(--fs-s4) var(--fs-s3)}

  /* PDP: shrink page padding */
  .fs-pdp{padding-block:var(--fs-s4) var(--fs-s7)}

  /* PDP gallery: just trim padding on mobile — width/overflow now handled by the base
     min-width:0 fix, so the image sizes naturally to the column (no clipping band-aid). */
  .fs-pdp .woocommerce-product-gallery{padding:var(--fs-s3)}

  /* PDP title: scale down for narrow viewport */
  .fs-pdp .product_title{font-size:1.15rem;line-height:1.25}

  /* PDP: product_meta 2-col → 1-col */
  .fs-pdp .product_meta{grid-template-columns:1fr;gap:6px var(--fs-s4)}

  /* PDP: related/upsell headings — less top margin */
  .related.products>h2,.up-sells>h2{margin-top:var(--fs-s6)}

  /* PDP tabs: scrollable row so all tabs are reachable */
  .woocommerce .woocommerce-tabs ul.tabs,
  .woocommerce div.product .woocommerce-tabs ul.tabs{
    justify-content:flex-start!important;
    overflow-x:auto;overflow-y:visible;
    scrollbar-width:none;-ms-overflow-style:none
  }
  .woocommerce .woocommerce-tabs ul.tabs::-webkit-scrollbar,
  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none}

  /* Cart page: shrink page padding */
  .fs-cart-page{padding-block:var(--fs-s4) var(--fs-s7)}

  /* Cart actions row: coupon + update stack vertically */
  .woocommerce-cart-form table.cart tr.fs-cart-actions-row td.actions{
    flex-direction:column;align-items:stretch;gap:var(--fs-s2)
  }
  .woocommerce-cart-form .coupon{flex:none;width:100%;max-width:none}
  .woocommerce-cart-form .coupon input[name=coupon_code]{flex:1}
  .woocommerce-cart-form .button[name=update_cart]{align-self:flex-start}

  /* Checkout: shrink page padding */
  .fs-checkout-page{padding-block:var(--fs-s4) var(--fs-s7)}
  .woocommerce-checkout .col2-set,.woocommerce-checkout #customer_details{gap:var(--fs-s4)}

  /* Pagination: compact — hanya prev / current / next */
  .woocommerce-pagination ul.page-numbers,
  .woocommerce nav.woocommerce-pagination ul{
    display:flex!important;justify-content:center!important;
    align-items:center;gap:6px;flex-wrap:nowrap
  }
  .woocommerce-pagination ul.page-numbers li,
  .woocommerce nav.woocommerce-pagination ul li{float:none!important;margin:0!important}
  .woocommerce-pagination ul.page-numbers li:has(a.page-numbers:not(.prev):not(.next)),
  .woocommerce-pagination ul.page-numbers li:has(span.page-numbers.dots){
    display:none!important
  }
}

/* ---- 480px: Cart item 2-row grid layout ---- */
@media (max-width:480px){
  /* Layout:
     Row 1: [thumb] [name — 1 line…] [   ×   ]
     Row 2: [thumb] [Rp subtotal   ] [− 1 +  ] */
  .woocommerce-cart-form table.cart tr.woocommerce-cart-form__cart-item{
    display:grid;
    grid-template-columns:72px 1fr auto;
    grid-template-rows:auto auto;
    grid-template-areas:"thumb name remove" "thumb price qty";
    gap:6px 12px;
    padding-block:var(--fs-s3);
    padding-right:0;
    align-items:start
  }
  .woocommerce-cart-form td.product-thumbnail{
    grid-area:thumb;flex:none;width:auto
  }
  .woocommerce-cart-form td.product-thumbnail img{width:72px!important;height:72px!important}
  .woocommerce-cart-form td.product-name{
    grid-area:name;flex:none;padding-top:2px;min-width:0;overflow:hidden
  }
  .woocommerce-cart-form td.product-name a{
    display:block!important;white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis
  }
  .woocommerce-cart-form td.product-name .fs-cart-item__unit{display:none}
  /* × in its own column, aligned top-right */
  .woocommerce-cart-form td.product-remove{
    grid-area:remove;
    position:static;transform:none;
    display:flex;align-items:flex-start;justify-content:flex-end;
    padding-top:2px
  }
  .woocommerce-cart-form td.product-subtotal{
    grid-area:price;
    flex:none;align-self:center;min-width:0;text-align:left
  }
  .woocommerce-cart-form td.product-subtotal .amount,
  .woocommerce-cart-form td.product-subtotal bdi{font-size:.95rem}
  .woocommerce-cart-form td.product-quantity{
    grid-area:qty;
    flex:none;align-self:center;
    display:flex;align-items:center;justify-content:flex-end
  }
  /* stepper: inline-flex so pill shrinks to content width */
  .woocommerce-cart-form td.product-quantity .quantity,
  .woocommerce-cart-form td.product-quantity .quantity.fs-qty-done{
    display:inline-flex!important;width:auto!important
  }

  /* PDP ATC: ensure qty + button always fit */
  .fs-pdp .single_add_to_cart_button{min-width:0}

  /* PLP: pagination tighter */
  .woocommerce-pagination a.page-numbers,
  .woocommerce-pagination span.page-numbers{
    width:34px!important;height:34px!important;font-size:.8rem!important
  }
  .woocommerce-pagination .page-numbers.prev,
  .woocommerce-pagination .page-numbers.next{padding:0 10px!important}
}

/* ============================================================
   MY ACCOUNT — Login page (split-panel) + logged-in dashboard
   ============================================================ */

/* Page-level resets for account pages */
.fs-page--account{padding-bottom:0}
.fs-page--account .fs-page__head{padding-bottom:var(--fs-s5)}
.fs-page__content--fullbleed{padding:0!important;margin:0}

/* ── Split-panel shell ─────────────────────────────────────── */
.fs-acct-login{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:calc(100vh - 180px)
}

/* ── Brand panel (left, red) ───────────────────────────────── */
.fs-acct-login__brand{
  position:relative;
  background:var(--fs-red);
  color:#fff;
  display:flex;
  flex-direction:column;
  padding:clamp(40px,5vw,64px) clamp(32px,4vw,56px);
  overflow:hidden
}
.fs-acct-login__logo{display:inline-flex;margin-bottom:var(--fs-s8)}
.fs-acct-login__logo img{filter:brightness(0) invert(1);height:36px;width:auto}
.fs-acct-login__logo-text{
  font-family:var(--fs-font-display);font-weight:800;font-size:1.5rem;
  color:#fff;letter-spacing:-.02em
}
.fs-acct-login__brand-body{flex:1;display:flex;flex-direction:column;gap:var(--fs-s4)}
.fs-acct-login__brand-headline{
  font-family:var(--fs-font-display);font-weight:800;
  font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2;
  letter-spacing:-.03em;color:#fff;margin:0;text-wrap:balance
}
.fs-acct-login__brand-sub{
  font-size:.95rem;line-height:1.6;color:rgba(255,255,255,.85);
  margin:0;max-width:36ch
}
.fs-acct-login__trust{
  list-style:none;margin:var(--fs-s4) 0 0;padding:0;
  display:flex;flex-direction:column;gap:var(--fs-s3)
}
.fs-acct-login__trust li{
  display:flex;align-items:center;gap:var(--fs-s2);
  font-size:.82rem;font-weight:500;color:rgba(255,255,255,.9)
}
.fs-acct-login__trust svg{flex-shrink:0;opacity:.9}
.fs-acct-login__shop-link{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:auto;padding-top:var(--fs-s6);
  font-family:var(--fs-font-display);font-size:.82rem;font-weight:600;
  color:rgba(255,255,255,.75);text-decoration:none;
  transition:color .15s ease
}
.fs-acct-login__shop-link:hover{color:#fff}

/* Decorative dot grid */
.fs-acct-login__dots{
  position:absolute;bottom:-40px;right:-40px;
  width:260px;height:260px;pointer-events:none;
  background-image:radial-gradient(circle,rgba(255,255,255,.18) 1.5px,transparent 1.5px);
  background-size:20px 20px;border-radius:50%;
  opacity:.6
}

/* ── Form panel (right, white) ─────────────────────────────── */
.fs-acct-login__panel{
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(40px,5vw,64px) clamp(32px,5vw,72px);
  overflow-y:auto
}

/* ── Section headings ──────────────────────────────────────── */
.fs-acct-login__heading{
  font-family:var(--fs-font-display);font-weight:800;
  font-size:clamp(1.35rem,2.5vw,1.75rem);
  letter-spacing:-.025em;color:var(--fs-ink);
  margin:0 0 var(--fs-s2);text-wrap:balance
}
.fs-acct-login__sub{
  font-size:.9rem;color:var(--fs-gray-500);
  margin:0 0 var(--fs-s6)
}
.fs-acct-login__section{max-width:400px;width:100%}
.fs-acct-login__panel > .fs-acct-login__section{margin:0 auto}

/* ── WooCommerce default reset — strip before our styles kick in */
.fs-acct-login__panel .input-text,
.fs-acct-login__panel .woocommerce-Input,
.fs-acct-login__panel .woocommerce-form-login__submit,
.fs-acct-login__panel .woocommerce-form-register__submit,
.fs-acct-login__panel .woocommerce-Button{
  -webkit-appearance:none;appearance:none;
  border-radius:0!important;
  box-shadow:none!important
}

/* ── Form fields ───────────────────────────────────────────── */
.fs-acct-form{display:flex;flex-direction:column;gap:var(--fs-s4)}
.fs-acct-field{display:flex;flex-direction:column;gap:6px}

.fs-acct-label-row{display:flex;align-items:center;justify-content:space-between;gap:var(--fs-s2)}
.fs-acct-label{
  font-family:var(--fs-font-display);font-size:.82rem;font-weight:600;
  color:var(--fs-ink);line-height:1
}
.fs-acct-label .required{color:var(--fs-red);margin-left:2px}
.fs-acct-forgot{
  font-family:var(--fs-font-display);font-size:.78rem;color:var(--fs-red);
  text-decoration:none;font-weight:500;flex-shrink:0
}
.fs-acct-forgot:hover{text-decoration:underline}

.fs-acct-input{
  display:block;width:100%;
  height:52px;padding:0 22px;
  font-family:var(--fs-font-display);font-size:.92rem;color:var(--fs-ink);
  background:#fff;
  border:1.5px solid var(--fs-line);
  border-radius:var(--fs-radius-lg)!important;
  -webkit-appearance:none;appearance:none;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
  box-sizing:border-box
}
.fs-acct-input::placeholder{color:var(--fs-gray-500)}
.fs-acct-input:hover{border-color:#c4b9ab}
.fs-acct-input:focus{
  border-color:var(--fs-red);
  box-shadow:0 0 0 3px rgba(214,0,1,.12)
}

/* Password wrapper */
.fs-acct-pw-wrap{position:relative}
.fs-acct-pw-wrap .fs-acct-input{padding-right:56px}
.fs-acct-pw-toggle{
  position:absolute;right:0;top:0;bottom:0;
  width:48px;display:inline-flex;align-items:center;justify-content:center;
  background:none;border:none;cursor:pointer;
  color:var(--fs-gray-500);transition:color .15s ease
}
.fs-acct-pw-toggle:hover{color:var(--fs-ink)}

/* Remember me */
.fs-acct-remember{
  display:inline-flex;align-items:center;gap:var(--fs-s2);
  cursor:pointer;font-size:.85rem;color:var(--fs-ink);
  font-family:var(--fs-font-display);user-select:none
}
.fs-acct-remember input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}
.fs-acct-remember__mark{
  flex-shrink:0;width:18px;height:18px;
  border:1.5px solid var(--fs-line);border-radius:4px;
  background:#fff;transition:all .15s ease;
  position:relative;display:inline-block
}
.fs-acct-remember input:checked ~ .fs-acct-remember__mark{
  background:var(--fs-red);border-color:var(--fs-red)
}
.fs-acct-remember__mark::after{
  content:'';position:absolute;
  left:4px;top:1px;width:7px;height:11px;
  border:2px solid #fff;border-top:none;border-left:none;
  transform:rotate(45deg);opacity:0;transition:opacity .1s ease
}
.fs-acct-remember input:checked ~ .fs-acct-remember__mark::after{opacity:1}
.fs-acct-remember input:focus-visible ~ .fs-acct-remember__mark{
  outline:2px solid var(--fs-red);outline-offset:2px
}

/* Submit button — match fs-btn rounded-rect radius */
.fs-acct-submit.fs-btn--primary{
  width:100%!important;height:52px!important;
  border-radius:var(--fs-radius-lg)!important;
  font-size:1rem!important;font-weight:700!important;
  letter-spacing:.01em;margin-top:var(--fs-s2)!important
}

/* Register link below login */
.fs-acct-register-link{
  margin:var(--fs-s5) 0 0;text-align:center;
  font-size:.85rem;color:var(--fs-gray-500)
}
.fs-acct-register-link a{
  color:var(--fs-red);font-weight:600;text-decoration:none
}
.fs-acct-register-link a:hover{text-decoration:underline}

/* Divider between login & register */
.fs-acct-divider{
  max-width:400px;width:100%;margin:var(--fs-s7) auto;
  display:flex;align-items:center;gap:var(--fs-s4)
}
.fs-acct-divider::before,.fs-acct-divider::after{
  content:'';flex:1;height:1px;background:var(--fs-line)
}
.fs-acct-divider span{
  font-family:var(--fs-font-display);font-size:.78rem;
  color:var(--fs-gray-500);white-space:nowrap
}

/* Password auto note */
.fs-acct-pw-auto-note{
  display:flex;align-items:center;gap:6px;
  font-size:.8rem;color:var(--fs-gray-500);margin:0
}

/* ── Tabbed auth (Masuk | Daftar) ──────────────────────────── */
.fs-acct-authbox{max-width:400px;width:100%;margin:0 auto}
.fs-acct-tabs{
  display:flex;gap:4px;margin:0 0 var(--fs-s6);padding:5px;
  background:var(--fs-cream);border:1px solid var(--fs-line);
  border-radius:var(--fs-radius-lg)
}
.fs-acct-tab{
  flex:1;appearance:none;border:none;cursor:pointer;
  padding:11px 12px;border-radius:calc(var(--fs-radius-lg) - 3px);
  font-family:var(--fs-font-display);font-size:.92rem;font-weight:700;
  letter-spacing:-.01em;color:var(--fs-gray-500);background:transparent;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease
}
.fs-acct-tab:hover{color:var(--fs-ink)}
.fs-acct-tab.is-active{
  background:#fff;color:var(--fs-red);
  box-shadow:0 1px 4px rgba(15,23,42,.08)
}
.fs-acct-tab:focus-visible{outline:2px solid var(--fs-red);outline-offset:2px}

.fs-acct-pane{max-width:none;width:100%}
.fs-acct-pane[hidden]{display:none}
.fs-acct-pane.is-active{animation:fs-acct-fade .28s ease both}
@keyframes fs-acct-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Password strength meter (register) */
.fs-acct-pw-meter{margin-top:8px;display:flex;align-items:center;gap:10px}
.fs-acct-pw-meter__bar{
  flex:1;height:6px;border-radius:999px;background:var(--fs-line);overflow:hidden
}
.fs-acct-pw-meter__bar span{
  display:block;height:100%;width:0;border-radius:999px;
  background:var(--fs-gray-500);transition:width .25s ease,background .25s ease
}
.fs-acct-pw-meter__label{
  font-family:var(--fs-font-display);font-size:.72rem;font-weight:600;
  color:var(--fs-gray-500);white-space:nowrap;min-width:70px;text-align:right
}
.fs-acct-pw-meter.is-weak   .fs-acct-pw-meter__bar span{width:25%;background:#ef4444}
.fs-acct-pw-meter.is-fair   .fs-acct-pw-meter__bar span{width:50%;background:#f59e0b}
.fs-acct-pw-meter.is-good   .fs-acct-pw-meter__bar span{width:75%;background:#3b82f6}
.fs-acct-pw-meter.is-strong .fs-acct-pw-meter__bar span{width:100%;background:#16a34a}
.fs-acct-pw-meter.is-weak   .fs-acct-pw-meter__label{color:#ef4444}
.fs-acct-pw-meter.is-fair   .fs-acct-pw-meter__label{color:#f59e0b}
.fs-acct-pw-meter.is-good   .fs-acct-pw-meter__label{color:#3b82f6}
.fs-acct-pw-meter.is-strong .fs-acct-pw-meter__label{color:#16a34a}

/* Terms note under register */
.fs-acct-terms-note{
  margin:var(--fs-s3) 0 0;font-size:.76rem;line-height:1.5;
  color:var(--fs-gray-500);text-align:center
}
.fs-acct-terms-note a{color:var(--fs-red);font-weight:600;text-decoration:none}
.fs-acct-terms-note a:hover{text-decoration:underline}

/* ── Logged-in: My Account dashboard ───────────────────────── */
.fs-page--account .woocommerce-MyAccount-navigation{
  float:none;width:100%
}
.fs-page--account .woocommerce-MyAccount-navigation ul{
  display:flex;flex-wrap:wrap;gap:var(--fs-s2);
  list-style:none;margin:0 0 var(--fs-s6);padding:0
}
.fs-page--account .woocommerce-MyAccount-navigation ul a{
  display:inline-flex;align-items:center;
  padding:8px 18px;border-radius:999px;
  border:1.5px solid var(--fs-line);
  font-family:var(--fs-font-display);font-size:.82rem;font-weight:600;
  color:var(--fs-gray-700);text-decoration:none;
  transition:border-color .15s,color .15s,background .15s
}
.fs-page--account .woocommerce-MyAccount-navigation ul a:hover{
  border-color:var(--fs-red);color:var(--fs-red)
}
.fs-page--account .woocommerce-MyAccount-navigation li.is-active a,
.fs-page--account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--active a{
  background:var(--fs-red);border-color:var(--fs-red);color:#fff
}
.fs-page--account .woocommerce-MyAccount-content{
  float:none;width:100%
}

/* ── Mobile ────────────────────────────────────────────────── */
@media(max-width:767px){
  .fs-acct-login{grid-template-columns:1fr}
  .fs-acct-login__brand{
    padding:var(--fs-s6) var(--fs-s5) var(--fs-s5);
    min-height:auto
  }
  .fs-acct-login__logo{margin-bottom:var(--fs-s5)}
  .fs-acct-login__brand-headline{font-size:1.6rem}
  .fs-acct-login__dots{display:none}
  .fs-acct-login__shop-link{padding-top:var(--fs-s5)}
  .fs-acct-login__panel{padding:var(--fs-s6) var(--fs-s5)}
}

@media(prefers-reduced-motion:reduce){
  .fs-acct-input,.fs-acct-pw-toggle,.fs-acct-remember__mark,
  .fs-acct-remember__mark::after,.fs-acct-submit{transition:none}
}

/* ============================================================
   CART — progress grosir + rekomendasi/cross-sell + empty polish
   ============================================================ */
.fs-cart-progress{background:var(--fs-cream);border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);padding:14px 18px;margin-bottom:22px;display:flex;flex-direction:column;gap:10px}
.fs-cart-progress.is-done{background:#EAF7EE;border-color:#BCE3C7}
.fs-cart-progress__text{display:flex;align-items:center;gap:9px;font-size:.92rem;color:var(--fs-ink);line-height:1.4}
.fs-cart-progress__text svg{flex:0 0 auto;color:var(--fs-red)}
.fs-cart-progress.is-done .fs-cart-progress__text svg{color:#16a34a}
.fs-cart-progress__text b{color:var(--fs-red);font-weight:800}
.fs-cart-progress__bar{height:8px;border-radius:999px;background:#fff;border:1px solid var(--fs-line);overflow:hidden}
.fs-cart-progress__bar span{display:block;height:100%;background:var(--fs-grad-hero);border-radius:999px;transition:width .5s cubic-bezier(.25,0,.1,1)}
.fs-cart-progress.is-done .fs-cart-progress__bar span{background:#22c55e}

/* Rekomendasi (empty state) + cross-sell (lengkapi pesanan) */
.fs-cart-reco{margin-top:40px;text-align:left}
.fs-cart-cross{margin-top:48px}
.fs-cart-reco__title,.fs-cart-cross__title{font-family:var(--fs-font-display);font-weight:800;font-size:clamp(1.15rem,2vw,1.4rem);letter-spacing:-.01em;margin:0 0 18px;color:var(--fs-ink)}
.fs-cart-reco__grid.products,.fs-cart-cross__grid.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(150px,185px))!important;justify-content:center!important;gap:14px!important;list-style:none!important;margin:0!important;padding:0!important;grid-auto-rows:1fr!important;float:none!important}
.fs-cart-reco__grid.products>li.product,.fs-cart-cross__grid.products>li.product{width:auto!important;max-width:none!important;float:none!important;margin:0!important;height:100%!important}
.fs-cart-reco__grid .fs-card .fs-btn,.fs-cart-cross__grid .fs-card .fs-btn{white-space:normal!important;font-size:.8rem!important;line-height:1.25!important;padding:8px 10px!important}
@media(max-width:600px){
  .fs-cart-reco__grid.products,.fs-cart-cross__grid.products{grid-template-columns:repeat(2,1fr)!important;gap:10px!important;justify-content:stretch!important}
}

/* ============================================================
   CHECKOUT — CRO enhancements (trust / reseller / secure / layout)
   ============================================================ */

/* Trust reassurance strip */
.fs-co-trust{
  display:grid;grid-template-columns:repeat(4,1fr);gap:var(--fs-s3);
  margin:0 0 var(--fs-s6);padding:var(--fs-s4);
  background:var(--fs-cream);border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg)
}
.fs-co-trust__item{display:flex;align-items:center;gap:10px;min-width:0}
.fs-co-trust__ic{flex-shrink:0;width:38px;height:38px;border-radius:var(--fs-radius-md);
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;color:var(--fs-red);border:1px solid var(--fs-line)}
.fs-co-trust__txt{display:flex;flex-direction:column;min-width:0}
.fs-co-trust__txt strong{font-family:var(--fs-font-display);font-weight:700;font-size:.86rem;color:var(--fs-ink);line-height:1.2}
.fs-co-trust__txt small{font-size:.74rem;color:var(--fs-gray-500);line-height:1.3;margin-top:2px}

/* Reseller savings / nudge box (inside order review) */
.fs-co-reseller{
  display:flex;align-items:flex-start;gap:10px;
  margin:0 0 var(--fs-s4);padding:12px 14px;
  background:#fff5f5;border:1.5px solid #ffd8d8;border-radius:var(--fs-radius-lg)
}
.fs-co-reseller.is-active{background:#effaf1;border-color:#bfe6c9}
.fs-co-reseller__ic{font-size:1.15rem;line-height:1.4;flex-shrink:0}
.fs-co-reseller__txt{display:flex;flex-direction:column;min-width:0}
.fs-co-reseller__txt strong{font-family:var(--fs-font-display);font-weight:700;font-size:.88rem;color:var(--fs-ink);line-height:1.25}
.fs-co-reseller.is-active .fs-co-reseller__txt strong{color:#1f7a3d}
.fs-co-reseller__txt small{font-size:.78rem;color:var(--fs-gray-700);line-height:1.4;margin-top:2px}
.fs-co-reseller__txt small .amount,.fs-co-reseller__txt small bdi{font-weight:700;color:inherit}

/* Security reassurance under place-order button */
.fs-co-secure{
  display:flex;align-items:flex-start;gap:8px;
  margin-top:var(--fs-s3);padding-top:var(--fs-s3);
  font-size:.78rem;color:var(--fs-gray-500);line-height:1.5
}
.fs-co-secure__ic{flex-shrink:0;color:var(--fs-red);margin-top:1px}
.fs-co-secure__ic svg{width:16px;height:16px}
.fs-co-secure a{color:var(--fs-red);font-weight:600;text-decoration:none}
.fs-co-secure a:hover{text-decoration:underline}

/* Payment box polish (styled ahead of gateway activation) */
.woocommerce-checkout #payment{background:transparent;border-radius:var(--fs-radius-lg)}
.woocommerce-checkout #payment ul.wc_payment_methods{
  margin:0 0 var(--fs-s4);padding:0;list-style:none;
  border:1px solid var(--fs-line);border-radius:var(--fs-radius-lg);overflow:hidden;background:#fff
}
.woocommerce-checkout #payment ul.wc_payment_methods li{
  padding:14px 16px;border-bottom:1px solid var(--fs-line);list-style:none
}
.woocommerce-checkout #payment ul.wc_payment_methods li:last-child{border-bottom:none}
.woocommerce-checkout #payment ul.wc_payment_methods li label{font-family:var(--fs-font-display);font-weight:600;color:var(--fs-ink);display:inline}
.woocommerce-checkout #payment .payment_box{
  background:var(--fs-cream)!important;border-radius:var(--fs-radius-md);
  font-size:.84rem;color:var(--fs-gray-700);margin-top:10px;padding:12px 14px
}
.woocommerce-checkout #payment .payment_box::before{display:none}
.woocommerce-checkout #payment ul.wc_payment_methods+.woocommerce-info,
.woocommerce-checkout #payment>.woocommerce-info{
  background:#fff8f0;border:1.5px solid #ffd8a8;border-radius:var(--fs-radius-lg);
  color:var(--fs-ink);font-size:.86rem;padding:14px 16px;box-shadow:none
}

/* Two-column checkout with sticky order summary (desktop) */
@media(min-width:981px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);
    grid-template-rows:auto 1fr;
    column-gap:var(--fs-s7)
  }
  .woocommerce-checkout form.checkout #customer_details{
    grid-column:1;grid-row:1 / 3;grid-template-columns:1fr
  }
  .woocommerce-checkout form.checkout #order_review_heading{
    grid-column:2;grid-row:1;margin-top:0
  }
  .woocommerce-checkout form.checkout #order_review{
    grid-column:2;grid-row:2;position:sticky;top:96px;align-self:start
  }
}

@media(max-width:680px){
  .fs-co-trust{grid-template-columns:1fr 1fr;gap:var(--fs-s3) var(--fs-s4)}
}
@media(max-width:420px){
  .fs-co-trust{grid-template-columns:1fr}
}

/* ===== FS-CHECKOUT-PREMIUM v1 ===== */
body.woocommerce-checkout .entry-title{font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.02em;margin-bottom:18px}
body.woocommerce-checkout h3,body.woocommerce-checkout #order_review_heading{font-size:1.15rem!important;font-weight:700;letter-spacing:-.01em;margin:0 0 14px}
body.woocommerce-checkout .form-row{margin:0 0 12px;padding:0}
body.woocommerce-checkout .form-row label{font-size:.82rem;font-weight:600;color:#475569;margin-bottom:5px;text-transform:none;letter-spacing:0}
body.woocommerce-checkout .input-text,body.woocommerce-checkout form.checkout select,body.woocommerce-checkout textarea,body.woocommerce-checkout .select2-selection{font-size:.9rem!important;padding:9px 12px!important;min-height:42px;border-radius:10px!important;border:1px solid #e3e6eb!important;background:#fff;box-shadow:none;color:#0f172a}
body.woocommerce-checkout .select2-container .select2-selection--single{height:42px!important;display:flex;align-items:center}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:24px!important;padding-left:0!important}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:40px!important}
body.woocommerce-checkout .input-text:focus,body.woocommerce-checkout form.checkout select:focus,body.woocommerce-checkout textarea:focus{border-color:var(--fs-red)!important;box-shadow:0 0 0 3px rgba(214,0,1,.12)!important;outline:none}
body.woocommerce-checkout textarea{min-height:84px}
body.woocommerce-checkout form.checkout{gap:34px}
body.woocommerce-checkout #order_review{background:#fff;border:1px solid #eef0f3;border-radius:16px;padding:22px;box-shadow:0 8px 30px rgba(15,23,42,.06)}
body.woocommerce-checkout .woocommerce-checkout-review-order-table,body.woocommerce-checkout .woocommerce-checkout-review-order-table th,body.woocommerce-checkout .woocommerce-checkout-review-order-table td{border:0!important;font-size:.9rem}
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th{text-transform:uppercase;font-size:.7rem;letter-spacing:.04em;color:#94a3b8;padding:0 0 10px;border-bottom:1px solid #eef0f3!important}
body.woocommerce-checkout .woocommerce-checkout-review-order-table td,body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody th{padding:10px 0}
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr:not(:last-child) td{border-bottom:1px dashed #eef0f3!important}
body.woocommerce-checkout .cart_item .product-name{color:#0f172a;font-weight:500}
body.woocommerce-checkout .cart-subtotal th,body.woocommerce-checkout .cart-subtotal td{color:#475569;font-weight:500}
body.woocommerce-checkout tr.order-total th{font-size:.95rem}
body.woocommerce-checkout tr.order-total td,body.woocommerce-checkout tr.order-total .woocommerce-Price-amount{font-size:1.2rem;font-weight:800;color:var(--fs-red)}
body.woocommerce-checkout tr.order-total th,body.woocommerce-checkout tr.order-total td{border-top:1px solid #eef0f3!important;padding-top:14px}
body.woocommerce-checkout #payment{background:transparent!important;border:0!important;border-radius:0;padding:0;margin-top:8px}
body.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:0!important;margin:0!important}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{border:1px solid #eef0f3;border-radius:12px;margin:0 0 10px;padding:12px 14px;transition:border-color .15s,background .15s;list-style:none}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:hover{border-color:#f3b4b4}
body.woocommerce-checkout #payment li.wc_payment_method>label{font-weight:600;font-size:.9rem;color:#0f172a;display:inline-flex;align-items:center;gap:6px}
body.woocommerce-checkout #payment li.wc_payment_method input[type=radio]{accent-color:var(--fs-red);width:16px;height:16px;margin-right:6px}
body.woocommerce-checkout #payment li.wc_payment_method input[type=radio]:checked ~ label{color:var(--fs-red)}
body.woocommerce-checkout #payment li.wc_payment_method img{max-height:22px;width:auto;margin:2px 4px 0 0!important}
body.woocommerce-checkout #payment .payment_box{background:#f8fafc!important;border-radius:10px;font-size:.82rem;color:#475569;line-height:1.5;padding:12px 14px;margin:10px 0 0}
body.woocommerce-checkout #payment .payment_box:before{display:none!important}
body.woocommerce-checkout #place_order,body.woocommerce-checkout .fs-checkout-btn{font-size:1rem;font-weight:700;padding:14px 20px;border-radius:12px;width:100%;letter-spacing:.01em}
body.woocommerce-checkout .woocommerce-privacy-policy-text p{font-size:.8rem;color:#64748b;line-height:1.5}
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{font-size:.85rem;padding:12px 14px}


/* ===== FS-CART-PREMIUM v1 ===== */
body.woocommerce-cart .entry-title{font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.02em;margin-bottom:18px}
body.woocommerce-cart .fs-cart-summary .input-text,body.woocommerce-cart .fs-cart-summary select,body.woocommerce-cart .fs-cart-summary .select2-selection{font-size:.9rem!important;padding:9px 12px!important;min-height:42px;border-radius:10px!important;border:1px solid #e3e6eb!important;background:#fff;box-shadow:none;width:100%!important;box-sizing:border-box;color:#0f172a}
body.woocommerce-cart .fs-cart-summary .select2-container{width:100%!important}
body.woocommerce-cart .fs-cart-summary .select2-container--default .select2-selection--single{height:42px!important;display:flex;align-items:center}
body.woocommerce-cart .fs-cart-summary .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:24px!important;padding-left:0!important}
body.woocommerce-cart .fs-cart-summary .select2-container--default .select2-selection--single .select2-selection__arrow{height:40px!important}
body.woocommerce-cart .fs-cart-summary .input-text:focus,body.woocommerce-cart .fs-cart-summary select:focus{border-color:var(--fs-red)!important;box-shadow:0 0 0 3px rgba(214,0,1,.12)!important;outline:none}
body.woocommerce-cart .fs-cart-summary .woocommerce-shipping-totals{flex-wrap:wrap}
body.woocommerce-cart .fs-cart-summary .woocommerce-shipping-totals>th{flex:0 0 100%;max-width:100%;margin:0 0 6px;text-align:left}
body.woocommerce-cart .fs-cart-summary .woocommerce-shipping-totals>td{flex:0 0 100%;max-width:100%;width:100%;text-align:left}
body.woocommerce-cart .fs-cart-summary .woocommerce-shipping-calculator{width:100%;margin-top:10px}
body.woocommerce-cart .fs-cart-summary .shipping-calculator-form{display:block;width:100%}
body.woocommerce-cart .fs-cart-summary .shipping-calculator-form .form-row{display:block;width:100%;margin:0 0 10px;padding:0}
body.woocommerce-cart .fs-cart-summary .shipping-calculator-form label{display:block;font-size:.8rem;font-weight:600;color:#475569;margin:0 0 5px;text-align:left}
body.woocommerce-cart .fs-cart-summary .shipping-calculator-form button,body.woocommerce-cart .fs-cart-summary .shipping-calculator-form [name="calc_shipping"]{width:100%;font-size:.9rem;font-weight:700;padding:11px 16px;border-radius:10px;margin-top:2px}
body.woocommerce-cart .fs-cart-summary .shipping-calculator-button{font-size:.85rem;font-weight:600;color:var(--fs-red)}
