/* Precious Platinum migration layer */

:root {
  --pp-bg: #ffffff;
  --pp-text: #111827;
  --pp-muted: #6b7280;
  --pp-soft: #f9fafb;
  --pp-line: #e5e7eb;
  --pp-line-soft: #f3f4f6;
  --pp-accent: #c29765;
  --pp-accent-dark: #a0794f;
  --pp-shadow: 0 12px 36px rgba(0,0,0,0.12);
  --pp-container: 1320px;
}

html {
  overflow-x: hidden;
}

body {
  background: var(--pp-bg);
  color: var(--pp-text);
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  overflow-x: hidden;
  max-width: 100vw;
}

.pp-container {
  width: min(var(--pp-container), calc(100% - 32px));
  margin: 0 auto;
}

.pp-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #fff;
  border-bottom: 1px solid var(--pp-line);
}

.pp-topbar {
  background: #f9fafb;
  border-bottom: 1px solid var(--pp-line);
  color: var(--pp-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
}

.pp-topbar__inner,
.pp-mainbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pp-topbar__inner {
  min-height: 36px;
}

.pp-topbar__links {
  display: flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}

.pp-topbar a,
.pp-nav a,
.pp-footer a {
  color: inherit;
  text-decoration: none;
}

.pp-topbar a:hover,
.pp-nav a:hover,
.pp-footer a:hover {
  color: var(--pp-accent);
}

.pp-trust-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #10b981;
  display: inline-block;
}

.pp-mainbar__inner {
  min-height: 88px;
}

.pp-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.pp-logo img {
  width: auto;
  height: 64px;
  display: block;
}

.pp-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  flex: 1;
}

.pp-nav a {
  padding: 10px 14px;
  color: #374151;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.pp-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pp-icon-btn {
  position: relative;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #374151;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
}

.pp-icon-btn:hover {
  background: #f3f4f6;
  color: var(--pp-accent);
}

.pp-mobile-toggle {
  display: none;
}

.pp-cart-badge {
  position: absolute;
  top: 3px;
  right: 1px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--pp-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 18px;
  text-align: center;
}

.pp-popover-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.pp-popover {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 300px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--pp-line);
  border-radius: 8px;
  box-shadow: var(--pp-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: .18s ease;
}

.pp-popover.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.pp-popover__eyebrow {
  margin: 0 0 5px;
  color: var(--pp-accent);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pp-popover__title {
  margin: 0 0 16px;
  color: var(--pp-text);
  font-size: 14px;
  font-weight: 800;
}

.pp-popover__links {
  display: grid;
  gap: 10px;
  color: #4b5563;
  font-size: 13px;
  font-weight: 650;
}

.pp-login-form {
  display: grid;
  gap: 10px;
}

.pp-login-form input,
.pp-search-form input,
.pp-footer__newsletter input {
  min-width: 0;
  border: 1px solid var(--pp-line);
  background: #fff;
  color: var(--pp-text);
  border-radius: 4px;
  padding: 12px 14px;
  font: inherit;
}

.pp-login-form button,
.pp-btn,
.pp-footer__newsletter button {
  border: 0;
  border-radius: 4px;
  padding: 12px 16px;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  text-decoration: none;
}

.pp-login-form button,
.pp-btn--primary,
.pp-footer__newsletter button {
  background: var(--pp-accent);
  color: #fff;
}

.pp-login-form button:hover,
.pp-btn--primary:hover,
.pp-footer__newsletter button:hover {
  background: var(--pp-accent-dark);
  color: #fff;
}

.pp-btn--secondary {
  background: #fff;
  border: 1px solid var(--pp-line);
  color: #374151;
}

.pp-secondary-link {
  display: block;
  margin-top: 12px;
  color: var(--pp-muted);
  font-size: 12px;
  font-weight: 700;
  text-align: center;
}

/* ═══════════════════════════════════════════════
   Cart Popover (Damina-style dropdown)
   ═══════════════════════════════════════════════ */
.pp-popover-wrap { position: relative; display: inline-flex; align-items: center; }
.pp-popover {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 340px;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 16px;
  box-shadow: 0 12px 36px rgba(0,0,0,.12);
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s, visibility .2s, transform .2s;
  z-index: 9999;
}
.pp-popover.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.pp-popover__arrow {
  position: absolute;
  top: -6px;
  right: 14px;
  width: 12px; height: 12px;
  background: rgba(255, 255, 255, 0.98);
  border-top: 1px solid rgba(0,0,0,0.08);
  border-left: 1px solid rgba(0,0,0,0.08);
  transform: rotate(45deg);
}

/* Mini cart inside popover */
.pp-mini-cart__title {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px;
}
.pp-mini-cart__items {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-height: 260px;
  overflow-y: auto;
  margin-bottom: 16px;
}
.pp-mini-cart__item {
  display: flex;
  gap: 12px;
  align-items: center;
}
.pp-mini-cart__image {
  width: 48px; height: 48px;
  border-radius: 8px;
  background: #f9fafb;
  overflow: hidden;
  flex-shrink: 0;
}
.pp-mini-cart__image img {
  width: 100%; height: 100%;
  object-fit: contain;
}
.pp-mini-cart__name {
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 2px;
  line-height: 1.3;
}
.pp-mini-cart__row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}
.pp-mini-qty {
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 6px;
  overflow: hidden;
}
.pp-mini-qty__btn {
  width: 24px; height: 24px;
  border: none;
  background: rgba(0,0,0,0.04);
  color: rgba(0,0,0,0.55);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s, color .15s;
  line-height: 1;
  padding: 0;
}
.pp-mini-qty__btn:hover {
  background: rgba(0,0,0,0.08);
  color: rgba(0,0,0,0.85);
}
.pp-mini-qty__val {
  width: 26px;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: #111827;
  line-height: 24px;
}
.pp-mini-cart__price {
  font-size: 12px;
  color: #6b7280;
  flex: 1;
}
.pp-mini-cart__price .woocommerce-Price-amount {
  font-weight: 600;
  color: #111827;
}
.pp-mini-cart__remove {
  width: 22px; height: 22px;
  border: none;
  background: none;
  color: rgba(0,0,0,0.25);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color .15s, background .15s;
  padding: 0;
  flex-shrink: 0;
}
.pp-mini-cart__remove .material-symbols-outlined { font-size: 15px; }
.pp-mini-cart__remove:hover {
  color: #ef4444;
  background: rgba(239,68,68,0.08);
}

/* Total row */
.pp-mini-cart__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid rgba(0,0,0,0.06);
  margin-bottom: 12px;
  font-size: 14px;
  color: #6b7280;
}
.pp-mini-cart__total strong {
  color: #111827;
  font-size: 16px;
}

/* Action buttons */
.pp-mini-cart__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pp-popover__btn {
  display: block;
  width: 100%;
  padding: 12px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  transition: all .2s;
  box-sizing: border-box;
}
.pp-popover__btn--primary {
  background: var(--pp-accent);
  color: #fff;
  border: none;
}
.pp-popover__btn--primary:hover {
  background: #111827;
}
.pp-popover__btn--secondary {
  background: transparent;
  color: #111827;
  border: 1px solid #e5e7eb;
}
.pp-popover__btn--secondary:hover {
  border-color: #111827;
  background: #f9fafb;
}

/* Empty cart */
.pp-mini-cart__empty {
  text-align: center;
  padding: 20px 0;
}

.pp-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: rgba(0,0,0,.4);
  opacity: 0;
  visibility: hidden;
  transition: .2s ease;
}

body.pp-cart-open .pp-drawer-backdrop {
  opacity: 1;
  visibility: visible;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

body.pp-mobile-open .pp-drawer-backdrop {
  opacity: 1;
  visibility: visible;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Ensure mobile nav is ABOVE the backdrop at all times */
.pp-mobile-nav {
  z-index: 1200 !important;
}

/* ═══════════════════════════════════════════════
   Enhanced Search Overlay (matches Next.js Header.tsx)
   ═══════════════════════════════════════════════ */
.pp-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
}

.pp-search-overlay.is-open {
  display: block;
}

.pp-search-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.8);
  backdrop-filter: blur(8px);
  cursor: pointer;
}

.pp-search-panel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 40px 0;
  box-shadow: 0 20px 60px rgba(0,0,0,.2);
  animation: slideDown .3s cubic-bezier(.4,0,.2,1);
}

@keyframes slideDown {
  from { transform: translateY(-20px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.pp-search-panel__inner {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}

.pp-search-close-btn {
  position: absolute;
  top: -16px;
  right: -16px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #f3f4f6;
  color: #6b7280;
  cursor: pointer;
  transition: all .2s;
}

.pp-search-close-btn:hover {
  background: #111827;
  color: #fff;
}

.pp-search-header {
  text-align: center;
  margin-bottom: 32px;
}

.pp-search-header h2 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 24px;
  font-weight: 700;
}

.pp-search-header p {
  margin: 0;
  color: #6b7280;
  font-weight: 400;
}

.pp-search-form-v2 {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 2px solid rgba(194,151,101,.3);
  transition: border-color .3s;
}

.pp-search-form-v2:focus-within {
  border-color: var(--pp-accent);
}

.pp-search-form-v2 .material-symbols-outlined {
  font-size: 30px;
  color: #9ca3af;
}

.pp-search-form-v2 input[type="search"] {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 24px;
  font-weight: 400;
  color: #111827;
  font-family: inherit;
}

.pp-search-form-v2 input::placeholder {
  color: #d1d5db;
}

.pp-search-suggestions {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 32px;
  margin-top: 40px;
}

.pp-search-suggestions h3 {
  margin: 0 0 16px;
  color: #9ca3af;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pp-search-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pp-search-pills a {
  display: inline-block;
  padding: 6px 12px;
  background: #f3f4f6;
  color: #4b5563;
  font-size: 12px;
  font-weight: 600;
  border-radius: 999px;
  text-decoration: none;
  transition: all .2s;
}

.pp-search-pills a:hover {
  background: var(--pp-accent);
  color: #fff;
}

.pp-search-catlinks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.pp-search-catlinks a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s;
}

.pp-search-catlinks a:hover {
  border-color: var(--pp-accent);
  color: var(--pp-accent);
  background: rgba(194,151,101,.03);
}

/* ═══ Mobile Nav (slide-in from left, OUTSIDE header) ═══ */
.pp-mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1200;
  width: min(88%, 380px);
  height: 100vh;
  height: 100dvh;
  background: #fff;
  box-shadow: 8px 0 40px rgba(0,0,0,.12);
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform .35s cubic-bezier(.16,1,.3,1);
}

.pp-mobile-nav.is-open {
  transform: translateX(0);
}

/* Header with logo + close */
.pp-mobile-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}

.pp-mobile-nav__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.pp-mobile-nav__logo img {
  height: 32px;
  width: auto;
  border-radius: 4px;
}

.pp-mobile-nav__logo span {
  font-size: 12px;
  font-weight: 700;
  color: #1f2937;
  line-height: 1.2;
  letter-spacing: .02em;
}

/* Close button */
.pp-mobile-nav__close {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  border: none;
  border-radius: 8px;
  color: #6b7280;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
}

.pp-mobile-nav__close:hover {
  background: #e5e7eb;
  color: #111827;
}

/* Scrollable content area */
.pp-mobile-nav__scroll {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 8px 0 24px;
}

/* Section wrappers */
.pp-mobile-nav__section {
  padding: 8px 0;
}

.pp-mobile-nav__section a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  color: #374151;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: all .2s;
}

.pp-mobile-nav__section a svg {
  flex-shrink: 0;
  opacity: .4;
  transition: opacity .2s;
}

