/* ================================================================
   PrintLume WooCommerce v2.0 – Premium Dark Webshop
   ================================================================ */

/* ============================
   0. SHOP TOOLBAR
   ============================ */
.woocommerce .pl-shop-toolbar {
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px;
  padding:16px 20px;border-radius:22px;background:var(--surface);border:1px solid var(--line);flex-wrap:wrap;
}
.woocommerce .woocommerce-result-count { color:var(--muted);margin:0;font-size:14px; }
.woocommerce .woocommerce-ordering { margin:0; }
.woocommerce .woocommerce-ordering select {
  background:var(--bg-2);border:1px solid var(--line);color:var(--text);padding:10px 36px 10px 16px;
  border-radius:14px;font-family:inherit;font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none;
  background-image: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='%23a9b2c5' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;transition:border-color .25s ease;
}
.woocommerce .woocommerce-ordering select:focus { border-color:var(--primary);outline:none; }

/* Category Filter Bar */
.pl-cat-filter {
  display:flex;gap:8px;margin-bottom:28px;padding:8px;
  overflow-x:auto;scrollbar-width:none;
  background:var(--surface);border:1px solid var(--line);border-radius:20px;
}
.pl-cat-filter::-webkit-scrollbar { display:none; }
.pl-cat-filter__item {
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 18px;border-radius:14px;
  white-space:nowrap;font-size:13px;font-weight:700;
  color:var(--muted);background:transparent;
  border:1px solid transparent;
  transition:all .25s ease;text-decoration:none;
  flex-shrink:0;
}
.pl-cat-filter__item:hover {
  color:var(--text-secondary);background:rgba(255,255,255,.04);
  border-color:var(--line);
}
.pl-cat-filter__item.is-active {
  color:var(--primary-text);background:var(--primary-faint);
  border-color:rgba(0,212,170,.18);
}
.pl-cat-filter__item i {
  font-size:14px;width:18px;text-align:center;
}
.pl-cat-filter__item.is-active i { color:var(--primary); }

/* ============================
   1. PRODUCT GRID
   ============================ */
.woocommerce ul.products {
  display:grid !important;grid-template-columns:repeat(3,1fr);gap:24px;padding:0;margin:0;list-style:none;
}
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }

.woocommerce ul.products li.product {
  width:100% !important;margin:0 !important;padding:0 !important;float:none !important;
  border-radius:24px;border:1px solid var(--line);background:var(--bg-2);overflow:hidden;
  position:relative;isolation:isolate;transition:transform .4s var(--ease),border-color .4s ease,box-shadow .4s ease;
  display:flex !important;flex-direction:column;
}
.woocommerce ul.products li.product:hover {
  transform:translateY(-8px);border-color:rgba(0,212,170,0.28);
  box-shadow:0 28px 60px rgba(0,0,0,0.30),0 0 0 1px rgba(0,212,170,0.10);
}

/* Card glow */
.woocommerce ul.products li.product::before {
  content:"";position:absolute;inset:0;
  background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(0,212,170,0.08),transparent 50%);
  opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1;
}
.woocommerce ul.products li.product:hover::before { opacity:1; }

/* Product Image */
.printlume-product-thumb {
  position:relative;overflow:hidden;
}
.printlume-product-thumb::after {
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg, transparent 40%, rgba(9,10,13,0.70) 100%);
  opacity:0;transition:opacity .4s ease;pointer-events:none;
}
.woocommerce ul.products li.product:hover .printlume-product-thumb::after { opacity:1; }

.woocommerce ul.products li.product a img {
  margin:0 !important;border-radius:0;aspect-ratio:1/1;object-fit:cover;width:100%;
  transition:transform .6s var(--ease);
}
.woocommerce ul.products li.product:hover a img { transform:scale(1.08); }

