*{box-sizing:border-box;margin:0;padding:0}
:root{
  --site-width:1280px;
  --content-padding:32px;
  --section-padding:32px;
  --section-margin:28px;
  /* Brand (links, key rules) — keep purple as accent, not full-page wash */
  --oc-purple:#5B0082;
  --oc-magenta:#C026D3;
  --oc-gradient:linear-gradient(135deg, #5B0082 0%, #7C3AED 40%, #C026D3 100%);
  --oc-gradient-subtle:linear-gradient(135deg, rgba(91,0,130,0.04) 0%, rgba(124,58,237,0.04) 100%);
  --oc-yellow:#FFCC00;
  --oc-yellow-dark:#1f2937;
  --oc-dark:#212B36;
  --oc-nav:var(--oc-purple);
  --oc-nav-soft:rgba(91,0,130,0.06);
  --oc-link:#5B0082;
  --oc-link-hover:#4c006b;
  --oc-accent:var(--oc-magenta);
  --oc-accent-soft:rgba(192,38,211,0.08);
  --oc-cta:var(--oc-yellow);
  --oc-cta-hover:#E6B800;
  /* Retail-neutral surfaces (affiliate PDP — photo-led canvas) */
  --surface-page:#f4f4f5;
  --surface-card:#ffffff;
  --surface-muted:#f9fafb;
  --oc-bg:var(--surface-page);
  --oc-white:var(--surface-card);
  --oc-ink:#111827;
  --oc-ink2:#4b5563;
  --oc-ink3:#6b7280;
  --oc-border:#e5e7eb;
  --oc-green:#059669;
  --oc-green-soft:rgba(5,150,105,0.1);
  --star-fill:#f59e0b;
  --star-empty:#e5e7eb;
  --header-font:'DM Sans',Inter,-apple-system,sans-serif;
  --body-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --section-label:0.6875rem;
  --section-label-spacing:0.08em;
  --radius-sm:6px;
  --radius-md:8px;
  --radius-lg:12px;
  --shadow-card:0 1px 3px rgba(0,0,0,0.06);
  --shadow-card-hover:0 8px 24px rgba(0,0,0,0.08);
  --shadow-cta:0 2px 8px rgba(91,0,130,0.15);
  /* Sticky `.page-subnav` offset — hash jumps + overlap with hero controls */
  --page-subnav-sticky-pad:56px;
}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-padding-top:var(--page-subnav-sticky-pad)}
body{font-family:var(--body-font);color:var(--oc-ink);background:var(--surface-page);font-size:16px;line-height:1.6;letter-spacing:0.01em}
.oc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Tabular numbers for prices and stats (Content Egg / e‑commerce polish) */
.price-now,.price-was,.hero-right .savings,.price-table td strong,.carousel .card .price,.compare-card .price,.big-rating,.review-count,.rating-bars .row span:last-child,
.chart-legend span{font-variant-numeric:tabular-nums}

/* SVG star row — mirrors CE rating_widget styling; replace markup when CE outputs its HTML */
.oc-stars{display:inline-flex;gap:3px;align-items:center;vertical-align:middle;line-height:0}
.oc-stars svg{width:var(--star-size,16px);height:var(--star-size,16px);flex-shrink:0;display:block}
.oc-stars--sm{--star-size:14px}
.oc-stars--md{--star-size:18px}
.oc-stars--lg{--star-size:20px}
.oc-stars--cm{--star-size:14px}
.oc-rating-display{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:1.2}
.oc-rating-value{font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}
.oc-rating-count{font-size:12px;color:var(--oc-ink3);font-weight:500;font-variant-numeric:tabular-nums}
.oc-stars .oc-star-p{fill:var(--star-fill)}
.oc-stars .oc-star-e{fill:var(--star-empty)}
.oc-stars--hero .oc-star-p{fill:var(--star-fill)}
.oc-stars--hero .oc-star-e{fill:var(--star-empty)}
a.rating-link{text-decoration:none;color:inherit}
a.rating-link:hover .oc-rating-count{text-decoration:underline}

/* ═══ HERO — two columns, site width, consistent padding ═══ */
.hero{
  background:var(--surface-card);
  padding:var(--section-padding) var(--content-padding) 40px;
  border-bottom:1px solid var(--oc-border);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:28px;
  align-items:start;
  max-width:var(--site-width);
  margin:0 auto;
  width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.hero-left{
  min-width:0;
  max-width:100%;
}

/* ═══ 3a. LEFT: Gallery — large main image, thumbs fill full height ═══ */
.gallery-wrap{
  display:flex;
  gap:14px;
  align-items:stretch;
}
/* Vertical thumbnail strip — same height as main image, thumbs distribute */
.gallery-thumbs{
  display:flex;
  flex-direction:column;
  gap:8px;
  flex-shrink:0;
  width:80px;
  align-self:stretch;
}
.gallery-thumbs .thumb{
  flex:1 1 0;
  min-height:56px;
  width:80px;
  border:2px solid var(--oc-border);
  border-radius:var(--radius-sm);
  background:var(--oc-bg);
  overflow:hidden;
  cursor:pointer;
}
.gallery-thumbs .thumb.active{
  border-color:var(--oc-nav);
  box-shadow:0 0 0 1px var(--oc-nav);
}
.gallery-thumbs .thumb img{width:100%;height:100%;object-fit:cover}
/* Main product image — larger */
.gallery-main{
  flex:1;
  min-width:0;
  max-width:640px;
  min-height:480px;
  aspect-ratio:1;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:#fff;
  border:1px solid var(--oc-border);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.03);
}
.gallery-main img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.gallery-main-wrap{
  position:relative;border-radius:inherit;min-height:inherit;height:100%;
  overflow:hidden;cursor:zoom-in;touch-action:manipulation;
}
.gallery-main-wrap.is-zooming{cursor:zoom-out}
.gallery-main-wrap.is-zooming .ce-gallery-main-img{opacity:0}
.gallery-zoom-lens{
  display:none;position:absolute;inset:0;z-index:2;pointer-events:none;
  background-repeat:no-repeat;background-size:250% 250%;
  background-position:50% 50%;
}
.gallery-main-wrap.is-zooming .gallery-zoom-lens{display:block}
.gallery-main-actions{
  position:absolute;right:12px;bottom:12px;z-index:3;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;max-width:calc(100% - 24px);
}
.gallery-main-actions .gallery-action{
  display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;min-width:52px;min-height:52px;
  border:1px solid rgba(15,23,42,0.14);border-radius:12px;background:rgba(255,255,255,0.96);
  box-shadow:0 3px 12px rgba(0,0,0,0.12);cursor:pointer;color:var(--oc-ink);
  transition:background 0.15s ease,border-color 0.15s ease,transform 0.1s ease,box-shadow 0.15s ease;
}
.gallery-main-actions .gallery-action:hover{
  background:#fff;border-color:var(--oc-purple);color:var(--oc-purple);
  box-shadow:0 4px 14px rgba(91,0,130,0.16);transform:translateY(-1px);
}
.gallery-main-actions .gallery-action.is-active,
.gallery-main-actions .gallery-action[aria-pressed="true"]{
  color:var(--oc-purple);border-color:rgba(91,0,130,0.4);background:rgba(91,0,130,0.1);
}
.gallery-main-actions .gallery-action--wishlist.is-active svg,
.gallery-main-actions .gallery-action--wishlist[aria-pressed="true"] svg{fill:currentColor}
/* Wishlist + zoom icons must read clearly on the large main image */
.gallery-main-actions .gallery-action svg{
  width:28px;height:28px;min-width:28px;min-height:28px;display:block;flex-shrink:0;
  stroke:currentColor;fill:none;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;
}
.gallery-main-actions .gallery-action--wishlist svg,
.gallery-main-actions .gallery-action[data-gallery-action="zoom"] svg{
  width:30px;height:30px;min-width:30px;min-height:30px;stroke-width:2.25;
}
.gallery-main-actions .gallery-action--text{
  width:auto;min-width:0;padding:0 16px;font-size:13px;font-weight:600;font-family:var(--header-font);gap:8px;
}
.gallery-main-actions .gallery-action-label{font-size:12px;font-weight:600}
@media (max-width:640px){
  .gallery-main-actions{right:10px;bottom:10px;gap:8px}
  .gallery-main-actions .gallery-action{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:11px}
  .gallery-main-actions .gallery-action svg{width:26px;height:26px;min-width:26px;min-height:26px}
  .gallery-main-actions .gallery-action--wishlist svg,
  .gallery-main-actions .gallery-action[data-gallery-action="zoom"] svg{
    width:28px;height:28px;min-width:28px;min-height:28px;
  }
  .gallery-main-actions .gallery-action--text span.gallery-action-label{display:none}
  .gallery-zoom-lens{background-size:200% 200%}
}
.oc-gallery-lightbox{
  position:fixed;inset:0;z-index:100050;display:flex;align-items:center;justify-content:center;
  background:rgba(15,23,42,0.88);padding:24px;cursor:zoom-out;
}
.oc-gallery-lightbox[hidden]{display:none!important}
.oc-gallery-lightbox img{
  max-width:min(96vw,1200px);max-height:92vh;width:auto;height:auto;object-fit:contain;
  border-radius:12px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,0.35);
}
.oc-gallery-lightbox__close{
  position:absolute;top:16px;right:16px;width:44px;height:44px;border:none;border-radius:999px;
  background:rgba(255,255,255,0.95);color:#0f172a;font-size:28px;line-height:1;cursor:pointer;
  box-shadow:0 4px 16px rgba(0,0,0,0.2);
}
/* CE: [content-egg-block type=gallery] — style thumbs left, main right; use module hi-res images (KeywordRush/CE templates), not upscaled thumbs */

/* ═══ 3b. LEFT: Choose this model to compare — horizontal rail ═══ */
.compare-section{
  margin-top:32px;
  min-width:0;
  max-width:100%;
}
.compare-section h3,.highlights h3,.whats-included h3{
  font-family:var(--header-font);
  font-size:1rem;
  font-weight:600;
  margin-bottom:12px;
  color:var(--oc-ink);
  letter-spacing:0.01em;
}
.compare-section .compare-carousel-wrap{
  margin-top:0;
  position:relative;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.compare-cards.carousel{
  display:flex;
  gap:12px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:4px 44px 12px 0;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
  scroll-snap-type:x proximity;
  cursor:grab;
}
.compare-cards.carousel.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  scroll-behavior:auto;
}
.compare-card{
  scroll-snap-align:start;
}
.compare-cards.carousel::-webkit-scrollbar{height:6px}
.compare-cards.carousel::-webkit-scrollbar-track{background:var(--oc-bg);border-radius:4px}
.compare-cards.carousel::-webkit-scrollbar-thumb{background:var(--oc-border);border-radius:4px}
.compare-cards.carousel .compare-card{
  flex:0 0 132px;
  width:132px;
  max-width:132px;
  padding:12px;
  border:1px solid var(--oc-border);
  border-radius:8px;
  background:var(--oc-white);
  box-sizing:border-box;
  transition:box-shadow 0.2s ease, transform 0.2s ease;
}
.compare-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}
a.compare-card{display:block;text-decoration:none;color:inherit}
.compare-card img{width:100%;height:80px;object-fit:contain;margin-bottom:8px}
.compare-card .name{
  font-size:13px;
  font-weight:600;
  margin-bottom:4px;
  color:var(--oc-ink);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.4em;
}
.compare-card .price{font-family:var(--header-font);font-size:14px;font-weight:700;color:var(--oc-ink)}
.compare-card .compare-chk{font-size:12px;color:var(--oc-ink2);margin-top:6px}
/* CE: offers_list template=grid or related — similar models */

