/* DealDigger storefront layer — consumer shopping/editorial experience. */

:root {
  --store-ink: #111a16;
  --store-muted: #66736b;
  --store-green: #0f8a5f;
  --store-green-2: #10b981;
  --store-green-soft: #edf8f2;
  --store-blue-soft: #f2f6ff;
  --store-cream: #faf8f4;
  --store-line: #e6e8e2;
  --store-navy: #101a17;
  --store-shadow: 0 18px 50px rgba(31, 46, 38, .08);
}

/* BestShop Deals Pro — editorial midnight / ember storefront identity. */
:root { --store-ink:#12182b; --store-muted:#66718a; --store-green:#ee6b43; --store-green-2:#ffb45c; --store-green-soft:#fff3ea; --store-blue-soft:#edf3ff; --store-cream:#f8f7fb; --store-line:#e5e7ef; --store-navy:#10172d; --store-shadow:0 24px 64px rgba(26,37,70,.12); }
.storefront-page { background:#fbfbfe; color:var(--store-ink); }
.storefront-header { border-top:0; background:rgba(250,250,254,.9); border-bottom-color:#e5e7ef; box-shadow:0 8px 30px rgba(19,28,57,.06); }
.storefront-header-inner { min-height:82px; grid-template-columns:auto minmax(0,1fr) minmax(190px,240px) auto; }
.storefront-brand { color:#111931; font-family:Georgia,serif; letter-spacing:-.055em; font-size:1.42rem; }
.storefront-brand em,.brand em { color:#ed6440; font-style:normal; }
.storefront-brand-mark { width:40px; height:40px; border-radius:14px; background:linear-gradient(145deg,#ffb75a,#e95d42); box-shadow:0 12px 24px rgba(232,92,63,.3); font-family:Arial,sans-serif; }
.storefront-nav a { color:#39425a; font-weight:750; letter-spacing:.01em; }
.storefront-nav a:hover,.storefront-nav a.is-active { color:#e85f40; background:#fff1eb; }
.storefront-search { background:#fff; border-color:#dfe3ed; box-shadow:0 3px 12px rgba(31,42,76,.04); }
.storefront-account-link { background:#121a33; box-shadow:0 10px 20px rgba(18,26,51,.18); }
.storefront-kicker { background:#fff2e9; border-color:#ffd8c8; color:#c84e31; }
.store-btn-primary { background:linear-gradient(135deg,#ef6843,#f39c51); box-shadow:0 12px 26px rgba(232,91,61,.24); }
.store-btn-secondary { border-color:#dfe3ed; background:#fff; color:#202942; }
.store-section { background:#fbfbfe; }
.store-section-soft { background:linear-gradient(180deg,#f0f4ff,#fbfbfe); }
.store-section-head h2 { color:#141c35; font-family:Georgia,serif; font-weight:700; letter-spacing:-.06em; }
.store-section-head h2 span { color:#e85f40; }
.store-section-link { color:#d85638; }
.storefront-hero-section { padding:34px 0 10px; background:linear-gradient(180deg,#f9fafe,#f5f7ff); }
.storefront-hero-card { min-height:500px; grid-template-columns:.94fr 1.06fr; border-radius:34px; border:1px solid #e1e5f2; background:#eaf0ff; box-shadow:0 30px 70px rgba(36,48,92,.12); }
.storefront-hero-copy { background:radial-gradient(circle at 15% 14%,#fff8df 0,transparent 34%),linear-gradient(145deg,#111b37,#202f58); color:#fff; }
.storefront-hero-copy h1 { color:#fff; font-family:Georgia,serif; font-weight:700; letter-spacing:-.075em; }
.storefront-hero-copy h1 span { color:#ffbc65; }
.storefront-hero-copy p { color:#d5dced; max-width:500px; }
.storefront-hero-copy .storefront-kicker { width:max-content; color:#ffd18f; background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.18); }
.storefront-hero-media { min-height:500px; }
.storefront-hero-media:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(25,38,77,.13),transparent 45%); pointer-events:none; }
.hero-media-badge { right:28px; bottom:28px; border-radius:16px; background:rgba(255,255,255,.94); }
.hero-media-badge > span { background:#fff1e9; color:#e75c3c; }
.storefront-trust-strip { background:#f9fafe; padding:24px 0 16px; }
.storefront-trust-items { color:#3a4561; }
.storefront-trust-items i { background:#fff0e9; color:#dd5438; }
.category-card { border-color:#e0e4ef; border-radius:18px; box-shadow:0 12px 26px rgba(30,42,80,.06); }
.category-card-image { height:190px; }
.category-card-body { background:#fff; }
.category-icon { background:#fff0e9; color:#df5839; }
.retail-product-grid { gap:18px; }
.storefront-page .retail-product-card { border-color:#e2e5ef; border-radius:18px; box-shadow:0 13px 30px rgba(24,34,68,.06); }
.storefront-page .retail-product-card:hover { box-shadow:0 20px 42px rgba(24,34,68,.13); }
.marketplace-pill { color:#a8422b; background:#fff3ec; border-color:#ffdacc; }
.retail-product-btn { background:#17213e; border-radius:12px; }
.retail-product-btn:hover { background:#e25a3a; }
.guide-preview-card { border-color:#e1e5ef; border-radius:18px; box-shadow:0 10px 24px rgba(26,37,70,.04); }
.guide-preview-body > span,.guide-library-item > span { color:#d95437; }
.store-section-faq { background:linear-gradient(135deg,#f0f4ff,#fff7f2); }
.store-faq-list details { border-color:#e1e5ef; }
.store-faq-list summary::after { color:#e65c3c; }
.storefront-about-card { background:radial-gradient(circle at 88% 10%,rgba(255,186,105,.3),transparent 32%),linear-gradient(135deg,#111b37,#22345f); }
.storefront-about-card h2 { font-family:Georgia,serif; font-weight:700; }
.storefront-about-card h2 span { color:#ffc36f; }
.catalog-hero { background:linear-gradient(145deg,#eef3ff,#fff5ed); }
.catalog-hero-card { background:linear-gradient(135deg,#15203d,#2c4175); border:0; }
.catalog-hero-card h1 { font-family:Georgia,serif; }
.catalog-hero-card h1 span { color:#ffbd68; }
.category-chip-row a.is-active { background:#e86141; }
.store-disclosure { border-left-color:#e96242; background:#fffaf6; border-color:#f3dfd4; }
@media (max-width:1024px){.storefront-header-inner{grid-template-columns:auto 1fr auto}.storefront-nav,.storefront-search{display:none!important}.storefront-menu-toggle{display:flex!important}.storefront-hero-card{grid-template-columns:1fr}.storefront-hero-media{min-height:360px}.storefront-hero-media>img{min-height:360px}.category-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.storefront-header-inner{min-height:70px}.storefront-brand{font-size:1.2rem}.storefront-hero-section{padding-top:14px}.storefront-hero-card{border-radius:24px}.storefront-hero-copy{padding:38px 26px}.storefront-hero-copy h1{font-size:3rem}.category-grid{grid-template-columns:1fr 1fr;gap:12px}.category-card-image{height:130px}.category-card-body{padding:10px}.category-icon{display:none}.store-section{padding:50px 0}.storefront-trust-items{gap:12px}.storefront-trust-items span{font-size:.78rem}.retail-product-grid{grid-template-columns:1fr 1fr;gap:12px}.storefront-page .retail-product-card .product-card-image{height:180px;padding:12px}.storefront-page .retail-product-card .product-card-body{padding:13px}.storefront-page .retail-product-card h3{font-size:.85rem;min-height:5.1em}.product-card-price strong{font-size:.9rem}.retail-product-btn{min-height:38px;font-size:.72rem}.guide-preview-grid{grid-template-columns:1fr}.storefront-about-card{padding:32px 25px;border-radius:23px}}

.storefront-page {
  background: #fff;
  color: var(--store-ink);
}

.storefront-page .shell,
.storefront-header .shell,
.storefront-footer .shell {
  width: min(1320px, calc(100% - 48px));
}

/* Header */
.storefront-header {
  position: sticky;
  top: 0;
  z-index: 1200;
  background: rgba(255,255,255,.96);
  border-top: 3px solid #0c1712;
  border-bottom: 1px solid #e8ebe8;
  box-shadow: 0 6px 20px rgba(18, 35, 26, .05);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.storefront-header-inner {
  min-height: 74px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(210px, 260px) auto;
  align-items: center;
  gap: 22px;
}

.storefront-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #101915;
  font-weight: 900;
  font-size: 1.35rem;
  letter-spacing: -.04em;
  text-decoration: none;
  white-space: nowrap;
}

.storefront-brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, #12b981, #08734f);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 7px 18px rgba(10, 139, 91, .23), inset 0 1px 0 rgba(255,255,255,.4);
  font-size: 1.08rem;
}

.storefront-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: 4px;
}

.storefront-nav a {
  color: #27342d;
  font-size: .86rem;
  font-weight: 650;
  line-height: 1;
  padding: 12px 10px;
  border-radius: 10px;
  white-space: nowrap;
  text-decoration: none;
}

.storefront-nav a:hover,
.storefront-nav a.is-active {
  color: var(--store-green);
  background: #f0f8f4;
}

.storefront-search {
  height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid #dfe5e1;
  border-radius: 999px;
  background: #f6f8f7;
}

.storefront-search span {
  color: #66756c;
  font-size: 1.05rem;
}

.storefront-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: .88rem;
  color: #17211b;
}

.storefront-account {
  display: flex;
  align-items: center;
  gap: 8px;
}

.storefront-account-link {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  background: #0c7e58;
  color: #fff;
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
}

.storefront-menu-toggle {
  display: none !important;
  background: #101915 !important;
  border-color: rgba(255,255,255,.14) !important;
}

.storefront-mobile-menu {
  background: rgba(15, 25, 20, .99);
}

.storefront-mobile-search {
  display:grid; grid-template-columns:1fr auto; gap:8px; margin:4px 0 10px;
}
.storefront-mobile-search input {
  min-width:0; min-height:46px; padding:0 14px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(255,255,255,.07); color:#fff; outline:0;
}
.storefront-mobile-search input::placeholder { color:#91a59a; }
.storefront-mobile-search button {
  min-height:46px; padding:0 15px; border:0; border-radius:12px; background:#13a873; color:#fff; font-weight:800; cursor:pointer;
}

/* Shared storefront UI */
.storefront-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 13px;
  border: 1px solid #cde9db;
  border-radius: 999px;
  background: #f0fbf5;
  color: #08734f;
  font-size: .71rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.storefront-kicker.light {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.18);
  color: #87efbc;
}

.store-btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  font-weight: 800;
  font-size: .92rem;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.store-btn:hover { transform: translateY(-1px); }
.store-btn-primary {
  background: linear-gradient(135deg, #10b981, #087a55);
  color: #fff;
  box-shadow: 0 10px 24px rgba(12, 133, 91, .22);
}
.store-btn-secondary {
  background: #fff;
  color: #18241e;
  border-color: #dcdeda;
}
.store-btn-secondary.light {
  color: #fff;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.2);
}
.store-btn.compact { min-height: 44px; padding-inline: 18px; }

.store-section {
  padding: 72px 0;
  background: #fff;
}
.store-section-soft { background: linear-gradient(180deg, #f4f9f6, #f8fbf9); }

.store-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 30px;
}
.store-section-head.compact { margin-bottom: 22px; }
.store-section-head h2 {
  margin: 0;
  color: #111a16;
  font-size: clamp(2rem, 3.4vw, 3rem);
  line-height: 1.02;
  letter-spacing: -.055em;
  font-weight: 900;
}
.store-section-head h2 span { color: #11825d; }
.store-section-head p {
  margin: 10px 0 0;
  color: #6b766f;
  font-size: .98rem;
}
.store-section-link {
  color: #08734f;
  font-weight: 800;
  font-size: .92rem;
  text-decoration: none;
  white-space: nowrap;
}
.store-section-link span { font-size: 1.2rem; }

/* Home hero */
.storefront-hero-section { padding: 28px 0 4px; }
.storefront-hero-card {
  min-height: 450px;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  overflow: hidden;
  border: 1px solid #e5e3dc;
  border-radius: 30px;
  background: #f9f7f3;
  box-shadow: 0 22px 55px rgba(38, 47, 42, .08);
}
.storefront-hero-copy {
  padding: clamp(44px, 5vw, 76px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.storefront-hero-copy h1 {
  margin: 20px 0 18px;
  font-size: clamp(3rem, 5.5vw, 5.2rem);
  line-height: .96;
  letter-spacing: -.07em;
  font-weight: 900;
  color: #121a16;
}
.storefront-hero-copy h1 span { color: #0d875d; }
.storefront-hero-copy p {
  max-width: 580px;
  margin: 0;
  color: #56655c;
  font-size: 1.05rem;
  line-height: 1.7;
}
.storefront-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.storefront-hero-media {
  min-height: 450px;
  position: relative;
  background: #e8eee9;
  overflow: hidden;
}
.storefront-hero-media > img {
  width: 100%;
  height: 100%;
  min-height: 450px;
  object-fit: cover;
  object-position: center 42%;
}
.hero-media-badge {
  position: absolute;
  right: 24px;
  bottom: 24px;
  min-width: 210px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 30px rgba(20, 43, 31, .16);
  border: 1px solid rgba(255,255,255,.8);
}
.hero-media-badge > span {
  width: 34px; height: 34px; display:grid; place-items:center; border-radius:50%;
  color:#0d8159; background:#e9f8f0; font-weight:900;
}
.hero-media-badge strong, .hero-media-badge small { display:block; }
.hero-media-badge strong { font-size:.92rem; color:#162119; }
.hero-media-badge small { margin-top:2px; color:#77847c; font-size:.72rem; }

.storefront-trust-strip { padding: 22px 0 12px; background:#fff; }
.storefront-trust-items {
  display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:28px;
  color:#2b3831; font-size:.9rem; font-weight:650;
}
.storefront-trust-items span { display:inline-flex; align-items:center; gap:8px; }
.storefront-trust-items i { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; background:#e9f8f0; color:#08734f; font-style:normal; font-size:.72rem; }

/* Categories */
.category-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:18px; }
.category-card {
  overflow:hidden; border:1px solid #e3e5e0; border-radius:20px; background:#fff; color:#121a16;
  box-shadow:0 10px 24px rgba(30,45,37,.05); text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.category-card:hover { transform:translateY(-3px); box-shadow:0 18px 36px rgba(30,45,37,.09); }
.category-card-image { height:175px; overflow:hidden; background:#f0f2ef; }
.category-card-image img { width:100%; height:100%; object-fit:cover; object-position:var(--image-position, center); image-rendering:auto; }
.category-card-body { min-height:74px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:12px 14px; }
.category-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#0d875d; background:#eaf8f1; font-size:.55rem; }
.category-card-body strong, .category-card-body span { display:block; }
.category-card-body strong { font-size:.92rem; line-height:1.2; }
.category-card-body span { color:#7a867e; font-size:.73rem; margin-top:4px; }
.category-card-body b { color:#8b958f; font-size:1.2rem; }

/* Product cards */
.store-disclosure {
  margin-bottom: 26px;
  padding: 14px 16px;
  border:1px solid #e4dfd3;
  border-left:4px solid #0d8058;
  border-radius:13px;
  background:#fbfaf7;
  color:#59655e;
  font-size:.84rem;
  line-height:1.55;
}
.store-disclosure strong { color:#1d2822; }

.retail-product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.storefront-page .retail-product-card {
  min-width:0;
  border-radius:20px;
  border:1px solid #e4e5df;
  background:#fff;
  box-shadow:0 10px 26px rgba(26,41,33,.05);
  overflow:hidden;
}
.storefront-page .retail-product-card:hover { transform:translateY(-3px); }
.storefront-page .retail-product-card .product-card-image {
  height:265px;
  padding:20px;
  background:#fff;
  border-bottom:1px solid #ecece8;
}
.storefront-page .retail-product-card .product-card-image img { transform:none !important; object-fit:contain !important; }
.storefront-page .retail-product-card .product-card-body { padding:18px; background:#fff; }
.storefront-page .retail-product-card .product-card-body::before { display:none; }
.marketplace-pill {
  width:max-content; max-width:100%; display:inline-flex; align-items:center; min-height:26px; padding:0 9px;
  border:1px solid #e1e3de; border-radius:999px; background:#f8f8f6; color:#5f6b63; font-size:.69rem; font-weight:700;
}
.storefront-page .retail-product-card h3 {
  margin:12px 0 16px;
  min-height:4.25em;
  font-size:.98rem;
  line-height:1.42;
  font-weight:800;
  color:#131b17;
  -webkit-line-clamp:3;
}
.product-card-price { padding-top:14px; border-top:1px solid #e9ebe7; }
.product-card-price strong { display:block; color:#17221b; font-size:1.05rem; font-weight:900; }
.product-card-price span { display:block; margin-top:4px; color:#78837c; font-size:.69rem; }
.retail-product-btn {
  min-height:44px; margin-top:15px; display:flex; align-items:center; justify-content:center; gap:8px;
  border-radius:999px; background:#0d8058; color:#fff; font-size:.82rem; font-weight:850; text-decoration:none;
}
.retail-product-btn:hover { background:#086847; }

/* Guide previews */
.guide-preview-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.guide-preview-card { display:grid; grid-template-columns:150px 1fr; min-width:0; border:1px solid #e5e5df; border-radius:19px; background:#fff; overflow:hidden; }
.guide-preview-image { min-height:180px; background:#f1f2ef; overflow:hidden; }
.guide-preview-image img { width:100%; height:100%; object-fit:cover; object-position:var(--image-position, center); image-rendering:auto; }
.guide-preview-body { min-width:0; padding:18px 18px 16px; }
.guide-preview-body > span, .guide-library-item > span { display:block; color:#0b7b55; font-size:.67rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.guide-preview-body h3 { margin:7px 0 9px; font-size:1rem; line-height:1.3; letter-spacing:-.02em; }
.guide-preview-body h3 a { text-decoration:none; color:#17211b; }
.guide-preview-body p { margin:0; color:#6f7972; font-size:.78rem; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.guide-preview-body small { display:block; margin-top:12px; color:#727d75; font-size:.68rem; }

/* FAQ */
.store-section-faq { background:linear-gradient(135deg,#f3f8f5,#fbfaf7); }
.store-faq-list { display:grid; gap:10px; }
.store-faq-list details { border:1px solid #e0e3dd; border-radius:15px; background:#fff; overflow:hidden; }
.store-faq-list summary { list-style:none; cursor:pointer; padding:18px 20px; color:#19231d; font-size:.92rem; font-weight:850; display:flex; align-items:center; justify-content:space-between; gap:14px; }
.store-faq-list summary::-webkit-details-marker { display:none; }
.store-faq-list summary::after { content:'+'; color:#08734f; font-size:1.15rem; }
.store-faq-list details[open] summary::after { content:'−'; }
.store-faq-list details p { margin:0; padding:0 20px 18px; color:#66736b; font-size:.88rem; line-height:1.65; max-width:1050px; }

/* About CTA */
.storefront-about-cta { background:#fff; }
.storefront-about-card {
  min-height:290px; display:flex; align-items:center; justify-content:space-between; gap:48px;
  padding:48px 54px; border-radius:28px; background:linear-gradient(135deg,#0d1a14,#0a3b2b); color:#fff;
  box-shadow:0 22px 50px rgba(20,52,37,.17);
}
.storefront-about-card h2 { margin:16px 0 12px; font-size:clamp(2.2rem,4vw,3.8rem); line-height:1; letter-spacing:-.06em; color:#fff; }
.storefront-about-card h2 span { color:#75e6ad; }
.storefront-about-card p { margin:0; max-width:650px; color:#c8d9cf; line-height:1.7; }
.storefront-about-actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }

/* Breadcrumb / catalog */
.store-breadcrumb { display:flex; align-items:center; gap:8px; color:#7b867f; font-size:.83rem; margin-bottom:20px; }
.store-breadcrumb a { color:#56665d; text-decoration:none; }
.catalog-hero, .guide-library-hero, .guide-article-hero { padding:34px 0 0; background:#fff; }
.catalog-hero-card, .guide-library-card {
  padding:44px 48px; border:1px solid #e4e2dc; border-radius:28px; background:#faf8f4;
}
.catalog-hero-card h1, .guide-library-card h1 {
  margin:14px 0 12px; font-size:clamp(2.6rem,4.4vw,4.4rem); line-height:1; letter-spacing:-.065em; color:#111915;
}
.catalog-hero-card h1 span, .guide-library-card h1 span { color:#0e815a; }
.catalog-hero-card p, .guide-library-card p { max-width:760px; margin:0; color:#69736d; font-size:1rem; line-height:1.65; }
.catalog-section { padding-top:42px; }
.category-chip-row { display:flex; gap:8px; overflow:auto; padding:0 0 16px; scrollbar-width:none; }
.category-chip-row::-webkit-scrollbar { display:none; }
.category-chip-row a { flex:0 0 auto; min-height:38px; display:inline-flex; align-items:center; padding:0 14px; border:1px solid #e1e4df; border-radius:999px; color:#546158; background:#fff; font-size:.78rem; font-weight:800; text-decoration:none; }
.category-chip-row a.is-active, .category-chip-row a:hover { background:#0d8058; border-color:#0d8058; color:#fff; }
.retail-toolbar { margin:8px 0 18px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.retail-toolbar form { display:flex; align-items:center; gap:9px; min-width:min(620px,100%); }
.retail-toolbar .search-input { min-height:46px; flex:1; max-width:none; border-radius:999px; }
.catalog-result-count { color:#657168; font-size:.86rem; font-weight:800; white-space:nowrap; }
.store-empty-state { padding:60px 28px; text-align:center; border:1px dashed #d7ddd9; border-radius:22px; background:#f8faf8; }
.store-empty-state strong { display:block; font-size:1.35rem; }
.store-empty-state p { margin:8px 0 20px; color:#6c776f; }
.retail-pagination { margin-top:38px; gap:7px; }
.retail-pagination a, .retail-pagination span.current { border-radius:50%; width:42px; height:42px; }
.retail-pagination .dots { display:grid; place-items:center; width:30px; color:#818c85; }

/* Guide library */
.guide-count { margin-bottom:22px; color:#56645b; font-size:.88rem; }
.guide-library-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.guide-library-item { min-height:235px; padding:24px; border:1px solid #e1e2dc; border-radius:22px; background:#fff; }
.guide-library-item h2 { margin:10px 0; font-size:1.13rem; line-height:1.34; letter-spacing:-.025em; }
.guide-library-item h2 a { color:#151e19; text-decoration:none; }
.guide-library-item p { margin:0; color:#69756d; font-size:.87rem; line-height:1.6; }
.guide-library-item small { display:block; margin-top:18px; color:#5f6c64; font-size:.76rem; }
.guide-transparency { border-top:1px solid #eceeea; }

/* Guide article */
.guide-article-hero-grid { display:grid; grid-template-columns:1fr .8fr; gap:34px; align-items:center; padding:44px; border:1px solid #e3e3dc; border-radius:28px; background:#faf8f4; }
.guide-article-hero h1 { margin:16px 0; font-size:clamp(2.4rem,4.7vw,4.5rem); line-height:1; letter-spacing:-.065em; color:#111915; }
.guide-article-hero p { max-width:760px; color:#647168; line-height:1.68; }
.guide-meta { margin-top:18px; color:#66746b; font-size:.82rem; font-weight:750; }
.guide-article-image { height:340px; overflow:hidden; border-radius:20px; background:#eef1ed; }
.guide-article-image img { width:100%; height:100%; object-fit:cover; object-position:var(--image-position, center); image-rendering:auto; }
.guide-article-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(240px,320px); justify-content:center; gap:50px; }
.guide-article-body { min-width:0; }
.guide-note { padding:17px 18px; border:1px solid #dfe8e2; border-left:4px solid #0d8058; border-radius:14px; background:#f5faf7; color:#5e6d64; font-size:.88rem; line-height:1.6; }
.guide-article-body section { padding:32px 0; border-bottom:1px solid #eceeea; }
.guide-article-body h2 { margin:0 0 12px; font-size:1.65rem; line-height:1.2; letter-spacing:-.035em; }
.guide-copy { color:#536159; font-size:1rem; line-height:1.78; }
.guide-copy ul { margin:14px 0 0 20px; display:grid; gap:8px; }
.guide-affiliate-note { margin-top:28px; padding:16px 18px; border-radius:14px; background:#faf8f3; border:1px solid #e8e3d9; color:#616d65; font-size:.84rem; }
.guide-article-aside { align-self:start; position:sticky; top:100px; }
.guide-aside-card { padding:24px; border:1px solid #e1e5e0; border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(24,42,32,.06); }
.guide-aside-card > span { color:#0b7b55; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.guide-aside-card h3 { margin:10px 0 8px; font-size:1.3rem; }
.guide-aside-card p { margin:0 0 18px; color:#6d7971; font-size:.86rem; line-height:1.55; }

/* Footer */
.storefront-footer { padding:56px 0 24px; background:#0e1b16; color:#c7d4cc; }
.storefront-footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:54px; }
.storefront-brand--footer { color:#fff; }
.storefront-footer-brand p { margin:16px 0 0; max-width:300px; color:#8fa198; font-size:.86rem; line-height:1.65; }
.storefront-footer h4 { margin:4px 0 16px; color:#fff; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; }
.storefront-footer-grid > div:not(:first-child) a { display:block; margin:9px 0; color:#aebeb5; font-size:.85rem; text-decoration:none; }
.storefront-footer-grid > div:not(:first-child) a:hover { color:#fff; }
.storefront-footer-bottom { margin-top:44px; padding-top:22px; display:flex; justify-content:space-between; gap:30px; border-top:1px solid rgba(255,255,255,.08); color:#82958a; font-size:.78rem; }
.amazon-footer-note { margin-top:12px; color:#65796e; font-size:.64rem; line-height:1.45; }

/* Responsive */
@media (max-width: 1180px) {
  .storefront-header-inner { grid-template-columns:auto 1fr auto; }
  .storefront-search { display:none; }
  .storefront-nav { justify-content:flex-end; }
  .category-grid { grid-template-columns:repeat(3,1fr); }
  .retail-product-grid { grid-template-columns:repeat(3,1fr); }
  .guide-preview-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 960px) {
  .storefront-nav { display:none; }
  .storefront-account-link { display:none; }
  .storefront-menu-toggle { display:flex !important; }
  .storefront-header-inner { grid-template-columns:1fr auto; min-height:66px; }
  .storefront-hero-card { grid-template-columns:1fr; }
  .storefront-hero-media { min-height:340px; }
  .storefront-hero-media > img { min-height:340px; }
  .storefront-hero-copy { padding:48px 42px; }
  .category-grid { grid-template-columns:repeat(2,1fr); }
  .retail-product-grid { grid-template-columns:repeat(2,1fr); }
  .guide-library-grid { grid-template-columns:repeat(2,1fr); }
  .guide-article-hero-grid { grid-template-columns:1fr; padding:32px; }
  .guide-article-layout { grid-template-columns:1fr; }
  .guide-article-aside { position:static; }
  .storefront-footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .storefront-footer-grid > div:last-child { grid-column:2/4; }
}

@media (max-width: 720px) {
  .storefront-page .shell,
  .storefront-header .shell,
  .storefront-footer .shell { width:min(100% - 28px,1320px); }
  .storefront-brand { font-size:1.12rem; }
  .storefront-brand-mark { width:35px; height:35px; }
  .storefront-hero-section { padding-top:16px; }
  .storefront-hero-card { border-radius:22px; }
  .storefront-hero-copy { padding:34px 24px; }
  .storefront-hero-copy h1 { font-size:clamp(2.65rem,12vw,4rem); }
  .storefront-hero-copy p { font-size:.98rem; }
  .storefront-hero-actions { flex-direction:column; }
  .storefront-hero-actions .store-btn { width:100%; }
  .storefront-hero-media, .storefront-hero-media > img { min-height:300px; }
  .hero-media-badge { right:14px; bottom:14px; min-width:0; }
  .storefront-trust-items { display:grid; gap:10px; }
  .store-section { padding:52px 0; }
  .store-section-head { align-items:flex-start; margin-bottom:22px; }
  .store-section-head h2 { font-size:2.35rem; }
  .category-grid { gap:12px; }
  .category-card-image { height:135px; }
  .category-card-body { grid-template-columns:1fr auto; padding:12px; }
  .category-icon { display:none; }
  .category-card-body strong { font-size:.85rem; }
  .retail-product-grid { gap:14px; }
  .storefront-page .retail-product-card .product-card-image { height:210px; padding:14px; }
  .storefront-page .retail-product-card .product-card-body { padding:15px; }
  .storefront-page .retail-product-card h3 { font-size:.9rem; min-height:4.3em; }
  .guide-preview-grid { grid-template-columns:1fr; }
  .storefront-about-card { display:block; padding:34px 24px; border-radius:22px; }
  .storefront-about-actions { margin-top:24px; justify-content:flex-start; }
  .catalog-hero-card, .guide-library-card { padding:30px 24px; border-radius:22px; }
  .retail-toolbar { display:block; }
  .retail-toolbar form { min-width:0; width:100%; flex-wrap:wrap; }
  .retail-toolbar .search-input { width:100%; flex-basis:100%; }
  .catalog-result-count { display:block; margin-top:12px; }
  .guide-library-grid { grid-template-columns:1fr; }
  .guide-article-hero-grid { padding:26px 22px; border-radius:22px; }
  .guide-article-image { height:250px; }
  .storefront-footer-grid { grid-template-columns:1fr 1fr; gap:32px 24px; }
  .storefront-footer-grid > div:first-child { grid-column:1/-1; }
  .storefront-footer-grid > div:last-child { grid-column:auto; }
  .storefront-footer-bottom { flex-direction:column; gap:8px; }
}

@media (max-width: 520px) {
  .category-grid { grid-template-columns:1fr 1fr; }
  .category-card-image { height:112px; }
  .retail-product-grid { grid-template-columns:1fr; }
  .storefront-page .retail-product-card .product-card-image { height:285px; }
  .guide-preview-card { grid-template-columns:110px 1fr; }
  .guide-preview-image { min-height:170px; }
  .storefront-about-actions .store-btn { width:100%; }
  .storefront-footer-grid { grid-template-columns:1fr; }
  .storefront-footer-grid > div:last-child { grid-column:auto; }
}

/* Final BestShop Pro overrides: kept last so legacy storefront selectors cannot win. */
.storefront-header{border-top:0!important;background:rgba(250,250,254,.93)!important;border-bottom-color:#e5e7ef!important}.storefront-brand{color:#111931!important;font-family:Georgia,serif}.storefront-brand-mark{background:linear-gradient(145deg,#ffb75a,#e95d42)!important}.storefront-nav a:hover,.storefront-nav a.is-active{color:#e85f40!important;background:#fff1eb!important}.storefront-account-link{background:#121a33!important}.store-btn-primary{background:linear-gradient(135deg,#ef6843,#f39c51)!important}.storefront-hero-section{background:linear-gradient(180deg,#f9fafe,#f5f7ff)!important}.storefront-hero-card{border-color:#e1e5f2!important;background:#eaf0ff!important;box-shadow:0 30px 70px rgba(36,48,92,.12)!important}.storefront-hero-copy{background:radial-gradient(circle at 15% 14%,#fff8df 0,transparent 34%),linear-gradient(145deg,#111b37,#202f58)!important}.storefront-hero-copy h1{color:#fff!important;font-family:Georgia,serif!important}.storefront-hero-copy h1 span{color:#ffbc65!important}.storefront-hero-copy p{color:#d5dced!important}.storefront-kicker{background:#fff2e9!important;border-color:#ffd8c8!important;color:#c84e31!important}.storefront-hero-copy .storefront-kicker{color:#ffd18f!important;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important}.store-section,.storefront-page{background:#fbfbfe!important}.store-section-soft{background:linear-gradient(180deg,#f0f4ff,#fbfbfe)!important}.store-section-head h2{color:#141c35!important;font-family:Georgia,serif!important}.store-section-head h2 span{color:#e85f40!important}.retail-product-btn{background:#17213e!important;border-radius:12px!important}.retail-product-btn:hover{background:#e25a3a!important}.marketplace-pill{color:#a8422b!important;background:#fff3ec!important;border-color:#ffdacc!important}.storefront-about-card,.catalog-hero-card{background:linear-gradient(135deg,#111b37,#22345f)!important}.storefront-about-card h2,.catalog-hero-card h1{font-family:Georgia,serif!important}.storefront-about-card h2 span,.catalog-hero-card h1 span{color:#ffc36f!important}.category-icon{background:#fff0e9!important;color:#df5839!important}.store-disclosure{border-left-color:#e96242!important;background:#fffaf6!important}
.catalog-hero-card h1 {
  color: #ffffff !important;
}

.catalog-hero-card p {
  color: #d5dced !important;
}
.storefront-footer .storefront-brand { color:#ffffff!important; }
.storefront-footer .storefront-brand em { color:#ffb45c!important; }
.storefront-footer .storefront-brand-mark { color:#ffffff!important; flex:0 0 40px; }
