/*
 * Public catalog theme v0.11.0
 * A light, fast, product-first interface inspired by the clarity of leading
 * spreadsheet catalogs. The layout, copy and components remain original.
 */
:root {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f7f7f4;
  --line: #e3e2dd;
  --text: #171717;
  --muted: #6f6f6b;
  --blue: #f12b3d;
  --blue-light: #f12b3d;
  --green: #198754;
  --white: #ffffff;
  --accent: #f12b3d;
  --accent-soft: #ffe9ec;
  --ink: #171717;
  --paper: #ffffff;
  --soft: #f7f7f4;
  --display: "Inter", Arial, sans-serif;
  --mono: "IBM Plex Mono", monospace;
  --body: "Inter", Arial, sans-serif;
  --radius: 8px;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  letter-spacing: -0.01em;
}

.noise { display: none; }
.section-shell { width: min(1240px, calc(100% - 48px)); }

.site-header {
  height: 72px;
  padding: 0 clamp(20px, 4vw, 64px);
  background: rgba(255,255,255,.96);
  border-bottom-color: var(--line);
  backdrop-filter: blur(16px);
}
.brand {
  gap: 4px;
  color: var(--ink);
  font-family: var(--body);
  font-size: clamp(17px, 1.6vw, 22px);
  font-weight: 800;
  letter-spacing: -0.045em;
}
.brand span { font-weight: 800; }
.brand strong { color: var(--accent); font-weight: 800; }
.desktop-nav { gap: clamp(18px, 2.7vw, 36px); }
.desktop-nav a,
.icon-text-btn,
.saved-link {
  color: #4f4f4b;
  font-family: var(--body);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: none;
}
.desktop-nav a:hover,
.desktop-nav a.active,
.icon-text-btn:hover,
.saved-link:hover { color: var(--accent); }
.saved-link span { background: var(--accent); }
.menu-toggle span { background: var(--ink); }
.mobile-menu {
  inset: 72px 0 auto;
  background: #fff;
  border-bottom-color: var(--line);
}
.mobile-menu a,
.mobile-menu button {
  color: var(--ink);
  border-bottom-color: var(--line);
  font-family: var(--body);
  font-size: 24px;
  font-weight: 750;
}

.eyebrow,
.section-kicker {
  color: var(--accent);
  font-family: var(--body);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
}
.eyebrow { justify-content: center; margin-bottom: 20px; }
.eyebrow span { background: var(--accent); }
h1,
h2 {
  color: var(--ink);
  font-family: var(--body);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: .98;
}
h1 em,
.catalog-hero h1 em,
.brands-hero h1 em,
.content-hero h1 em { color: var(--accent); }

