@font-face {
  font-family: "Kelly Slab";
  src: url("https://fonts.gstatic.com/s/kellyslab/v18/-W_7XJX0Rz3cxUnJC5t6fkQLfr8nfiI.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "HeyNovember";
  src:
    url("../fonts/HeyNovember.woff2") format("woff2"),
    url("../fonts/HeyNovember.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Krisha";
  src:
    url("../fonts/Krisha-Regular.woff2") format("woff2"),
    url("../fonts/Krisha-Regular.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-Thin.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-Thin.otf") format("opentype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-ExtraLight.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-ExtraLight.otf") format("opentype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-Light.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-Light.otf") format("opentype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-Regular.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-Medium.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-Medium.otf") format("opentype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-SemiBold.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-SemiBold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-Bold.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-ExtraBold.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-ExtraBold.otf") format("opentype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Fliege Mono";
  src:
    url("../fonts/fliege-mono/FliegeMono-Black.woff2") format("woff2"),
    url("../fonts/fliege-mono/FliegeMono-Black.otf") format("opentype");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
[data-page-type=index] * {
  -webkit-font-smoothing: antialiased;
}
[data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__top-subtitle .animation-contents {
  font-size: 85px;
  letter-spacing: 0.5px;
  font-family: "Krisha", serif;
  line-height: 1;
}
[data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__top-subtitle {
  position: relative;
  top: -3rem;
}
@media screen and (max-width: 768px) {
  [data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__top-subtitle {
    top: -1.5rem;
  }
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__top-subtitle .animation-contents {
    font-size: 170px;
  }
}
[data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__title {
  margin-top: clamp(3rem, 5vw, 6rem) !important;
  margin-bottom: -2rem !important;
}
@media screen and (max-width: 768px) {
  [data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__title {
    margin-top: 2rem !important;
    margin-bottom: -1rem !important;
  }
}
[data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__title .animation-contents {
  font-size: 90px;
  letter-spacing: 0;
  font-family: "HeyNovember", sans-serif;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__title .animation-contents {
    font-size: 180px;
  }
}
[data-page-type=index] .advc-video-slideshow .hero__text-shadow .hero__link .advc-btn {
  font-family: "Fliege Mono", monospace;
  font-weight: 600;
  padding-top: 5px;
  padding-bottom: 5px;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .section-custom-featured-collection .container-custom-featured-collection {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 1rem;
  }
  [data-page-type=index] .section-custom-featured-collection .container-custom-featured-collection .custom-featured-collection__heading {
    width: 38%;
  }
  [data-page-type=index] .section-custom-featured-collection .container-custom-featured-collection theme-custom-featured-collection-tabs {
    width: 58%;
  }
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__heading,
[data-page-type=index] .section-custom-featured-collection theme-custom-featured-collection-tabs {
  overflow: hidden;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__heading h2 {
  font-family: "Krisha", serif !important;
  font-size: 75px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .section-custom-featured-collection .custom-featured-collection__heading h2 {
    font-size: 100px;
  }
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__heading-description {
  font-family: "Fliege Mono", monospace;
  text-align: center;
  font-size: 16px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .section-custom-featured-collection .custom-featured-collection__heading-description {
    font-size: 20px;
    width: 80%;
  }
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-image__layer-image-wrapper {
  border: 1px solid white;
  border-radius: 10px;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-image__image-wrapper {
  background-color: transparent;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-card__product-tags span {
  font-family: "Fliege Mono", monospace;
  font-weight: 900;
  padding: 2px 4px;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-title {
  font-family: "Krisha", serif;
  font-size: 39px;
  text-align: left;
  line-height: 1;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-title span {
  min-height: unset;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-card__description p {
  font-family: "Fliege Mono", monospace;
  font-size: 14px;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .ssr-sub-quick-subscribe-block .sub-quick-subscribe > div {
  background-color: transparent;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .ssr-sub-quick-subscribe-block .sub-quick-subscribe > div > div {
  padding: 5px 8px;
  display: flex;
  flex-direction: row;
  align-items: center;
  background-color: transparent;
  border: 2px solid white;
  margin-bottom: 10px;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .ssr-sub-quick-subscribe-block .sub-quick-subscribe > div > div span,
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .ssr-sub-quick-subscribe-block .sub-quick-subscribe > div > div div {
  color: white !important;
  font-family: "Fliege Mono", monospace;
  line-height: 1;
  font-size: 12px !important;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .ssr-sub-quick-subscribe-block .sub-quick-subscribe > div > div [class*=subQuickPrice] {
  text-decoration-thickness: 2px;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .ssr-sub-quick-subscribe-block .sub-quick-subscribe > div > div [class*=subQuickTag] {
  color: #44976e !important;
  background-color: white;
  border-color: white;
  font-weight: 600;
  padding: 1px 2px;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .ssr-sub-quick-subscribe-block .sub-quick-subscribe > div [class*=subQuickAddCart] {
  background-color: white;
  border-color: white;
  color: #44976e !important;
  font-weight: 600;
  text-transform: uppercase;
  font-family: "Fliege Mono", monospace;
  padding-top: 4px;
  padding-bottom: 4px;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .product-plugin-comment-rate-star {
  display: none !important;
}
/* Native "Add to cart" button — match the quick-subscribe "ADD TO CART" button
   above it (same colors, font, radius, padding and hover behavior) */
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-buy-button-wrapper .block-product-buy-button {
  background-color: white !important;
  border-radius: 1px;
  color: #44976e !important;
  font-weight: 600;
  text-transform: uppercase;
  font-family: "Fliege Mono", monospace;
  padding-top: 4px;
  padding-bottom: 4px;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-buy-button-wrapper .block-product-buy-button::after {
  border-radius: 1px;
  box-shadow: 0 0 0 var(--button-border-thickness, 1px) white;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-buy-button-wrapper .block-product-buy-button:not([disabled]):hover {
  background-color: white !important;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-buy-button-wrapper .block-product-buy-button:not([disabled]):hover::after {
  box-shadow: 0 0 0 calc(var(--button-border-thickness, 1px) + 1px) white;
}
[data-page-type=index] .section-custom-featured-collection .custom-featured-collection__tabs-content .block-product-buy-button-wrapper .block-product-buy-button-text {
  color: #44976e;
}
[data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container {
  padding: 0;
  padding-block-end: 60px !important;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container {
    padding-block-end: 200px !important;
  }
}
[data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container {
  width: 100%;
}
[data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner {
  width: 80%;
  margin: 100px auto;
  flex-wrap: wrap;
  gap: 4%;
}
@media screen and (max-width: 768px) {
  [data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner {
    gap: 2rem;
    margin: 20px auto;
  }
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-block-group {
    padding: 0;
    width: 60%;
  }
}
[data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-block-group h2 {
  font-family: "HeyNovember", sans-serif !important;
  line-height: 1;
  color: #f3e281;
  font-size: 80px;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-block-group h2 {
    font-size: 120px;
  }
}
[data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-block-group .sgc-block-description {
  font-family: "Fliege Mono", monospace;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-block-group .sgc-block-description {
    font-size: 24px;
  }
}
[data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-block-group .sgc-block-button-group .sgc-block-button {
  font-family: "Fliege Mono", monospace;
  font-weight: 600;
  font-size: 16px;
  color: white !important;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-block-group .sgc-block-button-group .sgc-block-button {
    font-size: 24px;
  }
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-video-slideshow__video-wrapper {
    width: 35%;
  }
}
[data-page-type=index] .sgc-video-slideshow .sgc-video-slideshow__container .sgc-video-slideshow__container-inner .sgc-video-slideshow__video-wrapper {
  flex: unset;
}
[data-page-type=index] .shopping-video__product-video-group-card-group-wrapper--under-video {
  display: none !important;
}
[data-page-type=index] .shopping-video__product-video-group-card-group-wrapper--under-video.is-active-card {
  display: block !important;
}
@media screen and (max-width: 768px) {
  [data-page-type=index] .sgc-product-comparison sgc-product-comparison {
    flex-direction: column;
  }
}
[data-page-type=index] .sgc-product-comparison sgc-product-comparison {
  display: flex;
  margin: 0;
  width: 100%;
  max-width: unset;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .sgc-product-comparison sgc-product-comparison .sgc-product-comparison__header {
    width: 30%;
  }
  [data-page-type=index] .sgc-product-comparison sgc-product-comparison .sgc-product-comparison__table-container {
    width: 70%;
  }
}
[data-page-type=index] .sgc-product-comparison .sgc-product-comparison__header {
  text-align: left;
}
[data-page-type=index] .sgc-product-comparison .sgc-product-comparison__header .sgc-product-comparison__header-title {
  font-family: "Krisha", serif !important;
  font-size: 75px !important;
  color: #296235;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .sgc-product-comparison .sgc-product-comparison__header .sgc-product-comparison__header-title {
    font-size: 100px !important;
  }
}
[data-page-type=index] .sgc-product-comparison .sgc-product-comparison__header .sgc-product-comparison__header-subtitle {
  margin-top: 1rem;
  color: #296235;
  font-family: "Fliege Mono", monospace;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 500;
}
[data-page-type=index] .sgc-product-comparison .sgc-product-comparison__header a {
  padding: 4px 14px !important;
  border: 2px solid #296235;
  margin-bottom: 10px;
  background-color: #296235;
  color: white;
  font-weight: 600;
  text-transform: uppercase;
  font-family: "Fliege Mono", monospace;
  text-decoration: none !important;
  font-size: 20px;
}
[data-page-type=index] .sgc-product-comparison .sgc-product-comparison__header a:hover {
  cursor: pointer;
}
[data-page-type=index] .sgc-product-comparison .sgc-product-comparison__table-container .sgc-product-card__title-info {
  text-align: left;
}
[data-page-type=index] .sgc-product-comparison .sgc-product-comparison__table-container .sgc-product-comparison__cell .sgc-product-comparison__icon-text-row {
  justify-content: flex-start;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .advc-section:has(.iconlist) .advc-container {
    width: 70% !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }
}
[data-page-type=index] theme-before-after {
  background-color: #f3e281;
}
[data-page-type=index] theme-before-after .before-after__container {
  align-items: center;
  background-color: #f3e281;
}
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text h2 {
  font-family: "Krisha", serif !important;
  font-size: 80px;
  line-height: 1;
  color: var(--pdp-accent, #d55c3e);
}
@media screen and (min-width: 769px) {
  [data-page-type=index] theme-before-after .before-after__container .before-after__compare-text h2 {
    font-size: 120px;
  }
}
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text h2:has(strong),
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text h2:has(strong) strong {
  font-size: 60px;
  font-family: "HeyNovember", sans-serif !important;
  color: #296235;
  margin-top: -50px;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] theme-before-after .before-after__container .before-after__compare-text h2:has(strong),
  [data-page-type=index] theme-before-after .before-after__container .before-after__compare-text h2:has(strong) strong {
    font-size: 90px;
  }
}
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text p {
  line-height: 1.2;
  margin: 1rem 0;
}
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text p:has(strong) {
  margin: 1rem 0;
}
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text p,
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text p * {
  font-family: "Fliege Mono", monospace !important;
  color: #296235;
  font-weight: 500;
}
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text p strong,
[data-page-type=index] theme-before-after .before-after__container .before-after__compare-text p * strong {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  [data-page-type=index] theme-before-after .before-after__container .before-after__compare-text p strong,
  [data-page-type=index] theme-before-after .before-after__container .before-after__compare-text p * strong {
    font-size: 18px !important;
  }
}
[data-page-type=index] .shopping-video-section {
  background-color: #7caf44;
}
[data-page-type=index] .shopping-video-section .block-heading {
  color: #f3e281;
  font-family: "HeyNovember", sans-serif !important;
  font-size: 60px;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .shopping-video-section .block-heading {
    font-size: 90px;
  }
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-wrapper-item .shopping-video__product-text-group {
  background-color: #7caf44;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-wrapper-item .shopping-video__product-text-group * {
  color: #f3e281;
  font-family: "Fliege Mono", monospace !important;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-wrapper-item .shopping-video__product-text-group h2 {
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.3px;
  text-align: center;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-text-group {
  align-items: center !important;
  justify-content: flex-start;
  padding-block-start: 12px;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-text-group > div {
  align-items: center !important;
  row-gap: 0 !important;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-wrapper-item .shopping-video__product-card {
  display: none;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-wrapper-item.is-active .shopping-video__product-card {
  display: flex;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-indicator {
  display: none;
}

/* Instagram-style reel cards: cream tiles, active slide emphasized, others recede */
[data-page-type=index] .shopping-video-section .shopping-video__video-wrapper {
  background-color: #f3e281;
  border-radius: 14px;
  overflow: hidden;
}
/* Force the video to always fill the card (cover), ignoring the source file's own
   aspect ratio, so no white gap ever shows up beside a video whose native ratio
   doesn't match the card. */
[data-page-type=index] .shopping-video-section .theme-video-media {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
}
[data-page-type=index] .shopping-video-section .theme-video-media video,
[data-page-type=index] .shopping-video-section .theme-video-media iframe {
  object-fit: cover;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-group {
  transition: transform 0.35s ease, opacity 0.35s ease;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-container-wrapper > li .shopping-video__product-video-group {
  transform: scale(0.78);
  opacity: 0.72;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-container-wrapper > li.is-active .shopping-video__product-video-group,
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-container-wrapper > li.zoom .shopping-video__product-video-group {
  transform: scale(1);
  opacity: 1;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-video-list-group-track-container-wrapper > li:not(.is-active) {
  cursor: pointer;
}

/* Floating shoppable card for the active reel */
[data-page-type=index] .shopping-video-section .shopping-video__product-card-group {
  background-color: transparent;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-card {
  overflow: hidden;
  background-color: #fdffe6;
  border: 2px solid #477d06;
  border-radius: 14px;
}
[data-page-type=index] .shopping-video-section .shopping-video__product-card-image {
  overflow: hidden;
  border-radius: 8px;
}
[data-page-type=index] .shopping-video-section .shopping-video__centered-card-display {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 0 16px;
  margin-top: 20px;
}
[data-page-type=index] .shopping-video-section .shopping-video__centered-card-display .shopping-video__product-video-group-card-group-wrapper {
  width: 100%;
  max-width: 380px;
  height: auto;
  max-height: none;
}
[data-page-type=index] .shopping-video-section .shopping-video__centered-card-display theme-shopping-video-product-card-group {
  display: none !important;
  position: static !important;
  width: 100%;
}
[data-page-type=index] .shopping-video-section .shopping-video__centered-card-display .is-active-card theme-shopping-video-product-card-group {
  display: flex !important;
  animation: centered-card-enter 0.4s ease;
}
@keyframes centered-card-enter {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (max-width: 768px) {
  [data-page-type=index] .custom-section {
    flex-direction: column-reverse;
  }
}
[data-page-type=index] .custom-section,
[data-page-type=index] .custom-section .block-group {
  background-color: #89206f;
}
@media screen and (max-width: 768px) {
  [data-page-type=index] .custom-section,
  [data-page-type=index] .custom-section .block-group {
    width: 100%;
  }
}
[data-page-type=index] .custom-section .block-group:has(.block-text) {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  [data-page-type=index] .custom-section .block-group:has(.block-text) {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
[data-page-type=index] .custom-section .block-text h2 {
  font-family: "Krisha", serif !important;
  font-size: 90px;
  line-height: 1;
  color: white;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .custom-section .block-text h2 {
    font-size: 120px;
  }
}
[data-page-type=index] .custom-section .block-text h2:has(strong),
[data-page-type=index] .custom-section .block-text h2:has(strong) strong {
  font-size: 60px;
  font-family: "HeyNovember", sans-serif !important;
  color: #e7aa4b;
  margin-top: -50px;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .custom-section .block-text h2:has(strong),
  [data-page-type=index] .custom-section .block-text h2:has(strong) strong {
    font-size: 90px;
  }
}
[data-page-type=index] .custom-section .block-text p {
  line-height: 1.2;
  margin: 1rem 0;
}
[data-page-type=index] .custom-section .block-text p:has(strong) {
  margin: 1rem 0;
}
[data-page-type=index] .custom-section .block-text p,
[data-page-type=index] .custom-section .block-text p * {
  font-family: "Fliege Mono", monospace !important;
  font-weight: 500;
}
[data-page-type=index] .custom-section .block-text p strong,
[data-page-type=index] .custom-section .block-text p * strong {
  font-weight: 700;
}
[data-page-type=index] .image-with-text-section {
  background-color: #92c4c9;
}
[data-page-type=index] .image-with-text-section .block-heading {
  font-family: "HeyNovember", sans-serif !important;
  font-size: 70px;
  color: white;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .image-with-text-section .block-heading {
    font-size: 90px;
  }
}
[data-page-type=index] .image-with-text-section .typography-default {
  font-size: 18px;
  color: white;
  font-family: "Fliege Mono", monospace !important;
  font-weight: 600;
  line-height: 1.2;
}
@media screen and (min-width: 769px) {
  [data-page-type=index] .image-with-text-section .typography-default {
    font-size: 24px;
  }
}
[data-page-type=index] .image-with-text-section a.button {
  border-radius: 10px;
  background-color: white;
  color: #92c4c9;
  font-family: "Fliege Mono", monospace !important;
  border: none;
  font-weight: 800;
}
[data-page-type=index] .image-with-text-section a.button::after {
  box-shadow: unset;
}

#shopline-section-sections--footer-group__footer .footer {
  background-color: #f3e281;
}
#shopline-section-sections--footer-group__footer .footer .block-subscription__inline-form .field {
  background-color: transparent;
}
#shopline-section-sections--footer-group__footer .footer .footer__menu-title,
#shopline-section-sections--footer-group__footer .footer .footer__email-subscribe-title {
  font-family: "Fliege Mono", monospace !important;
  font-size: 18px;
  color: #296235;
  letter-spacing: -1px;
}
#shopline-section-sections--footer-group__footer .footer .footer__menu-content {
  text-align: left;
}

/* About Us — The Alchemist's Journey */
#shopline-section-template--page--AboutUs-Template__aboutus-hero .image-banner-section {
  --image-banner-height: 400px !important;
}
#shopline-section-template--page--AboutUs-Template__aboutus-hero .image-banner__image-item img {
  /* Cover photo is a tall portrait crop (3260x4075) — "top" alone is empty sky,
     so pull the focal point down to where the peak actually sits. */
  object-position: center 32% !important;
}
#shopline-section-template--page--AboutUs-Template__aboutus-hero .image-banner__content h1,
#shopline-section-template--page--AboutUs-Template__aboutus-hero .block-heading {
  color: #fdffe6 !important;
  font-family: "Krisha", "Fliege Mono", serif !important;
  font-weight: 400 !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 126px !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-hero .image-banner__content h1,
  #shopline-section-template--page--AboutUs-Template__aboutus-hero .block-heading {
    font-size: 196px !important;
  }
}

#shopline-section-template--page--AboutUs-Template__aboutus-journey,
#shopline-section-template--page--AboutUs-Template__aboutus-journey .block-group {
  background-color: #fdffe6 !important;
}
#shopline-section-template--page--AboutUs-Template__aboutus-journey .block-heading {
  font-family: "HeyNovember", sans-serif !important;
  font-weight: normal !important;
  color: #000000 !important;
  font-size: 56px !important;
  line-height: 1.05;
  text-align: center !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-journey .block-heading {
    font-size: 77px !important;
  }
}
#shopline-section-template--page--AboutUs-Template__aboutus-journey .block-text {
  font-family: "Fliege Mono", monospace !important;
  color: #232323 !important;
  font-size: 16px !important;
  line-height: 1.25;
  text-align: center !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-journey .block-text {
    font-size: 19px !important;
  }
}

/* Rooted in South American Mysticism — dark green, centered */
#shopline-section-template--page--AboutUs-Template__aboutus-mysticism,
#shopline-section-template--page--AboutUs-Template__aboutus-mysticism .custom-section,
#shopline-section-template--page--AboutUs-Template__aboutus-mysticism .block-group {
  background-color: #23552e !important;
}
#shopline-section-template--page--AboutUs-Template__aboutus-mysticism .block-heading {
  font-family: "HeyNovember", sans-serif !important;
  font-weight: normal !important;
  color: #7caf44 !important;
  font-size: 56px !important;
  line-height: 1.1;
  text-align: center !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-mysticism .block-heading {
    font-size: 77px !important;
  }
}
#shopline-section-template--page--AboutUs-Template__aboutus-mysticism .block-text {
  font-family: "Fliege Mono", monospace !important;
  color: #fdffe6 !important;
  font-size: 16px !important;
  line-height: 1.6;
  text-align: center !important;
}

/* Mate Fueled His Adventure — terracotta, centered */
#shopline-section-template--page--AboutUs-Template__aboutus-adventure {
  background-color: var(--pdp-accent, #d55c3e);
}
#shopline-section-template--page--AboutUs-Template__aboutus-adventure .block-heading {
  font-family: "HeyNovember", sans-serif !important;
  font-weight: normal !important;
  color: #f3e281 !important;
  font-size: 56px !important;
  line-height: 1.1;
  text-align: center !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-adventure .block-heading {
    font-size: 77px !important;
  }
}
#shopline-section-template--page--AboutUs-Template__aboutus-adventure .block-text {
  font-family: "Fliege Mono", monospace !important;
  color: #fdffe6 !important;
  font-size: 16px !important;
  line-height: 1.6;
  text-align: center !important;
}
#shopline-section-template--page--AboutUs-Template__aboutus-adventure .block-text p + p {
  margin-top: 1rem;
}

/* Magic Passed Through Centuries — pale yellow-green, centered */
#shopline-section-template--page--AboutUs-Template__aboutus-legacy {
  background-color: #f4f8b4;
}
#shopline-section-template--page--AboutUs-Template__aboutus-legacy .block-heading {
  font-family: "HeyNovember", sans-serif !important;
  font-weight: normal !important;
  color: #7caf44 !important;
  font-size: 56px !important;
  line-height: 1.1;
  text-align: center !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-legacy .block-heading {
    font-size: 77px !important;
  }
}
#shopline-section-template--page--AboutUs-Template__aboutus-legacy .block-text {
  font-family: "Fliege Mono", monospace !important;
  color: #23552e !important;
  font-size: 16px !important;
  line-height: 1.6;
  text-align: center !important;
}

/* Meet the Founder — Danny Rose */
#shopline-section-template--page--AboutUs-Template__aboutus-founder,
#shopline-section-template--page--AboutUs-Template__aboutus-founder .custom-section,
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-group {
  background-color: #44976e !important;
}
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-text {
  font-family: "Fliege Mono", monospace !important;
  color: #f3e281 !important;
  font-size: 13px !important;
  line-height: 1.6;
  text-align: left !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-founder .block-text {
    font-size: 14px !important;
  }
}
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-text p + p {
  margin-top: 1.1rem;
}

/* Photo sits inset, framed by the green background, rounded on all corners */
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-group:has(.block-image) {
  position: relative;
  padding: 40px 16px 16px !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-founder .block-group:has(.block-image) {
    padding: 60px 28px 28px !important;
    max-width: 620px;
  }
}
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-group:has(.block-image) .block-image {
  overflow: hidden;
  border-radius: 40px;
  align-self: flex-start;
  width: 100%;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-founder .block-group:has(.block-image) .block-image {
    width: 496px !important;
  }
}
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-group:has(.block-image) .block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-heading {
  position: absolute;
  right: 32px;
  color: #f3e281 !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-founder .block-heading {
    right: 44px;
  }
}
/* Photo is top-anchored now (padding-top 40/60px + fixed height 304/496px),
   so the name/title are placed with "top" measured from the group's own
   top edge instead of "bottom", to stay pinned to the photo's bottom corner. */
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-heading.title2 {
  top: 300px;
  font-family: "Krisha", "Fliege Mono", serif !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 29px !important;
  line-height: 1;
  text-shadow: none;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-founder .block-heading.title2 {
    font-size: 90px !important;
    top: 477px;
  }
}
#shopline-section-template--page--AboutUs-Template__aboutus-founder .block-heading.title3 {
  top: 345px;
  font-family: "HeyNovember", sans-serif !important;
  font-weight: normal !important;
  font-size: 25px !important;
  line-height: 1;
  text-shadow: none;
  color: #f3e281 !important;
  /* Center under the name instead of sharing its right edge — the name's box
     is as wide as its own text (right:44px anchored), so matching that width
     here and centering within it lines "Founder" up under "Danny Rose". */
  width: 82px;
  text-align: center !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-founder .block-heading.title3 {
    font-size: 61px !important;
    top: 564px;
    width: 254px;
  }
}

/* Journey — Pablo character render: always show the full image, never crop it, capped to a max size */
#shopline-section-template--page--AboutUs-Template__aboutus-journey .block-image {
  width: 100%;
  height: 100%;
  background-color: #fdffe6;
}
#shopline-section-template--page--AboutUs-Template__aboutus-journey .block-image img {
  width: 100%;
  height: 100%;
  max-height: 680px;
  object-fit: contain !important;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-journey .block-image {
    padding-right: 8%;
  }
}

/* Shared: two-column about-us rows fill edge-to-edge, no gaps around the photo */
#shopline-section-template--page--AboutUs-Template__aboutus-mysticism .block-image,
#shopline-section-template--page--AboutUs-Template__aboutus-adventure .block-image,
#shopline-section-template--page--AboutUs-Template__aboutus-legacy .block-image {
  width: 100%;
  height: 100%;
}
#shopline-section-template--page--AboutUs-Template__aboutus-mysticism .block-image img,
#shopline-section-template--page--AboutUs-Template__aboutus-adventure .block-image img,
#shopline-section-template--page--AboutUs-Template__aboutus-legacy .block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Legacy's source photo is portrait (0.8 ratio) vs the landscape photos used in
   Mysticism/Adventure, so at 50% column width it blows the row height way past
   the previous two sections unless the image column is capped. */
#shopline-section-template--page--AboutUs-Template__aboutus-legacy .block-group:has(.block-image) {
  height: 320px;
}
@media screen and (min-width: 769px) {
  #shopline-section-template--page--AboutUs-Template__aboutus-legacy .block-group:has(.block-image) {
    height: 600px;
  }
}

/* ==========================================================================
   Product detail page — match "Proverbial Yerba Mate" reference layout
   ========================================================================== */

[data-page-type="product"] theme-product-detail,
[data-page-type="product"] .product-detail,
[data-page-type="product"] .product-detail__main {
  background-color: var(--pdp-background, #f0e38e);
  --color-image-background: 240 227 142;
  justify-content: center;
}

/* Product title + description */
[data-page-type="product"] .product-detail__info .product-detail__title {
  font-family: "Krisha", sans-serif !important;
  font-weight: 400 !important;
  color: var(--pdp-accent, #d55c3e) !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 40px !important;
  line-height: 1.05;
  margin: 0 !important;
}
@media screen and (min-width: 769px) {
  [data-page-type="product"] .product-detail__info .product-detail__title {
    font-size: 58px !important;
  }
}
[data-page-type="product"] .product-detail__info .product-description {
  font-family: "Fliege Mono", monospace !important;
  color: var(--pdp-accent, #d55c3e) !important;
  font-size: 15px !important;
  line-height: 1.5;
  margin: 0 !important;
}

/* Image gallery: fixed height, keep the can fully visible, add breathing room.
   Only the slide list itself is capped — .media-gallery__content also wraps the
   thumbnail strip below it, so capping that one clips the thumbnails out of view.
   .media-gallery__media otherwise sizes itself from the image's own aspect-ratio
   (independent of the list's cap), which is what was clipping the top/bottom of
   the can — forcing it to 100% keeps it locked to the slide's actual box. */
@media screen and (min-width: 960px) {
  [data-page-type="product"] .product-detail__media-gallery .media-gallery__list {
    height: 564px;
    max-height: 564px;
  }
}
[data-page-type="product"] .media-gallery__item {
  height: 564px !important;
}
[data-page-type="product"] .media-gallery__media {
  height: 100% !important;
}
[data-page-type="product"] .media-gallery__image {
  object-fit: contain !important;
  height: 100% !important;
  width: 100% !important;
}

/* Thumbnail strip: small terracotta-bordered squares with arrows on the sides.
   The prev/next arrows are absolutely positioned against .media-gallery__thumbnails
   itself (10px from its edges), so that outer element has to be capped to the
   same width as the track (4 thumbnails) — otherwise the arrows sit at the edges
   of the full media column instead of hugging the visible thumbnails. */
[data-page-type="product"] .media-gallery__thumbnails {
  margin: 24px auto 0;
  max-width: 420px !important;
  display: flex !important;
  justify-content: center !important;
}
[data-page-type="product"] .media-gallery__thumbnail-list {
  flex: 0 0 auto !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  max-width: 316px !important;
}
[data-page-type="product"] .media-gallery__thumbnail {
  border: 2px solid var(--pdp-accent, #d55c3e) !important;
  border-radius: 8px;
  overflow: hidden;
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 64px !important;
}
/* Thumbnails should fill their square (cropping as needed), independent of the
   main image's fill type (which stays "contain" so the full can is visible) */
[data-page-type="product"] .media-gallery__thumbnail-image {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}
[data-page-type="product"] .media-gallery__thumbnail.is-select,
[data-page-type="product"] .media-gallery__thumbnail.is-active {
  border-color: var(--pdp-accent-dark, #b95136) !important;
  box-shadow: 0 0 0 1px var(--pdp-accent-dark, #b95136);
}
/* Thumbnails have a scheme-accent green ring baked into their own ::after
   (shows on hover/active), same as the buy buttons — kill it here too */
[data-page-type="product"] .media-gallery__thumbnail::after {
  box-shadow: none !important;
}
[data-page-type="product"] .media-gallery__thumbnail-arrows {
  display: flex !important;
  color: var(--pdp-accent, #d55c3e);
}
[data-page-type="product"] .media-gallery__thumbnail-arrows .media-gallery__arrow {
  display: flex !important;
  align-items: center;
  justify-content: center;
  opacity: 1 !important;
  color: var(--pdp-accent, #d55c3e);
  width: 36px !important;
  height: 36px !important;
}
[data-page-type="product"] .media-gallery__thumbnail-arrows .media-gallery__arrow .icon {
  width: 22px !important;
  height: 22px !important;
}

/* Zoom modal (desktop_zoom_type: "slider" shows exactly one image at a time,
   with prev/next arrows) sits over a dark shaded backdrop instead of the
   theme's default full-page cream block. */
[data-page-type="product"] .product-media-preview__main {
  background-color: rgba(0, 0, 0, 0.8) !important;
}
/* Each slide sizes itself from the image's own aspect ratio (via
   --aspect-ratio), which makes tall/portrait photos render far taller than
   the viewport and spill off-screen instead of fitting on screen. Cap the
   slide to the visible viewport height so the image always fits, and let it
   shrink/center within that box regardless of its native proportions. */
[data-page-type="product"] .product-media-preview__media {
  height: calc(100vh - 80px) !important;
  max-height: calc(100vh - 80px) !important;
}
[data-page-type="product"] .product-media-preview__image {
  width: auto !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
}

/* Purchase options: bordered rounded boxes, terracotta accents */
[data-page-type="product"] [class*="_sellingTitle_"] {
  font-family: "Fliege Mono", monospace !important;
  font-weight: 700 !important;
  color: #232323 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
[data-page-type="product"] [class*="_label_17oo8"],
[data-page-type="product"] [class*="_columnsLabel_17oo8"] {
  border: 2px solid var(--pdp-accent, #d55c3e) !important;
  border-radius: 12px !important;
  padding: 14px !important;
  margin-bottom: 12px;
  background-color: transparent !important;
}
/* Reference shows the subscribe/auto-ship option first, one-time purchase second */
[data-page-type="product"] [class*="_label_17oo8"] {
  order: 2;
  flex-direction: column !important;
  align-items: stretch !important;
}
[data-page-type="product"] [class*="_columnsLabel_17oo8"] {
  order: 1;
}

/* "PACK SIZE: 12 PACK" — this product has a single pack size, so this is a
   decorative label matching the reference rather than a real selector */
[data-page-type="product"] [class*="_label_17oo8"]::before,
[data-page-type="product"] [class*="_columnsLabel_17oo8"]::before {
  content: "PACK SIZE:";
  order: 2;
  margin-top: 12px;
  font-family: "Fliege Mono", monospace;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  color: var(--pdp-accent, #d55c3e);
}
[data-page-type="product"] [class*="_label_17oo8"]::after,
[data-page-type="product"] [class*="_columnsLabel_17oo8"]::after {
  content: "12 PACK";
  order: 3;
  margin-top: 8px;
  padding: 12px;
  border-radius: 16px;
  background-color: var(--pdp-accent, #d55c3e) !important;
  color: var(--pdp-background, #f0e38e) !important;
  font-family: "Fliege Mono", monospace;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 1px;
}
[data-page-type="product"] [class*="_columnsLabel_17oo8"] > [class*="_columnsWrap_17oo8"] {
  order: 1;
}
[data-page-type="product"] [class*="_columnsLabel_17oo8"] > [class*="_select_17oo8"] {
  order: 4;
  margin-top: 12px;
}
/* The radio's ring and dot are actually drawn by ::before/::after (both already
   circular, border-radius:50%) — the element itself has no radius, so setting
   background-color directly on it (as an earlier fix did for the checked
   state) painted a square swatch behind the circle instead of filling it. */
[data-page-type="product"] [class*="_radio_e72w4"] {
  background-color: transparent !important;
}
[data-page-type="product"] [class*="_radio_e72w4"]::before {
  border-color: var(--pdp-accent, #d55c3e) !important;
  background-color: var(--pdp-background, #f0e38e) !important;
}
[data-page-type="product"] [class*="_radio_e72w4"][class*="_checked_e72w4"]::after {
  background-color: var(--pdp-accent, #d55c3e) !important;
}
/* The native radio input (appearance:none, 0px border-radius) sits under the
   visible circle — without matching border-radius, its own :focus outline
   renders as a square instead of following the circle. */
[data-page-type="product"] [class*="_radioInput_e72w4"] {
  border-radius: 50% !important;
}
[data-page-type="product"] [class*="_text_17oo8"] {
  font-family: "Fliege Mono", monospace !important;
  color: var(--pdp-accent, #d55c3e) !important;
  text-transform: uppercase;
  font-weight: 700;
}
/* Reference doesn't show a price inline in each option row */
[data-page-type="product"] [class*="_priceClass_17oo8"],
[data-page-type="product"] [class*="_originPrice_17oo8"],
[data-page-type="product"] [class*="_subPriceClass_17oo8"] {
  display: none !important;
}
[data-page-type="product"] [class*="_select_17oo8"] {
  border: none !important;
  border-radius: 16px !important;
  background-color: var(--pdp-accent, #d55c3e) !important;
  color: var(--pdp-background, #f0e38e) !important;
  font-family: "Fliege Mono", monospace !important;
  width: 100% !important;
  height: 50px !important;
  margin-left: 0 !important;
  box-sizing: border-box !important;
  padding-right: 32px !important;
}

/* Price / quantity / buttons */
/* Reference doesn't show a separate total-price/tax line below the purchase options */
[data-page-type="product"] .product-detail__info .product-detail__price {
  display: none !important;
}

/* Quantity + Add to cart row — both sized relative to their shared container,
   matching the reference (quantity ~40%, Add to cart ~60%), not fixed widths */
[data-page-type="product"] .product-detail__buy-button-group,
[data-page-type="product"] .product-detail__buy-button-group [class*="___bundle"] {
  width: 100% !important;
}
[data-page-type="product"] .product-detail__buy-button-group [class*="___bundle"] {
  display: flex !important;
  align-items: center;
}
[data-page-type="product"] .quantity-selector__input {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;
  border: none !important;
  border-radius: 16px !important;
  background-color: var(--pdp-accent, #d55c3e) !important;
  overflow: hidden;
  flex: 2 1 0 !important;
  width: auto !important;
  padding: 0 8px;
}
[data-page-type="product"] .quantity-selector__input::after {
  box-shadow: none !important;
}
[data-page-type="product"] .quantity-selector__input input {
  background-color: transparent !important;
  border: none !important;
  color: var(--pdp-background, #f0e38e) !important;
  font-family: "Fliege Mono", monospace !important;
  text-align: center;
}
[data-page-type="product"] .quantity-selector__input button {
  background-color: transparent !important;
  color: var(--pdp-background, #f0e38e) !important;
  border: none !important;
  flex: 0 0 auto;
}

/* Add to cart — bordered pill, sized relative to its container (not stretched full-width) */
[data-page-type="product"] .product-detail__buy-button-group {
  align-items: center !important;
}
[data-page-type="product"] .block-product-buy-button-wrapper {
  flex: 3 1 0 !important;
}
[data-page-type="product"] .product-detail__info [class*="buy-button"] button:not([name="minus"]):not([name="plus"]) {
  width: 100% !important;
  flex: 1 1 auto;
  border: 2px solid var(--pdp-accent, #d55c3e) !important;
  border-radius: 16px !important;
  background-color: transparent !important;
  color: var(--pdp-accent, #d55c3e) !important;
  font-family: "Fliege Mono", monospace !important;
  text-transform: uppercase;
}
/* The button's own ::after has a 1px scheme-accent box-shadow "ring" baked in
   (shows as a second, mismatched border around the terracotta one) */
[data-page-type="product"] .product-detail__info [class*="buy-button"] button:not([name="minus"]):not([name="plus"])::after {
  box-shadow: none !important;
}

/* Explore all our flavors — recommended products */
[data-page-type="product"] .schema-background:has(.section-recommended-product) {
  background-color: var(--pdp-background, #f0e38e) !important;
}
[data-page-type="product"] .recommended-product__character img {
  display: block;
  width: 100%;
  height: auto;
}
[data-page-type="product"] .section-recommended-product .block-heading {
  position: relative;
  padding-bottom: 24px;
  font-family: "Krisha", sans-serif !important;
  font-weight: 400 !important;
  color: var(--pdp-accent, #d55c3e) !important;
  text-transform: uppercase;
  font-size: 138px !important;
  line-height: 1.05;
}
[data-page-type="product"] .section-recommended-product .block-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 300px;
  height: 3px;
  background-color: var(--pdp-accent, #d55c3e);
}

/* Desktop (≥ 960px): heading + character image on the left, products on the
   right, character pinned to the bottom-left corner of the row. */
@media (min-width: 960px) {
  [data-page-type="product"] .section-recommended-product {
    position: relative;
    align-items: flex-start;
    justify-content: space-between;
    padding-left: 100px;
    padding-right: 100px;
  }
  [data-page-type="product"] .recommended-product__character {
    position: absolute;
    bottom: 0;
    left: 100px;
    z-index: 0;
    pointer-events: none;
  }
  [data-page-type="product"] .section-recommended-product .block-heading {
    flex: 0 0 440px;
  }
  [data-page-type="product"] .section-recommended-product .block-full-width {
    flex: 0 0 auto;
    max-width: 620px;
  }
}

/* Mobile (< 960px): products first, then the heading, then the character
   image — stacked in normal flow (no absolute positioning). */
@media (max-width: 959px) {
  [data-page-type="product"] .section-recommended-product .block-full-width {
    order: 1;
  }
  [data-page-type="product"] .section-recommended-product .block-heading {
    order: 2;
  }
  /* The character-image block is rendered inside an extra unstyled wrapper
     div (the block system's own wrapper), which is the actual flex item —
     so `order` has to be set there, not on the named element inside it. */
  [data-page-type="product"] .section-recommended-product > div:has(> .recommended-product__character) {
    order: 3;
  }
  [data-page-type="product"] .recommended-product__character {
    width: 260px;
    max-width: 100%;
    margin: 0 auto;
  }
}
[data-page-type="product"] .section-recommended-product .block-product-card__quick-add {
  display: none !important;
}
[data-page-type="product"] .section-recommended-product .block-product-image__layer-image-wrapper,
[data-page-type="product"] .section-recommended-product .block-product-image__image-wrapper,
[data-page-type="product"] .section-recommended-product .block-product-list {
  background-color: transparent !important;
}
[data-page-type="product"] .section-recommended-product .block-product-card {
  background-color: transparent !important;
  text-align: center;
}
[data-page-type="product"] .section-recommended-product .block-product-title {
  font-family: "Fliege Mono", monospace !important;
  color: var(--pdp-accent, #d55c3e) !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  text-align: center;
  font-size: 20px !important;
}
[data-page-type="product"] .section-recommended-product .block-product-price,
[data-page-type="product"] .section-recommended-product .block-product-card__description {
  display: none !important;
}
[data-page-type="product"] .section-recommended-product [class*="block-product-buy-button-wrapper"] {
  display: flex !important;
  justify-content: center !important;
}
[data-page-type="product"] .section-recommended-product [class*="block-product-buy-button"] button {
  width: auto !important;
  border: none !important;
  border-radius: 40px !important;
  background-color: var(--pdp-accent, #d55c3e) !important;
  color: #fdffe6 !important;
  font-family: "Fliege Mono", monospace !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  padding: 12px 32px !important;
}
/* The button has a scheme-accent ring baked into its own ::after (shows as a
   mismatched red/rust border, more visible on hover) — same pattern as the
   buy buttons on the main product info column */
[data-page-type="product"] .section-recommended-product [class*="block-product-buy-button"] button::after {
  box-shadow: none !important;
}
[data-page-type="product"] .section-recommended-product [class*="product-plugin-comment-rate-star"] {
  display: none !important;
}

/* Product page — three columns: quote / image+thumbnails / purchase options.
   The shared --detail-col-width mechanism divides the row's gap in half, which
   is correct for 2 columns but leaves a column-worth of overflow with 3 columns
   (2 gaps split only 2 ways instead of 3) — so these widths are hard-set here,
   splitting the row's 2 gaps evenly across all 3 columns instead. */
[data-page-type="product"] .product-detail__media-group {
  height: auto !important;
}
@media screen and (min-width: 960px) {
  [data-page-type="product"] .product-detail__quote {
    /* percentage flex-basis silently fails to resolve for this block (unlike
       the two below it) — falling back to a fixed value that matches what
       20% of a typical container works out to once the shared gap is split. */
    flex: 0 0 250px !important;
    width: 250px !important;
    max-width: none !important;
  }
  [data-page-type="product"] .product-detail__media-group {
    flex: 0 0 calc(40% - 40px) !important;
    width: calc(40% - 40px) !important;
  }
  [data-page-type="product"] .product-detail__info {
    flex: 0 0 calc(40% - 40px) !important;
    width: calc(40% - 40px) !important;
    max-width: 380px !important;
    padding-right: 20px;
    row-gap: 10px !important;
  }
}
[data-page-type="product"] .product-detail__quote {
  text-align: center;
  padding-top: 20px;
}
@media screen and (min-width: 960px) {
  /* .product-detail__quote isn't itself the flex item — the block renderer
     wraps it in an unstyled div that IS the actual flex child, so align-self
     has to go on that wrapper instead. */
  [data-page-type="product"] .product-detail__main > div:has(> .product-detail__quote) {
    align-self: stretch !important;
    height: auto !important;
    display: flex !important;
  }
  [data-page-type="product"] .product-detail__quote {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    padding-top: 0;
  }
}
[data-page-type="product"] .product-detail__quote-text {
  font-family: "Fliege Mono", monospace;
  color: var(--pdp-accent, #d55c3e);
  font-size: 13px;
  line-height: 1.6;
}
[data-page-type="product"] .product-detail__quote-text p {
  margin: 0 0 12px;
}
[data-page-type="product"] .product-detail__quote-text p:last-child {
  margin-bottom: 0;
}
/* A paragraph that is entirely bold (from the product description's rich
   text) reads as the quote's tagline — give it the same treatment the old
   dedicated "quote heading" setting used to have. */
[data-page-type="product"] .product-detail__quote-text p:has(> strong:only-child),
[data-page-type="product"] .product-detail__quote-text p:has(> b:only-child) {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 14px;
}

/* All body text on this page reads the same terracotta, not black */
[data-page-type="product"] .product-detail__title,
[data-page-type="product"] .product-description,
[data-page-type="product"] [class*="_sellingTitle_"],
[data-page-type="product"] [class*="_text_17oo8"],
[data-page-type="product"] .product-detail__quantity-selector,
[data-page-type="product"] .product-detail__quantity-selector input {
  color: var(--pdp-accent, #d55c3e) !important;
}

/* Outer section background — remove the pale-cream gutter on both sides */
[data-page-type="product"] .section:has(.product-detail-wrapper),
[data-page-type="product"] .product-detail-wrapper {
  background-color: var(--pdp-background, #f0e38e);
}

/* Keep the focus ring on-theme instead of the scheme's default green */
[data-page-type="product"] :focus-visible,
[data-page-type="product"] :focus {
  outline-color: var(--pdp-accent, #d55c3e) !important;
}

/* Frequently Asked Questions (advc-faq app section) — match brand fonts/colors,
   and stop the left image from resizing when a question expands. The row is
   align-items:stretch by default, so the image column always matches
   whichever sibling is tallest — including the answer list once it grows.
   Fix: lock the row to a fixed height and let the question list scroll
   internally instead of growing the row. */
@media (min-width: 960px) {
  advc-faq.advc-faq--left_image {
    height: 640px !important;
    overflow: hidden !important;
  }
  advc-faq .advc-faq-image-item,
  advc-faq .advc-faq-image-item__wrapper,
  advc-faq .advc-global-image {
    height: 100% !important;
  }
  advc-faq .advc-image {
    height: 100% !important;
    object-fit: cover !important;
  }
  advc-faq .advc-faq-text-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow: hidden !important;
  }
  advc-faq .advc-faq-text-item__blocks {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
  }
}
advc-faq .advc-title {
  font-family: "Krisha", sans-serif !important;
  font-weight: 400 !important;
  color: #232323 !important;
}
@media (min-width: 960px) {
  advc-faq .advc-title {
    font-size: 96px !important;
  }
}
advc-faq .advc-faq-text-item__header {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Footer "Pablo's Mate" wordmark — was an image (FOOTER-LETTERS.png); Krisha
   already matches its outlined-letter style, so it's now real text with a
   text-stroke outline instead of a static image. */
.footer {
  background-color: #f3e281 !important;
}
.footer .footer__group {
  container-type: inline-size;
}
.footer .block-heading.title3 {
  font-family: "Krisha", sans-serif !important;
  font-weight: 400 !important;
  text-transform: uppercase;
  text-align: center;
  color: #f3e281;
  -webkit-text-stroke: 2px #477d06;
  /* Sized relative to the container's own width (not the viewport), so the
     wordmark always spans the full footer width at any screen size — 23% is
     the exact ratio at which "PABLO'S MATE" in Krisha fills its box. */
  font-size: 31vw; /* fallback for browsers without container query support */
  font-size: 31cqw;
  line-height: 1;
  white-space: nowrap;
  margin: 0 !important;
}

/* The Ritual — "The Ritual / Of Pablo's Mate" heading */
#shopline-section-template--page--AboutUs-Template__aboutus-ritual .pm-ritual__heading {
  font-family: "Krisha", "Fliege Mono", serif !important;
  font-size: 111px !important;
  font-weight: 100;
}

/* FAQ — "Frequently Asked Questions" heading */
#shopline-section-template--page--AboutUs-Template__aboutus-faq .pm-faq__heading {
  font-family: "Krisha", "Fliege Mono", serif !important;
  font-weight: 100;
  font-size: 77px;
}

/* Cart drawer redesign — brand fonts only. Everything defaults to Fliege
   Mono; the "Cart" heading was set to the theme editor's "California"
   script font, replaced here with Krisha per the brand type pairing. */
.cart-drawer {
  font-family: "Fliege Mono", monospace !important;
}
.cart-drawer .title1,
.cart-drawer .title2,
.cart-drawer .title3,
.cart-drawer .title4,
.cart-drawer .title5,
.cart-drawer .title6,
.cart-drawer .body1,
.cart-drawer .body2,
.cart-drawer .body3,
.cart-drawer .body4,
.cart-drawer .body5,
.cart-drawer .body6,
.cart-drawer input,
.cart-drawer button {
  font-family: "Fliege Mono", monospace !important;
}
/* Higher specificity than the theme's global "h2 { font-family: California
   !important }" rule (which ties on specificity with a plain `.cart-drawer
   h2.title4` selector), so this needs the extra class to actually win. */
.cart-drawer .cart-drawer__header h2.title4 {
  font-family: "Krisha", serif !important;
}

/*# sourceMappingURL=custom.css.map */