.compare-configs{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:8px;
  margin-top:12px;
}
.compare-configs .config{
  padding:8px 12px;
  border:1px solid var(--oc-border);
  border-radius:6px;
  font-size:12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.compare-configs .config .add-compare{font-size:11px;color:var(--oc-nav);cursor:pointer}

/* ═══ 3c. LEFT: Product highlights (icons + text) ═══ */
.highlights{
  margin-top:24px;
}
.highlights ul{list-style:none}
.highlights li{
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 0;
  font-size:14px;
  font-weight:500;
}
.highlights li .icon{
  width:28px;
  height:28px;
  background:var(--surface-muted);
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  border:1px solid var(--oc-border);
}
.highlights li .icon svg{display:block}
/* CE / product data: key specs from module or %PRODUCT.* */

/* ═══ 3d. LEFT: What's included ═══ */
.whats-included{
  margin-top:24px;
}
.whats-included ul{margin-left:20px;color:var(--oc-ink2);font-size:14px}

/* ═══ 3e. RIGHT COLUMN: Card listing (no main image) ═══ */
.hero-right{
  position:sticky;
  top:100px;
  padding:28px;
  background:var(--surface-card);
  border:1px solid var(--oc-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}
.hero-right .product-title{
  font-family:var(--header-font);
  font-size:1.35rem;
  font-weight:700;
  line-height:1.25;
  margin-bottom:8px;
  color:var(--oc-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  letter-spacing:-0.02em;
}
.hero-right .hero-badges{margin-bottom:10px}
.hero-right .brand-model{font-size:13px;color:var(--oc-ink2);margin-bottom:8px}
.hero-right .hero-description{font-size:13px;color:var(--oc-ink2);line-height:1.45;margin-bottom:14px;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.hero-right .product-title{margin-bottom:10px}
.hero-right .rating-wrap{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.hero-right .rating-link .oc-rating-display{gap:6px}
.hero-right .rating-link .oc-rating-value{font-size:15px}
.hero-right .rating-link .oc-rating-count{font-size:13px;color:var(--oc-ink2)}
.hero-right .rating-link:hover .oc-rating-count{text-decoration:underline}
.hero-right .price-block{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--oc-border)}
.hero-right .price-now{font-family:var(--header-font);font-size:2rem;font-weight:700;color:var(--oc-ink);letter-spacing:-0.03em;line-height:1.1}
.hero-right .price-was{font-size:15px;color:var(--oc-ink3);text-decoration:line-through;margin-left:8px}
.hero-right .savings{display:inline-flex;align-items:center;background:var(--oc-green);color:#fff;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;margin-top:6px;font-variant-numeric:tabular-nums}
/* Variation swatches (Color, Memory, Storage) — on-screen blocks; output by WooCommerce + Variation Swatches plugin. See Dev panel "VARIATIONS" for how we get them. */
.hero-right .color-variants{margin-bottom:12px}
.hero-right .color-variants .variant-label{font-family:var(--header-font);font-size:11px;font-weight:600;color:var(--oc-ink2);margin-bottom:4px;display:block}
.hero-right .color-swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.hero-right .color-swatch{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  cursor:pointer;
  padding:2px;
  border-radius:var(--radius-sm);
  border:1px solid transparent;
  transition:border-color 0.15s ease, box-shadow 0.15s ease;
}
.hero-right .color-swatch:hover{border-color:var(--oc-border)}
.hero-right .color-swatch.selected{border-color:var(--oc-ink);box-shadow:0 0 0 1px var(--oc-ink)}
.hero-right .color-swatch:focus-visible{outline:2px solid var(--oc-nav);outline-offset:2px}
.hero-right .color-swatch-chip{
  width:22px;
  height:22px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,0.1);
  box-shadow:inset 0 1px 1px rgba(0,0,0,0.06);
  overflow:hidden;
  background-size:cover;
  background-position:center;
  flex-shrink:0;
}
.hero-right .color-swatch-chip img{width:100%;height:100%;object-fit:cover}
.hero-right .color-swatch-name{font-size:10px;font-weight:500;color:var(--oc-ink2);text-align:center;max-width:52px;line-height:1.2}
.hero-right .color-swatch.selected .color-swatch-name{color:var(--oc-ink);font-weight:600}
.hero-right .config-variants{margin-bottom:12px}
.hero-right .config-variants .variant-label{font-family:var(--header-font);font-size:11px;font-weight:600;color:var(--oc-ink2);margin-bottom:4px;display:block}
.hero-right .config-options{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.hero-right .config-option{
  display:inline-flex;align-items:center;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--oc-border);
  font-size:11px;font-weight:500;color:var(--oc-ink2);cursor:pointer;background:var(--oc-white);transition:border-color 0.15s ease, box-shadow 0.15s ease;
}
.hero-right .config-option:hover{border-color:var(--oc-ink3)}
.hero-right .config-option.selected{border-color:var(--oc-ink);box-shadow:0 0 0 1px var(--oc-ink);color:var(--oc-ink);font-weight:600}
.hero-right .config-option:focus-visible{outline:2px solid var(--oc-nav);outline-offset:2px}
.hero-right .merchant-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}
.hero-right .hero-buybox-identity{
  margin:14px 0 16px;
  padding:14px 16px;
  background:var(--oc-bg);
  border:1px solid var(--oc-border);
  border-radius:var(--radius-md);
}
.hero-right .buybox-identity-heading{
  margin:0 0 10px;
  font-family:var(--header-font);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--oc-ink3);
}
.hero-right .buybox-identity-list{margin:0;display:grid;gap:8px}
.hero-right .buybox-identity-row{
  display:grid;
  grid-template-columns:minmax(132px,44%) 1fr;
  gap:8px 12px;
  font-size:12px;
  line-height:1.45;
}
.hero-right .buybox-identity-row dt{
  color:var(--oc-ink3);
  font-weight:600;
  margin:0;
}
.hero-right .buybox-identity-row dd{
  color:var(--oc-ink);
  margin:0;
  font-variant-numeric:tabular-nums;
}
.hero-right .buybox-identity-row dd a{color:var(--oc-link);text-decoration:none;font-weight:600}
.hero-right .buybox-identity-row dd a:hover{text-decoration:underline}
.hero-right .buybox-identity-row--empty dd{color:var(--oc-ink3)}
.hero-right .btn-merchant{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;
  padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--oc-border);background:var(--oc-white);
  text-decoration:none;color:var(--oc-ink);font-size:13px;transition:border-color 0.15s ease,box-shadow 0.15s ease;
  box-shadow:0 1px 2px rgba(0,0,0,0.04);
}
.hero-right .btn-merchant:hover{border-color:var(--oc-nav);box-shadow:var(--shadow-card)}
.hero-right .btn-merchant:focus-visible{outline:2px solid var(--oc-nav);outline-offset:2px}
.hero-right .btn-merchant .m-logo{
  font-family:var(--header-font);font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--oc-ink2);width:72px;flex-shrink:0;
}
.hero-right .btn-merchant .m-body{text-align:left;min-width:0}
.hero-right .btn-merchant .m-channel{display:block;font-size:12px;color:var(--oc-ink2);line-height:1.35}
.hero-right .btn-merchant .m-price{font-family:var(--header-font);font-weight:700;font-size:15px;font-variant-numeric:tabular-nums;color:var(--oc-ink)}
.hero-right .btn-merchant--featured{
  border-color:#059669;
  background:linear-gradient(180deg,#ecfdf5 0%,#fff 100%);
  box-shadow:var(--shadow-cta);
}
.hero-right .btn-merchant--featured .m-price{font-size:1.125rem}
.hero-right .btn-merchant--featured .m-channel{color:#047857}
.hero-right .btn-merchant:not(.btn-merchant--featured){opacity:0.97}
.hero-right .btn-merchant:not(.btn-merchant--featured) .m-price{font-size:14px;font-weight:600}
.hero-right .btn-add-cart{
  display:block;width:100%;padding:12px 20px;background:var(--oc-cta);color:var(--oc-yellow-dark);font-size:14px;font-weight:700;border:none;border-radius:8px;cursor:pointer;margin-bottom:8px;
  text-decoration:none;
}
.hero-right a.btn-add-cart:hover{background:var(--oc-cta-hover);color:var(--oc-yellow-dark);text-decoration:none}
.hero-right a.btn-add-cart:focus,.hero-right a.btn-add-cart:visited{text-decoration:none}
/* Button-style links: never underline */
a.btn-add-cart,a.btn-buy,.carousel .card a.btn{text-decoration:none}
a.btn-add-cart:hover,a.btn-add-cart:focus,a.btn-add-cart:visited,a.btn-buy:hover,a.btn-buy:focus,a.btn-buy:visited{text-decoration:none}
.hero-right .price-updated{font-size:11px;color:var(--oc-ink3);font-style:italic;margin-top:6px;margin-bottom:12px}
.hero-right .hero-outbound-note{font-size:12px;color:var(--oc-ink3);line-height:1.45;margin-bottom:12px}
.hero-toolbar{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;width:100%;
  padding:10px;background:var(--surface-muted);border:1px solid var(--oc-border);border-radius:var(--radius-md);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.7);
}
.hero-toolbar .hero-tool{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;font-size:12px;font-weight:600;
  border:1px solid var(--oc-border);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--oc-ink);cursor:pointer;font-family:inherit;text-decoration:none;line-height:1.2;
  min-height:44px;
}
.hero-toolbar .hero-tool:hover{border-color:var(--oc-purple);color:var(--oc-purple);background:#fff;box-shadow:0 1px 3px rgba(91,0,130,0.08)}
.hero-toolbar .hero-tool svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none}
.hero-toolbar .hero-tool--wishlist svg{fill:none}
.hero-toolbar .hero-tool--active{color:var(--oc-purple);border-color:rgba(91,0,130,0.4);background:rgba(91,0,130,0.06);box-shadow:inset 0 0 0 1px rgba(91,0,130,0.12)}
@media (max-width:380px){
  .hero-toolbar{grid-template-columns:1fr;gap:6px}
}
.hero-side-videos{margin-top:4px;margin-bottom:16px;padding-top:14px;border-top:1px solid var(--oc-border)}
.hero-side-videos-label{font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--oc-ink3);margin-bottom:10px}
.hero-video-teaser{
  display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--oc-border);text-decoration:none;color:inherit;transition:background 0.15s ease;
  border-radius:6px;margin:0 -6px;padding-left:6px;padding-right:6px;
}
.hero-video-teaser:last-child{border-bottom:none}
.hero-video-teaser:hover{background:var(--surface-muted)}
.hero-video-teaser img{width:88px;height:52px;object-fit:cover;border-radius:6px;border:1px solid var(--oc-border);flex-shrink:0;background:#111}
.hero-video-teaser .hv-title{font-size:12px;font-weight:600;line-height:1.35;color:var(--oc-link)}
.hero-video-teaser .hv-meta{font-size:11px;color:var(--oc-ink3);margin-top:2px}
.hero-price-alert{margin-top:16px;padding:16px;background:var(--surface-card);border:1px solid var(--oc-border);border-radius:var(--radius-md);box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.hero-price-alert-label{font-size:13px;font-weight:700;margin-bottom:10px;color:var(--oc-ink);display:flex;align-items:center;gap:8px}
.hero-price-alert-label::before{content:'';width:4px;height:1rem;background:var(--oc-gradient);border-radius:2px}
.pa-track--member{margin-bottom:4px}
.pa-track--member .pa-track-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--oc-ink3);margin-bottom:8px}
.pa-track--member .pa-field-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:10px}
.pa-track--member label{font-size:12px;font-weight:600;color:var(--oc-ink2);display:block;margin-bottom:4px}
.pa-track--member input[type=number]{width:120px;padding:10px 12px;border:1px solid var(--oc-border);border-radius:8px;font-size:14px;font-variant-numeric:tabular-nums}
.pa-track--member .pa-check,.pa-track--guest .pa-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--oc-ink2);cursor:pointer;margin:8px 0;line-height:1.4}
.pa-track--member .pa-check input,.pa-track--guest .pa-check input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--oc-purple)}
.pa-track--member .pa-btn-member{padding:10px 16px;background:var(--oc-ink);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:13px;font-family:var(--header-font)}
.pa-track--member .pa-btn-member:hover{filter:brightness(1.05)}
.pa-track--guest .pa-guest-h{font-size:12px;font-weight:700;color:var(--oc-ink3);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.04em}
.hero-price-alert form{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.pa-track--member form{display:block}
.hero-price-alert input[type=email],.hero-price-alert .oc-pa-guest-price{flex:1;min-width:140px;padding:10px 12px;border:1px solid var(--oc-border);border-radius:8px;font-size:14px;background:var(--surface-card)}
.hero-price-alert button{padding:10px 18px;background:var(--oc-purple);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:13px;font-family:var(--header-font)}
.hero-price-alert button:hover{background:var(--oc-link-hover)}
.hero-price-alert button:disabled,.hero-price-alert input:disabled{opacity:.65;cursor:not-allowed}
.hero-price-alert .pa-note{font-size:11px;color:var(--oc-ink3);margin-top:10px;line-height:1.45;flex-basis:100%}
.hero-price-alert .oc-pa-loading,.hero-price-alert .oc-pa-success,.hero-price-alert .oc-pa-error{flex-basis:100%;font-size:13px;margin-top:8px;line-height:1.4}
.hero-price-alert .oc-pa-success{color:#0a7a3e}
.hero-price-alert .oc-pa-error{color:#b42318}
.hero-price-alert .pa-check--privacy{flex-basis:100%;margin-top:4px}
.related-picks-strip{margin-top:8px}
.video-related-note{margin-bottom:0;font-size:14px}
.video-related-note a{font-weight:600}
.hero-right .open-box{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border:1px solid var(--oc-border);
  border-radius:var(--radius-md);
  margin-bottom:10px;
  font-size:12px;
  color:var(--oc-ink2);
  line-height:1.5;
}
.hero-right .open-box:last-of-type{margin-bottom:0}
.hero-right .open-box-img{
  flex-shrink:0;
  width:56px;
  height:56px;
  border-radius:6px;
  overflow:hidden;
  background:var(--oc-bg);
  border:1px solid var(--oc-border);
}
.hero-right .open-box-img img{width:100%;height:100%;object-fit:contain}
.hero-right .open-box strong{color:var(--oc-ink)}
.hero-right a.open-box{text-decoration:none;color:inherit;cursor:pointer}
.hero-right a.open-box:hover{opacity:0.92}
.hero-right a.open-box .link-style{color:var(--oc-nav);font-weight:600}
/* Alternate offers group (used eBay, AliExpress rows) — each row links to offer.url, shows offer.img, offer.price, offer.title, offer.merchant */
.hero-right .alt-offers-group{margin-top:14px;padding-top:14px;border-top:1px solid var(--oc-border)}
.hero-right .alt-offers-label{font-family:var(--header-font);font-size:11px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--oc-ink3);margin-bottom:8px}
.hero-right .offer-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid var(--oc-border);
  font-size:12px;
  color:var(--oc-ink2);
  line-height:1.4;
}
.hero-right .offer-row:last-child{border-bottom:none;padding-bottom:0}
.hero-right .offer-row .offer-thumb{flex-shrink:0;width:40px;height:40px;border-radius:4px;overflow:hidden;background:var(--oc-bg);border:1px solid var(--oc-border)}
.hero-right .offer-row .offer-thumb img{width:100%;height:100%;object-fit:contain}
.hero-right .offer-row .offer-details{flex:1;min-width:0}
.hero-right .offer-row .offer-details strong{color:var(--oc-ink);font-size:12px}
.hero-right .offer-row .offer-price{font-family:var(--header-font);font-weight:700;color:var(--oc-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-right a.offer-row{text-decoration:none;color:inherit;display:flex;align-items:center;gap:12px}
.hero-right a.offer-row:hover{background:var(--oc-nav-soft)}
.hero-right .offer-row .offer-cta{color:var(--oc-nav);font-weight:600;font-size:12px;flex-shrink:0}
.hero-right .offer-row .offer-module{font-size:10px;text-transform:uppercase;letter-spacing:0.05em;color:var(--oc-ink3);margin-left:4px}
.hero-right .extra-links{font-size:11px;color:var(--oc-ink2);margin-top:14px}
.hero-right .extra-links a{color:var(--oc-nav);text-decoration:none}

/* ═══ Badges & pills (Content Egg / “delivers” niche look) ═══ */
.badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-family:var(--header-font);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.04em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:999px;
  white-space:nowrap;
}
.badge--savings{background:var(--oc-green);color:#fff}
.badge--editor{background:var(--oc-cta);color:var(--oc-yellow-dark)}
.badge--tracked{background:var(--oc-nav-soft);color:var(--oc-nav);border:1px solid rgba(91,0,130,0.25)}
.badge--best-price{background:var(--oc-green-soft);color:#047857;border:1px solid rgba(5,150,105,0.3)}
.badge--new{background:var(--oc-accent-soft);color:var(--oc-accent);border:1px solid rgba(192,38,211,0.3)}
.badge--verified{background:var(--oc-bg);color:var(--oc-ink2);border:1px solid var(--oc-border)}
.badge-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* ═══ 4. Sections — uniform width, padding, margin ═══ */
.section{
  max-width:var(--site-width);
  margin:var(--section-margin) auto;
  padding:var(--section-padding) var(--content-padding);
  background:var(--oc-white);
  border:1px solid var(--oc-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
}
.section:first-of-type{margin-top:var(--section-margin)}
.section:last-of-type{margin-bottom:0}
/* Section headers — Content Egg style: label + accent bar */
.section-header{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-bottom:24px;
  padding-bottom:16px;
  border-bottom:2px solid var(--oc-border);
}
.section-header::before{
  content:'';
  width:4px;
  height:28px;
  background:var(--oc-purple);
  border-radius:2px;
  flex-shrink:0;
  margin-top:2px;
}
.section-header-inner{flex:1}
.section-label{
  font-family:var(--header-font);
  font-size:var(--section-label);
  font-weight:600;
  letter-spacing:var(--section-label-spacing);
  text-transform:uppercase;
  color:var(--oc-ink3);
  margin-bottom:4px;
}
.section h2{
  font-family:var(--header-font);
  font-size:1.5rem;
  font-weight:700;
  margin:0 0 20px 0;
  color:var(--oc-ink);
  letter-spacing:-0.01em;
  line-height:1.25;
}
.section-header h2{margin:0}
.section-header + .table-scroll,.section-header + .price-history-ce,.section-header + .prose{margin-top:0}
.section-header .section-label + h2{margin-bottom:0}
/* Legacy: sections that use plain h2 without .section-header */
.section > h2:first-child{
  font-family:var(--header-font);
  font-size:1.5rem;
  font-weight:700;
  margin-bottom:20px;
  color:var(--oc-ink);
  padding-left:12px;
  border-left:4px solid var(--oc-purple);
  letter-spacing:-0.02em;
}
/* CE: [content-egg-block type=price_comparison] */
.price-table{
  width:100%;
  border-collapse:collapse;
}
.price-table th{
  font-family:var(--header-font);
  text-align:left;
  padding:14px 16px;
  background:var(--oc-bg);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--oc-ink2);
}
.price-table td{padding:14px 16px;border-bottom:1px solid var(--oc-border);font-variant-numeric:tabular-nums}
.price-table tr.highlight-row td{background:var(--oc-green-soft)}
.price-table .cell-price{font-family:var(--header-font);font-weight:700;color:var(--oc-ink)}
.price-table .cell-badge{margin-left:6px}
.price-table .btn-buy{
  display:inline-block;
  padding:8px 16px;
  background:var(--oc-purple);
  color:#fff;
  border:none;
  border-radius:6px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  text-decoration:none;
  text-align:center;
}
.price-table a.btn-buy:hover{background:var(--oc-link-hover);color:#fff}

/* ═══ Z4b: Compare with similar items — multi-product matrix (CE composite; see .ce-matrix-dev) ═══ */
.compare-matrix-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:24px;
}
@media (max-width:900px){.compare-matrix-strip{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.compare-matrix-strip{grid-template-columns:1fr}}
.compare-matrix-col{
  padding:16px;
  border:1px solid var(--oc-border);
  border-radius:var(--radius-md);
  background:var(--surface-card);
  text-align:center;
}
.compare-matrix-col--this{border-color:var(--oc-purple);box-shadow:0 0 0 1px rgba(91,0,130,0.12)}
.compare-matrix-badge{
  display:block;font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--oc-ink3);margin-bottom:10px;
}
.compare-matrix-col img{
  width:100%;max-width:140px;height:100px;margin:0 auto 12px;object-fit:contain;background:#fff;border:1px solid var(--oc-border);border-radius:var(--radius-sm);
}
.compare-matrix-title{
  font-size:13px;font-weight:600;line-height:1.35;color:var(--oc-link);text-decoration:none;display:block;margin-bottom:12px;min-height:2.7em;
}
.compare-matrix-title:hover{text-decoration:underline}
.compare-matrix-cta{
  display:inline-block;width:100%;max-width:200px;padding:10px 14px;background:var(--oc-cta);color:var(--oc-yellow-dark);font-size:13px;font-weight:700;border-radius:var(--radius-sm);text-decoration:none;
}
.compare-matrix-cta:hover{background:var(--oc-cta-hover);color:var(--oc-yellow-dark)}
.compare-matrix-table{
  width:100%;border-collapse:collapse;font-size:13px;
}
.compare-matrix-table th[scope=row]{
  text-align:left;font-weight:600;color:var(--oc-ink2);background:var(--surface-muted);
  padding:12px 14px;border:1px solid var(--oc-border);width:22%;vertical-align:top;
}
.compare-matrix-table td{
  padding:12px 14px;border:1px solid var(--oc-border);vertical-align:top;color:var(--oc-ink);
  font-variant-numeric:tabular-nums;
}
.compare-matrix-table tbody tr:nth-child(even) th[scope=row],
.compare-matrix-table tbody tr:nth-child(even) td{background:rgba(249,250,251,0.9)}
.compare-matrix-table .cm-price{font-family:var(--header-font);font-size:1.125rem;font-weight:700}
.compare-matrix-table .cm-list{font-size:12px;color:var(--oc-ink3);text-decoration:line-through}
.compare-matrix-table .cm-pct{color:#b91c1c;font-size:12px;font-weight:600}
.compare-matrix-table .oc-rating-display{gap:4px}
.compare-matrix-table .oc-rating-value{font-size:13px}
.compare-matrix-table .oc-rating-count{font-size:12px}
.ce-matrix-dev{margin-top:20px;padding:0;border:1px solid var(--oc-border);border-radius:var(--radius-md);background:var(--surface-muted);font-size:12px}
.ce-matrix-dev > summary{cursor:pointer;padding:12px 16px;font-weight:600;color:var(--oc-ink);list-style:none}
.ce-matrix-dev > summary::-webkit-details-marker{display:none}
.ce-matrix-dev[open] > summary{border-bottom:1px solid var(--oc-border)}
.ce-matrix-dev .ce-matrix-dev-body{padding:16px;color:var(--oc-ink2);line-height:1.65}
.ce-matrix-dev code{font-size:11px;background:var(--surface-card);padding:2px 6px;border-radius:4px;border:1px solid var(--oc-border)}

/* ═══ 5. Price history — CE-style time series (mock SVG; WP replaces with CE price_history output) ═══ */
/* CE: [content-egg-block type=price_history] — target dimensions for template/CSS hooks */
.price-history-ce{
  background:var(--oc-bg);
  border:1px solid var(--oc-border);
  border-radius:var(--radius-md);
  padding:18px 18px 14px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.price-history-ce .ce-chart-svg,.price-history-ce img.ce-chart-svg{
  display:block;width:100%;height:auto;min-height:280px;max-height:none;object-fit:contain;background:#fff;
}
.oc-pdp-keepa-history img{border-radius:6px;background:#fff}
.price-history-ce .chart-axis-labels{
  display:flex;justify-content:space-between;align-items:flex-start;gap:4px;
  font-size:12px;color:var(--oc-ink3);margin-top:10px;
  font-variant-numeric:tabular-nums;box-sizing:border-box;width:100%;
}
.price-history-ce .chart-axis-labels span{
  flex:1 1 0;text-align:center;min-width:0;
}
.price-history-ce .chart-axis-labels span:first-child{text-align:left}
.price-history-ce .chart-axis-labels span:last-child{text-align:right}
.chart-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:14px;font-size:13px;color:var(--oc-ink2)}
.chart-legend .low{color:var(--oc-green);font-weight:600}
.chart-legend .high{color:var(--oc-accent);font-weight:600}
.oc-pdp-ce-price-history .chart-legend,
.oc-pdp-price-history .chart-legend{margin:0 0 16px}
.oc-pdp-price-history{
  display:flex;flex-direction:column;gap:0;
  width:100%;
  max-width:100%;
}
.oc-pdp-price-history .oc-price-history-intro{margin-bottom:16px}
.oc-pdp-price-history .oc-price-history-foot{margin-top:16px}
.oc-pdp-price-history--chart .price-history-ce{
  display:block!important;
  margin-bottom:4px;
}
.oc-pdp-price-history--chart .ce-chart-svg{
  display:block;width:100%;height:auto;min-height:300px;max-height:none;background:#fff;border-radius:6px;
}
@media (min-width:900px){
  .oc-pdp-price-history--chart .ce-chart-svg,
  .price-history-ce .ce-chart-svg{
    min-height:340px;
  }
}
.oc-pdp-price-history .oc-price-history-source{
  margin:8px 0 0;max-width:720px;color:var(--oc-ink3);font-size:12px;line-height:1.45;
}
/* Never show Keepa’s chart/table UI — we only use Keepa as a data source for the OC SVG */
.oc-pdp-keepa-history,
.oc-pdp-keepa-embed,
.oc-pdp-keepa-graph{display:none!important}
.chart-dev-note{font-size:12px;color:var(--oc-ink3);margin-top:0;padding:10px 12px;background:var(--surface-muted);border:1px solid var(--oc-border);border-radius:var(--radius-sm)}
.ce-template-hint > summary{font-size:12px;color:var(--oc-ink3);cursor:pointer;list-style:none}
.ce-template-hint > summary::-webkit-details-marker{display:none}
/* Legacy bar chart class removed — use .price-history-ce for mocks */

/* ═══ 6. PROMPT OUTPUT (Z2 Overview, Z3 Why Buy) — natural reading flow ═══ */
/* CE: %Ai.content% and %Ai.extra_section1% — style so AI output looks like editorial content */
.section .prose{
  max-width:720px;
  font-size:16px;
  line-height:1.7;
  color:var(--oc-ink);
}
.section .prose > p{
  margin-bottom:1em;
}
.section .prose > p:first-of-type{
  margin-top:0;
}
.section .prose .product-headline{
  font-size:1.15rem;
  font-weight:600;
  line-height:1.5;
  margin-bottom:1.25em;
  color:var(--oc-ink);
}
.section .prose h3{
  font-family:var(--header-font);
  font-size:1.125rem;
  font-weight:600;
  margin:1.75em 0 0.5em;
  color:var(--oc-ink);
  letter-spacing:0.01em;
}
.section .prose h3:first-of-type{
  margin-top:1.25em;
}
.section .prose ul{
  margin:0.75em 0 1em 1.25em;
  padding:0;
  list-style:disc;
}
.section .prose ul li{
  margin-bottom:0.5em;
  padding-left:0.25em;
}
.section .prose ul li strong{
  color:var(--oc-ink);
}
.section .prose a{color:var(--oc-link);text-decoration:none}
.section .prose a:hover{text-decoration:underline}

/* Overview — Key features (polished benefit cards) */
#overview .ov-key-features{
  margin:1.75em 0 1.5em;
}
#overview .ov-key-features > h3{
  margin:0 0 14px;
}
#overview .ov-feature-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr;gap:10px;
}
@media (min-width:720px){
  #overview .ov-feature-list{grid-template-columns:1fr 1fr;gap:12px}
}
#overview .ov-feature{
  display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;
  margin:0;padding:14px 14px 14px 12px;
  border:1px solid var(--oc-border);border-radius:var(--radius-md);
  background:linear-gradient(180deg,#fcfbff 0%,#fff 100%);
  box-shadow:0 1px 2px rgba(16,24,40,0.03);
}
#overview .ov-feature__icon{
  width:36px;height:36px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(5,150,105,0.1);color:#059669;
  border:1px solid rgba(5,150,105,0.18);flex-shrink:0;
}
#overview .ov-feature__icon svg{display:block}
#overview .ov-feature__text{min-width:0;display:flex;flex-direction:column;gap:4px}
#overview .ov-feature__title{
  font-family:var(--header-font);font-size:12px;font-weight:700;letter-spacing:0.04em;
  color:var(--oc-purple,#4A1A9E);line-height:1.35;
}
#overview .ov-feature__body{
  font-size:14px;line-height:1.55;color:var(--oc-ink2);
}

/* Overview — Who should buy (persona verdict cards) */
#overview .ov-who-buy{margin:1.75em 0 1.5em}
#overview .ov-who-buy > h3{margin:0 0 14px}
#overview .ov-who-grid{
  display:grid;grid-template-columns:1fr;gap:12px;
}
@media (min-width:720px){
  #overview .ov-who-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
#overview .ov-who-card{
  margin:0;padding:16px 16px 18px;
  border:1px solid var(--oc-border);border-radius:var(--radius-md);
  background:var(--surface-card,#fff);
  box-shadow:0 1px 2px rgba(16,24,40,0.03),0 10px 24px rgba(74,26,158,0.05);
  display:flex;flex-direction:column;gap:10px;min-height:100%;
}
#overview .ov-who-card__head{display:flex;flex-direction:column;gap:4px}
#overview .ov-who-card__eyebrow{
  font-size:10px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--oc-ink3);
}
#overview .ov-who-card__title{
  font-family:var(--header-font);font-size:1.05rem;font-weight:700;margin:0;color:var(--oc-ink);letter-spacing:-0.01em;
}
#overview .ov-who-card__hint{margin:0;font-size:12px;line-height:1.4;color:var(--oc-ink3)}
#overview .ov-who-card__body{margin:0;font-size:14px;line-height:1.55;color:var(--oc-ink2);flex:1}
#overview .ov-who-card--researcher{border-top:3px solid var(--oc-purple,#4A1A9E)}
#overview .ov-who-card--gifter{border-top:3px solid #db2777}
#overview .ov-who-card--deal{border-top:3px solid #059669}
#overview .ov-who-card--family{border-top:3px solid #2563eb}
#overview .ov-who-card--buyer{border-top:3px solid #7c3aed}

