/* PenioDidinimas Premium — design system (portuotas iš Lovable src/styles.css) */

/* Explicitly declare a light-only page: without this, browsers/OSes with a
   forced/auto dark mode (Chrome "Force dark mode for web content", Android,
   some Windows setups) repaint every unstyled-background element with an
   algorithmic dark filter - which is exactly what made the checkout/cart
   pages (plain WooCommerce markup with no explicit background-color of
   their own) look broken with unreadable dark-on-dark text for some visitors,
   even though the actual CSS below is a light theme throughout. */
:root{ color-scheme: light; }
html, body{ background-color:#f9f7f4; color-scheme: light; }

:root{
  --radius:.25rem;
  --background:#f9f7f4;
  --foreground:#20222b;
  --card:#fdfcfb;
  --card-foreground:#20222b;
  --secondary:#eeece7;
  --secondary-foreground:#2b2e38;
  --muted:#eeece7;
  --muted-foreground:#6c6f79;
  --border:#e3dfd6;
  --input:#e3dfd6;

  --ink:#1c1f28;
  --ink-foreground:#f7f5f1;
  --ink-muted:#a7abb6;
  --ink-border:#383c48;

  --copper:#b8632f;
  --copper-dark:#9c5427;
  --copper-foreground:#fffaf6;

  --success:#3f8f5f;
  --sand:#ece6da;

  --font-display:"Barlow Condensed","Arial Narrow",sans-serif;
  --font-sans:"Manrope",ui-sans-serif,system-ui,sans-serif;
}

.pd{ all:initial; }

.pd, .pd *{
  box-sizing:border-box;
}

.pd{
  display:block;
  font-family:var(--font-sans);
  color:var(--foreground);
  background:var(--background);
  -webkit-font-smoothing:antialiased;
  font-size:16px;
  line-height:1.5;
}

.pd h1,.pd h2,.pd h3,.pd h4{
  font-family:var(--font-display);
  font-weight:700;
  letter-spacing:.01em;
  text-transform:uppercase;
  line-height:1.02;
  margin:0;
  color:inherit;
}

.pd p{ margin:0; }
.pd a{ color:inherit; text-decoration:none; }
.pd ul,.pd ol{ margin:0; padding:0; list-style:none; }
.pd img{ display:block; max-width:100%; height:auto; }
.pd button{ font-family:inherit; cursor:pointer; }

.pd .section-x{
  margin-inline:auto;
  width:100%;
  max-width:80rem;
  padding-inline:1.25rem;
}

.pd .eyebrow{
  font-family:var(--font-sans);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--copper);
  display:block;
}

.pd .bg-ink{ background:var(--ink); color:var(--ink-foreground); }
.pd .bg-sand{ background:var(--sand); }
.pd .bg-card{ background:var(--card); }
.pd .text-copper{ color:var(--copper); }
.pd .text-muted{ color:var(--muted-foreground); }
.pd .tone-dark .text-muted, .pd .bg-ink .text-muted{ color:var(--ink-muted); }

/* Buttons */
.pd .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--font-sans);font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  transition:background-color .15s,border-color .15s,color .15s;
  border:1px solid transparent;height:2.75rem;padding:0 1.5rem;font-size:.75rem;
}
.pd .btn-lg{ height:3.5rem;padding:0 2rem;font-size:.875rem; }
.pd .btn-block{ height:3.5rem;width:100%;padding:0 1.5rem;font-size:.875rem; }
.pd .btn-copper{ background:var(--copper); color:var(--copper-foreground); }
.pd .btn-copper:hover{ background:var(--copper-dark); }
.pd .btn-ink{ background:var(--ink); color:var(--ink-foreground); }
.pd .btn-ink:hover{ background:#111319; }
.pd .btn-outline{ border-color:rgba(32,34,43,.25); color:var(--foreground); background:transparent; }
.pd .btn-outline:hover{ background:rgba(32,34,43,.05); }
.pd .btn-outline-ink{ border-color:rgba(247,245,241,.35); color:var(--ink-foreground); background:transparent; }
.pd .btn-outline-ink:hover{ background:rgba(247,245,241,.1); }
.pd .btn:disabled{ opacity:.5;pointer-events:none; }

/* Layout helpers */
.pd .py-16{ padding-block:4rem; } .pd .py-24{ padding-block:6rem; }
.pd .py-14{ padding-block:3.5rem; } .pd .py-20{ padding-block:5rem; }
.pd .grid{ display:grid; gap:1.5rem; }
.pd .grid-2{ grid-template-columns:repeat(2,1fr); }
.pd .grid-3{ grid-template-columns:repeat(3,1fr); }
.pd .grid-4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .pd .grid-2,.pd .grid-3,.pd .grid-4{ grid-template-columns:1fr; } }
@media (min-width:601px) and (max-width:900px){ .pd .grid-3,.pd .grid-4{ grid-template-columns:repeat(2,1fr); } }