.pp-mobile-nav__section a:hover {
  color: var(--pp-accent, #b08d57);
  background: #fafaf9;
}

.pp-mobile-nav__section a:hover svg {
  opacity: 1;
  stroke: var(--pp-accent, #b08d57);
}

/* Divider */
.pp-mobile-nav__divider {
  height: 1px;
  background: #f0f0f0;
  margin: 4px 20px;
}

/* Accordion groups */
.pp-mobile-nav__group {
  border-bottom: 1px solid #f3f4f6;
}

.pp-mobile-nav__group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 20px;
  color: var(--pp-accent, #b08d57);
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background .2s;
}

.pp-mobile-nav__group summary::-webkit-details-marker { display: none; }

.pp-mobile-nav__chevron {
  transition: transform .25s ease;
  flex-shrink: 0;
  opacity: .5;
}

.pp-mobile-nav__group[open] .pp-mobile-nav__chevron {
  transform: rotate(180deg);
}

.pp-mobile-nav__group summary:hover {
  background: #fafaf9;
}

/* Sub-links inside accordion */
.pp-mobile-nav__sub {
  padding: 0 0 8px;
}

.pp-mobile-nav__sub a {
  display: block;
  padding: 9px 20px 9px 40px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  border-left: 2px solid #e5e7eb;
  margin-left: 20px;
  transition: all .2s;
}

.pp-mobile-nav__sub a:hover {
  color: var(--pp-accent, #b08d57);
  border-left-color: var(--pp-accent, #b08d57);
  background: #fafaf9;
}

/* Group label with icon */
.pp-mobile-nav__group-label {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pp-mobile-nav__group-label svg {
  opacity: .4;
  flex-shrink: 0;
}

/* Nested sub-container (no left border for wrapper) */
.pp-mobile-nav__sub--nested {
  padding: 0 0 4px;
}

.pp-mobile-nav__sub--nested > a {
  border-left: 0;
  margin-left: 0;
}

/* Nested subgroup (metal accordion inside Kategorien) */
.pp-mobile-nav__subgroup {
  margin: 0;
}

.pp-mobile-nav__subgroup summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px 10px 40px;
  color: var(--pp-accent, #b08d57);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background .2s;
}

.pp-mobile-nav__subgroup summary::-webkit-details-marker { display: none; }

.pp-mobile-nav__subgroup summary:hover {
  background: #fafaf9;
}

.pp-mobile-nav__subgroup[open] > summary .pp-mobile-nav__chevron {
  transform: rotate(180deg);
}




/* Subgroup: clickable metal link + expand toggle side by side */
.pp-mobile-nav__subgroup {
  position: relative;
  display: block;
  border-bottom: 1px solid #f3f4f6;
}

.pp-mobile-nav__subgroup-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 40px 11px 40px;
  color: var(--pp-accent, #b08d57);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity .2s;
}

.pp-mobile-nav__subgroup-link:hover {
  opacity: .7;
}

.pp-mobile-nav__subgroup-link svg {
  flex-shrink: 0;
  opacity: .5;
}

/* Small toggle button for expand/collapse */
.pp-mobile-nav__subgroup-details {
  display: block;
}

.pp-mobile-nav__subgroup-details summary {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 38px;
  cursor: pointer;
  list-style: none;
  user-select: none;
  color: #9ca3af;
  transition: color .2s;
}

.pp-mobile-nav__subgroup-details summary::-webkit-details-marker { display: none; }

.pp-mobile-nav__subgroup-details summary:hover {
  color: var(--pp-accent, #b08d57);
}

.pp-mobile-nav__subgroup-details[open] > summary .pp-mobile-nav__chevron {
  transform: rotate(180deg);
}

.pp-mobile-nav__subgroup-details .pp-mobile-nav__subsub {
  width: 100%;
}

/* Third-level links with arrow icons */
.pp-mobile-nav__subsub a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 20px 8px 56px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 400;
  text-decoration: none;
  transition: all .2s;
}

.pp-mobile-nav__subsub a svg {
  flex-shrink: 0;
}

.pp-mobile-nav__subsub a:hover {
  color: var(--pp-accent, #b08d57);
  background: #fafaf9;
}

.pp-mobile-nav__subsub a:hover svg {
  opacity: 1 !important;
  stroke: var(--pp-accent, #b08d57);
}

/* Trust footer */
.pp-mobile-nav__trust {
  margin-top: auto;
  padding: 16px 20px;
  background: #f9fafb;
  border-top: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
}

.pp-mobile-nav__trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #6b7280;
  font-size: 12px;
}

.pp-mobile-nav__trust-item svg {
  flex-shrink: 0;
}

.pp-mobile-nav__trust-item strong {
  color: #374151;
}

.pp-footer {
  background: #fff;
  color: var(--pp-text);
}

.pp-footer__trust {
  border-top: 1px solid var(--pp-line-soft);
  padding: 32px 0;
}

.pp-footer__trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.pp-footer__trust-grid > div {
  display: grid;
  justify-items: center;
  gap: 14px;
  padding: 8px 28px;
  border-right: 1px solid var(--pp-line-soft);
}

.pp-footer__trust-grid > div:last-child {
  border-right: 0;
}

.pp-footer__trust p,
.pp-footer h4 {
  margin: 0;
  color: #111827;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pp-footer__trust-grid div div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.pp-footer__trust span {
  height: 28px;
  padding: 0 12px;
  border: 1px solid var(--pp-line-soft);
  background: #f9fafb;
  color: #9ca3af;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  font-size: 9px;
  font-weight: 900;
}

.pp-footer__newsletter {
  position: relative;
  overflow: hidden;
  min-height: 180px;
}

.pp-footer__newsletter img,
.pp-footer__newsletter-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.pp-footer__newsletter img {
  object-fit: cover;
}

.pp-footer__newsletter-overlay {
  background: rgba(0,0,0,.72);
}

.pp-footer__newsletter-inner {
  position: relative;
  z-index: 1;
  min-height: 180px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.pp-footer__newsletter h2 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 26px;
}

.pp-footer__newsletter p {
  margin: 0;
  color: #d1d5db;
}

.pp-footer__newsletter form {
  width: min(420px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.pp-footer__newsletter input,
.pp-footer__newsletter button {
  border-radius: 0;
}

.pp-footer__main {
  padding: 56px 0;
  border-top: 1px solid var(--pp-line-soft);
}

.pp-footer__grid {
  display: grid;
  grid-template-columns: 2fr repeat(3, 1fr) 1.4fr;
  gap: 36px;
}

.pp-footer__grid > div {
  display: grid;
  align-content: start;
  gap: 12px;
}

.pp-footer__brand a:first-child {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  color: #111827;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  line-height: 1.15;
}

.pp-footer__brand img {
  width: 36px;
  height: auto;
  filter: grayscale(1);
}

.pp-footer__grid a,
.pp-footer__grid p {
  margin: 0;
  color: #9ca3af;
  font-size: 13px;
  line-height: 1.55;
}

.pp-footer__cta {
  color: var(--pp-accent) !important;
  font-size: 11px !important;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pp-footer__bottom {
  border-top: 1px solid var(--pp-line-soft);
  padding: 18px 0;
  color: #9ca3af;
  font-size: 11px;
}

.pp-footer__bottom .pp-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.pp-footer__bottom p {
  margin: 0;
}

.pp-home {
  background: #fff;
}

.pp-home-hero {
  position: relative;
  min-height: min(660px, calc(100vh - 126px));
  display: flex;
  align-items: center;
  overflow: hidden;
}

.pp-home-hero > img,
.pp-home-hero__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.pp-home-hero > img {
  object-fit: cover;
}

.pp-home-hero__overlay {
  background: linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.46), rgba(0,0,0,.12));
}

.pp-home-hero__content {
  position: relative;
  z-index: 1;
  padding: 72px 0;
  color: #fff;
}

.pp-home-hero__content p,
.pp-section-head p {
  margin: 0 0 10px;
  color: var(--pp-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pp-home-hero__content h1 {
  max-width: 720px;
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(42px, 8vw, 82px);
  line-height: .98;
}

.pp-home-hero__content > span {
  display: block;
  max-width: 560px;
  margin-bottom: 28px;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.7;
}

.pp-home-hero__content > div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pp-home-hero .pp-btn--secondary {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.24);
  color: #fff;
}

.pp-home-cats,
.pp-home-products,
.pp-home-usp {
  padding: 64px 0;
}

.pp-home-products,
.pp-home-usp {
  background: #f9fafb;
}

.pp-section-head {
  margin-bottom: 26px;
}

.pp-section-head h2 {
  margin: 0;
  color: #111827;
  font-size: clamp(28px, 4vw, 42px);
}

.pp-home-cats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.pp-home-cat {
  position: relative;
  min-height: 240px;
  border: 1px solid var(--pp-line-soft);
  border-radius: 8px;
  background: #fff;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #111827;
  text-decoration: none;
  overflow: hidden;
}

.pp-home-cat span {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 1;
  color: var(--pp-accent);
  font-size: 12px;
  font-weight: 950;
}

.pp-home-cat img {
  width: min(150px, 70%);
  height: auto;
  object-fit: contain;
  transition: transform .25s ease;
}

.pp-home-cat strong {
  position: absolute;
  left: 18px;
  bottom: 16px;
  font-size: 18px;
}

.pp-home-cat:hover {
  border-color: rgba(194,151,101,.35);
  box-shadow: 0 16px 36px rgba(0,0,0,.08);
}

.pp-home-cat:hover img {
  transform: scale(1.05);
}

.pp-home-products__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.pp-home-usp__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.pp-home-usp__grid > div {
  border: 1px solid var(--pp-line-soft);
  border-radius: 8px;
  background: #fff;
  padding: 24px;
}

.pp-home-usp .material-symbols-rounded {
  color: var(--pp-accent);
  font-size: 28px;
}

.pp-home-usp strong {
  display: block;
  margin-top: 12px;
  color: #111827;
  font-size: 16px;
}

.pp-home-usp p {
  margin: 8px 0 0;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.6;
}

.pp-shop-page {
  background: #f9fafb;
  min-height: 60vh;
}

.pp-page-hero {
  background: #fff;
  border-bottom: 1px solid var(--pp-line-soft);
  padding-bottom: 32px;
}

.pp-page-hero .pp-container {
  padding: 80px 0 46px;
}

.pp-page-hero p,
.pp-section-kicker {
  margin: 0 0 10px;
  color: var(--pp-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pp-page-hero h1 {
  margin: 0;
  color: #111827;
  font-size: clamp(34px, 6vw, 62px);
  line-height: 1.02;
}

.pp-page-hero span {
  display: block;
  max-width: 720px;
  margin-top: 14px;
  color: #6b7280;
  font-size: 16px;
  line-height: 1.7;
}

.pp-content-page {
  background: #f9fafb;
  padding: 54px 0 76px;
}

.pp-panel {
  border: 1px solid var(--pp-line-soft);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  padding: 28px;
}

.pp-panel h2,
.pp-panel h3 {
  margin: 0 0 16px;
  color: #111827;
}

.pp-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: start;
}

.pp-contact-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.pp-contact-form .is-wide,
.pp-contact-form button {
  grid-column: 1 / -1;
}

.pp-contact-form label {
  display: block;
  margin-bottom: 7px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 800;
}

.pp-contact-form input,
.pp-contact-form textarea {
  width: 100%;
  border: 1px solid var(--pp-line);
  border-radius: 6px;
  background: #fff;
  color: #111827;
  padding: 12px 14px;
  font: inherit;
}

.pp-contact-aside {
  display: grid;
  gap: 18px;
}

.pp-contact-aside div {
  display: grid;
  gap: 5px;
  padding-top: 14px;
  border-top: 1px solid var(--pp-line-soft);
}

.pp-contact-aside strong {
  color: #111827;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pp-contact-aside a,
.pp-contact-aside p {
  margin: 0;
  color: #6b7280;
  text-decoration: none;
  line-height: 1.6;
}

.pp-review-summary {
  border: 1px solid var(--pp-line-soft);
  border-radius: 8px;
  background: #fff;
  padding: 32px;
  margin-bottom: 20px;
}

.pp-review-summary strong {
  display: block;
  color: var(--pp-accent);
  font-size: 48px;
  line-height: 1;
}

.pp-review-summary span {
  display: block;
  margin-top: 8px;
  color: #111827;
  font-size: 20px;
  font-weight: 900;
}

.pp-review-summary p {
  max-width: 720px;
  margin: 12px 0 0;
  color: #6b7280;
  line-height: 1.7;
}

.pp-review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.pp-stars {
  color: var(--pp-accent);
  letter-spacing: .08em;
  margin-bottom: 12px;
}

.pp-empty-state {
  min-height: 360px;
  border: 1px solid var(--pp-line-soft);
  border-radius: 8px;
  background: #fff;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  padding: 48px 24px;
  text-align: center;
}

.pp-empty-state .material-symbols-rounded {
  width: 76px;
  height: 76px;
  border-radius: 999px;
  background: #f9fafb;
  color: var(--pp-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
}

.pp-empty-state h2,
.pp-empty-state p {
  margin: 0;
}

.pp-empty-state p {
  max-width: 520px;
  color: #6b7280;
}

.pp-legal-layout {
  max-width: 900px;
}

.pp-legal-content {
  color: #374151;
  line-height: 1.75;
}

.pp-legal-content h2,
.pp-legal-content h3 {
  margin-top: 26px;
}

.pp-metal-hero {
  position: relative;
  min-height: min(560px, calc(100vh - 126px));
  overflow: hidden;
  display: flex;
  align-items: center;
  color: #fff;
}

.pp-metal-hero > img,
.pp-metal-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.pp-metal-hero > img {
  object-fit: cover;
}

.pp-metal-hero__shade {
  background: linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.58), rgba(0,0,0,.7));
}

.pp-metal-hero__inner {
  position: relative;
  z-index: 1;
  padding: 100px 0 100px;
}

.pp-metal-hero__content {
  max-width: 720px;
}

.pp-metal-hero__eyebrow {
  margin: 0 0 24px;
  color: var(--pp-accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Title row: Pt + PLATINUM side by side, bottom-aligned */
.pp-metal-hero__title-row {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 24px;
}

.pp-element {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex-shrink: 0;
}

.pp-element small {
  color: rgba(194,151,101,.6);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  letter-spacing: .08em;
}

.pp-element strong {
  color: var(--pp-accent);
  font-size: clamp(48px, 8vw, 72px);
  font-weight: 900;
  line-height: .9;
}

.pp-metal-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(40px, 7vw, 64px);
  font-weight: 700;
  letter-spacing: .02em;
  line-height: .95;
  padding-bottom: 4px;
}

.pp-metal-hero__tagline {
  display: block;
  max-width: 520px;
  color: rgba(255,255,255,.82);
  font-size: 18px;
  line-height: 1.65;
  font-weight: 400;
  margin-bottom: 32px;
}

.pp-metal-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.pp-metal-hero__actions form {
  display: grid;
  grid-template-columns: minmax(220px, 320px) 48px;
  background: rgba(255,255,255,.12);
}

.pp-metal-hero__actions input {
  border: 0;
  background: transparent;
  color: #fff;
  padding: 0 14px;
  outline: 0;
}

.pp-metal-hero__actions input::placeholder {
  color: rgba(255,255,255,.65);
}

.pp-metal-hero__actions button {
  border: 0;
  background: rgba(255,255,255,.12);
  color: #fff;
  cursor: pointer;
}

@media (max-width: 768px) {
  .pp-metal-hero {
    min-height: 400px;
  }
  .pp-metal-hero__inner {
    padding: 72px 0 60px;
  }
}

.pp-metal-intro {
  background: #fff;
  padding: 0 0 70px;
}

.pp-metal-intro__card {
  position: relative;
  z-index: 2;
  margin-top: -92px;
  display: grid;
  grid-template-columns: 1fr 400px;
  background: #fff;
  box-shadow: 0 -15px 30px -15px rgba(0,0,0,.1), 15px -15px 30px -20px rgba(0,0,0,.1), -15px -15px 30px -20px rgba(0,0,0,.1);
  overflow: hidden;
}

.pp-metal-intro__text {
  padding: 32px 48px 48px;
}

/* Trust badges (light variant for white card) */
.pp-trust-badges--light {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}
.pp-trust-badges--light span {
  font-size: 12px;
  font-weight: 500;
  color: #6b7280;
  letter-spacing: .02em;
  border: 1px solid #e5e7eb;
  padding: 6px 14px;
  border-radius: 4px;
}

.pp-metal-intro__text .pp-section-kicker {
  font-size: 13px;
  color: var(--pp-accent);
  letter-spacing: .1em;
  font-weight: 400;
  margin-bottom: 8px;
}

.pp-metal-intro__text h2 {
  margin: 0 0 20px;
  color: #111827;
  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 700;
  line-height: 1.2;
}

.pp-metal-intro__text p:last-child {
  margin: 0;
  color: #6b7280;
  line-height: 1.75;
  font-size: 15px;
}

/* Product slider */
.pp-metal-intro__slider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: #fff;
}

.pp-metal-slider {
  position: relative;
  width: 100%;
  max-width: 300px;
}

.pp-metal-slide {
  display: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.pp-metal-slide.is-active {
  display: flex;
}
.pp-metal-slide img {
  width: 100%;
  max-height: 260px;
  object-fit: contain;
  margin-bottom: 12px;
}
.pp-metal-slide p {
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  margin: 0;
  line-height: 1.4;
}

/* Slider nav */
.pp-metal-slider__nav {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}
.pp-metal-slider__arrow {
  width: 32px;
  height: 32px;
  border: 1px solid #e5e7eb;
  border-radius: 50%;
  background: #fff;
  color: #6b7280;
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s;
  padding: 0;
}
.pp-metal-slider__arrow:hover {
  border-color: var(--pp-accent);
  color: var(--pp-accent);
}
.pp-metal-slider__dots {
  display: flex;
  gap: 6px;
  align-items: center;
}
.pp-metal-slider__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: #d1d5db;
  cursor: pointer;
  padding: 0;
  transition: all .2s;
}
.pp-metal-slider__dot.is-active {
  background: var(--pp-accent);
  transform: scale(1.2);
}


.pp-metal-reasons {
  position: relative;
  background: #fff;
  padding: 70px 0;
  border-top: 1px solid var(--pp-line-soft);
}

.pp-metal-reasons__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.pp-metal-reasons article {
  border: 1px solid var(--pp-line-soft);
  border-radius: 8px;
  background: #fff;
  padding: 24px;
}

.pp-metal-reasons h3 {
  margin: 0 0 12px;
  color: #111827;
}

.pp-metal-reasons p {
  margin: 0;
  color: #6b7280;
  line-height: 1.7;
}

.pp-woo-hero {
  background: #fff;
  border-bottom: 1px solid var(--pp-line-soft);
}

.pp-woo-hero .pp-container {
  padding: 34px 0 30px;
}

.pp-woo-hero h1 {
  margin: 0 0 8px;
  color: #111827;
  font-size: clamp(30px, 5vw, 48px);
}

.pp-woo-hero p {
  margin: 0;
  color: #6b7280;
}

.pp-woo-content {
  background: #f9fafb;
}

.pp-woo-content > .woocommerce {
  width: min(var(--pp-container), calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 70px;
}

/* ═══════════════════════════════════════════════
   Dark Hero — CENTERED (matches shop/page.tsx)
   ═══════════════════════════════════════════════ */
.pp-hero-dark {
  position: relative;
  background: #111827;
  color: #fff;
  overflow: hidden;
  min-height: 320px;
}

.pp-hero-dark__bg {
  position: absolute;
  inset: 0;
}

.pp-hero-dark__bg > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pp-hero-dark__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.7);
}

.pp-hero-dark__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.5) 0%, transparent 40%, rgba(0,0,0,.6) 100%);
}

.pp-hero-dark__body {
  position: relative;
  z-index: 2;
  padding: 90px 0 48px;
}

.pp-hero-dark__center {
  text-align: center;
  margin-bottom: 32px;
}

.pp-hero-dark__center h1 {
  margin: 0 0 12px;
  font-size: 48px;
  font-weight: 700;
  color: #fff;
}

.pp-hero-dark__center p {
  margin: 0 auto;
  max-width: 640px;
  color: rgba(255,255,255,.9);
  font-size: 18px;
}

/* Hero CTA buttons — white, not gold */
.pp-hero-dark .pp-btn--primary,
.pp-metal-hero .pp-btn--primary {
  background: #fff;
  color: #111827;
  border: none;
}
.pp-hero-dark .pp-btn--primary:hover,
.pp-metal-hero .pp-btn--primary:hover {
  background: rgba(255,255,255,.85);
  color: #111827;
}

/* Category pills (breadcrumb-style) */
.pp-hero-pills {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 14px;
}

.pp-hero-pill {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: all .2s;
}

.pp-hero-pill:hover {
  color: #fff;
  background: rgba(255,255,255,.1);
}

.pp-hero-pill.is-active {
  background: var(--pp-accent);
  color: #fff;
  font-weight: 700;
}

.pp-hero-pill-sep {
  color: rgba(255,255,255,.3);
  display: flex;
  align-items: center;
}

/* Subcategory cards (glassmorphism) */
.pp-hero-cats {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

.pp-hero-cat-card {
  position: relative;
  display: block;
  padding: 14px 16px;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  text-decoration: none;
  text-align: center;
  transition: all .3s;
}

.pp-hero-cat-card:hover {
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.2);
  box-shadow: 0 8px 32px rgba(0,0,0,.3);
  transform: translateY(-2px);
}

.pp-hero-cat-card__name {
  display: block;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 2px;
  transition: color .2s;
}

.pp-hero-cat-card:hover .pp-hero-cat-card__name {
  color: var(--pp-accent);
}

.pp-hero-cat-card__count {
  display: block;
  color: rgba(255,255,255,.4);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.pp-hero-cat-card__arrow {
  position: absolute;
  top: 8px;
  right: 8px;
  color: var(--pp-accent);
  opacity: 0;
  transition: opacity .2s;
}

.pp-hero-cat-card:hover .pp-hero-cat-card__arrow {
  opacity: 1;
}

/* ═══════════════════════════════════════════════
   FilterBar Card (matches ProductFilterBar.tsx)
   ═══════════════════════════════════════════════ */
.pp-filterbar {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  padding: 16px;
  margin-bottom: 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.pp-filterbar__main {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  width: 100%;
}

.pp-filterbar__search {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 1 auto;
  min-width: 120px;
  max-width: 200px;
  position: relative;
}

.pp-filterbar__search svg {
  flex-shrink: 0;
  color: #9ca3af;
}

.pp-filterbar__search input[type="search"] {
  flex: 1;
  min-width: 0;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 6px 28px 6px 12px;
  font: inherit;
  font-size: 14px;
  color: #374151;
  background: #fff;
  transition: border-color .2s;
}

.pp-filterbar__search input[type="search"]:focus {
  outline: 0;
  border-color: var(--pp-accent);
  box-shadow: 0 0 0 3px rgba(194,151,101,.15);
}

.pp-filterbar__search input::placeholder { color: #9ca3af; }

/* Clear button */
.pp-filterbar__search-clear {
  position: absolute;
  right: 6px;
  display: none;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: none;
  background: #e5e7eb;
  border-radius: 50%;
  color: #6b7280;
  cursor: pointer;
  transition: background .2s;
}
.pp-filterbar__search-clear:hover { background: #d1d5db; }

.pp-filterbar__sep {
  width: 1px;
  height: 24px;
  background: #e5e7eb;
  flex-shrink: 0;
}

.pp-filterbar__count {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #6b7280;
  font-size: 14px;
  white-space: nowrap;
  flex-shrink: 0;
}

.pp-filterbar__count svg { color: #9ca3af; }
.pp-filterbar__count strong { color: #111827; }

.pp-filterbar__sort {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.pp-filterbar__sort-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f9fafb;
  border-radius: 8px;
  color: #9ca3af;
}

.pp-filterbar select,
.pp-filterbar .orderby {
  padding: 6px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  min-width: 140px;
  cursor: pointer;
  transition: border-color .2s;
  -webkit-appearance: none;
}

.pp-filterbar select:hover { border-color: #d1d5db; }
.pp-filterbar select:focus { border-color: var(--pp-accent); outline: 0; box-shadow: 0 0 0 3px rgba(194,151,101,.15); }

/* WooCommerce ordering form within filterbar */
.pp-filterbar .woocommerce-ordering {
  margin: 0;
  float: none;
  display: flex;
  align-items: center;
}

.pp-filterbar .woocommerce-ordering select {
  height: auto;
  padding: 6px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  min-width: 140px;
  cursor: pointer;
  -webkit-appearance: none;
  transition: border-color .2s;
}

.pp-filterbar .woocommerce-ordering select:hover { border-color: #d1d5db; }
.pp-filterbar .woocommerce-ordering select:focus { border-color: var(--pp-accent); outline: 0; }

.pp-filterbar__adv-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #4b5563;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s;
  flex-shrink: 0;
}

.pp-filterbar__adv-btn:hover { border-color: #d1d5db; background: #f9fafb; }

.pp-filterbar__adv-btn.is-active {
  background: rgba(194,151,101,.1);
  border-color: var(--pp-accent);
  color: var(--pp-accent);
}

.pp-filterbar__chevron {
  transition: transform .2s;
}

.pp-filterbar__adv-btn.is-active .pp-filterbar__chevron {
  transform: rotate(180deg);
}

.pp-filterbar__spacer {
  flex: 1 1 auto;
  min-width: 0;
}

.pp-filterbar__stack {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #6b7280;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .3s;
  flex-shrink: 0;
}

.pp-filterbar__stack:hover { border-color: #d1d5db; background: #f9fafb; }

.pp-filterbar__stack.is-active {
  background: var(--pp-accent);
  border-color: var(--pp-accent);
  color: #fff;
  box-shadow: 0 4px 14px rgba(194,151,101,.2);
}

/* ═══ Series Cover Card (Serien Gruppieren) ═══ */
.pp-series-cover {
  position: relative;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #f3f4f6;
  transition: all .3s;
  cursor: default;
  list-style: none;
}
.pp-series-cover:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  border-color: rgba(194,151,101,.3);
}

/* Count badge (top-right) */
.pp-series__count-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--pp-accent);
  color: #fff;
  padding: 4px 8px 4px 6px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 0 2px 8px rgba(194,151,101,.3);
  transition: transform .3s;
}
.pp-series-cover:hover .pp-series__count-badge {
  transform: scale(1.1);
}

/* Image area */
.pp-series__image-wrap {
  position: relative;
  aspect-ratio: 1;
  background: #fff;
  border-bottom: 1px solid #f3f4f6;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pp-series__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
  transition: transform .5s ease-out;
}
.pp-series-cover:hover .pp-series__image-wrap img {
  transform: scale(1.05);
}

/* Hover overlay with "X ÖFFNEN" pill */
.pp-series__open-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.4), transparent);
  opacity: 0;
  transition: opacity .3s;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 12px;
  border: none;
  cursor: pointer;
  width: 100%;
}
.pp-series-cover:hover .pp-series__open-overlay {
  opacity: 1;
}
.pp-series__open-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(194,151,101,.9);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
  transition: transform .3s;
  transform: translateY(8px);
}
.pp-series-cover:hover .pp-series__open-pill {
  transform: translateY(0);
}

/* Body section */
.pp-series__body {
  padding: 16px;
}
.pp-series__label {
  font-size: 10px;
  font-weight: 700;
  color: var(--pp-accent);
  letter-spacing: .08em;
  margin-bottom: 4px;
}
.pp-series__name {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
  min-height: 3.25em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-bottom: 10px;
}

/* Mini thumbnails row */
.pp-series__thumbs {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 12px;
}
.pp-series__thumb {
  width: 28px;
  height: 28px;
  border-radius: 4px;
  border: 1px solid #f3f4f6;
  background: #fff;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pp-series__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 2px;
}
.pp-series__thumb--more {
  background: #f9fafb;
  font-size: 9px;
  font-weight: 700;
  color: #9ca3af;
}

/* Price range */
.pp-series__prices {
  margin-bottom: 12px;
}
.pp-series__price-min {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.pp-series__price-prefix {
  font-size: 10px;
  color: #9ca3af;
  font-weight: 500;
}
.pp-series__price-val {
  font-size: 18px;
  font-weight: 900;
  color: #111827;
}
.pp-series__price-max {
  font-size: 10px;
  color: #9ca3af;
  margin-top: 2px;
}

/* CTA link full width inside card */
.pp-series__btn-discover {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #fdf8f4;
  color: var(--pp-accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 6px;
  margin-top: 12px;
  padding: 10px;
  transition: all .2s;
}
.pp-series__btn-discover:hover {
  background: var(--pp-accent);
  color: #fff;
}

/* Animation for expanded cards */
.pp-c--expanded {
  animation: stackExpand .3s ease-out;
}
@keyframes stackExpand {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Advanced filter panel — full-width 3-col grid below main row */
.pp-filterbar__advanced {
  display: none;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid #e5e7eb;
  width: 100%;
}

.pp-filterbar__advanced.is-open {
  display: grid;
}

@media (max-width: 768px) {
  .pp-filterbar__advanced.is-open {
    grid-template-columns: 1fr;
  }
}

.pp-filterbar__select {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color .2s;
  -webkit-appearance: none;
  appearance: none;
}

.pp-filterbar__select:hover { border-color: #d1d5db; }
.pp-filterbar__select:focus { border-color: var(--pp-accent); outline: 0; }


.pp-shop-content {
  padding: 48px 0 80px;
  background: #f9fafb;
}

.pp-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid #e5e7eb;
}

.pp-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s;
}

.pp-pagination .page-numbers:hover { border-color: var(--pp-accent); color: var(--pp-accent); }

.pp-pagination .page-numbers.current {
  background: var(--pp-accent);
  border-color: var(--pp-accent);
  color: #fff;
}

.pp-pagination .page-numbers.prev,
.pp-pagination .page-numbers.next { font-size: 13px; }

/* Lazy Load Sentinel */
.pp-lazy-sentinel {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 0;
  min-height: 80px;
}

.pp-lazy-spinner {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #9ca3af;
  font-size: 13px;
  font-weight: 500;
}

.pp-lazy-spinner svg {
  animation: ppLazySpin 1.2s linear infinite;
  color: var(--pp-accent);
}

@keyframes ppLazySpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.pp-lazy-end {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #d1d5db;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.pp-shop-empty {
  text-align: center;
  padding: 80px 0;
}

.pp-shop-empty .material-symbols-outlined {
  font-size: 48px;
  color: #d1d5db;
  margin-bottom: 16px;
}

.pp-shop-empty p {
  color: #6b7280;
  font-size: 16px;
  margin: 0 0 24px;
}

/* ═══════════════════════════════════════════════
   Subcategories (matches Next.js category page)
   ═══════════════════════════════════════════════ */
.pp-subcats {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  padding: 32px 0;
}

.pp-subcats__heading {
  margin: 0 0 16px;
  color: #111827;
  font-size: 20px;
  font-weight: 700;
}

.pp-subcats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.pp-subcat-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  text-decoration: none;
  transition: all .2s ease;
}

.pp-subcat-card:hover {
  border-color: var(--pp-accent);
  background: rgba(194,151,101,.03);
}

.pp-subcat-card h3 {
  margin: 0;
  color: #111827;
  font-size: 14px;
  font-weight: 600;
  transition: color .2s;
}

.pp-subcat-card:hover h3 { color: var(--pp-accent); }

.pp-subcat-card span {
  display: block;
  margin-top: 4px;
  color: #6b7280;
  font-size: 12px;
}

.pp-subcat-card svg {
  flex-shrink: 0;
  color: #9ca3af;
  transition: color .2s;
}

.pp-subcat-card:hover svg { color: var(--pp-accent); }

/* Stack Toggle Button */
.pp-stack-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
}

.pp-stack-toggle:hover {
  border-color: var(--pp-accent);
  color: var(--pp-accent);
}

.pp-stack-toggle.is-active {
  background: var(--pp-accent);
  border-color: var(--pp-accent);
  color: #fff;
}

/* Pagination */
.pp-shop-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid #e5e7eb;
}

.pp-shop-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s;
}

.pp-shop-pagination .page-numbers:hover {
  border-color: var(--pp-accent);
  color: var(--pp-accent);
}

.pp-shop-pagination .page-numbers.current {
  background: var(--pp-accent);
  border-color: var(--pp-accent);
  color: #fff;
}

.pp-shop-pagination .page-numbers.prev,
.pp-shop-pagination .page-numbers.next {
  font-size: 13px;
}

@media (max-width: 768px) {
  .pp-subcats__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .pp-subcats__grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════
   WC Product Grid Reset
   ═══════════════════════════════════════════════ */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

/* ═══════════════════════════════════════════════
   pp-c: New Product Card (matches Next.js ProductCard.tsx)
   ═══════════════════════════════════════════════ */
.woocommerce ul.products li.product.pp-c {
  position: relative;
  float: none;
  width: auto;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
  overflow: hidden;
  transition: all .3s ease;
}

.woocommerce ul.products li.product.pp-c:hover {
  border-color: rgba(194,151,101,.3);
  box-shadow: 0 20px 40px rgba(0,0,0,.1);
}

/* Stacked card effect */
.pp-c--stacked {
  position: relative;
}

.pp-c--stacked::before,
.pp-c--stacked::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 4px;
  right: 4px;
  height: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  z-index: -1;
}

.pp-c--stacked::after {
  bottom: -8px;
  left: 8px;
  right: 8px;
  opacity: .6;
}

.pp-c__stack-count {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 6px 16px;
  background: var(--pp-accent);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.pp-c__stack-count span {
  font-weight: 900;
  font-size: 13px;
}

/* Glassmorphism Metal Badge (top-left) */
.pp-c__metal-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  border-radius: 6px;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 4px rgba(0,0,0,.04);
}

.pp-c__metal-sym {
  font-size: 10px;
  font-weight: 800;
  color: #374151;
}

.pp-c-metal--gold  .pp-c__metal-sym, .pp-c__metal-sym.pp-c-metal--gold  { color: #ca8a04; }
.pp-c-metal--platin .pp-c__metal-sym, .pp-c__metal-sym.pp-c-metal--platin { color: #475569; }
.pp-c-metal--silber .pp-c__metal-sym, .pp-c__metal-sym.pp-c-metal--silber { color: #6b7280; }
.pp-c-metal--palladium .pp-c__metal-sym, .pp-c__metal-sym.pp-c-metal--palladium { color: #2563eb; }

.pp-c__metal-name {
  font-size: 10px;
  color: #6b7280;
  font-weight: 500;
}

/* Sale % Badge (top-right) */
.pp-c__sale-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 10;
  background: #ef4444;
  color: #fff;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
  box-shadow: 0 2px 6px rgba(239,68,68,.3);
}

/* B-Ware Badge (top-left, below metal badge) */
.pp-c__bware-badge {
  position: absolute;
  top: 40px;
  left: 12px;
  z-index: 10;
  background: #dc2626;
  color: #fff;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(220,38,38,.35);
}

/* When no metal badge, B-Ware sits at top */
.pp-c:not(:has(.pp-c__metal-badge)) .pp-c__bware-badge {
  top: 12px;
}

/* Product Image */
.pp-c__image-link {
  display: block;
  position: relative;
  aspect-ratio: 1;
  background: #fff !important;
  border-bottom: 1px solid #e5e7eb;
  overflow: hidden;
}

.pp-c__image-wrap {
  width: 100%;
  height: 100%;
}

.pp-c__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 16px;
}

/* Variation swatches overlay (bottom-left of product image) */
.pp-c__var-swatches {
  position: absolute;
  bottom: 8px;
  left: 8px;
  z-index: 10;
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
}
.pp-c__var-swatch {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  background: rgba(255,255,255,.9);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(209,213,219,.5);
  border-radius: 3px;
  font-size: 9px;
  font-weight: 600;
  color: #374151;
  white-space: nowrap;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
.pp-c__var-swatch--more {
  color: #6b7280;
}

/* Delivery time text */
.pp-c__delivery {
  color: #9ca3af;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Product Body */
.pp-c__body {
  padding: 16px;
  background: #fff;
}

/* Eyebrow series/category */
.pp-c__eyebrow {
  margin-bottom: 6px;
  color: #6b7280;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 500;
}

/* Title */
.pp-c__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  min-height: 2.7em;
  margin-bottom: 10px;
  overflow: hidden;
  color: #111827;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: color .2s;
}

.pp-c__title:hover { color: var(--pp-accent); }

/* Color-coded tags */
.pp-c__tags {
  display: flex;
  flex-wrap: nowrap;
  overflow: hidden;
  gap: 4px;
  margin-bottom: 12px;
  min-height: 22px;
}

.pp-c__tag {
  display: inline-flex;
  flex: 0 1 auto;
  min-width: 0;
  align-items: center;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 9px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.pp-c__tag--weight {
  background: #f9fafb;
  color: #6b7280;
  border: 1px solid #f3f4f6;
}

.pp-c__tag--year {
  background: rgba(239,246,255,.5);
  color: #2563eb;
  border: 1px solid #bfdbfe;
}

.pp-c__tag--edition {
  background: rgba(240,253,244,.5);
  color: #16a34a;
  border: 1px solid #bbf7d0;
}

/* Price Block */
.pp-c__price-block { margin-bottom: 10px; }

.pp-c__price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}

.pp-c__price-ab {
  color: #9ca3af;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.pp-c__price-main {
  font-size: 20px;
  font-weight: 900;
  color: #111827;
}
@media (max-width: 768px) {
  .pp-c__price-main {
    font-size: 17px;
  }
}

.pp-c__price-main .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; color: inherit; }
.pp-c__price-main .woocommerce-Price-currencySymbol { font-size: inherit; }

.pp-c__price-old {
  font-size: 11px;
  color: #9ca3af;
  text-decoration: line-through;
}

.pp-c__price-old .woocommerce-Price-amount { font-size: inherit; color: inherit; }

.pp-c__tax {
  margin: 2px 0 0;
  color: #9ca3af;
  font-size: 9px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Mini Stock Dot */
.pp-c__stock {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
  color: #6b7280;
  font-size: 10px;
  font-weight: 500;
}

.pp-c__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}

.pp-c__dot--green { background: #22c55e; }
.pp-c__dot--red { background: #ef4444; }

/* 2-Button Actions: Kaufen + Details */
.pp-c__actions {
  display: flex;
  gap: 4px;
}

.pp-c__btn-buy {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  border-radius: 6px;
  background: var(--pp-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all .2s;
  cursor: pointer;
  border: 0;
}

.pp-c__btn-buy:hover {
  filter: brightness(1.1);
  color: #fff;
}

.pp-c__btn-buy.is-disabled {
  background: #f3f4f6;
  color: #d1d5db;
  cursor: not-allowed;
}

.pp-c__btn-buy svg { flex-shrink: 0; }

.pp-c__btn-detail {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  border: 1px solid #f3f4f6;
  border-radius: 6px;
  color: #9ca3af;
  text-decoration: none;
  transition: all .2s;
}

.pp-c__btn-detail:hover {
  border-color: var(--pp-accent);
  background: rgba(194,151,101,.05);
  color: var(--pp-accent);
}

/* ═══════════════════════════════════════════════
   Responsive: Shop Grid + Cards (DRY: same breakpoints as .pp-shop-grid)
   ═══════════════════════════════════════════════ */
@media (max-width: 1100px) {
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pp-hero-cats { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-hero-cats { grid-template-columns: repeat(2, 1fr); }
  .pp-hero-dark__center h1 { font-size: 32px; }
  .pp-filterbar__main { flex-wrap: wrap; }
  .pp-filterbar__sep { display: none; }
  .pp-filterbar__spacer { display: none; }
  .pp-filterbar__search { min-width: 0; max-width: none; flex: 1 1 100%; }
}

/* Homepage filterbar mobile fix (count + sep + sort container) */
@media (max-width: 640px) {
  .pp-toppicks .pp-filterbar {
    padding: 12px;
  }
  .pp-toppicks .pp-filterbar .pp-filterbar__count {
    font-size: 13px;
  }
  .pp-toppicks .pp-filterbar .pp-filterbar__sort {
    flex: 1;
    justify-content: flex-end;
  }
  .pp-toppicks .pp-filterbar select,
  .pp-toppicks .pp-filterbar .pp-filterbar__select {
    min-width: 110px;
    font-size: 13px;
    padding: 6px 8px;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .pp-hero-dark { min-height: auto; }
  .pp-hero-dark__body { padding: 64px 0 32px; }
  .pp-hero-dark__center h1 { font-size: 24px; }
  .pp-hero-dark__center p { font-size: 14px; }
  .pp-hero-cats { grid-template-columns: 1fr; }
}

/* Shop subcategory grid (50/50 on mobile) */
.pp-subcat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

/* On mobile: hide 4th category card (keep 3 + Alle = 4 items = 2 rows) */
@media (max-width: 767px) {
  .pp-subcat-grid .pp-subcat-card:nth-child(4):not(.pp-subcat-card--more) {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .pp-subcat-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
  }
}

/* ═══════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE — matches Next.js ProductClient
   ═══════════════════════════════════════════════════════ */
.pp-product-page {
  background: #fff;
  min-height: 100vh;
}

/* Hide WC default elements we handle ourselves */
.pp-product-buybox .woocommerce-variation-price,
.pp-product-buybox .woocommerce-variation-availability,
.pp-product-buybox .stock,
.pp-product-page .woocommerce-breadcrumb,
.pp-product-page .woocommerce-product-gallery,
.pp-product-page .product_title,
.pp-product-page .woocommerce-product-rating,
.pp-product-page .woocommerce-tabs,
.pp-product-page > .product > .price {
  display: none !important;
}

/* ═══ NUCLEAR BUTTON OVERRIDE ═══ 
   Force golden accent on ALL single product add-to-cart buttons 
   Specificity must beat woo-style.css: .woocommerce button.button.alt {!important} */
.woocommerce.single-product .pp-product-buybox button.button.alt.single_add_to_cart_button,
.woocommerce .pp-product-page .pp-product-buybox button.button.alt,
.woocommerce .pp-product-buybox button.single_add_to_cart_button,
.woocommerce .pp-product-buybox .button.alt,
.woocommerce .pp-buybox-atc button.button.alt,
body.single-product .pp-product-page button.button.alt.single_add_to_cart_button,
.pp-product-page .pp-product-buybox button.button.alt,
.pp-product-page button.single_add_to_cart_button {
  flex: 1 !important;
  height: 48px !important;
  min-height: 48px !important;
  border-radius: 10px !important;
  background: var(--pp-accent) !important;
  background-color: var(--pp-accent) !important;
  color: #fff !important;
  padding: 0 28px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  border: 0 !important;
  cursor: pointer !important;
  transition: all .2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-shadow: 0 2px 8px rgba(194,151,101,.3) !important;
  line-height: 1 !important;
}

.woocommerce.single-product .pp-product-buybox button.button.alt.single_add_to_cart_button:hover,
.woocommerce .pp-product-page .pp-product-buybox button.button.alt:hover,
.woocommerce .pp-product-buybox button.single_add_to_cart_button:hover,
.pp-product-page .pp-product-buybox button.button.alt:hover {
  filter: brightness(1.08) !important;
  background: var(--pp-accent) !important;
  background-color: var(--pp-accent) !important;
  box-shadow: 0 4px 16px rgba(194,151,101,.4) !important;
  color: #fff !important;
}

.pp-product-page .single_add_to_cart_button:active,
.pp-product-buybox .single_add_to_cart_button:active {
  transform: scale(.98) !important;
}

/* Cart icon before button text */
.pp-product-page .single_add_to_cart_button::before,
.pp-product-buybox .single_add_to_cart_button::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/* Force cart form layout in buybox */
.pp-product-buybox form.cart,
.pp-buybox-atc form.cart {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 !important;
  flex-wrap: wrap !important;
}

/* Quantity inside buybox */
.pp-product-buybox .quantity,
.pp-buybox-atc .quantity {
  display: contents !important;
}

.pp-product-buybox .quantity input[type="number"],
.pp-buybox-atc .quantity input[type="number"] {
  width: 44px !important;
  height: 48px !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  border: 0 !important;
  border-left: 1px solid #e5e7eb !important;
  border-right: 1px solid #e5e7eb !important;
  background: #fff !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
}

/* Variation selectors inside buybox */
.pp-product-buybox .variations,
.pp-buybox-atc .variations {
  width: 100% !important;
  margin-bottom: 12px !important;
}

.pp-product-buybox .variations th,
.pp-product-buybox .variations td {
  display: block !important;
  padding: 0 0 8px !important;
  text-align: left !important;
}

.pp-product-buybox .variations select {
  width: 100% !important;
  min-height: 42px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 8px !important;
  padding: 0 12px !important;
  font-size: 14px !important;
  color: #111827 !important;
  background: #fff !important;
}

.pp-product-buybox .reset_variations {
  font-size: 12px !important;
  color: #9ca3af !important;
}

/* ── Breadcrumb ── */
.pp-product-breadcrumb {
  background: #fff;
  border-bottom: 1px solid #f3f4f6;
}

.pp-product-breadcrumb .pp-container {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  color: #9ca3af;
  font-size: 13px;
}

.pp-product-breadcrumb a {
  color: #9ca3af;
  text-decoration: none;
  transition: color .2s;
}

.pp-product-breadcrumb a:hover {
  color: var(--pp-accent);
}

.pp-product-breadcrumb svg {
  flex-shrink: 0;
  color: #d1d5db;
}

.pp-bc-current {
  color: #374151;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 300px;
}

/* ── Main Grid ── */
.pp-product-main {
  padding: 40px 0 56px;
}

.pp-product-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
  gap: 40px 56px;
  align-items: start;
}

/* ── Gallery ── */
.pp-product-gallery {
  position: relative;
}

.pp-gallery-counter {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 10;
  background: rgba(17,24,39,.7);
  color: #fff;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

.pp-product-gallery__sale {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  background: #ef4444;
  color: #fff;
  padding: 5px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  box-shadow: 0 2px 8px rgba(239,68,68,.3);
}

.pp-product-gallery__bware {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 10;
  background: #dc2626;
  color: #fff;
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  box-shadow: 0 2px 8px rgba(220,38,38,.35);
}

.pp-product-gallery__main {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-height: 400px;
}

.pp-product-gallery__main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 24px;
  max-height: 580px;
}

.pp-gallery-hint {
  position: absolute;
  bottom: 10px;
  right: 14px;
  color: #9ca3af;
  font-size: 11px;
  font-style: italic;
}

.pp-product-gallery__thumbs {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}

.pp-gallery-thumb {
  width: 72px;
  height: 72px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  padding: 0;
  cursor: pointer;
  background: #fff;
  overflow: hidden;
  transition: border-color .2s ease;
  flex-shrink: 0;
}

.pp-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.pp-gallery-thumb.is-active {
  border-color: var(--pp-accent);
}

.pp-gallery-thumb:hover {
  border-color: rgba(194,151,101,.5);
}

/* ── Summary (Right Side) ── */
.pp-product-summary h1 {
  margin: 0 0 12px;
  color: #111827;
  font-size: clamp(24px, 3.5vw, 32px);
  font-weight: 700;
  line-height: 1.2;
}

/* Meta Row: Pills + Live viewers */
.pp-product-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.pp-product-pills {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.pp-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

.pp-pill em {
  font-style: normal;
  font-size: 10px;
  opacity: .6;
}

.pp-pill--metal { background: #f1f5f9; color: #475569; }
.pp-pill--metal.pp-metal--platin { background: #f1f5f9; color: #475569; }
.pp-pill--metal.pp-metal--gold { background: #fef9c3; color: #854d0e; }
.pp-pill--metal.pp-metal--silber { background: #f3f4f6; color: #4b5563; }
.pp-pill--metal.pp-metal--palladium { background: #eff6ff; color: #1d4ed8; }

.pp-pill--weight { background: #f3f4f6; color: #4b5563; }
.pp-pill--year { background: #eff6ff; color: #2563eb; }
.pp-pill--series {
  background: rgba(194,151,101,.08);
  color: var(--pp-accent);
  transition: background .2s;
}
.pp-pill--series:hover {
  background: rgba(194,151,101,.15);
}

/* Live viewers */
.pp-product-live {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #6b7280;
  font-size: 13px;
  position: relative;
  padding-left: 14px;
}

.pp-live-dot,
.pp-live-dot-ping {
  position: absolute;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #22c55e;
}

.pp-live-dot-ping {
  animation: pp-ping 1.5s cubic-bezier(0,.5,.5,1) infinite;
  opacity: .75;
}

@keyframes pp-ping {
  75%, 100% { transform: scale(2.2); opacity: 0; }
}

.pp-product-live strong {
  color: #374151;
}

/* ── Unified Buy Box ── */
.pp-product-buybox {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  overflow: hidden;
  margin-bottom: 16px;
}

.pp-buybox-price {
  padding: 20px 20px 16px;
}

.pp-pricebox-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 6px;
}

.pp-pricebox-left {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.pp-price-prefix {
  color: #9ca3af;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.pp-price-main .woocommerce-Price-amount,
.pp-price-main .price,
.pp-price-main bdi {
  color: #111827;
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 900;
  letter-spacing: -.02em;
  line-height: 1;
}

.pp-price-main del .woocommerce-Price-amount,
.pp-price-main del bdi {
  color: #d1d5db;
  font-size: 18px;
  font-weight: 600;
}

.pp-price-main ins {
  text-decoration: none;
}

.pp-price-sale-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 6px;
  background: #ef4444;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

/* Stock status inline */
.pp-pricebox-stock {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  flex-shrink: 0;
  margin-bottom: 4px;
}

.pp-stock-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #22c55e;
  flex-shrink: 0;
}

.pp-pricebox-stock.is-out .pp-stock-dot {
  background: #ef4444;
}

.pp-stock-label {
  font-weight: 600;
  color: #16a34a;
}

.pp-pricebox-stock.is-out .pp-stock-label {
  color: #dc2626;
}

.pp-stock-delivery {
  color: #9ca3af;
}

.pp-price-tax {
  margin: 0;
  color: #9ca3af;
  font-size: 12px;
}

/* Cart area inside buybox */
.pp-buybox-atc {
  padding: 0 20px 16px;
  border-top: 1px solid #f3f4f6;
  padding-top: 16px;
}

.pp-buybox-atc form.cart {
  margin: 0;
}

.pp-purchase-atc form.cart:not(.variations_form),
.pp-buybox-atc form.cart:not(.variations_form),
.pp-purchase-atc .woocommerce-variation-add-to-cart,
.pp-buybox-atc .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}

/* Quantity stepper */
.pp-qty-stepper {
  display: inline-flex;
  align-items: center;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}

.pp-qty-btn {
  width: 40px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  transition: all .15s;
}

.pp-qty-btn:hover {
  color: #111827;
  background: #f3f4f6;
}

.pp-qty-btn:active {
  transform: scale(.9);
}

.pp-buybox-atc .quantity input[type="number"],
.pp-purchase-atc .quantity input[type="number"] {
  width: 44px !important;
  height: 48px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  border: 0;
  border-left: 1px solid #e5e7eb;
  border-right: 1px solid #e5e7eb;
  background: #fff;
  outline: none;
  -moz-appearance: textfield;
  padding: 0;
}

.pp-buybox-atc .quantity input[type="number"]::-webkit-inner-spin-button,
.pp-buybox-atc .quantity input[type="number"]::-webkit-outer-spin-button,
.pp-purchase-atc .quantity input[type="number"]::-webkit-inner-spin-button,
.pp-purchase-atc .quantity input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Hide the default WC quantity wrapper border */
.pp-buybox-atc .quantity,
.pp-purchase-atc .quantity {
  display: contents;
}

/* Add to Cart button — golden accent */
.pp-buybox-atc .single_add_to_cart_button,
.pp-purchase-atc .single_add_to_cart_button {
  flex: 1;
  height: 48px;
  border-radius: 10px !important;
  background: var(--pp-accent) !important;
  color: #fff !important;
  padding: 0 28px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  border: 0 !important;
  cursor: pointer;
  transition: all .2s;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 2px 8px rgba(194,151,101,.3);
}

.pp-buybox-atc .single_add_to_cart_button:hover,
.pp-purchase-atc .single_add_to_cart_button:hover {
  filter: brightness(1.08);
  box-shadow: 0 4px 16px rgba(194,151,101,.4);
}

.pp-buybox-atc .single_add_to_cart_button:active,
.pp-purchase-atc .single_add_to_cart_button:active {
  transform: scale(.98);
}

/* Variation selectors inside buy box */
.pp-buybox-atc .variations,
.pp-purchase-atc .variations {
  width: 100%;
  margin-bottom: 12px;
}

.pp-buybox-atc .variations th,
.pp-buybox-atc .variations td,
.pp-purchase-atc .variations th,
.pp-purchase-atc .variations td {
  display: block;
  padding: 0 0 8px;
  text-align: left;
}

.pp-buybox-atc .variations th label,
.pp-purchase-atc .variations th label {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}

.pp-buybox-atc .variations select,
.pp-purchase-atc .variations select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 0 12px;
  font-size: 14px;
  color: #111827;
  background: #fff;
}

.pp-buybox-atc .reset_variations,
.pp-purchase-atc .reset_variations {
  display: inline-block;
  margin-top: 4px;
  font-size: 12px;
  color: #9ca3af;
}

/* Wishlist / Compare row */
.pp-purchase-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #f3f4f6;
}

.pp-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px;
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s;
}

.pp-action-btn:first-child {
  border-right: 1px solid #f3f4f6;
}

.pp-action-btn:hover {
  color: #111827;
  background: #f9fafb;
}

.pp-action-btn.is-active {
  color: var(--pp-accent, #b08d57);
}

.pp-action-btn svg {
  flex-shrink: 0;
}

.pp-action-btn.pp-c__wishlist-btn.is-active svg {
  fill: var(--pp-accent, #b08d57);
  stroke: var(--pp-accent, #b08d57);
}

/* ── Trust Signal Grid ── */
.pp-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 16px;
}

.pp-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 8px;
  border: 1px solid #f3f4f6;
  border-radius: 10px;
  background: #fff;
  text-align: center;
}

.pp-trust-item svg {
  color: var(--pp-accent);
  flex-shrink: 0;
}

.pp-trust-item span {
  font-size: 11px;
  font-weight: 500;
  color: #6b7280;
  line-height: 1.3;
}

/* ── Preiswarner (Price Alert) ── */
.pp-preiswarner {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  overflow: hidden;
  margin-bottom: 24px;
}

.pp-preiswarner-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  transition: background .2s;
}

.pp-preiswarner-toggle:hover {
  background: rgba(249,250,251,.5);
}

.pp-pw-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pp-pw-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #eff6ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.pp-pw-icon svg {
  color: #2563eb;
}

.pp-pw-left strong {
  display: block;
  font-size: 14px;
  color: #111827;
  line-height: 1.3;
}

.pp-pw-left small {
  display: block;
  font-size: 12px;
  color: #9ca3af;
}

.pp-pw-chevron {
  color: #9ca3af;
  transition: transform .3s;
  flex-shrink: 0;
}

.pp-preiswarner-toggle.is-open .pp-pw-chevron {
  transform: rotate(180deg);
}

.pp-preiswarner-body {
  padding: 0 16px 16px;
  border-top: 1px solid #f3f4f6;
}

.pp-preiswarner-body p {
  margin: 16px 0;
  color: #6b7280;
  font-size: 13px;
}

.pp-preiswarner-body p strong {
  color: #111827;
}

.pp-pw-fields {
  display: grid;
  gap: 12px;
}

.pp-pw-fields label {
  display: block;
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #9ca3af;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pp-pw-input-wrap {
  position: relative;
}

.pp-pw-input-wrap span {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: 14px;
  font-weight: 500;
}

.pp-pw-input-wrap input {
  width: 100%;
  height: 40px;
  padding-left: 30px;
  padding-right: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f9fafb;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
  outline: none;
  -moz-appearance: textfield;
}

.pp-pw-input-wrap input::-webkit-inner-spin-button,
.pp-pw-input-wrap input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.pp-pw-fields input[type="email"] {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f9fafb;
  font-size: 14px;
  color: #111827;
  outline: none;
}

.pp-pw-fields input:focus {
  border-color: #60a5fa;
  box-shadow: 0 0 0 3px rgba(96,165,250,.15);
}

.pp-pw-submit {
  width: 100%;
  height: 40px;
  border: 0;
  border-radius: 8px;
  background: #2563eb;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .2s;
}

.pp-pw-submit:hover {
  background: #1d4ed8;
}

/* ── Specs Grid ── */
.pp-product-specs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
}

.pp-product-specs div {
  padding: 12px;
  border: 1px solid #f3f4f6;
  border-radius: 8px;
  background: #f9fafb;
}

.pp-product-specs dt {
  margin: 0 0 3px;
  color: #9ca3af;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.pp-product-specs dd {
  margin: 0;
  color: #111827;
  font-size: 13px;
  font-weight: 700;
}

/* ═══ Related Products & Details ═══ */
.pp-product-details,
.pp-related-products {
  padding: 56px 0;
  border-top: 1px solid var(--pp-line-soft);
  background: #f9fafb;
}

/* ═══════════════════════════════════════════════
   Tabbed Product Details (Next.js ProductTabs)
   ═══════════════════════════════════════════════ */
.pp-product-tabs-section {
  padding: 56px 0;
  background: #f9fafb;
  border-top: 1px solid var(--pp-line-soft);
}

.pp-product-tabs {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  overflow: hidden;
}

.pp-product-tabs__nav {
  display: flex;
  border-bottom: 1px solid #f3f4f6;
}

.pp-tab-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 24px;
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  transition: color .2s ease, background .2s ease;
}

.pp-tab-btn:hover {
  color: #111827;
  background: rgba(249,250,251,.5);
}

.pp-tab-btn.is-active {
  color: var(--pp-accent);
}

.pp-tab-btn.is-active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--pp-accent);
}

.pp-tab-btn svg,
.pp-tab-btn .material-symbols-outlined {
  font-size: 18px;
  flex-shrink: 0;
}

.pp-tab-panel {
  display: none;
  padding: 24px 32px;
}

.pp-tab-panel.is-active {
  display: block;
}

.pp-tab-panel h3 {
  margin: 0 0 16px;
  color: #111827;
  font-size: 18px;
  font-weight: 700;
}

.pp-product-description {
  color: #4b5563;
  line-height: 1.75;
}

.pp-product-description p {
  margin: 0 0 16px;
}

.pp-tab-highlight {
  margin: 20px 0;
  padding: 16px;
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  border-radius: 8px;
}

.pp-tab-highlight h4 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 14px;
  font-weight: 700;
}

.pp-tab-highlight p {
  margin: 0;
  color: #4b5563;
  font-size: 14px;
}

.pp-tab-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 20px;
}

.pp-tab-feature {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.pp-tab-feature svg,
.pp-tab-feature .material-symbols-outlined {
  color: var(--pp-accent);
  font-size: 20px;
  margin-top: 2px;
  flex-shrink: 0;
}

.pp-tab-feature strong {
  display: block;
  color: #111827;
  font-size: 14px;
  font-weight: 600;
}

.pp-tab-feature span {
  color: #6b7280;
  font-size: 12px;
}

/* Specifications tab  */
.pp-specs-list {
  display: grid;
  gap: 8px;
}

.pp-specs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #f9fafb;
  border: 1px solid #f3f4f6;
  border-radius: 8px;
}

.pp-specs-row span {
  color: #6b7280;
  font-size: 14px;
  font-weight: 500;
}

.pp-specs-row strong {
  color: #111827;
  font-size: 14px;
  font-weight: 700;
}

/* Shipping tab */
.pp-shipping-cards {
  display: grid;
  gap: 12px;
}

.pp-ship-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px;
  border-radius: 8px;
}

.pp-ship-card svg,
.pp-ship-card .material-symbols-outlined {
  font-size: 20px;
  margin-top: 2px;
  flex-shrink: 0;
}

.pp-ship-card h4 {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 700;
}

.pp-ship-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.pp-ship-card--blue {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
}
.pp-ship-card--blue svg { color: #2563eb; }
.pp-ship-card--blue h4 { color: #1e3a5f; }
.pp-ship-card--blue p { color: #1d4ed8; }

.pp-ship-card--green {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
}
.pp-ship-card--green svg { color: #16a34a; }
.pp-ship-card--green h4 { color: #14532d; }
.pp-ship-card--green p { color: #15803d; }

.pp-ship-card--amber {
  background: #fffbeb;
  border: 1px solid #fde68a;
}
.pp-ship-card--amber svg { color: #d97706; }
.pp-ship-card--amber h4 { color: #78350f; }
.pp-ship-card--amber p { color: #b45309; }

/* Related products */
.pp-related-products .related.products > h2 {
  display: none;
}

.pp-related-products .related.products ul.products {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ── Responsive Single Product ── */
@media (max-width: 1024px) {
  .pp-product-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .pp-trust-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .pp-related-products .related.products ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .pp-product-meta-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .pp-pricebox-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .pp-product-specs {
    grid-template-columns: 1fr;
  }
  .pp-tab-features {
    grid-template-columns: 1fr;
  }
  .pp-related-products .related.products ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}




/* ═══════════════════════════════════════════════
   Cart / Checkout Hero (dark, with bg image)
   ═══════════════════════════════════════════════ */
.pp-checkout-hero {
  position: relative;
  background: #111827;
  color: #fff;
  overflow: hidden;
}

.pp-checkout-hero__bg {
  position: absolute;
  inset: 0;
}

.pp-checkout-hero__bg > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pp-checkout-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}

.pp-checkout-hero__body {
  position: relative;
  z-index: 2;
  padding: 48px 0 40px;
}

.pp-checkout-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px;
  color: rgba(255,255,255,.6);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: color .2s;
}

.pp-checkout-hero__back:hover {
  color: #fff;
}

.pp-checkout-hero h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(30px, 5vw, 48px);
  font-weight: 700;
}

.pp-checkout-steps {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.pp-checkout-steps div {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pp-checkout-steps span {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.45);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 800;
}

.pp-checkout-steps .is-done span,
.pp-checkout-steps .is-active span {
  background: var(--pp-accent);
  color: #fff;
}

.pp-checkout-steps .is-done,
.pp-checkout-steps .is-active {
  color: #fff;
}

.pp-checkout-steps i {
  width: 44px;
  height: 1px;
  background: rgba(255,255,255,.2);
}




.woocommerce-checkout .dm-checkout-section,
.woocommerce-checkout .dm-checkout-order-card {
  border-radius: 8px;
}

/* ═══════════════════════════════════════════════
   WooCommerce Notices (message / error / info)
   ═══════════════════════════════════════════════ */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  padding: 14px 20px !important;
  margin: 0 0 20px !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  list-style: none !important;
  background: #111827 !important;
  color: #fff !important;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
  display: none !important;
}
.woocommerce-error {
  background: #fef2f2 !important;
  color: #991b1b !important;
  border-left: 4px solid #ef4444 !important;
}
.woocommerce-info {
  background: #f0f9ff !important;
  color: #1e40af !important;
  border-left: 4px solid #3b82f6 !important;
}
.woocommerce-error li {
  list-style: none;
}
.woocommerce-message .button,
.woocommerce-info .button {
  background: #fff !important;
  color: #111827 !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 6px !important;
  padding: 8px 20px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-decoration: none;
  white-space: nowrap;
  transition: all .2s;
  flex-shrink: 0;
}
.woocommerce-message .button:hover {
  background: var(--pp-accent) !important;
  color: #fff !important;
  border-color: var(--pp-accent) !important;
}

/* Place notices inside proper container */
.woocommerce-notices-wrapper {
  width: min(var(--pp-container), calc(100% - 32px));
  margin: 0 auto;
  padding-top: 16px;
}

/* ═══════════════════════════════════════════════
   Cart Page Layout (Damina-style)
   ═══════════════════════════════════════════════ */

/* Light grey page background */
.woocommerce-cart .pp-content-page {
  background: #f9fafb;
  padding: 40px 0 80px;
}

/* Checkout page has no main wrapper - handled by dm-checkout-wrap */

/* Cart form items — white card */
.pp-cart-page .pp-cart-items {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 24px;
}

/* Cart actions — inside white card feel */
.pp-cart-page .pp-cart-actions {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 16px 24px;
  margin-top: 16px;
}

/* Cart summary (totals) — white card */
.pp-cart-page .pp-cart-summary .cart_totals {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 28px;
  margin-top: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.pp-cart-page .pp-cart-summary .cart_totals h2 {
  font-size: 18px;
  font-weight: 800;
  color: #111827;
  margin: 0 0 20px;
}
.pp-cart-page .pp-cart-summary .cart_totals table {
  border: none;
  border-collapse: collapse;
  width: 100%;
}
.pp-cart-page .pp-cart-summary .cart_totals th,
.pp-cart-page .pp-cart-summary .cart_totals td {
  padding: 12px 0;
  font-size: 14px;
  border-top: 1px solid #e5e7eb;
  border-left: none;
  border-right: none;
  border-bottom: none;
  background: transparent;
}
.pp-cart-page .pp-cart-summary .cart_totals tr:first-child th,
.pp-cart-page .pp-cart-summary .cart_totals tr:first-child td { border-top: none; }
.pp-cart-page .pp-cart-summary .cart_totals th {
  font-size: 13px; font-weight: 600; color: #6b7280; text-align: left;
}
.pp-cart-page .pp-cart-summary .cart_totals td {
  text-align: right; font-weight: 600; color: #111827;
}
.pp-cart-page .pp-cart-summary .cart_totals .order-total th {
  font-size: 15px; color: #111827; font-weight: 800;
}
.pp-cart-page .pp-cart-summary .cart_totals .order-total td {
  font-weight: 800; font-size: 20px;
}

/* Proceed to checkout */
.wc-proceed-to-checkout { padding-top: 16px; }
.wc-proceed-to-checkout a.checkout-button,
.wc-proceed-to-checkout a {
  display: block !important;
  width: 100%;
  padding: 18px !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-align: center;
  text-decoration: none !important;
  background: #111827 !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer;
  transition: all .2s;
  box-sizing: border-box;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.wc-proceed-to-checkout a:hover {
  background: #2d3748 !important;
}

/* Quantity input */
.woocommerce .quantity input.qty {
  width: 52px !important;
  padding: 5px 8px !important;
  font-size: 13px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 6px !important;
  text-align: center;
  font-weight: 600;
  -moz-appearance: textfield;
}
.woocommerce .quantity input.qty::-webkit-inner-spin-button,
.woocommerce .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.woocommerce .quantity input.qty:focus {
  border-color: #111827 !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,0,0,.05);
}

/* Remove button */
.woocommerce a.remove {
  color: rgba(0,0,0,.3) !important;
  font-size: 18px;
  text-decoration: none;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  transition: background .2s, color .2s;
}
.woocommerce a.remove:hover {
  background: rgba(239,68,68,.06) !important;
  color: #ef4444 !important;
}

/* Shop table fallback (for default WC table rendering) */
.woocommerce table.shop_table {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}
.woocommerce table.shop_table thead { background: #f4f5f7; }
.woocommerce table.shop_table th {
  padding: 14px 16px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(0,0,0,.45);
  border: none;
}
.woocommerce table.shop_table td {
  padding: 16px;
  border-top: 1px solid #f3f4f6;
  font-size: 14px;
  color: #111827;
  vertical-align: middle;
}
.woocommerce table.shop_table .product-remove { width: 40px; text-align: center; }
.woocommerce table.shop_table .product-thumbnail { width: 70px; }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal { width: 100px; text-align: right; }
.woocommerce table.shop_table td.product-name a {
  color: #111827; font-weight: 600; text-decoration: none;
}
.woocommerce table.shop_table td.product-name a:hover { color: rgba(0,0,0,.6); }
.woocommerce table.shop_table img { min-width: 56px; height: 56px; object-fit: contain; border-radius: 8px; }
.woocommerce table.shop_table td.actions {
  padding: 16px;
  text-align: right;
}
.woocommerce table.shop_table td.actions::before,
.woocommerce table.shop_table td.actions::after { display: none !important; }
.woocommerce table.shop_table .coupon {
  float: left;
  display: flex;
  align-items: center;
  gap: 8px;
}
.woocommerce table.shop_table .coupon label { display: none; }
.woocommerce table.shop_table .coupon input[type="text"] {
  width: 180px;
  padding: 10px 14px;
  font-size: 13px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.woocommerce table.shop_table .coupon .button,
.woocommerce table.shop_table button[name="update_cart"] {
  padding: 10px 18px !important;
  font-size: 12px !important;
  border-radius: 8px !important;
  background: #111827 !important;
  color: #fff !important;
  border: none !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  transition: all .2s;
}
.woocommerce table.shop_table button[name="update_cart"]:disabled {
  opacity: .4;
  cursor: not-allowed;
}

/* Responsive cart */
@media (max-width: 900px) {
  .pp-cart-layout {
    grid-template-columns: 1fr !important;
  }
}

.pp-cart-page__head {
  margin-bottom: 32px;
  display: none; /* We use the hero instead */
}

.pp-cart-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 32px;
  align-items: start;
}

.pp-cart-items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.pp-cart-item {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid #f3f4f6;
}

.pp-cart-item:first-child {
  padding-top: 0;
}

.pp-cart-item__image {
  width: 100px;
  height: 100px;
  border-radius: 8px;
  overflow: hidden;
  background: #f9fafb;
  border: 1px solid #f3f4f6;
}

.pp-cart-item__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pp-cart-item__image a {
  display: block;
  width: 100%;
  height: 100%;
}

.pp-cart-item__main h3 {
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 600;
  color: #111827;
}

.pp-cart-item__main h3 a {
  color: inherit;
  text-decoration: none;
}

.pp-cart-item__main h3 a:hover {
  color: var(--pp-accent);
}

.pp-cart-item__main dl.variation {
  margin: 4px 0 0;
  font-size: 12px;
  color: #9ca3af;
}

.pp-cart-item__main dl.variation dt,
.pp-cart-item__main dl.variation dd {
  display: inline;
  margin: 0;
  padding: 0;
}

.pp-cart-item__controls {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
}

.pp-cart-item__price {
  font-size: 14px;
  font-weight: 600;
  color: #6b7280;
}

.pp-cart-item__subtotal {
  font-size: 16px;
  font-weight: 800;
  color: #111827;
  margin-left: auto;
}

.pp-cart-qty .quantity {
  display: flex;
  align-items: center;
}

.pp-cart-qty .quantity input {
  width: 60px;
  height: 36px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
}

.pp-cart-remove {
  width: 36px;
  height: 36px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #d1d5db;
  text-decoration: none;
  transition: all .2s;
}

.pp-cart-remove:hover {
  background: #fef2f2;
  color: #ef4444;
}

.pp-cart-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 24px 0 0;
  margin-top: 8px;
  border-top: 1px solid #f3f4f6;
}

.pp-cart-coupon {
  display: flex;
  gap: 8px;
}

.pp-cart-coupon input {
  min-height: 40px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 0 12px;
  font-size: 14px;
  transition: border-color .2s;
}

.pp-cart-coupon input:focus {
  border-color: var(--pp-accent);
  outline: none;
  box-shadow: 0 0 0 3px rgba(194,151,101,.12);
}

.pp-cart-actions .button,
.pp-cart-update {
  border-radius: 6px !important;
  background: #f9fafb !important;
  color: #374151 !important;
  border: 1px solid #e5e7eb !important;
  padding: 10px 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
  cursor: pointer;
  transition: all .2s;
}

.pp-cart-actions .button:hover,
.pp-cart-update:hover {
  background: #111827 !important;
  color: #fff !important;
  border-color: #111827 !important;
}

/* Cart summary sidebar */
.pp-cart-summary {
  position: sticky;
  top: 116px;
}

.pp-cart-summary .cart_totals {
  width: 100% !important;
  float: none !important;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  background: #fff;
  padding: 28px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

.pp-cart-summary .cart_totals h2 {
  margin: 0 0 20px;
  color: #111827;
  font-size: 20px;
  font-weight: 700;
}

.pp-cart-summary table {
  width: 100%;
  border-collapse: collapse;
}

.pp-cart-summary table th,
.pp-cart-summary table td {
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
  font-size: 14px;
}

.pp-cart-summary table th {
  color: #6b7280;
  font-weight: 500;
  text-align: left;
}

.pp-cart-summary table td {
  color: #111827;
  font-weight: 600;
  text-align: right;
}

.pp-cart-summary .order-total th,
.pp-cart-summary .order-total td {
  border-bottom: none;
  padding-top: 16px;
  font-size: 18px;
  font-weight: 800;
}

.pp-cart-summary .checkout-button,
.pp-cart-summary .wc-proceed-to-checkout .checkout-button {
  display: block !important;
  width: 100% !important;
  margin-top: 20px !important;
  padding: 14px 24px !important;
  border-radius: 8px !important;
  background: var(--pp-accent) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-align: center;
  text-decoration: none;
  border: none !important;
  cursor: pointer;
  transition: all .3s;
}

.pp-cart-summary .checkout-button:hover {
  background: #111827 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

/* ═══════════════════════════════════════════════
   Checkout — Damina Layout
   ═══════════════════════════════════════════════ */

/* Full-width background — visible grey, only cards are white */
.dm-checkout-bg {
  background: #f3f4f6;
  width: 100%;
}

.dm-checkout-wrap {
  width: 100%;
  max-width: var(--pp-container) !important;
  margin: 0 auto;
  padding: 40px 0 80px;
  background: transparent;
}


.dm-checkout-grid {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 40px;
  align-items: start;
}

.dm-checkout-section {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 32px;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}

.dm-checkout-section__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f3f4f6;
}

.dm-checkout-section__number {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--pp-accent);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dm-checkout-section__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #111827;
}

.dm-checkout-section__desc {
  margin: 2px 0 0;
  font-size: 13px;
  color: #9ca3af;
}

/* Form fields */
.dm-checkout-section .woocommerce-billing-fields__field-wrapper,
.dm-checkout-section .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.dm-checkout-section .form-row-wide {
  grid-column: 1 / -1;
}

.dm-checkout-section .form-row label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}

.dm-checkout-section .form-row .input-text,
.dm-checkout-section .form-row select,
.dm-checkout-section .form-row textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font: inherit;
  font-size: 14px;
  color: #111827;
  transition: border-color .2s;
  background: #fff;
}

.dm-checkout-section .form-row .input-text:focus,
.dm-checkout-section .form-row select:focus,
.dm-checkout-section .form-row textarea:focus {
  border-color: var(--pp-accent);
  outline: none;
  box-shadow: 0 0 0 3px rgba(194,151,101,.12);
}

.dm-checkout-section #billing_company_field {
  display: none;
}
.dm-checkout-section #billing_company_field.is-visible {
  display: block;
}

/* Order review card (right) — flush top, sticky on scroll */
.dm-checkout-right {
  position: sticky;
  top: 116px;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start;
}

.dm-checkout-order-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 28px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  margin: 0;
}

.dm-checkout-order-card__title {
  margin: 0 0 20px;
  padding: 0;
  font-size: 20px;
  font-weight: 700;
  color: #111827;
}

.dm-checkout-order-card table {
  width: 100%;
  border-collapse: collapse;
}

.dm-checkout-order-card table th,
.dm-checkout-order-card table td {
  padding: 10px 0;
  border-bottom: 1px solid #f3f4f6;
  font-size: 14px;
  vertical-align: top;
}

.dm-checkout-order-card table th {
  color: #6b7280;
  font-weight: 500;
  text-align: left;
}

.dm-checkout-order-card table td {
  color: #111827;
  font-weight: 600;
  text-align: right;
}

.dm-checkout-order-card .order-total th,
.dm-checkout-order-card .order-total td {
  border-bottom: none;
  padding-top: 16px;
  font-size: 18px;
  font-weight: 800;
}

.dm-checkout-order-card .product-name {
  font-weight: 600;
  color: #111827;
}

.dm-checkout-order-card .product-name .product-quantity {
  color: #9ca3af;
}

/* Place order button */
#place_order {
  display: block;
  width: 100%;
  margin-top: 20px;
  padding: 16px 24px;
  border-radius: 8px;
  background: var(--pp-accent);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  border: none;
  cursor: pointer;
  transition: all .3s;
}

#place_order:hover {
  background: #111827;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

/* ── Checkout Review Order (pp-review-*) ── */
.pp-review-order-items {
  margin-bottom: 20px;
}

.pp-review-order-item {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
}
.pp-review-order-item:last-child {
  border-bottom: none;
}

.pp-review-order-item__img {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: #f9fafb;
  border: 1px solid #f3f4f6;
}
.pp-review-order-item__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.pp-review-order-item__qty {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #111827;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.pp-review-order-item__info {
  min-width: 0;
}
.pp-review-order-item__name {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.pp-review-order-item__price {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  white-space: nowrap;
  text-align: right;
}

/* Totals */
.pp-review-order-totals {
  border-top: 1px solid #e5e7eb;
  padding-top: 16px;
}

.pp-review-total-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  font-size: 14px;
}
.pp-review-total-row > span:first-child {
  color: #6b7280;
  font-weight: 500;
}
.pp-review-total-row > span:last-child {
  color: #111827;
  font-weight: 600;
}
.pp-review-total-row.is-grand {
  border-top: 1px solid #e5e7eb;
  margin-top: 8px;
  padding-top: 16px;
}
.pp-review-total-row.is-grand > span:first-child {
  font-size: 15px;
  font-weight: 800;
  color: #111827;
}
.pp-review-total-row.is-grand > span:last-child {
  font-size: 20px;
  font-weight: 800;
  color: #111827;
}


.woocommerce-checkout #payment {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: 0 !important;
  border: none !important;
  margin: 0 0 16px;
}

.woocommerce-checkout #payment ul.payment_methods li {
  padding: 12px 0;
  border-bottom: 1px solid #f3f4f6;
}

.woocommerce-checkout #payment .payment_box {
  background: #f9fafb !important;
  border-radius: 8px;
  padding: 16px;
  margin-top: 8px;
}

.woocommerce-checkout #payment .payment_box::before {
  display: none;
}

/* ── Checkout: Login / Coupon notices ── */
.dm-checkout-wrap .woocommerce-form-login-toggle,
.dm-checkout-wrap .woocommerce-form-coupon-toggle {
  margin-bottom: 16px;
}
.dm-checkout-wrap .woocommerce-info,
.dm-checkout-wrap .woocommerce-message,
.dm-checkout-wrap .woocommerce-error {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 16px 24px;
  font-size: 14px;
  color: #374151;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  margin: 0 0 16px;
  list-style: none;
  display: block;
}
.dm-checkout-wrap .woocommerce-info::before,
.dm-checkout-wrap .woocommerce-message::before {
  display: none;
}
.dm-checkout-wrap .woocommerce-info a,
.dm-checkout-wrap .woocommerce-message a {
  color: var(--pp-accent);
  font-weight: 700;
  text-decoration: none;
}
.dm-checkout-wrap .woocommerce-info a:hover,
.dm-checkout-wrap .woocommerce-message a:hover {
  text-decoration: underline;
}

/* Login form shown via toggle */
.dm-checkout-wrap .woocommerce-form-login {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.dm-checkout-wrap .woocommerce-form-login p {
  margin: 0 0 12px;
  font-size: 14px;
  color: #6b7280;
}
.dm-checkout-wrap .woocommerce-form-login label {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
  display: block;
  margin-bottom: 4px;
}
.dm-checkout-wrap .woocommerce-form-login .input-text {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 12px;
}
.dm-checkout-wrap .woocommerce-form-login .input-text:focus {
  border-color: var(--pp-accent);
  outline: none;
  box-shadow: 0 0 0 3px rgba(194,151,101,.12);
}
.dm-checkout-wrap .woocommerce-form-login .button {
  background: #111827;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  transition: all .2s;
}
.dm-checkout-wrap .woocommerce-form-login .button:hover {
  background: #2d3748;
}
.dm-checkout-wrap .woocommerce-form-login .lost_password {
  margin-top: 8px;
}
.dm-checkout-wrap .woocommerce-form-login .lost_password a {
  font-size: 13px;
  color: #6b7280;
  text-decoration: none;
}
.dm-checkout-wrap .woocommerce-form-login .lost_password a:hover {
  color: var(--pp-accent);
}

/* Coupon form */
.dm-checkout-wrap .checkout_coupon {
  background: #fff;
  border: 1px solid #f3f4f6;
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 24px;
  box-shadow: 0 1px 3px rgba(0,0,0,.04);
  display: flex;
  align-items: flex-end;
  gap: 12px;
}
.dm-checkout-wrap .checkout_coupon .form-row {
  margin: 0;
  flex: 1;
}
.dm-checkout-wrap .checkout_coupon .input-text {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
}
.dm-checkout-wrap .checkout_coupon .button {
  background: #111827;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
  white-space: nowrap;
}


.woocommerce .return-to-shop a,
.woocommerce-cart .wc-empty-cart-message + .return-to-shop a {
  background: var(--pp-accent) !important;
  color: #fff !important;
  border-radius: 8px;
  padding: 12px 24px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}

/* Empty cart */
.cart-empty.woocommerce-info {
  text-align: center;
  padding: 40px 20px !important;
  background: #f9fafb !important;
  color: #6b7280 !important;
  border: 1px dashed #e5e7eb !important;
  border-radius: 12px !important;
  border-left: 1px dashed #e5e7eb !important;
}


@media (max-width: 1100px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .pp-product-grid,
  .pp-product-details__grid,
  .pp-cart-layout,
  .dm-checkout-grid {
    grid-template-columns: 1fr;
  }

  .pp-cart-summary,
  .dm-checkout-right {
    position: static;
  }

  .pp-cart-item__controls {
    flex-wrap: wrap;
  }
}

@media (max-width: 760px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .pp-shop-toolbar__inner {
    align-items: stretch;
    flex-direction: column;
  }

  .pp-shop-filters {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .pp-shop-filters select,
  .pp-shop-filters .orderby {
    flex: 1 1 150px;
  }

  .pp-cart-item {
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .pp-cart-item__controls {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .pp-topbar__text,
  .pp-nav {
    display: none;
  }

  .pp-mobile-toggle {
    display: inline-flex;
  }

  .pp-mainbar__inner {
    min-height: 74px;
  }

  .pp-logo img {
    height: 50px;
  }

  .pp-footer__trust-grid,
  .pp-footer__grid,
  .pp-home-cats__grid,
  .pp-home-usp__grid,
  .pp-contact-grid,
  .pp-review-grid,
  .pp-metal-reasons__grid,
  .pp-metal-reasons__layout,
  .pp-usps-grid,
  .pp-metal-intro__card {
    grid-template-columns: 1fr !important;
  }

  .pp-metal-hero__inner {
    grid-template-columns: 1fr;
    padding: 78px 0 140px;
  }

  .pp-footer__trust {
    padding: 28px 0;
  }

  .pp-footer__trust-grid > div {
    border-right: 0;
    border-bottom: 1px solid var(--pp-line-soft);
    padding: 18px 0;
  }

  .pp-footer__trust-grid > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .pp-footer__trust-grid > div:first-child {
    padding-top: 0;
  }

  .pp-footer__newsletter-inner {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}

@media (max-width: 640px) {
  .pp-topbar__inner {
    justify-content: center;
  }

  .pp-topbar__links a {
    display: none;
  }

  .pp-actions {
    gap: 2px;
  }

  .pp-icon-btn {
    width: 36px;
    height: 36px;
  }

  .pp-footer__newsletter form {
    grid-template-columns: 1fr;
  }
}

/* Next.js header parity */
.pp-header-next {
  position: relative;
  top: auto;
  z-index: 1000;
  background: #fff;
  border-bottom: 0;
}

/* Subcategory cards */
.pp-subcat-card:hover {
  border-color: var(--pp-accent, #b08d57) !important;
  background: rgba(176,141,87,.03) !important;
}
.pp-subcat-card:hover h3 { color: var(--pp-accent, #b08d57) !important; }
.pp-subcat-card:hover svg { stroke: var(--pp-accent, #b08d57) !important; }

/* USP card hover */
.pp-usp-card:hover {
  border-color: rgba(176,141,87,.3) !important;
  box-shadow: 0 10px 25px rgba(0,0,0,.08) !important;
}

/* ═══ Live Metal Price Ticker ═══ */
.pp-price-ticker {
  position: relative;
  z-index: 999;
  margin-bottom: -34px;
  background: transparent;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  color: #9ca3af;
  font-size: 13px;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,.05);
}

.pp-price-ticker__inner {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 6px 0;
}

.pp-price-ticker__left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.pp-price-ticker__pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  animation: ppPulse 2s ease-in-out infinite;
}

@keyframes ppPulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(34,197,94,.6); }
  50% { opacity: .6; box-shadow: 0 0 0 4px rgba(34,197,94,0); }
}

.pp-price-ticker__label {
  font-weight: 600;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #6b7280;
}

.pp-price-ticker__prices {
  display: flex;
  align-items: center;
  gap: 24px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.pp-price-ticker__prices::-webkit-scrollbar { display: none; }

.pp-price-ticker__item {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.pp-price-ticker__sym {
  color: #6b7280;
  font-size: 11px;
  font-weight: 500;
}

.pp-price-ticker__val {
  color: #e5e7eb;
  font-weight: 600;
  font-size: 13px;
}

.pp-price-ticker__chg {
  font-size: 11px;
  font-weight: 600;
}

.pp-price-ticker__chg.is-up { color: #22c55e; }
.pp-price-ticker__chg.is-down { color: rgba(255,255,255,.5); }

/* News headline in ticker */
.pp-price-ticker__news {
  flex-shrink: 0;
  margin-left: auto;
  padding: 5px 16px;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 4px;
  background: transparent;
  color: rgba(255,255,255,.9);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  cursor: pointer;
  transition: all .3s;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}
.pp-price-ticker__news:hover {
  border-color: var(--pp-accent);
  color: var(--pp-accent);
}

/* ── Glassmorphism dark variant (product pages, legal, etc.) ── */
.pp-price-ticker--solid {
  background: linear-gradient(135deg, rgba(28, 33, 40, 0.85), rgba(46, 52, 64, 0.75));
  backdrop-filter: blur(24px) saturate(1.2);
  -webkit-backdrop-filter: blur(24px) saturate(1.2);
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 0;
}

/* ── Trust Bar (cart/checkout replacement) ── */
.pp-price-ticker--trust {
  background: #0f1923;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid rgba(255,255,255,.06);
  margin-bottom: 0;
}

.pp-trust-bar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 8px 0;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.pp-trust-bar__inner::-webkit-scrollbar { display: none; }

.pp-trust-bar__item {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.75);
  letter-spacing: .01em;
}
.pp-trust-bar__item .material-symbols-outlined {
  font-size: 15px;
  color: var(--pp-accent);
  font-variation-settings: 'FILL' 1;
}
.pp-trust-bar__item strong {
  color: #fff;
  font-weight: 700;
}

.pp-trust-bar__sep {
  width: 1px;
  height: 14px;
  background: rgba(255,255,255,.12);
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .pp-price-ticker__inner { gap: 12px; padding: 5px 0; }
  .pp-price-ticker__left { display: none; }
  .pp-price-ticker__prices { gap: 16px; }
  .pp-price-ticker__news { display: none !important; }

  /* Trust bar mobile: scroll horizontally, smaller items */
  .pp-trust-bar__inner {
    justify-content: flex-start;
    gap: 0;
    padding: 6px 0;
  }
  .pp-trust-bar__item {
    font-size: 11px;
    padding: 0 10px;
    gap: 4px;
  }
  .pp-trust-bar__item .material-symbols-outlined {
    font-size: 13px;
  }
  .pp-trust-bar__sep {
    height: 12px;
  }
}

.pp-next-topbar {
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  color: #4b5563;
}

.pp-next-topbar__inner {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 12px;
}

.pp-next-topbar__text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  letter-spacing: .02em;
}

/* Mobile-only trust message (hidden on desktop) */
.pp-next-topbar__mobile-trust {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 11px;
  font-weight: 600;
  color: #4b5563;
  letter-spacing: .02em;
  white-space: nowrap;
}

.pp-next-topbar__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  white-space: nowrap;
}

.pp-next-topbar__right a {
  color: #4b5563;
  font-size: 12px;
  text-decoration: none;
  transition: color .2s ease;
}

.pp-next-topbar__right a:hover {
  color: var(--pp-accent);
}

.pp-next-sep {
  color: #d1d5db;
}

.pp-next-trust {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  color: #4b5563;
  text-decoration: none;
  transition: color .2s;
}
.pp-next-trust:hover { color: var(--pp-accent); }

.pp-next-trust__stars {
  color: #f59e0b;
  font-size: 10px;
  letter-spacing: 1px;
}
.pp-next-trust__label {
  font-weight: 700;
  color: #111827;
  letter-spacing: .04em;
}
.pp-next-trust:hover .pp-next-trust__label { color: var(--pp-accent); }
.pp-next-trust__sep {
  color: #d1d5db;
  font-weight: 400;
}
.pp-next-trust__score {
  font-weight: 600;
  color: #111827;
}
.pp-next-trust__badge {
  font-weight: 700;
  color: var(--pp-accent);
  letter-spacing: .04em;
}

.pp-next-mainbar {
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}

.pp-next-mainbar__inner {
  min-height: 106px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.pp-next-logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}

.pp-next-logo img {
  display: block;
  width: auto;
  height: 64px;
}

.pp-next-nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.pp-next-nav > a,
.pp-next-menu > a {
  min-height: 42px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #374151;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  text-transform: uppercase;
  transition: color .2s ease;
}

.pp-next-nav > span {
  color: #e5e7eb;
}

.pp-next-nav > a:hover,
.pp-next-menu:hover > a {
  color: var(--pp-accent);
}

.pp-next-menu {
  position: relative;
}

.pp-next-menu > a .material-symbols-outlined {
  width: 16px;
  overflow: hidden;
  font-family: 'Material Symbols Outlined', 'Material Symbols Rounded' !important;
  font-size: 16px;
  letter-spacing: normal !important;
  text-transform: none !important;
  transition: transform .2s ease;
}

.pp-next-menu:hover > a .material-symbols-outlined {
  transform: rotate(180deg);
}

.pp-next-mega {
  position: absolute;
  top: 100%;
  left: 0;
  width: 760px;
  background: #fff;
  border-top: 2px solid rgba(194,151,101,.22);
  box-shadow: 0 20px 60px rgba(0,0,0,.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.pp-next-menu:hover .pp-next-mega {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.pp-next-mega__grid {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
}

.pp-next-mega__cats {
  background: rgba(249,250,251,.62);
  border-right: 1px solid #f3f4f6;
  padding: 24px;
}

.pp-next-mega h3 {
  margin: 0 0 16px;
  padding-bottom: 9px;
  border-bottom: 1px solid #e5e7eb;
  color: #111827;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pp-next-mega__cat {
  position: relative;
}

.pp-next-mega__cat > a {
  min-height: 38px;
  border-radius: 6px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}

.pp-next-mega__cat > a:hover {
  background: #fff;
  color: var(--pp-accent);
}

.pp-next-mega__cat > a .material-symbols-outlined {
  width: 16px;
  overflow: hidden;
  font-family: 'Material Symbols Outlined', 'Material Symbols Rounded' !important;
  opacity: 0;
  color: currentColor;
  font-size: 16px;
  letter-spacing: normal !important;
  text-transform: none !important;
  transition: opacity .2s ease;
}

.pp-next-mega__cat:hover > a .material-symbols-outlined {
  opacity: 1;
}

.pp-next-submenu {
  position: absolute;
  left: calc(100% + 4px);
  top: 0;
  z-index: 4;
  width: 220px;
  max-height: 420px;
  overflow-y: auto;
  display: none;
  border: 1px solid #f3f4f6;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0,0,0,.1);
  padding: 8px 0;
}

.pp-next-mega__cat:hover .pp-next-submenu {
  display: block;
}

.pp-next-submenu a {
  display: block;
  padding: 8px 14px;
  color: #4b5563;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}

.pp-next-submenu a:hover {
  background: #f9fafb;
  color: var(--pp-accent);
}

.pp-next-submenu__more {
  display: block;
  width: 100%;
  padding: 10px 14px;
  border: none;
  border-top: 1px solid #f3f4f6;
  margin-top: 4px;
  background: transparent;
  color: var(--pp-accent, #b08d57);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  transition: background .15s;
}

.pp-next-submenu__more:hover {
  background: #fafaf9;
}

.pp-next-mega__featured {
  padding: 24px;
}

.pp-next-featured-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.pp-next-featured-card {
  position: relative;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #fff;
  padding: 16px;
  color: #111827;
  text-align: center;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.pp-next-featured-card:hover {
  border-color: rgba(194,151,101,.42);
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
}

.pp-next-featured-card > span {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  border-radius: 999px;
  background: var(--pp-accent);
  color: #fff;
  padding: 4px 9px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.pp-next-featured-card div {
  aspect-ratio: 1;
  border-radius: 8px;
  background: #f9fafb;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 10px;
  margin-bottom: 12px;
}

.pp-next-featured-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .3s ease;
}

.pp-next-featured-card:hover img {
  transform: scale(1.08);
}

.pp-next-featured-card p {
  margin: 0;
  color: #111827;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.pp-next-featured-card:hover p {
  color: var(--pp-accent);
}

.pp-next-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 0 0 auto;
}

.pp-next-icon {
  position: relative;
  width: 24px;
  height: 24px;
  border: 0;
  padding: 0;
  background: transparent;
  color: #374151;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  transition: color .2s ease;
}

.pp-next-icon:hover {
  color: var(--pp-accent);
}

.pp-next-icon .material-symbols-outlined {
  width: 24px;
  height: 24px;
  overflow: hidden;
  font-family: 'Material Symbols Outlined', 'Material Symbols Rounded' !important;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  display: block;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.pp-next-mobile-toggle {
  display: none;
}

.pp-cart-badge {
  top: -8px;
  right: -9px;
}


.pp-mini-cart__empty .material-symbols-outlined {
  width: 76px;
  height: 76px;
  margin: 0 auto 18px;
  border-radius: 999px;
  background: #f9fafb;
  color: #d1d5db;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
}

@media (max-width: 1200px) {
  .pp-next-nav > a,
  .pp-next-menu > a {
    padding-left: 9px;
    padding-right: 9px;
    font-size: 13px;
  }

  .pp-next-actions {
    gap: 10px;
  }
}

@media (max-width: 1024px) {
  .pp-next-topbar__text,
  .pp-next-topbar__right,
  .pp-next-nav,
  .pp-next-desktop-icon {
    display: none;
  }

  .pp-next-topbar__mobile-trust {
    display: flex;
  }

  .pp-next-topbar__inner {
    justify-content: center;
  }

  .pp-next-mobile-toggle {
    display: inline-flex;
  }

  .pp-next-mainbar__inner {
    min-height: 78px;
  }

  .pp-next-logo img {
    height: 50px;
  }
}

@media (max-width: 640px) {
  .pp-next-topbar__mobile-trust {
    gap: 8px;
    font-size: 10px;
  }
}

/* ═══════════════════════════════════════════════
   Shop Grid (Woo product loop wrapper)
   ═══════════════════════════════════════════════ */
.pp-shop-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 1100px) {
  .pp-shop-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 960px) {
  .pp-related-products .related.products ul.products { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 640px) {
  .pp-shop-grid { grid-template-columns: repeat(2, 1fr); }
  .pp-related-products .related.products ul.products { grid-template-columns: repeat(2, 1fr); }
  .pp-tab-features { grid-template-columns: 1fr; }
  .pp-tab-panel { padding: 20px 16px; }
  .pp-product-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
}

/* ═══════════════════════════════════════════════
   Blog Grid & Cards
   ═══════════════════════════════════════════════ */
.pp-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.pp-blog-card {
  background: #fff;
  border: 1px solid var(--pp-line, #e5e7eb);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}

.pp-blog-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
  transform: translateY(-2px);
}

.pp-blog-card__image {
  display: block;
  aspect-ratio: 16/9;
  overflow: hidden;
}

.pp-blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pp-blog-card__body {
  padding: 20px;
  display: grid;
  gap: 8px;
}

.pp-blog-card__body time {
  color: var(--pp-muted, #6b7280);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pp-blog-card__body h2 {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.3;
}

.pp-blog-card__body h2 a {
  color: #111827;
}

.pp-blog-card__body p {
  margin: 0;
  color: var(--pp-muted, #6b7280);
  font-size: 14px;
  line-height: 1.6;
}

.pp-blog-card__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  color: var(--pp-accent, #c29765);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.pp-blog-card__link .material-symbols-rounded {
  font-size: 16px;
}

@media (max-width: 960px) {
  .pp-blog-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .pp-blog-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════
   NEW HERO (overrides old pp-home-hero above)
   Matches Next.js HeroSection
   ═══════════════════════════════════════════════ */
.pp-accent-text { color: var(--pp-accent); }

.pp-hero {
  position: relative;
  background: #111827;
  color: #fff;
  overflow: hidden;
}

.pp-hero__bg {
  position: absolute;
  inset: 0;
}

.pp-hero__bg > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .6;
}

.pp-hero__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,.7), rgba(0,0,0,.5), rgba(0,0,0,.7));
}

.pp-hero__content {
  position: relative;
  z-index: 10;
  padding: 128px 0 320px;
}

.pp-hero__text { max-width: 640px; }

.pp-hero__eyebrow {
  display: block;
  margin-bottom: 16px;
  color: var(--pp-accent);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .2em;
}

.pp-hero__title {
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(36px, 6vw, 60px);
  font-weight: 800;
  line-height: 1.1;
}

.pp-hero__subtitle {
  margin: 0 0 32px;
  color: #e5e7eb;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.pp-hero__actions {
  display: flex;
  gap: 0;
  max-width: 520px;
}

.pp-hero__cta-primary {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
  height: 48px;
  background: #fff;
  color: #111827;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s;
}

.pp-hero__cta-primary:hover {
  background: #f3f4f6;
  color: #111827;
}

.pp-hero__search {
  flex: 1;
  display: flex;
  align-items: center;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(8px);
  min-width: 0;
}

.pp-hero__search input[type="search"] {
  flex: 1;
  min-width: 0;
  height: 48px;
  padding: 0 16px;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 14px;
  outline: none;
}

.pp-hero__search input::placeholder { color: #d1d5db; }

.pp-hero__search button {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pp-hero__search button:hover { background: rgba(255,255,255,.1); }

/* ═══════════════════════════════════════════════
   Experience (overlapping "75 Jahre" card)
   ═══════════════════════════════════════════════ */
.pp-experience {
  position: relative;
  z-index: 20;
  margin-top: -176px;
  padding-bottom: 48px;
}

.pp-experience__white-bg {
  position: absolute;
  inset: 40% 0 0 0;
  background: #fff;
  z-index: 0;
}

.pp-experience .pp-container { position: relative; z-index: 10; }

.pp-experience__card {
  display: grid;
  grid-template-columns: 1fr 400px;
  background: #fff;
  max-width: 1100px;
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 -15px 30px -15px rgba(0,0,0,.1), 15px -15px 30px -20px rgba(0,0,0,.1), -15px -15px 30px -20px rgba(0,0,0,.1);
}

.pp-experience__left { padding: 40px 56px; }

.pp-experience__left h2 {
  margin: 0 0 20px;
  color: #111827;
  font-size: clamp(28px, 4vw, 36px);
  font-weight: 700;
}

.pp-experience__text {
  display: grid;
  gap: 16px;
  color: #374151;
  font-size: 15px;
  line-height: 1.7;
}

.pp-experience__text p { margin: 0; }

.pp-experience__review {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #f3f4f6;
}

.pp-experience__right {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: rgba(249,250,251,.3);
}

.pp-experience__product {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  text-align: center;
  transition: transform .3s ease;
}

.pp-experience__product:hover { transform: scale(1.03); }

.pp-experience__product img {
  width: 260px;
  height: 260px;
  object-fit: contain;
  margin-bottom: 16px;
}

.pp-experience__product-name {
  display: block;
  color: #111827;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}

.pp-experience__product-cta {
  color: var(--pp-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Trust badges row */
.pp-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
}

.pp-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6b7280;
  font-size: 11px;
  font-weight: 600;
}

.pp-trust-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
}

/* Floating Review Widget */
.floating-review-widget {
  position: relative;
  background: #fafaf9;
  border: 1px solid #ede9e3;
  border-left: 3px solid var(--pp-accent);
  padding: .75rem 1rem .6rem;
  max-width: 420px;
  border-radius: 2px;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}

.floating-review-quote-icon {
  position: absolute;
  top: -8px;
  left: 14px;
  background: var(--pp-accent);
  color: #fff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.floating-review-stars { display: flex; gap: 2px; margin-bottom: .55rem; }
.floating-review-stars .star-filled { fill: var(--pp-accent); color: var(--pp-accent); }

.floating-review-text {
  font-size: .72rem;
  color: #4b5563;
  line-height: 1.45;
  font-style: italic;
  margin: 0 0 .5rem;
}

.floating-review-author { display: flex; align-items: center; gap: .5rem; margin-bottom: .65rem; }

.floating-review-name {
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #111827;
}

.floating-review-verified {
  font-size: .6rem;
  font-weight: 600;
  color: #16a34a;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 2px;
  padding: 1px 5px;
}

.floating-review-source {
  display: block;
  font-size: .6rem;
  color: #9ca3af;
  text-decoration: none;
  letter-spacing: .04em;
  transition: color .2s;
}

.floating-review-source:hover { color: var(--pp-accent); }

/* ═══════════════════════════════════════════════
   Enhanced Category Cards (override old .pp-home-cat)
   ═══════════════════════════════════════════════ */
.pp-section-head--center {
  text-align: center;
  margin-bottom: 40px;
}

.pp-section-sub {
  margin: 8px auto 0;
  color: #6b7280;
  font-size: 15px;
  font-weight: 400;
  max-width: 600px;
}

.pp-home-cat__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(4px);
  border-radius: 6px;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}

.pp-home-cat__badge strong { font-size: 10px; font-weight: 900; }
.pp-home-cat__badge span { font-size: 10px; color: #6b7280; font-weight: 500; position: static; }

.pp-home-cat__image {
  position: relative;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-bottom: 1px solid #f3f4f6;
  background: #fff;
  overflow: hidden;
}

.pp-home-cat__image img {
  max-width: 70%;
  max-height: 70%;
  object-fit: contain;
  transition: transform .5s ease;
}

.pp-home-cat:hover .pp-home-cat__image img { transform: scale(1.08); }

.pp-home-cat__info { padding: 16px; }
.pp-home-cat__info strong { display: block; font-size: 14px; font-weight: 700; color: #111827; position: static; }

.pp-home-cat__cta {
  display: block;
  margin-top: 4px;
  color: var(--pp-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(4px);
  transition: all .3s ease;
}

.pp-home-cat:hover .pp-home-cat__cta { opacity: 1; transform: translateY(0); }

.pp-home-cat__hover-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 60px;
  background: linear-gradient(to top, rgba(0,0,0,.4), transparent 60%);
  opacity: 0;
  transition: opacity .3s ease;
  z-index: 5;
}

.pp-home-cat:hover .pp-home-cat__hover-overlay { opacity: 1; }

.pp-home-cat__hover-overlay span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: rgba(194,151,101,.9);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 999px;
  box-shadow: 0 4px 16px rgba(0,0,0,.2);
  transform: translateY(8px);
  transition: transform .3s ease;
  position: static;
}

.pp-home-cat:hover .pp-home-cat__hover-overlay span { transform: translateY(0); }

/* Section CTA + Gradient Button */
.pp-section-cta { text-align: center; margin-top: 48px; }

.pp-btn--accent-gradient {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 40px;
  background: linear-gradient(to right, var(--pp-accent), var(--pp-accent-light, #d4a978));
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(194,151,101,.35);
  transition: all .3s ease;
  cursor: pointer;
}

.pp-btn--accent-gradient:hover {
  box-shadow: 0 12px 36px rgba(194,151,101,.5);
  transform: scale(1.03);
  color: #fff;
}

.pp-btn--accent-gradient .material-symbols-outlined {
  font-size: 20px;
  transition: transform .3s ease;
}

.pp-btn--accent-gradient:hover .material-symbols-outlined { transform: translateX(4px); }

/* dm-container bridge (used by WC templates) */
.dm-container {
  width: 100%;
  max-width: var(--dm-container, 1200px);
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}
/* When dm-container IS the checkout wrap, use full pp-container width */
.dm-checkout-wrap.dm-container {
  max-width: var(--pp-container) !important;
}

/* ═══════════════════════════════════════════════
   Responsive: Hero + Experience + Homepage
   ═══════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .pp-experience__card { grid-template-columns: 1fr; }
  .pp-experience__right { padding: 24px; border-top: 1px solid #f3f4f6; }
  .pp-experience__product img { width: 180px; height: 180px; }
  .pp-home-usp__grid { grid-template-columns: repeat(2, 1fr); }
  .pp-home-cats__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .pp-hero__content { padding: 80px 0 240px; }
  .pp-hero__actions { flex-direction: column; }
  .pp-hero__cta-primary { width: 100%; }
  .pp-hero__search { width: 100%; }
  .pp-experience { margin-top: -140px; }
  .pp-experience__left { padding: 28px 24px; }
  .pp-home-cat__hover-overlay { display: none; }
  .pp-home-products__grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 560px) {
  .pp-home-cats__grid { grid-template-columns: 1fr; }
  .pp-home-usp__grid { grid-template-columns: 1fr; }
  .pp-trust-row { flex-direction: column; gap: 8px; }
  .pp-home-products__grid { grid-template-columns: 1fr !important; }
}

/* Section head p accent (used in metal pages, etc.) */
.pp-section-head p {
  margin: 0 0 10px;
  color: var(--pp-accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* Animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in-up { animation: fadeInUp .6s ease-out forwards; }

/* ═══════════════════════════════════════════════════════
   HOMEPAGE — New sections matching Next.js original
   ═══════════════════════════════════════════════════════ */

/* ── 1. HERO ── */
.pp-hero {
  position: relative;
  background: #111827;
  color: #fff;
  overflow: hidden;
}
.pp-hero__bg {
  position: absolute;
  inset: 0;
}
.pp-hero__bg > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .6;
}
.pp-hero__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(0,0,0,.7), rgba(0,0,0,.5), rgba(0,0,0,.7));
}
.pp-hero__content {
  position: relative;
  z-index: 40;
  padding-top: 128px;
  padding-bottom: 256px;
}
@media (min-width: 768px) {
  .pp-hero__content { padding-top: 192px; padding-bottom: 320px; }
}
.pp-hero__text {
  max-width: 640px;
}
.pp-hero__hashtag {
  display: block;
  font-size: 14px;
  color: var(--pp-accent);
  letter-spacing: .2em;
  font-weight: 400;
  margin-bottom: 16px;
}
.pp-hero__title {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 24px;
  color: #fff;
}
@media (min-width: 768px) {
  .pp-hero__title { font-size: 60px; }
}
.pp-hero__accent {
  color: var(--pp-accent);
}
.pp-hero__subtitle {
  font-size: 18px;
  color: #e5e7eb;
  font-weight: 400;
  margin-bottom: 32px;
}
.pp-hero__cta-row {
  display: flex;
  gap: 8px;
  max-width: 560px;
}
@media (min-width: 768px) {
  .pp-hero__cta-row { gap: 16px; }
}
.pp-hero__shop-btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #111827;
  font-weight: 600;
  padding: 12px 20px;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
  transition: background .2s;
}
@media (min-width: 768px) {
  .pp-hero__shop-btn { padding: 12px 32px; font-size: 16px; }
}
.pp-hero__shop-btn:hover { background: #f3f4f6; }
.pp-hero__search {
  display: flex;
  flex: 1;
  align-items: center;
  background: rgba(255,255,255,.1);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  min-width: 0;
}
.pp-hero__search input {
  background: transparent;
  border: none;
  outline: none;
  padding: 12px 12px;
  color: #fff;
  width: 100%;
  min-width: 0;
  font-size: 14px;
}
@media (min-width: 768px) {
  .pp-hero__search input { padding: 12px 16px; font-size: 16px; }
}
.pp-hero__search input::placeholder { color: #d1d5db; }
.pp-hero__search button {
  padding: 12px;
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  transition: background .2s;
}
.pp-hero__search button:hover { background: rgba(255,255,255,.1); }

/* ── Overlapping Card ── */
.pp-overlap {
  position: relative;
  z-index: 20;
  padding-bottom: 48px;
  margin-top: -176px;
}
@media (min-width: 768px) {
  .pp-overlap { padding-bottom: 64px; margin-top: -208px; }
}
.pp-overlap__bg-white {
  position: absolute;
  inset: 40% 0 0 0;
  background: #fff;
  z-index: 0;
}
.pp-overlap__container {
  position: relative;
  z-index: 30;
}
.pp-overlap__card {
  background: #fff;
  max-width: var(--pp-container);
  margin: 0 auto;
  overflow: hidden;
  box-shadow: 0 -15px 30px -15px rgba(0,0,0,.1), 15px -15px 30px -20px rgba(0,0,0,.1), -15px -15px 30px -20px rgba(0,0,0,.1);
}
.pp-overlap__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 768px) {
  .pp-overlap__grid { grid-template-columns: 1fr 400px; }
}
.pp-overlap__text {
  padding: 32px;
}
@media (min-width: 768px) {
  .pp-overlap__text { padding: 64px; }
}

/* Trust badges */
.pp-overlap__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
}
.pp-overlap__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6b7280;
  padding: 6px 12px;
  background: #f9fafb;
  border-radius: 6px;
  border: 1px solid #f3f4f6;
}
.pp-overlap__badge svg { color: var(--pp-accent); }

.pp-overlap__heading {
  font-size: 30px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .pp-overlap__heading { font-size: 36px; }
}
.pp-overlap__body {
  color: #374151;
  line-height: 1.7;
}
.pp-overlap__body p { margin-bottom: 16px; }
.pp-text-accent { color: var(--pp-accent); }

/* Review widget */
.pp-overlap__review {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #f3f4f6;
  transition: opacity .4s ease, transform .4s ease;
}
.pp-review__quote {
  color: var(--pp-accent);
  margin-bottom: 8px;
}
.pp-review__stars {
  color: #f59e0b;
  font-size: 11px;
  letter-spacing: 2px;
  margin-bottom: 6px;
}
.pp-review__text {
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
  margin-bottom: 8px;
  font-style: italic;
}
.pp-review__author {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.pp-review__name {
  font-size: 13px;
  font-weight: 600;
  color: #111827;
}
.pp-review__verified {
  font-size: 11px;
  color: #10b981;
  font-weight: 500;
}
.pp-review__source {
  font-size: 11px;
  color: #9ca3af;
  text-decoration: none;
}
.pp-review__source:hover { color: var(--pp-accent); }

/* Product slider */
.pp-overlap__slider {
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(249,250,251,.3);
}
.pp-slider {
  position: relative;
  width: 100%;
  max-width: 384px;
}
.pp-slider__slide {
  display: none;
  text-align: center;
}
.pp-slider__slide.is-active { display: block; }
.pp-slider__img-link {
  display: block;
  aspect-ratio: 1;
  margin-bottom: 16px;
  transition: transform .3s;
}
.pp-slider__img-link:hover { transform: scale(1.05); }
.pp-slider__img-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 32px;
}
.pp-slider__name {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 16px;
  text-align: center;
}
.pp-slider__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.pp-slider__prev,
.pp-slider__next {
  padding: 8px;
  background: none;
  border: none;
  cursor: pointer;
  color: #374151;
  border-radius: 50%;
  transition: background .2s;
}
.pp-slider__prev:hover,
.pp-slider__next:hover { background: #f3f4f6; }
.pp-slider__dots {
  display: flex;
  gap: 8px;
}
.pp-slider__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: #d1d5db;
  cursor: pointer;
  transition: background .2s;
}
.pp-slider__dot.is-active { background: var(--pp-accent); }

/* ── 2. USP SECTION ── */
.pp-usp {
  padding: 32px 0 64px;
  background: #f9fafb;
  border-top: 1px solid #f3f4f6;
}
.pp-section-head--center {
  text-align: center;
  margin-bottom: 48px;
}
.pp-section-head--center h2 {
  font-size: 30px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .pp-section-head--center h2 { font-size: 36px; }
}
.pp-section-head--center p {
  color: #6b7280;
  max-width: 640px;
  margin: 0 auto;
  font-size: 18px;
}
.pp-usp__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 768px) {
  .pp-usp__grid { grid-template-columns: repeat(3, 1fr); }
}
.pp-usp__card {
  background: #fff;
  padding: 32px;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  transition: all .3s;
}
.pp-usp__card:hover {
  border-color: rgba(194,151,101,.3);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.pp-usp__num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(194,151,101,.1);
  color: var(--pp-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 24px;
}
.pp-usp__card h3 {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 16px;
}
.pp-usp__card p {
  color: #6b7280;
  line-height: 1.7;
  font-size: 15px;
}

/* ── 3. TOP PICKS ── */
.pp-toppicks {
  padding: 80px 0;
  background: #f9fafb;
}
.pp-toppicks__inner {
}

/* Metal tabs */
.pp-metal-tabs {
  display: flex;
  overflow-x: auto;
  gap: 8px;
  margin-bottom: 24px;
  justify-content: center;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.pp-metal-tabs::-webkit-scrollbar { display: none; }

@media (max-width: 640px) {
  .pp-metal-tabs {
    justify-content: flex-start;
    padding-bottom: 4px;
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
}
.pp-metal-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 10px 24px;
  border-radius: 8px;
  background: #fff;
  color: #374151;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  transition: all .2s;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .pp-metal-tab {
    padding: 8px 16px;
    font-size: 13px;
    gap: 5px;
  }
}
.pp-metal-tab:hover { background: #f9fafb; border-color: #d1d5db; }
.pp-metal-tab.is-active {
  background: #111827;
  border-color: #111827;
  color: #fff;
  box-shadow: 0 4px 12px rgba(17,24,39,.25);
}
.pp-metal-tab__sym {
  font-weight: 700;
}


.pp-toppicks__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  min-height: 300px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 768px) {
  .pp-toppicks__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .pp-toppicks__grid { grid-template-columns: repeat(5, 1fr); gap: 20px; }
}

/* CTA button */
.pp-toppicks__cta {
  text-align: center;
  margin-top: 64px;
}
.pp-btn-accent {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(to right, var(--pp-accent), #d4a76a);
  color: #fff;
  font-weight: 700;
  padding: 16px 40px;
  border-radius: 12px;
  text-decoration: none;
  font-size: 18px;
  box-shadow: 0 10px 25px rgba(194,151,101,.3);
  transition: all .3s;
}
.pp-btn-accent:hover {
  box-shadow: 0 15px 35px rgba(194,151,101,.4);
  transform: scale(1.05);
}
.pp-btn-accent:active { transform: scale(.95); }

/* ── 4. CATEGORIES / SERIES SECTION ── */
.pp-series-section {
  padding: 64px 0;
  background: #f9fafb;
  overflow: hidden;
}
.pp-series-section__inner {
  overflow: hidden;
}
.pp-series-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .pp-series-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .pp-series-grid { grid-template-columns: repeat(5, 1fr); gap: 24px; }
}
@media (max-width: 640px) {
  .pp-series-section {
    padding: 40px 0;
  }
  .pp-series-grid {
    gap: 16px;
  }
}

/* Series card (homepage version) */
.pp-series-card {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}
.pp-series-card__shadow {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  transition: transform .3s;
}
.pp-series-card__shadow--1 {
  top: 6px; left: 4px; right: 4px;
  background: rgba(209,213,219,.7);
  transform: rotate(-1deg);
}
.pp-series-card__shadow--2 {
  top: 4px; left: 2px; right: 2px;
  background: rgba(243,244,246,.8);
  transform: rotate(.5deg);
}
.pp-series-card:hover .pp-series-card__shadow--1,
.pp-series-card:hover .pp-series-card__shadow--2 {
  transform: rotate(0);
}
.pp-series-card__main {
  position: relative;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
  transition: all .3s;
  z-index: 10;
}
.pp-series-card:hover .pp-series-card__main {
  box-shadow: 0 12px 32px rgba(0,0,0,.1);
  border-color: rgba(194,151,101,.3);
}

/* Badge */
.pp-series-card__badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--pp-accent);
  color: #fff;
  padding: 4px 8px 4px 6px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 0 2px 8px rgba(194,151,101,.3);
  transition: transform .3s;
}
.pp-series-card:hover .pp-series-card__badge { transform: scale(1.1); }

/* Image */
.pp-series-card__image {
  position: relative;
  aspect-ratio: 1;
  background: #fff;
  border-bottom: 1px solid #f3f4f6;
  overflow: hidden;
}
.pp-series-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 24px;
  transition: transform .5s ease-out;
}
.pp-series-card:hover .pp-series-card__image img { transform: scale(1.05); }

/* Hover overlay */
.pp-series-card__hover {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.4), transparent);
  opacity: 0;
  transition: opacity .3s;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 12px;
}
.pp-series-card:hover .pp-series-card__hover { opacity: 1; }
.pp-series-card__hover-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(194,151,101,.9);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
  transform: translateY(8px);
  transition: transform .3s;
}
.pp-series-card:hover .pp-series-card__hover-pill { transform: translateY(0); }

/* Info */
.pp-series-card__info {
  padding: 16px;
}
.pp-series-card__label {
  font-size: 10px;
  font-weight: 700;
  color: var(--pp-accent);
  letter-spacing: .08em;
  margin-bottom: 4px;
}
.pp-series-card__name {
  font-size: 13px;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
  min-height: 2.5em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-bottom: 10px;
}
.pp-series-card__thumbs {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 12px;
}
.pp-series-card__prices {
  margin-bottom: 12px;
}

/* CTA */
.pp-series-card__cta {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  border-radius: 8px;
  background: rgba(194,151,101,.1);
  color: var(--pp-accent);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: all .3s;
}
.pp-series-card:hover .pp-series-card__cta {
  background: var(--pp-accent);
  color: #fff;
}

/* ═══ Reviews / Trust Section ═══ */
.pp-reviews-section {
  padding: 80px 0;
  background: #fff;
}
.pp-reviews-strip {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}
@media (min-width: 768px) {
  .pp-reviews-strip { grid-template-columns: 240px 1fr; gap: 40px; }
}

/* Summary box */
.pp-reviews-summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px 24px;
  background: #f9fafb;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
}
.pp-reviews-summary__score {
  font-size: 48px;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  margin-bottom: 8px;
}
.pp-reviews-summary__stars {
  color: #f59e0b;
  font-size: 20px;
  letter-spacing: 2px;
  margin-bottom: 8px;
}
.pp-reviews-summary__label {
  font-size: 14px;
  font-weight: 600;
  color: #059669;
  margin-bottom: 16px;
}
.pp-reviews-summary__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--pp-accent);
  text-decoration: none;
  font-weight: 600;
  transition: opacity .2s;
}
.pp-reviews-summary__link:hover { opacity: .7; }

/* Review cards */
.pp-reviews-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 640px) { .pp-reviews-grid { grid-template-columns: repeat(2, 1fr); } }

.pp-review-card {
  padding: 24px;
  background: #f9fafb;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  transition: border-color .2s, box-shadow .2s;
}
.pp-review-card:hover {
  border-color: var(--pp-accent);
  box-shadow: 0 4px 12px rgba(194,151,101,.1);
}
.pp-review-card__stars {
  color: #f59e0b;
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 12px;
}
.pp-review-card__text {
  font-size: 14px;
  line-height: 1.6;
  color: #374151;
  margin: 0 0 16px 0;
  font-style: italic;
}
.pp-review-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
}
.pp-review-card__author {
  font-weight: 600;
  color: #111827;
}
.pp-review-card__verified {
  color: #059669;
  font-weight: 500;
}

/* ═══════════════════════════════════════════════
   B-Ware Accordion (collapsed by default)
   ═══════════════════════════════════════════════ */
.pp-bware-accordion {
  margin: 0 0 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}

.pp-bware-accordion__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 18px 24px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
}

.pp-bware-accordion__left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pp-bware-accordion__left .material-symbols-outlined {
  font-size: 20px;
  color: #9ca3af;
}

.pp-bware-accordion__left strong {
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}

.pp-bware-accordion__chevron {
  color: #9ca3af;
  transition: transform .25s ease;
  flex-shrink: 0;
}

.pp-bware-accordion__toggle.is-open .pp-bware-accordion__chevron {
  transform: rotate(180deg);
}

.pp-bware-accordion__body {
  padding: 0 24px 20px;
  border-top: 1px solid #f3f4f6;
}

.pp-bware-accordion__body p {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.7;
  color: #6b7280;
}

@media (max-width: 640px) {
  .pp-bware-accordion__toggle {
    padding: 14px 18px;
  }
  .pp-bware-accordion__body {
    padding: 0 18px 16px;
  }
}

/* Legacy B-Ware notice (keep for backwards compat) */
.pp-bware-notice {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  margin: 0 0 32px;
  background: linear-gradient(135deg, rgba(194,151,101,0.06), rgba(194,151,101,0.02));
  border: 1px solid rgba(194,151,101,0.2);
  border-left: 4px solid var(--pp-accent);
  border-radius: 10px;
}

.pp-bware-notice__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(194,151,101,0.12);
  border-radius: 10px;
  color: var(--pp-accent);
}

.pp-bware-notice__icon .material-symbols-outlined {
  font-size: 22px;
}

.pp-bware-notice__content strong {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 6px;
}

.pp-bware-notice__content p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #6b7280;
}

@media (max-width: 640px) {
  .pp-bware-notice {
    flex-direction: column;
    gap: 12px;
    padding: 16px 18px;
  }
}

/* ═══════════════════════════════════════════════
   Brand/Mint Logos Section
   ═══════════════════════════════════════════════ */
.pp-brands-section {
  padding: 48px 0;
  background: #f9fafb;
  border-top: 1px solid #f3f4f6;
  border-bottom: 1px solid #f3f4f6;
}

.pp-brands-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.pp-brand-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 40px;
  border-right: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  min-height: 80px;
  transition: all 0.3s ease;
}

.pp-brand-logo:hover {
  background: #fff;
}

.pp-brand-logo span {
  font-size: 15px;
  font-weight: 700;
  color: #6b7280;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.3s;
}

.pp-brand-logo:hover span {
  color: var(--pp-accent, #b08d57);
}

/* Remove right border on last item per row */
.pp-brand-logo:last-child {
  border-right: none;
}

@media (max-width: 768px) {
  .pp-brands-section {
    padding: 32px 0;
  }
  .pp-brand-logo {
    padding: 16px 24px;
    min-height: 56px;
  }
  .pp-brand-logo span {
    font-size: 12px;
  }
}

/* ═══════════════════════════════════════════════
   SEO Text Section (bottom of metal pages)
   ═══════════════════════════════════════════════ */
.pp-seo-section {
  padding: 80px 0;
  background: #fff;
}

.pp-seo-section__header {
  text-align: center;
  margin-bottom: 48px;
}

.pp-seo-section__header h2 {
  font-family: var(--pp-font, 'Inter', sans-serif);
  font-size: 2.2rem;
  font-weight: 700;
  font-style: normal;
  color: #111827;
  margin: 0 0 20px;
  line-height: 1.3;
}

.pp-seo-section__divider {
  width: 48px;
  height: 3px;
  background: var(--pp-accent, #b08d57);
  margin: 0 auto 24px;
  border-radius: 2px;
  position: relative;
}

.pp-seo-section__divider::before,
.pp-seo-section__divider::after {
  content: '';
  position: absolute;
  top: 0;
  width: 6px;
  height: 3px;
  background: var(--pp-accent, #b08d57);
  border-radius: 2px;
}

.pp-seo-section__divider::before {
  left: -12px;
}

.pp-seo-section__divider::after {
  right: -12px;
}

.pp-seo-section__intro {
  font-size: 16px;
  font-weight: 500;
  color: #6b7280;
  margin: 0;
  letter-spacing: 0.01em;
}

.pp-seo-section__body {
  margin-bottom: 40px;
}

.pp-seo-section__body p {
  font-size: 14px;
  line-height: 1.8;
  color: #4b5563;
  margin: 0 0 20px;
  text-align: center;
}

.pp-seo-section__body p:last-child {
  margin-bottom: 0;
}

.pp-seo-section__service {
  border-top: 1px solid #f3f4f6;
  padding-top: 32px;
}

.pp-seo-section__service h4 {
  font-size: 15px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px;
  text-align: center;
}

.pp-seo-section__service p {
  font-size: 14px;
  line-height: 1.8;
  color: #4b5563;
  margin: 0;
  text-align: center;
}

@media (max-width: 768px) {
  .pp-seo-section {
    padding: 48px 0;
  }
  .pp-seo-section__header h2 {
    font-size: 1.6rem;
  }
  .pp-seo-section__body p,
  .pp-seo-section__service p {
    text-align: left;
    font-size: 13px;
  }
  .pp-seo-section__service h4 {
    text-align: left;
  }
}

/* ═══════════════════════════════════════════════
   Blog Hero: THE PRECIONIST
   ═══════════════════════════════════════════════ */
.pp-blog-hero {
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #111;
}

.pp-blog-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.35;
}

.pp-blog-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.3) 100%);
}

.pp-blog-hero__inner {
  position: relative;
  z-index: 2;
  padding: 100px 0 80px;
}

.pp-blog-hero__eyebrow {
  color: var(--pp-accent, #c29765);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 12px;
}

.pp-blog-hero__title {
  font-family: var(--pp-font, 'Inter', sans-serif);
  font-size: 3.5rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 20px;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.pp-blog-hero__subtitle {
  color: rgba(255,255,255,0.7);
  font-size: 15px;
  line-height: 1.7;
  margin: 0 0 32px;
  max-width: 520px;
}

.pp-blog-hero__actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.pp-btn--outline {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  color: #fff !important;
  padding: 10px 28px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 4px;
  transition: all 0.3s;
}

.pp-btn--outline:hover {
  border-color: var(--pp-accent) !important;
  color: var(--pp-accent) !important;
}

.pp-blog-hero__search {
  display: flex;
  align-items: center;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 0.3s;
}

.pp-blog-hero__search:focus-within {
  border-color: var(--pp-accent);
}

.pp-blog-hero__search input {
  border: 0;
  background: transparent;
  color: #fff;
  padding: 10px 16px;
  font-size: 13px;
  font-family: inherit;
  min-width: 220px;
  outline: none;
}

.pp-blog-hero__search input::placeholder {
  color: rgba(255,255,255,0.45);
}

.pp-blog-hero__search button {
  border: 0;
  background: transparent;
  color: rgba(255,255,255,0.6);
  padding: 10px 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color 0.3s;
}

.pp-blog-hero__search button:hover {
  color: var(--pp-accent);
}

@media (max-width: 768px) {
  .pp-blog-hero {
    min-height: 320px;
  }
  .pp-blog-hero__inner {
    padding: 48px 0;
  }
  .pp-blog-hero__title {
    font-size: 2.2rem;
  }
  .pp-blog-hero__subtitle {
    font-size: 13px;
  }
  .pp-blog-hero__search input {
    min-width: 160px;
  }
}

/* Blog Section Heading */
.pp-blog-section-head {
  text-align: center;
  padding: 56px 0 40px;
}

.pp-blog-section-head h2 {
  font-size: 2rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px;
}

.pp-blog-section-head h2 span {
  color: var(--pp-accent, #c29765);
  font-weight: 600;
  font-style: normal;
}

/* Blog Card Category Badge */
.pp-blog-card__image {
  position: relative;
}

.pp-blog-card__cat {
  position: absolute;
  bottom: 12px;
  right: 12px;
  padding: 5px 12px;
  background: var(--pp-accent, #c29765);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 3px;
}

/* ═══════════════════════════════════════════════
   DSGVO Notice (Contact Form)
   ═══════════════════════════════════════════════ */
.pp-dsgvo-notice {
  font-size: 12px;
  line-height: 1.6;
  color: #9ca3af;
  margin: 4px 0 0;
  grid-column: 1 / -1;
}

.pp-dsgvo-notice a {
  color: var(--pp-accent, #c29765);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.pp-dsgvo-notice a:hover {
  color: #111827;
}

/* ═══════════════════════════════════════════════
   COOKIE CONSENT BANNER
   ═══════════════════════════════════════════════ */
.pp-cookie {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 99999;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  max-width: 420px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
  animation: ppCookieIn .4s ease-out;
}

@keyframes ppCookieIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.pp-cookie__icon {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
}
.pp-cookie__icon .material-symbols-outlined {
  font-size: 20px;
  color: var(--pp-accent, #b08d57);
}

.pp-cookie__body { flex: 1; min-width: 0; }

.pp-cookie__title {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 4px;
}

.pp-cookie__text {
  font-size: 12px;
  color: #6b7280;
  line-height: 1.5;
  margin: 0 0 14px;
}
.pp-cookie__text a {
  color: var(--pp-accent, #b08d57);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pp-cookie__text a:hover { color: #111827; }

.pp-cookie__actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
  align-self: center;
}

.pp-cookie__btn {
  padding: 8px 18px;
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s, color .15s;
}
.pp-cookie__btn--accept {
  background: #111827;
  color: #fff;
}
.pp-cookie__btn--accept:hover { background: #1f2937; }
.pp-cookie__btn--decline {
  background: transparent;
  color: #9ca3af;
}
.pp-cookie__btn--decline:hover { color: #6b7280; background: #f3f4f6; }

@media (max-width: 480px) {
  .pp-cookie {
    left: 12px;
    right: 12px;
    bottom: 12px;
    max-width: none;
    flex-wrap: wrap;
  }
  .pp-cookie__actions {
    flex-direction: row;
    width: 100%;
  }
  .pp-cookie__btn { flex: 1; text-align: center; }
}

/* ═══════════════════════════════════════════════
   WooCommerce Germanized Integration
   ═══════════════════════════════════════════════ */

/* Style the Germanized legal-price-info inside buybox */
.pp-buybox-atc .legal-price-info {
  margin: 8px 0 0;
}
.pp-buybox-atc .legal-price-info p {
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
  color: #6b7280;
}
.pp-buybox-atc .legal-price-info a {
  color: #6b7280;
  text-decoration: underline;
}
.pp-buybox-atc .legal-price-info a:hover {
  color: var(--pp-accent);
}

/* Hide Germanized's bottom delivery time (we show it in the stock badge) */
.pp-buybox-atc .delivery-time-info {
  display: none !important;
}

/* Hide the empty unit placeholder */
.pp-buybox-atc .product-units-wrapper[aria-hidden="true"] {
  display: none !important;
}

/* Hide defect description placeholder */
.pp-buybox-atc .defect-description[aria-hidden="true"] {
  display: none !important;
}

/* Style the pp-price-tax link */
.pp-price-tax a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(107,114,128,.4);
}
.pp-price-tax a:hover {
  color: var(--pp-accent);
  text-decoration-color: var(--pp-accent);
}

/* ══════════════════════════════════════════════════════════
   Wishlist & Compare — Product Card Actions
   ══════════════════════════════════════════════════════════ */
.pp-c__wishlist-actions {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 5;
  opacity: 0;
  transition: opacity .25s;
}
.pp-c:hover .pp-c__wishlist-actions { opacity: 1; }
/* Always show on touch devices */
@media (hover: none) { .pp-c__wishlist-actions { opacity: 1; } }

.pp-c__action {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all .2s;
  color: #6b7280;
  box-shadow: 0 1px 4px rgba(0,0,0,.1);
}
.pp-c__action:hover { color: var(--pp-accent); transform: scale(1.1); }

/* Active states */
.pp-c__wishlist-btn.is-active {
  color: #ef4444;
  background: rgba(239,68,68,.1);
}
.pp-c__wishlist-btn.is-active svg { fill: #ef4444; stroke: #ef4444; }
.pp-c__compare-btn.is-active {
  color: var(--pp-accent);
  background: rgba(194,151,101,.12);
}

/* Hide on stacked series covers */
.pp-series-cover .pp-c__wishlist-actions { display: none !important; }

/* ── Header icon badges ── */
.pp-next-icon { position: relative; }
.pp-next-icon__badge {
  position: absolute;
  top: -4px;
  right: -6px;
  min-width: 16px;
  height: 16px;
  border-radius: 8px;
  background: var(--pp-accent);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  line-height: 1;
}

/* ══════════════════════════════════════════════════════════
   Wishlist Page
   ══════════════════════════════════════════════════════════ */
.pp-wishlist-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 24px;
  margin-bottom: 48px;
}
.pp-wishlist-item {
  background: #fff;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  overflow: hidden;
  transition: box-shadow .2s;
}
.pp-wishlist-item:hover { box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.pp-wishlist-item__img {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #fafafa;
}
.pp-wishlist-item__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pp-wishlist-item__body { padding: 12px 16px 16px; }
.pp-wishlist-item__name {
  font-weight: 600;
  font-size: 14px;
  color: #1f2937;
  margin-bottom: 4px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pp-wishlist-item__price { font-weight: 700; font-size: 16px; color: #111; }
.pp-wishlist-item__actions { display: flex; gap: 8px; margin-top: 10px; }
.pp-wishlist-item__btn {
  flex: 1;
  padding: 8px 12px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  background: #fff;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: all .2s;
  color: #374151;
}
.pp-wishlist-item__btn:hover { border-color: var(--pp-accent); color: var(--pp-accent); }
.pp-wishlist-item__btn--remove { color: #ef4444; border-color: rgba(239,68,68,.3); }
.pp-wishlist-item__btn--remove:hover { background: rgba(239,68,68,.06); }

/* ══════════════════════════════════════════════════════════
   Compare Page
   ══════════════════════════════════════════════════════════ */
.pp-compare-table-wrap {
  overflow-x: auto;
  margin-bottom: 48px;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
}
.pp-compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 600px;
}
.pp-compare-table th, .pp-compare-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #f3f4f6;
  font-size: 14px;
  vertical-align: top;
}
.pp-compare-table th {
  background: #f9fafb;
  font-weight: 600;
  color: #6b7280;
  width: 140px;
  white-space: nowrap;
}
.pp-compare-table td { min-width: 180px; }
.pp-compare-table .pp-compare-img {
  width: 120px;
  height: 120px;
  object-fit: contain;
}
.pp-compare-table .pp-compare-name { font-weight: 700; font-size: 15px; color: #1f2937; }
.pp-compare-table .pp-compare-price { font-weight: 700; font-size: 16px; }
.pp-compare-remove {
  background: none;
  border: 1px solid rgba(239,68,68,.3);
  color: #ef4444;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
}
.pp-compare-remove:hover { background: rgba(239,68,68,.06); }

/* Empty state fix — use SVG instead of material-symbols text */
.pp-empty-state { text-align: center; padding: 64px 20px; }
.pp-empty-state svg { margin-bottom: 16px; color: #d1d5db; }
.pp-empty-state h2 { margin: 0 0 8px; font-size: 20px; font-weight: 700; }
.pp-empty-state p { color: #6b7280; margin: 0 0 24px; }

/* Swatches for variation selects */
.pp-swatch-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.pp-swatch-btn {
  padding: 8px 12px;
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
  color: #374151;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
}
.pp-swatch-btn:hover:not(.is-disabled) {
  border-color: #d1d5db;
  color: #111827;
}
.pp-swatch-btn.is-active {
  background: #fefce8;
  border-color: var(--pp-accent, #b08d57);
  color: var(--pp-accent, #b08d57);
  box-shadow: 0 0 0 1px var(--pp-accent, #b08d57);
}
.pp-swatch-btn.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
}