/* Sale Badge */
.woocommerce span.onsale {
  position:absolute !important;top:16px !important;left:16px !important;right:auto !important;z-index:5;
  background:linear-gradient(135deg,#ff4757,#ff6b81) !important;color:#fff !important;
  border-radius:12px !important;padding:6px 14px !important;min-width:auto !important;min-height:auto !important;
  line-height:1.4 !important;font-weight:800 !important;font-size:11px !important;
  text-transform:uppercase;letter-spacing:0.06em;box-shadow:0 6px 20px rgba(255,71,87,0.30);
}

/* Product Info */
.woocommerce ul.products li.product .printlume-product-info { padding:20px 22px 8px;position:relative;z-index:2;flex:1;display:flex;flex-direction:column; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  padding:0 !important;margin:0 0 6px !important;font-family:"Outfit",sans-serif;font-size:17px !important;
  font-weight:700;color:var(--text);letter-spacing:-0.02em;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* Price */
.woocommerce ul.products li.product .price {
  padding:0;margin:0;display:flex;align-items:baseline;gap:8px;font-family:"Outfit",sans-serif;
}
.woocommerce ul.products li.product .price > .woocommerce-Price-amount,
.woocommerce ul.products li.product .price ins .woocommerce-Price-amount {
  color:var(--primary) !important;font-size:22px !important;font-weight:800;
}
.woocommerce ul.products li.product .price del { color:var(--muted) !important;font-size:15px !important;opacity:.5; }
.woocommerce ul.products li.product .price del .woocommerce-Price-amount { color:var(--muted) !important;font-size:15px !important; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }

/* Star rating */
.woocommerce ul.products li.product .star-rating { margin:6px 0 0;font-size:13px;color:#fbbf24; }

/* Excerpt */
.woocommerce ul.products li.product .printlume-product-excerpt {
  color:var(--muted) !important;font-size:13px !important;line-height:1.55 !important;margin:8px 0 0 !important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* Add to cart */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable,
.woocommerce ul.products li.product .product_type_grouped {
  margin:auto 22px 22px !important;padding:12px 22px !important;border-radius:14px !important;
  background:var(--primary) !important;color:#060d0a !important;font-weight:700 !important;
  font-size:13px !important;font-family:"Outfit",sans-serif !important;border:none !important;
  text-transform:none !important;transition:all .3s var(--ease) !important;display:inline-flex !important;
  align-items:center;gap:6px;position:relative;z-index:2;width:calc(100% - 44px);justify-content:center;
}
.woocommerce ul.products li.product .button:hover {
  background:var(--primary-2) !important;transform:translateY(-2px) !important;
  box-shadow:0 10px 30px rgba(0,212,170,0.25) !important;
}
.woocommerce ul.products li.product .added_to_cart { display:none !important; }

/* ============================
   2. SINGLE PRODUCT – v2.0
   ============================ */

/* --- 2a. Page wrapper --- */
.pl-sp {
  display:grid;gap:clamp(40px,6vw,72px);
  animation:plSpFadeIn .5s var(--ease);
}
@keyframes plSpFadeIn {
  from { opacity:0;transform:translateY(16px); }
  to   { opacity:1;transform:translateY(0); }
}

/* --- 2b. Hero: Gallery + Info --- */
.pl-sp__hero {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:clamp(28px,4vw,56px);
  align-items:start;
}
.pl-sp__gallery-col {
  position:relative;
  min-width:0;
}
.pl-sp__info-col {
  min-width:0;
  padding:8px 0 0;
}

/* Sale badge overlaid on gallery */
.pl-sp__sale-badge {
  position:absolute;top:16px;left:16px;z-index:8;
  padding:8px 16px;border-radius:12px;
  background:linear-gradient(135deg,#ff4757,#ff6b81);color:#fff;
  font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em;
  box-shadow:0 8px 24px rgba(255,71,87,.30);
}

/* Category tag */
.pl-sp__category {
  font-size:13px;color:var(--primary);font-weight:700;margin-bottom:10px;
  letter-spacing:.02em;
}
.pl-sp__category a { color:var(--primary);text-decoration:none; }
.pl-sp__category a:hover { text-decoration:underline; }

/* Title */
.pl-sp__title {
  font-family:"Outfit",sans-serif;
  font-size:clamp(26px,3vw,42px);
  font-weight:800;color:var(--text);
  letter-spacing:-0.04em;line-height:1.12;
  margin:0 0 14px;
}

/* Rating */
.pl-sp__rating {
  display:flex;align-items:center;gap:10px;margin-bottom:16px;
}
.pl-sp__rating .star-rating { font-size:14px;color:#fbbf24; }
.pl-sp__review-count {
  font-size:13px;color:var(--muted);font-weight:600;
}

/* Price block */
.pl-sp__price {
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:20px;
}
.pl-sp__price .price,
.pl-sp__price > .woocommerce-Price-amount {
  font-family:"Outfit",sans-serif;font-size:34px !important;font-weight:800;
  letter-spacing:-0.03em;
}
.pl-sp__price .price > .woocommerce-Price-amount,
.pl-sp__price .price ins,
.pl-sp__price .price ins .woocommerce-Price-amount { color:var(--primary) !important;text-decoration:none; }
.pl-sp__price .price del,
.pl-sp__price .price del .woocommerce-Price-amount { color:var(--muted) !important;font-size:20px !important;font-weight:500; }
.pl-sp__discount-pct {
  display:inline-flex;align-items:center;padding:4px 10px;border-radius:8px;
  background:rgba(255,71,87,.10);color:#ff6b81;font-size:13px;font-weight:800;
}

/* Excerpt */
.pl-sp__excerpt {
  color:var(--text-secondary);font-size:15px;line-height:1.8;margin-bottom:20px;
}
.pl-sp__excerpt p:last-child { margin-bottom:0; }

/* Quick-info pills */
.pl-sp__pills {
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;
}
.pl-sp__pill {
  display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;
  font-size:12px;font-weight:700;border:1px solid var(--line);
  background:var(--surface);color:var(--text-secondary);
  transition:border-color .25s ease,transform .25s ease;
}
.pl-sp__pill:hover { border-color:rgba(0,212,170,.20);transform:translateY(-1px); }
.pl-sp__pill svg { flex-shrink:0; }
.pl-sp__pill--material svg { color:var(--primary); }
.pl-sp__pill--time svg { color:#fbbf24; }
.pl-sp__pill--custom svg { color:#a78bfa; }
.pl-sp__pill--stock svg { color:#34d399; }

/* Divider */
.pl-sp__divider {
  border:none;border-top:1px solid var(--line);margin:4px 0 20px;
}

/* --- 2c. Summary content (hooks output) --- */
.woocommerce div.product .product_title { display:none; } /* hidden, we render it in template */

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family:"Outfit",sans-serif;font-size:34px !important;font-weight:800;letter-spacing:-0.03em;margin-bottom:4px;
}
.woocommerce div.product p.price > .woocommerce-Price-amount,
.woocommerce div.product span.price > .woocommerce-Price-amount,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { color:var(--primary) !important;text-decoration:none; }
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color:var(--muted) !important;font-size:20px !important;font-weight:500;margin-right:8px; }

.woocommerce div.product .woocommerce-product-details__short-description {
  color:var(--text-secondary);font-size:15px;line-height:1.8;margin:16px 0 20px;
  padding-bottom:20px;border-bottom:1px solid var(--line);
}

/* Trust badges */
.pl-trust-badges { display:flex;gap:10px;margin:0 0 20px;flex-wrap:wrap; }
.pl-trust-badge {
  display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:12px;
  background:var(--surface);border:1px solid var(--line);font-size:12px;color:var(--text-secondary);font-weight:700;
}
.pl-trust-badge svg { color:var(--primary);flex-shrink:0; }

/* Add to Cart form */
.woocommerce div.product form.cart {
  display:flex;align-items:center;gap:12px;margin:24px 0;
  padding:20px;border-radius:20px;background:var(--surface);border:1px solid var(--line);
  flex-wrap:wrap;
}
/* Custom text / file upload fields inside form.cart */
.woocommerce div.product form.cart > div[style*="margin-bottom"] {
  width:100%;flex-basis:100%;
}
.woocommerce div.product form.cart .pl-file-upload {
  width:100%;flex-basis:100%;
}
.woocommerce .quantity {
  display:flex;align-items:center;gap:0;background:var(--bg-2);
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
}
.woocommerce .quantity .qty {
  width:52px;height:50px;text-align:center;border:none;background:transparent;
  color:var(--text);font-size:16px;font-weight:800;font-family:"Outfit",sans-serif;
  -moz-appearance:textfield;outline:none;
}
.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button { -webkit-appearance:none; }
.woocommerce .quantity .qty-btn {
  width:40px;height:50px;display:grid;place-items:center;background:transparent;border:none;
  color:var(--muted);cursor:pointer;font-size:18px;transition:color .2s ease,background .2s ease;
}
.woocommerce .quantity .qty-btn:hover { color:var(--primary);background:var(--primary-faint); }

.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .button {
  flex:1;min-height:54px;padding:14px 28px !important;border-radius:14px !important;
  background:linear-gradient(135deg,var(--primary),var(--primary-2)) !important;color:#060d0a !important;
  font-weight:800 !important;font-size:15px !important;font-family:"Outfit",sans-serif !important;
  border:none !important;cursor:pointer;transition:all .3s var(--ease) !important;
  text-transform:none !important;letter-spacing:0 !important;
  box-shadow:0 8px 28px rgba(0,212,170,0.20);
  position:relative;overflow:hidden;
}
.woocommerce div.product form.cart .button::after {
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);
  transform:translateX(-100%);transition:none;
}
.woocommerce div.product form.cart .button:hover::after {
  animation:plBtnShimmer .6s ease forwards;
}
@keyframes plBtnShimmer {
  to { transform:translateX(100%); }
}
.woocommerce div.product form.cart .button:hover {
  transform:translateY(-2px) !important;box-shadow:0 14px 40px rgba(0,212,170,0.30) !important;
}

/* --- 2d. Gallery v2 --- */
.pl-sp__gallery-col {
  position:sticky;top:100px;align-self:start;
}
.pl-sp-gallery {
  display:grid;
  gap:12px;
  border:none !important;background:transparent !important;
  border-radius:0 !important;position:relative;
  overflow:visible !important;
}
.pl-sp-gallery .flex-viewport,
.pl-sp-gallery .flex-control-thumbs { display:none !important; }

/* Vertical thumbnails */
.pl-sp-gallery__thumbs {
  display:flex;flex-direction:column;gap:8px;
  max-height:620px;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:none;
}
.pl-sp-gallery__thumbs::-webkit-scrollbar { display:none; }
.pl-sp-gallery__thumb {
  flex-shrink:0;width:76px;height:76px;padding:0;border:2px solid var(--line);
  border-radius:14px;overflow:hidden;cursor:pointer;background:var(--bg-2);
  transition:border-color .25s ease,box-shadow .25s ease,transform .2s ease;
  display:block;
}
.pl-sp-gallery__thumb:hover {
  border-color:rgba(0,212,170,.30);transform:scale(1.04);
}
.pl-sp-gallery__thumb.is-active {
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(0,212,170,.14);
}
.pl-sp-gallery__thumb img {
  width:100%;height:100%;object-fit:cover;display:block;
}

/* Main image area - large, no fixed aspect ratio */
.pl-sp-gallery__main {
  position:relative;border-radius:24px;overflow:hidden;
  background:var(--bg-2);border:1px solid var(--line);
}
.pl-sp-gallery__slide {
  position:absolute;inset:0;margin:0;opacity:0;
  transition:opacity .4s ease,transform .4s ease;
  pointer-events:none;transform:scale(1.03);
}
.pl-sp-gallery__slide.is-active {
  position:relative;opacity:1;pointer-events:auto;
  transform:scale(1);z-index:1;
}
.pl-sp-gallery__slide img {
  width:100%;height:auto;display:block;
}
.pl-sp-gallery__zoom {
  display:block;width:100%;height:100%;position:relative;
  cursor:zoom-in;
}
.pl-sp-gallery__zoom-icon {
  position:absolute;bottom:14px;right:14px;
  width:40px;height:40px;display:grid;place-items:center;
  border-radius:12px;background:rgba(9,10,13,.72);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.10);
  color:var(--text);opacity:0;
  transition:opacity .25s ease,transform .25s ease;
  transform:scale(.9);
}
.pl-sp-gallery__slide:hover .pl-sp-gallery__zoom-icon {
  opacity:1;transform:scale(1);
}

/* Nav arrows */
.pl-sp-gallery__nav {
  position:absolute;top:50%;z-index:5;transform:translateY(-50%);
  width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.10);
  background:rgba(9,10,13,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  color:var(--text);display:grid;place-items:center;cursor:pointer;
  opacity:0;transition:opacity .25s ease,transform .25s ease,background .2s ease;
}
.pl-sp-gallery__main:hover .pl-sp-gallery__nav { opacity:1; }
.pl-sp-gallery__nav:hover { background:rgba(0,212,170,.20); }
.pl-sp-gallery__nav--prev { left:12px; }
.pl-sp-gallery__nav--next { right:12px; }

/* Counter */
.pl-sp-gallery__counter {
  position:absolute;bottom:14px;left:14px;z-index:5;
  padding:6px 12px;border-radius:8px;
  background:rgba(9,10,13,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.08);
  color:var(--text);font-size:12px;font-weight:700;
  font-family:"Outfit",sans-serif;
}

/* --- 2d-2. Lightbox / Lightshow --- */
.pl-lightbox {
  position:fixed;inset:0;z-index:10000;
  background:rgba(4,5,8,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  opacity:0;transition:opacity .35s ease;
}
.pl-lightbox.is-open { opacity:1; }
.pl-lightbox__img-wrap {
  flex:1;display:grid;place-items:center;width:100%;padding:60px 80px 100px;
  cursor:zoom-out;
}
.pl-lightbox__img {
  max-width:100%;max-height:80vh;object-fit:contain;
  border-radius:12px;
  box-shadow:0 40px 100px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);
  transform:scale(.92);opacity:0;
  transition:transform .4s cubic-bezier(.19,1,.22,1),opacity .3s ease;
}
.pl-lightbox.is-open .pl-lightbox__img { transform:scale(1);opacity:1; }
.pl-lightbox__close {
  position:absolute;top:18px;right:18px;z-index:3;
  width:48px;height:48px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(9,10,13,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  color:#fff;display:grid;place-items:center;cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.pl-lightbox__close:hover { background:rgba(255,71,87,.25);transform:scale(1.06); }
.pl-lightbox__nav {
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:52px;height:52px;border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(9,10,13,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  color:#fff;display:grid;place-items:center;cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.pl-lightbox__nav:hover { background:rgba(0,212,170,.25);transform:translateY(-50%) scale(1.06); }
.pl-lightbox__nav--prev { left:18px; }
.pl-lightbox__nav--next { right:18px; }
.pl-lightbox__counter {
  position:absolute;top:24px;left:50%;transform:translateX(-50%);
  padding:8px 18px;border-radius:10px;
  background:rgba(9,10,13,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;font-size:13px;font-weight:700;font-family:"Outfit",sans-serif;
  letter-spacing:.04em;
}
.pl-lightbox__thumbs {
  position:absolute;bottom:18px;left:50%;transform:translateX(-50%);
  display:flex;gap:6px;padding:8px;border-radius:14px;
  background:rgba(9,10,13,.65);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.08);
  max-width:90vw;overflow-x:auto;scrollbar-width:none;
}
.pl-lightbox__thumbs::-webkit-scrollbar { display:none; }
.pl-lightbox__thumb {
  flex-shrink:0;width:52px;height:52px;border-radius:8px;overflow:hidden;
  border:2px solid transparent;cursor:pointer;padding:0;background:none;
  transition:border-color .2s ease,opacity .2s ease;opacity:.5;
}
.pl-lightbox__thumb:hover { opacity:.8; }
.pl-lightbox__thumb.is-active { border-color:var(--primary);opacity:1; }
.pl-lightbox__thumb img { width:100%;height:100%;object-fit:cover;display:block; }

@media (max-width:640px) {
  .pl-lightbox__img-wrap { padding:60px 16px 90px; }
  .pl-lightbox__nav { width:40px;height:40px;border-radius:12px; }
  .pl-lightbox__nav--prev { left:8px; }
  .pl-lightbox__nav--next { right:8px; }
  .pl-lightbox__thumb { width:40px;height:40px; }
}

/* --- 2e. Details section --- */
.pl-sp__details {
  display:grid;gap:32px;
}
.pl-sp__details > * { min-width:0;margin-top:0; }
.pl-sp__details > .woocommerce-tabs,
.pl-sp__details > .related.products,
.pl-sp__details > .up-sells,
.pl-sp__details > .cross-sells { margin-top:0; }

/* Generic buttons */
.woocommerce #respond input#submit,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
  padding:14px 28px !important;border-radius:14px !important;
  background:var(--primary) !important;color:#060d0a !important;
  font-weight:700 !important;font-size:14px !important;border:none !important;cursor:pointer;
  transition:all .3s var(--ease) !important;font-family:"Outfit",sans-serif !important;
}
.woocommerce #respond input#submit:hover,.woocommerce button.button:hover,
.woocommerce input.button:hover,.woocommerce a.button:hover {
  transform:translateY(-2px) !important;box-shadow:0 10px 30px rgba(0,212,170,0.22) !important;
}
.woocommerce button.button.alt,.woocommerce a.button.alt,
.woocommerce input.button.alt,.woocommerce #respond input#submit.alt {
  background:linear-gradient(135deg,var(--primary),var(--primary-2)) !important;color:#060d0a !important;
}

/* Product meta */
.woocommerce div.product_meta {
  color:var(--muted);font-size:13px;margin-top:24px;padding:20px 0;
  border-top:1px solid var(--line);display:grid;gap:8px;
}
.woocommerce div.product_meta > span { display:flex;align-items:center;gap:8px; }
.woocommerce div.product_meta a { color:var(--primary);font-weight:600; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top:60px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
  list-style:none;padding:6px !important;margin:0 0 2px !important;display:flex;gap:4px;border-bottom:none !important;
  background:var(--surface);border-radius:18px 18px 0 0;border:1px solid var(--line);border-bottom:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background:none !important;border:none !important;margin:0 !important;padding:0 !important;border-radius:14px !important;overflow:hidden;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding:12px 22px !important;font-weight:700 !important;font-size:14px !important;
  color:var(--muted) !important;display:block;border-radius:14px;transition:all .25s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color:var(--text-secondary) !important;background:rgba(255,255,255,0.03); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--primary-text) !important;background:var(--primary-faint); }
.woocommerce div.product .woocommerce-tabs .panel {
  padding:32px;border-radius:0 0 18px 18px;background:var(--surface);border:1px solid var(--line);
  border-top:1px solid var(--line);color:var(--text-secondary);line-height:1.85;font-size:15px;
  box-sizing:border-box;
}
.woocommerce div.product .woocommerce-tabs .panel.entry-content {
  width:100%;
  max-width:none;
  margin:0;
}
.woocommerce div.product .woocommerce-tabs .panel.entry-content > * {
  max-width:none;
}
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size:22px;margin-bottom:16px;color:var(--text); }

/* Related */
.woocommerce .related.products,.woocommerce .up-sells,.woocommerce .cross-sells {
  margin-top:72px;padding-top:48px;border-top:1px solid var(--line);
}
.woocommerce .related.products > h2,.woocommerce .up-sells > h2,.woocommerce .cross-sells > h2 {
  font-family:"Outfit",sans-serif;font-size:28px !important;margin-bottom:28px;color:var(--text);
}

/* ============================
   3. CART PAGE
   ============================ */
.woocommerce table.shop_table {
  border:none !important;border-collapse:separate !important;border-spacing:0 12px !important;margin:0;
}
.woocommerce table.shop_table thead th {
  background:transparent !important;border:none !important;padding:0 16px 12px !important;
  color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.08em;
}
.woocommerce table.shop_table tbody tr { background:var(--surface);border-radius:20px; }
.woocommerce table.shop_table td {
  border:none !important;padding:20px 16px !important;color:var(--text);background:transparent;vertical-align:middle;
}
.woocommerce table.shop_table tbody tr td:first-child {
  border-radius:20px 0 0 20px;border-left:1px solid var(--line);
}
.woocommerce table.shop_table tbody tr td:last-child {
  border-radius:0 20px 20px 0;border-right:1px solid var(--line);
}
.woocommerce table.shop_table tbody tr td {
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.woocommerce table.shop_table td.product-thumbnail { width:80px; }
.woocommerce table.shop_table td.product-thumbnail img {
  width:72px;height:72px;object-fit:cover;border-radius:16px;border:1px solid var(--line);
}
.woocommerce table.shop_table td.product-name { font-weight:700;font-size:15px; }
.woocommerce table.shop_table td.product-name a { color:var(--text);transition:color .25s ease; }
.woocommerce table.shop_table td.product-name a:hover { color:var(--primary); }
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal { color:var(--text);font-weight:700;font-family:"Outfit",sans-serif;font-size:16px; }
.woocommerce table.shop_table td.product-subtotal { color:var(--primary); }

/* Remove button */
.woocommerce a.remove {
  color:var(--muted) !important;font-size:0 !important;width:36px;height:36px;display:flex !important;
  align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,0.03);
  border:1px solid var(--line);transition:all .25s ease;
}
.woocommerce a.remove::before { content:"\00d7";font-size:16px;color:var(--muted);transition:color .25s ease; }
.woocommerce a.remove:hover { background:rgba(255,71,87,0.08) !important;border-color:rgba(255,71,87,0.24) !important;color:transparent !important; }
.woocommerce a.remove:hover::before { color:#ff4757; }

/* Coupon */
.woocommerce .coupon { display:flex;gap:8px;align-items:center; }
.woocommerce .coupon .input-text {
  border-radius:14px !important;border:1px solid var(--line) !important;background:var(--bg-2) !important;
  color:var(--text) !important;padding:12px 18px !important;font-family:inherit !important;font-size:14px !important;width:200px;
}
.woocommerce .coupon .button { padding:12px 20px !important;border-radius:14px !important;font-size:14px !important; }
.woocommerce .actions > .button { float:right; }

/* Cart Totals Sidebar */
.woocommerce .cart_totals { position:sticky;top:100px; }
.woocommerce .cart_totals > h2 { font-family:"Outfit",sans-serif;font-size:20px;margin-bottom:20px;color:var(--text); }
.woocommerce .cart_totals .shop_table {
  border-spacing:0 !important;border-radius:20px;overflow:hidden;
  border:1px solid var(--line);background:var(--surface);
}
.woocommerce .cart_totals .shop_table th,
.woocommerce .cart_totals .shop_table td {
  padding:16px 20px !important;border-bottom:1px solid var(--line) !important;
  border-top:none !important;border-left:none !important;border-right:none !important;background:transparent !important;
}
.woocommerce .cart_totals .shop_table th { color:var(--muted);font-weight:600;font-size:14px;text-align:left; }
.woocommerce .cart_totals .shop_table .order-total th,
.woocommerce .cart_totals .shop_table .order-total td { border-bottom:none !important;font-size:18px;padding:20px !important; }
.woocommerce .cart_totals .shop_table .order-total .woocommerce-Price-amount {
  color:var(--primary);font-family:"Outfit",sans-serif;font-size:24px;font-weight:800;
}
.woocommerce .cart_totals .wc-proceed-to-checkout { padding:0;margin-top:16px; }
.woocommerce .cart_totals .wc-proceed-to-checkout .button {
  width:100%;text-align:center;justify-content:center;display:flex !important;min-height:56px;
  font-size:16px !important;border-radius:16px !important;box-shadow:0 8px 30px rgba(0,212,170,0.20);
}

/* ============================
   4. CHECKOUT PAGE
   ============================ */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout h3#order_review_heading {
  font-family:"Outfit",sans-serif;font-size:20px;margin-bottom:20px;padding-bottom:14px;
  border-bottom:1px solid var(--line);color:var(--text);
}
.woocommerce form .form-row { margin-bottom:14px; }
.woocommerce form .form-row label { color:var(--text-secondary);font-weight:600;font-size:13px;margin-bottom:6px;display:block; }
.woocommerce form .form-row .required { color:var(--primary); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border-radius:14px !important;border:1px solid var(--line) !important;background:var(--bg-2) !important;
  color:var(--text) !important;padding:14px 18px !important;font-family:inherit !important;
  font-size:15px !important;width:100%;transition:border-color .25s ease,box-shadow .25s ease;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color:rgba(0,212,170,0.50) !important;box-shadow:0 0 0 3px rgba(0,212,170,0.10) !important;outline:none;
}

/* Select2 */
.woocommerce .select2-container--default .select2-selection--single {
  border-radius:14px !important;border:1px solid var(--line) !important;background:var(--bg-2) !important;
  height:52px !important;transition:border-color .25s ease;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
  color:var(--text) !important;line-height:52px !important;padding:0 18px !important;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height:52px !important;right:12px !important; }
.select2-dropdown {
  background:var(--bg-2) !important;border:1px solid var(--line) !important;
  border-radius:14px !important;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.28);
}
.select2-search--dropdown .select2-search__field {
  background:var(--surface) !important;border:1px solid var(--line) !important;
  color:var(--text) !important;border-radius:10px !important;padding:10px 14px !important;
}
.select2-results__option { color:var(--text) !important;padding:10px 16px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background:var(--primary-faint) !important;color:var(--primary-text) !important;
}

/* Order Review */
.woocommerce-checkout #order_review { padding:28px;border-radius:24px;background:var(--surface);border:1px solid var(--line); }
.woocommerce-checkout .woocommerce-checkout-review-order-table { border:none !important;border-spacing:0 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding:12px 0 !important;border-bottom:1px solid var(--line) !important;
  border-top:none !important;border-left:none !important;border-right:none !important;background:transparent !important;color:var(--text);font-size:14px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
  color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  font-size:20px;font-weight:800;font-family:"Outfit",sans-serif;color:var(--primary);padding-top:16px !important;
}

/* Payment */
.woocommerce-checkout #payment { background:transparent !important;border-radius:0 !important;border:none !important;padding:0 !important; }
.woocommerce-checkout #payment ul.payment_methods { border:none !important;padding:0 !important;margin-bottom:16px;display:grid;gap:8px; }
.woocommerce-checkout #payment ul.payment_methods li {
  list-style:none;padding:16px 18px;border-radius:16px;background:var(--surface);
  border:1px solid var(--line);transition:border-color .25s ease;
}
.woocommerce-checkout #payment ul.payment_methods li label {
  display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;font-size:14px;color:var(--text);
}
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { accent-color:var(--primary);width:18px;height:18px; }
.woocommerce-checkout #payment div.payment_box {
  background:var(--surface-strong) !important;color:var(--muted) !important;
  border-radius:12px;margin:12px 0 0 28px;padding:14px 16px;font-size:13px;line-height:1.6;
}
.woocommerce-checkout #payment div.payment_box::before { display:none !important; }
.woocommerce #payment #place_order {
  width:100%;min-height:60px;font-size:17px !important;font-weight:800 !important;
  padding:18px 32px !important;border-radius:18px !important;margin-top:8px;
  box-shadow:0 10px 36px rgba(0,212,170,0.24);
}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { font-size:12px;color:var(--muted);margin-bottom:16px; }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text a { color:var(--primary); }

