/* Super Gladiolus homepage overlay — chrome, hero, filters, specs, MAX. Static copy only. */

html.sg-home .imagewrapper {
  position: relative;
}

html.sg-home .sg-sold-out-stamp {
  position: absolute;
  z-index: 20;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-28deg);
  padding: 10px 24px;
  border: 3px solid #d00000;
  border-radius: 3px;
  color: #d00000;
  background: rgba(255, 255, 255, .84);
  font: 800 clamp(18px, 3.2vw, 32px)/1 Georgia, "Palatino Linotype", Palatino, serif;
  letter-spacing: .12em;
  white-space: nowrap;
  pointer-events: none;
  text-shadow: 0 1px 0 #fff;
}

html.sg-home .sg-card-stock--sold-out {
  color: #d00000;
  font-weight: 800;
}

html.sg-home {
  scroll-behavior: smooth;
}

#sg-hero-max,
#sg-header-max,
#sg-sticky-max,
li.sg-max-inline,
html.sg-home .skid {
  display: none !important;
}

/* ---- Hide old theme chrome on the homepage only ---- */

html.sg-home .top,
html.sg-home .header,
html.sg-home .slider,
html.sg-home .rev_slider_wrapper,
html.sg-home #rev_slider_1_1_wrapper,
html.sg-home .od,
html.sg-home #shop > h1.page-title,
html.sg-home #shop .woocommerce-result-count,
html.sg-home #shop .woocommerce-ordering {
  display: none !important;
}

html.sg-home,
html.sg-home body {
  background: #f3f1ed !important;
  overflow-x: hidden;
  max-width: 100%;
}

html.sg-home body {
  padding-bottom: 28px;
  color: #252525;
}

html.sg-home .wbg {
  background: transparent !important;
}

html.sg-home .container.wbg {
  box-sizing: border-box;
  width: calc(100% - 48px) !important;
  max-width: 1540px !important;
  padding-left: 16px;
  padding-right: 16px;
  margin-left: auto;
  margin-right: auto;
}

/* ---- MAX buttons (Tilda-like pills) ---- */

.sg-max-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #ff6b00;
  color: #fff !important;
  text-decoration: none !important;
  border: 0;
  border-radius: 999px;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-align: center;
  box-shadow: 0 10px 28px rgba(255, 107, 0, 0.32);
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  cursor: pointer;
}

.sg-max-btn:hover,
.sg-max-btn:focus {
  background: #e65c00;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(255, 107, 0, 0.4);
}

.sg-max-btn:active {
  transform: translateY(0);
}

.sg-max-btn svg {
  flex: 0 0 auto;
}

.sg-max-btn--header {
  padding: 4px 12px;
  font-size: 12px;
  letter-spacing: 0.08em;
  box-shadow: none;
  margin-left: 10px;
  vertical-align: middle;
  position: relative;
  top: -1px;
  white-space: normal;
  max-width: 280px;
  line-height: 1.2;
}

.sg-max-btn--hero,
.sg-max-btn--strip,
.sg-max-btn--sticky {
  width: 100%;
  max-width: 680px;
  padding: 16px 22px;
  font-size: 18px;
}

.sg-max-btn--banner {
  pointer-events: auto;
  width: 100%;
  max-width: 560px;
  padding: 16px 32px;
  font-size: 18px;
  box-shadow: 0 14px 36px rgba(255, 107, 0, 0.38);
}

#sg-banner-max {
  position: static;
  transform: none;
  left: auto;
  bottom: auto;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 28px auto 6px;
  display: flex;
  justify-content: center;
  pointer-events: auto;
}

#sg-hero-max {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 10px 18px;
}

.sg-hero-support {
  max-width: 420px;
  margin: 0 0 9px;
  color: #54705c;
  font-size: 13px;
  line-height: 1.35;
  text-align: center;
  letter-spacing: 0.01em;
}

#sg-sticky-max {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200;
  display: none;
  justify-content: center;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 0.97) 0%,
    rgba(255, 255, 255, 0.9) 72%,
    rgba(255, 255, 255, 0)
  );
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.2s ease;
}

#sg-sticky-max.is-hidden {
  opacity: 0;
  pointer-events: none;
}

#sg-sticky-max .sg-max-btn {
  pointer-events: auto;
}

/* ---- New chrome: topbar + floating nav + hero ---- */

#sg-chrome {
  width: 100%;
}

.sg-topbar {
  width: 100%;
}

.sg-topbar-inner {
  box-sizing: border-box;
  width: calc(100% - 48px);
  max-width: 1540px;
  margin: 0 auto;
  padding: 10px 20px 6px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px 22px;
  flex-wrap: wrap;
  color: #6b6b6b;
  font-size: 13px;
}

.sg-topbar-ig,
.sg-topbar-cart {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5c5c5c !important;
  text-decoration: none !important;
  font-weight: 600;
  line-height: 1.3;
}

.sg-topbar-ig:hover,
.sg-topbar-cart:hover {
  color: #ff6b00 !important;
}

.sg-topbar-divider {
  width: 1px;
  height: 18px;
  background: #d9d4cc;
  flex: 0 0 auto;
}

.sg-topbar-cart .cart-contents {
  color: inherit;
  font-weight: 600;
}

.sg-topbar-cart .cart-contents br {
  display: none;
}

.sg-ig-short {
  display: none;
}

.sg-wrap {
  box-sizing: border-box;
  width: calc(100% - 48px);
  max-width: 1540px;
  margin: 0 auto;
  padding: 0 16px 8px;
}

/* v20: nav sits directly on the floral plaque (no white capsule).
   White capsule restored on mobile ≤767px (see @media below). */
