/* FreshLane — visual layer V12. Functional styles remain in style.css. */
:root {
  --v12-ink: #142019;
  --v12-forest: #214c34;
  --v12-forest-deep: #123622;
  --v12-lime: #dff3ad;
  --v12-cream: #f5f1e7;
  --v12-paper: #fbfcf7;
  --v12-line: rgba(20, 32, 25, .1);
  --v12-shadow: 0 24px 70px rgba(24, 49, 34, .10);
}

html { scroll-padding-top: 110px; }
body {
  background:
    radial-gradient(circle at 3% 7%, rgba(178, 207, 155, .22), transparent 23rem),
    linear-gradient(180deg, #f8f8f3 0%, #f3f5ee 100%);
  color: var(--v12-ink);
}

.site-announcement {
  position: relative;
  z-index: 102;
  color: #edf7ed;
  background: var(--v12-forest-deep);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}
.site-announcement-inner {
  width: min(1240px, calc(100% - 48px));
  min-height: 34px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}
.site-announcement-status { margin-right: auto; display: inline-flex; align-items: center; gap: 8px; }
.site-announcement-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #bfe66c;
  box-shadow: 0 0 0 4px rgba(191, 230, 108, .12);
}
.site-announcement-separator { width: 1px; height: 12px; background: rgba(255,255,255,.25); }
body.account-page-mode > .site-announcement { display: none; }