.pd .section-heading{ max-width:42rem; }
.pd .section-heading.center{ margin-inline:auto; text-align:center; }
.pd .section-heading h2{ margin-top:.75rem; font-size:2rem; }
.pd .section-heading p{ margin-top:1rem; font-size:.875rem; line-height:1.6; color:var(--muted-foreground); }
.pd .bg-ink .section-heading p{ color:var(--ink-muted); }
@media (min-width:768px){ .pd .section-heading h2{ font-size:2.75rem; } }

/* Stars */
.pd .stars{ display:inline-flex; align-items:center; gap:1px; }
.pd .stars svg{ width:14px;height:14px; }
.pd .stars .on{ fill:var(--copper); color:var(--copper); }
.pd .stars .off{ color:rgba(108,111,121,.35); fill:none; }

/* Announcement + header */
.announcement{ background:var(--copper); color:var(--copper-foreground); }
.announcement .section-x{ display:flex; align-items:center; justify-content:center; gap:.75rem; padding-block:.5rem; text-align:center; font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.16em; }
.announcement .sep{ opacity:.6; }
.announcement svg{ width:14px;height:14px; flex-shrink:0; }
.pd-header .burger svg{ width:20px;height:20px; }
.pd-cart-drawer svg{ width:18px;height:18px; }
.pd-cart-drawer .empty svg{ width:32px;height:32px; }

.pd-header{ position:sticky; top:0; z-index:50; font-family:var(--font-sans); }
.pd-header .bar{ background:var(--ink); color:var(--ink-foreground); border-bottom:1px solid var(--ink-border); }
.pd-header .bar .section-x{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1rem; padding-block:.85rem; }
.pd-header .wordmark{ font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:1.35rem; }
.pd-header .wordmark span{ color:var(--copper); }
.pd-header nav.primary{ display:none; align-items:center; justify-content:center; gap:1.5rem; }
.pd-header nav.primary a{ white-space:nowrap; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:rgba(247,245,241,.85); transition:color .15s; }
.pd-header nav.primary a:hover, .pd-header nav.primary a.current{ color:var(--copper); }
@media (min-width:1024px){ .pd-header nav.primary{ display:flex; } .pd-header .burger{ display:none; } }
.pd-header .icons{ display:flex; align-items:center; gap:.15rem; justify-self:end; }
.pd-header .icon-btn{ display:grid; place-items:center; height:2.25rem; width:2.25rem; background:transparent; border:0; color:inherit; position:relative; }
.pd-header .icon-btn:hover{ color:var(--copper); }
.pd-header .icon-btn svg{ width:18px;height:18px; }
.pd-header .cart-count{ position:absolute; top:-2px; right:-2px; display:grid; place-items:center; min-width:16px; height:16px; padding:0 3px; border-radius:999px; background:var(--copper); color:var(--copper-foreground); font-size:10px; font-weight:700; }
.pd-header .burger{ display:grid; place-items:center; height:2.25rem; width:2.25rem; background:none; border:0; color:inherit; margin-left:-.25rem; }
.pd-header .search-row{ border-top:1px solid var(--ink-border); background:var(--ink); display:none; }
.pd-header .search-row.open{ display:block; }
.pd-header .search-row .section-x{ padding-block:.75rem; }
.pd-header .search-row input{ width:100%; height:2.75rem; border:1px solid var(--ink-border); background:var(--ink); color:var(--ink-foreground); padding:0 .9rem; font-size:.9rem; }
.pd-header .search-row input::placeholder{ color:var(--ink-muted); }