html.sg-home .sg-nav {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 18px;
  background: transparent;
  border-radius: 0;
  padding: 10px 18px 10px 12px;
  box-shadow: none;
}

@media (max-width: 767px) {
  html.sg-home .sg-nav {
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 10px 32px rgba(37, 37, 37, 0.08);
  }
}

.sg-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  text-decoration: none !important;
  color: #252525 !important;
  flex: 0 0 auto;
}

.sg-brand-mark {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #ff6b00;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-shadow: 0 6px 16px rgba(255, 107, 0, 0.28);
}

.sg-brand-mark svg {
  display: block;
}

.sg-brand-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.sg-brand-name {
  font-family: Georgia, "Palatino Linotype", Palatino, "Times New Roman", serif;
  font-style: italic;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.15;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.sg-brand-tag {
  margin-top: 2px;
  font-size: 11px;
  font-weight: 600;
  color: #7a7a7a;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.sg-nav-toggle {
  display: none;
  margin-left: auto;
  width: 42px;
  height: 42px;
  border: 0;
  background: #f6f4f0;
  border-radius: 12px;
  cursor: pointer;
  padding: 10px 11px;
}

.sg-nav-toggle span {
  display: block;
  height: 2px;
  background: #252525;
  border-radius: 2px;
  margin: 5px 0;
}

.sg-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  gap: 4px 2px;
  min-width: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.sg-menu a {
  display: inline-block;
  padding: 8px 9px;
  color: #2c2c2c !important;
  text-decoration: none !important;
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  border-radius: 8px;
  position: relative;
}

.sg-menu a:hover {
  color: #ff6b00 !important;
}

.sg-menu a.is-current {
  color: #ff6b00 !important;
}

.sg-menu a.is-current::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 4px;
  height: 2px;
  background: #ff6b00;
  border-radius: 2px;
}

.sg-hero {
  position: relative;
  margin-top: 10px;
}

/* v30: desktop >=1200 — hero banner breaks out of .sg-wrap (max-width
   1540px) entirely and goes viewport-wide with symmetric 16px gutters,
   so the width no longer depends on the wrap's max-width at wide/zoomed
   viewports (1280 -> x=16 w=1248; 1920 -> x=16 w=1888; overflowX=0).
   Classic breakout: width calc(100vw - 32px), margin-left
   calc(50% - 50vw) pulls the section to the viewport edges regardless
   of the ancestor's width; the +16px offsets recentre it. Mobile,
   tablet and mid layouts untouched. */
@media (min-width: 1200px) {
  .sg-hero {
    width: calc(100vw - 32px);
    margin-left: calc(50% - 50vw + 16px);
  }
}

/* v31: hero per the new reference (img_a89d5324739b) — one big wide
   couple-in-the-field frame rendered at its natural aspect (no zoom, no
   scale), nearly edge-to-edge under the nav. Left live text over a soft
   light wash, 3 review cards on the right, both manager CTAs bottom
   right. The actual JPEG is regenerated separately by the parent; path
   unchanged (sg-hero-people-wide.jpg, bumped to ?v=27). */
.sg-hero-frame {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  min-height: 420px;
  box-shadow: 0 18px 50px rgba(37, 37, 37, 0.12);
}

/* v31: base photo. Desktop gets the reference-like panoramic crop in the
   min-width:1200 block below; tablet/mobile keep their dedicated crops. */
.sg-hero-photo {
  display: block;
  width: 100%;
  margin-left: 0;
  height: auto;
  min-height: 420px;
  object-fit: cover;
  object-position: 50% 32%;
}

/* v31: the supplied reference is about 2.33:1. The regenerated source is
   16:9, so crop it to the same panoramic frame. A wider image box shifted
   left makes the owners larger and places them centrally like the reference,
   while its right edge still covers the frame completely. */
@media (min-width: 1200px) {
  .sg-hero-frame {
    aspect-ratio: 2.33 / 1;
    min-height: 0;
  }

  .sg-hero-photo {
    width: calc(100% + 180px);
    height: 100%;
    min-height: 0;
    margin-left: -180px;
    object-position: 50% 0%;
  }
}

