/** Shopify CDN: Minification failed

Line 40:0 All "@import" rules must come first

**/
/* =============================================================
   DEAN SUPPLY — World-Class Product Page
   Designed for Shopify Expanse Theme
   ============================================================= */

/* --- CSS Variables --- */
:root {
  --dean-black: #1A1A1A;
  --dean-gold: #D4A853;
  --dean-gold-hover: #B8923A;
  --dean-green: #2D7F4F;
  --dean-red: #C0392B;
  --dean-bg: #FAFAF7;
  --dean-white: #FFFFFF;
  --dean-border: #E8E8E3;
  --dean-border-light: #F0F0EB;
  --dean-text: #1A1A1A;
  --dean-text-secondary: #666666;
  --dean-text-muted: #999999;
  --dean-text-faint: #BBBBBB;
  --dean-font-body: 'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --dean-font-display: 'DM Serif Display', Georgia, 'Times New Roman', serif;
  --dean-radius-sm: 6px;
  --dean-radius: 8px;
  --dean-radius-md: 10px;
  --dean-radius-lg: 12px;
  --dean-radius-xl: 16px;
  --dean-shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
  --dean-shadow: 0 4px 16px rgba(0,0,0,0.06);
  --dean-shadow-lg: 0 8px 30px rgba(0,0,0,0.08);
  --dean-transition: 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- Google Fonts Import --- */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=DM+Serif+Display:ital@0;1&display=swap');

/* --- Global Overrides for Product Page --- */
.dean-product-page {
  font-family: var(--dean-font-body);
  color: var(--dean-text);
  background: var(--dean-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.dean-product-page *,
.dean-product-page *::before,
.dean-product-page *::after {
  box-sizing: border-box;
}

/* Prevent HC sections from overflowing - scoped, not on ancestor */
.hc-linked-products-variants-container,
[class*="hc-linked-product"] {
  max-width: 100%;
}

/* Sticky support — scoped to product grid only */

/* =============================================================
   PROMO BAR
   ============================================================= */
.dean-promo-bar {
  background: var(--dean-black);
  color: var(--dean-white);
  text-align: center;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.5px;
  line-height: 1.4;
}

.dean-promo-bar strong {
  color: var(--dean-gold);
}

/* =============================================================
   BREADCRUMB
   ============================================================= */
.dean-breadcrumb {
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}

.dean-breadcrumb a {
  color: var(--dean-text-muted);
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 0.3px;
  transition: color 0.2s ease;
}

.dean-breadcrumb a:hover {
  color: var(--dean-gold);
}

.dean-breadcrumb .separator {
  color: #CCC;
  margin: 0 8px;
  font-size: 11px;
}

.dean-breadcrumb .current {
  color: var(--dean-text-secondary);
  font-size: 12px;
}

/* =============================================================
   PRODUCT HERO — MAIN GRID
   ============================================================= */
.dean-product-hero {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 60px;
}

.dean-product-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 48px;
  align-items: start;
  overflow: visible;
}

/* --- Left Column: Images (sticky on desktop) --- */
.dean-product-images {
  position: -webkit-sticky;
  position: sticky;
  top: 24px;
  align-self: start;
}

/* Sticky is handled by overflow:visible on .dean-product-grid */

.dean-main-image {
  touch-action: pan-y; /* allow vertical scroll, we handle horizontal swipe */
  background: var(--dean-white);
  border-radius: var(--dean-radius-xl);
  overflow: hidden;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--dean-border);
  position: relative;
  cursor: zoom-in;
}
.dean-main-image.zoomed { cursor: zoom-out; }

.dean-main-image img {
  width: 85%;
  height: 85%;
  object-fit: contain;
  transition: opacity 0.4s ease, transform 0.3s ease;
  will-change: transform;
}
.dean-main-image.zoomed img {
  transform: scale(2.2);
  transition: opacity 0.4s ease;
}

/* Zoom hint badge */
.dean-zoom-hint {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: rgba(26,26,26,0.7);
  color: white;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 5px;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.dean-main-image.zoomed .dean-zoom-hint { opacity: 0; }

.dean-image-badges {
  position: absolute;
  top: 14px;
  left: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 5;
}
.dean-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
  line-height: 1.2;
  border-radius: 4px 0 0 4px;
  text-transform: uppercase;
  white-space: nowrap;
  width: fit-content;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.15);
}
.dean-badge--sale { background: var(--dean-red); color: white; }
.dean-badge--soldout { background: #555; color: white; }
.dean-badge--clearance { background: #F59E0B; color: #1A1A1A; }
.dean-badge--preorder { background: #6366F1; color: white; }
.dean-badge--custom { background: var(--dean-gold); color: white; }
.dean-badge--usa { background: #1E3A5F; color: white; }
.dean-badge--local { background: var(--dean-green); color: white; }
.dean-badge--dropship { background: #5B21B6; color: white; }

.dean-thumbnails {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.dean-thumb {
  width: 72px;
  height: 72px;
  border: 2px solid var(--dean-border);
  border-radius: var(--dean-radius);
  overflow: hidden;
  cursor: pointer;
  transition: all 0.25s ease;
  flex-shrink: 0;
  opacity: 0.6;
}

.dean-thumb:hover {
  border-color: var(--dean-gold);
  opacity: 0.85;
}
.dean-thumb.active {
  border-color: var(--dean-gold);
  opacity: 1;
}

.dean-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- Trust Strip --- */
/* Trust Strip — contained width, centered, readable */
.dean-trust-strip-wrap {
  padding: 48px 0;
  display: flex;
  justify-content: center;
}

.dean-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 860px;
  width: 100%;
  border-radius: var(--dean-radius-lg);
  overflow: hidden;
  background: #F5EDD8;
  border: 1.5px solid #E2D0B0;
  position: relative;
}
.dean-trust-strip::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--dean-gold);
  opacity: 0.7;
  z-index: 1;
}

.dean-trust-cell {
  padding: 24px 28px;
  border-right: 1px solid #E2D0B0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dean-trust-cell:last-child { border-right: none; }

.dean-trust-num {
  font-family: var(--dean-font-display, 'DM Serif Display', Georgia, serif);
  font-size: 34px;
  color: var(--dean-gold);
  line-height: 1;
  letter-spacing: -1px;
}
.dean-trust-unit {
  font-family: var(--dean-font-body);
  font-size: 14px;
  font-weight: 700;
  color: var(--dean-gold);
  margin-left: 2px;
  letter-spacing: 0;
  opacity: 0.75;
}

.dean-trust-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--dean-text);
  letter-spacing: 0.1px;
  margin-top: 6px;
}
.dean-trust-sub {
  font-size: 12px;
  color: #5A5650;
  letter-spacing: 0;
  font-weight: 500;
}

/* --- Store / Bin Location --- */
.dean-store-location {
  margin-top: 10px;
  padding: 10px 16px;
  background: var(--dean-white);
  border-radius: var(--dean-radius);
  border: 1px solid var(--dean-border);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--dean-text-secondary);
}
.dean-store-location strong { color: var(--dean-gold); }

/* --- Right Column: Product Info --- */
.dean-product-info {}

/* Brand Row */
.dean-section-label {
  font-family: var(--dean-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--dean-gold);
  margin-bottom: 0;
}

/* ── Vendor Card — premium container below linked products ── */
.dean-vendor-card {
  margin-top: 20px;
  padding: 16px 20px;
  background: var(--dean-white);
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  transition: border-color 0.2s;
}
.dean-vendor-card:hover {
  border-color: var(--dean-gold);
}
.dean-vendor-card-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.dean-vendor-card-link:hover { opacity: 0.7; }
.dean-vendor-card-img {
  height: 36px;
  width: auto;
  max-width: 160px;
  object-fit: contain;
  display: block;
}
.dean-vendor-card-name {
  font-family: var(--dean-font-body);
  font-size: 16px;
  font-weight: 700;
  color: var(--dean-text);
}
.dean-vendor-card-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--dean-green);
  letter-spacing: 0.3px;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 4px;
}
.dean-vendor-card-label svg {
  stroke: var(--dean-green);
  flex-shrink: 0;
}
.dean-vendor-card-left {
  flex-shrink: 0;
}
.dean-vendor-card-center {
  flex: 1;
  text-align: center;
}
.dean-vendor-card-shop {
  font-size: 13px;
  font-weight: 600;
  color: var(--dean-gold);
  text-decoration: none;
  transition: color 0.2s;
  display: block;
}
.dean-vendor-card-shop:hover {
  color: var(--dean-gold-hover);
}

/* Vendor tagline — appears above the CTA */
.dean-vendor-tagline {
  font-size: 11px;
  color: var(--dean-text-muted);
  font-style: italic;
  margin-bottom: 5px;
  line-height: 1.4;
}

.dean-product-title {
  font-family: var(--dean-font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1.25;
  color: var(--dean-text);
  margin: 0 0 12px 0;
}

/* Rating + SKU row */
.dean-meta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.dean-stars {
  display: inline-flex;
  gap: 2px;
  align-items: center;
}

.dean-stars svg {
  width: 16px;
  height: 16px;
}
.dean-star-filled {
  fill: #D4A853 !important;
  stroke: #D4A853 !important;
  stroke-width: 1 !important;
}
.dean-star-empty {
  fill: none !important;
  stroke: #D4A853 !important;
  stroke-width: 1.5 !important;
}

.dean-rating-num {
  font-size: 14px;
  font-weight: 600;
  color: var(--dean-text);
}

.dean-review-count {
  font-size: 13px;
  color: var(--dean-text-muted);
}

.dean-meta-sep {
  font-size: 12px;
  color: var(--dean-text-faint);
}

.dean-sku {
  font-size: 12px;
  color: var(--dean-text-muted);
}

/* --- Pricing --- */
.dean-price-block {
  margin-bottom: 20px;
}

.dean-price-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

.dean-price-current {
  font-size: 36px;
  font-weight: 700;
  color: var(--dean-text);
  font-family: var(--dean-font-body);
}

.dean-price-compare {
  font-size: 18px;
  color: var(--dean-text-faint);
  text-decoration: line-through;
}

.dean-price-savings {
  background: #FFF3E0;
  color: #E65100;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 4px;
}

.dean-financing-line {
  font-size: 12px;
  color: var(--dean-text-muted);
  margin-top: 4px;
}

.dean-financing-line strong {
  color: var(--dean-text);
}

.dean-financing-line a {
  color: var(--dean-gold);
  text-decoration: none;
}

.dean-financing-line a:hover {
  color: var(--dean-gold-hover);
}

/* Sold As display */
.dean-sold-as {
  font-size: 12px;
  color: #888;
  margin-top: 4px;
  font-weight: 500;
}
.dean-sold-as strong { color: #555; }

/* --- Combined Financing Row (Credit Key + Rent-Try-Buy side by side) --- */
.dean-financing-row {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}
.dean-financing-option {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--dean-border);
  border-radius: var(--dean-radius);
  background: var(--dean-white);
  text-decoration: none;
  color: var(--dean-text);
  transition: border-color 0.2s;
  font-size: 12px;
}
.dean-financing-option:hover {
  border-color: var(--dean-gold);
}
.dean-financing-detail {
  font-size: 11px;
  color: var(--dean-text-secondary);
  line-height: 1.3;
}
.dean-financing-detail strong {
  color: var(--dean-text);
}
.dean-rtb-logo {
  height: 28px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
}
.dean-creditkey-badge {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.dean-creditkey-badge .dean-ck-icon {
  background: #2563EB;
  color: white;
  border-radius: 4px;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
}
.dean-creditkey-label {
  font-weight: 700;
  font-size: 12px;
  color: #2563EB;
}

/* --- Variant Selector Radio-Style (Step 2) --- */
.dean-variants { margin-bottom: 16px; }
.dean-variant-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--dean-text-muted);
  margin-bottom: 10px;
}
.dean-variant-opt {
  padding: 10px 16px;
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius);
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--dean-white);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.dean-variant-opt:hover { border-color: var(--dean-gold); }
.dean-variant-opt.active {
  border-color: var(--dean-gold);
  background: #FFFDF5;
}
.dean-variant-opt.unavailable { opacity: 0.5; }
.dean-variant-check {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 2px solid #D5D5D0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.dean-variant-opt.active .dean-variant-check {
  border-color: var(--dean-gold);
  background: var(--dean-gold);
}
.dean-variant-soldout {
  font-size: 11px;
  color: var(--dean-red);
  font-weight: 600;
}