/* ============================
   5. MY ACCOUNT
   ============================ */
.woocommerce-MyAccount-navigation { margin-bottom:32px; }
.woocommerce-MyAccount-navigation ul {
  list-style:none;padding:8px;display:flex;flex-wrap:wrap;gap:4px;
  background:var(--surface);border:1px solid var(--line);border-radius:18px;
}
.woocommerce-MyAccount-navigation li a {
  display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:14px;background:transparent;border:none;
  font-weight:600;font-size:14px;color:var(--muted);transition:all .25s ease;text-decoration:none;
}
.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover { background:var(--primary-faint);color:var(--primary-text); }
.woocommerce-MyAccount-content {
  padding:28px;border-radius:22px;background:var(--surface);border:1px solid var(--line);
  animation:plMsContentFade .4s var(--ease);
}
@keyframes plMsContentFade {
  from { opacity:0; transform:translateY(8px); }
  to { opacity:1; transform:translateY(0); }
}

/* Account page form styling */
.woocommerce-MyAccount-content .woocommerce-address-fields .form-row,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .form-row {
  margin-bottom:16px;
}
.woocommerce-MyAccount-content fieldset {
  border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;margin:20px 0;
  background:var(--bg-2);
}
.woocommerce-MyAccount-content fieldset legend {
  padding:0 10px;color:var(--text);font-weight:700;font-size:15px;
}