/* v48: sale-2026 live copy remains separate from the unchanged photo. */
.sg-hero-copy {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: min(38%, 430px);
  padding: 28px 28px 96px 36px;
  background: linear-gradient(
    90deg,
    rgba(248, 247, 243, 0.88) 0%,
    rgba(248, 247, 243, 0.55) 62%,
    rgba(248, 247, 243, 0) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

/* v31: badge restyled — small solid green pill with white leaf+text. */
.sg-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #3d9b5f;
  color: #fff;
  border-radius: 999px;
  padding: 6px 13px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.sg-hero-badge svg {
  width: 12px;
  height: 12px;
}

.sg-hero-title {
  margin: 14px 0 0 !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(36px, 4vw, 52px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.02em;
  text-transform: none;
  color: #1f1f1f;
}

.sg-hero-title-lead,
.sg-hero-title-em {
  display: block;
}

.sg-hero-title-em {
  color: #183c2a;
  margin-top: 2px;
}

.sg-hero-rule {
  display: block;
  width: 42px;
  height: 3px;
  margin: 10px 0 8px;
  border-radius: 3px;
  background: #ff6b00;
}

.sg-hero-sub {
  margin: 12px 0 0;
  max-width: 300px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  color: #2c2c2c;
}

/* Manager CTAs over the lower part of the hero. */
.sg-manager-ctas {
  position: absolute;
  left: auto;
  right: 0;
  bottom: 20px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  padding: 0 26px;
  z-index: 3;
  pointer-events: none;
}

.sg-manager-cta {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  min-width: 0;
  gap: 10px;
  border: 2.5px solid #fff;
  border-radius: 999px;
  padding: 10px 18px 10px 11px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 10px 26px rgba(37, 37, 37, 0.28);
  white-space: nowrap;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.sg-manager-cta > span:nth-child(2) {
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
}

.sg-manager-cta:hover,
.sg-manager-cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(37, 37, 37, 0.34);
  color: #fff;
}

.sg-manager-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
  flex: 0 0 auto;
}

.sg-manager-arrow {
  flex: 0 0 auto;
  font-size: 16px;
  font-weight: 700;
}

.sg-manager-cta--tatiana,
.sg-manager-cta--ivan {
  background: #1e6bff;
}

/* Temporarily keep Tatiana's preserved CTA out of the rendered page. */
.sg-manager-cta--tatiana[hidden] {
  display: none !important;
}

/* Review cards: one continuous five-card staggered sequence on the right.
   Hidden below 1200px so tablet/mobile keep the clean hero. */
.sg-hero-reviews {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 32%;
  min-width: 340px;
  pointer-events: none;
  z-index: 2;
}

.sg-review-cloud {
  margin: 0;
  position: absolute;
  width: 240px;
  padding: 12px 18px 11px;
  background: #fff;
  border-radius: 26px;
  box-shadow: 0 12px 30px rgba(37, 37, 37, 0.18);
  text-align: center;
}

/* v31: one clean rounded rectangle per card, each radius slightly
   different like the reference's hand-placed cards. */
.sg-review-cloud--1 {
  border-radius: 28px 24px 28px 22px;
}

.sg-review-cloud--2 {
  border-radius: 24px 30px 22px 28px;
}

.sg-review-cloud--3 {
  border-radius: 28px 24px 26px 30px;
}

.sg-review-cloud--4 {
  border-radius: 24px 28px 22px 26px;
}

.sg-review-cloud--5 {
  border-radius: 28px 22px 26px 24px;
}

.sg-review-cloud blockquote,
.sg-review-stars,
.sg-review-cloud figcaption {
  position: relative;
  z-index: 1;
}

.sg-review-cloud blockquote {
  margin: 5px 0 3px;
  border: 0;
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: #252525;
  quotes: none;
}

.sg-review-cloud figcaption {
  font-size: 12px;
  font-weight: 800;
  color: #3d9b5f;
}

/* v46: the image box follows each 4:5 portrait instead of stretching across
   the card, so contain never exposes a coloured letterbox around the photo. */
.sg-review-photo {
  display: block;
  width: auto;
  max-width: 100%;
  height: 0;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 18px 16px 20px 14px;
  box-shadow: none;
  object-fit: contain;
  object-position: center;
  background: transparent;
  opacity: 0;
}

/* v64: the tap/click handler opens the real img, but the old media-only
   rules left it at height:0 on hover:none/pointer:unknown and its transition
   made the first post-click layout read 0x0. Target the direct img and make
   the opened state available synchronously; media blocks only tune height. */
.sg-review-cloud.is-open .sg-review-photo {
  height: 280px;
  margin-top: 10px;
  opacity: 1;
  transition: none;
}

.sg-review-stars {
  display: inline-flex;
  gap: 2px;
}

.sg-review-stars i {
  width: 14px;
  height: 14px;
  background: #f0a812;
  clip-path: polygon(
    50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%,
    50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%
  );
}

/* v35: one uninterrupted alternating sequence. Percentage-based vertical
   placement preserves the rhythm in both the 1280 and 1920 hero crops. */
.sg-review-cloud--1 {
  top: 5%;
  right: 112px;
  transform: rotate(-4deg);
}

.sg-review-cloud--2 {
  top: 23%;
  right: 8px;
  transform: rotate(5deg);
}

.sg-review-cloud--3 {
  top: 41%;
  right: 112px;
  transform: rotate(-5deg);
}

.sg-review-cloud--4 {
  top: 59%;
  right: 8px;
  transform: rotate(5deg);
}

.sg-review-cloud--5 {
  top: 77%;
  right: 112px;
  transform: rotate(-5deg);
}

/* These desktop-only refinements must come after the base copy/CTA rules
   above so the compact reference sizing wins in the cascade. */
@media (min-width: 1200px) {
  .sg-hero-copy {
    padding-bottom: 28px;
    transform: translateY(-24px);
  }

  /* Keep the opening phrase together without widening the copy panel. */
  .sg-hero-title {
    width: 400px;
  }

  .sg-manager-ctas {
    left: 0;
    right: 0;
    display: block;
    padding: 0;
  }

  .sg-manager-cta {
    position: absolute;
    bottom: 0;
    gap: 7px;
    box-sizing: border-box;
    width: 296px;
    height: 66px;
    justify-content: center;
    padding: 10px 12px;
    font-size: 15px;
  }

  .sg-manager-cta--tatiana {
    left: calc(40.625% - 223px);
  }

  .sg-manager-cta--ivan {
    left: calc(55.46875% - 108px);
    width: 320px;
  }

  .sg-manager-ico {
    display: none;
  }

  .sg-manager-ico svg {
    width: 17px;
    height: 17px;
  }

  .sg-manager-arrow {
    font-size: 16px;
  }
}

@media (hover: hover) and (pointer: fine) {
  /* A child z-index cannot escape the reviews' stacking context (2).
     Raise that context only while a photo is open, above manager CTAs (3). */
  .sg-hero-reviews:has(.sg-review-cloud.is-open) {
    z-index: 4;
  }

  .sg-review-cloud {
    pointer-events: auto;
    transform-origin: top right;
    transition:
      width 320ms ease,
      transform 320ms ease,
      box-shadow 320ms ease;
  }

  .sg-review-cloud .sg-review-photo {
    transition:
      height 320ms ease,
      margin-top 320ms ease,
      opacity 220ms ease 80ms;
  }

  .sg-review-cloud.is-open {
    z-index: 8;
    width: 330px;
    box-shadow: 0 20px 46px rgba(37, 37, 37, 0.28);
  }

  .sg-review-cloud:focus-visible {
    outline: 3px solid rgba(24, 60, 42, 0.36);
    outline-offset: 3px;
  }

  .sg-review-cloud.is-open .sg-review-photo {
    height: 280px;
    margin-top: 10px;
    opacity: 1;
  }

  .sg-review-cloud--1.is-open { transform: translate(-10px, 0) rotate(-1deg); }
  .sg-review-cloud--2.is-open { transform: translate(-10px, -45px) rotate(1deg); }
  .sg-review-cloud--3.is-open { transform: translate(-10px, -105px) rotate(-1deg); }
  .sg-review-cloud--4.is-open { transform: translate(-10px, -165px) rotate(1deg); }
  .sg-review-cloud--5.is-open { transform: translate(-10px, -265px) rotate(-1deg); }
}

@media (hover: none), (pointer: coarse) {
  .sg-hero-reviews {
    position: relative;
    inset: auto;
    z-index: 4;
    display: flex;
    width: auto;
    min-width: 0;
    gap: 10px;
    padding: 12px 14px 14px;
    overflow-x: auto;
    overflow-y: hidden;
    background: #fff;
    pointer-events: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .sg-review-cloud {
    position: relative;
    inset: auto;
    flex: 0 0 220px;
    width: 220px;
    padding: 10px 14px;
    transform: none;
    scroll-snap-align: start;
    cursor: pointer;
  }

  .sg-review-cloud.is-open {
    z-index: 2;
    box-shadow: 0 16px 36px rgba(37, 37, 37, 0.24);
  }

  .sg-review-cloud:focus-visible {
    outline: 3px solid rgba(24, 60, 42, 0.36);
    outline-offset: -3px;
  }

  .sg-review-cloud .sg-review-photo {
    transition: height 260ms ease, margin-top 260ms ease, opacity 180ms ease 60ms;
  }

  .sg-review-cloud.is-open .sg-review-photo {
    height: 240px;
    margin-top: 9px;
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sg-review-cloud,
  .sg-review-photo {
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }
}


.sg-promo {
  position: relative;
  z-index: 3;
  margin: 16px 22px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  background: #fff;
  border-radius: 22px;
  padding: 12px;
  box-shadow: 0 16px 40px rgba(37, 37, 37, 0.1);
}

.sg-promo-ok,
.sg-promo-ig {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 12px 18px;
  border-radius: 16px;
  text-decoration: none !important;
}

.sg-promo-ok {
  background: #ff6b00;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(255, 107, 0, 0.28);
}

.sg-promo-ok:hover {
  background: #e65c00;
  color: #fff !important;
}

.sg-promo-ig {
  color: #252525 !important;
  background: linear-gradient(135deg, #fff4f7 0%, #f5f0ff 52%, #eef6ff 100%);
}

.sg-promo-ig:hover {
  background: linear-gradient(135deg, #ffe9ef 0%, #eee7ff 52%, #e5f2ff 100%);
}

.sg-promo-ico {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: rgba(255, 255, 255, 0.18);
}

.sg-promo-ig .sg-promo-ico {
  background: #fff;
  color: #c13584;
  box-shadow: 0 4px 14px rgba(193, 53, 132, 0.18);
}

.sg-promo-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
}

.sg-promo-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.sg-promo-note {
  margin-top: 2px;
  font-size: 13px;
  font-weight: 600;
  opacity: 0.92;
}

.sg-promo-arrow {
  margin-left: auto;
  flex: 0 0 auto;
  opacity: 0.9;
}

/* ---- Benefits ---- */

#sg-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  background: #fff;
  border-radius: 20px;
  padding: 8px 6px;
  margin: 8px 0 22px;
  box-shadow: 0 8px 24px rgba(37, 37, 37, 0.05);
}

.sg-benefit {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  color: #252525;
}

.sg-benefit + .sg-benefit {
  border-left: 1px solid #eee8df;
}

.sg-benefit-ico {
  width: 42px;
  height: 42px;
  color: #4c9a62;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sg-benefit-ico svg {
  display: block;
}

.sg-benefit p {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

/* ---- Filters (homepage only, centered under MAX CTA) ---- */

html.sg-home #sg-filters {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 8px 0 6px;
  margin: 4px auto 4px;
  box-shadow: none;
  text-align: center;
  max-width: 100%;
}

html.sg-home .sg-filters-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 10px;
  margin-bottom: 12px;
  max-width: 100%;
}

html.sg-home .sg-filters-label {
  display: block;
  width: 100%;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8a8a;
  text-align: center;
}

.sg-pill {
  position: relative;
  display: inline-flex;
  margin: 0;
  cursor: pointer;
  user-select: none;
}

.sg-pill input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.sg-pill span {
  display: inline-block;
  padding: 8px 16px;
  border: 1px solid #d8e3d9;
  border-radius: 999px;
  background: #fff;
  color: #3d3d3d;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.sg-pill input:focus-visible + span {
  outline: 2px solid #4c9a62;
  outline-offset: 2px;
}

.sg-pill input:checked + span {
  background: #4c9a62;
  border-color: #4c9a62;
  color: #fff;
}

.sg-filter-all {
  border: 1px solid #4c9a62;
  border-radius: 999px;
  padding: 8px 16px;
  background: #fff;
  color: #3d7f4c;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.sg-filter-all.is-active {
  background: #4c9a62;
  color: #fff;
}

html.sg-home .sg-height {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 8px;
}

html.sg-home .sg-height-inputs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.sg-height-inputs label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 14px;
  color: #333;
  font-weight: 600;
}

.sg-height-inputs input[type="number"] {
  width: 72px;
  height: 38px;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 0 8px;
  font-size: 15px;
  text-align: center;
  background: #fff;
}

html.sg-home .sg-range {
  position: relative;
  width: min(420px, 100%);
  min-width: 0;
  flex: 0 0 auto;
  height: 28px;
  max-width: 100%;
}

.sg-range-track {
  position: absolute;
  left: 0;
  right: 0;
  top: 12px;
  height: 4px;
  border-radius: 999px;
  background: #ececec;
}

.sg-range-fill {
  position: absolute;
  top: 12px;
  height: 4px;
  border-radius: 999px;
  background: #4c9a62;
}

.sg-range input[type="range"] {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 28px;
  margin: 0;
  background: none;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
}

.sg-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  pointer-events: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #4c9a62;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  cursor: pointer;
}

.sg-range input[type="range"]::-moz-range-thumb {
  pointer-events: auto;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #4c9a62;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  cursor: pointer;
}

.sg-range input[type="range"]::-moz-range-track {
  background: transparent;
  border: 0;
}

html.sg-home .sg-filters-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 4px;
  position: relative;
  min-height: 38px;
}