/* --- Customizable Product Callout (tag: customizable) Step 3 --- */
.dean-customizable-callout {
  padding: 16px 18px;
  background: linear-gradient(135deg, #FFFDF5 0%, #FFF8E7 100%);
  border-radius: var(--dean-radius-md);
  border: 1.5px solid #E8D5A0;
  margin-bottom: 16px;
  display: flex;
  gap: 14px;
  align-items: center;
}
.dean-customizable-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--dean-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dean-customizable-callout .dean-inquire-btn {
  flex-shrink: 0;
  background: var(--dean-black);
  color: white;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  display: inline-block;
  transition: all 0.2s ease;
}
.dean-customizable-callout .dean-inquire-btn:hover {
  background: var(--dean-gold);
  color: var(--dean-black);
}

/* --- Local-Only Delivery Callout (tag: local-only) Step 3 --- */
.dean-local-only {
  padding: 14px 16px;
  background: #EFF6FF;
  border-radius: var(--dean-radius-md);
  border: 1.5px solid #BFDBFE;
  margin-bottom: 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.dean-local-only svg { flex-shrink: 0; margin-top: 1px; }

/* =============================================================
   HC LINKED PRODUCTS APP OVERRIDES
   Strip all nested containers, blue backgrounds, double borders
   ============================================================= */

/* Container */
.hc-linked-products-variants-container {
  font-family: var(--dean-font-body);
  margin-top: 16px;
  max-width: 100%;
}

/* Label — "Other Available Sizes:" */
.hc-linked-product-selector__label {
  font-family: var(--dean-font-body) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: var(--dean-text-secondary) !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}

/* Select panel — the list of options */
.hc-linked-product-selector__select-panel {
  border: 1.5px solid var(--dean-border) !important;
  border-radius: var(--dean-radius) !important;
  padding: 0 !important;
  list-style: none !important;
  overflow-y: auto !important;
  max-height: 240px !important;
  -webkit-overflow-scrolling: touch;
  background: var(--dean-white) !important;
  box-shadow: none !important;
  margin: 0 0 16px !important;
}
.hc-linked-product-selector__select-panel li {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
/* Text option links (sizes, patterns) — white background row style.
   :not([style]) excludes swatch links — HC sets inline style on those, background must not be overridden */
.hc-linked-product-selector__select-panel a:not([style]),
.hc-linked-product-selector__select-panel li a:not([style]) {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 14px !important;
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--dean-text) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--dean-border-light) !important;
  background: var(--dean-white) !important;
  transition: background 0.12s ease !important;
}
.hc-linked-product-selector__select-panel li:last-child a {
  border-bottom: none !important;
}
.hc-linked-product-selector__select-panel a:not([style]):hover,
.hc-linked-product-selector__select-panel li a:not([style]):hover {
  background: #eae3d6 !important;
}

/* Active / selected item */
/* Selected state for TEXT option lists — exclude swatch links ([style]) */
.hc-linked-product-selector__select-panel a[aria-current="true"]:not([style]),
.hc-linked-product-selector__select-panel a.active:not([style]),
.hc-linked-product-selector__select-panel li.active a:not([style]),
.hc-linked-product-selector__select-panel .hc-linked--selected a:not([style]) {
  background: var(--dean-black) !important;
  color: var(--dean-white) !important;
  font-weight: 600 !important;
  border-bottom-color: rgba(255,255,255,0.1) !important;
}

/* Section wrappers */
[id*="shopify-section-linked-product"],
[id*="shopify-section-hc"] {
  max-width: 100%;
}

/* =============================================================
   FREQUENTLY BOUGHT TOGETHER (FBT-style)
   Fetches complementary products via Shopify API, rendered by JS
   ============================================================= */
.dean-fbt-section {
  margin-top: 24px;
}
.dean-fbt-label {
  font-family: var(--dean-font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--dean-text-secondary);
  margin-bottom: 12px;
}
.dean-fbt-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dean-fbt-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius-md);
  background: var(--dean-white);
  transition: all 0.2s ease;
  cursor: pointer;
  opacity: 0.55;
}
.dean-fbt-item.active {
  border-color: var(--dean-gold);
  opacity: 1;
}
.dean-fbt-item:hover {
  border-color: var(--dean-gold);
}

/* Checkbox */
.dean-fbt-check {
  display: flex;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
}
.dean-fbt-check input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.dean-fbt-checkbox {
  width: 22px;
  height: 22px;
  border: 2px solid var(--dean-border);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  background: var(--dean-white);
}
.dean-fbt-check input:checked + .dean-fbt-checkbox {
  background: var(--dean-gold);
  border-color: var(--dean-gold);
}
.dean-fbt-check input:checked + .dean-fbt-checkbox::after {
  content: '✓';
  color: white;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

/* Product image */
.dean-fbt-img {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: var(--dean-radius-sm);
  overflow: hidden;
  background: #f5f5f2;
}
.dean-fbt-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

/* Product name */
.dean-fbt-info {
  flex: 1;
  min-width: 0;
}
.dean-fbt-name {
  font-size: 14px;
  font-weight: 500;
  color: var(--dean-text);
  text-decoration: none;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Variant dropdown inside FBT item */
.dean-fbt-variant-select {
  margin-top: 6px;
  width: 100%;
  padding: 6px 10px;
  font-size: 12px;
  font-family: var(--dean-font-body);
  font-weight: 500;
  color: var(--dean-text);
  background: var(--dean-bg);
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius-sm);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 28px;
  transition: border-color 0.2s;
}
.dean-fbt-variant-select:focus {
  outline: none;
  border-color: var(--dean-gold);
}
.dean-fbt-item.active .dean-fbt-variant-select {
  border-color: var(--dean-gold);
  background-color: var(--dean-white);
}

/* Price column — right-aligned, stacked price + unit */
.dean-fbt-price-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
  gap: 2px;
  min-width: 90px;
}
.dean-fbt-name:hover {
  color: var(--dean-gold);
}

/* Price */
.dean-fbt-price {
  font-size: 16px;
  font-weight: 700;
  color: var(--dean-text);
  flex-shrink: 0;
  white-space: nowrap;
  text-align: right;
}
.dean-fbt-unit {
  display: block;
  font-size: 10px;
  font-weight: 500;
  color: var(--dean-text-muted);
  text-transform: capitalize;
}

/* Bundle total row */
.dean-fbt-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  margin-top: 8px;
  border: 1.5px solid var(--dean-gold);
  border-radius: var(--dean-radius-md);
  background: rgba(212,168,83,0.04);
  font-size: 14px;
  color: var(--dean-text-secondary);
}
.dean-fbt-total-price {
  font-size: 20px;
  font-weight: 800;
  color: var(--dean-text);
  font-family: var(--dean-font-body);
}

/* FBT Add Bundle to Cart button */
.dean-fbt-atc-btn {
  width: 100%;
  margin-top: 10px;
  padding: 14px 24px;
  background: var(--dean-gold);
  color: var(--dean-black);
  border: none;
  border-radius: var(--dean-radius);
  font-size: 14px;
  font-weight: 700;
  font-family: var(--dean-font-body);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
}
.dean-fbt-atc-btn:hover {
  background: var(--dean-gold-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(212,168,83,0.3);
}
.dean-fbt-atc-btn.added {
  background: var(--dean-green);
  color: white;
}
.dean-fbt-atc-btn svg {
  flex-shrink: 0;
}

/* =============================================================
   HC LINKED PRODUCTS — Clean wrapper, no background
   ============================================================= */
.dean-linked-wrapper {
  margin-top: 20px;
}
.dean-linked-wrapper .hc-linked-products-variants-container {
  margin-top: 0;
}
.dean-linked-wrapper .hc-linked-product-selector__select-panel {
  margin-bottom: 0 !important;
}

/* Kill HC app's blue/light backgrounds — but NOT on swatches */
.dean-linked-wrapper > *:not(.hc-linked-product-selector__color-swatches),
.hc-linked-products-variants-container > *:not(.hc-linked-product-selector__color-swatches),
.hc-linked-product-selector__wrapper,
.hc-linked-product-selector__default,
.hc-linked-product-selector__label {
  background-color: transparent !important;
}

/* Restore specific backgrounds we need */
.hc-linked-product-selector__select-panel {
  background: var(--dean-white) !important;
}
/* Duplicate selected state — also scoped to text options only */
.hc-linked-product-selector__select-panel .hc-linked--selected a:not([style]),
.hc-linked-product-selector__select-panel a[aria-current="true"]:not([style]) {
  background: var(--dean-black) !important;
  color: var(--dean-white) !important;
}

/* ── Swatches — never override background, that IS the swatch ── */
/* Swatches: do NOT override background — HC sets it inline as the swatch color/image.
   Let fixSwatches() JS handle re-application if needed. */

/* =============================================================
   HC COLOR SWATCHES — correct class is hc-linked-product-selector__color-swatches
   The select-panel inside gets .dean-color-swatches added by JS for additional scoping
   ============================================================= */

/* Wrapper: transparent, no interference */
.hc-linked-product-selector__color-swatches {
  background: transparent !important;
}

/* Color swatch panel layout */
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel,
.dean-color-swatches {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 12px !important;
  background: transparent !important;
  list-style: none !important;
}

/* Each swatch item — must match <a> size exactly so box-shadow ring is circular */
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel li,
.dean-color-swatches li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

/* The swatch anchor — DO NOT set background here.
   HC sets background-color/image as inline styles. Any !important background rule
   in a stylesheet will override inline styles and blank the swatch. */
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel li a,
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel a,
.dean-color-swatches li a,
.dean-color-swatches > a {
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  border: 2px solid transparent !important;
  box-shadow: 0 0 0 1.5px rgba(0,0,0,0.12) !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: box-shadow 0.15s ease, transform 0.15s ease !important;
  position: relative !important;
  /* background: intentionally not set — HC inline style must show through */
}

.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel li a:hover,
.dean-color-swatches li a:hover {
  transform: scale(1.1) !important;
  box-shadow: 0 0 0 2px var(--dean-gold) !important;
}

/* Images inside swatches (when HC uses img instead of background) */
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel li a img,
.dean-color-swatches li a img {
  /* Product photos replaced by solid bg-color from data-color attr via JS */
  display: none !important;
}

/* Selected swatch — ring on <li> so overflow:hidden on <a> doesn't clip it */
.dean-color-swatches li.hc-linked--selected,
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel li.hc-linked--selected {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111 !important;
  border-radius: 50% !important;
  transform: scale(1.08) !important;
}
/* Remove any ring from the anchor itself when selected */
.dean-color-swatches li.hc-linked--selected a,
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel li.hc-linked--selected a {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* White swatch — always show a gray ring so it's visible on light backgrounds */
.dean-color-swatches li a[style*="ffffff"],
.dean-color-swatches li a[style*="FFFFFF"] {
  box-shadow: 0 0 0 1.5px rgba(0,0,0,0.25) !important;
}

/* =============================================================
   YOUTUBE / VIDEO EMBEDS — styled as own section in description
   ============================================================= */
.dean-description iframe[src*="youtube"],
.dean-description iframe[src*="youtu.be"],
.dean-description iframe[src*="vimeo"] {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16/9;
  height: auto;
  border: none;
  border-radius: var(--dean-radius);
  margin: 0 auto;
  box-shadow: var(--dean-shadow);
}
.dean-video-section {
  margin: 36px 0 24px;
  padding: 24px;
  background: var(--dean-white);
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius-xl);
}
.dean-video-section-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--dean-text-muted);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dean-video-section-label svg {
  color: var(--dean-gold);
}