/* Account orders table */
.woocommerce-MyAccount-content .woocommerce-orders-table {
  border:none !important;border-collapse:separate;border-spacing:0 8px;
}
.woocommerce-MyAccount-content .woocommerce-orders-table thead th {
  background:transparent;border:none;color:var(--muted);font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:0.06em;padding:8px 16px;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr {
  background:var(--bg-2);border-radius:16px;
}
.woocommerce-MyAccount-content .woocommerce-orders-table td {
  padding:16px;border:none;color:var(--text-secondary);vertical-align:middle;
}
.woocommerce-MyAccount-content .woocommerce-orders-table td:first-child { border-radius:16px 0 0 16px; }
.woocommerce-MyAccount-content .woocommerce-orders-table td:last-child { border-radius:0 16px 16px 0; }
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
  color:var(--primary);font-weight:700;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
  display:inline-flex;padding:8px 14px;border-radius:12px;background:var(--primary-faint);
  color:var(--primary-text);font-weight:600;font-size:13px;text-decoration:none;
  transition:all .25s ease;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
  background:var(--primary);color:#060d0a;
}

/* Order status badges */
.woocommerce-MyAccount-content mark.order-status {
  background:var(--primary-faint) !important;color:var(--primary-text) !important;
  padding:4px 10px;border-radius:8px;font-size:12px;font-weight:700;
}

/* ============================
   ORDER RECEIVED / THANK-YOU PAGE
   ============================ */
.woocommerce-order-received .page-content--woo {
  max-width:880px;margin-left:auto;margin-right:auto;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
  text-align:center;
  padding:32px 24px;
  background:linear-gradient(135deg, rgba(0,212,170,0.08), rgba(255,255,255,0.02));
  border:1px solid rgba(0,212,170,0.20);
  border-radius:var(--radius-lg);
  font-size:18px;
  font-weight:700;
  color:var(--primary-text);
  margin-bottom:32px;
  animation:plMsContentFade .5s var(--ease);
}

.woocommerce-order-received .woocommerce-thankyou-order-received::before {
  content:"";
  display:block;
  width:56px;
  height:56px;
  margin:0 auto 16px;
  background:linear-gradient(135deg, var(--primary), var(--primary-2));
  border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23060d0a' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  box-shadow:0 8px 30px rgba(0,212,170,0.25);
}

.woocommerce-order-received .woocommerce-order-overview {
  list-style:none;padding:0;margin:0 0 32px;
  display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:12px;
}

.woocommerce-order-received .woocommerce-order-overview li {
  padding:18px 20px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  text-align:center;
}

.woocommerce-order-received .woocommerce-order-overview li:first-child {
  border-color:rgba(0,212,170,0.24);
}

.woocommerce-order-received .woocommerce-order-overview mark {
  display:block;
  margin-top:6px;
  font-weight:800;
  font-size:17px;
  color:var(--text);
  background:transparent !important;
  font-family:"Outfit",sans-serif;
}

.woocommerce-order-received .woocommerce-order-details {
  margin-bottom:32px;
}

.woocommerce-order-received .woocommerce-order-details h2,
.woocommerce-order-received .woocommerce-customer-details h2,
.woocommerce-order-received .woocommerce-columns--addresses h2 {
  font-family:"Outfit",sans-serif;font-size:20px;font-weight:700;color:var(--text);
  padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:20px;
}

.woocommerce-order-received .woocommerce-table--order-details {
  border:none !important;border-collapse:separate;border-spacing:0;
  background:var(--surface);border-radius:var(--radius-md);overflow:hidden;
  border:1px solid var(--line) !important;
}

.woocommerce-order-received .woocommerce-table--order-details th,
.woocommerce-order-received .woocommerce-table--order-details td {
  padding:14px 20px !important;border:none !important;
  border-bottom:1px solid var(--line-light) !important;color:var(--text);
}

.woocommerce-order-received .woocommerce-table--order-details thead th {
  color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;
  letter-spacing:0.06em;background:var(--bg-2);
}

.woocommerce-order-received .woocommerce-table--order-details tfoot th {
  color:var(--text-secondary);font-weight:600;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child td {
  font-weight:800;color:var(--primary);font-size:18px;font-family:"Outfit",sans-serif;
}

.woocommerce-order-received .woocommerce-customer-details {
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-md);padding:24px;margin-top:24px;
}

.woocommerce-order-received .woocommerce-columns--addresses {
  display:grid;grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));gap:24px;
  margin-top:8px;
}

.woocommerce-order-received address {
  color:var(--text-secondary);font-style:normal;line-height:1.8;font-size:14px;
}

@media (max-width:640px) {
  .woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns:repeat(2, 1fr);
  }
}

/* ============================
   LOGIN / REGISTER FORMS
   ============================ */
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register,
.woocommerce form.login,
.woocommerce form.register {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px;
  max-width:480px;
}

.woocommerce .woocommerce-form-login-toggle .woocommerce-info {
  cursor:pointer;
}

.woocommerce .u-columns {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
  gap:28px;
}

.woocommerce .u-columns .u-column1,
.woocommerce .u-columns .u-column2 {
  float:none !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}

.woocommerce form.woocommerce-form-login .form-row,
.woocommerce form.woocommerce-form-register .form-row {
  margin-bottom:16px;
}

.woocommerce .woocommerce-form__label-for-checkbox {
  display:flex;align-items:center;gap:8px;cursor:pointer;
  font-size:14px;color:var(--text-secondary);
}

.woocommerce .woocommerce-form__label-for-checkbox input[type="checkbox"] {
  accent-color:var(--primary);width:18px;height:18px;
}

.woocommerce .lost_password { margin-top:12px; }
.woocommerce .lost_password a { color:var(--primary);font-size:14px; }

/* ============================
   5b. MY ACCOUNT
   ============================ */

/* Layout: sidebar nav + content */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float:none !important;width:auto !important;margin:0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  padding:0 !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
  min-width:0;
}
.woocommerce-account .entry-content--woo {
  display:block;
  max-width:100%;
}

/* Navigation */
.woocommerce-MyAccount-navigation {
  position:static;top:auto;
}
.woocommerce-MyAccount-navigation ul {
  list-style:none;padding:8px;margin:0;display:flex;flex-wrap:wrap;gap:8px;
  background:var(--surface);border:1px solid var(--line);border-radius:20px;
}
.woocommerce-MyAccount-navigation ul li a {
  display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:16px;
  font-family:"Outfit",sans-serif;font-weight:600;font-size:14px;
  color:var(--muted);text-decoration:none;transition:all .25s ease;
}
.woocommerce-MyAccount-navigation ul li a i {
  width:24px;text-align:center;font-size:20px;transition:color .25s ease;flex-shrink:0;
}
.woocommerce-MyAccount-navigation ul li a:hover {
  color:var(--text-secondary);background:rgba(255,255,255,.04);
}
/* WooCommerce uses is-active on the li */
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a {
  color:var(--primary-text);background:var(--primary-faint);
}
.woocommerce-MyAccount-navigation ul li.is-active a i { color:var(--primary); }

/* Dashboard – Welcome */
.pl-account-dashboard { display:grid;gap:24px; }
.pl-account-dashboard__hero { display:grid;gap:24px; }
.pl-account-dashboard__layout {
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:24px;align-items:start;
}
.pl-account-dashboard__main,
.pl-account-dashboard__aside {
  display:grid;gap:24px;min-width:0;
}
.pl-account-dashboard__panel {
  padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:24px;
}
.pl-account-dashboard__section-head {
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;
}
.pl-account-dashboard__section-head h3 {
  margin:0;font-family:"Outfit",sans-serif;font-size:18px;font-weight:700;color:var(--text);
}
.pl-account-dashboard__section-link {
  color:var(--primary);font-size:13px;font-weight:700;text-decoration:none;
}
.pl-account-dashboard__section-link:hover { color:var(--primary-2); }
.pl-account-dashboard__empty {
  margin:0;padding:18px 20px;background:var(--bg-2);border:1px dashed var(--line);
  border-radius:16px;color:var(--muted);font-size:14px;line-height:1.6;
}
.pl-account-dashboard__main > .pl-loyalty-card { margin:0; }
.pl-account-dashboard__aside .pl-account-actions { grid-template-columns:1fr; }
.pl-account-welcome {
  display:flex;align-items:center;gap:20px;padding:28px 32px;
  background:var(--surface);border:1px solid var(--line);border-radius:24px;
  position:relative;overflow:hidden;
}
.pl-account-welcome::before {
  content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;
  border-radius:50%;background:radial-gradient(circle,rgba(0,212,170,.10),transparent 70%);
  pointer-events:none;
}
.pl-account-welcome__avatar img {
  width:64px;height:64px;border-radius:50%;border:2px solid var(--primary);
  object-fit:cover;
}
.pl-account-welcome__text h2 {
  font-family:"Outfit",sans-serif;font-size:22px;font-weight:700;color:var(--text);margin:0 0 6px;
}
.pl-account-welcome__text h2 span { color:var(--primary); }
.pl-account-welcome__text p { margin:0;color:var(--muted);font-size:14px;line-height:1.5; }

