/* ============================================================
   PrintDen WordPress Theme - Main Stylesheet
   Matches the React/Vite design exactly
   Primary: #0a4fa4 (hsl 213 89% 34%)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800&family=Inter:wght@300;400;500;600&display=swap');

/* ── CSS Variables ── */
:root {
  --pd-primary: #0a4fa4;
  --pd-primary-dark: #083d83;
  --pd-primary-light: #e8f0fc;
  --pd-orange: #f97316;
  --pd-orange-light: #fff7ed;
  --pd-green: #22c55e;
  --pd-green-light: #f0fdf4;
  --pd-red: #ef4444;
  --pd-bg: #f9fafb;
  --pd-white: #ffffff;
  --pd-foreground: #1c2333;
  --pd-muted: #64748b;
  --pd-border: #e5e7eb;
  --pd-border-light: #f3f4f6;
  --pd-card-bg: #fafafa;
  --pd-sidebar-bg: #f8fafc;
  --pd-gray-50: #f9fafb;
  --pd-gray-100: #f3f4f6;
  --pd-gray-200: #e5e7eb;
  --pd-gray-300: #d1d5db;
  --pd-gray-400: #9ca3af;
  --pd-gray-500: #6b7280;
  --pd-gray-600: #4b5563;
  --pd-gray-700: #374151;
  --pd-gray-800: #1f2937;
  --pd-gray-900: #111827;
  --pd-radius: 0.5rem;
  --pd-radius-lg: 0.75rem;
  --pd-radius-xl: 1rem;
  --pd-radius-2xl: 1.25rem;
  --pd-shadow-sm: 0 1px 4px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
  --pd-shadow: 0 2px 8px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,.04);
  --pd-shadow-md: 0 4px 16px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.06);
  --pd-shadow-lg: 0 8px 24px rgba(0,0,0,.10), 0 4px 8px rgba(0,0,0,.06);
}

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { font-size: 16px; scroll-behavior: smooth; }

body {
  font-family: 'Inter', sans-serif;
  background: var(--pd-bg);
  color: var(--pd-foreground);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: var(--pd-gray-900);
}

a { color: var(--pd-primary); text-decoration: none; transition: color .15s; }
a:hover { color: var(--pd-primary-dark); }
img { max-width: 100%; height: auto; }
ul { list-style: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }

/* ── Utility Classes ── */
.pd-container { max-width: 1280px; margin: 0 auto; padding: 0 1rem; }
.pd-flex { display: flex; }
.pd-items-center { align-items: center; }
.pd-justify-between { justify-content: space-between; }
.pd-gap-2 { gap: .5rem; }
.pd-gap-3 { gap: .75rem; }
.pd-gap-4 { gap: 1rem; }
.pd-gap-6 { gap: 1.5rem; }
.pd-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* ── Buttons ── */
.pd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-family: 'Inter', sans-serif; font-weight: 600; font-size: .875rem;
  padding: .625rem 1.25rem; border-radius: var(--pd-radius-lg);
  transition: all .15s; cursor: pointer; border: none; text-decoration: none;
  white-space: nowrap;
}
.pd-btn-primary { background: var(--pd-primary); color: #fff; }
.pd-btn-primary:hover { background: var(--pd-primary-dark); color: #fff; }
.pd-btn-orange { background: #f97316; color: #fff; }
.pd-btn-orange:hover { background: #ea6c0a; color: #fff; }
.pd-btn-ghost { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.3); color: #fff; }
.pd-btn-ghost:hover { background: rgba(255,255,255,.2); color: #fff; }
.pd-btn-outline { background: #fff; border: 1px solid var(--pd-border); color: var(--pd-gray-700); }
.pd-btn-outline:hover { border-color: var(--pd-primary); color: var(--pd-primary); background: var(--pd-primary-light); }
.pd-btn-sm { padding: .375rem .875rem; font-size: .8125rem; }
.pd-btn-lg { padding: .75rem 1.75rem; font-size: 1rem; }
.pd-btn-block { width: 100%; }
.pd-btn-icon { padding: .5rem; border-radius: var(--pd-radius); }

/* ── Badges ── */
.pd-badge {
  display: inline-flex; align-items: center; font-size: .625rem; font-weight: 700;
  padding: 2px 8px; border-radius: 999px; letter-spacing: .05em; text-transform: uppercase;
}
.pd-badge-sameday { background: linear-gradient(135deg, #f97316, #ef4444); color: #fff; }
.pd-badge-lowprice { background: linear-gradient(135deg, #22c55e, #16a34a); color: #fff; }
.pd-badge-premium { background: linear-gradient(135deg, #8b5cf6, #6d28d9); color: #fff; }
.pd-badge-tradeshow { background: linear-gradient(135deg, #3b82f6, #1d4ed8); color: #fff; }
.pd-badge-orange-light { background: #fff7ed; color: #c2410c; }
.pd-badge-green-light { background: #f0fdf4; color: #15803d; }
.pd-badge-blue-light { background: var(--pd-primary-light); color: var(--pd-primary); }
.pd-badge-purple-light { background: #f5f3ff; color: #7c3aed; }

/* ── Cards ── */
.pd-card {
  background: var(--pd-white); border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius-xl); overflow: hidden;
}
.pd-card-hover { transition: box-shadow .2s, border-color .2s; }
.pd-card-hover:hover { box-shadow: var(--pd-shadow-md); border-color: rgba(10,79,164,.3); }

/* ── Forms ── */
.pd-input, .pd-select, .pd-textarea {
  width: 100%; padding: .5rem .75rem; font-family: 'Inter', sans-serif;
  font-size: .875rem; border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius); background: #fff; color: var(--pd-foreground);
  transition: border-color .15s, box-shadow .15s; outline: none;
}
.pd-input:focus, .pd-select:focus, .pd-textarea:focus {
  border-color: var(--pd-primary); box-shadow: 0 0 0 3px rgba(10,79,164,.1);
}
.pd-input::placeholder, .pd-textarea::placeholder { color: var(--pd-gray-400); }
.pd-label { display: block; font-size: .8125rem; font-weight: 600; color: var(--pd-gray-700); margin-bottom: .375rem; }
.pd-form-group { margin-bottom: 1rem; }
.pd-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 640px) { .pd-form-row { grid-template-columns: 1fr; } }

/* ── ================================================================
   HEADER / NAVBAR
   ================================================================ */
#pd-header {
  position: sticky !important; top: 0 !important; z-index: 9999 !important;
  background: #fff !important; border-bottom: 1px solid var(--pd-border) !important;
  box-shadow: var(--pd-shadow-sm) !important;
}
/* Force WooCommerce pages to not break header */
.woocommerce #pd-header,
.woocommerce-page #pd-header { position: sticky !important; top: 0 !important; z-index: 9999 !important; }
.pd-logo { height: 1.5rem !important; width: auto !important; max-width: 160px !important; object-fit: contain !important; display: block !important; }

/* Top utility bar */
.pd-topbar {
  background: var(--pd-gray-50); border-bottom: 1px solid var(--pd-border);
  height: 2.5rem;
}
.pd-topbar-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 1rem;
  display: flex !important; align-items: center !important; justify-content: space-between !important; height: 100%;
}
.pd-logo-wrap { display: flex; align-items: center; gap: .625rem; text-decoration: none; }
.pd-logo { height: 1.5rem; width: auto; }
.pd-canada-badge {
  display: flex; align-items: center; gap: .375rem;
  border-left: 1px solid var(--pd-gray-300); padding-left: .625rem;
  font-size: .75rem; font-weight: 500; color: var(--pd-gray-600);
}
.pd-canada-flag { width: 20px; height: 14px; flex-shrink: 0; }
.pd-topbar-contact { display: flex; align-items: center; gap: 1.25rem; font-size: .75rem; color: var(--pd-gray-500); }
.pd-topbar-contact a { color: var(--pd-gray-500); transition: color .15s; }
.pd-topbar-contact a:hover { color: var(--pd-primary); }
.pd-topbar-actions { display: flex; align-items: center; gap: .75rem; font-size: .75rem; color: var(--pd-gray-600); }
.pd-topbar-actions a {
  display: flex; align-items: center; gap: .375rem;
  color: var(--pd-gray-600); text-decoration: none; transition: color .15s;
}
.pd-topbar-actions a:hover { color: var(--pd-primary); }
.pd-topbar-divider { color: var(--pd-gray-300); }
.pd-cart-link { position: relative; }
.pd-cart-count {
  position: absolute; top: -6px; right: -8px;
  background: var(--pd-red); color: #fff; font-size: 9px; font-weight: 700;
  border-radius: 999px; height: 16px; width: 16px;
  display: flex; align-items: center; justify-content: center;
  display: none;
}
.pd-cart-count.has-items { display: flex; }

/* Main navbar */
.pd-navbar-main { max-width: 1280px; margin: 0 auto; padding: 0 1rem; }
.pd-navbar-inner { display: flex; align-items: center; height: 3rem; gap: 1.5rem; }
.pd-nav-links { display: flex; align-items: center; gap: 1.5rem; }
.pd-nav-link { font-size: .875rem; font-weight: 500; color: var(--pd-gray-700); text-decoration: none; transition: color .15s; }
.pd-nav-link:hover { color: var(--pd-primary); }

/* Products mega dropdown */
.pd-mega-wrap { position: relative; }
.pd-mega-btn {
  display: flex; align-items: center; gap: .375rem;
  font-size: .875rem; font-weight: 600; color: var(--pd-gray-800);
  background: none; border: none; cursor: pointer; padding: .75rem 0;
  transition: color .15s; font-family: 'Inter', sans-serif;
}
.pd-mega-btn:hover, .pd-mega-wrap:hover .pd-mega-btn { color: var(--pd-primary); }
.pd-mega-chevron { width: 16px; height: 16px; transition: transform .2s; }
.pd-mega-wrap:hover .pd-mega-chevron { transform: rotate(180deg); }
.pd-mega-menu {
  position: absolute; left: 0; top: 100%;
  background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl);
  box-shadow: var(--pd-shadow-lg); padding: .75rem; width: 14rem; z-index: 200;
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .15s;
}
.pd-mega-wrap:hover .pd-mega-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.pd-mega-item { display: block; padding: .375rem .75rem; border-radius: var(--pd-radius); font-size: .875rem; color: var(--pd-gray-700); font-weight: 500; transition: all .15s; text-decoration: none; }
.pd-mega-item:hover { background: var(--pd-primary-light); color: var(--pd-primary); }
.pd-mega-sub { margin-left: 1rem; border-left: 1px solid var(--pd-border-light); padding-left: .5rem; margin-bottom: .25rem; }
.pd-mega-sub a { display: block; padding: .25rem .5rem; font-size: .75rem; color: var(--pd-gray-500); text-decoration: none; transition: color .15s; }
.pd-mega-sub a:hover { color: var(--pd-primary); }
.pd-navbar-spacer { flex: 1; }

/* Mobile hamburger */
.pd-mobile-menu-btn {
  display: none; align-items: center; gap: .25rem;
  font-size: .875rem; font-weight: 500; color: var(--pd-gray-700);
  background: none; border: none; cursor: pointer; padding: .25rem;
  border-radius: var(--pd-radius); transition: background .15s;
}
.pd-mobile-menu-btn:hover { background: var(--pd-gray-100); }
.pd-mobile-menu-btn svg { width: 20px; height: 20px; }

/* Mobile slide-down menu */
.pd-mobile-menu {
  display: none; background: #fff; border-top: 1px solid var(--pd-border-light);
  box-shadow: var(--pd-shadow-lg); padding: .75rem 1rem;
}
.pd-mobile-menu.open { display: block; }
.pd-mobile-categories { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem; margin-bottom: .75rem; }
.pd-mobile-cat-link { display: block; padding: .625rem .75rem; border-radius: var(--pd-radius); font-size: .875rem; font-weight: 500; color: var(--pd-gray-700); text-decoration: none; transition: all .15s; }
.pd-mobile-cat-link:hover { background: var(--pd-primary-light); color: var(--pd-primary); }
.pd-mobile-contact { border-top: 1px solid var(--pd-border-light); padding-top: .75rem; font-size: .75rem; color: var(--pd-gray-500); display: flex; align-items: center; gap: .375rem; }
.pd-mobile-contact a { color: var(--pd-gray-500); }
.pd-mobile-contact a:hover { color: var(--pd-primary); }

/* Mobile bottom nav */
#pd-mobile-bottom-nav {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 100;
  background: #fff; border-top: 1px solid var(--pd-border);
  box-shadow: 0 -2px 12px rgba(0,0,0,.08); height: 4rem;
}
.pd-bottom-nav-inner { display: flex; align-items: stretch; height: 100%; }
.pd-bottom-nav-item {
  flex: 1; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 2px; text-decoration: none;
  font-size: .625rem; font-weight: 600; color: var(--pd-gray-400);
  padding-top: .25rem; transition: color .15s;
}
.pd-bottom-nav-item svg { width: 20px; height: 20px; }
.pd-bottom-nav-item .pd-nav-icon-wrap { padding: .375rem; border-radius: .75rem; transition: background .15s; }
.pd-bottom-nav-item.active, .pd-bottom-nav-item:hover { color: var(--pd-primary); }
.pd-bottom-nav-item.active .pd-nav-icon-wrap { background: var(--pd-primary-light); }
.pd-mobile-spacer { display: none; height: 4rem; }

/* Responsive */
@media (max-width: 768px) {
  .pd-canada-badge, .pd-topbar-contact { display: none; }
  .pd-mobile-menu-btn { display: flex; }
  .pd-nav-links { display: none; }
  #pd-mobile-bottom-nav { display: block; }
  .pd-mobile-spacer { display: block; }
  .pd-topbar-actions .pd-account-link, .pd-topbar-divider { display: none; }
}
@media (max-width: 640px) {
  .pd-canada-badge { display: none; }
}
@media (min-width: 769px) {
  .pd-mobile-menu { display: none !important; }
}

/* ── ================================================================
   HERO BANNER
   ================================================================ */
.pd-hero {
  background: linear-gradient(135deg, var(--pd-primary) 0%, #1d4ed8 100%);
  color: #fff;
}
.pd-hero-inner {
  max-width: 1280px; margin: 0 auto; padding: 2.5rem 1rem;
  display: flex; flex-direction: column; gap: 1.5rem;
}
@media (min-width: 768px) { .pd-hero-inner { flex-direction: row; align-items: center; justify-content: space-between; } }
.pd-hero-title { font-size: 1.875rem; font-weight: 800; margin-bottom: .5rem; line-height: 1.15; color: #fff; }
.pd-hero-title span { color: #fca5a5; }
@media (min-width: 768px) { .pd-hero-title { font-size: 2.25rem; } }
.pd-hero-subtitle { color: #bfdbfe; font-size: 1rem; max-width: 28rem; margin-bottom: 1.25rem; }
.pd-hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.pd-hero-stats { display: none; }
@media (min-width: 768px) { .pd-hero-stats { display: flex; align-items: center; gap: 2rem; text-align: center; flex-shrink: 0; } }
.pd-hero-stat svg { width: 24px; height: 24px; margin: 0 auto .25rem; }
.pd-hero-stat-label { font-size: .875rem; font-weight: 700; color: #fff; }
.pd-hero-stat-sub { font-size: .75rem; color: #93c5fd; }

/* ── ================================================================
   MAIN LAYOUT (Sidebar + Content)
   ================================================================ */
.pd-main-wrap { max-width: 1280px; margin: 0 auto; padding: 2rem 1rem; display: flex; gap: 1.5rem; }

/* Sidebar */
.pd-sidebar { width: 14rem; flex-shrink: 0; align-self: flex-start; position: sticky; top: 89px; }
.pd-sidebar-section { background: var(--pd-white); border: 1px solid var(--pd-border); border-radius: var(--pd-radius-lg); overflow: hidden; margin-bottom: 1rem; }
.pd-sidebar-heading { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--pd-gray-500); padding: .75rem 1rem; border-bottom: 1px solid var(--pd-border); }
.pd-sidebar-item { display: flex; align-items: center; gap: .5rem; padding: .5rem 1rem; font-size: .8125rem; color: var(--pd-gray-700); text-decoration: none; transition: all .15s; border-bottom: 1px solid var(--pd-border-light); }
.pd-sidebar-item:last-child { border-bottom: none; }
.pd-sidebar-item:hover { background: var(--pd-primary-light); color: var(--pd-primary); }
.pd-sidebar-item.active { background: var(--pd-primary-light); color: var(--pd-primary); font-weight: 600; }
.pd-sidebar-item svg { width: 14px; height: 14px; flex-shrink: 0; color: var(--pd-gray-400); }
.pd-sidebar-item:hover svg, .pd-sidebar-item.active svg { color: var(--pd-primary); }

.pd-main-content { flex: 1; min-width: 0; }

@media (max-width: 1024px) { .pd-sidebar { display: none; } }

/* ── ================================================================
   SECTION HEADERS (Same Day, Low Price, etc.)
   ================================================================ */
.pd-section { margin-bottom: 2.5rem; }
.pd-section-header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.pd-section-line { flex: 1; height: 1px; background: var(--pd-border); }
.pd-section-title { font-size: 1.25rem; font-weight: 700; color: var(--pd-gray-900); margin-bottom: .25rem; }
.pd-section-sub { font-size: .875rem; color: var(--pd-gray-500); margin-bottom: 1.25rem; }

/* ── ================================================================
   PRODUCT CATEGORY GRID
   ================================================================ */
.pd-cat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
@media (min-width: 480px) { .pd-cat-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) { .pd-cat-grid { grid-template-columns: repeat(6, 1fr); } }

.pd-cat-card { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); overflow: hidden; text-decoration: none; transition: all .2s; display: block; }
.pd-cat-card:hover { box-shadow: var(--pd-shadow-md); border-color: rgba(10,79,164,.3); }
.pd-cat-card-img { height: 7rem; display: flex; align-items: center; justify-content: center; }
.pd-cat-card-img svg, .pd-cat-card-img i { width: 2.5rem; height: 2.5rem; color: #fff; }
.pd-cat-card-body { padding: .625rem .75rem; text-align: center; }
.pd-cat-card-name { font-size: .75rem; font-weight: 600; color: var(--pd-gray-700); transition: color .15s; line-height: 1.3; display: block; }
.pd-cat-card:hover .pd-cat-card-name { color: var(--pd-primary); }

/* Category gradient backgrounds */
.bg-sameday-1 { background: linear-gradient(135deg, #fb923c, #ef4444); }
.bg-sameday-2 { background: linear-gradient(135deg, #fb923c, #f59e0b); }
.bg-sameday-3 { background: linear-gradient(135deg, #f87171, #ec4899); }
.bg-sameday-4 { background: linear-gradient(135deg, #f97316, #dc2626); }
.bg-sameday-5 { background: linear-gradient(135deg, #f59e0b, #ea580c); }
.bg-sameday-6 { background: linear-gradient(135deg, #ef4444, #f43f5e); }
.bg-lowprice-1 { background: linear-gradient(135deg, #34d399, #14b8a6); }
.bg-lowprice-2 { background: linear-gradient(135deg, #4ade80, #10b981); }
.bg-lowprice-3 { background: linear-gradient(135deg, #2dd4bf, #06b6d4); }
.bg-lowprice-4 { background: linear-gradient(135deg, #10b981, #16a34a); }
.bg-lowprice-5 { background: linear-gradient(135deg, #14b8a6, #059669); }
.bg-lowprice-6 { background: linear-gradient(135deg, #22c55e, #14b8a6); }
.bg-unique-1 { background: linear-gradient(135deg, #6b7280, #374151); }
.bg-unique-2 { background: linear-gradient(135deg, #b45309, #92400e); }
.bg-unique-3 { background: linear-gradient(135deg, #475569, #1e293b); }
.bg-unique-4 { background: linear-gradient(135deg, #3b82f6, #4f46e5); }
.bg-unique-5 { background: linear-gradient(135deg, #a855f7, #7c3aed); }
.bg-unique-6 { background: linear-gradient(135deg, #6366f1, #9333ea); }
.bg-trade-1 { background: linear-gradient(135deg, #3b82f6, #06b6d4); }
.bg-trade-2 { background: linear-gradient(135deg, #06b6d4, #3b82f6); }
.bg-trade-3 { background: linear-gradient(135deg, #14b8a6, #06b6d4); }
.bg-trade-4 { background: linear-gradient(135deg, #0ea5e9, #3b82f6); }
.bg-trade-5 { background: linear-gradient(135deg, #2563eb, #4f46e5); }
.bg-trade-6 { background: linear-gradient(135deg, #6366f1, #8b5cf6); }

/* ── ================================================================
   TESTIMONIALS
   ================================================================ */
.pd-testimonials-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .pd-testimonials-grid { grid-template-columns: repeat(3, 1fr); } }
.pd-testimonial-card { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); padding: 1.25rem; }
.pd-testimonial-stars { display: flex; gap: 2px; margin-bottom: .75rem; }
.pd-testimonial-stars svg { width: 14px; height: 14px; color: #f59e0b; fill: #f59e0b; }
.pd-testimonial-text { font-size: .875rem; color: var(--pd-gray-600); line-height: 1.6; margin-bottom: .875rem; font-style: italic; }
.pd-testimonial-author { font-size: .8125rem; font-weight: 600; color: var(--pd-gray-800); }
.pd-testimonial-role { font-size: .75rem; color: var(--pd-gray-400); }

/* ── ================================================================
   FAQ
   ================================================================ */
.pd-faq { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); overflow: hidden; }
.pd-faq-item { border-bottom: 1px solid var(--pd-border-light); }
.pd-faq-item:last-child { border-bottom: none; }
.pd-faq-question { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.25rem; background: none; border: none; cursor: pointer; text-align: left; font-family: 'Inter', sans-serif; font-size: .9375rem; font-weight: 600; color: var(--pd-gray-900); transition: background .15s; }
.pd-faq-question:hover { background: var(--pd-gray-50); }
.pd-faq-icon { width: 20px; height: 20px; flex-shrink: 0; color: var(--pd-gray-400); transition: transform .2s; }
.pd-faq-item.open .pd-faq-icon { transform: rotate(180deg); }
.pd-faq-answer { padding: 0 1.25rem; max-height: 0; overflow: hidden; transition: max-height .25s ease, padding .25s; }
.pd-faq-item.open .pd-faq-answer { padding: .25rem 1.25rem 1rem; max-height: 200px; }
.pd-faq-answer p { font-size: .875rem; color: var(--pd-gray-600); line-height: 1.6; }

/* ── ================================================================
   NEWSLETTER SECTION
   ================================================================ */
.pd-newsletter { background: var(--pd-primary-light); border: 1px solid rgba(10,79,164,.15); border-radius: var(--pd-radius-xl); padding: 2rem; text-align: center; margin-top: 2rem; }
.pd-newsletter h3 { font-size: 1.125rem; font-weight: 700; color: var(--pd-gray-900); margin-bottom: .375rem; }
.pd-newsletter p { font-size: .875rem; color: var(--pd-gray-500); margin-bottom: 1.25rem; }
.pd-newsletter-form { display: flex; gap: .5rem; max-width: 28rem; margin: 0 auto; }
.pd-newsletter-form input { flex: 1; }
@media (max-width: 480px) { .pd-newsletter-form { flex-direction: column; } .pd-newsletter-form .pd-btn { width: 100%; } }

/* ── ================================================================
   SHOP / PRODUCTS PAGE
   ================================================================ */
.pd-shop-header { max-width: 1280px; margin: 0 auto; padding: 1.25rem 1rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
.pd-shop-title { font-size: 1.25rem; font-weight: 700; color: var(--pd-gray-900); }
.pd-shop-controls { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.pd-shop-search-wrap { position: relative; }
.pd-shop-search { padding: .375rem .75rem .375rem 2rem; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-lg); font-size: .875rem; width: 200px; transition: all .15s; background: #fff; }
.pd-shop-search:focus { outline: none; border-color: var(--pd-primary); box-shadow: 0 0 0 3px rgba(10,79,164,.1); width: 260px; }
.pd-shop-search-icon { position: absolute; left: .625rem; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; color: var(--pd-gray-400); pointer-events: none; }
.pd-shop-filters { display: flex; gap: .5rem; flex-wrap: wrap; }
.pd-filter-pill { padding: .25rem .75rem; font-size: .8125rem; font-weight: 500; border: 1px solid var(--pd-border); border-radius: 999px; background: #fff; color: var(--pd-gray-600); cursor: pointer; transition: all .15s; }
.pd-filter-pill:hover, .pd-filter-pill.active { background: var(--pd-primary); border-color: var(--pd-primary); color: #fff; }
.pd-sort-select { padding: .375rem .75rem; border: 1px solid var(--pd-border); border-radius: var(--pd-radius); font-size: .875rem; background: #fff; cursor: pointer; }
.pd-view-toggle { display: flex; border: 1px solid var(--pd-border); border-radius: var(--pd-radius); overflow: hidden; }
.pd-view-btn { padding: .375rem .625rem; background: #fff; border: none; cursor: pointer; transition: background .15s; display: flex; align-items: center; }
.pd-view-btn svg { width: 16px; height: 16px; color: var(--pd-gray-500); }
.pd-view-btn.active { background: var(--pd-primary); }
.pd-view-btn.active svg { color: #fff; }

/* Product grid */
.pd-products-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 640px) { .pd-products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .pd-products-grid { grid-template-columns: repeat(4, 1fr); } }
.pd-products-list { display: flex; flex-direction: column; gap: .75rem; }

.pd-product-card { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); overflow: hidden; transition: all .2s; text-decoration: none; display: block; }
.pd-product-card:hover { box-shadow: var(--pd-shadow-md); border-color: rgba(10,79,164,.25); transform: translateY(-1px); }
.pd-product-card-thumb { height: 10rem; display: flex; align-items: center; justify-content: center; position: relative; }
.pd-product-card-badges { position: absolute; top: .625rem; left: .625rem; display: flex; gap: .25rem; flex-wrap: wrap; }
.pd-product-card-body { padding: .875rem; }
.pd-product-card-name { font-size: .875rem; font-weight: 600; color: var(--pd-gray-900); margin-bottom: .375rem; line-height: 1.3; }
.pd-product-card:hover .pd-product-card-name { color: var(--pd-primary); }
.pd-product-card-meta { display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.pd-product-stars { display: flex; align-items: center; gap: 2px; font-size: .75rem; color: var(--pd-gray-500); }
.pd-product-stars svg { width: 11px; height: 11px; color: #f59e0b; fill: #f59e0b; }
.pd-product-turnaround { font-size: .75rem; color: var(--pd-gray-400); }
.pd-product-price { font-size: .9375rem; font-weight: 700; color: var(--pd-primary); }
.pd-product-price span { font-size: .75rem; font-weight: 400; color: var(--pd-gray-400); }

/* List view card */
.pd-product-card-list { display: flex; align-items: center; gap: 1rem; padding: 1rem; background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); text-decoration: none; transition: all .2s; }
.pd-product-card-list:hover { box-shadow: var(--pd-shadow); border-color: rgba(10,79,164,.25); }
.pd-product-card-list-thumb { width: 5rem; height: 5rem; flex-shrink: 0; border-radius: var(--pd-radius-lg); display: flex; align-items: center; justify-content: center; }
.pd-product-card-list-info { flex: 1; min-width: 0; }
.pd-product-card-list-name { font-size: .9375rem; font-weight: 600; color: var(--pd-gray-900); margin-bottom: .25rem; }
.pd-product-card-list:hover .pd-product-card-list-name { color: var(--pd-primary); }
.pd-product-card-list-price { font-size: 1rem; font-weight: 700; color: var(--pd-primary); }

/* ── ================================================================
   PRODUCT DETAIL PAGE
   ================================================================ */
.pd-breadcrumb { background: #fff; border-bottom: 1px solid var(--pd-border); }
.pd-breadcrumb-inner { max-width: 1280px; margin: 0 auto; padding: .75rem 1rem; font-size: .875rem; color: var(--pd-gray-500); display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.pd-breadcrumb a { color: var(--pd-gray-500); text-decoration: none; transition: color .15s; }
.pd-breadcrumb a:hover { color: var(--pd-primary); }
.pd-breadcrumb-sep { color: var(--pd-gray-300); }
.pd-breadcrumb-current { color: var(--pd-gray-800); font-weight: 500; }

.pd-product-wrap { max-width: 1280px; margin: 0 auto; padding: 1.5rem 1rem; display: flex; gap: 1.5rem; }
.pd-product-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 1024px) { .pd-product-main { flex-direction: row; } }
.pd-product-gallery { width: 100%; }
@media (min-width: 1024px) { .pd-product-gallery { width: 420px; flex-shrink: 0; } }

/* Gallery */
.pd-gallery-main { border-radius: var(--pd-radius-xl); overflow: hidden; margin-bottom: .75rem; height: 320px; display: flex; align-items: center; justify-content: center; }
.pd-gallery-thumbs { display: flex; gap: .5rem; }
.pd-gallery-thumb { width: 4rem; height: 4rem; border-radius: var(--pd-radius-lg); cursor: pointer; border: 2px solid transparent; overflow: hidden; transition: border-color .15s; display: flex; align-items: center; justify-content: center; }
.pd-gallery-thumb.active, .pd-gallery-thumb:hover { border-color: var(--pd-primary); }

/* Product info + configurator */
.pd-product-config { flex: 1; }
.pd-product-title { font-size: 1.5rem; font-weight: 700; color: var(--pd-gray-900); margin-bottom: .75rem; }
.pd-product-rating { display: flex; align-items: center; gap: .625rem; margin-bottom: 1rem; }
.pd-product-rating .stars { display: flex; gap: 2px; }
.pd-product-rating .stars svg { width: 15px; height: 15px; color: #f59e0b; fill: #f59e0b; }
.pd-product-rating .count { font-size: .8125rem; color: var(--pd-gray-500); }

.pd-price-display { background: var(--pd-gray-50); border: 1px solid var(--pd-border); border-radius: var(--pd-radius-lg); padding: .875rem 1rem; margin-bottom: 1rem; }
.pd-price-main { font-size: 1.875rem; font-weight: 800; color: var(--pd-primary); font-family: 'Poppins', sans-serif; }
.pd-price-meta { font-size: .8125rem; color: var(--pd-gray-500); margin-top: .25rem; }
.pd-price-breakdown { display: flex; gap: 1.5rem; margin-top: .75rem; flex-wrap: wrap; }
.pd-price-breakdown-item { font-size: .75rem; color: var(--pd-gray-500); }
.pd-price-breakdown-item span { font-weight: 600; color: var(--pd-gray-700); }

/* Accordions (configurator options) */
.pd-accordion { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); overflow: hidden; margin-bottom: 1rem; }
.pd-accordion-item { border-bottom: 1px solid var(--pd-border-light); }
.pd-accordion-item:last-child { border-bottom: none; }
.pd-accordion-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: .75rem 1rem; background: none; border: none; cursor: pointer; text-align: left; font-family: 'Inter', sans-serif; transition: background .15s; }
.pd-accordion-trigger:hover { background: var(--pd-gray-50); }
.pd-accordion-trigger-left { display: flex; align-items: center; gap: .5rem; }
.pd-accordion-trigger-arrow { color: var(--pd-primary); font-weight: 700; font-size: 1rem; }
.pd-accordion-trigger-title { font-size: .875rem; font-weight: 600; color: var(--pd-gray-800); }
.pd-accordion-trigger-right { display: flex; align-items: center; gap: .5rem; }
.pd-accordion-selected { font-size: .75rem; color: var(--pd-gray-500); }
.pd-accordion-selected .addon { color: #f97316; font-weight: 600; }
.pd-accordion-chevron { width: 16px; height: 16px; color: var(--pd-gray-400); transition: transform .2s; }
.pd-accordion-item.open .pd-accordion-chevron { transform: rotate(180deg); }
.pd-accordion-content { max-height: 0; overflow: hidden; transition: max-height .2s ease; }
.pd-accordion-item.open .pd-accordion-content { max-height: 600px; }
.pd-accordion-inner { padding: .25rem 1rem 1rem; display: flex; flex-direction: column; gap: .375rem; }

/* Option buttons */
.pd-option-btn {
  display: flex; align-items: center; justify-content: space-between;
  padding: .625rem .875rem; border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius); background: #fff; cursor: pointer;
  font-family: 'Inter', sans-serif; font-size: .875rem; text-align: left;
  transition: all .15s; width: 100%;
}
.pd-option-btn:hover { border-color: rgba(10,79,164,.4); background: var(--pd-gray-50); }
.pd-option-btn.selected { border-color: var(--pd-primary); background: var(--pd-primary-light); color: var(--pd-primary); }
.pd-option-btn-left { display: flex; align-items: center; gap: .625rem; }
.pd-option-radio { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--pd-gray-300); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.pd-option-btn.selected .pd-option-radio { border-color: var(--pd-primary); }
.pd-option-radio-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pd-primary); display: none; }
.pd-option-btn.selected .pd-option-radio-dot { display: block; }
.pd-option-label { font-weight: 500; }
.pd-option-sub { font-size: .75rem; color: var(--pd-gray-400); margin-left: .25rem; }
.pd-option-btn.selected .pd-option-sub { color: rgba(10,79,164,.6); }
.pd-option-addon { font-size: .75rem; font-weight: 600; color: #f97316; flex-shrink: 0; }

/* Delivery toggle */
.pd-delivery-toggle { display: flex; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-lg); overflow: hidden; margin-bottom: 1rem; }
.pd-delivery-btn { flex: 1; padding: .625rem; text-align: center; border: none; background: #fff; cursor: pointer; font-family: 'Inter', sans-serif; font-size: .8125rem; font-weight: 500; color: var(--pd-gray-600); transition: all .15s; display: flex; align-items: center; justify-content: center; gap: .375rem; }
.pd-delivery-btn:first-child { border-right: 1px solid var(--pd-border); }
.pd-delivery-btn svg { width: 15px; height: 15px; }
.pd-delivery-btn.active { background: var(--pd-primary); color: #fff; }
.pd-delivery-btn.active svg { color: #fff; }

/* Shipping estimate */
.pd-shipping-estimate { background: var(--pd-gray-50); border: 1px solid var(--pd-border); border-radius: var(--pd-radius-lg); padding: .875rem 1rem; margin-bottom: 1rem; }
.pd-shipping-label { font-size: .8125rem; font-weight: 600; color: var(--pd-gray-700); margin-bottom: .5rem; display: flex; align-items: center; gap: .375rem; }
.pd-shipping-label svg { width: 14px; height: 14px; color: var(--pd-gray-400); }
.pd-postal-row { display: flex; gap: .5rem; }
.pd-postal-row input { flex: 1; font-size: .875rem; }
.pd-postal-result { margin-top: .5rem; font-size: .8125rem; color: var(--pd-green); font-weight: 500; display: flex; align-items: center; gap: .375rem; }
.pd-postal-result svg { width: 14px; height: 14px; }

/* Completion date */
.pd-completion-info { background: var(--pd-primary-light); border: 1px solid rgba(10,79,164,.15); border-radius: var(--pd-radius-lg); padding: .875rem 1rem; margin-bottom: 1rem; font-size: .875rem; color: var(--pd-primary); }
.pd-completion-info strong { font-weight: 700; }

/* Add to cart button */
.pd-add-to-cart-btn { width: 100%; padding: .875rem 1.5rem; font-size: 1rem; font-weight: 700; border-radius: var(--pd-radius-xl); transition: all .2s; display: flex; align-items: center; justify-content: center; gap: .625rem; }
.pd-add-to-cart-btn svg { width: 20px; height: 20px; }

/* Upload zone */
.pd-upload-zone { border: 2px dashed var(--pd-gray-300); border-radius: var(--pd-radius-lg); padding: 1.25rem; text-align: center; cursor: pointer; transition: all .15s; }
.pd-upload-zone:hover, .pd-upload-zone.dragging { border-color: var(--pd-primary); background: var(--pd-primary-light); }
.pd-upload-zone svg { width: 20px; height: 20px; color: var(--pd-gray-400); margin-bottom: .5rem; }
.pd-upload-zone-title { font-size: .875rem; font-weight: 600; color: var(--pd-primary); }
.pd-upload-zone-sub { font-size: .75rem; color: var(--pd-gray-400); margin-top: .25rem; }
.pd-upload-zone-hint { font-size: .75rem; color: var(--pd-gray-400); margin-bottom: .75rem; line-height: 1.5; }
.pd-uploaded-file { display: flex; align-items: center; gap: .75rem; background: var(--pd-green-light); border: 1px solid #bbf7d0; border-radius: var(--pd-radius-lg); padding: .75rem 1rem; }
.pd-uploaded-file-check { width: 16px; height: 16px; color: var(--pd-green); flex-shrink: 0; }
.pd-uploaded-file-name { flex: 1; font-size: .875rem; font-weight: 500; color: var(--pd-gray-800); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pd-uploaded-file-size { font-size: .75rem; color: var(--pd-gray-400); }
.pd-uploaded-file-remove { color: var(--pd-gray-300); cursor: pointer; transition: color .15s; background: none; border: none; padding: 2px; display: flex; }
.pd-uploaded-file-remove:hover { color: var(--pd-red); }
.pd-uploaded-file-remove svg { width: 16px; height: 16px; }

/* Product tabs */
.pd-product-tabs { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); overflow: hidden; }
.pd-tabs-nav { display: flex; border-bottom: 1px solid var(--pd-border); background: var(--pd-gray-50); }
.pd-tab-btn { flex: 1; padding: .75rem .5rem; font-size: .8125rem; font-weight: 500; color: var(--pd-gray-600); background: none; border: none; cursor: pointer; transition: all .15s; border-bottom: 2px solid transparent; text-align: center; font-family: 'Inter', sans-serif; }
.pd-tab-btn:hover { color: var(--pd-primary); background: #fff; }
.pd-tab-btn.active { color: var(--pd-primary); font-weight: 600; border-bottom-color: var(--pd-primary); background: #fff; }
.pd-tab-content { display: none; padding: 1.25rem; }
.pd-tab-content.active { display: block; }
.pd-tab-content p { font-size: .9375rem; color: var(--pd-gray-600); line-height: 1.7; }

/* Pricing table */
.pd-pricing-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.pd-pricing-table th { background: var(--pd-gray-50); padding: .625rem .875rem; text-align: left; font-size: .8125rem; font-weight: 600; color: var(--pd-gray-600); border-bottom: 1px solid var(--pd-border); }
.pd-pricing-table td { padding: .625rem .875rem; border-bottom: 1px solid var(--pd-border-light); }
.pd-pricing-table tr:hover td { background: var(--pd-gray-50); }
.pd-pricing-table tr:last-child td { border-bottom: none; }
.pd-pricing-table td:last-child { font-weight: 600; color: var(--pd-primary); }

/* Reviews */
.pd-review { padding: 1rem 0; border-bottom: 1px solid var(--pd-border-light); }
.pd-review:last-child { border-bottom: none; }
.pd-review-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.pd-review-name { font-size: .9375rem; font-weight: 600; color: var(--pd-gray-900); }
.pd-review-date { font-size: .8125rem; color: var(--pd-gray-400); }
.pd-review-stars { display: flex; gap: 2px; margin-bottom: .375rem; }
.pd-review-stars svg { width: 13px; height: 13px; color: #f59e0b; fill: #f59e0b; }
.pd-review-text { font-size: .875rem; color: var(--pd-gray-600); line-height: 1.6; }

/* Related products */
.pd-related { margin-top: 2rem; }
.pd-related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .875rem; }
@media (min-width: 640px) { .pd-related-grid { grid-template-columns: repeat(4, 1fr); } }

/* ── ================================================================
   CART PAGE
   ================================================================ */
.pd-page-header { background: #fff; border-bottom: 1px solid var(--pd-border); }
.pd-page-header-inner { max-width: 1280px; margin: 0 auto; padding: 2rem 1rem 1.5rem; }
.pd-page-header h1 { font-size: 1.75rem; font-weight: 700; color: var(--pd-gray-900); }
.pd-page-header .count { font-size: .875rem; font-weight: 400; color: var(--pd-gray-400); margin-left: .75rem; }

.pd-cart-wrap { max-width: 1280px; margin: 0 auto; padding: 2rem 1rem; display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 1024px) { .pd-cart-wrap { flex-direction: row; align-items: flex-start; } }
.pd-cart-items { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .75rem; }
.pd-cart-sidebar { width: 100%; }
@media (min-width: 1024px) { .pd-cart-sidebar { width: 20rem; flex-shrink: 0; position: sticky; top: 89px; } }

.pd-cart-item { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-2xl); padding: 1.25rem; display: flex; gap: 1rem; }
.pd-cart-item-thumb { width: 5rem; height: 5rem; flex-shrink: 0; border-radius: var(--pd-radius-lg); display: flex; align-items: center; justify-content: center; }
.pd-cart-item-thumb svg { width: 2.25rem; height: 2.25rem; color: #fff; }
.pd-cart-item-info { flex: 1; min-width: 0; }
.pd-cart-item-top { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.pd-cart-item-name { font-size: .9375rem; font-weight: 600; color: var(--pd-gray-900); margin-bottom: .375rem; }
.pd-cart-item-options { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: .5rem; }
.pd-cart-item-option { font-size: .75rem; color: var(--pd-gray-400); }
.pd-cart-item-option strong { color: var(--pd-gray-500); font-weight: 500; }
.pd-cart-remove { color: var(--pd-gray-300); background: none; border: none; cursor: pointer; transition: color .15s; padding: .25rem; border-radius: var(--pd-radius); display: flex; align-items: center; }
.pd-cart-remove:hover { color: var(--pd-red); background: #fef2f2; }
.pd-cart-remove svg { width: 16px; height: 16px; }
.pd-cart-item-bottom { display: flex; align-items: center; justify-content: space-between; margin-top: .75rem; }
.pd-qty-control { display: flex; align-items: center; border: 1px solid var(--pd-border); border-radius: var(--pd-radius); overflow: hidden; }
.pd-qty-btn { width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; color: var(--pd-gray-600); transition: background .15s; }
.pd-qty-btn:hover { background: var(--pd-gray-50); }
.pd-qty-btn svg { width: 14px; height: 14px; }
.pd-qty-num { width: 2rem; text-align: center; font-size: .875rem; font-weight: 600; color: var(--pd-gray-800); }
.pd-cart-item-price { text-align: right; }
.pd-cart-item-unit { font-size: .75rem; color: var(--pd-gray-400); }
.pd-cart-item-total { font-size: 1.125rem; font-weight: 700; color: var(--pd-gray-900); }

/* Turnaround badge */
.pd-turnaround-badge { display: inline-flex; align-items: center; gap: .25rem; font-size: .625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: #fff7ed; color: #c2410c; padding: 2px 8px; border-radius: 999px; }

/* Cart empty state */
.pd-cart-empty { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-2xl); padding: 4rem 1rem; text-align: center; }
.pd-cart-empty-icon { width: 5rem; height: 5rem; background: var(--pd-gray-100); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.25rem; }
.pd-cart-empty-icon svg { width: 2.25rem; height: 2.25rem; color: var(--pd-gray-300); }
.pd-cart-empty h2 { font-size: 1.25rem; font-weight: 700; color: var(--pd-gray-900); margin-bottom: .5rem; }
.pd-cart-empty p { font-size: .9375rem; color: var(--pd-gray-400); margin-bottom: 1.75rem; }

/* Cart continue link */
.pd-continue-link { display: inline-flex; align-items: center; gap: .5rem; font-size: .875rem; font-weight: 600; color: var(--pd-primary); text-decoration: none; transition: color .15s; margin-top: .5rem; }
.pd-continue-link:hover { color: var(--pd-primary-dark); text-decoration: underline; }
.pd-continue-link svg { width: 16px; height: 16px; transform: rotate(180deg); }

/* Order summary card */
.pd-order-summary { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-2xl); overflow: hidden; box-shadow: var(--pd-shadow-sm); }
.pd-order-summary-head { background: var(--pd-gray-50); border-bottom: 1px solid var(--pd-border); padding: 1rem 1.25rem; }
.pd-order-summary-head h2 { font-size: 1rem; font-weight: 700; color: var(--pd-gray-900); }
.pd-order-summary-body { padding: 1.25rem; }
.pd-order-line { display: flex; justify-content: space-between; align-items: center; font-size: .875rem; margin-bottom: .625rem; }
.pd-order-line .label { color: var(--pd-gray-500); }
.pd-order-line .value { font-weight: 500; color: var(--pd-gray-900); }
.pd-order-line .value.free { color: var(--pd-green); }
.pd-order-line .value.discount { color: var(--pd-green); }
.pd-order-divider { border: none; border-top: 1px solid var(--pd-border); margin: .875rem 0; }
.pd-order-total { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; }
.pd-order-total .label { font-size: 1rem; font-weight: 700; color: var(--pd-gray-900); }
.pd-order-total .value { font-size: 1.375rem; font-weight: 800; color: var(--pd-gray-900); font-family: 'Poppins', sans-serif; }

/* Coupon */
.pd-coupon-row { display: flex; gap: .5rem; margin-top: .875rem; }
.pd-coupon-row input { flex: 1; font-size: .875rem; }
.pd-coupon-applied { font-size: .8125rem; color: var(--pd-green); font-weight: 500; margin-top: .5rem; display: flex; align-items: center; gap: .375rem; }
.pd-coupon-applied svg { width: 14px; height: 14px; }

/* ── ================================================================
   CHECKOUT PAGE
   ================================================================ */
.pd-checkout-wrap { max-width: 1280px; margin: 0 auto; padding: 2rem 1rem; display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 1024px) { .pd-checkout-wrap { flex-direction: row; align-items: flex-start; } }
.pd-checkout-main { flex: 1; min-width: 0; }
.pd-checkout-side { width: 100%; }
@media (min-width: 1024px) { .pd-checkout-side { width: 20rem; flex-shrink: 0; position: sticky; top: 89px; } }

/* Stepper */
.pd-stepper { display: flex; align-items: center; margin-bottom: 2rem; }
.pd-step { display: flex; align-items: center; flex: 1; }
.pd-step-circle { width: 2rem; height: 2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .8125rem; font-weight: 700; flex-shrink: 0; transition: all .2s; }
.pd-step-circle.done { background: var(--pd-green); color: #fff; }
.pd-step-circle.active { background: var(--pd-primary); color: #fff; box-shadow: 0 0 0 4px rgba(10,79,164,.15); }
.pd-step-circle.upcoming { background: var(--pd-gray-100); color: var(--pd-gray-400); }
.pd-step-info { margin-left: .625rem; display: none; }
@media (min-width: 640px) { .pd-step-info { display: block; } }
.pd-step-num { font-size: .75rem; color: var(--pd-gray-400); }
.pd-step-label { font-size: .8125rem; font-weight: 600; color: var(--pd-gray-700); }
.pd-step-connector { flex: 1; height: 1px; background: var(--pd-border); margin: 0 .5rem; }
.pd-step-connector.done { background: var(--pd-green); }

/* Checkout form sections */
.pd-checkout-section { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); padding: 1.5rem; margin-bottom: 1rem; }
.pd-checkout-section h2 { font-size: 1rem; font-weight: 700; color: var(--pd-gray-900); margin-bottom: 1.25rem; display: flex; align-items: center; gap: .5rem; }
.pd-checkout-section h2 svg { width: 18px; height: 18px; color: var(--pd-primary); }

/* Shipping options */
.pd-shipping-option { border: 1px solid var(--pd-border); border-radius: var(--pd-radius-lg); padding: .875rem 1rem; margin-bottom: .5rem; cursor: pointer; transition: all .15s; display: flex; align-items: center; gap: 1rem; }
.pd-shipping-option:hover { border-color: rgba(10,79,164,.4); background: var(--pd-gray-50); }
.pd-shipping-option.selected { border-color: var(--pd-primary); background: var(--pd-primary-light); }
.pd-shipping-option-radio { width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--pd-gray-300); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.pd-shipping-option.selected .pd-shipping-option-radio { border-color: var(--pd-primary); }
.pd-shipping-option-radio-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--pd-primary); display: none; }
.pd-shipping-option.selected .pd-shipping-option-radio-dot { display: block; }
.pd-shipping-option-info { flex: 1; }
.pd-shipping-option-name { font-size: .9375rem; font-weight: 600; color: var(--pd-gray-900); }
.pd-shipping-option.selected .pd-shipping-option-name { color: var(--pd-primary); }
.pd-shipping-option-desc { font-size: .8125rem; color: var(--pd-gray-500); }
.pd-shipping-option-price { font-size: .9375rem; font-weight: 700; color: var(--pd-gray-900); }
.pd-shipping-option.selected .pd-shipping-option-price { color: var(--pd-primary); }
.pd-shipping-option-price.free { color: var(--pd-green); }

/* Payment methods */
.pd-payment-method { border: 1px solid var(--pd-border); border-radius: var(--pd-radius-lg); padding: .875rem 1rem; margin-bottom: .5rem; cursor: pointer; transition: all .15s; }
.pd-payment-method:hover { border-color: rgba(10,79,164,.4); }
.pd-payment-method.selected { border-color: var(--pd-primary); background: var(--pd-primary-light); }
.pd-payment-method-header { display: flex; align-items: center; gap: .75rem; }
.pd-payment-method-icon { width: 2rem; height: 2rem; background: var(--pd-gray-100); border-radius: var(--pd-radius); display: flex; align-items: center; justify-content: center; }
.pd-payment-method-icon svg { width: 18px; height: 18px; color: var(--pd-gray-600); }
.pd-payment-method.selected .pd-payment-method-icon { background: rgba(10,79,164,.1); }
.pd-payment-method.selected .pd-payment-method-icon svg { color: var(--pd-primary); }
.pd-payment-method-name { font-size: .9375rem; font-weight: 600; color: var(--pd-gray-900); }
.pd-payment-method-sub { font-size: .8125rem; color: var(--pd-gray-500); }
.pd-payment-fields { margin-top: .875rem; display: flex; flex-direction: column; gap: .75rem; }

/* Order review */
.pd-review-section { background: var(--pd-gray-50); border: 1px solid var(--pd-border); border-radius: var(--pd-radius-lg); padding: 1rem; margin-bottom: 1rem; }
.pd-review-section-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .625rem; }
.pd-review-section h3 { font-size: .875rem; font-weight: 700; color: var(--pd-gray-700); }
.pd-review-edit { font-size: .8125rem; color: var(--pd-primary); background: none; border: none; cursor: pointer; font-family: 'Inter', sans-serif; }
.pd-review-item { display: flex; justify-content: space-between; font-size: .875rem; color: var(--pd-gray-600); margin-bottom: .25rem; }
.pd-review-item span:last-child { font-weight: 500; color: var(--pd-gray-800); }

/* Checkout nav buttons */
.pd-checkout-nav { display: flex; justify-content: space-between; align-items: center; margin-top: 1.25rem; }
.pd-checkout-back { font-size: .9375rem; font-weight: 500; color: var(--pd-gray-600); background: none; border: none; cursor: pointer; font-family: 'Inter', sans-serif; display: flex; align-items: center; gap: .375rem; transition: color .15s; }
.pd-checkout-back:hover { color: var(--pd-gray-900); }
.pd-checkout-back svg { width: 16px; height: 16px; }

/* Order confirmation */
.pd-order-confirmed { text-align: center; padding: 3rem 1.5rem; }
.pd-order-confirmed-icon { width: 5rem; height: 5rem; background: var(--pd-green); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; }
.pd-order-confirmed-icon svg { width: 2.5rem; height: 2.5rem; color: #fff; }
.pd-order-confirmed h2 { font-size: 1.5rem; font-weight: 700; color: var(--pd-gray-900); margin-bottom: .5rem; }
.pd-order-confirmed p { font-size: .9375rem; color: var(--pd-gray-600); margin-bottom: 1.5rem; }
.pd-order-number { font-size: .875rem; font-weight: 600; color: var(--pd-primary); background: var(--pd-primary-light); padding: .375rem .875rem; border-radius: 999px; display: inline-block; margin-bottom: 1.5rem; }

/* ── ================================================================
   LOGIN / ACCOUNT PAGE
   ================================================================ */
.pd-auth-wrap { max-width: 900px; margin: 3rem auto; padding: 0 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media (max-width: 640px) { .pd-auth-wrap { grid-template-columns: 1fr; } }
.pd-auth-card { background: #fff; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-2xl); padding: 2rem; }
.pd-auth-card h2 { font-size: 1.25rem; font-weight: 700; color: var(--pd-gray-900); margin-bottom: .5rem; }
.pd-auth-card p { font-size: .875rem; color: var(--pd-gray-500); margin-bottom: 1.5rem; }
.pd-auth-divider { display: flex; align-items: center; gap: .75rem; margin: 1rem 0; }
.pd-auth-divider span { font-size: .75rem; color: var(--pd-gray-400); white-space: nowrap; }
.pd-auth-divider::before, .pd-auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--pd-border); }
.pd-forgot-link { font-size: .8125rem; color: var(--pd-primary); float: right; }
.pd-forgot-link:hover { text-decoration: underline; }

/* ── ================================================================
   FOOTER
   ================================================================ */
#pd-footer { background: var(--pd-gray-900); color: var(--pd-gray-300); }
.pd-footer-main { max-width: 1280px; margin: 0 auto; padding: 3rem 1rem; display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 640px) { .pd-footer-main { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .pd-footer-main { grid-template-columns: 2fr 1fr 1fr 1fr; } }
.pd-footer-logo { height: 2.5rem; width: auto; filter: brightness(0) invert(1); margin-bottom: 1rem; }
.pd-footer-about { font-size: .875rem; color: var(--pd-gray-400); line-height: 1.7; margin-bottom: .75rem; }
.pd-footer-email { font-size: .875rem; color: #60a5fa; transition: color .15s; }
.pd-footer-email:hover { color: #93c5fd; }
.pd-footer-col h4 { font-size: .8125rem; font-weight: 600; color: #fff; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 1rem; }
.pd-footer-links { display: flex; flex-direction: column; gap: .5rem; }
.pd-footer-links a { font-size: .875rem; color: var(--pd-gray-400); text-decoration: none; transition: color .15s; }
.pd-footer-links a:hover { color: #fff; }
.pd-footer-bottom { border-top: 1px solid var(--pd-gray-800); }
.pd-footer-bottom-inner { max-width: 1280px; margin: 0 auto; padding: 1rem; display: flex; flex-direction: column; gap: .75rem; align-items: center; justify-content: space-between; font-size: .75rem; color: var(--pd-gray-500); }
@media (min-width: 640px) { .pd-footer-bottom-inner { flex-direction: row; } }
.pd-footer-bottom a { color: var(--pd-gray-500); text-decoration: none; transition: color .15s; }
.pd-footer-bottom a:hover { color: var(--pd-gray-300); }
.pd-footer-bottom-links { display: flex; gap: 1rem; }

/* ── ================================================================
   WP / WOOCOMMERCE OVERRIDES
   ================================================================ */
/* Hide WC default styles that conflict */
.woocommerce-page .pd-cart-wrap { margin-top: 0 !important; }
.woocommerce-notices-wrapper { max-width: 1280px; margin: 0 auto; padding: 0 1rem; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: var(--pd-radius-lg) !important; font-size: .875rem !important; margin-bottom: 1rem !important; }

/* ── ================================================================
   NOTICES & TOASTS
   ================================================================ */
.pd-notice { padding: .875rem 1.25rem; border-radius: var(--pd-radius-lg); font-size: .875rem; margin-bottom: 1rem; display: flex; align-items: center; gap: .625rem; }
.pd-notice-success { background: var(--pd-green-light); border: 1px solid #bbf7d0; color: #15803d; }
.pd-notice-error { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; }
.pd-notice-info { background: var(--pd-primary-light); border: 1px solid rgba(10,79,164,.2); color: var(--pd-primary); }
.pd-notice svg { width: 16px; height: 16px; flex-shrink: 0; }

/* ── ================================================================
   RESPONSIVE — MOBILE FIRST
   ================================================================ */

/* Tablet (max 1024px) */
@media (max-width: 1024px) {
  .pd-sidebar { display: none !important; }
  .pd-main-wrap { padding: 1.25rem 1rem !important; }
  /* Product page: stack gallery + config */
  .pd-sp-top-row { flex-direction: column !important; }
  #pd-config-panel { width: 100% !important; min-width: 100% !important; position: static !important; }
  /* Account sidebar */
  .pd-account-layout { flex-direction: column !important; }
  .pd-account-sidebar { width: 100% !important; min-width: 100% !important; position: static !important; }
}

/* Mobile (max 768px) */
@media (max-width: 768px) {
  /* Cart & checkout */
  .pd-cart-wrap, .pd-checkout-wrap { padding: .875rem !important; flex-direction: column !important; }
  .pd-cart-sidebar, .pd-checkout-side { width: 100% !important; position: static !important; }
  /* Hero */
  .pd-hero-inner { padding: 1.5rem 1rem !important; }
  .pd-hero-stats { display: none !important; }
  /* Shop header */
  .pd-shop-header { flex-direction: column !important; gap: .75rem !important; padding: 1rem !important; }
  .pd-shop-controls { flex-wrap: wrap !important; }
  .pd-shop-search { width: 100% !important; }
  /* Category grid: 2 cols on mobile */
  .pd-cat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* Products grid: 2 cols */
  .pd-products-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* Footer */
  .pd-footer-main { grid-template-columns: 1fr !important; padding: 2rem 1rem !important; }
  /* Why Us grid */
  .pd-why-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* Steps */
  .pd-steps-row { flex-direction: column !important; }
  /* Checkout stepper text */
  .pd-step-info { display: none !important; }
  /* Auth grid */
  .pd-auth-wrap { grid-template-columns: 1fr !important; }
  /* Topbar: hide contact */
  .pd-topbar-contact { display: none !important; }
}

/* Small mobile (max 480px) */
@media (max-width: 480px) {
  .pd-hero-title { font-size: 1.375rem !important; }
  .pd-cart-item { flex-direction: column !important; }
  .pd-cart-item-thumb { width: 100% !important; height: 8rem !important; }
  .pd-cat-grid { grid-template-columns: repeat(2, 1fr) !important; gap: .5rem !important; }
  .pd-products-grid { grid-template-columns: 1fr 1fr !important; gap: .625rem !important; }
  /* Newsletter form */
  #pd-newsletter-form { flex-direction: column !important; }
  /* Checkout form rows */
  .pd-form-row { grid-template-columns: 1fr !important; }
  /* Related products: 2 col */
  .pd-related-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* Login/register grid */
  div[style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
}

/* ── ================================================================
   PRINT DEN CUSTOM PAGE CLASSES (front-page sections)
   ================================================================ */
.pd-trust-bar { background: var(--pd-primary-light); border-top: 1px solid rgba(10,79,164,.1); border-bottom: 1px solid rgba(10,79,164,.1); padding: .875rem 1rem; }
.pd-trust-bar-inner { max-width: 1280px; margin: 0 auto; display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; }
.pd-trust-item { display: flex; align-items: center; gap: .5rem; font-size: .8125rem; font-weight: 500; color: var(--pd-primary); }
.pd-trust-item svg { width: 16px; height: 16px; }
