/*
 * PingooBuy Design System - Main Stylesheet
 * Brand: Yellow #F5C800 / Black #1A1A1A / White
 * Namespace: pb- (PingooBuy)
 */

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
  /* Brand Colors */
  --pb-gold:        #F5C800;
  --pb-gold-dark:   #D9AD00;
  --pb-gold-light:  #FFF3B0;
  --pb-gold-glow:   rgba(245, 200, 0, 0.25);
  --pb-black:       #1A1A1A;
  --pb-charcoal:    #2C2C2C;
  --pb-dark:        #111111;
  --pb-white:       #FFFFFF;
  --pb-off-white:   #FAFAF8;
  --pb-gray-50:     #F7F7F5;
  --pb-gray-100:    #EFEFED;
  --pb-gray-200:    #E0E0DB;
  --pb-gray-400:    #ADADAA;
  --pb-gray-600:    #737370;
  --pb-gray-800:    #3D3D3A;

  /* Semantic Colors */
  --pb-success:     #16A34A;
  --pb-success-bg:  #F0FDF4;
  --pb-error:       #DC2626;
  --pb-error-bg:    #FEF2F2;
  --pb-warning:     #D97706;
  --pb-info:        #2563EB;

  /* Typography */
  --pb-font-display:  'Barlow', system-ui, sans-serif;
  --pb-font-body:     'DM Sans', system-ui, sans-serif;
  --pb-font-mono:     'DM Mono', monospace;

  --pb-text-xs:     0.75rem;
  --pb-text-sm:     0.875rem;
  --pb-text-base:   1rem;
  --pb-text-lg:     1.125rem;
  --pb-text-xl:     1.25rem;
  --pb-text-2xl:    1.5rem;
  --pb-text-3xl:    1.875rem;
  --pb-text-4xl:    2.25rem;
  --pb-text-5xl:    3rem;

  --pb-weight-normal:   400;
  --pb-weight-medium:   500;
  --pb-weight-semibold: 600;
  --pb-weight-bold:     700;
  --pb-weight-black:    900;

  --pb-leading-tight:   1.2;
  --pb-leading-snug:    1.35;
  --pb-leading-normal:  1.6;
  --pb-leading-relaxed: 1.75;

  /* Spacing */
  --pb-space-1:  0.25rem;
  --pb-space-2:  0.5rem;
  --pb-space-3:  0.75rem;
  --pb-space-4:  1rem;
  --pb-space-5:  1.25rem;
  --pb-space-6:  1.5rem;
  --pb-space-8:  2rem;
  --pb-space-10: 2.5rem;
  --pb-space-12: 3rem;
  --pb-space-16: 4rem;
  --pb-space-20: 5rem;
  --pb-space-24: 6rem;

  /* Radii */
  --pb-radius-sm:   6px;
  --pb-radius-md:   10px;
  --pb-radius-lg:   16px;
  --pb-radius-xl:   24px;
  --pb-radius-full: 9999px;

  /* Shadows */
  --pb-shadow-sm:   0 1px 3px rgba(0,0,0,0.08);
  --pb-shadow-md:   0 4px 12px rgba(0,0,0,0.10);
  --pb-shadow-lg:   0 8px 24px rgba(0,0,0,0.12);
  --pb-shadow-xl:   0 16px 40px rgba(0,0,0,0.14);
  --pb-shadow-gold: 0 4px 20px rgba(245,200,0,0.35);

  /* Layout */
  --pb-container:   1200px;
  --pb-container-sm: 760px;
  --pb-header-h:    64px;
  --pb-sticky-bar-h: 70px;

  /* Transitions */
  --pb-ease:        cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --pb-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --pb-transition:  0.2s var(--pb-ease);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
}

body {
  font-family: var(--pb-font-body);
  font-size: var(--pb-text-base);
  color: var(--pb-black);
  background: var(--pb-white);
  line-height: var(--pb-leading-normal);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
ul, ol { list-style: none; }
input, textarea, select { font-family: inherit; font-size: inherit; }
h1,h2,h3,h4,h5,h6 { font-family: var(--pb-font-display); line-height: var(--pb-leading-tight); font-weight: var(--pb-weight-black); }

/* ============================================================
   LAYOUT UTILITIES
   ============================================================ */
.pb-container {
  max-width: var(--pb-container);
  margin-inline: auto;
  padding-inline: var(--pb-space-5);
}

.pb-container--sm { max-width: var(--pb-container-sm); }

.pb-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--pb-space-6); }
.pb-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--pb-space-6); }
.pb-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--pb-space-5); }

.pb-flex   { display: flex; }
.pb-flex-center { display: flex; align-items: center; justify-content: center; }
.pb-flex-between { display: flex; align-items: center; justify-content: space-between; }
.pb-gap-2  { gap: var(--pb-space-2); }
.pb-gap-3  { gap: var(--pb-space-3); }
.pb-gap-4  { gap: var(--pb-space-4); }

.pb-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.pb-text-center { text-align: center; }
.pb-mt-4 { margin-top: var(--pb-space-4); }
.pb-mt-8 { margin-top: var(--pb-space-8); }
.pb-mb-4 { margin-bottom: var(--pb-space-4); }
.pb-mb-8 { margin-bottom: var(--pb-space-8); }

/* ============================================================
   HEADER
   ============================================================ */
/* ── TOP BAR ─────────────────────────────────────────────── */
.pb-topbar {
  background: var(--pb-topbar-bg, #2B2B2B);
  color: var(--pb-topbar-text, rgba(255,255,255,0.75));
  font-size: 0.8rem;
  height: 36px;
  display: flex;
  align-items: center;
}
.pb-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  gap: 1rem;
}
.pb-topbar__left,
.pb-topbar__right {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.pb-topbar__right { margin-left: auto; }
.pb-topbar__center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-weight: 500;
  color: var(--pb-topbar-text, rgba(255,255,255,0.85));
}
.pb-topbar__item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--pb-topbar-text, rgba(255,255,255,0.7));
  text-decoration: none;
  transition: color 0.15s;
  white-space: nowrap;
}
.pb-topbar__item:hover { color: var(--pb-white); }
.pb-topbar__item--link {
  color: var(--pb-topbar-link, var(--pb-gold));
  font-weight: 600;
}
.pb-topbar__item--link:hover { color: var(--pb-gold-dark); }

/* ── MAIN HEADER (Logo + Cart) ──────────────────────────── */
.pb-header {
  background: var(--pb-header-bg, var(--pb-white));
  height: 80px;
  display: flex;
  align-items: center;
  box-shadow: none;
  border-bottom: 1px solid var(--pb-header-border, var(--pb-gray-100));
  position: relative;
  z-index: 100;
}
.pb-header__inner {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 1.5rem;
  padding-inline: 2rem;
}

/* Logo */
.pb-header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}
.pb-header__logo img { height: 52px; width: auto; }
.pb-header__logo-text {
  font-family: var(--pb-font-display);
  font-weight: 900;
  font-size: 2rem;
  color: var(--pb-logo-color, var(--pb-gold));
  letter-spacing: -0.04em;
  line-height: 1;
}

/* Cart button - large, with sub-label */
.pb-cart-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--pb-cart-bg, var(--pb-gold));
  color: var(--pb-cart-text, var(--pb-black));
  font-weight: 700;
  padding: 0.7rem 1.4rem;
  border-radius: var(--pb-radius-md);
  text-decoration: none;
  transition: all 0.2s var(--pb-ease);
  position: relative;
  white-space: nowrap;
  min-width: 170px;
  border: 2px solid transparent;
  flex-shrink: 0;
}
.pb-cart-btn:hover {
  background: var(--pb-gold-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(245,200,0,0.35);
}
.pb-cart-btn__icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.pb-cart-btn__text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.pb-cart-btn__label {
  font-weight: 800;
  font-size: 1rem;
}
.pb-cart-btn__sub {
  font-size: 0.72rem;
  font-weight: 500;
  opacity: 0.75;
}
.pb-cart-btn__count {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 6px;
  background: var(--pb-cart-badge-bg, var(--pb-black));
  color: var(--pb-cart-badge-txt, var(--pb-gold));
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 800;
  line-height: 1;
  margin-left: auto;
}
.pb-cart-btn__count--visible { display: inline-flex; }

@keyframes pb-cart-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245,200,0,0.5); }
  50%       { box-shadow: 0 0 0 10px rgba(245,200,0,0); }
}
.pb-cart-btn--active {
  animation: pb-cart-pulse 2s ease-in-out infinite;
}
.pb-cart-btn--active:hover {
  animation: none;
  box-shadow: 0 6px 20px rgba(245,200,0,0.4);
}

/* ── CATEGORY NAV BAR ───────────────────────────────────── */
.pb-navbar {
  background: var(--pb-navbar-bg, var(--pb-black));
  height: 48px;
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: 0 2px 12px rgba(0,0,0,0.35);
}
.pb-navbar__inner {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 0;
  padding-inline: 2rem;
}
.pb-navbar__all {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: var(--pb-navbar-all-bg, var(--pb-gold));
  color: var(--pb-navbar-all-txt, var(--pb-black));
  font-weight: 800;
  font-size: 0.9rem;
  padding: 0 1.25rem;
  height: 100%;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s;
  flex-shrink: 0;
  letter-spacing: -0.01em;
}
.pb-navbar__all:hover { background: var(--pb-gold-dark); }
.pb-navbar__links {
  display: flex;
  align-items: center;
  height: 100%;
  flex: 1;
  overflow: hidden;
}
.pb-navbar__link {
  display: inline-flex;
  align-items: center;
  height: 100%;
  padding: 0 1rem;
  color: var(--pb-navbar-text, rgba(255,255,255,0.82));
  font-size: 0.875rem;
  font-weight: 500;
  white-space: nowrap;
  text-decoration: none;
  border-right: 1px solid rgba(255,255,255,0.07);
  transition: all 0.15s;
  letter-spacing: -0.01em;
}
.pb-navbar__link:first-child { border-left: 1px solid rgba(255,255,255,0.07); }
.pb-navbar__link:hover {
  color: var(--pb-white);
  background: var(--pb-navbar-hover, rgba(255,255,255,0.08));
}

/* ── BREADCRUMB as mini-cards ────────────────────────────────── */
.pb-breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex-wrap: wrap;
  padding: 0.875rem 0;
}
.pb-breadcrumb a,
.pb-breadcrumb span:not(.pb-breadcrumb__sep) {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.75rem;
  background: var(--pb-white);
  border: 1.5px solid var(--pb-gray-200);
  border-radius: var(--pb-radius-md);
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--pb-gray-600);
  transition: all 0.15s;
  text-decoration: none;
  white-space: nowrap;
}
.pb-breadcrumb a:hover {
  background: var(--pb-gold);
  border-color: var(--pb-gold);
  color: var(--pb-black);
  transform: translateY(-1px);
  box-shadow: var(--pb-shadow-sm);
}
.pb-breadcrumb span:last-child:not(.pb-breadcrumb__sep) {
  background: var(--pb-black);
  border-color: var(--pb-black);
  color: var(--pb-white);
}
.pb-breadcrumb__sep,
.pb-breadcrumb > span[aria-hidden] {
  color: var(--pb-gray-400);
  font-size: 0.75rem;
  padding: 0;
  background: none;
  border: none;
  font-weight: 400;
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.pb-hero {
  background: linear-gradient(135deg, var(--pb-black) 0%, var(--pb-charcoal) 100%);
  padding: var(--pb-space-16) 0 var(--pb-space-12);
  position: relative;
  overflow: hidden;
}

.pb-hero::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, var(--pb-gold-glow) 0%, transparent 70%);
  pointer-events: none;
}

.pb-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pb-space-12);
  align-items: center;
}

.pb-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--pb-space-2);
  background: var(--pb-gold);
  color: var(--pb-black);
  font-size: var(--pb-text-xs);
  font-weight: var(--pb-weight-bold);
  padding: var(--pb-space-1) var(--pb-space-3);
  border-radius: var(--pb-radius-full);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--pb-space-4);
}

.pb-hero__title {
  font-size: clamp(2rem, 4vw, 3.5rem);
  color: var(--pb-white);
  font-weight: var(--pb-weight-black);
  line-height: 1.1;
  margin-bottom: var(--pb-space-4);
  letter-spacing: -0.03em;
}

.pb-hero__title em {
  font-style: normal;
  color: var(--pb-gold);
}

.pb-hero__sub {
  color: var(--pb-gray-400);
  font-size: var(--pb-text-lg);
  line-height: var(--pb-leading-relaxed);
  margin-bottom: var(--pb-space-8);
}

.pb-hero__cta-group {
  display: flex;
  gap: var(--pb-space-3);
  flex-wrap: wrap;
}

.pb-hero__img-wrap {
  position: relative;
  border-radius: var(--pb-radius-xl);
  overflow: hidden;
}

.pb-hero__img-wrap img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.pb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pb-space-2);
  font-family: var(--pb-font-body);
  font-weight: var(--pb-weight-bold);
  font-size: var(--pb-text-base);
  padding: 0.85em 1.75em;
  border-radius: var(--pb-radius-md);
  border: 2px solid transparent;
  transition: all var(--pb-transition);
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
}

.pb-btn--primary {
  background: var(--pb-gold);
  color: var(--pb-black);
  border-color: var(--pb-gold);
}

.pb-btn--primary:hover {
  background: var(--pb-gold-dark);
  border-color: var(--pb-gold-dark);
  transform: translateY(-2px);
  box-shadow: var(--pb-shadow-gold);
}

.pb-btn--primary:active { transform: translateY(0); }

.pb-btn--dark {
  background: var(--pb-black);
  color: var(--pb-white);
  border-color: var(--pb-black);
}

.pb-btn--dark:hover {
  background: var(--pb-charcoal);
  transform: translateY(-2px);
}

