
.sf-product-card > div:first-child{
  aspect-ratio: 1/1 !important;
}

.sf-footer {
background: #3f4630 !important;
}

.sf-product-card button:hover {
background: #3f4630 !important;
color: white;
box-shadow: none;
}

a:not([class*=bg-]):not([class*=btn]):not(footer a) {
color: #68724a;
}

footer a {
color: white !important;
}

#sf-footer section:first-child {
  background: darkseagreen;
}
/* =========================================================
   LIGHT THEME VARIABLES
   ========================================================= */

html:not(.dark) .sf-hero-split > div:last-child,
body:not(.dark-mode) .sf-hero-split > div:last-child,
[data-theme="light"] .sf-hero-split > div:last-child {

  --nut1: #9acb4d;
  --nut2: #68724a;
}


/* =========================================================
   CENTRAL GLOW
   ========================================================= */

html:not(.dark) .sf-hero-split > div:last-child span,
body:not(.dark-mode) .sf-hero-split > div:last-child span,
[data-theme="light"] .sf-hero-split > div:last-child span {

  display: none;
}


/* =========================================================
   INNER DEPTH
   ========================================================= */

html:not(.dark) .sf-hero-split > div:last-child,
body:not(.dark-mode) .sf-hero-split > div:last-child,
[data-theme="light"] .sf-hero-split > div:last-child {

  box-shadow:
    inset 25px 0 70px rgba(52,72,42,.06),
    inset 0 0 80px rgba(185,239,104,.08);
}


/* =========================================================
   HERO BORDER
   ========================================================= */

html:not(.dark) .sf-hero-split,
body:not(.dark-mode) .sf-hero-split,
[data-theme="light"] .sf-hero-split {

  background-clip: padding-box;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 640px) {

  html:not(.dark) .sf-hero-split > div:first-child,
  body:not(.dark-mode) .sf-hero-split > div:first-child,
  [data-theme="light"] .sf-hero-split > div:first-child {

    padding: 2rem !important;
  }


  html:not(.dark) .sf-hero-split h1,
  body:not(.dark-mode) .sf-hero-split h1,
  [data-theme="light"] .sf-hero-split h1 {

    font-size: 3rem !important;
    letter-spacing: -2px;
  }


  html:not(.dark) .sf-hero-split > div:last-child,
  body:not(.dark-mode) .sf-hero-split > div:last-child,
  [data-theme="light"] .sf-hero-split > div:last-child {

    min-height: 240px;
  }


  html:not(.dark) .sf-hero-split > div:last-child::before,
  body:not(.dark-mode) .sf-hero-split > div:last-child::before,
  [data-theme="light"] .sf-hero-split > div:last-child::before {

    width: 230px;
    height: 230px;
  }


  html:not(.dark) .sf-hero-split > div:last-child::after,
  body:not(.dark-mode) .sf-hero-split > div:last-child::after,
  [data-theme="light"] .sf-hero-split > div:last-child::after {

    width: 160px;
    height: 160px;
  }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  html:not(.dark) .sf-hero-split *,
  body:not(.dark-mode) .sf-hero-split *,
  [data-theme="light"] .sf-hero-split * {

    animation: none !important;
    transition: none !important;
  }
}

.dark .entry-content a:not(.wp-block-button__link):not(.wp-element-button):not([class*="text-white"]) {
    color: #fff;
}

```css
/* =========================================================
   SNACKGO HERO — DARK THEME
   Scoped ONLY to .dark
   ========================================================= */

```css
/* =========================================================
   SNACKGO HERO — DARK THEME
   Scoped ONLY to .dark
   ========================================================= */


/* =========================================================
   CATEGORY TITLE
   ========================================================= */

.dark .sf-hero-split h1 {

  position: relative;
  z-index: 2;

  margin-top: 5px !important;

  color: #f8f4e8 !important;

  font-size: clamp(2.8rem, 5vw, 4.8rem) !important;

  line-height: .9 !important;

  letter-spacing: -3px;

  text-shadow:
    0 8px 35px rgba(0,0,0,.35);

  animation:
    snackgoCategoryTitle 1.1s cubic-bezier(.16,1,.3,1) .15s both;
}