.sg-reset {
  appearance: none;
  border: 1px solid #ddd;
  background: #fff;
  color: #444;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.sg-reset:hover {
  border-color: #ff6b00;
  color: #ff6b00;
}

html.sg-home .sg-result-count {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #333;
  float: none !important;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* ---- Product grid + lazy hide ---- */

html.sg-home #shop ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px 18px;
  float: none;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0 0 12px;
}

html.sg-home #shop ul.products::before,
html.sg-home #shop ul.products::after {
  display: none !important;
  content: none !important;
}

html.sg-home #shop ul.products > li.product {
  display: none;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 12px 12px 14px;
  height: auto !important;
  position: relative;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 10px 28px rgba(37, 37, 37, 0.06);
}

html.sg-home #shop ul.products > li.product.sg-visible {
  display: flex !important;
  flex-direction: column;
  height: 100% !important;
}

html.sg-home #shop ul.products > li.sg-max-inline {
  list-style: none;
  grid-column: 1 / -1;
  float: none !important;
  width: 100% !important;
  margin: 4px 0 2px !important;
  padding: 6px 0;
  height: auto !important;
  display: flex;
  justify-content: center;
  background: transparent;
  box-shadow: none;
}

html.sg-home #shop .products .product,
html.sg-home #shop ul.products > li.product {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html.sg-home #shop .products .product h2 {
  height: auto !important;
  min-height: 2.6em;
  line-height: 1.25;
  margin: 10px 0 8px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #252525 !important;
}