.pb-btn--outline {
  background: transparent;
  color: var(--pb-black);
  border-color: var(--pb-gray-200);
}

.pb-btn--outline:hover {
  background: var(--pb-gray-50);
  border-color: var(--pb-gray-400);
}

.pb-btn--ghost {
  background: rgba(255,255,255,0.1);
  color: var(--pb-white);
  border-color: rgba(255,255,255,0.2);
}

.pb-btn--ghost:hover { background: rgba(255,255,255,0.15); }

.pb-btn--lg {
  font-size: var(--pb-text-lg);
  padding: 1em 2em;
}

.pb-btn--xl {
  font-size: var(--pb-text-xl);
  padding: 1.1em 2.5em;
  border-radius: var(--pb-radius-lg);
  font-weight: var(--pb-weight-black);
}

.pb-btn--full { width: 100%; }

.pb-btn--cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--pb-gold);
  color: var(--pb-black);
  font-size: var(--pb-text-lg);
  font-weight: var(--pb-weight-black);
  padding: 1.1em 2em;
  border-radius: var(--pb-radius-lg);
  border: none;
  width: 100%;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.18s var(--pb-ease-bounce);
  letter-spacing: -0.01em;
  margin-top: 0.475rem; /* FIX 5: space between availability pills and CTA button */
}

.pb-btn--cart:hover {
  background: var(--pb-gold-dark);
  transform: scale(1.02) translateY(-1px);
  box-shadow: var(--pb-shadow-gold);
}

.pb-btn--cart:active { transform: scale(0.99); }

.pb-btn--cart svg { width: 22px; height: 22px; }

.pb-btn--loading {
  pointer-events: none;
  opacity: 0.7;
}

/* ============================================================
   QUANTITY OFFER CARDS
   ============================================================ */
.pb-qty-offers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--pb-space-3);
  margin-bottom: var(--pb-space-5);
 margin-top: 20px;
  margin-top: 20px;
}

.pb-qty-card {
  position: relative;
  border: 2px solid var(--pb-gray-200);
  border-radius: var(--pb-radius-lg);
  padding: var(--pb-space-4) var(--pb-space-3);
  text-align: center;
  cursor: pointer;
  transition: all 0.18s var(--pb-ease-bounce);
  background: var(--pb-white);
  user-select: none;
}

.pb-qty-card:hover {
  border-color: var(--pb-gold);
  box-shadow: 0 2px 12px var(--pb-gold-glow);
  transform: translateY(-2px);
}

.pb-qty-card.is-active {
  border-color: var(--pb-black);
  background: var(--pb-black);
  color: var(--pb-white);
  box-shadow: var(--pb-shadow-lg);
  transform: translateY(-2px);
}

.pb-qty-card.is-featured {
  border-color: var(--pb-gold);
}

.pb-qty-card.is-featured.is-active {
  border-color: var(--pb-gold);
  background: var(--pb-black);
}

.pb-qty-card__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--pb-gold);
  color: var(--pb-black);
  font-size: 10px;
  font-weight: var(--pb-weight-black);
  padding: 3px 10px;
  border-radius: var(--pb-radius-full);
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pb-qty-card__label {
  font-family: var(--pb-font-display);
  font-size: var(--pb-text-xl);
  font-weight: var(--pb-weight-black);
  margin-bottom: var(--pb-space-1);
}

.pb-qty-card__price-per {
  font-size: var(--pb-text-sm);
  color: var(--pb-gray-600);
  font-weight: var(--pb-weight-medium);
}

.pb-qty-card.is-active .pb-qty-card__price-per {
  color: var(--pb-gray-400);
}

.pb-qty-card__savings {
  display: inline-block;
  margin-top: var(--pb-space-2);
  background: var(--pb-gold);
  color: var(--pb-black);
  font-size: 10px;
  font-weight: var(--pb-weight-bold);
  padding: 2px 6px;
  border-radius: var(--pb-radius-sm);
}

.pb-qty-card.is-active .pb-qty-card__savings {
  background: var(--pb-gold);
  color: var(--pb-black);
}

/* ============================================================
   BUY BOX / PRODUCT PANEL
   ============================================================ */
.pb-buybox {
  background: var(--pb-white);
  border-radius: var(--pb-radius-xl);
  padding: var(--pb-space-8);
  box-shadow: var(--pb-shadow-xl);
  position: sticky;
  top: calc(var(--pb-header-h) + var(--pb-space-4));
}

.pb-buybox__title {
  font-size: var(--pb-text-2xl);
  font-weight: var(--pb-weight-black);
  color: var(--pb-black);
  margin-bottom: var(--pb-space-2);
  line-height: var(--pb-leading-snug);
}

.pb-buybox__rating {
  display: flex;
  align-items: center;
  gap: var(--pb-space-2);
  margin-bottom: var(--pb-space-5);
}

.pb-stars {
  display: flex;
  gap: 2px;
  color: var(--pb-gold);
}

.pb-stars svg { width: 16px; height: 16px; }

.pb-rating-count {
  font-size: var(--pb-text-sm);
  color: var(--pb-gray-600);
}

.pb-buybox__total-wrap {
  display: flex;
  align-items: baseline;
  gap: var(--pb-space-3);
  margin-bottom: var(--pb-space-2);
}

.pb-buybox__total-price {
  font-family: var(--pb-font-display);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: var(--pb-weight-black);
  color: var(--pb-black);
  letter-spacing: -0.03em;
}

.pb-buybox__compare-price {
  font-size: var(--pb-text-lg);
  color: var(--pb-gray-400);
  text-decoration: line-through;
}

.pb-buybox__savings-tag {
  display: inline-flex;
  align-items: center;
  background: var(--pb-gold-light);
  color: var(--pb-charcoal);
  font-size: var(--pb-text-xs);
  font-weight: var(--pb-weight-bold);
  padding: 3px 8px;
  border-radius: var(--pb-radius-full);
  border: 1px solid var(--pb-gold);
  margin-bottom: var(--pb-space-5);
}

.pb-buybox__lowest-price {
  display: flex;
  align-items: center;
  gap: var(--pb-space-2);
  font-size: var(--pb-text-sm);
  color: var(--pb-success);
  font-weight: var(--pb-weight-medium);
  margin-bottom: var(--pb-space-5);
}

.pb-buybox__lowest-price svg { width: 14px; height: 14px; }

/* Variant selector */
.pb-variant-group {
  margin-bottom: var(--pb-space-5);
}

.pb-variant-group__label {
  font-size: var(--pb-text-sm);
  font-weight: var(--pb-weight-semibold);
  color: var(--pb-gray-800);
  margin-bottom: var(--pb-space-2);
}

.pb-variant-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: var(--pb-space-2);
}

.pb-variant-swatch {
  padding: var(--pb-space-2) var(--pb-space-4);
  border: 2px solid var(--pb-gray-200);
  border-radius: var(--pb-radius-md);
  font-size: var(--pb-text-sm);
  font-weight: var(--pb-weight-medium);
  cursor: pointer;
  transition: all var(--pb-transition);
}

.pb-variant-swatch:hover { border-color: var(--pb-gold); }
.pb-variant-swatch.is-active {
  border-color: var(--pb-black);
  background: var(--pb-black);
  color: var(--pb-white);
}

/* Trust microcopy */
.pb-trust-line {
  display: flex;
  flex-direction: column;
  gap: var(--pb-space-2);
  margin-top: var(--pb-space-4);
  padding-top: var(--pb-space-4);
  border-top: 1px solid var(--pb-gray-100);
}

.pb-trust-item {
  display: flex;
  align-items: center;
  gap: var(--pb-space-2);
  font-size: var(--pb-text-sm);
  color: var(--pb-gray-800);
  font-weight: var(--pb-weight-medium);
}

.pb-trust-item svg { width: 18px; height: 18px; color: var(--pb-success); flex-shrink: 0; }
.pb-trust-item--delivery svg { color: var(--pb-gold); }
.pb-trust-item--cod svg { color: var(--pb-charcoal); }

.pb-availability {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: #ECFDF5;
  border: 1.5px solid #6EE7B7;
  color: #065F46;
  white-space: nowrap;
  margin-bottom: 8px;
}

.pb-availability__dot {
  width: 7px;
  height: 7px;
  background: #10B981;
  border-radius: 50%;
  flex-shrink: 0;
  animation: pb-pulse 2s infinite;
}

@keyframes pb-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.pb-availability__dot--low { background: var(--pb-warning); }
.pb-availability__dot--out { background: var(--pb-error); }

/* ============================================================
   PRODUCT GALLERY
   ============================================================ */
.pb-gallery {
  display: flex;
  flex-direction: column;
  gap: var(--pb-space-3);
}

.pb-gallery__main {
  position: relative;
  border-radius: var(--pb-radius-xl);
  overflow: hidden;
  background: var(--pb-gray-50);
  aspect-ratio: 1/1;
}

.pb-gallery__main-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--pb-space-4);
  cursor: zoom-in;
  transition: transform 0.3s var(--pb-ease);
}

.pb-gallery__main-img:hover { transform: scale(1.04); }

.pb-gallery__thumbs {
  display: flex;
  gap: var(--pb-space-2);
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
}

.pb-gallery__thumb {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: var(--pb-radius-md);
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  background: var(--pb-gray-50);
  transition: border-color var(--pb-transition);
}

.pb-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

.pb-gallery__thumb.is-active { border-color: var(--pb-gold); }
.pb-gallery__thumb:hover { border-color: var(--pb-gray-400); }

.pb-gallery__badge {
  position: absolute;
  top: var(--pb-space-3);
  left: var(--pb-space-3);
  z-index: 2;
}

/* ============================================================
   PRODUCT LANDING LAYOUT
   ============================================================ */
.pb-pdp {
  padding: var(--pb-space-8) 0 var(--pb-space-16);
}

.pb-pdp__inner {
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: var(--pb-space-10);
  align-items: start;
}

.pb-pdp__content { min-width: 0; display:flex; flex-direction:column; }

.pb-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pb-space-4);
}
.pb-checkout-section--alt-address {
  border: 2px solid var(--pb-gold,#F5C800);
  border-radius: 12px;
  background: #FFFDF0;
}
.pb-alt-address__header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom: var(--pb-space-5);
}
.pb-alt-address__badge {
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  font-size:.8rem;
  font-weight:600;
  color:#666;
  background:#FFF3CD;
  padding:6px 10px;
  border-radius:999px;
}
.pb-image-cards--mobile-1 .pb-image-cards { grid-template-columns: 1fr; }
.pb-image-cards--mobile-2 .pb-image-cards { grid-template-columns: repeat(2,1fr); }
.pb-image-cards--size-sm .pb-image-card__img-wrap img { max-height: 240px; object-fit: cover; }
.pb-image-cards--size-md .pb-image-card__img-wrap img { max-height: 320px; object-fit: cover; }
.pb-image-cards--size-lg .pb-image-card__img-wrap img { max-height: 420px; object-fit: cover; }


/* Breadcrumb */
.pb-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--pb-space-2);
  font-size: var(--pb-text-sm);
  color: var(--pb-gray-600);
  margin-bottom: var(--pb-space-5);
}

.pb-breadcrumb a:hover { color: var(--pb-black); }
.pb-breadcrumb span { color: var(--pb-gray-400); }

/* Product title on content side */
.pb-pdp__title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: var(--pb-weight-black);
  color: var(--pb-black);
  line-height: var(--pb-leading-snug);
  margin-bottom: var(--pb-space-4);
  letter-spacing: -0.025em;
}

/* Benefits strip */
.pb-benefit-strip {
  display: grid;
  grid-template-columns: repeat(var(--pb-benefit-cols, 4), 1fr);
  gap: var(--pb-space-3);
  padding: var(--pb-space-4) 0;
  border-top: 1px solid var(--pb-gray-100);
  border-bottom: 1px solid var(--pb-gray-100);
  margin: var(--pb-space-4) 0;
}

.pb-benefit-item {
  display: flex;
  align-items: center;
  gap: var(--pb-space-2);
  font-size: var(--pb-text-sm);
  font-weight: var(--pb-weight-semibold);
  color: var(--pb-charcoal);
}

.pb-benefit-item__icon {
  width: 36px;
  height: 36px;
  background: var(--pb-gold-light);
  border-radius: var(--pb-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pb-benefit-item__icon svg { width: 18px; height: 18px; color: var(--pb-gold-dark); }

/* ============================================================
   SECTION HEADERS
   ============================================================ */
.pb-section-header {
  text-align: center;
  margin-bottom: var(--pb-space-10);
}

.pb-section-header__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--pb-space-2);
  font-size: var(--pb-text-xs);
  font-weight: var(--pb-weight-bold);
  color: var(--pb-gold-dark);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: var(--pb-space-3);
}

.pb-section-header__title {
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: var(--pb-weight-black);
  color: var(--pb-black);
  letter-spacing: -0.025em;
  margin-bottom: var(--pb-space-3);
}

.pb-section-header__sub {
  font-size: var(--pb-text-lg);
  color: var(--pb-gray-600);
  max-width: 600px;
  margin-inline: auto;
}

/* ============================================================
   SECTION SPACING
   ============================================================ */
.pb-section { padding: var(--pb-space-16) 0; }
.pb-section--gray { background: var(--pb-gray-50); }
.pb-section--dark { background: var(--pb-black); color: var(--pb-white); }
.pb-section--sm { padding: var(--pb-space-10) 0; }

/* ============================================================
   PRODUCT CARDS (Category grid)
   ============================================================ */
.pb-product-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--pb-space-4);
}
@media (min-width: 640px) {
  .pb-product-grid { grid-template-columns: repeat(3, 1fr); gap: var(--pb-space-5); }
}
@media (min-width: 1024px) {
  .pb-product-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--pb-space-6); }
}