/* Dashboard – Stats */
.pl-account-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.pl-account-stat {
  display:flex;align-items:center;gap:14px;padding:20px;
  background:var(--bg-2);border:1px solid var(--line);border-radius:18px;
  transition:border-color .25s ease;
}
.pl-account-stat:hover { border-color:rgba(0,212,170,.20); }
.pl-account-stat__icon {
  width:42px;height:42px;border-radius:12px;
  background:var(--primary-faint);color:var(--primary);
  display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;
}
.pl-account-stat__data { display:grid;gap:2px;min-width:0; }
.pl-account-stat__value {
  font-family:"Outfit",sans-serif;font-size:18px;font-weight:800;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pl-account-stat__label { font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em; }

/* Dashboard – Quick Actions */
.pl-account-actions { display:grid;grid-template-columns:repeat(2,1fr);gap:16px; }
.pl-account-action {
  display:flex;flex-direction:column;gap:8px;padding:22px;
  background:var(--surface);border:1px solid var(--line);border-radius:20px;
  text-decoration:none;transition:all .3s var(--ease);
}
.pl-account-action:hover {
  border-color:rgba(0,212,170,.30);transform:translateY(-3px);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.pl-account-action i { font-size:20px;color:var(--primary); }
.pl-account-action strong { font-family:"Outfit",sans-serif;font-size:15px;color:var(--text); }
.pl-account-action span { font-size:13px;color:var(--muted);line-height:1.4; }

/* Dashboard – Recent Orders */
.pl-account-recent h3 {
  font-family:"Outfit",sans-serif;font-size:18px;font-weight:700;color:var(--text);margin:0;
}
.pl-account-recent__list { display:grid;gap:10px; }
.pl-account-order-card {
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:16px 20px;background:var(--bg-2);border:1px solid var(--line);border-radius:16px;
  text-decoration:none;transition:border-color .25s ease;
}
.pl-account-order-card:hover { border-color:rgba(0,212,170,.25); }
.pl-account-order-card__head { display:flex;align-items:center;gap:12px; }
.pl-account-order-card__id { font-family:"Outfit",sans-serif;font-weight:700;font-size:14px;color:var(--text); }
.pl-account-order-card__badge {
  padding:4px 12px;border-radius:999px;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;
}
.pl-account-order-card__badge--processing,
.pl-account-order-card__badge--pending { background:rgba(255,210,127,.12);color:#ffd27f; }
.pl-account-order-card__badge--completed { background:var(--primary-faint);color:var(--primary); }
.pl-account-order-card__badge--on-hold { background:rgba(169,178,197,.10);color:var(--muted); }
.pl-account-order-card__badge--cancelled,
.pl-account-order-card__badge--failed,
.pl-account-order-card__badge--refunded { background:rgba(255,71,87,.10);color:#ff4757; }
.pl-account-order-card__meta { text-align:right; }
.pl-account-order-card__meta span { display:block;font-size:13px;color:var(--muted); }
.pl-account-order-card__meta strong { font-family:"Outfit",sans-serif;font-size:15px;color:var(--text); }

@media (max-width:1080px) {
  .pl-account-dashboard__layout { grid-template-columns:1fr; }
  .pl-account-dashboard__aside .pl-account-actions { grid-template-columns:repeat(2,1fr); }
}

/* Orders table */
.woocommerce-account .woocommerce-orders-table {
  border:none !important;border-collapse:separate !important;border-spacing:0 8px !important;
}
.woocommerce-account .woocommerce-orders-table thead th {
  background:var(--surface);color:var(--muted);font-size:12px;text-transform:uppercase;
  letter-spacing:.06em;padding:12px 16px;border:none;
}
.woocommerce-account .woocommerce-orders-table thead th:first-child { border-radius:12px 0 0 12px; }
.woocommerce-account .woocommerce-orders-table thead th:last-child { border-radius:0 12px 12px 0; }
.woocommerce-account .woocommerce-orders-table td {
  background:var(--bg-2);padding:16px;border:none;color:var(--text-secondary);font-size:14px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.woocommerce-account .woocommerce-orders-table td:first-child { border-left:1px solid var(--line);border-radius:14px 0 0 14px; }
.woocommerce-account .woocommerce-orders-table td:last-child { border-right:1px solid var(--line);border-radius:0 14px 14px 0; }
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
  display:inline-flex;padding:8px 16px;border-radius:10px;background:var(--primary);
  color:#060d0a;font-weight:700;font-size:13px;text-decoration:none;transition:all .25s ease;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a:hover {
  background:var(--primary-2);transform:translateY(-1px);
}

/* Addresses */
.woocommerce-account .woocommerce-Addresses {
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  float:none !important;width:auto !important;margin:0 !important;padding:0 !important;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address header {
  display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address header h3 {
  font-family:"Outfit",sans-serif;font-size:16px;font-weight:700;color:var(--text);margin:0;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address header a {
  padding:6px 14px;border-radius:10px;border:1px solid var(--line);color:var(--primary);
  font-size:13px;font-weight:600;text-decoration:none;transition:all .25s ease;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address header a:hover {
  border-color:rgba(0,212,170,.30);background:var(--primary-faint);
}
.woocommerce-account .woocommerce-Addresses address {
  padding:20px;background:var(--bg-2);border:1px solid var(--line);border-radius:16px;
  color:var(--text-secondary);font-size:14px;line-height:1.7;font-style:normal;
}

/* Account forms */
.woocommerce-account .woocommerce-EditAccountForm .form-row input,
.woocommerce-account .woocommerce-address-fields .form-row input,
.woocommerce-account .woocommerce-EditAccountForm .form-row select,
.woocommerce-account .woocommerce-address-fields .form-row select {
  width:100%;padding:14px 18px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:14px;color:var(--text);font-family:inherit;font-size:14px;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.woocommerce-account .woocommerce-EditAccountForm .form-row input:focus,
.woocommerce-account .woocommerce-address-fields .form-row input:focus,
.woocommerce-account .woocommerce-EditAccountForm .form-row select:focus,
.woocommerce-account .woocommerce-address-fields .form-row select:focus {
  border-color:rgba(0,212,170,.50);box-shadow:0 0 0 3px rgba(0,212,170,.10);outline:none;
}
.woocommerce-account .woocommerce-EditAccountForm fieldset {
  border:1px solid var(--line);border-radius:18px;padding:24px;margin:24px 0;
  background:var(--surface);
}
.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
  font-family:"Outfit",sans-serif;font-weight:700;font-size:16px;color:var(--text);padding:0 8px;
}

/* Responsive */
@media (max-width:768px) {
  .pl-account-dashboard__layout { grid-template-columns:1fr; }
  .pl-account-dashboard__panel { padding:20px; }
  .pl-account-dashboard__section-head {
    flex-direction:column;align-items:flex-start;
  }
  .woocommerce-MyAccount-navigation ul {
    display:flex;overflow-x:auto;scrollbar-width:none;gap:4px;
    border-radius:16px;padding:6px;
  }
  .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display:none; }
  .woocommerce-MyAccount-navigation ul li a {
    white-space:nowrap;padding:12px 14px;font-size:13px;border-radius:12px;
  }
  .woocommerce-MyAccount-navigation ul li a i { font-size:18px;width:22px; }
  .pl-account-stats { grid-template-columns:1fr; }
  .pl-account-actions { grid-template-columns:1fr; }
  .pl-account-welcome { flex-direction:column;align-items:flex-start;padding:24px; }
  .pl-account-order-card { flex-direction:column;align-items:flex-start;gap:10px; }
  .pl-account-order-card__meta { text-align:left; }
}

/* ============================
   6. NOTICES
   ============================ */
.woocommerce-message,.woocommerce-info,.woocommerce-error {
  border-radius:16px !important;padding:16px 22px !important;margin-bottom:24px !important;
  background:var(--surface) !important;color:var(--text) !important;font-size:14px;
  display:flex;align-items:center;gap:12px;border:1px solid var(--line) !important;border-top:none !important;
}
.woocommerce-message { border-left:4px solid var(--primary) !important; }
.woocommerce-message::before { color:var(--primary) !important; }
.woocommerce-info { border-left:4px solid var(--primary-2) !important; }
.woocommerce-info::before { color:var(--primary-2) !important; }
.woocommerce-error { border-left:4px solid #ff4757 !important; }
.woocommerce-error::before { color:#ff4757 !important; }
.woocommerce-message .button,.woocommerce-info .button {
  margin-left:auto !important;margin-top:0 !important;padding:10px 18px !important;font-size:13px !important;border-radius:12px !important;
}

/* ============================
   7. 3D PRODUCT SPECS
   ============================ */
.pl-product-specs {
  margin:24px 0;padding:20px;border-radius:20px;background:var(--surface);border:1px solid var(--line);
}
.pl-product-specs h4 {
  font-family:"Outfit",sans-serif;font-size:15px;color:var(--text);margin:0 0 14px;
  display:flex;align-items:center;gap:8px;
}
.pl-spec-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:10px; }
.pl-spec-item {
  display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:14px;
  background:var(--bg-2);border:1px solid rgba(255,255,255,0.04);font-size:13px;
}
.pl-spec-item .pl-spec-icon {
  width:32px;height:32px;display:grid;place-items:center;border-radius:10px;
  background:var(--primary-faint);color:var(--primary);font-size:14px;flex-shrink:0;
}
.pl-spec-item .pl-spec-label { color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:0.06em;display:block; }
.pl-spec-item .pl-spec-value { color:var(--text);font-weight:700;display:block; }

.pl-lead-time {
  display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:14px;
  background:rgba(251,191,36,0.08);border:1px solid rgba(251,191,36,0.16);
  color:#fbbf24;font-size:13px;font-weight:700;margin:12px 0;
}
.pl-lead-time svg { flex-shrink:0; }

.pl-custom-note {
  padding:16px 18px;border-radius:16px;background:var(--primary-faint);
  border:1px solid rgba(0,212,170,0.14);color:var(--primary-text);
  font-size:13px;line-height:1.6;margin:16px 0;display:flex;gap:10px;align-items:flex-start;
}
.pl-custom-note svg { flex-shrink:0;margin-top:2px; }

/* File upload */
.pl-file-upload {
  margin:16px 0;padding:24px;border-radius:20px;border:2px dashed var(--line);
  background:var(--surface-soft);text-align:center;transition:border-color .3s ease,background .3s ease;cursor:pointer;
}
.pl-file-upload:hover { border-color:rgba(0,212,170,0.30);background:var(--primary-faint); }
.pl-file-upload svg { color:var(--primary);margin-bottom:8px; }
.pl-file-upload p { margin:0;color:var(--muted);font-size:13px; }
.pl-file-upload .pl-upload-hint { color:var(--primary);font-weight:700; }

/* Empty cart */
.woocommerce-cart .cart-empty.woocommerce-info {
  flex-direction:column;padding:48px 32px !important;border-radius:28px !important;
  border-left:1px solid var(--line) !important;border-top:1px solid var(--line) !important;font-size:18px;font-weight:600;
}
.woocommerce-cart .return-to-shop .button { margin-top:16px; }

/* ============================
   8. BREADCRUMBS
   ============================ */
.woocommerce .woocommerce-breadcrumb { color:var(--muted);font-size:13px;margin-bottom:24px;padding:12px 0; }
.woocommerce .woocommerce-breadcrumb a { color:var(--primary); }

/* ============================
   9. REVIEWS
   ============================ */
.woocommerce #reviews { color:var(--text-secondary); }
.woocommerce #reviews #comments ol.commentlist { list-style:none;padding:0; }
.woocommerce #reviews #comments ol.commentlist li {
  margin-bottom:16px;padding:24px;border-radius:20px;background:var(--bg-2);border:1px solid var(--line);
}
.woocommerce #reviews #comments ol.commentlist li .meta { color:var(--muted);font-size:13px;margin-bottom:8px; }
.woocommerce #reviews .star-rating { color:#fbbf24; }
.woocommerce #reviews #review_form #respond { margin-top:28px; }
.woocommerce #reviews p.stars a { color:#fbbf24; }

/* ============================
   10. RESPONSIVE
   ============================ */
@media (max-width:1024px) {
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr) !important; }
  .woocommerce div.product div.images { position:static; }
  .woocommerce .cart_totals { position:static; }
  .pl-spec-grid { grid-template-columns:1fr; }
  .printlume-shop-layout.has-sidebar,
  .printlume-shop-layout.has-sidebar.sidebar-left { grid-template-columns:1fr; }
  .printlume-shop-layout.has-sidebar.sidebar-left .printlume-shop-main,
  .printlume-shop-layout.has-sidebar.sidebar-left .printlume-shop-sidebar { order:initial; }
  .printlume-shop-sidebar { position:static; }

  /* Single product v2 tablet */
  .pl-sp__hero { grid-template-columns:1fr; }
  .pl-sp__gallery-col { position:static; }
  .pl-sp-gallery { gap:10px; }
  .pl-sp-gallery__thumbs { flex-direction:row;max-height:none;overflow-x:auto;overflow-y:hidden; }
  .pl-sp-gallery__thumb { width:64px;height:64px; }
}
@media (max-width:640px) {
  .woocommerce ul.products { grid-template-columns:repeat(2,1fr) !important;gap:12px; }
  .woocommerce ul.products li.product { border-radius:18px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product h2 { font-size:14px !important; }
  .woocommerce ul.products li.product .price > .woocommerce-Price-amount,
  .woocommerce ul.products li.product .price ins .woocommerce-Price-amount { font-size:18px !important; }
  .woocommerce ul.products li.product .printlume-product-info { padding:14px 14px 6px; }
  .woocommerce ul.products li.product .button { margin:10px 14px 14px !important;padding:10px 16px !important;font-size:12px !important;border-radius:12px !important; }
  .woocommerce div.product form.cart { flex-wrap:wrap;padding:16px; }
  .woocommerce div.product form.cart .quantity { width:100%;justify-content:center; }
  .woocommerce div.product form.cart .button { width:100%; }

  /* Single product v2 mobile */
  .pl-sp-gallery { gap:10px; }
  .pl-sp-gallery__thumbs { order:2;flex-direction:row;gap:6px;max-height:none;overflow-x:auto;padding-bottom:4px; }
  .pl-sp-gallery__thumb { width:56px;height:56px;border-radius:10px; }
  .pl-sp-gallery__main { border-radius:18px;aspect-ratio:1/1; }
  .pl-sp__title { font-size:24px; }
  .pl-sp__price .price { font-size:28px !important; }
  .pl-sp__pills { gap:6px; }
  .pl-sp__pill { padding:6px 10px;font-size:11px; }
}
@media (max-width:480px) {
  .woocommerce ul.products { grid-template-columns:1fr !important;gap:16px; }
}


/* ============================
   11. PAGE WIDTH & STRUCTURE FIXES
   ============================ */
.page-content--woo {
  position: relative;
  z-index: 2;
}

.post-type-archive-product .page-content--woo,
.tax-product_cat .page-content--woo,
.tax-product_tag .page-content--woo,
.tax-product_brand .page-content--woo,
.page-content--woo.page-content--woo-shop {
  width: min(calc(100% - 32px), 1180px);
}

.single-product .page-content--woo,
.page-content--woo.page-content--woo-product {
  width: min(calc(100% - 32px), 1140px);
}

.woocommerce-cart .page-content--woo,
.woocommerce-checkout .page-content--woo,
.page-content--woo.page-content--woo-cart,
.page-content--woo.page-content--woo-checkout,
.page-content--woo.page-content--woo-page {
  width: min(calc(100% - 32px), 1160px);
}
.woocommerce-account .page-content--woo,
.page-content--woo.page-content--woo-account {
  width: min(calc(100% - 32px), var(--maxw, 1280px));
}

.entry-content--woo,
.entry-content--full {
  max-width: none;
}

.entry-content--woo > *:not(.alignwide):not(.alignfull),
.entry-content--full > *:not(.alignwide):not(.alignfull) {
  max-width: none;
}

.printlume-shop-layout {
  display: grid;
  gap: 28px;
}

.printlume-shop-layout.has-sidebar {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  align-items: start;
}

.printlume-shop-layout.has-sidebar.sidebar-left {
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
}

.printlume-shop-layout.has-sidebar.sidebar-left .printlume-shop-main {
  order: 2;
}

.printlume-shop-layout.has-sidebar.sidebar-left .printlume-shop-sidebar {
  order: 1;
}

.printlume-shop-main {
  min-width: 0;
}

.printlume-shop-sidebar {
  min-width: 0;
  position: sticky;
  top: 110px;
  display: grid;
  gap: 16px;
}

.printlume-shop-sidebar-title {
  margin: 0;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}

.printlume-shop-sidebar .widget {
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 16px;
}

.printlume-shop-sidebar .widget .widget-title {
  margin-top: 0;
}
/* Shop header / toolbar */
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
  color: var(--muted);
  font-size: 14px;
}

.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
  margin: 0 0 28px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select {
  min-width: 240px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: var(--bg-2);
  color: var(--text);
  padding: 12px 42px 12px 16px;
}

/* Single product template – v2.0 overrides */
.single-product .pl-sp .woocommerce-product-gallery,
.single-product .pl-sp div.images {
  float:none;
  width:100%;
  margin:0;
}
.single-product .pl-sp div.summary {
  float:none;
  width:auto;
  margin:0;
}
.single-product .woocommerce #content div.product div.images,
.single-product .woocommerce div.product div.images,
.single-product .woocommerce-page #content div.product div.images,
.single-product .woocommerce-page div.product div.images {
  width:100%;
}
.single-product .woocommerce div.product div.images {
  position:static;
}

.single-product .pl-sp__info-col form.cart table.variations {
  width: 100%;
  margin-bottom: 18px;
}

.single-product .pl-sp__info-col form.cart table.variations th,
.single-product .pl-sp__info-col form.cart table.variations td {
  padding: 0 0 10px;
  border: none;
  background: transparent;
}

/* Classic cart layout */
.woocommerce-cart .entry-content--woo > .woocommerce,
.woocommerce-page.woocommerce-cart .entry-content--woo > .woocommerce {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 32px;
  align-items: start;
}

.woocommerce-cart .entry-content--woo > .woocommerce::before,
.woocommerce-cart .entry-content--woo > .woocommerce::after,
.woocommerce-page.woocommerce-cart .entry-content--woo > .woocommerce::before,
.woocommerce-page.woocommerce-cart .entry-content--woo > .woocommerce::after {
  display: none;
}

.woocommerce-cart .entry-content--woo > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .entry-content--woo > .woocommerce > form.woocommerce-cart-form,
.woocommerce-cart .entry-content--woo > .woocommerce > .cart-collaterals,
.woocommerce-page.woocommerce-cart .entry-content--woo > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-page.woocommerce-cart .entry-content--woo > .woocommerce > form.woocommerce-cart-form,
.woocommerce-page.woocommerce-cart .entry-content--woo > .woocommerce > .cart-collaterals {
  min-width: 0;
}

.woocommerce-cart .entry-content--woo > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-page.woocommerce-cart .entry-content--woo > .woocommerce > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-page.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-page.woocommerce-cart .cart-collaterals {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-page.woocommerce-cart .cart-collaterals .cart_totals {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.woocommerce-cart .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.woocommerce-cart .actions > .button,
.woocommerce-cart .coupon,
.woocommerce-page.woocommerce-cart .actions > .button,
.woocommerce-page.woocommerce-cart .coupon {
  float: none !important;
}

.woocommerce-cart td.actions .coupon,
.woocommerce-page.woocommerce-cart td.actions .coupon {
  display: flex;
  flex-wrap: wrap;
}

.woocommerce-cart td.actions .coupon .input-text,
.woocommerce-page.woocommerce-cart td.actions .coupon .input-text {
  flex: 1 1 220px;
}

/* Classic checkout layout (overridden by multistep when .pl-ms-form present) */
.woocommerce-checkout form.checkout:not(.pl-ms-form),
.woocommerce-page.woocommerce-checkout form.checkout:not(.pl-ms-form) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 32px;
  align-items: start;
}

/* Multistep checkout form: single column, no grid */
.woocommerce-checkout form.checkout.pl-ms-form,
.woocommerce-page.woocommerce-checkout form.checkout.pl-ms-form {
  display: block;
}

.woocommerce-checkout form.checkout:not(.pl-ms-form)::before,
.woocommerce-checkout form.checkout:not(.pl-ms-form)::after,
.woocommerce-page.woocommerce-checkout form.checkout:not(.pl-ms-form)::before,
.woocommerce-page.woocommerce-checkout form.checkout:not(.pl-ms-form)::after {
  display: none;
}

.woocommerce-checkout #customer_details,
.woocommerce-page.woocommerce-checkout #customer_details {
  float: none;
  width: auto;
  min-width: 0;
  display: grid;
  gap: 28px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2,
.woocommerce-page.woocommerce-checkout #customer_details .col-1,
.woocommerce-page.woocommerce-checkout #customer_details .col-2 {
  float: none;
  width: auto;
  margin: 0;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review,
.woocommerce-page.woocommerce-checkout #order_review_heading,
.woocommerce-page.woocommerce-checkout #order_review {
  float: none;
  width: auto;
  margin: 0;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-page.woocommerce-checkout #order_review_heading {
  align-self: end;
  margin-bottom: 0;
}

.woocommerce-checkout #order_review,
.woocommerce-page.woocommerce-checkout #order_review {
  position: sticky;
  top: 104px;
}

/* Woo blocks support */
.entry-content--woo .wp-block-woocommerce-cart,
.entry-content--woo .wp-block-woocommerce-checkout,
.entry-content--woo .wc-block-cart,
.entry-content--woo .wc-block-checkout {
  max-width: none;
}

.entry-content--woo .wp-block-woocommerce-cart.alignwide,
.entry-content--woo .wp-block-woocommerce-checkout.alignwide,
.entry-content--woo .wp-block-woocommerce-cart.alignfull,
.entry-content--woo .wp-block-woocommerce-checkout.alignfull {
  width: auto;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

.entry-content--woo .wc-block-cart,
.entry-content--woo .wc-block-checkout {
  color: var(--text);
}

.entry-content--woo :where(.wc-block-components-sidebar-layout),
.entry-content--woo :where(.wc-block-checkout) {
  column-gap: 32px;
}

.entry-content--woo :where(.wc-block-components-main, .wc-block-components-sidebar),
.entry-content--woo :where(.wc-block-checkout__main, .wc-block-checkout__sidebar) {
  min-width: 0;
}

.entry-content--woo :where(.wc-block-cart__main, .wc-block-components-sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar) {
  background: transparent;
}

.entry-content--woo :where(.wc-block-cart-item, .wc-block-components-order-summary-item, .wc-block-components-totals-item) {
  color: var(--text);
}

.entry-content--woo :where(.wc-block-components-order-summary, .wc-block-components-totals-wrapper, .wc-block-checkout__sidebar, .wc-block-cart__sidebar) {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 24px;
}

.entry-content--woo :where(.wc-block-components-order-summary .wc-block-components-order-summary__content) {
  padding: 0;
}

.entry-content--woo :where(.wc-block-components-text-input input, .wc-block-components-text-input select, .wc-block-components-combobox-control .components-combobox-control__input, .wc-block-components-form .wc-block-components-text-input input, .wc-block-components-form .wc-block-components-text-input select) {
  border-radius: 14px !important;
  border: 1px solid var(--line) !important;
  background: var(--bg-2) !important;
  color: var(--text) !important;
  box-shadow: none !important;
}

.entry-content--woo :where(.wc-block-components-text-input label, .wc-block-components-checkbox__label, .wc-block-components-radio-control__label, .wc-block-components-address-form__company input + label) {
  color: var(--text-secondary) !important;
}

.entry-content--woo :where(.wc-block-components-button, .wc-block-components-checkout-place-order-button, .wc-block-cart__submit-button, .wc-block-components-totals-coupon__button) {
  border-radius: 16px !important;
  min-height: 52px;
  background: linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  color: #060d0a !important;
  border: none !important;
  font-weight: 800 !important;
}

.entry-content--woo :where(.wc-block-components-button:hover, .wc-block-components-checkout-place-order-button:hover, .wc-block-cart__submit-button:hover, .wc-block-components-totals-coupon__button:hover) {
  filter: brightness(1.03);
  transform: translateY(-1px);
}

.entry-content--woo :where(.wc-block-components-totals-item__label, .wc-block-components-order-summary-item__description, .wc-block-components-product-metadata__description, .wc-block-components-product-name) {
  color: var(--text-secondary);
}

.entry-content--woo :where(.wc-block-components-order-summary-item__total-price, .wc-block-formatted-money-amount, .wc-block-components-product-price__value, .wc-block-components-totals-item__value) {
  color: var(--text);
  font-family: "Outfit", sans-serif;
  font-weight: 800;
}

.entry-content--woo :where(.wc-block-components-product-price__regular, .wc-block-components-order-summary-item__quantity) {
  color: var(--muted);
}

.entry-content--woo :where(.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img) {
  border-radius: 16px;
  border: 1px solid var(--line);
}

.entry-content--woo :where(.wc-block-cart-item__prices, .wc-block-components-product-badge, .wc-block-components-product-metadata) {
  margin-top: 8px;
}

.entry-content--woo :where(.wc-block-components-notice-banner, .wc-block-components-validation-error, .is-error, .is-warning, .is-info) {
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--text);
}

.entry-content--woo :where(.wc-block-components-checkout-step, .wc-block-components-panel, .wc-block-components-order-summary__button-text) {
  color: var(--text);
}

.entry-content--woo :where(.wc-block-components-checkout-step, .wc-block-components-panel) {
  border-radius: 20px;
  border: 1px solid var(--line);
  background: var(--surface);
  padding: 20px;
}

.entry-content--woo :where(.wc-block-components-order-summary-item--product .wc-block-components-product-price__value) {
  font-size: 14px;
}

.entry-content--woo :where(.wc-block-components-order-summary-item__description .wc-block-components-product-price) {
  margin-top: 4px;
}

.entry-content--woo :where(.wc-block-components-product-badge, .wc-block-components-sale-badge) {
  border-radius: 999px;
  background: var(--primary-faint);
  color: var(--primary-text);
  border: 1px solid rgba(0, 212, 170, 0.18);
}

/* Responsive fixes */
@media (max-width: 1100px) {
  .single-product .pl-sp__hero,
  .woocommerce-cart .entry-content--woo > .woocommerce,
  .woocommerce-page.woocommerce-cart .entry-content--woo > .woocommerce,
  .woocommerce-checkout form.checkout,
  .woocommerce-page.woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
  }

  .woocommerce-checkout #order_review,
  .woocommerce-page.woocommerce-checkout #order_review {
    position: static;
  }
}

@media (max-width: 782px) {
  .post-type-archive-product .page-content--woo,
  .tax-product_cat .page-content--woo,
  .tax-product_tag .page-content--woo,
  .single-product .page-content--woo,
  .woocommerce-cart .page-content--woo,
  .woocommerce-checkout .page-content--woo,
  .woocommerce-account .page-content--woo,
  .page-content--woo.page-content--woo-shop,
  .page-content--woo.page-content--woo-product,
  .page-content--woo.page-content--woo-cart,
  .page-content--woo.page-content--woo-checkout,
  .page-content--woo.page-content--woo-account,
  .page-content--woo.page-content--woo-page {
    width: min(calc(100% - 24px), 100%);
  }

  .woocommerce table.shop_table {
    border-spacing: 0 10px !important;
  }

  .woocommerce table.shop_table td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table td,
  .woocommerce-checkout .woocommerce-checkout-review-order-table th {
    font-size: 13px;
  }

  .woocommerce-cart .coupon,
  .woocommerce-page.woocommerce-cart .coupon,
  .woocommerce-cart .actions,
  .woocommerce-page.woocommerce-cart .actions {
    flex-direction: column;
    align-items: stretch;
  }

  .entry-content--woo :where(.wc-block-components-order-summary, .wc-block-components-totals-wrapper, .wc-block-checkout__sidebar, .wc-block-cart__sidebar) {
    padding: 18px;
  }
}


/* Shop header actions */
.printlume-shop-header-actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:22px;
}

.printlume-shop-usp--header {
  margin-top:18px;
  margin-bottom:0;
}

/* Product highlights */
.pl-product-highlights {
  display:grid;
  gap:10px;
  margin:18px 0 12px;
}

.pl-product-highlights span {
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--line);
  color:var(--text-secondary);
  font-size:13px;
}