@keyframes snackgoCategoryTitle {

  from {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}


/* =========================================================
   TITLE UNDERLINE
   ========================================================= */

.dark .sf-hero-split h1::after {

  content: "";

  display: block;

  width: 65px;
  height: 4px;

  margin-top: 20px;

  border-radius: 99px;

  background:
    linear-gradient(
      90deg,
      #68724a,
      #b9ef68
    );

  box-shadow:
    0 0 18px rgba(185,239,104,.30);

  animation:
    snackgoLineReveal 1s ease .65s both;
}


@keyframes snackgoLineReveal {

  from {
    width: 0;
    opacity: 0;
  }

  to {
    width: 65px;
    opacity: 1;
  }
}


/* =========================================================
   BUTTON
   ========================================================= */

.dark .sf-hero-split a[href="/sklep/"] {

  position: relative;
  overflow: hidden;

  display: inline-flex;
  align-items: center;
  gap: 15px;

  padding: 13px 22px !important;

  border: 1px solid rgba(185,239,104,.45) !important;

  border-radius: 999px !important;

  background:
    linear-gradient(
      135deg,
      rgba(104,114,74,.18),
      rgba(185,239,104,.06)
    ) !important;

  color: #f8f4e8 !important;

  box-shadow:
    0 8px 25px rgba(0,0,0,.20);

  transition:
    transform .4s cubic-bezier(.16,1,.3,1),
    box-shadow .4s ease,
    border-color .4s ease;
}


/* =========================================================
   BUTTON ARROW
   ========================================================= */

.dark .sf-hero-split a[href="/sklep/"]::after {

  content: "→";

  display: inline-flex;

  align-items: center;
  justify-content: center;

  width: 27px;
  height: 27px;

  border-radius: 50%;

  background: #b9ef68;

  color: #173d2a;

  font-size: 15px;
  font-weight: 900;

  transition:
    transform .4s ease;
}


/* =========================================================
   BUTTON HOVER
   ========================================================= */

.dark .sf-hero-split a[href="/sklep/"]:hover {

  transform: translateY(-4px);

  border-color: #b9ef68 !important;

  box-shadow:
    0 14px 35px rgba(0,0,0,.35),
    0 0 25px rgba(185,239,104,.13);

  background:
    rgba(185,239,104,.10) !important;
}


.dark .sf-hero-split a[href="/sklep/"]:hover::after {

  transform: translateX(5px);
}


/* =========================================================
   RIGHT VISUAL AREA
   ========================================================= */

.dark .sf-hero-split > div:last-child {

  position: relative;
  z-index: 2;

  min-height: 360px;

  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(185,239,104,.18),
      transparent 40%
    ),
    linear-gradient(
      135deg,
      #203d2a,
      #0e2118
    ) !important;

  overflow: hidden;
}


/* =========================================================
   GIANT ORBIT
   ========================================================= */

.dark .sf-hero-split > div:last-child::before {

  content: "";

  position: absolute;

  width: 330px;
  height: 330px;

  left: 50%;
  top: 50%;

  transform:
    translate(-50%, -50%)
    rotate(-15deg);

  border-radius: 50%;

  border: 1px solid rgba(185,239,104,.35);

  box-shadow:
    0 0 0 45px rgba(185,239,104,.035),
    0 0 0 90px rgba(185,239,104,.025);

  animation:
    snackgoOrbit 12s linear infinite;
}


@keyframes snackgoOrbit {

  from {
    transform:
      translate(-50%, -50%)
      rotate(0deg);
  }

  to {
    transform:
      translate(-50%, -50%)
      rotate(360deg);
  }
}


/* =========================================================
   SECOND ORBIT
   ========================================================= */

.dark .sf-hero-split > div:last-child::after {

  content: "";

  position: absolute;

  width: 230px;
  height: 230px;

  left: 50%;
  top: 50%;

  transform:
    translate(-50%, -50%)
    rotate(25deg);

  border-radius: 50%;

  border: 1px dashed rgba(217,227,195,.20);

  animation:
    snackgoOrbitReverse 9s linear infinite;
}


@keyframes snackgoOrbitReverse {

  from {
    transform:
      translate(-50%, -50%)
      rotate(360deg);
  }

  to {
    transform:
      translate(-50%, -50%)
      rotate(0deg);
  }
}