/* --- CPS App Widget Override (uses their existing markup) --- */
.dean-product-page .caption2.cpi-caption2 {
  margin-bottom: 16px;
}
.dean-product-page .caption2.cpi-caption2 .caption-text {
  font-family: var(--dean-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--dean-text-muted) !important;
  margin-bottom: 10px !important;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.dean-product-page .caption2.cpi-caption2 .caption-text img[alt="CPS Logo"] {
  width: 50px !important;
  height: auto;
  vertical-align: middle;
}
.dean-product-page .caption2.cpi-caption2 .learn-more-modal {
  font-size: 11px !important;
  color: #2563EB !important;
  text-decoration: none !important;
  font-weight: 500;
  cursor: pointer;
}
.dean-product-page .caption2.cpi-caption2 .learn-more-modal:hover {
  text-decoration: underline !important;
}
/* CPS offer/tier buttons — common CPS class patterns */
.dean-product-page .cpi-caption2 ~ div [class*="offer"],
.dean-product-page .cpi-caption2 ~ div [class*="plan"],
.dean-product-page [class*="cps-offer"],
.dean-product-page [class*="cpi-offer"],
.dean-product-page [class*="cpi-plan"] {
  font-family: var(--dean-font-body) !important;
  border: 1.5px solid var(--dean-border) !important;
  border-radius: var(--dean-radius) !important;
  background: var(--dean-white) !important;
  transition: all 0.2s ease !important;
  cursor: pointer;
}
.dean-product-page [class*="cps-offer"]:hover,
.dean-product-page [class*="cpi-offer"]:hover,
.dean-product-page [class*="cpi-plan"]:hover {
  border-color: #2563EB !important;
}
.dean-product-page [class*="cps-offer"].selected,
.dean-product-page [class*="cps-offer"].active,
.dean-product-page [class*="cpi-offer"].selected,
.dean-product-page [class*="cpi-offer"].active,
.dean-product-page [class*="cpi-plan"].selected,
.dean-product-page [class*="cpi-plan"].active {
  border-color: #2563EB !important;
  background: #EFF6FF !important;
}

/* --- Back-in-Stock Email Capture (Step 2) --- */
.dean-notify-card {
  padding: 20px 22px;
  background: var(--dean-white);
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius-md);
  border-left: 3px solid var(--dean-gold);
  margin-bottom: 12px;
}

/* Eyebrow — small label above title */
.dean-notify-eyebrow {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--dean-text-muted);
  margin-bottom: 6px;
}
.dean-notify-eyebrow svg {
  color: var(--dean-gold);
  flex-shrink: 0;
}

.dean-notify-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--dean-text);
  margin-bottom: 8px;
  line-height: 1.3;
}
.dean-notify-title em {
  font-style: normal;
  color: var(--dean-gold);
}

.dean-notify-desc {
  font-size: 13px;
  color: var(--dean-text-secondary);
  margin-bottom: 14px;
  line-height: 1.6;
}

.dean-notify-form {
  display: flex;
  gap: 8px;
}
.dean-notify-form input {
  flex: 1;
  padding: 12px 14px;
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius);
  font-size: 14px;
  font-family: var(--dean-font-body);
  outline: none;
  background: var(--dean-bg);
  color: var(--dean-text);
}
.dean-notify-form input:focus {
  border-color: var(--dean-gold);
  background: var(--dean-white);
}
.dean-notify-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--dean-black);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: var(--dean-radius);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  cursor: pointer;
  font-family: var(--dean-font-body);
  white-space: nowrap;
  transition: background 0.2s ease;
}
.dean-notify-btn:hover {
  background: var(--dean-gold);
  color: var(--dean-black);
}

/* Success state */
.dean-notify-success {
  padding: 20px 22px;
  background: #F0FDF4;
  border: 1.5px solid #BBF7D0;
  border-radius: var(--dean-radius-md);
  border-left: 3px solid #22C55E;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  margin-bottom: 12px;
}
.dean-notify-success-title {
  font-size: 15px;
  font-weight: 600;
  color: #166534;
}
.dean-notify-success-desc {
  font-size: 13px;
  color: #15803D;
  line-height: 1.5;
}
.dean-notify-success-desc strong {
  color: #166534;
}

/* Estimated Delivery */
.dean-delivery-estimate {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  font-size: 13px;
}
.dean-delivery-estimate svg { flex-shrink: 0; }

/* --- Sticky Mobile ATC Bar (Step 2) --- */
.dean-sticky-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-top: 1px solid var(--dean-border);
  padding: 12px 16px;
  z-index: 1000;
  transform: translateY(100%);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 -4px 20px rgba(0,0,0,0.08);
}
.dean-sticky-bar.visible { transform: translateY(0); }
.dean-sticky-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 600px;
  margin: 0 auto;
}
.dean-sticky-bar .dean-atc-btn {
  padding: 14px 20px;
  font-size: 14px;
}
@media (min-width: 769px) {
  .dean-sticky-bar { display: none !important; }
}

/* --- Highlights Box --- */
.dean-highlights {
  background: var(--dean-white);
  border-radius: var(--dean-radius-md);
  padding: 16px 20px;
  border: 1px solid var(--dean-border);
  margin-bottom: 20px;
}

.dean-highlights-label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--dean-text-muted);
  margin-bottom: 10px;
}

.dean-highlight-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 14px;
}

.dean-highlight-item svg {
  flex-shrink: 0;
}

/* --- Quantity + ATC --- */
.dean-atc-row {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
}

.dean-qty-selector {
  display: flex;
  align-items: center;
  border: 1.5px solid #D5D5D0;
  border-radius: var(--dean-radius);
  overflow: hidden;
}

.dean-qty-btn {
  width: 44px;
  height: 44px;
  border: none;
  background: var(--dean-white);
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dean-text);
  transition: all 0.2s ease;
}

.dean-qty-btn:hover {
  background: #FFFDF5;
  color: var(--dean-gold);
}

.dean-qty-btn:first-child {
  border-right: 1px solid var(--dean-border);
}

.dean-qty-btn:last-child {
  border-left: 1px solid var(--dean-border);
}

.dean-qty-value {
  width: 48px;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  padding: 8px 0;
  font-family: var(--dean-font-body);
}

.dean-atc-btn {
  flex: 1;
  background: var(--dean-gold);
  color: #1C1A17;
  border: none;
  padding: 16px 40px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
  font-family: var(--dean-font-body);
  letter-spacing: 0.5px;
  border-radius: var(--dean-radius);
  position: relative;
  overflow: hidden;
  text-transform: uppercase;
}

.dean-atc-btn:hover {
  background: var(--dean-gold-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(200,151,27,0.35);
}

.dean-atc-btn.added {
  background: var(--dean-green) !important;
  color: white !important;
  cursor: default;
}

.dean-atc-btn:disabled:not(.added) {
  background: #999;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* --- Stock Indicator --- */
.dean-stock-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 13px;
  flex-wrap: wrap;
}

.dean-stock-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dean-green);
  flex-shrink: 0;
}

.dean-stock-label {
  color: var(--dean-green);
  font-weight: 600;
}

.dean-stock-qty {
  color: var(--dean-text-muted);
}

.dean-stock-sep {
  color: var(--dean-text-faint);
  margin: 0 4px;
  font-size: 11px;
}

.dean-fast-ship {
  font-size: 13px;
  color: var(--dean-green);
}

/* --- Phone CTA Card --- */
.dean-phone-cta {
  background: var(--dean-black);
  border-radius: var(--dean-radius-lg);
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.dean-phone-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--dean-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dean-phone-title {
  color: var(--dean-white);
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 2px;
}

/* After-hours phone link — same style, slightly muted */
.dean-phone-link--muted {
  color: rgba(255,255,255,0.55) !important;
  font-style: italic;
}
.dean-phone-link--muted:hover {
  color: rgba(255,255,255,0.8) !important;
}

.dean-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--dean-gold);
  font-weight: 600;
  text-decoration: none;
  font-size: 14px;
  transition: color 0.2s ease;
}

.dean-phone-link:hover {
  color: var(--dean-gold-hover);
}

/* =============================================================
   TABS SECTION
   ============================================================= */
.dean-tabs-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 60px;
}

.dean-tabs-nav {
  display: flex;
  gap: 0;
  border-bottom: 1.5px solid var(--dean-border);
  margin-bottom: 32px;
  overflow-x: auto;
}

.dean-tab-btn {
  padding: 12px 24px;
  border: none;
  background: none;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  color: #888;
  transition: all 0.3s ease;
  font-family: var(--dean-font-body);
  position: relative;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.dean-tab-btn:hover {
  color: var(--dean-text);
}

.dean-tab-btn.active {
  color: var(--dean-text);
  font-weight: 600;
}

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

.dean-tab-panel {
  display: none;
}

.dean-tab-panel.active {
  display: block;
}

/* Description */
.dean-description {
  max-width: 800px;
  line-height: 1.8;
  font-size: 15px;
  color: #444;
}

.dean-pro-tip {
  margin-top: 32px;
  padding: 24px 28px;
  background: var(--dean-black);
  border-radius: var(--dean-radius-lg);
  color: var(--dean-white);
}

.dean-pro-tip-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--dean-gold);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.dean-pro-tip p {
  font-size: 14px;
  line-height: 1.7;
  color: #CCC;
  margin: 0;
}

/* Specifications */
.dean-specs {
  max-width: 600px;
}

.dean-spec-row {
  display: flex;
  padding: 10px 0;
  border-bottom: 1px solid var(--dean-border-light);
}

.dean-spec-row:last-child {
  border-bottom: none;
}

.dean-spec-label {
  flex: 0 0 180px;
  font-size: 13px;
  font-weight: 600;
  color: var(--dean-text-muted);
}

.dean-spec-value {
  font-size: 14px;
  color: var(--dean-text);
}

/* Reviews */
/* Fallback summary — hidden by default since Stamped renders its own.
   JS shows it only when Stamped is absent. */
.dean-reviews-summary,
.dean-reviews-summary--fallback {
  display: none !important;
}

.dean-reviews-avg {
  text-align: center;
}

.dean-reviews-avg-num {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}

.dean-reviews-avg-count {
  font-size: 12px;
  color: var(--dean-text-muted);
  margin-top: 4px;
}

.dean-reviews-bars {
  flex: 1;
}

.dean-reviews-bar-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.dean-reviews-bar-star {
  font-size: 12px;
  color: var(--dean-text-muted);
  width: 12px;
}

.dean-reviews-bar-track {
  flex: 1;
  height: 6px;
  background: var(--dean-border-light);
  border-radius: 3px;
  overflow: hidden;
}

.dean-reviews-bar-fill {
  height: 100%;
  background: var(--dean-gold);
  border-radius: 3px;
  transition: width 0.5s ease;
}

.dean-reviews-bar-pct {
  font-size: 11px;
  color: var(--dean-text-faint);
  width: 30px;
}

.dean-reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
}

.dean-review-card {
  background: var(--dean-white);
  border-radius: var(--dean-radius-lg);
  padding: 24px;
  border: 1px solid var(--dean-border);
  transition: all 0.3s ease;
}

.dean-review-card:hover {
  box-shadow: var(--dean-shadow);
  border-color: #D5D5D0;
}

.dean-review-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}

.dean-review-date {
  font-size: 11px;
  color: var(--dean-text-faint);
}

.dean-review-text {
  font-size: 14px;
  line-height: 1.6;
  color: #444;
  margin-bottom: 12px;
  font-style: italic;
}

.dean-review-name {
  font-size: 13px;
  font-weight: 600;
}

.dean-review-role {
  font-size: 12px;
  color: var(--dean-text-muted);
}

/* FAQ */
.dean-faq-list {
  max-width: 700px;
}

.dean-faq-item {
  border-bottom: 1px solid var(--dean-border);
  cursor: pointer;
  transition: all 0.2s ease;
}

.dean-faq-item:hover {
  background: #F5F5F0;
}

.dean-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
}

.dean-faq-question span {
  font-size: 15px;
  font-weight: 500;
}

.dean-faq-toggle {
  font-size: 20px;
  color: var(--dean-gold);
  transition: transform 0.3s ease;
  user-select: none;
  flex-shrink: 0;
  margin-left: 16px;
}

.dean-faq-item.open .dean-faq-toggle {
  transform: rotate(45deg);
}

.dean-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  font-size: 14px;
  line-height: 1.7;
  color: var(--dean-text-secondary);
}

.dean-faq-item.open .dean-faq-answer {
  max-height: 300px;
  padding-bottom: 16px;
}

/* =============================================================
   DOCUMENTS / RESOURCES TAB
   ============================================================= */