/* Z2 Overview — expert prose + cascading gallery rail (alt angles only; not hero main image) */
#overview .overview-expert-zone-inner{padding:18px;background:var(--surface-card)}
#overview .overview-expert-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(248px,320px);gap:32px;align-items:start}
#overview .overview-expert-gallery-rail{
  position:sticky;top:calc(var(--page-subnav-sticky-pad) + 10px);align-self:start;
  padding:16px;border:1px solid var(--oc-border);border-radius:var(--radius-md);
  background:var(--surface-card);box-shadow:var(--shadow-card);min-width:0;
}
#overview .overview-gallery-rail-label{
  font-family:var(--header-font);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--oc-ink3);margin:0 0 12px;display:block;
}
#overview .overview-gallery-rail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
#overview .overview-gallery-rail-list li{margin:0;padding:0}
#overview .overview-gallery-rail-frame{
  display:block;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--oc-border);background:var(--surface-muted);
  line-height:0;
}
#overview .overview-gallery-rail-list img{
  width:100%;height:auto;min-height:180px;aspect-ratio:1;object-fit:cover;display:block;
}
@media (max-width:900px){
  #overview .overview-expert-layout{grid-template-columns:1fr}
  #overview .overview-expert-gallery-rail{position:static}
  #overview .overview-gallery-rail-list{
    flex-direction:row;flex-wrap:nowrap;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;
  }
  #overview .overview-gallery-rail-list li{flex:0 0 clamp(148px,38vw,220px)}
  #overview .overview-gallery-rail-list img{min-height:148px}
}
@media (max-width:640px){
  #overview .overview-gallery-rail-list li{flex:0 0 clamp(136px,42vw,200px)}
}
/* Pros & cons block */
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:1.5em 0}
@media (max-width:640px){.pros-cons{grid-template-columns:1fr}}
.pros-cons h4{font-size:1rem;margin-bottom:8px;color:var(--oc-ink);font-weight:600}
.pros-cons ul{margin:0;padding-left:1.25em;list-style:disc}
.pros-cons .pros li{color:var(--oc-green);margin-bottom:0.35em}
.pros-cons .cons li{color:var(--oc-ink2);margin-bottom:0.35em}
/* Why Buy: 7 reasons */
.reason-block{margin-bottom:1.25em;padding-bottom:1.25em;border-bottom:1px solid var(--oc-border)}
.reason-block:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}
.reason-block .reason-title{
  font-family:var(--header-font);
  font-weight:700;
  font-size:1rem;
  margin-bottom:4px;
  color:var(--oc-ink);
  display:flex;
  align-items:center;
  gap:10px;
}
.reason-block .reason-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  background:var(--oc-purple);
  color:#fff;
  font-size:12px;
  font-weight:700;
  border-radius:50%;
  flex-shrink:0;
  font-variant-numeric:tabular-nums;
}
.reason-block .reason-meta{font-size:0.8125rem;color:var(--oc-ink2);margin-bottom:6px}
.reason-block .reason-benefit{margin-bottom:4px;line-height:1.55}
.reason-block .reason-proof{font-size:0.8125rem;color:var(--oc-ink3);line-height:1.5}