/* =========================================================
   THEME VARIABLES
   ========================================================= */

.dark .sf-hero-split > div:last-child {

  --nut1: #b9ef68;
  --nut2: #68724a;
}


/* =========================================================
   CENTRAL OBJECT
   ========================================================= */

.dark .sf-hero-split > div:last-child span {

  display: none;
}


/* =========================================================
   INNER SHADOW
   ========================================================= */

.dark .sf-hero-split > div:last-child {

  box-shadow:
    inset 25px 0 70px rgba(0,0,0,.22),
    inset 0 0 80px rgba(185,239,104,.04);
}


/* =========================================================
   HERO BORDER
   ========================================================= */

.dark .sf-hero-split {

  background-clip: padding-box;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 640px) {

  .dark .sf-hero-split > div:first-child {
    padding: 2rem !important;
  }

  .dark .sf-hero-split h1 {
    font-size: 3rem !important;
    letter-spacing: -2px;
  }

  .dark .sf-hero-split > div:last-child {
    min-height: 240px;
  }

  .dark .sf-hero-split > div:last-child::before {
    width: 230px;
    height: 230px;
  }

  .dark .sf-hero-split > div:last-child::after {
    width: 160px;
    height: 160px;
  }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .dark .sf-hero-split * {

    animation: none !important;
    transition: none !important;
  }
}

/* =========================================================
   SNACKGO — CREATIVE CATEGORY EXPERIENCE
   ========================================================= */

.sf-shortcode-categories {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 10px 0 35px;
}

/* Soft background atmosphere */
.sf-shortcode-categories::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  left: -180px;
  top: 30px;
  border-radius: 50%;
  background: #dfe7d3;
  filter: blur(80px);
  opacity: .38;
  pointer-events: none;
}

.sf-shortcode-categories::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -150px;
  bottom: -100px;
  border-radius: 50%;
  background: #eee4c9;
  filter: blur(80px);
  opacity: .35;
  pointer-events: none;
}


/* GRID */
.sf-shortcode-categories > section {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
}

.sf-shortcode-categories > section > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}


/* =========================================================
   CARD
   ========================================================= */

.sf-shortcode-categories a {
  position: relative;

  min-height: 125px;

  display: flex !important;
  flex-direction: column;
  justify-content: space-between;

  padding: 22px 22px 19px;

  overflow: hidden;

  border: 1px solid rgba(104,114,74,.14) !important;
  border-radius: 22px !important;

  background:
    linear-gradient(
      145deg,
      #ffffff 0%,
      #fbfcf8 100%
    ) !important;

  box-shadow:
    0 8px 24px rgba(57,65,43,.07),
    inset 0 1px 0 rgba(255,255,255,.9) !important;

  text-decoration: none !important;

  transform: translateY(0);

  transition:
    transform .45s cubic-bezier(.2,.8,.2,1),
    box-shadow .45s ease,
    border-color .35s ease;
}


/* Large decorative circle */
.sf-shortcode-categories a::before {
  content: "";
  position: absolute;

  width: 95px;
  height: 95px;

  right: -32px;
  top: -32px;

  border-radius: 50%;

  background: #edf1e6;

  transition:
    transform .55s cubic-bezier(.2,.8,.2,1),
    background .35s ease;
}


/* Small decorative dot */
.sf-shortcode-categories a::after {
  content: "";
  position: absolute;

  width: 9px;
  height: 9px;

  right: 23px;
  bottom: 22px;

  border-radius: 50%;

  background: #68724a;

  box-shadow:
    0 0 0 5px rgba(104,114,74,.08);

  transition:
    transform .4s ease,
    box-shadow .4s ease;
}


/* =========================================================
   HOVER
   ========================================================= */

.sf-shortcode-categories a:hover {
  transform: translateY(-8px) rotate(-.4deg);

  border-color: rgba(104,114,74,.35) !important;

  box-shadow:
    0 18px 40px rgba(57,65,43,.13),
    0 4px 8px rgba(57,65,43,.05) !important;
}

.sf-shortcode-categories a:hover::before {
  transform: scale(2.1);

  background: #e5eadc;
}

.sf-shortcode-categories a:hover::after {
  transform: scale(1.45);

  box-shadow:
    0 0 0 7px rgba(104,114,74,.10);
}