.dean-documents {
  padding: 8px 0;
}
.dean-docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 12px;
}
.dean-doc-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius);
  background: var(--dean-white);
  text-decoration: none;
  color: var(--dean-text);
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
}
.dean-doc-card:hover {
  border-color: var(--dean-gold);
  box-shadow: var(--dean-shadow-sm);
  color: var(--dean-gold);
}
.dean-doc-card svg {
  flex-shrink: 0;
}
.dean-doc-card span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* =============================================================
   WHY DEAN SUPPLY SECTION
   ============================================================= */
.dean-trust-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 40px;
  border-top: 1.5px solid var(--dean-border);
}

.dean-trust-header {
  text-align: center;
  margin-bottom: 40px;
}

.dean-trust-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--dean-gold);
  margin-bottom: 8px;
}

.dean-trust-title {
  font-family: var(--dean-font-display);
  font-size: 32px;
  font-weight: 400;
  margin-top: 8px;
}

.dean-trust-title em {
  font-style: italic;
}

.dean-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.dean-trust-item {
  text-align: center;
}

.dean-trust-icon {
  margin-bottom: 12px;
  display: flex;
  justify-content: center;
}

.dean-trust-item-title {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 6px;
}

.dean-trust-item-desc {
  font-size: 13px;
  color: #888;
  line-height: 1.6;
}

/* Trust section responsive */
@media (max-width: 1080px) {
  .dean-trust-section {
    padding: 40px 24px;
  }
  .dean-trust-grid {
    gap: 24px;
  }
  .dean-trust-item-title {
    font-size: 14px;
  }
  .dean-trust-item-desc {
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  .dean-trust-section {
    padding: 32px 20px;
  }
  .dean-trust-header {
    margin-bottom: 28px;
  }
  .dean-trust-title {
    font-size: 24px;
  }
  .dean-trust-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 20px;
  }
  .dean-trust-item {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .dean-trust-icon {
    justify-content: flex-start;
  }
}

@media (max-width: 480px) {
  .dean-trust-section {
    padding: 28px 16px;
  }
  .dean-trust-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .dean-trust-item {
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    text-align: left;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--dean-border-light, #EDE8E1);
  }
  .dean-trust-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .dean-trust-icon {
    margin-bottom: 0;
    flex-shrink: 0;
    margin-top: 2px;
  }
}

/* =============================================================
   CTA BANNER
   ============================================================= */
.dean-cta-banner {
  max-width: 1280px;
  margin: 0 auto 60px;
  padding: 0 24px;
}

.dean-cta-inner {
  padding: 40px 48px;
  border-radius: var(--dean-radius-xl);
  background: linear-gradient(135deg, #1A1A1A 0%, #2C2C2C 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
}

.dean-cta-sublabel {
  color: var(--dean-gold);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.dean-cta-title {
  color: var(--dean-white);
  font-size: 22px;
  font-family: var(--dean-font-display);
  margin: 0;
}

.dean-cta-desc {
  color: var(--dean-text-muted);
  font-size: 14px;
  margin-top: 4px;
}

.dean-cta-button {
  background: var(--dean-gold);
  color: var(--dean-black);
  border: none;
  padding: 14px 32px;
  font-size: 14px;
  font-weight: 700;
  border-radius: var(--dean-radius);
  cursor: pointer;
  letter-spacing: 0.5px;
  font-family: var(--dean-font-body);
  transition: all var(--dean-transition);
  white-space: nowrap;
}

.dean-cta-button:hover {
  background: var(--dean-gold-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(212,168,83,0.3);
}

/* =============================================================
   PROP 65 WARNING — Override existing section styles
   ============================================================= */
.product-prop65-warning {
  max-width: var(--dean-page-max, 1360px);
  margin: 0 auto !important;
  padding: 0 var(--dean-page-padding, 40px) 0;
  background: var(--dean-bg, #FAFAF7) !important;
}
.product-prop65-warning .page-width {
  padding: 12px 20px !important;
  background: var(--dean-bg, #FAFAF7) !important;
  border: 1px solid var(--dean-border-light, #EDE8E1) !important;
  border-radius: 6px !important;
  max-width: 100% !important;
}
.product-prop65-warning p {
  font-family: var(--dean-font-body) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
  color: #9C9690 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px;
}
.product-prop65-warning img[alt="Prop 65 Warning"],
.product-prop65-warning img {
  margin-right: 0 !important;
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0;
  opacity: 0.5;
}
.product-prop65-warning strong {
  color: #9C9690 !important;
  font-weight: 600;
  font-size: 11px;
}
.product-prop65-warning span {
  color: #9C9690;
  font-size: 11px;
  line-height: 1.5;
}
.product-prop65-warning a {
  color: #9C9690 !important;
  text-decoration: underline;
  font-weight: 400;
}

/* =============================================================
   LIFESTYLE / IN-ACTION GALLERY (Step 4)
   ============================================================= */
.dean-lifestyle {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 48px;
}
.dean-lifestyle-header {
  text-align: center;
  margin-bottom: 24px;
}
.dean-lifestyle-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, 1fr);
}
.dean-lifestyle-item {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 3/2;
}
.dean-lifestyle-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.dean-lifestyle-item:hover img {
  transform: scale(1.03);
}
.dean-lifestyle-gradient {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 100%);
  pointer-events: none;
}
.dean-lifestyle-caption {
  position: absolute;
  bottom: 14px;
  left: 16px;
  right: 16px;
  color: white;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
}

/* =============================================================
   RECENTLY VIEWED (Step 4)
   ============================================================= */
.dean-recent-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 48px;
}
.dean-recent-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.dean-recent-title {
  font-family: var(--dean-font-display);
  font-size: 22px;
  font-weight: 400;
  margin: 0;
}
.dean-recent-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.dean-recent-card {
  background: var(--dean-white);
  border-radius: var(--dean-radius-lg);
  border: 1.5px solid var(--dean-border);
  overflow: hidden;
  transition: all 0.25s ease;
  display: block;
}
/* Inner link wraps image + info */
.dean-recent-card-link {
  display: block;
  text-decoration: none;
  color: var(--dean-text);
  cursor: pointer;
}
.dean-recent-card:hover {
  border-color: var(--dean-gold);
  box-shadow: var(--dean-shadow);
}
.dean-recent-card-img {
  aspect-ratio: 1;
  overflow: hidden;
  position: relative;
}
.dean-recent-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dean-recent-sale-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: var(--dean-red);
  color: white;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  z-index: 1;
}
.dean-recent-card-info {
  padding: 12px 14px;
}
.dean-recent-card-name {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: #444;
  margin-bottom: 6px;
  min-height: 34px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.dean-recent-card-price {
  font-size: 15px;
  font-weight: 700;
}
.dean-recent-card-compare {
  font-size: 12px;
  color: var(--dean-text-faint);
  text-decoration: line-through;
  margin-left: 6px;
}
.dean-recent-card-stock {
  margin-top: 4px;
  font-size: 11px;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 4px;
}
.dean-recent-stock-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

/* ATC button on recently viewed cards */
.dean-recent-atc {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 8px 0;
  background: var(--dean-black);
  color: white;
  border: none;
  border-radius: var(--dean-radius);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  font-family: var(--dean-font-body);
  cursor: pointer;
  transition: background 0.2s;
  text-align: center;
}
.dean-recent-atc:hover { background: var(--dean-gold); color: var(--dean-black); }
.dean-recent-atc:disabled { opacity: 0.6; cursor: not-allowed; }

/* =============================================================
   RESOURCES TAB — Plytix docs restyled inside Dean tabs
   ============================================================= */

#dean-resources-target .resources {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 8px 0;
}

#dean-resources-target .hc-resources-pdf {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border: 1px solid var(--dean-border);
  border-radius: var(--dean-radius);
  background: var(--dean-white);
  transition: all 0.2s;
}

#dean-resources-target .hc-resources-pdf:hover {
  border-color: var(--dean-gold);
  background: #faf8f3;
  box-shadow: var(--dean-shadow-sm);
}

#dean-resources-target .hc-resources-pdf a {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: var(--dean-text);
  font-weight: 500;
  font-size: 14px;
  width: 100%;
}

#dean-resources-target .hc-resources-pdf a:hover {
  color: var(--dean-green);
}

#dean-resources-target .hc-resources-pdf .svg-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: #f0ebe0;
  border-radius: 6px;
  flex-shrink: 0;
}

#dean-resources-target .hc-resources-pdf .svg-wrapper svg {
  width: 16px;
  height: 16px;
}

.dean-resources-empty {
  color: var(--dean-text-muted);
  font-size: 14px;
  font-style: italic;
  padding: 20px 0;
}

/* =============================================================
   BUNDLE TOTAL — Updated styling (includes original item)
   ============================================================= */

.dean-fbt-total-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 15px;
  color: var(--dean-text);
}

.dean-fbt-total-icon {
  display: flex;
  align-items: center;
}

.dean-fbt-total-note {
  font-size: 12px;
  color: var(--dean-text-muted);
  margin-top: 6px;
  text-align: right;
  font-style: italic;
}

/* Hide SEO data section visually */
.dean-seo-data {
  display: none !important;
  visibility: hidden;
  height: 0;
  overflow: hidden;
}

/* ── Mobile gallery swipe dots ── */
@media (max-width: 768px) {
  .dean-main-image {
    position: relative;
    cursor: grab;
  }
  .dean-main-image:active {
    cursor: grabbing;
  }
  /* Swipe affordance hint — subtle chevrons painted via pseudo */
  .dean-gallery-wrap::after {
    content: '‹  ›';
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 18px;
    color: rgba(0,0,0,0.25);
    letter-spacing: 8px;
    pointer-events: none;
    line-height: 1;
  }
}

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media (max-width: 960px) {
  .dean-product-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .dean-product-images {
    position: static;
  }

  .dean-product-hero {
    padding: 0 24px 40px;
  }

  .dean-trust-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .dean-cta-inner {
    padding: 24px;
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .dean-recent-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }

  .dean-lifestyle-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .dean-fbt-name {
    font-size: 13px;
  }

  .dean-docs-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Tabs section: tighter horizontal padding at tablet */
  .dean-content-section {
    padding-left: 24px;
    padding-right: 24px;
  }

  /* Standalone sections (reviews, resources) */
  .dean-standalone-section {
    padding: 32px 0;
  }
}

