/* _base.css */
:root{--navy:#131921;--navy2:#232f3e;--black:#0f1111;--panel:#182029;--panel2:#202a34;--line:#344250;--white:#f4f5f5;--muted:#abb4bd;--orange:#ff9900;--orange2:#febd69;--yellow:#ffd814;--red:#cc0c39}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0e1318;color:var(--white);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}header{position:relative;z-index:10}.topbar{min-height:72px;background:var(--navy);display:grid;grid-template-columns:auto minmax(320px,1fr) auto auto;align-items:center;gap:22px;padding:10px 3vw}.brand{display:flex;align-items:center;gap:7px;white-space:nowrap}.brand-moon{color:var(--orange);font-size:44px;line-height:1}.brand strong{display:block;font-size:23px;line-height:20px}.brand small{display:block;color:var(--orange2);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.search{height:46px;display:flex;border-radius:5px;overflow:hidden;box-shadow:0 0 0 3px transparent}.search:focus-within{box-shadow:0 0 0 3px var(--orange)}.search select{border:0;background:#e6e6e6;color:#333;padding:0 10px}.search input{min-width:0;flex:1;border:0;padding:0 16px;font-size:16px;outline:0}.search button{width:56px;border:0;background:var(--orange2);font-size:29px;cursor:pointer}.header-link{display:flex;flex-direction:column;white-space:nowrap}.header-link small{font-size:11px;color:#ddd}.header-link strong{font-size:14px}.cart{flex-direction:row;align-items:end;gap:5px}.cart span{font-size:28px}.navrow{min-height:40px;background:var(--navy2);display:flex;align-items:center;gap:28px;padding:0 3vw;font-size:14px;overflow-x:auto;white-space:nowrap}.navrow a:hover{outline:1px solid white;padding:8px 5px;margin:-8px -5px}.nav-promo{margin-left:auto;color:var(--orange2);font-weight:bold}.hero{height:520px;position:relative;overflow:hidden;display:flex;align-items:center}.hero>img{position:absolute;inset:0;height:100%;object-position:center 48%}.hero-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,18,.98) 0%,rgba(10,14,18,.86) 34%,rgba(10,14,18,.12) 72%),linear-gradient(0deg,#0e1318 0%,transparent 20%)}.hero-content{position:relative;max-width:720px;padding-left:6vw}.season-badge{background:var(--red);padding:7px 12px;font-size:12px;font-weight:bold;text-transform:uppercase}.hero h1{font-size:clamp(48px,5vw,76px);line-height:.98;margin:24px 0 18px;letter-spacing:-.04em}.hero h1 em{color:var(--orange2);font-style:normal;font-family:Georgia,serif;font-weight:normal}.hero p{color:#d4d9dd;font-size:19px;line-height:1.55;max-width:590px}.shop-button,.deal-banner>a{display:inline-flex;align-items:center;gap:18px;background:var(--yellow);color:#111;border-radius:22px;padding:13px 24px;font-weight:bold;margin-top:16px}.shop-button span{font-size:22px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);background:var(--panel);border:1px solid var(--line);max-width:1450px;margin:-20px auto 0;position:relative;z-index:2}.benefits>div{display:flex;gap:14px;padding:20px 24px;border-right:1px solid var(--line)}.benefits>div:last-child{border:0}.benefits>div>span{color:var(--orange);font-size:24px}.benefits p{margin:0}.benefits strong,.benefits small{display:block}.benefits small{color:var(--muted);font-size:12px;margin-top:4px}.page-section{max-width:1500px;margin:auto;padding:64px 3vw}.heading-row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:26px}.kicker{color:var(--orange);font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.15em}.heading-row h2{font-size:32px;margin:8px 0 0}.heading-row>a{color:#7cc7ff;font-size:13px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.category-card{background:#fff;color:#111;padding:14px;transition:.2s}.category-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.35)}.category-card img{aspect-ratio:1.35/1}.category-card>span{display:block;padding:15px 4px 6px}.category-card strong,.category-card small{display:block}.category-card strong{font-size:20px}.category-card small{color:#565959;margin-top:5px}.deal-banner{max-width:1410px;margin:4px auto 16px;padding:25px 32px;background:linear-gradient(90deg,#681526,#a82434 55%,#6a1426);display:flex;justify-content:space-between;align-items:center;border:1px solid #c45565}.deal-banner div span,.deal-banner div strong,.deal-banner div small{display:block}.deal-banner div span{text-transform:uppercase;font-size:10px;letter-spacing:.17em;color:#ffd7b0}.deal-banner div strong{font-size:25px;margin:4px 0}.deal-banner div small{color:#ffdfe3}.deal-banner>a{margin:0;background:var(--orange2)}.product-heading>p{max-width:490px;color:var(--muted);font-size:13px;line-height:1.5}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{background:#fff;color:#0f1111;border-radius:4px;overflow:hidden;box-shadow:0 3px 15px rgba(0,0,0,.25)}.product-image{height:360px;position:relative;background:#f3f3f3}.product-image img{height:100%;object-fit:cover}.product-image button{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid #bbb;background:#fff;font-size:24px;cursor:pointer}.badge{position:absolute;z-index:2;left:0;top:14px;padding:8px 13px;color:white;font-size:11px;font-weight:bold}.bestseller{background:#e47911}.choice{background:#007185}.deal{background:var(--red)}.new{background:#5c318c}.product-info{padding:18px 20px 22px}.product-info>small{color:#565959;font-size:10px;letter-spacing:.12em}.product-info h3{font-size:17px;line-height:1.35;margin:8px 0;height:46px}.rating span{color:#de7921;letter-spacing:1px}.rating a{color:#007185;font-size:12px}.price{font-size:32px;margin-top:11px}.price sup{font-size:13px;vertical-align:top;position:relative;top:4px}.product-info>p{font-size:12px;color:#565959;min-height:15px}.product-info>p b{color:var(--red)}.amazon-button{display:block;text-align:center;background:var(--yellow);border:1px solid #fcd200;border-radius:20px;padding:10px;color:#111;font-size:13px}.amazon-button:hover{background:#f7ca00}.inspiration{border-top:1px solid var(--line)}.ideas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ideas-grid article{display:grid;grid-template-columns:150px 1fr;background:var(--panel);border:1px solid var(--line)}.ideas-grid img{height:220px}.ideas-grid article>div{padding:22px 16px}.ideas-grid small{color:var(--orange);text-transform:uppercase;font-size:9px;letter-spacing:.12em}.ideas-grid h3{font-size:20px;line-height:1.2}.ideas-grid a{color:#7cc7ff;font-size:12px}.about-strip{max-width:1410px;margin:10px auto 55px;background:var(--navy2);border:1px solid var(--line);padding:24px 32px;display:flex;align-items:center;gap:20px}.about-strip>span{font-size:44px}.about-strip strong{font-size:20px}.about-strip p{color:var(--muted);margin:7px 0}.disclosure{background:#111820;color:#9fa9b1;padding:22px 4vw;text-align:center;font-size:12px;line-height:1.6;border-top:1px solid var(--line)}.disclosure strong{color:#fff}footer{background:var(--navy)}.back-top{display:block;text-align:center;background:#37475a;padding:15px;font-size:13px}.footer-main{max-width:1250px;margin:auto;padding:50px 3vw;display:grid;grid-template-columns:1.8fr repeat(3,1fr);gap:50px}.footer-main>div{display:flex;flex-direction:column;gap:10px}.footer-main>div>strong{font-size:15px}.footer-main>div>a:not(.brand),.footer-main p{color:#bbc4cc;font-size:12px;margin:0}.copyright{text-align:center;border-top:1px solid #344250;padding:22px;color:#9ba5ad;font-size:11px}@media(max-width:1050px){.topbar{grid-template-columns:auto 1fr}.header-link{display:none}.benefits{grid-template-columns:repeat(2,1fr);margin:0}.category-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.ideas-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1.5fr repeat(3,1fr)}}@media(max-width:700px){.topbar{grid-template-columns:1fr;padding:12px}.brand{justify-content:center}.search{width:100%}.navrow{gap:20px;padding:0 14px}.nav-promo{margin-left:0}.hero{height:650px;align-items:end}.hero>img{object-position:62% center}.hero-gradient{background:linear-gradient(0deg,rgba(10,14,18,.99) 0%,rgba(10,14,18,.8) 48%,rgba(10,14,18,.12) 100%)}.hero-content{padding:0 20px 65px}.hero h1{font-size:48px}.hero p{font-size:16px}.benefits{grid-template-columns:1fr}.benefits>div{border-right:0;border-bottom:1px solid var(--line)}.page-section{padding:48px 14px}.heading-row{display:block}.heading-row>a{display:block;margin-top:12px}.category-grid,.product-grid{grid-template-columns:1fr}.deal-banner{margin:0 14px 10px;display:block}.deal-banner>a{margin-top:16px}.product-image{height:390px}.ideas-grid article{grid-template-columns:120px 1fr}.ideas-grid img{height:190px}.about-strip{margin:10px 14px 40px;padding:20px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1}}


/* _refinements.css */
/* Final landing-page refinements: no fake search/cart, simplified navigation. */
.topbar {
  grid-template-columns: auto 1fr auto;
  gap: 30px;
}

.header-tagline {
  color: #c7d0d8;
  text-align: center;
  font-size: 13px;
  margin: 0;
}

.header-cta {
  background: var(--orange2);
  color: #111;
  padding: 11px 20px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: bold;
  white-space: nowrap;
  transition: background .2s ease, transform .2s ease;
}

.header-cta:hover {
  background: var(--yellow);
  transform: translateY(-1px);
}

.product-card {
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease;
}

.product-card:hover {
  transform: scale(1.025);
  box-shadow: 0 15px 38px rgba(0, 0, 0, .5);
  z-index: 3;
}

.product-image img {
  transition: transform .35s ease;
}

.product-card:hover .product-image img {
  transform: scale(1.035);
}

.product-info h3 a {
  transition: color .18s ease;
}

.product-info h3 a:hover {
  color: #c45500;
  text-decoration: underline;
}

@media (max-width: 1050px) {
  .topbar { grid-template-columns: auto 1fr auto; }
  .header-tagline { display: none; }
}

@media (max-width: 700px) {
  .topbar { grid-template-columns: 1fr auto; }
  .brand { justify-content: flex-start; }
  .header-cta { font-size: 11px; padding: 9px 13px; }
  .product-card:hover { transform: scale(1.012); }
}


/* _halloween.css */
/* ============================================================
   Halloween atmosphere layer — deepens the dark theme,
   adds drifting pumpkins behind the page while scrolling.
   Loads AFTER style.css / refinements.css and only overrides.
   ============================================================ */

:root {
  --pumpkin: #ff7a18;
  --ember: #ffb347;
  --deep: #080b0f;
}

body {
  background: var(--deep);
}

/* ---------- Drifting pumpkin backdrop ---------- */

.pumpkin-field {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.pumpkin-field svg {
  position: absolute;
  width: auto;
  display: block;
  color: var(--pumpkin);
  will-change: transform;
}

/* Each pumpkin gets its own size, place and drift rate (set inline by JS). */
.pumpkin-field .pk-1 { top: 4vh;   left: -4vw;  height: 300px; opacity: .055; }
.pumpkin-field .pk-2 { top: 46vh;  right: -3vw; height: 400px; opacity: .045; }
.pumpkin-field .pk-3 { top: 118vh; left: 6vw;   height: 220px; opacity: .05; }
.pumpkin-field .pk-4 { top: 178vh; right: 12vw; height: 320px; opacity: .04; }
.pumpkin-field .pk-5 { top: 250vh; left: -2vw;  height: 460px; opacity: .035; }

/* Warm glow pooling behind the content, like candlelight */
.pumpkin-field::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(680px 420px at 12% 8%,  rgba(255, 122, 24, .10), transparent 70%),
    radial-gradient(760px 520px at 88% 52%, rgba(124, 58, 173, .09), transparent 72%),
    radial-gradient(600px 400px at 30% 96%, rgba(255, 153, 0, .07), transparent 70%);
}

/* Content sits above the field */
header, main, footer { position: relative; z-index: 1; }

@media (prefers-reduced-motion: reduce) {
  .pumpkin-field svg { transform: none !important; }
}

/* ---------- Header ---------- */

.topbar {
  background: linear-gradient(180deg, #131921 0%, #10161d 100%);
  border-bottom: 1px solid rgba(255, 122, 24, .22);
}

.navrow {
  background: #1b2530;
  border-bottom: 1px solid rgba(255, 255, 255, .05);
}

/* ---------- Hero ---------- */

.hero { height: 560px; }

.hero-gradient {
  background:
    linear-gradient(90deg, rgba(8, 11, 15, .98) 0%, rgba(8, 11, 15, .88) 36%, rgba(8, 11, 15, .18) 74%),
    linear-gradient(0deg, var(--deep) 0%, transparent 24%);
}

.hero h1 em { color: var(--ember); }

.season-badge {
  background: linear-gradient(135deg, #b4121f, #7d0d18);
  border: 1px solid rgba(255, 179, 71, .4);
  letter-spacing: .14em;
}

/* Блок с «преимуществами» убран — секция начинается сразу после героя */
.page-section { padding-top: 52px; }

/* ---------- Category filter chips ---------- */

.filter-bar {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 3vw 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.filter-chip {
  border: 1px solid var(--line);
  background: rgba(24, 32, 41, .8);
  color: var(--muted);
  border-radius: 18px;
  padding: 8px 16px;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.filter-chip:hover {
  border-color: var(--pumpkin);
  color: var(--white);
}

.filter-chip[aria-pressed="true"] {
  background: var(--pumpkin);
  border-color: var(--pumpkin);
  color: #16100a;
  font-weight: bold;
}

.filter-count {
  color: var(--muted);
  font-size: 13px;
  padding: 0 3vw 22px;
  max-width: 1500px;
  margin: 0 auto;
}

/* ---------- Product cards ---------- */

.product-grid { grid-template-columns: repeat(4, 1fr); gap: 20px; }

.product-card {
  background: #fff;
  border: 1px solid transparent;
  display: flex;
  flex-direction: column;
}

.product-card:hover {
  border-color: rgba(255, 122, 24, .55);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 122, 24, .25);
}

.product-image { height: 300px; }

/* ---------- Кнопка «Pin» ---------- */

/* Селектор с .product-image обязателен: в базовом style.css есть
   .product-image button (кружок от старой кнопки «в избранное»),
   и по специфичности он перебил бы одиночный .pin-btn */
.product-image .pin-btn {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 6px;
  width: auto;          /* базовый .product-image button задаёт 38px — иначе обрежет */
  height: 40px;
  padding: 0 15px 0 12px;
  border: 0;
  border-radius: 20px;
  background: #e60023;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .38);
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity .18s ease, transform .18s ease, background .18s ease;
}

.product-card:hover .product-image .pin-btn,
.product-image .pin-btn:focus-visible { opacity: 1; transform: none; }

.product-image .pin-btn:hover { background: #ad081b; }

.product-image .pin-btn svg { width: 17px; height: 17px; fill: currentColor; }

/* На телефоне наведения нет — кнопка видна всегда и крупнее */
@media (hover: none) {
  .product-image .pin-btn { opacity: 1; transform: none; height: 44px; padding: 0 17px 0 14px; }
}

/* Якорь на товар (site.com/#67): отступ сверху при прокрутке + подсветка */
.product-card { scroll-margin-top: 90px; scroll-margin-bottom: 40px; }

.product-card.is-target {
  border-color: var(--pumpkin);
  box-shadow: 0 0 0 3px rgba(255, 122, 24, .55), 0 18px 44px rgba(0, 0, 0, .6);
  animation: target-pulse 2.4s ease-out 1;
}

@keyframes target-pulse {
  0%, 12% { box-shadow: 0 0 0 3px rgba(255, 122, 24, .9), 0 0 34px 10px rgba(255, 122, 24, .45); }
  100%    { box-shadow: 0 0 0 3px rgba(255, 122, 24, .55), 0 18px 44px rgba(0, 0, 0, .6); }
}

@media (prefers-reduced-motion: reduce) {
  .product-card.is-target { animation: none; }
}

.product-image img { transition: opacity .2s ease; }

/* Thumbnail strip built from the extra product photos */
.thumbs {
  display: flex;
  gap: 6px;
  padding: 10px 20px 0;
}

.thumbs button {
  flex: 1;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid #dcdcdc;
  border-radius: 3px;
  background: #f6f6f6;
  cursor: pointer;
  overflow: hidden;
  transition: border-color .18s ease;
}

.thumbs button:hover,
.thumbs button[aria-current="true"] { border-color: var(--pumpkin); }

.thumbs img { height: 100%; object-fit: cover; }

.product-info {
  padding: 12px 20px 20px;
  flex: 1;                       /* карточки одной высоты, кнопки на одной линии */
  display: flex;
  flex-direction: column;
}

/* Название — ровно 3 строки, чтобы сетка не «прыгала» */
.product-info h3 {
  height: auto;
  font-size: 15px;
  margin: 8px 0 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.rating { display: flex; align-items: center; gap: 8px; font-size: 13px; }

.rating .stars { color: #de7921; letter-spacing: 1px; }

.rating .score { color: #0f1111; font-weight: bold; }

.rating .bought { color: #565959; font-size: 12px; }

.product-info .amazon-button { margin-top: auto; }

/* Описание категории — показывается под фильтром, а не в каждой карточке */
.category-note {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 3vw 26px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
  max-width: 820px;
}

.category-note:empty { display: none; }

.amazon-button {
  background: linear-gradient(180deg, #ffd814, #f7ca00);
  border-color: #f2c200;
  font-weight: bold;
}

.amazon-button:hover { background: linear-gradient(180deg, #ffe45c, #ffd814); }

/* ---------- Section chrome ---------- */

.kicker { color: var(--pumpkin); }

.heading-row h2 { letter-spacing: -.02em; }

.about-strip {
  background: linear-gradient(90deg, #1d1410, #232f3e 60%);
  border-color: rgba(255, 122, 24, .28);
}

.disclosure { background: #0b0f14; }

/* ---------- Responsive ---------- */

@media (max-width: 1400px) { .product-grid { grid-template-columns: repeat(3, 1fr); } }

@media (max-width: 1050px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .pumpkin-field .pk-2, .pumpkin-field .pk-4 { display: none; }
}

@media (max-width: 700px) {
  .product-grid { grid-template-columns: 1fr; }
  .product-image { height: 340px; }
  .hero { height: 620px; }
  .filter-bar { padding: 0 14px 20px; }
  .filter-count { padding: 0 14px 18px; }
  .category-note { padding: 0 14px 22px; }

  /* Пальцевые размеры: основной трафик приходит с Pinterest на телефонах */
  .amazon-button {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
  }
  .filter-chip { min-height: 44px; padding: 10px 18px; }
  .thumbs button { min-height: 44px; }
  .navrow a { padding: 12px 0; }
}