/* =========================================================
   TITLE
   ========================================================= */

.sf-shortcode-categories a strong {
  position: relative;
  z-index: 3;

  max-width: 80%;

  color: #292d2a !important;

  font-size: 16px;
  font-weight: 750;
  line-height: 1.25;

  letter-spacing: -.3px;

  transition:
    transform .35s ease,
    color .3s ease;
}

.sf-shortcode-categories a:hover strong {
  transform: translateX(3px);

  color: #4f5937 !important;
}


/* =========================================================
   PRODUCT COUNT
   ========================================================= */

.sf-shortcode-categories a span {
  position: relative;
  z-index: 3;

  color: #7a7f77 !important;

  font-size: 12px;
  font-weight: 500;

  transition:
    transform .35s ease,
    color .3s ease;
}

.sf-shortcode-categories a:hover span {
  transform: translateX(3px);

  color: #68724a !important;
}


/* =========================================================
   ADD CATEGORY NUMBERS
   ========================================================= */

.sf-shortcode-categories a:nth-child(1)::marker {
  content: "";
}

.sf-shortcode-categories a:nth-child(1) {
  --cat-number: "01";
}

.sf-shortcode-categories a:nth-child(2) {
  --cat-number: "02";
}

.sf-shortcode-categories a:nth-child(3) {
  --cat-number: "03";
}

.sf-shortcode-categories a:nth-child(4) {
  --cat-number: "04";
}

.sf-shortcode-categories a:nth-child(5) {
  --cat-number: "05";
}

.sf-shortcode-categories a:nth-child(6) {
  --cat-number: "06";
}

.sf-shortcode-categories a:nth-child(7) {
  --cat-number: "07";
}

.sf-shortcode-categories a:nth-child(8) {
  --cat-number: "08";
}

.sf-shortcode-categories a strong::before {
  content: var(--cat-number);

  display: block;

  margin-bottom: 10px;

  color: #a6ad99;

  font-size: 9px;
  font-weight: 800;

  letter-spacing: 1.5px;

  opacity: .8;
}


/* =========================================================
   DIFFERENT PERSONALITY FOR DIFFERENT CATEGORIES
   ========================================================= */

/* Wafle */
.sf-shortcode-categories a:nth-child(2)::before {
  background: #f0e5cc;
}

/* Słodycze */
.sf-shortcode-categories a:nth-child(3)::before {
  background: #eee0e1;
}

/* Strefa okazji */
.sf-shortcode-categories a:nth-child(4)::before {
  background: #e6ead5;
}

/* Słone */
.sf-shortcode-categories a:nth-child(5)::before {
  background: #eee3d0;
}

/* Słodkie */
.sf-shortcode-categories a:nth-child(6)::before {
  background: #e9e1d7;
}

/* Paluszki */
.sf-shortcode-categories a:nth-child(7)::before {
  background: #e3e8d9;
}

/* Orzeszki */
.sf-shortcode-categories a:nth-child(8)::before {
  background: #eadfc9;
}


/* =========================================================
   SPECIAL "ALL PRODUCTS" CARD
   ========================================================= */

.sf-shortcode-categories a:first-child {
  background:
    linear-gradient(
      135deg,
      #68724a 0%,
      #59633f 100%
    ) !important;

  border-color: #68724a !important;

  box-shadow:
    0 12px 30px rgba(79,89,55,.20) !important;
}

.sf-shortcode-categories a:first-child strong,
.sf-shortcode-categories a:first-child span {
  color: #ffffff !important;
}

.sf-shortcode-categories a:first-child strong::before {
  color: rgba(255,255,255,.55);
}

.sf-shortcode-categories a:first-child::before {
  background: rgba(255,255,255,.09);
}

.sf-shortcode-categories a:first-child::after {
  background: #f3ead4;

  box-shadow:
    0 0 0 5px rgba(255,255,255,.10);
}