.site-header {
  top: 0 !important;
  height: 82px !important;
  background: rgba(248, 249, 244, .88) !important;
  border-bottom: 1px solid rgba(24, 49, 34, .08) !important;
  box-shadow: 0 8px 30px rgba(23, 45, 31, .035);
}
.header-inner { width: min(1240px, calc(100% - 48px)) !important; }
.logo { font-size: 22px !important; letter-spacing: -.055em !important; }
.logo-dot { background: #78a967 !important; }
.navigation { gap: 8px !important; }
.nav-link {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  padding: 0 13px !important;
  border-radius: 999px;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.nav-link:hover { background: #e9eee6; color: var(--v12-forest) !important; }
.contact-store-btn, .telegram-header-link {
  border-radius: 999px !important;
  transition: transform .25s ease, background .25s ease !important;
}
.contact-store-btn:hover, .telegram-header-link:hover { transform: translateY(-2px); }
.account-open-btn {
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: var(--v12-forest) !important;
  box-shadow: 0 10px 24px rgba(33, 76, 52, .18);
}
.cart-button { border-radius: 999px !important; min-height: 46px !important; }

main { overflow: hidden; }
.hero {
  width: min(1240px, calc(100% - 48px)) !important;
  min-height: 570px !important;
  margin: 28px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 38px !important;
  color: #f8fbf5 !important;
  background-color: var(--v12-forest-deep) !important;
  background-image:
    radial-gradient(circle at 73% 17%, rgba(211, 241, 169, .18), transparent 24rem),
    radial-gradient(circle at 5% 96%, rgba(127, 170, 117, .22), transparent 28rem) !important;
  box-shadow: 0 30px 80px rgba(17, 50, 31, .18) !important;
  isolation: isolate;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    linear-gradient(120deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 72px 72px,
    linear-gradient(30deg, transparent 62%, rgba(223,243,173,.05));
}
.hero.has-custom-image::after {
  background: linear-gradient(90deg, rgba(11, 40, 24, .93) 0%, rgba(11, 40, 24, .7) 54%, rgba(11, 40, 24, .2) 100%) !important;
}
.hero-content {
  min-height: 570px !important;
  padding: 66px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
  align-items: stretch !important;
  gap: 42px !important;
}
.hero-content:not(:has(.hero-promo-card:not([hidden]))) { grid-template-columns: minmax(0, 1fr) !important; }
.hero-content:not(:has(.hero-promo-card:not([hidden]))) .hero-main { max-width: 880px; }
.hero-main { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.hero-label {
  color: var(--v12-lime) !important;
  font-size: 12px !important;
  letter-spacing: .25em !important;
  font-weight: 800 !important;
}
.hero-title {
  max-width: 760px !important;
  margin-top: 28px !important;
  color: #fff !important;
  font-size: clamp(52px, 6.15vw, 88px) !important;
  line-height: .93 !important;
  letter-spacing: -.075em !important;
  text-wrap: balance;
}
.hero-actions { margin-top: 38px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.hero-primary-action, .hero-secondary-action {
  min-height: 54px;
  padding: 0 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.hero-primary-action { color: #163520; background: var(--v12-lime); border-color: var(--v12-lime); }
.hero-primary-action span { font-size: 20px; transition: transform .25s ease; }
.hero-primary-action:hover span { transform: translate(3px, 3px); }
.hero-secondary-action { color: #fff; background: rgba(255,255,255,.07); backdrop-filter: blur(10px); }
.hero-secondary-action:hover { background: rgba(255,255,255,.14); }
.hero-bottom { width: 100%; margin-top: auto !important; display: flex !important; align-items: center; gap: 12px !important; }
.supply-note, .minimum-order {
  min-height: 64px !important;
  padding: 12px 18px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.07) !important;
  color: #fff !important;
  backdrop-filter: blur(12px);
}
.supply-note small, .minimum-order-label { color: rgba(255,255,255,.6) !important; }
.supply-note-icon { color: var(--v12-lime) !important; background: rgba(223,243,173,.12) !important; }
.minimum-order strong { color: var(--v12-lime) !important; }
.hero-promo-card {
  align-self: end !important;
  padding: 34px !important;
  border: 0 !important;
  border-radius: 30px !important;
  color: var(--v12-ink) !important;
  background: var(--v12-cream) !important;
  box-shadow: 0 28px 70px rgba(5, 23, 12, .22) !important;
  transform: rotate(1.5deg);
}
.hero-promo-card h3 { font-size: 30px !important; line-height: 1.05 !important; letter-spacing: -.045em !important; }
.hero-promo-badge { color: var(--v12-forest) !important; }
.hero-promo-code-wrap { border-radius: 18px !important; background: rgba(255,255,255,.67) !important; }
.hero-promo-copy { color: #fff !important; background: var(--v12-forest) !important; border-radius: 999px !important; }

.catalog {
  width: min(1240px, calc(100% - 48px)) !important;
  margin: 108px auto 0 !important;
  padding: 0 !important;
}
.catalog-header { align-items: end !important; gap: 30px !important; }
.catalog-heading-copy { max-width: 650px; }
.catalog-heading-copy::before {
  content: "ВИТРИНА МАГАЗИНА";
  display: block;
  margin-bottom: 13px;
  color: var(--v12-forest);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .19em;
}
.catalog-header h2 { font-size: clamp(42px, 5vw, 68px) !important; line-height: .95 !important; letter-spacing: -.065em !important; }
.catalog-subtitle { max-width: 520px; margin-top: 18px !important; font-size: 15px !important; line-height: 1.6 !important; }
.catalog-search {
  width: min(410px, 100%) !important;
  min-height: 60px !important;
  border: 1px solid var(--v12-line) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: 0 14px 38px rgba(32, 57, 40, .07) !important;
}
.catalog-search:focus-within { border-color: rgba(33,76,52,.4) !important; box-shadow: 0 0 0 4px rgba(65,111,77,.09) !important; }
.category-filters { display: none !important; }
.category-grid {
  margin-top: 42px !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: 238px !important;
  gap: 16px !important;
}
.category-card {
  min-width: 0 !important;
  min-height: 0 !important;
  position: relative !important;
  padding: 25px !important;
  display: flex !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 28px !important;
  color: #fff !important;
  background: #315b41 !important;
  box-shadow: none !important;
  isolation: isolate;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease !important;
}
.category-card:nth-child(6n+2) { background: #7c9365 !important; }
.category-card:nth-child(6n+3) { background: #b37b55 !important; }
.category-card:nth-child(6n+4) { background: #496a62 !important; }
.category-card:nth-child(6n+5) { background: #8d765d !important; }
.category-card:nth-child(6n+6) { background: #647d4e !important; }
.category-card-featured { grid-column: span 2; grid-row: span 2; }
.category-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, transparent 18%, rgba(10,28,17,.82) 100%);
}
.category-card:hover { transform: translateY(-7px) !important; box-shadow: var(--v12-shadow) !important; }
.category-card-visual {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  font-size: 84px !important;
  opacity: .92;
  z-index: -2;
}
.category-card-collage { width: 100% !important; height: 100% !important; display: grid !important; grid-template-columns: 1fr !important; }
.category-card-collage.count-2 { grid-template-columns: 1fr 1fr !important; }
.category-card-collage img { width: 100% !important; height: 100% !important; object-fit: cover !important; transition: transform .65s cubic-bezier(.22,1,.36,1); }
.category-card:hover .category-card-collage img { transform: scale(1.055); }
.category-card-copy { position: relative !important; z-index: 2 !important; align-items: flex-start !important; text-align: left !important; }
.category-card-copy strong { color: #fff !important; font-size: 25px !important; line-height: 1.03 !important; letter-spacing: -.045em !important; }
.category-card-featured .category-card-copy strong { font-size: clamp(34px, 4vw, 54px) !important; }
.category-card-copy small { color: rgba(255,255,255,.76) !important; }
.category-card-kicker { margin-bottom: 7px; font-size: 9px !important; letter-spacing: .14em !important; text-transform: uppercase; }
.category-card-arrow {
  top: 20px !important;
  right: 20px !important;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 50% !important;
  color: var(--v12-ink) !important;
  background: var(--v12-lime) !important;
  font-size: 24px !important;
}

.site-banners, .reviews-section, .featured-sections {
  width: min(1240px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.site-banners { margin-top: 90px !important; gap: 16px !important; }
.site-banner { border-radius: 30px !important; overflow: hidden; box-shadow: 0 18px 50px rgba(25,49,34,.08) !important; }
.reviews-section { margin-top: 108px !important; padding: 46px !important; border-radius: 38px !important; background: var(--v12-cream) !important; }
.reviews-head h2, .featured-heading h2 { letter-spacing: -.055em !important; }
.review-card { border-radius: 25px !important; box-shadow: none !important; }
.reviews-arrow { border-radius: 50% !important; background: var(--v12-forest) !important; color: #fff !important; }
.featured-section { margin-top: 100px !important; }
.mini-product-card { border-radius: 26px !important; box-shadow: 0 12px 34px rgba(28,48,35,.06) !important; }

.site-footer { margin-top: 110px !important; background: var(--v12-forest-deep) !important; color: #fff !important; }
.site-footer a, .site-footer span { color: rgba(255,255,255,.76) !important; }
.site-footer .logo, .site-footer strong { color: #fff !important; }

@media (max-width: 1050px) {
  .navigation .nav-link, .header-phone { display: none !important; }
  .hero-content { padding: 48px !important; grid-template-columns: minmax(0, 1fr) 310px !important; }
  .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 760px) {
  html { scroll-padding-top: 82px; }
  body { padding-bottom: 88px !important; }
  .site-announcement-inner { width: calc(100% - 28px); min-height: 30px; justify-content: space-between; }
  .site-announcement-inner > span:not(.site-announcement-status):not(#topbar-manager-hours) { display: none; }
  .site-announcement-separator { display: none; }
  .site-announcement { font-size: 9px; }
  .site-header { height: 68px !important; }
  .header-inner { width: calc(100% - 28px) !important; }
  .logo { font-size: 20px !important; }
  .navigation { gap: 5px !important; }
  .header-contact > *:not(.account-open-btn) { display: none !important; }
  .account-open-btn { min-height: 44px !important; padding: 0 18px !important; }
  .cart-button { width: 44px !important; min-width: 44px !important; height: 44px !important; padding: 0 !important; }
  .cart-button > span:not(.cart-counter) { display: none !important; }
  .mobile-quick-actions { width: calc(100% - 28px) !important; margin: 12px auto 0 !important; gap: 8px !important; }
  .mobile-track-order-btn { min-height: 50px !important; border-radius: 17px !important; font-size: 11px !important; }
  .hero {
    width: calc(100% - 28px) !important;
    min-height: 590px !important;
    margin-top: 12px !important;
    border-radius: 30px !important;
  }
  .hero-content { min-height: 590px !important; padding: 34px 25px 24px !important; display: flex !important; flex-direction: column !important; gap: 22px !important; }
  .hero-label { font-size: 10px !important; }
  .hero-title { margin-top: 20px !important; font-size: clamp(43px, 13vw, 60px) !important; line-height: .94 !important; }
  .hero-actions { margin-top: 28px; width: 100%; }
  .hero-primary-action { flex: 1; min-height: 52px; padding: 0 18px; }
  .hero-secondary-action { min-height: 52px; padding: 0 17px; }
  .hero-bottom { margin-top: 28px !important; display: grid !important; grid-template-columns: 1fr !important; }
  .supply-note, .minimum-order { min-height: 58px !important; width: 100% !important; }
  .hero-promo-card { width: 100% !important; padding: 25px !important; border-radius: 24px !important; transform: none; }
  .hero-promo-card h3 { font-size: 25px !important; }
  .catalog { width: calc(100% - 28px) !important; margin-top: 72px !important; }
  .catalog-header { display: block !important; }
  .catalog-header h2 { font-size: 45px !important; }
  .catalog-subtitle { font-size: 13px !important; margin-top: 13px !important; }
  .catalog-search { margin-top: 24px !important; width: 100% !important; min-height: 56px !important; }
  .category-grid { margin-top: 24px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-rows: 180px !important; gap: 10px !important; }
  .category-card, .category-card-featured { grid-row: span 1; padding: 17px !important; border-radius: 21px !important; }
  .category-card-featured { grid-column: span 2; }
  .category-card-copy strong { font-size: 19px !important; }
  .category-card-featured .category-card-copy strong { font-size: 30px !important; }
  .category-card-arrow { top: 13px !important; right: 13px !important; width: 32px !important; height: 32px !important; font-size: 20px !important; }
  .site-banners, .reviews-section, .featured-sections { width: calc(100% - 28px) !important; }
  .site-banners { margin-top: 68px !important; }
  .reviews-section { margin-top: 74px !important; padding: 26px 18px !important; border-radius: 28px !important; }
  .featured-section { margin-top: 72px !important; }
  .site-footer { margin-top: 80px !important; }
}

@media (max-width: 390px) {
  .hero-title { font-size: 41px !important; }
  .hero-actions { align-items: stretch; }
  .hero-primary-action, .hero-secondary-action { width: 100%; flex-basis: 100%; }
  .category-grid { grid-auto-rows: 166px !important; }
  .category-card-copy strong { font-size: 17px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .category-card, .category-card-collage img, .hero-primary-action span { transition: none !important; }
}