html.sg-home #shop .products .product .thumbnail-quantity {
  display: none !important;
}

html.sg-home #shop .products .product .description {
  display: -webkit-box !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  margin: 8px 0 0;
  line-height: 1.45;
}

html.sg-home #shop .products .product .description p {
  display: inline !important;
  margin: 0;
}

html.sg-home #shop .products .product .sg-breeder {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 6px 0 0;
  line-height: 1.35;
  color: #4d4d4d;
}

html.sg-home #shop .products .product .sg-breeder-k {
  font-weight: 700;
}

html.sg-home #shop .products .product .price,
html.sg-home #shop .products .product .price .amount,
html.sg-home #shop .products .product .woocommerce-Price-amount {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #252525 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  margin: 0 0 10px;
  text-align: left;
}

#sg-cart-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%) translateY(16px);
  z-index: 200;
  padding: 12px 18px;
  border-radius: 999px;
  background: #ff6b00;
  color: #fff;
  font: 700 15px/1.3 "Open Sans", Arial, sans-serif;
  box-shadow: 0 10px 24px rgba(255, 107, 0, 0.32);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

#sg-cart-toast.is-on {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

html.sg-home #shop .products .product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  height: auto !important;
  overflow: visible !important;
  color: #252525;
  text-decoration: none !important;
}

html.sg-home #shop .products .product,
html.sg-home li.product {
  position: relative;
}

html.sg-home #shop .products .product .imagewrapper,
html.sg-home li.product .imagewrapper {
  display: block;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 14px;
  background: #f6f4f0;
}

html.sg-home #shop .products .product .imagewrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html.sg-home #shop .products .product .add_to_cart_button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: auto !important;
  margin-bottom: 4px !important;
  padding: 10px 12px !important;
  background: #ff6b00 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  text-align: center;
  text-decoration: none !important;
  box-shadow: none !important;
}

html.sg-home #shop .products .product .add_to_cart_button:hover {
  background: #e65c00 !important;
  color: #fff !important;
}

html.sg-home #shop .products .product .sg-specs {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 3;
  flex-wrap: wrap;
  align-items: flex-start; /* pills hug content: a lone spec must not stretch to the reserved min-height */
  align-content: flex-start;
  gap: 6px;
  margin: 0 0 10px;
  min-height: 4.6em;
}

html.sg-home #shop .products .product .sg-spec {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff4ec;
  color: #222;
  font-size: 13px;
  line-height: 1.3;
  white-space: normal;
}

html.sg-home #shop .products .product .sg-spec-k {
  color: #888;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 700;
}

html.sg-home #shop .products .product .sg-spec--bloom {
  background: #eef6f0;
}

#sg-scroll-sentinel {
  width: 100%;
  height: 1px;
}