.pb-pcard {
  background: var(--pb-white);
  border-radius: var(--pb-radius-xl);
  overflow: hidden;
  box-shadow: var(--pb-shadow-sm);
  transition: all 0.22s var(--pb-ease);
  display: flex;
  flex-direction: column;
}

.pb-pcard:hover {
  transform: translateY(-4px);
  box-shadow: var(--pb-shadow-lg);
}

.pb-pcard__img-wrap {
  position: relative;
  aspect-ratio: 4/3;
  background: var(--pb-gray-50);
  overflow: hidden;
}

.pb-pcard__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: var(--pb-space-3);
  transition: transform 0.3s var(--pb-ease);
}

.pb-pcard:hover .pb-pcard__img { transform: scale(1.05); }

.pb-pcard__badge {
  position: absolute;
  top: var(--pb-space-3);
  left: var(--pb-space-3);
}

.pb-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: var(--pb-weight-bold);
  padding: 3px 8px;
  border-radius: var(--pb-radius-full);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.pb-badge--gold { background: var(--pb-gold); color: var(--pb-black); }
.pb-badge--dark { background: var(--pb-black); color: var(--pb-white); }
.pb-badge--red  { background: #EF4444; color: var(--pb-white); }
.pb-badge--green{ background: var(--pb-success); color: var(--pb-white); }

.pb-pcard__body {
  padding: var(--pb-space-5);
  flex: 1;
  display: flex;
  flex-direction: column;
}

.pb-pcard__name {
  font-size: var(--pb-text-base);
  font-weight: var(--pb-weight-bold);
  color: var(--pb-black);
  line-height: var(--pb-leading-snug);
  margin-bottom: var(--pb-space-2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pb-pcard__price-wrap {
  display: flex;
  align-items: center;
  gap: var(--pb-space-2);
  margin-top: auto;
  padding-top: var(--pb-space-3);
}

.pb-pcard__price {
  font-family: var(--pb-font-display);
  font-size: var(--pb-text-xl);
  font-weight: var(--pb-weight-black);
  color: var(--pb-black);
}

.pb-pcard__price-was {
  font-size: var(--pb-text-sm);
  color: var(--pb-gray-400);
  text-decoration: line-through;
}

.pb-pcard__cta {
  margin-top: var(--pb-space-3);
}

/* ============================================================
   REVIEWS
   ============================================================ */
.pb-review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--pb-space-5);
}

.pb-review-card {
  background: var(--pb-white);
  border-radius: var(--pb-radius-lg);
  padding: var(--pb-space-6);
  box-shadow: var(--pb-shadow-sm);
  border: 1px solid var(--pb-gray-100);
}

.pb-review-card__header {
  display: flex;
  align-items: center;
  gap: var(--pb-space-3);
  margin-bottom: var(--pb-space-3);
}

.pb-review-card__avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--pb-gold-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--pb-weight-bold);
  font-size: var(--pb-text-base);
  color: var(--pb-charcoal);
  flex-shrink: 0;
}

.pb-review-card__name {
  font-weight: var(--pb-weight-bold);
  font-size: var(--pb-text-base);
}

.pb-review-card__date {
  font-size: var(--pb-text-xs);
  color: var(--pb-gray-600);
}

.pb-review-card__text {
  font-size: var(--pb-text-sm);
  line-height: var(--pb-leading-relaxed);
  color: var(--pb-gray-800);
}

.pb-review-card__verified {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: var(--pb-success);
  font-weight: var(--pb-weight-semibold);
  margin-top: var(--pb-space-3);
}

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.pb-faq { max-width: 800px; margin-inline: auto; }

.pb-faq__item {
  border-bottom: 1px solid var(--pb-gray-100);
}

.pb-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--pb-space-4);
  padding: var(--pb-space-5) 0;
  font-size: var(--pb-text-base);
  font-weight: var(--pb-weight-semibold);
  text-align: left;
  color: var(--pb-black);
  background: none;
  cursor: pointer;
}

.pb-faq__question svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--pb-gold-dark);
  transition: transform var(--pb-transition);
}

.pb-faq__item.is-open .pb-faq__question svg { transform: rotate(45deg); }

.pb-faq__answer {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s var(--pb-ease), padding 0.3s var(--pb-ease);
}

.pb-faq__item.is-open .pb-faq__answer { max-height: 400px; }

.pb-faq__answer-inner {
  padding-bottom: var(--pb-space-5);
  font-size: var(--pb-text-sm);
  line-height: var(--pb-leading-relaxed);
  color: var(--pb-gray-600);
}

/* ============================================================
   TRUST BADGES BAR
   ============================================================ */
.pb-trust-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--pb-space-8);
  padding: var(--pb-space-6) 0;
}

.pb-trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pb-space-2);
  text-align: center;
}

.pb-trust-badge__icon {
  width: 48px;
  height: 48px;
  background: var(--pb-gold-light);
  border-radius: var(--pb-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pb-trust-badge__icon svg { width: 24px; height: 24px; color: var(--pb-charcoal); }

.pb-trust-badge__label {
  font-size: var(--pb-text-xs);
  font-weight: var(--pb-weight-semibold);
  color: var(--pb-gray-800);
  max-width: 100px;
  line-height: 1.3;
}

/* ============================================================
   CHECKOUT
   ============================================================ */

/* ── Checkout placeholder-as-label style ─────────────────── */
.pb-checkout .pb-input::placeholder,
.pb-checkout .pb-select::placeholder {
  color: #888;
  font-size: 1rem;
  font-weight: 400;
}
.pb-checkout .pb-input:focus::placeholder {
  opacity: 0;
}
.pb-checkout .pb-input,
.pb-checkout .pb-select {
  font-size: 1rem;
  color: #1A1A1A;
}
.pb-checkout .pb-field {
  margin-bottom: 0.875rem;
}
/* Remove label margin when no label present */
.pb-checkout .pb-field > .pb-input:first-child,
.pb-checkout .pb-field > .pb-select:first-child {
  margin-top: 0;
}
.pb-checkout {
  min-height: calc(100vh - var(--pb-header-h));
  background: var(--pb-gray-50);
  padding: var(--pb-space-8) 0 var(--pb-space-16);
}

.pb-checkout__inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--pb-space-8);
  align-items: start;
}
/* Form LEFT (wider), Summary RIGHT (narrower) */
.pb-checkout-form    { order: 1; }
.pb-checkout-summary { order: 2; }

.pb-checkout-form {
  background: var(--pb-white);
  border-radius: var(--pb-radius-xl);
  padding: var(--pb-space-8);
  box-shadow: var(--pb-shadow-sm);
}

.pb-checkout-form__title {
  font-size: var(--pb-text-2xl);
  font-weight: var(--pb-weight-black);
  margin-bottom: var(--pb-space-6);
  letter-spacing: -0.02em;
}

.pb-checkout-section {
  margin-bottom: var(--pb-space-8);
  padding-bottom: var(--pb-space-8);
  border-bottom: 1px solid var(--pb-gray-100);
}

.pb-checkout-section:last-child { border-bottom: none; margin-bottom: 0; }

.pb-checkout-section__title {
  font-size: var(--pb-text-lg);
  font-weight: var(--pb-weight-bold);
  margin-bottom: var(--pb-space-5);
  display: flex;
  align-items: center;
  gap: var(--pb-space-2);
}

.pb-checkout-section__title span {
  width: 28px;
  height: 28px;
  background: var(--pb-gold);
  color: var(--pb-black);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--pb-text-sm);
  font-weight: var(--pb-weight-black);
}

/* Form fields */
.pb-field {
  margin-bottom: var(--pb-space-4);
}

.pb-field--row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pb-space-4);
}

.pb-label {
  display: block;
  font-size: var(--pb-text-sm);
  font-weight: var(--pb-weight-semibold);
  color: var(--pb-gray-800);
  margin-bottom: var(--pb-space-1);
}

.pb-input {
  width: 100%;
  padding: 0.75em 1em;
  border: 2px solid var(--pb-gray-200);
  border-radius: var(--pb-radius-md);
  font-size: var(--pb-text-base);
  color: var(--pb-black);
  background: var(--pb-white);
  transition: border-color var(--pb-transition), box-shadow var(--pb-transition);
  -webkit-appearance: none;
}

.pb-input:focus {
  outline: none;
  border-color: var(--pb-gold);
  box-shadow: 0 0 0 3px var(--pb-gold-glow);
}

.pb-input.has-error {
  border-color: #DC2626 !important;
  border-width: 2px !important;
  background: #FFF5F5;
}
.pb-input.has-error:focus { box-shadow: 0 0 0 3px rgba(220,38,38,0.2); }

.pb-field-error {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .82rem;
  color: #DC2626;
  font-weight: 700;
  margin-top: 6px;
  background: #FEF2F2;
  border: 1.5px solid #FECACA;
  border-radius: 7px;
  padding: .4rem .75rem;
}
.pb-field-error::before { content: '⚠'; flex-shrink: 0; }

.pb-select {
  width: 100%;
  padding: 0.75em 2.5em 0.75em 1em;
  border: 2px solid var(--pb-gray-200);
  border-radius: var(--pb-radius-md);
  font-size: var(--pb-text-base);
  color: var(--pb-black);
  background: var(--pb-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A1A' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat right 12px center;
  appearance: none;
  cursor: pointer;
  transition: border-color var(--pb-transition);
}

.pb-select:focus { outline: none; border-color: var(--pb-gold); }

/* Shipping method cards */
.pb-method-cards { display: flex; flex-direction: column; gap: var(--pb-space-3); }

.pb-method-card {
  display: flex;
  align-items: center;
  gap: var(--pb-space-4);
  padding: var(--pb-space-4);
  border: 2px solid var(--pb-gray-200);
  border-radius: var(--pb-radius-md);
  cursor: pointer;
  transition: all var(--pb-transition);
}

.pb-method-card:hover { border-color: var(--pb-gold-dark); }
.pb-method-card.is-selected {
  border-color: var(--pb-black);
  background: var(--pb-gray-50);
}

.pb-method-card input[type=radio] { display: none; }

.pb-method-card__radio {
  width: 20px;
  height: 20px;
  border: 2px solid var(--pb-gray-400);
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  transition: border-color var(--pb-transition);
}

.pb-method-card.is-selected .pb-method-card__radio {
  border-color: var(--pb-black);
}

.pb-method-card.is-selected .pb-method-card__radio::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 10px;
  height: 10px;
  background: var(--pb-black);
  border-radius: 50%;
}