.pd-mobile-menu{ position:fixed; inset:0; z-index:60; display:none; }
.pd-mobile-menu.open{ display:block; }
.pd-mobile-menu .overlay{ position:absolute; inset:0; background:rgba(0,0,0,.5); }
.pd-mobile-menu .panel{ position:relative; height:100%; width:86vw; max-width:24rem; background:var(--ink); color:var(--ink-foreground); display:flex; flex-direction:column; }
.pd-mobile-menu .panel-head{ display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid var(--ink-border); }
.pd-mobile-menu .panel-head button{ background:none; border:0; color:inherit; }
.pd-mobile-menu .panel-head svg{ width:20px;height:20px; }
.pd-mobile-menu nav{ padding:.5rem 1.25rem; display:flex; flex-direction:column; overflow-y:auto; }
.pd-mobile-menu nav a{ border-bottom:1px solid var(--ink-border); padding:1rem 0; font-family:var(--font-display); font-size:1.1rem; text-transform:uppercase; letter-spacing:.02em; }

/* Footer */
.pd-footer{ background:var(--ink); color:var(--ink-foreground); font-family:var(--font-sans); }
.pd-footer .strip{ border-bottom:1px solid var(--ink-border); }
.pd-footer .strip .section-x{ display:grid; gap:1.5rem; padding-block:2.5rem; grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .pd-footer .strip .section-x{ grid-template-columns:repeat(2,1fr); } }
.pd-footer .strip-item{ display:flex; gap:.75rem; align-items:flex-start; }
.pd-footer .strip-item svg{ width:20px;height:20px; color:var(--copper); flex-shrink:0; margin-top:2px; }
.pd-footer .strip-item p.title{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.pd-footer .strip-item p.text{ margin-top:.25rem; font-size:.875rem; color:var(--ink-muted); }
.pd-footer .cols{ display:grid; gap:2.5rem; padding-block:3.5rem; grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .pd-footer .cols{ grid-template-columns:repeat(2,1fr); } }
.pd-footer .cols h3{ font-family:var(--font-display); font-size:.9rem; letter-spacing:.16em; text-transform:uppercase; }
.pd-footer .cols ul{ margin-top:1rem; display:flex; flex-direction:column; gap:.5rem; font-size:.875rem; color:var(--ink-muted); }
.pd-footer .cols ul a:hover{ color:var(--copper); }
.pd-footer .cols .wordmark{ font-family:var(--font-display); font-size:1.5rem; text-transform:uppercase; letter-spacing:.12em; }
.pd-footer .cols .wordmark span{ color:var(--copper); }
.pd-footer .cols p.lead{ margin-top:1rem; max-width:20rem; font-size:.875rem; line-height:1.6; color:var(--ink-muted); }
.pd-footer .bottom{ border-top:1px solid var(--ink-border); }
.pd-footer .bottom .section-x{ display:flex; flex-direction:column; gap:.5rem; padding-block:1.5rem; font-size:.75rem; color:var(--ink-muted); }
@media (min-width:640px){ .pd-footer .bottom .section-x{ flex-direction:row; align-items:center; justify-content:space-between; } }

/* Product card */
.pd .product-card{ display:flex; flex-direction:column; border:1px solid var(--border); background:var(--card); transition:box-shadow .2s; }
.pd .product-card:hover{ box-shadow:0 18px 40px -28px rgba(0,0,0,.55); }
.pd .product-card .thumb{ position:relative; display:block; overflow:hidden; background:var(--secondary); aspect-ratio:1/1; }
.pd .product-card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.pd .product-card:hover .thumb img{ transform:scale(1.03); }
.pd .badge{ position:absolute; left:0; top:1rem; padding:.35rem .75rem; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }
.pd .badge-copper{ background:var(--copper); color:var(--copper-foreground); }
.pd .badge-ink{ background:var(--ink); color:var(--ink-foreground); }
.pd .product-card .body{ display:flex; flex:1; flex-direction:column; padding:1.25rem; }
.pd .product-card .rating-row{ display:flex; align-items:center; gap:.5rem; }
.pd .product-card .rating-row .count{ font-size:.75rem; color:var(--muted-foreground); }
.pd .product-card h3{ margin-top:.75rem; font-size:1.125rem; line-height:1.2; }
.pd .product-card h3:hover{ color:var(--copper); }
.pd .product-card .tagline{ margin-top:.5rem; font-size:.875rem; color:var(--muted-foreground); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pd .price-row{ margin-top:1rem; display:flex; align-items:baseline; gap:.5rem; }
.pd .price-old{ font-size:.875rem; color:var(--muted-foreground); text-decoration:line-through; }
.pd .price-now{ font-family:var(--font-display); font-size:1.5rem; color:var(--copper); }
.pd .product-card .actions{ margin-top:1.25rem; display:flex; flex-direction:column; gap:.5rem; }
.pd .link-more{ text-align:center; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; color:var(--muted-foreground); }
.pd .link-more:hover{ color:var(--copper); }

/* Bundle card */
.pd .bundle-card{ display:grid; gap:2rem; border:1px solid var(--ink-border); background:var(--ink); color:var(--ink-foreground); padding:1.5rem; }
@media (min-width:768px){ .pd .bundle-card{ padding:2.5rem; } }
@media (min-width:1024px){ .pd .bundle-card{ grid-template-columns:1fr 1fr; align-items:center; } }
.pd .bundle-images{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:.75rem; }
.pd .bundle-images img{ aspect-ratio:1/1; width:100%; border:1px solid var(--ink-border); object-fit:cover; }
.pd .bundle-images svg{ width:24px;height:24px; color:var(--copper); }
.pd .bundle-card h3{ margin-top:.75rem; font-size:1.875rem; }
@media (min-width:768px){ .pd .bundle-card h3{ font-size:2.25rem; } }
.pd .bundle-card .desc{ margin-top:1rem; font-size:.875rem; line-height:1.6; color:var(--ink-muted); }
.pd .bundle-price{ margin-top:1.5rem; display:flex; flex-wrap:wrap; align-items:baseline; gap:.75rem; }
.pd .bundle-price .old{ font-size:1.125rem; color:var(--ink-muted); text-decoration:line-through; }
.pd .bundle-price .now{ font-family:var(--font-display); font-size:2.25rem; color:var(--copper); }
.pd .bundle-note{ margin-top:.75rem; font-size:.75rem; color:var(--ink-muted); }

/* Bundle teaser */
.pd .bundle-teaser{ display:flex; flex-direction:column; border:1px solid rgba(184,99,47,.5); background:rgba(184,99,47,.05); }
.pd .bundle-teaser .body{ display:flex; flex:1; flex-direction:column; padding:1.25rem; }
.pd .bundle-teaser h3{ font-size:1.125rem; }
.pd .bundle-teaser p{ margin-top:.5rem; font-size:.875rem; color:var(--muted-foreground); }
.pd .bundle-teaser .cta{ margin-top:auto; display:flex; align-items:center; justify-content:center; height:3.5rem; background:var(--ink); color:var(--ink-foreground); font-size:.875rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.pd .bundle-teaser .cta:hover{ background:#111319; }

/* Trust bar */
.pd .trust-bar{ background:var(--sand); }
.pd .trust-bar.dark{ background:var(--ink); color:var(--ink-foreground); }
.pd .trust-bar .section-x{ display:grid; gap:1.5rem; padding-block:2rem; grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .pd .trust-bar .section-x{ grid-template-columns:repeat(2,1fr); } }
.pd .trust-item{ display:flex; gap:.75rem; align-items:flex-start; }
.pd .trust-item svg{ width:20px;height:20px; color:var(--copper); flex-shrink:0; margin-top:2px; }
.pd .trust-item p.title{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.pd .trust-item p.text{ margin-top:.25rem; font-size:.875rem; color:var(--muted-foreground); }
.pd .trust-bar.dark .trust-item p.text{ color:var(--ink-muted); }

/* Review card */
.pd .review-card{ display:flex; height:100%; flex-direction:column; border:1px solid var(--border); background:var(--card); padding:1.5rem; }
.pd .review-card p.text{ margin-top:1rem; flex:1; font-size:.875rem; line-height:1.6; color:rgba(32,34,43,.85); }
.pd .review-foot{ margin-top:1.5rem; display:flex; align-items:center; gap:.75rem; border-top:1px solid var(--border); padding-top:1rem; }
.pd .review-avatar{ display:grid; place-items:center; height:2.25rem; width:2.25rem; flex-shrink:0; border-radius:999px; background:var(--secondary); font-size:.75rem; font-weight:700; }
.pd .review-foot .name{ font-size:.875rem; font-weight:700; }
.pd .review-foot .product{ font-size:.75rem; color:var(--muted-foreground); }
.pd .verified{ margin-left:auto; flex-shrink:0; display:flex; align-items:center; gap:.25rem; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--success); }
.pd .verified svg{ width:14px;height:14px; }

/* FAQ accordion */
.pd .faq-item{ border-bottom:1px solid var(--border); }
.pd .faq-item summary{ list-style:none; cursor:pointer; padding:1.25rem 0; font-size:.9rem; font-weight:700; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.pd .faq-item summary::-webkit-details-marker{ display:none; }
.pd .faq-item summary .chev{ transition:transform .2s; flex-shrink:0; width:16px;height:16px; }
.pd .faq-item[open] summary .chev{ transform:rotate(180deg); }
.pd .faq-item .a{ padding-bottom:1.25rem; font-size:.875rem; line-height:1.6; color:var(--muted-foreground); }

/* Hero */
.pd .hero{ position:relative; overflow:hidden; background:var(--ink); color:var(--ink-foreground); }
.pd .hero .section-x{ display:grid; align-items:center; gap:2.5rem; padding-block:3.5rem; }
@media (min-width:1024px){ .pd .hero .section-x{ grid-template-columns:1fr 1fr; padding-block:6rem; } }
.pd .hero h1{ margin-top:1rem; font-size:2.5rem; line-height:.98; }
@media (min-width:640px){ .pd .hero h1{ font-size:3rem; } }
@media (min-width:1024px){ .pd .hero h1{ font-size:3.75rem; } }
.pd .hero .lead{ margin-top:1.25rem; max-width:32rem; font-size:.875rem; line-height:1.6; color:var(--ink-muted); }
@media (min-width:640px){ .pd .hero .lead{ font-size:1rem; } }
.pd .hero .cta-row{ margin-top:2rem; display:flex; flex-direction:column; gap:.75rem; }
@media (min-width:640px){ .pd .hero .cta-row{ flex-direction:row; } }
.pd .hero .rating-row{ margin-top:2rem; display:flex; flex-wrap:wrap; align-items:center; gap:1rem; font-size:.75rem; color:var(--ink-muted); }
.pd .hero img{ width:100%; object-fit:cover; }

/* Education / feature rows */
.pd .edu-row{ display:grid; align-items:center; gap:2rem; }
@media (min-width:1024px){ .pd .edu-row{ grid-template-columns:1fr 1fr; gap:4rem; } }
.pd .edu-row.reverse .edu-text{ order:2; }
.pd .edu-row .num{ font-family:var(--font-sans); }
.pd .edu-row h2{ margin-top:.75rem; font-size:1.875rem; }
@media (min-width:640px){ .pd .edu-row h2{ font-size:2.25rem; } }
.pd .edu-row p{ margin-top:1rem; font-size:.875rem; line-height:1.6; color:var(--muted-foreground); }
@media (min-width:640px){ .pd .edu-row p{ font-size:1rem; } }
.pd .edu-row img{ aspect-ratio:4/3; width:100%; object-fit:cover; }
.pd .space-y-16 > * + *{ margin-top:4rem; }
@media (min-width:640px){ .pd .space-y-16 > * + *{ margin-top:6rem; } }

/* Single product */
.pd .breadcrumbs{ padding-block:1rem; font-size:.75rem; color:var(--muted-foreground); }
.pd .breadcrumbs a:hover{ color:var(--copper); }
.pd .breadcrumbs .sep{ margin-inline:.5rem; }
.pd .product-main{ display:grid; gap:2.5rem; padding-block:1rem 3.5rem; }
@media (min-width:1024px){ .pd .product-main{ grid-template-columns:1fr 1fr; gap:3.5rem; } }
.pd .gallery-main{ position:relative; aspect-ratio:1/1; width:100%; overflow:hidden; background:var(--secondary); }
.pd .gallery-main img{ width:100%; height:100%; object-fit:cover; }
.pd .gallery-thumbs{ margin-top:.75rem; display:grid; grid-template-columns:repeat(4,1fr); gap:.75rem; }
.pd .gallery-thumbs button{ aspect-ratio:1/1; overflow:hidden; border:1px solid var(--border); background:var(--secondary); padding:0; }
.pd .gallery-thumbs button.active{ border-color:var(--copper); }
.pd .gallery-thumbs img{ width:100%; height:100%; object-fit:cover; }
.pd .product-info h1{ font-size:1.875rem; line-height:1.2; text-transform:none; }
@media (min-width:640px){ .pd .product-info h1{ font-size:2.25rem; } }
.pd .product-info .meta-row{ margin-top:.75rem; display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.pd .in-stock{ display:flex; align-items:center; gap:.25rem; font-size:.75rem; font-weight:700; color:var(--success); }
.pd .in-stock svg{ width:14px;height:14px; }
.pd .product-info .price-row{ margin-top:1.25rem; }
.pd .product-info .price-row .now{ font-family:var(--font-display); font-size:2.25rem; }
.pd .product-info .vat{ font-size:.75rem; color:var(--muted-foreground); }
.pd .product-info .desc{ margin-top:1.25rem; font-size:.875rem; line-height:1.6; color:var(--muted-foreground); }
.pd .product-info .desc ul, .pd .product-info .desc ol{ list-style:disc; padding-left:1.25rem; margin:.5rem 0; }
.pd .product-info .desc p{ margin:.5rem 0; }
.pd .benefit-list{ margin-top:1.25rem; display:flex; flex-direction:column; gap:.5rem; }
.pd .benefit-list li{ display:flex; align-items:flex-start; gap:.5rem; font-size:.875rem; }
.pd .benefit-list svg{ width:16px;height:16px; margin-top:2px; flex-shrink:0; color:var(--copper); }
.pd .mini-trust{ margin-top:1.75rem; display:grid; gap:.75rem; border-top:1px solid var(--border); padding-top:1.5rem; grid-template-columns:repeat(3,1fr); }
@media (max-width:640px){ .pd .mini-trust{ grid-template-columns:1fr; } }
.pd .mini-trust .item{ display:flex; gap:.5rem; align-items:flex-start; }
.pd .mini-trust svg{ width:16px;height:16px; margin-top:2px; flex-shrink:0; color:var(--copper); }
.pd .mini-trust p.title{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.pd .mini-trust p.text{ margin-top:.15rem; font-size:.75rem; color:var(--muted-foreground); }

/* Bundle selector */
.pd .bundle-selector{ display:flex; flex-direction:column; gap:.75rem; }
.pd .bundle-selector > p.label{ font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; color:var(--muted-foreground); }
.pd .choice{ width:100%; display:flex; align-items:center; gap:1rem; border:1px solid var(--border); padding:1rem; text-align:left; background:none; }
.pd .choice:hover{ border-color:rgba(32,34,43,.3); }
.pd .choice.selected{ border-color:var(--ink); background:var(--secondary); }
.pd .choice.bundle{ position:relative; flex-wrap:wrap; padding-top:1.5rem; }
.pd .choice.bundle.selected{ border-color:var(--copper); background:rgba(184,99,47,.05); }
.pd .choice .radio{ display:grid; place-items:center; height:1.25rem; width:1.25rem; flex-shrink:0; border-radius:999px; border:1px solid var(--border); }
.pd .choice.selected .radio{ border-color:var(--ink); background:var(--ink); color:var(--ink-foreground); }
.pd .choice.bundle.selected .radio{ border-color:var(--copper); background:var(--copper); color:var(--copper-foreground); }
.pd .choice .radio svg{ width:12px;height:12px; }
.pd .choice img{ height:3.5rem; width:3.5rem; flex-shrink:0; border:1px solid var(--border); object-fit:cover; }
.pd .choice .stack{ display:flex; flex-shrink:0; }
.pd .choice .stack img:last-child{ margin-left:-.75rem; }
.pd .choice .info{ min-width:0; flex:1; }
.pd .choice .info .t{ display:block; font-size:.875rem; font-weight:700; }
.pd .choice .info .s{ display:block; margin-top:.25rem; font-size:.75rem; color:var(--muted-foreground); }
.pd .choice .info .save{ color:var(--copper); font-weight:600; }
.pd .choice .amt{ flex-shrink:0; text-align:right; }
.pd .choice .amt .old{ display:block; font-size:.75rem; color:var(--muted-foreground); text-decoration:line-through; }
.pd .choice .amt .now{ font-family:var(--font-display); font-size:1.25rem; }
.pd .choice.bundle .amt .now{ color:var(--copper); }
.pd .choice .badge-corner{ position:absolute; top:-.6rem; left:1rem; background:var(--copper); color:var(--copper-foreground); padding:.25rem .5rem; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }

.pd .qty-buy{ margin-top:1.5rem; display:flex; align-items:center; gap:.75rem; }
.pd .qty-box{ display:flex; align-items:center; height:3.5rem; border:1px solid var(--border); }
.pd .qty-box button{ display:grid; place-items:center; height:100%; width:2.75rem; background:none; border:0; }
.pd .qty-box button svg{ width:16px;height:16px; }
.pd .qty-box .val{ width:2rem; text-align:center; font-size:.875rem; font-weight:700; }
.pd .qty-buy form{ flex:1; }
.pd .bundle-note-active{ margin-top:.75rem; font-size:.875rem; font-weight:700; color:var(--copper); }

.pd .steps-grid{ margin:2.5rem auto 0; max-width:56rem; display:grid; gap:1.5rem; grid-template-columns:repeat(2,1fr); }
@media (max-width:640px){ .pd .steps-grid{ grid-template-columns:1fr; } }
.pd .step{ display:flex; gap:1rem; border:1px solid var(--border); background:var(--card); padding:1.25rem; }
.pd .step .n{ font-family:var(--font-display); font-size:1.5rem; color:var(--copper); }
.pd .step p{ font-size:.875rem; line-height:1.6; color:var(--muted-foreground); }

.pd .benefit-grid{ margin-top:2.5rem; display:grid; gap:1.5rem; grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .pd .benefit-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .pd .benefit-grid{ grid-template-columns:1fr; } }
.pd .benefit-box{ border:1px solid var(--ink-border); padding:1.5rem; }
.pd .benefit-box h3{ font-size:1rem; text-transform:none; }
.pd .benefit-box p{ margin-top:.75rem; font-size:.875rem; line-height:1.6; color:var(--ink-muted); }

.pd .two-col{ display:grid; gap:2.5rem; padding-block:3.5rem; }
@media (min-width:640px){ .pd .two-col{ grid-template-columns:1fr 1fr; } }
.pd .included-list li{ display:flex; align-items:flex-start; gap:.5rem; font-size:.875rem; padding-block:.4rem; }
.pd .included-list svg{ width:16px;height:16px; margin-top:2px; flex-shrink:0; color:var(--copper); }
.pd .included-list{ margin-top:1.5rem; }
.pd .specs-list{ margin-top:1.5rem; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.pd .specs-list .row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding-block:.75rem; font-size:.875rem; border-top:1px solid var(--border); }
.pd .specs-list .row:first-child{ border-top:0; }
.pd .specs-list dt{ font-weight:700; }
.pd .specs-list dd{ color:var(--muted-foreground); margin:0; }

.pd .compare-table-wrap{ margin-top:2.5rem; overflow-x:auto; }
.pd table.compare{ width:100%; min-width:520px; border:1px solid var(--border); background:var(--card); font-size:.875rem; border-collapse:collapse; }
.pd table.compare th{ background:var(--secondary); text-align:left; padding:1rem; font-weight:700; }
.pd table.compare td{ padding:1rem; border-top:1px solid var(--border); }
.pd table.compare td:first-child{ font-weight:700; }
.pd table.compare td:not(:first-child){ color:var(--muted-foreground); }

.pd .sticky-buy{ position:fixed; inset-inline:0; bottom:0; z-index:40; border-top:1px solid var(--border); background:rgba(253,252,251,.95); backdrop-filter:blur(6px); padding:.75rem; display:none; }
@media (max-width:1023px){ .pd .sticky-buy.show{ display:block; } }
.pd .sticky-buy .row{ display:grid; grid-template-columns:auto 1fr; align-items:center; gap:.75rem; }
.pd .sticky-buy .label{ font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted-foreground); }
.pd .sticky-buy .amt{ font-family:var(--font-display); font-size:1.25rem; color:var(--copper); }

/* Category / archive hero */
.pd .cat-hero{ background:var(--ink); color:var(--ink-foreground); padding-block:3.5rem; }
@media (min-width:640px){ .pd .cat-hero{ padding-block:5rem; } }
.pd .cta-band{ background:var(--ink); color:var(--ink-foreground); padding-block:4rem; text-align:center; }
@media (min-width:640px){ .pd .cta-band{ padding-block:6rem; } }
.pd .cta-band h2{ font-size:1.875rem; }
@media (min-width:640px){ .pd .cta-band h2{ font-size:3rem; } }
.pd .cta-band p{ margin:1rem auto 0; max-width:32rem; font-size:.875rem; color:var(--ink-muted); }
.pd .cta-band .row{ margin-top:2rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }

/* Cart drawer */
.pd-cart-drawer{ position:fixed; inset:0; z-index:70; display:none; }
.pd-cart-drawer.open{ display:block; }
.pd-cart-drawer .overlay{ position:absolute; inset:0; background:rgba(0,0,0,.5); }
.pd-cart-drawer .panel{ position:absolute; right:0; top:0; height:100%; width:100%; max-width:26rem; background:var(--card); display:flex; flex-direction:column; font-family:var(--font-sans); color:var(--foreground); }
.pd-cart-drawer .head{ border-bottom:1px solid var(--border); padding:1rem 1.25rem; display:flex; align-items:center; justify-content:space-between; }
.pd-cart-drawer .head h2{ font-size:1.125rem; text-transform:uppercase; }
.pd-cart-drawer .head button{ background:none; border:0; }
.pd-cart-drawer .ship-bar{ border-bottom:1px solid var(--border); background:var(--secondary); padding:.75rem 1.25rem; }
.pd-cart-drawer .ship-bar p{ font-size:.75rem; color:var(--muted-foreground); }
.pd-cart-drawer .ship-track{ margin-top:.5rem; height:6px; width:100%; background:var(--border); }
.pd-cart-drawer .ship-fill{ height:100%; background:var(--copper); transition:width .3s; }
.pd-cart-drawer .body{ flex:1; overflow-y:auto; padding:1rem 1.25rem; }
.pd-cart-drawer .empty{ height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.75rem; text-align:center; }
.pd-cart-drawer .line{ display:flex; gap:1rem; border-bottom:1px solid var(--border); padding-bottom:1rem; margin-bottom:1rem; }
.pd-cart-drawer .line img{ height:5rem; width:5rem; flex-shrink:0; border:1px solid var(--border); object-fit:cover; }
.pd-cart-drawer .line .name{ font-size:.875rem; font-weight:700; }
.pd-cart-drawer .line .price{ margin-top:.25rem; font-size:.875rem; color:var(--copper); }
.pd-cart-drawer .foot{ border-top:1px solid var(--border); padding:1rem 1.25rem; }
.pd-cart-drawer .foot .row{ display:flex; justify-content:space-between; font-size:.875rem; color:var(--muted-foreground); }
.pd-cart-drawer .foot .total{ margin-top:.75rem; display:flex; align-items:baseline; justify-content:space-between; border-top:1px solid var(--border); padding-top:.75rem; }
.pd-cart-drawer .foot .total .lbl{ font-size:.875rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.pd-cart-drawer .foot .total .amt{ font-family:var(--font-display); font-size:1.5rem; color:var(--copper); }

/* Contact cards */
.pd .contact-grid{ display:grid; gap:2rem; padding-block:3.5rem; grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .pd .contact-grid{ grid-template-columns:1fr; } }
.pd .contact-card{ border:1px solid var(--border); background:var(--card); padding:1.5rem; }
.pd .contact-card svg{ width:20px;height:20px; color:var(--copper); }
.pd .contact-card h2{ margin-top:1rem; font-size:1.125rem; text-transform:none; }
.pd .contact-card .lines{ margin-top:.75rem; display:flex; flex-direction:column; gap:.25rem; font-size:.875rem; color:var(--muted-foreground); }

.hide-sm{ display:none; }
@media (min-width:640px){ .hide-sm{ display:inline-flex; } }

.pd .center-cta{ text-align:center; }
.pd .center-cta .row{ margin-top:2rem; display:flex; justify-content:center; gap:.75rem; flex-wrap:wrap; }

/* Generic WooCommerce pages (shop/account/order-received) - re-skinned with the design tokens.
   Deliberately does NOT touch base text/link color: Shoptimizer's own "Distraction Free
   Checkout" (cart-checkout.min.css) uses a dark background with light text there, and a
   blanket color override on .woocommerce broke that contrast. Only safe, additive touches
   (accent color on things that were already colored, never base text) go here. */
.woocommerce table.shop_table{ border:1px solid var(--border); }
.woocommerce:not(.checkout-wrap-inner) table.shop_table th{ background:var(--secondary); font-family:var(--font-sans); font-weight:700; text-transform:uppercase; font-size:.75rem; letter-spacing:.08em; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.checkout-button, .woocommerce-Button, .woocommerce #place_order {
  background:var(--copper); color:var(--copper-foreground); border-radius:0; border:0;
  font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:.8rem; padding:.85rem 1.5rem;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce #place_order:hover{ background:var(--copper-dark); color:var(--copper-foreground); }
.woocommerce ul.products li.product .price ins, .woocommerce span.price{ color:var(--copper); }
.woocommerce-message, .woocommerce-info{ border-top-color:var(--copper); }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--copper); }