html.sg-home .chekbutton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 8px auto 18px;
  padding: 12px 28px;
  background: #252525;
  color: #fff !important;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none !important;
}

html.sg-home .chekbutton:hover {
  background: #ff6b00;
  color: #fff !important;
}

@media (max-width: 1199px) {
  html.sg-home #shop ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sg-nav-toggle {
    display: block;
  }

  .sg-menu {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    border-radius: 16px;
    padding: 8px;
    box-shadow: 0 16px 40px rgba(37, 37, 37, 0.12);
  }

  .sg-nav.is-open .sg-menu {
    display: flex;
  }

  .sg-menu a {
    white-space: normal;
    padding: 12px 14px;
    font-size: 15px;
  }

  .sg-menu a.is-current::after {
    display: none;
  }
}

@media (max-width: 991px) {
  html.sg-home #shop ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sg-hero-frame {
    min-height: 0;
    border-radius: 22px;
  }

  .sg-hero-photo {
    height: 420px;
    object-position: 50% 35%;
  }

  .sg-hero-copy {
    width: 70%;
    padding: 24px 20px 88px 20px;
  }

  /* v31: CTA row hugs the bottom of the shorter mid-size frame. */
  .sg-hero-copy {
    padding-bottom: 96px;
  }

  .sg-promo {
    margin: -40px 12px 0;
    grid-template-columns: 1fr;
  }

  #sg-benefits {
    grid-template-columns: 1fr 1fr;
  }

  .sg-benefit:nth-child(2) {
    border-left: 1px solid #eee8df;
  }

  .sg-benefit:nth-child(3),
  .sg-benefit:nth-child(4) {
    border-left: 0;
  }

  .sg-benefit:nth-child(3) {
    border-top: 1px solid #eee8df;
  }

  .sg-benefit:nth-child(4) {
    border-top: 1px solid #eee8df;
    border-left: 1px solid #eee8df;
  }
}

@media (max-width: 767px) {
  html.sg-home .container.wbg {
    width: 100% !important;
    max-width: none !important;
    padding-left: 12px;
    padding-right: 12px;
  }

  .sg-max-btn--hero,
  .sg-max-btn--strip,
  .sg-max-btn--sticky {
    font-size: 15px;
    padding: 14px 14px;
  }

  .sg-max-btn--banner {
    font-size: 15px;
    padding: 14px 18px;
  }

  .sg-max-btn--header {
    display: inline-flex;
    margin: 6px 0 0;
  }

  .sg-topbar-inner {
    width: 100%;
    max-width: none;
    justify-content: center;
    padding: 10px 12px 4px;
    gap: 8px 12px;
  }

  .sg-ig-full {
    display: none;
  }

  .sg-ig-short {
    display: inline;
  }

  .sg-topbar-divider {
    display: none;
  }

  .sg-wrap {
    width: 100%;
    max-width: none;
    padding: 0 12px 8px;
  }

  .sg-nav {
    padding: 8px 10px;
    border-radius: 18px;
  }

  .sg-brand-name {
    white-space: normal;
    font-size: 14px;
  }

  .sg-brand-tag {
    white-space: normal;
  }

  .sg-hero {
    margin-top: 12px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 28px rgba(37, 37, 37, 0.08);
    overflow: hidden;
  }

  .sg-hero-frame {
    display: flex;
    flex-direction: column;
    border-radius: 0;
    box-shadow: none;
  }

  .sg-hero-photo {
    order: 1;
    width: 100%;
    margin-left: 0;
    height: 380px;
    object-position: 42% 38%;
  }

  .sg-hero-copy {
    order: 2;
    position: relative;
    width: 100%;
    bottom: auto;
    padding: 16px 16px 8px;
    background: #fff;
    transform: none;
  }

  /* v21: manager CTAs stack compact under the copy, inside the frame.
     v31: unchanged behaviour — full-width stack under the white copy. */
  .sg-manager-ctas {
    order: 3;
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
    padding: 4px 12px 14px;
    z-index: 3;
    background: #fff;
    min-width: 0;
  }

  .sg-hero-reviews {
    order: 4;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
  }

  .sg-manager-cta {
    box-sizing: border-box;
    width: 100%;
    height: 58px;
    flex: 0 0 58px;
    min-width: 0;
    justify-content: center;
    white-space: nowrap;
    text-align: center;
    font-size: 15px;
    border-width: 2.5px;
    padding: 8px 6px;
    gap: 6px;
  }

  .sg-manager-ico {
    width: 28px;
    height: 28px;
  }

  .sg-manager-ico svg {
    width: 15px;
    height: 15px;
  }

  .sg-hero-title {
    font-size: 30px !important;
  }

  .sg-hero-sub {
    font-size: 15px;
    max-width: none;
  }

  .sg-hero-rule {
    margin: 12px 0 12px;
  }

  .sg-promo {
    margin: 0;
    grid-template-columns: 1fr;
    border-radius: 0;
    box-shadow: none;
    padding: 8px 10px 12px;
  }

  .sg-promo-ok,
  .sg-promo-ig {
    min-height: 64px;
  }

  #sg-banner-max {
    margin: 18px auto 4px;
  }


  html.sg-home #sg-filters {
    text-align: center;
    padding: 8px 0 6px;
  }

  html.sg-home .sg-filters-row {
    justify-content: center;
  }

  html.sg-home .sg-height,
  html.sg-home .sg-height-inputs {
    justify-content: center;
    width: 100%;
  }

  html.sg-home .sg-range {
    width: min(420px, 100%);
    max-width: 100%;
    min-width: 0;
    flex: 0 1 auto;
  }

  html.sg-home .sg-filters-meta {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  html.sg-home .sg-result-count {
    position: static;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
    text-align: center;
  }

  #sg-benefits {
    grid-template-columns: 1fr;
    padding: 6px 4px;
  }

  .sg-benefit + .sg-benefit,
  .sg-benefit:nth-child(n) {
    border: 0;
    border-top: 1px solid #eee8df;
  }

  .sg-benefit:first-child {
    border-top: 0;
  }
}