.sf-shortcode-categories a:first-child:hover {
  box-shadow:
    0 20px 42px rgba(79,89,55,.28) !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

  .sf-shortcode-categories > section > div {
    grid-template-columns: repeat(2, 1fr);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {

  .sf-shortcode-categories {
    padding: 5px 0 25px;
  }

  .sf-shortcode-categories > section {
    padding: 0 16px;
  }

  .sf-shortcode-categories > section > div {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .sf-shortcode-categories a {
    min-height: 105px;
    padding: 19px;
    border-radius: 19px !important;
  }

  .sf-shortcode-categories a strong {
    font-size: 15px;
  }

  .sf-shortcode-categories a:hover {
    transform: translateY(-4px);
  }
}


/* SnackGO – galeria produktu */
.sf-product-gallery img.object-contain {
    object-fit: contain !important;
    object-position: center !important;
    max-height: 520px !important;
    width: 100% !important;
}

/* Zachowanie proporcji zdjęcia */
.sf-product-gallery img {
    max-width: 100% !important;
}


/* SnackGO – jednolita typografia opisów produktów */

.wp-content-fragment .text-item {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.wp-content-fragment .text-item p,
.wp-content-fragment .text-item section,
.wp-content-fragment .text-item li {
  font-family: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.wp-content-fragment .text-item p {
  margin: 0 0 14px !important;
}

.wp-content-fragment .text-item h2 {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 24px 0 12px !important;
}

.wp-content-fragment .text-item h3 {
  font-family: Inter, Arial, sans-serif !important;
  font-size: 21px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 20px 0 10px !important;
}

.wp-content-fragment .text-item ul {
  list-style: disc outside !important;
  padding-left: 24px !important;
  margin: 10px 0 18px !important;
}

.wp-content-fragment .text-item ol {
  list-style: decimal outside !important;
  padding-left: 24px !important;
  margin: 10px 0 18px !important;
}

.wp-content-fragment .text-item li {
  margin-bottom: 6px !important;
}

.wp-content-fragment .text-item h2:empty,
.wp-content-fragment .text-item h3:empty {
  display: none !important;
}


/* SnackGO – finalne odstępy i listy w opisach produktów */

.wp-content-fragment .text-item h2,
.wp-content-fragment .text-item h3 {
  margin-top: 22px !important;
  margin-bottom: 10px !important;
}

.wp-content-fragment .text-item p {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

.wp-content-fragment .text-item ul {
  list-style-type: disc !important;
  list-style-position: outside !important;
  padding-left: 28px !important;
  margin: 12px 0 22px !important;
}

.wp-content-fragment .text-item ul > li {
  display: list-item !important;
  list-style-type: disc !important;
  padding-left: 4px !important;
  margin-bottom: 8px !important;
  line-height: 1.6 !important;
}

.wp-content-fragment .text-item ol {
  list-style-type: decimal !important;
  padding-left: 28px !important;
  margin: 12px 0 22px !important;
}

.wp-content-fragment .text-item ol > li {
  display: list-item !important;
  list-style-type: decimal !important;
  margin-bottom: 8px !important;
}

.wp-content-fragment .text-item > h2:first-child,
.wp-content-fragment .text-item > h3:first-child {
  margin-top: 0 !important;
}


/* SnackGO – poprawne listy w opisach produktów */

.wp-content-fragment ul {
  list-style: disc outside !important;
  padding-left: 28px !important;
  margin: 12px 0 22px !important;
}

.wp-content-fragment ul > li {
  display: list-item !important;
  list-style: disc outside !important;
  margin-bottom: 8px !important;
  padding-left: 4px !important;
}

.wp-content-fragment ol {
  list-style: decimal outside !important;
  padding-left: 28px !important;
  margin: 12px 0 22px !important;
}

.wp-content-fragment ol > li {
  display: list-item !important;
  list-style: decimal outside !important;
  margin-bottom: 8px !important;
}


/* SnackGO – punktory w opisach produktów */

.wp-content-fragment ul {
  list-style-type: disc !important;
  padding-left: 28px !important;
  margin: 12px 0 22px !important;
}

.wp-content-fragment ul li {
  display: list-item !important;
  list-style-type: disc !important;
  list-style-position: outside !important;
  margin-bottom: 8px !important;
}

.wp-content-fragment ol {
  list-style-type: decimal !important;
  padding-left: 28px !important;
  margin: 12px 0 22px !important;
}

.wp-content-fragment ol li {
  display: list-item !important;
  list-style-type: decimal !important;
  margin-bottom: 8px !important;
}