.pl-product-highlights span::before {
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--primary);
  box-shadow:0 0 0 6px rgba(0,212,170,0.10);
  flex-shrink:0;
}

.pl-product-cta-card {
  margin:18px 0 0;
  padding:22px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(0,212,170,0.14), rgba(255,255,255,0.04));
  border:1px solid rgba(0,212,170,0.16);
}

.pl-product-cta-card strong {
  display:block;
  margin-bottom:8px;
  font-family:"Outfit",sans-serif;
  font-size:18px;
  color:var(--text);
}

.pl-product-cta-card p {
  margin:0 0 16px;
  color:var(--text-secondary);
  line-height:1.7;
}

.pl-buy-anchor {
  position:relative;
  top:-120px;
  height:1px;
  pointer-events:none;
}

.pl-product-sticky {
  position:fixed;
  left:0;
  right:0;
  bottom:16px;
  z-index:1008;
  opacity:0;
  transform:translateY(18px);
  pointer-events:none;
  transition:opacity .28s ease, transform .28s ease;
}

.pl-product-sticky.visible {
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.pl-product-sticky__inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border-radius:24px;
  background:rgba(9,10,13,0.97);
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:0 18px 55px rgba(0,0,0,0.50);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}

.pl-product-sticky__meta {
  display:grid;
  gap:4px;
  min-width:0;
}

