/**
 * Prosforakias Mockup – Strict Design System
 * Buttons | Badges | Cards | Typography | Spacing | Commerce
 */
@import url('pfk-add-to-cart-popup.css');

/* Manrope – self-hosted (latin weights via Fontsource; Greek & latin-ext via local variable subsets from the GF distribution) */
@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope/Manrope-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope/Manrope-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope/Manrope-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope/Manrope-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope/Manrope-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* Extended subsets (official Google Fonts binaries); variable files cover weights 400–800 */
@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope/Manrope-latin-ext-variable.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Manrope";
  src: url("../fonts/manrope/Manrope-greek-variable.woff2") format("woff2");
  font-weight: 400 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}

/* ========== DESIGN TOKENS ========== */
:root {
  /* Colors */
  --pfk-bg: #ffffff;
  --pfk-ink: #0f172a;
  --pfk-muted: #64748b;
  --pfk-line: #e2e8f0;
  --pfk-primary: #0f172a;
  --pfk-primary-hover: #1e293b;
  --pfk-accent: #b91c1c;
  --pfk-accent-hover: #991b1b;
  --pfk-f-bg: #f8fafc;
  --pfk-f-ink: #0f172a;
  --pfk-f-muted: #64748b;
  --pfk-f-line: #e2e8f0;

  /* Status badge colors */
  --pfk-badge-success-bg: #dcfce7;
  --pfk-badge-success-fg: #166534;
  --pfk-badge-warning-bg: #fef3c7;
  --pfk-badge-warning-fg: #92400e;
  --pfk-badge-error-bg: #fee2e2;
  --pfk-badge-error-fg: #b91c1c;
  --pfk-badge-info-bg: #e0f2fe;
  --pfk-badge-info-fg: #0369a1;

  /* Spacing scale: small / medium / large */
  --pfk-s4: 4px;
  --pfk-s8: 8px;
  --pfk-s12: 12px;
  --pfk-s16: 16px;
  --pfk-s20: 20px;
  --pfk-s24: 24px;
  --pfk-s32: 32px;
  --pfk-s40: 40px;
  --pfk-s48: 48px;
  --pfk-space-sm: var(--pfk-s8);
  --pfk-space-md: var(--pfk-s16);
  --pfk-space-lg: var(--pfk-s24);

  /* Mobile bottom nav (gift card info sheet positioning, mockups) */
  --pfk-bottom-nav-height: 64px;

  /* Border radius – unified */
  --pfk-radius: 12px;
  --pfk-radius-sm: 8px;

  /* Shadows – unified */
  --pfk-shadow-soft: 0 2px 12px rgba(15, 23, 42, 0.06);
  --pfk-shadow-hover: 0 4px 16px rgba(15, 23, 42, 0.08);
  --pfk-shadow-elevated: 0 8px 32px rgba(15, 23, 42, 0.12);

  /* Typography hierarchy */
  --pfk-page-title: 24px;
  --pfk-section-title: 17px;
  --pfk-h1: 24px;
  --pfk-h2: 20px;
  --pfk-h3: 17px;
  --pfk-body: 15px;
  --pfk-small: 13px;
  --pfk-meta: 12px;
  --pfk-font-medium: 500;
  --pfk-font-semibold: 600;
  --pfk-font-bold: 700;
  --pfk-trans: all 0.2s ease;

  /* PDP – commerce green (reference prosforakias.gr) */
  --pfk-pdp-commerce-green: #76a771;
  --pfk-pdp-commerce-green-hover: #689565;

  /* Commerce PLP / cart / checkout / account shared canvas */
  --pfk-commerce-ink: #0f172a;
  --pfk-commerce-muted: #64748b;
  --pfk-commerce-soft: #f8f9fa;
  --pfk-commerce-canvas: #f8f9fa;
  --pfk-commerce-surface: #ffffff;
  --pfk-commerce-border: rgba(15, 23, 42, 0.08);
  --pfk-commerce-shadow: 0 14px 40px rgba(15, 23, 42, 0.04);
  --pfk-commerce-radius: 18px;
  --pfk-commerce-radius-lg: 22px;
  --pfk-commerce-radius-sm: 14px;
  --pfk-commerce-primary: #0f172a;
  --pfk-commerce-primary-hover: #020617;
  --pfk-commerce-success: #047857;
  --pfk-commerce-success-soft: rgba(4, 120, 87, 0.1);
  --pfk-commerce-success-border: rgba(4, 120, 87, 0.18);
  --pfk-commerce-success-bg: var(--pfk-commerce-success-soft);
  --pfk-commerce-warning: #b45309;
  --pfk-commerce-warning-soft: rgba(180, 83, 9, 0.1);
  --pfk-commerce-danger: #dc2626;

  /* Gift-card surface (gradient + border) — shared accent */
  --pfk-gift-gradient: linear-gradient(135deg, #020617 0%, #111827 48%, #0f172a 100%);
  --pfk-gift-gradient-border: rgba(51, 65, 85, 0.72);
  --pfk-gift-glow: rgba(148, 163, 184, 0.14);
}

/* ========== GLOBAL TYPOGRAPHY (Manrope) ========== */
html,
body,
button,
input,
select,
textarea {
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  color: #0f172a;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

input,
select,
textarea {
  font-weight: 500;
}

label {
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 600;
}

h1,
h2,
h3,
h4 {
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #0f172a;
  letter-spacing: -0.025em;
}
h1 { font-weight: 800; }
h2 { font-weight: 800; }
h3,
h4 { font-weight: 700; }

/* Shared typography utilities (apply in templates as needed) */
.pfk-type-label {
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}
.pfk-type-meta {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
  color: #64748b;
}
.pfk-type-title {
  font-weight: 800;
  letter-spacing: -0.025em;
  color: #0f172a;
}
.pfk-type-subtitle {
  font-weight: 600;
  color: #334155;
}
.pfk-type-price {
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: #020617;
}

button,
.pfk-btn,
.pfk-btn-primary,
.pfk-btn-secondary,
a[class*="btn"] {
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Price figures: tabular alignment; formatting still from JS */
.archive-price-current,
.archive-price-old,
.pfk-product-price-current,
.pfk-product-price-old,
.pfk-pdp-price-current,
.pfk-pdp-price-old,
.checkout-page .checkout-summary-item-price,
.checkout-page .checkout-summary-total span:last-child,
.checkout-page .checkout-shipping-option-price,
.order-view-product-price,
#pfk-header .pfk-mini-cart-item-price,
.pfk-mobile-cart-item-price,
.pfk-cart-page .pfk-cart-item-unit-price,
.pfk-cart-page .pfk-cart-item__footer-price,
.pfk-cross-sell__price,
.order-exchange-page .oe-item-price,
.order-exchange-page .oe-pick-price,
.order-exchange-page .oe-compare-price {
  font-variant-numeric: tabular-nums;
}

/* Typography classes */
.pfk-h1 { font-size: var(--pfk-h1); font-weight: 800; color: var(--pfk-ink); line-height: 1.25; letter-spacing: -0.025em; }
.pfk-h2 { font-size: var(--pfk-h2); font-weight: 800; color: var(--pfk-ink); line-height: 1.3; letter-spacing: -0.025em; }
.pfk-h3 { font-size: var(--pfk-h3); font-weight: 700; color: var(--pfk-ink); line-height: 1.35; letter-spacing: -0.025em; }
.pfk-body { font-size: var(--pfk-body); font-weight: 400; color: var(--pfk-ink); line-height: 1.5; }
.pfk-small { font-size: var(--pfk-small); font-weight: 400; color: var(--pfk-muted); line-height: 1.5; }
.pfk-meta { font-size: var(--pfk-meta); font-weight: 400; color: var(--pfk-muted); line-height: 1.4; }
.pfk-lucide,
.lucide {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: middle;
  stroke-width: 1.9;
}

/* Slightly larger icon scale for stronger readability */
#pfk-header .pfk-icon-btn .lucide,
#pfk-header .pfk-icon-btn .pfk-lucide {
  width: 22px;
  height: 22px;
}
#pfk-header .pfk-account-dropdown-icon .lucide,
#pfk-header .pfk-account-dropdown-icon .pfk-lucide {
  width: 19px;
  height: 19px;
}
.pfk-mobile-nav-item .lucide,
.pfk-mobile-nav-item .pfk-lucide,
.pfk-search-row .lucide,
.pfk-search-row .pfk-lucide {
  width: 21px;
  height: 21px;
}

/* Typography – page structure (page title, section title, body, meta) */
main h1 { font-size: var(--pfk-page-title); font-weight: 800; color: var(--pfk-ink); line-height: 1.25; letter-spacing: -0.025em; }
main h2 { font-size: var(--pfk-section-title); font-weight: 800; color: var(--pfk-ink); line-height: 1.3; letter-spacing: -0.025em; }
main h3 { font-size: var(--pfk-h3); font-weight: 700; color: var(--pfk-ink); line-height: 1.35; letter-spacing: -0.025em; }

/* ========== BUTTON SYSTEM (3 types only) ========== */
.pfk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--pfk-s8);
  height: 48px;
  padding: 0 var(--pfk-s24);
  font-size: var(--pfk-body);
  font-weight: 700;
  letter-spacing: -0.01em;
  border-radius: var(--pfk-radius);
  transition: var(--pfk-trans);
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  border: none;
  white-space: nowrap;
}
.pfk-btn:active { transform: scale(0.98); }
.pfk-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

/* Primary: strong background, high contrast */
.pfk-btn-primary {
  background: var(--pfk-primary);
  color: #fff;
}
.pfk-btn-primary:hover:not(:disabled) { background: var(--pfk-primary-hover); }

/* Secondary: outline or light background */
.pfk-btn-secondary {
  background: #fff;
  color: var(--pfk-ink);
  border: 1px solid var(--pfk-line);
}
.pfk-btn-secondary:hover:not(:disabled) { background: var(--pfk-f-bg); border-color: #cbd5e1; }

/* Ghost: text only */
.pfk-btn-ghost {
  background: transparent;
  color: var(--pfk-muted);
  font-weight: 600;
}
.pfk-btn-ghost:hover:not(:disabled) { color: var(--pfk-ink); background: transparent; }

/* ========== INPUT ========== */
.pfk-input {
  width: 100%;
  height: 48px;
  padding: 0 var(--pfk-s16);
  font-size: var(--pfk-body);
  color: var(--pfk-ink);
  background: #fff;
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  transition: var(--pfk-trans);
  font-family: inherit;
}
.pfk-input::placeholder { color: var(--pfk-muted); }
.pfk-input:focus { outline: none; border-color: var(--pfk-ink); box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08); }

/* ========== STATUS BADGES ========== */
.pfk-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--pfk-s4) var(--pfk-s12);
  font-size: var(--pfk-meta);
  font-weight: var(--pfk-font-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: var(--pfk-radius-sm);
  transition: var(--pfk-trans);
}
.pfk-badge-success { background: var(--pfk-badge-success-bg); color: var(--pfk-badge-success-fg); }
.pfk-badge-warning { background: var(--pfk-badge-warning-bg); color: var(--pfk-badge-warning-fg); }
.pfk-badge-error { background: var(--pfk-badge-error-bg); color: var(--pfk-badge-error-fg); }
.pfk-badge-info { background: var(--pfk-badge-info-bg); color: var(--pfk-badge-info-fg); }

/* ========== CARD ========== */
.pfk-card {
  background: #fff;
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  box-shadow: var(--pfk-shadow-soft);
  overflow: hidden;
}

/* ========== COMMERCE FEEDBACK (hover, active, selection) ========== */
[data-add-to-cart]:active:not(:disabled) { transform: scale(0.98); }

/* ========== PRODUCT CARD (archive, wishlist) ========== */
#archive-products article,
#search-results-grid article,
#wishlist-items article {
  transition: box-shadow 0.28s ease, transform 0.28s ease;
}
#archive-products article:hover,
#search-results-grid article:hover,
#wishlist-items article:hover {
  box-shadow: 0 16px 40px rgba(0,0,0,.12);
}
/* Archive PLP: dense retail grid — no floating-card hover */
.archive-plp #archive-products article,
.archive-plp #archive-products article:hover {
  box-shadow: none !important;
  transform: none !important;
}
.archive-plp #archive-products article:hover .archive-product-img {
  transform: none !important;
}
#archive-products article a,
#search-results-grid article a,
#wishlist-items article a {
  text-decoration: none;
  color: inherit;
}
#archive-products .archive-product-img-wrap,
#search-results-grid .archive-product-img-wrap,
#wishlist-items [class*="aspect-"] {
  border-radius: var(--pfk-radius);
  overflow: hidden;
}
.archive-plp #archive-products .archive-product-img-wrap,
.archive-plp #archive-products .archive-product-card-img-wrap {
  border-radius: 0 !important;
}
#archive-products .archive-product-img,
#search-results-grid .archive-product-img,
#wishlist-items img {
  transition: transform 0.3s ease;
}
#archive-products article:hover .archive-product-img,
#search-results-grid article:hover .archive-product-img,
#wishlist-items article:hover img {
  transform: scale(1.02);
}
/* Product card – wishlist (archive, inside image) */
#archive-products .archive-product-img-wrap,
#archive-products .archive-product-card-img-wrap,
#search-results-grid .archive-product-img-wrap {
  position: relative;
  background: #fff !important;
}
#archive-products .archive-wishlist-btn,
#search-results-grid .archive-wishlist-btn {
  position: absolute;
  top: var(--pfk-s8);
  right: var(--pfk-s8);
  z-index: 10;
}
/* Product card – wishlist (wishlist page) */
#wishlist-items [data-add-to-wishlist] {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(8px);
  border: 1px solid var(--pfk-line);
  color: var(--pfk-muted);
  box-shadow: var(--pfk-shadow-soft);
  transition: var(--pfk-trans);
}
#wishlist-items [data-add-to-wishlist]:hover {
  color: var(--pfk-accent);
  border-color: rgba(185,28,28,0.3);
}
/* Product card – add-to-cart (wishlist page, filled) */
#wishlist-items [data-add-to-cart] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  padding: 0 var(--pfk-s24);
  font-size: var(--pfk-body);
  font-weight: var(--pfk-font-medium);
  border-radius: var(--pfk-radius);
  background: var(--pfk-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  transition: var(--pfk-trans);
}
#wishlist-items [data-add-to-cart]:hover {
  background: var(--pfk-primary-hover);
}

/* Archive – filter chips, view toggle, active state */
.archive-cat-link {
  display: block;
  padding: 6px 10px;
  border-radius: var(--pfk-radius-sm);
  transition: var(--pfk-trans);
}
.archive-cat-link.archive-cat-active {
  background: #f1f5f9;
}
.archive-cat-sale.archive-cat-active { color: var(--pfk-accent) !important; }
.archive-filter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: 600;
  background: var(--pfk-accent);
  color: #fff;
  border-radius: 999px;
  margin-left: 4px;
}
.archive-filters-btn.active .archive-filter-badge { background: var(--pfk-ink); }
.archive-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #f1f5f9;
  border-radius: 999px;
  font-size: 13px;
}
.archive-filter-chip-label { color: var(--pfk-ink); }
.archive-filter-chip-remove {
  color: var(--pfk-muted);
  font-size: 16px;
  line-height: 1;
  padding: 0 2px;
  text-decoration: none;
  transition: color 0.15s ease;
}
.archive-filter-chip-remove:hover { color: var(--pfk-ink); }
.archive-filter-clear-all {
  font-size: 13px;
  color: var(--pfk-muted);
  text-decoration: underline;
  text-underline-offset: 2px;
  align-self: center;
}
.archive-filter-clear-all:hover { color: var(--pfk-ink); }
.archive-view-toggle { display: flex; gap: 2px; }
.archive-view-btn {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pfk-line);
  background: #fff;
  color: var(--pfk-muted);
  cursor: pointer;
  transition: var(--pfk-trans);
  border-radius: var(--pfk-radius-sm);
}
.archive-view-btn { border-radius: var(--pfk-radius-sm); }
.archive-view-btn:hover { color: var(--pfk-ink); background: #f8fafc; }
.archive-view-btn.active {
  background: var(--pfk-ink);
  color: #fff;
  border-color: var(--pfk-ink);
}
/* Archive list view */
.archive-products-list {
  grid-template-columns: 1fr !important;
  gap: var(--pfk-s16);
}
.archive-product-card-list {
  display: grid;
  grid-template-columns: 1fr;
  padding-bottom: var(--pfk-s16);
  border-bottom: 1px solid var(--pfk-line);
}
.archive-product-card-list:last-child { border-bottom: none; }
.archive-product-card-link { text-decoration: none; color: inherit; }
.archive-product-card-link:hover { color: inherit; }
.archive-product-card-body { margin: 0; text-align: left; }
.archive-product-card-body .archive-product-brand { margin-bottom: 2px; }
.archive-product-card-body .archive-product-name { font-size: 14px; }
.archive-product-card-body .archive-price-block { margin-bottom: 4px; justify-content: flex-start; }
.archive-product-card-img-wrap {
  border-radius: var(--pfk-radius);
  overflow: hidden;
  flex-shrink: 0;
}

/* ========== PROS PLP (plugin-style layout) ========== */
:root {
  --pros-bottom-nav: 72px;
  --pros-btn-bg: #1a1a1a;
  --pros-btn-bg-hover: #0d0d0d;
}

/* Archive canvas — Stitch reference (#f8f9fa) */
.pfk-archive-page {
  --pfk-archive-canvas: #f8f9fa;
  --pfk-commerce-canvas: var(--pfk-archive-canvas);
  --pfk-archive-ink: #191c1d;
  --pfk-archive-muted: #444748;
  --pfk-archive-outline: rgba(196, 199, 199, 0.55);
  --pfk-archive-surface: #ffffff;
  --pfk-archive-image-bg: #f3f4f5;
  --pfk-archive-segment: #1c1b1b;
  --pfk-ctrl-radius: 12px;
  --pfk-ctrl-radius-pill: 999px;
  --pfk-ctrl-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  --pfk-ctrl-border: var(--pfk-archive-outline);
  background: var(--pfk-archive-canvas);
  color: var(--pfk-archive-ink);
}

body.pfk-archive-page #pfk-header-spacer {
  background: var(--pfk-archive-canvas);
}

/* ========== Commerce canvas — cart, checkout, account (PLP parity) ========== */
body.pfk-cart-page,
body.checkout-page,
body.pfk-account-body {
  background: var(--pfk-commerce-canvas) !important;
  color: var(--pfk-ink);
}

body.pfk-cart-page {
  overflow-x: hidden;
}

/* --- Cart --- */
.pfk-cart-page main {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}

.pfk-cart-page #cart-items-container {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  overflow: hidden;
}

.pfk-cart-page .pfk-cart-item--product,
.pfk-cart-page .pfk-cart-item--gift {
  border-bottom: 1px solid var(--pfk-commerce-border) !important;
  background: var(--pfk-commerce-surface) !important;
  padding: 1.15rem 1.25rem !important;
  transition: background 0.15s ease;
}

.pfk-cart-page #cart-items-container .pfk-cart-item--product:last-child,
.pfk-cart-page #cart-items-container .pfk-cart-item--gift:last-child {
  border-bottom: none !important;
}

.pfk-cart-page .pfk-cart-item--product:hover,
.pfk-cart-page .pfk-cart-item--gift:hover {
  background: #fafbfc !important;
}

.pfk-cart-page #cart-items-tools {
  margin-top: 12px;
  padding: 1rem 1.25rem;
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  box-sizing: border-box;
}

.pfk-cart-page .pfk-cart-summary-card {
  background: var(--pfk-commerce-surface) !important;
  border: 1px solid var(--pfk-commerce-border) !important;
  border-radius: var(--pfk-commerce-radius) !important;
  box-shadow: var(--pfk-commerce-shadow) !important;
}

.pfk-cart-page .pfk-cart-summary-row > span:first-child {
  color: var(--pfk-commerce-muted);
}

.pfk-cart-page .pfk-cart-cross-sell:not(.pfk-cart-cross-sell--empty) {
  margin-top: 1.25rem;
  padding: 1.15rem 1rem 1rem;
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  box-sizing: border-box;
}

.pfk-cart-page .pfk-cart-delivery-estimate,
.pfk-cart-page .pfk-order-gift-wrap-block .pfk-order-gift-wrap-inner {
  background: var(--pfk-commerce-surface);
  border-color: var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
  box-shadow: none;
}

.pfk-cart-page .pfk-cart-coupon-form {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
  overflow: hidden;
}

/* --- Checkout --- */
.checkout-page .checkout-panel,
.checkout-page .ck-summary-card {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  box-shadow: none;
}

.checkout-page .ck-summary-card {
  box-shadow: var(--pfk-commerce-shadow);
}

.checkout-page .checkout-trust-row {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
  box-shadow: none;
}

.checkout-page .checkout-stepper {
  border-bottom-color: var(--pfk-commerce-border);
}

.checkout-page .checkout-field input,
.checkout-page .checkout-field select,
.checkout-page .checkout-field textarea {
  border-color: var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
}

.checkout-page .checkout-phone-wrap.pfk-phone-composite {
  border-color: var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
}

.checkout-page .checkout-confirm-block {
  background: var(--pfk-commerce-canvas);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
}

.checkout-page .checkout-gift-redeem-panel,
.checkout-page .checkout-wallet-panel,
.checkout-page .checkout-shipping-gift-only {
  border-color: var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
}

.checkout-page .ck-empty {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  max-width: 28rem;
  margin-left: auto;
  margin-right: auto;
}

/* --- Account --- */
.pfk-account-sidebar-card,
.pfk-account-nav {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  box-shadow: none;
}

.pfk-account-card-panel,
body.pfk-account-body .pfk-account-card {
  background: var(--pfk-commerce-surface) !important;
  border: 1px solid var(--pfk-commerce-border) !important;
  border-radius: var(--pfk-commerce-radius) !important;
  box-shadow: none !important;
}

body.pfk-account-body .pfk-account-card:hover {
  border-color: rgba(15, 23, 42, 0.14) !important;
  box-shadow: var(--pfk-commerce-shadow) !important;
}

.pfk-order-card {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  box-shadow: none;
}

.pfk-order-card:hover {
  border-color: rgba(15, 23, 42, 0.12);
  box-shadow: var(--pfk-commerce-shadow);
}

/* ========== Shared commerce UI primitives (cart / popup / account surfaces) ========== */
.pfk-commerce-panel {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-lg);
  box-shadow: var(--pfk-commerce-shadow);
  box-sizing: border-box;
}

.pfk-commerce-panel--flat {
  box-shadow: none;
}

.pfk-commerce-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 1.5rem;
  box-sizing: border-box;
}

.pfk-commerce-empty-state__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 28rem;
  width: 100%;
}

.pfk-commerce-empty-state__title {
  margin: 0 0 1rem;
  font-size: clamp(1.5rem, 4.5vw, 2rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--pfk-commerce-ink);
}

.pfk-commerce-empty-state__desc {
  margin: 0 0 1.5rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--pfk-commerce-muted);
}

/* Shared commerce icon family (inline SVG + Lucide) */
.pfk-commerce-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--pfk-commerce-muted);
  line-height: 0;
}

.pfk-commerce-icon__svg,
.pfk-commerce-icon svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pfk-commerce-icon--sm .pfk-commerce-icon__svg,
.pfk-commerce-icon--sm svg {
  width: 16px;
  height: 16px;
}

.pfk-commerce-icon--lg .pfk-commerce-icon__svg,
.pfk-commerce-icon--lg svg {
  width: 22px;
  height: 22px;
}

.pfk-commerce-icon-shell {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  border-radius: 999px;
  background: var(--pfk-commerce-soft);
  border: 1px solid var(--pfk-commerce-border);
  color: var(--pfk-commerce-muted);
  margin: 0 auto 1.5rem;
  flex-shrink: 0;
}

.pfk-commerce-icon-shell--success {
  background: var(--pfk-commerce-success-soft);
  border-color: var(--pfk-commerce-success-border);
  color: var(--pfk-commerce-success);
}

.pfk-commerce-icon-shell .pfk-commerce-icon__svg,
.pfk-commerce-icon-shell .pfk-lucide,
.pfk-commerce-icon-shell svg {
  width: 2.5rem;
  height: 2.5rem;
  stroke-width: 1.75;
}

.pfk-commerce-icon-shell--success .pfk-commerce-icon__svg,
.pfk-commerce-icon-shell--success svg {
  width: 22px;
  height: 22px;
}

/* Horizontal product rail */
.pfk-product-rail {
  --pfk-rail-gap: 12px;
  --pfk-rail-card: clamp(148px, 42vw, 200px);
  --pfk-rail-media-h: 176px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

@media (min-width: 640px) {
  .pfk-product-rail {
    --pfk-rail-gap: 14px;
    --pfk-rail-card: 156px;
    --pfk-rail-media-h: 188px;
  }
}

@media (min-width: 1024px) {
  .pfk-product-rail {
    --pfk-rail-gap: 16px;
    --pfk-rail-card: 168px;
    --pfk-rail-media-h: 200px;
  }
}

.pfk-product-rail__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: nowrap;
}

.pfk-product-rail__title {
  margin: 0;
  font-size: clamp(1.125rem, 3vw, 1.375rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--pfk-commerce-ink);
}

.pfk-product-rail__link {
  flex-shrink: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pfk-commerce-muted);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}

.pfk-product-rail__link:hover {
  color: var(--pfk-commerce-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pfk-product-rail__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  outline: none;
  padding: 4px 0 12px;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

.pfk-product-rail__viewport.pfk-cross-sell__viewport--scrollable,
.pfk-cross-sell__viewport.pfk-cross-sell__viewport--scrollable {
  cursor: grab;
}

.pfk-product-rail__viewport.pfk-cross-sell__viewport--dragging,
.pfk-cross-sell__viewport.pfk-cross-sell__viewport--dragging {
  cursor: grabbing;
}

.pfk-product-rail__track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: var(--pfk-rail-gap);
  width: max-content;
  min-width: 0;
  padding: 0 2px 2px;
  will-change: transform;
}

.pfk-product-rail__track .pfk-product-rail-card,
.pfk-product-rail__track .pfk-product-rail-card * {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

.pfk-product-rail__track :is([data-pfk-rail-control], button, input, select, textarea) {
  touch-action: manipulation;
  -webkit-user-select: auto;
  user-select: auto;
}

/* Native horizontal scroll (mobile empty cart, reduced-motion fallback) */
.pfk-product-rail--native-scroll .pfk-product-rail__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: default;
}

.pfk-product-rail--native-scroll .pfk-product-rail__viewport::-webkit-scrollbar {
  display: none;
}

.pfk-product-rail--native-scroll .pfk-product-rail__track {
  transform: none !important;
  padding-right: 2.5rem;
}

.pfk-product-rail--native-scroll .pfk-product-rail-card,
.pfk-product-rail--native-scroll .pfk-product-rail-card * {
  touch-action: pan-x pan-y;
}

.pfk-product-rail-card {
  box-sizing: border-box;
  flex: 0 0 var(--pfk-rail-card);
  width: var(--pfk-rail-card);
  min-width: var(--pfk-rail-card);
  max-width: var(--pfk-rail-card);
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: var(--pfk-commerce-radius);
  border: 1px solid var(--pfk-commerce-border);
  background: var(--pfk-commerce-surface);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  -webkit-user-drag: none;
  user-drag: none;
}

.pfk-product-rail-card:hover {
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.pfk-product-rail-card__media {
  position: relative;
  width: 100%;
  height: var(--pfk-rail-media-h);
  flex-shrink: 0;
  background: var(--pfk-commerce-canvas);
  overflow: hidden;
}

.pfk-product-rail-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  -webkit-user-drag: none;
  user-drag: none;
}

.pfk-product-rail-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 10px 12px;
  flex: 1 1 auto;
  min-height: 0;
}

.pfk-product-rail-card__brand {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pfk-commerce-muted);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pfk-product-rail-card__name {
  font-size: 12px;
  font-weight: 500;
  color: var(--pfk-commerce-ink);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  word-break: break-word;
  min-height: calc(1.35em * 2);
}

.pfk-product-rail-card__price {
  margin-top: auto;
  padding-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--pfk-commerce-ink);
  letter-spacing: -0.01em;
}

/* Legacy cross-sell aliases → shared rail card */
.pfk-product-rail-card.pfk-cross-sell__card,
.pfk-cross-sell__card {
  box-sizing: border-box;
  flex: 0 0 var(--pfk-rail-card, var(--pfk-xs-card));
  width: var(--pfk-rail-card, var(--pfk-xs-card));
  min-width: var(--pfk-rail-card, var(--pfk-xs-card));
  max-width: var(--pfk-rail-card, var(--pfk-xs-card));
  scroll-snap-align: start;
}

.pfk-cross-sell__card:not(.pfk-product-rail-card) {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: var(--pfk-commerce-radius);
  border: 1px solid var(--pfk-commerce-border);
  background: var(--pfk-commerce-surface);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pfk-action-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.pfk-action-stack__row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (min-width: 640px) {
  .pfk-action-stack__row {
    flex-direction: row;
  }

  .pfk-action-stack__row > * {
    flex: 1 1 0;
    min-width: 0;
  }
}

.pfk-action-stack__primary,
.pfk-commerce-empty-state__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: 0.875rem 1.5rem;
  border-radius: var(--pfk-commerce-radius);
  background: var(--pfk-commerce-primary);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14);
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.pfk-action-stack__primary:hover,
.pfk-commerce-empty-state__cta:hover {
  background: var(--pfk-commerce-primary-hover);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16);
}

.pfk-action-stack__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.75rem 1.25rem;
  border-radius: var(--pfk-commerce-radius);
  background: var(--pfk-commerce-surface);
  color: var(--pfk-commerce-ink);
  border: 1px solid var(--pfk-commerce-border);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  font-family: inherit;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.pfk-action-stack__secondary:hover {
  background: var(--pfk-commerce-canvas);
  border-color: rgba(15, 23, 42, 0.16);
}

.pfk-action-stack__ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  border-radius: var(--pfk-commerce-radius-sm);
  background: transparent;
  color: var(--pfk-commerce-muted);
  border: 0;
  font-size: 0.875rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
}

.pfk-action-stack__ghost:hover {
  color: var(--pfk-commerce-ink);
  background: var(--pfk-commerce-canvas);
}

.pfk-benefit-strip {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 12px 8px;
  border-radius: var(--pfk-commerce-radius-sm);
  border: 1px solid var(--pfk-commerce-border);
  background: var(--pfk-commerce-canvas);
}

@media (min-width: 640px) {
  .pfk-benefit-strip {
    flex-direction: row;
    align-items: stretch;
    padding: 12px 0;
  }

  .pfk-benefit-strip__item + .pfk-benefit-strip__item {
    border-left: 1px solid var(--pfk-commerce-border);
  }
}

.pfk-benefit-strip__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex: 1 1 0;
  padding: 8px 12px;
}

@media (min-width: 640px) {
  .pfk-benefit-strip__item {
    flex-direction: column;
    gap: 4px;
    padding: 0 14px;
  }
}

@media (max-width: 639px) {
  .pfk-benefit-strip__item + .pfk-benefit-strip__item {
    border-top: 1px solid var(--pfk-commerce-border);
  }
}

.pfk-benefit-strip__icon {
  flex-shrink: 0;
  color: var(--pfk-commerce-muted);
  line-height: 0;
}

.pfk-benefit-strip__icon.pfk-commerce-icon {
  color: var(--pfk-commerce-muted);
}

.pfk-benefit-strip__text {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--pfk-commerce-muted);
}

.pfk-benefit-strip__item--success .pfk-benefit-strip__icon,
.pfk-benefit-strip__item--success .pfk-benefit-strip__text,
.pfk-benefit-strip__text--success {
  color: var(--pfk-commerce-success);
}

.pfk-modal-surface {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 32px);
  background: var(--pfk-commerce-surface);
  border-radius: var(--pfk-commerce-radius-lg);
  box-shadow: var(--pfk-commerce-shadow);
  border: 1px solid var(--pfk-commerce-border);
  overflow: hidden;
  box-sizing: border-box;
}

.pros-plp.archive-plp {
  width: 100%;
  max-width: 1520px;
  margin: 0 auto;
  padding: 0 16px 24px;
  box-sizing: border-box;
  background: transparent;
}

/* Mobile/Tablet archive: products flush to side edges */
body.pros-mode-mobile .pros-plp.archive-plp {
  padding-left: 0;
  padding-right: 0;
}

/* Desktop: full-width head, then sidebar | results body */
body.pros-mode-desktop .pros-plp.archive-plp {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  padding: 24px clamp(20px, 3vw, 48px) 36px;
  max-width: 1520px;
  overflow: visible !important;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-head {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  padding-top: 0;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-body {
  display: grid !important;
  grid-template-columns: 288px minmax(0, 1fr) !important;
  gap: 0 40px !important;
  align-items: start !important;
  width: 100%;
  min-width: 0;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-intro {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  margin: 0;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--pfk-archive-ink);
}

body.pros-mode-desktop .archive-plp .archive-toolbar-count,
body.pros-mode-desktop .archive-plp .pros-results__count#archive-count {
  font-size: 16px;
  font-weight: 400;
  color: var(--pfk-archive-muted);
  margin-top: 8px;
}

body.pros-mode-mobile .pros-plp.archive-plp {
  display: flex;
  flex-direction: column;
  overflow: visible;
}

body.pros-mode-mobile .archive-plp .pfk-archive-plp-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: visible;
}

body.pros-mode-desktop[data-pfk-plp="search"] .pros-plp.archive-plp {
  align-content: start !important;
}

body.pros-mode-desktop .archive-plp .pros-sidebar.archive-sidebar {
  position: sticky !important;
  top: 16px !important;
  z-index: 5 !important;
  max-height: calc(100vh - 32px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  width: 288px !important;
  min-width: 0 !important;
  background: var(--pfk-archive-surface) !important;
  border: 1px solid var(--pfk-archive-outline) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06) !important;
  box-sizing: border-box !important;
  scrollbar-width: thin;
  scrollbar-color: #e1e3e4 transparent;
}

body.pros-mode-desktop .archive-plp .pros-sidebar.archive-sidebar::-webkit-scrollbar {
  width: 4px;
}
body.pros-mode-desktop .archive-plp .pros-sidebar.archive-sidebar::-webkit-scrollbar-thumb {
  background: #e1e3e4;
  border-radius: 4px;
}

body.pros-mode-desktop .archive-plp .pros-sidebar__title {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 24px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--pfk-archive-outline);
  color: var(--pfk-archive-ink);
  letter-spacing: -0.01em;
}

body.pros-mode-desktop .archive-plp .pros-sidebar__body .pros-facet-block {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 32px !important;
  border-bottom: none !important;
}

body.pros-mode-desktop .archive-plp .pros-sidebar__body .pros-facet-block:not(:first-child) {
  padding-top: 24px !important;
  border-top: 1px solid var(--pfk-archive-outline) !important;
}

body.pros-mode-desktop .archive-plp .pros-sidebar__body .pros-facet-block:last-child {
  margin-bottom: 0 !important;
}

body.pros-mode-desktop .archive-plp .pros-sidebar__body .pros-facet-block__collapse {
  display: block !important;
}

body.pros-mode-desktop .archive-plp .pros-sidebar__body .pros-facet-block__title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--pfk-archive-ink);
  margin: 0 0 16px;
}

body.pros-mode-desktop .archive-plp .pros-sidebar__body .pros-facet-option {
  padding: 8px 10px;
  margin: 0;
  border: 0;
  border-radius: 10px;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
  color: var(--pfk-archive-muted);
}

body.pros-mode-desktop .archive-plp .pros-sidebar__body .pros-facet-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.pros-mode-desktop .archive-plp .pros-sidebar__body .pros-facet-list li {
  margin: 0;
  padding: 0;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.pros-mode-desktop .archive-plp .pros-sidebar .pros-facet-block__search {
  margin-bottom: 12px;
  padding: 8px 12px;
  border: 1px solid var(--pfk-archive-outline);
  border-radius: 8px;
  background: var(--pfk-archive-canvas);
  font-size: 14px;
  font-weight: 400;
  color: var(--pfk-archive-ink);
}

body.pros-mode-desktop .archive-plp .pros-sidebar .pros-price-input {
  padding: 8px 12px;
  border: 1px solid var(--pfk-archive-outline);
  border-radius: 8px;
  background: var(--pfk-archive-canvas);
  font-size: 14px;
  font-weight: 400;
}

body.pros-mode-desktop .archive-plp .pros-sidebar .pros-price-ranges {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 0;
}

body.pros-mode-desktop .archive-plp .pros-sidebar .pros-price-range {
  padding: 6px 12px;
  min-height: 32px;
  border-radius: var(--pfk-ctrl-radius-pill);
  border: 1px solid var(--pfk-ctrl-border);
  background: var(--pfk-archive-canvas);
  font-size: 12px;
  font-weight: 500;
  color: var(--pfk-archive-muted);
  text-align: center;
  box-shadow: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.pros-mode-desktop .archive-plp .pros-sidebar .pros-price-range:hover {
  border-color: var(--pfk-archive-ink);
  color: var(--pfk-archive-ink);
  background: var(--pfk-archive-canvas);
}

body.pros-mode-desktop .archive-plp .pros-sidebar .pros-price-range.is-active {
  background: var(--pfk-archive-segment, #1c1b1b);
  border-color: var(--pfk-archive-segment, #1c1b1b);
  color: #fff;
}

body.pros-mode-desktop .archive-plp .pros-sidebar .pros-slider-reset {
  display: inline-block;
  width: auto;
  height: auto;
  margin-top: 12px;
  padding: 0;
  background: transparent;
  color: var(--pfk-archive-muted);
  font-size: 13px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
  border-radius: 0;
}

body.pros-mode-desktop .archive-plp .pros-sidebar .pros-slider-reset:hover {
  color: var(--pfk-archive-ink);
  background: transparent;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-toolbar {
  flex: 0 0 auto;
  display: flex !important;
  padding: 0 !important;
  margin: 0 0 2px !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-toolbar .pros-toolbar__controls {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 6px 8px !important;
  min-height: 0 !important;
  height: auto !important;
  border: 1px solid var(--pfk-ctrl-border) !important;
  border-radius: var(--pfk-ctrl-radius) !important;
  background: var(--pfk-archive-surface) !important;
  box-shadow: var(--pfk-ctrl-shadow) !important;
  box-sizing: border-box !important;
}

body.pros-mode-mobile .archive-plp .pfk-archive-plp-toolbar {
  display: none !important;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-toolbar .pros-toolbar__control {
  height: auto !important;
  min-height: 0 !important;
  padding: 2px 14px !important;
  border: 0 !important;
  border-right: 1px solid var(--pfk-ctrl-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-toolbar .pros-toolbar__control:last-child {
  border-right: 0 !important;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-toolbar .pros-toolbar__label {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--pfk-archive-muted) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}

body.pros-mode-desktop .archive-plp .pfk-archive-plp-toolbar .pros-toolbar__control select,
body.pros-mode-desktop .archive-plp .pfk-archive-plp-toolbar .archive-toolbar-sort {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 4px 24px 4px 4px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border: 0 !important;
  border-radius: 0 !important;
  min-width: 96px !important;
  max-width: 140px !important;
  background: transparent !important;
  box-sizing: border-box !important;
  color: var(--pfk-archive-ink);
  cursor: pointer;
}

body.pros-mode-desktop .archive-plp .pros-toolbar__control--reset,
body.pros-mode-desktop.pros-has-active-facet .archive-plp .pros-toolbar__control--reset {
  display: none !important;
}

body.pros-mode-desktop .pros-reset-btn {
  height: 24px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  border-radius: 999px !important;
  background: var(--pros-btn-bg) !important;
  color: #fff !important;
  border: 0 !important;
  cursor: pointer !important;
}

/* Archive CTA buttons: unified style across desktop/mobile */
.archive-plp .pros-reset-btn,
.archive-plp .pros-slider-reset,
.archive-plp .pros-apply {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 9px;
  background: #111;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.01em;
  cursor: pointer;
  text-decoration: none;
}
.archive-plp .pros-reset-btn {
  height: 38px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  border-radius: 9px !important;
}
.archive-plp .pros-reset-btn:hover,
.archive-plp .pros-slider-reset:hover,
.archive-plp .pros-apply:hover {
  background: #0a0a0a;
}

body.pros-mode-desktop .archive-plp .pros-results.archive-results {
  min-width: 0;
  flex: 1 1 auto;
  padding: 0;
}

.pros-results,
.archive-results {
  padding: 0 0 24px;
}

/* Mobile: hide sidebar, show filter button */
body.pros-mode-mobile .pros-sidebar {
  display: none !important;
}

body.pros-mode-mobile .pros-toolbar {
  display: none !important;
}

/* Archive PLP: premium mobile catalog control layer (sticky segment + sheets) */

body.pros-mode-desktop .pros-drawer--mobile {
  display: none !important;
}

.pfk-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

body.pros-mode-desktop .archive-plp-catalog-sticky {
  display: none !important;
}

/* Sticky catalog bar — Stitch mobile (code 5 reference) */
.archive-plp-catalog-sticky {
  position: sticky;
  top: var(--pfk-archive-sticky-top, 118px);
  z-index: 9997;
  padding: 5px 20px;
  margin: 0;
  box-sizing: border-box;
  background: var(--pfk-archive-canvas, #f8f9fa);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 0;
}

body.pros-mode-mobile .archive-plp .archive-plp-catalog-sticky {
  flex: 0 0 auto;
  align-self: stretch;
  width: 100%;
  padding: 5px 20px;
  margin: 0;
  background: var(--pfk-archive-canvas, #f8f9fa);
}

.archive-plp-segment {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  height: auto;
  padding: 0;
  border-radius: var(--pfk-ctrl-radius-pill, 999px);
  box-sizing: border-box;
  background: #1c1b1b;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  gap: 0;
  font-size: 14px;
  font-weight: 500;
}

.archive-plp-segment__action {
  flex: 1 1 0;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  padding: 14px 10px;
  height: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s ease;
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

.archive-plp-segment__action:hover,
.archive-plp-segment__action:active,
.archive-plp-segment__action:focus,
.archive-plp #pfk-archive-sort-btn:active,
.archive-plp #pfk-mobile-filters-btn:active {
  background: rgba(255, 255, 255, 0.1) !important;
}

.archive-plp-segment__action:focus-visible {
  z-index: 1;
  outline: 2px solid rgba(255, 255, 255, 0.45);
  outline-offset: 2px;
}

.archive-plp-segment__ic {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  pointer-events: none;
}

.archive-plp-segment__ic svg,
.archive-plp-segment__svg {
  display: block;
  width: 20px;
  height: 20px;
}

.archive-plp-segment__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}

.archive-plp-segment__divider {
  flex: 0 0 1px;
  width: 1px;
  align-self: stretch;
  margin: 0;
  min-height: 100%;
  background: rgba(255, 255, 255, 0.2);
  box-shadow: none;
  pointer-events: none;
}

.archive-plp-segment__badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  width: 18px;
  height: 18px;
  padding: 0;
  margin-left: 0;
  background: #fff;
  color: var(--pfk-archive-ink, #191c1d);
  font-size: 10px;
  font-weight: 700;
  border-radius: var(--pfk-ctrl-radius-pill, 999px);
  line-height: 18px;
  text-align: center;
}

.archive-plp-segment__badge.hidden {
  display: none !important;
}

/* Mobile/tablet: catalog sheets typography */
@media (max-width: 1023px) {
  .pfk-catalog-sheet .pfk-catalog-sheet__title {
    font-size: 16px;
  }
  .pfk-catalog-sort-item {
    font-size: 15px;
    min-height: 50px;
    padding: 13px 16px;
  }
  body.pros-mode-mobile #pfk-mobile-filters .pros-facet-block__title {
    font-size: 12px;
  }
  body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__footer--split .pros-drawer__footer-secondary {
    font-size: 14px;
  }
}

/* Unified catalog sheets (filters + sort) */
.pfk-catalog-sheet .pfk-catalog-sheet__overlay {
  cursor: pointer;
}

.pfk-catalog-sheet .pfk-catalog-sheet__panel {
  border-radius: 22px 22px 0 0;
  border: 1px solid rgba(30, 41, 59, 0.08);
  border-bottom: 0;
  box-shadow: 0 -12px 40px rgba(15, 23, 42, 0.14);
}

.pfk-catalog-sheet .pfk-catalog-sheet__header {
  padding: 14px 18px 12px;
  border-bottom: 1px solid rgba(30, 41, 59, 0.08);
  min-height: 52px;
}

.pfk-catalog-sheet .pfk-catalog-sheet__title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #0f172a;
}

.pfk-catalog-sheet .pfk-catalog-sheet__close {
  border-color: rgba(30, 41, 59, 0.12) !important;
  color: #64748b !important;
  border-radius: 999px !important;
  width: 36px !important;
  height: 36px !important;
  font-size: 22px !important;
  font-weight: 300 !important;
}

.pfk-catalog-sheet .pfk-catalog-sheet__body {
  padding: 12px 18px 20px;
}

.pfk-catalog-sheet__body--sort {
  padding-top: 8px;
  padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
}

.pfk-catalog-sheet__footer {
  border-top-color: rgba(30, 41, 59, 0.08) !important;
  padding-top: 14px !important;
  gap: 12px !important;
}

.pfk-catalog-sheet__btn-secondary {
  border-color: rgba(30, 41, 59, 0.14) !important;
  color: #334155 !important;
  font-weight: 600 !important;
}

.pfk-catalog-sheet__btn-primary {
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

.pfk-catalog-sort-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pfk-catalog-sort-list li {
  margin: 0;
  padding: 0;
}

.pfk-catalog-sort-item {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  margin-bottom: 4px;
  border: 1px solid var(--pfk-archive-outline, rgba(196, 199, 199, 0.55));
  border-radius: 12px;
  background: var(--pfk-archive-surface, #fff);
  color: var(--pfk-archive-ink, #191c1d);
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}

.pfk-catalog-sort-item:hover {
  border-color: var(--pfk-archive-ink, #191c1d);
  background: var(--pfk-archive-canvas, #f8f9fa);
}

.archive-plp .pfk-catalog-sort-item.is-selected,
.pfk-catalog-sort-item.is-selected {
  background: var(--pfk-archive-segment, #1c1b1b);
  color: #fff;
  border-color: var(--pfk-archive-segment, #1c1b1b);
  font-weight: 600;
}

.pfk-catalog-sort-item.is-selected::after {
  content: '';
  margin-left: auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.9;
  flex-shrink: 0;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .pfk-catalog-sheet--sort .pfk-catalog-sheet__panel {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: auto;
    width: min(380px, 92vw);
    max-width: 380px;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
    margin-left: auto;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.12);
  }

  body.pros-mode-mobile #pfk-archive-sort-sheet {
    align-items: stretch;
    justify-content: flex-end;
    padding: 0;
  }
}

/* Refined facet typography inside filter sheet (archive PLP) */
body.pros-mode-mobile #pfk-mobile-filters .pros-facet-block__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
}

body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__body {
  padding-top: 8px;
}

/* Sort sheet: compact panel (not full 90vh) */
body.pros-mode-mobile #pfk-archive-sort-sheet .pros-drawer__panel {
  height: auto;
  max-height: min(78vh, 560px);
}

/* Toolbar base */
.pros-toolbar {
  padding: 8px 16px 10px;
}

.pros-toolbar__controls {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.pros-toolbar__control {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.pros-toolbar__control--reset { display: none; }
body.pros-has-active-facet .pros-toolbar__control--reset { display: flex; }

.pros-reset-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--pros-btn-bg);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  text-decoration: none;
}

.archive-toolbar-count,
.pros-results__count {
  font-size: 13px;
  color: #6b7280;
  margin-bottom: 6px;
  display: block;
  font-weight: 500;
}

.archive-toolbar-sort {
  height: 34px;
  padding: 0 10px;
  font-size: 13px;
  border: 1px solid #e6e8ee;
  background: #fff;
  border-radius: 10px;
  cursor: pointer;
  min-width: 100px;
  max-width: 140px;
}

/* Pros facet blocks (sidebar) – default; archive PLP overrides below */
.pros-facet-block {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 10px 12px;
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,.03);
}

/* Archive mobile filter sheet — calmer facet panels (not boxed widgets) */
.archive-plp #pfk-mobile-filters .pros-facet-block {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0 0 16px;
  margin-bottom: 16px;
}
.archive-plp #pfk-mobile-filters .pros-facet-block__title {
  font-size: 14px;
  font-weight: 600;
  color: var(--pfk-archive-ink, #191c1d);
  margin-bottom: 12px;
}
/* Archive mobile filter sheet — see unified facet block below */

.pros-facet-block__title {
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 6px;
  color: #374151;
}

.pros-facet-block__search {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 10px;
  padding: 8px 12px;
  border: 1px solid #e6e8ee;
  border-radius: 10px;
  font-size: 13px;
  background: #fff;
}

.pros-facet-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

body.pros-mode-desktop .pros-facet-list {
  max-height: none !important;
  overflow: visible !important;
}

.pros-facet-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  font-size: 13px;
  font-weight: 500;
  color: #111;
  cursor: pointer;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.pros-facet-option:last-child { border-bottom: none; }

.pros-facet-count {
  font-size: 12px;
  font-weight: 400;
  color: #6b7280;
  margin-left: 2px;
}

.pros-price-input {
  flex: 1;
  min-width: 0;
  padding: 8px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
}

.archive-filter-price {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.pros-price-ranges {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}

.pros-price-range {
  padding: 8px 12px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.pros-price-range:hover {
  background: #f5f5f5;
  border-color: #ddd;
}

/* Archive filter selected states — calm Stitch-like (no inset bars) */
.archive-plp .pros-facet-list li:has(.pros-facet-option input:checked) {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
}
.archive-plp .pros-facet-list li:has(.pros-facet-option input:checked) .pros-facet-option {
  color: var(--pfk-archive-ink, #191c1d);
  font-weight: 600;
  border-bottom: 0;
}
.archive-plp .pros-facet-list li:has(.pros-facet-option input:checked) .pros-facet-count {
  color: var(--pfk-archive-muted, #444748);
  font-weight: 500;
}
.archive-plp .pros-facet-option input {
  accent-color: #191c1d;
}
.archive-plp .pros-price-range.is-active {
  background: var(--pfk-archive-segment, #1c1b1b);
  border-color: var(--pfk-archive-segment, #1c1b1b);
  color: #fff;
  font-weight: 500;
  box-shadow: none;
}
.archive-plp .pros-price-sale:has(.pros-price-sale__input:checked) {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
}

.pros-price-sale {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0;
  cursor: pointer;
}

.pros-price-sale__input { accent-color: #111; }
.pros-price-sale__label { font-size: 14px; font-weight: 600; }

.pros-slider-reset {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 10px 14px;
  border: 0;
  border-radius: 8px;
  background: var(--pros-btn-bg);
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  margin-top: 10px;
}

/* Archive PLP intro (breadcrumb, title, count) */
.pfk-archive-plp-intro {
  padding: 8px 12px 10px;
  box-sizing: border-box;
}
.pfk-archive-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--pfk-archive-muted, #444748);
  margin: 0 0 16px;
}
.pfk-archive-breadcrumb a {
  color: var(--pfk-archive-muted, #444748);
  text-decoration: none;
}
.pfk-archive-breadcrumb a:hover {
  color: var(--pfk-archive-ink, #191c1d);
}
.pfk-archive-breadcrumb__sep {
  display: inline-flex;
  align-items: center;
  color: #9ca3af;
  user-select: none;
  margin: 0 1px;
}
.pfk-archive-breadcrumb__chev {
  display: block;
  flex-shrink: 0;
  opacity: 0.55;
}
.pfk-archive-breadcrumb__parent-wrap.hidden {
  display: none !important;
}
.pfk-archive-breadcrumb__parent-wrap {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.pfk-archive-breadcrumb__current {
  color: var(--pfk-archive-ink, #191c1d);
  font-weight: 500;
}
.pfk-archive-plp-heading {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pfk-archive-plp-title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--pfk-archive-ink, #191c1d);
}
.archive-plp .archive-toolbar-count,
.archive-plp .pros-results__count#archive-count {
  display: block !important;
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  color: var(--pfk-archive-muted, #444748);
}

/* Search PLP — query context line (inherits archive head rhythm) */
.search-plp .search-plp__query {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  color: var(--pfk-archive-muted, #444748);
}
body.pros-mode-desktop .search-plp .search-plp__query {
  font-size: 16px;
  margin-top: 4px;
}
body.pros-mode-mobile .search-plp .search-plp__query {
  font-size: 15px;
  margin-top: 2px;
}
.search-plp .pfk-archive-plp-heading .archive-toolbar-count,
.search-plp .pfk-archive-plp-heading #archive-count {
  margin-top: 8px;
}

/* Search PLP — inline empty state dual actions */
.search-plp .search-plp-empty-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.search-plp .search-plp-empty-actions .pfk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 148px;
  height: 48px;
  padding: 0 24px;
  font-size: var(--pfk-body, 15px);
  font-weight: var(--pfk-font-medium, 500);
  border-radius: var(--pfk-radius, 12px);
  text-decoration: none;
  cursor: pointer;
  transition: var(--pfk-trans, 0.15s ease);
  border: none;
}
.search-plp .search-plp-empty-actions .pfk-btn-primary {
  background: var(--pfk-primary, #111);
  color: #fff;
}
.search-plp .search-plp-empty-actions .pfk-btn-primary:hover {
  background: var(--pfk-primary-hover, #0a0a0a);
}
.search-plp .search-plp-empty-actions .pfk-btn-secondary {
  background: #fff;
  color: var(--pfk-ink, #191c1d);
  border: 1px solid var(--pfk-line, #e5e7eb);
}
.search-plp .search-plp-empty-actions .pfk-btn-secondary:hover {
  background: var(--pfk-f-bg, #f8f9fa);
  border-color: var(--pfk-muted, #6b7280);
}
.search-plp .archive-empty-fallback-link.hidden {
  display: none !important;
}

/* Archive PLP — mobile header refinement (action bar + intro rhythm) */
body.pros-mode-mobile .archive-plp .pfk-archive-plp-head {
  padding: 0;
  margin: 0;
  background: transparent;
}

body.pros-mode-mobile .archive-plp .pfk-archive-plp-intro {
  padding: 8px 16px 20px;
  margin: 0;
  background: transparent;
}

body.pros-mode-mobile .archive-plp .pros-results.archive-results {
  background: transparent;
}

body.pros-mode-mobile .archive-plp .pfk-archive-breadcrumb {
  font-size: 14px;
  line-height: 1.5;
  gap: 8px;
  margin: 0 0 16px;
  color: var(--pfk-archive-muted, #444748);
}

body.pros-mode-mobile .archive-plp .pfk-archive-breadcrumb a {
  color: var(--pfk-archive-muted, #444748);
}

body.pros-mode-mobile .archive-plp .pfk-archive-breadcrumb__sep {
  color: #6b7280;
  font-size: 13px;
  line-height: 1;
  padding: 0 1px;
}

body.pros-mode-mobile .archive-plp .pfk-archive-breadcrumb__current {
  color: #1f2937;
  font-weight: 600;
}

body.pros-mode-mobile .archive-plp .pfk-archive-plp-heading {
  gap: 10px;
}

body.pros-mode-mobile .archive-plp .pfk-archive-plp-title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--pfk-archive-ink, #191c1d);
}

body.pros-mode-mobile .archive-plp .archive-toolbar-count,
body.pros-mode-mobile .archive-plp .pros-results__count#archive-count {
  font-size: 14px;
  font-weight: 400;
  color: var(--pfk-archive-muted, #444748);
  line-height: 1.5;
  margin: 8px 0 0;
}

body.pros-mode-mobile .archive-plp #archive-filter-chips:not(.hidden) {
  margin-bottom: 12px;
  padding-bottom: 12px;
}

body.pros-mode-mobile .archive-plp .pfk-archive-grid-outer {
  margin-top: 0;
}

/* Dense continuous product grid shell — canvas behind cells, white on each card only */
.pfk-archive-grid-outer {
  border-top: 1px solid var(--pfk-archive-outline, rgba(116, 120, 120, 0.35));
  border-left: 1px solid var(--pfk-archive-outline, rgba(116, 120, 120, 0.35));
  background: transparent;
  box-sizing: border-box;
}

.archive-plp .pfk-archive-grid-outer {
  background: transparent;
}
body.pros-mode-mobile .pfk-archive-grid-outer {
  margin-left: 0;
  margin-right: 0;
}
body.pros-mode-mobile .archive-plp .pros-results__list {
  padding: 0;
  margin: 0;
}
body.pros-mode-desktop .archive-plp #archive-filter-chips {
  padding-left: 0;
  padding-right: 0;
}
body.pros-mode-desktop .archive-plp .pfk-archive-grid-outer {
  width: 100%;
}

/* Archive – product grid: 2 cols mobile, 4 cols desktop — zero gap */
.archive-products-grid,
.pros-results-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.archive-product-card {
  background: #fff;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  margin: 0;
}

.archive-plp .archive-product-card {
  border-right: 1px solid var(--pfk-archive-outline, rgba(116, 120, 120, 0.35));
  border-bottom: 1px solid var(--pfk-archive-outline, rgba(116, 120, 120, 0.35));
  box-shadow: none !important;
}

/* Archive cards: force square edges on all devices */
.archive-plp .archive-product-card,
.archive-plp .archive-product-link,
.archive-plp .archive-product-img-wrap {
  border-radius: 0 !important;
}

.archive-plp .archive-product-card:hover {
  border-color: rgba(15, 23, 42, 0.12);
  box-shadow: none !important;
}

@media (min-width: 1024px) {
  body.pros-mode-desktop .archive-products-grid,
  body.pros-mode-desktop .pros-results-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
  }
  /* Search PLP: πάντα έναρξη πάνω-αριστερά — όχι «κεντράρισμα» με λίγα προϊόντα */
  body.pros-mode-desktop[data-pfk-plp="search"] .pros-results__list {
    width: 100%;
    max-width: none;
  }
  body.pros-mode-desktop[data-pfk-plp="search"] #archive-products.archive-products-grid,
  body.pros-mode-desktop[data-pfk-plp="search"] .pros-results-grid {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    justify-content: start;
    justify-items: stretch;
    align-content: start;
    align-items: start;
    place-content: start;
    place-items: start stretch;
    grid-auto-flow: row;
  }
  body.pros-mode-desktop[data-pfk-plp="search"] #archive-products.archive-products-grid > article,
  body.pros-mode-desktop[data-pfk-plp="search"] .pros-results-grid > article {
    justify-self: stretch;
    align-self: start;
    width: 100%;
    max-width: 100%;
    margin: 0;
    margin-inline: 0;
  }
  /* Έναρξη πάνω-αριστερά: το results cell δεν κεντράρει κάθετα όταν το sidebar τραβάει ύψος σειράς */
  body.pros-mode-desktop[data-pfk-plp="search"] .pros-results.archive-results {
    align-self: start !important;
    justify-self: stretch;
    width: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-content: flex-start;
    justify-content: flex-start;
  }
  body.pros-mode-desktop[data-pfk-plp="search"] .pros-results__list,
  body.pros-mode-desktop[data-pfk-plp="search"] .pros-results__footer {
    flex: 0 0 auto;
    align-self: stretch;
    width: 100%;
  }
}

/* Product card – edge-to-edge image, compact info */
.archive-plp .archive-product-img-wrap {
  margin-bottom: 0;
  aspect-ratio: 3 / 4;
  background: var(--pfk-archive-image-bg, #f3f4f5);
  position: relative;
  display: block;
  padding: 0;
  width: 100%;
}
.archive-plp .archive-product-card-grid .archive-product-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.archive-plp .archive-product-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 0;
  padding: 12px;
  background: var(--pfk-archive-surface, #fff);
}
@media (min-width: 1024px) {
  .archive-plp .archive-product-info {
    padding: 16px;
  }
}
.archive-plp .archive-product-brand {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--pfk-archive-muted, #444748);
  margin: 0 0 4px;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .archive-plp .archive-product-brand {
    font-size: 12px;
  }
}
.archive-plp .archive-product-name {
  font-size: 13px;
  font-weight: 400;
  color: var(--pfk-archive-ink, #191c1d);
  margin: 0 0 6px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 0;
}
@media (min-width: 768px) {
  .archive-plp .archive-product-name {
    font-size: 14px;
  }
}
.archive-plp .archive-price-block {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  margin: auto 0 0;
  padding-top: 4px;
  font-size: 16px;
  font-weight: 700;
}
.archive-price-current {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111;
}
.archive-price-old {
  font-size: 13px;
  font-weight: 400;
  color: #9ca3af;
  text-decoration: line-through;
}
.archive-plp .archive-price-block--sale {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.archive-plp .archive-price-block--sale .archive-price-old {
  font-size: 12px;
  color: #9ca3af;
  order: -1;
}
.archive-plp .archive-price-block--sale .archive-price-current {
  color: #ba1a1a;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.1;
}
.archive-plp .archive-price-current {
  color: var(--pfk-archive-ink, #191c1d);
  font-weight: 700;
  font-size: 16px;
}
@media (min-width: 768px) {
  .archive-plp .archive-price-current {
    font-size: 18px;
  }
  .archive-plp .archive-price-block--sale .archive-price-current {
    font-size: 18px;
  }
}
.archive-plp .archive-product-sku {
  font-size: 10px;
  font-weight: 400;
  color: #9aa0a4;
  margin: 0 0 8px;
  letter-spacing: 0;
  line-height: 1.2;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  opacity: 0.9;
}
@media (min-width: 768px) {
  .archive-plp .archive-product-sku {
    font-size: 11px;
  }
}
.archive-sale-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #c1121f;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 5px 8px;
  border-radius: 2px;
  z-index: 2;
  letter-spacing: 0.02em;
}
.archive-sold-out-label {
  padding: 6px 12px;
  background: var(--pfk-ink);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  border-radius: var(--pfk-radius-sm);
}
.archive-wishlist-btn {
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(8px);
  color: var(--pfk-muted);
  border: none;
  cursor: pointer;
  transition: var(--pfk-trans);
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.archive-wishlist-btn:hover { color: var(--pfk-accent); }
.archive-wishlist-btn:active { transform: scale(0.96); }

/* Wishlist: brief check, steady filled heart; desktop hover/focus reveals × in stack */
[data-add-to-wishlist] svg {
  display: block;
  transition: transform 0.16s cubic-bezier(0.34, 1.15, 0.64, 1), opacity 0.16s ease;
}
[data-add-to-wishlist]:active svg {
  transform: scale(0.88);
}
[data-add-to-wishlist].pfk-wl--heart {
  color: inherit;
}
[data-add-to-wishlist].pfk-wl--check {
  color: #059669;
}
[data-add-to-wishlist].pfk-wl--remove {
  color: #dc2626;
}
[data-add-to-wishlist].pfk-wl--heart-filled {
  color: #c1121f;
}

/* Archive – empty state, pagination */
.archive-empty-state {
  padding: var(--pfk-s48) var(--pfk-s24);
  text-align: center;
}
.archive-empty-inner { max-width: 360px; margin: 0 auto; }
.archive-empty-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--pfk-s16);
  color: var(--pfk-muted);
}
.archive-empty-icon svg { width: 100%; height: 100%; }
.archive-empty-title { font-size: var(--pfk-h3); font-weight: 600; color: var(--pfk-ink); margin: 0 0 var(--pfk-s8); }
.archive-empty-desc { font-size: var(--pfk-small); color: var(--pfk-muted); margin: 0 0 var(--pfk-s24); }
.archive-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--pfk-s8);
  margin-top: var(--pfk-s32);
  padding-top: var(--pfk-s24);
  border-top: 0;
}
.archive-load-more-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  height: 36px;
  padding: 0 16px;
  border: 0;
  border-radius: 9px;
  background: #111;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .01em;
  cursor: pointer;
  transition: background .15s ease;
}
.archive-load-more-btn:hover { background: #0a0a0a; }

/* Archive – filter chips row */
.archive-filter-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--pfk-s8);
  margin-bottom: var(--pfk-s16);
}

/* Archive PLP — unified active filters + facet controls */
.archive-plp .archive-filter-chips:not(.hidden) {
  align-items: center;
  gap: 8px 10px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid var(--pfk-archive-outline);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.88) 100%);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

.archive-plp .archive-filter-chips__label,
.archive-plp .archive-filter-chips > .text-xs {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.3;
  color: var(--pfk-archive-muted);
  margin: 0 6px 0 0;
}

.archive-plp .archive-filter-chips__label::after {
  content: ':';
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  margin-left: 1px;
}

.archive-plp .archive-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 5px 6px 5px 12px;
  background: var(--pfk-archive-surface);
  border: 1px solid var(--pfk-ctrl-border);
  border-radius: var(--pfk-ctrl-radius-pill);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--pfk-archive-ink);
  box-shadow: var(--pfk-ctrl-shadow);
}

.archive-plp .archive-filter-chip-label {
  color: var(--pfk-archive-ink);
}

.archive-plp .archive-filter-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  margin: 0;
  border: 0;
  border-radius: var(--pfk-ctrl-radius-pill);
  background: var(--pfk-archive-canvas);
  color: var(--pfk-archive-muted);
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.archive-plp .archive-filter-chip-remove:hover {
  background: rgba(25, 28, 29, 0.08);
  color: var(--pfk-archive-ink);
}

.archive-plp .archive-filter-clear-all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  margin: 0 0 0 auto;
  padding: 0 14px;
  border: 1px solid var(--pfk-ctrl-border);
  border-radius: var(--pfk-ctrl-radius-pill);
  background: var(--pfk-archive-surface);
  box-shadow: var(--pfk-ctrl-shadow);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--pfk-archive-ink);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}

.archive-plp .archive-filter-clear-all:hover {
  background: var(--pfk-archive-canvas);
  border-color: var(--pfk-archive-ink);
  color: var(--pfk-archive-ink);
}

/* Facet blocks — desktop sidebar, mobile sheet (shared) */
.archive-plp .pros-facet-block__title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--pfk-archive-ink);
  margin: 0 0 12px;
}

.archive-plp .pros-facet-block__search,
.archive-plp .pros-sidebar .pros-price-input,
.archive-plp #pfk-mobile-filters .pros-price-input {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 10px;
  padding: 9px 12px;
  border: 1px solid var(--pfk-ctrl-border);
  border-radius: 10px;
  background: var(--pfk-archive-canvas);
  font-size: 14px;
  font-weight: 400;
  color: var(--pfk-archive-ink);
}

.archive-plp .pros-facet-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.archive-plp .pros-facet-option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 8px 10px;
  border: 0;
  border-radius: 10px;
  border-bottom: 0;
  font-size: 14px;
  font-weight: 500;
  color: var(--pfk-archive-muted);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.archive-plp .pros-facet-option:hover {
  background: rgba(25, 28, 29, 0.04);
  color: var(--pfk-archive-ink);
}

.archive-plp .pros-facet-count {
  margin-left: auto;
  font-size: 12px;
  font-weight: 500;
  color: var(--pfk-archive-muted);
}

.archive-plp .pros-facet-list li:has(.pros-facet-option input:checked) .pros-facet-option {
  background: #fff;
  color: var(--pfk-archive-ink);
  font-weight: 600;
  box-shadow: var(--pfk-ctrl-shadow);
}

.archive-plp .pros-price-ranges {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.archive-plp .pros-price-range {
  padding: 7px 12px;
  min-height: 32px;
  border: 1px solid var(--pfk-ctrl-border);
  border-radius: var(--pfk-ctrl-radius-pill);
  background: var(--pfk-archive-canvas);
  font-size: 12px;
  font-weight: 500;
  color: var(--pfk-archive-muted);
  text-align: center;
  box-shadow: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.archive-plp .pros-price-range:hover {
  border-color: var(--pfk-archive-ink);
  color: var(--pfk-archive-ink);
  background: var(--pfk-archive-canvas);
}

.archive-plp .pros-sidebar .pros-slider-reset,
.archive-plp #pfk-mobile-filters .pros-slider-reset {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin-top: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--pfk-archive-muted) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  letter-spacing: 0;
}

.archive-plp .pros-sidebar .pros-slider-reset:hover,
.archive-plp #pfk-mobile-filters .pros-slider-reset:hover {
  color: var(--pfk-archive-ink) !important;
  background: transparent !important;
}

.archive-plp #pfk-mobile-filters .pros-facet-block {
  padding: 0 0 18px;
  margin: 0 0 18px;
  border: 0;
  border-bottom: 1px solid var(--pfk-archive-outline);
  background: transparent;
  box-shadow: none;
}

.archive-plp #pfk-mobile-filters .pros-facet-block:last-child {
  margin-bottom: 0;
  border-bottom: 0;
}

body.pros-mode-mobile .archive-plp .pros-drawer__facets-mount .pros-facet-block {
  border-bottom-color: var(--pfk-archive-outline) !important;
}

body.pros-mode-mobile .archive-plp .pros-drawer__facets-mount .pros-facet-block .pros-facet-block__title[data-pros-accordion-toggle] {
  font-size: 14px;
  font-weight: 600;
  color: var(--pfk-archive-ink);
}

body.pros-mode-mobile .archive-plp #archive-filter-chips:not(.hidden) {
  margin-left: 16px;
  margin-right: 16px;
  width: calc(100% - 32px);
  box-sizing: border-box;
}

body.pros-mode-mobile .archive-plp .archive-filter-clear-all {
  flex: 1 1 100%;
  margin-left: 0;
  margin-top: 4px;
  justify-content: center;
}

.archive-plp .pros-results__footer {
  display: flex;
  justify-content: center;
  padding: 20px 0 8px;
}

.archive-plp .archive-load-more-btn {
  min-height: 44px;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--pfk-archive-segment, #1c1b1b);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 14px rgba(28, 27, 27, 0.18);
}

.archive-plp .archive-load-more-btn:hover {
  background: #0f0f0f;
}

/* Pros drawer – mobile bottom sheet (plugin style) */
body.pros-mode-mobile .pros-drawer--mobile {
  position: fixed;
  inset: 0;
  z-index: 999999 !important;
  pointer-events: none;
  opacity: 0;
  transition: opacity .22s ease;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  box-sizing: border-box;
}

body.pros-mode-mobile .pros-drawer--mobile.is-open {
  opacity: 1;
  pointer-events: auto;
}

body.pros-mode-mobile .pros-drawer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
}

body.pros-mode-mobile .pros-drawer__panel {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 90vh;
  max-height: 90vh;
  background: #fff;
  border-radius: 24px 24px 0 0;
  box-shadow: 0 -8px 32px rgba(0,0,0,.12), 0 0 1px rgba(0,0,0,.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

body.pros-mode-mobile .pros-drawer__handle {
  flex-shrink: 0;
  padding: 10px 0 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: grab;
}

body.pros-mode-mobile .pros-drawer__handle::before {
  content: '';
  width: 36px;
  height: 4px;
  border-radius: 2px;
  background: rgba(0,0,0,.14);
}

/* Archive filters drawer: remove top handle bar */
body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__handle {
  display: none;
}

body.pros-mode-mobile .pros-drawer__header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px 14px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  min-height: 44px;
  box-sizing: border-box;
}

body.pros-mode-mobile .pros-drawer__title {
  flex: 1;
  font-size: 17px;
  font-weight: 800;
  text-align: center;
  margin: 0;
}

body.pros-mode-mobile .pros-drawer__close {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: 0;
  border: 0;
  font-size: 20px;
  cursor: pointer;
  color: #333;
}

/* Archive filters drawer close button: match categories drawer style */
body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__close {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  background: var(--pfk-bg);
  color: var(--pfk-ink);
  font-size: 30px;
  line-height: 1;
  font-weight: 300;
  transition: var(--pfk-trans);
}
body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__close:hover {
  background: #f1f5f9;
}

body.pros-mode-mobile .pros-drawer__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0 16px 16px;
  -webkit-overflow-scrolling: touch;
}

body.pros-mode-mobile .pros-drawer__footer {
  flex-shrink: 0;
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid rgba(0,0,0,.08);
  background: #fff;
  z-index: 2;
  box-shadow: 0 -2px 12px rgba(0,0,0,.06);
}

body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__footer--split {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 10px;
}

body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__footer--split .pros-drawer__footer-secondary {
  flex: 1 1 0;
  min-width: 0;
  height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(15, 23, 42, 0.15);
  border-radius: 9px;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
  color: var(--pfk-ink, #111);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__footer--split .pros-drawer__footer-secondary:hover {
  background: #f8fafc;
}

body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__footer--split .pros-apply {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
}

/* Tablet: filter drawer as right panel */
@media (min-width: 768px) and (max-width: 1023px) {
  body.pros-mode-mobile #pfk-mobile-filters .pros-drawer__panel {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: auto;
    width: min(400px, 92vw);
    max-width: 400px;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
    margin-left: auto;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.12);
  }

  body.pros-mode-mobile #pfk-mobile-filters {
    align-items: stretch;
    justify-content: flex-end;
    padding: 0;
  }
}

body.pros-mode-mobile .pros-apply {
  width: 100%;
  padding: 16px 20px;
  font-size: 17px;
  font-weight: 800;
  border-radius: 14px;
  background: var(--pros-btn-bg);
  color: #fff;
  border: 0;
  letter-spacing: 0.02em;
  box-shadow: 0 2px 12px rgba(0,0,0,.12);
  cursor: pointer;
}

/* Keep archive mobile apply same as other archive buttons */
body.pros-mode-mobile .archive-plp .pros-apply {
  height: 38px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 700;
  border-radius: 9px;
  box-shadow: none;
  letter-spacing: 0.01em;
}

/* Mobile drawer accordion */
body.pros-mode-mobile .pros-drawer__facets-mount .pros-facet-block .pros-facet-block__title[data-pros-accordion-toggle] {
  cursor: pointer;
  user-select: none;
  padding: 14px 32px 14px 0;
  position: relative;
}

body.pros-mode-mobile .pros-drawer__facets-mount .pros-facet-block .pros-facet-block__title[data-pros-accordion-toggle]::after {
  content: '';
  position: absolute;
  right: 6px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: transform .22s ease;
  opacity: .65;
}

body.pros-mode-mobile .pros-drawer__facets-mount .pros-facet-block--open .pros-facet-block__title[data-pros-accordion-toggle]::after {
  transform: translateY(-50%) rotate(225deg);
}

body.pros-mode-mobile .pros-drawer__facets-mount .pros-facet-block .pros-facet-block__collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height .28s ease;
}

body.pros-mode-mobile .pros-drawer__facets-mount .pros-facet-block--open .pros-facet-block__collapse {
  max-height: 85vh;
}

body.pros-mode-mobile .pros-drawer__facets-mount .pros-facet-block {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

body.pros-mode-mobile .pros-drawer__facets-mount .pros-facet-block:last-child {
  border-bottom: none;
}

@media (max-width: 768px) {
  body.pros-mode-mobile .pros-drawer__mobile-toolbar .pros-drawer-toolbar__per-page {
    display: none !important;
  }
  body.pros-mode-mobile .pros-drawer__mobile-toolbar .pros-drawer-toolbar__reset {
    display: none !important;
  }
  body.pros-mode-mobile.pros-has-active-facet .pros-drawer__mobile-toolbar .pros-drawer-toolbar__reset {
    display: flex !important;
  }
}

body.pros-mode-mobile .pros-drawer__mobile-toolbar .pros-facet-block {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.archive-filter-select {
  width: 100%;
  padding: 10px 12px;
  font-size: var(--pfk-small);
  color: var(--pfk-ink);
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: var(--pfk-radius-sm);
  cursor: pointer;
}

/* ========== Page content – cart, checkout, account ========== */
main.max-w-7xl,
main.max-w-4xl,
main.max-w-3xl,
main.max-w-md {
  padding-top: var(--pfk-s24);
  padding-bottom: var(--pfk-s48);
}
@media (max-width: 640px) {
  main.max-w-7xl,
  main.max-w-4xl,
  main.max-w-3xl { padding-left: var(--pfk-s16); padding-right: var(--pfk-s16); padding-top: var(--pfk-s24); }
}

/* Cart summary card */
#cart-summary {
  border-radius: var(--pfk-radius);
  border: 1px solid var(--pfk-line);
  box-shadow: var(--pfk-shadow-soft);
  background: #fff;
  transition: var(--pfk-trans);
}
#cart-summary:hover { box-shadow: var(--pfk-shadow-elevated); }
#cart-summary h2 { font-size: var(--pfk-h3); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin-bottom: var(--pfk-s16); }
#cart-summary .flex span:first-child { color: var(--pfk-muted); font-size: var(--pfk-small); }
#cart-summary .flex span:last-child { color: var(--pfk-ink); font-size: var(--pfk-small); }
#cart-checkout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  padding: 0 var(--pfk-s24);
  font-size: var(--pfk-body);
  font-weight: var(--pfk-font-medium);
  border-radius: var(--pfk-radius);
  background: var(--pfk-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  transition: var(--pfk-trans);
  text-decoration: none;
}
#cart-checkout-btn:hover:not([disabled]) { background: var(--pfk-primary-hover); }
#cart-checkout-btn:active:not([disabled]) { transform: scale(0.97); }

/* Cart empty state */
.pfk-cart-empty-state {
  padding: var(--pfk-s24) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.pfk-cart-empty-icon:not(.pfk-commerce-icon-shell) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 104px;
  height: 104px;
  border-radius: 999px;
  background: var(--pfk-commerce-soft);
  border: 1px solid var(--pfk-commerce-border);
  color: var(--pfk-commerce-muted);
  margin: 0 auto var(--pfk-s16);
  box-shadow: none;
}
.pfk-cart-empty-title { margin: 0 0 var(--pfk-s8); font-size: var(--pfk-h2); font-weight: var(--pfk-font-semibold); color: var(--pfk-commerce-ink); }
.pfk-cart-empty-desc { margin: 0 0 var(--pfk-s20); font-size: var(--pfk-body); color: var(--pfk-commerce-muted); line-height: 1.5; }

/* Cart layout: mobile = items → summary → cross-sell */
.pfk-cart-layout { flex-wrap: wrap; }
.pfk-cart-items-col { order: 1; }
.pfk-cart-summary-col { order: 2; }
.pfk-cart-cross-sell-col { order: 3; width: 100%; }
@media (min-width: 1024px) {
  .pfk-cart-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 24rem;
    grid-template-areas:
      "items summary"
      "cross cross";
    align-items: start;
    column-gap: 2rem;
    row-gap: 1.5rem;
  }
  .pfk-cart-layout.pfk-cart-layout--empty {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "items";
  }
  .pfk-cart-layout.pfk-cart-layout--empty .pfk-cart-items-col {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .pfk-cart-items-col {
    order: 0;
    grid-area: items;
    min-width: 0;
  }
  .pfk-cart-summary-col {
    order: 0;
    grid-area: summary;
    width: 100% !important;
  }
  .pfk-cart-cross-sell-col {
    order: 0;
    grid-area: cross;
    width: 100%;
    margin-top: 0;
  }
}
/* Cart cross-sell section wrapper */
.pfk-cart-cross-sell { padding-top: var(--pfk-s24); margin-top: var(--pfk-s16); }
.pfk-cart-cross-sell-title { margin: 0; font-size: var(--pfk-body); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); }

/* ========== Cross-sell product rail (cart) — drag / swipe, finite strip ========== */
.pfk-cross-sell {
  --pfk-xs-gap: 12px;
  --pfk-xs-card: 148px;
  --pfk-xs-media-h: 176px;
  width: 100%;
  max-width: 100%;
}
@media (min-width: 640px) {
  .pfk-cross-sell {
    --pfk-xs-gap: 14px;
    --pfk-xs-card: 156px;
    --pfk-xs-media-h: 188px;
  }
}
@media (min-width: 1024px) {
  .pfk-cross-sell {
    --pfk-xs-gap: 16px;
    --pfk-xs-card: 168px;
    --pfk-xs-media-h: 200px;
  }
}

.pfk-cross-sell__header {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: var(--pfk-s16);
  margin-bottom: var(--pfk-s16);
  flex-wrap: wrap;
}

.pfk-cross-sell__viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  cursor: default;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  outline: none;
  padding: 4px 2px 12px;
  margin: 0 -2px;
}
.pfk-cross-sell__viewport.pfk-cross-sell__viewport--scrollable {
  cursor: grab;
}
.pfk-cross-sell__viewport.pfk-cross-sell__viewport--scrollable.pfk-cross-sell__viewport--dragging {
  cursor: grabbing;
}
.pfk-cross-sell__viewport.pfk-cross-sell__viewport--scrollable .pfk-cross-sell__card {
  cursor: grab;
}
.pfk-cross-sell__viewport.pfk-cross-sell__viewport--scrollable.pfk-cross-sell__viewport--dragging .pfk-cross-sell__card {
  cursor: grabbing;
}
.pfk-cross-sell__viewport:focus-visible {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(15, 23, 42, 0.2);
  border-radius: 12px;
}

.pfk-product-rail__track.pfk-cross-sell__track,
.pfk-cross-sell__track {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: var(--pfk-rail-gap, var(--pfk-xs-gap));
  width: max-content;
  min-height: 0;
  padding: 0 1px 2px;
  will-change: transform;
  transition: none;
  touch-action: none;
}
/* touch-action is not inherited; set on card subtree so touch drags work on images/text, not only viewport gaps */
.pfk-cross-sell__track .pfk-cross-sell__card,
.pfk-cross-sell__track .pfk-cross-sell__card * {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}
.pfk-cross-sell__track :is([data-pfk-rail-control], [data-pfk-rail-control] *, button, input, select, textarea) {
  touch-action: manipulation;
  -webkit-user-select: auto;
  user-select: auto;
}

.pfk-cross-sell__card {
  box-sizing: border-box;
  flex: 0 0 var(--pfk-rail-card, var(--pfk-xs-card));
  width: var(--pfk-rail-card, var(--pfk-xs-card));
  min-width: var(--pfk-rail-card, var(--pfk-xs-card));
  max-width: var(--pfk-rail-card, var(--pfk-xs-card));
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: var(--pfk-commerce-radius);
  border: 1px solid var(--pfk-commerce-border);
  background: var(--pfk-commerce-surface);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  -webkit-user-drag: none;
  user-drag: none;
}
.pfk-cross-sell__card:hover {
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.pfk-cross-sell__media,
.pfk-product-rail-card__media {
  position: relative;
  width: 100%;
  height: var(--pfk-rail-media-h, var(--pfk-xs-media-h));
  flex-shrink: 0;
  background: var(--pfk-commerce-canvas);
  overflow: hidden;
}
.pfk-cross-sell__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  -webkit-user-drag: none;
  user-drag: none;
}
.pfk-cross-sell__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 10px 12px;
  flex: 1 1 auto;
  min-height: 0;
}
.pfk-cross-sell__brand,
.pfk-product-rail-card__brand {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pfk-commerce-muted);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pfk-cross-sell__name,
.pfk-product-rail-card__name {
  font-size: 12px;
  font-weight: 500;
  color: var(--pfk-commerce-ink);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  word-break: break-word;
  min-height: calc(1.35em * 2);
}
.pfk-cross-sell__price,
.pfk-product-rail-card__price {
  margin-top: auto;
  padding-top: 4px;
  font-size: 13px;
  font-weight: 700;
  color: var(--pfk-commerce-ink);
  letter-spacing: -0.01em;
}

.pfk-cart-cross-sell-col .pfk-cross-sell {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

/* Cart desktop tools (coupon + clear) */
.pfk-cart-coupon-input {
  height: 46px;
  border: 1px solid #d4d9e2;
  border-right: 0;
  border-radius: 12px 0 0 12px;
  padding: 0 16px;
  font-size: var(--pfk-body);
  color: var(--pfk-ink);
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.pfk-cart-coupon-input:focus {
  outline: none;
  border-color: #b8c0cd;
  box-shadow: inset 0 0 0 1px #b8c0cd;
}
.pfk-cart-coupon-btn {
  height: 46px;
  min-width: 0;
  padding: 0 14px;
  white-space: nowrap;
  border: 1px solid #4b5563;
  border-radius: 0 12px 12px 0;
  background: #4b5563;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
}
.pfk-cart-coupon-btn:hover { background: #374151; border-color: #374151; }
.pfk-cart-clear-all-btn {
  height: 46px;
  min-width: 230px;
  padding: 0 20px;
  border-radius: 12px;
  border: 1px solid #0b1538;
  background: #0b1538;
  color: #fff;
  font-size: var(--pfk-body);
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .18s ease, border-color .18s ease, transform .12s ease;
}
.pfk-cart-clear-all-btn:hover { background: #09102b; border-color: #09102b; }
.pfk-cart-clear-all-btn:active { transform: translateY(1px); }
.pfk-cart-coupon-btn:focus-visible,
.pfk-cart-clear-slot {
  flex-shrink: 0;
  min-width: 0;
}
.pfk-cart-clear-confirm-view {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 12px 14px;
  background: #f8fafc;
}
.pfk-cart-clear-confirm-text {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.35;
}
.pfk-cart-clear-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.pfk-cart-clear-cancel-btn {
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s, border-color 0.15s;
}
.pfk-cart-clear-cancel-btn:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
}
.pfk-cart-clear-do-btn {
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  background: #0f172a;
  border: 1px solid #0f172a;
  border-radius: 10px;
  cursor: pointer;
  font-family: inherit;
  transition: filter 0.15s;
}
.pfk-cart-clear-do-btn:hover {
  filter: brightness(1.08);
}

.pfk-cart-clear-all-btn:focus-visible,
#cart-checkout-btn:focus-visible {
  outline: 2px solid #0b1538;
  outline-offset: 2px;
}

/* Cart row micro-interactions */
.pfk-cart-item .pfk-cart-qty-modern {
  border-color: #dbe0e8;
}
.pfk-cart-item .pfk-quantity-btn {
  font-size: 18px;
  line-height: 1;
}
.pfk-cart-item .pfk-quantity-btn:focus-visible {
  outline: 2px solid #94a3b8;
  outline-offset: -2px;
}
.pfk-cart-item .pfk-cart-remove-btn {
  width: 30px;
  height: 30px;
}

/* Cart page premium controls */
.pfk-cart-page #cart-checkout-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 52px !important;
  padding: 0 24px;
  border-radius: 14px;
  border: 1px solid #0f172a;
  background: #0f172a !important;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.01em;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
  transition: transform .16s ease, box-shadow .22s ease, background-color .22s ease, border-color .22s ease;
}
.pfk-cart-page #cart-checkout-btn:hover {
  background: #020617 !important;
  border-color: #020617;
  box-shadow: 0 7px 16px rgba(15, 23, 42, 0.14);
  transform: translateY(-1px);
}
.pfk-cart-page #cart-checkout-btn:active {
  transform: translateY(0);
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.13);
}
.pfk-cart-page .pfk-cart-clear-all-btn {
  height: 48px;
  padding: 0 24px;
  border-radius: 14px;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #0f172a;
  font-size: 15px;
  font-weight: 500;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
  transition: transform .14s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.pfk-cart-page .pfk-cart-clear-all-btn:hover {
  background: #f8fafc;
  border-color: #94a3b8;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}
.pfk-cart-page .pfk-cart-clear-all-btn:active {
  transform: translateY(0);
}
.pfk-cart-page .pfk-cart-coupon-form {
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
  overflow: hidden;
  background: var(--pfk-commerce-surface);
  max-width: 360px;
}
.pfk-cart-page .pfk-cart-coupon-combo {
  max-width: 332px;
  min-height: 44px;
  align-self: center;
}
.pfk-cart-page .pfk-cart-coupon-form:focus-within {
  border-color: #475569;
  box-shadow: 0 0 0 3px rgba(51, 65, 85, 0.12);
}
.pfk-cart-page .pfk-cart-coupon-input {
  border: 0;
  border-right: 1px solid #e2e8f0;
  border-radius: 0;
  height: 44px;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 500;
  color: #0f172a;
}
.pfk-cart-page .pfk-cart-coupon-input::placeholder { color: #8b97a8; }
.pfk-cart-page .pfk-cart-coupon-btn {
  height: 44px;
  min-width: 58px;
  padding: 0 14px;
  border: 0;
  border-radius: 0;
  background: #1e293b;
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background-color .2s ease, transform .14s ease;
}
.pfk-cart-page .pfk-cart-coupon-btn:hover {
  background: #0f172a;
  transform: translateY(-1px);
}
.pfk-cart-page .pfk-cart-summary-card {
  border-radius: var(--pfk-commerce-radius) !important;
  border-color: var(--pfk-commerce-border) !important;
  box-shadow: var(--pfk-commerce-shadow) !important;
}
.pfk-cart-page .pfk-cart-summary-rows {
  margin-top: 2px;
}
.pfk-cart-page .pfk-cart-summary-row {
  min-height: 28px;
  align-items: center;
}
.pfk-cart-page .pfk-cart-summary-row > span:first-child {
  color: #64748b;
  font-size: 13px;
}
.pfk-cart-page .pfk-cart-summary-row > span:last-child {
  color: #0f172a;
  font-size: 13px;
  font-weight: 500;
}
.pfk-cart-page .pfk-cart-summary-total {
  margin-top: 10px;
  padding-top: 12px;
  border-top-color: #e2e8f0 !important;
}
.pfk-cart-page .pfk-cart-summary-total > span:first-child {
  color: #0f172a;
  font-size: 15px;
  font-weight: 600;
}
.pfk-cart-page .pfk-cart-summary-total > span:last-child {
  color: #020617;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.pfk-cart-page .pfk-cart-item .pfk-cart-qty-modern {
  height: 44px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.pfk-cart-page .pfk-cart-item .pfk-quantity-btn {
  width: 44px;
  height: 44px;
  color: #0f172a;
  font-size: 18px;
  font-weight: 500;
}
.pfk-cart-page .pfk-cart-item .pfk-quantity-val {
  width: 40px;
  color: #0f172a;
}
.pfk-cart-page .pfk-cart-item .pfk-cart-remove-btn { color: #8a94a8; }
.pfk-cart-page .pfk-cart-item--product,
.pfk-cart-page .pfk-cart-item--gift {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.pfk-cart-page .pfk-cart-item__thumb-link {
  display: block;
  text-decoration: none;
}
.pfk-cart-page .pfk-cart-item__img {
  width: 76px;
  height: 96px;
  object-fit: cover;
  display: block;
}
.pfk-cart-page .pfk-cart-item__gift-emoji {
  width: 76px;
  height: 96px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  background: linear-gradient(to bottom right, #27272a, #52525b);
}
.pfk-cart-page .pfk-cart-item__info {
  padding-top: 1px;
  min-width: 0;
}
.pfk-cart-remove-btn--subtle {
  opacity: 0.72;
  font-size: 18px;
}
.pfk-cart-page .pfk-cart-item {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
.pfk-cart-page .pfk-cart-item-title {
  color: #0f172a;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.34;
}
.pfk-cart-page .pfk-cart-item-variation {
  color: #64748b !important;
  font-size: 13px !important;
}
.pfk-cart-page .pfk-cart-item-unit-price {
  margin-top: 8px !important;
  font-size: 13px !important;
  color: #64748b !important;
}
.pfk-cart-page .pfk-cart-item-unit-price > span {
  color: #0f172a !important;
  font-size: 14px;
  font-weight: 600 !important;
}
.pfk-cart-page .pfk-cart-item-line-total {
  color: #020617;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em;
}

@media (max-width: 1023px) {
  .pfk-cart-page .pfk-cart-coupon-combo {
    max-width: 100%;
  }
  .pfk-cart-page .pfk-cart-item--product,
  .pfk-cart-page .pfk-cart-item--gift {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pfk-cart-page .pfk-cart-item__lead {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    width: 100%;
    min-width: 0;
  }
  .pfk-cart-page .pfk-cart-item__extras {
    width: 100%;
    min-width: 0;
  }
  .pfk-cart-page .pfk-cart-item__footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding-top: 2px;
  }
  .pfk-cart-page .pfk-cart-item__footer-price,
  .pfk-cart-page .pfk-cart-item__footer-price-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    margin-left: auto;
  }
  .pfk-cart-page .pfk-cart-item__footer--gift {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .pfk-cart-page .pfk-cart-item__footer--gift .pfk-cart-item__footer-note {
    margin: 0;
  }
  .pfk-cart-page .pfk-cart-item__footer--gift .pfk-cart-item__footer-price-row {
    margin-left: 0;
    justify-content: space-between;
    width: 100%;
  }
}

@media (min-width: 1024px) {
  .pfk-cart-page .pfk-cart-item--product {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 10px;
    align-items: start;
  }
  .pfk-cart-page .pfk-cart-item--product .pfk-cart-item__lead {
    display: contents;
  }
  .pfk-cart-page .pfk-cart-item--product .pfk-cart-item__thumb {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
  }
  .pfk-cart-page .pfk-cart-item--product .pfk-cart-item__img {
    width: 84px;
    height: 104px;
  }
  .pfk-cart-page .pfk-cart-item--product .pfk-cart-item__info {
    grid-column: 2;
    grid-row: 1;
  }
  .pfk-cart-page .pfk-cart-item--product .pfk-cart-item__extras {
    grid-column: 2;
    grid-row: 2;
  }
  .pfk-cart-page .pfk-cart-item--product .pfk-cart-item__footer {
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-self: end;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 10px;
    min-width: 118px;
  }
  .pfk-cart-page .pfk-cart-item--product .pfk-cart-item__footer-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
  }
  .pfk-cart-page .pfk-cart-item--gift {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 10px;
    align-items: start;
  }
  .pfk-cart-page .pfk-cart-item--gift .pfk-cart-item__lead {
    display: contents;
  }
  .pfk-cart-page .pfk-cart-item--gift .pfk-cart-item__thumb {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
  }
  .pfk-cart-page .pfk-cart-item--gift .pfk-cart-item__gift-emoji {
    width: 84px;
    height: 104px;
  }
  .pfk-cart-page .pfk-cart-item--gift .pfk-cart-item__info {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;
  }
  .pfk-cart-page .pfk-cart-item--gift .pfk-cart-item__footer {
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-self: end;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    min-width: 118px;
  }
  .pfk-cart-page .pfk-cart-item--gift .pfk-cart-item__footer-price-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
  }
  .pfk-cart-page .pfk-cart-remove-btn--subtle {
    font-size: 20px;
    opacity: 0.58;
  }
}

/* Legacy empty icon — superseded by .pfk-cart-empty-panel (Stitch-aligned) */
.pfk-cart-page .pfk-cart-empty-icon:not(.pfk-cart-empty-panel .pfk-cart-empty-icon) {
  width: 108px;
  height: 108px;
}

@media (max-width: 767px) {
  .pfk-cart-clear-all-btn {
    min-width: 0;
    width: 100%;
  }
}

/* Empty cart — Stitch-aligned premium (panel + horizontal rec carousel) */
#cart-empty-state:not(.hidden) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.pfk-cart-page main:has(#cart-content.pfk-cart-layout--empty) > h1 {
  margin-bottom: 1.75rem;
  font-size: clamp(1.35rem, 3vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--pfk-commerce-ink);
}

.pfk-cart-empty-layout {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: 100%;
  max-width: 100%;
  margin: 0;
}

@media (min-width: 768px) {
  .pfk-cart-empty-layout {
    gap: 4rem;
  }
}

.pfk-cart-empty-panel.pfk-commerce-panel {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.pfk-cart-empty-panel__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 28rem;
  margin: 0 auto;
}

/* Empty cart: shared commerce primitives (panel + product rail) */
.pfk-cart-cross-sell--empty .pfk-product-rail {
  width: 100%;
  max-width: 100%;
}

@media (min-width: 1024px) {
  .pfk-cart-page main:has(#cart-content.pfk-cart-layout--empty) {
    max-width: 95rem;
    width: 100%;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    box-sizing: border-box;
  }

  .pfk-cart-page #cart-content.pfk-cart-layout--empty {
    width: 100%;
    max-width: 100%;
  }

  .pfk-cart-empty-layout {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    gap: 3.5rem;
  }

  .pfk-cart-empty-panel {
    max-width: none;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 3.5rem 3rem;
  }

  .pfk-cart-empty-panel__inner {
    max-width: 36rem;
  }

}

/* Empty cart rail: mobile edge bleed + desktop drag rail */
@media (max-width: 1023px) {
  .pfk-cart-page #cart-content.pfk-cart-layout--empty .pfk-product-rail--native-scroll .pfk-product-rail__viewport {
    margin-left: -1rem;
    margin-right: -1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    max-width: calc(100% + 2rem);
  }
}

@media (min-width: 1024px) {
  .pfk-cart-cross-sell--empty .pfk-product-rail--native-scroll .pfk-product-rail__viewport {
    overflow: hidden;
    touch-action: none;
    scroll-snap-type: none;
  }

  .pfk-cart-cross-sell--empty .pfk-product-rail--native-scroll .pfk-product-rail__track {
    touch-action: none;
  }

  .pfk-cart-cross-sell--empty .pfk-cross-sell__viewport--scrollable .pfk-product-rail-card {
    cursor: grab;
  }

  .pfk-cart-cross-sell--empty .pfk-cross-sell__viewport--scrollable.pfk-cross-sell__viewport--dragging .pfk-product-rail-card {
    cursor: grabbing;
  }
}

/* Legacy cart-rec-card → product rail card (back-compat) */
.pfk-cart-rec-card {
  flex: 0 0 var(--pfk-rail-card, 168px);
  width: var(--pfk-rail-card, 168px);
  min-width: var(--pfk-rail-card, 168px);
  max-width: var(--pfk-rail-card, 168px);
}

/* Cart item remove button */
.pfk-cart-remove-btn { width: 32px; height: 32px; display: grid; place-items: center; font-size: 20px; line-height: 1; color: var(--pfk-muted); background: 0; border: 0; cursor: pointer; padding: 0; font: inherit; border-radius: var(--pfk-radius-sm); transition: var(--pfk-trans); }
.pfk-cart-remove-btn:hover { background: #fef2f2; color: #dc2626; }

/* Wishlist empty state */
.pfk-wishlist-empty-icon { color: var(--pfk-muted); opacity: 0.5; }
.pfk-wishlist-empty-title { margin: 0 0 var(--pfk-s8); color: var(--pfk-ink); }
.pfk-wishlist-empty-desc { margin: 0 0 var(--pfk-s20); color: var(--pfk-muted); line-height: 1.5; }
.pfk-wishlist-empty-cta:hover { filter: brightness(0.97); }

/* Empty state CTAs – design system buttons */
#cart-empty-state .pfk-cart-empty-state a,
#checkout-empty-state a,
#wishlist-empty a,
#archive-empty-state a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 var(--pfk-s24);
  font-size: var(--pfk-body);
  font-weight: var(--pfk-font-medium);
  border-radius: var(--pfk-radius);
  transition: var(--pfk-trans);
  text-decoration: none;
}
#checkout-empty-state a:first-of-type,
#wishlist-empty a:first-of-type,
#archive-empty-state a:first-of-type {
  background: var(--pfk-primary);
  color: #fff;
  border: none;
}
#checkout-empty-state a:first-of-type:hover,
#wishlist-empty a:first-of-type:hover,
#archive-empty-state a:first-of-type:hover {
  background: var(--pfk-primary-hover);
}
#cart-empty-state .pfk-cart-empty-state a:last-of-type:not(:first-of-type),
#checkout-empty-state a:last-of-type:not(:first-of-type),
#wishlist-empty a:last-of-type:not(:first-of-type),
#archive-empty-state a:last-of-type:not(:first-of-type) {
  background: #fff;
  color: var(--pfk-ink);
  border: 1px solid var(--pfk-line);
}
#cart-empty-state .pfk-cart-empty-state a:last-of-type:not(:first-of-type):hover,
#checkout-empty-state a:last-of-type:not(:first-of-type):hover,
#wishlist-empty a:last-of-type:not(:first-of-type):hover,
#archive-empty-state a:last-of-type:not(:first-of-type):hover {
  background: var(--pfk-f-bg);
  border-color: var(--pfk-muted);
}
#cart-empty-state .pfk-product-rail__link,
#cart-empty-state .pfk-cart-recommend__view-all {
  height: auto;
  min-height: 0;
  padding: 0;
  background: transparent !important;
  color: var(--pfk-commerce-muted) !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0;
  font-weight: 600;
  transform: none;
}

#cart-empty-state .pfk-product-rail__link:hover,
#cart-empty-state .pfk-cart-recommend__view-all:hover {
  background: transparent !important;
  color: var(--pfk-commerce-ink) !important;
  border: none !important;
}

#cart-empty-state .pfk-cart-empty-panel .pfk-cart-empty-cta,
#cart-empty-state .pfk-cart-empty-panel .pfk-commerce-empty-state__cta {
  background: var(--pfk-commerce-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--pfk-commerce-radius) !important;
  min-height: 3.25rem !important;
  padding: 0.875rem 1.5rem !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.14) !important;
  font-weight: 600;
  font-size: 0.9375rem !important;
}

#cart-empty-state .pfk-cart-empty-panel .pfk-cart-empty-cta:hover,
#cart-empty-state .pfk-cart-empty-panel .pfk-commerce-empty-state__cta:hover {
  background: var(--pfk-commerce-primary-hover) !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.16) !important;
  filter: none;
}

#cart-empty-state .pfk-cart-empty-state a:active,
#checkout-empty-state a:active,
#wishlist-empty a:active,
#archive-empty-state a:active {
  transform: scale(0.97);
}

/* Archive filter inputs */
aside input[type="number"],
#pfk-mobile-filters input[type="number"] {
  width: 100%;
  height: 48px;
  padding: 0 var(--pfk-s16);
  font-size: var(--pfk-body);
  color: var(--pfk-ink);
  background: #fff;
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  transition: var(--pfk-trans);
  font-family: inherit;
}
aside input[type="number"]::placeholder,
#pfk-mobile-filters input[type="number"]::placeholder { color: var(--pfk-muted); }
aside input[type="number"]:focus,
#pfk-mobile-filters input[type="number"]:focus {
  outline: none;
  border-color: var(--pfk-ink);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}

/* Auth forms (login, register, forgot-password) */
main form input[type="email"],
main form input[type="password"],
main form input[type="text"] {
  width: 100%;
  height: 48px;
  padding: 0 var(--pfk-s16);
  font-size: var(--pfk-body);
  color: var(--pfk-ink);
  background: #fff;
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  transition: var(--pfk-trans);
  font-family: inherit;
}
main form input::placeholder { color: var(--pfk-muted); }
main form input[type="email"]:focus,
main form input[type="password"]:focus,
main form input[type="text"]:focus {
  outline: none;
  border-color: var(--pfk-ink);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}
main form button[type="submit"] {
  transition: var(--pfk-trans);
}
main form button[type="submit"]:hover {
  transform: translateY(-1px);
}
main form button[type="submit"]:active {
  transform: translateY(0);
}

/* Auth validation states */
.pfk-auth-error {
  padding: var(--pfk-s12) var(--pfk-s16);
  margin-bottom: var(--pfk-s16);
  background: var(--pfk-badge-error-bg);
  border: 1px solid rgba(185, 28, 28, 0.2);
  border-radius: var(--pfk-radius-sm);
  color: var(--pfk-badge-error-fg);
  font-size: var(--pfk-small);
}
.pfk-auth-error.hidden { display: none !important; }
.pfk-auth-success {
  padding: var(--pfk-s12) var(--pfk-s16);
  margin-bottom: var(--pfk-s16);
  background: var(--pfk-badge-success-bg);
  border: 1px solid rgba(22, 101, 52, 0.2);
  border-radius: var(--pfk-radius-sm);
  color: var(--pfk-badge-success-fg);
  font-size: var(--pfk-small);
}
.pfk-auth-success.hidden { display: none !important; }
.pfk-field-wrap { position: relative; }
.pfk-field-error {
  display: block;
  margin-top: 4px;
  font-size: var(--pfk-meta);
  color: #b91c1c;
}
.pfk-field-error.hidden { display: none !important; }
.pfk-input-error { border-color: var(--pfk-badge-error-fg) !important; box-shadow: 0 0 0 2px rgba(185, 28, 28, 0.15) !important; }
.pfk-btn-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: pfk-spin 0.6s linear infinite;
}
@keyframes pfk-spin { to { transform: rotate(360deg); } }

/* ========== Header (pfk-header) – fixed όπως pfk-header.php ========== */
#pfk-header {
  box-sizing: border-box;
}
#pfk-header * { box-sizing: border-box; }
#pfk-header.pfk-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 9998;
  isolation: isolate;
  background: var(--pfk-bg);
  border-bottom: 1px solid var(--pfk-line);
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
#pfk-header .pfk-header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--pfk-s12) var(--pfk-s16);
  display: flex;
  align-items: center;
  gap: var(--pfk-s16);
  flex-wrap: nowrap;
}

#pfk-header .pfk-logo-row { flex: 0 0 auto; }
#pfk-header .pfk-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
#pfk-header .pfk-logo img { height: 44px; width: auto; display: block; }

#pfk-header .pfk-pill-row { flex: 1 1 auto; min-width: 0; }
#pfk-header .pfk-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px 5px 12px;
  border-radius: 999px;
  background: #f1f5f9;
  border: 1px solid rgba(15, 23, 42, 0.08);
  transition: var(--pfk-trans);
  max-width: 720px;
}
#pfk-header .pfk-pill:hover { border-color: rgba(15, 23, 42, 0.35); }
#pfk-header .pfk-pill-ic { color: rgba(15, 23, 42, 0.55); flex: 0 0 auto; }
#pfk-header .pfk-pill-input {
  flex: 1 1 auto;
  border: 0;
  background: transparent;
  padding: 8px 6px;
  text-align: left;
  font-size: 15px;
  color: rgba(15, 23, 42, 0.55);
  cursor: pointer;
  outline: none;
}
#pfk-header .pfk-pill-input:hover { color: rgba(15, 23, 42, 0.68); }
#pfk-header .pfk-pill-div {
  width: 1px;
  height: 20px;
  background: rgba(15, 23, 42, 0.1);
  margin: 0 6px;
  flex: 0 0 auto;
}
#pfk-header .pfk-pill-burger {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  border-radius: var(--pfk-radius-sm);
  cursor: pointer;
  color: var(--pfk-ink);
  transition: var(--pfk-trans);
}
#pfk-header .pfk-pill-burger:hover {
  background: rgba(2, 6, 23, 0.05);
  color: var(--pfk-accent);
}

#pfk-header .pfk-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
#pfk-header .pfk-icon-btn {
  position: relative;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  cursor: pointer;
  color: #0f172a;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .14s ease;
  text-decoration: none;
  font: inherit;
}
#pfk-header .pfk-icon-btn:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.09);
  transform: translateY(-1px);
}
#pfk-header button.pfk-icon-btn { padding: 0; appearance: none; }
#pfk-header .pfk-cart-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #c1121f;
  color: #f8fafc;
  font-size: 11px;
  font-weight: 600;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  line-height: 1;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 0;
  box-shadow: 0 0 0 2px #fff, 0 4px 10px rgba(15, 23, 42, 0.14);
  -webkit-font-smoothing: antialiased;
}
#pfk-header .pfk-cart-badge:empty { display: inline-flex !important; }
#pfk-header .pfk-wishlist-wrap { position: relative; }
#pfk-header .pfk-wishlist-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #0f172a;
  color: #f8fafc;
  font-size: 11px;
  font-weight: 600;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  line-height: 1;
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 0;
  box-shadow: 0 0 0 2px #fff, 0 4px 10px rgba(15, 23, 42, 0.14);
  -webkit-font-smoothing: antialiased;
}
#pfk-header .pfk-wishlist-badge:empty { display: none !important; }

/* Account dropdown (desktop) – όπως pfk-header.php */
#pfk-header .pfk-account-wrap { position: relative; }
#pfk-header .pfk-account-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: var(--pfk-s8);
  min-width: 220px;
  background: var(--pfk-bg);
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  z-index: 100;
  display: none;
  overflow: hidden;
  box-shadow: var(--pfk-shadow-elevated);
}
#pfk-header .pfk-account-dropdown[aria-hidden="false"] { display: block; }
#pfk-header .pfk-account-dropdown::before {
  content: '';
  position: absolute;
  top: -8px;
  right: 16px;
  width: 14px;
  height: 14px;
  background: var(--pfk-bg);
  border-left: 1px solid var(--pfk-line);
  border-top: 1px solid var(--pfk-line);
  transform: rotate(45deg);
}
#pfk-header .pfk-account-dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--pfk-ink);
  text-decoration: none;
  transition: background 0.15s ease;
}
#pfk-header .pfk-account-dropdown-item:hover { background: #f8fafc; color: var(--pfk-ink); }
#pfk-header .pfk-account-dropdown-icon { flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: var(--pfk-muted); }
#pfk-header .pfk-account-dropdown-item:hover .pfk-account-dropdown-icon { color: var(--pfk-accent); }
#pfk-header .pfk-account-dropdown-sep { height: 1px; background: var(--pfk-line); margin: 4px 0; }
#pfk-header .pfk-account-dropdown-item--action {
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  appearance: none;
}

/* Mini-cart dropdown (desktop) – όπως pfk-header.php */
#pfk-header .pfk-cart-wrap { position: relative; }
#pfk-header .pfk-desk-mini-cart.pfk-mini-cart {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 10px;
  width: 360px;
  max-width: calc(100vw - 24px);
  background: var(--pfk-bg);
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  z-index: 100;
  display: none;
  overflow: visible;
}
#pfk-header .pfk-desk-mini-cart.pfk-mini-cart[aria-hidden="false"] { display: block; }
#pfk-header .pfk-desk-mini-cart.pfk-mini-cart::before {
  content: '';
  position: absolute;
  top: -8px;
  right: 16px;
  width: 14px;
  height: 14px;
  background: var(--pfk-bg);
  border-left: 1px solid var(--pfk-line);
  border-top: 1px solid var(--pfk-line);
  transform: rotate(45deg);
}
#pfk-header .pfk-mini-cart-inner { padding: var(--pfk-s16); overflow: hidden; border-radius: var(--pfk-radius); background: var(--pfk-bg); }
#pfk-header .pfk-mini-cart-title { margin: 0 0 12px; font-size: 16px; font-weight: 700; color: var(--pfk-ink); }
#pfk-header .pfk-mini-cart-list { list-style: none; margin: 0 0 12px; padding: 0; max-height: 280px; overflow-y: auto; }
#pfk-header .pfk-mini-cart-item { display: flex; align-items: flex-start; gap: var(--pfk-s8); padding: var(--pfk-s12) 0; border-bottom: 1px solid var(--pfk-line); }
#pfk-header .pfk-mini-cart-item:last-child { border-bottom: 0; }
#pfk-header .pfk-mini-cart-item-with-qty { flex-wrap: wrap; }
#pfk-header .pfk-mini-cart-item-with-qty .pfk-mini-cart-item-link { flex: 1 1 auto; min-width: 0; }
#pfk-header .pfk-mini-cart-item-link { display: flex; gap: 10px; text-decoration: none; color: inherit; }
#pfk-header .pfk-mini-cart-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: var(--pfk-radius-sm); flex-shrink: 0; }
#pfk-header .pfk-mini-cart-item-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#pfk-header .pfk-mini-cart-item-name { font-weight: var(--pfk-font-semibold); font-size: var(--pfk-small); line-height: 1.3; color: var(--pfk-ink); }
#pfk-header .pfk-mini-cart-item-meta { font-size: var(--pfk-meta); color: var(--pfk-muted); }
#pfk-header .pfk-mini-cart-item-price { font-size: var(--pfk-small); font-weight: 700; letter-spacing: -0.015em; color: var(--pfk-ink); }
#pfk-header .pfk-mini-cart-item-actions { display: flex; flex-direction: row; align-items: center; gap: 8px; flex-shrink: 0; }
#pfk-header .pfk-mini-cart-qty-wrap { display: flex; align-items: center; border: 1px solid var(--pfk-line); border-radius: var(--pfk-radius-sm); overflow: hidden; }
#pfk-header .pfk-mini-cart-qty-wrap .pfk-qty-btn { width: 28px; height: 28px; display: grid; place-items: center; border: 0; background: #f8fafc; color: var(--pfk-ink); cursor: pointer; font-size: 14px; padding: 0; font: inherit; transition: background 0.15s; }
#pfk-header .pfk-mini-cart-qty-wrap .pfk-qty-btn:hover { background: #f1f5f9; }
#pfk-header .pfk-mini-cart-qty-val { min-width: 24px; text-align: center; font-size: 13px; font-weight: 500; }
#pfk-header .pfk-mini-cart-remove-link,
#pfk-header .pfk-mini-cart-item-actions .pfk-remove-item { flex-shrink: 0; width: 28px; height: 28px; display: grid; place-items: center; color: var(--pfk-muted); font-size: 18px; line-height: 1; border-radius: var(--pfk-radius-sm); transition: var(--pfk-trans); background: 0; border: 0; cursor: pointer; padding: 0; font: inherit; }
#pfk-header .pfk-mini-cart-remove-link:hover,
#pfk-header .pfk-mini-cart-item-actions .pfk-remove-item:hover { background: #fef2f2; color: #dc2626; }
#pfk-header .pfk-mini-cart-head { display: flex; align-items: center; gap: var(--pfk-s8); margin-bottom: var(--pfk-s12); }
#pfk-header .pfk-mini-cart-head .pfk-mini-cart-title { margin: 0; }
#pfk-header .pfk-mini-cart-count { font-size: var(--pfk-meta); font-weight: var(--pfk-font-medium); color: var(--pfk-muted); }
#pfk-header .pfk-mini-cart-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--pfk-s24) var(--pfk-s16); text-align: center; }
#pfk-header .pfk-mini-cart-empty-icon { color: var(--pfk-muted); opacity: 0.58; margin-bottom: var(--pfk-s12); }
#pfk-header .pfk-mini-cart-empty-icon .lucide,
#pfk-header .pfk-mini-cart-empty-icon .pfk-lucide {
  width: 56px;
  height: 56px;
}
#pfk-header .pfk-mini-cart-empty-text { margin: 0 0 var(--pfk-s8); color: var(--pfk-muted); font-size: var(--pfk-body); }
#pfk-header .pfk-mini-cart-empty-hint { margin: 0 0 var(--pfk-s16); color: var(--pfk-muted); font-size: var(--pfk-small); line-height: 1.4; max-width: 200px; }
#pfk-header .pfk-mini-cart-empty-cta { display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; font-weight: var(--pfk-font-semibold); font-size: var(--pfk-body); color: #fff; background: var(--pfk-primary); border-radius: var(--pfk-radius); text-decoration: none; transition: var(--pfk-trans); }
#pfk-header .pfk-mini-cart-empty-cta:hover { background: var(--pfk-primary-hover); filter: brightness(0.97); }
#pfk-header .pfk-mini-cart-totals { display: flex; flex-direction: column; gap: 6px; padding: var(--pfk-s12) 0; margin-bottom: var(--pfk-s12); border-top: 1px solid var(--pfk-line); }
#pfk-header .pfk-mini-cart-totals-row { display: flex; justify-content: space-between; font-size: var(--pfk-small); color: var(--pfk-muted); }
#pfk-header .pfk-mini-cart-totals-row span:last-child { color: var(--pfk-ink); font-weight: var(--pfk-font-medium); }
#pfk-header .pfk-mini-cart-totals-total { font-size: var(--pfk-body); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink) !important; padding-top: 6px; margin-top: 4px; border-top: 1px solid var(--pfk-line); }
#pfk-header .pfk-mini-cart-totals-total span:last-child { font-size: 1.05rem; }
#pfk-header .pfk-mini-cart-actions { display: flex; flex-direction: column; gap: var(--pfk-s8); }
#pfk-header .pfk-mini-cart-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 44px; padding: 0 var(--pfk-s16); text-align: center; font-weight: var(--pfk-font-semibold); font-size: var(--pfk-body); border-radius: var(--pfk-radius); text-decoration: none; transition: var(--pfk-trans); }
#pfk-header .pfk-mini-cart-btn-primary { color: #fff; background: var(--pfk-primary); }
#pfk-header .pfk-mini-cart-btn-primary:hover { background: var(--pfk-primary-hover); filter: brightness(0.97); }
#pfk-header .pfk-mini-cart-btn-secondary { color: var(--pfk-ink); background: var(--pfk-f-bg); border: 1px solid var(--pfk-line); }
#pfk-header .pfk-mini-cart-btn-secondary {
  color: #fff;
  background: #e53233;
  border: 1px solid #e53233;
}
#pfk-header .pfk-mini-cart-btn-secondary:hover {
  background: #cf2b2c;
  border-color: #cf2b2c;
}
#pfk-header .pfk-mini-cart-btn:active { transform: scale(0.97); }

@media (max-width: 1024px) {
  #pfk-header .pfk-desk-mini-cart.pfk-mini-cart { width: 320px; right: -8px; }
  #pfk-header .pfk-desk-mini-cart.pfk-mini-cart::before { right: 24px; }
}

/* Χωρίς κενό πάνω από το header */
html, body { margin: 0; padding: 0; }
#pfk-header-root { margin: 0; padding: 0; }

/* Mobile/tablet: 2 γραμμές — 1η logo, 2η απλωμένο. Χωρίς καλάθι. Ακριβώς όπως pfk-header.php */
@media (max-width: 1024px) {
  #pfk-header .pfk-desktop-only { display: none !important; }
  #pfk-header .pfk-actions { display: none !important; }
  #pfk-header .pfk-header-inner {
    flex-direction: column;
    align-items: stretch;
    padding: 10px 12px 8px;
    gap: 0;
    overflow: hidden;
    transition: padding 0.4s cubic-bezier(0.4, 0, 0.2, 1), gap 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  #pfk-header .pfk-logo-row {
    flex: 0 0 auto;
    width: 100%;
    padding: 8px 0 10px;
    margin-bottom: 6px;
    overflow: hidden;
    max-height: 72px;
    min-height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease, margin 0.3s ease;
  }
  #pfk-header .pfk-logo { display: block; }
  #pfk-header .pfk-logo img { height: 42px; width: auto; display: block; }
  #pfk-header .pfk-pill-row { flex: 0 0 auto; width: 100%; min-width: 0; padding: 0; }
  #pfk-header .pfk-pill { max-width: none; width: 100%; padding: 5px 10px 5px 12px; }
  #pfk-header .pfk-pill-input { font-size: 14px; }
  #pfk-header .pfk-pill-burger { width: 32px; height: 32px; flex-shrink: 0; }
  /* Scroll: πραγματικό collapse — max-height 0 ώστε να μην μένει κενό */
  #pfk-header.pfk-mobile-collapsed .pfk-logo-row {
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    min-height: 0;
  }
  #pfk-header.pfk-mobile-collapsed .pfk-header-inner {
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

/* ========== Search overlay (premium shell — catalog-aligned) ========== */
#pfk-search-overlay.pfk-search {
  position: fixed;
  inset: 0;
  z-index: 10000020;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  padding-top: max(12px, env(safe-area-inset-top, 0px));
  padding-bottom: max(24px, calc(16px + env(safe-area-inset-bottom, 0px)));
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.22s ease, visibility 0.22s ease;
}
#pfk-search-overlay.pfk-search { display: none; }
#pfk-search-overlay.pfk-search[aria-hidden="false"] { display: block !important; }
#pfk-search-overlay.pfk-search.pfk-search-open {
  opacity: 1;
  visibility: visible;
}

/* Mobile/tablet: panel anchored below header — not vertically centered */
@media (max-width: 1023px) {
  #pfk-search-overlay.pfk-search.pfk-search-open[aria-hidden="false"] {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
}
#pfk-search-overlay .pfk-search-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
#pfk-search-overlay.pfk-search--shell .pfk-search-shell {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 24px), 520px);
  margin: calc(var(--pfk-archive-sticky-top, 118px) + 8px) auto 0;
  background: #fff;
  border-radius: 20px;
  padding: 14px 16px 16px;
  box-shadow: 0 24px 48px -12px rgba(15, 23, 42, 0.22);
  border: 1px solid rgba(30, 41, 59, 0.08);
  transform: translateY(6px);
  opacity: 0.96;
  transition: transform 0.28s cubic-bezier(0.34, 1.2, 0.64, 1), opacity 0.28s ease;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-height: min(92dvh, 620px);
  overflow: hidden;
  box-sizing: border-box;
}

/* Mobile/tablet: shell tight under header (minimal gap; offset pulls panel up) */
@media (max-width: 1023px) {
  #pfk-search-overlay.pfk-search {
    padding-top: env(safe-area-inset-top, 0px);
  }
  #pfk-search-overlay.pfk-search--shell .pfk-search-shell {
    margin-top: max(0px, calc(var(--pfk-archive-sticky-top, 118px) - 8px));
    margin-bottom: 0;
    flex-shrink: 0;
    width: min(calc(100% - 20px), 520px);
  }
}
#pfk-search-overlay.pfk-search-open.pfk-search--shell .pfk-search-shell {
  transform: translateY(0);
  opacity: 1;
}
/* Γραμμή αναζήτησης: ενιαίο pill — loupe | input | κλείσιμο */
#pfk-search-overlay .pfk-search-shell__action-row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-shrink: 0;
}
#pfk-search-overlay .pfk-search-shell__field {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 4px 2px 12px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid rgba(30, 41, 59, 0.1);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
#pfk-search-overlay .pfk-search-shell__field:focus-within {
  background: #fff;
  border-color: rgba(30, 41, 59, 0.2);
  box-shadow: 0 0 0 3px rgba(30, 41, 59, 0.05);
}
#pfk-search-overlay .pfk-search-shell__field-icon {
  flex-shrink: 0;
  color: #94a3b8;
  display: grid;
  place-items: center;
  opacity: 0.92;
}
#pfk-search-overlay .pfk-search-shell__field-icon .pfk-lucide,
#pfk-search-overlay .pfk-search-shell__field-icon .lucide {
  width: 17px;
  height: 17px;
}
#pfk-search-overlay .pfk-search-input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  min-height: 42px;
  padding: 8px 6px 8px 0;
  border: none;
  outline: none;
  font-size: 16px;
  background: transparent;
  color: #0f172a;
  letter-spacing: -0.01em;
}
#pfk-search-overlay .pfk-search-input::placeholder {
  color: #94a3b8;
}
#pfk-search-overlay .pfk-search-shell__clear {
  flex-shrink: 0;
  align-self: stretch;
  width: 40px;
  min-width: 40px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0 999px 999px 0;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
  color: #94a3b8;
  transition: color 0.15s ease, background 0.15s ease, width 0.16s ease, min-width 0.16s ease, opacity 0.16s ease;
}
#pfk-search-overlay .pfk-search-shell__clear:hover {
  color: #64748b;
  background: rgba(30, 41, 59, 0.06);
}
#pfk-search-overlay .pfk-search-shell__clear .pfk-lucide,
#pfk-search-overlay .pfk-search-shell__clear .lucide {
  width: 16px;
  height: 16px;
}
#pfk-search-overlay .pfk-search-shell__clear.pfk-search-shell__clear--concealed {
  width: 0;
  min-width: 0;
  padding: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}
/* Legacy class names (if any cached markup) */
#pfk-search-overlay .pfk-search-box {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 24px), 560px);
  margin: 40px auto 24px;
  background: var(--pfk-bg);
  border-radius: 16px;
  padding: 16px 20px 20px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(15, 23, 42, 0.08);
}
#pfk-search-overlay .pfk-search-results {
  margin-top: 16px;
  max-height: 60vh;
  overflow-y: auto;
  padding-right: 4px;
}
/* Shell: μόνο η περιοχή προτάσεων κυλά όταν χρειάζεται — ύψος ~περιεχόμενο, όριο μόνο όταν μεγαλώνει */
#pfk-search-overlay.pfk-search--shell .pfk-search-results {
  flex: 0 1 auto;
  min-height: 0;
  margin-top: 10px;
  padding-right: 2px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  max-height: min(56vh, calc(100vh - 200px));
}
@supports (height: 1dvh) {
  #pfk-search-overlay.pfk-search--shell .pfk-search-results {
    max-height: min(56dvh, calc(100dvh - 200px));
  }
}
#pfk-search-overlay .pfk-search-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 4px 10px;
  color: #94a3b8;
  font-size: 13px;
}
#pfk-search-overlay .pfk-search-loading.hidden { display: none !important; }
#pfk-search-overlay .pfk-search-loading-dots {
  display: flex;
  gap: 4px;
}
#pfk-search-overlay .pfk-search-loading-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--pfk-muted);
  animation: pfk-search-dot 1.4s ease-in-out infinite both;
}
#pfk-search-overlay .pfk-search-loading-dots span:nth-child(1) { animation-delay: -0.32s; }
#pfk-search-overlay .pfk-search-loading-dots span:nth-child(2) { animation-delay: -0.16s; }
@keyframes pfk-search-dot {
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.5; }
  40% { transform: scale(1); opacity: 1; }
}
#pfk-search-overlay .pfk-search-content.hidden { display: none !important; }
#pfk-search-overlay.pfk-search--shell .pfk-search-content {
  overflow-x: hidden;
  min-width: 0;
}
#pfk-search-overlay .pfk-search-section.pfk-search-section--suggest {
  margin-bottom: 14px;
}
#pfk-search-overlay .pfk-search-section.pfk-search-section--suggest:last-child {
  margin-bottom: 0;
}
#pfk-search-overlay .pfk-search-section-title {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: #64748b;
  margin: 0 0 6px 2px;
}
#pfk-search-overlay .pfk-search-suggest-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
#pfk-search-overlay .pfk-search-suggest-list--typed {
  margin-top: 2px;
  gap: 0;
}
#pfk-search-overlay .pfk-search-suggest-list--typed .pfk-search-suggest-item + .pfk-search-suggest-item {
  border-top: 1px solid rgba(15, 23, 42, 0.065);
}
#pfk-search-overlay .pfk-search-suggest-list--typed .pfk-search-suggest-item--primary {
  border-bottom: 1px solid rgba(15, 23, 42, 0.09);
  margin-bottom: 3px;
  padding-bottom: 1px;
}
#pfk-search-overlay .pfk-search-suggest-list--typed .pfk-search-suggest-item--primary + .pfk-search-suggest-item {
  border-top: none;
}
#pfk-search-overlay .pfk-search-suggest-item--keyword + .pfk-search-suggest-item--product {
  margin-top: 4px;
  padding-top: 4px;
  border-top-color: rgba(15, 23, 42, 0.09);
}
#pfk-search-overlay .pfk-search-suggest-row {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 46px;
  padding: 10px 9px 10px 7px;
  margin: 0 -4px;
  border-radius: 12px;
  color: #0f172a;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: -0.01em;
  transition: background 0.12s ease;
  box-sizing: border-box;
}
#pfk-search-overlay .pfk-search-suggest-row:hover {
  background: rgba(30, 41, 59, 0.045);
}
/* Ιεραρχία τύπων προτάσεων */
#pfk-search-overlay .pfk-search-suggest-row--primary {
  font-size: 14px;
  font-weight: 500;
  color: #334155;
  min-height: 48px;
}
#pfk-search-overlay .pfk-search-suggest-row--primary .pfk-search-suggest-row__icon {
  color: #94a3b8;
}
#pfk-search-overlay .pfk-search-suggest-row--keyword {
  font-size: 15px;
  color: #0f172a;
}
#pfk-search-overlay .pfk-search-suggest-row--product {
  font-size: 14px;
  color: #475569;
  line-height: 1.42;
}
#pfk-search-overlay .pfk-search-suggest-row--saved {
  font-size: 14px;
  color: #334155;
}
#pfk-search-overlay .pfk-search-suggest-row--popular {
  font-size: 15px;
}
#pfk-search-overlay .pfk-search-suggest-row__icon {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  color: #cbd5e1;
  width: 22px;
}
#pfk-search-overlay .pfk-search-suggest-row__icon .pfk-lucide,
#pfk-search-overlay .pfk-search-suggest-row__icon .lucide {
  width: 15px;
  height: 15px;
  stroke-width: 1.85;
}
#pfk-search-overlay .pfk-search-suggest-row:hover .pfk-search-suggest-row__icon {
  color: #94a3b8;
}
#pfk-search-overlay .pfk-search-suggest-row--primary:hover .pfk-search-suggest-row__icon,
#pfk-search-overlay .pfk-search-suggest-row--keyword:hover .pfk-search-suggest-row__icon {
  color: #64748b;
}
#pfk-search-overlay .pfk-search-suggest-row__text {
  flex: 1 1 auto;
  min-width: 0;
}
#pfk-search-overlay .pfk-search-suggest-match {
  font-weight: 600;
  color: #0f172a;
  padding: 0.08em 0.22em;
  margin: 0 -0.06em;
  border-radius: 5px;
  background: rgba(30, 41, 59, 0.07);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
#pfk-search-overlay .pfk-search-suggest-match--primary {
  font-weight: 700;
  background: rgba(30, 41, 59, 0.1);
  color: #0f172a;
}
#pfk-search-overlay .pfk-search-suggest-row--product .pfk-search-suggest-match {
  font-weight: 600;
  background: rgba(30, 41, 59, 0.06);
  color: #1e293b;
}
#pfk-search-overlay .pfk-search-suggest-hint {
  margin: 10px 2px 0;
  font-size: 12px;
  line-height: 1.45;
  color: #94a3b8;
}
#pfk-search-overlay .pfk-search-empty-hint {
  color: #94a3b8;
  font-size: 13px;
  padding: 10px 4px 4px;
  margin: 0;
}

/* ========== Drawer (όπως pfk-header.php – Skroutz style) ========== */
#pfk-drawer-dim.pfk-dim {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.32s ease;
  z-index: 9998;
}
#pfk-drawer-dim.pfk-dim[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}

#pfk-mobile-drawer.pfk-drawer {
  --pfk-drawer-accent: var(--pfk-primary);
  position: fixed;
  inset: 0 auto 0 0;
  width: 300px;
  max-width: 85vw;
  background: #fff;
  translate: -100% 0;
  transition: translate 0.32s cubic-bezier(0.33, 1, 0.68, 1);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--pfk-line);
  box-shadow: none;
}
#pfk-mobile-drawer.pfk-drawer[aria-hidden="false"] { translate: 0 0; }

#pfk-mobile-drawer .pfk-drawer-head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--pfk-line);
  background: #fff;
  flex-shrink: 0;
}
#pfk-mobile-drawer .pfk-drawer-head .pfk-close {
  order: -1;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  background: var(--pfk-bg);
  cursor: pointer;
  color: var(--pfk-ink);
  transition: var(--pfk-trans);
}
#pfk-mobile-drawer .pfk-drawer-head .pfk-close:hover { background: #f1f5f9; }
#pfk-mobile-drawer .pfk-drawer-title {
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--pfk-ink);
  flex: 1;
}
#pfk-mobile-drawer .pfk-drawer-body {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  position: relative;
}
#pfk-mobile-drawer .pfk-drawer-body a {
  display: block;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 500;
  color: var(--pfk-ink);
  text-decoration: none;
  transition: background 0.15s ease;
  outline: none;
}
#pfk-mobile-drawer .pfk-drawer-body a:hover { background: #f8fafc; }


/* ===== Live PFK Drawer Port (authoritative override) ===== */
#pfk-mobile-drawer.pfk-drawer{
  --pfk-drawer-accent: var(--pfk-primary);
  position:fixed;
  inset:0 auto 0 0;
  width:300px;
  max-width:85vw;
  background:#fff;
  translate:-100% 0;
  transition:translate .28s cubic-bezier(.4,0,.2,1);
  z-index:9999;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--pfk-line);
  box-shadow:none;
}
#pfk-mobile-drawer.pfk-drawer[aria-hidden="false"]{ translate:0 0; }
#pfk-mobile-drawer .pfk-drawer-head{
  display:flex; align-items:center; justify-content:flex-start; gap:16px;
  padding:16px 20px; border-bottom:1px solid var(--pfk-line); background:#fff; flex-shrink:0;
}
#pfk-mobile-drawer .pfk-drawer-head .pfk-close{ order:-1; flex-shrink:0; }
#pfk-mobile-drawer .pfk-drawer-title{
  font-size:17px; font-weight:600; letter-spacing:.01em; color:var(--pfk-ink); flex:1;
}
#pfk-mobile-drawer .pfk-drawer-body{
  padding:0; overflow:hidden; display:flex; flex-direction:column; flex:1; min-height:0; position:relative;
}
#pfk-mobile-drawer .pfk-drawer-content{
  flex:1; min-height:0; display:flex; flex-direction:row; position:relative; overflow:hidden;
}
#pfk-mobile-drawer .pfk-drawer-main{
  min-width:0; border-right:1px solid var(--pfk-line); overflow-y:auto; -webkit-overflow-scrolling:touch;
}
#pfk-mobile-drawer .pfk-drawer-menu{
  list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; overflow:visible;
}
#pfk-mobile-drawer .pfk-drawer-menu li{ margin:0; }
#pfk-mobile-drawer .pfk-drawer-body a{
  display:block; padding:14px 20px; font-size:15px; font-weight:500; color:var(--pfk-ink); text-decoration:none; transition:background .15s ease; outline:none;
}
#pfk-mobile-drawer .pfk-drawer-menu > li.pfk-has-sub{ display:flex; flex-wrap:wrap; align-items:center; }
#pfk-mobile-drawer .pfk-drawer-menu > li.pfk-has-sub > a{ flex:1 1 auto; min-width:0; }
#pfk-mobile-drawer .pfk-drawer-expand{
  flex:0 0 auto; width:44px; height:44px; display:grid; place-items:center; border:0; background:transparent; cursor:pointer; color:var(--pfk-muted); transition:var(--pfk-trans); outline:none;
}
#pfk-mobile-drawer .pfk-drawer-expand:hover{ color:var(--pfk-drawer-accent,var(--pfk-primary)); }
#pfk-mobile-drawer .pfk-drawer-menu > li.pfk-has-sub .sub-menu{ display:none !important; }
#pfk-mobile-drawer .pfk-drawer-menu > li.pfk-has-sub:hover{ box-shadow:inset 4px 0 0 var(--pfk-drawer-accent,var(--pfk-primary)); }
#pfk-mobile-drawer .pfk-drawer-menu > li.pfk-has-sub:hover > a,
#pfk-mobile-drawer .pfk-drawer-menu > li.pfk-has-sub:hover > .pfk-drawer-expand{ color:var(--pfk-drawer-accent,var(--pfk-primary)); }

#pfk-mobile-drawer .pfk-drawer-sub-panel{
  position:absolute; top:0; left:50%; width:50%; right:0; bottom:0; display:flex; flex-direction:column;
  background:#fff; border-left:1px solid var(--pfk-line); padding:16px 20px; overflow-y:auto; visibility:hidden; opacity:0;
  transition:visibility .15s, opacity .15s; z-index:2;
}
#pfk-mobile-drawer .pfk-drawer-sub-panel.is-desktop-visible{ visibility:visible; opacity:1; }
#pfk-mobile-drawer .pfk-drawer-sub-panel.pfk-drawer-sub-sub-panel{
  left:50%; right:0; z-index:3; visibility:hidden; opacity:0; transform:translateX(20px);
  transition:transform .28s cubic-bezier(.4,0,.2,1), visibility .2s, opacity .2s;
}
#pfk-mobile-drawer .pfk-drawer-sub-panel.pfk-drawer-sub-sub-panel.is-active{
  visibility:visible; opacity:1; transform:translateX(0);
}
#pfk-mobile-drawer .pfk-drawer-title-wrap{
  flex-direction:column; align-items:flex-start; border:0; padding:0 0 12px; margin-bottom:8px; border-bottom:1px solid var(--pfk-line);
}
#pfk-mobile-drawer .pfk-drawer-sub-panel:not(.pfk-drawer-sub-sub-panel) .pfk-drawer-back{ display:none; }
#pfk-mobile-drawer .pfk-drawer-sub-panel.pfk-drawer-sub-sub-panel .pfk-drawer-back{
  display:flex; align-items:center; gap:10px; width:100%; padding:14px 20px; border:0; background:#f8fafc;
  font-size:15px; font-weight:600; color:var(--pfk-ink); cursor:pointer; text-align:left;
}
#pfk-mobile-drawer .pfk-drawer-sub-panel .pfk-drawer-heading{ padding:0; margin:0; font-size:18px; }
#pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu{
  display:block !important; list-style:none; margin:0; padding:0;
}
#pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu a{
  display:block; padding:10px 0; font-size:14px; color:var(--pfk-ink); text-decoration:none;
}
#pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu .sub-menu{ display:none !important; }
#pfk-mobile-drawer .pfk-drawer-see-all-link{ font-weight:600; color:var(--pfk-drawer-accent,var(--pfk-primary)) !important; }

@media (min-width:1025px){
  #pfk-mobile-drawer.pfk-drawer{ width:560px; max-width:92vw; }
  #pfk-mobile-drawer .pfk-drawer-content{ display:grid; grid-template-columns:1fr 1fr; }
}
@media (max-width:1024px){
  #pfk-mobile-drawer .pfk-drawer-head{ justify-content:center; position:relative; }
  #pfk-mobile-drawer .pfk-drawer-head .pfk-drawer-title{ flex:0 0 auto; }
  #pfk-mobile-drawer .pfk-drawer-head .pfk-close{ order:1; position:absolute; right:20px; top:50%; transform:translateY(-50%); }
  #pfk-mobile-drawer.pfk-drawer{
    inset:auto 0 0 0; top:max(36px, env(safe-area-inset-top, 0px)); left:0; right:0; width:100%; max-width:100%;
    height:auto; min-height:60vh; max-height:calc(100vh - max(36px, env(safe-area-inset-top, 0px)));
    translate:0 100%; border-radius:20px 20px 0 0; border-right:0; border-top:1px solid var(--pfk-line); overflow:hidden;
  }
  #pfk-mobile-drawer.pfk-drawer[aria-hidden="false"]{ translate:0 0; }
  #pfk-mobile-drawer .pfk-drawer-main{
    width:100%; flex-shrink:0; overflow-y:auto; overflow-x:hidden; min-height:0; transition:transform .28s cubic-bezier(.4,0,.2,1);
  }
  #pfk-mobile-drawer .pfk-drawer-body.pfk-sub-open .pfk-drawer-main{ transform:translateX(-100%); }
  #pfk-mobile-drawer .pfk-drawer-sub-panel{
    position:absolute; top:0; left:0; width:100%; height:100%; min-height:0; display:flex; flex-direction:column; background:#fff;
    transform:translateX(100%); transition:transform .28s cubic-bezier(.4,0,.2,1); overflow:hidden; padding:0; border-left:0;
    visibility:visible; opacity:1;
  }
  #pfk-mobile-drawer .pfk-drawer-sub-panel.is-active{ transform:translateX(0); }
  #pfk-mobile-drawer .pfk-drawer-sub-panel .pfk-drawer-back{
    display:flex; align-items:center; gap:10px; width:100%; padding:14px 20px; border:0; background:#f8fafc;
    font-size:15px; font-weight:600; color:var(--pfk-ink); cursor:pointer; text-align:left;
  }
  #pfk-mobile-drawer .pfk-drawer-heading{ margin:0; padding:12px 20px 14px; font-size:17px; font-weight:600; color:var(--pfk-ink); }
  #pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu{
    display:block !important; margin:0; padding:0; list-style:none; overflow-y:auto; overflow-x:hidden; flex:1; min-height:0;
  }
  #pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu a{ padding:14px 20px; font-size:15px; font-weight:500; }
}

/* ========== Footer (pfk-footer) – όπως pfk-footer.php ========== */
#pfk-footer.pfk-footer {
  --pfk-f-bg: #f8fafc;
  --pfk-f-ink: #1a1a1a;
  --pfk-f-muted: #64748b;
  --pfk-f-line: #e2e8f0;
  --pfk-f-bottom: #fff;
  box-sizing: border-box;
}

/* ===== STRICT Drawer alignment + fidelity fixes ===== */
#pfk-mobile-drawer {
  --pfk-drawer-red: #e30613;
}

#pfk-mobile-drawer .pfk-drawer-menu li,
#pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu li {
  position: relative;
}

#pfk-mobile-drawer .pfk-drawer-menu li > a,
#pfk-mobile-drawer .pfk-drawer-sub-link,
#pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu a {
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  padding: 0 56px 0 20px;
  text-align: left;
}

#pfk-mobile-drawer .pfk-drawer-expand {
  position: absolute;
  right: 10px;
  top: 0;
  width: 44px;
  height: 48px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#pfk-mobile-drawer .pfk-drawer-see-all-link {
  color: var(--pfk-drawer-red);
}

#pfk-mobile-drawer .pfk-drawer-main > .pfk-drawer-menu > li:hover > a,
#pfk-mobile-drawer .pfk-drawer-main > .pfk-drawer-menu > li.is-active > a,
#pfk-mobile-drawer .pfk-drawer-main > .pfk-drawer-menu > li:hover > .pfk-drawer-expand,
#pfk-mobile-drawer .pfk-drawer-main > .pfk-drawer-menu > li.is-active > .pfk-drawer-expand {
  color: var(--pfk-drawer-red);
}

#pfk-mobile-drawer .pfk-drawer-see-all {
  border-bottom: 1px solid var(--pfk-line);
}
#pfk-mobile-drawer .pfk-drawer-see-all-link {
  font-weight: 600;
}

#pfk-mobile-drawer .pfk-drawer-title-wrap {
  margin-bottom: 0;
}

#pfk-mobile-drawer .pfk-drawer-heading {
  margin: 0;
  line-height: 1.25;
}

/* Desktop + tablet drawer */
@media (min-width: 768px) {
  #pfk-mobile-drawer.pfk-drawer {
    width: 560px;
    max-width: 92vw;
  }

  #pfk-mobile-drawer .pfk-drawer-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }

  #pfk-mobile-drawer .pfk-drawer-main {
    border-right: 1px solid var(--pfk-line);
  }

  #pfk-mobile-drawer .pfk-drawer-sub-panel {
    left: 50%;
    width: 50%;
    padding: 12px 16px 14px;
  }

  #pfk-mobile-drawer .pfk-drawer-title-wrap {
    padding: 0 0 8px;
    margin-bottom: 4px;
  }

  #pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu a {
    min-height: 44px;
    font-size: 14px;
    padding: 0 52px 0 0;
  }

  #pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu .sub-menu a {
    min-height: 38px;
    font-size: 13px;
    color: var(--pfk-muted);
    padding-left: 12px;
  }
}

/* Mobile drawer only */
@media (max-width: 767px) {
  #pfk-mobile-drawer .pfk-drawer-content {
    position: relative;
    overflow: hidden;
  }

  #pfk-mobile-drawer .pfk-drawer-main,
  #pfk-mobile-drawer .pfk-drawer-sub-panel,
  #pfk-mobile-drawer .pfk-drawer-sub-sub-panel {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }

  #pfk-mobile-drawer .pfk-drawer-main {
    position: relative;
    transform: translateX(0);
    transition: transform .24s ease;
  }

  #pfk-mobile-drawer .pfk-drawer-sub-panel,
  #pfk-mobile-drawer .pfk-drawer-sub-sub-panel {
    position: absolute;
    inset: 0;
    left: 0;
    right: 0;
    transform: translateX(100%);
    transition: transform .24s ease;
    padding: 0;
    border-left: 0;
    background: #fff;
    visibility: visible;
    opacity: 1;
  }

  #pfk-mobile-drawer .pfk-drawer-sub-panel.is-active,
  #pfk-mobile-drawer .pfk-drawer-sub-sub-panel.is-active {
    transform: translateX(0);
  }

  #pfk-mobile-drawer .pfk-drawer-body.pfk-sub-open .pfk-drawer-main {
    transform: translateX(-100%);
  }

  #pfk-mobile-drawer .pfk-drawer-title-wrap {
    border-bottom: 1px solid var(--pfk-line);
    background: #fff;
  }

  #pfk-mobile-drawer .pfk-drawer-back {
    width: 100%;
    min-height: 52px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: left;
    font-size: 15px;
    font-weight: 600;
    background: #f7f8fa;
  }

  #pfk-mobile-drawer .pfk-drawer-heading {
    padding: 14px 20px 12px;
    font-size: 17px;
    font-weight: 700;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }

  #pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu {
    padding: 0;
    margin: 0;
  }

  #pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu a {
    min-height: 48px;
    padding: 0 56px 0 20px;
    font-size: 15px;
    font-weight: 500;
    text-align: left;
  }

  #pfk-mobile-drawer .pfk-drawer-see-all-link {
    color: var(--pfk-drawer-red) !important;
    font-weight: 500;
  }

  #pfk-mobile-drawer .pfk-drawer-expand {
    right: 8px;
    top: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.pfk-footer-top {
  background: var(--pfk-f-bg);
  color: var(--pfk-f-ink);
  padding: 10px 16px 24px;
  border-top: 1px solid var(--pfk-f-line);
}

.pfk-footer-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
}

.pfk-footer-columns {
  display: grid;
  gap: 32px 28px;
}

@media (min-width: 992px) {
  .pfk-footer-columns { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; }
}

@media (min-width: 768px) and (max-width: 991px) {
  .pfk-footer-columns { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
  .pfk-footer-columns { grid-template-columns: 1fr; gap: 24px; }
  .pfk-footer-top { padding: 10px 16px 20px; }
}

.pfk-footer-col-title {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 14px;
  color: #1a1a1a;
  display: flex;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.02em;
}

.pfk-footer-col-icon { flex-shrink: 0; width: 18px; height: 18px; color: #94a3b8; }

.pfk-footer-col-list { list-style: none; margin: 0; padding: 0; }
.pfk-footer-col-list li { margin-bottom: 10px; }
.pfk-footer-col-list a {
  color: #1a1a1a;
  text-decoration: none;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
.pfk-footer-col-list a:hover { font-weight: 700; }

.pfk-footer-col-klarna,
.pfk-footer-col-tbi { min-width: 0; }

.pfk-footer-bnpl-block { margin-bottom: 16px; }
.pfk-footer-bnpl-block:last-child { margin-bottom: 0; }
.pfk-footer-bnpl-text { font-size: 13px; font-weight: 400; color: #1a1a1a; margin: 0 0 8px; line-height: 1.5; }
.pfk-footer-bnpl-logo { display: inline-block; margin-top: 8px; }
.pfk-footer-bnpl-logo img { max-width: 100%; height: auto; display: block; }
.pfk-footer-klarna-logo img { max-height: 56px; width: auto; }
.pfk-footer-tbi-logo img { max-height: 74px; width: auto; }

.pfk-footer-bottom {
  background: var(--pfk-f-bottom);
  padding: 34px 56px 24px 16px;
  border-top: 1px solid var(--pfk-f-line);
  position: relative;
}

.pfk-footer-bank-banner { margin-bottom: 20px; }
.pfk-footer-bank-banner img { max-width: 480px; width: 100%; height: auto; display: block; margin: 0 auto; }

@media (max-width: 1023px) {
  #pfk-footer.pfk-footer { padding-bottom: 56px; }
}

.pfk-footer-bottom .pfk-footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.pfk-footer-copyright {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  color: #64748b;
  text-align: center;
  width: 100%;
}

.pfk-footer-copyright a {
  color: #1a1a1a;
  font-weight: 600;
  text-decoration: none;
}

.pfk-footer-copyright a:hover { text-decoration: underline; }

.pfk-scroll-top {
  position: fixed;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0f172a;
  z-index: 9990;
  transition: opacity 0.2s, transform 0.2s;
  right: 16px;
}

.pfk-scroll-top:hover { opacity: 0.9; }
.pfk-scroll-top.hidden { opacity: 0; pointer-events: none; transform: scale(0.9); }

@media (max-width: 1023px) {
  .pfk-scroll-top { bottom: 62px; }
}
@media (min-width: 1024px) {
  .pfk-scroll-top { bottom: 24px; }
}

/* ========== Hero (home.css hero-v3) ========== */
.hero-v3 {
  padding: 5px 0 0;
  gap: 5px;
  display: grid;
  grid-template-columns: 1fr;
  min-height: 420px;
}

.hero-main-card {
  position: relative;
  background: #e5e5e1;
  border-radius: var(--pfk-radius);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  padding: 60px;
}

.hero-main-card .hero-main-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.hero-content .tag { margin-bottom: 6px; }

.hero-content h1 {
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 800;
  letter-spacing: -0.03em;
  font-size: clamp(3.5rem, 8vw, 6rem);
  line-height: 0.9;
  margin-bottom: 10px;
}

.hero-content p {
  font-size: 1.1rem;
  max-width: 400px;
  margin-bottom: 24px;
  opacity: 0.9;
}

.hero-content .hero-cta-primary {
  display: inline-block;
  align-self: flex-start;
  padding: 16px 32px;
  margin-top: 4px;
  border-radius: 100px;
  background: #fff;
  color: #000;
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: background 0.2s, color 0.2s, transform 0.2s;
}

.hero-content .hero-cta-primary:hover {
  background: #1a1a1a;
  color: #fff;
  transform: translateY(-1px);
}

.hero-side-cards { display: grid; grid-template-rows: 1fr 1fr; gap: 5px; }

.side-card {
  background: #fff;
  border-radius: var(--pfk-radius);
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid #f0f0f0;
  transition: 0.4s cubic-bezier(0.2, 1, 0.3, 1);
}

.side-card:hover {
  transform: scale(0.98);
  background: #f9f9f9;
}

.side-card.side-card-jackets,
.side-card.side-card-sneakers {
  position: relative;
  overflow: hidden;
  background: #1a1a1a;
  color: #fff;
  justify-content: flex-end;
}

.side-card.side-card-jackets .jackets-hero-img,
.side-card.side-card-sneakers .sneakers-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}

.side-card.side-card-jackets::before,
.side-card.side-card-sneakers::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.25) 45%, transparent 70%);
  z-index: 1;
}

.side-card.side-card-jackets > div,
.side-card.side-card-jackets a,
.side-card.side-card-sneakers > div,
.side-card.side-card-sneakers a { position: relative; z-index: 2; }

.side-card h2 {
  color: #fff;
  font-size: 2.2rem;
  line-height: 1;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.side-card p {
  margin-top: 12px;
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 18rem;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
}

.side-card a {
  color: #fff;
  text-decoration: underline;
  margin-top: 20px;
  font-weight: 700;
}

@media (min-width: 1025px) {
  .hero-v3 {
    grid-template-columns: 1.2fr 0.8fr;
    height: 85vh;
    min-height: 600px;
  }
}

@media (max-width: 1024px) {
  .hero-main-card { padding: 40px 28px; min-height: 400px; }
}

/* ========== Bento grid ========== */
.bento-grid {
  padding: 15px 0 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: 300px;
  gap: 5px;
}

.bento-item {
  position: relative;
  border-radius: var(--pfk-radius);
  overflow: hidden;
  background: #e5e5e5;
  cursor: pointer;
  display: block;
}

.bento-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 1.2s cubic-bezier(0.2, 1, 0.3, 1);
}

.bento-item:hover img { transform: scale(1.1); }

.bento-label {
  position: absolute;
  bottom: 30px;
  left: 30px;
  z-index: 2;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(15px);
  padding: 15px 30px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 14px;
}

@media (max-width: 1024px) {
  .bento-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, auto);
    grid-auto-rows: auto;
    gap: 15px 5px;
  }
  .bento-1, .bento-2 { height: 320px; min-height: 320px; }
  .bento-item:not(.bento-1):not(.bento-2) { height: 260px; min-height: 260px; }
}

@media (min-width: 1025px) {
  .bento-grid {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 300px);
  }
  .bento-1 { grid-column: span 2; grid-row: span 2; }
  .bento-2 { grid-column: span 2; }
}

/* ========== Mobile Bottom Nav (όπως pfk-footer.php) ========== */
#pfk-mobile-nav.pfk-mobile-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff !important;
  justify-content: space-around;
  align-items: center;
  padding: 6px 0;
  padding-bottom: max(6px, env(safe-area-inset-bottom));
  z-index: 9980;
  isolation: isolate;
  border-top: 1px solid #e2e8f0;
}
@media (max-width: 1023px) {
  #pfk-mobile-nav.pfk-mobile-nav { display: flex !important; }
}
@media (min-width: 1024px) {
  #pfk-mobile-nav.pfk-mobile-nav { display: none !important; }
}

.pfk-mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 2px 6px;
  color: rgba(15, 23, 42, 0.75);
  text-decoration: none;
  font-size: 10px;
  background: transparent !important;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  flex: 1;
  min-width: 0;
}
.pfk-mobile-nav-item:hover,
.pfk-mobile-nav-item:focus { color: #0f172a; }
.pfk-mobile-nav-item svg { flex-shrink: 0; width: 20px; height: 20px; color: inherit; }
.pfk-mobile-nav-icon-wrap { position: relative; display: flex; }
.pfk-mobile-cart-badge {
  position: absolute;
  top: -4px;
  right: -6px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: #c1121f;
  color: #f8fafc;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  border-radius: 999px;
  border: 0;
  box-shadow: 0 0 0 2px #fff, 0 3px 8px rgba(15, 23, 42, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-font-smoothing: antialiased;
}
.pfk-mobile-cart-badge:empty { display: inline-flex !important; }

/* Mobile Cart Modal */
.pfk-cart-modal-backdrop { display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.35); backdrop-filter: blur(4px); z-index: 9998; }
.pfk-cart-modal-backdrop.show { display: block; }
#pfk-mobile-cart-modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.97);
  width: 96%;
  max-width: 420px;
  max-height: 85vh;
  background: #fff;
  border-radius: var(--pfk-radius);
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  transition: transform 0.28s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.28s ease;
  overflow: hidden;
  opacity: 0;
}
#pfk-mobile-cart-modal.show { transform: translate(-50%, -50%) scale(1); opacity: 1; display: block; }
.pfk-mobile-cart-modal-inner { display: flex; flex-direction: column; max-height: 75vh; }
.pfk-mobile-cart-modal-header { display: flex; justify-content: space-between; align-items: center; padding: var(--pfk-s16) var(--pfk-s16) var(--pfk-s12); border-bottom: 1px solid var(--pfk-line); flex-shrink: 0; }
.pfk-mobile-cart-modal-header h3 { margin: 0; font-size: var(--pfk-h3); font-weight: var(--pfk-font-bold); color: var(--pfk-ink); }
.pfk-mobile-cart-close { background: 0; border: 0; padding: var(--pfk-s8); cursor: pointer; color: var(--pfk-muted); display: flex; align-items: center; justify-content: center; }
.pfk-mobile-cart-close:hover { color: var(--pfk-ink); }
#pfk-mobile-cart-modal .pfk-mobile-cart-inner { padding: var(--pfk-s16); overflow-y: auto; flex: 1 1 auto; max-height: 50vh; }
#pfk-mobile-cart-modal #pfk-mobile-cart-empty.hidden { display: none !important; }
#pfk-mobile-cart-modal #pfk-mobile-cart-content.hidden { display: none !important; }
#pfk-mobile-cart-modal .pfk-mobile-cart-content { display: flex; flex-direction: column; gap: var(--pfk-s16); }
#pfk-mobile-cart-modal .pfk-mobile-cart-content.hidden { display: none !important; }
#pfk-mobile-cart-modal .pfk-mobile-cart-footer.hidden { display: none !important; }
#pfk-mobile-cart-modal .pfk-mobile-cart-footer { padding-top: var(--pfk-s12); border-top: 1px solid var(--pfk-line); }
#pfk-mobile-cart-modal .pfk-mobile-cart-empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--pfk-s32) var(--pfk-s16); text-align: center; }
#pfk-mobile-cart-modal .pfk-mobile-cart-empty-icon { color: var(--pfk-muted); opacity: 0.5; margin-bottom: var(--pfk-s12); }
#pfk-mobile-cart-modal .pfk-mobile-cart-empty-icon .lucide,
#pfk-mobile-cart-modal .pfk-mobile-cart-empty-icon .pfk-lucide {
  width: 56px;
  height: 56px;
  opacity: 0.75;
}
#pfk-mobile-cart-modal .pfk-mobile-cart-modal-header .lucide,
#pfk-mobile-cart-modal .pfk-mobile-cart-modal-header .pfk-lucide {
  width: 22px;
  height: 22px;
}
#pfk-mobile-cart-modal .pfk-mobile-cart-empty-text { margin: 0 0 var(--pfk-s8); color: var(--pfk-muted); font-size: var(--pfk-body); }
#pfk-mobile-cart-modal .pfk-mobile-cart-empty-hint { margin: 0 0 var(--pfk-s16); color: var(--pfk-muted); font-size: var(--pfk-small); line-height: 1.4; max-width: 220px; }
#pfk-mobile-cart-modal .pfk-mobile-cart-empty-cta { display: inline-flex; align-items: center; justify-content: center; padding: 10px 20px; font-weight: var(--pfk-font-semibold); font-size: var(--pfk-body); color: #fff; background: var(--pfk-primary); border-radius: var(--pfk-radius); text-decoration: none; transition: var(--pfk-trans); }
#pfk-mobile-cart-modal .pfk-mobile-cart-empty-cta:hover { background: var(--pfk-primary-hover); }
.pfk-mobile-cart-item { display: flex; gap: var(--pfk-s12); padding: var(--pfk-s12) 0; border-bottom: 1px solid var(--pfk-line); align-items: flex-start; }
.pfk-mobile-cart-item:last-child { border-bottom: 0; }
.pfk-mobile-cart-item-img { width: 64px; height: 80px; object-fit: cover; border-radius: var(--pfk-radius-sm); flex-shrink: 0; }
.pfk-mobile-cart-item-info { flex: 1; min-width: 0; }
.pfk-mobile-cart-item-name { margin: 0 0 4px; font-weight: var(--pfk-font-semibold); font-size: var(--pfk-small); color: var(--pfk-ink); line-height: 1.3; }
.pfk-mobile-cart-item-meta { margin: 0 0 4px; font-size: var(--pfk-meta); color: var(--pfk-muted); }
.pfk-mobile-cart-item-price { margin: 0; font-size: var(--pfk-small); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); }
.pfk-mobile-cart-item-actions { display: flex; flex-direction: row; align-items: center; gap: 8px; flex-shrink: 0; }
.pfk-mobile-cart-item-actions .pfk-mini-cart-qty-wrap { display: flex; align-items: center; border: 1px solid var(--pfk-line); border-radius: var(--pfk-radius-sm); overflow: hidden; }
.pfk-mobile-cart-item-actions .pfk-qty-btn { width: 28px; height: 28px; display: grid; place-items: center; border: 0; background: #f8fafc; color: var(--pfk-ink); cursor: pointer; font-size: 14px; padding: 0; font: inherit; }
.pfk-mobile-cart-item-actions .pfk-mini-cart-qty-val { min-width: 24px; text-align: center; font-size: 13px; font-weight: 500; }
.pfk-mobile-cart-item-actions .pfk-remove-item { width: 28px; height: 28px; display: grid; place-items: center; color: var(--pfk-muted); font-size: 18px; background: 0; border: 0; cursor: pointer; padding: 0; font: inherit; border-radius: var(--pfk-radius-sm); transition: var(--pfk-trans); }
.pfk-mobile-cart-item-actions .pfk-remove-item:hover { background: #fef2f2; color: #dc2626; }
.pfk-mobile-cart-totals { display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--pfk-s12); }
.pfk-mobile-cart-totals .pfk-mini-cart-totals-row { display: flex; justify-content: space-between; font-size: var(--pfk-body); color: var(--pfk-muted); }
.pfk-mobile-cart-totals .pfk-mini-cart-totals-row span:last-child { color: var(--pfk-ink); font-weight: var(--pfk-font-medium); }
.pfk-mobile-cart-totals .pfk-mini-cart-totals-total { font-size: 1.05rem; font-weight: var(--pfk-font-semibold); color: var(--pfk-ink) !important; padding-top: 8px; margin-top: 4px; border-top: 1px solid var(--pfk-line); }
.pfk-mobile-cart-actions { display: flex; flex-direction: column; gap: var(--pfk-s8); }
.pfk-mobile-cart-actions .pfk-mini-cart-btn { display: flex; align-items: center; justify-content: center; height: 44px; padding: 0 var(--pfk-s16); font-weight: var(--pfk-font-semibold); font-size: var(--pfk-body); border-radius: var(--pfk-radius); text-decoration: none; transition: var(--pfk-trans); }
.pfk-mobile-cart-actions .pfk-mini-cart-btn-primary { color: #fff; background: var(--pfk-primary); }
.pfk-mobile-cart-actions .pfk-mini-cart-btn-primary:hover { background: var(--pfk-primary-hover); }
.pfk-mobile-cart-actions .pfk-mini-cart-btn-secondary { color: var(--pfk-ink); background: var(--pfk-f-bg); border: 1px solid var(--pfk-line); }
.pfk-mobile-cart-actions .pfk-mini-cart-btn-secondary {
  color: #fff;
  background: #e53233;
  border: 1px solid #e53233;
}
.pfk-mobile-cart-actions .pfk-mini-cart-btn-secondary:hover {
  background: #cf2b2c;
  border-color: #cf2b2c;
}

/* Mobile Account Modal */
.pfk-account-modal-backdrop { display: none; position: fixed; inset: 0; background: rgba(15, 23, 42, 0.35); backdrop-filter: blur(4px); z-index: 9998; }
.pfk-account-modal-backdrop.show { display: block; }
#pfk-mobile-account-modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.97);
  width: 96%;
  max-width: 320px;
  background: #fff;
  border-radius: var(--pfk-radius);
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  z-index: 9999;
  transition: transform 0.28s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.28s ease;
  overflow: hidden;
  opacity: 0;
}
#pfk-mobile-account-modal.show { transform: translate(-50%, -50%) scale(1); opacity: 1; display: block; }
.pfk-mobile-account-modal-inner { display: flex; flex-direction: column; }
.pfk-mobile-account-modal-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 16px 12px; border-bottom: 1px solid #e2e8f0; }
.pfk-mobile-account-modal-header h3 { margin: 0; font-size: 16px; font-weight: 700; color: #0f172a; }
.pfk-mobile-account-close { background: 0; border: 0; padding: 6px; cursor: pointer; color: #64748b; display: flex; align-items: center; justify-content: center; }
.pfk-mobile-account-close:hover { color: #0f172a; }
#pfk-mobile-account-modal .pfk-mobile-account-menu { padding: 8px 0; }
#pfk-mobile-account-modal .pfk-account-dropdown-item { display: flex; align-items: center; gap: 14px; padding: 13px 16px; font-size: 15px; font-weight: 500; color: #0f172a; text-decoration: none; transition: background 0.15s ease; }
#pfk-mobile-account-modal .pfk-account-dropdown-item:hover { background: #f8fafc; color: #e02e2e; }
#pfk-mobile-account-modal .pfk-account-dropdown-icon { flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #64748b; }
#pfk-mobile-account-modal .pfk-account-dropdown-icon .lucide,
#pfk-mobile-account-modal .pfk-account-dropdown-icon .pfk-lucide {
  width: 20px;
  height: 20px;
}
#pfk-mobile-account-modal .pfk-mobile-account-close .lucide,
#pfk-mobile-account-modal .pfk-mobile-account-close .pfk-lucide {
  width: 22px;
  height: 22px;
}
#pfk-mobile-account-modal .pfk-account-dropdown-item:hover .pfk-account-dropdown-icon { color: #e02e2e; }
#pfk-mobile-account-modal .pfk-account-dropdown-sep { height: 1px; background: #e2e8f0; margin: 8px 0; }
#pfk-mobile-account-modal .pfk-account-dropdown-item--action {
  width: 100%;
  box-sizing: border-box;
  text-align: left;
  border: 0;
  background: transparent;
  cursor: pointer;
  font: inherit;
  appearance: none;
}

/* Auth gate modal (e.g. wishlist while logged out) — above search overlay */
.pfk-auth-gate-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000050;
  background: rgba(15, 23, 42, 0.45);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.pfk-auth-gate-backdrop.show { display: block; }

#pfk-auth-gate.pfk-auth-gate {
  display: none;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -48%) scale(0.96);
  width: min(calc(100% - 28px), 340px);
  z-index: 10000051;
  opacity: 0;
  transition: transform 0.26s cubic-bezier(0.33, 1, 0.68, 1), opacity 0.22s ease;
  pointer-events: none;
}
#pfk-auth-gate.pfk-auth-gate.show {
  display: block;
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  pointer-events: auto;
}
/* Wishlist / header wishlist: open auth dialog immediately (no scale/fade-in lag) */
#pfk-auth-gate.pfk-auth-gate.pfk-auth-gate--direct.show {
  transition: none !important;
}
.pfk-auth-gate-card {
  position: relative;
  background: #fff;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 24px 48px -12px rgba(15, 23, 42, 0.22);
  padding: 22px 20px 20px;
}
.pfk-auth-gate-hero {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}
.pfk-auth-gate-hero-ring {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(145deg, #f1f5f9 0%, #e2e8f0 100%);
  color: #0f172a;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.pfk-auth-gate-hero-ring .pfk-lucide,
.pfk-auth-gate-hero-ring .lucide {
  width: 28px;
  height: 28px;
}
.pfk-auth-gate-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  padding: 0;
  transition: background 0.15s ease, color 0.15s ease;
}
.pfk-auth-gate-close:hover {
  background: #f1f5f9;
  color: #0f172a;
}
.pfk-auth-gate-kicker {
  margin: 0 36px 10px 0;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}
.pfk-auth-gate-text {
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.5;
  color: #334155;
}
.pfk-auth-gate-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pfk-auth-gate-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 48px;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.pfk-auth-gate-btn-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  opacity: 0.95;
}
.pfk-auth-gate-btn-ic .pfk-lucide,
.pfk-auth-gate-btn-ic .lucide {
  width: 18px;
  height: 18px;
}
.pfk-auth-gate-btn-primary {
  background: #0f172a;
  color: #fff;
  border: 1px solid #0f172a;
}
.pfk-auth-gate-btn-primary:hover {
  background: #1e293b;
  border-color: #1e293b;
}
.pfk-auth-gate-btn-secondary {
  background: #fff;
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.14);
}
.pfk-auth-gate-btn-secondary:hover {
  background: #f8fafc;
  border-color: rgba(15, 23, 42, 0.22);
}

/* Contact Popup */
.pfk-contact-backdrop { display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(4px); z-index: 9998; }
.pfk-contact-backdrop.show { display: block; }
#contact-popup.pfk-contact-popup {
  display: none;
  position: fixed;
  bottom: -100%;
  left: 50%;
  transform: translateX(-50%);
  width: 92%;
  max-width: 400px;
  background: #fff;
  color: #1a1a1a;
  padding: 24px;
  border-radius: var(--pfk-radius);
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  transition: all 0.3s ease;
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
#contact-popup.pfk-contact-popup.show { bottom: 30px; display: block; }
#contact-popup .popup-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
#contact-popup .popup-header h3 { font-size: 16px; margin: 0; font-weight: 700; color: #1a1a1a; display: flex; align-items: center; gap: 8px; }
#contact-popup .popup-header h3 svg { color: #64748b; flex-shrink: 0; }
#contact-popup .close-btn { background: 0; border: 0; color: #64748b; cursor: pointer; padding: 4px; line-height: 1; display: flex; align-items: center; justify-content: center; }
#contact-popup .close-btn:hover { color: #1a1a1a; }
#contact-popup .btn-call { display: flex; align-items: center; gap: var(--pfk-s8); padding: var(--pfk-s12) var(--pfk-s16); margin-bottom: var(--pfk-s8); border-radius: var(--pfk-radius); font-weight: var(--pfk-font-semibold); font-size: var(--pfk-body); text-decoration: none; color: var(--pfk-ink); background: #f8fafc; border: 1px solid var(--pfk-line); transition: var(--pfk-trans); }
#contact-popup .btn-call svg { flex-shrink: 0; color: #64748b; }
#contact-popup .btn-call:hover { background: #f1f5f9; border-color: #cbd5e1; }
#contact-popup .btn-viber { background: #7c3aed; color: #fff; display: flex; align-items: center; gap: var(--pfk-s8); padding: var(--pfk-s12) var(--pfk-s16); font-weight: var(--pfk-font-semibold); font-size: var(--pfk-body); margin-bottom: 0; border-radius: var(--pfk-radius); text-decoration: none; transition: var(--pfk-trans); }
#contact-popup .btn-viber:hover { background: #6d28d9; }

/* Add-to-cart modal: βλ. pfk-add-to-cart-popup.css (1:1 theme) */

/* ========== Mobile nav & modals – micro interactions ========== */
.pfk-mobile-nav-item {
  transition: var(--pfk-trans);
}
.pfk-mobile-nav-item:active {
  transform: scale(0.96);
}
.pfk-mobile-cart-close,
.pfk-mobile-account-close,
.pfk-drawer-head .pfk-close {
  transition: var(--pfk-trans);
}
.pfk-mobile-cart-close:active,
.pfk-mobile-account-close:active,
.pfk-drawer-head .pfk-close:active {
  transform: scale(0.95);
}
.pfk-mini-cart-btn {
  transition: var(--pfk-trans);
}
.pfk-mini-cart-btn:active {
  transform: scale(0.99);
}

/* ========== CHECKOUT – Rebuilt Shell (Authoritative) ========== */
.checkout-page .ck-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--pfk-s24) var(--pfk-s16);
  width: 100%;
  box-sizing: border-box;
}
.checkout-page .ck-empty { padding: var(--pfk-s48) var(--pfk-s16); text-align: center; }
.checkout-page .ck-shell {
  padding-top: var(--pfk-s8);
  display: flex;
  flex-direction: column;
  gap: 0;
}
.checkout-page .ck-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
}
.checkout-page .ck-flow,
.checkout-page .ck-summary {
  min-width: 0;
}
.checkout-page .checkout-inline-error {
  margin: 0 0 var(--pfk-s12);
  font-size: var(--pfk-meta);
  color: var(--pfk-accent);
  line-height: 1.4;
}
.checkout-page .ck-summary-card {
  background: var(--pfk-commerce-surface);
  border-radius: var(--pfk-commerce-radius);
  border: 1px solid var(--pfk-commerce-border);
  box-shadow: var(--pfk-commerce-shadow);
  padding: 20px;
}
.checkout-page .checkout-back-link {
  display: inline-block;
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  text-decoration: none;
  margin-bottom: var(--pfk-s24);
  transition: var(--pfk-trans);
}
.checkout-page .checkout-back-link:hover { color: var(--pfk-ink); }

/* Stepper */
.checkout-page .checkout-stepper {
  margin-bottom: var(--pfk-s28);
  padding-bottom: var(--pfk-s8);
  border-bottom: 1px solid #eef2f7;
}
.checkout-page .checkout-stepper-track { height: 4px; background: #e9eef5; border-radius: 2px; margin-bottom: var(--pfk-s16); overflow: hidden; }
.checkout-page .checkout-stepper-progress { height: 100%; background: var(--pfk-primary); border-radius: 2px; width: 0; transition: width 0.35s ease; }
.checkout-page .checkout-stepper-steps { display: flex; justify-content: space-between; gap: var(--pfk-s8); }
/* Καλάθι μόνο δωροκάρτες: κρύβουμε διεύθυνση + βήμα μεταφορέα (το JS ρυθμίζει 3 βήματα) */
.checkout-page.checkout--gift-only .checkout-full-address-block { display: none !important; }
.checkout-page.checkout--gift-only #checkout-stepper-btn-shipping { display: none !important; }
.checkout-page .checkout-step { display: flex; flex-direction: column; align-items: center; gap: var(--pfk-s8); background: 0; border: 0; padding: 0; cursor: pointer; font-family: inherit; color: #94a3b8; transition: var(--pfk-trans); }
.checkout-page .checkout-step:hover { color: var(--pfk-ink); }
.checkout-page .checkout-step.active { color: var(--pfk-ink); font-weight: var(--pfk-font-semibold); }
.checkout-page .checkout-step.completed { color: #334155; }
.checkout-page .checkout-step.is-locked { cursor: default; }
.checkout-page .checkout-step.is-locked:not(.active) { opacity: 0.72; }
.checkout-page .checkout-step.is-locked:not(.active):hover { color: #94a3b8; }
.checkout-page .checkout-step.is-locked:not(.active) .checkout-step-circle {
  border-color: #e8edf4;
  background: #f8fafc;
  color: #94a3b8;
}
.checkout-page .checkout-step.is-locked:not(.active) .checkout-step-label { color: #94a3b8; }
.checkout-page .checkout-step:disabled {
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.68;
}
.checkout-page .checkout-step:disabled:hover { color: #94a3b8; }
.checkout-page .checkout-step:disabled .checkout-step-circle {
  border-color: #e8edf4;
  background: #f8fafc;
  color: #94a3b8;
}
.checkout-page .checkout-step:disabled .checkout-step-label { color: #94a3b8; }
.checkout-page .checkout-step-circle { width: 36px; height: 36px; border-radius: 50%; border: 1px solid #d5dde8; display: flex; align-items: center; justify-content: center; font-size: var(--pfk-small); font-weight: var(--pfk-font-semibold); background: #fff; transition: var(--pfk-trans); }
.checkout-page .checkout-step.active .checkout-step-circle,
.checkout-page .checkout-step.completed .checkout-step-circle { border-color: #0f172a; background: #0f172a; color: #fff; }
.checkout-page .checkout-step-check { width: 16px; height: 16px; }
.checkout-page .checkout-step-num.hidden { display: none; }
.checkout-page .checkout-step-label { font-size: 11px; letter-spacing: .01em; }

/* Panels + fields */
.checkout-page .checkout-panel {
  background: var(--pfk-commerce-surface);
  border-radius: var(--pfk-commerce-radius);
  border: 1px solid var(--pfk-commerce-border);
  box-shadow: none;
  padding: var(--pfk-s24);
  margin-bottom: var(--pfk-s24);
}
.checkout-page .checkout-panel-title { font-size: var(--pfk-h2); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin: 0 0 var(--pfk-s8); }
.checkout-page .checkout-panel-desc { font-size: 13px; color: var(--pfk-muted); margin: 0 0 var(--pfk-s20); }
.checkout-page .checkout-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pfk-s20); }
.checkout-page .checkout-field-full { grid-column: 1 / -1; }
.checkout-page .checkout-field-address { grid-column: 1 / -1; }

.checkout-page .hidden { display: none !important; }

.checkout-page .checkout-guest-login-link {
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-weight: 600;
  color: var(--pfk-ink);
  text-decoration: underline;
  cursor: pointer;
}
.checkout-page .checkout-guest-login-link:hover {
  color: var(--pfk-primary);
}

.checkout-page .checkout-phone-wrap.pfk-phone-composite,
.pfk-address-modal .pfk-phone-composite {
  display: flex;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  background: #fff;
}
.checkout-page .checkout-phone-wrap.pfk-phone-composite {
  border: 1px solid #d6dfeb;
  border-radius: 12px;
}
.pfk-address-modal .pfk-phone-composite {
  border: 1px solid var(--pfk-line);
  border-radius: 10px;
}
.checkout-page .checkout-phone-wrap.pfk-phone-composite:focus-within {
  border-color: var(--pfk-ink);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}
.pfk-address-modal .pfk-phone-composite:focus-within {
  border-color: var(--pfk-primary);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}
.checkout-page .checkout-phone-wrap.pfk-phone-composite select {
  width: auto;
  min-width: 132px;
  max-width: 48%;
  flex: 0 0 auto;
  border: none;
  border-radius: 0;
  border-right: 1px solid #e2e8f0;
  box-shadow: none;
}
.checkout-page .checkout-phone-wrap.pfk-phone-composite input {
  flex: 1;
  min-width: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.pfk-address-modal .pfk-phone-composite select {
  width: auto;
  min-width: 130px;
  max-width: 48%;
  flex: 0 0 auto;
  border: none !important;
  border-radius: 0 !important;
  border-right: 1px solid var(--pfk-line) !important;
  box-shadow: none !important;
}
.pfk-address-modal .pfk-phone-composite input {
  flex: 1;
  min-width: 0;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.checkout-page .checkout-field { position: relative; margin-bottom: 0; min-width: 0; }
.checkout-page .checkout-field label { display: block; font-size: 12px; font-weight: 600; color: #334155; letter-spacing: 0.01em; margin-bottom: 7px; }
.checkout-page .checkout-field input,
.checkout-page .checkout-field select,
.checkout-page .checkout-field textarea { width: 100%; padding: 0 var(--pfk-s16); font-size: 14px; color: var(--pfk-ink); background: var(--pfk-commerce-surface); border: 1px solid var(--pfk-commerce-border); border-radius: var(--pfk-commerce-radius-sm); transition: var(--pfk-trans); font-family: inherit; }
.checkout-page .checkout-field input { height: 46px; }
.checkout-page .checkout-field select { height: 46px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }
.checkout-page .checkout-field textarea { min-height: 92px; padding: var(--pfk-s12) var(--pfk-s16); resize: vertical; }
.checkout-page .checkout-field input::placeholder,
.checkout-page .checkout-field textarea::placeholder { color: var(--pfk-muted); }
.checkout-page .checkout-field input:focus,
.checkout-page .checkout-field select:focus,
.checkout-page .checkout-field textarea:focus { outline: none; border-color: var(--pfk-ink); box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08); }
.checkout-page .checkout-field.has-error input,
.checkout-page .checkout-field.has-error select,
.checkout-page .checkout-field.has-error textarea { border-color: var(--pfk-accent); }
.checkout-page .checkout-field.has-success input,
.checkout-page .checkout-field.has-success select,
.checkout-page .checkout-field.has-success textarea { border-color: #22c55e; }

.checkout-page #checkout-phone::placeholder,
.checkout-page #checkout-phone::-webkit-input-placeholder,
.checkout-page #checkout-phone::-moz-placeholder,
.checkout-page #checkout-phone:-ms-input-placeholder { color: var(--pfk-muted); opacity: 1; }

.checkout-page .checkout-doc-type { display: flex; gap: var(--pfk-s24); flex-wrap: wrap; }
.checkout-page .checkout-saved-invoice-wrap {
  padding: var(--pfk-s16);
  background: #f8fafc;
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
}
.checkout-page .checkout-saved-invoice-wrap__text {
  margin: 0 0 var(--pfk-s12);
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  line-height: 1.45;
}
.checkout-page .checkout-saved-invoice-wrap__btn { font-size: var(--pfk-small); }
.checkout-page .checkout-invoice-fields { margin-bottom: var(--pfk-s24); padding: var(--pfk-s16); background: var(--pfk-f-bg); border-radius: var(--pfk-radius-sm); }
.checkout-page .checkout-invoice-fields.hidden { display: none !important; }
.checkout-page .checkout-radio-option { display: flex; align-items: center; gap: var(--pfk-s8); cursor: pointer; font-size: var(--pfk-small); color: var(--pfk-ink); }
.checkout-page .checkout-radio-option input { width: auto; height: auto; accent-color: var(--pfk-primary); }
.checkout-page .checkout-checkbox-option { display: flex; align-items: flex-start; gap: var(--pfk-s8); cursor: pointer; font-size: var(--pfk-small); color: var(--pfk-ink); }
.checkout-page .checkout-checkbox-option input { width: auto; height: auto; accent-color: var(--pfk-primary); flex-shrink: 0; margin-top: 2px; }
.checkout-page .checkout-ship-different { padding: var(--pfk-s12) 0; }
.checkout-page .checkout-panel-section { margin-top: var(--pfk-s24); padding-top: var(--pfk-s24); border-top: 1px solid var(--pfk-line); }
.checkout-page .checkout-section-title { font-size: var(--pfk-small); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin: 0 0 var(--pfk-s12); }
.checkout-page .checkout-section-label { font-size: var(--pfk-small); font-weight: var(--pfk-font-semibold); color: var(--pfk-muted); text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 var(--pfk-s12); }
.checkout-page .checkout-field-error { display: none; font-size: var(--pfk-meta); color: var(--pfk-accent); margin-top: var(--pfk-s4); }
.checkout-page .checkout-field-error.show { display: block; }

.checkout-page .checkout-shipping-options,
.checkout-page .checkout-payment-options { display: flex; flex-direction: column; gap: var(--pfk-s12); }
.checkout-page .checkout-shipping-option,
.checkout-page .checkout-payment-option { display: flex; align-items: flex-start; gap: var(--pfk-s12); cursor: pointer; padding: var(--pfk-s16); border: 2px solid var(--pfk-line); border-radius: var(--pfk-radius); transition: var(--pfk-trans); }
.checkout-page .checkout-shipping-option:hover,
.checkout-page .checkout-payment-option:hover { border-color: var(--pfk-muted); }
.checkout-page .checkout-shipping-option:has(input:checked),
.checkout-page .checkout-payment-option:has(input:checked),
.checkout-page .checkout-payment-option-selected { border-color: var(--pfk-primary); background: rgba(15, 23, 42, 0.04); box-shadow: 0 0 0 1px var(--pfk-primary); }
.checkout-page .checkout-shipping-option input,
.checkout-page .checkout-payment-option input { width: auto; height: auto; accent-color: var(--pfk-primary); flex-shrink: 0; margin-top: 2px; }
.checkout-page .checkout-shipping-option-inner,
.checkout-page .checkout-payment-option-inner { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: var(--pfk-s8); }
.checkout-page .checkout-option-card .checkout-shipping-option-inner { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto auto; gap: 4px 16px; align-items: start; }
.checkout-page .checkout-option-card .checkout-shipping-option-label { grid-column: 1; grid-row: 1; }
.checkout-page .checkout-option-card .checkout-shipping-option-price { grid-column: 2; grid-row: 1; margin-left: 0; }
.checkout-page .checkout-option-card .checkout-shipping-option-desc { grid-column: 1 / -1; grid-row: 2; }
.checkout-page .checkout-option-card .checkout-boxnow-btn { grid-column: 1 / -1; grid-row: 3; }
.checkout-page .checkout-option-card .checkout-payment-option-inner { flex-direction: column; align-items: flex-start; gap: 4px; }
.checkout-page .checkout-shipping-option-label,
.checkout-page .checkout-payment-option-label { font-weight: var(--pfk-font-medium); color: var(--pfk-ink); }
.checkout-page .checkout-shipping-option-desc,
.checkout-page .checkout-payment-option-meta { font-size: var(--pfk-meta); color: var(--pfk-muted); }
.checkout-page .checkout-wallet-panel {
  margin-bottom: var(--pfk-s20);
  padding: var(--pfk-s16);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius-sm);
  background: var(--pfk-commerce-canvas);
}
.checkout-page .checkout-wallet-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--pfk-s12);
  margin-bottom: var(--pfk-s8);
}
.checkout-page .checkout-wallet-title { font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); }
.checkout-page .checkout-wallet-balance { font-weight: var(--pfk-font-semibold); color: var(--pfk-primary); }
.checkout-page .checkout-wallet-hint,
.checkout-page .checkout-wallet-applied { font-size: var(--pfk-meta); color: var(--pfk-muted); line-height: 1.5; margin: 0 0 var(--pfk-s12); }
.checkout-page .checkout-wallet-applied { color: var(--pfk-ink); }
.checkout-page .checkout-wallet-actions { display: flex; flex-wrap: wrap; gap: var(--pfk-s8); }
.checkout-page .checkout-summary-wallet span:last-child { color: var(--pfk-primary); font-weight: var(--pfk-font-medium); }
.checkout-page .checkout-summary-gift span:last-child { color: #b45309; font-weight: var(--pfk-font-medium); }
.checkout-page .checkout-gift-redeem-panel { border-color: var(--pfk-commerce-border); border-radius: var(--pfk-commerce-radius-sm); background: var(--pfk-commerce-canvas); }
.checkout-page .checkout-shipping-gift-only { border-color: var(--pfk-commerce-border); border-radius: var(--pfk-commerce-radius-sm); }
.checkout-page .checkout-summary-item--gift .checkout-summary-item-img--gift {
  width: 48px; height: 60px; border-radius: var(--pfk-radius-sm);
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(145deg, #1e293b, #334155);
  font-size: 1.35rem;
}
.checkout-page .checkout-payment-covered-msg {
  font-size: var(--pfk-meta);
  color: var(--pfk-ink);
  margin: 0 0 var(--pfk-s12);
  padding: var(--pfk-s12) var(--pfk-s16);
  border-radius: var(--pfk-radius-sm);
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
}
.checkout-page .checkout-payment-options.is-wallet-full-cover {
  opacity: 0.45;
  pointer-events: none;
}
.checkout-page .checkout-shipping-option-price { font-size: var(--pfk-small); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin-left: auto; }
.checkout-page .checkout-boxnow-btn { display: inline-block; margin-top: var(--pfk-s8); padding: var(--pfk-s8) var(--pfk-s16); font-size: var(--pfk-meta); font-weight: var(--pfk-font-semibold); color: #fff; background: #22c55e; border: none; border-radius: var(--pfk-radius-sm); cursor: pointer; font-family: inherit; transition: var(--pfk-trans); }
.checkout-page .checkout-boxnow-btn:hover { background: #16a34a; }
.checkout-page .checkout-privacy-note { font-size: var(--pfk-meta); color: var(--pfk-muted); line-height: 1.5; margin: 0; }
.checkout-page .checkout-terms { margin-top: var(--pfk-s16); }

.checkout-page .checkout-confirm-summary { display: flex; flex-direction: column; gap: var(--pfk-s20); margin-bottom: var(--pfk-s24); }
.checkout-page .checkout-confirm-block { padding: var(--pfk-s16); background: var(--pfk-commerce-canvas); border: 1px solid var(--pfk-commerce-border); border-radius: var(--pfk-commerce-radius-sm); }
.checkout-page .checkout-confirm-block h4 { font-size: var(--pfk-small); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin: 0 0 var(--pfk-s8); text-transform: uppercase; letter-spacing: 0.04em; }
.checkout-page .checkout-confirm-block p { margin: 0 0 var(--pfk-s4); font-size: var(--pfk-small); color: var(--pfk-muted); line-height: 1.5; }
.checkout-page .checkout-confirm-block p:last-child { margin-bottom: 0; }
.checkout-page .checkout-confirm-total { font-weight: var(--pfk-font-semibold) !important; color: var(--pfk-ink) !important; margin-top: var(--pfk-s8) !important; }
.checkout-page .checkout-trust-row { display: flex; flex-wrap: wrap; gap: var(--pfk-s16); margin-bottom: var(--pfk-s24); padding: var(--pfk-s16); background: var(--pfk-commerce-surface); border: 1px solid var(--pfk-commerce-border); border-radius: var(--pfk-commerce-radius-sm); box-shadow: none; font-size: var(--pfk-meta); color: var(--pfk-muted); }
.checkout-page .checkout-trust-item { display: flex; align-items: center; gap: 6px; }
.checkout-page .checkout-trust-item::before { content: "✓"; color: var(--pfk-commerce-success); font-weight: 700; }
.checkout-page .checkout-trust-item.hidden::before { content: none; }

@media (max-width: 1023px) {
  /* .pfk-cart-page is on body; pfk-cart-layout--empty is on #cart-content */
  .pfk-cart-page #cart-content.pfk-cart-layout--empty {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-items: stretch;
    overflow-x: hidden;
  }
  .pfk-cart-page #cart-content.pfk-cart-layout--empty .pfk-cart-summary-col {
    display: none !important;
  }
  .pfk-cart-page #cart-content.pfk-cart-layout--empty .pfk-cart-items-col {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    order: 1;
  }
  .pfk-cart-page #cart-content.pfk-cart-layout--empty #cart-empty-state {
    padding-top: 4px;
    padding-bottom: calc(var(--pfk-bottom-nav-height, 64px) + 24px);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .pfk-cart-page #cart-content.pfk-cart-layout--empty #cart-empty-state {
    padding-left: 0;
    padding-right: 0;
  }
  .pfk-cart-page #cart-content.pfk-cart-layout--empty .pfk-cart-empty-panel {
    border-radius: 22px;
    padding: 2rem 1.25rem;
  }
  .pfk-cart-page #cart-content.pfk-cart-layout--empty .pfk-cart-empty-layout {
    gap: 3rem;
  }
  .pfk-cart-page #cart-content.pfk-cart-layout--empty #cart-cross-sell-empty {
    padding-bottom: calc(var(--pfk-bottom-nav-height, 64px) + 8px);
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
  .pfk-cart-cross-sell--empty .pfk-product-rail--native-scroll .pfk-product-rail__track {
    padding-right: 2.5rem;
  }
}

.checkout-page .checkout-panel-actions { display: flex; gap: var(--pfk-s12); margin-top: var(--pfk-s24); flex-wrap: wrap; }
.checkout-page .checkout-panel-actions-stack { flex-direction: column; }
.checkout-page .checkout-panel-actions-stack .pfk-btn { width: 100%; justify-content: center; }
.checkout-page .checkout-panel-actions .checkout-cta-primary { height: 56px; font-size: 1.05rem; font-weight: 700; }
/* «Πίσω»: έντονο secondary ώστε να μην χάνεται στο λευκό φόντο */
.checkout-page .checkout-panel-actions button[data-checkout-prev].pfk-btn-ghost {
  background: #fff;
  color: var(--pfk-ink);
  border: 1px solid var(--pfk-line);
  font-weight: 600;
  min-height: 48px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.checkout-page .checkout-panel-actions button[data-checkout-prev].pfk-btn-ghost:hover:not(:disabled) {
  background: #f8fafc;
  border-color: #94a3b8;
  color: var(--pfk-ink);
}
.checkout-page .checkout-submit-btn { position: relative; }
.checkout-page .checkout-submit-loading { display: inline-flex; align-items: center; gap: var(--pfk-s8); }
.checkout-page .checkout-spinner { width: 18px; height: 18px; border: 2px solid rgba(255,255,255,0.3); border-top-color: #fff; border-radius: 50%; animation: pfk-spin 0.6s linear infinite; }

.checkout-page .checkout-summary-title { font-size: var(--pfk-h3); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin: 0 0 var(--pfk-s16); }
.checkout-page .checkout-summary-items { max-height: min(420px, 72vh); overflow-y: auto; margin-bottom: var(--pfk-s16); padding-right: 2px; }
.checkout-page .checkout-summary-item { display: flex; gap: var(--pfk-s12); padding: var(--pfk-s8) 0; border-bottom: 1px solid var(--pfk-line); }
.checkout-page .checkout-summary-item:last-child { border-bottom: 0; }
.checkout-page .checkout-summary-item-img { width: 48px; height: 60px; object-fit: cover; border-radius: var(--pfk-radius-sm); flex-shrink: 0; }
.checkout-page .checkout-summary-item-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.checkout-page .checkout-summary-item-name { font-size: var(--pfk-small); font-weight: var(--pfk-font-medium); color: var(--pfk-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.checkout-page .checkout-summary-item-variation,
.checkout-page .checkout-summary-item-meta { font-size: var(--pfk-meta); color: var(--pfk-muted); }
.checkout-page .checkout-summary-item-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  width: 100%;
}
.checkout-page .checkout-summary-item-name { white-space: normal; overflow: visible; text-overflow: unset; }
.checkout-page .checkout-summary-item-price {
  font-size: var(--pfk-small);
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-ink);
  flex-shrink: 0;
}
.checkout-page .checkout-summary-item-qty {
  font-size: var(--pfk-meta);
  color: var(--pfk-muted);
}
.checkout-page .pfk-cart-item-delivery-line {
  display: block;
  margin-top: 4px;
  font-size: var(--pfk-meta);
  color: var(--pfk-muted);
  line-height: 1.35;
}
.checkout-page .checkout-summary-totals { padding-top: var(--pfk-s16); border-top: 1px solid var(--pfk-line); }
.checkout-page .checkout-summary-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 13px; color: var(--pfk-muted); }
.checkout-page .checkout-summary-total { margin-top: var(--pfk-s12); padding-top: var(--pfk-s12); border-top: 1px solid #e2e8f0; }
.checkout-page .checkout-summary-total span:first-child { color: #0f172a; font-size: 15px; font-weight: 600; }
.checkout-page .checkout-summary-total span:last-child { color: #020617; font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.checkout-page .checkout-shipping-hint { font-size: var(--pfk-meta); color: var(--pfk-muted); margin: -4px 0 var(--pfk-s8); }

.checkout-page .ck-mobile-bar {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  border-top: 1px solid var(--pfk-line);
  padding: var(--pfk-s12) var(--pfk-s16);
  padding-bottom: calc(var(--pfk-s12) + env(safe-area-inset-bottom, 0));
  z-index: 10002;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
}
.checkout-page .ck-mobile-bar-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--pfk-s16); max-width: 1200px; margin: 0 auto; }
.checkout-page .ck-mobile-bar-total { display: flex; flex-direction: column; gap: 2px; }
.checkout-page .ck-mobile-bar-label { font-size: var(--pfk-meta); color: var(--pfk-muted); }
.checkout-page .ck-mobile-bar-amount { font-size: 1.25rem; font-weight: 700; color: var(--pfk-ink); }
.checkout-page .ck-mobile-bar-cta { flex: 1; max-width: 200px; height: 50px; font-size: 1rem; font-weight: 700; background: var(--pfk-primary); color: #fff; border: 0; border-radius: var(--pfk-radius); cursor: pointer; font-family: inherit; transition: var(--pfk-trans); }
.checkout-page .ck-mobile-bar-cta:hover { background: var(--pfk-primary-hover); filter: brightness(0.97); }

/* Desktop ≥1024: φόρμα αριστερά + sticky σύνοψη δεξιά */
@media (min-width: 1024px) {
  .checkout-page .ck-grid {
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 28px;
    align-items: start;
  }
  .checkout-page .ck-summary {
    position: sticky;
    top: 88px;
    align-self: start;
  }
}

/* Tablet 768-1023: single-column strategy (stable) */
@media (min-width: 768px) and (max-width: 1023px) {
  .checkout-page .ck-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .checkout-page .ck-summary {
    position: static;
    top: auto;
  }
}

/* Mobile <=767: strict single-column + sticky mobile CTA only */
@media (max-width: 767px) {
  body.checkout-page #pfk-mobile-nav.pfk-mobile-nav {
    display: none !important;
  }
  .checkout-page { overflow-x: hidden; }
  .checkout-page .ck-main {
    max-width: 100%;
    overflow-x: hidden;
    padding: var(--pfk-s16);
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0));
  }
  .checkout-page .ck-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .checkout-page .checkout-form-grid { grid-template-columns: 1fr; }
  .checkout-page .checkout-field,
  .checkout-page .checkout-form,
  .checkout-page .ck-flow,
  .checkout-page .ck-summary { min-width: 0; }
  .checkout-page .checkout-panel { padding: var(--pfk-s20); margin-bottom: var(--pfk-s20); }
  .checkout-page .checkout-stepper-steps { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .checkout-page .checkout-stepper-steps::-webkit-scrollbar { display: none; }
  .checkout-page .checkout-step { flex-shrink: 0; min-width: 56px; }

  .checkout-page .checkout-panel-actions { position: static; padding-top: 0; background: transparent; }
  .checkout-page .checkout-panel-actions [data-checkout-next],
  .checkout-page .checkout-panel-actions #checkout-submit-btn {
    display: none !important;
  }

  .checkout-page .ck-mobile-bar { display: block; }
  .checkout-page .ck-mobile-bar-cta { max-width: none; }
  .checkout-page .checkout-summary-items { max-height: min(380px, 58vh); }

  .checkout-page #pfk-footer {
    margin-top: 20px;
    border-top: 1px solid #e2e8f0;
  }
  .checkout-page #pfk-scroll-top { display: none !important; }
}

/* ========== ORDERS LIST (Account) ========== */
.pfk-orders-list { display: flex; flex-direction: column; gap: var(--pfk-s16); }
.pfk-order-card {
  text-decoration: none;
  color: inherit;
  display: block;
  background: var(--pfk-commerce-surface);
  border-radius: var(--pfk-commerce-radius);
  border: 1px solid var(--pfk-commerce-border);
  box-shadow: none;
  transition: var(--pfk-trans), box-shadow 0.2s ease, border-color 0.2s ease;
}
.pfk-order-card:hover {
  border-color: rgba(15, 23, 42, 0.12);
  box-shadow: var(--pfk-commerce-shadow);
}
.pfk-order-card-inner {
  display: flex;
  gap: var(--pfk-s20);
  padding: var(--pfk-s20);
  align-items: stretch;
}
@media (min-width: 768px) {
  .pfk-order-card-inner { padding: var(--pfk-s24); gap: var(--pfk-s24); }
}
.pfk-order-card-thumb {
  width: 80px;
  height: 100px;
  flex-shrink: 0;
  border-radius: var(--pfk-radius-sm);
  overflow: hidden;
  background: var(--pfk-f-bg);
}
.pfk-order-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pfk-gift-card-mini {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(51, 65, 85, 0.72);
  background: linear-gradient(135deg, #020617 0%, #111827 48%, #0f172a 100%);
  color: #fff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.pfk-gift-card-mini__glow {
  position: absolute;
  right: -22px;
  top: -18px;
  width: 74px;
  height: 74px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.14);
  filter: blur(10px);
  pointer-events: none;
}
.pfk-gift-card-mini__mark {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 26%;
  max-width: 44px;
  height: auto;
  object-fit: contain;
  opacity: 0.68;
  pointer-events: none;
}
.pfk-gift-card-mini__head,
.pfk-gift-card-mini__body {
  position: relative;
  z-index: 1;
  padding-right: 42%;
}
.pfk-gift-card-mini__wallet-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}
.pfk-gift-card-mini__wallet-ico {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.92);
}
.pfk-gift-card-mini__subtitle {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: rgba(241, 245, 249, 0.88);
}
.pfk-gift-card-mini__label {
  margin: 8px 0 4px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(241, 245, 249, 0.9);
}
.pfk-gift-card-mini__footer {
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 12px;
  line-height: 1.35;
  color: rgba(226, 232, 240, 0.82);
}
.pfk-gift-card-mini__brand {
  margin: 0;
  font-size: 9px;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: rgba(241, 245, 249, 0.9);
}
.pfk-gift-card-mini__title {
  margin: 2px 0 0;
  font-size: 11px;
  font-weight: 500;
  color: rgba(226, 232, 240, 0.92);
}
.pfk-gift-card-mini__amount {
  margin: 0;
  font-size: 18px;
  line-height: 1.05;
  font-weight: 700;
  color: #fff;
  max-width: 100%;
  text-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pfk-gift-card-mini__meta {
  margin: 2px 0 0;
  font-size: 9px;
  line-height: 1.2;
  color: rgba(226, 232, 240, 0.88);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pfk-gift-card-mini--full {
  width: 100%;
  aspect-ratio: 8 / 5;
  min-height: 220px;
  max-height: 340px;
  padding: 18px 16px 16px;
}
.pfk-gift-card-mini--full .pfk-gift-card-mini__head {
  padding-right: 38%;
}
.pfk-gift-card-mini--full .pfk-gift-card-mini__body {
  padding-right: 38%;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.pfk-gift-card-mini--full .pfk-gift-card-mini__amount { font-size: clamp(28px, 5vw, 36px); }
.pfk-gift-card-mini--full .pfk-gift-card-mini__meta { font-size: 12px; max-width: 100%; }
.pfk-gift-card-mini--account {
  width: 100%;
  max-width: 260px;
  aspect-ratio: 8 / 5;
  min-height: 140px;
  padding: 14px 12px;
}
.pfk-gift-card-mini--account .pfk-gift-card-mini__head,
.pfk-gift-card-mini--account .pfk-gift-card-mini__body {
  padding-right: 38%;
}
.pfk-gift-card-mini--account .pfk-gift-card-mini__amount { font-size: 22px; }
.pfk-gift-card-mini--account .pfk-gift-card-mini__meta--account {
  margin-top: 6px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pfk-order-card-thumb--gift {
  background: transparent;
  border: 0;
  overflow: visible;
  height: auto;
  display: flex;
  align-items: center;
}
.pfk-order-card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--pfk-s8);
  justify-content: space-between;
}
.pfk-order-card-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--pfk-s12);
}
.pfk-order-card-id {
  margin-left: auto;
  font-size: var(--pfk-meta);
  color: var(--pfk-muted);
  font-weight: var(--pfk-font-medium);
}
.pfk-order-card-summary {
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  margin: 0;
}
.pfk-order-card-meta {
  font-size: var(--pfk-meta);
  color: var(--pfk-muted);
  margin: 0;
  line-height: 1.5;
}
.pfk-order-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--pfk-s4);
  padding-top: var(--pfk-s12);
  border-top: 1px solid var(--pfk-line);
}
.pfk-order-card-total {
  font-size: var(--pfk-body);
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-ink);
}
.pfk-order-card-cta {
  font-size: var(--pfk-small);
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-primary);
  transition: var(--pfk-trans);
}
.pfk-order-card:hover .pfk-order-card-cta {
  color: var(--pfk-primary-hover);
  text-decoration: underline;
}
/* Order status badges – use badge system */
.pfk-order-status {
  display: inline-flex;
  align-items: center;
  padding: var(--pfk-s4) var(--pfk-s12);
  font-size: var(--pfk-meta);
  font-weight: var(--pfk-font-semibold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: var(--pfk-radius-sm);
}
.pfk-order-status-delivered,
.pfk-order-status-completed { background: var(--pfk-badge-success-bg); color: var(--pfk-badge-success-fg); }
.pfk-order-status-shipped,
.pfk-order-status-transit { background: var(--pfk-badge-info-bg); color: var(--pfk-badge-info-fg); }
.pfk-order-status-processing { background: var(--pfk-badge-warning-bg); color: var(--pfk-badge-warning-fg); }
.pfk-order-status-confirmed { background: var(--pfk-badge-info-bg); color: var(--pfk-badge-info-fg); }
.pfk-order-status-pending { background: var(--pfk-f-bg); color: var(--pfk-muted); }
.pfk-order-status-returned { background: #f3e8ff; color: #6b21a8; }
.pfk-order-status-withdrawal { background: #ffedd5; color: #9a3412; }
@media (max-width: 640px) {
  .pfk-order-card-inner { flex-direction: column; padding: var(--pfk-s20); }
  .pfk-order-card-thumb { width: 100%; height: 140px; }
}

/* ========== ORDER VIEW / TRACKING ========== */
.order-view-main { max-width: 960px; margin: 0 auto; padding: var(--pfk-s24) var(--pfk-s16); }
@media (min-width: 1024px) {
  .order-view-main { max-width: 1120px; padding: var(--pfk-s32) var(--pfk-s24); }
}
#order-view-content { animation: order-view-fade-in 0.4s ease-out; }
@keyframes order-view-fade-in { from { opacity: 0; } to { opacity: 1; } }
.order-view-back { display: inline-block; font-size: var(--pfk-small); color: var(--pfk-muted); text-decoration: none; margin-bottom: var(--pfk-s24); transition: var(--pfk-trans); }
.order-view-back:hover { color: var(--pfk-ink); }

/* Hero section – status large and dominant, strong separation */
.order-view-hero { background: var(--pfk-commerce-surface); border-radius: var(--pfk-commerce-radius); border: 1px solid var(--pfk-commerce-border); box-shadow: none; padding: var(--pfk-s32); margin-bottom: var(--pfk-s32); position: relative; overflow: hidden; }
.order-view-hero::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--pfk-primary); opacity: 0.3; }
@media (min-width: 1024px) { .order-view-hero { padding: var(--pfk-s48); margin-bottom: var(--pfk-s40); } }
.order-view-hero-status-wrap { margin-bottom: var(--pfk-s16); }
.order-view-hero-title { font-size: 2rem; font-weight: 800; color: var(--pfk-ink); margin: 0; line-height: 1.2; letter-spacing: -0.02em; }
@media (min-width: 1024px) { .order-view-hero-title { font-size: 2.5rem; } }
.order-view-hero-status-delivered .order-view-hero-title { color: #166534; }
.order-view-hero-status-in_transit .order-view-hero-title { color: #1e40af; }
.order-view-hero-status-shipped .order-view-hero-title { color: #1e40af; }
.order-view-hero-status-processing .order-view-hero-title { color: #92400e; }
.order-view-hero-status-confirmed .order-view-hero-title { color: #0369a1; }
.order-view-hero-status-returned_to_store .order-view-hero-title { color: #6b21a8; }
.order-view-hero-status-withdrawal_processing .order-view-hero-title { color: #9a3412; }
.order-view-hero-secondary { display: flex; flex-direction: column; gap: var(--pfk-s4); }
.order-view-hero-meta { font-size: var(--pfk-body); color: var(--pfk-muted); margin: 0; }
.order-view-hero-carrier { font-size: var(--pfk-small); color: var(--pfk-ink); font-weight: var(--pfk-font-medium); margin: 0; }
.order-view-hero-delivery { font-size: var(--pfk-meta); color: var(--pfk-muted); margin: 0; }

.order-view-hero--gift .order-view-hero-title,
.order-view-hero--gift #order-view-status-title {
  color: #166534;
}
.order-view-gift-detail { margin-bottom: var(--pfk-s24); }
.order-view-gift-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr) auto;
  gap: var(--pfk-s24);
  align-items: start;
  padding: var(--pfk-s24);
  border-radius: var(--pfk-radius);
  border: 1px solid var(--pfk-line);
  background: #fff;
  box-shadow: var(--pfk-shadow-soft);
}
.order-view-gift-detail-visual .pfk-gift-card-mini--order-product {
  width: 220px;
  height: 140px;
  max-width: 100%;
}
.order-view-gift-panel-title {
  margin: 0 0 var(--pfk-s8);
  font-size: var(--pfk-body);
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-ink);
}
.order-view-gift-amt-label {
  margin: 0;
  font-size: var(--pfk-meta);
  color: var(--pfk-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.order-view-gift-amt-val {
  margin: var(--pfk-s4) 0 0;
  font-size: 1.35rem;
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-ink);
  text-align: right;
}
.order-view-gift-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pfk-s20);
  margin-top: var(--pfk-s20);
}
.order-view-gift-panel {
  padding: var(--pfk-s20);
  border-radius: var(--pfk-radius-sm);
  border: 1px solid var(--pfk-line);
  background: var(--pfk-f-bg);
}
.order-view-gift-panel-h {
  margin: 0 0 var(--pfk-s12);
  font-size: var(--pfk-small);
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.order-view-gift-line {
  margin: 0 0 var(--pfk-s8);
  font-size: var(--pfk-body);
  color: var(--pfk-ink);
  line-height: 1.5;
}
.order-view-gift-badge,
.order-view-gift-badge--active,
.order-view-gift-badge--soon,
.order-view-gift-badge--expired,
.order-view-gift-badge--used {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: var(--pfk-meta);
  font-weight: var(--pfk-font-semibold);
}
.order-view-gift-badge--active { background: #ecfdf5; color: #166534; }
.order-view-gift-badge--soon { background: #fff7ed; color: #c2410c; }
.order-view-gift-badge--expired { background: #f4f4f5; color: #71717a; }
.order-view-gift-badge--used { background: #f4f4f5; color: #52525b; }
@media (max-width: 767px) {
  .order-view-gift-detail-grid {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }
  .order-view-gift-detail-visual {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
  }
  .order-view-gift-detail-visual .pfk-gift-card-mini--order-product {
    width: 100%;
    max-width: 320px;
    height: auto;
    aspect-ratio: 1.58;
    margin: 0 auto;
  }
  .order-view-gift-detail-amt {
    text-align: left;
    border-top: 1px solid var(--pfk-line);
    padding-top: var(--pfk-s16);
  }
  .order-view-gift-amt-val { text-align: left; }
  .order-view-gift-two-col { grid-template-columns: 1fr; }
}

/* Οι δωροκάρτες μου — premium rows */
.pfk-gift-account-stack .pfk-gift-account-card {
  display: grid;
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
  gap: var(--pfk-s24);
  align-items: stretch;
  padding: var(--pfk-s24);
  border-radius: var(--pfk-commerce-radius);
  border: 1px solid var(--pfk-commerce-border);
  background: var(--pfk-commerce-surface);
  box-shadow: none;
}
.pfk-gift-account-card--muted { opacity: 0.92; }
.pfk-gift-account-card--dead {
  opacity: 0.72;
  background: var(--pfk-commerce-canvas);
}
.pfk-gift-account-card__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pfk-gift-account-card__visual .pfk-gift-card-mini--account {
  width: 100%;
  max-width: 260px;
}
.pfk-gift-account-card__panel { min-width: 0; }
.pfk-gift-account-card__dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--pfk-s12) var(--pfk-s20);
  margin: var(--pfk-s16) 0 0;
  font-size: var(--pfk-small);
}
.pfk-gift-account-card__dl dt {
  margin: 0;
  color: var(--pfk-muted);
  font-weight: var(--pfk-font-medium);
}
.pfk-gift-account-card__dl dd {
  margin: 2px 0 0;
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-ink);
}
.pfk-gift-account-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: var(--pfk-meta);
  font-weight: var(--pfk-font-semibold);
}
.pfk-gift-account-badge--active { background: #ecfdf5; color: #166534; }
.pfk-gift-account-badge--soon { background: #fff7ed; color: #c2410c; }
.pfk-gift-account-badge--used { background: #f4f4f5; color: #52525b; }
.pfk-gift-account-badge--dead { background: #e4e4e7; color: #52525b; }
@media (max-width: 767px) {
  .pfk-gift-account-stack .pfk-gift-account-card {
    grid-template-columns: 1fr;
  }
  .pfk-gift-account-card__visual .pfk-gift-card-mini--account {
    max-width: 360px;
    margin: 0 auto;
  }
}

.order-view-status { display: inline-flex; align-items: center; padding: var(--pfk-s4) var(--pfk-s12); font-size: var(--pfk-meta); font-weight: var(--pfk-font-semibold); text-transform: uppercase; letter-spacing: 0.04em; border-radius: var(--pfk-radius-sm); transition: var(--pfk-trans); }
.order-view-status-confirmed { background: var(--pfk-badge-info-bg); color: var(--pfk-badge-info-fg); }
.order-view-status-processing { background: var(--pfk-badge-warning-bg); color: var(--pfk-badge-warning-fg); }
.order-view-status-shipped,
.order-view-status-transit { background: var(--pfk-badge-info-bg); color: var(--pfk-badge-info-fg); }
.order-view-status-delivered { background: var(--pfk-badge-success-bg); color: var(--pfk-badge-success-fg); }
.order-view-status-returned { background: #f3e8ff; color: #6b21a8; }
.order-view-status-withdrawal { background: #ffedd5; color: #9a3412; }
.order-view-status-pending { background: var(--pfk-f-bg); color: var(--pfk-muted); }

.order-view-exchange-banner {
  margin-bottom: var(--pfk-s24);
  padding: var(--pfk-s20) var(--pfk-s24);
  border-radius: var(--pfk-radius);
  border: 1px solid #e9d5ff;
  background: linear-gradient(135deg, #faf5ff 0%, #f5f3ff 100%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--pfk-s16);
}
.order-view-exchange-banner__text { margin: 0; font-size: var(--pfk-body); color: var(--pfk-ink); line-height: 1.5; max-width: 42rem; }

.order-view-timeline-returned-note {
  margin: 0;
  padding: var(--pfk-s16);
  font-size: var(--pfk-body);
  color: var(--pfk-ink);
  line-height: 1.55;
  background: #faf5ff;
  border-radius: var(--pfk-radius-sm);
  border: 1px solid var(--pfk-line);
}
.order-view-timeline-withdrawal-note {
  margin: 0;
  padding: var(--pfk-s16);
  font-size: var(--pfk-body);
  color: var(--pfk-ink);
  line-height: 1.55;
  background: #fff7ed;
  border-radius: var(--pfk-radius-sm);
  border: 1px solid var(--pfk-line);
}

.order-view-exchange-banner--withdrawal {
  border-color: #fed7aa;
  background: linear-gradient(135deg, #fffbeb 0%, #fff7ed 100%);
}
.order-view-exchange-banner__meta,
.order-view-exchange-banner__hint {
  margin: 0;
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  line-height: 1.45;
  max-width: 42rem;
}
.order-view-exchange-banner__hint { margin-top: var(--pfk-s8); }
.order-view-action-hidden { display: none !important; }
.order-view-section { margin-bottom: var(--pfk-s24); }
@media (min-width: 1024px) { .order-view-section { margin-bottom: var(--pfk-s32); } }
.order-view-section-title { font-size: var(--pfk-h3); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin: 0 0 var(--pfk-s16); }
@media (min-width: 1024px) {
  .order-view-section-title { margin-bottom: var(--pfk-s20); }
}
.order-view-card { background: var(--pfk-commerce-surface); border-radius: var(--pfk-commerce-radius); border: 1px solid var(--pfk-commerce-border); box-shadow: none; padding: var(--pfk-space-lg); }
@media (min-width: 1024px) {
  .order-view-card { padding: var(--pfk-s32); }
}
.order-view-card-compact { padding: var(--pfk-s16) var(--pfk-s24); }
@media (min-width: 1024px) {
  .order-view-card-compact { padding: var(--pfk-s24) var(--pfk-s32); }
}
.order-view-payment-text { font-size: var(--pfk-body); color: var(--pfk-ink); margin: 0; }
.order-view-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pfk-s24); margin-bottom: var(--pfk-s24); }
@media (min-width: 1024px) {
  .order-view-grid { grid-template-columns: repeat(4, 1fr); gap: var(--pfk-s32); margin-bottom: var(--pfk-s40); }
}
.order-view-summary-grid { display: grid; grid-template-columns: 1fr; gap: var(--pfk-s24); margin-bottom: var(--pfk-s24); }
@media (min-width: 768px) {
  .order-view-summary-grid { grid-template-columns: 1fr 1fr; gap: var(--pfk-s32); margin-bottom: var(--pfk-s32); }
}
.order-view-summary-rows { display: flex; flex-direction: column; gap: var(--pfk-s16); }
.order-view-summary-row { display: flex; justify-content: space-between; align-items: center; font-size: var(--pfk-small); color: var(--pfk-muted); }
.order-view-summary-row span:last-child { font-weight: var(--pfk-font-medium); color: var(--pfk-ink); }
.order-view-summary-subtotal, .order-view-summary-shipping { padding: 0; }
.order-view-summary-wallet span:last-child { color: var(--pfk-primary); font-weight: var(--pfk-font-semibold); }
.order-view-summary-gift span:last-child { color: #b45309; font-weight: var(--pfk-font-semibold); }
.order-view-summary-due span:last-child { color: var(--pfk-ink); font-weight: var(--pfk-font-semibold); }
.order-view-product--gift .order-view-product-img-wrap--gift {
  width: 128px;
  height: 92px;
  border-radius: var(--pfk-radius);
  display: block;
  background: transparent;
  font-size: inherit;
  flex-shrink: 0;
}
.pfk-mini-cart-thumb--gift {
  display: inline-flex; width: 48px; height: 48px; border-radius: var(--pfk-radius-sm);
  align-items: center; justify-content: center;
  background: linear-gradient(145deg, #1e293b, #334155);
  font-size: 1.25rem; flex-shrink: 0;
}
.pfk-mobile-cart-item-img--gift {
  display: flex; width: 56px; height: 72px; border-radius: var(--pfk-radius-sm);
  align-items: center; justify-content: center;
  background: linear-gradient(145deg, #1e293b, #334155);
  font-size: 1.35rem; flex-shrink: 0;
}
.order-view-summary-total { font-size: var(--pfk-body) !important; font-weight: var(--pfk-font-semibold) !important; color: var(--pfk-ink) !important; margin-top: var(--pfk-s12); padding-top: var(--pfk-s16); border-top: 2px solid var(--pfk-line); }
.order-view-summary-total span:first-child { font-size: var(--pfk-body) !important; font-weight: var(--pfk-font-semibold) !important; color: var(--pfk-ink) !important; }
.order-view-summary-total span:last-child { font-size: 1.5rem !important; font-weight: 800 !important; color: var(--pfk-ink) !important; letter-spacing: -0.02em; }
.order-view-info-list { display: flex; flex-direction: column; gap: var(--pfk-s16); }
.order-view-info-row { display: flex; justify-content: space-between; align-items: center; font-size: var(--pfk-small); }
.order-view-info-label { color: var(--pfk-muted); }
.order-view-info-value { font-weight: var(--pfk-font-medium); color: var(--pfk-ink); }
.order-view-address { font-size: var(--pfk-small); color: var(--pfk-muted); line-height: 1.7; }
.order-view-address p { margin: 0 0 var(--pfk-s8); }
.order-view-address p:last-child { margin-bottom: 0; }
.order-view-address-name { font-weight: var(--pfk-font-medium); color: var(--pfk-ink) !important; }

/* Empty state */
.order-view-empty { padding: var(--pfk-s48) var(--pfk-s24); text-align: center; }
.order-view-empty-inner { max-width: 360px; margin: 0 auto; }
.order-view-empty-icon { display: block; color: var(--pfk-muted); opacity: 0.4; margin-bottom: var(--pfk-s24); }
.order-view-empty-title { font-size: var(--pfk-h2); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin: 0 0 var(--pfk-s8); }
.order-view-empty-desc { font-size: var(--pfk-body); color: var(--pfk-muted); margin: 0 0 var(--pfk-s24); line-height: 1.5; }

/* Tracking */
.order-view-tracking { background: #fff; border-radius: var(--pfk-radius); border: 1px solid var(--pfk-line); box-shadow: var(--pfk-shadow-soft); padding: var(--pfk-s32); }
@media (min-width: 1024px) {
  .order-view-tracking { padding: 40px; }
}
.order-view-timeline { display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 0; position: relative; }
.order-view-timeline-step { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; opacity: 0.45; transition: opacity 0.3s ease; padding: 0 var(--pfk-s8); }
@media (min-width: 1024px) {
  .order-view-timeline-step { padding: 0 var(--pfk-s16); }
}
.order-view-timeline-step.completed { opacity: 1; }
.order-view-timeline-step.current { opacity: 1; }
.order-view-timeline-step:not(:last-child)::after { content: ''; position: absolute; left: 50%; top: 7px; width: 100%; height: 2px; background: var(--pfk-line); transition: background 0.3s ease; z-index: 0; pointer-events: none; }
.order-view-timeline-step.completed:not(:last-child)::after { background: var(--pfk-primary); }
.order-view-timeline-dot { width: 16px; height: 16px; border-radius: 50%; background: var(--pfk-line); flex-shrink: 0; margin-bottom: var(--pfk-s8); transition: var(--pfk-trans); position: relative; z-index: 1; }
@media (min-width: 1024px) {
  .order-view-timeline-dot { margin-bottom: var(--pfk-s12); }
}
.order-view-timeline-step.completed .order-view-timeline-dot { background: var(--pfk-primary); }
.order-view-timeline-step.current .order-view-timeline-dot { background: var(--pfk-primary); box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.15); animation: order-view-dot-pulse 2s ease-in-out infinite; }
@keyframes order-view-dot-pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(15, 23, 42, 0.15); } 50% { box-shadow: 0 0 0 6px rgba(15, 23, 42, 0.08); } }
.order-view-timeline-content { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
.order-view-timeline-label { font-size: var(--pfk-small); font-weight: var(--pfk-font-medium); color: var(--pfk-muted); line-height: 1.4; }
.order-view-timeline-step.completed .order-view-timeline-label { color: var(--pfk-primary); font-weight: var(--pfk-font-semibold); }
.order-view-timeline-step.current .order-view-timeline-label { font-weight: var(--pfk-font-bold); color: var(--pfk-primary); }
.order-view-timeline-meta { font-size: var(--pfk-meta); color: var(--pfk-muted); line-height: 1.4; }
.order-view-timeline-step.current .order-view-timeline-meta { color: var(--pfk-ink); }
.order-view-tracking-info { display: flex; flex-wrap: wrap; gap: var(--pfk-s16); margin-top: var(--pfk-s24); padding-top: var(--pfk-s24); border-top: 1px solid var(--pfk-line); }
@media (min-width: 1024px) {
  .order-view-tracking-info { margin-top: var(--pfk-s32); padding-top: var(--pfk-s32); gap: var(--pfk-s24); }
}
.order-view-tracking-block { display: flex; flex-direction: column; gap: var(--pfk-s8); padding: var(--pfk-s12) var(--pfk-s16); background: var(--pfk-f-bg); border-radius: var(--pfk-radius-sm); }
@media (min-width: 1024px) {
  .order-view-tracking-block { padding: var(--pfk-s16) var(--pfk-s20); flex: 1; min-width: 140px; }
}
.order-view-tracking-label { font-size: var(--pfk-small); color: var(--pfk-muted); font-weight: var(--pfk-font-medium); }
.order-view-tracking-code { font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); font-family: ui-monospace, monospace; }
.order-view-tracking-action { margin-top: var(--pfk-s8); }
.order-view-copy-btn { font-size: var(--pfk-meta); color: var(--pfk-accent); background: 0; border: 0; cursor: pointer; padding: 0; font: inherit; text-decoration: underline; transition: var(--pfk-trans); }
.order-view-copy-btn:hover { color: var(--pfk-accent-hover); }
.order-view-copy-btn.order-view-copy-success { color: #16a34a; }
.order-view-tracking-link { font-size: var(--pfk-small); font-weight: var(--pfk-font-medium); color: var(--pfk-primary); text-decoration: none; transition: var(--pfk-trans); }
.order-view-tracking-link:hover { color: var(--pfk-primary-hover); text-decoration: underline; }
.order-view-tracking-courier { font-weight: var(--pfk-font-medium); color: var(--pfk-ink); }
.order-view-tracking-delivery { background: #dcfce7; }
.order-view-tracking-date { font-weight: var(--pfk-font-semibold); color: #166534; }
/* Order view – action bar (account / order detail) */
.order-view-actionbar {
  margin-bottom: var(--pfk-s32);
  padding: var(--pfk-s20) var(--pfk-s20);
  background: #fff;
  border: 1px solid var(--pfk-line);
  border-radius: var(--pfk-radius);
  box-shadow: var(--pfk-shadow-soft);
}
@media (min-width: 768px) {
  .order-view-actionbar {
    padding: var(--pfk-s24) var(--pfk-s24);
    margin-bottom: 40px;
  }
}
.order-view-actionbar-title {
  margin: 0 0 var(--pfk-s16);
  font-size: 11px;
  font-weight: var(--pfk-font-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pfk-muted);
}
.order-view-actionbar-row {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: var(--pfk-s10);
}
@media (min-width: 768px) {
  .order-view-actionbar-row {
    flex-direction: row;
    align-items: stretch;
    gap: var(--pfk-s12);
  }
}
.order-view-actionbar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 var(--pfk-s20);
  font-family: inherit;
  font-size: 14px;
  font-weight: var(--pfk-font-semibold);
  letter-spacing: -0.01em;
  line-height: 1.2;
  border-radius: 12px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
  -webkit-tap-highlight-color: transparent;
  text-decoration: none;
  box-sizing: border-box;
  width: 100%;
}
@media (min-width: 768px) {
  .order-view-actionbar-btn {
    width: auto;
    min-width: 0;
    justify-content: flex-start;
    padding: 0 var(--pfk-s20);
  }
  .order-view-actionbar-btn--primary {
    flex: 0 0 auto;
    min-width: 220px;
  }
  .order-view-actionbar-btn--secondary {
    flex: 0 1 auto;
  }
}
.order-view-actionbar-icon {
  flex-shrink: 0;
  color: currentColor;
  opacity: 0.92;
}
.order-view-actionbar-btn--primary {
  background: #0f172a;
  color: #fff;
  border-color: #0f172a;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}
.order-view-actionbar-btn--primary:hover {
  background: #1e293b;
  border-color: #1e293b;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
}
.order-view-actionbar-btn--primary:active {
  transform: translateY(1px);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}
.order-view-actionbar-btn--primary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.25), 0 4px 14px rgba(15, 23, 42, 0.15);
}
.order-view-actionbar-btn--secondary {
  background: #fff;
  color: var(--pfk-ink);
  border-color: #e2e8f0;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}
.order-view-actionbar-btn--secondary:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: var(--pfk-ink);
}
.order-view-actionbar-btn--secondary:active {
  transform: translateY(1px);
  background: #f1f5f9;
}
.order-view-actionbar-btn--secondary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.12);
}
.order-view-actionbar-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.order-view-actionbar-btn--secondary.order-view-actionbar-btn--document-disabled:disabled {
  opacity: 1;
  cursor: default;
  pointer-events: none;
  background: #f1f5f9;
  color: #94a3b8;
  border-color: #e2e8f0;
  box-shadow: none;
}
.order-view-actionbar-btn--secondary.order-view-actionbar-btn--document-disabled:disabled:hover,
.order-view-actionbar-btn--secondary.order-view-actionbar-btn--document-disabled:disabled:active {
  background: #f1f5f9;
  border-color: #e2e8f0;
  color: #94a3b8;
  transform: none;
  box-shadow: none;
}
.order-view-actionbar-btn--secondary.order-view-actionbar-btn--document-disabled:disabled .order-view-actionbar-icon {
  opacity: 0.75;
}

/* Order view – mobile polish (≤767px; desktop/tablet unchanged ≥768) */
@media (max-width: 767px) {
  .order-view-main {
    padding: 22px 18px 0;
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0));
  }
  .order-view-back {
    margin-bottom: 22px;
    font-size: var(--pfk-body);
  }
  /* Stack rhythm: consistent gaps between major blocks */
  .order-view-hero {
    padding: 22px 20px;
    margin-bottom: 20px;
    border-radius: 14px;
  }
  .order-view-hero-status-wrap {
    margin-bottom: 14px;
  }
  .order-view-hero-secondary {
    gap: 8px;
  }
  .order-view-hero-title {
    font-size: clamp(1.35rem, 5vw, 1.5rem);
    line-height: 1.22;
  }
  .order-view-actionbar {
    padding: 22px 20px;
    margin-bottom: 20px;
    border-radius: 14px;
  }
  .order-view-actionbar-title {
    margin-bottom: 14px;
    letter-spacing: 0.07em;
  }
  .order-view-actionbar-row {
    gap: 12px;
  }
  .order-view-section {
    margin-bottom: 20px;
  }
  .order-view-section-title {
    margin: 0 0 14px;
    font-size: 1.05rem;
    line-height: 1.3;
    letter-spacing: -0.02em;
  }
  /* Card shells: air inside + title offset from top edge */
  .order-view-tracking {
    padding: 22px 20px 24px;
    margin-bottom: 20px;
    border-radius: 14px;
  }
  .order-view-tracking > .order-view-section-title {
    margin-top: 2px;
    margin-bottom: 18px;
  }
  .order-view-products {
    padding: 22px 20px 24px;
    margin-bottom: 20px;
    border-radius: 14px;
  }
  .order-view-products > .order-view-section-title {
    margin-top: 2px;
    margin-bottom: 18px;
  }
  .order-view-card {
    padding: 22px 20px 24px;
    border-radius: 14px;
  }
  .order-view-card > .order-view-section-title {
    margin-top: 2px;
    margin-bottom: 16px;
  }
  .order-view-summary-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 20px;
  }
  .order-view-summary-grid > .order-view-section {
    margin-bottom: 0;
  }
  .order-view-card-compact {
    padding: 22px 20px;
  }
  /* Timeline vertical: breathing room dot / line / text */
  .order-view-timeline {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    overflow: visible;
    padding: 4px 0 8px;
  }
  .order-view-timeline-step {
    flex: none;
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    padding: 14px 0 18px;
    gap: 14px;
    min-height: 0;
  }
  .order-view-timeline-step:first-child {
    padding-top: 6px;
  }
  .order-view-timeline-step:not(:last-child)::after {
    left: 7px;
    top: 28px;
    bottom: -6px;
    width: 2px;
    height: auto;
  }
  .order-view-timeline-dot {
    margin-bottom: 0;
    margin-top: 4px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
  }
  .order-view-timeline-step.current .order-view-timeline-dot {
    box-shadow: 0 0 0 5px rgba(15, 23, 42, 0.1);
  }
  .order-view-timeline-content {
    align-items: flex-start;
    flex: 1;
    min-width: 0;
    gap: 6px;
    padding-top: 2px;
  }
  .order-view-timeline-label {
    font-size: 15px;
    font-weight: var(--pfk-font-medium);
    text-align: left;
    line-height: 1.35;
  }
  .order-view-timeline-meta {
    font-size: 13px;
    color: var(--pfk-muted);
    text-align: left;
    line-height: 1.45;
  }
  .order-view-tracking-info {
    flex-direction: column;
    margin-top: 22px;
    padding-top: 22px;
    gap: 14px;
  }
  .order-view-tracking-block {
    flex: none;
    width: 100%;
    padding: 16px 18px;
    gap: 10px;
    border-radius: 12px;
  }
  .order-view-tracking-label {
    font-size: var(--pfk-small);
  }
  .order-view-tracking-code {
    font-size: var(--pfk-body);
  }
  .order-view-tracking-action {
    margin-top: 10px;
  }
  .order-view-tracking-link {
    font-size: var(--pfk-body);
  }
  .order-view-actionbar-btn {
    width: 100%;
    justify-content: flex-start;
    min-height: 50px;
  }
  /* Summary + order info rows */
  .order-view-summary-rows {
    gap: 14px;
  }
  .order-view-summary-row {
    align-items: flex-start;
    gap: 12px;
    line-height: 1.45;
  }
  .order-view-summary-row span:first-child {
    flex: 1;
    min-width: 0;
    padding-right: 8px;
  }
  .order-view-summary-row span:last-child {
    flex-shrink: 0;
    text-align: right;
  }
  .order-view-summary-total {
    margin-top: 16px !important;
    padding-top: 18px !important;
  }
  .order-view-info-list {
    gap: 14px;
  }
  .order-view-info-row {
    align-items: flex-start;
    gap: 12px;
    line-height: 1.45;
  }
  .order-view-info-label {
    flex: 1;
    min-width: 0;
    padding-right: 8px;
  }
  .order-view-info-value {
    flex-shrink: 0;
    text-align: right;
    max-width: 52%;
  }
  /* Products list */
  .order-view-products-list {
    gap: 0;
  }
  .order-view-product {
    align-items: flex-start;
    padding: 16px 0;
    gap: 12px;
  }
  .order-view-product:first-child {
    padding-top: 4px;
  }
  .order-view-product-img {
    width: 72px;
    height: 90px;
  }
  .order-view-product-info {
    padding-top: 0;
    gap: 4px;
  }
  .order-view-product-name {
    font-size: 15px;
    margin: 0;
    line-height: 1.35;
  }
  .order-view-product-meta,
  .order-view-product-store {
    margin: 0;
  }
  .order-view-product-qty {
    margin: 0;
    margin-top: 1px;
  }
  .order-view-product-price {
    font-size: 16px;
    margin-top: 0;
    padding-top: 1px;
    min-width: 4.25rem;
    letter-spacing: -0.02em;
  }
  .order-view-totals {
    margin-top: 22px;
    padding-top: 22px;
  }
  /* Shipping address – last card feels finished */
  #order-view-content > .order-view-section.order-view-card:last-of-type {
    margin-bottom: 8px;
  }
  .order-view-address {
    font-size: 14px;
    line-height: 1.75;
    padding: 4px 0 6px;
  }
  .order-view-address p {
    margin: 0 0 10px;
  }
}

/* Order view only: footer handoff + scroll control (mobile) */
@media (max-width: 767px) {
  body:has(.order-view-main) #pfk-footer-root {
    margin-top: 12px;
    padding-top: 28px;
    border-top: 1px solid #e8ecf1;
  }
  body:has(.order-view-main) #pfk-scroll-top {
    width: 40px;
    height: 40px;
    right: 14px;
    bottom: calc(72px + env(safe-area-inset-bottom, 0));
    box-shadow: 0 2px 14px rgba(15, 23, 42, 0.1);
    border-color: #e2e8f0;
  }
  body:has(.order-view-main) #pfk-scroll-top svg {
    width: 18px;
    height: 18px;
  }
}

/* Products */
.order-view-products { background: #fff; border-radius: var(--pfk-radius); border: 1px solid var(--pfk-line); box-shadow: var(--pfk-shadow-soft); padding: var(--pfk-space-lg); }
@media (min-width: 1024px) {
  .order-view-products { padding: var(--pfk-s32); }
  .order-view-product { padding: var(--pfk-s18) 0; gap: var(--pfk-s20); }
}
.order-view-products-list { display: flex; flex-direction: column; gap: 0; }
.order-view-product {
  display: flex;
  align-items: flex-start;
  gap: var(--pfk-s16);
  padding: var(--pfk-s16) 0;
  border-bottom: 1px solid var(--pfk-line);
}
.order-view-product:last-child { border-bottom: 0; }
.order-view-product-img { width: 80px; height: 100px; object-fit: cover; border-radius: var(--pfk-radius-sm); flex-shrink: 0; }
.order-view-product-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}
.order-view-product-name {
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-ink);
  margin: 0;
  font-size: var(--pfk-body);
  line-height: 1.35;
}
.order-view-product-meta { font-size: var(--pfk-small); color: var(--pfk-muted); margin: 0; line-height: 1.35; }
.order-view-product-variation { color: var(--pfk-muted); }
.order-view-product-note { color: var(--pfk-muted); font-size: var(--pfk-small); }
.order-view-product-availability {
  display: inline-flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0;
  font-size: var(--pfk-small);
  line-height: 1.35;
  font-weight: var(--pfk-font-medium);
}
.order-view-product-availability-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex-shrink: 0;
  margin-top: 5px;
  background: #9ca3af;
  box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.22);
}
.order-view-product-availability--green { color: #15803d; }
.order-view-product-availability--green .order-view-product-availability-dot {
  background: #16a34a;
  box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.22);
}
.order-view-product-availability--amber { color: #c2410c; }
.order-view-product-availability--amber .order-view-product-availability-dot {
  background: #ea580c;
  box-shadow: 0 0 0 2px rgba(234, 88, 12, 0.18);
}
.order-view-product-availability--muted { color: var(--pfk-muted); }
.order-view-timeline-meta--empty { display: none; }
.order-view-product-store { font-size: var(--pfk-meta); color: var(--pfk-muted); margin: 0 0 var(--pfk-s4); }
.order-view-product-qty {
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  margin: 1px 0 0;
  line-height: 1.35;
}
.order-view-product-img-wrap { display: block; flex-shrink: 0; }
.order-view-product-price {
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pfk-ink);
  font-size: var(--pfk-body);
  flex-shrink: 0;
  text-align: right;
  line-height: 1.35;
  padding-top: 1px;
  min-width: 4.25rem;
}
.order-view-totals { margin-top: var(--pfk-s24); padding-top: var(--pfk-s24); border-top: 1px solid var(--pfk-line); text-align: right; }
.order-view-totals-row { display: flex; justify-content: flex-end; gap: var(--pfk-s24); font-size: var(--pfk-small); color: var(--pfk-muted); margin-bottom: var(--pfk-s8); }
@media (min-width: 1024px) {
  .order-view-totals-row { margin-bottom: var(--pfk-s12); }
}
.order-view-totals-total { font-size: var(--pfk-body); font-weight: var(--pfk-font-semibold); color: var(--pfk-ink); margin-top: var(--pfk-s8); padding-top: var(--pfk-s8); border-top: 1px solid var(--pfk-line); }
@media (min-width: 1024px) {
  .order-view-totals { margin-top: var(--pfk-s32); padding-top: var(--pfk-s32); }
  .order-view-totals-total { margin-top: var(--pfk-s16); padding-top: var(--pfk-s16); }
}

/* Order success – consistency */
.order-success-main .pfk-btn { min-width: 180px; justify-content: center; }
.order-success-main .order-success-icon { animation: order-success-pop 0.5s ease-out; }
@keyframes order-success-pop {
  0% { transform: scale(0.8); opacity: 0; }
  60% { transform: scale(1.05); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* Archive – mobile tighter grid */
@media (max-width: 640px) {
  #archive-products { gap: 0 !important; }
  #archive-products article { margin: 0 !important; }
  #archive-products article p { font-size: var(--pfk-small); }
}

/* Single product – variation buttons, add to cart */
[data-variation-option] {
  transition: var(--pfk-trans);
}
[data-variation-option]:hover:not([disabled]) {
  border-color: var(--pfk-ink) !important;
}
[data-variation-option]:active:not([disabled]) {
  transform: scale(0.97);
}
.pfk-variation-selected {
  border-color: var(--pfk-ink) !important;
}
[data-variation-option][disabled] {
  cursor: not-allowed;
}

/* Accordion chevron */
.pfk-accordion-chevron {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.pfk-accordion-btn.pfk-accordion-open .pfk-accordion-chevron {
  transform: rotate(180deg);
}

/* Product gallery lightbox (PDP) */
.pfk-gallery-modal {
  position: fixed;
  inset: 0;
  z-index: 12100;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: stretch;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
}
.pfk-gallery-modal.hidden,
.pfk-gallery-modal:not(.is-open) {
  display: none;
}
.pfk-gallery-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(9, 9, 11, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.pfk-gallery-modal__viewer {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: max(16px, env(safe-area-inset-top, 0px)) 16px max(20px, env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
}
.pfk-gallery-modal__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
  margin-bottom: 8px;
}
.pfk-gallery-modal__controls {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.pfk-gallery-modal__counter {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.pfk-gallery-modal__close {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.pfk-gallery-modal__close svg {
  width: 22px;
  height: 22px;
}
.pfk-gallery-modal__close:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.28);
}
.pfk-gallery-modal__close:active {
  transform: scale(0.94);
}
.pfk-gallery-modal__zoom {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.pfk-gallery-modal__zoom svg {
  width: 22px;
  height: 22px;
}
.pfk-gallery-modal__zoom:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.28);
}
.pfk-gallery-modal__zoom:active {
  transform: scale(0.94);
}
.pfk-gallery-modal__zoom-icon--out {
  display: none;
}
.pfk-gallery-modal__zoom.is-zoomed .pfk-gallery-modal__zoom-icon--in {
  display: none;
}
.pfk-gallery-modal__zoom.is-zoomed .pfk-gallery-modal__zoom-icon--out {
  display: block;
}
.pfk-gallery-modal__stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0 16px;
}
.pfk-gallery-modal__image-stage {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  max-width: min(90vw, 960px);
  height: 100%;
  max-height: min(78dvh, 760px);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  touch-action: none;
}
.pfk-gallery-modal__image-transform {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  will-change: transform;
  transform-origin: center center;
}
.pfk-gallery-modal__image-transform.is-animating {
  transition: transform 0.28s cubic-bezier(0.2, 0, 0.2, 1);
}
.pfk-gallery-modal__image-transform.is-zoomed {
  cursor: grab;
}
.pfk-gallery-modal__image-transform.is-panning {
  cursor: grabbing;
  transition: none;
}
.pfk-gallery-modal__image {
  display: block;
  max-width: 100%;
  max-height: min(78dvh, 760px);
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: none;
}
.pfk-gallery-modal__zoom-hint {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  margin: 0;
  padding: 0;
  color: rgba(255, 255, 255, 0.52);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.35;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.5s ease;
  max-width: calc(100% - 32px);
}
.pfk-gallery-modal__zoom-hint.is-visible {
  opacity: 1;
}
.pfk-gallery-modal__image-stage.is-zoomed .pfk-gallery-modal__zoom-hint {
  opacity: 0 !important;
}
.pfk-gallery-modal__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.pfk-gallery-modal__nav svg {
  width: 22px;
  height: 22px;
}
.pfk-gallery-modal__nav:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.28);
}
.pfk-gallery-modal__nav:active {
  transform: translateY(-50%) scale(0.95);
}
.pfk-gallery-modal__nav--prev {
  left: 8px;
}
.pfk-gallery-modal__nav--next {
  right: 8px;
}
.pfk-gallery-modal__nav[hidden] {
  display: none;
}
.pfk-gallery-modal__thumbs {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0 4px;
  box-sizing: border-box;
}
.pfk-gallery-modal__thumbs--hidden {
  display: none;
}
.pfk-gallery-modal__thumbs-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(24, 24, 27, 0.6);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.pfk-gallery-modal__thumbs-inner::-webkit-scrollbar {
  display: none;
}
.pfk-gallery-modal__thumb {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  padding: 0;
  border: 2px solid transparent;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
  opacity: 0.82;
  transition: opacity 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.pfk-gallery-modal__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  pointer-events: none;
}
.pfk-gallery-modal__thumb:hover {
  opacity: 1;
}
.pfk-gallery-modal__thumb.is-active {
  opacity: 1;
  border-color: rgba(255, 255, 255, 0.72);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
}

@media (min-width: 768px) {
  .pfk-gallery-modal__viewer {
    padding: max(24px, env(safe-area-inset-top, 0px)) 24px max(28px, env(safe-area-inset-bottom, 0px));
  }
  .pfk-gallery-modal__close {
    width: 48px;
    height: 48px;
  }
  .pfk-gallery-modal__zoom {
    width: 48px;
    height: 48px;
  }
  .pfk-gallery-modal__nav {
    width: 56px;
    height: 56px;
  }
  .pfk-gallery-modal__nav--prev {
    left: 32px;
  }
  .pfk-gallery-modal__nav--next {
    right: 32px;
  }
  .pfk-gallery-modal__thumb {
    width: 64px;
    height: 64px;
    border-radius: 12px;
  }
}

@media (max-width: 767px) {
  .pfk-gallery-modal__viewer {
    padding-bottom: max(88px, calc(env(safe-area-inset-bottom, 0px) + 72px));
  }
  .pfk-gallery-modal__image-stage,
  .pfk-gallery-modal__image {
    max-height: min(62dvh, 520px);
  }
  .pfk-gallery-modal__nav {
    width: 36px;
    height: 36px;
    background: rgba(30, 30, 32, 0.58);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #fff;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  .pfk-gallery-modal__nav:hover,
  .pfk-gallery-modal__nav:active {
    background: rgba(30, 30, 32, 0.72);
    border-color: rgba(255, 255, 255, 0.16);
  }
  .pfk-gallery-modal__nav svg {
    width: 20px;
    height: 20px;
  }
  .pfk-gallery-modal__nav--prev {
    left: 4px;
  }
  .pfk-gallery-modal__nav--next {
    right: 4px;
  }
  .pfk-gallery-modal__thumb {
    width: 52px;
    height: 52px;
  }
}
.pfk-gallery-thumb {
  transition: var(--pfk-trans);
  outline: none;
  box-shadow: none;
}
.pfk-gallery-thumb:focus,
.pfk-gallery-thumb:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Quantity selector – cart & product */
.pfk-quantity-wrap,
.pfk-quantity-btn {
  transition: var(--pfk-trans);
}
.pfk-quantity-btn:hover {
  background: #f8fafc !important;
}
.pfk-quantity-btn:active {
  transform: scale(0.95);
}

/* PDP quantity input: keep only custom -/+ controls */
input[data-product-qty]::-webkit-outer-spin-button,
input[data-product-qty]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[data-product-qty] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* FAQ accordion */
[data-accordion-toggle] {
  transition: var(--pfk-trans);
}
[data-accordion-toggle]:hover {
  color: var(--pfk-ink);
}

/* Add-to-cart success state */
.pfk-atc-success { color: var(--pfk-commerce-success) !important; }

/* Loading state – buttons */
.pfk-loading { pointer-events: none; opacity: 0.85; }
.pfk-loading::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: pfk-spin 0.6s linear infinite;
  vertical-align: middle;
}
@keyframes pfk-spin { to { transform: rotate(360deg); } }

/* ========== Single product (PDP) – reference prosforakias.gr alignment ========== */
main.pfk-pdp-main {
  padding-top: 10px;
  padding-bottom: var(--pfk-s32);
}
.pfk-pdp-breadcrumb {
  margin-bottom: 12px;
}

.pfk-pdp-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pfk-pdp-gallery-main-wrap {
  order: 1;
  width: 100%;
}
.pfk-pdp-gallery-thumbs {
  order: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (min-width: 1024px) {
  .pfk-pdp-gallery {
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
  }
  .pfk-pdp-gallery-thumbs {
    order: 0;
    display: flex;
    flex-direction: column;
    width: 76px;
    flex-shrink: 0;
    gap: 8px;
    grid-template-columns: none;
  }
  .pfk-pdp-gallery-main-wrap {
    order: 1;
    flex: 1;
    min-width: 0;
  }
}

.pfk-pdp-main-img-btn {
  border-color: #e5e7eb;
}
.pfk-pdp-img-sale-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  background: #fecaca;
  color: #7f1d1d;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 9px;
  border-radius: 3px;
  letter-spacing: 0.03em;
  line-height: 1.1;
  max-width: calc(100% - 24px);
  text-align: center;
}

.pfk-pdp-brand {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #374151;
}
.pfk-pdp-price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px 14px;
}
.pfk-pdp-price-old {
  font-size: 1rem;
  font-weight: 500;
  color: #dc2626;
  text-decoration: line-through;
}
.pfk-pdp-price-current {
  font-size: 1.625rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #111;
  line-height: 1.2;
}

@media (min-width: 1024px) {
  .pfk-pdp-summary {
    max-width: 32rem;
  }
}

/* PDP: ετικέτα ποσότητας πάνω, ίδια γραμμή / ίδιο ύψος για stepper + «Προσθήκη στο καλάθι» */
.pfk-pdp-cart-row {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
}
.pfk-pdp-qty-label {
  margin: 0;
}
.pfk-pdp-qty-atc-line {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 12px;
}
.pfk-pdp-quantity-wrap {
  flex: 0 0 auto;
  display: flex;
  align-items: stretch;
  min-width: 120px;
  min-height: 40px;
}
.pfk-pdp-qty-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
}
.pfk-pdp-qty-input {
  align-self: center;
}
@media (max-width: 420px) {
  .pfk-pdp-quantity-wrap {
    min-width: 108px;
  }
}

.pfk-pdp-atc-btn {
  flex: 1;
  min-width: 0;
  align-self: stretch;
  min-height: 40px;
  background: #3b8f3a;
  border: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.pfk-pdp-atc-btn:hover:not(:disabled) {
  background: #327a31;
}
.pfk-pdp-atc-btn:active:not(:disabled) {
  transform: translateY(1px);
}
.pfk-pdp-atc-btn:focus-visible {
  outline: 2px solid #327a31;
  outline-offset: 2px;
}

.pfk-pdp-trust-box {
  border: 1px dashed #cbd5e1;
  border-radius: 6px;
  padding: 14px 16px;
  background: #fafafa;
}
.pfk-pdp-payment-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.pfk-pdp-pay-pill {
  font-size: 11px;
  font-weight: 600;
  color: #475569;
  padding: 4px 10px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #e2e8f0;
}

.pfk-pdp-thumb-active {
  border-color: #111 !important;
  outline: none !important;
  box-shadow: none !important;
}

.product-availability-box {
  border-radius: 8px;
}

.pfk-pdp-availability--premium {
  background: rgba(248, 250, 252, 0.95);
  border-color: rgba(226, 232, 240, 0.95) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.pfk-pdp-avail-bullet {
  font-size: 1.15em;
  line-height: 1;
}

.pfk-pdp-avail-bullet--green {
  color: #15803d;
}

.pfk-pdp-avail-bullet--amber {
  color: #c2410c;
}

.pfk-pdp-availability-inner {
  margin: 0;
  color: #1e293b;
}

/* PDP — κάρτα εκτιμώμενης παράδοσης */
.pfk-pdp-delivery-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  background: linear-gradient(165deg, #fafbfc 0%, #f1f5f9 100%);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.pfk-pdp-delivery-card__icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #475569;
}
.pfk-pdp-delivery-card__svg {
  width: 22px;
  height: 22px;
}
.pfk-pdp-delivery-card__body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  padding-top: 2px;
}
.pfk-pdp-delivery-card__kicker {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}
.pfk-pdp-delivery-card__range {
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

/* PDP template implementation pass (dynamic, stitch-style) */
.pfk-product-detail {
  --pfk-pdp-edge: #e2e8f0;
}
.pfk-product-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  font-size: 19px;
  color: #475569;
  line-height: 1.1;
}
.pfk-product-breadcrumb-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  text-decoration: none;
  font-weight: 600;
  min-width: 0;
}
.pfk-product-breadcrumb-back:hover {
  color: #0f172a;
}
.pfk-product-breadcrumb a {
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}
.pfk-product-breadcrumb a:hover {
  color: #0f172a;
  text-decoration: none;
}
.pfk-product-breadcrumb-sep {
  color: #94a3b8;
  flex-shrink: 0;
}
.pfk-product-breadcrumb-current {
  color: #0f172a;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#product-breadcrumb-back-label {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pfk-product-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
}
@media (min-width: 1024px) {
  .pfk-product-detail-grid {
    grid-template-columns: minmax(300px, 540px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
  }
}

.pfk-product-gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
}
@media (min-width: 1024px) {
  .pfk-product-gallery {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto;
    gap: 14px;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
  }
  .pfk-product-gallery-thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    width: 86px;
    max-width: none;
    flex: unset;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    align-self: stretch;
    gap: 8px;
  }
  .pfk-product-gallery-thumbs .pfk-product-gallery-thumb {
    width: 86px;
    flex-shrink: 0;
  }
  .pfk-product-gallery-card {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}
.pfk-product-gallery-card {
  position: relative;
  width: fit-content;
  max-width: 100%;
  background: #f8fafc;
  border-radius: 16px;
  border: 1px solid var(--pfk-pdp-edge);
  box-shadow: 0 2px 16px rgba(15, 23, 42, 0.06);
  overflow: hidden;
}
.pfk-product-gallery-main {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  cursor: zoom-in;
  line-height: 0;
  touch-action: pan-y;
}
.pfk-product-gallery-main.pfk-gallery-main--swipeable {
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.pfk-product-gallery-main.pfk-gallery-main--swipeable.pfk-gallery-main--dragging {
  cursor: grabbing;
}
.pfk-gallery-main-nav {
  position: absolute;
  top: 50%;
  z-index: 4;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: rgba(255, 255, 255, 0.94);
  color: #0f172a;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  -webkit-tap-highlight-color: transparent;
}
.pfk-gallery-main-nav:hover {
  background: #fff;
  border-color: #cbd5e1;
  color: #020617;
}
.pfk-gallery-main-nav:active {
  transform: translateY(-50%) scale(0.96);
}
.pfk-gallery-main-nav--prev {
  left: 10px;
}
.pfk-gallery-main-nav--next {
  right: 10px;
}
.pfk-gallery-main-nav svg {
  width: 20px;
  height: 20px;
}
.pfk-gallery-main-nav[hidden] {
  display: none !important;
}
.pfk-product-gallery-main-img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
@media (min-width: 1024px) {
  .pfk-product-gallery-card {
    width: 100%;
    max-width: 100%;
  }
  .pfk-product-gallery-main-img {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }
}
.pfk-product-gallery-wishlist {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 6;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: rgba(255, 255, 255, 0.92);
  color: #111827;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pfk-product-gallery-wishlist:hover {
  border-color: #9ca3af;
  color: #ef4444;
}
.pfk-product-gallery-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
  align-content: flex-start;
}
.pfk-product-gallery-thumbs .pfk-product-gallery-thumb {
  flex: 0 0 auto;
  width: 90px;
}
@media (min-width: 1024px) {
  .pfk-product-gallery-thumbs .pfk-product-gallery-thumb {
    width: 86px;
  }
}
.pfk-product-gallery-thumb {
  display: block;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.pfk-product-gallery-thumb img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}
.pfk-product-gallery-thumb.is-active {
  border-color: #0f172a;
  box-shadow: 0 0 0 1px #0f172a inset;
}

.pfk-product-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.pfk-product-brand {
  margin: 0;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #64748b;
  font-weight: 700;
}
.pfk-product-title {
  margin: -1px 0 0;
  color: #0f172a;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  line-height: 1.2;
  letter-spacing: -0.012em;
  font-weight: 800;
}
.pfk-product-sku {
  margin: 0;
  font-size: 12px;
  color: #64748b;
  letter-spacing: 0.01em;
}

.pfk-product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 16px;
}
.pfk-product-price-discount-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: fit-content;
  max-width: 100%;
  gap: 4px;
  padding-bottom: 4px;
}
.pfk-product-price-current {
  font-size: clamp(2.3rem, 5vw, 3rem);
  font-weight: 800;
  color: #020617;
  line-height: 1.1;
  letter-spacing: -0.02em;
}
.pfk-product-price-old {
  font-size: 1rem;
  color: #64748b;
  text-decoration: line-through;
  font-weight: 500;
  line-height: 1.2;
}
.pfk-product-price-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(248, 50, 86, 0.12);
  color: rgb(248, 50, 86);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.1;
}

.pfk-product-linked-colors {
  margin: 6px 0 0;
  overflow: visible;
}
.pfk-product-linked-colors-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  align-items: flex-start;
  padding-top: 6px;
  overflow: visible;
}
.pfk-product-color-swatch {
  position: relative;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  line-height: 0;
  overflow: visible;
  opacity: 0.82;
  transition: opacity 0.2s ease;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.pfk-product-color-swatch-face {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #d1d5db;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.04);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.pfk-product-color-swatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pfk-product-color-swatch-tooltip {
  position: absolute;
  z-index: 25;
  left: 50%;
  bottom: 100%;
  margin-bottom: 8px;
  transform: translate3d(-50%, 6px, 0);
  padding: 7px 12px;
  background: #0a0a0a;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  border-radius: 8px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.pfk-product-color-swatch-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -6px;
  border: 6px solid transparent;
  border-top-color: #0a0a0a;
}
.pfk-product-color-swatch:hover .pfk-product-color-swatch-tooltip,
.pfk-product-color-swatch:focus-visible .pfk-product-color-swatch-tooltip,
.pfk-product-color-swatch.is-tooltip-pinned .pfk-product-color-swatch-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translate3d(-50%, 0, 0);
}
@media (hover: none) {
  .pfk-product-color-swatch:active .pfk-product-color-swatch-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate3d(-50%, 0, 0);
  }
}
.pfk-product-color-swatch:hover,
.pfk-product-color-swatch:focus-visible,
.pfk-product-color-swatch.is-active,
.pfk-product-color-swatch.is-tooltip-pinned {
  opacity: 1;
}
.pfk-product-color-swatch:hover .pfk-product-color-swatch-face,
.pfk-product-color-swatch:focus-visible .pfk-product-color-swatch-face {
  border: 2px solid #0f172a;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.1);
}
.pfk-product-color-swatch.is-active .pfk-product-color-swatch-face {
  border: 2px solid #0f172a;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.1);
}
.pfk-product-color-swatch:focus-visible {
  outline: none;
}
.pfk-product-color-swatch:focus-visible .pfk-product-color-swatch-face {
  outline: 2px solid #0f172a;
  outline-offset: 2px;
}

.pfk-product-size-section {
  margin-top: 2px;
}
.pfk-product-size-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.pfk-product-size-label {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: #0f172a;
}
.pfk-product-size-label span {
  color: #ef4444;
}
.pfk-product-size-guide {
  border: 0;
  background: transparent;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #0f172a;
  text-decoration: none;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
}
.pfk-product-size-guide-icon {
  width: 16px;
  height: 16px;
}
.pfk-product-size-guide:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pfk-product-size-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.pfk-product-size-chip {
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #0f172a;
  border-radius: 14px;
  min-width: 48px;
  min-height: 46px;
  padding: 10px 14px;
  line-height: 1;
  font-size: 14px;
  font-weight: 600;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.pfk-product-size-chip:hover:not(.is-disabled):not(.is-selected) {
  border-color: #64748b;
}
.pfk-product-size-chip.is-selected {
  border-color: #0f172a;
  background: #0f172a;
  color: #fff;
}
.pfk-product-size-chip.is-disabled {
  opacity: 0.4;
  text-decoration: line-through;
  cursor: not-allowed;
}

.pfk-product-availability {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 12px 14px;
}
.pfk-product-availability-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex-shrink: 0;
}
.pfk-product-availability-copy {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 8px;
}
.pfk-product-availability-title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}
.pfk-product-availability-subtext {
  font-size: 14px;
  line-height: 1.3;
}
.pfk-product-availability-subtext::before {
  content: "•";
  margin-right: 8px;
  opacity: 0.5;
}
.pfk-product-availability--green {
  background: #ecfdf5;
  border-color: #a7f3d0;
}
.pfk-product-availability--green .pfk-product-availability-dot {
  background: #22c55e;
}
.pfk-product-availability--green .pfk-product-availability-title {
  color: #14532d;
}
.pfk-product-availability--green .pfk-product-availability-subtext {
  color: #166534;
}
.pfk-product-availability--amber {
  background: #fffbeb;
  border-color: #fde68a;
}
.pfk-product-availability--amber .pfk-product-availability-dot {
  background: #f59e0b;
}
.pfk-product-availability--amber .pfk-product-availability-title {
  color: #92400e;
}
.pfk-product-availability--amber .pfk-product-availability-subtext {
  color: #9a3412;
}

.pfk-product-delivery {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--pfk-pdp-edge);
  border-radius: 12px;
  background: #f8fafc;
  padding: 14px 16px;
}
.pfk-product-delivery-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #0f172a;
}
.pfk-product-delivery-icon svg {
  width: 28px;
  height: 28px;
}
.pfk-product-delivery-body {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  min-width: 0;
}
.pfk-product-delivery-label {
  font-size: 16px;
  color: #64748b;
  font-weight: 600;
}
.pfk-product-delivery-value {
  font-size: 16px;
  color: #0f172a;
  font-weight: 600;
  line-height: 1.3;
}

.pfk-product-cta-row {
  display: flex;
  gap: 12px;
  align-items: stretch;
}
.pfk-product-qty-wrap {
  display: flex;
  align-items: stretch;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  min-height: 54px;
  min-width: 130px;
  flex: 0 0 auto;
}
.pfk-product-qty-btn {
  border: 0;
  background: transparent;
  width: 42px;
  color: #334155;
  font-size: 20px;
}
.pfk-product-qty-input {
  width: 44px;
  border: 0;
  background: transparent;
  text-align: center;
  font-weight: 700;
  color: #0f172a;
}
.pfk-product-atc-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 14px;
  background: #006c49;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  min-height: 54px;
  padding: 0 16px;
  transition: background-color 0.2s ease, transform 0.12s ease;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.pfk-product-atc-btn-icon {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 0;
}
.pfk-product-atc-btn-icon svg {
  width: 22px;
  height: 22px;
}
.pfk-product-atc-btn:hover:not(:disabled) {
  background: #00583c;
}
.pfk-product-atc-btn:active:not(:disabled) {
  transform: translateY(1px);
}
.pfk-product-atc-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.pfk-product-description {
  margin-top: 34px;
  border-top: 1px solid var(--pfk-pdp-edge);
  padding-top: 20px;
}
.pfk-product-description h2 {
  margin: 0 0 10px;
  font-size: 1.15rem;
  color: #0f172a;
  font-weight: 700;
}
.pfk-product-description-body {
  color: #475569;
  line-height: 1.6;
  font-size: 14px;
  white-space: pre-line;
}

@media (max-width: 640px) {
  .pfk-product-brand {
    font-size: 14px;
  }
  .pfk-product-title {
    font-size: 1.45rem;
  }
  .pfk-product-price-current {
    font-size: 2rem;
  }
  .pfk-product-price-old {
    font-size: 0.95rem;
  }
  .pfk-product-price-badge {
    font-size: 11px;
  }
  .pfk-product-availability-copy,
  .pfk-product-delivery-body {
    align-items: flex-start;
  }
  .pfk-product-availability-subtext::before {
    margin-right: 6px;
  }
  .pfk-product-breadcrumb {
    font-size: 17px;
    margin-bottom: 0;
  }
  .pfk-product-size-label,
  .pfk-product-size-guide {
    font-size: 15px;
  }
  .pfk-product-cta-row {
    gap: 10px;
  }
  .pfk-product-qty-wrap {
    min-width: 116px;
    min-height: 50px;
  }
  .pfk-product-atc-btn {
    min-height: 50px;
    font-size: 14px;
  }
}

body.pfk-pdp-page #product-availability-box[class*="bg-emerald"] .pfk-pdp-availability-inner {
  color: #065f46;
}
body.pfk-pdp-page #product-availability-box[class*="bg-amber"] .pfk-pdp-availability-inner {
  color: #92400e;
}
body.pfk-pdp-page #product-availability-box[class*="bg-red"] .pfk-pdp-availability-inner {
  color: #991b1b;
}

body.pfk-pdp-page {
  background-color: rgb(248 249 250);
}

/* PDP accordions – reference-style strong separators */
.pfk-pdp-accordions {
  border-top: 1px solid #111;
}
.pfk-pdp-accordion-item + .pfk-pdp-accordion-item {
  border-top: 1px solid #e5e7eb;
}
.pfk-pdp-accordion-btn {
  font-size: 15px;
}
.pfk-pdp-accordion-panel {
  padding-top: 2px;
}

.pfk-pdp-breadcrumb a:hover {
  color: #111;
}

/* Search overlay – focus */
#pfk-search-overlay .pfk-search-input:focus {
  outline: none;
}

/* ========== Unified account area shell (mockup) ========== */
.pfk-account-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem 1rem 3rem;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .pfk-account-shell {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.pfk-account-shell__title {
  margin: 0 0 1.5rem;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--pfk-ink);
  letter-spacing: -0.02em;
}

.pfk-account-shell__layout {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: stretch;
  width: 100%;
}

@media (min-width: 1024px) {
  .pfk-account-shell__layout {
    flex-direction: row;
    align-items: flex-start;
    gap: 2rem;
  }
}

.pfk-account-shell__sidebar {
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .pfk-account-shell__sidebar {
    width: 260px;
  }
}

/* Sidebar: κάρτα με φωτογραφία προφίλ + μενού + αποσύνδεση */
.pfk-account-sidebar-card {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  box-shadow: none;
  overflow: hidden;
}

.pfk-account-profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 1.15rem 1rem 1.05rem;
  text-align: center;
  border-bottom: 1px solid var(--pfk-line);
}

.pfk-account-avatar-wrap {
  position: relative;
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}

.pfk-account-avatar {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  background: #f1f5f9;
  border: 2px solid #fff;
  box-sizing: border-box;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.1), 0 0 0 1px rgba(15, 23, 42, 0.06);
}

.pfk-account-avatar__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pfk-account-avatar__img--hidden {
  display: none !important;
}

.pfk-account-avatar__fallback {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  background: linear-gradient(160deg, #f8fafc 0%, #e2e8f0 100%);
}

.pfk-account-avatar__fallback--hidden {
  display: none !important;
}

.pfk-account-avatar__icon-svg {
  display: block;
}

.pfk-account-avatar__input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.pfk-account-avatar__fab {
  position: absolute;
  right: 2px;
  bottom: 2px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  font: inherit;
  color: #1e293b;
  background: #fff;
  border: 2px solid #fff;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(15, 23, 42, 0.08);
  transition: transform 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.pfk-account-avatar__fab:hover {
  background: #f8fafc;
  transform: scale(1.06);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2), 0 0 0 1px rgba(15, 23, 42, 0.1);
}

.pfk-account-avatar__fab:active {
  transform: scale(0.98);
}

.pfk-account-avatar__fab:focus-visible {
  outline: 2px solid var(--pfk-primary);
  outline-offset: 2px;
}

.pfk-account-avatar__fab-icon {
  display: block;
  pointer-events: none;
}

/* Μέσα στην ενιαία κάρτα: χωρίς δεύτερο πλαίσιο / shadow στο nav */
.pfk-account-sidebar-card .pfk-account-nav,
.pfk-account-sidebar-card .pfk-account-nav.pfk-account-nav--in-card {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}

.pfk-account-sidebar-card .pfk-account-nav__link {
  border-bottom: none !important;
  border-top: 1px solid var(--pfk-line);
}

.pfk-account-sidebar-card .pfk-account-nav__link:first-of-type {
  border-top: none;
}

/* Κουμπί (όχι <a>): τα resets συχνά αφαιρούν border — επιβάλλουμε γραμμή πριν την αποσύνδεση */
.pfk-account-sidebar-card .pfk-account-nav__link--logout {
  width: 100%;
  box-sizing: border-box;
  border: 0 !important;
  border-top: 1px solid var(--pfk-line) !important;
  border-left: 3px solid transparent !important;
  cursor: pointer;
  font: inherit;
  text-align: left;
  color: #991b1b;
  font-weight: 600;
}

.pfk-account-nav__link--logout:hover {
  color: #7f1d1d;
  background: #fef2f2;
}

.pfk-account-shell__main {
  flex: 1 1 0%;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

.pfk-account-nav {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  margin: 0;
  border-bottom: 1px solid var(--pfk-line);
  background: #fff;
  border-radius: var(--pfk-radius);
  box-shadow: var(--pfk-shadow-soft);
  overflow: hidden;
}

@media (min-width: 1024px) {
  .pfk-account-nav {
    border-bottom: none;
    border: 1px solid var(--pfk-line);
  }
}

.pfk-account-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--pfk-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--pfk-line);
  border-left: 3px solid transparent;
  transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.pfk-account-nav__link-text {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
}

.pfk-account-nav__badge {
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 0.2rem 0.45rem;
  border-radius: 4px;
  background: #dcfce7;
  color: #166534;
  line-height: 1.2;
}

#pfk-header .pfk-account-nav__badge--dd,
#pfk-mobile-account-modal .pfk-account-nav__badge--dd {
  margin-left: auto;
}

@media (min-width: 1024px) {
  .pfk-account-nav__link {
    border-bottom: none;
    border-left-width: 3px;
  }
}

.pfk-account-nav__link:hover {
  color: var(--pfk-ink);
  background: #f8fafc;
}

.pfk-account-nav__link--active {
  color: var(--pfk-ink);
  font-weight: 600;
  background: #f8fafc;
  border-left-color: var(--pfk-primary);
}

.pfk-account-nav__sep {
  height: 1px;
  background: var(--pfk-line);
  margin: 0;
}

.pfk-account-card-panel {
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  box-shadow: none;
  padding: 1.25rem 1.5rem;
}

@media (min-width: 768px) {
  .pfk-account-card-panel {
    padding: 1.5rem 1.75rem;
  }
}

.pfk-account-card-panel__title {
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--pfk-ink);
}

.pfk-account-form-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .pfk-account-form-grid--2 {
    grid-template-columns: 1fr 1fr;
  }
}

.pfk-account-field label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--pfk-muted);
  margin-bottom: 0.35rem;
}

.pfk-account-field input,
.pfk-account-field textarea,
.pfk-account-field select {
  width: 100%;
  box-sizing: border-box;
  padding: 0.65rem 0.875rem;
  font-size: 0.9375rem;
  border: 1px solid var(--pfk-line);
  border-radius: 10px;
  background: #fff;
  color: var(--pfk-ink);
}

.pfk-invoice-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.25rem;
  margin-bottom: 0.25rem;
}

.pfk-invoice-intro__copy {
  margin: 0;
  flex: 1 1 12rem;
  max-width: 36rem;
  font-size: 0.9375rem;
  color: var(--pfk-muted);
  line-height: 1.5;
}

.pfk-invoice-taxis-btn {
  flex-shrink: 0;
  margin: 0;
  padding: 0.55rem 1.1rem;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--pfk-ink);
  background: #fff;
  border: 1px solid var(--pfk-ink);
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.pfk-invoice-taxis-btn:hover:not(:disabled) {
  background: #f8fafc;
}

.pfk-invoice-taxis-btn:disabled {
  opacity: 0.55;
  cursor: wait;
}

.pfk-account-field input:focus,
.pfk-account-field textarea:focus,
.pfk-account-field select:focus {
  outline: none;
  border-color: var(--pfk-primary);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}

.pfk-account-field--check label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-weight: 500;
  color: var(--pfk-ink);
}

.pfk-account-field--check input {
  width: auto;
}

.pfk-account-msg {
  padding: 0.75rem 1rem;
  border-radius: 10px;
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

.pfk-account-msg--ok {
  background: var(--pfk-badge-success-bg);
  color: var(--pfk-badge-success-fg);
}

.pfk-account-msg--err {
  background: var(--pfk-badge-error-bg);
  color: var(--pfk-badge-error-fg);
}

/* Account — αξιολογήσεις (Skroutz-style tabs + λίστα) */
.pfk-account-reviews.pfk-account-card-panel {
  padding: 0;
  overflow: hidden;
}

.pfk-account-reviews--single.pfk-account-card-panel {
  padding: 0;
}

.pfk-account-reviews--single .pfk-account-reviews__panel {
  min-height: 10rem;
}

.pfk-account-reviews__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--pfk-line);
  background: #fff;
  padding: 0 0.5rem;
}

.pfk-account-reviews__tab {
  margin: 0;
  padding: 0.85rem 0.75rem 0.75rem;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--pfk-muted);
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: color 0.15s ease, border-color 0.15s ease;
}

@media (min-width: 640px) {
  .pfk-account-reviews__tab {
    padding-left: 1rem;
    padding-right: 1rem;
    font-size: 0.9375rem;
  }
}

.pfk-account-reviews__tab:hover {
  color: var(--pfk-ink);
}

.pfk-account-reviews__tab--active {
  color: var(--pfk-ink);
  font-weight: 600;
  border-bottom-color: var(--pfk-primary);
}

.pfk-account-reviews__panel {
  padding: 0;
  min-height: 12rem;
  background: #fff;
}

.pfk-account-reviews__panel[hidden] {
  display: none !important;
}

.pfk-account-reviews-list {
  display: flex;
  flex-direction: column;
}

.pfk-reviews-row {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid var(--pfk-line);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .pfk-reviews-row {
    padding: 1.25rem 1.5rem;
    gap: 1.25rem;
  }
}

.pfk-reviews-row:last-child {
  border-bottom: none;
}

.pfk-reviews-row__img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 8px;
  border: 1px solid var(--pfk-line);
  background: #fafafa;
}

.pfk-reviews-row__img--ph {
  background: linear-gradient(145deg, #f1f5f9, #e2e8f0);
  border: 1px solid var(--pfk-line);
}

.pfk-reviews-row__body {
  flex: 1;
  min-width: 0;
}

.pfk-reviews-row__title {
  margin: 0 0 0.25rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--pfk-ink);
  line-height: 1.35;
}

.pfk-reviews-row__qty {
  font-weight: 500;
  color: var(--pfk-muted);
}

.pfk-reviews-row__var {
  margin: 0 0 0.35rem;
  font-size: 0.8125rem;
  color: var(--pfk-muted);
}

.pfk-reviews-row__meta {
  margin: 0 0 0.65rem;
  font-size: 0.8125rem;
  color: #64748b;
}

.pfk-reviews-row__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

.pfk-reviews-stars--interactive {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
}

.pfk-reviews-star--btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #cbd5e1;
  border-radius: 6px;
  transition: color 0.12s ease, transform 0.12s ease;
}

.pfk-reviews-star--btn:hover {
  color: #fbbf24;
  transform: scale(1.06);
}

.pfk-reviews-star--btn.is-on {
  color: #f59e0b;
}

.pfk-reviews-star-svg--fill {
  display: block;
}

.pfk-reviews-star-svg--line {
  display: block;
}

.pfk-reviews-stars-readonly {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  color: #f59e0b;
}

.pfk-reviews-stars-readonly .pfk-reviews-star-svg--line {
  color: #e2e8f0;
  stroke: #e2e8f0;
}

.pfk-reviews-submit {
  font-size: 0.8125rem;
  padding: 0.45rem 0.9rem;
}

.pfk-reviews-row__when {
  font-size: 0.8125rem;
  color: var(--pfk-muted);
}

.pfk-account-reviews-empty {
  padding: 2.5rem 1.5rem 2.75rem;
  text-align: center;
  max-width: 26rem;
  margin: 0 auto;
}

.pfk-account-reviews-empty__title {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--pfk-ink);
}

.pfk-account-reviews-empty__desc {
  margin: 0 0 1.25rem;
  font-size: 0.875rem;
  color: var(--pfk-muted);
  line-height: 1.5;
}

/* Address form modal (account addresses page) — not header account modal */
.pfk-address-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.4);
  backdrop-filter: blur(4px);
  z-index: 10050;
  display: none;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  box-sizing: border-box;
}

.pfk-address-modal-backdrop.is-open {
  display: flex;
}

@media (min-width: 640px) {
  .pfk-address-modal-backdrop {
    align-items: center;
    padding: 1.5rem;
  }
}

.pfk-address-modal {
  width: 100%;
  max-width: 480px;
  max-height: min(92vh, 720px);
  overflow-y: auto;
  background: #fff;
  border-radius: 16px 16px 0 0;
  box-shadow: var(--pfk-shadow-elevated);
  border: 1px solid var(--pfk-line);
  border-bottom: none;
  padding: 1.25rem 1.25rem 1.5rem;
  box-sizing: border-box;
}

@media (min-width: 640px) {
  .pfk-address-modal {
    border-radius: var(--pfk-radius);
    border-bottom: 1px solid var(--pfk-line);
    max-height: 90vh;
  }
}

.pfk-address-modal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.pfk-address-modal__title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}

.pfk-address-modal__close {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: 8px;
  background: #f1f5f9;
  color: var(--pfk-muted);
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
}

.pfk-address-modal__close:hover {
  background: #e2e8f0;
  color: var(--pfk-ink);
}

.pfk-address-modal__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.pfk-address-card {
  position: relative;
  background: var(--pfk-commerce-surface);
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  box-shadow: none;
  padding: 1.25rem 1.5rem;
}

.pfk-address-card__badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 0.25rem 0.5rem;
  border-radius: 999px;
  background: #f1f5f9;
  color: var(--pfk-muted);
}

.pfk-address-addtile {
  border: 2px dashed var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  background: var(--pfk-commerce-canvas);
  min-height: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.pfk-address-addtile:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}

.pfk-coupon-card {
  border: 1px solid var(--pfk-commerce-border);
  border-radius: var(--pfk-commerce-radius);
  background: var(--pfk-commerce-surface);
  padding: 1rem 1.25rem;
  box-shadow: none;
}

.pfk-coupon-card__code {
  font-family: ui-monospace, monospace;
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--pfk-ink);
  letter-spacing: 0.06em;
}

.pfk-coupon-section-title {
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--pfk-muted);
}

/* ========== Order exchange flow (mockup) — order-exchange.html ========== */
.order-exchange-page .oe-main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 16px;
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .order-exchange-page .oe-main {
    padding: 24px 20px;
  }
}
.order-exchange-page .oe-shell { padding-top: 8px; }
.order-exchange-page .oe-back { margin-bottom: 20px; }
.order-exchange-page .oe-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  align-items: start;
}
/* Tailwind `.hidden` loses to rules below — locked / toggled sections must actually collapse */
.order-exchange-page .oe-grid.hidden {
  display: none !important;
}
.order-exchange-page #oe-active-flow.hidden,
.order-exchange-page #ow-active-flow.hidden {
  display: none !important;
}

/* Active request: only the lock banner (grid, back link, dock hidden via JS + grid rule) */
.order-exchange-page.oe-aftersales-locked .oe-shell {
  padding-top: 16px;
  padding-bottom: 40px;
}
.order-exchange-page.oe-aftersales-locked .oe-main.oe-main--aftersales {
  padding-bottom: 24px !important;
}
@media (min-width: 768px) {
  .order-exchange-page.oe-aftersales-locked .oe-main.oe-main--aftersales {
    padding-bottom: 32px !important;
  }
}

/* Success: single focused outcome — hide hero, stepper, summary rail, top back link */
.order-exchange-page.oe-aftersales-success .oe-back,
.order-exchange-page.oe-aftersales-success .oe-hero,
.order-exchange-page.oe-aftersales-success .oe-stepper,
.order-exchange-page.oe-aftersales-success .oe-summary-aside {
  display: none !important;
}
.order-exchange-page.oe-aftersales-success .oe-main.oe-main--aftersales {
  padding-bottom: 28px !important;
}
@media (min-width: 768px) {
  .order-exchange-page.oe-aftersales-success .oe-main.oe-main--aftersales {
    padding-bottom: 48px !important;
  }
}
.order-exchange-page.oe-aftersales-success #oe-flow,
.order-exchange-page.oe-aftersales-success #ow-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.order-exchange-page.oe-aftersales-success .oe-success {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 12px 0 8px;
}
/* Success: never show flow CTAs / dock (Tailwind .hidden can lose to component CSS) */
.order-exchange-page.oe-aftersales-success #oe-mobile-bar,
.order-exchange-page.oe-aftersales-success #ow-mobile-bar,
.order-exchange-page.oe-aftersales-success #oe-desktop-cta-wrap,
.order-exchange-page.oe-aftersales-success #ow-desktop-cta-wrap {
  display: none !important;
}
.order-exchange-page.oe-aftersales-success .oe-success-card {
  margin-top: 0;
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
}
@media (min-width: 1024px) {
  .order-exchange-page .oe-grid {
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 32px;
  }
  .order-exchange-page .oe-summary-aside {
    position: sticky;
    top: calc(24px + 72px);
  }
}
.order-exchange-page .oe-flow,
.order-exchange-page .oe-summary-aside { min-width: 0; }

.order-exchange-page .oe-hero { margin-bottom: 28px; }
.order-exchange-page .oe-hero-kicker {
  font-size: var(--pfk-meta);
  font-weight: var(--pfk-font-semibold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--pfk-muted);
  margin: 0 0 8px;
}
.order-exchange-page .oe-hero-title {
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--pfk-ink);
  margin: 0 0 12px;
}
.order-exchange-page .oe-hero-desc {
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  margin: 0;
  max-width: 42rem;
  line-height: 1.55;
}

.order-exchange-page .oe-stepper {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--pfk-line);
}
.order-exchange-page .oe-stepper-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
}
.order-exchange-page .oe-stepper-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: var(--pfk-muted);
  font-weight: 500;
}
.order-exchange-page .oe-stepper-item--active {
  color: var(--pfk-ink);
  font-weight: var(--pfk-font-semibold);
}
.order-exchange-page .oe-stepper-item--done { color: #166534; }
.order-exchange-page .oe-stepper-num {
  width: 30px;
  height: 30px;
  flex-shrink: 0;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700;
  background: #fff;
}
.order-exchange-page .oe-stepper-item--active .oe-stepper-num {
  border-color: #0f172a;
  background: #0f172a;
  color: #fff;
}
.order-exchange-page .oe-stepper-item--done .oe-stepper-num {
  border-color: #bbf7d0;
  background: #ecfdf5;
  color: #166534;
  font-size: 12px;
}

.order-exchange-page .oe-panel {
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--pfk-line);
  box-shadow: var(--pfk-shadow-soft);
  padding: 20px 16px;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .order-exchange-page .oe-panel { padding: 24px 28px; }
}
.order-exchange-page .oe-panel-title {
  font-size: var(--pfk-h2);
  font-weight: var(--pfk-font-semibold);
  color: var(--pfk-ink);
  margin: 0 0 8px;
}
.order-exchange-page .oe-panel-desc {
  font-size: 13px;
  color: var(--pfk-muted);
  margin: 0 0 20px;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .order-exchange-page .oe-panel-desc { margin-bottom: 24px; }
}

.order-exchange-page .oe-item-list { display: flex; flex-direction: column; gap: 16px; }
.order-exchange-page .oe-item-card {
  display: block;
  cursor: pointer;
  border-radius: 12px;
  border: 1px solid var(--pfk-line);
  background: #fafafa;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.order-exchange-page .oe-item-card:hover { border-color: #cbd5e1; background: #fff; }
.order-exchange-page .oe-item-card--selected {
  border-color: #0f172a;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08), 0 8px 24px rgba(15, 23, 42, 0.06);
  background: #fff;
}
.order-exchange-page .oe-item-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.order-exchange-page .oe-item-card-inner {
  display: flex;
  gap: 14px;
  padding: 18px 16px;
  align-items: center;
}
.order-exchange-page .oe-item-card--multi .oe-item-card-inner {
  padding-right: 48px;
  align-items: flex-start;
}
.order-exchange-page .oe-item-img { width: 80px; height: 100px; object-fit: cover; border-radius: 8px; display: block; }
.order-exchange-page .oe-item-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.order-exchange-page .oe-item-title { font-weight: 600; color: var(--pfk-ink); font-size: 15px; }
.order-exchange-page .oe-item-meta { font-size: 13px; color: var(--pfk-muted); }
.order-exchange-page .oe-item-order { font-size: 12px; color: #64748b; }
.order-exchange-page .oe-item-price { font-size: 14px; font-weight: 700; color: var(--pfk-ink); margin-top: 4px; }

.order-exchange-page .oe-seg {
  display: flex;
  gap: 0;
  margin-bottom: var(--pfk-s20);
  border-radius: 12px;
  border: 1px solid var(--pfk-line);
  overflow: hidden;
  background: #f8fafc;
}
.order-exchange-page .oe-seg-btn {
  flex: 1;
  min-height: 48px;
  padding: 0 var(--pfk-s12);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  color: var(--pfk-muted);
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.order-exchange-page .oe-seg-btn + .oe-seg-btn { border-left: 1px solid var(--pfk-line); }
.order-exchange-page .oe-seg-btn--active {
  background: #fff;
  color: var(--pfk-ink);
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
}

.order-exchange-page .oe-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
.order-exchange-page .oe-chip {
  min-height: 44px;
  min-width: 48px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid var(--pfk-line);
  background: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--pfk-ink);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.order-exchange-page .oe-chip:hover:not(:disabled) { border-color: #cbd5e1; background: #f8fafc; }
.order-exchange-page .oe-chip--on {
  border-color: #0f172a;
  background: #0f172a;
  color: #fff;
}
.order-exchange-page .oe-chip--disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
}

.order-exchange-page .oe-pick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: var(--pfk-s12);
}
.order-exchange-page .oe-pick-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
  padding: var(--pfk-s12);
  border-radius: 12px;
  border: 1px solid var(--pfk-line);
  background: #fff;
  cursor: pointer;
  font: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.order-exchange-page .oe-pick-card:hover { border-color: #cbd5e1; }
.order-exchange-page .oe-pick-card--on {
  border-color: #0f172a;
  box-shadow: 0 0 0 1px #0f172a;
}
.order-exchange-page .oe-pick-img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 8px;
}
.order-exchange-page .oe-pick-title { font-size: 13px; font-weight: 600; color: var(--pfk-ink); line-height: 1.35; }
.order-exchange-page .oe-pick-price { font-size: 13px; font-weight: 700; margin-top: 6px; }

.order-exchange-page .oe-compare {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px 20px;
  align-items: center;
  margin-bottom: 20px;
}
@media (max-width: 640px) {
  .order-exchange-page .oe-compare {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: stretch;
  }
  .order-exchange-page .oe-compare-arrow {
    justify-self: center;
    margin-block: 4px;
  }
}
.order-exchange-page .oe-compare-col { min-width: 0; }
.order-exchange-page .oe-compare-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--pfk-muted);
  margin-bottom: 8px;
}
.order-exchange-page .oe-compare-card {
  border: 1px solid var(--pfk-line);
  border-radius: 12px;
  padding: 18px 16px;
  background: #fafafa;
}
.order-exchange-page .oe-compare-card--new { background: #fff; border-color: #e2e8f0; }
.order-exchange-page .oe-compare-img {
  width: 100%;
  max-width: 140px;
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  margin-bottom: 10px;
}
.order-exchange-page .oe-compare-name { font-weight: 600; font-size: 15px; margin: 0 0 4px; color: var(--pfk-ink); }
.order-exchange-page .oe-compare-meta { font-size: 13px; color: var(--pfk-muted); margin: 0 0 8px; }
.order-exchange-page .oe-compare-price { font-size: 16px; font-weight: 700; margin: 0; }
.order-exchange-page .oe-compare-now { font-size: 11px; font-weight: 500; color: var(--pfk-muted); }
.order-exchange-page .oe-compare-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  align-self: center;
  gap: 6px;
  min-width: 5.25rem;
  padding: 12px 16px;
  margin-inline: 4px;
  border-radius: 14px;
  line-height: 1;
  color: #1e293b;
  background: linear-gradient(165deg, #fff 0%, #f1f5f9 55%, #e8eef5 100%);
  border: 1px solid rgba(100, 116, 139, 0.45);
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.1), 0 1px 0 rgba(255, 255, 255, 0.95) inset;
}
.order-exchange-page .oe-compare-arrow-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
}
.order-exchange-page .oe-compare-arrow-glyph {
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
  color: #0f172a;
}
.order-exchange-page .oe-compare-arrow-glyph--v {
  display: none;
}
@media (max-width: 640px) {
  .order-exchange-page .oe-compare-arrow-glyph--h {
    display: none;
  }
  .order-exchange-page .oe-compare-arrow-glyph--v {
    display: block;
  }
}
.order-exchange-page .oe-compare-arrow-caption {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #64748b;
  max-width: 7rem;
  text-align: center;
  line-height: 1.25;
}
@media (min-width: 641px) {
  .order-exchange-page .oe-compare-arrow {
    min-width: 4.5rem;
    padding: 14px 12px;
  }
  .order-exchange-page .oe-compare-arrow-glyph {
    font-size: 1.75rem;
  }
}

.order-exchange-page .oe-facts {
  margin: 0;
  padding: 16px 18px;
  list-style: none;
  background: #f8fafc;
  border-radius: 12px;
  border: 1px solid #eef2f7;
  font-size: 14px;
  color: var(--pfk-ink);
  line-height: 1.55;
}
.order-exchange-page .oe-facts li + li { margin-top: 12px; }

.order-exchange-page .oe-legal {
  background: #f8fafc;
  border: 1px solid var(--pfk-line);
  border-radius: 12px;
  padding: 20px 18px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--pfk-ink);
}
.order-exchange-page .oe-legal p { margin: 0 0 12px; }
.order-exchange-page .oe-legal p:last-child { margin-bottom: 0; }

.order-exchange-page .oe-final-sum {
  border: 1px solid var(--pfk-line);
  border-radius: 12px;
  padding: 20px 18px;
  margin-top: 4px;
}
.order-exchange-page .oe-final-sum-title { font-size: 15px; font-weight: 700; margin: 0 0 16px; }
.order-exchange-page .oe-dl { margin: 0; }
.order-exchange-page .oe-dl-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid #f1f5f9;
  font-size: 14px;
}
.order-exchange-page .oe-dl-row:last-child { border-bottom: 0; }
.order-exchange-page .oe-dl-row dt { color: var(--pfk-muted); font-weight: 500; margin: 0; }
.order-exchange-page .oe-dl-row dd { margin: 0; font-weight: 500; color: var(--pfk-ink); }

.order-exchange-page .oe-summary-card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--pfk-line);
  box-shadow: var(--pfk-shadow-soft);
  padding: var(--pfk-s20);
}
.order-exchange-page .oe-sum-title {
  font-size: var(--pfk-h3);
  font-weight: var(--pfk-font-semibold);
  margin: 0 0 12px;
}
.order-exchange-page .oe-sum-order { font-size: 13px; color: var(--pfk-muted); margin: 0 0 12px; }
.order-exchange-page .oe-sum-badge {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: #f1f5f9;
  color: #475569;
  margin-bottom: 16px;
}
.order-exchange-page .oe-sum-block { margin-bottom: var(--pfk-s16); }
.order-exchange-page .oe-sum-k {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--pfk-muted);
  margin-bottom: 4px;
}
.order-exchange-page .oe-sum-v { font-size: 14px; font-weight: 600; margin: 0; color: var(--pfk-ink); }
.order-exchange-page .oe-sum-sub { font-size: 13px; color: var(--pfk-muted); margin: 4px 0 0; }
.order-exchange-page .oe-sum-muted { font-size: 13px; color: #94a3b8; margin: 0; }

/* Mobile/tablet: must not override Tailwind `hidden` — dock carries primary CTA */
.order-exchange-page .oe-desktop-cta {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
  padding-top: 4px;
}
@media (min-width: 768px) {
  .order-exchange-page .oe-desktop-cta {
    display: flex;
  }
}
.order-exchange-page .oe-text-back {
  background: none;
  border: 0;
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  cursor: pointer;
  text-decoration: underline;
  font-family: inherit;
}
.order-exchange-page .oe-text-back:hover { color: var(--pfk-ink); }

/* After-sales mobile dock replaces global bottom nav (same idea as checkout). */
@media (max-width: 767px) {
  body.order-exchange-page #pfk-mobile-nav.pfk-mobile-nav {
    display: none !important;
  }
}

.order-exchange-page .oe-mobile-bar,
.order-exchange-page .oe-mobile-dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0));
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--pfk-line);
  box-shadow: 0 -10px 32px rgba(15, 23, 42, 0.07);
}
.order-exchange-page .oe-mobile-bar-inner,
.order-exchange-page .oe-mobile-dock-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: flex;
  align-items: stretch;
  gap: 12px;
}
.order-exchange-page .oe-mobile-dock-primary {
  flex: 1;
  min-height: 48px;
}
.order-exchange-page .oe-summary-chip {
  flex-shrink: 0;
  min-width: 5.5rem;
  min-height: 48px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid var(--pfk-line);
  background: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  color: var(--pfk-ink);
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.order-exchange-page .oe-summary-chip:hover {
  border-color: #cbd5e1;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}
.order-exchange-page .oe-summary-chip[aria-expanded="true"] {
  border-color: #0f172a;
  box-shadow: 0 0 0 1px #0f172a;
}

.order-exchange-page .oe-success-card {
  background: #fff;
  border: 1px solid var(--pfk-line);
  border-radius: 16px;
  box-shadow: var(--pfk-shadow-soft);
  padding: var(--pfk-s32);
  text-align: center;
  max-width: 520px;
  margin: 0 auto;
}
.order-exchange-page .oe-success-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto var(--pfk-s16);
  border-radius: 999px;
  background: #ecfdf5;
  color: #166534;
  font-size: 28px;
  font-weight: 700;
  display: grid;
  place-items: center;
}
.order-exchange-page .oe-success-title { font-size: 1.5rem; font-weight: 800; margin: 0 0 var(--pfk-s12); letter-spacing: -0.02em; }
.order-exchange-page .oe-success-desc {
  font-size: 14px;
  color: var(--pfk-muted);
  line-height: 1.55;
  margin: 0 0 20px;
}
.order-exchange-page .oe-success-next {
  font-size: 14px;
  color: var(--pfk-muted);
  line-height: 1.55;
  margin: 0 0 var(--pfk-s12);
}
.order-exchange-page .oe-success-ref { font-size: 15px; margin: 0 0 var(--pfk-s20); color: var(--pfk-ink); }
.order-exchange-page .oe-success-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 4px;
  width: 100%;
  max-width: 100%;
  align-items: stretch;
}
.order-exchange-page .oe-success-actions .pfk-btn {
  min-height: 48px;
  padding-left: 22px;
  padding-right: 22px;
  justify-content: center;
}
@media (min-width: 480px) {
  .order-exchange-page .oe-success-actions {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
  }
  .order-exchange-page .oe-success-actions .pfk-btn {
    min-width: 11.5rem;
    width: auto;
  }
}

/* Withdrawal flow extras (order-withdrawal.html — shares .order-exchange-page layout) */
.order-exchange-page.order-withdrawal-page .ow-field { margin-bottom: 24px; }
.order-exchange-page.order-withdrawal-page .ow-label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--pfk-muted);
  margin-bottom: 8px;
}
.order-exchange-page.order-withdrawal-page .ow-select,
.order-exchange-page.order-withdrawal-page .ow-textarea {
  width: 100%;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 15px;
  border: 1px solid var(--pfk-line);
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
  color: var(--pfk-ink);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.order-exchange-page.order-withdrawal-page .ow-select { min-height: 48px; cursor: pointer; }
.order-exchange-page.order-withdrawal-page .ow-textarea { resize: vertical; min-height: 100px; line-height: 1.5; }
.order-exchange-page.order-withdrawal-page .ow-select:focus,
.order-exchange-page.order-withdrawal-page .ow-textarea:focus {
  outline: none;
  border-color: #94a3b8;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08);
}

.order-exchange-page.order-withdrawal-page .ow-refund-card {
  border-radius: 14px;
  border: 1px solid var(--pfk-line);
  background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
  box-shadow: var(--pfk-shadow-soft);
  padding: var(--pfk-s24);
  margin-bottom: var(--pfk-s16);
}
.order-exchange-page.order-withdrawal-page .ow-refund-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--pfk-s16);
  font-size: 15px;
  padding: 10px 0;
}
.order-exchange-page.order-withdrawal-page .ow-refund-row--fee .ow-refund-fee {
  font-weight: 700;
  color: #b45309;
}
.order-exchange-page.order-withdrawal-page .ow-refund-label { color: var(--pfk-muted); font-weight: 500; }
.order-exchange-page.order-withdrawal-page .ow-refund-value { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--pfk-ink); }
.order-exchange-page.order-withdrawal-page .ow-refund-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--pfk-line), transparent);
  margin: 8px 0 12px;
}
.order-exchange-page.order-withdrawal-page .ow-refund-row--total {
  padding-top: 4px;
}
.order-exchange-page.order-withdrawal-page .ow-refund-label-total {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pfk-ink);
}
.order-exchange-page.order-withdrawal-page .ow-refund-total {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #166534;
  font-variant-numeric: tabular-nums;
}
.order-exchange-page.order-withdrawal-page .ow-refund-footnote {
  font-size: 12px;
  color: var(--pfk-muted);
  line-height: 1.5;
  margin: 0;
}

/* —— After-sales mockup polish: exchange + withdrawal + order view —— */
.order-exchange-page .oe-shell { padding-top: 12px; }
.order-exchange-page .oe-back { margin-bottom: 20px; }
.order-exchange-page .oe-hero { margin-bottom: 28px; }
.order-exchange-page .oe-hero-desc { max-width: 40rem; }
.order-exchange-page #oe-active-flow {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.order-exchange-page .oe-stepper-list--premium {
  align-items: flex-start;
}
@media (min-width: 768px) {
  .order-exchange-page .oe-stepper-list--premium {
    align-items: center;
  }
}
.order-exchange-page .oe-stepper-item { font-size: 11px; letter-spacing: 0.02em; }
.order-exchange-page .oe-stepper-label {
  display: block;
  line-height: 1.38;
  min-width: 0;
}
.order-exchange-page .oe-stepper-num {
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.order-exchange-page .oe-panel {
  margin-bottom: 16px;
  border-radius: 12px;
}
@media (min-width: 768px) {
  .order-exchange-page .oe-panel { margin-bottom: 0; }
}
.order-exchange-page .oe-panel-desc { margin-bottom: 20px; }
@media (min-width: 768px) {
  .order-exchange-page .oe-panel-desc { margin-bottom: 24px; }
}
.order-exchange-page .oe-item-list { gap: 16px; }
.order-exchange-page .oe-item-card--multi { position: relative; }
.order-exchange-page .oe-item-card--multi .oe-item-check {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  opacity: 1;
}
.order-exchange-page .oe-item-check-ui {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 2px solid #cbd5e1;
  background: #fff;
  pointer-events: none;
  transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}
.order-exchange-page .oe-item-card--selected .oe-item-check-ui {
  border-color: #0f172a;
  background: #0f172a;
  box-shadow: none;
}
.order-exchange-page .oe-item-card--selected .oe-item-check-ui::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 2px;
  width: 6px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.order-exchange-page .oe-item-card--multi:focus-within {
  outline: 2px solid #0f172a;
  outline-offset: 2px;
}
.order-exchange-page .oe-item-card--selected {
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.08), 0 8px 22px rgba(15, 23, 42, 0.07);
}
.order-exchange-page .oe-multi-hint {
  font-size: 13px;
  color: var(--pfk-muted);
  margin: 0 0 16px;
}
.order-exchange-page .oe-perline {
  border: 1px solid var(--pfk-line);
  border-radius: 12px;
  padding: 20px 18px;
  margin-bottom: 20px;
  background: linear-gradient(180deg, #fafafa 0%, #fff 40%);
}
.order-exchange-page .oe-perline:last-child { margin-bottom: 0; }
.order-exchange-page .oe-perline-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 16px;
}
.order-exchange-page .oe-perline-thumb {
  width: 48px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--pfk-line);
}
.order-exchange-page .oe-perline-title { font-weight: 700; font-size: 14px; color: var(--pfk-ink); display: block; }
.order-exchange-page .oe-perline-meta { font-size: 12px; color: var(--pfk-muted); display: block; margin-top: 2px; }
.order-exchange-page .oe-seg--compact { margin-bottom: 16px; }
.order-exchange-page .oe-seg { margin-bottom: 16px; }
.order-exchange-page .oe-seg-btn { min-height: 44px; font-size: 12px; }
.order-exchange-page .oe-chip-row {
  margin-bottom: 12px;
}
.order-exchange-page .oe-pick-grid--compact {
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  margin-top: 4px;
}
.order-exchange-page .oe-compare-stack {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--pfk-line);
}
.order-exchange-page .oe-compare-stack:last-of-type { border-bottom: 0; margin-bottom: 16px; padding-bottom: 0; }
.order-exchange-page .oe-compare-stack-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--pfk-ink);
  margin: 0 0 12px;
}
.order-exchange-page .oe-compare-delta {
  font-size: 13px;
  color: var(--pfk-muted);
  margin: 16px 0 0;
  padding-top: 4px;
  border-top: 1px dashed rgba(148, 163, 184, 0.45);
}
.order-exchange-page .oe-facts--tight { margin-top: 16px; }
.order-exchange-page .oe-facts--tight li + li { margin-top: 10px; }
.order-exchange-page .oe-mini-title {
  font-size: 13px;
  font-weight: 700;
  margin: var(--pfk-s16) 0 var(--pfk-s8);
  color: var(--pfk-ink);
}
.order-exchange-page .oe-dl-row--emph {
  border-bottom: 0;
  padding-top: var(--pfk-s10);
  margin-top: var(--pfk-s8);
  border-top: 2px solid var(--pfk-line);
  font-size: 15px;
}
.order-exchange-page .oe-summary-aside .oe-summary-card {
  border-radius: 14px;
  border: 1px solid var(--pfk-line);
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.06);
  background: linear-gradient(165deg, #fff 0%, #f8fafc 100%);
  padding: 20px 18px;
}
@media (min-width: 1024px) {
  .order-exchange-page .oe-summary-aside .oe-summary-card {
    padding: 24px 22px;
  }
}
.order-exchange-page .oe-sum-badge {
  background: #0f172a;
  color: #f8fafc;
  letter-spacing: 0.05em;
}
.order-exchange-page .oe-sum-lines {
  list-style: none;
  margin: 0;
  padding: 0;
}
.order-exchange-page .oe-sum-line {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.35);
  font-size: 13px;
}
.order-exchange-page .oe-sum-line:last-child { border-bottom: 0; }
.order-exchange-page .oe-sum-line-t { font-weight: 600; color: var(--pfk-ink); }
.order-exchange-page .oe-sum-line-s { color: var(--pfk-muted); line-height: 1.45; font-size: 12px; }
.order-exchange-page .oe-sum-warn { color: #b45309; }
.order-exchange-page .oe-sum-foot { font-size: 11px; font-weight: 500; color: var(--pfk-muted); }
.order-exchange-page .oe-sum-aside-note {
  font-size: 11px;
  color: #64748b;
  line-height: 1.45;
  margin: var(--pfk-s12) 0 0;
}
.order-exchange-page .oe-desktop-cta .pfk-btn-primary {
  min-height: 48px;
  padding-left: var(--pfk-s24);
  padding-right: var(--pfk-s24);
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.18);
}
.order-exchange-page .oe-text-back { font-weight: 600; }
.order-exchange-page .oe-success-card--center { max-width: 540px; padding: var(--pfk-s28) var(--pfk-s24) var(--pfk-s32); }
.order-exchange-page.oe-aftersales-success .oe-success-card.oe-success-card--center {
  padding: 22px 16px 26px;
}
@media (min-width: 480px) {
  .order-exchange-page.oe-aftersales-success .oe-success-card.oe-success-card--center {
    padding: var(--pfk-s28) var(--pfk-s24) var(--pfk-s32);
  }
}
.order-exchange-page .oe-success-badge {
  display: inline-flex;
  align-self: center;
  margin: 0 auto var(--pfk-s12);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #ecfdf5;
  color: #14532d;
  border: 1px solid #bbf7d0;
}
.order-exchange-page .oe-success-meta {
  width: 100%;
  max-width: 400px;
  margin: 4px auto 22px;
  text-align: left;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  padding: 22px 22px 20px;
  background: linear-gradient(180deg, #fafbfc 0%, #f4f7fb 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}
.order-exchange-page .oe-success-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px 20px;
  font-size: 14px;
  line-height: 1.45;
  padding: 16px 6px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.85);
}
.order-exchange-page .oe-success-meta-row:first-child {
  padding-top: 4px;
}
.order-exchange-page .oe-success-meta-row:last-child {
  border-bottom: 0;
  padding-bottom: 2px;
}
.order-exchange-page .oe-success-meta-row span {
  color: var(--pfk-muted);
  flex: 1;
  min-width: 0;
  padding-right: 12px;
}
.order-exchange-page .oe-success-meta-row strong {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
  flex-shrink: 0;
}

/* After-sales success — desktop/tablet landscape: wider card + meta, more air (mobile unchanged) */
@media (min-width: 768px) {
  .order-exchange-page.oe-aftersales-success .oe-success {
    max-width: 760px;
    padding: 20px 28px 16px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-card.oe-success-card--center {
    max-width: 680px;
    padding: 40px 48px 44px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-title {
    font-size: clamp(1.6rem, 2.2vw, 1.85rem);
    margin-bottom: 16px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-desc {
    font-size: 15px;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 26px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-icon {
    width: 64px;
    height: 64px;
    font-size: 32px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-meta {
    max-width: none;
    width: 100%;
    padding: 28px 36px 26px;
    border-radius: 16px;
    margin-bottom: 26px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-meta .oe-success-meta-row {
    padding: 20px 12px;
    font-size: 15px;
    gap: 20px 28px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-meta .oe-success-meta-row:first-child {
    padding-top: 6px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-meta .oe-success-meta-row:last-child {
    padding-bottom: 6px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-next {
    font-size: 15px;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-actions {
    margin-top: 12px;
    max-width: 38rem;
    margin-left: auto;
    margin-right: auto;
    gap: 14px;
  }
}
@media (min-width: 1024px) {
  .order-exchange-page.oe-aftersales-success .oe-success {
    max-width: 820px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-card.oe-success-card--center {
    max-width: 720px;
    padding: 44px 56px 48px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-meta {
    padding: 32px 40px 28px;
  }
  .order-exchange-page.oe-aftersales-success .oe-success-meta .oe-success-meta-row {
    padding: 22px 14px;
  }
}

.order-exchange-page .oe-mobile-primary,
.order-exchange-page .oe-mobile-bar .pfk-btn-primary,
.order-exchange-page .oe-mobile-dock .pfk-btn-primary {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.order-exchange-page.order-withdrawal-page .ow-refund-section-label {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--pfk-muted);
  margin: 0 0 var(--pfk-s8);
}
.order-exchange-page.order-withdrawal-page .ow-refund-lines {
  margin-bottom: var(--pfk-s12);
}
.order-exchange-page.order-withdrawal-page .ow-refund-line {
  display: flex;
  justify-content: space-between;
  gap: var(--pfk-s12);
  font-size: 13px;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(148, 163, 184, 0.5);
}
.order-exchange-page.order-withdrawal-page .ow-refund-line:last-child { border-bottom: 0; }
.order-exchange-page.order-withdrawal-page .ow-refund-line-t { color: var(--pfk-ink); font-weight: 500; min-width: 0; }
.order-exchange-page.order-withdrawal-page .ow-refund-line-v {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--pfk-ink);
}
.order-exchange-page.order-withdrawal-page .ow-refund-row--sub {
  padding-top: var(--pfk-s8);
  margin-top: var(--pfk-s4);
  border-top: 1px solid var(--pfk-line);
}
.order-exchange-page.order-withdrawal-page .ow-confirm-lines {
  margin: 0 0 var(--pfk-s16);
  padding-left: 1.15rem;
  color: var(--pfk-ink);
  font-size: 14px;
  line-height: 1.55;
}
.order-exchange-page.order-withdrawal-page .ow-confirm-lines li + li { margin-top: 6px; }

/* Order view: related requests + thread */
.order-view-aftersales-intro {
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  margin: 0 0 var(--pfk-s20);
  line-height: 1.55;
}
.order-view-inline-link {
  color: var(--pfk-ink);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.order-view-inline-link:hover { color: #0f172a; }

/* Συζητήσεις — γενικό νήμα (ίδια εμφάνιση με ov-thread) */
.pfk-disc-log--embedded {
  background: transparent;
}
.pfk-disc-log .pfk-disc-msg {
  padding: 8px 12px 9px;
  border-radius: 14px;
  max-width: 100%;
}
.pfk-disc-log .pfk-disc-msg-meta {
  display: block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--pfk-muted);
  margin-bottom: 3px;
}
.pfk-disc-log .pfk-disc-msg-text {
  margin: 0;
  font-size: var(--pfk-small);
  line-height: 1.55;
  color: var(--pfk-ink);
  white-space: pre-wrap;
}
.pfk-disc-log .pfk-disc-msg--customer {
  margin-left: auto;
  background: #0f172a;
  color: #fff;
  max-width: 92%;
}
.pfk-disc-log .pfk-disc-msg--customer .pfk-disc-msg-meta { color: rgba(255, 255, 255, 0.65); }
.pfk-disc-log .pfk-disc-msg--customer .pfk-disc-msg-text { color: #fff; }
.pfk-disc-log .pfk-disc-msg--support {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: #f8fafc;
  border: 1px solid var(--pfk-line);
}
.pfk-disc-log .pfk-disc-msg-avatar {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #475569;
  font-weight: 700;
  font-size: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.pfk-disc-log .pfk-disc-msg--system {
  background: #f1f5f9;
  border: 1px dashed #cbd5e1;
  text-align: center;
}
.pfk-disc-log .pfk-disc-msg--system .pfk-disc-msg-meta { color: #64748b; }
a.pfk-ticket-row--link { color: inherit; text-decoration: none; }

.pfk-disc-threads-list .pfk-disc-thread-badge {
  flex-shrink: 0;
  align-self: flex-start;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 6px 10px;
  border-radius: 8px;
  border: 1px solid var(--pfk-line);
  background: #f8fafc;
  color: #475569;
}
.pfk-disc-threads-list .pfk-disc-thread-badge--ticket {
  background: #0f172a;
  color: #fff;
  border-color: #0f172a;
}
.pfk-disc-threads-list .pfk-disc-thread-badge--general {
  background: #eff6ff;
  color: #1e40af;
  border-color: #bfdbfe;
}
.pfk-disc-threads-list .pfk-disc-thread-badge--order {
  background: #f5f3ff;
  color: #5b21b6;
  border-color: #ddd6fe;
}
.order-view-requests-empty {
  font-size: var(--pfk-small);
  color: var(--pfk-muted);
  margin: 0;
  padding: var(--pfk-s12) 0 var(--pfk-s16);
}
.order-view-request-main {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  align-content: flex-start;
  gap: 8px 12px;
  min-width: 0;
}
.order-view-request-title { font-weight: 700; font-size: var(--pfk-small); color: var(--pfk-ink); line-height: 1.4; }
.order-view-request-ref {
  font-size: var(--pfk-meta);
  font-weight: 600;
  color: var(--pfk-muted);
  font-variant-numeric: tabular-nums;
  line-height: 1.45;
}
.order-view-request-status {
  font-size: var(--pfk-meta);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #475569;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 6px 12px;
  justify-self: start;
}
@media (min-width: 640px) {
  .order-view-request-status { justify-self: center; }
}
.order-view-request-date {
  font-size: var(--pfk-meta);
  color: var(--pfk-muted);
  font-variant-numeric: tabular-nums;
  line-height: 1.45;
}
.order-view-request-link {
  font-size: var(--pfk-small);
  font-weight: 700;
  color: var(--pfk-primary, #0f172a);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  justify-self: start;
  padding: 2px 0;
  line-height: 1.4;
}
@media (min-width: 640px) {
  .order-view-request-link { justify-self: end; }
}
.order-view-request-link:hover { opacity: 0.85; }

.order-view-request-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
  align-items: center;
  justify-content: flex-start;
}
@media (min-width: 640px) {
  .order-view-request-actions {
    justify-self: end;
    justify-content: flex-end;
  }
}
.order-view-request-actions .order-view-request-link {
  justify-self: auto;
}
.order-view-request-link--new-order {
  color: #6b21a8;
  border-bottom-color: rgba(107, 33, 168, 0.35);
}

#order-view-thread-heading {
  scroll-margin-top: 6.5rem;
}
@media (min-width: 768px) {
  #order-view-thread-heading {
    scroll-margin-top: 5.5rem;
  }
}

.ov-thread {
  max-height: 420px;
  overflow-y: auto;
  padding: 12px 14px;
  margin-bottom: var(--pfk-s20);
  border-radius: 14px;
  border: 1px solid var(--pfk-line);
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ov-thread-composer {
  display: flex;
  gap: var(--pfk-s10);
  align-items: stretch;
  flex-wrap: wrap;
}
.ov-thread-input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--pfk-line);
  border-radius: 12px;
  padding: 13px 16px;
  font-size: var(--pfk-small);
  font-family: inherit;
  background: #fff;
}
.ov-thread-input:focus {
  outline: 2px solid rgba(15, 23, 42, 0.25);
  outline-offset: 0;
}
.ov-thread-send { min-height: 44px; }
.ov-msg {
  max-width: 88%;
  padding: 9px 14px 10px;
  border-radius: 16px;
  border: 1px solid transparent;
}
.ov-msg-meta {
  display: block;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--pfk-muted);
  margin-bottom: 4px;
  line-height: 1.3;
}
.ov-msg-text { margin: 0; font-size: 13px; line-height: 1.5; color: var(--pfk-ink); white-space: pre-wrap; }
.ov-msg--customer {
  align-self: flex-end;
  background: #0f172a;
  color: #fff;
  border-radius: 16px 16px 4px 16px;
}
.ov-msg--customer .ov-msg-meta { color: rgba(255, 255, 255, 0.65); }
.ov-msg--customer .ov-msg-text { color: #fff; }
.ov-msg--support {
  align-self: flex-start;
  background: #fff;
  border-color: #e2e8f0;
  border-radius: 16px 16px 16px 4px;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
}
.ov-msg--system {
  align-self: center;
  max-width: 100%;
  text-align: center;
  background: rgba(255, 255, 255, 0.75);
  border-color: #e2e8f0;
  border-style: dashed;
  margin-block: 2px;
  padding: 8px 12px;
}
.ov-msg--system .ov-msg-meta { color: #64748b; }

/* ========== After-sales polish pass (v2) — stepper, cards, summary, mobile, thread, requests ========== */
@keyframes oe-success-pop {
  0% { transform: scale(0.6); opacity: 0; }
  55% { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes oe-btn-spin {
  to { transform: rotate(360deg); }
}
@keyframes oe-summary-flash {
  0% { opacity: 0.72; }
  100% { opacity: 1; }
}

.order-exchange-page .oe-stepper {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e2e8f0;
}
.order-exchange-page .oe-stepper-list--premium {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 14px 20px;
  row-gap: 14px;
}
@media (max-width: 767px) {
  .order-exchange-page .oe-stepper-list--premium {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    row-gap: 12px;
    align-items: start;
  }
}
@media (min-width: 768px) {
  .order-exchange-page .oe-stepper-list--premium {
    align-items: center;
    gap: 12px 24px;
    row-gap: 12px;
  }
}
.order-exchange-page .oe-stepper-item--pending {
  color: #94a3b8;
}
.order-exchange-page .oe-stepper-item--pending .oe-stepper-num {
  border-color: #e2e8f0;
  color: #94a3b8;
  background: #fafafa;
}
.order-exchange-page .oe-stepper-item--done .oe-stepper-label {
  opacity: 0.72;
  color: #166534;
}
.order-exchange-page .oe-stepper-item--active .oe-stepper-label {
  color: var(--pfk-ink);
  font-weight: 800;
}

.order-exchange-page .oe-item-card,
.order-exchange-page .oe-pick-card,
.order-exchange-page .oe-compare-card {
  border-radius: 12px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.order-exchange-page .oe-item-card:hover,
.order-exchange-page .oe-pick-card:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07);
}
.order-exchange-page .oe-item-card--selected {
  background: #fff;
  border-width: 1px;
  border-color: #0f172a;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.06), 0 8px 22px rgba(15, 23, 42, 0.07);
}
.order-exchange-page .oe-pick-card--on {
  background: #f8fafc;
  border-width: 1px;
  border-color: #0f172a;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.06);
}
.order-exchange-page .oe-chip {
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
.order-exchange-page .oe-chip:hover:not(:disabled):not(.oe-chip--disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.07);
}

.order-exchange-page .oe-summary-aside .oe-summary-card-shell {
  transition: opacity 0.22s ease, max-height 0.35s ease, margin 0.25s ease;
}
@media (max-width: 1023px) {
  .order-exchange-page .oe-main--aftersales {
    padding: 20px 14px calc(6.5rem + env(safe-area-inset-bottom, 0));
  }
  .order-exchange-page .oe-flow {
    margin-bottom: 8px;
  }
  .order-exchange-page .oe-summary-aside:not(.oe-summary-aside--open) .oe-summary-card-shell {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin: 0;
    pointer-events: none;
  }
  .order-exchange-page .oe-summary-aside--open .oe-summary-card-shell {
    max-height: 2800px;
    opacity: 1;
    margin-top: 16px;
  }
}
@media (min-width: 1024px) {
  .order-exchange-page .oe-summary-aside .oe-summary-card-shell {
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    margin-top: 0 !important;
    pointer-events: auto !important;
  }
}
.order-exchange-page .oe-summary-card-shell--flash {
  animation: oe-summary-flash 0.28s ease-out;
}
.order-exchange-page .oe-summary-aside .oe-summary-card {
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.08), 0 1px 0 rgba(255, 255, 255, 0.8) inset;
}
.order-exchange-page .oe-sum-block {
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
}
.order-exchange-page .oe-sum-block:last-of-type {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.order-exchange-page .oe-sum-block--emph {
  border-bottom: 0;
  padding-top: 12px;
  margin-top: 8px;
  border-top: 2px solid rgba(15, 23, 42, 0.08);
}
.order-exchange-page .oe-sum-v--money {
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: #0f172a;
}

.order-exchange-page .oe-sum-ok {
  color: #047857;
  font-weight: 700;
}

/* Active after-sales request lock (exchange + withdrawal pages) */
.order-exchange-page .oe-flow-lock {
  margin-bottom: var(--pfk-s24);
  padding: var(--pfk-s24);
  border-radius: 16px;
  border: 1px solid rgba(251, 191, 36, 0.55);
  background: linear-gradient(145deg, #fffbeb 0%, #fef3c7 55%, #fff 100%);
  box-shadow: 0 12px 40px rgba(180, 83, 9, 0.08);
}
.order-exchange-page .oe-flow-lock-inner {
  max-width: 36rem;
}
.order-exchange-page .oe-flow-lock-title {
  font-size: 1.125rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #92400e;
  margin: 0 0 var(--pfk-s8);
}
.order-exchange-page .oe-flow-lock-desc {
  font-size: 14px;
  line-height: 1.55;
  color: #78350f;
  margin: 0 0 var(--pfk-s16);
}
.order-exchange-page .oe-flow-lock .pfk-btn {
  margin-top: 4px;
}

/* Exchange: mock «Πληρωμή διαφοράς» step */
.order-exchange-page .oe-pay-card {
  margin-top: 20px;
  padding: 20px 18px;
  border-radius: 14px;
  border: 1px solid var(--pfk-line);
  background: #fff;
}
.order-exchange-page .oe-pay-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
  font-size: 14px;
  color: var(--pfk-muted);
}
.order-exchange-page .oe-pay-amount {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  color: #0f172a;
}
.order-exchange-page .oe-pay-methods {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.order-exchange-page .oe-pay-method {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--pfk-line);
  background: #fafafa;
  font-size: 13px;
  font-weight: 600;
  color: var(--pfk-ink);
  cursor: default;
}
.order-exchange-page .oe-pay-method--on {
  border-color: #0f172a;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);
}
.order-exchange-page .oe-pay-method input {
  margin: 0;
  accent-color: #0f172a;
}
.order-exchange-page .oe-pay-hint {
  margin: var(--pfk-s12) 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--pfk-muted);
}
.order-exchange-page .oe-pay-done {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: var(--pfk-s16);
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #86efac;
  background: #ecfdf5;
}
.order-exchange-page .oe-pay-done-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #059669;
  color: #fff;
  font-size: 15px;
  font-weight: 800;
  display: grid;
  place-items: center;
  line-height: 1;
}
.order-exchange-page .oe-pay-done-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #065f46;
  font-weight: 500;
}

/* Inline alternate product picker (exchange step 2) */
.order-exchange-page .oe-alt-picker {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(15, 23, 42, 0.06);
}
.order-exchange-page .oe-alt-picker-label {
  display: block;
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 10px;
  color: var(--pfk-ink);
}
.order-exchange-page .oe-alt-picker-search {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--pfk-line);
  font-size: 15px;
  font-family: inherit;
  background: #fff;
  margin-bottom: 16px;
}
.order-exchange-page .oe-alt-picker-search:focus {
  outline: 2px solid rgba(15, 23, 42, 0.2);
  outline-offset: 0;
}
.order-exchange-page .oe-alt-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}
.order-exchange-page .oe-alt-card {
  position: relative;
  text-align: left;
  border: 1px solid var(--pfk-line);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.order-exchange-page .oe-alt-card:hover {
  border-color: #cbd5e1;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.order-exchange-page .oe-alt-card--on {
  border-color: #0f172a;
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.1);
}
.order-exchange-page .oe-alt-card--suggested {
  background: linear-gradient(160deg, #fafafa 0%, #fff 100%);
}
.order-exchange-page .oe-alt-card-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: #0f172a;
  color: #fff;
  padding: 3px 6px;
  border-radius: 4px;
}
.order-exchange-page .oe-alt-card-img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  margin-bottom: 8px;
}
.order-exchange-page .oe-alt-card-title {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  display: block;
  color: var(--pfk-ink);
}
.order-exchange-page .oe-alt-card-meta {
  font-size: 11px;
  color: var(--pfk-muted);
  display: block;
  margin-top: 4px;
  line-height: 1.35;
}
.order-exchange-page .oe-alt-card-price {
  font-size: 14px;
  font-weight: 700;
  display: block;
  margin-top: 6px;
  color: var(--pfk-ink);
}
.order-exchange-page .oe-alt-picker-empty {
  font-size: 13px;
  color: #94a3b8;
  text-align: center;
  padding: 24px 8px;
  grid-column: 1 / -1;
}

.order-exchange-page .oe-alt-selected-wrap { margin-top: 12px; }
.order-exchange-page .oe-alt-selected-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--pfk-muted);
  margin: 0 0 8px;
}
.order-exchange-page .oe-alt-selected-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.order-exchange-page .oe-alt-selected-empty { font-size: 13px; color: #94a3b8; margin: 0; }
.order-exchange-page .oe-alt-sel-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--pfk-line);
  border-radius: 10px;
  background: #fafafa;
}
.order-exchange-page .oe-alt-sel-thumb {
  width: 44px;
  height: 55px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.order-exchange-page .oe-alt-sel-body { flex: 1; min-width: 0; }
.order-exchange-page .oe-alt-sel-title { display: block; font-size: 13px; font-weight: 600; color: var(--pfk-ink); }
.order-exchange-page .oe-alt-sel-meta { display: block; font-size: 12px; color: var(--pfk-muted); margin-top: 2px; }
.order-exchange-page .oe-alt-sel-remove {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 8px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.order-exchange-page .oe-alt-sel-remove:hover { background: #e2e8f0; color: #0f172a; }
.order-exchange-page .oe-alt-add { margin-top: 4px; }

.order-exchange-page .oe-compare-new-stack {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.order-exchange-page .oe-compare-col--newlist .oe-compare-new-stack .oe-compare-card { margin: 0; }

.order-exchange-page .oe-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
}
@media (min-width: 640px) {
  .order-exchange-page .oe-modal { align-items: center; }
}
.order-exchange-page .oe-modal.hidden { display: none !important; }
.order-exchange-page .oe-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
}
.order-exchange-page .oe-modal-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 420px;
  max-height: min(86vh, 520px);
  overflow: auto;
  background: #fff;
  border-radius: 16px 16px 0 0;
  box-shadow: 0 -8px 40px rgba(15, 23, 42, 0.18);
  padding: 22px 20px 20px;
}
@media (min-width: 640px) {
  .order-exchange-page .oe-modal-dialog {
    border-radius: 16px;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.15);
  }
}
.order-exchange-page .oe-modal-title { font-size: 18px; font-weight: 700; margin: 0 0 6px; color: var(--pfk-ink); }
.order-exchange-page .oe-modal-sub { font-size: 13px; color: var(--pfk-muted); margin: 0 0 16px; line-height: 1.45; }
.order-exchange-page .oe-chip-row--modal { margin-bottom: 20px; }
.order-exchange-page .oe-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 8px;
}

.order-exchange-page .oe-credit-wallet {
  font-size: 13px;
  color: var(--pfk-muted);
  margin: 0 0 16px;
}
.order-exchange-page .oe-credit-methods {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}
.order-exchange-page .oe-credit-opt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.45;
  cursor: pointer;
  color: var(--pfk-ink);
}
.order-exchange-page .oe-credit-opt input { margin-top: 3px; flex-shrink: 0; }
.order-exchange-page .oe-credit-iban-wrap { margin-top: 4px; }
.order-exchange-page .oe-credit-iban-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--pfk-muted);
  margin-bottom: 6px;
}
.order-exchange-page .oe-credit-iban {
  width: 100%;
  max-width: 28rem;
  padding: 10px 12px;
  border: 1px solid var(--pfk-line);
  border-radius: 10px;
  font-size: 14px;
  font-family: ui-monospace, monospace;
}

.order-exchange-page .oe-success-icon--animate {
  animation: oe-success-pop 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.order-exchange-page .oe-btn--loading {
  position: relative;
  pointer-events: none;
  color: transparent !important;
}
.order-exchange-page .oe-btn--loading::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  animation: oe-btn-spin 0.65s linear infinite;
}
.order-exchange-page .oe-desktop-cta .pfk-btn-primary.oe-btn--loading::after {
  border-color: rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
}

@media (max-width: 767px) {
  .order-exchange-page .oe-panel {
    padding: var(--pfk-s16);
    border-radius: 12px;
  }
}

.order-view-requests-list { margin-top: var(--pfk-s8); }
.order-view-request-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 16px;
  row-gap: 14px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid var(--pfk-line);
}
.order-view-request-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
@media (min-width: 640px) {
  .order-view-request-row {
    grid-template-columns: auto minmax(0, 1.2fr) auto auto auto;
    column-gap: 20px;
    row-gap: 12px;
    align-items: center;
    padding: 20px 0;
  }
}
.order-view-request-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  border: 1px solid var(--pfk-line);
  background: #f8fafc;
  color: var(--pfk-ink);
  margin-top: 2px;
}
@media (min-width: 640px) {
  .order-view-request-icon {
    width: 40px;
    height: 40px;
    margin-top: 0;
  }
}
.order-view-request-icon--exchange {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}
.order-view-request-icon--withdrawal {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #c2410c;
}
.order-view-request-icon svg {
  display: block;
}
.order-view-request-status--submitted {
  color: #9a3412;
  background: #fff7ed;
  border-color: #fdba74;
}
.order-view-request-status--processing {
  color: #1e40af;
  background: #eff6ff;
  border-color: #93c5fd;
}
.order-view-request-status--completed {
  color: #14532d;
  background: #ecfdf5;
  border-color: #86efac;
}
.order-view-request-status--rejected {
  color: #991b1b;
  background: #fef2f2;
  border-color: #fecaca;
}
.order-view-request-status--cancelled {
  color: #57534e;
  background: #f5f5f4;
  border-color: #d6d3d1;
}
.order-view-request-status--payment {
  color: #a16207;
  background: #fefce8;
  border-color: #fde047;
}
.order-view-request-status--review {
  color: #5b21b6;
  background: #f5f3ff;
  border-color: #c4b5fd;
}

.order-view-active-request-notice {
  margin-bottom: var(--pfk-s16);
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(59, 130, 246, 0.35);
  background: #eff6ff;
  font-size: 14px;
  line-height: 1.55;
  color: #1e3a8a;
}
.order-view-active-request-notice p {
  margin: 0;
}
.order-view-active-request-notice a {
  color: #1d4ed8;
  font-weight: 600;
  text-decoration: underline;
}
.order-view-active-request-notice a:hover {
  color: #1e40af;
}

.ov-thread {
  gap: 8px;
  padding: 12px 14px;
}
.ov-thread-composer-wrap {
  margin-top: 12px;
  position: relative;
}
.ov-thread-composer {
  display: flex;
  align-items: stretch;
  gap: 0;
  flex-wrap: nowrap;
  background: #fff;
  border: 1px solid var(--pfk-line);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}
.ov-thread-input {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  min-height: 48px;
}
.ov-thread-input:focus {
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(15, 23, 42, 0.12);
}
.ov-thread-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 48px;
  padding: 0 16px;
  border: 0;
  border-left: 1px solid var(--pfk-line);
  background: #0f172a;
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.12s ease;
}
.ov-thread-send:hover {
  background: #1e293b;
}
.ov-thread-send:active {
  transform: scale(0.98);
}
.ov-thread-send-icon svg {
  display: block;
  stroke: #fff;
}
@media (max-width: 520px) {
  .ov-thread-send-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .ov-thread-send {
    min-width: 52px;
    padding: 0 12px;
  }
}

.ov-msg--support {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 8px;
  max-width: 94%;
}
.ov-msg-avatar {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  margin-top: 1px;
  border-radius: 999px;
  background: linear-gradient(145deg, #e2e8f0, #cbd5e1);
  color: #0f172a;
  font-size: 12px;
  font-weight: 800;
  display: grid;
  place-items: center;
  border: 1px solid #cbd5e1;
}
.ov-msg-support-body {
  flex: 1;
  min-width: 0;
}
.ov-msg--support .ov-msg-meta,
.ov-msg--support .ov-msg-text {
  display: block;
}

/* ========== After-sales hierarchy polish (v3): stepper, summary, CTA, dock (visual only) ========== */
.order-exchange-page .oe-stepper-list--premium .oe-stepper-item {
  gap: 11px;
}
.order-exchange-page .oe-stepper-list--premium .oe-stepper-label {
  line-height: 1.36;
  min-width: 0;
}
.order-exchange-page .oe-stepper-list--premium .oe-stepper-num {
  width: 32px;
  height: 32px;
  font-size: 11px;
  transition: transform 0.18s ease, box-shadow 0.2s ease, border-color 0.15s ease, background 0.15s ease;
}
.order-exchange-page .oe-stepper-list--premium .oe-stepper-item--done .oe-stepper-num {
  width: 32px;
  height: 32px;
  font-size: 12px;
  font-weight: 800;
  border-width: 2px;
  border-color: #86efac;
  border-style: solid;
  background: linear-gradient(180deg, #ecfdf5 0%, #d1fae5 100%);
  color: #065f46;
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.1), 0 2px 10px rgba(5, 150, 105, 0.07);
}
.order-exchange-page .oe-stepper-list--premium .oe-stepper-item--done .oe-stepper-label {
  opacity: 1;
  color: #15803d;
  font-weight: 600;
}
.order-exchange-page .oe-stepper-list--premium .oe-stepper-item--active .oe-stepper-num {
  width: 38px;
  height: 38px;
  font-size: 13px;
  font-weight: 800;
  border-width: 0;
  background: linear-gradient(155deg, #334155 0%, #0f172a 58%, #020617 100%);
  color: #fff;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.08), 0 10px 26px rgba(15, 23, 42, 0.26);
}
.order-exchange-page .oe-stepper-list--premium .oe-stepper-item--active .oe-stepper-label {
  font-weight: 800;
  letter-spacing: -0.012em;
  color: var(--pfk-ink);
}
.order-exchange-page .oe-stepper-list--premium .oe-stepper-item--pending .oe-stepper-label {
  color: #94a3b8;
  font-weight: 500;
}
.order-exchange-page .oe-stepper-list--premium .oe-stepper-item--pending .oe-stepper-num {
  border-style: dashed;
  border-color: #cbd5e1;
  background: #f8fafc;
  color: #94a3b8;
  box-shadow: none;
}
@media (max-width: 767px) {
  .order-exchange-page .oe-stepper-list--premium {
    row-gap: 14px;
    column-gap: 14px;
  }
  .order-exchange-page .oe-stepper-list--premium .oe-stepper-item {
    align-items: flex-start;
    padding-top: 1px;
  }
  .order-exchange-page .oe-stepper-list--premium .oe-stepper-label {
    font-size: 11px;
    line-height: 1.32;
    letter-spacing: 0.01em;
  }
}

.order-exchange-page .oe-summary-aside .oe-sum-title {
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.order-exchange-page .oe-summary-aside .oe-sum-order {
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(226, 232, 240, 0.95);
  font-size: 13px;
  line-height: 1.45;
}
.order-exchange-page .oe-summary-aside .oe-sum-badge {
  margin-top: 0;
  margin-bottom: 18px;
}
.order-exchange-page .oe-summary-aside .oe-sum-block:has(ul.oe-sum-lines) .oe-sum-lines {
  margin-top: 6px;
  padding: 10px 12px 8px;
  border-radius: 10px;
  background: rgba(241, 245, 249, 0.72);
  border: 1px solid rgba(226, 232, 240, 0.95);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
}
.order-exchange-page .oe-summary-aside .oe-sum-block:has(ul.oe-sum-lines) .oe-sum-line {
  padding-inline: 2px;
}
.order-exchange-page .oe-summary-aside .oe-sum-block:has(ul.oe-sum-lines) .oe-sum-line:first-child {
  padding-top: 2px;
}
.order-exchange-page .oe-summary-aside .oe-sum-block--emph {
  padding: 14px 14px 16px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, #fff 75%);
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-top: 2px solid rgba(15, 23, 42, 0.12);
  margin-top: 4px;
}
.order-exchange-page .oe-summary-aside .oe-sum-block .oe-sum-k {
  letter-spacing: 0.06em;
}

.order-exchange-page .oe-flow > .oe-desktop-cta {
  border-top: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.65) 0%, rgba(255, 255, 255, 0) 72%);
}

@media (max-width: 767px) {
  .order-exchange-page .oe-mobile-dock {
    border-top: 1px solid rgba(203, 213, 225, 0.65);
    box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.85) inset, 0 -14px 40px rgba(15, 23, 42, 0.09);
  }
  .order-exchange-page .oe-summary-aside--open .oe-summary-card-shell {
    margin-bottom: 10px;
  }
  .order-exchange-page .oe-main--aftersales .oe-flow {
    margin-bottom: 10px;
  }
}

/* Order view after-sales — vertical rhythm (titles, cards, mobile) */
@media (min-width: 768px) {
  .order-view-section.order-view-card:has(#order-view-requests-list) .order-view-section-title,
  .order-view-section.order-view-card:has(#order-view-thread) .order-view-section-title {
    margin-bottom: var(--pfk-s24);
  }
  .order-view-section.order-view-card:has(#order-view-requests-list),
  .order-view-section.order-view-card:has(#order-view-thread) {
    padding-top: 28px;
    padding-bottom: 28px;
  }
}

@media (max-width: 767px) {
  .order-view-section.order-view-card:has(#order-view-requests-list) .order-view-section-title,
  .order-view-section.order-view-card:has(#order-view-thread) .order-view-section-title {
    margin-bottom: var(--pfk-s20);
  }
  .order-view-section.order-view-card:has(#order-view-requests-list),
  .order-view-section.order-view-card:has(#order-view-thread) {
    margin-bottom: var(--pfk-s32);
    padding-top: var(--pfk-s20);
    padding-bottom: var(--pfk-s24);
  }
  .order-view-request-row {
    padding: 26px 0;
    row-gap: 16px;
    column-gap: 14px;
  }
  .order-view-request-icon {
    width: 44px;
    height: 44px;
  }
  .ov-thread {
    gap: 20px;
    padding: 18px;
    margin-bottom: 22px;
  }
  .ov-thread-composer-wrap {
    margin-top: 22px;
  }
}

/* ===== FINAL drawer parity overrides (strict) ===== */
#pfk-mobile-drawer .pfk-drawer-main > .pfk-drawer-menu > li:hover > a,
#pfk-mobile-drawer .pfk-drawer-main > .pfk-drawer-menu > li.is-active > a,
#pfk-mobile-drawer .pfk-drawer-main > .pfk-drawer-menu > li:hover > .pfk-drawer-expand,
#pfk-mobile-drawer .pfk-drawer-main > .pfk-drawer-menu > li.is-active > .pfk-drawer-expand {
  color: #e30613 !important;
}

@media (max-width: 767px) {
  #pfk-mobile-drawer .pfk-drawer-content {
    position: relative !important;
    overflow: hidden !important;
  }

  #pfk-mobile-drawer .pfk-drawer-main,
  #pfk-mobile-drawer .pfk-drawer-sub-panel,
  #pfk-mobile-drawer .pfk-drawer-sub-sub-panel {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    background: #fff !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transform: translateX(100%) !important;
    transition: transform .24s ease !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 !important;
    border-left: 0 !important;
    margin: 0 !important;
  }

  #pfk-mobile-drawer .pfk-drawer-main {
    position: relative !important;
    transform: translateX(0) !important;
    border-right: 0 !important;
  }

  #pfk-mobile-drawer .pfk-drawer-body.pfk-sub-open .pfk-drawer-main {
    transform: translateX(-100%) !important;
  }

  #pfk-mobile-drawer .pfk-drawer-sub-panel.is-active,
  #pfk-mobile-drawer .pfk-drawer-sub-sub-panel.is-active {
    transform: translateX(0) !important;
  }

  #pfk-mobile-drawer .pfk-drawer-menu,
  #pfk-mobile-drawer .sub-menu {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #pfk-mobile-drawer .pfk-drawer-menu li,
  #pfk-mobile-drawer .sub-menu li {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
  }

  #pfk-mobile-drawer .pfk-drawer-sub-link,
  #pfk-mobile-drawer .pfk-drawer-menu li > a,
  #pfk-mobile-drawer .pfk-drawer-sub-panel .sub-menu a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 56px 0 20px !important;
    box-sizing: border-box !important;
    text-align: left !important;
    justify-content: flex-start !important;
    font-size: 15px !important;
    font-weight: 500 !important;
  }

  #pfk-mobile-drawer .pfk-drawer-expand {
    position: absolute !important;
    right: 8px !important;
    top: 0 !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  #pfk-mobile-drawer .pfk-drawer-title-wrap {
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
    background: #fff !important;
  }

  #pfk-mobile-drawer .pfk-drawer-back {
    min-height: 52px !important;
    height: 52px !important;
    padding: 0 20px !important;
    background: #f7f8fa !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-align: left !important;
    width: 100% !important;
    border: 0 !important;
  }

  #pfk-mobile-drawer .pfk-drawer-heading {
    margin: 0 !important;
    padding: 14px 20px 12px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
  }

  #pfk-mobile-drawer .pfk-drawer-see-all-link {
    color: #e30613 !important;
    font-weight: 500 !important;
  }
}

/* ===== Canonical gift-card visual/layout source of truth ===== */
.pfk-gift-card-mini {
  box-sizing: border-box;
  overflow: hidden;
  flex-shrink: 0;
}
.pfk-gift-card-mini__footer--mobile {
  display: none;
}
.pfk-gift-card-mini__mark {
  object-fit: contain;
}

/* Full card on gift-card page */
.pfk-gift-card-mini--full {
  width: 100%;
  max-width: 560px;
  aspect-ratio: 1.58 / 1;
  min-height: 220px;
  padding: 18px 16px 16px;
}
.pfk-gift-card-mini--full .pfk-gift-card-mini__head,
.pfk-gift-card-mini--full .pfk-gift-card-mini__body {
  padding-right: 38%;
}
.pfk-gift-card-mini--full .pfk-gift-card-mini__amount {
  font-size: clamp(28px, 5vw, 36px);
}
.pfk-gift-card-mini--full .pfk-gift-card-mini__meta {
  font-size: 12px;
  max-width: 100%;
}
.pfk-gift-card-mini--full .pfk-gift-card-mini__footer {
  max-width: calc(100% - 24px);
}

/* Account orders list card */
.pfk-gift-card-mini--order-list {
  width: 170px;
  height: 108px;
  flex: 0 0 170px;
  padding: 10px 11px;
}
.pfk-gift-card-mini--order-list .pfk-gift-card-mini__head,
.pfk-gift-card-mini--order-list .pfk-gift-card-mini__body {
  padding-right: 34%;
}
.pfk-gift-card-mini--order-list .pfk-gift-card-mini__brand { font-size: 8px; letter-spacing: 0.14em; }
.pfk-gift-card-mini--order-list .pfk-gift-card-mini__title { font-size: 10px; margin-top: 2px; }
.pfk-gift-card-mini--order-list .pfk-gift-card-mini__amount { font-size: 17px; font-weight: 700; }
.pfk-gift-card-mini--order-list .pfk-gift-card-mini__meta { display: none !important; }

/* Order detail card */
.pfk-gift-card-mini--order-product {
  width: 220px;
  height: 140px;
  max-width: 100%;
  padding: 14px 13px;
}
.pfk-gift-card-mini--order-product .pfk-gift-card-mini__head,
.pfk-gift-card-mini--order-product .pfk-gift-card-mini__body {
  padding-right: 36%;
}
.pfk-gift-card-mini--order-product .pfk-gift-card-mini__amount { font-size: 18px; }
.pfk-gift-card-mini--order-product .pfk-gift-card-mini__meta { font-size: 10px; max-width: 100%; }

/* Decorative mark sizing */
.pfk-gift-card-mini--order-list .pfk-gift-card-mini__mark {
  width: 26%;
  max-width: 40px;
  right: 10px;
  top: 8px;
  opacity: 0.55;
  object-fit: contain;
  object-position: right top;
}
.pfk-gift-card-mini--order-product .pfk-gift-card-mini__mark {
  width: 26%;
  max-width: 34px;
  right: 12px;
  top: 12px;
  opacity: 0.62;
}

/* Gift rows in account/orders */
.pfk-order-card-thumb--gift {
  background: transparent;
  border: 0;
  overflow: visible;
  height: auto;
  display: flex;
  align-items: center;
  flex: 0 0 170px;
  width: 170px;
}
.pfk-account-order-row--gift.pfk-order-card-inner {
  display: grid;
  grid-template-columns: 190px 1fr auto;
  align-items: center;
  gap: var(--pfk-s24);
}
.pfk-order-product-row--gift .product-price {
  min-width: 72px;
  text-align: right;
}

/* Gift-card page overflow guardrails */
.pfk-gift-card-page,
.pfk-gift-shell,
.pfk-gift-form,
.pfk-gift-card-preview,
.pfk-gift-card-main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .pfk-account-order-row--gift.pfk-order-card-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
  .pfk-account-order-row--gift .pfk-order-card-thumb--gift {
    width: 100%;
    max-width: 340px;
    flex: none;
    align-self: center;
  }
  .pfk-account-order-row--gift .pfk-gift-card-mini--order-list {
    width: 100%;
    max-width: 340px;
    height: auto;
    aspect-ratio: 1.58 / 1;
    flex: none;
  }
  .pfk-account-order-row--gift .pfk-gift-card-mini--order-list .pfk-gift-card-mini__mark {
    max-width: 48px;
    right: 10px;
    top: 10px;
    opacity: 0.55;
    object-fit: contain;
    object-position: right top;
  }

  .order-view-product--gift .order-view-product-img-wrap--gift {
    width: min(100%, 320px);
    height: auto;
  }
  .order-view-product--gift .pfk-gift-card-mini--order-product {
    width: 100%;
    max-width: 320px;
    height: auto;
    aspect-ratio: 1.58 / 1;
  }
  .order-view-product--gift .pfk-gift-card-mini--order-product .pfk-gift-card-mini__mark {
    max-width: 72px;
    opacity: 0.62;
  }

  .pfk-gift-card-mini--full {
    max-width: 100%;
    min-height: 0;
    aspect-ratio: 1.58 / 1;
  }
  .pfk-gift-card-mini--full .pfk-gift-card-mini__footer--desktop {
    display: none;
  }
  .pfk-gift-card-mini--full .pfk-gift-card-mini__footer--mobile {
    display: block;
  }
  .pfk-gift-card-mini--full .pfk-gift-card-mini__footer {
    font-size: 11px;
    line-height: 1.25;
    max-width: calc(100% - 24px);
    margin-top: 8px;
  }
}

/* Cart/checkout gift wrap + delivery estimate */
.pfk-cart-delivery-estimate {
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: linear-gradient(165deg, #fafbfc 0%, #f8fafc 100%);
  color: #0f172a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.01em;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.pfk-order-gift-wrap-block {
  margin-bottom: 14px;
}
.pfk-order-gift-wrap-inner {
  margin-top: 0;
}

/* Κοινή ειδοποίηση συσκευασίας δώρου (checkout επιβεβαίωση · προβολή παραγγελίας) */
.pfk-order-gift-notice {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(5, 150, 105, 0.38);
  background: linear-gradient(155deg, #ecfdf5 0%, #d1fae5 42%, #a7f3d0 160%);
  color: #065f46;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.01em;
  box-shadow: 0 1px 3px rgba(5, 95, 70, 0.1);
}
.pfk-order-gift-notice__icon {
  flex-shrink: 0;
  display: flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  color: #059669;
  border: 1px solid rgba(16, 185, 129, 0.28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.pfk-order-gift-notice__text {
  flex: 0 1 auto;
  min-width: 0;
}
.checkout-page .checkout-confirm-summary .pfk-order-gift-notice {
  margin-bottom: 12px;
}
.order-view-products-list > .pfk-order-gift-notice:first-child {
  align-self: flex-start;
  margin-bottom: var(--pfk-s16);
}

/* Λίστα παραγγελιών — σήμα δώρου */
.pfk-order-card-gift-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #047857;
  background: rgba(236, 253, 245, 0.98);
  border: 1px solid rgba(16, 185, 129, 0.42);
  line-height: 1;
}
.pfk-order-card-gift-badge svg {
  flex-shrink: 0;
}
/* Χρώματα διαθεσιμότητας όπως πριν (πράσινο #15803d / teal dot #22c55e, amber #92400e / dot #f59e0b) */
.pfk-cart-item-availability {
  margin-top: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  line-height: 1.35;
  color: #374151;
}
.pfk-cart-item-availability-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.14);
  flex-shrink: 0;
  display: inline-block;
}
.pfk-cart-item-availability--green {
  color: #15803d;
}
.pfk-cart-item-availability--green .pfk-cart-item-availability-dot {
  background: #22c55e;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
}
.pfk-cart-item-availability--amber {
  color: #92400e;
}
.pfk-cart-item-availability--amber .pfk-cart-item-availability-dot {
  background: #f59e0b;
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.14);
}
.pfk-cart-item-availability--muted {
  color: #4b5563;
}
.pfk-cart-item-availability--muted .pfk-cart-item-availability-dot {
  background: #9ca3af;
  box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.2);
}
.pfk-cart-item-delivery-line {
  margin-top: 6px;
  font-size: 12px;
  color: #4b5563;
  line-height: 1.35;
}
.pfk-cart-giftwrap-row {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fafafa;
}
.pfk-cart-giftwrap-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #111827;
}
.pfk-cart-giftwrap-check input[type="checkbox"] {
  width: 16px;
  height: 16px;
}
.pfk-cart-giftwrap-info {
  border: none;
  background: transparent;
  padding: 0;
  font-size: 12px;
  color: #374151;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.pfk-cart-giftwrap-active {
  margin-top: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 9px 10px;
  background: #f8fafc;
}
.pfk-cart-giftwrap-active-title {
  margin: 0;
  color: #111827;
  font-size: 12px;
  font-weight: 600;
}
.pfk-cart-giftwrap-active-title::before {
  content: "✓ ";
}
.pfk-cart-giftwrap-active-desc {
  margin: 4px 0 0;
  color: #4b5563;
  font-size: 12px;
  line-height: 1.35;
}
.pfk-checkout-giftwrap-active-line {
  margin: 6px 0 0;
  font-size: 12px;
  color: #374151;
  line-height: 1.3;
}
.pfk-checkout-giftwrap-active-line::before {
  content: "✓ ";
}

/* Gift wrap modal */
.pfk-giftwrap-modal {
  position: fixed;
  inset: 0;
  z-index: 11000;
}
.pfk-giftwrap-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.52);
}
.pfk-giftwrap-modal__panel {
  position: relative;
  z-index: 1;
  width: min(700px, calc(100vw - 32px));
  max-height: min(86vh, 780px);
  overflow: auto;
  margin: 48px auto;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 22px 54px rgba(15, 23, 42, 0.25);
  padding: 20px;
}
.pfk-giftwrap-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  border: none;
  background: transparent;
  font-size: 24px;
  line-height: 1;
  color: #6b7280;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  cursor: pointer;
}
.pfk-giftwrap-modal__close:hover { background: #f3f4f6; color: #111827; }
.pfk-giftwrap-modal__title {
  margin: 0 34px 14px 0;
  font-size: 21px;
  line-height: 1.2;
  color: #111827;
}
.pfk-giftwrap-modal__content {
  display: grid;
  gap: 12px;
}
.pfk-giftwrap-modal__item {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}
.pfk-giftwrap-modal__item h3 {
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 600;
  color: #111827;
}
.pfk-giftwrap-modal__item p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #4b5563;
}
@media (max-width: 767px) {
  .pfk-giftwrap-modal__panel {
    width: calc(100vw - 20px);
    margin: 14px auto;
    max-height: calc(100vh - 28px);
    padding: 16px;
    border-radius: 14px;
  }
}

/* Size guide modal (single product) */
.pfk-size-guide-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.pfk-size-guide-modal.hidden,
.pfk-size-guide-modal:not(.is-open) {
  display: none;
}
.pfk-size-guide-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(6px);
}
.pfk-size-guide-modal__panel {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 672px;
  max-height: 90dvh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  overflow: hidden;
  box-shadow: 0 24px 58px rgba(15, 23, 42, 0.24);
}
.pfk-size-guide-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}
.pfk-size-guide-modal__header h2 {
  margin: 0;
  font-size: 23px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #0f172a;
}
.pfk-size-guide-modal__close {
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #334155;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.pfk-size-guide-modal__close svg {
  width: 20px;
  height: 20px;
}
.pfk-size-guide-modal__close:hover {
  background: #f1f5f9;
  color: #0f172a;
}
.pfk-size-guide-modal__body {
  padding: 24px;
  overflow: auto;
}
.pfk-size-guide-table-wrap {
  overflow-x: auto;
}
.pfk-size-guide-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
.pfk-size-guide-table thead th {
  padding: 14px 16px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: #64748b;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12);
}
.pfk-size-guide-table tbody td {
  padding: 14px 16px;
  font-size: 14px;
  color: #1e293b;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.pfk-size-guide-table tbody tr:nth-child(even) td {
  background: rgba(248, 250, 252, 0.75);
}
.pfk-size-guide-table tbody tr:hover td {
  background: rgba(15, 23, 42, 0.03);
}
.pfk-size-guide-table tbody td:first-child {
  font-weight: 700;
  color: #0f172a;
}
.pfk-size-guide-table tbody tr.is-selected td {
  background: rgba(15, 23, 42, 0.04);
  font-weight: 700;
}
.pfk-size-guide-table tbody tr.is-selected td:first-child {
  color: #16a34a;
}
.pfk-size-guide-modal__footer {
  padding: 14px 24px;
  background: #f8fafc;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}
.pfk-size-guide-modal__footer p {
  margin: 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.45;
  color: #64748b;
}

@media (min-width: 768px) {
  .pfk-size-guide-modal {
    padding: 24px;
  }
}

@media (max-width: 640px) {
  .pfk-size-guide-modal {
    align-items: center;
    padding: 16px;
  }
  .pfk-size-guide-modal__panel {
    max-height: 88dvh;
    border-radius: 18px;
  }
  .pfk-size-guide-modal__header {
    padding: 14px 16px;
  }
  .pfk-size-guide-modal__header h2 {
    font-size: 21px;
  }
  .pfk-size-guide-modal__body {
    padding: 16px;
  }
  .pfk-size-guide-table {
    min-width: 560px;
  }
  .pfk-size-guide-table thead th,
  .pfk-size-guide-table tbody td {
    padding: 12px 14px;
  }
  .pfk-size-guide-modal__footer {
    padding: 12px 16px;
  }
  .pfk-size-guide-modal__footer p {
    font-size: 11px;
  }
}

/* ========== Home v8 (front-page.html — Stitch code 8) ========== */
body.pfk-home-v8 {
  background: #f8f9fa !important;
  color: #191c1d;
  overflow-x: hidden;
}

body.pfk-home-v8 #pfk-header-spacer {
  background: #f8f9fa;
}

body.pfk-home-v8 #pfk-trust-root {
  display: none;
}

body.pfk-home-v8 #pfk-footer.pfk-footer {
  margin-top: 1rem;
}

@media (max-width: 1023px) {
  body.pfk-home-v8 {
    padding-bottom: calc(var(--pfk-bottom-nav-height, 64px) + 8px);
  }
}

body.pfk-home-v8 .pfk-gift-card-mini--full {
  max-width: 20rem;
  width: 100%;
  margin: 0 auto;
}