@media (max-width: 640px) {
  .dean-product-hero {
    padding: 0 12px 32px;
  }

  .dean-promo-bar {
    font-size: 11px;
    padding: 8px 12px;
  }

  .dean-breadcrumb {
    padding: 10px 12px;
  }

  .dean-product-title {
    font-size: 20px;
    line-height: 1.3;
  }

  .dean-price-current {
    font-size: 26px;
  }

  .dean-trust-strip {
    grid-template-columns: repeat(2, 1fr);
  }
  .dean-trust-cell:nth-child(2) { border-right: none; }
  .dean-trust-cell { padding: 16px 18px; }

  .dean-trust-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .dean-meta-row {
    gap: 6px;
    flex-wrap: wrap;
  }

  .dean-reviews-summary {
    flex-direction: column;
    align-items: flex-start;
  }

  .dean-tab-btn {
    padding: 10px 12px;
    font-size: 12px;
    white-space: nowrap;
  }

  .dean-tabs-nav {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .dean-tabs-nav::-webkit-scrollbar { display: none; }

  .dean-cta-inner {
    padding: 20px 16px;
  }

  .dean-cta-title {
    font-size: 18px;
  }

  /* Recently viewed mobile — 2 columns with real gap */
  .dean-recent-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .dean-recent-section {
    padding: 0 12px 32px;
  }
  .dean-recent-card-info {
    padding: 8px 10px;
  }
  .dean-recent-card-name {
    font-size: 11px;
    min-height: 28px;
  }

  .dean-lifestyle-grid {
    grid-template-columns: 1fr;
  }

  .dean-lifestyle-item { aspect-ratio: 16/9; }

  /* Main image mobile */
  .dean-main-image {
    border-radius: var(--dean-radius-md);
  }

  .dean-main-image img {
    width: 95%;
    height: 95%;
  }

  /* Thumbnails horizontal scroll on mobile */
  .dean-thumb-strip {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .dean-thumb-strip::-webkit-scrollbar { display: none; }
  .dean-thumb {
    scroll-snap-align: start;
    flex-shrink: 0;
  }

  /* Quantity + ATC row mobile */
  .dean-cart-row {
    flex-direction: column;
    gap: 10px;
  }

  /* Phone CTA mobile */
  .dean-phone-cta {
    padding: 14px;
  }

  /* HC linked products mobile */
  .hc-linked-product-selector,
  .hc-linked-product-selector__select-panel {
    max-width: 100% !important;
    width: 100% !important;
  }
  .hc-linked-product-selector__select-panel {
    max-height: 180px !important;
  }

  /* Prop 65 mobile */
  .product-prop65-warning {
    padding: 24px 12px;
  }
  .product-prop65-warning p {
    font-size: 11px !important;
  }

  /* FBT mobile */
  .dean-fbt-item {
    padding: 10px 12px;
    gap: 8px;
  }
  .dean-fbt-img {
    width: 40px;
    height: 40px;
  }
  .dean-fbt-name {
    font-size: 12px;
  }
  .dean-fbt-price {
    font-size: 14px;
  }
  .dean-fbt-total-price {
    font-size: 18px;
  }

  /* Documents mobile */
  .dean-docs-grid {
    grid-template-columns: 1fr;
  }

  /* Vendor card mobile */
  .dean-vendor-card {
    padding: 12px 14px;
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }
  .dean-vendor-card-img {
    height: 28px;
  }
  .dean-vendor-card-center {
    order: 3;
  }

  /* Financing row stacks on mobile */
  .dean-financing-row {
    flex-direction: column;
    gap: 8px;
  }

  /* FBT button mobile */
  .dean-fbt-atc-btn {
    font-size: 13px;
    padding: 12px 20px;
  }

  /* Resources tab mobile */
  #dean-resources-target .hc-resources-pdf {
    padding: 12px 14px;
  }

  /* Bundle total mobile */
  .dean-fbt-total {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
  .dean-fbt-total-note {
    text-align: center;
  }
}

/* =============================================================
   HC LINKED PRODUCTS — BORDER FIX
   Soften border to match page card style (#E8E0D8, not black)
   ============================================================= */
/* Kill any outer HC wrapper borders — only the select panel should have one */
.hc-linked-products-variants-container,
[class*="hc-linked-product"] {
  border: none !important;
  box-shadow: none !important;
}
.hc-linked-product-selector__wrapper,
.hc-linked-product-selector__default,
[class*="hc-linked-product-selector__"] {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.dean-linked-wrapper {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
/* Single soft border only on the select panel */
.hc-linked-product-selector__select-panel {
  border: 1px solid var(--dean-border) !important;
  box-shadow: none !important;
}


/* =============================================================
   COORDINATING PRODUCTS — Theme-native product-recommendations section
   The Expanse theme renders a product-recommendations web component
   with a Flickity carousel. We style it to match our design system
   while letting Flickity handle the carousel behaviour.
   ============================================================= */
product-recommendations {
  display: block;
  margin-top: 0;
}

/* Section wrapper */
.shopify-section product-recommendations,
.shopify-section--product-recommendations product-recommendations {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 24px 48px;
}

/* Heading */
.product-recommendations__title {
  font-family: var(--dean-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--dean-text-muted) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
}

/* Each product card in the carousel */
product-recommendations .grid-product {
  border: 1px solid var(--dean-border) !important;
  border-radius: var(--dean-radius-lg) !important;
  background: var(--dean-white) !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  margin: 0 8px 0 0 !important;
}
product-recommendations .grid-product:hover {
  border-color: var(--dean-gold) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}
product-recommendations .grid-product__title {
  font-family: var(--dean-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--dean-text) !important;
}
product-recommendations .grid-product__price {
  font-family: var(--dean-font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--dean-text) !important;
}
product-recommendations .grid-product__meta {
  padding: 10px 12px 12px !important;
}



/* =============================================================
   RECENTLY VIEWED — Correct targeting based on confirmed DOM
   Structure: [data-section-type="recently-viewed"]
                #RecentlyViewed-template--[ID]__recently-viewed
                  .flickity-enabled
                    .flickity-viewport
                      .flickity-slider  ← JS adds .dean-rv-grid-ready here
                        .grid__item     ← JS strips inline position:absolute
   ============================================================= */

/* Section wrapper — constrain and space */
[data-section-type="recently-viewed"] {
  max-width: 1280px !important;
  margin: 0 auto !important;
}
[data-section-type="recently-viewed"] .index-section {
  padding: 32px 24px 56px !important;
}

/* Section heading */
[data-section-type="recently-viewed"] .section-header__title {
  font-family: var(--dean-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--dean-text-muted) !important;
  margin-bottom: 20px !important;
}

/* Hide Flickity nav chrome */
[data-section-type="recently-viewed"] .flickity-page-dots,
[data-section-type="recently-viewed"] .flickity-prev-next-button {
  display: none !important;
}

/* Viewport: must be open so grid can expand */
[data-section-type="recently-viewed"] .flickity-viewport {
  height: auto !important;
  overflow: visible !important;
  position: static !important;
}

/* Flickity-enabled grid: after JS strips it, give it static positioning */
[data-section-type="recently-viewed"] .flickity-enabled {
  /* fallback in case JS hasn't run yet */
}

/* THE GRID — applied once JS adds .dean-rv-grid-ready to .flickity-slider */
.dean-rv-grid-ready {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  /* CRITICAL: align-items:start means each column cell is only as tall
     as the card inside it — rows do NOT force equal heights */
  align-items: start !important;
}

/* Grid cells (.grid__item wrappers Flickity creates) —
   The theme sets height:100% on these which defeats align-items:start.
   Force them back to auto so they shrink to their content. */
.dean-rv-grid-ready > .grid__item,
.dean-rv-grid-ready > [class*="grid__item"],
.dean-rv-grid-ready > * {
  position: static !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;        /* ← kills theme's height:100% */
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: start !important;  /* per-item override as belt-and-suspenders */
}

/* Product cards */
[data-section-type="recently-viewed"] .grid-product {
  border: 1.5px solid var(--dean-border) !important;
  border-radius: var(--dean-radius-lg) !important;
  background: var(--dean-white) !important;
  overflow: hidden !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  margin: 0 !important;
  height: auto !important;       /* ← never stretch to fill parent */
  width: 100% !important;
}
[data-section-type="recently-viewed"] .grid-product:hover {
  border-color: var(--dean-gold) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
}

/* Card image */
[data-section-type="recently-viewed"] .grid-product__image-wrapper,
[data-section-type="recently-viewed"] .grid-product__image-ratio {
  background: #fafafa !important;
}

/* Card text */
[data-section-type="recently-viewed"] .grid-product__meta {
  padding: 10px 12px 12px !important;
}
[data-section-type="recently-viewed"] .grid-product__title {
  font-family: var(--dean-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--dean-text) !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}
[data-section-type="recently-viewed"] .grid-product__price {
  font-family: var(--dean-font-body) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--dean-text) !important;
  margin-top: 4px !important;
}
[data-section-type="recently-viewed"] .grid-product__price--sale {
  color: var(--dean-red) !important;
}

/* Responsive */
@media (max-width: 640px) {
  [data-section-type="recently-viewed"] .index-section {
    padding: 24px 12px 40px !important;
  }
  .dean-rv-grid-ready {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}
@media (min-width: 641px) and (max-width: 960px) {
  .dean-rv-grid-ready {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* =============================================================
   MOBILE POLISH — additional refinements
   ============================================================= */

/* Vendor card: better stacking on small screens */
@media (max-width: 480px) {
  .dean-vendor-card {
    padding: 12px;
    gap: 6px;
  }
  .dean-vendor-card-shop {
    font-size: 13px;
  }
  .dean-vendor-card-label {
    font-size: 11px;
  }
}

/* HC linked products: ensure full width and no overflow on mobile */
@media (max-width: 640px) {
  .dean-linked-wrapper {
    margin-top: 16px;
  }
  .hc-linked-product-selector__select-panel {
    max-height: 200px !important;
    width: 100% !important;
  }
  .hc-linked-product-selector__select-panel a {
    font-size: 13px !important;
    padding: 11px 14px !important;
  }
}

/* Phone CTA: full readable on tiny screens */
@media (max-width: 360px) {
  .dean-phone-cta-title {
    font-size: 13px !important;
  }
  .cta-phone {
    font-size: 13px !important;
  }
}

/* ATC button: prevent overflow on small phones */
@media (max-width: 360px) {
  .dean-atc-btn {
    font-size: 13px !important;
    padding: 14px 16px !important;
    letter-spacing: 0.5px !important;
  }
}

/* Breadcrumb: scroll horizontally on mobile rather than wrap ugly */
@media (max-width: 640px) {
  .dean-breadcrumb {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important;
    scrollbar-width: none;
  }
  .dean-breadcrumb::-webkit-scrollbar { display: none; }
  .dean-breadcrumb-item {
    white-space: nowrap;
    flex-shrink: 0;
  }
}

@media (max-width: 400px) {
  .dean-trust-num { font-size: 24px; }
  .dean-trust-cell { padding: 14px 14px; }
}

/* Product recommendations: smaller cards on mobile */
@media (max-width: 640px) {
  product-recommendations .grid-product__title {
    font-size: 11px !important;
  }
  product-recommendations .grid-product__price {
    font-size: 13px !important;
  }
}

/* Recently-viewed theme section: tighten padding on very small screens */
@media (max-width: 360px) {
  [data-section-type="recently-viewed"] .index-section {
    padding: 16px 8px 32px !important;
  }
  .dean-rv-grid-ready {
    gap: 8px !important;
  }
}

/* =============================================================
   STAMPED.IO WIDGET OVERRIDES
   Reshape Stamped's injected HTML to match the mockup design:
   - Summary: big rating number left + horizontal bar chart right
   - Reviews: auto-fill card grid, white bg, subtle border, 24px padding
   - No Stamped chrome (ads, logo, badge borders)
   ============================================================= */

/* ── Wrapper ── */
#stamped-main-widget,
.stamped-main-widget {
  font-family: var(--dean-font-body) !important;
  color: var(--dean-text) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* ── Summary header row: big number + bars side by side ── */
#stamped-main-widget .stamped-header,
.stamped-header {
  display: flex !important;
  align-items: center !important;
  gap: 32px !important;
  margin-bottom: 32px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid var(--dean-border) !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Big rating number */
#stamped-main-widget .stamped-header-starrating,
.stamped-header-starrating {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  min-width: 80px !important;
}
.stamped-header-starrating .stamped-starrating {
  font-size: 52px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: var(--dean-text) !important;
  font-family: var(--dean-font-body) !important;
}
/* Stars inside summary */
.stamped-header-starrating .stamped-fa-star,
.stamped-header-starrating .stamped-fa-star-o {
  font-size: 18px !important;
  color: var(--dean-gold) !important;
}
.stamped-header-starrating .stamped-label {
  font-size: 12px !important;
  color: var(--dean-text-muted) !important;
  font-family: var(--dean-font-body) !important;
  white-space: nowrap !important;
}

/* Histogram bars */
#stamped-main-widget .stamped-summary,
.stamped-summary {
  flex: 1 !important;
  background: transparent !important;
}
.stamped-summary .stamped-histogram,
.stamped-summary-starrating {
  width: 100% !important;
}
.stamped-summary-starrating-bar-container {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 5px !important;
}
/* Star label */
.stamped-summary-starrating-bar-container .stamped-summary-starrating-label {
  font-size: 12px !important;
  color: var(--dean-text-muted) !important;
  width: 14px !important;
  text-align: right !important;
  flex-shrink: 0 !important;
}
/* Star icon next to label */
.stamped-summary-starrating-bar-container .stamped-fa-star {
  font-size: 11px !important;
  color: var(--dean-gold) !important;
  flex-shrink: 0 !important;
}
/* Bar track */
.stamped-summary-starrating-bar-container .stamped-progress {
  flex: 1 !important;
  height: 6px !important;
  background: var(--dean-bg) !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  border: none !important;
  box-shadow: none !important;
}
/* Bar fill */
.stamped-summary-starrating-bar-container .stamped-progress-bar {
  height: 100% !important;
  background: var(--dean-gold) !important;
  border-radius: 3px !important;
}
/* Percentage label */
.stamped-summary-starrating-bar-container .stamped-summary-starrating-bar-count {
  font-size: 11px !important;
  color: var(--dean-text-muted) !important;
  width: 28px !important;
  flex-shrink: 0 !important;
}

/* ── Action buttons: Ask a Question / Write a Review ── */
.stamped-header-actions,
.stamped-reviews-actions {
  display: flex !important;
  gap: 10px !important;
  margin-left: auto !important;
  align-self: flex-start !important;
}
.stamped-header-actions .btn,
.stamped-header-actions button,
.stamped-reviews-actions .btn,
.stamped-button {
  font-family: var(--dean-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  padding: 9px 16px !important;
  border-radius: var(--dean-radius) !important;
  border: 1.5px solid var(--dean-border) !important;
  background: var(--dean-white) !important;
  color: var(--dean-text) !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  text-transform: none !important;
  box-shadow: none !important;
}
.stamped-header-actions .btn:hover,
.stamped-header-actions button:hover,
.stamped-button:hover {
  border-color: var(--dean-gold) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

/* ── Tabs: Reviews N / Questions N ── */
.stamped-tabs-nav {
  border-bottom: 1.5px solid var(--dean-border) !important;
  margin-bottom: 24px !important;
  display: flex !important;
  gap: 0 !important;
}
.stamped-tabs-nav .stamped-tab {
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--dean-text-muted) !important;
  padding: 10px 20px !important;
  border-bottom: 2px solid transparent !important;
  cursor: pointer !important;
  background: transparent !important;
  transition: color 0.2s ease, border-color 0.2s ease !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.stamped-tabs-nav .stamped-tab.active,
.stamped-tabs-nav .stamped-tab[aria-selected="true"] {
  color: var(--dean-text) !important;
  border-bottom-color: var(--dean-gold) !important;
  font-weight: 600 !important;
}

/* Sort dropdown */
.stamped-sort-select,
.stamped-reviews-filter select {
  font-family: var(--dean-font-body) !important;
  font-size: 12px !important;
  border: 1px solid var(--dean-border) !important;
  border-radius: var(--dean-radius) !important;
  padding: 7px 12px !important;
  background: var(--dean-white) !important;
  color: var(--dean-text) !important;
  appearance: auto !important;
}

/* ── Review cards grid ── */
#stamped-main-widget .stamped-reviews-widget,
.stamped-reviews-widget {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 16px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#stamped-main-widget .stamped-review,
.stamped-review {
  background: var(--dean-white) !important;
  border-radius: var(--dean-radius-lg) !important;
  padding: 24px !important;
  border: 1px solid var(--dean-border) !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
#stamped-main-widget .stamped-review:hover,
.stamped-review:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,0.06) !important;
  border-color: #D5D5D0 !important;
}

/* Review header: stars + date */
.stamped-review-header,
.stamped-review .review-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 10px !important;
}
/* Stars in card */
.stamped-review .stamped-starrating,
.stamped-review .stamped-rating {
  display: flex !important;
  gap: 2px !important;
}
.stamped-review .stamped-fa-star,
.stamped-review .stamped-fa-star-half-o {
  color: var(--dean-gold) !important;
  font-size: 14px !important;
}
.stamped-review .stamped-fa-star-o {
  color: var(--dean-border) !important;
  font-size: 14px !important;
}
/* Date */
.stamped-review .stamped-review-date,
.stamped-review .created-at {
  font-size: 11px !important;
  color: var(--dean-text-muted) !important;
  font-family: var(--dean-font-body) !important;
}

/* Review title */
.stamped-review .stamped-review-header-title,
.stamped-review .review-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--dean-text) !important;
  font-family: var(--dean-font-body) !important;
  margin-bottom: 6px !important;
  font-style: normal !important;
}
/* Review body text */
.stamped-review .stamped-review-content-body,
.stamped-review .review-content,
.stamped-review p {
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #444 !important;
  font-family: var(--dean-font-body) !important;
  margin-bottom: 14px !important;
  font-style: italic !important;
}
/* Reviewer name */
.stamped-review .stamped-review-header-byline strong,
.stamped-review .author,
.stamped-review .stamped-author-name {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--dean-text) !important;
  font-family: var(--dean-font-body) !important;
}
/* Reviewer badge/location */
.stamped-review .stamped-review-header-byline span,
.stamped-review .stamped-author-location,
.stamped-review .stamped-verified-badge {
  font-size: 12px !important;
  color: var(--dean-text-muted) !important;
  font-family: var(--dean-font-body) !important;
}
/* Verified buyer badge — make it subtle */
.stamped-badge-verified {
  font-size: 11px !important;
  color: var(--dean-green) !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

/* Review footer: share + helpful */
.stamped-review-footer,
.stamped-review .review-footer {
  margin-top: auto !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--dean-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 12px !important;
  color: var(--dean-text-muted) !important;
  font-family: var(--dean-font-body) !important;
}

/* Hide Stamped branding / powered-by */
.stamped-powered-by,
.stamped-widget-badge,
.stamped-logo,
[class*="stamped-powered"],
[class*="stamped-branding"] {
  display: none !important;
}

/* Mobile: single column */
@media (max-width: 640px) {
  .stamped-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
  }
  .stamped-header-actions {
    margin-left: 0 !important;
    width: 100% !important;
  }
  .stamped-header-actions .btn,
  .stamped-header-actions button {
    flex: 1 !important;
    text-align: center !important;
  }
  #stamped-main-widget .stamped-reviews-widget,
  .stamped-reviews-widget {
    grid-template-columns: 1fr !important;
  }
}

/* =============================================================
   STAMPED COLOR CORRECTIONS — force Dean gold (#C8971B) everywhere
   Stamped hardcodes its own yellow via inline styles and CSS vars.
   These overrides ensure the bar fills, stars, and accents all
   match --dean-gold exactly.
   ============================================================= */

/* Star icons — all contexts */
.stamped-fa-star,
.stamped-fa-star-half-o,
.stamped-icon-star,
[class*="stamped"] .fa-star,
.stamped-starrating i,
.stamped-rating-avg i {
  color: #C8971B !important;
}

/* Progress bar fills */
.stamped-progress-bar,
.stamped-bar-fill,
[class*="stamped"] .progress-bar,
.stamped-histogram-bar,
.stamped-reviews-filter .progress-bar {
  background-color: #C8971B !important;
  background: #C8971B !important;
}

/* Any Stamped element with inline color/background matching their yellow */
/* (Stamped sometimes uses inline style="background:#f5a623" or similar) */
.stamped-container [style*="background:#f5a623"],
.stamped-container [style*="background: #f5a623"],
.stamped-container [style*="background-color:#f5a623"],
.stamped-container [style*="background-color: #f5a623"],
.stamped-container [style*="color:#f5a623"],
.stamped-container [style*="color: #f5a623"] {
  background-color: #C8971B !important;
  color: #C8971B !important;
}

/* "Customer Reviews" heading — tone it down to match our style */
.stamped-header-title,
.stamped-container > h2,
#stamped-main-widget > h2,
.stamped-reviews-header h2,
.stamped-container .stamped-header-title {
  font-family: var(--dean-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--dean-text-muted) !important;
  margin-bottom: 20px !important;
}

/* Fix the double-border on Stamped header */
.stamped-container {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* Confirmed Stamped bar class from live DOM inspection */
.summary-rating-bar-content {
  background-color: #C8971B !important;
  background: #C8971B !important;
}

/* =============================================================
   STAMPED FILTER BAR — hide extras, keep only sort
   Stamped renders several dropdowns: sort, rating filter, media
   filter, verified filter. The extras add noise — hide all but
   the sort select. Also fix the container layout so it sits
   cleanly on one line to the right.
   ============================================================= */

/* Reviews filter bar — show only sort, hide everything else */
.stamped-reviews-filter,
.stamped-container .stamped-reviews-filter,
#stamped-main-widget .stamped-reviews-filter,
.stamped-reviews-toolbar,
.stamped-container .stamped-reviews-toolbar,
#stamped-main-widget .stamped-reviews-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
  flex-wrap: nowrap !important;
}

/* Nuke ALL child elements first */
.stamped-reviews-filter > *,
.stamped-reviews-toolbar > * {
  display: none !important;
}

/* Resurrect ONLY the sort select — always first select in the filter bar */
.stamped-reviews-filter > select:first-of-type,
.stamped-reviews-filter select[name*="sort"],
.stamped-reviews-filter select[id*="sort"],
.stamped-reviews-toolbar .stamped-sort-select,
.stamped-reviews-toolbar select:first-of-type {
  display: inline-block !important;
  font-family: var(--dean-font-body) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--dean-text) !important;
  background: var(--dean-white) !important;
  border: 1px solid var(--dean-border) !important;
  border-radius: var(--dean-radius) !important;
  padding: 7px 28px 7px 12px !important;
  appearance: auto !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease !important;
  min-width: 120px !important;
}
.stamped-reviews-filter > select:first-of-type:hover,
.stamped-reviews-toolbar select:first-of-type:hover {
  border-color: var(--dean-gold) !important;
}

/* Plytix: specs now rendered via Liquid metafields loop — no JS injection needed */

/* =============================================================
   MOBILE-FIRST CRO OVERHAUL
   Target: best-in-class mobile product page
   Reference: Webstaurant UX patterns + conversion research
   - Image first, price immediate, ATC always visible
   - Sticky bar polished, thumb-friendly touch targets
   - Information hierarchy: image → price → ATC → trust → details
   ============================================================= */

@media (max-width: 768px) {

  /* ── Layout: single column, image top ── */
  .dean-product-grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .dean-product-images {
    position: static !important;
    margin-bottom: 0 !important;
  }
  .dean-product-info {
    padding: 0 !important;
  }
  .dean-product-hero {
    padding: 0 0 40px !important;
  }

  /* ── Main image: edge-to-edge on mobile ── */
  .dean-main-image {
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    aspect-ratio: 1 !important;
  }

  /* ── Thumbnails: compact scrollable strip ── */
  .dean-thumbnails {
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto !important;
    padding: 10px 16px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    background: white !important;
    border-bottom: 1px solid var(--dean-border) !important;
  }
  .dean-thumbnails::-webkit-scrollbar { display: none !important; }
  .dean-thumb {
    width: 56px !important;
    height: 56px !important;
    flex-shrink: 0 !important;
    border-radius: 6px !important;
  }

  /* ── Product info: proper padding ── */
  .dean-product-info {
    padding: 20px 16px 0 !important;
  }

  /* ── Title: readable but not huge ── */
  .dean-product-title {
    font-size: 21px !important;
    line-height: 1.3 !important;
    margin-bottom: 10px !important;
  }

  /* ── Meta row: stars + SKU compact ── */
  .dean-meta-row {
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin-bottom: 14px !important;
    font-size: 12px !important;
  }

  /* ── Price: bold and prominent ── */
  .dean-price-current {
    font-size: 30px !important;
    letter-spacing: -0.5px !important;
  }
  .dean-price-block {
    margin-bottom: 16px !important;
  }

  /* ── Highlights: compact ── */
  .dean-highlights {
    padding: 12px 14px !important;
    margin-bottom: 16px !important;
    gap: 6px !important;
  }
  .dean-highlight-item {
    font-size: 12px !important;
    gap: 8px !important;
  }

  /* ── Variants: larger touch targets ── */
  .dean-variant-opt {
    padding: 12px 14px !important;
    font-size: 13px !important;
    min-height: 52px !important;
  }
  .dean-variants {
    gap: 8px !important;
    margin-bottom: 16px !important;
  }

  /* ── ATC row: full width, tall touch target ── */
  .dean-atc-row {
    gap: 10px !important;
    margin-bottom: 12px !important;
  }
  .dean-atc-btn {
    font-size: 14px !important;
    padding: 18px 20px !important;
    letter-spacing: 1.5px !important;
  }
  .dean-qty-selector {
    min-width: 110px !important;
  }
  .dean-qty-btn {
    width: 40px !important;
    height: 56px !important;
    font-size: 22px !important;
  }
  .dean-qty-value {
    font-size: 16px !important;
    min-width: 32px !important;
    padding: 0 10px !important;
  }

  /* ── Stock row: small and clean ── */
  .dean-stock-row {
    font-size: 12px !important;
    margin-bottom: 14px !important;
    gap: 6px !important;
  }

  /* ── Phone CTA: full width card ── */
  .dean-phone-cta {
    padding: 14px 16px !important;
    margin-bottom: 12px !important;
    border-radius: var(--dean-radius) !important;
  }
  .dean-phone-title {
    font-size: 11px !important;
  }
  .dean-phone-link {
    font-size: 14px !important;
  }

  /* ── FBT: tighter on mobile ── */
  .dean-fbt-section {
    margin-top: 16px !important;
  }

  /* ── Linked products: scrollable row ── */
  .dean-linked-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 -16px !important;
    padding: 0 16px !important;
  }

  /* ── Vendor card: compact ── */
  .dean-vendor-card {
    padding: 12px 14px !important;
    gap: 10px !important;
  }
  .dean-vendor-card-img {
    max-height: 28px !important;
  }
  .dean-vendor-card-shop {
    font-size: 12px !important;
  }
  .dean-vendor-card-label {
    font-size: 11px !important;
  }

  /* ── Tabs: scrollable, no wrap ── */
  .dean-tabs-nav {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 4px !important;
  }
  .dean-tabs-nav::-webkit-scrollbar { display: none !important; }
  .dean-tab-btn {
    white-space: nowrap !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
  }

  /* ── Tab content: breathing room ── */
  .dean-tab-panel {
    padding: 24px 16px !important;
  }

  /* ── Trust strip: 2x2 grid ── */
  .dean-trust-strip-wrap {
    padding: 32px 16px !important;
  }
  .dean-trust-strip {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 100% !important;
  }
  .dean-trust-cell {
    padding: 20px 20px !important;
  }
  .dean-trust-cell:nth-child(2) { border-right: none !important; }
  .dean-trust-cell:nth-child(3) { border-top: 1px solid #E2D0B0 !important; }
  .dean-trust-cell:nth-child(4) {
    border-right: none !important;
    border-top: 1px solid #E2D0B0 !important;
  }
  .dean-trust-num { font-size: 30px !important; }

  /* ── Recently viewed: 2 columns ── */
  .dean-rv-grid-ready {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* ── Breadcrumb: compact, scroll if long ── */
  .dean-breadcrumb {
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow-x: auto !important;
    padding: 10px 16px !important;
    scrollbar-width: none !important;
  }
  .dean-breadcrumb::-webkit-scrollbar { display: none !important; }
}

/* ── Sticky ATC bar: polished mobile experience ── */
@media (max-width: 768px) {
  .dean-sticky-bar {
    display: flex !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    padding: 12px 16px !important;
    padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
    background: rgba(255,252,248,0.97) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-top: 1px solid var(--dean-border) !important;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.08) !important;
    z-index: 9999 !important;
  }
  /* Push Gorgias chat bubble above sticky ATC bar */
  #gorgias-chat-container, #chat-button, [id*="gorgias"], [class*="gorgias"] {
    bottom: 80px !important;
  }
  .dean-sticky-inner {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .dean-sticky-bar .dean-atc-btn {
    flex: 1 !important;
    padding: 15px 20px !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
    height: 50px !important;
  }
}

/* ── Extra small: 375px and below ── */
@media (max-width: 375px) {
  .dean-product-title { font-size: 19px !important; }
  .dean-price-current { font-size: 26px !important; }
  .dean-trust-num { font-size: 26px !important; }
  .dean-trust-cell { padding: 16px 14px !important; }
  .dean-atc-btn { font-size: 13px !important; letter-spacing: 1px !important; }
}

/* =============================================================
   DESC + SPECS SIDE BY SIDE — v28
   Description left, specs right, always visible
   ============================================================= */
.dean-content-section {
  padding: 0 var(--dean-page-padding, 40px) 40px;
  max-width: var(--dean-page-max, 1360px);
  margin: 0 auto;
}

.dean-desc-specs-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  padding: 48px 0 40px;
  /* No border-bottom — prop65 and FAQ follow directly */
}

.dean-desc-col,
.dean-specs-col {}

.dean-content-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--dean-text-muted);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--dean-gold);
}
.dean-content-heading svg {
  color: var(--dean-gold);
  flex-shrink: 0;
}

/* ── Standalone sections (Reviews, FAQ, Resources) ── */
.dean-standalone-section {
  padding: 40px 0;
  border-bottom: 1px solid var(--dean-border);
}
.dean-standalone-section:last-of-type {
  border-bottom: none;
}

.dean-standalone-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--dean-text-muted);
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--dean-gold);
}
.dean-standalone-heading svg {
  color: var(--dean-gold);
  flex-shrink: 0;
}
.dean-standalone-count {
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  font-size: 12px;
  color: var(--dean-text-muted);
  margin-left: 4px;
}