.pb-method-card__icon {
  width: 38px; height: 38px;
  background: var(--pb-gray-50, #F9FAFB);
  border: 1.5px solid var(--pb-gray-200, #E5E7EB);
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--pb-gray-700, #374151);
}
.pb-method-card__icon svg { width: 20px; height: 20px; }
.pb-method-card.is-selected .pb-method-card__icon {
  background: var(--pb-black);
  border-color: var(--pb-black);
  color: var(--pb-white);
}

.pb-method-card__delivery {
  font-size: .72rem;
  color: var(--pb-success, #059669);
  font-weight: 600;
  margin-top: .2rem;
}

.pb-method-card__info { flex: 1; }
.pb-method-card__name { font-weight: var(--pb-weight-semibold); font-size: var(--pb-text-sm); }
.pb-method-card__desc { font-size: var(--pb-text-xs); color: var(--pb-gray-600); margin-top: 2px; }
.pb-method-card__price { font-weight: var(--pb-weight-bold); font-size: var(--pb-text-sm); }
.pb-method-card__price--free { color: var(--pb-success); }

/* Legal checkbox */
.pb-legal-check {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: #FFFBEB;
  border: 2px solid #E5E7EB;
  border-radius: 12px;
  margin-bottom: 1rem;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.pb-legal-check:has(input:checked) {
  border-color: #22C55E;
  background: #F0FDF4;
}
.pb-legal-check input[type=checkbox] {
  width: 26px; height: 26px;
  flex-shrink: 0;
  accent-color: #22C55E;
  cursor: pointer;
  border-radius: 6px;
}
.pb-legal-check label {
  font-size: .875rem;
  color: var(--pb-gray-800);
  line-height: 1.5;
  cursor: pointer;
  flex: 1;
}
.pb-legal-check label a { color: var(--pb-charcoal); text-decoration: underline; font-weight: 600; }

/* Checkout summary sidebar */
.pb-checkout-summary {
  background: var(--pb-white);
  border-radius: var(--pb-radius-xl);
  padding: var(--pb-space-6);
  box-shadow: var(--pb-shadow-sm);
  position: sticky;
  top: calc(var(--pb-header-h) + var(--pb-space-4));
}

.pb-checkout-summary__title {
  font-size: var(--pb-text-lg);
  font-weight: var(--pb-weight-bold);
  margin-bottom: var(--pb-space-5);
  padding-bottom: var(--pb-space-4);
  border-bottom: 1px solid var(--pb-gray-100);
}

.pb-summary-items { margin-bottom: var(--pb-space-4); }

.pb-summary-item {
  display: flex;
  gap: var(--pb-space-3);
  padding: var(--pb-space-3) 0;
  border-bottom: 1px solid var(--pb-gray-100);
}

.pb-summary-item:last-child { border-bottom: none; }

.pb-summary-item__img {
  width: 56px;
  height: 56px;
  border-radius: var(--pb-radius-md);
  object-fit: contain;
  background: var(--pb-gray-50);
  flex-shrink: 0;
  padding: 4px;
}

.pb-summary-item__info { flex: 1; min-width: 0; }
.pb-summary-item__name {
  font-size: var(--pb-text-sm);
  font-weight: var(--pb-weight-semibold);
  line-height: var(--pb-leading-snug);
}
.pb-summary-item__meta { font-size: var(--pb-text-xs); color: var(--pb-gray-600); margin-top: 2px; }
.pb-summary-item__price { font-weight: var(--pb-weight-bold); font-size: var(--pb-text-sm); text-align: right; white-space: nowrap; }

.pb-summary-totals {
  border-top: 1px solid var(--pb-gray-100);
  padding-top: var(--pb-space-4);
}

.pb-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--pb-text-sm);
  margin-bottom: var(--pb-space-2);
}

.pb-summary-row--total {
  font-size: var(--pb-text-lg);
  font-weight: var(--pb-weight-black);
  padding-top: var(--pb-space-3);
  border-top: 2px solid var(--pb-black);
  margin-top: var(--pb-space-2);
}

.pb-summary-row--discount { color: var(--pb-success); }

/* Coupon */
.pb-coupon-form {
  display: flex;
  gap: var(--pb-space-2);
  margin-top: var(--pb-space-4);
}

.pb-coupon-form .pb-input { flex: 1; font-size: var(--pb-text-sm); padding: 0.6em 0.8em; }
.pb-coupon-form .pb-btn { padding: 0.6em 1em; font-size: var(--pb-text-sm); }

/* ============================================================
   CART PAGE
   ============================================================ */
.pb-cart-page {
  padding: var(--pb-space-8) 0 var(--pb-space-16);
  min-height: 60vh;
}

.pb-cart-page__inner {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: var(--pb-space-8);
  align-items: start;
}

.pb-cart-table { width: 100%; }

.pb-cart-row {
  display: grid;
  grid-template-columns: 80px 1fr auto auto;
  align-items: center;
  gap: var(--pb-space-4);
  padding: var(--pb-space-4) 0;
  border-bottom: 1px solid var(--pb-gray-100);
}

.pb-cart-row__img {
  width: 80px;
  height: 80px;
  border-radius: var(--pb-radius-md);
  object-fit: contain;
  background: var(--pb-gray-50);
  padding: 6px;
}

.pb-cart-row__name { font-weight: var(--pb-weight-semibold); font-size: var(--pb-text-sm); }
.pb-cart-row__meta { font-size: var(--pb-text-xs); color: var(--pb-gray-600); margin-top: 4px; }

.pb-qty-control {
  display: flex;
  align-items: center;
  border: 2px solid var(--pb-gray-200);
  border-radius: var(--pb-radius-md);
  overflow: hidden;
}

.pb-qty-control__btn {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  cursor: pointer;
  font-size: var(--pb-text-lg);
  color: var(--pb-gray-800);
  transition: background var(--pb-transition);
  flex-shrink: 0;
}

.pb-qty-control__btn:hover { background: var(--pb-gray-50); }

.pb-qty-control__val {
  width: 40px;
  text-align: center;
  font-weight: var(--pb-weight-bold);
  font-size: var(--pb-text-base);
  border: none;
  outline: none;
  padding: 0;
  line-height: 34px;
}

.pb-cart-row__price {
  font-weight: var(--pb-weight-bold);
  font-size: var(--pb-text-base);
  text-align: right;
}

.pb-cart-row__remove {
  background: none;
  border: none;
  color: var(--pb-gray-400);
  cursor: pointer;
  padding: 4px;
  transition: color var(--pb-transition);
}

.pb-cart-row__remove:hover { color: var(--pb-error); }

/* ============================================================
   STICKY MOBILE CTA BAR
   ============================================================ */
.pb-sticky-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 200;
  background: var(--pb-white);
  padding: var(--pb-space-3) var(--pb-space-4);
  box-shadow: 0 -4px 24px rgba(0,0,0,0.12);
  border-top: 1px solid var(--pb-gray-100);
}

.pb-sticky-cta__inner {
  display: flex;
  align-items: center;
  gap: var(--pb-space-3);
}

.pb-sticky-cta__price {
  font-family: var(--pb-font-display);
  font-size: var(--pb-text-xl);
  font-weight: var(--pb-weight-black);
  color: var(--pb-black);
  flex-shrink: 0;
}

/* ============================================================
   CONFIRMATION PAGE
   ============================================================ */
.pb-confirm {
  padding: var(--pb-space-16) 0;
  text-align: center;
}

.pb-confirm__icon {
  width: 80px;
  height: 80px;
  background: var(--pb-success-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--pb-space-6);
}

.pb-confirm__icon svg { width: 40px; height: 40px; color: var(--pb-success); }
.pb-confirm__title { font-size: var(--pb-text-4xl); font-weight: var(--pb-weight-black); margin-bottom: var(--pb-space-3); }
.pb-confirm__sub { font-size: var(--pb-text-lg); color: var(--pb-gray-600); margin-bottom: var(--pb-space-8); }
.pb-confirm__order-num { font-weight: var(--pb-weight-bold); color: var(--pb-black); }

/* ============================================================
   FOOTER
   ============================================================ */
/* ── Footer ──────────────────────────────────────────────── */
.pb-footer {
  background: #111;
  color: rgba(255,255,255,.45);
  padding: 1.25rem 0 .75rem;
}
.pb-footer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .875rem 1.25rem;
  margin-bottom: .875rem;
  align-items: start;
}
@media (min-width: 640px) {
  .pb-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 1rem 1.75rem; }
}
.pb-footer__brand { grid-column: 1 / -1; }
@media (min-width: 640px) { .pb-footer__brand { grid-column: auto; } }