/* Head to head — Content Egg affiliate-style offer cards */
.h2h-intro{
  margin:0 0 14px;max-width:720px;font-size:14px;line-height:1.55;color:var(--oc-ink2);
}
.h2h-list,
.h2h-list.cegg-style-offers{
  display:flex;flex-direction:column;gap:12px;margin:0 0 1.5em;max-width:720px;
}
.h2h-offer{
  display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;align-items:stretch;
  border:1px solid var(--oc-border);border-radius:var(--radius-md);
  background:var(--surface-card,#fff);
  box-shadow:var(--shadow-card,0 1px 2px rgba(16,24,40,0.04),0 8px 24px rgba(74,26,158,0.06));
  padding:14px 16px;overflow:hidden;
}
.h2h-offer--win{border-color:rgba(5,150,105,0.35);box-shadow:0 0 0 1px rgba(5,150,105,0.08),0 8px 24px rgba(5,150,105,0.06)}
.h2h-offer--loss{border-color:rgba(180,83,9,0.28)}
.h2h-offer__media{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  padding:8px 4px;border-radius:10px;background:linear-gradient(180deg,#faf8ff 0%,#f3effa 100%);
  border:1px solid var(--oc-border);
}
.h2h-offer__thumb{
  width:56px;height:56px;border-radius:8px;overflow:hidden;background:#fff;
  border:1px solid var(--oc-border);display:flex;align-items:center;justify-content:center;
}
.h2h-offer__thumb img{width:100%;height:100%;object-fit:contain;display:block}
.h2h-offer__thumb--comp{background:#111827;border-color:#111827}
.h2h-offer__mono{
  font-family:var(--header-font);font-weight:700;font-size:15px;letter-spacing:0.04em;color:#fff;
}
.h2h-offer__thumb--ours .h2h-offer__mono{color:var(--oc-purple)}
.h2h-offer__vs-chip{
  font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--oc-ink3);background:#fff;border:1px solid var(--oc-border);
  border-radius:999px;padding:2px 8px;
}
.h2h-offer__body{min-width:0;display:flex;flex-direction:column;gap:10px}
.h2h-offer__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.h2h-offer__module{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--oc-ink3);margin-bottom:4px;
}
.h2h-offer__title{
  margin:0;font-family:var(--header-font);font-size:1rem;font-weight:700;line-height:1.35;color:var(--oc-ink);
}
.h2h-offer__merchant{margin-top:2px;font-size:12px;color:var(--oc-ink2)}
.h2h-offer .badge{
  flex-shrink:0;display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:0.03em;background:#ede0ff;color:#4a1a9e;white-space:nowrap;
}
.h2h-offer .badge--best-price{background:#d1fae5;color:#047857}
.h2h-offer--loss .badge{background:#ffedd5;color:#9a3412}
.h2h-offer__metrics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.h2h-offer__metric{
  display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start;
  padding:8px 10px;border-radius:8px;background:var(--oc-bg,#f8fafc);border:1px solid var(--oc-border);
}
.h2h-offer__metric-label{
  font-size:10px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;padding-top:2px;
}
.h2h-offer__metric--win .h2h-offer__metric-label{color:#059669}
.h2h-offer__metric--loss .h2h-offer__metric-label{color:#b45309}
.h2h-offer__metric-text{font-size:13px;line-height:1.45;color:var(--oc-ink)}
.h2h-offer__verdict{
  margin:0;font-size:13px;line-height:1.55;color:var(--oc-ink2);
  padding:10px 12px;border-radius:8px;background:rgba(74,26,158,0.05);border:1px solid rgba(74,26,158,0.12);
}
.h2h-offer__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px}
.h2h-offer__cta.btn-buy,
a.h2h-offer__cta.btn-buy{
  display:inline-flex;align-items:center;justify-content:center;min-width:128px;
  padding:10px 16px;border-radius:8px;background:var(--oc-link,#4a1a9e);color:#fff!important;
  font-size:13px;font-weight:700;text-decoration:none!important;border:none;cursor:pointer;
}
a.h2h-offer__cta.btn-buy:hover{background:var(--oc-link-hover,#3b147e);color:#fff!important;transform:translateY(-1px)}
.h2h-offer__secondary{
  font-size:13px;font-weight:600;color:var(--oc-nav,#4a1a9e);text-decoration:none;
}
.h2h-offer__secondary:hover{text-decoration:underline}
.h2h-fallback{margin:0;padding:8px 0;line-height:1.55}
@media (max-width:640px){
  .h2h-offer{grid-template-columns:1fr;gap:12px}
  .h2h-offer__media{flex-direction:row;justify-content:flex-start;padding:10px 12px}
  .h2h-offer__topline{flex-wrap:wrap}
}

/* Editor rating — retail-style summary + meters (Amazon-adjacent) + Content Egg freshness line */
.editor-rating--ce-retail{
  margin:1.5em 0;padding:0;max-width:720px;background:#fff;border:1px solid #d5d9d9;border-radius:8px;box-shadow:0 2px 8px rgba(15,17,17,0.06);overflow:hidden;
}
.editor-rating__head{
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px 24px;padding:18px 20px;background:linear-gradient(180deg,#f8fafc 0%,#fff 100%);border-bottom:1px solid var(--oc-border);
}
.editor-rating__score-big{
  font-family:var(--header-font);font-size:2.75rem;font-weight:700;line-height:1;letter-spacing:-0.03em;color:var(--oc-ink);font-variant-numeric:tabular-nums;
}
.editor-rating__head-meta{flex:1;min-width:200px}
.editor-rating__head-meta .editor-rating__line1{font-size:15px;font-weight:600;color:var(--oc-ink);margin-bottom:6px}
.editor-rating__head-meta .oc-stars--editor{margin-bottom:8px}
.editor-rating__head-meta .oc-stars--editor svg{width:20px;height:20px}
.editor-rating__ce-line{
  font-size:12px;color:var(--oc-ink3);line-height:1.45;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.editor-rating__ce-line code{font-size:11px;background:var(--surface-muted);padding:2px 6px;border-radius:4px;border:1px solid var(--oc-border);color:var(--oc-ink2)}
.editor-rating--ce-retail .rating-list{list-style:none;margin:0;padding:8px 0}
.editor-rating--ce-retail .rating-list li{
  display:grid;
  grid-template-columns:minmax(110px,32%) minmax(80px,1fr) 44px;
  gap:8px 14px;align-items:center;
  padding:12px 20px;border-bottom:1px solid #f3f4f6;
  font-size:14px;line-height:1.45;
}
.editor-rating--ce-retail .rating-list li:last-child{border-bottom:none;background:linear-gradient(180deg,rgba(91,0,130,0.03) 0%,transparent 100%)}
.editor-rating--ce-retail .rating-dimension{font-weight:600;color:var(--oc-ink);font-size:13px}
.editor-rating--ce-retail .rating-meter-wrap{min-width:0}
.editor-rating--ce-retail .rating-meter{
  height:10px;border-radius:999px;background:#e3e6e6;overflow:hidden;border:1px solid rgba(0,0,0,0.06);
}
.editor-rating--ce-retail .rating-meter__fill{
  display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ffa41c 0%,#fa8900 100%);transition:width 0.25s ease;
}
.editor-rating--ce-retail .rating-score-num{
  font-family:var(--header-font);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;color:var(--oc-ink);text-align:right;
}
.editor-rating--ce-retail .rating-reason{
  grid-column:1 / -1;font-size:13px;color:var(--oc-ink2);margin-top:-4px;padding-bottom:2px;
}
.editor-rating--ce-retail .rating-list li.overall .rating-dimension{font-size:14px;color:var(--oc-purple)}
.editor-rating--ce-retail .rating-list li.overall .rating-meter__fill{background:linear-gradient(90deg,#7c3aed 0%,#c026d3 100%)}
/* Legacy editor-rating (paragraph / markdown fallback) */
.editor-rating:not(.editor-rating--ce-retail){margin:1.5em 0;padding:1.25em 1.5em;background:var(--surface-muted);border:1px solid var(--oc-border);border-radius:10px;max-width:720px}
.editor-rating:not(.editor-rating--ce-retail) > p{margin:0;font-size:0.9375rem;line-height:1.75;color:var(--oc-ink2)}
.editor-rating:not(.editor-rating--ce-retail) > p strong{color:var(--oc-ink)}
.editor-rating ul:not(.rating-list){list-style:none;margin:0;padding:0}
.editor-rating ul:not(.rating-list) li{padding:0.5em 0;border-bottom:1px solid var(--oc-border);font-size:0.9375rem;line-height:1.55;color:var(--oc-ink2)}
.editor-rating ul:not(.rating-list) li:last-child{border-bottom:none}
.editor-rating ul:not(.rating-list) li strong{color:var(--oc-purple);font-weight:700}

/* Focus visible — keyboard a11y */
a:focus-visible,button:focus-visible,.faq-q:focus-visible,.compare-card:focus-visible{
  outline:2px solid var(--oc-nav);
  outline-offset:2px;
}
.btn-buy:focus-visible,.btn-add-cart:focus-visible,.btn-merchant:focus-visible,.carousel .card .btn:focus-visible{outline:2px solid var(--oc-cta);outline-offset:2px}

/* Table scroll on small screens */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0.5em 0}
.table-scroll .price-table{min-width:640px}
.table-scroll .spec-table{min-width:480px}
.table-scroll .compare-matrix-table{min-width:720px}

/* Page jump nav + collapsible zones + ads + video grid + reviews rail */
.page-subnav{
  position:sticky;top:0;z-index:50;
  display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;
  padding:10px var(--content-padding);margin:0 auto 8px;
  max-width:var(--site-width);
  background:rgba(255,255,255,0.94);backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid var(--oc-border);
}
.page-subnav a{
  font-family:var(--header-font);font-size:12px;font-weight:600;color:var(--oc-link);text-decoration:none;
  padding:6px 10px;border-radius:999px;border:1px solid transparent;
}
.page-subnav a:hover{border-color:var(--oc-border);background:var(--surface-muted)}
/* Sticky subnav: clicks pass through chrome so Buy box controls aren’t blocked; links stay clickable */
@media (min-width:901px){
  .page-subnav{pointer-events:none}
  .page-subnav a{pointer-events:auto}
  #hero-buybox{scroll-margin-top:var(--page-subnav-sticky-pad)}
}
.zone-teaser{font-size:15px;line-height:1.55;color:var(--oc-ink2);margin-bottom:16px;max-width:720px}
.zone-teaser em{font-style:normal;color:var(--oc-link);font-weight:600}
details.content-zone{border:1px solid var(--oc-border);border-radius:var(--radius-md);background:var(--oc-bg);margin-bottom:16px;overflow:hidden}
details.content-zone > summary{
  list-style:none;cursor:pointer;padding:14px 18px;font-family:var(--header-font);font-weight:600;font-size:14px;color:var(--oc-ink);
  display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--oc-white);
}
details.content-zone > summary::-webkit-details-marker{display:none}
details.content-zone > summary::after{content:'▼';font-size:10px;color:var(--oc-ink3);transition:transform 0.2s ease}
details.content-zone[open] > summary::after{transform:rotate(-180deg)}
details.content-zone .content-zone-inner{padding:0 18px 20px;background:var(--oc-white)}
.ad-slot{
  max-width:var(--site-width);margin:var(--section-margin) auto;padding:24px var(--content-padding);
  border:1px solid var(--oc-border);border-radius:var(--radius-md);background:var(--surface-muted);
  text-align:center;min-height:90px;display:flex;align-items:center;justify-content:center;
}
.ad-slot-label{font-size:11px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--oc-ink3)}
.compare-strip{margin-bottom:20px;padding:16px;border:1px solid var(--oc-border);border-radius:var(--radius-md);background:var(--oc-bg)}
.compare-strip-head{font-family:var(--header-font);font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--oc-ink3);margin-bottom:12px}
.compare-strip-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.compare-strip-card{
  display:flex;gap:10px;align-items:flex-start;padding:12px;background:var(--oc-white);border:1px solid var(--oc-border);border-radius:var(--radius-sm);
}
.compare-strip-card img{width:48px;height:48px;object-fit:contain;border-radius:4px;background:var(--oc-bg)}
.compare-strip-card .cs-title{font-size:13px;font-weight:600;line-height:1.35;color:var(--oc-link);margin-bottom:4px}
.compare-strip-card .cs-meta{font-size:11px;color:var(--oc-ink2)}
.price-table .cell-thumb{width:52px}
.price-table .cell-thumb img{width:44px;height:44px;object-fit:contain}
.price-table .cell-title{font-size:13px;font-weight:600;color:var(--oc-ink);max-width:200px}
.video-zone{display:grid;grid-template-columns:1fr minmax(240px,300px);gap:20px;align-items:start;margin-top:8px}
@media (max-width:900px){.video-zone{grid-template-columns:1fr}}
.video-main .video-frame{
  aspect-ratio:16/9;background:#0f172a;border-radius:var(--radius-md);border:1px solid var(--oc-border);overflow:hidden;
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.85);font-size:13px;text-align:center;padding:0;
}
.video-main .video-frame iframe{width:100%;height:100%;border:0;display:block}
.video-playlist{border:1px solid var(--oc-border);border-radius:var(--radius-md);background:var(--oc-white);max-height:360px;overflow:auto}
.video-playlist h4{font-family:var(--header-font);font-size:13px;font-weight:700;margin:0;padding:12px 14px;border-bottom:1px solid var(--oc-border);background:var(--oc-bg)}
.video-playlist ul{list-style:none;margin:0;padding:8px}
.video-playlist li{display:flex;gap:10px;padding:10px;border-radius:6px;cursor:pointer;border:1px solid transparent}
.video-playlist li:hover{background:var(--surface-muted)}
.video-playlist li.is-active{border-color:var(--oc-cta);background:rgba(255,204,0,0.12)}
.video-playlist li img{width:72px;height:48px;object-fit:cover;border-radius:4px;background:var(--oc-bg);flex-shrink:0}
.video-playlist .vp-title{font-size:12px;font-weight:600;line-height:1.35;color:var(--oc-ink)}
.video-playlist .vp-meta{font-size:11px;color:var(--oc-ink3);margin-top:2px}
.vp-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--oc-green)}
.video-related{margin-top:20px;padding-top:16px;border-top:1px solid var(--oc-border)}
.video-related h4{font-family:var(--header-font);font-size:14px;margin-bottom:10px}
.reviews-layout{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
@media (max-width:900px){.reviews-layout{grid-template-columns:1fr}}
.reviews-rail{
  position:sticky;top:88px;padding:20px;border:1px solid var(--oc-border);border-radius:var(--radius-md);background:var(--oc-bg);
}
.reviews-rail .reviews-ce-note{font-size:12px;color:var(--oc-ink3);line-height:1.45;margin-top:16px}
.customers-say{
  padding:16px 18px;border:1px solid var(--oc-border);border-radius:var(--radius-md);background:var(--oc-bg);margin-bottom:20px;font-size:14px;line-height:1.65;color:var(--oc-ink2);
}
.customers-say strong{display:block;font-family:var(--header-font);color:var(--oc-ink);margin-bottom:8px;font-size:15px}
.review-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.review-tags span{
  display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:500;
  border:1px solid var(--oc-border);background:var(--oc-white);color:var(--oc-ink2);
}
.review-tags span::before{content:'✓';color:var(--oc-green);font-size:11px}
.reviews-photo-strip{display:flex;gap:10px;overflow-x:auto;padding:8px 0 16px;-webkit-overflow-scrolling:touch}
.reviews-photo-strip img{width:96px;height:96px;object-fit:cover;border-radius:8px;border:1px solid var(--oc-border);flex-shrink:0}
.review-cards .card .review-title{font-family:var(--header-font);font-weight:700;font-size:15px;color:var(--oc-ink);margin:8px 0 6px}
.review-cards .card .review-actions{margin-top:12px;font-size:13px;color:var(--oc-ink3)}
.review-cards .card .review-actions button{margin-right:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--oc-border);background:var(--oc-white);cursor:pointer;font-size:12px}
.spec-details{margin-top:12px}
.spec-details > summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--oc-ink);padding:10px 0}
.spec-details > summary:hover{color:var(--oc-link)}

/* Skip link */
.skip-link{position:absolute;left:-9999px;z-index:9999;padding:12px 20px;background:var(--oc-gradient);color:#fff;font-weight:600;border-radius:6px}
.skip-link:focus{left:var(--content-padding);top:12px}

/* Breadcrumb */
.breadcrumb{font-family:var(--header-font);font-size:13px;color:var(--oc-ink2);margin:12px 0;padding:0 var(--content-padding);max-width:var(--site-width);margin-left:auto;margin-right:auto}
.breadcrumb a{color:var(--oc-nav);text-decoration:none;font-weight:500}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{color:var(--oc-ink3);margin:0 6px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ═══ 7. EXTRA: Why Buy (Zone 3) ═══ */
/* CE: %Ai.extra_section1% */
.reasons-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:20px;
}
.reasons-grid .card{
  padding:20px;
  border:1px solid var(--oc-border);
  border-radius:8px;
  background:var(--oc-white);
}

/* ═══ 8. Full Specifications (Zone 6) — table only, short intro ═══ */
.spec-section .spec-intro{
  max-width:720px;
  font-size:15px;
  line-height:1.6;
  color:var(--oc-ink2);
  margin:0 0 14px;
}
.spec-section .spec-intro a{color:var(--oc-nav);font-weight:500}
.spec-section .spec-glance-list{
  max-width:720px;margin:0 0 16px;padding-left:1.25em;font-size:15px;line-height:1.65;color:var(--oc-ink2);
}
.spec-section .spec-glance-list li{margin-bottom:0.35em}
.spec-section .spec-glance-list strong{color:var(--oc-ink)}
.spec-table{width:100%;max-width:720px;border-collapse:collapse;margin-top:0}
.spec-table th,.spec-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--oc-border);font-size:14px;line-height:1.45}
.spec-table th{font-family:var(--header-font);background:var(--oc-bg);font-weight:600;color:var(--oc-ink2);width:180px;font-size:13px}
.spec-table td{color:var(--oc-ink)}

/* ═══ 9. FAQ — AEO (Zone 7) — prompt output: readable answers ═══ */
.faq-list{border:1px solid var(--oc-border);border-radius:8px;overflow:hidden}
.faq-item{border-bottom:1px solid var(--oc-border)}
.faq-item:last-child{border-bottom:none}
.faq-q{
  padding:16px 20px;
  background:var(--oc-bg);
  font-family:var(--header-font);
  font-weight:600;
  font-size:15px;
  line-height:1.4;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--oc-ink);
}
.faq-q:hover{background:var(--oc-accent-soft)}
.faq-a{
  padding:18px 20px;
  background:var(--oc-white);
  font-size:15px;
  color:var(--oc-ink2);
  line-height:1.7;
  max-width:720px;
  display:none;
}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-q span{transform:rotate(45deg)}
.faq-q span{
  flex-shrink:0;
  margin-left:12px;
  font-size:18px;
  line-height:1;
  color:var(--oc-ink3);
  transition:transform 0.2s ease;
}
.oc-pdp-faq-intro{margin-bottom:20px;max-width:720px}
.with-sidebar .section{
  max-width:none;
  margin:0 0 var(--section-margin);
}
.with-sidebar .section:last-child{margin-bottom:0}
/* FAQ intro paragraph (above accordion) */
.section .prose.section-intro{margin-bottom:1.25em;font-size:15px;color:var(--oc-ink2)}
.affiliate-bar{
  background:var(--surface-card);
  border-bottom:1px solid var(--oc-border);
  padding:12px var(--content-padding);
  font-size:13px;
  color:var(--oc-ink2);
  text-align:center;
  max-width:100%;
  margin:0 auto;
}
.affiliate-bar strong{color:var(--oc-ink);font-weight:600}
.last-updated{font-family:var(--header-font);font-size:13px;color:var(--oc-ink3);font-style:italic;margin:24px auto 32px;padding:0 var(--content-padding);max-width:var(--site-width)}
.oc-pdp-freshness{
  max-width:var(--site-width);
  margin:0 auto;
  padding:8px var(--content-padding) 40px;
  border-top:1px solid var(--oc-border);
  background:var(--surface-card);
}
.oc-pdp-freshness-schema{display:none!important}
.oc-pdp-freshness .last-updated{
  margin:16px auto 0;
  padding:0;
  text-align:center;
  max-width:720px;
}

/* ═══ 10. Q&A section (User questions — below FAQ or sidebar) ═══ */
.qa-section{
  margin-top:24px;
  padding:24px;
  border:1px solid var(--oc-border);
  border-radius:8px;
  background:var(--oc-white);
}
.qa-section h3{font-size:18px;margin-bottom:16px}
.qa-section .ask-form{margin-top:20px}
.qa-section .ask-form input{
  width:100%;
  padding:12px 16px;
  border:1px solid var(--oc-border);
  border-radius:6px;
  font-size:14px;
  margin-bottom:8px;
}
.qa-section .ask-form button{
  padding:10px 20px;
  background:var(--oc-purple);
  color:#fff;
  border:none;
  border-radius:6px;
  font-weight:600;
  cursor:pointer;
}
.qa-list .qa-item{padding:12px 0;border-bottom:1px solid var(--oc-border)}
.qa-list .qa-item:last-child{border-bottom:none}
.qa-list .q{font-weight:600;margin-bottom:4px}
.qa-list .a{font-size:14px;color:var(--oc-ink2)}

/* Z8: Customer ratings & reviews */
.review-summary{
  display:flex;
  align-items:center;
  gap:24px;
  margin-bottom:24px;
}
.review-summary .big-rating{font-family:var(--header-font);font-size:3rem;font-weight:700;color:var(--oc-ink);letter-spacing:-0.02em}
.review-summary .count{font-size:14px;color:var(--oc-ink2);font-variant-numeric:tabular-nums}
.rating-bars{margin-bottom:24px}
.rating-bars .row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
  font-size:13px;
}
.rating-bars .row .label{width:80px}
.rating-bars .row .bar-wrap{flex:1;height:8px;background:var(--oc-border);border-radius:4px;overflow:hidden}
.rating-bars .row .bar-fill{height:100%;background:var(--star-fill);border-radius:4px}
.review-cards .card{
  padding:20px;
  border:1px solid var(--oc-border);
  border-radius:8px;
  margin-bottom:16px;
}
.review-cards .card .meta{font-size:13px;color:var(--oc-ink2);margin-bottom:8px}
.review-cards .card .oc-stars{margin-bottom:8px}
.review-cards .card .text{font-size:14px;line-height:1.6}

.oc-pdp-review-form-wrap{
  margin-top:32px;
  padding:24px;
  border:1px solid var(--oc-border);
  border-radius:8px;
  background:var(--oc-white);
  scroll-margin-top:var(--page-subnav-sticky-pad);
}
.oc-pdp-review-form__title{
  font-family:var(--header-font);
  font-size:1.25rem;
  font-weight:600;
  margin:0 0 8px;
  color:var(--oc-ink);
}
.oc-pdp-review-form__intro,
.oc-pdp-review-form__notice,
.oc-pdp-review-form__login{
  font-size:14px;
  line-height:1.5;
  color:var(--oc-ink2);
  margin:0 0 16px;
}
.oc-pdp-review-form__notice{color:var(--oc-ink)}
.oc-pdp-review-form{display:grid;gap:16px;max-width:640px}
.oc-pdp-review-form label{
  display:block;
  font-size:13px;
  font-weight:600;
  margin-bottom:6px;
  color:var(--oc-ink);
}
.oc-pdp-review-form .required{color:#c2410c}
.oc-pdp-review-form select,
.oc-pdp-review-form input[type="text"],
.oc-pdp-review-form input[type="email"],
.oc-pdp-review-form textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--oc-border);
  border-radius:6px;
  font:inherit;
  color:var(--oc-ink);
  background:var(--surface-muted);
}
.oc-pdp-review-form textarea{min-height:140px;resize:vertical}
.oc-pdp-review-form__submit{
  padding:12px 20px;
  background:var(--oc-cta);
  color:var(--oc-yellow-dark);
  font-weight:700;
  border:none;
  border-radius:6px;
  cursor:pointer;
}
.oc-pdp-review-form__submit:hover{filter:brightness(0.97)}
.oc-pdp-review-form__login a{font-weight:600;color:var(--oc-link)}