/* FAQ section distinct background */
.dean-standalone-section--faq {
  background: var(--dean-bg, #F3F0EB);
  border-radius: var(--dean-radius-lg);
  padding: 32px 36px;
  margin-bottom: 24px;
  border-bottom: none;
  border: 1px solid var(--dean-border);
}

/* Resources section distinct background */
.dean-standalone-section--resources {
  /* No special card treatment — blends with other standalone sections */
}

/* ── Tablet (769–1080px): reduce gap, tighten columns ── */
@media (max-width: 1080px) {
  .dean-desc-specs-grid {
    gap: 32px;
  }
  .dean-content-section {
    padding: 0 24px 40px;
  }
}

/* ── Tablet (769–900px): switch to single column early ── */
@media (max-width: 900px) {
  .dean-desc-specs-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 32px 0;
    border-bottom: none;
  }
  .dean-desc-col {
    padding: 0 0 28px;
    border-bottom: 1px solid var(--dean-border);
    margin-bottom: 28px;
  }
  .dean-specs-col {
    padding: 0;
  }
  .dean-content-section {
    padding: 0 24px 32px;
  }
}

/* ── Mobile (≤768px): full mobile treatment ── */
@media (max-width: 768px) {
  .dean-content-section {
    padding: 0 16px 32px;
  }
  .dean-desc-specs-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 24px 0;
    border-bottom: none;
  }
  .dean-desc-col {
    padding: 0 0 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid var(--dean-border);
  }
  .dean-specs-col {
    padding: 0;
  }

  /* Standalone sections tighter on mobile */
  .dean-standalone-section {
    padding: 24px 0;
  }
  .dean-standalone-section--faq,
  .dean-standalone-section--resources {
    padding: 20px 16px;
    margin-bottom: 12px;
    border-radius: var(--dean-radius);
  }

  /* Spec rows on mobile — keep horizontal, just narrow the label */
  .dean-spec-row {
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
    padding: 7px 0;
  }
  .dean-spec-label {
    flex: 0 0 110px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--dean-text-muted);
  }
  .dean-spec-value {
    flex: 1;
    font-size: 13px;
  }

  /* Trust strip 2-col on mobile */
  .dean-trust-strip-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Small mobile (≤480px) ── */