.pl-product-sticky__eyebrow {
  color:var(--muted);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pl-product-sticky__meta strong {
  color:var(--text);
  font-size:15px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.pl-product-sticky__actions {
  display:flex;
  align-items:center;
  gap:14px;
  flex-shrink:0;
}

.pl-product-sticky__price {
  font-family:"Outfit",sans-serif;
  font-size:22px;
  font-weight:800;
  color:var(--primary);
}

.pl-product-sticky__price .amount {
  color:inherit;
}



@media (max-width: 782px) {
  .printlume-shop-header-actions {
    justify-content:flex-start;
  }

  .pl-product-highlights {
    grid-template-columns:1fr;
  }

  .pl-product-sticky {
    bottom:10px;
  }

  .pl-product-sticky__inner {
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    border-radius:20px;
  }

  .pl-product-sticky__actions {
    width:100%;
    justify-content:space-between;
  }

  .pl-product-sticky__actions .pill {
    flex:1 1 auto;
    justify-content:center;
  }
}

/* ================================================================
   VISUAL ENHANCEMENTS v2.1
   ================================================================ */

/* ============================
   Product Grid Animations
   ============================ */

/* Staggered entrance */
.woocommerce ul.products li.product {
  opacity: 0;
  animation: plCardReveal .6s var(--ease-out) forwards;
}
.woocommerce ul.products li.product:nth-child(1)  { animation-delay: 0s; }
.woocommerce ul.products li.product:nth-child(2)  { animation-delay: .07s; }
.woocommerce ul.products li.product:nth-child(3)  { animation-delay: .14s; }
.woocommerce ul.products li.product:nth-child(4)  { animation-delay: .18s; }
.woocommerce ul.products li.product:nth-child(5)  { animation-delay: .22s; }
.woocommerce ul.products li.product:nth-child(6)  { animation-delay: .26s; }
.woocommerce ul.products li.product:nth-child(7)  { animation-delay: .30s; }
.woocommerce ul.products li.product:nth-child(8)  { animation-delay: .34s; }
.woocommerce ul.products li.product:nth-child(9)  { animation-delay: .38s; }
.woocommerce ul.products li.product:nth-child(10) { animation-delay: .40s; }
.woocommerce ul.products li.product:nth-child(11) { animation-delay: .42s; }
.woocommerce ul.products li.product:nth-child(12) { animation-delay: .44s; }

@keyframes plCardReveal {
  from { opacity: 0; transform: translateY(28px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Enhanced hover */
.woocommerce ul.products li.product:hover {
  transform: translateY(-8px) scale(1.015);
}

/* Product thumb container */
.printlume-product-thumb {
  position: relative;
  overflow: hidden;
}

/* Image shimmer on hover */
.pl-product-img-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 35%,
    rgba(255, 255, 255, 0.08) 45%,
    rgba(255, 255, 255, 0.12) 50%,
    rgba(255, 255, 255, 0.08) 55%,
    transparent 65%
  );
  transform: translateX(-100%);
  pointer-events: none;
  z-index: 3;
  transition: none;
}

.woocommerce ul.products li.product:hover .pl-product-img-shimmer {
  animation: plShimmer .8s var(--ease) forwards;
}

@keyframes plShimmer {
  to { transform: translateX(100%); }
}

/* Price hover color */
.woocommerce ul.products li.product:hover .price > .woocommerce-Price-amount,
.woocommerce ul.products li.product:hover .price ins .woocommerce-Price-amount {
  color: var(--primary-2) !important;
  transition: color .3s ease;
}

/* Product price row */
.pl-product-price-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

/* ============================
   Product Card Badge Classes
   ============================ */
.pl-material-badge {
  position: absolute;
  bottom: 12px;
  right: 12px;
  z-index: 5;
  padding: 4px 10px;
  border-radius: 8px;
  background: rgba(9, 10, 13, 0.80);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.10);
  color: var(--primary-text-soft, #d0fff2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.pl-product-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.pl-lead-time-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(251, 191, 36, 0.06);
  border: 1px solid rgba(251, 191, 36, 0.12);
  color: #fbbf24;
  font-size: 11px;
  font-weight: 600;
}

.pl-lead-time-badge svg {
  flex-shrink: 0;
}

.pl-custom-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 8px;
  background: var(--primary-faint, rgba(0, 212, 170, 0.06));
  border: 1px solid rgba(0, 212, 170, 0.12);
  color: var(--primary-text, #b0ffe6);
  font-size: 11px;
  font-weight: 600;
}

.pl-custom-badge svg {
  flex-shrink: 0;
}

.pl-low-stock-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border-radius: 8px;
  background: rgba(255, 180, 167, 0.08);
  border: 1px solid rgba(255, 180, 167, 0.16);
  color: #ffb4a7;
  font-size: 11px;
  font-weight: 600;
  animation: plLowStockPulse 2s ease-in-out infinite;
}

.pl-low-stock-badge svg {
  flex-shrink: 0;
}

@keyframes plLowStockPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .7; }
}