.btn {
  min-height: 50px;
  border-radius: 7px;
  font-family: var(--body);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: none;
}
.btn-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #fff;
}
.btn-primary:hover { background: #d91f31; border-color: #d91f31; }
.btn-outline {
  background: #fff;
  border-color: #c9c8c2;
  color: var(--ink);
}
.btn-outline:hover { border-color: var(--ink); background: var(--ink); color: #fff; }
.text-link { color: var(--ink); font-family: var(--body); font-size: 12px; font-weight: 700; text-transform: none; }
.text-link:hover { color: var(--accent); }

/* Home */
.home-page .hero {
  min-height: 500px;
  grid-template-columns: 1fr;
  place-items: center;
  padding-top: 54px;
  padding-bottom: 46px;
  text-align: center;
}
.home-page .hero-copy { width: min(900px, 100%); }
.home-page .hero h1 { font-size: clamp(58px, 8vw, 104px); }
.home-page .hero-copy > p {
  max-width: 720px;
  margin: 20px auto;
  color: var(--muted);
  font-family: var(--body);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.7;
}
.featured-find { display: none; }
.hero-search {
  max-width: 720px;
  height: 62px;
  margin-inline: auto;
  padding: 0 8px 0 19px;
  gap: 12px;
  background: #fff;
  border: 1.5px solid #bdbcb6;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(21,21,21,.06);
}
.hero-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.hero-search svg { stroke: #777773; }
.hero-search input { color: var(--ink); font-family: var(--body); font-size: 15px; }
.hero-search input::placeholder { color: #92928d; }
.hero-search button {
  height: 46px;
  padding: 0 23px;
  border: 0;
  border-radius: 6px;
  background: var(--accent);
  color: #fff;
  font-weight: 750;
  cursor: pointer;
}
.hero-search button:hover { background: #d91f31; }
.hero-actions { justify-content: center; }
.hero-updated {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: #777771;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .02em;
}
.hero-updated::before { content: "●"; color: var(--accent); font-size: 8px; }
.trust-row {
  width: min(680px,100%);
  margin: 34px auto 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.trust-row div { border-color: var(--line); }
.trust-row strong { color: var(--ink); font-family: var(--body); font-size: 19px; }
.trust-row span { color: var(--muted); font-family: var(--body); font-size: 11px; }
.hero-disclaimer { color: #898984 !important; font-size: 11px !important; }

.category-shortcuts { padding-top: 44px; padding-bottom: 66px; }
.compact-heading,
.product-heading { margin-bottom: 28px; }
.compact-heading h2,
.product-heading h2 { margin-top: 8px; font-size: clamp(38px, 5vw, 64px); }
.quick-categories { gap: 10px; }
.quick-categories a {
  min-height: 116px;
  padding: 18px;
  border: 1px solid var(--accent);
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
}
.quick-categories a:hover { border-color: var(--ink); background: var(--ink); transform: translateY(-2px); }
.quick-categories span,
.quick-categories small { color: rgba(255,255,255,.8); }
.quick-categories strong { font-family: var(--body); font-size: clamp(22px, 2.2vw, 30px); font-weight: 780; letter-spacing: -.04em; text-transform: none; }
.quick-categories b { color: #fff; }

.product-section { padding-top: 78px; padding-bottom: 95px; border-top: 1px solid var(--line); }
.filter-tabs { gap: 5px; }
.filter-tabs button {
  border-color: var(--line);
  background: #fff;
  color: #666661;
  font-family: var(--body);
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
}
.filter-tabs button:hover,
.filter-tabs button.active { border-color: var(--accent); background: var(--accent); color: #fff; }
.results-line { color: var(--muted); border-top-color: var(--line); font-family: var(--body); font-size: 11px; text-transform: none; }
.results-line select { color: var(--ink); font-family: var(--body); text-transform: none; }
.results-line select option { background: #fff; }

.product-grid,
.catalog-grid,
.related-grid {
  gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}
.product-card,
.catalog-product,
.related-card {
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.product-image {
  aspect-ratio: 1 / 1;
  border-radius: 0;
  background: var(--soft);
}
.product-image::after { display: none; }
.product-image img { filter: none; object-fit: contain; }
.product-card:hover img { transform: scale(1.025); filter: none; }
.product-badge,
.rating { display: none; }
.quick-view {
  left: 12px;
  right: 12px;
  bottom: 12px;
  min-height: 42px;
  border-radius: 6px;
  background: rgba(241,43,61,.94);
  color: #fff;
  font-family: var(--body);
  font-size: 11px;
  font-weight: 750;
  text-transform: none;
}
.save-btn { background: rgba(255,255,255,.92); border-color: #d9d8d2; }
.save-btn svg { stroke: var(--ink); }
.save-btn.saved { background: var(--accent); border-color: var(--accent); }
.product-info { min-height: 124px; padding: 15px 16px 17px; }
.product-info .product-cat { color: #8a8a85; font-family: var(--body); font-size: 10px; text-transform: none; }
.product-info h3 { margin: 7px 0 13px; color: var(--ink); font-size: 14px; line-height: 1.4; }
.product-price strong { color: var(--ink); font-family: var(--body); font-size: 17px; }
.product-price span { color: var(--accent); font-family: var(--body); font-size: 10px; text-transform: none; }

.buy-guide { border-top-color: var(--line); }
.buy-steps { border-color: var(--line); border-radius: 8px; }
.buy-steps article { background: #fff; }
.buy-steps article + article { border-color: var(--line); }
.buy-steps span { color: var(--accent); font-family: var(--body); font-weight: 800; }
.buy-steps h3 { color: var(--ink); }
.buy-steps p { color: var(--muted); font-family: var(--body); }
.seo-intro { border-top-color: var(--line); }
.seo-intro-copy > p { color: var(--muted); font-family: var(--body); font-size: 14px; }
.seo-intro-copy > small { color: #85857f; }
.seo-intro-links a { background: #fff; border-color: var(--line); border-radius: 8px; }
.seo-intro-links a:hover { border-color: var(--accent); }
.seo-intro-links strong { color: var(--ink); font-family: var(--body); font-weight: 780; text-transform: none; }

/* Catalog */
.catalog-hero {
  padding-top: 72px;
  padding-bottom: 54px;
  grid-template-columns: 1fr .7fr;
  border-bottom: 1px solid var(--line);
}
.catalog-hero h1 { margin-top: 12px; font-size: clamp(56px, 7vw, 94px); }
.catalog-hero > p { color: var(--muted); font-family: var(--body); font-size: 15px; }
.catalog-layout { padding-top: 46px; padding-bottom: 100px; }
.catalog-sidebar { border-color: var(--line); }
.filter-title,
.filter-group,
.saved-only-control { border-color: var(--line); }
.filter-title span,
.filter-group label,
.filter-label { color: var(--ink); font-family: var(--body); font-weight: 750; text-transform: none; }
.filter-title button { color: var(--accent); }
.catalog-search-wrap,
.catalog-toolbar select {
  background: #fff;
  border-color: #cfcec8;
  color: var(--ink);
}
.catalog-search-wrap:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.catalog-search-wrap input { color: var(--ink); }
.category-option {
  border-color: var(--line);
  background: #fff;
  color: #5f5f5a;
}
.category-option:hover,
.category-option.active { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.category-option i { border-color: #aaa9a2; }
.category-option.active i { border-color: var(--accent); background: var(--accent); }
.price-filter input { accent-color: var(--accent); }
.range-labels,
.catalog-note p { color: var(--muted); }
.catalog-note { background: var(--soft); border-color: var(--line); }
.catalog-note span { color: var(--accent); }
.catalog-toolbar { border-color: var(--line); }
.catalog-toolbar span { color: var(--ink); }
.catalog-toolbar small { color: var(--muted); }
.filter-chip { background: var(--accent-soft); border-color: #ffc9d0; color: #a90e21; }
.catalog-pagination a,
.catalog-pagination span { background: #fff; border-color: var(--line); color: var(--ink); }
.catalog-pagination a:hover,
.catalog-pagination a.active { background: var(--accent); border-color: var(--accent); color: #fff; }

/* Brands */
.brands-hero { border-bottom-color: var(--line); }
.brands-hero p { color: var(--muted); font-family: var(--body); font-size: 15px; }
.brand-search { color: var(--muted); font-family: var(--body); text-transform: none; }
.brand-search input { background: #fff; border-color: #cfcec8; color: var(--ink); }
.brand-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.brand-grid { gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.brand-card { border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-radius: 0; background: #fff; }
.brand-card:hover { border-color: var(--line); background: var(--accent-soft); transform: none; }
.brand-card > span,
.brand-card small { color: var(--muted); }
.brand-card strong { color: var(--ink); font-family: var(--body); font-weight: 780; text-transform: none; }
.brand-card b { color: var(--accent); }
.brands-empty { background: var(--soft); border-color: var(--line); }
.brands-empty strong { color: var(--ink); font-family: var(--body); font-weight: 800; text-transform: none; }
.brands-empty p,
.brands-note { color: var(--muted); }

/* Product detail */
.breadcrumb { color: var(--muted); }
.breadcrumb a { color: var(--ink); }
.product-detail,
.product-detail-v2,
.server-product-grid { background: #fff; border-color: var(--line); border-radius: 8px; }
.detail-gallery,
.detail-gallery-v2,
.server-product-gallery { background: var(--soft); border-color: var(--line); }
.gallery-main > img,
.server-product-gallery img { background: var(--soft); object-fit: contain; }
.gallery-main::after { display: none; }
.gallery-arrow { background: rgba(255,255,255,.9); border-color: #d3d2cc; color: var(--ink); }
.gallery-arrow:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.gallery-thumbs { border-color: var(--line); }
.gallery-thumb { background: var(--soft); }
.gallery-thumb.active { border-color: var(--accent); }
.detail-copy { background: #fff; }
.detail-category,
.detail-category a { color: var(--accent); }
.detail-copy h1,
.server-product-copy h1 { color: var(--ink); font-size: clamp(40px, 4.6vw, 68px); }
.detail-rating { color: var(--muted); }
.detail-rating i { color: var(--accent); }
.detail-price,
.detail-price-cny,
.detail-price-cny + .detail-price,
.server-product-copy .server-product-price { color: var(--accent); font-family: var(--body); font-weight: 800; }
.detail-price-row small,
.detail-description,
.selector-note,
.server-product-copy > p { color: var(--muted); font-family: var(--body); }
.detail-selector { color: var(--muted); font-family: var(--body); text-transform: none; }
.detail-selector select { background: #fff; border-color: #cfcec8; color: var(--ink); }
.detail-selector select:focus { border-color: var(--accent); }
.detail-save { border-color: #cfcec8; background: #fff; }
.detail-save svg { stroke: var(--ink); }
.detail-save.saved { background: var(--accent); border-color: var(--accent); }
.detail-secondary-actions a,
.detail-secondary-actions button,
.detail-secondary-actions span,
.agent-grid button {
  background: #fff;
  border-color: #cfcec8;
  color: #555550;
  font-family: var(--body);
  text-transform: none;
}
.detail-secondary-actions a:hover,
.detail-secondary-actions button:hover,
.agent-grid button:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.order-flow { border-color: #ffcbd1; background: #fff5f6; }
.order-flow span { color: var(--accent); }
.order-flow p { color: var(--muted); font-family: var(--body); }
.agent-options { background: var(--soft); border-color: var(--line); }
.agent-options-head > div > span { color: var(--accent); }
.agent-options-head h2 { color: var(--ink); font-family: var(--body); font-weight: 800; text-transform: none; }
.agent-options-head p,
.agent-options > small,
.agent-grid button span { color: var(--muted); font-family: var(--body); text-transform: none; }
.agent-grid button strong { color: var(--ink); }
.details-lower { border-bottom-color: var(--line); }
.buying-notes div { border-color: var(--line); }
.buying-notes span { color: var(--accent); }
.buying-notes p { color: var(--muted); font-family: var(--body); }
.seller-panel { background: var(--soft); border-color: var(--line); }
.seller-avatar { background: var(--accent); color: #fff; }
.seller-head h3,
.seller-stats strong { color: var(--ink); }
.seller-head span,
.seller-stats span,
.seller-source-link { color: var(--muted); }
.seller-stats { border-color: var(--line); }
.related-head a { color: var(--accent); }
.server-product-copy dl { background: var(--line); }
.server-product-copy dl div { background: #fff; }
.server-product-copy dt { color: var(--muted); }
.server-product-copy dd { color: var(--ink); }
.server-product-copy li,
.server-related a { border-color: var(--line); color: var(--muted); }
.server-related a:hover { border-color: var(--accent); color: var(--accent); }
.mobile-buy-bar { background: rgba(255,255,255,.97); border-color: var(--line); }
.mobile-buy-bar strong { color: var(--ink); }
.mobile-buy-bar span { color: var(--muted); }
.mobile-buy-bar a { background: var(--accent); }

/* Editorial / guide pages */
.content-breadcrumb { color: var(--muted); }
.content-breadcrumb a { color: var(--ink); }
.content-hero { border-bottom-color: var(--line); }
.content-hero > p,
.content-section p,
.content-section li { color: var(--muted); font-family: var(--body); }
.content-section { border-bottom-color: var(--line); }
.content-section a { color: var(--accent); }
.guide-step,
.trust-grid article { background: #fff; border-color: var(--line); }
.guide-step::before { color: var(--accent); }
.content-card,
.content-faq details { background: var(--soft); border-color: var(--line); }
.content-card span { color: var(--accent); }
.content-card p { color: var(--muted); font-family: var(--body); }
.content-faq summary { color: var(--ink); }

.empty-state { background: var(--soft); border-color: var(--line); }
.empty-state span { color: var(--accent); }
.empty-state h3 { color: var(--ink); }
.empty-state p { color: var(--muted); }
.toast { background: var(--ink); color: #fff; }

.site-footer { border-top-color: var(--line); }
.footer-brand p,
.footer-links a,
.footer-bottom { color: var(--muted); }
.footer-links h4 { color: var(--ink); font-family: var(--body); font-weight: 800; text-transform: none; }
.footer-links a:hover { color: var(--accent); }
.footer-bottom { border-top-color: var(--line); font-family: var(--body); font-size: 9px; }

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .catalog-hero { grid-template-columns: 1fr; gap: 22px; }
  .product-grid,
  .catalog-grid,
  .related-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .section-shell { width: min(100% - 28px, 1240px); }
  .site-header { grid-template-columns: 1fr auto; height: 64px; padding: 0 16px; }
  .header-actions { gap: 10px; }
  .sign-in-btn,
  .saved-link { display: none; }
  .mobile-menu { inset: 64px 0 auto; }
  .home-page .hero { min-height: auto; padding-top: 36px; padding-bottom: 34px; }
  .home-page .hero h1 { font-size: clamp(47px, 15vw, 68px); }
  .home-page .hero-copy > p { margin-top: 16px; margin-bottom: 18px; font-size: 14px; line-height: 1.6; }
  .hero-search { height: 58px; padding-left: 14px; }
  .hero-search button { padding: 0 16px; }
  .hero-actions { flex-direction: column; margin-top: 14px; }
  .hero-actions .btn { width: 100%; }
  .trust-row { grid-template-columns: 1fr 1fr 1fr; }
  .category-shortcuts { padding-top: 38px; padding-bottom: 56px; }
  .quick-categories { grid-template-columns: repeat(2, 1fr); }
  .quick-categories a { min-height: 104px; }
  .product-heading { align-items: flex-start; gap: 22px; }
  .filter-tabs { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .filter-tabs button { flex: none; }
  .product-grid,
  .catalog-grid,
  .related-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .product-info { min-height: 118px; padding: 13px 12px; }
  .product-info h3 { font-size: 13px; }
  .product-price span { display: none; }
  .catalog-layout { padding-top: 26px; }
  .catalog-sidebar { background: #fff; }
  .details-lower { grid-template-columns: 1fr; gap: 34px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-bottom { grid-template-columns: 1fr; gap: 16px; }
  .footer-bottom p { text-align: left; }
}

@media (max-width: 430px) {
  .section-shell { width: min(100% - 22px, 1240px); }
  .brand { font-size: 16px; }
  .home-page .hero h1 { font-size: 45px; }
  .hero-search svg { display: none; }
  .hero-search input { min-width: 0; font-size: 13px; }
  .trust-row { gap: 0; }
  .trust-row strong { font-size: 15px; }
  .trust-row span { font-size: 9px; }
  .quick-categories { grid-template-columns: 1fr 1fr; }
  .quick-categories strong { font-size: 19px; }
}

/* v0.12.0 category discovery and shopping-agent chooser */
.catalog-category-strip {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-top: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
.catalog-category-strip::-webkit-scrollbar { display: none; }
.catalog-category-strip a {
  flex: none;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 18px;
  border: 1px solid #cfcec8;
  border-radius: 999px;
  background: #fff;
  color: #4f4f4b;
  font-size: 12px;
  font-weight: 700;
}
.catalog-category-strip a:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent);
}
.product-views {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #777771 !important;
  font-family: var(--body) !important;
  font-size: 11px !important;
  font-weight: 650;
  text-transform: none !important;
}
.product-views.is-new,
.detail-views.is-new {
  color: #796315 !important;
  background: #fff9df;
  border-radius: 999px;
  padding: 4px 7px;
}
.account-header-link {
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
}
.account-header-link:hover { color: var(--accent); }
.detail-views {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--accent);
  font-family: var(--body);
  font-weight: 700;
}
.detail-rating .detail-views strong { color: inherit; }

.agent-choice-summary {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--soft);
}
.agent-choice-summary > span {
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
}
.agent-choice-summary p {
  margin: 7px 0 13px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.agent-choice-summary button {
  padding: 0;
  border: 0;
  background: none;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.agent-choice-summary button:hover { color: var(--accent); }

.agent-modal {
  width: min(900px, calc(100% - 30px));
  max-height: min(780px, calc(100vh - 30px));
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 30px 100px rgba(0,0,0,.24);
}
.agent-modal::backdrop { background: rgba(20,20,20,.62); backdrop-filter: blur(3px); }
.agent-modal-panel { padding: clamp(22px,4vw,38px); }
.agent-modal-head {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: start;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
}
.agent-modal-head > div > span {
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
}
.agent-modal-head h2 {
  margin: 7px 0 8px;
  font-size: clamp(28px,4vw,48px);
  line-height: 1;
}
.agent-modal-head p {
  max-width: 660px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.agent-modal-close {
  width: 40px;
  height: 40px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.agent-modal-close:hover { border-color: var(--accent); color: var(--accent); }
.agent-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 9px;
  padding: 22px 0;
}
.agent-modal-link {
  min-height: 74px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 11px 14px;
  border: 1px solid #d9d8d2;
  border-radius: 8px;
  background: #fff;
  transition: border-color .18s, background .18s, transform .18s;
}
.agent-modal-link:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
  transform: translateY(-1px);
}
.agent-modal-link.featured {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}
.agent-modal-link.featured:hover { background: #d91f31; }
.agent-brand-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: var(--agent-bg, var(--soft));
  color: var(--agent-color, var(--ink));
  font-size: 12px;
  font-weight: 850;
  letter-spacing: -.04em;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.agent-brand-icon span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  border-radius: inherit;
}
.agent-brand-icon img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  padding: 5px;
  background: #fff;
}
.agent-brand-icon--kakobuy img,
.agent-brand-icon--oopbuy img,
.agent-brand-icon--allchinabuy img,
.agent-brand-icon--superbuy img,
.agent-brand-icon--mulebuy img,
.agent-brand-icon--sugargoo img { padding: 0; }
.agent-brand-icon--acbuy img,
.agent-brand-icon--cssbuy img,
.agent-brand-icon--loongbuy img { padding: 7px 4px; }
.agent-brand-icon--kakobuy span { border: 2px solid #e52336; }
.agent-modal-link.featured .agent-brand-icon { box-shadow: 0 3px 12px rgba(0,0,0,.18); }
.agent-modal-link > span:nth-child(2) { display: grid; gap: 4px; }
.agent-modal-link strong { font-size: 14px; }
.agent-modal-link small { color: var(--muted); font-size: 10px; }
.agent-modal-link.featured small { color: rgba(255,255,255,.78); }
.agent-modal-link b { color: var(--accent); font-weight: 700; }
.agent-modal-link.featured b { color: #fff; }
.agent-modal-link.original { border-style: dashed; }
.agent-modal-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.agent-modal-foot p {
  max-width: 640px;
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}
.agent-modal-foot button {
  flex: none;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #cfcec8;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.agent-modal-foot button:hover { border-color: var(--accent); color: var(--accent); }
.mobile-buy-bar button {
  min-width: 150px;
  min-height: 48px;
  border: 0;
  border-radius: 7px;
  background: var(--accent);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 700px) {
  .agent-modal {
    width: calc(100% - 16px);
    max-height: calc(100dvh - 16px);
    margin: auto;
  }
  .agent-modal-panel {
    max-height: calc(100dvh - 16px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 18px 14px calc(18px + env(safe-area-inset-bottom));
  }
  .agent-modal-head { gap: 12px; padding-bottom: 16px; }
  .agent-modal-head h2 { font-size: clamp(25px,8vw,34px); }
  .agent-modal-head p { font-size: 12px; }
  .agent-modal-close { width: 44px; height: 44px; }
  .agent-modal-grid { grid-template-columns: 1fr; }
  .agent-modal-link { min-height: 68px; padding: 10px 12px; }
  .agent-modal-foot { align-items: stretch; flex-direction: column; }
  .agent-modal-foot button { width: 100%; min-height: 44px; }
}

/* v0.13.0 truthful engagement and account/mobile refinements */
.product-price .product-views { display:inline-flex !important; flex:none; }
@media (max-width:430px){
  .product-price .product-views { max-width:76px; padding:3px 6px; font-size:9px !important; white-space:nowrap; }
  .product-info { min-height:138px; }
  .account-header-link { font-size:10px; }
}

.footer-bottom p a { color: inherit; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.footer-bottom p a:hover { color: var(--accent); }


/* Mobile catalog filter drawer v0.14.0 */
.mobile-catalog-actions,
.filter-drawer-header,
.filter-drawer-footer,
.catalog-drawer-backdrop { display: none; pointer-events: none; }
.catalog-drawer-backdrop[hidden] { display: none !important; }
.filter-section-heading { display: flex; align-items: center; gap: 9px; margin-bottom: 13px; color: var(--ink); }
.filter-section-heading > span { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px; background: var(--accent-soft); color: var(--accent); font-size: 13px; }
.filter-section-heading strong { font-size: 12px; }
.brand-search-wrap { height: 40px; margin-bottom: 12px; }
.brand-filter-options { display: grid; gap: 6px; }
.brand-filter-option { min-height: 39px; display: grid; grid-template-columns: 22px 18px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 7px 9px; border: 1px solid transparent; border-radius: 7px; color: #4f4f4b; cursor: pointer; }
.brand-filter-option:hover { border-color: var(--line); background: var(--soft); }
.brand-filter-option input { width: 16px; height: 16px; margin: 0; accent-color: var(--accent); }
.brand-filter-option > span { overflow: hidden; font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.brand-filter-option small { color: var(--muted); font-size: 10px; }
.facet-rank { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: #f0efeb; color: #777772; font-size: 9px; font-style: normal; font-weight: 800; }
.facet-rank.rank-1 { background: #fff0bf; color: #8a6500; }
.facet-rank.rank-2 { background: #e9edf2; color: #53606e; }
.facet-rank.rank-3 { background: #f1dfd3; color: #8c5534; }
.filter-show-more { width: 100%; margin-top: 8px; padding: 8px; border: 0; background: transparent; color: var(--accent); cursor: pointer; font-size: 11px; font-weight: 750; }
.type-filter-options { display: flex; flex-wrap: wrap; gap: 7px; }
.type-filter-option { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: #52524e; cursor: pointer; }
.type-filter-option:hover,
.type-filter-option.active { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.type-filter-option .facet-rank { width: 18px; height: 18px; }
.type-filter-option span { font-size: 11px; font-weight: 700; }
.type-filter-option small { color: var(--muted); font-size: 9px; }
.facet-empty { margin: 0; padding: 12px; border: 1px dashed var(--line); border-radius: 7px; background: var(--soft); color: var(--muted); font-size: 11px; line-height: 1.6; }

@media (max-width: 760px) {
  body.filters-open { overflow: hidden; }
  .mobile-catalog-actions { display: grid; pointer-events: auto; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 9px; margin-bottom: 18px; }
  .mobile-filter-toggle { min-height: 50px; display: flex; align-items: center; justify-content: flex-start; gap: 9px; margin: 0; padding: 0 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); box-shadow: 0 2px 10px rgba(20,20,20,.025); }
  .mobile-filter-toggle > span { color: var(--accent); font-size: 19px; line-height: 1; }
  .mobile-filter-toggle > strong { font-size: 12px; }
  .mobile-filter-toggle > b { min-width: 20px; height: 20px; display: grid; place-items: center; margin-left: auto; border-radius: 999px; background: var(--accent); color: #fff; font-size: 10px; }
  .mobile-sort-control { min-height: 50px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 7px; padding: 0 8px 0 13px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
  .mobile-sort-control > span { color: var(--muted); font-size: 10px; font-weight: 650; white-space: nowrap; }
  .mobile-sort-control select { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 11px; font-weight: 750; }
  .catalog-drawer-backdrop { position: fixed; z-index: 149; inset: 0; display: block; background: rgba(18,18,18,.42); opacity: 0; transition: opacity .22s ease; backdrop-filter: blur(2px); }
  .catalog-drawer-backdrop.open { opacity: 1; pointer-events: auto; }
  .catalog-sidebar,
  .catalog-sidebar.open { position: fixed; z-index: 150; top: 0; right: 0; bottom: 0; left: auto; width: min(86vw,420px); max-width: 420px; display: block; margin: 0; padding: 0 18px 92px; overflow: auto; overscroll-behavior: contain; border: 0; border-left: 1px solid var(--line); border-radius: 0; background: #fff; box-shadow: -18px 0 42px rgba(25,25,25,.13); transform: translateX(104%); transition: transform .23s ease; visibility: hidden; }
  .catalog-sidebar.open { transform: translateX(0); visibility: visible; }
  .filter-drawer-header { position: sticky; pointer-events: auto; z-index: 2; top: 0; display: flex; align-items: center; justify-content: space-between; min-height: 76px; margin: 0 -18px; padding: 12px 18px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
  .filter-drawer-header > div { display: grid; gap: 4px; }
  .filter-drawer-header span { color: var(--accent); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .filter-drawer-header strong { color: var(--ink); font-size: 17px; }
  .filter-drawer-header button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); cursor: pointer; font-size: 24px; }
  .filter-title { padding: 18px 0 13px; }
  .filter-group { padding: 19px 0; }
  .catalog-search-wrap { background: var(--soft); }
  .brand-filter-options { max-height: 250px; overflow: auto; padding-right: 3px; }
  .category-options { grid-template-columns: 1fr 1fr; }
  .category-option { min-height: 43px; border: 1px solid var(--line); background: #fff; }
  .saved-only-control { padding: 18px 0; border-bottom: 1px solid var(--line); }
  .catalog-note { display: block; margin-bottom: 5px; background: var(--soft); }
  .filter-drawer-footer { position: fixed; pointer-events: auto; z-index: 3; right: 0; bottom: 0; width: min(86vw,420px); display: block; padding: 13px 18px calc(13px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(255,255,255,.97); box-shadow: 0 -8px 22px rgba(20,20,20,.07); backdrop-filter: blur(12px); }
  .filter-drawer-footer button { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 8px; background: var(--accent); color: #fff; cursor: pointer; font-size: 13px; font-weight: 800; }
  .catalog-toolbar > select { display: none; }
  .catalog-toolbar { min-height: 48px; }
  .catalog-toolbar > div { width: 100%; }
}

@media (max-width: 390px) {
  .section-shell { width: min(100% - 24px,1240px); }
  .mobile-catalog-actions { grid-template-columns: 1fr 1.12fr; }
  .mobile-filter-toggle,
  .mobile-sort-control { min-height: 47px; }
  .mobile-sort-control > span { display: none; }
  .category-options { grid-template-columns: 1fr; }
  .catalog-sidebar,
  .catalog-sidebar.open,
  .filter-drawer-footer { width: 92vw; }
}

/* Simplified product detail v0.15.0 */
.detail-shell-simple {
  width: min(1180px, calc(100% - 40px));
  padding-top: 24px;
}
.detail-shell-simple .breadcrumb {
  margin-bottom: 18px;
  font-size: 10px;
  letter-spacing: .04em;
}
.product-detail-v3 {
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(26, 26, 26, .035);
}
.detail-gallery-v2 {
  min-height: 600px;
  border-right: 1px solid var(--line);
  background: var(--soft);
}
.detail-gallery-v2 .gallery-main {
  min-height: 500px;
  background: var(--soft);
}
.detail-gallery-v2 .gallery-main > img {
  min-height: 500px;
  padding: clamp(18px, 3vw, 42px);
  object-fit: contain;
  filter: none;
}
.detail-gallery-v2 .gallery-thumbs {
  min-height: 96px;
  padding: 10px;
  gap: 8px;
  background: #fff;
}
.detail-gallery-v2 .gallery-thumb {
  width: 76px;
  min-width: 76px;
  height: 76px;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.detail-gallery-v2 .gallery-thumb img { object-fit: contain; }
.detail-copy-v3 {
  position: relative;
  display: block;
  padding: clamp(30px, 4vw, 54px);
  background: #fff;
}
.detail-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}
.detail-title-row > div { min-width: 0; }
.detail-copy-v3 .detail-category {
  display: block;
  margin-bottom: 10px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.detail-copy-v3 h1 {
  max-width: 19ch;
  margin: 0;
  color: var(--ink);
  font-family: var(--body);
  font-size: clamp(29px, 3.3vw, 46px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.035em;
  text-transform: none;
  overflow-wrap: anywhere;
}
.detail-save-compact {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: none;
  margin: 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  cursor: pointer;
}
.detail-save-compact svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke-width: 1.8;
}
.detail-save-compact.saved svg { fill: #fff; stroke: #fff; }
.detail-price-views {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 24px 0 0;
  padding: 18px 0;
  border-block: 1px solid var(--line);
}
.detail-price-group {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 9px;
}
.detail-copy-v3 .detail-price-cny,
.detail-copy-v3 .detail-price {
  font-family: var(--body);
  font-weight: 850;
  line-height: 1;
}
.detail-copy-v3 .detail-price-cny { font-size: 25px; }
.detail-copy-v3 .detail-price { font-size: 29px; }
.detail-views {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: none;
  color: var(--accent);
  font-size: 11px;
}
.detail-description-simple {
  display: -webkit-box;
  max-width: 58ch;
  margin: 18px 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.product-action-stack {
  display: grid;
  gap: 10px;
  width: 100%;
  margin: 20px 0 24px;
}
.product-action {
  width: 100%;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 0 20px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  font-family: var(--body);
  font-size: 15px;
  font-weight: 750;
  text-align: center;
  transition: transform .16s ease, opacity .16s ease, background .16s ease;
}
.product-action:hover { transform: translateY(-1px); }
.product-action svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.product-action-primary { background: var(--accent); }
.product-action-primary:hover { background: #d51d2f; }
.product-action-secondary { background: #111; }
.product-action-secondary:hover { background: #2b2b2b; }
.product-action:disabled { cursor: not-allowed; opacity: .5; transform: none; }
.detail-selectors {
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0;
}
.detail-copy-v3 .detail-selector {
  display: grid;
  gap: 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.detail-copy-v3 .detail-selector select {
  height: 50px;
  padding: 0 13px;
  border: 1px solid #d6d5d0;
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-family: var(--body);
  font-size: 13px;
}
.selector-note-simple,
.detail-purchase-note {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}
.detail-purchase-note { margin-top: 8px; }
.related-simple { padding: 70px 0 100px; }
.related-simple .related-head { margin-bottom: 24px; }
.related-simple .related-head h2 {
  margin: 5px 0 0;
  font-family: var(--body);
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 850;
  letter-spacing: -.03em;
  text-transform: none;
}
.related-simple .related-grid { gap: 12px; }
.related-simple .related-card { border-radius: 10px; overflow: hidden; }

/* Keep the server-rendered product useful and visually close to the enhanced page. */
.server-product-content { max-width: 1180px; padding: 104px 20px 90px; }
.server-product-grid { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); border-radius: 12px; background: #fff; }
.server-product-gallery { background: var(--soft); }
.server-product-gallery img { min-height: 290px; padding: 24px; background: var(--soft); object-fit: contain; }
.server-product-copy { padding: clamp(30px, 4vw, 54px); }
.server-product-copy h1 { margin: 10px 0 18px; font-family: var(--body); font-size: clamp(29px, 3.3vw, 46px); font-weight: 800; line-height: 1.08; letter-spacing: -.035em; text-transform: none; }
.server-product-copy > p { font-family: var(--body); font-size: 13px; line-height: 1.65; }
.server-product-copy .server-product-price { font-family: var(--body); font-size: 29px; font-weight: 850; }
.server-product-copy h2, .server-related h2 { font-family: var(--body); font-size: 22px; text-transform: none; }
.server-related { margin-top: 52px; }

@media (max-width: 900px) {
  .product-detail-v3 { grid-template-columns: 1fr; }
  .detail-gallery-v2 { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .detail-gallery-v2 .gallery-main,
  .detail-gallery-v2 .gallery-main > img { min-height: 540px; }
  .server-product-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  body { padding-bottom: 0; }
  .detail-shell-simple { width: 100%; padding-top: 0; }
  .detail-shell-simple .breadcrumb { display: none; }
  .product-detail-v3 { border-width: 0 0 1px; border-radius: 0; box-shadow: none; }
  .detail-gallery-v2 .gallery-main,
  .detail-gallery-v2 .gallery-main > img { min-height: min(105vw, 470px); }
  .detail-gallery-v2 .gallery-main > img { padding: 15px; }
  .detail-gallery-v2 .gallery-thumbs { min-height: 78px; padding: 8px 12px; }
  .detail-gallery-v2 .gallery-thumb { width: 62px; min-width: 62px; height: 62px; }
  .detail-copy-v3 { padding: 26px 20px 34px; }
  .detail-copy-v3 h1 { max-width: 21ch; font-size: clamp(26px, 8vw, 34px); line-height: 1.12; }
  .detail-save-compact { width: 40px; height: 40px; }
  .detail-price-views { margin-top: 19px; padding: 16px 0; }
  .detail-copy-v3 .detail-price-cny { font-size: 22px; }
  .detail-copy-v3 .detail-price { font-size: 25px; }
  .detail-views { font-size: 10px; }
  .detail-description-simple { margin: 15px 0 17px; font-size: 12px; -webkit-line-clamp: 2; }
  .product-action-stack { margin: 17px 0 24px; }
  .product-action { min-height: 58px; border-radius: 8px; font-size: 15px; }
  .detail-copy-v3 .detail-selector { font-size: 14px; }
  .detail-copy-v3 .detail-selector select { height: 52px; font-size: 14px; }
  .related-simple { padding: 52px 16px 78px; }
  .related-simple .related-head { align-items: flex-start; margin-bottom: 20px; }
  .related-simple .related-head .section-kicker { display: none; }
  .related-simple .related-head h2 { margin: 0; font-size: 27px; }
  .related-simple .related-head a { display: none; }
  .related-simple .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .related-simple .product-card:nth-child(n+5) { display: none; }
  .mobile-buy-bar { display: none !important; }
  .server-product-content { padding: 82px 0 70px; }
  .server-product-grid { border-width: 0 0 1px; border-radius: 0; }
  .server-product-gallery { grid-template-columns: 1fr; }
  .server-product-gallery img { min-height: min(105vw, 470px); padding: 15px; }
  .server-product-gallery img:not(:first-child) { display: none; }
  .server-product-copy { padding: 26px 20px 34px; }
  .server-product-copy h1 { font-size: clamp(26px, 8vw, 34px); }
  .server-related { padding-inline: 16px; }
}

@media (max-width: 390px) {
  .detail-copy-v3 { padding-inline: 16px; }
  .detail-title-row { gap: 10px; }
  .detail-price-views { gap: 10px; }
  .detail-copy-v3 .detail-price-group { gap: 6px; }
  .detail-copy-v3 .detail-price-cny { font-size: 20px; }
  .detail-copy-v3 .detail-price { font-size: 23px; }
  .detail-views span:last-child { display: none; }
  .related-simple { padding-inline: 12px; }
}

/* Catalog discovery, price range and affiliate presentation v0.16.0 */
.nav-offer-link {
  color: var(--accent) !important;
  font-weight: 800 !important;
}
.affiliate-offer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 18px;
  margin-bottom: 26px;
  padding: 20px 24px;
  border: 1px solid #ffcbd1;
  border-radius: 12px;
  background: linear-gradient(100deg, #fff6f7, #fff);
  box-shadow: 0 8px 24px rgba(35,35,35,.025);
}
.affiliate-offer > div { display: grid; gap: 5px; }
.affiliate-offer span {
  color: var(--accent);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.affiliate-offer strong { color: var(--ink); font-size: 17px; line-height: 1.3; }
.affiliate-offer small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.affiliate-offer > a,
.agent-register-link {
  flex: none;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 17px;
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}
.affiliate-offer > a:hover,
.agent-register-link:hover { background: #d91f31; }
.agent-modal-foot p span { display: block; margin-top: 4px; }

.catalog-discovery-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
  padding-top: 24px;
  padding-bottom: 18px;
}
.catalog-top-search {
  min-height: 58px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 5px 6px 5px 17px;
  border: 1px solid #cfcec8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(30,30,30,.035);
}
.catalog-top-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 4px var(--accent-soft); }
.catalog-top-search svg,
.catalog-image-search svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.catalog-top-search svg { color: #777773; }
.catalog-top-search input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font: 14px var(--body);
}
.catalog-top-search input::placeholder { color: #92928d; }
.catalog-top-search button,
.catalog-image-search {
  min-height: 46px;
  border: 0;
  border-radius: 8px;
  background: var(--accent);
  color: #fff;
  cursor: pointer;
  font: 800 12px var(--body);
}
.catalog-top-search button { padding: 0 21px; }
.catalog-image-search {
  min-width: 176px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 17px;
  background: #111;
}
.catalog-image-search:hover { background: #2b2b2b; }

.price-input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 13px; }
.price-input-grid label { display: grid; gap: 7px; }
.price-input-grid label > span { color: var(--muted); font-size: 9px; font-weight: 700; }
.price-input-grid label > div {
  height: 46px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 1px solid #cfcec8;
  border-radius: 8px;
  background: #fff;
}
.price-input-grid label > div:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.price-input-grid b { color: var(--muted); font-size: 13px; }
.price-input-grid input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font: 750 13px var(--body);
}
.price-filter-help { display: block; margin-top: 9px; color: var(--muted); font-size: 9px; line-height: 1.5; }

.image-search-modal {
  width: min(620px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
}
.image-search-modal::backdrop { background: rgba(20,20,20,.6); backdrop-filter: blur(3px); }
.image-search-panel { max-height: calc(100dvh - 24px); padding: 26px; overflow-y: auto; }
.image-search-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.image-search-head span { color: var(--accent); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.image-search-head h2 { margin: 7px 0 0; font-family: var(--body); font-size: clamp(28px,5vw,42px); font-weight: 850; letter-spacing: -.04em; }
.image-search-head button { width: 42px; height: 42px; flex: none; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); cursor: pointer; font-size: 25px; }
.image-upload-drop {
  min-height: 190px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  margin: 22px 0 14px;
  padding: 24px;
  border: 1px dashed #c9c8c2;
  border-radius: 12px;
  background: var(--soft);
  cursor: pointer;
  text-align: center;
}
.image-upload-drop:hover { border-color: var(--accent); background: var(--accent-soft); }
.image-upload-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.image-upload-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: #fff; font-size: 25px; }
.image-upload-drop strong { margin-top: 3px; font-size: 15px; }
.image-upload-drop small { max-width: 360px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.image-search-preview { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 13px; align-items: center; margin-bottom: 14px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
.image-search-preview[hidden] { display: none; }
.image-search-preview img { width: 76px; height: 76px; border-radius: 8px; background: var(--soft); object-fit: contain; }
.image-search-preview div { display: grid; gap: 5px; min-width: 0; }
.image-search-preview strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.image-search-preview small { color: var(--muted); font-size: 9px; line-height: 1.5; }
.image-search-actions { display: grid; grid-template-columns: 1.2fr .8fr; gap: 9px; }
.image-search-actions a { min-height: 50px; display: flex; align-items: center; justify-content: center; padding: 0 14px; border-radius: 8px; background: #111; color: #fff; font-size: 11px; font-weight: 800; text-align: center; }
.image-search-actions .image-register-link { border: 1px solid #ffcbd1; background: var(--accent-soft); color: var(--accent); }
.image-search-disclosure { margin: 13px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }

.related-simple .related-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.related-simple .product-card:nth-child(n+5) { display: block; }

@media (max-width: 980px) {
  .desktop-nav .nav-offer-link { display: none; }
  .related-simple .related-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .affiliate-offer { align-items: stretch; flex-direction: column; gap: 14px; margin-top: 12px; padding: 17px; }
  .affiliate-offer strong { font-size: 15px; }
  .affiliate-offer > a { width: 100%; }
  .catalog-discovery-tools { position: relative; z-index: 5; grid-template-columns: 1fr; gap: 8px; padding-top: 14px; padding-bottom: 12px; }
  .catalog-top-search { min-height: 54px; padding-left: 13px; }
  .catalog-top-search button { min-height: 42px; padding: 0 15px; }
  .catalog-image-search { width: 100%; min-height: 48px; }
  .price-input-grid { grid-template-columns: 1fr 1fr; }
  .image-search-panel { padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); }
  .image-upload-drop { min-height: 165px; }
  .image-search-actions { grid-template-columns: 1fr; }
  .related-simple .related-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 390px) {
  .catalog-top-search svg { display: none; }
  .catalog-top-search { grid-template-columns: minmax(0,1fr) auto; padding-left: 11px; }
  .catalog-top-search input { font-size: 12px; }
  .catalog-image-search { font-size: 11px; }
  .price-input-grid { gap: 7px; }
  .price-input-grid label > div { padding-inline: 8px; }
}

/* Homepage catalog editorial note v0.16.1 */
.catalog-editorial {
  display: grid;
  justify-items: center;
  padding-top: 76px;
  padding-bottom: 82px;
  text-align: center;
}
.catalog-editorial .section-kicker { margin-bottom: 13px; }
.catalog-editorial h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--mono);
  font-size: clamp(30px, 3.5vw, 48px);
  font-weight: 700;
  letter-spacing: .015em;
  line-height: 1.05;
}
.catalog-editorial > p {
  max-width: 900px;
  margin: 18px auto 0;
  color: #3f3f3c;
  font-family: var(--mono);
  font-size: 14px;
  line-height: 1.85;
}
.catalog-editorial > p strong { color: var(--ink); font-weight: 700; }
.catalog-editorial > small {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 58px;
  color: #3e3e3b;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
}
.catalog-editorial > small span { color: var(--accent); font-size: 8px; }

@media (max-width: 760px) {
  .catalog-editorial { padding-top: 58px; padding-bottom: 62px; }
  .catalog-editorial h2 { font-size: 29px; }
  .catalog-editorial > p { margin-top: 15px; font-size: 12px; line-height: 1.8; }
  .catalog-editorial > small { margin-top: 38px; font-size: 9px; }
}

@media (max-width: 390px) {
  .catalog-editorial h2 { font-size: 26px; }
  .catalog-editorial > p { font-size: 11px; }
}

/* Homepage guides and FAQ v0.17.0 */
.latest-guides,.home-faq{padding-top:78px;padding-bottom:78px;border-top:1px solid var(--line)}.home-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.home-guide-grid article{min-height:240px;display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.home-guide-grid article>span{color:var(--accent);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.08em}.home-guide-grid h3{margin:28px 0 12px;font-size:23px;line-height:1.08}.home-guide-grid h3 a{color:var(--ink);text-decoration:none}.home-guide-grid p{margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.65}.home-guide-grid .text-link{margin-top:auto}.home-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.home-faq-heading h2{margin:12px 0 18px;font-size:clamp(40px,5vw,72px);line-height:.9;letter-spacing:-.05em}.home-faq-heading p{max-width:470px;color:var(--muted);font-size:12px;line-height:1.7}.home-faq-list{border-top:1px solid var(--line)}.home-faq-list details{border-bottom:1px solid var(--line);padding:0}.home-faq-list summary{cursor:pointer;list-style:none;padding:21px 34px 21px 0;font-weight:750;font-size:14px;position:relative}.home-faq-list summary::-webkit-details-marker{display:none}.home-faq-list summary::after{content:"+";position:absolute;right:4px;top:18px;color:var(--accent);font:20px var(--mono)}.home-faq-list details[open] summary::after{content:"−"}.home-faq-list details p{margin:0;padding:0 34px 22px 0;color:var(--muted);font-size:12px;line-height:1.7}@media(max-width:760px){.latest-guides,.home-faq{padding-top:58px;padding-bottom:58px}.home-guide-grid{grid-template-columns:1fr}.home-guide-grid article{min-height:210px}.home-faq{grid-template-columns:1fr;gap:30px}.home-faq-heading h2{font-size:42px}}


/* Private all-products preview and two-level catalog navigation v0.18.6 */
.catalog-preview-banner { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:18px; padding:16px 18px; border:1px solid #f2c6cc; border-radius:10px; background:#fff4f5; color:var(--ink); }
.catalog-preview-banner[hidden] { display:none; }
.catalog-preview-banner > div { display:grid; gap:3px; }
.catalog-preview-banner span { color:var(--accent); font:800 9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.catalog-preview-banner strong { font-size:14px; }
.catalog-preview-banner p { margin:0; color:var(--muted); font-size:11px; }
.catalog-preview-banner a { flex:0 0 auto; padding:10px 13px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font-size:11px; font-weight:750; }
.catalog-taxonomy { display:grid; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.catalog-taxonomy-row { display:grid; grid-template-columns:150px minmax(0,1fr); gap:24px; align-items:start; padding:16px 0; }
.catalog-taxonomy-row + .catalog-taxonomy-row { border-top:1px solid #eeeeea; }
.catalog-taxonomy-label { display:flex; align-items:center; gap:9px; min-height:34px; color:#3e3e3b; }
.catalog-taxonomy-label span { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:var(--accent-soft); color:var(--accent); font:800 8px var(--mono); }
.catalog-taxonomy-label strong { font-size:12px; }
.catalog-taxonomy-pills,.catalog-brand-links { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-taxonomy-pills button,.catalog-brand-links button { display:inline-flex; min-height:34px; align-items:center; gap:7px; padding:0 13px; border:1px solid #deded9; border-radius:999px; background:#fff; color:#2d2d2a; cursor:pointer; font:700 11px var(--body); }
.catalog-taxonomy-pills button small,.catalog-brand-links button small { color:#999993; font:700 8px var(--mono); }
.catalog-taxonomy-pills button:hover,.catalog-taxonomy-pills button.active,.catalog-brand-links button:hover,.catalog-brand-links button.active { border-color:var(--accent); background:var(--accent); color:#fff; }
.catalog-taxonomy-pills button.active small,.catalog-brand-links button.active small,.catalog-taxonomy-pills button:hover small,.catalog-brand-links button:hover small { color:#fff; }
.taxonomy-loading { display:inline-flex; min-height:34px; align-items:center; color:var(--muted); font-size:11px; }
@media(max-width:760px){.catalog-preview-banner{align-items:flex-start;flex-direction:column;margin-top:12px}.catalog-preview-banner a{width:100%;text-align:center}.catalog-taxonomy{width:100%;padding-inline:16px}.catalog-taxonomy-row{grid-template-columns:1fr;gap:10px;padding:13px 0}.catalog-taxonomy-label{min-height:auto}.catalog-taxonomy-pills,.catalog-brand-links{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.catalog-taxonomy-pills::-webkit-scrollbar,.catalog-brand-links::-webkit-scrollbar{display:none}.catalog-taxonomy-pills button,.catalog-brand-links button{flex:0 0 auto;min-height:32px;padding:0 12px;font-size:10px}}


/* Private preview status markers v0.18.7 */
.preview-publication { position:absolute; left:10px; bottom:10px; z-index:3; display:inline-flex; min-height:24px; align-items:center; padding:0 8px; border-radius:999px; color:#fff; font:800 8px var(--mono); letter-spacing:.04em; text-transform:uppercase; box-shadow:0 2px 8px rgba(0,0,0,.12); }
.preview-publication.is-draft { background:#cc2338; }
.preview-publication.is-published { background:#18794e; }
.product-card.is-private-preview .quick-view { bottom:42px; }
.product-preview-notice { display:grid; gap:4px; margin:18px 0 20px; padding:15px 17px; border:1px solid #f2c6cc; border-radius:10px; background:#fff4f5; }
.product-preview-notice span { color:var(--accent); font:800 9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.product-preview-notice strong { color:var(--ink); font-size:14px; }
.product-preview-notice p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }
@media(max-width:760px){.preview-publication{left:8px;bottom:8px}.product-preview-notice{margin:12px 0 16px;padding:13px 14px}}

/* Homepage visual search and image categories v0.18.14 */
.hero-search-area { position:relative; z-index:20; width:min(720px,100%); margin-inline:auto; }
.hero-search-area .hero-search { width:100%; max-width:none; height:64px; padding:4px 5px 4px 20px; gap:8px; border:2px solid var(--accent); border-radius:999px; box-shadow:0 12px 32px rgba(20,20,20,.07); }
.hero-search-area .hero-search input { min-width:0; font-size:15px; font-weight:650; }
.hero-search-area .hero-search input::placeholder { color:#4d4d49; opacity:1; }
.hero-camera { flex:none; width:42px; height:48px; display:grid; place-items:center; color:#777771; border-radius:999px; }
.hero-camera:hover { color:var(--accent); background:var(--accent-soft); }
.hero-camera svg { display:block; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; }
.hero-search-area .hero-search-submit { flex:none; width:96px; height:52px; display:grid; place-items:center; padding:0; border-radius:999px; }
.hero-search-area .hero-search-submit svg { display:block; width:23px; height:23px; fill:none; stroke:#fff; stroke-width:2.6; }
.hot-searches { position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:30; padding:18px 20px 20px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 24px 55px rgba(20,20,20,.16); text-align:left; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.hero-search-area:focus-within .hot-searches,.hot-searches:hover { opacity:1; visibility:visible; transform:translateY(0); }
.hot-searches>strong { display:flex; align-items:center; gap:7px; color:var(--ink); font-size:14px; }
.hot-searches>strong span { color:var(--accent); }
.hot-search-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.hot-search-list a { min-height:34px; display:inline-flex; align-items:center; gap:5px; padding:5px 13px; border-radius:999px; background:#f3f3f3; color:#3e3e3b; font-size:13px; }
.hot-search-list a:hover { background:var(--accent-soft); color:var(--accent); }
.hot-search-list a span { min-width:20px; height:20px; display:grid; place-items:center; border-radius:6px; background:#d7d7d5; color:#656560; font-size:10px; font-weight:800; }
.hot-search-list a:nth-child(1) span { background:#ff4d58; color:#fff; }
.hot-search-list a:nth-child(2) span { background:#ff7149; color:#fff; }
.hot-search-list a:nth-child(3) span { background:#ffbd2e; color:#fff; }
.quick-categories { gap:14px; }
.quick-categories .quick-category-card { min-height:280px; display:grid; grid-template-rows:minmax(0,1fr) auto; align-content:stretch; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; color:var(--ink); box-shadow:0 8px 24px rgba(20,20,20,.04); }
.quick-categories .quick-category-card:hover { border-color:#b9b8b2; background:#fff; transform:translateY(-3px); box-shadow:0 14px 32px rgba(20,20,20,.09); }
.quick-category-media { min-height:205px; display:grid; place-items:center; overflow:hidden; background:#f5f5f2; }
.quick-category-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.quick-category-card:hover .quick-category-media img { transform:scale(1.035); }
.quick-category-meta { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; min-height:76px; padding:14px 17px; border-top:1px solid var(--line); }
.quick-categories .quick-category-meta>span { width:26px; height:26px; display:grid; place-items:center; border-radius:7px; background:var(--accent-soft); color:var(--accent); font:800 9px var(--mono); }
.quick-category-meta>div { display:grid; gap:4px; }
.quick-categories .quick-category-meta strong { color:var(--ink); font-family:var(--body); font-size:20px; font-weight:800; line-height:1.05; text-transform:none; }
.quick-categories .quick-category-meta small { color:var(--muted); font-size:9px; }
.quick-categories .quick-category-card>b { top:16px; right:16px; width:34px; height:34px; display:grid; place-items:center; border-radius:999px; background:rgba(255,255,255,.92); color:var(--ink); box-shadow:0 5px 16px rgba(20,20,20,.12); }
@media(max-width:760px){
  .hero-search-area .hero-search { height:58px; padding:3px 4px 3px 15px; }
  .hero-search-area .hero-search-submit { width:62px; height:48px; }
  .hero-search-area .hero-camera { width:36px; height:46px; }
  .hero-search-area .hero-camera svg,.hero-search-area .hero-search-submit svg { display:block; }
  .hot-searches { max-height:270px; overflow:auto; padding:16px; }
  .hot-search-list { gap:7px; }
  .hot-search-list a { min-height:31px; padding:4px 10px; font-size:11px; }
  .quick-categories .quick-category-card { min-height:220px; }
  .quick-category-media { min-height:155px; }
  .quick-category-meta { min-height:66px; padding:11px; gap:8px; }
  .quick-categories .quick-category-meta strong { font-size:17px; }
  .quick-categories .quick-category-card>b { width:30px; height:30px; top:10px; right:10px; }
}
@media(max-width:390px){
  .hero-search-area .hero-search input { font-size:12px; }
  .hero-search-area .hero-search-submit { width:56px; }
  .quick-categories .quick-category-card { min-height:205px; }
  .quick-category-media { min-height:142px; }
}

/* v0.18.16 — internal visual search and compact category gallery */
.image-search-status {
  margin: 14px 0 10px;
  padding: 11px 13px;
  border-radius: 9px;
  background: var(--soft);
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}
.image-search-status[hidden] { display: none; }
.image-search-results {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.image-search-result-card {
  min-width: 0;
  display: grid;
  grid-template-rows: 122px auto auto auto;
  gap: 5px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
}
.image-search-result-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.image-search-result-card img { width: 100%; height: 122px; border-radius: 7px; background: var(--soft); object-fit: contain; }
.image-search-result-card span { color: var(--accent); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.image-search-result-card strong { min-width: 0; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 10px; line-height: 1.35; }
.image-search-result-card small { color: var(--muted); font-size: 10px; font-weight: 800; }

.quick-categories .quick-category-card {
  min-height: 286px;
  grid-template-rows: minmax(0, 1fr) 58px;
  border-radius: 12px;
  box-shadow: 0 5px 18px rgba(20,20,20,.055);
}
.quick-categories .quick-category-media { min-height: 226px; padding: 8px; background: #fff; }
.quick-categories .quick-category-media img { object-fit: contain; }
.quick-categories .quick-category-title {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  color: var(--ink);
  font-size: 17px;
  font-weight: 750;
  line-height: 1.15;
  text-align: center;
}

@media (max-width: 760px) {
  .hero-search-area .hero-search { height: 58px; padding: 4px 5px 4px 15px; }
  .hero-search-area .hero-search-submit { width: 54px; height: 48px; border-radius: 14px; }
  .hero-search-area .hero-search-submit svg { width: 20px; height: 20px; stroke-width: 2.4; }
  .hero-search-area .hero-camera { width: 32px; height: 44px; }
  .hero-search-area .hero-camera svg { width: 20px; height: 20px; }
  .quick-categories .quick-category-card { min-height: 210px; }
  .quick-categories .quick-category-media { min-height: 158px; padding: 5px; }
  .quick-categories .quick-category-title { min-height: 52px; padding: 8px; font-size: 14px; }
  .image-search-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .image-search-result-card { grid-template-rows: 108px auto auto auto; }
  .image-search-result-card img { height: 108px; }
}


/* v0.18.19 — balanced pill search action */
.hero-search-area .hero-search-submit {
  width: 100px;
  height: 48px;
  border-radius: 999px;
}
.hero-search-area .hero-search-submit svg { width: 22px; height: 22px; }
@media (max-width: 760px) {
  .hero-search-area .hero-search { height: 58px; padding: 4px 5px 4px 15px; gap: 5px; }
  .hero-search-area .hero-search-submit { width: 70px; height: 46px; border-radius: 999px; }
  .hero-search-area .hero-search-submit svg { width: 20px; height: 20px; }
  .hero-search-area .hero-camera { width: 34px; height: 44px; }
}
@media (max-width: 390px) {
  .hero-search-area .hero-search-submit { width: 64px; }
}

/* v0.18.19 — specificity fix for the rounded search action */
.home-page .hero-search-area .hero-search-submit {
  width: 100px;
  height: 48px;
  padding: 0;
  border-radius: 999px;
}
@media (max-width: 760px) {
  .home-page .hero-search-area .hero-search-submit { width: 70px; height: 46px; padding: 0; border-radius: 999px; }
}
@media (max-width: 390px) {
  .home-page .hero-search-area .hero-search-submit { width: 64px; }
}

/* 0.20 catalog taxonomy and reference-inspired filter experience */
.catalog-category-strip {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  padding-top:16px;
  padding-bottom:16px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.catalog-category-strip a {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:0 19px;
  border:1px solid #ecece8;
  border-radius:999px;
  background:#f7f7f5;
  color:#2d2d2a;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
.catalog-category-strip a:hover,.catalog-category-strip a.active {
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
  box-shadow:0 8px 18px rgba(221,43,29,.13);
}
.filter-accordion-heading {
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  padding:0 0 11px;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  font:800 11px var(--body);
  letter-spacing:.02em;
  text-transform:uppercase;
}
.filter-accordion-heading b { color:var(--muted); font-size:14px; transition:transform .2s; }
.filter-accordion-heading[aria-expanded="false"] b { transform:rotate(-90deg); }
.facet-pill-options { display:flex; flex-wrap:wrap; gap:8px; padding-top:12px; }
.facet-pill-options[hidden] { display:none; }
.facet-pill {
  display:inline-flex;
  min-height:34px;
  align-items:center;
  gap:6px;
  padding:0 11px;
  border:1px solid #deded9;
  border-radius:999px;
  background:#fff;
  color:#555550;
  cursor:pointer;
  font:650 10px var(--body);
}
.facet-pill small { color:#999993; font:700 8px var(--mono); }
.facet-pill:hover,.facet-pill.active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
.facet-pill.active small { color:var(--accent); }
.color-pill-options .facet-pill { position:relative; }
.catalog-sidebar .filter-group { padding-block:16px; }
.catalog-sidebar .type-filter-options { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-sidebar .type-filter-option { width:auto; min-height:34px; border:1px solid #deded9; border-radius:999px; background:#fff; padding:0 11px; }
.catalog-sidebar .type-filter-option.active { border-color:var(--accent); background:var(--accent-soft); color:var(--accent); }
@media (max-width:760px) {
  .catalog-hero { padding-top:38px; padding-bottom:28px; }
  .catalog-hero h1 { font-size:clamp(42px,13vw,64px); }
  .catalog-category-strip {
    position:relative;
    justify-content:flex-start;
    flex-wrap:nowrap;
    width:100%;
    overflow-x:auto;
    padding:12px 14px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .catalog-category-strip::-webkit-scrollbar { display:none; }
  .catalog-category-strip a { flex:0 0 auto; min-height:38px; padding:0 16px; scroll-snap-align:start; font-size:11px; }
  .catalog-layout { padding-top:14px; }
  .catalog-sidebar {
    position:fixed;
    inset:0 0 0 auto;
    z-index:120;
    display:block;
    width:min(88vw,390px);
    height:100dvh;
    margin:0;
    padding:0 18px 110px;
    overflow-y:auto;
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:-20px 0 50px rgba(0,0,0,.18);
    transform:translateX(102%);
    transition:transform .22s ease;
  }
  .catalog-sidebar.open { display:block; transform:translateX(0); }
  .filter-drawer-header { position:sticky; top:0; z-index:2; display:flex; margin:0 -18px; padding:16px 18px; background:#fff; border-bottom:1px solid var(--line); }
  .filter-drawer-footer { position:fixed; right:0; bottom:0; width:min(88vw,390px); padding:12px 18px max(12px,env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--line); }
  .catalog-drawer-backdrop { position:fixed; inset:0; z-index:110; background:rgba(20,20,18,.42); opacity:0; transition:opacity .2s; }
  .catalog-drawer-backdrop.open { opacity:1; }
  body.filters-open { overflow:hidden; }
  .facet-pill-options,.catalog-sidebar .type-filter-options { gap:7px; }
  .facet-pill,.catalog-sidebar .type-filter-option { min-height:36px; }
}

/* v0.20.1 — compact guide-style catalog category pages */
.catalog-page .catalog-hero {
  width: 100%;
  max-width: none;
  min-height: 112px;
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  gap: 5px;
  padding: 24px max(24px, calc((100vw - 1240px) / 2));
  background: linear-gradient(105deg, #ff6268 0%, #df2517 100%);
  text-align: center;
}
.catalog-page .catalog-hero .section-kicker { display: none; }
.catalog-page .catalog-hero h1 {
  margin: 0;
  color: #fff;
  font-family: var(--body);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 850;
  letter-spacing: -.035em;
  line-height: 1;
  text-transform: none;
}
.catalog-page .catalog-hero p { display: none; }
.catalog-page .catalog-discovery-tools {
  width: min(100% - 36px, 570px);
  grid-template-columns: 1fr;
  margin-inline: auto;
  padding: 14px 0 10px;
}
.catalog-page .catalog-top-search {
  min-height: 56px;
  grid-template-columns: minmax(0,1fr) 42px 92px;
  gap: 2px;
  padding: 4px 5px 4px 20px;
  border-radius: 999px;
}
.catalog-page .catalog-top-search > svg { display: none; }
.catalog-page .catalog-top-search input { font-weight: 650; }
.catalog-page .catalog-search-image,
.catalog-page .catalog-search-submit {
  min-height: 46px;
  display: inline-grid;
  place-items: center;
  border: 0;
  cursor: pointer;
}
.catalog-page .catalog-search-image {
  width: 42px;
  padding: 0;
  border-radius: 999px;
  background: transparent;
  color: #696964;
}
.catalog-page .catalog-search-image:hover { color: var(--accent); background: var(--accent-soft); }
.catalog-page .catalog-search-submit {
  width: 92px;
  padding: 0;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
}
.catalog-page .catalog-search-submit:hover { background: #c92318; }
.catalog-page .catalog-search-submit span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.catalog-page .catalog-search-image svg,
.catalog-page .catalog-search-submit svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.catalog-page .catalog-category-strip { padding-top: 9px; padding-bottom: 18px; border-top: 0; }
.catalog-page .catalog-layout { padding-top: 0; }
.catalog-sidebar .filter-section-heading { gap:8px; }
.catalog-sidebar .filter-section-heading small { margin-left:auto; color:var(--muted); font-size:9px; font-weight:650; }
.filter-accordion-heading span { display:inline-flex; align-items:center; gap:7px; }
.filter-accordion-heading i { color:var(--muted); font-style:normal; font-size:12px; }
.price-apply-button,
.filter-reset-button {
  width:100%;
  min-height:40px;
  margin-top:10px;
  border:1px solid #cfcec8;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  font:800 10px var(--body);
}
.price-apply-button:hover { border-color:var(--accent); background:var(--accent); color:#fff; }
.filter-reset-button { margin:4px 0 12px; color:var(--muted); }
.filter-reset-button:hover { border-color:#aaa; color:var(--ink); }
@media (max-width: 760px) {
  .catalog-page .catalog-hero { min-height:88px; padding:20px 16px; }
  .catalog-page .catalog-hero h1 { font-size:29px; }
  .catalog-page .catalog-discovery-tools { width:calc(100% - 24px); padding-top:12px; padding-bottom:8px; }
  .catalog-page .catalog-top-search { min-height:54px; grid-template-columns:minmax(0,1fr) 38px 70px; padding-left:15px; }
  .catalog-page .catalog-search-image { width:38px; }
  .catalog-page .catalog-search-submit { width:70px; min-height:44px; }
  .catalog-page .catalog-category-strip { justify-content:flex-start; flex-wrap:nowrap; padding:9px 12px 14px; }
  .catalog-page .catalog-category-strip a { min-height:40px; padding:0 17px; }
}
.catalog-page .catalog-search-image svg,
.catalog-page .catalog-search-submit svg { display:block; }
.catalog-page .catalog-search-image svg { color:#696964; }
.catalog-page .catalog-search-submit svg { color:#fff; }

/* v0.20.2 — catalog navigation and mobile filter polish */
@media (min-width: 761px) {
  .catalog-layout { grid-template-columns: minmax(285px, 300px) minmax(0, 1fr); gap: 36px; }
  .brand-filter-option > span { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; line-height: 1.25; }
}
@media (max-width: 760px) {
  .mobile-catalog-actions { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }
  .mobile-brand-toggle { min-height: 50px; display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin: 0; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); cursor: pointer; box-shadow: 0 2px 10px rgba(20,20,20,.025); }
  .mobile-brand-toggle > span { color: var(--accent); font-size: 17px; line-height: 1; }
  .mobile-brand-toggle > strong { font-size: 11px; }
  .mobile-brand-toggle > b { min-width: 18px; height: 18px; display: grid; place-items: center; margin-left: auto; border-radius: 999px; background: var(--accent); color: #fff; font-size: 9px; }
  .catalog-sidebar { padding-bottom: 110px; }
  .filter-drawer-footer { position: sticky !important; right: auto !important; bottom: 0; width: auto !important; margin: 0 -18px; padding: 12px 18px max(12px,env(safe-area-inset-bottom)); }
}
@media (max-width: 390px) {
  .mobile-catalog-actions { grid-template-columns: 1fr 1fr; }
  .mobile-brand-toggle { grid-column: span 2; }
}
/* v0.20.3 — readable brand facet rows */
.brand-filter-option {
  grid-template-columns: 22px 18px minmax(0, 1fr) max-content;
  min-height: 44px;
}
.brand-filter-option > span {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.25;
}
.brand-filter-option small {
  justify-self: end;
  white-space: nowrap;
}
.brand-filter-option .facet-rank-placeholder {
  visibility: hidden;
}


/* v0.21.0 — confidence-aware internal visual search */
.image-search-result-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.image-search-result-card em {
  color: #217a47;
  font-size: 8px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.image-search-empty {
  grid-column: 1 / -1;
  display: grid;
  gap: 7px;
  padding: 22px;
  border: 1px dashed var(--line-strong, #cfcfca);
  border-radius: 10px;
  background: var(--soft);
  text-align: center;
}
.image-search-empty strong { font-size: 14px; }
.image-search-empty p { max-width: 460px; margin: 0 auto; color: var(--muted); font-size: 10px; line-height: 1.6; }