@media (max-width: 480px) {
  .dean-content-section {
    padding: 0 12px 24px;
  }
  .dean-desc-specs-grid {
    padding: 16px 0;
  }
  .dean-trust-strip-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
}

/* =============================================================
   PREMIUM GOLD CHECKMARK BULLETS
   Replace default disc bullets in product description
   ============================================================= */
.dean-description ul,
.dean-description ol {
  padding-left: 0;
  list-style: none;
  margin: 12px 0;
}
.dean-description ul li,
.dean-description ol li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.6;
}
.dean-description ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 14px;
  height: 14px;
  background-color: transparent;
  /* Gold SVG checkmark via mask */
  background-color: var(--dean-gold);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  flex-shrink: 0;
}
.dean-description ol {
  counter-reset: dean-ol;
  list-style: none;
}
.dean-description ol li::before {
  content: counter(dean-ol);
  counter-increment: dean-ol;
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  background: var(--dean-gold);
  color: white;
  font-size: 10px;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--dean-gold);
  -webkit-mask-image: none;
  mask-image: none;
  line-height: 1;
  text-align: center;
}

/* =============================================================
   SHOPIFY NATIVE PRODUCT REVIEWS (SPR)
   Overrides the default blue button and generic typography
   ============================================================= */
#shopify-product-reviews,
.spr-container {
  padding: 0 !important;
  border: none !important;
}
.spr-header-title {
  font-family: var(--dean-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--dean-text-muted) !important;
}
.spr-summary-caption,
.spr-summary-starrating {
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  color: var(--dean-text-muted) !important;
}
/* The blue button — nuke it */
.spr-button,
.spr-button-primary,
.spr-summary-actions-newreview,
a.spr-button,
button.spr-button {
  background: var(--dean-white) !important;
  background-color: var(--dean-white) !important;
  color: var(--dean-text) !important;
  border: 1.5px solid var(--dean-border) !important;
  border-radius: var(--dean-radius) !important;
  font-family: var(--dean-font-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  padding: 9px 18px !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: border-color 0.2s ease !important;
  cursor: pointer !important;
}
.spr-button:hover,
.spr-button-primary:hover,
.spr-summary-actions-newreview:hover {
  background: var(--dean-white) !important;
  border-color: var(--dean-gold) !important;
  color: var(--dean-text) !important;
}
.spr-review-header-starratings .spr-icon-star,
.spr-icon-star-full,
.spr-icon-star-half {
  color: var(--dean-gold) !important;
}
.spr-review {
  border-bottom: 1px solid var(--dean-border-light) !important;
  padding: 20px 0 !important;
}
.spr-review-header-title {
  font-family: var(--dean-font-body) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: var(--dean-text) !important;
}
.spr-review-content-body {
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  color: var(--dean-text-secondary, #4a4740) !important;
  line-height: 1.6 !important;
}
.spr-review-header-byline {
  font-size: 11px !important;
  color: var(--dean-text-muted) !important;
}
/* Review form */
.spr-form-input,
.spr-form-select,
.spr-form-textarea {
  border: 1.5px solid var(--dean-border) !important;
  border-radius: var(--dean-radius) !important;
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  padding: 10px 12px !important;
  background: var(--dean-white) !important;
  color: var(--dean-text) !important;
}
.spr-form-input:focus,
.spr-form-textarea:focus {
  border-color: var(--dean-gold) !important;
  outline: none !important;
}

/* HC color swatch [style] elements — layout handled by .hc-linked-product-selector__color-swatches rules above */

/* =============================================================
   SPECS TABLE — alternating row highlight
   ============================================================= */
.dean-specs .dean-spec-row:nth-child(even) {
  background: rgba(200, 151, 27, 0.04);
}
.dean-specs .dean-spec-row:nth-child(odd) {
  background: transparent;
}
.dean-specs .dean-spec-row:first-child {
  border-top: 1px solid var(--dean-border-light, #EDE8E1);
}

/* =============================================================
   AFTER-HOURS — compact nudge in hero, full form below
   ============================================================= */

/* Nudge link in the hero dark box */
.dean-phone-link--afterhours {
  font-size: 13px !important;
  color: var(--dean-gold) !important;
  text-decoration: none !important;
  font-style: italic;
  opacity: 0.9;
  transition: opacity 0.2s ease;
}
.dean-phone-link--afterhours:hover {
  opacity: 1;
  text-decoration: underline !important;
}

/* Ask a Question — always-visible toggle button + expanding form */
.dean-standalone-section--ask {
  padding: 32px 0;
  border-top: 1px solid var(--dean-border);
}

.dean-ask-question-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: white;
  border: 1.5px solid var(--dean-border);
  border-radius: var(--dean-radius);
  padding: 12px 20px;
  font-family: var(--dean-font-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--dean-text);
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.dean-ask-question-btn:hover,
.dean-ask-question-btn.dean-ask-open {
  border-color: var(--dean-gold);
  box-shadow: 0 0 0 3px rgba(var(--dean-gold-rgb, 185,148,66), 0.1);
}
.dean-ask-question-btn svg {
  color: var(--dean-gold);
}

.dean-ask-form-expand {
  margin-top: 20px;
  max-width: 560px;
}

.dean-ask-sub {
  font-family: var(--dean-font-body);
  font-size: 13px;
  color: var(--dean-text-muted);
  margin: 0 0 16px;
  line-height: 1.6;
}

.dean-afterhours-form-inline {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 560px;
}

.dean-afterhours-input-inline,
.dean-afterhours-textarea-inline {
  background: white !important;
  border: 1.5px solid var(--dean-border) !important;
  border-radius: var(--dean-radius) !important;
  color: var(--dean-text) !important;
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  padding: 10px 14px !important;
  outline: none !important;
  transition: border-color 0.2s ease !important;
  resize: none !important;
  width: 100% !important;
}
.dean-afterhours-input-inline::placeholder,
.dean-afterhours-textarea-inline::placeholder {
  color: var(--dean-text-muted) !important;
}
.dean-afterhours-input-inline:focus,
.dean-afterhours-textarea-inline:focus {
  border-color: var(--dean-gold) !important;
}

.dean-afterhours-submit-inline {
  background: var(--dean-gold) !important;
  color: #17150F !important;
  border: none !important;
  border-radius: var(--dean-radius) !important;
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 12px 20px !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
  text-align: center !important;
  align-self: flex-start;
}
.dean-afterhours-submit-inline:hover { opacity: 0.88 !important; }

.dean-afterhours-thanks-inline {
  font-family: var(--dean-font-body);
  font-size: 13px;
  color: #2D7A4F;
  font-weight: 500;
  margin-top: 8px;
}

@media (max-width: 768px) {
  .dean-standalone-section--afterhours {
    padding: 24px 20px;
  }
  .dean-afterhours-submit-inline {
    align-self: stretch;
  }
}

/* dean-color-swatches rules consolidated above with hc-linked-product-selector__color-swatches */

/* =============================================================
   FAQ ACCORDIONS SECTION — seamless integration
   Strips the box, matches page content flow
   ============================================================= */

/* ── FAQ: override ALL Expanse global styles on .accordions-section ──
   The theme CSS, rich-text--container, productgrid--outer, and the section's
   own injected <style> all fight us. Win at every level. */

/* 1. Shopify section wrapper */
[id*="shopify-section"][id*="a2435383"] {
  background: var(--dean-bg, #FAFAF7) !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 2. The .accordions-section div — Expanse global CSS may add padding here */
.accordions-section {
  background: var(--dean-bg, #FAFAF7) !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  /* Expanse uses these vars for container padding — zero them out */
  --page-width-padding: 0px !important;
  --section-padding: 0px !important;
}

/* 3. #accordions inner div — set our own padding */
.accordions-section #accordions {
  padding: 40px 40px !important;
  max-width: 1360px !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

@media screen and (max-width: 768px) {
  .accordions-section #accordions {
    padding: 24px 20px !important;
  }
}

/* Section heading — strip section's own border, use our style */
.accordions-section #accordions h2.title,
.accordions-section #accordions > h2 {
  font-family: var(--dean-font-body) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--dean-text-muted) !important;
  border: none !important;
  border-bottom: 2px solid var(--dean-gold) !important;
  padding-bottom: 12px !important;
  margin-bottom: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Each accordion item — clean separator lines, no box */
.accordions-section .accordion-box {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--dean-border-light, #EDE8E1) !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.accordions-section .accordion-box:first-of-type {
  border-top: 1px solid var(--dean-border-light, #EDE8E1) !important;
}

/* Override section's own inline border styles on h3 */
.accordions-section .accordion h3 {
  border: none !important;
  border-bottom: none !important;
  background: transparent !important;
  margin: 0 !important;
}

/* Question link */
.accordions-section .accordion h3 a {
  font-family: var(--dean-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--dean-text) !important;
  padding: 18px 0 !important;
  text-decoration: none !important;
}
.accordions-section .accordion h3 a:hover {
  color: var(--dean-gold) !important;
}

/* Answer body */
.accordions-section [itemprop="text"] .rte,
.accordions-section [data-accordion-target] .rte {
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  color: var(--dean-text-secondary, #4a4740) !important;
  line-height: 1.7 !important;
}

/* Answer container — no border */
.accordions-section [data-accordion-target] {
  border: none !important;
  background: transparent !important;
}

/* Toggle icon — gold */
.accordions-section .accordion-icon:after {
  filter: invert(68%) sepia(43%) saturate(563%) hue-rotate(1deg) brightness(97%) contrast(87%) !important;
}

/* Tighten trust strip vertical breathing room */
.dean-trust-strip-wrap {
  padding: 32px 0 !important;
}

/* =============================================================
   PDF THUMBNAIL RESOURCE CARDS — v34
   ============================================================= */
.dean-docs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 16px;
  margin-top: 8px;
}

.dean-doc-card {
  display: flex;
  flex-direction: column;
  text-decoration: none !important;
  border: 1.5px solid var(--dean-border, #E5E0D9);
  border-radius: var(--dean-radius-lg, 10px);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  background: white;
}
.dean-doc-card:hover {
  border-color: var(--dean-gold);
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

/* Thumbnail area */
.dean-doc-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 8.5 / 11;
  background: #F8F5F0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dean-doc-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.dean-doc-thumb-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F8F5F0;
}

/* PDF badge pill */
.dean-doc-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  background: var(--dean-gold);
  color: #17150F;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.8px;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: var(--dean-font-body);
}

/* Label + download row */
.dean-doc-info {
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border-top: 1px solid var(--dean-border-light, #EDE8E1);
}
.dean-doc-name {
  font-family: var(--dean-font-body);
  font-size: 12px;
  font-weight: 600;
  color: var(--dean-text);
  line-height: 1.3;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dean-doc-action {
  font-family: var(--dean-font-body);
  font-size: 10px;
  font-weight: 500;
  color: var(--dean-gold);
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 3px;
}

/* =============================================================
   ASK A QUESTION — Webstaurant-style prominent CTA
   Stamped renders #stamped-qa-new-question and .stamped-ask-question
   ============================================================= */

/* Wrapper container */
.stamped-qa,
#stamped-qa {
  margin-top: 0 !important;
}

/* The prominent "Ask a Question" invite banner */
.dean-ask-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: var(--dean-bg, #F3F0EB);
  border: 1.5px solid var(--dean-border, #E5E0D9);
  border-radius: var(--dean-radius-lg, 10px);
  padding: 20px 24px;
  margin-bottom: 24px;
}
.dean-ask-banner-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dean-ask-banner-title {
  font-family: var(--dean-font-body);
  font-size: 15px;
  font-weight: 700;
  color: var(--dean-text);
}
.dean-ask-banner-sub {
  font-family: var(--dean-font-body);
  font-size: 12px;
  color: var(--dean-text-muted);
  line-height: 1.5;
}
.dean-ask-banner-btn {
  flex-shrink: 0;
  background: var(--dean-gold) !important;
  color: #17150F !important;
  border: none !important;
  border-radius: var(--dean-radius) !important;
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  padding: 11px 20px !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
  white-space: nowrap;
}
.dean-ask-banner-btn:hover { opacity: 0.88 !important; }

/* Override Stamped's own ask button to be invisible (we replace it) */
.stamped-qa-new-question,
#stamped-qa .stamped-qa-new-question,
button.stamped-qa-new-question {
  display: none !important;
}

/* Stamped Q&A list items */
.stamped-qa-question {
  border-bottom: 1px solid var(--dean-border-light, #EDE8E1) !important;
  padding: 16px 0 !important;
}
.stamped-qa-question-title,
.stamped-qa-question h3 {
  font-family: var(--dean-font-body) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--dean-text) !important;
}
.stamped-qa-answer-body,
.stamped-qa-question p {
  font-family: var(--dean-font-body) !important;
  font-size: 13px !important;
  color: var(--dean-text-secondary, #4a4740) !important;
  line-height: 1.6 !important;
}

@media (max-width: 768px) {
  .dean-ask-banner {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .dean-ask-banner-btn {
    width: 100% !important;
    text-align: center !important;
  }
  .dean-docs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =============================================================
   FAQ MOVED STATE — when JS repositions it above reviews
   ============================================================= */
.dean-faq-moved {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.dean-faq-moved .accordions-section {
  padding: 0 !important;
  border: none !important;
}
/* FAQ inside tabs — no border, sits directly under prop65 */
.dean-faq-moved #accordions {
  padding: 24px 0 0 !important;
  border-top: none !important;
}

/* FAQ heading icon — prepend via CSS pseudo using a Q-bubble SVG */
.accordions-section #accordions h2.title::before,
.accordions-section #accordions > h2::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C8971B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Ccircle cx='12' cy='10' r='1' fill='%23C8971B' stroke='none'/%3E%3Ccircle cx='8' cy='10' r='1' fill='%23C8971B' stroke='none'/%3E%3Ccircle cx='16' cy='10' r='1' fill='%23C8971B' stroke='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

/* =============================================================
   PROP65 MOVED STATE — when JS repositions it under description
   ============================================================= */
.dean-prop65-before-faq,
.dean-prop65-moved {
  display: block !important;
  border: none !important;
  box-shadow: none !important;
}
.dean-prop65-before-faq .product-prop65-warning,
.dean-prop65-moved .product-prop65-warning {
  padding: 0 0 24px !important;
  margin: 0 !important;
  max-width: 100% !important;
}
/* Strip horizontal padding — .dean-content-section handles that.
   Keep vertical so icon doesn't touch the border. */
.dean-prop65-before-faq .product-prop65-warning .page-width,
.dean-prop65-moved .product-prop65-warning .page-width {
  max-width: 100% !important;
  padding: 12px 20px !important;
}

/* #accordions lives inside .dean-content-section which already has 40px padding.
   Zero it out so there's no double-indent. */
#accordions,
#accordions.dean-faq-accordions {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}


/* =============================================================
   STAMPED REVIEW HEADER — mobile layout fix
   Default layout crams avatar/date/name/badge/location/stars
   all in one row which wraps badly on narrow screens.
   ============================================================= */
.stamped-review-header {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px 10px !important;
  row-gap: 4px !important;
}

/* Avatar — fixed size, don't shrink */
.stamped-review-header .stamped-review-avatar {
  flex-shrink: 0 !important;
  width: 36px !important;
  height: 36px !important;
}

/* Stars — always on its own line on mobile */
.stamped-review-header .stamped-starratings {
  flex-basis: 100% !important;
  order: 10 !important; /* push stars below name/meta row */
}

/* On tablet and up — stars back inline */
@media screen and (min-width: 600px) {
  .stamped-review-header .stamped-starratings {
    flex-basis: auto !important;
    order: unset !important;
  }
}

/* Author name — bold, no wrap */
.stamped-review-header .author {
  font-weight: 700 !important;
  white-space: nowrap !important;
}

/* Date — muted */
.stamped-review-header .created {
  color: var(--dean-text-muted) !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}

/* Location — compact on mobile */
.stamped-review-header .review-location {
  font-size: 11px !important;
  color: var(--dean-text-muted) !important;
  white-space: nowrap !important;
}

@media screen and (max-width: 480px) {
  /* On very small screens, stack date+name on one line, location hidden or second line */
  .stamped-review-header .review-location {
    display: none !important;
  }
  .stamped-review-header .stamped-verified-badge {
    display: none !important;
  }
}
/* =============================================================
   COLOR SWATCH TOOLTIP
   Shows color name on hover for accessibility / color blindness
   ============================================================= */
.dean-color-swatches li a,
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel li a {
  position: relative !important;
}

.dean-swatch-tooltip {
  position: absolute !important;
  bottom: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: var(--dean-navy, #1a1f36) !important;
  color: #fff !important;
  font-family: var(--dean-font-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transition: opacity 0.15s ease !important;
  z-index: 100 !important;
}

/* Tooltip arrow */
.dean-swatch-tooltip::after {
  content: '' !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border: 4px solid transparent !important;
  border-top-color: var(--dean-navy, #1a1f36) !important;
}

/* Show on hover */
.dean-color-swatches li a:hover .dean-swatch-tooltip,
.hc-linked-product-selector__color-swatches .hc-linked-product-selector__select-panel li a:hover .dean-swatch-tooltip {
  opacity: 1 !important;
}

/* White swatch needs a border so it's visible */
.dean-color-swatches li a[style*="#ffffff"],
.dean-color-swatches li a[style*="#fffff"] {
  box-shadow: 0 0 0 1.5px rgba(0,0,0,0.2) !important;
}


/* ShopAtDean vendor — larger logo, different scale */
.dean-vendor-card-img[alt="ShopAtDean"],
.dean-vendor-card-img[alt="ShopAtDean, Inc."],
.dean-vendor-card-img[alt="Shop at Dean"] {
  max-height: 48px !important;
  max-width: 180px !important;
}