.pb-footer__logo-img  { height: 26px; display: block; margin-bottom: .35rem; }
.pb-footer__logo-text { font-weight: 900; color: var(--pb-gold,#F5C800); font-size: 1.1rem; margin-bottom: .3rem; letter-spacing: -.02em; }
.pb-footer__desc      { font-size: .72rem; line-height: 1.5; color: rgba(255,255,255,.35); margin: 0; max-width: 200px; }

.pb-footer__col-title {
  font-size: .65rem; font-weight: 700; color: rgba(255,255,255,.7);
  text-transform: uppercase; letter-spacing: .1em; margin-bottom: .4rem;
}
.pb-footer__links { display: flex; flex-direction: column; gap: .25rem; }
.pb-footer__links a {
  font-size: .75rem; color: rgba(255,255,255,.4);
  text-decoration: none; transition: color .15s; display: block;
}
.pb-footer__links a:hover { color: var(--pb-gold,#F5C800); }

.pb-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.06);
  padding-top: .625rem;
  text-align: center;
}
.pb-footer__copy { font-size: .68rem; color: rgba(255,255,255,.25); }

.pb-footer__payment-icons { display: flex; gap: .5rem; align-items: center; }


/* ============================================================
   TOAST NOTIFICATIONS
   ============================================================ */
.pb-toast-stack {
  position: fixed;
  bottom: var(--pb-space-6);
  right: var(--pb-space-6);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: var(--pb-space-2);
  pointer-events: none;
}

.pb-toast {
  background: var(--pb-charcoal);
  color: var(--pb-white);
  padding: var(--pb-space-3) var(--pb-space-5);
  border-radius: var(--pb-radius-lg);
  font-size: var(--pb-text-sm);
  font-weight: var(--pb-weight-medium);
  box-shadow: var(--pb-shadow-xl);
  display: flex;
  align-items: center;
  gap: var(--pb-space-2);
  animation: pb-toast-in 0.3s var(--pb-ease-bounce) forwards;
  pointer-events: auto;
  max-width: 320px;
}

.pb-toast--success { background: var(--pb-success); }
.pb-toast--error { background: var(--pb-error); }

.pb-toast svg { width: 18px; height: 18px; flex-shrink: 0; }

@keyframes pb-toast-in {
  from { opacity: 0; transform: translateY(12px) scale(0.95); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* ============================================================
   URGENCY BANNER
   ============================================================ */
.pb-urgency-banner {
  background: linear-gradient(90deg, var(--pb-black) 0%, var(--pb-charcoal) 100%);
  color: var(--pb-white);
  text-align: center;
  padding: var(--pb-space-2) 0;
  font-size: var(--pb-text-sm);
  font-weight: var(--pb-weight-medium);
  border-bottom: 2px solid var(--pb-gold);
}

.pb-urgency-banner strong { color: var(--pb-gold); }

/* ============================================================
   GUARANTEE BLOCK
   ============================================================ */
.pb-guarantee {
  display: grid;
  grid-template-columns: repeat(var(--pb-guarantee-cols, 1), 1fr);
  gap: var(--pb-space-4);
  background: var(--pb-gray-50, #F9FAFB);
  border: 1px solid var(--pb-gray-100, #F3F4F6);
  border-radius: var(--pb-radius-lg);
  padding: var(--pb-space-6);
  margin: var(--pb-space-6) 0;
}

.pb-guarantee__item {
  display: flex;
  align-items: flex-start;
  gap: var(--pb-space-4);
}
.pb-guarantee__icon {
  width: 64px;
  height: 64px;
  background: var(--pb-gold);
  border-radius: var(--pb-radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pb-guarantee__icon svg { width: 32px; height: 32px; color: var(--pb-black); }
.pb-guarantee__title { font-size: var(--pb-text-xl); font-weight: var(--pb-weight-black); margin-bottom: var(--pb-space-2); }
.pb-guarantee__text { font-size: var(--pb-text-sm); color: var(--pb-gray-600); line-height: var(--pb-leading-relaxed); }

/* ============================================================
   LOADING SKELETON
   ============================================================ */
.pb-skeleton {
  background: linear-gradient(90deg, var(--pb-gray-100) 25%, var(--pb-gray-200) 50%, var(--pb-gray-100) 75%);
  background-size: 200% 100%;
  animation: pb-shimmer 1.5s infinite;
  border-radius: var(--pb-radius-sm);
}

@keyframes pb-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  /* Product page: stack gallery + buybox vertically */
  .pb-pdp__inner { grid-template-columns: 1fr; gap: 0; }
  .pb-buybox { position: static; border-radius: 0; box-shadow: none; padding: 1.25rem; margin: 0; }
  /* On mobile: show buybox (below gallery), hide sticky CTA until scroll */
  .pb-pdp__inner .pb-buybox { display: block; }
  .pb-sticky-cta { display: none; } /* JS controls this via scroll */

  .pb-hero__inner { grid-template-columns: 1fr; text-align: center; }
  .pb-hero__img-wrap { max-width: 480px; margin-inline: auto; }
  .pb-hero__cta-group { justify-content: center; }

  /* Checkout: single column, summary at bottom */
  .pb-checkout__inner { grid-template-columns: 1fr; }
  .pb-checkout-summary { position: static; order: 2; }
  .pb-checkout-form { order: 1; }

  .pb-cart-page__inner { grid-template-columns: 1fr; }
  /* pb-footer__grid mobile handled in base CSS */
}

@media (max-width: 768px) {
  :root { --pb-header-h: 48px; }
  .pb-topbar { display: none; }
  .pb-header { height: 64px; }
  .pb-header__inner { padding-inline: 1rem; }
  .pb-header__logo-text { font-size: 1.5rem; }
  .pb-cart-btn { min-width: auto; padding: 0.6rem 1rem; }
  .pb-cart-btn__text { display: none; }
  .pb-cart-btn__count--visible { display: inline-flex !important; }
  .pb-navbar { height: 44px; }
  .pb-navbar__inner { padding-inline: 0; }
  .pb-navbar__links { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .pb-navbar__links::-webkit-scrollbar { display: none; }
  .pb-navbar__link { padding: 0 0.875rem; font-size: 0.82rem; }

  .pb-container { padding-inline: var(--pb-space-4); }

  .pb-section { padding: var(--pb-space-10) 0; }

  .pb-header__nav { display: none; }

  .pb-qty-offers { gap: var(--pb-space-2); }
  .pb-qty-card { padding: var(--pb-space-3) var(--pb-space-2); }
  .pb-qty-card__label { font-size: var(--pb-text-lg); }
  .pb-qty-card__price-per { font-size: 11px; }

  .pb-grid-2, .pb-grid-3, .pb-grid-4 { grid-template-columns: 1fr; }

  .pb-trust-bar { gap: var(--pb-space-5); }

  .pb-footer__grid { grid-template-columns: 1fr 1fr; }
  .pb-footer__bottom { flex-direction: column; }

  .pb-cart-row { grid-template-columns: 64px 1fr; gap: var(--pb-space-3); }
  .pb-cart-row__price,
  .pb-cart-row__remove { grid-column: 2; }

  .pb-guarantee { flex-direction: column; gap: var(--pb-space-4); }

  .pb-checkout-form { padding: var(--pb-space-5); }
  .pb-field--row { grid-template-columns: 1fr; }

  .pb-hero__title { font-size: 2rem; }
  .pb-buybox__total-price { font-size: 2rem; }

  .pb-benefit-strip { gap: var(--pb-space-4); }
}

@media (max-width: 480px) {
  .pb-qty-offers { gap: var(--pb-space-1); }
  .pb-sticky-cta { padding-bottom: calc(var(--pb-space-3) + env(safe-area-inset-bottom)); }
}

/* ── Cart Popup Modal ─────────────────────────────────────────────────────── */
#pb-cart-popup {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  transition: opacity .25s ease;
}
#pb-cart-popup.pb-cart-popup--open { opacity: 1; }

.pb-cart-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
}

.pb-cart-popup__box {
  position: relative;
  background: var(--pb-white);
  border-radius: 16px;
  padding: 2rem;
  max-width: 440px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  transform: translateY(16px);
  transition: transform .25s ease;
  text-align: center;
}
#pb-cart-popup.pb-cart-popup--open .pb-cart-popup__box {
  transform: translateY(0);
}

.pb-cart-popup__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  color: var(--pb-gray-400);
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background .15s, color .15s;
  line-height: 1;
}
.pb-cart-popup__close:hover { background: var(--pb-gray-100); color: var(--pb-black); }

.pb-cart-popup__check {
  width: 56px;
  height: 56px;
  background: #DCFCE7;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  color: #16A34A;
}

.pb-cart-popup__title {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--pb-black);
  margin-bottom: 1.25rem;
  letter-spacing: -.02em;
}

.pb-cart-popup__product {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--pb-gray-50, #F9FAFB);
  border: 1px solid var(--pb-gray-100, #F3F4F6);
  border-radius: 10px;
  padding: .875rem;
  margin-bottom: 1.5rem;
  text-align: left;
}

.pb-cart-popup__img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  border: 1px solid var(--pb-gray-100, #F3F4F6);
}

.pb-cart-popup__name {
  font-weight: 700;
  font-size: .9rem;
  color: var(--pb-black);
  line-height: 1.3;
}
.pb-cart-popup__price {
  font-size: 1rem;
  font-weight: 800;
  color: var(--pb-black);
  margin-top: .2rem;
}
.pb-cart-popup__count {
  font-size: .78rem;
  color: var(--pb-gray-500, #6B7280);
  margin-top: .2rem;
}

.pb-cart-popup__actions {
  display: flex;
  gap: .75rem;
}
.pb-cart-popup__btn-back {
  flex: 1;
  justify-content: center;
  border-color: var(--pb-gray-300, #D1D5DB);
  color: var(--pb-gray-700, #374151);
  font-size: .875rem;
}
.pb-cart-popup__btn-cart {
  flex: 1.5;
  justify-content: center;
  font-size: .875rem;
}

@media (max-width: 480px) {
  .pb-cart-popup__box { padding: 1.5rem; }
  .pb-cart-popup__actions { flex-direction: column; }
}

/* ── CATEGORY CARDS ─────────────────────────────────────────── */
.pb-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.25rem;
}

.pb-cat-card {
  display: flex;
  flex-direction: column;
  background: var(--pb-white);
  border: 2px solid var(--pb-gray-100);
  border-radius: var(--pb-radius-lg);
  overflow: hidden;
  text-decoration: none;
  color: var(--pb-black);
  transition: all 0.2s var(--pb-ease);
  box-shadow: var(--pb-shadow-sm);
}
.pb-cat-card:hover {
  border-color: var(--pb-gold);
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0,0,0,0.12), 0 0 0 0 rgba(245,200,0,0);
}

.pb-cat-card__img-wrap {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--pb-gray-50);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pb-cat-card__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s var(--pb-ease);
}
.pb-cat-card:hover .pb-cat-card__img-wrap img {
  transform: scale(1.06);
}
.pb-cat-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pb-gray-400);
  background: var(--pb-gray-50);
}

.pb-cat-card__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.125rem;
  border-top: 1.5px solid var(--pb-gray-100);
  transition: background 0.15s;
}
.pb-cat-card:hover .pb-cat-card__body {
  background: var(--pb-gold);
  border-color: var(--pb-gold);
}

.pb-cat-card__name {
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.pb-cat-card__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: var(--pb-gray-100);
  border-radius: var(--pb-radius-sm);
  flex-shrink: 0;
  transition: background 0.15s;
  color: var(--pb-gray-600);
}
.pb-cat-card:hover .pb-cat-card__arrow {
  background: var(--pb-black);
  color: var(--pb-gold);
}

/* ── HEADER HEIGHT UPDATE ──────────────────────────────────── */
:root { --pb-header-h: 48px; /* height of sticky .pb-navbar */ }

/* ============================================================
   MOBILE PRODUCT PAGE (768px) style
   ============================================================ */
@media (max-width: 768px) {

  /* Gallery: full-width, no padding */
  .pb-pdp { padding-top: 0; }
  .pb-gallery { margin: 0; border-radius: 0; }
  .pb-gallery__main { border-radius: 0; aspect-ratio: 1/1; }
  .pb-gallery__main-img { border-radius: 0; }
  .pb-gallery__thumbs { padding: 0.75rem 1rem; gap: 0.5rem; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
  .pb-gallery__thumb { width: 56px; height: 56px; flex-shrink: 0; }

  /* Breadcrumb: compact */
  .pb-breadcrumb { padding: 0.5rem 1rem; font-size: 0.75rem; }
  .pb-breadcrumb a, .pb-breadcrumb span:not(.pb-breadcrumb__sep) { padding: 0.2rem 0.5rem; font-size: 0.72rem; }

  /* Buybox: tight padding */
  .pb-buybox { padding: 1rem 1rem 0.5rem; border-radius: 0; box-shadow: none; }
  .pb-buybox__title { font-size: 1.25rem; margin-bottom: 0.375rem; }
  .pb-buybox__short-desc { font-size: 0.875rem; margin-bottom: 0.625rem; }
  .pb-buybox__rating { margin-bottom: 0.75rem; }

  /* QTY cards: compact horizontal row*/
  .pb-qty-offers { display: flex; flex-direction: row; gap: 0.375rem; margin-bottom: 0.875rem; margin-top: 20px; }
  .pb-qty-card {
    flex: 1;
    padding: 0.5rem 0.25rem;
    border-radius: 8px;
    text-align: center;
    min-width: 0;
    border-width: 2px;
  }
  .pb-qty-card__badge {
    font-size: 0.6rem;
    padding: 0.15rem 0.4rem;
    border-radius: 10px;
    margin-bottom: 0.25rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .pb-qty-card__label { font-size: 1rem; font-weight: 800; margin-bottom: 0.125rem; }
  .pb-qty-card__price-per { font-size: 0.72rem; line-height: 1.2; }
  .pb-qty-card__savings { font-size: 0.65rem; margin-top: 0.125rem; }

  /* ── Price display ── */
  .pb-buybox__total-wrap { margin: 0.75rem 0; }
  .pb-buybox__total-price { font-size: 2rem; }
  .pb-buybox__compare-price { font-size: 1rem; }
  .pb-buybox__savings-tag { font-size: 0.8rem; }

  /* ── CTA button: full width, large ── */
  .pb-btn--cart {
    font-size: 1.1rem;
    padding: 1rem;
    border-radius: 10px;
    letter-spacing: 0;
  }

  /* ── Trust items: vertical list ── */
  .pb-trust-line { flex-direction: column; gap: 0.5rem; padding: 0.875rem 0; }
  .pb-trust-item { font-size: 0.82rem; }

  /* ── Google rating ── */
  .pb-buybox__rating { flex-wrap: wrap; }

  /* ── Content blocks: full width ── */
  .pb-pdp__content { padding: 0; }
  .pb-section--sm { padding: 1.25rem 1rem; }

  /* ── Reviews: 1 column on mobile ── */
  .pb-review-grid { grid-template-columns: 1fr; gap: 0.75rem; }
  .pb-review-card { padding: 0.875rem; }

  /* ── FAQ ── */
  .pb-faq__question { font-size: 0.9rem; }

  /* ── Sticky bottom bar ── */
  .pb-sticky-cta {
    display: flex !important;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom));
    background: white;
    box-shadow: 0 -3px 20px rgba(0,0,0,0.12);
    border-top: 1px solid #f0f0f0;
  }
  .pb-sticky-cta__inner { width: 100%; display: flex; align-items: center; gap: 0.75rem; }
  .pb-sticky-cta__price {
    font-size: 1.2rem;
    font-weight: 900;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .pb-sticky-cta .pb-btn--cart {
    flex: 1;
    font-size: 1rem;
    padding: 0.875rem 1rem;
    border-radius: 8px;
  }
}

/* ============================================================
   MOBILE CHECKOUT (≤768px) — Netscroll style
   ============================================================ */
@media (max-width: 768px) {

  .pb-checkout { padding: 0; }
  .pb-checkout__inner { gap: 0; }

  /* Form: no extra padding, flat design */
  .pb-checkout-form {
    padding: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .pb-checkout-form__title {
    font-size: 1.2rem;
    padding: 1rem 1rem 0.75rem;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 0;
    background: white;
  }

  /* Each section */
  .pb-checkout-section {
    padding: 1rem;
    border-bottom: 8px solid #F5F5F5;
    margin-bottom: 0;
  }
  .pb-checkout-section__title {
    font-size: 1rem;
    margin-bottom: 0.875rem;
  }

  /* All fields: full width single column */
  .pb-field--row { grid-template-columns: 1fr; gap: 0.75rem; }
  .pb-field-row { grid-template-columns: 1fr; gap: 0.75rem; }
  .pb-alt-address__header { flex-direction:column; align-items:flex-start; }
  .pb-field { margin-bottom: 0.75rem; }
  .pb-field:last-child { margin-bottom: 15px; }

  /* Input styling: large touch targets */
  .pb-input, .pb-select {
    height: 52px;
    font-size: 1rem;
    border-radius: 8px;
    padding: 0 1rem;
    border: 1.5px solid #E0E0E0;
  }
  .pb-input:focus, .pb-select:focus { border-color: #1A1A1A; box-shadow: none; }
  .pb-label { font-size: 0.8rem; font-weight: 600; color: #666; margin-bottom: 0.3rem; }

  /* Method cards: full-width with good spacing */
  .pb-method-card {
    padding: 1rem;
    border-radius: 10px;
    margin-bottom: 0.625rem;
    border-width: 1.5px;
  }
  .pb-method-card__name { font-size: 0.95rem; font-weight: 700; }
  .pb-method-card__desc { font-size: 0.8rem; color: #888; margin-top: 0.2rem; }
  .pb-method-card__price { font-size: 0.95rem; font-weight: 700; }

  /* Checkout summary: at bottom, clean card */
  .pb-checkout-summary {
    order: 1 !important;
    margin: 0 1rem 1rem;
    border-radius: 16px;
    border: 1.5px solid #E5E7EB;
    padding: 1.25rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
  }
  .pb-checkout-form { order: 2 !important; }
  .pb-checkout-summary__title { font-size: 1rem; font-weight: 700; margin-bottom: 1rem; }
  .pb-summary-item { padding: 0.75rem 0; }
  .pb-summary-item__img { width: 56px; height: 56px; border-radius: 8px; }
  .pb-summary-item__name { font-size: 0.9rem; }

  /* Totals */
  .pb-summary-row { font-size: 0.9rem; padding: 0.375rem 0; }
  .pb-summary-row--total { font-size: 1.1rem; padding-top: 0.75rem; }

  /* Coupon: collapsible style */
  .pb-coupon-form { border: 1.5px solid #E0E0E0; border-radius: 8px; overflow: hidden; }
  .pb-coupon-form .pb-input { border: none; height: 48px; border-radius: 0; }
  .pb-coupon-form .pb-btn { border-radius: 0; height: 48px; }

  /* Submit button */
  #pb-checkout-submit {
    display: flex !important;
    width: 100%;
    padding: 1.125rem;
    font-size: 1.1rem;
    border-radius: 10px;
    background: #2D9B3F;
    margin-top: 0.5rem;
  }
  #pb-checkout-submit:hover { background: #25862F; }

  /* Legal text */
  .pb-legal-check { font-size: 0.8rem; }
  .pb-legal-check label { font-size: 0.8rem; }
}

/* Extra small: phones */
@media (max-width: 390px) {
  .pb-qty-card__badge { font-size: 0.55rem; }
  .pb-qty-card__label { font-size: 0.9rem; }
  .pb-qty-card__price-per { font-size: 0.65rem; }
  .pb-buybox__total-price { font-size: 1.75rem; }
}

/* ── PRODUCT IMAGE CARDS (image 2+) ────────────────────────── */
.pb-image-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-top: 1.5rem;
}

.pb-image-card {
  background: var(--pb-white);
  border-radius: var(--pb-radius-lg);
  overflow: hidden;
  box-shadow: var(--pb-shadow-md);
  border: 1px solid var(--pb-gray-100);
}

.pb-image-card__img-wrap {
  width: 100%;
  background: var(--pb-gray-50);
}
.pb-image-card__img-wrap img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.pb-image-card__caption {
  padding: 1rem 1.25rem;
  font-size: 0.9rem;
  color: var(--pb-gray-800);
  font-weight: 500;
  line-height: 1.5;
  border-top: 1px solid var(--pb-gray-100);
  background: var(--pb-white);
}

@media (max-width: 768px) {
  .pb-image-card {
    border-radius: 10px;
    margin-inline: 0;
  }
  .pb-image-card__caption {
    font-size: 0.875rem;
    padding: 0.875rem 1rem;
  }
  .pb-image-cards {
    gap: 1rem;
    margin-top: 1.25rem;
  }
}

@media (max-width: 768px) {
  /* Hide gallery thumbs on mobile - extra images shown as cards below */
  .pb-gallery__thumbs { display: none; }
  /* Show image cards on mobile with grid, based on settings class */
  .pb-image-cards { display: grid; }
}
@media (min-width: 769px) {
  /* On desktop, image cards are in left column alongside gallery - keep visible */
  .pb-gallery__thumbs { display: flex; }
}

/* ── TECHNICAL SPECS TABLE ──────────────────────────────────── */
.pb-tech-specs {
  margin-top: 1.5rem;
  border: 1.5px solid var(--pb-gray-200);
  border-radius: var(--pb-radius-lg);
  overflow: hidden;
}
.pb-tech-specs__title {
  font-size: 1rem;
  font-weight: 800;
  padding: 0.875rem 1.25rem;
  background: var(--pb-gray-50);
  border-bottom: 1.5px solid var(--pb-gray-200);
  letter-spacing: -0.01em;
}
.pb-tech-specs__list {
  margin: 0;
}
.pb-tech-specs__row {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  border-bottom: 1px solid var(--pb-gray-100);
}
.pb-tech-specs__row:last-child { border-bottom: none; }
.pb-tech-specs__key {
  padding: 0.75rem 1.25rem;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--pb-gray-800);
  background: var(--pb-gray-50);
  border-right: 1px solid var(--pb-gray-100);
}
.pb-tech-specs__val {
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  color: var(--pb-black);
  background: var(--pb-white);
}

@media (max-width: 768px) {
  .pb-tech-specs { border-radius: 10px; margin-top: 1.25rem; }
  .pb-tech-specs__row { grid-template-columns: 1fr 1fr; }
  .pb-tech-specs__key,
  .pb-tech-specs__val { padding: 0.625rem 1rem; font-size: 0.82rem; }
}

/* ── AVAILABILITY ROW (Na zalogi + Pošiljamo) ────────────────── */
.pb-availability-row {
  display: flex;
  align-items: stretch; /* both pills stretch to same height */
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0;
}
/* Both pills — same height via align-items:stretch on parent, same font/padding */
.pb-availability-row .pb-availability,
.pb-availability-row .pb-dispatch-date {
  flex-shrink: 0;
  /* Unified height: same vertical padding, same font-size, same line-height */
  padding-top: 0.3rem;
  padding-bottom: 0.3rem;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  align-items: center;
}
.pb-dispatch-date {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding-left: 0.55rem;
  padding-right: 0.75rem;
  border-radius: 999px;
  background: #EFF6FF;
  border: 1.5px solid #93C5FD;
  color: #1E40AF;
  white-space: nowrap;
  margin-bottom: 8px;
}
.pb-dispatch-date svg { color: #3B82F6; flex-shrink: 0; }
.pb-dispatch-date strong { color: #1E3A8A; font-weight: 800; }
.pb-dispatch-date__note {
  color: #3B82F6;
  font-size: 0.72rem;
  font-weight: 600;
  margin-left: 2px;
}
/* No separator dot */
.pb-availability-row .pb-availability + .pb-dispatch-date::before {
  display: none;
}

/* ── VARIANT SWATCHES WITH IMAGES ──────────────────────────── */
.pb-variant-swatch {
  position: relative;
  overflow: hidden;
}
/* When swatch has image child, make it square */
.pb-variant-swatch:has(img) {
  width: 56px;
  height: 56px;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
}
.pb-variant-swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.pb-variant-swatch:has(img).is-active {
  box-shadow: 0 0 0 3px var(--pb-gold);
}

/* ============================================================
   HOMEPAGE — CONVERSION OPTIMIZED
   ============================================================ */

/* ── Trust bar (top strip) ─────────────────────────────────── */
.pb-hometrust {
  background: #F8F9FA;
  border-bottom: 1px solid #EAECF0;
  padding: .625rem 0;
}
.pb-hometrust__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}
.pb-hometrust__item {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--pb-gray-800, #1F2937);
  padding: .25rem .875rem;
}
.pb-hometrust__item svg { color: var(--pb-gold, #F5C800); flex-shrink: 0; }
.pb-hometrust__sep {
  width: 1px; height: 18px;
  background: #DDE1E8;
}

/* ── Category bubbles ──────────────────────────────────────── */
.pb-home-cats {
  padding: 1rem 0;
  border-bottom: 1px solid #F0F0F0;
}
.pb-home-cats__scroll {
  display: flex;
  gap: .75rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: .25rem;
}
.pb-home-cats__scroll::-webkit-scrollbar { display: none; }

.pb-home-cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  text-decoration: none;
  flex-shrink: 0;
  width: 72px;
}
.pb-home-cat__img {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: #F3F4F6;
  border: 2px solid transparent;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  transition: border-color .2s, transform .2s;
}
.pb-home-cat__img img {
  width: 100%; height: 100%; object-fit: cover;
}
.pb-home-cat:hover .pb-home-cat__img {
  border-color: var(--pb-gold, #F5C800);
  transform: translateY(-2px);
}
.pb-home-cat__name {
  font-size: .72rem;
  font-weight: 600;
  color: var(--pb-gray-800, #1F2937);
  text-align: center;
  line-height: 1.2;
  max-width: 72px;
  word-break: break-word;
}

/* ── Product sections ──────────────────────────────────────── */
.pb-home-section {
  padding: 2rem 0 1.5rem;
}
.pb-home-section + .pb-home-section {
  border-top: 1px solid #F3F4F6;
}
.pb-home-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 1.25rem;
  gap: 1rem;
}
.pb-home-section__label {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--pb-gold, #F5C800);
  margin-bottom: .2rem;
}
.pb-home-section__title {
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--pb-black, #1A1A1A);
  line-height: 1.2;
}
.pb-home-section__more {
  font-size: .85rem;
  font-weight: 700;
  color: var(--pb-gold, #F5C800);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.pb-home-section__more:hover { text-decoration: underline; }

/* ── Product grid (2 cols mobile, 4 desktop) ───────────────── */
.pb-home-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 640px) { .pb-home-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .pb-home-grid { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; } }

/* ── Product card ──────────────────────────────────────────── */
.pb-pcard {
  background: #fff;
  border: 1.5px solid #EAECF0;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
  position: relative;
}
.pb-pcard:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  transform: translateY(-2px);
}
.pb-pcard__img-wrap {
  display: block;
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #F9FAFB;
}
.pb-pcard__img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.pb-pcard:hover .pb-pcard__img { transform: scale(1.04); }

.pb-pcard__badge { position: absolute; top: .5rem; left: .5rem; z-index: 1; }
.pb-pcard__discount-badge {
  position: absolute; top: .5rem; right: .5rem;
  background: #EF4444; color: #fff;
  font-size: .72rem; font-weight: 800;
  padding: .2rem .5rem; border-radius: 20px;
  z-index: 1;
}

.pb-pcard__body {
  padding: .875rem .875rem 1rem;
}
.pb-pcard__name {
  font-size: .875rem;
  font-weight: 600;
  color: var(--pb-black, #1A1A1A);
  line-height: 1.35;
  margin-bottom: .5rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-decoration: none;
}
.pb-pcard__name a { color: inherit; text-decoration: none; }

.pb-pcard__price-wrap {
  display: flex; align-items: baseline; gap: .375rem;
  margin-bottom: .75rem;
}
.pb-pcard__price {
  font-size: 1.1rem;
  font-weight: 900;
  color: #EF4444;
  letter-spacing: -.01em;
}
.pb-pcard__price-was {
  font-size: .8rem;
  color: #9CA3AF;
  text-decoration: line-through;
}

.pb-pcard__cta-btn {
  display: block;
  background: var(--pb-gold, #F5C800);
  color: var(--pb-black, #1A1A1A);
  text-align: center;
  font-size: .82rem;
  font-weight: 800;
  padding: .625rem;
  border-radius: 7px;
  text-decoration: none;
  transition: background .15s, transform .15s;
}
.pb-pcard__cta-btn:hover {
  background: #D4A900;
  transform: translateY(-1px);
}

/* ── Promo banner ──────────────────────────────────────────── */
.pb-promo-banner {
  background: linear-gradient(135deg, #1A1A1A 0%, #2D2D2D 100%);
  padding: 2.5rem 0;
  margin: .5rem 0;
}
.pb-promo-banner__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.pb-promo-banner__eyebrow {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--pb-gold, #F5C800);
  margin-bottom: .5rem;
}
.pb-promo-banner__title {
  font-size: 1.75rem;
  font-weight: 900;
  color: #fff;
  line-height: 1.2;
  letter-spacing: -.02em;
}
.pb-promo-banner__sub {
  font-size: .9rem;
  color: rgba(255,255,255,.6);
  margin-top: .5rem;
}
.pb-promo-banner__icons {
  display: flex;
  gap: 2rem;
  flex-shrink: 0;
}
.pb-promo-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  color: rgba(255,255,255,.7);
  font-size: .75rem;
  font-weight: 600;
  text-align: center;
}
.pb-promo-icon svg { color: var(--pb-gold, #F5C800); }

/* ── Bottom trust row ──────────────────────────────────────── */
.pb-trust-row {
  background: #F8F9FA;
  border-top: 1px solid #EAECF0;
  padding: 1.75rem 0;
}
.pb-trust-row__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem 1.5rem;
}
@media (min-width: 768px) {
  .pb-trust-row__grid { grid-template-columns: repeat(4, 1fr); }
}
.pb-trust-row__item {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
}
.pb-trust-row__icon {
  width: 44px; height: 44px;
  background: var(--pb-gold, #F5C800);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: var(--pb-black, #1A1A1A);
}
.pb-trust-row__title {
  font-size: .875rem;
  font-weight: 700;
  color: var(--pb-black, #1A1A1A);
  margin-bottom: .15rem;
}
.pb-trust-row__sub {
  font-size: .78rem;
  color: #6B7280;
  line-height: 1.4;
}

/* ── Header search bar ─────────────────────────────────────── */
.pb-header__search {
  display: flex;
  align-items: center;
  flex: 1;
  max-width: 480px;
  margin: 0 1.25rem;
  background: #F3F4F6;
  border: 1.5px solid #E5E7EB;
  border-radius: 10px;
  overflow: hidden;
  transition: border-color .15s, box-shadow .15s;
}
.pb-header__search:focus-within {
  border-color: var(--pb-gold, #F5C800);
  box-shadow: 0 0 0 3px rgba(245,200,0,.15);
  background: #fff;
}
.pb-header__search-input {
  flex: 1;
  border: none;
  background: transparent;
  padding: .65rem 1rem;
  font-size: .9rem;
  color: #1A1A1A;
  outline: none;
  font-family: inherit;
  min-width: 0;
}
.pb-header__search-input::placeholder { color: #9CA3AF; }
.pb-header__search-btn {
  background: var(--pb-gold, #F5C800);
  border: none;
  padding: .65rem 1rem;
  cursor: pointer;
  color: #1A1A1A;
  display: flex; align-items: center;
  flex-shrink: 0;
  transition: background .15s;
}
.pb-header__search-btn:hover { background: #D4A900; }

/* ── Mobile: hide search, keep compact ────────────────────── */
@media (max-width: 640px) {
  .pb-header__search { display: none; }
  .pb-hometrust__sep { display: none; }
  .pb-hometrust__inner { justify-content: flex-start; gap: 0; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .pb-hometrust__inner::-webkit-scrollbar { display: none; }
  .pb-hometrust__item { white-space: nowrap; flex-shrink: 0; font-size: .78rem; }
  .pb-promo-banner__icons { display: none; }
  .pb-promo-banner__title { font-size: 1.35rem; }
  .pb-home-section__title { font-size: 1.1rem; }
}

/* ── Mobile: show search bar below header ─────────────────── */
@media (max-width: 640px) {
  .pb-header::after {
    content: '';
  }
}

/* Add mobile search below navbar */
.pb-mobile-search {
  display: none;
  padding: .625rem 1rem;
  background: #fff;
  border-bottom: 1px solid #F0F0F0;
}
@media (max-width: 640px) {
  .pb-mobile-search { display: block; }
}

/* ── Fix 10: Hide sticky CTA on desktop ────────────────────── */
@media (min-width: 769px) {
  .pb-sticky-cta { display: none !important; }
}

/* ── Fix 11: Cart popup checkout button ────────────────────── */
.pb-cart-popup__checkout-btn {
  display: block;
  width: 100%;
  background: #2D9B3F;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: 800;
  padding: .875rem 1rem;
  border-radius: 10px;
  text-decoration: none;
  margin-top: .5rem;
  transition: background .15s;
}
.pb-cart-popup__checkout-btn:hover { background: #25862F; }

/* ── Out-of-stock availability ─────────────────────────────── */
.pb-availability--out { color: #991B1B; background: #FEF2F2; border-color: #FCA5A5; }
.pb-availability__dot--out { background: #EF4444 !important; animation: none; }


/* Hotfix: product page and checkout mobile */
.pb-image-cards--desktop-1 .pb-image-cards { grid-template-columns: 1fr; }
.pb-image-cards--desktop-2 .pb-image-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 768px) {
  html, body, .pb-site, .pb-page, .pb-main { max-width: 100%; overflow-x: hidden; }
  .pb-container, .pb-pdp, .pb-pdp__inner, .pb-pdp__content, .pb-gallery, .pb-checkout, .pb-checkout__inner, .pb-checkout-form, .pb-checkout-summary { max-width: 100%; overflow-x: hidden; }
  .pb-pdp__inner { display:flex; flex-direction:column; }
  .pb-pdp__content { order:1; }
  #pb-buybox { order:2 !important; }
  .pb-pdp-section { order: var(--pb-order-mobile) !important; }
  .pb-image-cards--mobile-1 .pb-image-cards { grid-template-columns: 1fr !important; }
  .pb-image-cards--mobile-2 .pb-image-cards { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .pb-image-card, .pb-method-card, .pb-summary-item, .pb-buybox, .pb-tech-specs, .pb-guarantee, .pb-benefit-strip { min-width: 0; }
  .pb-image-card__caption, .pb-buybox__short-desc, .pb-tech-specs__key, .pb-tech-specs__val, .pb-method-card__name, .pb-method-card__desc { word-break: break-word; overflow-wrap:anywhere; }
  .pb-tech-specs__row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .pb-benefit-strip { grid-template-columns: repeat(2,minmax(0,1fr)); gap:.5rem; }
  .pb-guarantee { grid-template-columns: 1fr !important; }
  .pb-checkout__inner { display:flex; flex-direction:column; }
  .pb-checkout-form { order:1; padding:1rem; }
  .pb-checkout-summary { order:2; position:static; margin:0 1rem 1rem; border-radius:16px; }
  .pb-method-cards { display:flex; flex-direction:column; gap:.75rem; }
  .pb-method-card { background: var(--pb-checkout-card-bg, #fff); border:1.5px solid var(--pb-checkout-card-border, #D1D5DB); border-radius:14px; padding:1rem; grid-template-columns: 22px 1fr auto; align-items:center; }
  .pb-method-card[data-type='shipping']{background:var(--pb-checkout-card-bg,#fff);border-color:var(--pb-checkout-shipping-border,var(--pb-checkout-card-border,#D1D5DB));}
  .pb-method-card[data-type='payment']{background:var(--pb-checkout-payment-bg,#fff);border-color:var(--pb-checkout-payment-border,var(--pb-checkout-card-border,#D1D5DB));}
  .pb-method-card[data-type='shipping'].is-selected { background: var(--pb-checkout-shipping-active-bg, #E9F8E5); }
  .pb-method-card[data-type='payment'].is-selected { background: var(--pb-checkout-payment-active-bg, #FFFFFF); }
  #pb-checkout-submit { position:static; margin-top:1rem; background: var(--pb-checkout-submit-bg, #2D9B3F) !important; color: var(--pb-checkout-submit-text, #fff) !important; }
}

@media (max-width:768px){ .pb-checkout-submit-mobile{display:none !important;} .pb-checkout-submit-main{display:flex !important;align-items:center;justify-content:center;gap:.6rem;} }

/* ══ HOMEPAGE — Hero, USP cards ══════════════════════════════ */
.pb-hero {
  background: linear-gradient(135deg, #1A1A1A 0%, #2c3e50 100%);
  padding: 3rem 0 2.5rem;
  position: relative; overflow: hidden;
}
.pb-hero::before {
  content: ''; position: absolute; top: -40%; right: -5%;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(245,200,0,.1) 0%, transparent 70%);
  pointer-events: none;
}
.pb-hero__inner {
  display: flex; flex-direction: column; gap: 2rem;
}
@media (min-width: 900px) {
  .pb-hero__inner { flex-direction: row; align-items: center; justify-content: space-between; }
  .pb-hero__text { flex: 1; }
}
.pb-hero__eyebrow {
  display: inline-block; background: rgba(245,200,0,.15); color: #F5C800;
  font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  padding: .3rem .875rem; border-radius: 20px; margin-bottom: .75rem;
  border: 1px solid rgba(245,200,0,.25);
}
.pb-hero__title {
  font-size: clamp(1.9rem, 4.5vw, 2.8rem); font-weight: 900; color: #fff;
  letter-spacing: -.03em; line-height: 1.1; margin: 0 0 .875rem;
}
.pb-hero__title-accent { color: #F5C800; }
.pb-hero__sub {
  font-size: 1rem; color: rgba(255,255,255,.7); line-height: 1.65;
  margin: 0 0 1.5rem; max-width: 500px;
}
.pb-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: .875rem; }
.pb-hero__cta-main {
  font-size: 1rem !important; padding: .875rem 2rem !important;
  border-radius: 10px !important; display: inline-flex !important;
  align-items: center; gap: .5rem; box-shadow: 0 4px 20px rgba(245,200,0,.3);
}
.pb-hero__trust-mini {
  display: flex; flex-wrap: wrap; gap: .375rem .875rem;
  font-size: .75rem; color: rgba(255,255,255,.55);
}
.pb-hero__stats {
  display: flex; align-items: center;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px; padding: 1.25rem 0; backdrop-filter: blur(10px); width: fit-content;
  flex-shrink: 0;
}
.pb-hero__stat { text-align: center; padding: 0 1.5rem; }
.pb-hero__stat-num { font-size: 1.4rem; font-weight: 900; color: #F5C800; letter-spacing: -.02em; }
.pb-hero__stat-lbl { font-size: .68rem; color: rgba(255,255,255,.5); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; margin-top: .2rem; }
.pb-hero__stat-div { width: 1px; height: 38px; background: rgba(255,255,255,.12); }

/* USP Cards */
.pb-usp-section { padding: 1.75rem 0; background: #F8F9FA; border-top: 1px solid #EAECF0; border-bottom: 1px solid #EAECF0; }
.pb-usp-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; }
@media (min-width: 768px) { .pb-usp-grid { grid-template-columns: repeat(4,1fr); } }
.pb-usp-card {
  background: #fff; border: 1.5px solid #E5E7EB; border-radius: 14px;
  padding: 1.1rem 1rem; text-align: center; transition: box-shadow .2s, transform .2s;
}
.pb-usp-card:hover { box-shadow: 0 5px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
.pb-usp-card--gold { border-color: #F5C800; background: linear-gradient(135deg,#FFFBEB 0%,#fff 100%); }
.pb-usp-card__icon { font-size: 1.9rem; margin-bottom: .4rem; line-height: 1; }
.pb-usp-card__title { font-size: .875rem; font-weight: 800; color: #111; margin-bottom: .15rem; }
.pb-usp-card__sub { font-size: .72rem; color: #6B7280; }

/* ── Product image sort & upload ─────────────────────────────── */
.pba-img-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: .625rem;
  margin-bottom: 1rem;
}
.pba-img-item {
  position: relative; border-radius: 10px; overflow: hidden;
  aspect-ratio: 1/1; border: 2px solid #E5E7EB;
  cursor: grab; transition: border-color .15s, box-shadow .15s;
}
.pba-img-item img { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.pba-img-item.is-primary { border-color: #F5C800; box-shadow: 0 0 0 2px #F5C80055; }
.pba-img-item.is-dragging { opacity: .45; }
.pba-img-item.drag-over { border-color: #2563EB; box-shadow: 0 0 0 3px #2563EB33; }
.pba-img-item.is-loading { border-color: #E5E7EB; background: #F9FAFB; }
.pba-img-item__delete {
  position: absolute; top: 4px; right: 4px;
  background: rgba(0,0,0,.55); color: #fff; border: none;
  border-radius: 50%; width: 22px; height: 22px;
  font-size: 14px; line-height: 1; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .15s;
}
.pba-img-item:hover .pba-img-item__delete { opacity: 1; }
.pba-img-primary-badge {
  position: absolute; bottom: 4px; left: 4px;
  background: #F5C800; color: #111; font-size: .65rem; font-weight: 800;
  padding: 1px 6px; border-radius: 20px;
}
.pba-upload-zone.is-dragover { border-color: #2563EB; background: #EFF6FF; }

/* ══ FLOATING LABEL INPUTS ═══════════════════════════════════ */
.pb-float-field {
  position: relative;
}
.pb-float-field .pb-input {
  padding-top: 1.375rem;
  padding-bottom: .375rem;
  height: 3.25rem;
}
.pb-float-label {
  position: absolute;
  left: .875rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: .9rem;
  color: #9CA3AF;
  pointer-events: none;
  transition: top .18s ease, font-size .18s ease, color .18s ease, transform .18s ease;
  white-space: nowrap;
  max-width: calc(100% - 1.75rem);
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}
/* Floated state: input focused OR has value (not empty placeholder) */
.pb-float-field .pb-input:focus ~ .pb-float-label,
.pb-float-field .pb-input:not(:placeholder-shown) ~ .pb-float-label {
  top: .6rem;
  transform: translateY(0);
  font-size: .7rem;
  color: var(--pb-gold-dark, #D4A900);
  font-weight: 600;
}
.pb-float-field .pb-input.has-error ~ .pb-float-label { color: #DC2626; }
.pb-float-field .pb-input:focus { padding-top: 1.375rem; }

/* ══ ALT ADDRESS CARD ════════════════════════════════════════ */
.pb-alt-address-card {
  background: #FFFBEB;
  border: 2px solid #F5C800;
  border-radius: 14px;
  padding: 1.25rem;
  margin-bottom: 1rem;
}
.pb-alt-address-card__hdr {
  display: flex;
  align-items: center;
  gap: .875rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #FDE68A;
}
.pb-alt-address-card__icon {
  font-size: 1.75rem;
  line-height: 1;
  flex-shrink: 0;
}
.pb-alt-address-card__title {
  font-size: 1rem;
  font-weight: 800;
  color: #111;
  margin-bottom: .1rem;
}
.pb-alt-address-card__sub {
  font-size: .78rem;
  color: #92400E;
}

/* ══ LEGAL CHECK — link visibility ══════════════════════════ */
.pb-legal-check label a,
.pb-legal-check span a {
  color: #1D4ED8 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
  font-weight: 700;
}
.pb-legal-check label a:hover,
.pb-legal-check span a:hover {
  color: #1E40AF !important;
}

/* ============================================================
   CART PAGE v2 — mobile-first redesign
   ============================================================ */

/* Empty state */
.pb-cart-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 1rem;
  text-align: center;
  color: var(--pb-gray-500);
}
.pb-cart-empty svg {
  width: 64px;
  height: 64px;
  margin-bottom: 1.25rem;
  opacity: .5;
}
.pb-cart-empty p {
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
  color: var(--pb-gray-600);
}

/* Page header */
.pb-cart-header {
  padding: 1.5rem 0 1.25rem;
}
.pb-cart-header__title {
  font-size: clamp(1.6rem, 5vw, 2.3rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  margin-bottom: 0.35rem;
  color: var(--pb-gray-900);
}
.pb-cart-header__sub {
  margin: 0;
  color: var(--pb-gray-500);
  font-size: 0.95rem;
}

/* Two-column layout */
.pb-cart-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 1.75rem;
  align-items: start;
  padding-bottom: 4rem;
}

/* Items card */
.pb-cart-items-card {
  background: #fff;
  border-radius: 16px;
  border: 1.5px solid var(--pb-gray-100);
  overflow: hidden;
  box-shadow: 0 1px 8px rgba(0,0,0,.04);
}

/* Single item row */
.pb-citem {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 1rem;
  padding: 1.125rem 1.25rem;
  border-bottom: 1px solid var(--pb-gray-100);
  align-items: start;
}
.pb-citem:last-child { border-bottom: none; }

.pb-citem__img {
  width: 88px;
  height: 88px;
  border-radius: 10px;
  object-fit: contain;
  background: var(--pb-gray-50);
  padding: 6px;
  flex-shrink: 0;
}

.pb-citem__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}

.pb-citem__name {
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1.3;
}
.pb-citem__name a {
  color: var(--pb-gray-900);
  text-decoration: none;
}
.pb-citem__name a:hover { color: var(--pb-primary); }

.pb-citem__variant {
  font-size: 0.78rem;
  color: var(--pb-gray-500);
  background: var(--pb-gray-50);
  border-radius: 4px;
  padding: 1px 6px;
  display: inline-block;
  width: fit-content;
}

.pb-citem__meta {
  font-size: 0.78rem;
  color: var(--pb-gray-500);
}

.pb-citem__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.5rem;
  flex-wrap: wrap;
}

.pb-citem__price {
  font-weight: 800;
  font-size: 1rem;
  color: var(--pb-gray-900);
  margin-left: auto;
}

.pb-citem__remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--pb-gray-300);
  padding: 4px;
  border-radius: 6px;
  transition: color 0.15s, background 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.pb-citem__remove svg { width: 17px; height: 17px; }
.pb-citem__remove:hover {
  color: var(--pb-error);
  background: #FEF2F2;
}

/* Qty control inside citem */
.pb-citem__qty.pb-qty-control {
  border-radius: 8px;
  border-width: 1.5px;
}
.pb-citem__qty .pb-qty-control__btn {
  width: 30px;
  height: 30px;
  font-size: 1rem;
}
.pb-citem__qty .pb-qty-control__val {
  width: 34px;
  font-size: 0.9rem;
  line-height: 30px;
}

/* Trust badges below items */
.pb-cart-trust {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 1rem 0 0;
}
.pb-cart-trust__item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.82rem;
  color: var(--pb-gray-600);
  font-weight: 500;
}
.pb-cart-trust__icon {
  font-size: 1rem;
  flex-shrink: 0;
}

/* Summary card */
.pb-cart-summary-col {
  position: sticky;
  top: calc(var(--pb-header-h, 64px) + 1.25rem);
}
.pb-cart-summary-card {
  background: #fff;
  border-radius: 16px;
  border: 1.5px solid var(--pb-gray-100);
  padding: 1.5rem;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}
.pb-cart-summary-card__title {
  font-size: 1.1rem;
  font-weight: 800;
  margin-bottom: 1.25rem;
  color: var(--pb-gray-900);
}

/* Totals */
.pb-cart-totals {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 1.25rem;
  border-top: 1px solid var(--pb-gray-100);
}
.pb-cart-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.7rem 0;
  font-size: 0.9rem;
  color: var(--pb-gray-700);
  border-bottom: 1px solid var(--pb-gray-100);
}
.pb-cart-total-row--discount {
  color: var(--pb-success);
  font-weight: 600;
}
.pb-cart-total-row--grand {
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--pb-gray-900);
  border-bottom: none;
  padding-top: 0.85rem;
}
.pb-cart-shipping-label {
  color: var(--pb-success);
  font-weight: 700;
  font-size: 0.82rem;
}
.pb-coupon-badge {
  background: #EEF2FF;
  color: #4338CA;
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 0.72rem;
  font-weight: 700;
  font-family: monospace;
}

/* CTA button */
.pb-cart-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding: 1rem 1.25rem;
  background: var(--pb-primary, #EAB308);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  border-radius: 12px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: filter 0.15s, transform 0.1s;
  letter-spacing: 0.01em;
}
.pb-cart-cta-btn:hover {
  filter: brightness(1.07);
  transform: translateY(-1px);
}
.pb-cart-cta-btn svg { width: 18px; height: 18px; flex-shrink: 0; }

/* Continue link */
.pb-cart-continue-link {
  display: block;
  text-align: center;
  font-size: 0.85rem;
  color: var(--pb-gray-500);
  margin-top: 0.85rem;
  text-decoration: none;
  transition: color 0.15s;
}
.pb-cart-continue-link:hover { color: var(--pb-gray-800); }

/* Coupon form */
.pb-cart-coupon {
  margin-top: 1.1rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--pb-gray-100);
}
.pb-coupon-input {
  flex: 1;
  font-size: 0.88rem;
  height: 44px;
  padding: 0 0.85rem;
  border-radius: 8px 0 0 8px !important;
  border-right: none !important;
}
.pb-coupon-btn {
  height: 44px;
  border-radius: 0 8px 8px 0 !important;
  font-size: 0.88rem;
  padding: 0 1rem;
  flex-shrink: 0;
}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .pb-cart-layout {
    grid-template-columns: 1fr;
  }
  .pb-cart-summary-col {
    position: static;
    order: -1; /* summary on top on mobile */
  }
  .pb-cart-summary-card {
    border-radius: 12px;
  }
}

@media (max-width: 640px) {
  .pb-cart-header {
    padding: 1rem 0 0.75rem;
  }
  .pb-cart-header__title {
    font-size: 1.65rem;
  }
  .pb-cart-layout {
    gap: 1rem;
  }
  .pb-citem {
    grid-template-columns: 72px 1fr;
    padding: 1rem;
    gap: 0.75rem;
  }
  .pb-citem__img {
    width: 72px;
    height: 72px;
  }
  .pb-citem__name { font-size: 0.85rem; }
  .pb-citem__price { font-size: 0.95rem; }
  .pb-cart-summary-card {
    padding: 1.125rem;
  }
  .pb-cart-total-row--grand {
    font-size: 1.1rem;
  }
  .pb-cart-cta-btn {
    padding: 0.9rem 1rem;
    font-size: 0.95rem;
  }
  .pb-cart-trust {
    gap: 0.5rem;
  }
}

/* ══════════════════════════════════════════════════════════════
   CART PAGE — mobile-first redesign
══════════════════════════════════════════════════════════════ */

/* Empty state */
.pb-cart-empty {
  text-align: center;
  padding: 4rem 1rem 5rem;
  max-width: 400px;
  margin: 0 auto;
}
.pb-cart-empty__icon {
  width: 72px; height: 72px;
  background: #F3F4F6;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.25rem;
  color: #9CA3AF;
}
.pb-cart-empty__icon svg { width: 36px; height: 36px; }
.pb-cart-empty__title { font-size: 1.4rem; font-weight: 800; color: #111; margin: 0 0 .5rem; }
.pb-cart-empty__sub   { font-size: .95rem; color: #6B7280; margin: 0 0 1.5rem; }
.pb-cart-empty__cta   { display: inline-flex; align-items: center; gap: .5rem; }

/* Header */
.pb-cart-hdr {
  padding: 1.25rem 0 1rem;
}
.pb-cart-hdr__title {
  font-size: clamp(1.5rem, 5vw, 2rem);
  font-weight: 900;
  letter-spacing: -.02em;
  margin: 0 0 .3rem;
  color: #111;
}
.pb-cart-hdr__sub { margin: 0; color: #6B7280; font-size: .9rem; }

/* Layout grid */
.pb-cart-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 1.5rem;
  align-items: start;
  margin-bottom: 6rem; /* room for mobile bar */
}

/* Items card */
.pb-cart-items-card {
  background: #fff;
  border: 1.5px solid #E5E7EB;
  border-radius: 16px;
  overflow: hidden;
}

/* Cart item row */
.pb-ci {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid #F3F4F6;
  transition: background .15s;
}
.pb-ci:last-child { border-bottom: none; }
.pb-ci:hover { background: #FAFAFA; }

.pb-ci__img-wrap {
  display: block;
  width: 88px; height: 88px;
  border-radius: 10px;
  overflow: hidden;
  background: #F9FAFB;
  border: 1.5px solid #E5E7EB;
  flex-shrink: 0;
}
.pb-ci__img {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 6px;
}
.pb-ci__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}
.pb-ci__name {
  font-weight: 700;
  font-size: .9rem;
  color: #111;
  text-decoration: none;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pb-ci__name:hover { color: var(--pb-primary, #F5C800); }
.pb-ci__meta {
  font-size: .78rem;
  color: #9CA3AF;
  margin-top: .2rem;
}
.pb-ci__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .6rem;
}
.pb-ci__price-row {
  display: flex;
  align-items: center;
  gap: .625rem;
  margin-left: auto;
}
.pb-ci__price {
  font-weight: 800;
  font-size: 1rem;
  color: #111;
  white-space: nowrap;
}
.pb-ci__remove {
  background: none;
  border: none;
  color: #D1D5DB;
  cursor: pointer;
  padding: 4px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  transition: color .15s, background .15s;
  flex-shrink: 0;
}
.pb-ci__remove svg { width: 16px; height: 16px; }
.pb-ci__remove:hover { color: #EF4444; background: #FEF2F2; }

/* Trust bar under items */
.pb-cart-trust {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: .875rem;
  padding: .75rem 0;
  border-top: 1px dashed #E5E7EB;
}
.pb-cart-trust__item {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .78rem;
  color: #6B7280;
  font-weight: 600;
}
.pb-cart-trust__item svg { width: 14px; height: 14px; color: #10B981; flex-shrink: 0; }

/* Summary box */
.pb-cart-sumbox {
  background: #fff;
  border: 1.5px solid #E5E7EB;
  border-radius: 16px;
  padding: 1.5rem;
  position: sticky;
  top: 1rem;
}
.pb-cart-sumbox__title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #111;
  margin: 0 0 1.25rem;
  padding-bottom: .875rem;
  border-bottom: 1px solid #F3F4F6;
}
.pb-cart-sumbox__lines {
  display: flex;
  flex-direction: column;
  gap: .125rem;
  margin-bottom: 1.25rem;
}
.pb-cart-sumline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .875rem;
  color: #4B5563;
  padding: .45rem 0;
  border-bottom: 1px solid #F9FAFB;
}
.pb-cart-sumline:last-child { border-bottom: none; }
.pb-cart-sumline--discount { color: #059669; font-weight: 600; }
.pb-cart-sumline__shipping-txt { color: #059669; font-size: .8rem; font-weight: 600; }
.pb-cart-sumline--total {
  font-weight: 900;
  font-size: 1.15rem;
  color: #111;
  padding-top: .75rem;
  margin-top: .375rem;
  border-top: 2px solid #E5E7EB;
  border-bottom: none;
}

/* Coupon badge */
.pb-cart-coupon-badge {
  display: inline-block;
  background: #ECFDF5;
  color: #065F46;
  border: 1px solid #6EE7B7;
  font-size: .68rem;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 6px;
  margin-left: 4px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Checkout button */
.pb-cart-checkout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  background: var(--pb-primary, #F5C800);
  color: var(--pb-primary-text, #111);
  font-weight: 800;
  font-size: 1rem;
  padding: .9rem 1.25rem;
  border-radius: 12px;
  text-decoration: none;
  transition: filter .15s, transform .1s;
  box-shadow: 0 4px 14px rgba(245,200,0,.3);
  letter-spacing: -.01em;
}
.pb-cart-checkout-btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.pb-cart-checkout-btn:active { transform: translateY(0); filter: brightness(.97); }

.pb-cart-back-link {
  display: block;
  text-align: center;
  font-size: .8rem;
  color: #9CA3AF;
  margin-top: .75rem;
  text-decoration: none;
}
.pb-cart-back-link:hover { color: #6B7280; }

/* Coupon toggle + form */
.pb-cart-coupon-wrap {
  margin-top: 1rem;
  border-top: 1px solid #F3F4F6;
  padding-top: .875rem;
}
.pb-cart-coupon-toggle {
  display: flex;
  align-items: center;
  gap: .45rem;
  width: 100%;
  background: none;
  border: none;
  font-size: .82rem;
  font-weight: 600;
  color: #6B7280;
  cursor: pointer;
  padding: 0;
  text-align: left;
}
.pb-cart-coupon-toggle:hover { color: #374151; }
.pb-coupon-input {
  width: 100%;
  margin-top: .75rem;
  margin-bottom: .5rem;
  height: 44px;
  border-radius: 8px;
  border: 1.5px solid #D1D5DB;
  padding: 0 .875rem;
  font-size: .875rem;
  outline: none;
  transition: border-color .15s;
}
.pb-coupon-input:focus { border-color: var(--pb-primary, #F5C800); }
.pb-coupon-submit {
  width: 100%;
  background: #111;
  color: #fff;
  font-weight: 700;
  font-size: .875rem;
  padding: .65rem 1rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s;
}
.pb-coupon-submit:hover { background: #1F2937; }
.pb-coupon-msg {
  font-size: .78rem;
  font-weight: 600;
  padding: .5rem .75rem;
  border-radius: 7px;
  margin-top: .5rem;
}
.pb-coupon-msg--ok  { background: #ECFDF5; color: #065F46; border: 1px solid #6EE7B7; }
.pb-coupon-msg--err { background: #FEF2F2; color: #991B1B; border: 1px solid #FCA5A5; }

/* Trust icons at bottom of sumbox */
.pb-cart-sumbox__trust {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: 1rem;
  padding-top: .875rem;
  border-top: 1px solid #F3F4F6;
  flex-wrap: wrap;
}

/* Sticky mobile bar */
.pb-cart-mobile-bar {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 300;
  background: #fff;
  border-top: 1.5px solid #E5E7EB;
  padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
  align-items: center;
  justify-content: space-between;
  gap: .875rem;
  box-shadow: 0 -4px 20px rgba(0,0,0,.08);
}
.pb-cart-mobile-bar__info {
  display: flex;
  flex-direction: column;
}
.pb-cart-mobile-bar__lbl    { font-size: .7rem; color: #9CA3AF; font-weight: 600; }
.pb-cart-mobile-bar__amount { font-size: 1.15rem; font-weight: 900; color: #111; }
.pb-cart-mobile-bar__btn {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: var(--pb-primary, #F5C800);
  color: var(--pb-primary-text, #111);
  font-weight: 800;
  font-size: .9rem;
  padding: .75rem 1.25rem;
  border-radius: 10px;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(245,200,0,.3);
  transition: filter .15s;
}
.pb-cart-mobile-bar__btn:hover { filter: brightness(1.06); }

/* ── Responsive ── */
@media (max-width: 900px) {
  .pb-cart-layout {
    grid-template-columns: 1fr;
  }
  .pb-cart-summary-col {
    order: -1; /* summary above items on tablet */
  }
  .pb-cart-sumbox {
    position: static;
  }
}

@media (max-width: 768px) {
  .pb-cart-hdr { padding: .875rem 0 .75rem; }
  .pb-cart-hdr__title { font-size: 1.4rem; }
  .pb-cart-layout { gap: 1rem; margin-bottom: 5rem; }

  /* On mobile: summary BELOW items (better scroll flow) */
  .pb-cart-summary-col { order: 2; }
  .pb-cart-items-col   { order: 1; }

  /* Bigger touch targets on items */
  .pb-ci { padding: .875rem 1rem; gap: .75rem; }
  .pb-ci__img-wrap { width: 76px; height: 76px; }
  .pb-qty-control__btn { width: 38px; height: 38px; font-size: 1.1rem; }

  /* Show sticky mobile bar */
  .pb-cart-mobile-bar { display: flex; }

  /* Hide desktop checkout button on mobile — use sticky bar */
  .pb-cart-checkout-btn { display: none; }
  .pb-cart-back-link    { display: none; }
}

@media (max-width: 480px) {
  .pb-ci { grid-template-columns: 68px 1fr; gap: .625rem; }
  .pb-ci__img-wrap { width: 68px; height: 68px; }
  .pb-ci__name { font-size: .83rem; }
  .pb-ci__price { font-size: .92rem; }
}

/* ============================================================
   LIGHTBOX — pb-image-card click-to-zoom
   ============================================================ */
.pb-lightbox-trigger { position: relative; }
.pb-lightbox-hint {
  position: absolute;
  top: .5rem; right: .5rem;
  background: rgba(0,0,0,.45);
  color: #fff;
  border-radius: 50%;
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
}
.pb-lightbox-trigger:hover .pb-lightbox-hint { opacity: 1; }

/* Overlay */
#pb-lightbox-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.88);
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  cursor: zoom-out;
  animation: pb-lb-in .18s ease;
}
#pb-lightbox-overlay.is-open { display: flex; }
@keyframes pb-lb-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
#pb-lightbox-overlay img {
  max-width: 100%;
  max-height: 90vh;
  border-radius: 10px;
  box-shadow: 0 8px 60px rgba(0,0,0,.6);
  object-fit: contain;
  cursor: default;
}
#pb-lightbox-close {
  position: fixed;
  top: 1rem; right: 1.25rem;
  background: rgba(255,255,255,.15);
  border: none;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  width: 40px; height: 40px;
  border-radius: 50%;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s;
}
#pb-lightbox-close:hover { background: rgba(255,255,255,.3); }
#pb-lightbox-caption {
  position: fixed;
  bottom: 1.25rem;
  left: 50%; transform: translateX(-50%);
  background: rgba(0,0,0,.6);
  color: #fff;
  padding: .4rem 1rem;
  border-radius: 20px;
  font-size: .85rem;
  max-width: 90%;
  text-align: center;
  pointer-events: none;
}

/* ============================================================
   SHORT-DESC CHECKMARK BADGES — pb-short-badges
   ============================================================ */
.pb-short-badges {
  list-style: none;
  margin: 0 0 .75rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.pb-short-badge {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  font-size: .9rem;
  color: var(--pb-gray-800, #1A1A1A);
  line-height: 1.4;
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  border-radius: 8px;
  padding: .38rem .7rem .38rem .55rem;
}
.pb-short-badge__check {
  flex-shrink: 0;
  margin-top: .1rem;
  display: flex;
}


.pb-hero.has-bg-image {
  background-image: linear-gradient(rgba(10,16,28,.48), rgba(10,16,28,.48)), var(--pb-hero-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}