@media (max-width: 575px) {
  html.sg-home #shop ul.products {
    grid-template-columns: 1fr;
  }

  html.sg-home #sg-filters {
    padding: 8px 0 6px;
    text-align: center;
  }
}

.sg-no-photo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  background: #efe8df;
  color: #7a6d62;
  border-radius: 16px;
  font-size: 14px;
  text-align: center;
}

html.sg-home .imagewrapper .sg-no-photo {
  min-height: 180px;
  border-radius: 12px;
}

html.sg-home .sg-catalog-badges {
  display: flex;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 3;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  max-width: calc(100% - 64px);
  margin: 0;
  pointer-events: none;
}

html.sg-home .sg-catalog-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 12px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .01em;
  text-align: left;
  box-shadow: 0 5px 14px rgba(27, 18, 32, .24);
}

html.sg-home .sg-catalog-badge--giant{background:#247b43}
html.sg-home .sg-catalog-badge--new{background:#d92f72}
html.sg-home .sg-catalog-badge--premium{border:2px solid #e5c15f;background:#3c183e;color:#f4d77f;font-family:Georgia,"Times New Roman",serif}
html.sg-home .sg-catalog-badge--exclusive{background:#7440b8}
html.sg-home .sg-catalog-badge--legend{background:#f2ce43;color:#17130a}
html.sg-home .sg-catalog-badge--sale{background:#087d79}

/* v49 — reference card composition + season support */
.sg-season-support{display:flex;align-items:flex-start;gap:14px;margin:14px 20px 12px;padding:16px 20px;border:1px solid #dbe9d9;border-radius:18px;background:#f5fbf3;color:#304332;box-shadow:0 8px 22px rgba(47,91,54,.07)}
.sg-season-support-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:50%;background:#e2f2df;color:#3e8750;font-size:26px;line-height:1}
.sg-season-support>span:last-child{display:grid;gap:3px}.sg-season-support strong{font-size:17px;line-height:1.25;color:#24482b}.sg-season-support strong+span{font-size:14px;line-height:1.45}

html.sg-home #shop ul.products>li.product{border:1px solid #f0e9e2;box-shadow:0 8px 24px rgba(68,46,29,.08)}
html.sg-home #shop .products .product h2{min-height:0;font-size:18px!important;font-weight:800!important}
html.sg-home #shop .products .product .sg-breeder{position:relative;margin:0 0 10px;padding-left:20px;color:#777;font-size:12px}
html.sg-home #shop .products .product .sg-breeder::before{content:"♙";position:absolute;left:1px;top:-1px;color:#8a8a8a;font-size:15px}
html.sg-home #shop .products .product .description{margin:10px 0 14px;min-height:4.35em;color:#777;font-size:13px;line-height:1.45}
html.sg-home #shop .products .product .price,html.sg-home #shop .products .product .price .amount,html.sg-home #shop .products .product .woocommerce-Price-amount{font-size:26px!important;font-weight:900!important;line-height:1.05;margin:0}
html.sg-home #shop .products .product .sg-card-favorite{position:absolute;top:10px;right:10px;z-index:5;display:grid;width:36px;height:36px;padding:0;border:0;place-items:center;border-radius:50%;background:#fff;color:#ef3f76;font:800 24px/1 Arial,sans-serif;box-shadow:0 3px 12px rgba(57,28,36,.14);cursor:pointer}
html.sg-home #shop .products .product .sg-card-favorite[aria-pressed="true"]{background:#ef3f76;color:#fff}

html.sg-home #shop .products .product .sg-card-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;margin-bottom:10px}
html.sg-home #shop .products .product .sg-card-stock{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#e9f8e7;color:#25a842;font-size:11px;font-weight:700;white-space:nowrap}
html.sg-home #shop .products .product .sg-card-buy-row{display:grid;grid-template-columns:106px minmax(0,1fr);gap:10px;margin-top:0;flex-wrap:nowrap}
html.sg-home #shop .products .product .sg-qty-stepper{display:grid;grid-template-columns:34px 38px 34px;max-width:none;border-color:#e5e0db;border-radius:14px}
html.sg-home #shop .products .product .sg-qty-stepper button,html.sg-home #shop .products .product .sg-qty-stepper input{width:100%;height:44px;background:#fff}
html.sg-home #shop .products .product .add_to_cart_button{width:auto;min-height:46px;padding:10px 14px!important;background:linear-gradient(135deg,#ff7a00,#ff3f19)!important}
html.sg-home #shop .products .product .sg-card-cart-icon{width:21px;height:21px;margin-right:7px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html.sg-home #shop ul.products{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}
html.sg-home #shop .products .product .sg-specs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:6px;margin:0 0 8px;min-height:62px}
html.sg-home #shop .products .product .sg-spec{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:5px;padding:0;border-radius:0;background:transparent;min-width:0}
html.sg-home #shop .products .product .sg-card-spec-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#fff0f5;color:#ef3f76}
html.sg-home #shop .products .product .sg-card-spec-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html.sg-home #shop .products .product .sg-spec-copy{display:grid;gap:2px;min-width:0}html.sg-home #shop .products .product .sg-spec-copy strong{font-size:11px;line-height:1.15;overflow-wrap:anywhere}
html.sg-home #shop .products .product .sg-spec-k{text-transform:none;letter-spacing:0;font-size:9px;font-weight:500;line-height:1.1}
html.sg-home #shop .products .product .sg-spec--bloom{background:transparent}

@media(max-width:767px){.sg-season-support{margin:12px 0;padding:14px;gap:10px}.sg-season-support-icon{flex-basis:36px;width:36px;height:36px}.sg-season-support strong{font-size:16px}.sg-season-support strong+span{font-size:13px}html.sg-home #shop ul.products{width:100%;margin-left:0;margin-right:0}html.sg-home #shop .products .product .sg-card-buy-row{grid-template-columns:100px minmax(0,1fr)}html.sg-home #shop .products .product .sg-qty-stepper{grid-template-columns:32px 36px 32px}}

/* v53 — move text, not the photo's full-height gradient. */
.sg-hero-copy{transform:none}
.sg-hero-copy>*{transform:translateY(-16px)}
.sg-hero-title{font-size:clamp(39px,4.25vw,56px)!important}
.sg-hero-year{white-space: nowrap}
@media(min-width:1200px){.sg-hero-copy>*{transform:translateY(-40px)}.sg-hero-title{width:430px}.sg-hero-title-lead{white-space:nowrap}}
.sg-season-support{align-items:center;background:#174b35;border-color:#174b35;color:#f4fff8;box-shadow:0 12px 30px rgba(23,75,53,.24)}
.sg-season-support-icon{background:#2d7454;color:#fff}
.sg-season-support-copy{display:grid;flex:1 1 auto;gap:4px;min-width:0}
.sg-season-support strong{color:#fff;font-size:19px}
.sg-season-support strong+span{color:#e2f2e8}
.sg-season-support-max{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;background:#126da8;background:linear-gradient(100deg,#1d65b0 0%,#0877a5 100%);color:#fff!important;font-weight:800;text-decoration:none!important;box-shadow:0 6px 14px rgba(10,63,116,.22)}
.sg-season-support-max-mark{display:block;width:24px;height:24px;flex:0 0 24px}
.sg-season-support-max:hover,.sg-season-support-max:focus-visible{background:#135e9e;background:linear-gradient(100deg,#1b5fa7 0%,#08709a 100%);color:#fff!important}
.sg-season-support-max:focus-visible{outline:3px solid #fff!important;outline-offset:3px}
html.sg-home #shop .products .product .sg-specs{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:767px){
  .sg-hero-copy{transform:translateY(-8px);padding-top:12px}
  .sg-hero-copy>*{transform:none}
  .sg-hero-title{font-size:32px!important}
  .sg-season-support{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start}
  .sg-season-support-max{grid-column:1/-1;width:100%;box-sizing:border-box;min-height:50px}
}

html.sg-home .sg-requisites-link {
  display: block;
  width: fit-content;
  margin: 2px auto 8px;
  padding: 0;
  border: 0;
  color: #777;
  background: transparent;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
}

html.sg-home .sg-requisites-link:hover,
html.sg-home .sg-requisites-link:focus-visible {
  color: #555;
  background: transparent;
  text-decoration: underline;
}

/* Non-approved collections are kept in the DOM (data + 342/342 grid contract)
   but must not render publicly. Marked at the selection source by
   tools/catalog_policy.py; without this rule they leaked to the storefront. */
html.sg-home #shop ul.products li.product.sg-collection-hidden {
  display: none;
}

html.sg-home .sg-footer-profile { display:inline-flex; width:28px; height:28px; margin:0 4px; align-items:center; justify-content:center; vertical-align:middle; color:inherit; text-decoration:none; }
html.sg-home .social { display:flex; justify-content:center; align-items:center; flex-wrap:nowrap; gap:8px; }
html.sg-home .sg-footer-profile-max { background:#5b5cf6; color:#fff; border-radius:50%; box-shadow:0 2px 8px rgba(31,35,48,.18); }
html.sg-home .sg-footer-profile-instagram { background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045); color:#fff; border-radius:50%; box-shadow:0 2px 8px rgba(31,35,48,.18); }
html.sg-home .sg-footer-profile img { display:block; width:20px; height:20px; }
html.sg-home .sg-footer-instagram-icon { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
html.sg-home .sg-footer-instagram-dot { fill:currentColor; stroke:none; }
html.sg-home .sg-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Homepage-only scroll-to-top control. */
html.sg-home .sg-scroll-top {
  position: fixed; right: max(27px, env(safe-area-inset-right)); bottom: max(94px, env(safe-area-inset-bottom));
  z-index: 9999; width: 48px; height: 48px; display: grid; place-items: center;
  border: 1px solid rgba(255, 107, 0, .22); border-radius: 50%; background: #fff; color: #e65c00;
  box-shadow: 0 5px 18px rgba(37, 37, 37, .18); font: 700 26px/1 Arial, sans-serif; cursor: pointer;
  opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
html.sg-home .sg-scroll-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); }
html.sg-home .sg-scroll-top:hover { background: #fff7ef; color: #c94e00; }
html.sg-home .sg-scroll-top:focus-visible { outline: 3px solid #252525; outline-offset: 3px; }
body.sg-cart-toast-visible .sg-scroll-top { bottom: max(164px, env(safe-area-inset-bottom)); }
@media (max-width: 600px) {
  html.sg-home .sg-scroll-top { width: 42px; height: 42px; right: max(19px, env(safe-area-inset-right)); bottom: max(80px, env(safe-area-inset-bottom)); font-size: 22px; }
  body.sg-cart-toast-visible .sg-scroll-top { bottom: max(154px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { html.sg-home .sg-scroll-top { transition: none; } }