/* Z12: Frequently bought together */
.fbt{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  padding:24px;
  border:1px solid var(--oc-border);
  border-radius:8px;
  background:var(--oc-white);
}
.fbt .product{
  display:flex;
  align-items:center;
  gap:12px;
}
.fbt .product img{width:80px;height:80px;object-fit:contain}
.fbt .plus{font-size:24px;color:var(--oc-ink3)}
.fbt .btn-all{
  padding:12px 24px;
  background:var(--oc-cta);
  color:var(--oc-yellow-dark);
  font-weight:700;
  border:none;
  border-radius:6px;
  cursor:pointer;
}

/* Carousels (Z11 similar, Z12 FBT, Z13 top sellers) — hub product cards + chevron */
.carousel-section{margin-bottom:40px}
.oc-pdp-rail-intro{margin-bottom:20px}
.oc-pdp-rail-intro p{margin:0}
.carousel-section h3{font-family:var(--header-font);font-size:1.25rem;font-weight:600;margin-bottom:16px;color:var(--oc-ink)}
.carousel-wrap{
  position:relative;
  margin-top:16px;
}
.carousel-wrap .carousel{margin-top:0}
.carousel{
  display:flex;
  gap:20px;
  overflow-x:auto;
  padding:8px 44px 16px 0;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
}
.carousel::-webkit-scrollbar{height:8px}
.carousel::-webkit-scrollbar-track{background:var(--oc-bg);border-radius:4px}
.carousel::-webkit-scrollbar-thumb{background:var(--oc-border);border-radius:4px}
.carousel .card{
  flex:0 0 220px;
  padding:18px;
  border:1px solid var(--oc-border);
  border-radius:var(--radius-md);
  background:var(--oc-white);
  box-shadow:var(--shadow-card);
  transition:box-shadow 0.2s ease, transform 0.2s ease;
}
.carousel .card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}
.carousel .card img{width:100%;height:180px;object-fit:contain;margin-bottom:12px;border-radius:4px}
.carousel .card .title{font-size:14px;font-weight:600;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;color:var(--oc-ink)}
.carousel .card .price{font-family:var(--header-font);font-size:1rem;font-weight:700;margin-bottom:12px;color:var(--oc-ink)}
.carousel .card .btn{width:100%;padding:10px;background:var(--oc-purple);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}
.carousel .card .btn:hover{background:var(--oc-link-hover)}