/* ============================
   Single Product Enhancements
   ============================ */

/* Gallery zoom cursor */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
  cursor: zoom-in;
}

/* Active thumbnail glow */
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  box-shadow: 0 0 0 4px rgba(0, 212, 170, 0.15);
}

/* Tab panel animation */
.woocommerce div.product .woocommerce-tabs .panel {
  animation: plTabFadeIn .35s ease;
}

@keyframes plTabFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Tab sliding indicator */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  position: relative;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  content: "";
  position: absolute;
  bottom: 6px;
  left: var(--tab-left, 6px);
  width: var(--tab-width, 80px);
  height: 3px;
  background: linear-gradient(90deg, var(--primary), var(--primary-2));
  border-radius: 3px;
  transition: left .35s var(--ease), width .35s var(--ease);
  opacity: .6;
}

/* Trust badge hover */
.pl-trust-badge {
  transition: border-color .25s ease, transform .25s ease;
}

.pl-trust-badge:hover {
  border-color: rgba(0, 212, 170, 0.20);
  transform: translateY(-2px);
}

.pl-trust-badge:hover svg {
  animation: plBadgePulse .5s ease;
}

@keyframes plBadgePulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.2); }
  100% { transform: scale(1); }
}

/* Related products section tag */
.woocommerce .related.products > h2::before,
.woocommerce .up-sells > h2::before,
.woocommerce .cross-sells > h2::before {
  content: attr(data-eyebrow);
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--primary);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

/* ============================
   WooCommerce Notices Enhancement
   ============================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  animation: plNoticeIn .4s var(--ease);
  position: relative;
  padding-left: 48px !important;
}

@keyframes plNoticeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  font-size: 0 !important;
  width: 24px !important;
  height: 24px !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background-size: 20px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.woocommerce-message::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2300d4aa' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3C/svg%3E") !important;
}

.woocommerce-info::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235df0d0' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") !important;
}

.woocommerce-error::before {
  content: "" !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ffb4a7' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") !important;
}

/* ============================
   Form Focus Enhancement
   ============================ */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  animation: plFocusGlow .35s ease forwards;
}

@keyframes plFocusGlow {
  0%   { box-shadow: 0 0 0 0 rgba(0, 212, 170, 0.20); }
  100% { box-shadow: 0 0 0 3px rgba(0, 212, 170, 0.10); }
}

/* Form Validation Feedback */
.woocommerce .form-row.woocommerce-invalid .input-text,
.woocommerce .form-row.woocommerce-invalid select {
  border-color: rgba(255,71,87,.50) !important;
  box-shadow: 0 0 0 3px rgba(255,71,87,.08), 0 0 12px rgba(255,71,87,.06);
  animation: plShakeInvalid .4s ease;
}
.woocommerce .form-row.woocommerce-validated .input-text,
.woocommerce .form-row.woocommerce-validated select {
  border-color: rgba(0,212,170,.40) !important;
  box-shadow: 0 0 0 3px rgba(0,212,170,.06);
}
@keyframes plShakeInvalid {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-4px); }
  40% { transform: translateX(4px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(2px); }
}

/* ============================
   Empty Shop State
   ============================ */
.woocommerce-info.wc-empty-shop,
.woocommerce .woocommerce-info:only-child {
  text-align: center;
  padding: 60px 24px !important;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}

/* Checkout page-header minimal */
.page-header--checkout {
  padding-bottom: 16px !important;
}

.page-header--checkout h1 {
  font-size: clamp(24px, 3vw, 32px);
}

/* ============================
   5c. MY ACCOUNT – LOYALTY CARD
   ============================ */
.pl-loyalty-card {
  background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;
  margin-top:4px;margin-bottom:4px;
}
.pl-loyalty-card__header {
  display:flex;align-items:center;gap:14px;
}
.pl-loyalty-card__rank-icon {
  font-size:32px;flex-shrink:0;
  filter:drop-shadow(0 0 8px currentColor);
}
.pl-loyalty-card__rank-info {
  display:flex;flex-direction:column;gap:2px;flex:1;
}
.pl-loyalty-card__rank-label {
  font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;
}
.pl-loyalty-card__rank-name {
  font-family:'Outfit',sans-serif;font-size:22px;font-weight:700;
}
.pl-loyalty-card__discount {
  background:var(--primary);color:var(--bg);font-family:'Outfit',sans-serif;
  font-weight:700;font-size:16px;padding:6px 14px;border-radius:10px;flex-shrink:0;
}
.pl-loyalty-card__desc {
  display:flex;align-items:center;margin:16px 0 0;font-size:14px;color:var(--text-secondary);
}
.pl-loyalty-card__progress {
  margin-top:20px;
}
.pl-loyalty-card__progress-label {
  font-size:14px;color:var(--text-secondary);margin-bottom:14px;display:block;
}
.pl-loyalty-progress-row {
  margin-bottom:12px;
}
.pl-loyalty-progress-row__label {
  display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin-bottom:6px;
}
.pl-loyalty-progress-row__label i {
  color:var(--primary);font-size:14px;width:16px;text-align:center;
}
.pl-loyalty-bar {
  height:8px;background:var(--bg-2);border-radius:4px;overflow:hidden;
}
.pl-loyalty-bar__fill {
  height:100%;background:linear-gradient(90deg,var(--primary),#00f5c8);border-radius:4px;
  transition:width 0.6s var(--ease);min-width:0;
}
.pl-loyalty-ranks {
  display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);
}
.pl-loyalty-rank-pill {
  display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;
  background:var(--bg-2);font-size:13px;color:var(--muted);transition:all 0.2s var(--ease);
}
.pl-loyalty-rank-pill.is-current {
  background:var(--primary-faint);color:var(--primary-text);border:1px solid rgba(0,212,170,0.18);
}
.pl-loyalty-rank-pill i {
  font-size:14px;
}
.pl-loyalty-rank-pill small {
  font-family:'Outfit',sans-serif;font-weight:600;font-size:11px;
  background:rgba(255,255,255,0.08);padding:2px 6px;border-radius:6px;
}
.pl-loyalty-rank-pill.is-current small {
  background:var(--primary);color:var(--bg);
}

@media(max-width:768px){
  .pl-loyalty-card { padding:18px; }
  .pl-loyalty-card__rank-icon { font-size:26px; }
  .pl-loyalty-card__rank-name { font-size:18px; }
  .pl-loyalty-ranks { gap:6px; }
  .pl-loyalty-rank-pill { padding:5px 10px;font-size:12px; }
}

/* ============================
   Reduced Motion
   ============================ */
@media (prefers-reduced-motion: reduce) {
  .woocommerce ul.products li.product {
    animation: none !important;
    opacity: 1;
  }

  .pl-product-img-shimmer {
    display: none;
  }

  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  .woocommerce div.product .woocommerce-tabs .panel {
    animation: none !important;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs::after {
    transition: none;
  }
}