/* PDP hub rails — same product card geometry as shop / department hubs */
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap{
  --oc-rail-card:284px;
  --oc-rail-card-h:361px;
  --oc-rail-gap:22px;
  --oc-rail-media-block:206px;
  --oc-rail-body-gap:12px;
  --oc-rail-brand-h:10px;
  --oc-rail-brand-gap:13px;
  --oc-rail-title-h:38px;
  --oc-rail-title-gap:8px;
  --oc-rail-price-h:21px;
  --oc-rail-pink:#d9178a;
  --oc-rail-purple:#4a1a9e;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__wrap{position:relative}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__viewport{
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  padding:8px 44px 16px 0;
  scrollbar-width:thin;
  overscroll-behavior-x:contain;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-dynamic-rail__panel{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:var(--oc-rail-gap);
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__card{
  position:relative;
  display:flex;
  flex-direction:column;
  height:var(--oc-rail-card-h);
  min-height:var(--oc-rail-card-h);
  flex:0 0 var(--oc-rail-card);
  width:var(--oc-rail-card);
  min-width:var(--oc-rail-card);
  background:#fff;
  overflow:hidden;
  border:1px solid var(--oc-border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
  transition:box-shadow 0.2s ease, transform 0.2s ease;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__card:hover{
  box-shadow:0 8px 24px rgba(74,26,158,0.1);
  transform:translateY(-1px);
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__link{
  position:relative;
  display:grid;
  grid-template-rows:var(--oc-rail-media-block) auto;
  flex:1 1 auto;
  min-height:0;
  background:#fff;
  border:0;
  text-decoration:none!important;
  color:inherit!important;
  overflow:hidden;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__badge{
  position:absolute;
  top:15px;
  left:15px;
  z-index:3;
  min-width:40px;
  height:19px;
  padding:0 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:600;
  line-height:1;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__badge--new{background:var(--oc-rail-purple);color:#fff}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__badge--sale{background:var(--oc-rail-pink);color:#fff}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__wish{
  position:absolute;
  top:15px;
  right:15px;
  z-index:4;
  width:31px;
  height:31px;
  margin:0;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#000;
  box-shadow:0 1px 4px rgba(0,0,0,0.1);
  cursor:pointer;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__wish.is-active{color:#c41e3a}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__media{
  box-sizing:border-box;
  height:var(--oc-rail-media-block);
  padding:15px 15px 0;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__media-well{
  height:calc(var(--oc-rail-media-block) - 15px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:#fff;
  overflow:hidden;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__img,
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__media-well img{
  max-width:100%;
  max-height:calc(var(--oc-rail-media-block) - 46px);
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  display:block;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__body{
  box-sizing:border-box;
  padding:var(--oc-rail-body-gap) 15px 16px;
  min-height:0;
  display:grid;
  grid-template-rows:var(--oc-rail-brand-h) var(--oc-rail-brand-gap) var(--oc-rail-title-h) var(--oc-rail-title-gap) minmax(var(--oc-rail-price-h),auto);
  align-content:start;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__brand{
  grid-row:1;
  display:block;
  height:var(--oc-rail-brand-h);
  margin:0;
  font-size:10px;
  font-weight:600;
  line-height:var(--oc-rail-brand-h);
  color:var(--oc-rail-purple)!important;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__title{
  grid-row:3;
  margin:0!important;
  height:var(--oc-rail-title-h);
  max-height:var(--oc-rail-title-h);
  font-size:16px!important;
  font-weight:400!important;
  line-height:1.2!important;
  color:#000!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__price{
  grid-row:5;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px;
  min-height:var(--oc-rail-price-h);
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__price-current{
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  color:#000;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__price-was{
  font-size:13px;
  font-weight:400;
  line-height:1.2;
  color:#000;
  text-decoration:line-through;
  opacity:0.55;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__actions{
  position:relative;
  z-index:5;
  display:flex;
  flex:0 0 36px;
  min-height:36px;
  border-top:1px solid #e8e8e8;
  background:#fff;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__action{
  flex:1 1 50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0;
  padding:0 8px;
  border:0;
  background:transparent;
  color:#161415;
  font-size:11px;
  font-weight:500;
  line-height:1.2;
  cursor:pointer;
}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__action + .oc-home-rail__action{border-left:1px solid #e8e8e8}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__action:hover{background:#f7f7f7}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__action.is-active{color:var(--oc-rail-purple)}
body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .carousel-chevron{top:calc(var(--oc-rail-card-h) / 2)}
@media (max-width:900px){
  body.oc-single-product-pdp .oc-pdp-hub-rail-wrap{
    --oc-rail-card:252px;
    --oc-rail-card-h:320px;
    --oc-rail-media-block:182px;
    --oc-rail-gap:18px;
  }
}
@media (max-width:640px){
  body.oc-single-product-pdp .oc-pdp-hub-rail-wrap{
    --oc-rail-card:240px;
    --oc-rail-card-h:300px;
    --oc-rail-media-block:160px;
    --oc-rail-gap:16px;
    --oc-rail-title-h:36px;
  }
  body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__title{font-size:15px!important}
  body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__price-current{font-size:15px}
  body.oc-single-product-pdp .oc-pdp-hub-rail-wrap .oc-home-rail__price-was{font-size:12px}
}

.carousel-chevron{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--oc-white);
  border:1px solid var(--oc-border);
  box-shadow:0 2px 8px rgba(0,0,0,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:3;
  pointer-events:none;
  color:var(--oc-nav);
}
button.carousel-chevron{
  pointer-events:auto;
  cursor:pointer;
  padding:0;
  appearance:none;
  -webkit-appearance:none;
}
button.carousel-chevron:hover{background:var(--oc-accent-soft);color:var(--oc-purple)}
button.carousel-chevron:disabled,
button.carousel-chevron[hidden]{opacity:0.35;cursor:default;pointer-events:none}
.carousel-chevron svg{width:20px;height:20px}
.compare-carousel-wrap .carousel-chevron{
  pointer-events:auto;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,var(--oc-white) 35%);
  border:none;
  box-shadow:none;
  width:52px;
  border-radius:0;
}

/* Z10: Video — layout uses .video-zone / .video-frame (legacy .video-wrap unused in polish mock) */

/* Sidebar Q&A — same max-width and vertical rhythm as sections */
.with-sidebar{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:32px;
  max-width:var(--site-width);
  margin:var(--section-margin) auto;
  padding:0 var(--content-padding);
}
.with-sidebar > div:first-child{min-width:0}
.with-sidebar .sidebar-qa{
  position:sticky;
  top:100px;
  height:fit-content;
  padding:var(--section-padding);
  border:1px solid var(--oc-border);
  border-radius:var(--radius-lg);
  background:var(--oc-white);
  box-shadow:var(--shadow-card);
}
.with-sidebar .sidebar-qa h3{font-size:16px;margin-bottom:12px}
.with-sidebar .sidebar-qa .ask-btn{
  display:block;
  width:100%;
  padding:12px;
  background:var(--oc-purple);
  color:#fff;
  border:none;
  border-radius:6px;
  font-weight:600;
  cursor:pointer;
  text-align:center;
  margin-top:12px;
}
.with-sidebar .sidebar-qa .ask-btn:hover{background:var(--oc-link-hover)}

/* Designer + Dev panels — align to site width */
.designer-content-ref,
.dev-content-egg-ref{
  max-width:var(--site-width);
  margin-left:auto;
  margin-right:auto;
  margin-bottom:16px;
  padding-left:var(--content-padding);
  padding-right:var(--content-padding);
}

/* Mobile: sticky bar uses same offer URL as .btn-merchant--featured [data-btn-best] — populated by CE offers_list in WP */
.mobile-cta-bar{
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:90;
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(12px);
  border-top:1px solid var(--oc-border);
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -4px 24px rgba(0,0,0,0.06);
}
.mobile-cta-bar__inner{
  max-width:var(--site-width);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  width:100%;
}
.mobile-cta-bar__label{font-size:10px;text-transform:uppercase;letter-spacing:0.07em;color:var(--oc-ink3);font-weight:600}
.mobile-cta-bar__price strong{font-family:var(--header-font);font-size:1.2rem;font-variant-numeric:tabular-nums;color:var(--oc-ink)}
.mobile-cta-bar__btn{
  flex-shrink:0;
  padding:12px 18px;
  background:var(--oc-purple);
  color:#fff !important;
  font-weight:700;
  border-radius:var(--radius-md);
  text-decoration:none;
  font-size:14px;
  font-family:var(--header-font);
}
.mobile-cta-bar__btn:hover{background:var(--oc-link-hover)}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding:20px var(--content-padding)}
  .gallery-wrap{flex-direction:column}
  .gallery-thumbs{flex-direction:row;flex-wrap:wrap}
  .with-sidebar{grid-template-columns:1fr}
  .page-subnav{position:static}
  .reviews-rail{position:static}
  .mobile-cta-bar{display:block}
  body{padding-bottom:78px}
}
@media (max-width:640px){
  .editor-rating--ce-retail .rating-list li{grid-template-columns:1fr;gap:6px}
  .editor-rating--ce-retail .rating-score-num{text-align:left}
  .editor-rating--ce-retail .editor-rating__head{flex-direction:column}
  .editor-rating--ce-retail .editor-rating__score-big{font-size:2.25rem}
  .section{padding:20px 16px}
  .gallery-main{min-height:320px;max-width:100%}
  .gallery-thumbs{min-height:0}
}

/* === Live WP: Content Egg block rhythm inside PDP shell === */
body.oc-single-product-pdp .oc-pdp .cegg5-container{margin:0}
body.oc-single-product-pdp .oc-pdp .hero-offers .cegg-offers_list .cegg-list-card{border:1px solid var(--oc-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:10px}
body.oc-single-product-pdp .oc-pdp .hero-offers .cegg-offers_list a.btn,
body.oc-single-product-pdp .oc-pdp .hero-offers .cegg-offers_list .btn{width:100%;text-decoration:none;font-weight:600}
body.oc-single-product-pdp .oc-pdp .oc-pdp-ce-grid .cegg-offers_list{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px}
body.oc-single-product-pdp .oc-pdp .oc-pdp-ce-grid .cegg-grid-card{flex:0 0 240px;max-width:240px;border:1px solid var(--oc-border);border-radius:var(--radius-md);padding:16px;background:var(--surface-card)}
body.oc-single-product-pdp .oc-pdp .oc-pdp-ce-price-compare table{width:100%}

/* ═══ Polished price comparison (Option Cutter + wpDataTables) ═══ */
body.oc-single-product-pdp .oc-pdp-price-compare{margin:0}
body.oc-single-product-pdp .oc-price-compare-intro{
  margin:0 0 20px;
  font-size:15px;
  line-height:1.55;
  color:var(--oc-ink2);
}
body.oc-single-product-pdp .oc-price-compare-foot{
  margin:18px 0 8px;
  font-size:14px;
  color:var(--oc-ink2);
}
body.oc-single-product-pdp .oc-price-compare-disclaimer{
  margin:0;
  font-size:12px;
  color:var(--oc-ink3);
  line-height:1.45;
}
body.oc-single-product-pdp .price-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--oc-white);
  border:1px solid var(--oc-border);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(16,24,40,0.04),0 8px 24px rgba(74,26,158,0.06);
}
body.oc-single-product-pdp .price-table thead th{
  font-family:var(--header-font);
  text-align:left;
  padding:14px 16px;
  background:linear-gradient(180deg,#faf8ff 0%,#f3effa 100%);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--oc-ink2);
  border-bottom:1px solid var(--oc-border);
  white-space:nowrap;
}
body.oc-single-product-pdp .price-table td{
  padding:14px 16px;
  border-bottom:1px solid var(--oc-border);
  font-variant-numeric:tabular-nums;
  vertical-align:middle;
  background:#fff;
}
body.oc-single-product-pdp .price-table tbody tr:last-child td{border-bottom:none}
body.oc-single-product-pdp .price-table tbody tr{transition:background 0.15s ease,transform 0.15s ease}
body.oc-single-product-pdp .price-table tbody tr:hover td{background:#fbf9ff}
body.oc-single-product-pdp .price-table tr.highlight-row td{
  background:linear-gradient(90deg,rgba(16,185,129,0.08) 0%,rgba(16,185,129,0.03) 100%);
}
body.oc-single-product-pdp .price-table tr.highlight-row:hover td{
  background:linear-gradient(90deg,rgba(16,185,129,0.12) 0%,rgba(16,185,129,0.05) 100%);
}
body.oc-single-product-pdp .price-table .cell-thumb{width:56px}
body.oc-single-product-pdp .price-table .cell-thumb img{
  width:44px;height:44px;object-fit:contain;display:block;
  border-radius:8px;background:#fff;border:1px solid var(--oc-border);padding:4px;
}
body.oc-single-product-pdp .price-table .cell-thumb-fallback{
  width:44px;height:44px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#4a1a9e,#d9178a);color:#fff;font-weight:700;font-size:16px;
}
body.oc-single-product-pdp .price-table .cell-title{
  font-size:13px;font-weight:600;color:var(--oc-ink);max-width:280px;
  display:flex;flex-direction:column;gap:2px;
}
body.oc-single-product-pdp .price-table .cell-merchant{
  font-size:11px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--oc-purple);
}
body.oc-single-product-pdp .price-table .cell-listing{
  font-size:13px;font-weight:500;color:var(--oc-ink);line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
body.oc-single-product-pdp .price-table .cell-price{
  font-family:var(--header-font);font-weight:700;font-size:1.05rem;color:var(--oc-ink);
}
body.oc-single-product-pdp .price-table .cell-badge{margin-left:8px;vertical-align:middle}
body.oc-single-product-pdp .price-table .badge{
  display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;
  font-size:11px;font-weight:700;line-height:1.2;
}
body.oc-single-product-pdp .price-table .badge--new{background:#ede0ff;color:#4a1a9e}
body.oc-single-product-pdp .price-table .badge--best-price{background:#d1fae5;color:#047857}
body.oc-single-product-pdp .price-table .btn-buy{
  display:inline-flex;align-items:center;justify-content:center;min-width:84px;
  padding:10px 16px;background:var(--oc-purple);color:#fff!important;border:none;border-radius:8px;
  font-size:13px;font-weight:700;cursor:pointer;text-decoration:none!important;
  box-shadow:0 1px 2px rgba(74,26,158,0.25);transition:background 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease;
}
body.oc-single-product-pdp .price-table .btn-buy:hover{
  background:var(--oc-link-hover);color:#fff!important;transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(74,26,158,0.28);
}
body.oc-single-product-pdp .table-scroll .price-table{min-width:720px}

/* wpDataTables skin inside PDP */
body.oc-single-product-pdp .oc-pdp-wdt-shell{
  border:1px solid var(--oc-border);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,0.04),0 8px 24px rgba(74,26,158,0.06);
  padding:8px 8px 4px;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell .wpDataTablesWrapper,
body.oc-single-product-pdp .oc-pdp-wdt-shell .wpdt-c{
  font-family:var(--body-font),Inter,system-ui,sans-serif!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell table.wpDataTable{
  border:none!important;
  width:100%!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell table.wpDataTable thead th{
  background:linear-gradient(180deg,#faf8ff 0%,#f3effa 100%)!important;
  color:var(--oc-ink2)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:0.06em;
  text-transform:uppercase!important;
  border-bottom:1px solid var(--oc-border)!important;
  padding:14px 16px!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell table.wpDataTable tbody td{
  padding:14px 16px!important;
  border-bottom:1px solid var(--oc-border)!important;
  vertical-align:middle!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell table.wpDataTable tbody tr:hover td{
  background:#fbf9ff!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell .oc-wdt-buy-btn,
body.oc-single-product-pdp .oc-pdp-wdt-shell a.btn.oc-wdt-buy-btn{
  display:inline-flex!important;align-items:center;justify-content:center;min-width:84px;
  padding:10px 16px!important;background:var(--oc-purple)!important;color:#fff!important;
  border-radius:8px!important;font-weight:700!important;text-decoration:none!important;border:none!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell .dataTables_filter,
body.oc-single-product-pdp .oc-pdp-wdt-shell .dataTables_length,
body.oc-single-product-pdp .oc-pdp-wdt-shell .dataTables_info,
body.oc-single-product-pdp .oc-pdp-wdt-shell .dataTables_paginate{
  display:none!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell .oc-wdt-col-_sort,
body.oc-single-product-pdp .oc-pdp-wdt-shell th.column-_sort,
body.oc-single-product-pdp .oc-pdp-wdt-shell td.column-_sort{
  display:none!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell .oc-wdt-col-image img,
body.oc-single-product-pdp .oc-pdp-wdt-shell td.column-image img{
  width:44px!important;height:44px!important;object-fit:contain;border-radius:8px;
  background:#fff;border:1px solid var(--oc-border);padding:4px;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell .oc-wdt-col-price,
body.oc-single-product-pdp .oc-pdp-wdt-shell td.column-price{
  font-family:var(--header-font)!important;font-weight:700!important;font-size:1.05rem!important;
  color:var(--oc-ink)!important;white-space:nowrap;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell .oc-wdt-col-retailer,
body.oc-single-product-pdp .oc-pdp-wdt-shell td.column-retailer{
  font-size:11px!important;font-weight:700!important;letter-spacing:0.04em;text-transform:uppercase;color:var(--oc-purple)!important;
}
body.oc-single-product-pdp .oc-pdp-wdt-shell .wdt-table-loader{display:none!important}
@media (max-width:640px){
  body.oc-single-product-pdp .price-table .cell-listing{-webkit-line-clamp:3}
  body.oc-single-product-pdp .price-table .btn-buy{min-width:72px;padding:9px 12px}
}
body.oc-single-product-pdp .oc-pdp .price-updated{font-size:13px;color:var(--oc-ink3);margin-top:12px}
body.oc-single-product-pdp .oc-pdp .section-body{max-width:var(--site-width);margin:0 auto;padding:0 var(--content-padding) var(--section-padding)}
/* Sample breadcrumb at top of PDP (inside .oc-pdp); hide Elementor/Woo duplicates above. */
body.oc-single-product-pdp .oc-pdp .breadcrumb{
  display:block;
  max-width:var(--site-width);
  margin:0 auto;
  padding:12px var(--content-padding);
  font-family:var(--header-font);
  font-size:13px;
  line-height:1.45;
  color:var(--oc-ink2);
}
body.oc-single-product-pdp .oc-pdp .breadcrumb a{color:var(--oc-nav);text-decoration:none;font-weight:500}
body.oc-single-product-pdp .oc-pdp .breadcrumb a:hover{text-decoration:underline}
body.oc-single-product-pdp .oc-pdp .breadcrumb > span{color:var(--oc-ink3)}
body.oc-single-product-pdp .oc-pdp .breadcrumb > span:last-child{color:var(--oc-ink)}
body.oc-single-product-pdp .elementor-widget-woocommerce-breadcrumb,
body.oc-single-product-pdp .woocommerce-breadcrumb{display:none!important}
body.oc-single-product-pdp .gallery-thumbs .ce-gallery-thumb{border:2px solid var(--oc-border);border-radius:var(--radius-sm);background:var(--oc-bg);padding:0;cursor:pointer;overflow:hidden}
body.oc-single-product-pdp .gallery-thumbs .ce-gallery-thumb.active{border-color:var(--oc-nav);box-shadow:0 0 0 1px var(--oc-nav)}

/* Elementor single-product template ships empty chrome + duplicate Woo breadcrumb above .oc-pdp */
body.oc-single-product-pdp .elementor-location-single > .e-con.e-parent:has(.elementor-widget-woocommerce-breadcrumb),
body.oc-single-product-pdp .elementor-location-single > .e-con.e-parent:has(> .elementor-widget > .elementor-widget-container:empty){
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  max-height:0!important;
  overflow:hidden!important;
}
body.oc-single-product-pdp .elementor-location-single .e-con:has(.oc-pdp){
  margin-top:0!important;
  padding-top:0!important;
}

/* Jump nav sticks below live header chrome; top updates as header compacts on scroll. */
body.oc-single-product-pdp .oc-pdp > .page-subnav{
  position:sticky;
  top:var(--oc-pdp-sticky-nav-top,var(--oc-header-offset-compact,157px));
  z-index:45;
  margin-bottom:0;
  transition:top 0.28s ease;
}
