/*** GENERATED LOCALLY ***/

/* sections/before-after-results.liquid */

/* moved from inline style block for bundling */
.bar-section {
  position: relative;
  z-index: var(--bar-z, 1);
  background-color: var(--bar-bg, #ffffff);
  padding-top: var(--bar-pt, 60px);
  padding-bottom: var(--bar-pb, 60px);
  padding-left: var(--bar-pl, 40px);
  padding-right: var(--bar-pr, 40px);
}
@media screen and (max-width: 749px) {
  .bar-section {
    padding-top: var(--bar-pt-m, 40px);
    padding-bottom: var(--bar-pb-m, 40px);
    padding-left: var(--bar-pl-m, 20px);
    padding-right: var(--bar-pr-m, 20px);
  }
}
.bar-container {
  margin: 0 auto;
  width: 100%;
  max-width: var(--bar-max-w, 1200px);
}
.bar-heading-wrap {
  margin-bottom: var(--bar-heading-gap, 40px);
}
.bar-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--bar-stats-justify, center);
  gap: var(--bar-stats-gap, 24px) var(--bar-stats-col-gap, 32px);
}
.bar-stat-item {
  text-align: var(--bar-stat-align, center);
  flex: 1 1 0;
  min-width: 80px;
}
@media screen and (max-width: 749px) {
  .bar-stats {
    gap: var(--bar-stats-gap-m, 16px) var(--bar-stats-col-gap-m, 16px);
  }
  .bar-stat-item {
    flex: 0 1 calc(50% - var(--bar-stats-col-gap-m, 16px) / 2);
  }
}
.bar-slider-wrap {
  position: relative;
  width: 100%;
  padding-bottom: var(--bar-ratio, 75%);
  overflow: hidden;
  border-radius: var(--bar-img-radius, 12px);
  margin-bottom: var(--bar-img-gap, 32px);
  cursor: col-resize;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
}
.bar-after,
.bar-before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.bar-after img, .bar-after svg,
.bar-before img, .bar-before svg {
  width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none;
}
.bar-before {
  clip-path: inset(0 calc(100% - var(--comparison-position, 50%)) 0 0);
  will-change: clip-path;
}
/* The divider is an empty div: beat base.css "div:empty { display: none }". */
.bar-slider-wrap .bar-divider {
  display: block;
}
.bar-divider {
  position: absolute;
  top: 0; bottom: 0; left: var(--comparison-position, 50%);
  width: var(--bar-line-w, 2px);
  background-color: var(--bar-line-color, #ffffff);
  transform: translateX(-50%);
  will-change: left;
  pointer-events: none;
  z-index: 8;
}
.bar-handle {
  position: absolute;
  top: 50%; left: var(--comparison-position, 50%);
  transform: translate(-50%, -50%);
  width: var(--bar-handle-size, 44px);
  height: var(--bar-handle-size, 44px);
  background-color: var(--bar-handle-bg, #ffffff);
  border: var(--bar-handle-bw, 0px) solid var(--bar-handle-bc, #e0e0e0);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 3px var(--bar-handle-ring, #ffffff), 0 2px 14px rgba(0,0,0,0.25);
  pointer-events: none;
  will-change: left;
  z-index: 10;
}
.bar-handle svg {
  width: 60%; height: 60%;
  fill: none;
  stroke: var(--bar-handle-icon, #1a1a1a);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bar-label-before,
.bar-label-after {
  position: absolute;
  display: inline-flex;
  align-items: center;
  letter-spacing: 0.04em;
  line-height: 1;
  pointer-events: none;
  z-index: 5;
}
@media screen and (max-width: 749px) {
  /* Phones: labels wrap instead of shrinking to unreadable sizes or cutting words off. */
  .bar-label-before,
  .bar-label-after {
    max-width: calc(50% - 16px);
    padding: 6px 8px !important;
    font-size: 11px !important;
    line-height: 1.3;
    white-space: normal;
  }
  .bar-label-before {
    left: 8px !important;
  }
  .bar-label-after {
    right: 8px !important;
  }
}
/* sections/carousel-slider.liquid */

/* ===== Section ===== */
.cr-section {
  width: 100%;
  position: relative;
  padding-top: var(--cr-pad-top, 0px);
  padding-bottom: var(--cr-pad-bottom, 0px);
  padding-left: var(--cr-pad-left, 0px);
  padding-right: var(--cr-pad-right, 0px);
  margin-top: var(--cr-mt, 0px);
  margin-bottom: var(--cr-mb, 0px);
}

@media (max-width: 749px) {
  .cr-section {
    padding-top: var(--cr-pad-top-m, var(--cr-pad-top, 0px));
    padding-bottom: var(--cr-pad-bottom-m, var(--cr-pad-bottom, 0px));
    padding-left: var(--cr-pad-left-m, var(--cr-pad-left, 0px));
    padding-right: var(--cr-pad-right-m, var(--cr-pad-right, 0px));
    margin-top: var(--cr-mt-m, var(--cr-mt, 0px));
    margin-bottom: var(--cr-mb-m, var(--cr-mb, 0px));
  }
}

/* ===== Container ===== */
.cr-container {
  max-width: var(--cr-container-max, 1000px);
  margin: 0 auto;
  width: 100%;
}

/* ===== Two-Column Layout ===== */
.cr-layout {
  display: flex;
  align-items: stretch;
}

@media (max-width: 749px) {
  .cr-layout {
    flex-direction: column;
  }
}

/* ===== Left Column: Image Carousel ===== */
.cr-image-col {
  flex: 0 var(--cr-img-col-basis, 43%);
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.cr-image-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: 100%;
}

.cr-image-slide {
  width: 100%;
  flex: 0 0 100%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cr-image-slide img {
  width: var(--slide-img-w, 100%);
  height: auto;
  display: block;
  border-radius: 8px;
}

@media (max-width: 749px) {
  /* preserved upstream quirk: original selector lacked a space and never matched */
  .cr-image-slideimg {
    width: var(--slide-img-w-mobile, 100%);
  }
}

@media (max-width: 749px) {
  .cr-image-col {
    width: 100%;
    flex: none;
  }
}

/* ===== Right Column ===== */
.cr-text-col {
  padding: var(--cr-tc-pad);
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* NO overflow:hidden here — only the track wrapper clips */
}

/* ===== Fixed Heading — completely outside the sliding track ===== */
.cr-heading {
  font-size: var(--cr-h-size);
  margin-bottom: var(--cr-h-mb);
  line-height: 1.1;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  font-family: var(--cr-heading-font, inherit);
}

.cr-heading .cr-heading-line1 {
  font-weight: var(--cr-hw1, 700);
}

.cr-heading .cr-heading-line2 {
  font-weight: var(--cr-hw2, 400);
}

/* ===== Sliding Text — only this wrapper clips ===== */
.cr-text-track-wrapper {
  overflow: hidden;
  width: 100%;
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
}

.cr-text-track {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: 100%;
}

.cr-text-slide {
  width: 100%;
  flex: 0 0 100%;
  box-sizing: border-box;
}

.cr-text-slide .cr-slide-heading {
  font-weight: 700;
  margin: 0 0 16px;
  line-height: 1.2;
  font-family: var(--cr-heading-font, inherit);
}

.cr-text-slide .cr-slide-subheading {
  margin: 0 0 24px;
  line-height: 1.6;
  color: rgba(var(--color-foreground), 0.75);
  font-family: var(--cr-body-font, inherit);
}

.cr-text-slide .cr-slide-btn {
  display: inline-block;
  padding: 12px 32px;
  background-color: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

/* preserved upstream quirk: compound selector matched nothing */
.cr-text-slide.cr-slide-btn:hover {
  background-color: rgba(var(--color-button), 0.85);
}

@media (max-width: 749px) {
  .cr-text-col {
    padding: var(--cr-tc-pad-m);
  }

  .cr-heading {
    font-size: var(--cr-h-size-m);
    margin-bottom: var(--cr-h-mb-m);
  }
}

/* ===== Navigation ===== */

/* Arrow row wraps arrows + layout in a horizontal flex */
.cr-arrow-wrap {
  display: flex;
  align-items: center;
  gap: var(--cr-arrow-gap, 16px);
}

@media (max-width: 749px) {
  .cr-arrow-wrap {
    gap: var(--cr-arrow-gap-m, var(--cr-arrow-gap, 16px));
  }
}

/* preserved upstream quirk: compound selector matched nothing */
.cr-arrow-wrap.cr-layout {
  flex: 1;
  min-width: 0;
}

.cr-arrow {
  background: var(--cr-arrow-bg, #F5A623);
  border: none;
  border-radius: 50%;
  width: var(--cr-arrow-size, 56px);
  height: var(--cr-arrow-size, 56px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
  flex-shrink: 0;
}

.cr-arrow:hover {
  opacity: 0.85;
  transform: scale(1.05);
}

.cr-arrow svg {
  color: var(--cr-arrow-icon-c, #ffffff);
  width: var(--cr-arrow-icon-size, 24px);
  height: var(--cr-arrow-icon-size, 24px);
}

@media (max-width: 749px) {
  .cr-arrow {
    width: var(--cr-arrow-size-m, var(--cr-arrow-size, 56px));
    height: var(--cr-arrow-size-m, var(--cr-arrow-size, 56px));
  }

  .cr-arrow svg {
    width: var(--cr-arrow-icon-size-m, var(--cr-arrow-icon-size, 24px));
    height: var(--cr-arrow-icon-size-m, var(--cr-arrow-icon-size, 24px));
  }
}

/* Dots — centered below */
.cr-dots-row {
  margin-top: var(--cr-dots-mt);
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 749px) {
  .cr-dots-row {
    margin-top: var(--cr-dots-mt-m);
  }
}

.cr-dots {
  display: flex;
  gap: 8px;
}

.cr-dots .cr-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: rgba(var(--color-foreground), 0.2);
  cursor: pointer;
  padding: 0;
  transition: all 0.2s ease;
}

/* preserved upstream quirk: compound selector matched nothing */
.cr-dots.cr-dot:hover {
  background: rgba(var(--color-foreground), 0.4);
}

.cr-dots .cr-dot.active {
  background: rgb(var(--color-foreground));
  width: 24px;
  border-radius: 5px;
}
/* sections/essential-collection-grid.liquid */

/* moved from inline style block for bundling */

/* Section Styling */
.ecg-section {
  background-color: var(--ecg-section-bg);
  width: 100%;
  box-sizing: border-box;
  padding: var(--ecg-pad-top) var(--ecg-pad-right) var(--ecg-pad-bottom) var(--ecg-pad-left);
}

@media screen and (max-width: 749px) {
  .ecg-section {
    padding: var(--ecg-pad-m-top) var(--ecg-pad-m-right) var(--ecg-pad-m-bottom) var(--ecg-pad-m-left);
  }
}

.ecg-container {
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  max-width: var(--ecg-container-max);
}

/* Grid Layout */
.ecg-grid {
  display: grid;
  grid-template-columns: var(--ecg-cols-d);
  gap: var(--ecg-gap-d);
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: stretch;
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .ecg-grid {
    grid-template-columns: var(--ecg-cols-t);
    gap: var(--ecg-gap-t);
  }
}

@media screen and (max-width: 749px) {
  .ecg-grid.is-slider {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: var(--ecg-gap-m) !important;
    padding-bottom: 12px;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
  }
  /* Runs past the right padding to the screen edge so the next card peeks from the edge. */
  .ecg-grid.is-slider.ecg-grid--bleed {
    width: auto;
    margin-right: calc(-1 * var(--ecg-pad-m-right));
    padding-right: var(--ecg-pad-m-right);
  }
  .ecg-grid.is-slider::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
  .ecg-grid.is-slider > .ecg-card-item {
    flex: 0 0 var(--ecg-slide-w) !important;
    max-width: var(--ecg-slide-w) !important;
    width: var(--ecg-slide-w) !important;
    min-width: 0 !important;
    scroll-snap-align: start;
    box-sizing: border-box;
  }
  .ecg-grid:not(.is-slider) {
    display: grid !important;
    grid-template-columns: var(--ecg-cols-m) !important;
    gap: var(--ecg-gap-m) !important;
  }
}

.ecg-card-item {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* Header Block Styles */
.ecg-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: var(--ecg-header-mb);
  width: 100%;
}

.ecg-header-left {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 75%;
}

.ecg-heading {
  margin: 0;
  font-family: var(--ecg-heading-ff);
  font-size: var(--ecg-heading-fs);
  font-weight: var(--ecg-heading-fw);
  line-height: var(--ecg-heading-lh);
  letter-spacing: var(--ecg-heading-ls);
  color: var(--ecg-heading-c);
}

.ecg-subheading {
  margin: 0;
  font-family: var(--ecg-sub-ff);
  font-size: var(--ecg-sub-fs);
  font-weight: var(--ecg-sub-fw);
  line-height: 1.5;
  color: var(--ecg-sub-c);
  max-width: var(--ecg-sub-max-w);
}

.ecg-view-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ecg-va-ff);
  font-size: var(--ecg-va-fs);
  font-weight: var(--ecg-va-fw);
  letter-spacing: var(--ecg-va-ls);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ecg-va-c);
  transition: color 0.25s ease, transform 0.25s ease;
  white-space: nowrap;
  flex-shrink: 0;
  padding-bottom: 4px;
}

.ecg-view-all:hover {
  color: var(--ecg-va-hover-c);
  transform: translateX(3px);
}

@media screen and (max-width: 749px) {
  .ecg-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: var(--ecg-header-mb-m);
  }
  .ecg-header-left {
    max-width: 100%;
  }
  .ecg-heading {
    font-size: var(--ecg-heading-fs-m);
  }
  .ecg-subheading {
    font-size: var(--ecg-sub-fs-m);
  }
}

/* Card Block Styles */
.ecg-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-align: var(--ecg-card-align);
  background-color: var(--ecg-card-bg);
  border-radius: var(--ecg-card-radius);
  border: var(--ecg-card-bw) solid var(--ecg-card-bc);
  box-shadow: var(--ecg-card-shadow);
  padding-top: var(--ecg-card-pt);
  padding-bottom: var(--ecg-card-pb);
  padding-left: var(--ecg-card-pl);
  padding-right: var(--ecg-card-pr);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media screen and (max-width: 749px) {
  .ecg-card {
    padding-top: var(--ecg-card-pt-m);
    padding-bottom: var(--ecg-card-pb-m);
    padding-left: var(--ecg-card-pl-m);
    padding-right: var(--ecg-card-pr-m);
  }
}

/* Card Media */
.ecg-media-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--ecg-media-radius);
  background-color: #efeded;
  margin-bottom: 24px;
}

.ecg-media-wrap--r-1-1 { aspect-ratio: 1 / 1; }
.ecg-media-wrap--r-4-5 { aspect-ratio: 4 / 5; }
.ecg-media-wrap--r-3-4 { aspect-ratio: 3 / 4; }
.ecg-media-wrap--r-2-3 { aspect-ratio: 2 / 3; }
.ecg-media-wrap--r-16-9 { aspect-ratio: 16 / 9; }
.ecg-media-wrap--r-custom { padding-top: var(--ecg-ratio-pad); }

.ecg-media-link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

.ecg-media-wrap--r-custom .ecg-media-link {
  position: absolute;
  top: 0;
  left: 0;
}

.ecg-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: var(--ecg-img-fit);
  transition: transform 0.5s ease, opacity 0.4s ease;
}

.ecg-section--zoom .ecg-media-wrap:hover .ecg-img-primary {
  transform: scale(1.04);
}

.ecg-img-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: var(--ecg-img-fit);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.ecg-media-wrap:hover .ecg-img-hover {
  opacity: 1;
}
.ecg-media-wrap:hover .ecg-img-primary.has-hover-swap {
  opacity: 0;
}

/* Card Content */
.ecg-content-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-grow: 1;
}

.ecg-title {
  margin: 0;
  font-family: var(--ecg-title-ff);
  font-size: var(--ecg-title-fs);
  font-weight: var(--ecg-title-fw);
  color: var(--ecg-title-c);
  text-transform: var(--ecg-title-transform);
  line-height: 1.6;
}
.ecg-title a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.ecg-title a:hover {
  opacity: 0.75;
}

.ecg-subtitle {
  margin: 0;
  font-family: var(--ecg-subtitle-ff);
  font-size: var(--ecg-subtitle-fs);
  font-weight: var(--ecg-subtitle-fw);
  color: var(--ecg-subtitle-c);
  line-height: 1.4;
}

.ecg-price-wrap {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 12px;
  justify-content: var(--ecg-price-justify);
}

.ecg-price {
  font-family: var(--ecg-price-ff);
  font-size: var(--ecg-price-fs);
  font-weight: var(--ecg-price-fw);
  color: var(--ecg-price-c);
  line-height: 1.2;
}

.ecg-price-compare {
  font-family: var(--ecg-price-ff);
  font-size: var(--ecg-price-compare-fs);
  color: #888888;
  text-decoration: line-through;
  opacity: 0.7;
}

@media screen and (max-width: 749px) {
  .ecg-title {
    font-size: var(--ecg-title-fs-m);
  }
  .ecg-subtitle {
    font-size: var(--ecg-subtitle-fs-m);
  }
  .ecg-price {
    font-size: var(--ecg-price-fs-m);
  }
  .ecg-price-compare {
    font-size: var(--ecg-price-compare-fs-m);
  }
}
/* sections/faq-section.liquid */

/* moved from inline <style> for bundling */
.nvgd-faq {
  width: 100%;
  background: var(--faq-outer-bg);
}

.nvgd-faq__inner {
  width: 100%;
  border-radius: var(--faq-section-radius) var(--faq-section-radius) 0 0;
  background: var(--faq-section-bg);
  padding: var(--faq-pad-top) var(--faq-pad-x) var(--faq-pad-bottom);
}

.nvgd-faq__container {
  width: 100%;
  margin: 0 auto;
  max-width: var(--faq-container-max);
}

/* Two Column Layout */
.nvgd-faq__layout {
  display: flex;
  align-items: center;
  margin: 0;
  flex-direction: column;
  gap: var(--faq-gap);
  min-width: 0;
}

.nvgd-faq--image .nvgd-faq__layout {
  display: grid;
  grid-template-columns: var(--faq-col-1) var(--faq-col-2);
  align-items: start;
}

.nvgd-faq__content {
  width: 100%;
  min-width: 0;
  order: 1;
}

.nvgd-faq--no-image .nvgd-faq__content {
  max-width: 100%;
  width: 100%;
}

.nvgd-faq--reverse .nvgd-faq__content {
  order: 2;
}

.nvgd-faq__image-wrapper {
  order: 2;
  position: sticky;
  top: var(--faq-image-top);
}

.nvgd-faq--reverse .nvgd-faq__image-wrapper {
  order: 1;
}

.nvgd-faq__image-container {
  border-radius: var(--faq-image-radius);
  overflow: hidden;
  background: var(--faq-image-bg);
}

.nvgd-faq__image-container img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: var(--faq-img-fit);
}

/* Header Styles */
.nvgd-faq__header {
  text-align: var(--faq-header-align);
  margin-bottom: var(--faq-header-spacing);
  display: flex;
  flex-direction: column;
  gap: var(--faq-header-gap, 16px);
}

.nvgd-faq__heading {
  line-height: 1.2;
  font-size: var(--faq-heading-size);
  font-weight: var(--faq-heading-weight);
  margin: 0;
  padding: 0;
}

.nvgd-faq__description {
  margin: 0;
  line-height: 1.5;
  color: var(--faq-desc-color, #444748);
  font-size: var(--faq-desc-size);
  font-weight: var(--faq-desc-weight);
}

.nvgd-faq__description :is(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  font: inherit;
  color: inherit;
}

.nvgd-faq__description p {
  padding: 0;
  margin: 0;
}

/* Row Styles */
.nvgd-faq__row {
  border-bottom: 1px solid var(--faq-divider);
  margin-bottom: 0;
}

/* Each row sits in its own block wrapper, so :first-of-type matched every row and drew double lines.
   Top line: only the first row after a non-row block. No bottom line: only the last row. */
.nvgd-faq__content > :first-child > .nvgd-faq__row,
.nvgd-faq__content > :not(:has(> .nvgd-faq__row)) + * > .nvgd-faq__row {
  border-top: 1px solid var(--faq-divider);
}

.nvgd-faq--divider-no-bottom .nvgd-faq__content > :not(:has(~ * > .nvgd-faq__row)) > .nvgd-faq__row {
  border-bottom: none;
}

.nvgd-faq__toggle {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--faq-row-pad) 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  gap: 15px;
  list-style: none;
  font-size: var(--faq-row-title-size);
  font-weight: var(--faq-row-title-weight);
}

.nvgd-faq__row:not([open]) > .nvgd-faq__toggle:hover {
  opacity: 0.7;
}

.nvgd-faq__row-title {
  flex: 1;
  line-height: 1.6;
  color: rgb(var(--color-foreground));
}

.nvgd-faq__arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  line-height: 1;
  width: var(--faq-arrow-size);
  height: var(--faq-arrow-size);
  color: var(--faq-arrow-color);
}

.nvgd-faq__row[open] .nvgd-faq__arrow {
  transform: rotate(180deg);
  transform-origin: center;
}

.nvgd-faq__row[open] .nvgd-faq__arrow[data-arrow-type="plus"] {
  transform: rotate(0deg);
}

.nvgd-faq__toggle::-webkit-details-marker { display: none; }

/* Content Styles */
.nvgd-faq__row-content {
  overflow: hidden;
}

.nvgd-faq__row-description {
  padding: 0 0 var(--faq-row-pad) 0;
  line-height: 1.6;
  color: #666461;
  font-size: var(--faq-row-desc-size);
  font-weight: var(--faq-row-desc-weight);
}

.nvgd-faq__row-description p {
  margin: 0 0 10px 0;
}

.nvgd-faq__row-description p:last-child {
  margin-bottom: 0;
}

.nvgd-faq__arrow svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.nvgd-faq__row[open] .nvgd-faq__plus-icon .vertical-line {
  opacity: 0;
}

.nvgd-faq__plus-icon line {
  transition: opacity 0.3s ease;
}

.nvgd-faq__row-description a {
  color: var(--faq-arrow-color);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.2s ease;
}

.nvgd-faq__row-description a:hover {
  opacity: 0.75;
}

.nvgd-faq__row[open] .nvgd-faq__row-description a {
  text-decoration-thickness: 2px;
}

/* Mobile Styles */
@media screen and (max-width: 749px) {
  .nvgd-faq__inner {
    padding: var(--faq-pad-top-m) var(--faq-pad-x-m) var(--faq-pad-bottom-m);
  }

  .nvgd-faq .nvgd-faq__layout {
    grid-template-columns: 1fr;
    gap: var(--faq-gap-m);
  }

  .nvgd-faq .nvgd-faq__content {
    order: 1;
  }

  .nvgd-faq .nvgd-faq__image-wrapper {
    order: 2;
    position: relative;
    top: 0;
  }

  .nvgd-faq--mobile-image-first .nvgd-faq__content {
    order: 2;
  }

  .nvgd-faq--mobile-image-first .nvgd-faq__image-wrapper {
    order: 1;
  }

  .nvgd-faq__header {
    margin-bottom: var(--faq-header-spacing-m);
  }

  .nvgd-faq__heading {
    font-size: var(--faq-heading-size-m) !important;
  }

  .nvgd-faq__description {
    font-size: var(--faq-desc-size-m) !important;
  }

  .nvgd-faq__toggle {
    padding: var(--faq-row-pad-m) 0;
    font-size: var(--faq-row-title-size-m) !important;
  }

  .nvgd-faq__row-description {
    padding: 0 0 var(--faq-row-pad-m) 0;
    font-size: var(--faq-row-desc-size-m) !important;
  }

  .nvgd-faq__arrow {
    width: var(--faq-arrow-size-m) !important;
    height: var(--faq-arrow-size-m) !important;
  }
}

/* Accessibility */
.nvgd-faq__toggle:focus {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

.nvgd-faq__toggle:focus:not(:focus-visible) {
  outline: none;
}

/* Animation improvements */
@media (prefers-reduced-motion: reduce) {
  .nvgd-faq__row-content,
  .nvgd-faq__arrow,
  .nvgd-faq__toggle {
    transition: none;
  }
}
/* sections/featured-cards.liquid */

/* moved from inline style block for bundling */
.feature-cards {
  width: 100%;
  background-color: var(--fc-bg);
  padding: var(--fc-padding);
}

.feature-cards .feature-cards__container {
  width: 100%;
  margin: 0 auto;
  max-width: var(--fc-container-max);
}

.feature-cards .feature-cards__grid {
  display: grid;
  grid-template-columns: repeat(var(--grid-columns), 1fr);
  gap: var(--grid-gap);
}

.feature-cards .feature-cards__card {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: var(--card-bg);
  border-radius: var(--card-radius);
  overflow: hidden;
  isolation: isolate;
}

.feature-cards .feature-cards__media {
  position: relative;
  width: 100%;
  padding: var(--img-padding);
  box-sizing: border-box;
}

.feature-cards .feature-cards__media img,
.feature-cards .feature-cards__media video,
.feature-cards .feature-cards__media iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: var(--img-ratio);
  border-radius: var(--img-radius);
}

.feature-cards .feature-cards__placeholder {
  background-color: #e5e5e5;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: var(--img-ratio);
  border-radius: var(--img-radius);
}
.feature-cards .feature-cards__placeholder svg {
  width: 100%;
  height: 100%;
}

.feature-cards .feature-cards__content {
  text-align: var(--content-align);
  padding: var(--content-padding);
  box-sizing: border-box;
}

.feature-cards .feature-cards__heading {
  color: var(--heading-color);
  line-height: 1.2;
  margin: 0 0 12px;
}

.feature-cards .feature-cards__text {
  color: var(--text-color);
  line-height: 1.6;
  margin: 0;
}

.feature-cards--overlay .feature-cards__content {
  position: absolute;
  z-index: 2;
  top: var(--overlay-y);
  left: var(--overlay-x);
  transform: translate(-50%, -50%);
  width: var(--overlay-width);
  max-width: calc(100% - 30px);

  background-color: var(--overlay-bg);
  border-radius: var(--overlay-radius);
}

.feature-cards--custom-heading .feature-cards__heading {
  font-family: var(--fc-heading-font);
  font-size: var(--fc-heading-size);
  line-height: var(--fc-heading-lh);
  letter-spacing: var(--fc-heading-ls);
  text-transform: var(--fc-heading-transform);
  text-wrap: var(--fc-heading-wrap, wrap);
}

.feature-cards--custom-text .feature-cards__text {
  font-family: var(--fc-text-font);
  font-size: var(--fc-text-size);
  line-height: var(--fc-text-lh);
  letter-spacing: var(--fc-text-ls);
  text-transform: var(--fc-text-transform);
  text-wrap: var(--fc-text-wrap, wrap);
}

@media screen and (max-width: 750px) {
  .feature-cards {
    padding: var(--fc-padding-mobile);
    --grid-gap: var(--grid-gap-mobile);
    --grid-columns: var(--grid-columns-mobile);
    --content-align: var(--content-align-mobile);
    --content-padding: var(--content-padding-mobile);
    --overlay-x: var(--overlay-x-mobile);
    --overlay-y: var(--overlay-y-mobile);
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .feature-cards .feature-cards__grid {
    grid-template-columns: repeat(var(--grid-columns-tablet), 1fr);
  }
}
/* sections/features-carousel.liquid */

  .nvgd-features__list {
    display: grid;
    grid-template-columns: repeat(var(--features-columns, 5), minmax(0, 1fr));
    gap: var(--editorial-gap, 48px);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .nvgd-features__list--divided {
    padding-top: 32px;
    border-top: 1px solid rgb(27 28 28 / 0.12);
  }

  .nvgd-features__item {
    display: flex;
    flex-direction: column;
    gap: 15px;
    min-width: 0;
  }

  .nvgd-features__title {
    margin: 0;
    font-family: var(--font-body-family);
    font-size: var(--features-title-size, 16px);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: uppercase;
    color: inherit;
    overflow-wrap: anywhere;
  }

  .nvgd-features__text {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.03em;
    color: var(--editorial-muted);
  }

  .nvgd-features__text > * { margin: 0; }

  @media (min-width: 990px) {
    .nvgd-features__text { max-width: 186px; }
  }

  @media (max-width: 989px) {
    .nvgd-features__list { grid-template-columns: repeat(min(var(--features-columns, 5), 3), minmax(0, 1fr)); }
  }

  @media (max-width: 749px) {
    .nvgd-features__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }

    .nvgd-features__list--carousel {
      display: flex;
      gap: 16px;
      margin-inline: calc(var(--editorial-x-mobile, 20px) * -1);
      padding-inline: var(--editorial-x-mobile, 20px);
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scroll-snap-type: x mandatory;
      scroll-padding-inline: var(--editorial-x-mobile, 20px);
      scrollbar-width: none;
    }

    .nvgd-features__list--carousel::-webkit-scrollbar { display: none; }

    .nvgd-features__list--carousel .nvgd-features__item {
      flex: 0 0 min(70%, 260px);
      scroll-snap-align: start;
    }
  }
/* sections/footer-custom.liquid */

/* moved from inline <style> for bundling */

/*

   ============================================
   FOOTER MAIN CONTAINER
   ============================================
*/
.nvgd-footer {
  width: 100%;
  background-color: var(--nvgd-footer-bg);
  color: var(--nvgd-footer-text);
  padding: var(--nvgd-footer-pad-top) var(--nvgd-footer-pad-x) 0;
}

.nvgd-footer-container {
  max-width: var(--nvgd-footer-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 80px;
  padding-bottom: var(--nvgd-footer-pad-bottom);
}

/*

   ============================================
   LEFT: BRAND SECTION
   ============================================
*/
.nvgd-footer-brand {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.nvgd-logo-text {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 3px;
  margin: 0;
  color: var(--nvgd-footer-text);
}

.nvgd-description {
  font-size: 14px;
  line-height: 22px;
  color: var(--nvgd-footer-subtitle);
  margin: 0;
  white-space: pre-line;
}

.nvgd-social-icons {
  display: flex;
  gap: 12px;
  margin-top: 10px;
}

.nvgd-social-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--nvgd-social-bg);
  color: var(--nvgd-social-color);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.nvgd-social-icon:hover {
  background-color: var(--nvgd-social-hover-bg);
  transform: translateY(-3px);
}


/*

   ============================================
   RIGHT: MENU COLUMNS
   ============================================
*/
.nvgd-footer-menus {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.nvgd-menu-column {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.nvgd-menu-heading {
  font-family: var(--font-body-family);
  font-size: 14px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 3px;
  word-break: normal;
  color: var(--nvgd-footer-heading);
  margin: 0;
  text-transform: uppercase;
}

.nvgd-menu-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 19px;
}

.nvgd-menu-links li a {
  font-size: 14px;
  line-height: 19px;
  color: var(--nvgd-footer-link);
  text-decoration: none;
  transition: color 0.2s ease;
  display: inline-block;
}

.nvgd-menu-links li a:hover {
  color: var(--nvgd-footer-link-hover);
}

.nvgd-accordion-icon {
  display: none;
}

.nvgd-accordion-trigger {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-transform: inherit;
}


/*

   ============================================
   BOTTOM: COPYRIGHT + PAYMENT
   ============================================
*/
/* The footer already carries the side padding; the divider spans the content width only. */
.nvgd-footer-bottom-inner {
  max-width: var(--nvgd-footer-max-width);
  margin: 0 auto;
  padding: 25px 0 var(--nvgd-footer-pad-bottom);
  border-top: 1px solid color-mix(in srgb, var(--nvgd-footer-heading) 10%, transparent);
}

.nvgd-footer-bottom-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.nvgd-copyright p {
  margin: 0;
  font-size: 13px;
  color: var(--nvgd-footer-bottom-text);
}

.nvgd-payment-icons {
  display: flex;
  gap: 12px;
  align-items: center;
}

.nvgd-payment-icons img {
  height: 30px;
  width: auto;
  object-fit: contain;
  background: white;
  padding: 6px 10px;
  border-radius: 6px;
}

/* Shopify's native payment SVGs draw their own card and border. */
.nvgd-payment-icon {
  display: flex;
}

.nvgd-payment-icon svg {
  width: auto;
  height: 30px;
  border-radius: 5px;
  box-shadow: 0 0.5px 4.5px rgb(183 183 183 / 0.08), 0 4.5px 9px rgb(183 183 183 / 0.08);
}

@media screen and (min-width: 990px) {
  .nvgd-footer-container {
    display: flex;
    justify-content: space-between;
    gap: 40px;
  }

  .nvgd-footer-brand {
    max-width: 248px;
  }

  /* Brand and menu columns share one row, spread edge to edge. */
  .nvgd-footer-menus {
    display: contents;
  }

  .nvgd-footer--bottom .nvgd-footer-container {
    padding-bottom: 25px;
  }
}


/*

   ============================================
   RESPONSIVE: TABLET
   ============================================
*/
@media screen and (max-width: 989px) {
  .nvgd-footer-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .nvgd-footer-menus {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}


/*

   ============================================
   RESPONSIVE: MOBILE
   ============================================
*/
@media screen and (max-width: 749px) {
  .nvgd-footer {
    padding: var(--nvgd-footer-pad-top-m) var(--nvgd-footer-pad-x-m) 0;
  }

  .nvgd-footer-container {
    gap: 30px;
    padding-bottom: var(--nvgd-footer-pad-bottom-m);
  }

  .nvgd-footer-menus {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .nvgd-menu-column {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px 0;
  }

  /* Accordion for mobile */
  .nvgd-menu-accordion .nvgd-accordion-trigger {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
  }

  .nvgd-accordion-icon {
    display: block;
    font-size: 24px;
    line-height: 1;
    transition: transform 0.3s ease;
  }

  .nvgd-menu-accordion.active .nvgd-accordion-icon {
    transform: rotate(45deg);
  }

  .nvgd-menu-accordion .nvgd-accordion-content {
    display: none;
  }

  .nvgd-menu-accordion.active .nvgd-accordion-content {
    display: flex;
    margin-top: 20px;
  }

  .nvgd-footer-bottom-content {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
  }

  .nvgd-footer-bottom-inner {
    padding: 24px 0 var(--nvgd-footer-pad-bottom-m);
  }

  .nvgd-payment-icons {
    flex-wrap: wrap;
  }

  .nvgd-payment-icons img,
  .nvgd-payment-icon svg {
    height: 26px;
  }
}
/* sections/four-columns-bg.liquid */

.four-column-bg-section {
  padding: var(--fcb-padding);
  position: relative;
  background-color: var(--fcb-section-bg, transparent);
}

.four-column-bg-section--bg-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: var(--fcb-bg-image);
  background-size: var(--fcb-bg-size);
  background-position: bottom center;
  background-repeat: no-repeat;
  transform: var(--fcb-bg-transform, none);
  z-index: 0;
}

.four-column-bg-section__container {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.four-column-bg-section__grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fcb-gap);
}

.four-column-bg-section__column {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}

.four-column-bg-section__column--col-transform {
  transform: translate(var(--fcb-col-tx, 0), var(--fcb-col-ty, 0));
}

.four-column-bg-section__column-inner {
  height: 100%;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.four-column-bg-section__column-inner--wrapped {
  display: block;
  height: auto;
  width: 100%;
}

.four-column-bg-section__content {
  height: 100%;
  position: relative;
  z-index: 2;
}

/* Image Styles */
.four-column-bg-section .column-bg-image-wrapper {
  width: 100%;
  overflow: hidden;
}

.four-column-bg-section .column-bg-image-wrapper--full {
  aspect-ratio: auto;
}

.four-column-bg-section .column-bg-image-wrapper--square {
  aspect-ratio: 1 / 1;
}

.four-column-bg-section .column-bg-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Text Content Styles */
.four-column-bg-section .column-bg-text__item {
  margin-bottom: var(--fcb-text-spacing);
}

.four-column-bg-section .column-bg-text__item:last-child {
  margin-bottom: 0;
}

.four-column-bg-section .column-bg-text__icon {
  flex-shrink: 0;
  margin-bottom: 12px;
  width: var(--fcb-icon-size, 60px);
  height: var(--fcb-icon-size, 60px);
}

.four-column-bg-section .column-bg-text__icon img,
.four-column-bg-section .column-bg-text__icon svg {
  display: block;
  object-fit: contain;
}

.four-column-bg-section .column-bg-text__heading {
  margin-bottom: var(--fcb-heading-spacing);
}

.four-column-bg-section .column-bg-text__text {
  line-height: 1.6;
}

.four-column-bg-section .column-bg-text__divider {
  display: block !important;
}

/* Title Content Styles */
.four-column-bg-section .column-bg-title {
  width: 100%;
}

.four-column-bg-section .column-bg-title__heading {
  margin: 0;
  line-height: 1.2;
}

/* Responsive */
@media (max-width: 768px) {
  .four-column-bg-section {
    padding: var(--fcb-padding-m);
  }

  .four-column-bg-section--bg-image::before {
    background-image: var(--fcb-bg-image-m, var(--fcb-bg-image)) !important;
    background-size: var(--fcb-bg-size-m) !important;
  }

  .four-column-bg-section__grid {
    flex-direction: column;
  }

  .four-column-bg-section__column {
    width: var(--fcb-col-width-m) !important;
  }

  .four-column-bg-section__column--col-transform {
    transform: translate(var(--fcb-col-tx-m, 0), var(--fcb-col-ty-m, 0)) !important;
  }

  .four-column-bg-section__column-inner {
    padding: var(--fcb-inner-padding-m, 0) !important;
    background-size: var(--fcb-inner-bg-size-m, auto) !important;
  }

  .four-column-bg-section__content--transformed {
    transform: translate(var(--fcb-content-tx-m, 0), var(--fcb-content-ty-m, 0)) !important;
  }

  .four-column-bg-section .column-bg-image-wrapper {
    width: var(--fcb-imgw-m, 100%) !important;
  }

  .four-column-bg-section .column-bg-text__icon {
    width: var(--fcb-icon-size-m, 40px) !important;
    height: var(--fcb-icon-size-m, 40px) !important;
  }

  .four-column-bg-section .column-bg-text__heading {
    font-size: var(--fcb-heading-size-m, 20px) !important;
  }

  .four-column-bg-section .column-bg-text__text {
    font-size: var(--fcb-text-size-m, 14px) !important;
  }

  .four-column-bg-section .column-bg-title__heading {
    font-size: var(--fcb-title-size-m, 32px) !important;
    text-align: var(--fcb-title-align-m, left) !important;
  }

  /* Mobile column ordering */
  .four-column-bg-section--reverse-order .four-column-bg-section__column:nth-child(1) { order: 4; }
  .four-column-bg-section--reverse-order .four-column-bg-section__column:nth-child(2) { order: 3; }
  .four-column-bg-section--reverse-order .four-column-bg-section__column:nth-child(3) { order: 2; }
  .four-column-bg-section--reverse-order .four-column-bg-section__column:nth-child(4) { order: 1; }
}
/* sections/header.liquid */

  header-drawer {
    justify-self: start;
    margin-left: -1.2rem;
  }

  .scrolled-past-header .header-wrapper--reduce-logo .header__heading-logo-wrapper {
    width: 75%;
  }

  @media screen and (min-width: 990px) {
    .header-wrapper--desktop-menu header-drawer {
      display: none;
    }
  }

  .menu-drawer-container {
    display: flex;
  }

  .list-menu {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .list-menu--inline {
    display: inline-flex;
    flex-wrap: wrap;
  }

  summary.list-menu__item {
    padding-right: 2.7rem;
  }

  .list-menu__item {
    display: flex;
    align-items: center;
    line-height: calc(1 + 0.3 / var(--font-body-scale));
  }

  .list-menu__item--link {
    text-decoration: none;
    padding-bottom: 1rem;
    padding-top: 1rem;
    line-height: calc(1 + 0.8 / var(--font-body-scale));
  }

  @media screen and (min-width: 750px) {
    .list-menu__item--link {
      padding-bottom: 0.5rem;
      padding-top: 0.5rem;
    }
  }
/* sections/hero-split.liquid */

  .nvgd-split-hero__card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: var(--split-height, 480px);
    overflow: hidden;
    border-radius: var(--editorial-radius, 32px);
  }

  .nvgd-split-hero__card--image-left .nvgd-split-hero__media { order: -1; }

  .nvgd-split-hero__panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 40px;
    min-width: 0;
    padding: 64px;
    background: var(--split-panel, #f8f4f1);
  }

  .nvgd-split-hero__panel .nvgd-editorial__eyebrow { margin: 0 0 -24px; }

  .nvgd-split-hero__heading {
    max-width: var(--split-heading-width, 420px);
    margin: 0;
    font-family: var(--font-heading-family);
    font-size: var(--editorial-heading-size, 56px);
    font-weight: 400;
    line-height: 1.214;
    color: inherit;
    overflow-wrap: anywhere;
  }

  .nvgd-split-hero__heading strong { font-weight: 700; }

  .nvgd-split-hero__text {
    margin-top: -16px;
    max-width: 46ch;
    font-size: 16px;
    line-height: 1.6;
    color: var(--editorial-muted);
  }

  .nvgd-split-hero__button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 14px 32px 14px 24px;
    border: 0;
    border-radius: 100px;
    background: var(--split-button-bg, #f4d797);
    color: var(--split-button-ink, #1b1c1c);
    font-family: var(--font-body-family);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    transition: filter 0.2s ease;
  }

  .nvgd-split-hero__button:hover { filter: brightness(0.95); }
  .nvgd-split-hero__icon { flex-shrink: 0; }

  .nvgd-split-hero__media {
    position: relative;
    min-width: 0;
    min-height: 280px;
  }

  .nvgd-split-hero__media img,
  .nvgd-split-hero__media svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (max-width: 989px) {
    .nvgd-split-hero__panel { padding: 48px; gap: 32px; }
  }

  @media (max-width: 749px) {
    .nvgd-split-hero__card { grid-template-columns: minmax(0, 1fr); min-height: 0; border-radius: min(var(--editorial-radius, 32px), 24px); }
    .nvgd-split-hero__card--image-left .nvgd-split-hero__media { order: 0; }
    .nvgd-split-hero__media { aspect-ratio: 4 / 3; min-height: 0; }
    .nvgd-split-hero__panel { padding: 32px 24px; gap: 24px; }
    .nvgd-split-hero__heading { font-size: var(--editorial-heading-mobile, 36px); }
    .nvgd-split-hero__panel .nvgd-editorial__eyebrow { margin-bottom: -12px; }
    .nvgd-split-hero__text { margin-top: -8px; }
  }
/* sections/hero-with-overlay.liquid */

/* moved from inline style block for bundling */
/* Outer Section Wrapper - Full bleed, no padding (image stretches edge to edge) */
.hero-overlay-section-root {
  position: relative;
  width: 100%;
  border-radius: var(--hero-radius);
  overflow: hidden;
}

.hero-overlay {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.hero-overlay__media {
  position: relative;
  width: 100%;
}

.hero-overlay__media::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--hero-overlay-color);
  pointer-events: none;
  z-index: 1;
}

.hero-overlay__image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.hero-overlay__placeholder {
  background-color: #f4f4f4;
  width: 100%;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-overlay__placeholder svg {
  width: 100%;
  height: 100%;
  max-width: 500px;
  max-height: 500px;
  /* Faint, so heading and buttons stay readable before an image is added. */
  opacity: 0.3;
}

.hero-overlay__video-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.hero-overlay__video-autoplay {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.hero-overlay__video-autoplay iframe,
.hero-overlay__video-autoplay video {
  width: 100%;
  height: auto;
  display: block;
}

.hero-overlay__deferred-media {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding-bottom: var(--hero-deferred-aspect, 0);
}

.hero-overlay__deferred-media:not([loaded]) template {
  z-index: -1;
}

.hero-overlay__deferred-media[loaded] > .hero-overlay__video-poster {
  display: none;
}

.hero-overlay__video-poster {
  background-color: transparent;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.hero-overlay__video-poster img {
  width: 100%;
  height: auto;
  display: block;
}

.hero-overlay__play-button {
  background-color: rgba(255, 255, 255, 0.9);
  border: 0.1rem solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 6.2rem;
  width: 6.2rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(1);
  transition: transform 0.2s ease;
  z-index: 1;
}

.hero-overlay__video-poster:hover .hero-overlay__play-button {
  transform: translate(-50%, -50%) scale(1.1);
}

.hero-overlay__play-button svg {
  width: 2rem;
  height: 2rem;
  margin-left: 0.2rem;
}

/* Content Positioning Container - Covers entire hero */
.hero-overlay__content-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  pointer-events: none;
  padding: var(--hero-content-pad);
}

/* Inner Container - Constrains to page width and centers (like other sections) */
.hero-overlay__content-inner {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: flex;
  max-width: var(--hero-inner-max-width);
}

/* Horizontal alignment (desktop) */
.hero-overlay__content-inner--h-left {
  justify-content: flex-start;
}

.hero-overlay__content-inner--h-center {
  justify-content: center;
}

.hero-overlay__content-inner--h-right {
  justify-content: flex-end;
}

/* Vertical alignment (desktop) */
.hero-overlay__content-inner--v-top {
  align-items: flex-start;
}

.hero-overlay__content-inner--v-middle {
  align-items: center;
}

.hero-overlay__content-inner--v-bottom {
  align-items: flex-end;
}

/* Content Box */
.hero-overlay__content {
  pointer-events: auto;
  width: 100%;
  max-width: var(--hero-content-max-width);
  padding: var(--hero-content-padding);
  border-radius: var(--hero-content-radius);
  display: flex;
  flex-direction: column;
  gap: var(--hero-content-gap);
}

.hero-overlay__legacy {
  display: grid;
  gap: 16px;
  color: var(--hero-legacy-text-color);
}

.hero-overlay__legacy h1 {
  margin: 0;
  color: var(--hero-legacy-heading-color);
  font-family: var(--font-heading-family);
  font-size: clamp(36px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.15;
}

.hero-overlay__legacy .hero-overlay__legacy-eyebrow {
  margin: 0;
  color: var(--hero-legacy-eyebrow-color);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero-overlay__legacy .hero-overlay__legacy-text {
  margin: 0;
  max-width: 65ch;
  font-size: 16px;
  line-height: 1.5;
}

.hero-overlay__legacy .button {
  justify-self: start;
  margin-top: 8px;
  color: var(--hero-legacy-btn-text-color);
  background: var(--hero-legacy-btn-bg-color);
  border-radius: 999px;
}

@media screen and (max-width: 749px) {
  .hero-overlay__content-container {
    padding: var(--hero-content-pad-mobile);
  }

  /* Horizontal alignment - Mobile */
  .hero-overlay__content-inner--mh-left {
    justify-content: flex-start;
  }

  .hero-overlay__content-inner--mh-center {
    justify-content: center;
  }

  .hero-overlay__content-inner--mh-right {
    justify-content: flex-end;
  }

  /* Vertical alignment - Mobile */
  .hero-overlay__content-inner--mv-top {
    align-items: flex-start;
  }

  .hero-overlay__content-inner--mv-middle {
    align-items: center;
  }

  .hero-overlay__content-inner--mv-bottom {
    align-items: flex-end;
  }

  .hero-overlay__content {
    padding: var(--hero-content-padding-mobile);
    border-radius: var(--hero-content-radius-mobile);
    gap: var(--hero-content-gap-mobile);
    max-width: var(--hero-content-max-width-mobile);
  }

  .hero-overlay__legacy h1 {
    font-size: var(--hero-heading-size-mobile);
  }

  .hero-overlay__placeholder {
    min-height: 400px;
  }

  .hero-overlay__media {
    height: var(--hero-media-height-mobile, auto);
    object-fit: cover;
  }

  .hero-overlay__media video {
    height: var(--hero-media-height-mobile, auto);
    object-fit: cover;
  }

  .hero-overlay__image {
    --hero-image-x: var(--hero-image-x-mobile, 50%);
    height: var(--hero-image-height-mobile, auto);
    object-fit: cover;
  }

  /* Auto-height image hero: stack media and content in one cell so the hero grows to fit its content instead of clipping it. */
  .hero-overlay--fluid-mobile {
    display: grid;
  }

  .hero-overlay--fluid-mobile > * {
    grid-area: 1 / 1;
  }

  .hero-overlay--fluid-mobile .hero-overlay__content-container {
    position: relative;
  }

  .hero-overlay--fluid-mobile .hero-overlay__image {
    height: 100%;
  }
}

@media screen and (min-width: 750px) {
  .hero-overlay__media {
    height: var(--hero-media-height-desktop, auto);
  }

  .hero-overlay__image {
    height: var(--hero-image-height-desktop, auto);
    object-fit: cover;
  }

  .hero-overlay--fluid-desktop {
    display: grid;
  }

  .hero-overlay--fluid-desktop > * {
    grid-area: 1 / 1;
  }

  .hero-overlay--fluid-desktop .hero-overlay__content-container {
    position: relative;
  }

  .hero-overlay--fluid-desktop .hero-overlay__image {
    height: 100%;
  }
}
/* sections/household-gallery.liquid */

  .nvgd-editorial.nvgd-ritual {
    display: block;
    background:
      linear-gradient(to bottom, var(--editorial-bg) var(--ritual-band-start, 55%), var(--ritual-band, #f8f4f1) var(--ritual-band-start, 55%));
  }

  .nvgd-ritual__heading {
    margin: 0 0 16px;
    text-align: center;
  }

  .nvgd-ritual__tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 48px;
  }

  .nvgd-ritual__tab {
    min-height: 36px;
    padding: 8px 18px;
    border: 1px solid var(--editorial-ink);
    border-radius: 2px;
    background: transparent;
    color: var(--editorial-ink);
    font-family: var(--font-body-family);
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .nvgd-ritual__tab[aria-selected='true'] {
    background: var(--editorial-ink);
    color: var(--editorial-bg);
  }

  .nvgd-ritual__tab:focus-visible { outline: 2px solid var(--editorial-ink); outline-offset: 2px; }

  .nvgd-ritual__panel {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--editorial-gap, 16px);
    height: var(--ritual-height, 540px);
  }

  .nvgd-ritual__panel[hidden] { display: none; }
  .nvgd-ritual__panel:focus-visible { outline: 2px solid var(--editorial-ink); outline-offset: 4px; }

  .nvgd-ritual__image {
    min-width: 0;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    border-radius: var(--editorial-radius, 12px);
  }

  .nvgd-ritual__image--1 { grid-row: 1 / span 2; }

  .nvgd-ritual__image img,
  .nvgd-ritual__image svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .nvgd-ritual__action {
    display: flex;
    justify-content: center;
    margin-top: 40px;
  }

  .nvgd-ritual__button {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 32px;
    background: var(--editorial-ink);
    color: var(--editorial-bg);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
  }

  @media (max-width: 749px) {
    .nvgd-ritual__tabs {
      flex-wrap: nowrap;
      justify-content: flex-start;
      margin: 0 calc(var(--editorial-x-mobile, 20px) * -1) 24px;
      padding-inline: var(--editorial-x-mobile, 20px);
      overflow-x: auto;
      scrollbar-width: none;
    }
    .nvgd-ritual__tabs::-webkit-scrollbar { display: none; }
    .nvgd-ritual__tab { flex-shrink: 0; }
    .nvgd-ritual__panel { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto; height: auto; gap: 12px; }
    .nvgd-ritual__image--1 { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 3; }
    .nvgd-ritual__image--2,
    .nvgd-ritual__image--3 { aspect-ratio: 1; }
  }
/* sections/insights-gallery.liquid */

/* moved from inline style block for bundling */
.insights-gallery-section {
  width: 100%;
  background-color: var(--ig-bg);
  padding: var(--ig-section-padding);
}

@media screen and (max-width: 749px) {
  .insights-gallery-section {
    padding: var(--ig-section-padding-mobile);
  }
}

.insights-gallery-container {
  width: 100%;
  margin: 0 auto;
  max-width: var(--ig-container-max-width);
}

.insights-main-grid {
  display: grid;
  gap: var(--ig-grid-gap);
  align-items: end;
  width: 100%;
}

.ig--image-right .insights-main-grid {
  grid-template-columns: var(--ig-content-width) 1fr;
}

.ig--image-left .insights-main-grid {
  grid-template-columns: 1fr var(--ig-content-width);
}

/* ----- SIDE A: Content Wrapper (Heading + Cards) ----- */
.insights-content-side {
  display: flex;
  flex-direction: column;
}

.ig--image-right .insights-content-side {
  order: 1;
}

.ig--image-left .insights-content-side {
  order: 2;
}

/* Heading Styling */
.insights-heading {
  margin-bottom: var(--ig-heading-mb);
  max-width: 100%;
}

.insights-heading h2 {
  font-family: var(--ig-heading-font);
  font-weight: var(--ig-heading-weight);
  font-size: var(--ig-heading-size);
  color: var(--ig-heading-color);
  line-height: var(--ig-heading-lh);
  margin: 0;
  text-align: var(--ig-heading-align);
}

/* Cards Grid Area */
.insights-nav {
  display: grid;
  gap: var(--ig-card-gap);
}

.ig--cols-2 .insights-nav {
  grid-template-columns: repeat(2, 1fr);
}

.ig--cols-3 .insights-nav {
  grid-template-columns: repeat(3, 1fr);
}

/* ----- SIDE B: Image Display Wrapper ----- */
.insights-display-side {
  display: grid;
  position: relative;
  width: 100%;
  max-width: min(var(--ig-image-max-width), 500px);
  margin-left: auto;
}

.ig--image-right .insights-display-side {
  order: 2;
}

.ig--image-left .insights-display-side {
  order: 1;
  margin-left: 0;
  margin-right: auto;
}

.insight-content {
  grid-area: 1 / 1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0s var(--ig-content-speed), visibility 0s var(--ig-content-speed);
  max-width: 500px;
}

.insight-content.active-content {
  opacity: 1;
  visibility: visible;
  transition: opacity var(--ig-content-speed) ease, visibility 0s;
  z-index: 1;
  max-width: 500px;
}

.insight-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: var(--ig-image-radius);
}

/* With a default image, card images fill its frame so picking a card never changes the section height. */
.ig--has-default .insight-content {
  position: relative;
  align-self: stretch;
}

.ig--has-default .insight-content .insight-image {
  position: absolute;
  inset: 0;
  height: 100%;
}

.section-default-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: var(--ig-section-image-radius);
  grid-area: 1 / 1;
  z-index: 0;
}

/* ================= INDIVIDUAL CARD STYLING ================= */
.insight-card {
  background: var(--ig-card-bg);
  border-radius: var(--ig-card-radius);
  padding: var(--ig-card-padding);
  cursor: pointer;
  transition: all var(--ig-card-transition) cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  border: var(--ig-card-border-width) solid var(--ig-card-border-color);

  display: flex;
  flex-direction: column;

  justify-content: space-between;
}

.ig--title-top .insight-card {
  flex-direction: column-reverse;
}

.ig--fixed-cards .insight-card {
  width: var(--ig-card-fixed-width);
  height: var(--ig-card-fixed-height);
  max-width: 100%;
}

.ig--fluid-cards .insight-card {
  width: 100%;
  height: 100%;
  min-height: var(--ig-card-min-height);
}

.ig--lift .insight-card {
  will-change: transform;
}

.insight-card:hover {
  transform: translateY(calc(-1 * var(--ig-hover-lift)));
  box-shadow: 0 var(--ig-hover-shadow) calc(var(--ig-hover-shadow) * 2) rgba(0, 0, 0, var(--ig-hover-shadow-opacity));
}

.insight-card.active-card {
  background: var(--ig-active-card-bg);
  border-color: var(--ig-active-card-border);
}

/* Card Header Section (Icon + Arrow) */
.card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin-bottom: var(--ig-icon-mb);
}

.ig--title-top .card-header {
  margin-bottom: 0;
  margin-top: var(--ig-icon-mb);
  align-items: flex-end;
}

/* Icon Wrapper */
.icon-wrapper {
  width: var(--ig-icon-size);
  height: var(--ig-icon-size);
  background-color: #FFFFFF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.icon-wrapper img {
  width: 50%;
  height: 50%;
  object-fit: contain;
}

/* Arrow */
.card-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ig-card-text-color);
  opacity: var(--ig-arrow-opacity);
  transition: opacity 0.3s ease, color 0.3s ease;
  margin-top: var(--ig-arrow-mt);
  flex-shrink: 0;
}

.card-arrow svg {
  width: var(--ig-arrow-size);
  height: var(--ig-arrow-size);
}

.insight-card:hover .card-arrow {
  opacity: 1;
}

.insight-card.active-card .card-arrow {
  color: var(--ig-active-card-text);
  opacity: 1;
}

/* Card Title */
.card-content {
  width: 100%;
  margin-top: auto;
}

.card-title {
  font-family: var(--ig-card-title-font);
  font-weight: var(--ig-card-title-weight);
  font-size: var(--ig-card-title-size);
  line-height: var(--ig-card-title-lh);
  margin: 0;
  color: var(--ig-card-text-color);
}

.insight-card.active-card .card-title {
  color: var(--ig-active-card-text);
}

.insight-image.mobile-only {
  display: none;
}

/* ================= RESPONSIVE TABLET ================= */
@media screen and (max-width: 1024px) {
  .ig--image-right .insights-main-grid,
  .ig--image-left .insights-main-grid {
    grid-template-columns: 1fr;
  }

  .insights-main-grid {
    gap: var(--ig-grid-gap-tablet);
  }

  .ig--image-right .insights-content-side,
  .ig--image-left .insights-content-side {
    order: 2;
  }

  .ig--image-right .insights-display-side,
  .ig--image-left .insights-display-side {
    order: 1;
    max-width: 100%;
    margin: 0 auto;
  }

  .insight-card {
    padding: var(--ig-card-padding-tablet);
  }

  .ig--fluid-cards .insight-card {
    min-height: var(--ig-card-min-height-tablet);
  }

  .icon-wrapper {
    width: var(--ig-icon-size-tablet);
    height: var(--ig-icon-size-tablet);
  }

  .card-title {
    font-size: var(--ig-card-title-size-tablet);
  }

  .insights-heading h2 {
    font-size: var(--ig-heading-size-tablet);
  }
}

/* ================= RESPONSIVE MOBILE ================= */
@media screen and (max-width: 749px) {
  .insights-main-grid {
    display: flex;
    flex-direction: column;
    gap: var(--ig-grid-gap-mobile);
  }

  .ig--image-right .insights-content-side,
  .ig--image-left .insights-content-side {
    order: 2;
    width: 100%;
  }

  .ig--image-right .insights-display-side,
  .ig--image-left .insights-display-side {
    order: 1;
    max-width: 100%;
    width: 100%;
    margin: 0;
  }

  .insight-content {
    max-width: 100%;
  }

  .insight-image {
    width: 100%;
    max-width: 100%;
  }

  /* Horizontal scrolling cards */
  .insights-nav {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: var(--ig-card-gap-mobile);
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .insights-nav::-webkit-scrollbar {
    display: none;
  }

  .ig--fixed-cards .insight-card,
  .ig--fluid-cards .insight-card {
    flex: 0 0 auto;
    width: var(--ig-card-mobile-width);
    min-width: var(--ig-card-mobile-width);
    scroll-snap-align: start;
    padding: var(--ig-card-padding-mobile);
    min-height: var(--ig-card-min-height-mobile);
    height: auto;
  }

  .icon-wrapper {
    width: var(--ig-icon-size-mobile);
    height: var(--ig-icon-size-mobile);
  }

  .card-header,
  .ig--title-top .card-header {
    margin-bottom: var(--ig-icon-mb-mobile);
  }

  .card-title {
    font-size: var(--ig-card-title-size-mobile);
  }

  .card-arrow svg {
    width: var(--ig-arrow-size-mobile);
    height: var(--ig-arrow-size-mobile);
  }

  .insights-heading h2 {
    font-size: var(--ig-heading-size-mobile);
  }

  .insights-heading--join-m br {
    display: none;
  }

  .insights-heading {
    margin-bottom: var(--ig-heading-mb-mobile);
  }

  .ig--mobile-diff .insight-image:not(.mobile-only) {
    display: none;
  }

  .ig--mobile-diff .insight-image.mobile-only {
    display: block;
  }
}
/* sections/main-404.liquid */

  .template-404 .title {
    font-size: var(--notfound-title-size-mobile, 40px);
  }

  .template-404 .title + * {
    margin-top: 1rem;
  }

  @media screen and (min-width: 750px) {
    .template-404 .title {
      font-size: var(--notfound-title-size, 64px);
    }

    .template-404 .title + * {
      margin-top: 2rem;
    }
  }
/* sections/main-password-header.liquid */

  .password-logo {
    max-width: var(--password-logo-max-width, none);
  }
/* sections/main-product.liquid */

  .nvgd-title-block h1,
  .nvgd-title-block h2,
  .nvgd-product--editorial .nvgd-title-block h1,
  .nvgd-product--editorial .nvgd-title-block h2 {
    font-size: var(--nvgd-title-fs) !important;
    font-weight: var(--nvgd-title-fw) !important;
    line-height: var(--nvgd-title-lh) !important;
  }

  @media screen and (max-width: 749px) {
    .nvgd-title-block h1,
    .nvgd-title-block h2,
    .nvgd-product--editorial .nvgd-title-block h1,
    .nvgd-product--editorial .nvgd-title-block h2 {
      font-size: var(--nvgd-title-fs-m, var(--nvgd-title-fs)) !important;
    }
  }
/* sections/multicolumn-flexible.liquid */

/* moved from inline style block for bundling */
.multicolumn-flexible {
  padding: var(--mcx-padding);
}

.multicolumn-flexible .is-transform {
  will-change: transform;
}

.multicolumn-flexible.multicolumn-section {
  width: 100%;
}

.multicolumn-flexible .multicolumn-stage {
  position: relative;
  width: 100%;
  padding: 0;
}

.multicolumn-flexible .multicolumn-inner {
  max-width: var(--page-width);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  position: relative;
  padding: 0;
}

.multicolumn-flexible__grid {
  display: flex;
  gap: var(--mcx-gap);
  justify-content: flex-start;
}

/* Text Content Styles */
.multicolumn-flexible .column-text__item {
  margin-bottom: 20px;
}

.multicolumn-flexible .column-text__item:last-child {
  margin-bottom: 0;
}

.multicolumn-flexible .column-text__heading {
  font-size: var(--mcx-heading-size);
  font-weight: 700;
  margin-bottom: 8px;
  color: var(--mcx-heading-color);
}

.multicolumn-flexible .column-text__subheading {
  font-size: var(--mcx-subheading-size);
  font-weight: 600;
  margin-bottom: 6px;
  color: var(--mcx-subheading-color);
}

.multicolumn-flexible .column-text__text {
  font-size: var(--mcx-text-size);
  line-height: 1.6;
  color: var(--mcx-text-color);
}

/* Image Content Styles */
.multicolumn-flexible .column-image {
  width: 100%;
  max-width: 420px;
  height: auto;
  display: block;
}

/* List Content Styles */
.multicolumn-flexible .column-list-wrapper {
  width: 100%;
}

.multicolumn-flexible .column-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.multicolumn-flexible .column-list__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 60px;
}

.multicolumn-flexible .column-list__item:last-child {
  margin-bottom: 0;
}

.multicolumn-flexible .column-list__icon {
  flex-shrink: 0;
  margin-bottom: 12px;
}

.multicolumn-flexible .column-list__icon img,
.multicolumn-flexible .column-list__icon svg {
  display: block;
  object-fit: contain;
}

.multicolumn-flexible .column-list__content {
  width: 100%;
}

.multicolumn-flexible .column-list__heading {
  margin: 0 0 8px 0;
  line-height: 1.3;
}

.multicolumn-flexible .column-list__text {
  line-height: 1.6;
  margin: 0;
}

/* Desktop Styles (769px and up) */
@media (min-width: 769px) {
  .multicolumn-flexible__grid {
    flex-wrap: nowrap;
    align-items: flex-start;
  }

  .multicolumn-flexible__column {
    position: relative;
  }

  .multicolumn-flexible__column:not(.is-image-column) {
    flex: 1 1 0;
    max-width: none;
  }

  .multicolumn-flexible__content {
    position: relative;
  }

  .multicolumn-flexible__content.is-transform {
    transform: translate(var(--mcx-tx-d), var(--mcx-ty-d));
  }
}

/* Mobile Styles (768px and below) */
@media (max-width: 768px) {
  .multicolumn-flexible {
    padding: var(--mcx-padding-mobile, var(--mcx-padding));
  }

  .multicolumn-flexible__grid {
    flex-direction: column;
    flex-wrap: nowrap;
    height: auto;
  }

  .multicolumn-flexible .multicolumn-inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  .multicolumn-flexible__column {
    width: 100% !important;
    flex: 0 0 auto !important;
    max-width: 100% !important;
    margin-bottom: 30px;
  }

  .multicolumn-flexible__column:last-child {
    margin-bottom: 0;
  }

  .multicolumn-flexible__content {
    transform: none !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
  }

  /* Text Content - Mobile */
  .multicolumn-flexible .column-text__heading,
  .multicolumn-flexible .column-text__subheading,
  .multicolumn-flexible .column-text__text {
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
  }

  .multicolumn-flexible .column-text__heading {
    font-size: var(--mcx-heading-size-mobile, var(--mcx-heading-size));
  }

  .multicolumn-flexible .column-text__subheading {
    font-size: var(--mcx-subheading-size-mobile, var(--mcx-subheading-size));
  }

  .multicolumn-flexible .column-text__text {
    font-size: var(--mcx-text-size-mobile, var(--mcx-text-size));
  }

  /* Image Content - Mobile */
  .multicolumn-flexible .column-image {
    margin: 0 auto 24px;
    max-width: 100%;
    width: 100%;
  }

  /* List Content - Mobile */
  .multicolumn-flexible .column-list__icon {
    width: var(--icon-size-mobile);
    height: var(--icon-size-mobile);
  }

  .multicolumn-flexible .column-list__heading {
    font-size: var(--heading-size-mobile);
  }

  .multicolumn-flexible .column-list__text {
    font-size: var(--text-size-mobile);
  }

  /* Block transform - Mobile: kept after the general content rule for cascade parity */
  .multicolumn-flexible__content.is-transform {
    transform: translate(var(--mcx-tx-m), var(--mcx-ty-m)) !important;
  }

  /* Mobile Column Ordering */
  .multicolumn-flexible--order-reverse .multicolumn-flexible__column:nth-child(1) { order: 3; }
  .multicolumn-flexible--order-reverse .multicolumn-flexible__column:nth-child(2) { order: 2; }
  .multicolumn-flexible--order-reverse .multicolumn-flexible__column:nth-child(3) { order: 1; }
  .multicolumn-flexible--order-col2 .multicolumn-flexible__column:nth-child(1) { order: 2; }
  .multicolumn-flexible--order-col2 .multicolumn-flexible__column:nth-child(2) { order: 1; }
  .multicolumn-flexible--order-col2 .multicolumn-flexible__column:nth-child(3) { order: 3; }
  .multicolumn-flexible--order-col3 .multicolumn-flexible__column:nth-child(1) { order: 2; }
  .multicolumn-flexible--order-col3 .multicolumn-flexible__column:nth-child(2) { order: 3; }
  .multicolumn-flexible--order-col3 .multicolumn-flexible__column:nth-child(3) { order: 1; }
}
/* sections/press-card.liquid */

  .nvgd-press__grid {
    display: grid;
    grid-template-columns: repeat(var(--press-columns, 3), minmax(0, 1fr));
    gap: var(--editorial-gap, 24px);
  }

  .nvgd-press__grid > .shopify-block { min-width: 0; }

  @media (max-width: 989px) {
    .nvgd-press__grid { grid-template-columns: repeat(min(var(--press-columns, 3), 2), minmax(0, 1fr)); }
  }

  @media (max-width: 749px) {
    .nvgd-press__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  }
/* sections/product-discovery-hotspot.liquid */

/* moved from inline style block for bundling */

/* Section Level Styles */
.pdh-section {
  display: block;
  position: relative;
  z-index: var(--pdh-z);
  background-color: var(--pdh-bg);
  padding-top: var(--pdh-pt, 0px);
  padding-bottom: var(--pdh-pb, 0px);
  padding-left: var(--pdh-pl, 0px);
  padding-right: var(--pdh-pr, 0px);
}

@media screen and (max-width: 749px) {
  .pdh-section {
    padding-top: var(--pdh-pt-m, 0px);
    padding-bottom: var(--pdh-pb-m, 0px);
    padding-left: var(--pdh-pl-m, 0px);
    padding-right: var(--pdh-pr-m, 0px);
  }
}

.pdh-container {
  margin: 0 auto;
  width: 100%;
  max-width: var(--pdh-max-w, 100%);
}

/* Section Header Block */
.pdh-header-wrap {
  width: 100%;
  text-align: var(--pdh-hdr-align, left);
  margin-bottom: var(--pdh-hdr-gap, 36px);
}

.pdh-heading {
  margin: 0;
  color: var(--pdh-heading-color, #1a1a1a);
  font-family: var(--pdh-heading-ff, inherit);
  font-size: var(--pdh-heading-fs, 38px);
  font-weight: var(--pdh-heading-fw, 500);
  line-height: var(--pdh-heading-lh, 1.15);
  letter-spacing: var(--pdh-heading-ls, 0px);
  text-transform: var(--pdh-heading-tt, none);
  margin-bottom: var(--pdh-heading-gap, 12px);
}

.pdh-subheading {
  margin: 0;
  color: var(--pdh-sub-color, #767676);
  font-family: var(--pdh-sub-ff, inherit);
  font-size: var(--pdh-sub-fs, 14px);
  font-weight: var(--pdh-sub-fw, 400);
  line-height: var(--pdh-sub-lh, 1.5);
  letter-spacing: var(--pdh-sub-ls, 0px);
}

@media screen and (max-width: 749px) {
  .pdh-heading {
    font-size: var(--pdh-heading-fs-m, 26px);
  }
  .pdh-subheading {
    font-size: var(--pdh-sub-fs-m, 13px);
  }
}

/* Main Grid / Split Layout */
.pdh-main-grid {
  display: flex;
  align-items: center;
  gap: var(--pdh-gap, 32px);
  width: 100%;
}

/* Lifestyle Hotspot Image Column */
.pdh-image-col {
  flex: var(--pdh-img-flex, 0 0 calc(55% - 14.4px));
  min-width: 0;
}

.pdh-lifestyle-frame {
  position: relative;
  width: 100%;
  border-radius: var(--pdh-img-br, 24px);
  background-color: #f3ede6;
  padding-top: var(--pdh-frame-pt, 66.666%);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
}

.pdh-image-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--pdh-img-br, 24px);
  overflow: hidden;
}

.pdh-image-inner img,
.pdh-image-inner svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hotspot Pin Item Wrapper */
.pdh-hotspot-item {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 20;
}

.pdh-hotspot-item.is-active,
.pdh-hotspot-item:hover {
  z-index: 45;
}

/* Hotspot Pin Button */
.pdh-hotspot-pin {
  width: var(--pdh-pin-btn, 32px);
  height: var(--pdh-pin-btn, 32px);
  border-radius: 50%;
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  outline: none;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.pdh-hotspot-pin:hover,
.pdh-hotspot-pin:focus-visible {
  transform: scale(1.15);
}

.pdh-hotspot-pin:focus-visible {
  outline: 3px solid var(--pdh-halo-color, #e0b870);
  outline-offset: 2px;
}

.pdh-pin-core {
  width: var(--pdh-pin-size, 18px);
  height: var(--pdh-pin-size, 18px);
  border-radius: 50%;
  background-color: var(--pdh-dot-color, #ffffff);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: all 0.3s ease;
}

.pdh-pin-center {
  width: var(--pdh-pin-center, 8px);
  height: var(--pdh-pin-center, 8px);
  border-radius: 50%;
  background-color: #ffffff;
  opacity: 0.95;
  transition: transform 0.3s ease;
}

.pdh-pin-halo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--pdh-halo-color, #e0b870);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

@keyframes pdh-pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.8;
  }
  70% {
    transform: translate(-50%, -50%) scale(2.2);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(2.2);
    opacity: 0;
  }
}

.pdh-pulse-on .pdh-hotspot-pin .pdh-pin-halo {
  animation: pdh-pulse 2.4s infinite cubic-bezier(0.25, 1, 0.5, 1);
}

/* Active Pin State */
.pdh-hotspot-item.is-active .pdh-pin-core {
  transform: scale(1.1);
  background-color: #ffffff;
  box-shadow: 0 0 0 4px var(--pdh-halo-color, #e0b870), 0 4px 15px rgba(0, 0, 0, 0.3);
}

.pdh-hotspot-item.is-active .pdh-pin-halo {
  opacity: 0.9;
  width: 180%;
  height: 180%;
  background-color: var(--pdh-halo-color, #e0b870);
}

.pdh-hotspot-item.is-active .pdh-pin-center {
  background-color: #d99a4e;
  transform: scale(1.2);
}

/* Floating Pop-Up Card anchored to Hotspot Pin */
.pdh-popup-card {
  position: absolute;
  width: var(--pdh-popup-w, 310px);
  max-width: calc(100vw - 32px);
  background-color: var(--pdh-card-bg, #ffffff);
  border-radius: var(--pdh-card-br, 20px);
  border: 1px solid var(--pdh-card-bc, rgba(0,0,0,0.06));
  padding: 16px;
  box-shadow: 0 16px 45px -6px rgba(0, 0, 0, 0.2), 0 2px 12px rgba(0, 0, 0, 0.08);
  z-index: 50;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(0.94);
  transition: opacity 0.28s cubic-bezier(0.16, 1, 0.3, 1), transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.28s;
}

/* Hit Bridge to prevent flickering when mouse travels from pin to popup */
.pdh-popup-card::before {
  content: '';
  position: absolute;
  top: -16px;
  bottom: -16px;
  left: -16px;
  right: -16px;
  z-index: -1;
}

/* Pop-up show state: Desktop Only */
@media screen and (min-width: 990px) {
  .pdh-hotspot-item.show-popup .pdh-popup-card {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

/* Position: Right (Default when pin is on the left half) */
.pdh-popup-pos-right {
  left: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%) scale(0.94);
}
.pdh-hotspot-item.show-popup .pdh-popup-pos-right {
  transform: translateY(-50%) scale(1);
}

/* Position: Left (When pin is on the right half) */
.pdh-popup-pos-left {
  right: calc(100% + 14px);
  left: auto;
  top: 50%;
  transform: translateY(-50%) scale(0.94);
}
.pdh-hotspot-item.show-popup .pdh-popup-pos-left {
  transform: translateY(-50%) scale(1);
}

/* Position: Top (Above pin) */
.pdh-popup-pos-top {
  bottom: calc(100% + 14px);
  top: auto;
  left: 50%;
  transform: translateX(-50%) scale(0.94);
}
.pdh-hotspot-item.show-popup .pdh-popup-pos-top {
  transform: translateX(-50%) scale(1);
}

/* Position: Bottom (Below pin) */
.pdh-popup-pos-bottom {
  top: calc(100% + 14px);
  bottom: auto;
  left: 50%;
  transform: translateX(-50%) scale(0.94);
}
.pdh-hotspot-item.show-popup .pdh-popup-pos-bottom {
  transform: translateX(-50%) scale(1);
}

.pdh-compact-media {
  width: 88px;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: var(--pdh-thumb-br, 12px);
  background: #f4f2ee;
}

.pdh-compact-media img,
.pdh-compact-media svg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.pdh-compact-details {
  min-width: 0;
}

.pdh-compact-title {
  margin: 0 0 8px;
  color: var(--pdh-title-color, #1a1a1a);
  font-family: var(--pdh-title-ff, inherit);
  font-size: 18px;
  font-weight: var(--pdh-title-fw, 600);
  line-height: 1.2;
}

.pdh-compact-title a {
  color: inherit;
  text-decoration: none;
}

.pdh-compact-title a:hover {
  text-decoration: underline;
}

.pdh-compact-price-wrap {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.pdh-compact-details .pdh-card-badge {
  margin-bottom: 8px;
}

.pdh-compact-details .pdh-card-highlight {
  margin-bottom: 12px;
}

.pdh-compact-desc {
  margin: 0 0 10px;
  color: var(--pdh-compact-desc-color, #555555);
  font-size: 13px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pdh-compact-price,
.pdh-compact-compare {
  font-family: var(--pdh-price-ff, inherit);
  font-variant-numeric: tabular-nums;
}

.pdh-compact-price {
  color: var(--pdh-price-color, #1a1a1a);
  font-size: 16px;
  font-weight: var(--pdh-price-fw, 600);
}

.pdh-compact-compare {
  color: var(--pdh-compare-color, #9ca3af);
  font-size: 13px;
  text-decoration: line-through;
}
/* Right Side: Product Card + Thumbnails */
.pdh-content-col {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}

.pdh-section[data-display-mode='floating-preview'] .pdh-content-col {
  flex: 0 0 auto;
}

@media screen and (min-width: 990px) {
  .pdh-section[data-display-mode='floating-preview'] .pdh-card-container {
    display: none;
  }

  .pdh-section[data-display-mode='floating-preview'].pdh-no-side-col .pdh-content-col {
    display: none;
  }
}

/* Card Stack Container */
.pdh-card-container {
  flex: 1;
  min-width: 0;
  position: relative;
}

.pdh-card-item {
  background-color: var(--pdh-card-bg, #ffffff);
  border-radius: var(--pdh-card-br, 20px);
  border: 1px solid var(--pdh-card-bc, rgba(0,0,0,0.06));
  padding: var(--pdh-card-pad, 32px);
  display: none;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.pdh-card-shadow-none { box-shadow: none; }
.pdh-card-shadow-subtle { box-shadow: 0 4px 16px rgba(0,0,0,0.04); }
.pdh-card-shadow-soft-glow { box-shadow: 0 16px 40px -8px rgba(0, 0, 0, 0.08); }
.pdh-card-shadow-elevated { box-shadow: 0 24px 50px -10px rgba(0, 0, 0, 0.12); }

.pdh-card-item.is-active {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.pdh-card-item--compact.is-active {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

/* Card Elements & Block Typography */
.pdh-card-badge {
  display: inline-block;
  padding: var(--pdh-badge-py, 4px) var(--pdh-badge-px, 12px);
  background-color: var(--pdh-badge-bg, #f4f4f4);
  color: var(--pdh-badge-color, #333333);
  font-family: var(--pdh-badge-ff, inherit);
  font-size: var(--pdh-badge-fs, 11px);
  font-weight: var(--pdh-badge-fw, 700);
  letter-spacing: var(--pdh-badge-ls, 1.5px);
  text-transform: uppercase;
  border-radius: var(--pdh-badge-br, 16px);
  margin-bottom: 16px;
}

.pdh-card-title {
  margin: 0 0 14px 0;
  color: var(--pdh-title-color, #1a1a1a);
  font-family: var(--pdh-title-ff, inherit);
  font-size: var(--pdh-title-fs, 28px);
  font-weight: var(--pdh-title-fw, 600);
  line-height: var(--pdh-title-lh, 1.2);
}

.pdh-popup-card .pdh-card-title {
  font-size: var(--pdh-title-fs-pop, 25px);
  margin-bottom: 10px;
}

.pdh-card-title a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.pdh-card-title a:hover {
  opacity: 0.85;
}

.pdh-card-desc {
  margin: 0 0 20px 0;
  color: var(--pdh-desc-color, #666666);
  font-family: var(--pdh-desc-ff, inherit);
  font-size: var(--pdh-desc-fs, 13px);
  font-weight: var(--pdh-desc-fw, 400);
  line-height: var(--pdh-desc-lh, 1.55);
}

.pdh-clamp-on .pdh-card-desc {
  display: -webkit-box;
  -webkit-line-clamp: var(--pdh-desc-clamp, 4);
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pdh-popup-card .pdh-card-desc {
  font-size: 12px;
  margin-bottom: 14px;
  -webkit-line-clamp: 3;
}

.pdh-card-price-wrap {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 12px;
}

.pdh-card-price {
  color: var(--pdh-price-color, #1a1a1a);
  font-family: var(--pdh-price-ff, inherit);
  font-size: var(--pdh-price-fs, 20px);
  font-weight: var(--pdh-price-fw, 600);
}

.pdh-card-compare-price {
  color: var(--pdh-compare-color, #9ca3af);
  font-family: var(--pdh-price-ff, inherit);
  font-size: var(--pdh-price-fs-compare, 17px);
  text-decoration: line-through;
  font-weight: 400;
}

.pdh-card-highlight {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
  color: var(--pdh-highlight-color, #555555);
  font-family: var(--pdh-highlight-ff, inherit);
  font-size: var(--pdh-highlight-fs, 12px);
  font-weight: var(--pdh-highlight-fw, 400);
  line-height: 1.4;
}

.pdh-popup-card .pdh-card-highlight {
  margin-bottom: 16px;
  font-size: 11px;
}

.pdh-check-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--pdh-highlight-icon, #d99a4e);
  font-size: 14px;
  font-weight: bold;
  flex-shrink: 0;
}

/* Add to Cart Button */
.pdh-atc-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--pdh-btn-h, 46px);
  background-color: var(--pdh-btn-bg, #000000);
  color: var(--pdh-btn-color, #ffffff);
  font-family: var(--pdh-btn-ff, inherit);
  font-size: var(--pdh-btn-fs, 12px);
  font-weight: var(--pdh-btn-fw, 600);
  letter-spacing: var(--pdh-btn-ls, 2px);
  text-transform: uppercase;
  border: none;
  border-radius: var(--pdh-btn-br, 30px);
  cursor: pointer;
  transition: background-color 0.25s ease, transform 0.2s ease, opacity 0.2s ease;
  text-decoration: none;
}

.pdh-atc-btn:hover {
  background-color: var(--pdh-btn-hover-bg, #222222);
  transform: translateY(-1px);
}

.pdh-atc-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* Vertical / Horizontal Thumbnails */
.pdh-thumbs-wrap {
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex-shrink: 0;
}

.pdh-thumb-btn {
  position: relative;
  width: var(--pdh-thumb-d, 72px);
  height: var(--pdh-thumb-d, 72px);
  border-radius: var(--pdh-thumb-br, 12px);
  border: var(--pdh-thumb-bw, 2px) solid var(--pdh-thumb-bc, transparent);
  padding: 0;
  margin: 0;
  background: #ffffff;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.pdh-thumb-btn:hover {
  transform: scale(1.04);
}

.pdh-thumb-btn:focus-visible {
  outline: 3px solid var(--pdh-halo-color, #e0b870);
  outline-offset: 2px;
}

.pdh-thumb-btn.is-active {
  border-color: var(--pdh-thumb-bc-active, #e0b870);
  box-shadow: 0 4px 14px rgba(224, 184, 112, 0.35);
}

.pdh-thumb-btn img,
.pdh-thumb-btn svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Responsive / Mobile Layout */
@media screen and (max-width: 989px) {
  .pdh-main-grid {
    flex-direction: column;
    gap: 24px;
  }
  .pdh-image-col {
    width: 100%;
    flex: none;
  }
  .pdh-content-col {
    width: 100%;
    flex-direction: column;
    gap: 20px;
  }
  .pdh-card-container {
    width: 100%;
  }
  .pdh-thumbs-wrap {
    flex-direction: row;
    justify-content: center;
    width: 100%;
    gap: 12px;
  }
  .pdh-thumb-btn {
    width: var(--pdh-thumb-m, 60px);
    height: var(--pdh-thumb-m, 60px);
  }
  .pdh-card-item {
    padding: var(--pdh-card-pad-m, 22px);
  }
  .pdh-card-item--compact {
    padding: 16px;
  }
  .pdh-card-title {
    font-size: var(--pdh-title-fs-m, 22px);
  }
  .pdh-card-desc {
    font-size: var(--pdh-desc-fs-m, 12px);
  }

  /* On mobile, completely hide the floating pop-up card (only show desktop) */
  .pdh-popup-card {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pdh-hotspot-pin .pdh-pin-halo {
    animation: none;
  }

  .pdh-hotspot-pin,
  .pdh-pin-core,
  .pdh-pin-center,
  .pdh-popup-card,
  .pdh-card-item,
  .pdh-thumb-btn,
  .pdh-atc-btn {
    transition-duration: 0.01ms;
  }

  .pdh-hotspot-pin:hover,
  .pdh-hotspot-pin:focus-visible,
  .pdh-thumb-btn:hover,
  .pdh-atc-btn:hover {
    transform: none;
  }
}
/* sections/product-specification.liquid */

  .product-info-section {
    width: 100%;
  }

  .product-info-container {
    width: 100%;
  }

  .section-title {
    margin-bottom: 30px;
  }

  /* Product Image Column */
  .product-image-column {
    margin-bottom: 40px;
  }

  .image-column-wrapper {
    display: flex;
    gap: var(--column-gap-image_desktop);
    flex-wrap: nowrap;
  }

  .image-item {
    flex: 1;
    background: #f8f4f1;
    background-image:
      linear-gradient(#efe7e0 1px, transparent 1px),
      linear-gradient(90deg, #efe7e0 1px, transparent 1px);
    background-size: 20px 20px;
    border-radius: 8px;
    overflow: hidden;
    padding: var(--image-column-padding_desktop);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* Same square crop for every photo, so mixed source sizes still line up. */
  .image-item img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 1.2rem;
    display: block;
  }

  .image-item .placeholder-svg {
    width: 100%;
    height: auto;
  }

  /* Product Description Column */
  .product-desc-column {
    margin-bottom: 40px;
  }
  
  .desc-column-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--column-gap-description-desktop);
    align-items: stretch;
    width: 100%;
  }

  .desc-item {
    display: grid;
    grid-template-columns: minmax(0, var(--desc-label-width, 35%)) minmax(0, 1fr);
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    padding: var(--desc-column-padding-vertical-desktop) var(--desc-column-padding-horizontal-desktop);
    background: var(--desc-item-bg);
    border-radius: var(--desc-item-radius);
  }

  .desc-title,
  .desc-text {
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .desc-title {
    font-weight: 600;
  }

  .desc-title,
  .desc-text,
  .desc-text p {
    font-size: var(--desc-font-size-desktop);
    line-height: 1.4;
    margin: 0;
  }

  /* Mobile Responsiveness */
  @media screen and (max-width: 768px) {
    .image-column-wrapper {
      flex-direction: column;
      align-items: center; 
      gap: var(--column-gap-image_mobile);
    }

    .desc-column-wrapper {
      grid-template-columns: 1fr;
      gap: var(--column-gap-description-mobile);
    }

    .desc-item {
      grid-template-columns: minmax(0, var(--desc-label-width, 35%)) minmax(0, 1fr);
      padding: var(--desc-column-padding-vertical-mobile) var(--desc-column-padding-horizontal-mobile);
    }

    .desc-title,
    .desc-text,
    .desc-text p {
      font-size: var(--desc-font-size-mobile);
      line-height: 1.4;
    }
  }

  .nvgd-product-spec {
    padding: var(--nvgd-spec-pad-y) var(--nvgd-spec-pad-x);
  }

  .product-info-section {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .product-info-container {
    width: 100%;
    margin: 0 auto;
    max-width: var(--nvgd-spec-max-width);
  }

  @media screen and (max-width: 749px) {
    .nvgd-product-spec {
      padding: var(--nvgd-spec-pad-y-m, var(--nvgd-spec-pad-y)) var(--nvgd-spec-pad-x-m, var(--nvgd-spec-pad-x));
    }
  }
/* sections/review-section-custom.liquid */

  .nvgd-reviews {
    width: 100%;
    padding: var(--rsc-pad);
    color: #111111;
  }

  .nvgd-reviews__inner {
    display: flex;
    flex-direction: column;
    gap: var(--rsc-gap, 64px);
    width: 100%;
    max-width: var(--rsc-max);
    margin: 0 auto;
  }

  .nvgd-reviews__title {
    margin: 0;
    font-family: var(--font-body-family);
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    color: #111111;
  }

  .nvgd-reviews__tabs { display: flex; justify-content: center; gap: 8px; margin-top: -32px; }
  .nvgd-reviews__tab { padding: 8px 16px; border-radius: 4px; color: var(--rsc-accent); font-size: 13px; font-weight: 600; }
  .nvgd-reviews__tab--active { background: var(--rsc-accent); color: #ffffff; }
  .nvgd-reviews__tab-count { font-weight: 400; }

  .nvgd-reviews__dashboard {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
    align-items: center;
    gap: 48px;
    padding: 32px;
    border-radius: 20px;
    background: #faf9f9;
  }

  .nvgd-reviews__dashboard::before {
    content: '';
    grid-column: 2;
    grid-row: 1;
    width: 1px;
    height: 100px;
    background: #e5e5e5;
  }

  .nvgd-reviews__score { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
  .nvgd-reviews__score-value { margin: 0; font-family: var(--font-body-family); font-size: 48px; font-weight: 800; line-height: 1.2; }
  .nvgd-reviews__score-count { margin: 0; font-size: 14px; color: #737373; }

  .nvgd-reviews__stars { display: flex; gap: 4px; }
  .nvgd-reviews__star { width: 16px; height: 16px; fill: none; stroke: var(--rsc-accent); stroke-width: 2; stroke-linejoin: round; }
  .nvgd-reviews__stars--large .nvgd-reviews__star { width: 20px; height: 20px; }
  .nvgd-reviews__star--empty { stroke: #d4d4d4; }

  .nvgd-reviews__bars { grid-column: 3; grid-row: 1; display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; min-width: 0; }
  .nvgd-reviews__bar-row { display: flex; align-items: center; gap: 12px; font-size: 12px; color: #737373; }
  .nvgd-reviews__bar-label { flex: 0 0 50px; font-weight: 500; }
  .nvgd-reviews__bar-count { flex: 0 0 50px; }
  .nvgd-reviews__bar-track { flex: 1 1 auto; height: 8px; overflow: hidden; border-radius: 4px; background: #e5e5e5; }
  .nvgd-reviews__bar-fill { display: block; height: 100%; border-radius: 4px; background: var(--rsc-accent); }

  .nvgd-reviews__sort { position: absolute; top: 16px; right: 16px; padding: 6px 14px; border: 1px solid #e5e5e5; border-radius: 999px; font-size: 13px; }

  .nvgd-reviews__photos-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 16px; }
  .nvgd-reviews__photos-title { margin: 0; font-family: var(--font-body-family); font-size: 18px; font-weight: 700; }
  .nvgd-reviews__photos-link { color: inherit; font-size: 14px; }
  .nvgd-reviews__photos-grid { display: flex; gap: 12px; margin: 0; padding: 0; overflow-x: auto; list-style: none; }
  .nvgd-reviews__photos-grid img { display: block; width: 120px; height: 120px; object-fit: cover; border-radius: 8px; }

  .nvgd-reviews__list { display: flex; flex-direction: column; gap: 32px; }

  .nvgd-reviews__card {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    align-items: start;
    gap: 40px;
    padding: 32px;
    border: 1px solid #e5e5e5;
    border-radius: 20px;
    background: #ffffff;
  }

  .nvgd-reviews__card--media { grid-template-columns: 200px minmax(0, 1fr) 120px; }

  .nvgd-reviews__author { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
  .nvgd-reviews__profile { display: flex; align-items: center; gap: 12px; min-width: 0; }

  .nvgd-reviews__avatar {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--avatar-bg, #e3d2de);
    color: #111111;
    font-size: 16px;
    font-weight: 700;
    object-fit: cover;
  }

  .nvgd-reviews__profile-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  .nvgd-reviews__name { margin: 0; font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
  .nvgd-reviews__verified { display: flex; align-items: center; gap: 4px; margin: 0; color: #15803d; font-size: 11px; font-weight: 600; }

  .nvgd-reviews__details { margin: 0; font-size: 12px; color: #737373; }
  .nvgd-reviews__details div + div { margin-top: 2px; }
  .nvgd-reviews__details dt { display: inline; font-weight: 700; color: #111111; }
  .nvgd-reviews__details dd { display: inline; margin: 0; }
  .nvgd-reviews__product { margin: 0; font-size: 12px; color: var(--rsc-accent); }

  .nvgd-reviews__content { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
  .nvgd-reviews__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .nvgd-reviews__date { margin: 0; font-size: 12px; color: #737373; white-space: nowrap; }

  .nvgd-reviews__review-title {
    margin: 0;
    font-family: var(--font-body-family);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #111111;
    overflow-wrap: anywhere;
  }

  .nvgd-reviews__text { margin: 0; font-size: 14px; line-height: 1.5; color: #737373; overflow-wrap: anywhere; }

  .nvgd-reviews .nvgd-reviews__text--clamped {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .nvgd-reviews__more {
    align-self: flex-start;
    margin-top: -8px;
    padding: 0;
    border: 0;
    background: none;
    color: #111111;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
  }

  .nvgd-reviews__reply { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 8px; background: #fffbeb; }
  .nvgd-reviews__reply-name { display: flex; align-items: center; gap: 8px; margin: 0; color: #b45309; font-size: 12px; font-weight: 700; }
  .nvgd-reviews__reply-dot { width: 8px; height: 8px; border-radius: 50%; background: #eaa013; }
  .nvgd-reviews__reply-logo { width: 16px; height: 16px; border-radius: 50%; object-fit: cover; }
  .nvgd-reviews__reply-text { margin: 0; color: #111111; font-size: 13px; line-height: 1.5; }

  .nvgd-reviews__helpful { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin: 0; font-size: 12px; color: #737373; }
  .nvgd-reviews__helpful-count { display: inline-flex; align-items: center; gap: 4px; }
  .nvgd-reviews__helpful-count--down svg { transform: scaleY(-1); }

  .nvgd-reviews__attachment img { display: block; width: 120px; height: 120px; object-fit: cover; border-radius: 8px; }

  @media (max-width: 989px) {
    .nvgd-reviews__card,
    .nvgd-reviews__card--media { grid-template-columns: 160px minmax(0, 1fr); gap: 24px; }
    .nvgd-reviews__card--media .nvgd-reviews__attachment { grid-column: 2; }
  }

  @media (max-width: 749px) {
    .nvgd-reviews { padding: var(--rsc-pad-m); }
    .nvgd-reviews__inner { gap: min(32px, var(--rsc-gap, 64px)); }
    /* Phones (Figma 304:3618): centred score over a 1px rule, desktop-sized title, score, cards and photos. */
    .nvgd-reviews__dashboard { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .nvgd-reviews__dashboard::before { grid-column: 1; grid-row: 2; width: 100%; height: 1px; }
    .nvgd-reviews__score { align-items: center; text-align: center; }
    .nvgd-reviews__bars { grid-column: 1; grid-row: 3; }
    .nvgd-reviews__sort { position: static; justify-self: start; }
    .nvgd-reviews__card,
    .nvgd-reviews__card--media { grid-template-columns: minmax(0, 1fr); }
    .nvgd-reviews__card--media .nvgd-reviews__attachment { grid-column: 1; }
  }
/* sections/split.liquid */

  .nvgd-overflow__card {
    position: relative;
    display: grid;
    grid-template-columns: var(--overflow-media, 40%) minmax(0, 1fr);
    align-items: center;
    min-height: var(--overflow-height, 460px);
    border-radius: var(--editorial-radius, 24px);
    background: var(--overflow-panel, #1b1c1c);
  }

  .nvgd-overflow__card--image-right { grid-template-columns: minmax(0, 1fr) var(--overflow-media, 40%); }
  .nvgd-overflow__card--image-right .nvgd-overflow__media { order: 2; }

  .nvgd-overflow__media {
    position: relative;
    align-self: stretch;
    min-width: 0;
  }

  .nvgd-overflow__media img,
  .nvgd-overflow__media svg {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: auto;
    max-width: none;
    height: calc(100% + var(--overflow-lift, 64px));
    transform: translateX(-50%);
    object-fit: contain;
    object-position: center bottom;
  }

  .nvgd-overflow__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    min-width: 0;
    padding: 64px 64px 64px 32px;
  }

  .nvgd-overflow__card--image-right .nvgd-overflow__content { padding: 64px 32px 64px 64px; }

  .nvgd-overflow__eyebrow {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .nvgd-overflow__heading {
    max-width: 22ch;
    margin: 0;
    font-family: var(--font-heading-family);
    font-size: var(--editorial-heading-size, 36px);
    font-weight: 400;
    line-height: 1.25;
    color: inherit;
    overflow-wrap: anywhere;
  }

  .nvgd-overflow__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin-top: 8px;
    padding: 12px 32px;
    border-radius: 2px;
    background: var(--overflow-button-bg, #f4d797);
    color: var(--overflow-button-ink, #1b1c1c);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: filter 0.2s ease;
  }

  .nvgd-overflow__button:hover { filter: brightness(0.95); }

  @media (max-width: 749px) {
    /* The lifted product image is wider than a phone; clip only its transparent sides. */
    .nvgd-overflow { overflow-x: clip; }
    .nvgd-overflow__card,
    .nvgd-overflow__card--image-right { grid-template-columns: minmax(0, 1fr); min-height: 0; margin-top: var(--overflow-lift, 64px); }
    .nvgd-overflow__card--image-right .nvgd-overflow__media { order: 0; }
    .nvgd-overflow__media { aspect-ratio: 1; margin-top: calc(var(--overflow-lift, 64px) * -1); }
    .nvgd-overflow__media img,
    .nvgd-overflow__media svg { height: calc(100% + var(--overflow-lift, 64px)); }
    .nvgd-overflow__content,
    .nvgd-overflow__card--image-right .nvgd-overflow__content { padding: 8px 24px 32px; gap: 16px; }
    .nvgd-overflow__heading { font-size: var(--editorial-heading-mobile, 26px); }
  }
/* sections/subscription-banner.liquid */

  .nvgd-subscribe__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--subscribe-media, 36%);
    align-content: center;
    align-items: center;
    gap: 32px 48px;
    min-height: 420px;
  }

  .nvgd-subscribe__copy,
  .nvgd-subscribe__perks,
  .nvgd-subscribe__button { grid-column: 1; }

  .nvgd-subscribe__button { justify-self: start; }

  .nvgd-subscribe__eyebrow {
    margin: 0 0 16px;
    font-size: 14px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--editorial-muted);
  }

  .nvgd-subscribe__heading {
    margin: 0;
    font-family: var(--font-heading-family);
    font-size: var(--editorial-heading-size, 48px);
    font-weight: 400;
    line-height: 1.1;
    color: inherit;
    overflow-wrap: anywhere;
  }

  .nvgd-subscribe__text {
    margin-top: 16px;
    max-width: 52ch;
    font-size: 16px;
    line-height: 1.6;
    color: var(--editorial-muted);
  }

  .nvgd-subscribe__perks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--editorial-gap, 12px);
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .nvgd-subscribe__perk {
    display: flex;
    align-items: center;
    min-height: 68px;
    padding: 16px 20px;
    border: 1px solid var(--subscribe-card-border, #1b1c1c);
    border-radius: var(--editorial-radius, 0);
    background: var(--subscribe-card-bg, #ffffff);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    overflow-wrap: anywhere;
  }

  .nvgd-subscribe__button {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 32px;
    background: var(--editorial-ink);
    color: var(--editorial-bg);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
  }

  .nvgd-subscribe__media {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: stretch;
    min-height: 320px;
  }

  .nvgd-subscribe__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 520px;
    object-fit: contain;
    object-position: center;
  }

  @media (max-width: 749px) {
    .nvgd-subscribe__inner { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 24px; }
    .nvgd-subscribe__media { grid-column: 1; grid-row: 1; min-height: 0; aspect-ratio: 4 / 3; }
    .nvgd-subscribe__media img { max-height: none; }
    .nvgd-subscribe__heading { font-size: var(--editorial-heading-mobile, 32px); }
    .nvgd-subscribe__perks { grid-template-columns: minmax(0, 1fr); max-width: 100%; }
    .nvgd-subscribe__perk { min-height: 56px; }
  }
/* sections/testimonial-slider.liquid */

/* moved from inline style block for bundling */

/* --- Base Variables & Layout --- */
.nvgd-testimonial {
  background-color: var(--ts-bg);
  padding: var(--ts-pad-top) var(--ts-pad-right) var(--ts-pad-bottom) var(--ts-pad-left);
  overflow: hidden;
  overflow-x: clip;
}

@media screen and (min-width: 769px) {
  .nvgd-testimonial {
    box-sizing: border-box;
    min-height: var(--ts-min-h, 0);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .nvgd-ts-container {
    width: 100%;
  }
}

.nvgd-ts-container {
  max-width: var(--ts-container-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 24px;
}

.nvgd-ts--reverse {
  flex-direction: row-reverse;
}

/* --- Text Content Side --- */
.nvgd-testimonial .nvgd-ts-content {
  flex: 0 1 auto;
  max-width: 32%;
  min-width: 260px;
}

.nvgd-ts-stars {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.nvgd-ts-star-icon {
  width: 14px;
  height: 14px;
  fill: var(--ts-star-color);
}

.nvgd-testimonial .nvgd-ts-reviews-text {
  font-family: var(--font-accent--family);
  font-size: var(--ts-reviews-size);
  font-weight: var(--ts-reviews-weight);
  color: var(--ts-heading-color);
  margin-left: 16px;
}

.nvgd-testimonial .nvgd-ts-heading {
  font-size: clamp(var(--ts-heading-size-m), 5vw, var(--ts-heading-size));
  font-weight: var(--ts-heading-weight);
  font-style: var(--ts-heading-style);
  line-height: 1.1;
  color: var(--ts-heading-color);
  margin: 0 0 24px;
}
/* Tablets and up never take the larger phone size: the lower bound stops at 38px (5vw at 769px). */
@media screen and (min-width: 769px) {
  .nvgd-testimonial .nvgd-ts-heading {
    font-size: clamp(min(var(--ts-heading-size-m), 38px), 5vw, var(--ts-heading-size));
  }
}
.nvgd-testimonial .nvgd-ts-heading:last-child {
  margin-bottom: 0;
}

.nvgd-testimonial .nvgd-ts-heading--custom {
  font-family: var(--ts-heading-font);
  letter-spacing: var(--ts-heading-ls, normal);
  line-height: var(--ts-heading-lh, 1.1);
  text-transform: var(--ts-heading-case, none);
  text-wrap: var(--ts-heading-wrap, pretty);
}

.nvgd-ts-button {
  display: inline-block;
  background-color: var(--ts-btn-bg);
  color: var(--ts-btn-text);
  padding: 14px 32px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.nvgd-ts-button:hover {
  transform: scale(1.03);
  opacity: 0.9;
}

/* --- Carousel Wrapper --- */
.nvgd-ts-slider-wrapper {
  --ts-visible: var(--ts-visible-d);
  --ts-gap: var(--ts-gap-d);
  --ts-slide-width: calc((100cqw - (var(--ts-gap) * (var(--ts-visible) - 1))) / var(--ts-visible));
  flex: 1;
  display: flex;
  align-items: center;
  gap: 24px;
  min-width: 0;
  position: relative;
}

/* Navigation Arrows */
.nvgd-ts-arrow {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  z-index: 2;
  padding: 0;
}
.nvgd-ts-arrow:hover {
  background-color: #f7f7f7;
  transform: scale(1.06);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.nvgd-ts-arrow-icon {
  width: 24px;
  height: 24px;
  fill: #333333;
  pointer-events: none;
}

/* Track Window */
.nvgd-ts-track-window {
  flex: 1;
  overflow: hidden;
  padding: 12px 0 24px;
  margin: -12px 0 -24px;
  min-width: 0;
  container-type: inline-size;
}

/* Moving Strip */
.nvgd-ts-track {
  display: flex;
  gap: var(--ts-gap);
  will-change: transform;
  width: max-content;
}

/* Individual Slide (3 equal-sized items visible on desktop) */
.nvgd-ts-slide {
  flex: 0 0 var(--ts-slide-width);
  width: var(--ts-slide-width);
  max-width: var(--ts-slide-width);
  min-width: 0;
  box-sizing: border-box;
  user-select: none;
}

/* Video Thumbnail Box */
.nvgd-ts-video-box {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  border: 0;
  padding: 0;
  overflow: hidden;
  background: #dcd8d3;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  color: inherit;
  cursor: default;
  font: inherit;
  text-align: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}
.nvgd-ts-video-box[data-video-url] {
  cursor: pointer;
}
.nvgd-ts-video-box[data-video-url]:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
.nvgd-ts-video-box[data-video-url]:focus-visible {
  outline: 3px solid var(--ts-star-color);
  outline-offset: 3px;
}

.nvgd-ts-video-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.nvgd-ts-video-box[data-video-url]:hover .nvgd-ts-video-img {
  transform: scale(1.05);
}

.nvgd-ts-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #d1cfcb;
}

.nvgd-ts-placeholder svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Play Button */
.nvgd-ts-play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  background: rgba(0, 0, 0, 0.38);
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: transform 0.2s ease, background-color 0.2s ease;
  pointer-events: none;
}
.nvgd-ts-video-box[data-video-url]:hover .nvgd-ts-play-btn {
  transform: translate(-50%, -50%) scale(1.08);
  background: rgba(0, 0, 0, 0.55);
}
.nvgd-ts-play-icon {
  width: 20px;
  height: 20px;
  fill: #ffffff;
  margin-left: 2px;
}

/* Overlay Text */
.nvgd-ts-overlay-text {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  text-align: center;
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

/* Title Below Card */
.nvgd-testimonial .nvgd-ts-slide-title {
  text-align: left;
  margin-top: 16px;
  font-family: var(--font-accent--family);
  font-weight: 600;
  font-size: 15px;
  color: var(--ts-heading-color);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* --- Responsive --- */
@media screen and (max-width: 1024px) {
  .nvgd-ts-slider-wrapper {
    --ts-visible: 2;
  }
}

@media screen and (max-width: 768px) {
  .nvgd-testimonial {
    padding: var(--ts-pad-m-top) var(--ts-pad-m-right) var(--ts-pad-m-bottom) var(--ts-pad-m-left);
  }
  .nvgd-ts-container {
    flex-direction: column;
    gap: var(--ts-gap-m, 32px);
  }
  .nvgd-testimonial .nvgd-ts-content {
    flex: 0 0 100%;
    max-width: 100%;
    text-align: center;
  }
  .nvgd-ts-stars {
    justify-content: center;
  }
  .nvgd-ts-slider-wrapper {
    width: 100%;
    --ts-visible: 1.2;
    padding: 0;
  }
  .nvgd-ts-arrow {
    display: none;
  }
}
/* sections/two-column-banner.liquid */

/* moved from inline style block for bundling */
.two-column-banner {
  padding: var(--tcb-pad-top) 0 var(--tcb-pad-bottom);
}

.two-column-banner__container {
  width: 100%;
}

/* Banner Image Styles */
.two-column-banner__banner {
  width: 100%;
  margin-bottom: var(--tcb-banner-spacing);
  overflow: hidden;
  border-radius: var(--tcb-banner-radius);
}

.two-column-banner__banner-image {
  width: 100%;
  height: auto;
  display: block;
}

/* Column Grid Styles */
.two-column-banner__grid {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--tcb-gap);
}

.two-column-banner__column {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}

.two-column-banner__content {
  height: 100%;
}

.two-column-banner__content--positioned {
  transform: translate(var(--column-offset-x), var(--column-offset-y));
}

/* Image Styles */
.two-column-banner .column-image-wrapper {
  width: 100%;
  overflow: hidden;
}

.two-column-banner .column-image-wrapper--full {
  aspect-ratio: auto;
}

.two-column-banner .column-image-wrapper--square {
  aspect-ratio: 1 / 1;
}

.two-column-banner .column-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Text Content Styles */
.two-column-banner .column-text__item {
  margin-bottom: var(--tcb-text-spacing);
}

.two-column-banner .column-text__item:last-child {
  margin-bottom: 0;
}

.two-column-banner .column-text__heading {
  margin-bottom: var(--tcb-heading-spacing);
}

.two-column-banner .column-text__text {
  line-height: 1.6;
}

.two-column-banner .column-text__divider {
  display: block !important;
}

/* Per-block text layout (was a style block in the block loop) */
.two-column-banner__text .column-text__item {
  display: flex;
  flex-direction: column;
}

.two-column-banner__text--horizontal .column-text__item {
  flex-direction: row;
  gap: var(--tcb-text-gap, 20px);
  align-items: flex-start;
}

.two-column-banner__text--horizontal .column-text__item .column-text__heading {
  flex: 0 0 50%;
  max-width: 50%;
  margin: 0 !important;
}

.two-column-banner__text--horizontal .column-text__item .column-text__text {
  flex: 0 0 50%;
  max-width: 50%;
}

.two-column-banner__text .column-text__item .column-text__text {
  flex: 1;
}

/* Responsive */
@media (max-width: 768px) {
  .two-column-banner__banner {
    border-radius: var(--tcb-banner-radius-mobile);
  }

  .two-column-banner__grid {
    flex-direction: column;
  }

  .two-column-banner__column {
    width: 100% !important;
  }

  .two-column-banner__content--positioned {
    transform: translate(var(--column-offset-x-mobile), var(--column-offset-y-mobile));
  }

  .two-column-banner .column-image-wrapper {
    width: var(--tcb-img-w-mobile) !important;
  }

  .two-column-banner__text .column-text__item {
    flex-direction: column !important;
    gap: 0 !important;
  }

  .two-column-banner__text .column-text__item .column-text__heading {
    margin-bottom: var(--tcb-heading-spacing) !important;
  }

  .two-column-banner__text .column-text__heading {
    font-size: var(--tcb-heading-size-mobile) !important;
  }

  .two-column-banner__text .column-text__text {
    font-size: var(--tcb-text-size-mobile) !important;
  }

  /* Mobile column ordering */
  .two-column-banner--reverse-order .two-column-banner__column:nth-child(1) {
    order: 2;
  }

  .two-column-banner--reverse-order .two-column-banner__column:nth-child(2) {
    order: 1;
  }
}
/* sections/two-column-bg.liquid */

/* Static CSS moved from the per-instance inline style block. Setting-driven
   values are read from custom properties declared on the section root; the
   --bg-color / --bg-image modifier classes are chosen in Liquid. */
.two-column-bg-section {
  margin-top: var(--tcbg-margin-top);
  padding: var(--tcbg-pad);
  position: relative;
}

.two-column-bg-section--bg-color {
  background-color: var(--tcbg-bg-color);
}

.two-column-bg-section--bg-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: var(--tcbg-bg-image);
  background-size: var(--tcbg-bg-size);
  background-position: center;
  background-repeat: no-repeat;
  transform: scaleX(var(--tcbg-flip-x, 1)) scaleY(var(--tcbg-flip-y, 1));
  z-index: 0;
}

.two-column-bg-section__column--transformed {
  transform: translate(var(--column-offset-x), var(--column-offset-y));
}
@media (max-width: 768px) {
  .two-column-bg-section__column--transformed {
    transform: translate(var(--column-offset-x-mobile), var(--column-offset-y-mobile));
  }
}

.two-column-bg-section__content--positioned {
  transform: translate(var(--column-offset-x), var(--column-offset-y));
}
@media (max-width: 768px) {
  .two-column-bg-section__content--positioned {
    transform: translate(var(--column-offset-x-mobile), var(--column-offset-y-mobile));
  }
}

/* Image Styles */
.two-column-bg-section .column-bg-image-wrapper {
  width: 100%;
  overflow: hidden;
}

.two-column-bg-section .column-bg-image-wrapper--full {
  aspect-ratio: auto;
}

.two-column-bg-section .column-bg-image-wrapper--square {
  aspect-ratio: 1 / 1;
}

.two-column-bg-section .column-bg-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Text Content Styles */
.two-column-bg-section .column-bg-text__item {
  margin-bottom: var(--tcbg-text-spacing);
}

.two-column-bg-section .column-bg-text__heading {
  margin-bottom: var(--tcbg-heading-spacing);
}

.two-column-bg-section .column-bg-text__text {
  line-height: 1.6;
}

.two-column-bg-section .column-bg-text__divider {
  display: block !important;
}

/* Responsive */
@media (max-width: 768px) {
  .two-column-bg-section {
    margin-top: 0;
    padding: var(--tcbg-pad-m) !important;
  }

  .two-column-bg-section--bg-image-m::before {
    background-image: var(--tcbg-bg-image-m, var(--tcbg-bg-image, none)) !important;
    background-size: var(--tcbg-bg-size-m) !important;
  }

  .two-column-bg-section__grid {
    flex-direction: column;
  }

  /* Mobile column ordering (modifier class chosen in Liquid) */
  .two-column-bg-section--reverse .two-column-bg-section__column:nth-child(1) {
    order: 2;
  }
  .two-column-bg-section--reverse .two-column-bg-section__column:nth-child(2) {
    order: 1;
  }
}

/* Per-column mobile width (custom property set on each column root) */
@media (max-width: 768px) {
  .two-column-bg-section__column {
    width: var(--column-width-mobile) !important;
  }
}

/* Per-block mobile inner padding and background size (custom properties set
   on each column-inner root) */
@media (max-width: 768px) {
  .two-column-bg-section__column-inner {
    padding: var(--column-pad-m, 0px) !important;
    background-size: var(--column-bg-size-m, auto) !important;
  }
}

/* Per-block mobile image wrapper width (custom property on each wrapper) */
@media (max-width: 768px) {
  .two-column-bg-section .column-bg-image-wrapper {
    width: var(--image-width-m, 100%) !important;
  }
}

/* Per-block mobile font sizes (custom properties set on each content root) */
@media (max-width: 768px) {
  .two-column-bg-section__content .column-bg-text__heading {
    font-size: var(--column-heading-size-m) !important;
  }
  .two-column-bg-section__content .column-bg-text__text {
    font-size: var(--column-text-size-m) !important;
  }
}
/* sections/two-column-grid.liquid */

/* moved from inline <style> blocks for bundling */
.two-col-grid {
  position: relative;
  background-color: var(--two-col-grid-bg-color, transparent);
  min-height: 400px;
}

.two-col-grid__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.two-col-grid__bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.two-col-grid__container {
  position: relative;
  padding: var(--two-col-grid-pad);
  z-index: 1;
}

.two-col-grid__mobile-bg {
  display: none;
}

/* Main Wrapper - 2 Columns */
.two-col-grid__main {
  display: grid;
  grid-template-columns: var(--two-col-grid-cols);
  gap: var(--two-col-grid-main-gap);
  min-height: 400px;
}

/* Left Column - Single Large Cell */
.two-col-grid__left {
  position: relative;
  min-height: 300px;
}

/* Right Column - 3x3 Grid (9 cells) */
.two-col-grid__right {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--two-col-grid-right-gap);
  align-content: start;
}

.two-col-grid__cell {
  position: relative;
  min-height: 100px;
}

.two-col-grid__cell--empty {
  background-color: transparent;
}

.two-col-grid__cell-inner {
  height: 100%;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.two-col-grid__cell-inner--wrapped {
  display: block;
  height: 100%;
  width: 100%;
}

.two-col-grid__content {
  height: 100%;
  position: relative;
  z-index: 2;
}

/* Image Styles */
.two-col-grid .cell-image-wrapper {
  width: 100%;
  overflow: hidden;
}

.two-col-grid .cell-image-wrapper--full {
  aspect-ratio: auto;
}

.two-col-grid .cell-image-wrapper--square {
  aspect-ratio: 1 / 1;
}

.two-col-grid .cell-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Text Content Styles */
.two-col-grid .cell-text__item {
  margin-bottom: var(--two-col-grid-text-space);
}

.two-col-grid .cell-text__item:last-child {
  margin-bottom: 0;
}

.two-col-grid .cell-text__icon {
  flex-shrink: 0;
  margin-bottom: 12px;
}

.two-col-grid .cell-text__icon img,
.two-col-grid .cell-text__icon svg {
  display: block;
  object-fit: contain;
}

.two-col-grid .cell-text__heading {
  margin-bottom: var(--two-col-grid-head-space);
}

.two-col-grid .cell-text__text {
  line-height: 1.6;
}

/* Title Content Styles */
.two-col-grid .cell-title {
  width: 100%;
}

.two-col-grid .cell-title__heading {
  margin: 0;
  line-height: 1.2;
}

/* Section Width Classes */
.two-column-grid--section-page {
  max-width: var(--page-width);
  margin: 0 auto;
}

.two-column-grid--section-full {
  width: 100%;
}

.two-column-grid--bg-full .two-col-grid__bg {
  left: 0;
  width: 100%;
}

.two-column-grid--bg-page .two-col-grid__bg {
  left: 50%;
  transform: translateX(-50%);
  max-width: var(--page-width);
  width: 100%;
}

.two-column-grid--content-page .two-col-grid__container {
  max-width: var(--page-width);
  margin: 0 auto;
  padding-left: var(--page-padding, 20px);
  padding-right: var(--page-padding, 20px);
}

.two-column-grid--content-full .two-col-grid__container {
  width: 100%;
}

/* Per-block transforms (values set inline per block root) */
.two-col-grid__cell--t {
  transform: var(--two-col-grid-cell-tf);
}

/* Per-block icon size */
.two-col-grid .two-col-grid__icon {
  width: var(--two-col-grid-icon-size);
  height: var(--two-col-grid-icon-size);
}

/* Mobile Styles */
@media (max-width: 989px) {
  .two-col-grid__container {
    padding: var(--two-col-grid-pad-m);
  }

  .two-col-grid__main {
    display: flex;
    flex-direction: column;
    gap: 32px;
    min-height: auto;
  }

  .two-col-grid__left {
    order: 1;
    min-height: auto;
  }

  .two-col-grid__right {
    order: 2;
  }

  .two-col-grid__cell {
    min-height: auto;
  }

  .two-col-grid__cell--t {
    transform: var(--two-col-grid-cell-tf-m) !important;
  }

  .two-col-grid__cell-inner {
    padding: var(--two-col-grid-ci-pad-m) !important;
    background-size: var(--two-col-grid-ci-bs-m, auto) !important;
  }

  .two-col-grid__img-wrap {
    width: var(--two-col-grid-img-w-m) !important;
  }

  .two-col-grid .two-col-grid__icon {
    width: var(--two-col-grid-icon-size-m) !important;
    height: var(--two-col-grid-icon-size-m) !important;
  }

  .two-col-grid__heading {
    font-size: var(--two-col-grid-h-size-m) !important;
  }

  .two-col-grid__text {
    font-size: var(--two-col-grid-t-size-m) !important;
  }

  .two-col-grid__title {
    font-size: var(--two-col-grid-title-size-m) !important;
    text-align: var(--two-col-grid-title-align-m) !important;
  }

  .two-col-grid__content--t {
    transform: var(--two-col-grid-content-tf-m) !important;
  }
}

@media (max-width: 768px) {
  .two-col-grid__bg {
    display: none;
  }

  .two-col-grid__mobile-bg {
    display: block;
    width: 100%;
    margin-top: 24px;
  }

  .two-col-grid__mobile-bg img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

  .two-col-grid__right {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .two-col-grid__right > .two-col-grid__cell:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .two-col-grid {
    position: static;
  }

  .two-col-grid__bg {
    display: none !important;
  }

  .two-col-grid__container {
    position: static;
  }
}

@media (max-width: 768px) {
  .two-col-grid {
    min-height: auto;
  }
}

@media (max-width: 768px) {
  .two-col-grid {
    position: static;
  }

  .two-col-grid__container {
    position: static;
    z-index: auto;
  }
}
/* sections/two-column.liquid */

/* Static CSS moved from the per-instance inline style block. Setting-driven
   values are read from custom properties declared on the section root. */
.column-section-v2 {
  padding: var(--tcol-pad);
}

.column-section-v2__container {
  width: 100%;
}

.column-section-v2__grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--tcol-gap);
}

.column-section-v2__column {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
}

.column-section-v2__content {
  height: 100%;
}

.column-section-v2__content--positioned {
  transform: translate(var(--column-offset-x), var(--column-offset-y));
}

/* Image Styles */
.column-section-v2 .column-image-wrapper {
  width: 100%;
  overflow: hidden;
}

.column-section-v2 .column-image-wrapper--full {
  aspect-ratio: auto;
}

.column-section-v2 .column-image-wrapper--square {
  aspect-ratio: 1 / 1;
}

.column-section-v2 .column-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Text Content Styles */
.column-section-v2 .column-text__item {
  margin-bottom: var(--tcol-text-spacing);
}

.column-section-v2 .column-text__item:last-child {
  margin-bottom: 0;
}

.column-section-v2 .column-text__heading {
  margin-bottom: var(--tcol-heading-spacing);
}

.column-section-v2 .column-text__text {
  line-height: 1.6;
}

.column-section-v2 .column-text__divider {
  display: block !important;
}

/* Responsive */
@media (max-width: 768px) {
  .column-section-v2 {
    padding: var(--tcol-pad-m);
  }

  .column-section-v2__grid {
    flex-direction: column;
  }

  .column-section-v2__column {
    width: 100% !important;
  }

  .column-section-v2__content--positioned {
    transform: translate(var(--column-offset-x-mobile), var(--column-offset-y-mobile));
  }
}

/* Mobile column ordering (modifier class chosen in Liquid) */
@media (max-width: 768px) {
  .column-section-v2--reverse .column-section-v2__column:nth-child(1) { order: 2; }
  .column-section-v2--reverse .column-section-v2__column:nth-child(2) { order: 1; }
}

/* Per-block mobile font sizes (custom properties set on each content root) */
@media (max-width: 768px) {
  .column-section-v2__content .column-text__heading {
    font-size: var(--column-heading-size-m) !important;
  }
  .column-section-v2__content .column-text__text {
    font-size: var(--column-text-size-m) !important;
  }
}
/* sections/upsell-section.liquid */

.upsell-section {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-top: var(--section-pt-desktop, 60px);
  padding-bottom: var(--section-pb-desktop, 60px);
  background-color: var(--section-bg-color, #f5f5f5);
  color: var(--section-text-color, #000000);
}

@media (max-width: 768px) {
  .upsell-section {
    padding-top: var(--section-pt-mobile, 40px);
    padding-bottom: var(--section-pb-mobile, 40px);
  }
}

.upsell-section--page-width .upsell-container {
  max-width: var(--page-width, 1200px);
  margin: 0 auto;
  padding: 0 20px;
}

.upsell-section--full-width .upsell-container {
  width: 100%;
  padding: 0 20px;
}

.upsell-title {
  text-align: center;
  margin: 0 0 var(--title-margin-bottom, 48px);
  font-size: var(--title-font-size-desktop, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--title-color, inherit);
}

@media (max-width: 768px) {
  .upsell-title {
    font-size: var(--title-font-size-mobile, 1.75rem);
    margin-bottom: var(--title-margin-bottom-mobile, 32px);
  }
}

.upsell-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

/* Grid layout for 3 or fewer items */
.upsell-grid {
  display: flex;
  gap: 24px;
  width: 100%;
  justify-content: center;
  flex-wrap: wrap;
}

.upsell-grid .upsell-product-card {
  width: 100%;
  max-width: 380px;
  flex: 0 0 auto;
}

@media (min-width: 769px) {
  .upsell-grid .upsell-product-card {
    width: calc(33.333% - 16px);
    max-width: 380px;
  }
}

@media (max-width: 768px) {
  .upsell-grid .upsell-product-card {
    width: 100%;
    max-width: 100%;
  }
}

/* Slider layout for more than 3 items */
.upsell-slider-wrapper {
  overflow: hidden;
  flex: 1;
  width: 100%;
}

.upsell-slider {
  display: flex;
  transition: transform 0.5s ease-in-out;
  gap: 24px;
}

@media (max-width: 768px) {
  .upsell-slider {
    transition: none;
    scroll-snap-type: x mandatory;
  }
}

.upsell-slider .upsell-product-card {
  min-width: calc(33.333% - 16px);
  max-width: 380px;
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  .upsell-slider .upsell-product-card {
    min-width: calc(50% - 12px);
    max-width: 380px;
  }
}

@media (max-width: 768px) {
  .upsell-slider .upsell-product-card {
    min-width: calc(100% - 40px);
    max-width: 100%;
    scroll-snap-align: start;
  }
}

/* Product Card */
.upsell-product-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.upsell-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.upsell-product-card__image-wrapper {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  background: #f9f9f9;
}

.upsell-product-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Sale Label */
.upsell-product-card__label {
  position: absolute;
  top: 12px;
  left: 12px;
  background-color: var(--label-bg-color, #991b1b);
  color: var(--label-text-color, #ffffff);
  padding: 6px 12px;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: 4px;
  z-index: 5;
  clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
  min-width: 60px;
  text-align: left;
}

.upsell-product-card__content {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.upsell-product-card__title {
  font-size: var(--product-title-font-size, 1.125rem);
  font-weight: 600;
  margin: 0 0 12px;
  line-height: 1.4;
  color: var(--product-title-color, inherit);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}

.upsell-product-card__price-wrapper {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.upsell-product-card__price {
  font-size: var(--product-price-font-size, 1.25rem);
  font-weight: 700;
  color: var(--product-price-color, inherit);
}

.upsell-product-card__compare-price {
  font-size: var(--product-compare-price-font-size, 1rem);
  color: #999;
  text-decoration: line-through;
}

.upsell-product-card__link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

/* Arrows */
.upsell-arrow {
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  z-index: 10;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.upsell-arrow--prev {
  left: -60px;
}

.upsell-arrow--next {
  right: -60px;
}

.upsell-section--full-width .upsell-arrow--prev {
  left: 10px;
}

.upsell-section--full-width .upsell-arrow--next {
  right: 10px;
}

.upsell-arrow:hover {
  background: rgba(0, 0, 0, 0.05);
  border-color: rgba(0, 0, 0, 0.2);
}

.upsell-arrow svg {
  color: rgba(0, 0, 0, 0.8);
}

.upsell-arrow--hidden {
  display: none;
}

@media (max-width: 768px) {
  .upsell-arrow {
    display: none;
  }

  .upsell-grid {
    grid-template-columns: 1fr;
  }

  .upsell-slider-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .upsell-slider-wrapper::-webkit-scrollbar {
    display: none;
  }
}

/* Empty state */
/* sections/video-modal-homepage.liquid */

  .nvgd-video-story__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
    min-height: 600px;
  }

  .nvgd-video-story__grid--media-left .nvgd-video-story__media { order: -1; }

  .nvgd-video-story__text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-width: 0;
    padding: 48px var(--story-inset, 128px);
  }

  .nvgd-video-story .nvgd-video-story__heading {
    margin: 0 0 32px;
    font-family: var(--story-heading-family, var(--font-heading-family));
    font-weight: var(--story-heading-weight, 400);
    font-size: var(--editorial-heading-size, 64px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: inherit;
    overflow-wrap: anywhere;
  }

  .nvgd-video-story__body {
    max-width: 400px;
    margin-bottom: 48px;
    font-size: 18px;
    line-height: 1.6;
    color: var(--editorial-muted);
  }

  .nvgd-video-story__body > :first-child { margin-top: 0; }
  .nvgd-video-story__body > :last-child { margin-bottom: 0; }

  .nvgd-video-story__play {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
  }

  .nvgd-video-story__play-icon {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    border: 1px solid currentColor;
    border-radius: 12px;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .nvgd-video-story__play:hover .nvgd-video-story__play-icon,
  .nvgd-video-story__play:focus-visible .nvgd-video-story__play-icon {
    background: var(--editorial-ink);
    color: var(--editorial-bg);
  }

  .nvgd-video-story__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 48px;
  }

  .nvgd-video-story__frame {
    width: 100%;
    max-width: var(--story-media-width, 512px);
    aspect-ratio: var(--story-ratio, 4 / 5);
    overflow: hidden;
    border-radius: var(--editorial-radius, 0);
    box-shadow: 0 10px 30px -15px rgb(0 0 0 / 0.1);
  }

  .nvgd-video-story__frame img,
  .nvgd-video-story__frame svg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (max-width: 989px) {
    .nvgd-video-story__text { padding-inline: 48px; }
  }

  @media (max-width: 749px) {
    .nvgd-video-story__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 32px; }
    .nvgd-video-story__grid--media-left .nvgd-video-story__media { order: 0; }
    .nvgd-video-story__text,
    .nvgd-video-story__media { padding: 0; }
    .nvgd-video-story .nvgd-video-story__heading { font-size: var(--editorial-heading-mobile, 40px); margin-bottom: 20px; }
    .nvgd-video-story__body { font-size: 16px; margin-bottom: 32px; }
    .nvgd-video-story__play { font-size: 14px; }
    .nvgd-video-story__play-icon { width: 52px; height: 52px; }
  }
/* sections/why-choose.liquid */

  /* moved from inline style block for bundling */
  /* --- Section Wrapper - spacing & width --- */
  .why-choose__section {
    width: 100%;
    box-sizing: border-box;
    background-color: var(--wc-bg);
    padding: var(--wc-pad-top) var(--wc-pad-x) var(--wc-pad-bottom) var(--wc-pad-x);
  }

  .why-choose--fixed {
    max-width: var(--wc-fixed-width);
    margin-left: auto;
    margin-right: auto;
  }

  .why-choose--global-spacing {
    padding: var(--wc-pad-v) var(--wc-pad-h);
  }

  /* --- Container - constrains the grid --- */
  .why-choose__container {
    width: 100%;
    margin: 0 auto;
    max-width: 100%;
  }

  .why-choose--global-spacing .why-choose__container {
    max-width: var(--page-width);
  }

  /* --- Desktop Layout (>= 990px) --- */
  /* Heading on the left, ALL feature groups in 1 horizontal row on the right (Image 2) */
  @media screen and (min-width: 990px) {
    .why-choose__grid {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important; /* NEVER wrap on desktop */
      align-items: var(--wc-align) !important;
      justify-content: space-between !important;
      gap: var(--wc-gap-desktop) !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

    /* Left Box (Heading): First child */
    .why-choose__grid > :first-child {
      flex: 0 0 var(--wc-heading-width) !important;
      max-width: var(--wc-heading-width) !important;
      width: var(--wc-heading-width) !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
      margin-right: var(--wc-grid-gap) !important;
    }

    /* Right Box items: All remaining children share the row equally */
    .why-choose__grid > :not(:first-child) {
      flex: 1 1 0 !important;
      min-width: 0 !important;
      width: auto !important;
      max-width: none !important;
      box-sizing: border-box !important;
    }

    .why-choose__grid .why-choose__group {
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }
  }

  /* --- Tablet Layout (750px - 989px) --- */
  @media screen and (min-width: 750px) and (max-width: 989px) {
    .why-choose__grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 24px !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

    .why-choose__grid > :first-child {
      grid-column: 1 / -1 !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-bottom: 8px !important;
    }

    .why-choose__grid > :not(:first-child) {
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    .why-choose__grid .why-choose__group {
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }
  }

  /* --- Mobile Layout (< 750px) --- */
  @media screen and (max-width: 749px) {
    .why-choose__section {
      padding: var(--wc-pad-top-m) var(--wc-pad-x-m) var(--wc-pad-bottom-m) var(--wc-pad-x-m);
    }

    .why-choose--global-spacing {
      padding: var(--wc-pad-v-m) var(--wc-pad-h-m);
    }

    .why-choose__grid {
      display: flex !important;
      flex-direction: column !important;
      gap: var(--wc-grid-gap-mobile) !important;
      width: 100% !important;
      box-sizing: border-box !important;
    }

    .why-choose__grid > :first-child {
      width: 100% !important;
      max-width: 100% !important;
    }

    .why-choose__grid > :not(:first-child) {
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    .why-choose__grid .why-choose__group {
      width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    /* Two feature columns: the heading spans both, features keep their own gap. */
    .why-choose--m2 .why-choose__grid {
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--wc-features-gap-m) !important;
    }

    .why-choose--m2 .why-choose__grid > :first-child {
      grid-column: 1 / -1;
      margin-bottom: calc(var(--wc-grid-gap-mobile) - var(--wc-features-gap-m));
    }
  }
/* blocks/press-card.liquid */

  .nvgd-press-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 180px;
    height: 100%;
    padding: 24px;
    border-radius: 16px;
    background: var(--press-card-bg, #f8f4f1);
    color: var(--press-card-ink, #000000);
  }

  .nvgd-press-card__text {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .nvgd-press-card__publication {
    margin: 0;
    font-family: var(--font-body-family);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
  }

  .nvgd-press-card__quote {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: var(--font-body-family);
    font-size: 18px;
    font-style: normal;
    line-height: 26px;
  }

  .nvgd-press-card__media {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    overflow: hidden;
    border-radius: 8px;
    background: #e1e1e4;
  }

  .nvgd-press-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .nvgd-press-card__link {
    position: absolute;
    inset: 0;
    border-radius: inherit;
  }

  .nvgd-press-card__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
  }

  @media (max-width: 749px) {
    .nvgd-press-card { min-height: 0; padding: 20px; }
    .nvgd-press-card__quote { font-size: 16px; line-height: 24px; }
  }
/* snippets/header-unified.liquid */

/* header-unified: static header CSS (moved from inline <style> blocks for bundling/caching) */
@media (max-width: 1024px) {
  /* Logo LEFT: natural size, no centering flex */
  .nvgd-mobile-logo--left .nvgd-header-container .nvgd-logo-link.nvgd-inline-element {
    flex: 0 1 auto !important;
    justify-content: flex-start !important;
    padding-left: 8px;
  }
  .nvgd-mobile-logo--left .nvgd-header-container .header__icons.nvgd-inline-element {
    margin-left: auto !important;
  }
  /* Logo CENTER: expand to fill space, center content */
  .nvgd-mobile-logo--center .nvgd-header-container .nvgd-logo-link.nvgd-inline-element {
    flex: 1 1 0% !important;
    justify-content: center !important;
  }
  /* Override Dawn base.css text-align: left on heading link */
  .nvgd-mobile-logo--left .header__heading-link,
  .nvgd-mobile-logo--left .header__heading {
    text-align: left !important;
  }
  .nvgd-mobile-logo--center .header__heading-link,
  .nvgd-mobile-logo--center .header__heading {
    text-align: center !important;
  }
  /* Vertical centering for logo */
  .nvgd-header .nvgd-logo-link.nvgd-inline-element {
    display: flex !important;
    align-items: center !important;
  }
  .nvgd-header .header__heading-logo-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
  }
  .nvgd-mobile-logo--left .nvgd-header .header__heading-logo-wrapper {
    justify-content: flex-start !important;
  }
}
/* Fix logo wrapper on all screen sizes */
  .nvgd-header .nvgd-logo-link {
    display: flex;
    align-items: center;
  }
  .nvgd-header .header__heading-logo-wrapper {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
  }

  /* Top-row layouts: logo centering in top row */
  .nvgd-header--top-center .nvgd-header-top-row .nvgd-logo-link {
    justify-content: center;
  }
  .nvgd-header--top-left .nvgd-header-top-row .nvgd-logo-link {
    justify-content: flex-start;
  }

  /* Middle-center: logo absolutely centered */
  .nvgd-header--middle-center .nvgd-logo-link.nvgd-inline-element {
    justify-content: center;
  }
  .nvgd-header--middle-center .header__heading-logo-wrapper {
    justify-content: center !important;
  }

  /* Middle-left: logo left-aligned */
  .nvgd-header--middle-left .nvgd-logo-link.nvgd-inline-element {
    justify-content: flex-start;
  }
/* DESKTOP HEADER */
/* =============================================
   DESKTOP HEADER
============================================= */
/* Bottom line comes from the section's "show line separator" setting (.header-wrapper--border-bottom). */
.nvgd-header {
    background: white;
    padding: 0 40px;
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* --- MIDDLE-LEFT (default) & MIDDLE-CENTER: single row --- */
.nvgd-header-container {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 40px;
    height: 96px;
}

/* --- TOP-LEFT & TOP-CENTER: two-row stacked layout --- */
.nvgd-header--top-left .nvgd-header-container,
.nvgd-header--top-center .nvgd-header-container {
    flex-wrap: wrap;
    height: auto;
    padding-top: 12px;
    padding-bottom: 0;
}

.nvgd-header--top-left .nvgd-header-top-row,
.nvgd-header--top-center .nvgd-header-top-row {
    display: flex;
    align-items: center;
    width: 100%;
    padding-bottom: 8px;
}

.nvgd-header--top-left .nvgd-header-top-row {
    justify-content: space-between;
}

.nvgd-header--top-center .nvgd-header-top-row {
    justify-content: center;
    position: relative;
}

/* Compatibility for header markup already present during an editor re-render. */
.nvgd-header--top-center .nvgd-header-top-row .header__icons {
    display: flex;
}

.nvgd-header--top-left .nvgd-header-nav-row,
.nvgd-header--top-center .nvgd-header-nav-row {
    display: flex;
    width: 100%;
    padding-bottom: 8px;
}

.nvgd-header--top-left .nvgd-header-nav-row {
    justify-content: flex-start;
}

.nvgd-header--top-center .nvgd-header-nav-row {
    justify-content: center;
}

/* --- MIDDLE-CENTER: reorder via flexbox order --- */
.nvgd-header--middle-center .nvgd-header-container {
    justify-content: space-between;
}

.nvgd-header--middle-center .nvgd-nav {
    order: 1;
    flex: 1;
    justify-content: flex-start;
}

.nvgd-header--middle-center .nvgd-logo-link {
    order: 2;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.nvgd-header--middle-center .nvgd-header-container {
    position: relative;
}

.nvgd-header--middle-center .header__icons {
    order: 3;
}

/* Hide nav-row and top-row in middle layouts (they use inline elements) */
.nvgd-header--middle-left .nvgd-header-top-row,
.nvgd-header--middle-left .nvgd-header-nav-row,
.nvgd-header--middle-center .nvgd-header-top-row,
.nvgd-header--middle-center .nvgd-header-nav-row {
    display: none;
}

/* Hide inline logo/nav in top layouts; the single icon group is positioned above. */
.nvgd-header--top-left .nvgd-logo-link.nvgd-inline-element,
.nvgd-header--top-left .nvgd-nav.nvgd-inline-element,
.nvgd-header--top-center .nvgd-logo-link.nvgd-inline-element,
.nvgd-header--top-center .nvgd-nav.nvgd-inline-element {
    display: none;
}

.nvgd-header--top-left .nvgd-header-container,
.nvgd-header--top-center .nvgd-header-container {
    position: relative;
}

.nvgd-header--top-left .header__icons.nvgd-inline-element,
.nvgd-header--top-center .header__icons.nvgd-inline-element {
    display: flex;
    position: absolute;
    top: 12px;
    right: 0;
}

.nvgd-logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #000;
}

@media (min-width: 1025px) {
    .nvgd-header .nvgd-logo-link {
        padding: 0.75rem 0;
    }
}

.nvgd-logo-link .h2 {
    margin: 0;
    font-size: 32px;
    line-height: 1;
    white-space: nowrap;
}

.nvgd-logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.nvgd-logo-main {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.5px;
}

.nvgd-logo-sub {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.nvgd-nav {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 0 1 auto;
    justify-content: flex-start;
    position: relative;
}

.nvgd-nav-item.level0.level-top {
    position: relative;
    text-decoration: none;
}

.nvgd-nav-item.level0.level-top > a,
a.nvgd-nav-item.level0.level-top {
    display: flex;
    align-items: center;
    padding: 1rem 0;
    text-decoration: none;
    color: #000;
    font-family: var(--font-accent-family);
    font-weight: 400;
    font-size: 15px;
    line-height: normal;
    white-space: nowrap;
    transition: opacity 0.3s ease;
    cursor: pointer;
    gap: 4px;
}

.nvgd-nav-item.level0.level-top:hover > a,
a.nvgd-nav-item.level0.level-top:hover {
    opacity: 0.6;
}

.nvgd-nav-item.level0.level-top span {
    color: #000;
}

.ui-menu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    transition: transform 0.3s ease;
}

.ui-menu-icon svg {
    width: 10px;
    height: 6px;
}

.nvgd-nav-item.nvgd-active .ui-menu-icon {
    transform: rotate(180deg);
}

.nvgd-dropdown-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 998;
    pointer-events: none;
}

.nvgd-dropdown-backdrop.nvgd-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.nvgd-dropdown.level0.submenu {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 999;
    margin: 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s, visibility 0.3s;
}

.nvgd-nav-item.nvgd-active .nvgd-dropdown.level0.submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    background: transparent;
}

.nvgd-dropdown-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 3rem;
    background: white;
    border-radius: 0 0 10px 10px;
    overflow: hidden;
}

.menu-item-group {
    display: block;
}

.menu-item-group .inner {
    display: block;
}

.menu-item-group.shopping-menu {
    flex: 2;
    max-width: calc(100% - 20px);
    padding: 20px;
}

.menu-item-group.menu-item-group-aside {
    border-left: 1px solid #e5e5e5;
    padding: 20px;
    width: 200px;
    background: #f1f1f1;
}

.menu-item-group.level1.shopping-menu.first span {
    font-weight: 600;
    transition: all 0.3s ease-in-out;
}

.level2.node-type-image a:hover .anchor-text {
    color: #fbb041;
}

.menu-item-group-aside .level2 a:hover {
    color: #fbb041;
}

.menu-item-group-aside .level2 a:hover .anchor-text {
    color: #fbb041;
}

.menu-item-group-title {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666;
    margin-bottom: 1.5rem;
}

.menu-item-group-items {
    list-style: none;
    padding: 0;
    margin: 0;
}

.shopping-menu .menu-item-group-items {
    display: grid;
    grid-template-columns: 1fr 1fr 0.5fr 0.5fr;
    grid-template-rows: 1fr 1fr;
    gap: 1.5rem;
}

.shopping-menu .menu-item-group-items .level2:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / 3;
}

.shopping-menu .menu-item-group-items .level2:nth-child(2) {
    grid-column: 2;
    grid-row: 1 / 3;
}

.shopping-menu .menu-item-group-items .level2:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
}

.shopping-menu .menu-item-group-items .level2:nth-child(4) {
    grid-column: 4;
    grid-row: 1;
}

.shopping-menu .menu-item-group-items .level2:nth-child(5) {
    grid-column: 3;
    grid-row: 2;
}

.shopping-menu .menu-item-group-items .level2:nth-child(6) {
    grid-column: 4;
    grid-row: 2;
}

.menu-item-group-aside .menu-item-group-items {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.level2.node-type-image {
    list-style: none;
    aspect-ratio: 1 / 1;
}

.level2.node-type-image a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    height: 100%;
    width: 100%;
}

.level2.node-type-image .inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    width: 100%;
    background: #f1f1f1;
    border-radius: 10px;
}

.menu-item-image-wrapper {
    background: #f8f8f8;
    border-radius: 12px;
    overflow: hidden;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
}

.menu-item-image-wrapper .inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
}

.menu-item-image {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

.level2 .anchor-text {
    display: block;
    text-align: center;
    font-size: 12.5px;
    color: #333;
    font-weight: 500;
    line-height: 1.3;
    padding: 0 0.5rem 0.75rem;
    flex-shrink: 0;
}

.menu-item-group-aside .level2 {
    list-style: none;
}

.menu-item-group-aside .level2 a {
    padding: 0.5rem 0;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s ease;
    display: block;
}

.menu-item-group-aside .level2 a:hover {
    color: #000;
}

.menu-item-group-aside .level2 a .anchor-text {
    text-align: left;
}

.nvgd-header-icons {
    display: flex;
    align-items: center;
    gap: 24px;
}

.nvgd-icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s;
}

.nvgd-icon-btn:hover {
    opacity: 0.7;
}

.nvgd-icon-btn svg {
    width: 24px;
    height: 24px;
}

/* Icon row (Figma: 24px icons, 14px apart). 38px boxes keep that rhythm with a 38x44 tap area. */
.nvgd-header .header__icons {
    align-items: center;
    padding-right: 0;
    margin-right: -7px;
}

.nvgd-header .header__icon {
    width: 38px;
}

.nvgd-header .header__icon--cart {
    margin-right: 0;
}

/* Middle-left: the search bar fills the space between nav and icons (Figma 40px gaps). */
@media (min-width: 1025px) {
    .nvgd-header--middle-left .header__icons.nvgd-inline-element {
        flex: 1;
    }

    .nvgd-header--middle-left .header__search-bar {
        flex: 1;
        margin-right: 33px;
    }

    .nvgd-header--middle-left .nvgd-search-bar {
        width: auto;
    }
}

/* Desktop Responsive */
@media (max-width: 1024px) {
    .nvgd-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        flex-direction: column;
        gap: 0;
        padding: 20px;
        border-bottom: 1px solid #e5e5e5;
        z-index: 1000;
    }

    .nvgd-nav.nvgd-active {
        display: flex;
    }

    .nvgd-dropdown.level0.submenu {
        position: static;
        box-shadow: none;
        transform: none;
    }

    .nvgd-dropdown-container {
        flex-direction: column;
        gap: 2rem;
        padding: 0;
    }

    .menu-item-group.menu-item-group-aside {
        border-left: none;
        border-top: 1px solid #e5e5e5;
        padding-left: 0;
        padding-top: 1.5rem;
    }

    .shopping-menu .menu-item-group-items {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        gap: 1rem;
    }

    .shopping-menu .menu-item-group-items .level2:nth-child(1),
    .shopping-menu .menu-item-group-items .level2:nth-child(2) {
        grid-row: auto;
    }
}

@media (max-width: 640px) {
    .shopping-menu .menu-item-group-items {
        grid-template-columns: 1fr;
    }
}

/* Hide mobile toggle on desktop */
.nvgd-mobile-menu-toggle {
    display: none;
}

.nvgd-hamburger-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    transition: opacity 0.2s;
}

.nvgd-hamburger-btn:hover {
    opacity: 0.7;
}

@media (max-width: 1024px) {
    /* Hide the separate Dawn mobile header — unified handles mobile */
    .nvgd-header ~ .header.large-up-hide {
        display: none !important;
    }
    .nvgd-mobile-menu-toggle {
        display: flex;
        align-items: center;
    }
    .nvgd-nav,
    .nvgd-nav.nvgd-inline-element {
        display: none !important;
    }
    .nvgd-dropdown-backdrop {
        display: none !important;
    }
    .nvgd-header {
        padding: 0 16px;
    }
    /* Reset top layouts to single row on mobile */
    .nvgd-header--top-left .nvgd-header-container,
    .nvgd-header--top-center .nvgd-header-container {
        flex-wrap: nowrap;
        height: 72px;
        padding-top: 0;
        padding-bottom: 0;
    }
    /* Figma mobile/tablet header: no search bar, the search icon opens the search modal. */
    .nvgd-header .header__search-bar {
        display: none;
    }
    .nvgd-header-container {
        column-gap: 8px;
        height: 72px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    /* Hide top/nav rows on mobile — use inline elements only */
    .nvgd-header-top-row,
    .nvgd-header-nav-row {
        display: none !important;
    }
    /* Show inline elements on mobile regardless of desktop layout */
    .nvgd-logo-link.nvgd-inline-element,
    .header__icons.nvgd-inline-element {
        display: flex !important;
    }
    .nvgd-mobile-menu-toggle {
        order: 1;
        flex-shrink: 0;
    }
    .nvgd-logo-link.nvgd-inline-element {
        order: 2;
        flex: 1;
        min-width: 0;
        display: flex !important;
        justify-content: center;
    }
    .header__icons.nvgd-inline-element {
        order: 3;
        flex-shrink: 0;
        position: static;
    }
    /* Removed hidden search icon on mobile header bar */
    /* Middle-center: reset absolute positioning on mobile */
    .nvgd-header--middle-center .nvgd-logo-link {
        position: static;
        transform: none;
    }
}

/* =============================================
   MOBILE DRAWER — Card-based design
============================================= */
.mobile-drawer-overlay {
    position: fixed;
    top: var(--mobile-drawer-top, 0px); left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s, visibility 0.3s;
}

.mobile-drawer-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    cursor: pointer;
}

.mobile-drawer {
    position: fixed;
    top: var(--mobile-drawer-top, 0px); left: 0; bottom: 0;
    width: 85%;
    max-width: 400px;
    background: #fff;
    z-index: 9999;
    transform: translateX(-100%);
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mobile-drawer.is-open {
    transform: translateX(0);
}

/* Drawer Header — X left, logo center, search+cart right */
.mobile-drawer__header {
    display: grid;
    grid-template-columns: 40px 1fr auto;
    align-items: center;
    padding: 16px 16px;
    border-bottom: 1px solid #e5e5e5;
    flex-shrink: 0;
    min-height: 56px;
}

.mobile-drawer__close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    grid-column: 1;
}

.mobile-drawer__close svg {
    width: 22px;
    height: 22px;
}

.mobile-drawer__logo {
    grid-column: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mobile-drawer__logo img {
    max-height: 30px;
    width: auto;
}

.mobile-drawer__header-icons {
    grid-column: 3;
    display: flex;
    align-items: center;
    gap: 12px;
}

.mobile-drawer__header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    text-decoration: none;
    position: relative;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

.mobile-drawer__header-icon svg {
    width: 22px;
    height: 22px;
}

.mobile-drawer__header-icon .cart-count-bubble {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #333;
    color: #fff;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    font-size: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

/* Drawer Body */
.mobile-drawer__body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 16px;
}

/* Inline Search Bar */
.mobile-drawer__search {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    border-bottom: 1px solid #e5e5e5;
    flex-shrink: 0;
}

.mobile-drawer__search.is-open {
    max-height: 70px;
    opacity: 1;
}

.mobile-drawer__search-form {
    padding: 8px 16px 12px;
}

.mobile-drawer__search-field {
    display: flex;
    align-items: center;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 0 12px;
    height: 42px;
    transition: border-color 0.2s;
    overflow: hidden;
}

.mobile-drawer__search-field:focus-within {
    border-color: #333;
    background: #fff;
}

.mobile-drawer__search-icon {
    flex-shrink: 0;
    color: #999;
    margin-right: 8px;
}

.mobile-drawer__search-input,
.mobile-drawer__search-input[type="search"] {
    flex: 1;
    border: none !important;
    background: transparent !important;
    font-size: 15px;
    color: #333;
    outline: none !important;
    padding: 0 !important;
    margin: 0;
    height: 100%;
    min-height: 0;
    min-width: 0;
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
    border-radius: 0;
    line-height: normal;
}

.mobile-drawer__search-input:focus,
.mobile-drawer__search-input:active,
.mobile-drawer__search-input[type="search"]:focus,
.mobile-drawer__search-input[type="search"]:active {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
}

.mobile-drawer__search-input::placeholder {
    color: #aaa;
}

.mobile-drawer__search-input::-webkit-search-decoration,
.mobile-drawer__search-input::-webkit-search-cancel-button,
.mobile-drawer__search-input::-webkit-search-results-button,
.mobile-drawer__search-input::-webkit-search-results-decoration {
    -webkit-appearance: none;
    display: none;
}

.mobile-drawer__search-clear {
    flex-shrink: 0;
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: none;
    align-items: center;
    justify-content: center;
    color: #999;
    transition: color 0.2s;
}

.mobile-drawer__search-clear.is-visible {
    display: flex;
}

.mobile-drawer__search-clear:hover {
    color: #333;
}

/* ---- Card-style menu items ---- */
.mobile-menu-card {
    display: flex;
    align-items: center;
    background: #f8f8f8;
    border: 1px solid #ebebeb;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 10px;
    text-decoration: none;
    color: #333;
    cursor: pointer;
    transition: background 0.2s;
    overflow: hidden;
}

.mobile-menu-card:hover {
    background: #f0f0f0;
}

.mobile-menu-card__text {
    flex: 1;
    min-width: 0;
}

.mobile-menu-card__title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    line-height: 1.3;
}

.mobile-menu-card__image {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    margin-left: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
}

.mobile-menu-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mobile-menu-card__chevron {
    flex-shrink: 0;
    margin-left: 8px;
    display: flex;
    align-items: center;
    color: #999;
    transition: transform 0.3s ease;
}

.mobile-menu-card.is-open .mobile-menu-card__chevron {
    transform: rotate(180deg);
}

/* Card Accordion Content */
.mobile-menu-card-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    margin-bottom: 0;
}

.mobile-menu-card.is-open + .mobile-menu-card-content {
    max-height: 2000px;
    margin-bottom: 10px;
}

.mobile-menu-card-content__inner {
    padding: 8px 0 4px;
}

/* Sub-items inside expanded card — 2-column image grid */
.mobile-sub-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 8px;
}

.mobile-sub-grid__item {
    text-decoration: none;
    display: flex;
    flex-direction: column;
    background: #f8f8f8;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #ebebeb;
    transition: background 0.2s;
}

.mobile-sub-grid__item:hover {
    background: #f0f0f0;
}

.mobile-sub-grid__img {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    overflow: hidden;
}

.mobile-sub-grid__img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.mobile-sub-grid__title {
    padding: 4px 10px 10px;
    font-size: 12.5px;
    font-weight: 500;
    color: #333;
    text-align: center;
    line-height: 1.3;
}

/* Sub-items — text links */
.mobile-sub-text-link {
    display: block;
    padding: 10px 4px;
    text-decoration: none;
    color: #555;
    font-size: 14px;
    border-bottom: 1px solid #f0f0f0;
    transition: color 0.2s;
}

.mobile-sub-text-link:last-child {
    border-bottom: none;
}

.mobile-sub-text-link:hover {
    color: #000;
}

/* Sub-items — sidebar/section header */
.mobile-sub-section {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e5e5e5;
}

.mobile-sub-section__title {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
    margin-bottom: 8px;
}

.mobile-sub-section__link {
    display: block;
    padding: 8px 4px;
    text-decoration: none;
    color: #555;
    font-size: 14px;
    transition: color 0.2s;
}

.mobile-sub-section__link:hover {
    color: #000;
}

/* ---- Icon links (Sign in, Support) ---- */
.mobile-icon-links {
    margin-top: 6px;
    padding-top: 6px;
}

.mobile-icon-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 4px;
    text-decoration: none;
    color: #333;
    font-size: 15px;
    font-weight: 500;
    border-bottom: 1px solid #f0f0f0;
    transition: color 0.2s;
}

.mobile-icon-link:last-child {
    border-bottom: none;
}

.mobile-icon-link:hover {
    color: #000;
}

.mobile-icon-link__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.mobile-icon-link__icon svg {
    width: 20px;
    height: 20px;
}

/* ---- Direktlinks / text section ---- */
.mobile-text-section {
    margin-top: 10px;
    padding-top: 10px;
}

.mobile-text-section__title {
    font-size: 14px;
    font-weight: 700;
    color: #333;
    padding: 8px 4px;
}

.mobile-text-section__link {
    display: block;
    padding: 10px 4px 10px 16px;
    text-decoration: none;
    color: #555;
    font-size: 14px;
    transition: color 0.2s;
}

.mobile-text-section__link:hover {
    color: #000;
}

/* Drawer Footer */
.mobile-drawer__footer {
    padding: 12px 16px;
    border-top: 1px solid #e5e5e5;
    flex-shrink: 0;
}

.mobile-drawer__footer .list-social {
    display: flex;
    gap: 16px;
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
}

.mobile-drawer__footer .list-social__link {
    color: #666;
    transition: color 0.2s;
}

.mobile-drawer__footer .list-social__link:hover {
    color: #000;
}

.mobile-drawer__footer .list-social__link .svg-wrapper svg {
    width: 20px;
    height: 20px;
}
/* snippets/price-custom.liquid */

  .nvgd-klarna-price--lg {
    font-size: 1.7rem !important;
  }

  .nvgd-klarna-price--md {
    font-size: 1.1rem !important;
  }

  .nvgd-klarna-price--sm {
    font-size: 0.9rem !important;
  }

  .nvgd-klarna-price--xs {
    font-size: 0.7rem !important;
  }

  /* Prevent the price from pushing Klarna out */
  .nvgd-klarna-payment-container {
    flex-wrap: nowrap;
  }

  .nvgd-klarna-price-section {
    flex-shrink: 1;
    min-width: 0;
  }

  .nvgd-klarna-financing-section {
    flex-shrink: 0;
  }

  /* ===========================
     Klarna Payment Row
     =========================== */
  .nvgd-klarna-payment-option {
    margin: 10px 0;
  }

  .nvgd-klarna-payment-container {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
  }

  .nvgd-klarna-price-section {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
  }

  .nvgd-klarna-main-price {
    font-size: var(--nvgd-price-size);
    font-weight: 700;
    color: #000;
    display: flex;
    align-items: baseline;
    gap: 6px;
    white-space: nowrap;
    margin: 0;
    padding: 0;
    line-height: 1.2;
    letter-spacing: normal;
  }

  @media (max-width: 749px) {
    .nvgd-klarna-main-price {
      flex-direction: column-reverse;
      align-items: flex-start;
      gap: 0;
    }
  }

  .nvgd-klarna-compare-price {
    font-size: var(--nvgd-compare-size);
    font-weight: 400;
    color: #767676;
    text-decoration: line-through;
    white-space: nowrap;
  }

  .nvgd-klarna-or-text {
    color: #767676;
    font-size: var(--nvgd-klarna-text-size);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
  }

  .nvgd-klarna-or-text::before,
  .nvgd-klarna-or-text::after {
    content: '';
    display: block;
    width: 1px;
    height: 12px;
    background-color: #e0e0e0;
  }

  /* Vertical divider line */
  .nvgd-klarna-divider {
    width: 1px;
    align-self: stretch;
    min-height: 50px;
    background-color: #e0e0e0;
    flex-shrink: 0;
  }

  /* Right: Klarna box with border */
  .nvgd-klarna-financing-section {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 10px 14px;
  }

  .nvgd-klarna-badge {
    background: linear-gradient(135deg, #FFB3D9 0%, #FFA3D4 100%);
    padding: 6px 12px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .nvgd-klarna-logo-text {
    font-size: calc(var(--nvgd-klarna-text-size) + 4px);
    font-weight: 700;
    color: #000;
    letter-spacing: -0.5px;
  }

  .nvgd-klarna-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
  }

  .nvgd-klarna-monthly-price {
    font-size: var(--nvgd-klarna-text-size);
    color: #000;
    white-space: nowrap;
  }

  .nvgd-klarna-monthly-price strong {
    font-size: var(--nvgd-klarna-text-size);
    font-weight: 700;
  }

  .nvgd-klarna-learn-more {
    font-size: var(--nvgd-klarna-text-size);
    color: #000;
    text-align: left;
  }

  .nvgd-klarna-learn-more__button {
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: #000;
    text-decoration: underline;
    font-weight: 500;
    cursor: pointer;
  }

  .nvgd-klarna-learn-more__button:hover {
    color: #333;
  }

  /* ===========================
     Responsive: stack on mobile
     =========================== */
  @media (max-width: 749px) {
    .nvgd-klarna-payment-container {
      gap: 8px;
    }

    .nvgd-klarna-financing-section {
      gap: 6px;
      padding: 6px 8px;
    }
  }  

  /* ===========================
     Klarna Modal
     =========================== */
  .nvgd-klarna-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 99999;
    align-items: center;
    justify-content: center;
  }

  .nvgd-klarna-modal.active {
    display: flex;
  }

  .nvgd-klarna-modal__content {
    position: relative;
    background: #fff;
    border-radius: 16px;
    max-width: 600px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  }

  .nvgd-klarna-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 20px;
    color: #666;
    z-index: 10;
  }

  .nvgd-klarna-modal__close:hover {
    color: #000;
  }

  .nvgd-klarna-modal__body {
    display: flex;
  }

  .nvgd-klarna-modal__logo {
    flex-shrink: 0;
    background: #f8f8f8;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
  }

  .nvgd-klarna-modal__info {
    flex: 1;
    padding: 2rem;
    overflow-y: auto;
    max-height: 80vh;
  }

  .nvgd-klarna-modal__title {
    font-size: 24px;
    font-weight: 600;
    margin: 0 0 1.5rem 0;
    padding-right: 2rem;
  }

  .nvgd-klarna-modal__description {
    font-size: 15px;
    line-height: 1.7;
    color: #444;
  }

  .nvgd-klarna-modal__description p {
    margin: 0 0 1rem 0;
  }

  .nvgd-klarna-modal__note {
    font-size: 13px;
    color: #888;
    font-style: italic;
    margin-top: 1.5rem !important;
    padding-top: 1rem;
    border-top: 1px solid #eee;
  }

  @media (max-width: 749px) {
    .nvgd-klarna-modal__body {
      flex-direction: column;
    }

    .nvgd-klarna-modal__logo {
      padding: 1.5rem;
    }

    .nvgd-klarna-modal__info {
      padding: 1.5rem;
    }

    .nvgd-klarna-modal__title {
      font-size: 20px;
    }
  }

  .nvgd-klarna-modal__iframe {
    width: 100%;
    padding: 0;
  }

  .nvgd-klarna-modal__iframe iframe {
    width: 100%;
    min-height: 500px;
    border: none;
    display: block;
    border-radius: 16px;
  }
  /* Mobile custom-property variants (hoisted from the former :root style block) */
  @media (max-width: 749px) {
    .nvgd-klarna-main-price {
      font-size: var(--nvgd-price-size-mobile, var(--nvgd-price-size));
    }

    .nvgd-klarna-compare-price {
      font-size: var(--nvgd-compare-size-mobile, var(--nvgd-compare-size));
    }

    .nvgd-klarna-or-text {
      font-size: var(--nvgd-klarna-text-size-mobile, var(--nvgd-klarna-text-size));
    }

    .nvgd-klarna-logo-text {
      font-size: calc(var(--nvgd-klarna-text-size-mobile, var(--nvgd-klarna-text-size)) + 4px);
    }

    .nvgd-klarna-monthly-price {
      font-size: var(--nvgd-klarna-text-size-mobile, var(--nvgd-klarna-text-size));
    }

    .nvgd-klarna-monthly-price strong {
      font-size: var(--nvgd-klarna-text-size-mobile, var(--nvgd-klarna-text-size));
    }

    .nvgd-klarna-learn-more {
      font-size: var(--nvgd-klarna-text-size-mobile, var(--nvgd-klarna-text-size));
    }
  }

  /* Soft price: price, compare-at, discount label on one line.
     Colors are darker than the Figma file (#f33, 30% black) so the text keeps 4.5:1 contrast. */
  .price--soft__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 1.2rem;
  }

  .price--soft__price,
  .price--soft__compare {
    font-family: var(--font-heading-family);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: normal;
  }

  .price--soft__price {
    font-size: var(--nvgd-price-size);
    color: rgb(var(--color-foreground));
  }

  .price--soft__compare {
    font-size: var(--nvgd-compare-size);
    color: #737373;
  }

  .price--soft__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.6rem 1.4rem;
    border-radius: 6.2rem;
    background: rgba(255, 51, 51, 0.1);
    color: #c81e1e;
    font-family: var(--font-body-family);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2;
  }

  .price--soft__badge--muted {
    background: rgba(0, 0, 0, 0.06);
    color: #4d4d4d;
  }

  @media screen and (max-width: 749px) {
    .price--soft__price {
      font-size: var(--nvgd-price-size-mobile, var(--nvgd-price-size));
    }

    .price--soft__compare {
      font-size: var(--nvgd-compare-size-mobile, var(--nvgd-compare-size));
    }
  }
/* snippets/product-block-accordion-group.liquid */

  .nvgd-product-accordion {
    margin: 0;
  }

  .nvgd-accordion-group--custom .nvgd-accordion-title {
    font-family: var(--ag-title-font);
    font-size: var(--ag-title-size);
    font-weight: 400;
    line-height: var(--ag-title-lh);
    letter-spacing: var(--ag-title-ls);
    text-transform: var(--ag-title-case);
    text-wrap: var(--ag-title-wrap, wrap);
  }

  .nvgd-accordion details {
    border-top: 1px solid #e0e0e0;
    overflow: hidden;
    width: 100%;
  }

  .nvgd-accordion details:last-child {
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 10px;
  }

  .nvgd-accordion details[open] > summary .icon-caret {
    transform: rotate(180deg);
  }

  .nvgd-accordion summary {
    cursor: pointer;
    padding: 1rem 0;
    margin-top: 10px;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .nvgd-accordion summary::-webkit-details-marker {
    display: none;
  }

  .nvgd-summary-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
  }

  .nvgd-accordion-title {
    margin: 0;
    font-weight: 600;
    display: inline-block;
    max-width: calc(100% - 6rem);
    min-height: 1.6rem;
    word-break: break-word;
  }

  .nvgd-product-accordion .nvgd-accordion-content {
    padding: 1rem;
  }

  .nvgd-accordion-navigate {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    text-decoration: none;
    color: inherit;
  }

  .nvgd-accordion-navigate:hover {
    opacity: 0.8;
  }
/* snippets/product-block-buy-buttons.liquid */

  .nvgd-custom-buy-buttons .product-form__input {
    flex: none;
  }

  .nvgd-custom-button-layout {
    width: 100%;
  }

  .nvgd-custom-button-layout .product-form__submit,
  .nvgd-custom-button-layout .product-form__submit::before,
  .nvgd-custom-button-layout .product-form__submit::after {
    border-radius: 50px;
  }

  .nvgd-custom-button-layout .product-form__submit.button--secondary {
    background: #fbb041;
  }

  .nvgd-custom-button-layout .button--secondary:after {
    --border-opacity: 0;
  }

  .nvgd-custom-buy-buttons quantity-input.quantity,
  .nvgd-custom-buy-buttons quantity-input.quantity:after {
    border-radius: 50px;
  }

  .nvgd-vat-text p {
    margin: 0;
    padding: 0;
  }

  /* Soft style (block setting "Style: Soft"): quantity pill first, then a full-width button. */
  .nvgd-custom-buy-buttons--soft {
    align-items: stretch;
  }

  .nvgd-custom-buy-buttons--soft > .product-form__quantity {
    order: -1;
    margin: 0;
  }

  .nvgd-custom-buy-buttons--soft .nvgd-custom-button-layout product-form {
    margin-top: 0;
  }

  .nvgd-custom-buy-buttons--soft quantity-input.quantity {
    width: 17rem;
    min-height: 5.2rem;
    background: #f8f4f1;
  }

  .nvgd-custom-buy-buttons--soft quantity-input.quantity::after,
  .nvgd-custom-buy-buttons--soft quantity-input.quantity::before {
    box-shadow: none;
    background: transparent;
    border-radius: inherit;
  }

  /* Dawn's buttons and input inherit the background but not the radius; keep them clear so the pill stays round. */
  .nvgd-custom-buy-buttons--soft quantity-input.quantity .quantity__button,
  .nvgd-custom-buy-buttons--soft quantity-input.quantity .quantity__input {
    background-color: transparent;
  }

  .nvgd-custom-buy-buttons--soft .quantity__button {
    width: 5.2rem;
  }

  .nvgd-custom-buy-buttons--soft .quantity__button .svg-wrapper,
  .nvgd-custom-buy-buttons--soft .quantity__button svg {
    width: 1.4rem;
    height: 1.4rem;
  }

  .nvgd-custom-buy-buttons--soft .quantity__input {
    font-size: 1.4rem;
    font-weight: 500;
  }

  .nvgd-buy-buttons-solo.nvgd-custom-buy-buttons--soft .product-form__buttons {
    max-width: none;
  }

  .nvgd-custom-buy-buttons--soft .product-form__submit {
    min-height: 5.2rem;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: normal;
  }

  @media screen and (max-width: 749px) {
    .nvgd-custom-buy-buttons--soft {
      flex-direction: column;
    }

    .nvgd-custom-buy-buttons--soft .nvgd-custom-button-layout product-form {
      margin-bottom: 0;
    }

    .nvgd-custom-buy-buttons--soft .quantity__button .svg-wrapper,
    .nvgd-custom-buy-buttons--soft .quantity__button svg {
      width: 2rem;
      height: 2rem;
    }

    .nvgd-custom-buy-buttons--soft quantity-input.quantity {
      width: 100%;
    }
  }
/* snippets/product-block-stars-review.liquid */

  .nvgd-stars-block {
    padding: var(--nvgd-stars-pad-v) var(--nvgd-stars-pad-h);
  }

  .nvgd-stars-block__wrapper {
    display: flex;
    align-items: center;
    justify-content: var(--nvgd-stars-align);
    gap: 8px;
    flex-wrap: wrap;
  }

  .nvgd-stars-block__icons {
    display: flex;
    align-items: center;
    gap: 2px;
  }

  .nvgd-stars-block__icon {
    width: var(--nvgd-stars-size);
    height: var(--nvgd-stars-size);
    fill: var(--nvgd-stars-color);
  }

  .nvgd-stars-block__icon--empty {
    fill: var(--nvgd-stars-empty-color);
  }

  .nvgd-stars-block__text {
    font-size: var(--nvgd-stars-text-size);
    color: var(--nvgd-stars-text-color);
    font-weight: var(--nvgd-stars-text-weight);
  }

  .nvgd-stars-block__rating {
    color: var(--nvgd-stars-rating-color);
  }

  .nvgd-stars-block__rating--plain {
    color: var(--nvgd-stars-text-color);
  }

  .nvgd-stars-block__scale {
    color: var(--nvgd-stars-rating-color);
  }

  @media (max-width: 768px) {
    .nvgd-stars-block {
      padding: var(--nvgd-stars-pad-v-m, var(--nvgd-stars-pad-v)) var(--nvgd-stars-pad-h-m, var(--nvgd-stars-pad-h));
    }

    .nvgd-stars-block__icon {
      width: var(--nvgd-stars-size-m, var(--nvgd-stars-size));
      height: var(--nvgd-stars-size-m, var(--nvgd-stars-size));
    }

    .nvgd-stars-block__text {
      font-size: var(--nvgd-stars-text-size-m, var(--nvgd-stars-text-size));
    }
  }
/* snippets/product-block-sticky-atc.liquid */

  .sticky-atc-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9998;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
  }

  .sticky-atc-wrapper.visible {
    transform: translateY(0);
  }

  .sticky-atc {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  }

  .sticky-atc__container {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
  }

  .sticky-atc__left {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
    min-width: 0;
  }

  .sticky-atc__image {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #f5f5f5;
  }

  .sticky-atc__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .sticky-atc__info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
  }

  .sticky-atc__rating {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .sticky-atc__stars {
    display: flex;
    align-items: center;
    gap: 2px;
  }

  .sticky-atc__rating-text {
    font-size: 13px;
    color: #666;
  }

  .sticky-atc__title {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .sticky-atc__center {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .sticky-atc__center img {
    height: auto;
    object-fit: contain;
  }

  .sticky-atc__right {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
    justify-content: flex-end;
  }

  .sticky-atc__price {
    font-size: 18px;
    font-weight: 600;
    white-space: nowrap;
  }

  .sticky-atc__button {
    color: #fff;
    border: none;
    padding: 14px 28px;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s ease;
    white-space: nowrap;
  }

  .sticky-atc__button:hover {
    opacity: 0.9;
  }

  .sticky-atc__button:disabled {
    background: #ccc !important;
    cursor: not-allowed;
  }

  /* Navigation Bar Styles */
  .sticky-atc__nav {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
  }

  .sticky-atc__nav-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .sticky-atc__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
  }

  .sticky-atc__nav-item {
    margin: 0;
    padding: 0;
  }

  .sticky-atc__nav-link {
    display: block;
    padding: 0 20px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    position: relative;
    transition: color 0.2s ease;
  }

  .sticky-atc__nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background-color: var(--nav-active-color, #F5A623);
    transform: scaleX(0);
    transition: transform 0.2s ease;
  }

  .sticky-atc__nav-link:hover::after,
  .sticky-atc__nav-link.active::after {
    transform: scaleX(1);
  }

  .sticky-atc__nav-link.active {
    color: var(--nav-active-color, #F5A623) !important;
  }

  @media (max-width: 992px) {
    .sticky-atc__center {
      display: none;
    }

    .sticky-atc__nav-list {
      gap: 20px;
    }
  }

  @media (max-width: 768px) {
    .sticky-atc__container {
      gap: 12px;
    }

    .sticky-atc__image {
      width: 40px;
      height: 40px;
    }

    .sticky-atc__rating {
      display: none;
    }

    .sticky-atc__title {
      font-size: 14px;
    }

    .sticky-atc__price {
      font-size: 16px;
    }

    .sticky-atc__button {
      padding: 12px 20px;
      font-size: 14px;
    }

    .sticky-atc__nav-container {
      padding: 0 15px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }

    .sticky-atc__nav-list {
      gap: 15px;
      justify-content: flex-start;
      min-width: max-content;
    }

    .sticky-atc__nav-link {
      font-size: 13px;
      padding: 10px 5px;
      white-space: nowrap;
    }
  }

  @media (max-width: 480px) {
    .sticky-atc__info {
      display: none;
    }

    .sticky-atc__image {
      display: none;
    }

    .sticky-atc__left {
      flex: 0;
    }

    .sticky-atc__right {
      flex: 1;
      justify-content: space-between;
    }
  }

  .sticky-atc__container {
    padding: var(--nvgd-atc-pad-v) var(--nvgd-atc-pad-h);
  }

  .sticky-atc__star--full {
    fill: var(--nvgd-atc-star);
  }

  .sticky-atc__star--empty {
    fill: var(--nvgd-atc-star-empty);
  }

  @media (max-width: 768px) {
    .sticky-atc__container {
      padding: var(--nvgd-atc-pad-v-m, var(--nvgd-atc-pad-v)) var(--nvgd-atc-pad-h-m, var(--nvgd-atc-pad-h));
    }
  }
/* snippets/product-block-total-price.liquid */

  .nvgd-total-price-wrapper {
    margin: var(--nvgd-tp-margin-top) 0 var(--nvgd-tp-margin-bottom) 0;
  }

  .nvgd-total-price-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--nvgd-tp-pad-v) var(--nvgd-tp-pad-h);
    border: var(--nvgd-tp-border-w) solid var(--nvgd-tp-border-color);
    border-radius: var(--nvgd-tp-radius);
    background-color: var(--nvgd-tp-bg);
  }

  .nvgd-total-price-label {
    font-size: var(--nvgd-tp-label-size);
    font-weight: var(--nvgd-tp-label-weight);
    color: var(--nvgd-tp-label-color);
  }

  .nvgd-total-price-value {
    font-family: var(--font-heading-family);
    font-size: var(--nvgd-tp-value-size);
    font-weight: var(--nvgd-tp-value-weight);
    color: var(--nvgd-tp-value-color);
  }

  @media (max-width: 768px) {
    .nvgd-total-price-box {
      padding: var(--nvgd-tp-pad-v-m, var(--nvgd-tp-pad-v)) var(--nvgd-tp-pad-h-m, var(--nvgd-tp-pad-h));
    }

    .nvgd-total-price-label {
      font-size: var(--nvgd-tp-label-size-m, var(--nvgd-tp-label-size));
    }

    .nvgd-total-price-value {
      font-size: var(--nvgd-tp-value-size-m, var(--nvgd-tp-value-size));
    }
  }
/* snippets/product-block-upsell.liquid */

  .product-upsell { margin: 1.5rem 0; }
  .product-upsell__heading { margin: 0 0 1rem 0; font-weight: 600; font-size: 18px; }
  .product-upsell__items { display: flex; flex-direction: column; gap: 0.75rem; }

  .product-upsell__item {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }

  .product-upsell__item:hover {
    border-color: #ccc;
    background-color: #fafafa;
  }

  .product-upsell__item.selected {
    border-color: #f5a623;
    background-color: #fffbf5;
  }

  .product-upsell__item.disabled {
    cursor: not-allowed;
    opacity: 0.6;
  }

  .product-upsell__checkbox { flex-shrink: 0; display: flex; align-items: center; }
  .product-upsell__input { width: 20px; height: 20px; cursor: pointer; accent-color: #000; margin: 0; }
  .product-upsell__input:disabled { cursor: not-allowed; opacity: 0.5; }

  .product-upsell__image { width: 60px; height: 60px; flex-shrink: 0; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
  .product-upsell__image img { width: 100%; height: 100%; object-fit: contain; transition: opacity 0.3s ease; }

  .product-upsell__details { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.35rem; justify-content: center; }
  .product-upsell__title { font-weight: 500; font-size: 14px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

  /* Variant selector */
  .product-upsell__variant-picker { margin-top: 0.15rem; }
  .product-upsell__select-wrapper { position: relative; display: inline-block; }
  .product-upsell__variant-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 100px;
    padding: 4px 22px 4px 10px;
    font-size: 11px;
    color: #333;
    cursor: pointer;
    transition: all 0.2s ease;
    max-width: 140px;
  }
  .product-upsell__variant-select:focus { outline: none; border-color: #bbb; }
  .product-upsell__variant-select:hover { border-color: #aaa; }
  .product-upsell__variant-select option:disabled { color: #999; font-style: italic; }
  .product-upsell__select-icon {
    position: absolute;
    right: 8px;
    top: 55%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #666;
  }

  .product-upsell__price-section { display: flex; align-items: center; gap: 0.75rem; flex-shrink: 0; }
  .product-upsell__divider { color: #ccc; font-weight: 300; }
  .product-upsell__price { font-size: 14px; font-weight: 500; white-space: nowrap; transition: opacity 0.3s ease; }

  .product-upsell__help-btn {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #f5a623;
    border: none;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    transition: background-color 0.2s ease;
    margin: 0;
    padding: 0;
  }
  .product-upsell__help-btn:hover { background-color: #e6951a; }

  /* Modal */
  .product-upsell__modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; align-items: center; justify-content: center; }
  .product-upsell__modal.active { display: flex; }
  .product-upsell__modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.5); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
  .product-upsell__modal-content { position: relative; background: #fff; border-radius: 16px; max-width: 900px; max-height: 90vh; width: 90%; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); animation: upsellModalFadeIn 0.3s ease; }
  @keyframes upsellModalFadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
  .product-upsell__modal-close { position: absolute; top: 1rem; right: 1rem; width: 40px; height: 40px; border: none; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #666; z-index: 10; padding: 0; margin: 0; }
  .product-upsell__modal-close:hover { color: #000; }
  .product-upsell__modal-body { display: flex; flex-direction: row; }
  .product-upsell__modal-image { flex: 1; background: #f8f8f8; display: flex; align-items: center; justify-content: center; padding: 2rem; }
  .product-upsell__modal-image img { max-width: 100%; max-height: 400px; object-fit: contain; }
  .product-upsell__modal-info { flex: 1; padding: 2.5rem; overflow-y: auto; max-height: 80vh; }
  .product-upsell__modal-title { font-size: 24px; font-weight: 600; margin: 0 0 1.5rem 0; line-height: 1.3; padding-right: 2rem; }
  .product-upsell__modal-description { font-size: 15px; line-height: 1.7; color: #444; }

  @media screen and (max-width: 750px) {
    .product-upsell__item { padding: 0.875rem 1rem; gap: 0.75rem; }
    .product-upsell__image { width: 50px; height: 50px; }
    .product-upsell__title { font-size: 13px; }
    .product-upsell__price { font-size: 13px; }
    .product-upsell__help-btn { width: 24px; height: 24px; font-size: 12px; }
    .product-upsell__variant-select { font-size: 10px; max-width: 110px; }
    .product-upsell__modal-body { flex-direction: column; }
    .product-upsell__modal-image { padding: 1.5rem; }
    .product-upsell__modal-image img { max-height: 250px; }
    .product-upsell__modal-info { padding: 1.5rem; max-height: none; }
    .product-upsell__modal-title { font-size: 20px; padding-right: 0; }
  }

  /* Soft style (block setting "Style: Soft"). The "?" stays dark on the beige circle for contrast. */
  .product-upsell--soft { margin: 0; padding: 2.4rem 0; border-top: 1px solid rgba(var(--color-foreground), 0.1); }
  .product-upsell--soft .product-upsell__heading { margin: 0 0 2rem; font-family: var(--font-body-family); font-size: 1.4rem; font-weight: 500; color: rgba(var(--color-foreground), 0.6); }
  .product-upsell--soft .product-upsell__items { gap: 2rem; }
  .product-upsell--soft .product-upsell__item { min-height: 7.9rem; padding: 1.5rem; gap: 1.5rem; border-color: #b8b8b8; border-radius: 1rem; }
  .product-upsell--soft .product-upsell__input { width: 1.6rem; height: 1.6rem; }
  .product-upsell--soft .product-upsell__image { width: 6rem; height: 4.9rem; border-radius: 0.6rem; }
  .product-upsell--soft .product-upsell__image img { object-fit: cover; }
  .product-upsell--soft .product-upsell__title { font-family: var(--font-heading-family); font-size: 1.6rem; font-weight: 400; line-height: 1.25; }
  .product-upsell--soft .product-upsell__divider { display: none; }
  .product-upsell--soft .product-upsell__price { font-family: var(--font-heading-family); font-size: 1.5rem; font-weight: 700; }
  .product-upsell--soft .product-upsell__help-btn { width: 2.4rem; height: 2.4rem; background-color: #dccab1; color: rgb(var(--color-foreground)); font-family: var(--font-body-family); font-size: 1.3rem; font-weight: 500; }
  .product-upsell--soft .product-upsell__help-btn:hover { background-color: #cfb995; }
  /* Soft rows never cut names off; on phones the price moves under the name. */
  .product-upsell--soft .product-upsell__title { display: block; -webkit-line-clamp: unset; overflow: visible; }
  .product-upsell--soft .product-upsell__variant-select { max-width: 100%; }
  @media screen and (max-width: 749px) {
    .product-upsell--soft .product-upsell__item { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; column-gap: 1.2rem; row-gap: 0.4rem; }
    .product-upsell--soft .product-upsell__checkbox,
    .product-upsell--soft .product-upsell__image { grid-row: 1 / span 2; }
    .product-upsell--soft .product-upsell__details { grid-column: 3; grid-row: 1; }
    .product-upsell--soft .product-upsell__price-section { grid-column: 3; grid-row: 2; }
    .product-upsell--soft .product-upsell__help-btn { grid-column: 4; grid-row: 1 / span 2; }
  }
/* snippets/product-media-gallery-custom.liquid */

.nvgd-custom-media-gallery-wrapper {
  max-width: 1200px;
  display: flex;
  gap: 20px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  margin: 0 auto;
  position: relative;
}

/* Sticky Thumbnail Sidebar */
.nvgd-media-thumbnail {
  flex-shrink: 0;
  width: 80px;
  position: relative;
}

.nvgd-thumbnail-sticky-wrapper {
  position: relative;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #ccc transparent;
}

.nvgd-thumbnail-sticky-wrapper.is-sticky {
  position: fixed;
  top: 20px;
  width: 80px;
  max-height: calc(100vh - 40px);
}

.nvgd-thumbnail-sticky-wrapper.is-bottom {
  position: absolute;
  bottom: 0;
  top: auto;
}

.nvgd-thumbnail-sticky-wrapper::-webkit-scrollbar {
  width: 4px;
}

.nvgd-thumbnail-sticky-wrapper::-webkit-scrollbar-track {
  background: transparent;
}

.nvgd-thumbnail-sticky-wrapper::-webkit-scrollbar-thumb {
  background-color: #ccc;
  border-radius: 4px;
}

.nvgd-media-thumbnail ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.nvgd-media-thumbnail li {
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}

.nvgd-media-thumbnail li:hover {
  opacity: 0.7;
}

.nvgd-media-thumbnail li img {
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  width: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 1;
  transition: border-color 0.2s ease;
}

.nvgd-media-thumbnail li.active img {
  border-color: #333;
}

.nvgd-main-gallery-container {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

/* Pattern: full, full, half-half, repeat */
.nvgd-media-image:nth-child(6n+1),
.nvgd-media-image:nth-child(6n+2) {
  grid-column: 1 / -1;
}

.nvgd-media-image:nth-child(6n+3),
.nvgd-media-image:nth-child(6n+4) {
  grid-column: span 1;
}

.nvgd-media-image:nth-child(6n+5),
.nvgd-media-image:nth-child(6n) {
  grid-column: 1 / -1;
}

.nvgd-media-image {
  width: 100%;
  overflow: hidden;
  border-radius: 12px;
  cursor: zoom-in;
  position: relative;
}

.nvgd-media-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.nvgd-media-image:hover img {
  transform: scale(1.02);
}

/* Zoom Modal Styles */
.nvgd-zoom-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

.nvgd-zoom-modal.active {
  display: flex;
  background: rgba(198, 198, 198, 0.81);
}

.nvgd-zoom-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.95);
}

/* Swipeable Slider Wrapper */
.nvgd-zoom-slider-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
}

.nvgd-zoom-slider {
  display: flex;
  height: 100%;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.nvgd-zoom-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  -webkit-user-drag: none;
}

.nvgd-zoom-slide img {
  max-width: 90vw;
  max-height: 90vh;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  transition: transform 0.3s ease;
  cursor: zoom-in;
  pointer-events: auto;
}

/* Zoomed-in state */
.nvgd-zoom-slide img.is-zoomed {
  transform: scale(1.5);
  cursor: zoom-out;
}

.nvgd-zoom-close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 3;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  color: #000;
}

.nvgd-zoom-close:hover {
  background: #fff;
  transform: scale(1.1);
}

.nvgd-zoom-prev,
.nvgd-zoom-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: rgba(255, 255, 255, 0.9);
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  color: #000;
}

.nvgd-zoom-prev:hover,
.nvgd-zoom-next:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.1);
}

.nvgd-zoom-prev {
  left: 20px;
}

.nvgd-zoom-next {
  right: 20px;
}

.nvgd-zoom-counter {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  background: rgba(255, 255, 255, 0.9);
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 500;
  color: #000;
}

/* Responsive styles */
@media (max-width: 768px) {
  .nvgd-custom-media-gallery-wrapper {
    flex-direction: column;
    gap: 0;
  }
  
  .nvgd-media-thumbnail {
    display: none;
  }

  .nvgd-media-image img {
    width: 100%;
    max-width: 100%;
    height: 300px;
    display: block;
    object-fit: cover;
    transition: transform 0.3s ease;
  }
  
  .nvgd-main-gallery-container {
    order: 1;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    gap: 10px;
    position: relative;
  }
  
  .nvgd-main-gallery-container::-webkit-scrollbar {
    display: none;
  }
  
  .nvgd-media-image {
    flex: 0 0 100%;
    scroll-snap-align: start;
    border-radius: 10px;
  }
  
  .nvgd-media-image:nth-child(6n+1),
  .nvgd-media-image:nth-child(6n+2),
  .nvgd-media-image:nth-child(6n+3),
  .nvgd-media-image:nth-child(6n+4),
  .nvgd-media-image:nth-child(6n+5),
  .nvgd-media-image:nth-child(6n) {
    grid-column: 1;
  }
  
  .nvgd-zoom-prev,
  .nvgd-zoom-next {
    width: 40px;
    height: 40px;
  }
  
  .nvgd-zoom-close {
    width: 36px;
    height: 36px;
    top: 10px;
    right: 10px;
  }
  
  .nvgd-zoom-slide img {
    max-width: 95vw;
    max-height: 85vh;
  }
}

/* Slider dots for mobile */
.nvgd-slider-dots {
  display: none;
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  gap: 8px;
  z-index: 1;
}

@media (max-width: 768px) {
  .nvgd-slider-dots {
    display: flex;
  }
}

.nvgd-slider-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transition: all 0.3s ease;
}

.nvgd-slider-dot.active {
  background: #fff;
  width: 24px;
  border-radius: 4px;
}
/* snippets/product-variant-picker-custom.liquid */

/* ── Shared ────────────────────────────── */
.nvgd-variant-selects {
  display: block;
}

.nvgd-variant-selects .nvgd-variant-option-wrapper {
  margin-bottom: 1.2rem;
}

.nvgd-variant-selects .nvgd-variant-option-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.6rem;
}

.nvgd-variant-selects .nvgd-option-label {
  font-weight: 600;
  font-size: 14px;
}

.nvgd-variant-selects .nvgd-option-selected {
  /*font-size: 14px;
  color: #666;*/
  display: none;
}

/* ── Card picker ──────────────────────── */
.nvgd-variant-selects .nvgd-variant-cards-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.75rem;
  width: 100%;
}

.nvgd-variant-selects .nvgd-variant-card {
  position: relative;
  cursor: pointer;
  border: 2px solid #e5e5e5;
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
}

.nvgd-variant-selects .nvgd-variant-card:hover {
  border-color: #ccc;
}

.nvgd-variant-selects .nvgd-variant-card--selected {
  border-color: #000;
  box-shadow: 0 0 0 1px #000;
}

.nvgd-variant-selects .nvgd-variant-card--disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.nvgd-variant-selects .nvgd-variant-card .nvgd-variant-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.nvgd-variant-selects .nvgd-variant-card .nvgd-variant-input:focus-visible + .nvgd-card-content {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
.nvgd-variant-selects .nvgd-card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.75rem;
}

.nvgd-variant-selects .nvgd-card-image {
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 0.5rem;
}

.nvgd-variant-selects .nvgd-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.nvgd-variant-selects .nvgd-card-text {
  text-align: center;
}

.nvgd-variant-selects .nvgd-card-title {
  font-weight: 500;
  font-size: 14px;
}

/* ── Pill / Button picker ─────────────── */
.nvgd-variant-selects .nvgd-variant-pills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.nvgd-variant-selects .nvgd-pill-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.nvgd-variant-selects .nvgd-pill-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.2rem;
  border: 1px solid #e5e5e5;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: border-color 0.15s, background-color 0.15s, color 0.15s;
  user-select: none;
  min-width: 48px;
}

.nvgd-variant-selects .nvgd-pill-label:hover {
  border-color: #aaa;
}

.nvgd-variant-selects .nvgd-pill-input:checked + .nvgd-pill-label {
  border-color: #000;
  background-color: #000;
  color: #fff;
}
.nvgd-variant-selects .nvgd-swatch-label {
  width: 2.8rem;
  min-width: 2.8rem;
  height: 2.8rem;
  padding: 0;
  border-radius: 50%;
  border-color: transparent;
  background-color: var(--swatch-color, #e5e5e5);
  background-image: var(--swatch-image, none);
  background-size: cover;
  background-position: center;
}

.nvgd-variant-selects .nvgd-swatch-dot {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.nvgd-variant-selects .nvgd-pill-input:checked + .nvgd-swatch-label {
  background-color: var(--swatch-color, #e5e5e5);
  background-image: var(--swatch-image, none);
  color: inherit;
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px currentColor;
}

.nvgd-variant-selects .nvgd-pill-input:focus-visible + .nvgd-pill-label {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.nvgd-variant-selects .nvgd-pill-label--disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
}

.nvgd-variant-selects .nvgd-pill-input:disabled + .nvgd-pill-label {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
}

/* ── Dropdown picker ──────────────────── */
.nvgd-variant-selects .nvgd-variant-dropdown-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 100%;
}

.nvgd-variant-selects .nvgd-variant-select {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  padding: 0.8rem 2.5rem 0.8rem 1rem;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
  cursor: pointer;
}

.nvgd-variant-selects .nvgd-variant-select:focus {
  outline: none;
  border-color: #000;
  box-shadow: 0 0 0 1px #000;
}

.nvgd-variant-selects .nvgd-variant-dropdown-wrapper > .svg-wrapper {
  position: absolute;
  right: 1rem;
  pointer-events: none;
  width: 12px;
  height: 12px;
}
/* ── Soft style (block setting "Style: Soft") ── */
.nvgd-variant-selects--soft .nvgd-variant-option-wrapper {
  margin-bottom: 0;
  padding: 2.4rem 0;
  border-top: 1px solid rgba(var(--color-foreground), 0.1);
}

.nvgd-variant-selects--soft .nvgd-variant-option-header {
  margin-bottom: 1.2rem;
}

@media screen and (max-width: 749px) {
  .nvgd-variant-selects--soft .nvgd-variant-option-wrapper {
    padding: 1.8rem 0 0.9rem;
  }

  .nvgd-variant-selects--soft .nvgd-variant-option-header {
    margin-bottom: 1.9rem;
  }
}

.nvgd-variant-selects--soft .nvgd-option-label {
  font-size: 1.4rem;
  font-weight: 500;
  color: rgba(var(--color-foreground), 0.6);
}

.nvgd-variant-selects--soft .nvgd-variant-pills-container {
  gap: 1.2rem;
}

.nvgd-variant-selects--soft .nvgd-pill-label {
  padding: 1.2rem 2.4rem;
  border: 0;
  border-radius: 6.2rem;
  background: #f8f4f1;
  color: rgba(var(--color-foreground), 0.6);
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.2;
}

.nvgd-variant-selects--soft .nvgd-pill-label:hover {
  background: #efe7e0;
}

.nvgd-variant-selects--soft .nvgd-pill-input:checked + .nvgd-pill-label {
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
}

.nvgd-variant-selects--soft .nvgd-swatch-label {
  position: relative;
  width: 3.7rem;
  min-width: 3.7rem;
  height: 3.7rem;
  padding: 0;
  background-color: var(--swatch-color, #e5e5e5);
}

.nvgd-variant-selects--soft .nvgd-pill-input:checked + .nvgd-swatch-label {
  background-color: var(--swatch-color, #e5e5e5);
  box-shadow: 0 0 0 1px rgb(var(--color-foreground));
}

.nvgd-variant-selects--soft .nvgd-swatch-check {
  position: absolute;
  inset: 0;
  width: 0.7rem;
  height: 1.2rem;
  margin: auto;
  border-right: 0.2rem solid #fff;
  border-bottom: 0.2rem solid #fff;
  transform: translateY(-0.1rem) rotate(45deg);
  filter: drop-shadow(0 0 0.1rem rgba(0, 0, 0, 0.6));
  opacity: 0;
}

.nvgd-variant-selects--soft .nvgd-pill-input:checked + .nvgd-swatch-label .nvgd-swatch-check {
  opacity: 1;
}
/* snippets/product-warranty-upsell.liquid */

  .nvgd-warranty-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 99999;
    align-items: center;
    justify-content: center;
  }
  
  .nvgd-warranty-modal.active {
    display: flex;
  }
  
  .nvgd-warranty-modal__content {
    position: relative;
    background: #fff;
    border-radius: 16px;
    max-width: 860px;
    width: 92%;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  }
  
  .nvgd-warranty-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-size: 20px;
    color: #666;
    z-index: 10;
  }
  
  .nvgd-warranty-modal__close:hover {
    color: #000;
  }
  
  .nvgd-warranty-modal__body {
    display: flex;
    flex-direction: row;
  }
  
  .nvgd-warranty-modal__icon {
    flex-shrink: 0;
    background: #f8f8f8;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem;
    min-width: 280px;
  }

  .nvgd-warranty-modal__image {
    display: block;
    width: 220px;
    height: 220px;
    object-fit: contain;
  }
  
  .nvgd-warranty-modal__info {
    flex: 1;
    padding: 2.5rem;
    overflow-y: auto;
    max-height: 85vh;
  }
  
  .nvgd-warranty-modal__title {
    font-size: 28px;
    font-weight: 600;
    margin: 0 0 1.5rem 0;
    padding-right: 2rem;
  }
  
  .nvgd-warranty-modal__description {
    font-size: 16px;
    line-height: 1.7;
    color: #444;
  }
  
  .nvgd-warranty-modal__description p {
    margin: 0 0 1rem 0;
  }
  
  .nvgd-warranty-modal__description ul {
    margin: 0.5rem 0 1rem 1.5rem;
    padding: 0;
  }
  
  .nvgd-warranty-modal__description li {
    margin-bottom: 0.5rem;
  }

  .nvgd-warranty-image {
    display: block;
    width: 130px;
    height: 130px;
    object-fit: contain;
  }
  
  @media (max-width: 750px) {
    .nvgd-warranty-modal__body {
      flex-direction: column;
    }
    
    .nvgd-warranty-modal__icon {
      padding: 2rem;
      min-width: unset;
    }
    
    .nvgd-warranty-modal__icon svg {
      width: 80px;
      height: 80px;
    }

    .nvgd-warranty-modal__image {
      width: 140px;
      height: 140px;
    }
    
    .nvgd-warranty-modal__info {
      padding: 1.5rem;
    }
    
    .nvgd-warranty-modal__title {
      font-size: 22px;
    }
  }
/* snippets/promo-cards-overlap-block-card.liquid */

        /* moved from inline style block for bundling */
        .promo-card {
          position: relative;
          box-sizing: border-box;
          background-color: var(--pc-bg);
          border-radius: var(--pc-radius);
          padding: var(--pad-y) var(--pad-x);
          margin-bottom: var(--pc-mb);
          overflow: var(--pc-ovf);
          height: auto;
          min-height: var(--pc-minh-d);
          width: var(--pc-w);
          margin-left: var(--pc-ml);
          margin-right: var(--pc-mr);
          background-image: var(--pc-bg-image, none);
          background-size: var(--pc-bg-size, auto);
          background-repeat: var(--pc-bg-rep, repeat);
          background-position: var(--pc-bg-pos, 0% 0%);
        }

        @media screen and (max-width: 750px) {
          .promo-card {
            background-image: var(--pc-bg-image-m, var(--pc-bg-image, none));
          }
        }

        @media screen and (min-width: 750px) {
          .promo-card {
            height: var(--pc-fixed-h, auto);
          }
        }

        /* --- CSS GRID ENGINE --- */
        .promo-card__inner {
          position: relative;
          width: 100%;
          height: 100%;
          min-height: max(0px, calc(var(--pc-minh-d) - (var(--pad-y) * 2)));
          z-index: 2;
          display: grid;
          grid-template-columns: var(--pc-cols);
          gap: var(--pc-gap);
          align-items: var(--pc-align);
        }

        .pc-slot {
          position: relative;
          z-index: 2;
          container-type: inline-size;
          min-width: 0;
          width: 100%;
          min-height: 100%;
        }

        /* --- COLUMN POSITIONING --- */
        .slot-1 {
          text-align: var(--pc-s1-ta);
          justify-self: var(--pc-s1-jf);
          /* ponytail: a slot that hugs its content has no free space, so
             justify-content below is a no-op. Stretch it whenever the
             merchant has asked for content to sit anywhere but the top. */
          align-self: var(--pc-s1-as);
          display: flex;
          flex-direction: column;
          justify-content: var(--pc-s1-jc);
          align-items: var(--pc-s1-ai);
          padding: var(--pc-s1-pad);
          overflow: var(--pc-s1-ovf, visible) !important;
          z-index: var(--pc-s1-z, 2) !important;
        }
        .slot-2 {
          text-align: var(--pc-s2-ta);
          justify-self: var(--pc-s2-jf);
          align-self: var(--pc-s2-as);
          display: flex;
          flex-direction: column;
          justify-content: var(--pc-s2-jc);
          align-items: var(--pc-s2-ai);
          padding: var(--pc-s2-pad);
          overflow: var(--pc-s2-ovf, visible) !important;
          z-index: var(--pc-s2-z, 2) !important;
        }
        .slot-3 {
          text-align: var(--pc-s3-ta);
          justify-self: var(--pc-s3-jf);
          align-self: var(--pc-s3-as);
          display: flex;
          flex-direction: column;
          justify-content: var(--pc-s3-jc);
          align-items: var(--pc-s3-ai);
          padding: var(--pc-s3-pad);
          overflow: var(--pc-s3-ovf, visible) !important;
          z-index: var(--pc-s3-z, 2) !important;
        }
        .slot-3 {
          grid-column: var(--pc-s3-col);
        }

        /* --- Media Handling --- */
        .pc-stretch-vertical {
          margin-top: calc(var(--pad-y) * -1);
          margin-bottom: calc(var(--pad-y) * -1);
          height: calc(100% + (var(--pad-y) * 2));
          display: flex;
          flex-direction: column;
          justify-content: center;
        }
        .pc-stretch-vertical .pc-media-wrapper {
          height: 100%;
        }
        .pc-stretch-vertical img, .pc-stretch-vertical video {
          height: 100%;
          width: auto;
          object-fit: contain;
          max-width: 100%;
        }

        .pc-stretch-full {
          margin-top: calc(var(--pad-y) * -1);
          margin-bottom: calc(var(--pad-y) * -1);
          height: calc(100% + (var(--pad-y) * 2));
        }

        .slot-1.pc-stretch-full { margin-left: calc(var(--pad-x) * -1); width: calc(100% + var(--pad-x)); }
        .slot-3.pc-stretch-full { margin-right: calc(var(--pad-x) * -1); width: calc(100% + var(--pad-x)); }

        .pc-stretch-full .pc-media-wrapper { width: 100%; height: 100%; }
        .pc-stretch-full img, .pc-stretch-full video { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }

        .pc-media-wrapper {
          width: 100%;
          height: auto;
          position: relative;
          display: block;
          line-height: 0;
          max-width: 100%;
          min-width: 0;
          overflow: hidden;
        }
        .pc-media-wrapper img, .pc-media-wrapper video {
          width: 100%;
          height: auto;
          max-width: 100%;
          object-fit: contain;
          display: block;
          border-radius: var(--pc-media-radius);
        }

        .pc-slot.pc-stretch-vertical .pc-media-wrapper,
        .pc-slot.pc-stretch-full .pc-media-wrapper {
          height: 100%;
        }

        .pc-slot.pc-stretch-vertical .pc-media-wrapper img,
        .pc-slot.pc-stretch-vertical .pc-media-wrapper video {
          width: 100%;
          height: 100%;
          object-fit: contain;
        }

        .pc-slot.pc-stretch-full .pc-media-wrapper img,
        .pc-slot.pc-stretch-full .pc-media-wrapper video {
          width: 100%;
          height: 100%;
          object-fit: cover;
          border-radius: 0;
        }

        /* Mobile Row Wrapper for Slots 1 & 2 */
        .pc-slots-row {
          display: contents;
        }

        @media screen and (max-width: 749px) {
          .pc-slots-row {
            display: flex;
            flex-direction: row;
            gap: var(--pc-gap-m);
            width: 100%;
            align-items: stretch;
          }

          .pc-slots-row .pc-slot {
            flex: 1;
            min-width: 0;
          }
        }

        /* Pop-out overrides */
        .slot-1 .pc-media-wrapper { width: min(100%, var(--pc-s1-popw, 100%)); max-width: 100%; }
        .slot-1 .pc-media-wrapper img { width: 100%; max-width: 100%; }
        .slot-2 .pc-media-wrapper { width: min(100%, var(--pc-s2-popw, 100%)); max-width: 100%; }
        .slot-2 .pc-media-wrapper img { width: 100%; max-width: 100%; }
        .slot-3 .pc-media-wrapper { width: min(100%, var(--pc-s3-popw, 100%)); max-width: 100%; }
        .slot-3 .pc-media-wrapper img { width: 100%; max-width: 100%; }

        /* ===== TYPOGRAPHY: SLOT 1 ===== */
        .promo-card.pc-gtypo .s1-heading {
          font-family: var(--pc-hd-ff);
          font-weight: var(--pc-hd-fw);
          font-style: var(--pc-hd-fs);
          font-size: var(--pc-hd-size);
          line-height: var(--pc-hd-lh);
          letter-spacing: var(--pc-hd-ls);
          text-transform: var(--pc-hd-tt);
          color: var(--pc-s1-head-c);
          margin: 0 0 var(--pc-s1-head-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s1-heading {
          font-family: var(--pc-s1-head-ff);
          font-weight: var(--pc-s1-head-fw);
          font-size: var(--pc-s1-head);
          line-height: var(--pc-s1-head-lh);
          color: var(--pc-s1-head-c);
          margin: 0 0 var(--pc-s1-head-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-gtypo .s1-subheading {
          font-family: var(--pc-sh-ff);
          font-weight: var(--pc-sh-fw);
          font-style: var(--pc-sh-fs);
          font-size: var(--pc-sh-size);
          line-height: var(--pc-sh-lh);
          text-transform: var(--pc-sh-tt);
          color: var(--pc-s1-sub-c);
          margin: 0 0 var(--pc-s1-sub-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s1-subheading {
          font-family: var(--pc-s1-sub-ff);
          font-weight: var(--pc-s1-sub-fw);
          font-size: var(--pc-s1-sub);
          line-height: 1.3;
          color: var(--pc-s1-sub-c);
          margin: 0 0 var(--pc-s1-sub-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-gtypo .s1-text {
          font-family: var(--pc-bt-ff);
          font-weight: var(--pc-bt-fw);
          font-style: var(--pc-bt-fs);
          font-size: var(--pc-bt-size);
          line-height: var(--pc-bt-lh);
          text-transform: var(--pc-bt-tt);
          color: var(--pc-s1-text-c);
          margin: 0 0 var(--pc-s1-text-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s1-text {
          font-family: var(--pc-s1-text-ff);
          font-size: var(--pc-s1-text);
          line-height: var(--pc-s1-text-lh);
          color: var(--pc-s1-text-c);
          margin: 0 0 var(--pc-s1-text-mg) 0;
          word-wrap: break-word;
        }

        /* ===== TYPOGRAPHY: SLOT 2 ===== */
        .promo-card.pc-gtypo .s2-heading {
          font-family: var(--pc-hd-ff);
          font-weight: var(--pc-hd-fw);
          font-style: var(--pc-hd-fs);
          font-size: var(--pc-hd-size);
          line-height: var(--pc-hd-lh);
          letter-spacing: var(--pc-hd-ls);
          text-transform: var(--pc-hd-tt);
          color: var(--pc-s2-head-c);
          margin: 0 0 var(--pc-s2-head-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s2-heading {
          font-family: var(--pc-s2-head-ff);
          font-weight: var(--pc-s2-head-fw);
          font-size: var(--pc-s2-head);
          line-height: var(--pc-s2-head-lh);
          color: var(--pc-s2-head-c);
          margin: 0 0 var(--pc-s2-head-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-gtypo .s2-subheading {
          font-family: var(--pc-sh-ff);
          font-weight: var(--pc-sh-fw);
          font-style: var(--pc-sh-fs);
          font-size: var(--pc-sh-size);
          line-height: var(--pc-sh-lh);
          text-transform: var(--pc-sh-tt);
          color: var(--pc-s2-sub-c);
          margin: 0 0 var(--pc-s2-sub-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s2-subheading {
          font-family: var(--pc-s2-sub-ff);
          font-weight: var(--pc-s2-sub-fw);
          font-size: var(--pc-s2-sub);
          line-height: 1.3;
          color: var(--pc-s2-sub-c);
          margin: 0 0 var(--pc-s2-sub-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-gtypo .s2-text {
          font-family: var(--pc-bt-ff);
          font-weight: var(--pc-bt-fw);
          font-style: var(--pc-bt-fs);
          font-size: var(--pc-bt-size);
          line-height: var(--pc-bt-lh);
          text-transform: var(--pc-bt-tt);
          color: var(--pc-s2-text-c);
          margin: 0 0 var(--pc-s2-text-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s2-text {
          font-family: var(--pc-s2-text-ff);
          font-size: var(--pc-s2-text);
          line-height: var(--pc-s2-text-lh);
          color: var(--pc-s2-text-c);
          margin: 0 0 var(--pc-s2-text-mg) 0;
          word-wrap: break-word;
        }

        /* ===== TYPOGRAPHY: SLOT 3 ===== */
        .promo-card.pc-gtypo .s3-heading {
          font-family: var(--pc-hd-ff);
          font-weight: var(--pc-hd-fw);
          font-style: var(--pc-hd-fs);
          font-size: var(--pc-hd-size);
          line-height: var(--pc-hd-lh);
          letter-spacing: var(--pc-hd-ls);
          text-transform: var(--pc-hd-tt);
          color: var(--pc-s3-head-c);
          margin: 0 0 var(--pc-s3-head-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s3-heading {
          font-family: var(--pc-s3-head-ff);
          font-weight: var(--pc-s3-head-fw);
          font-size: var(--pc-s3-head);
          line-height: var(--pc-s3-head-lh);
          color: var(--pc-s3-head-c);
          margin: 0 0 var(--pc-s3-head-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-gtypo .s3-subheading {
          font-family: var(--pc-sh-ff);
          font-weight: var(--pc-sh-fw);
          font-style: var(--pc-sh-fs);
          font-size: var(--pc-sh-size);
          line-height: var(--pc-sh-lh);
          text-transform: var(--pc-sh-tt);
          color: var(--pc-s3-sub-c);
          margin: 0 0 var(--pc-s3-sub-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s3-subheading {
          font-family: var(--pc-s3-sub-ff);
          font-weight: var(--pc-s3-sub-fw);
          font-size: var(--pc-s3-sub);
          line-height: 1.3;
          color: var(--pc-s3-sub-c);
          margin: 0 0 var(--pc-s3-sub-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-gtypo .s3-text {
          font-family: var(--pc-bt-ff);
          font-weight: var(--pc-bt-fw);
          font-style: var(--pc-bt-fs);
          font-size: var(--pc-bt-size);
          line-height: var(--pc-bt-lh);
          text-transform: var(--pc-bt-tt);
          color: var(--pc-s3-text-c);
          margin: 0 0 var(--pc-s3-text-mg) 0;
          word-wrap: break-word;
        }
        .promo-card.pc-ctypo .s3-text {
          font-family: var(--pc-s3-text-ff);
          font-size: var(--pc-s3-text);
          line-height: var(--pc-s3-text-lh);
          color: var(--pc-s3-text-c);
          margin: 0 0 var(--pc-s3-text-mg) 0;
          word-wrap: break-word;
        }

        .inline-logo {
          width: auto;
          vertical-align: middle;
          display: inline-block;
        }

        /* ===== BUTTON ===== */
        .promo-card.pc-gtypo .pc-button {
          display: inline-block;
          font-family: var(--pc-btn-ff);
          font-weight: var(--pc-btn-fw);
          font-style: var(--pc-btn-fs);
          font-size: var(--pc-btn-size);
          text-transform: var(--pc-btn-tt);
          color: var(--pc-btn-c);
          background-color: var(--pc-btn-bg);
          padding: var(--pc-btn-pad);
          border-radius: var(--pc-btn-radius);
          text-decoration: none;
          transition: all 0.3s ease;
          border: var(--pc-btn-border);
          margin-top: var(--pc-btn-mt);
          white-space: nowrap;
          cursor: pointer;
          line-height: 1.2;
        }
        .promo-card.pc-ctypo .pc-button {
          display: inline-block;
          font-size: var(--pc-btn);
          font-weight: var(--pc-btn-fw);
          color: var(--pc-btn-c);
          background-color: var(--pc-btn-bg);
          padding: var(--pc-btn-pad);
          border-radius: var(--pc-btn-radius);
          text-decoration: none;
          transition: all 0.3s ease;
          border: var(--pc-btn-border);
          margin-top: var(--pc-btn-mt);
          white-space: nowrap;
          cursor: pointer;
          line-height: 1.2;
        }

        .promo-card .pc-button {
          max-width: 100%;
        }

        .promo-card.pc-btn-full .pc-button {
          display: block;
          width: 100%;
          text-align: center;
        }

        .promo-card.pc-btn-shadow .pc-button {
          box-shadow: 0 10px 12px rgba(0, 0, 0, 0.08);
        }

        .pc-button:hover {
          background-color: var(--pc-btn-hover-bg);
          color: var(--pc-btn-hover-c);
          border-color: var(--pc-btn-hover-bg);
        }

        @media screen and (max-width: 749px) {
          .promo-card {
            --pad-x: var(--pad-x-m);
            --pad-y: var(--pad-y-m);
            padding: var(--pad-y-m) var(--pad-x-m);
            width: var(--pc-w-m) !important;
            margin-left: var(--pc-ml-m);
            margin-right: var(--pc-mr-m);
            height: auto;
            min-height: var(--pc-minh-m);
          }

          .promo-card {
            height: var(--pc-fixed-h-m, auto) !important;
          }

          .promo-card__inner {
            display: flex;
            flex-direction: column;
            gap: var(--pc-gap-m);
            min-height: max(0px, calc(var(--pc-minh-m) - (var(--pad-y) * 2)));
          }

          .slot-1,
          .slot-2,
          .slot-3 {
            width: 100%;
            margin: 0;
            min-height: 0;
          }
          /* Reset desktop stretch classes on mobile — let mobile-specific ones take over */
          .slot-1.pc-stretch-full,
          .slot-2.pc-stretch-full,
          .slot-3.pc-stretch-full {
            margin-left: 0 !important;
            margin-right: 0 !important;
            margin-top: 0 !important;
            margin-bottom: 0 !important;
            width: 100% !important;
          }

          /* Mobile stretch: bleed to edges */
          .slot-1.pc-stretch-full-m,
          .slot-2.pc-stretch-full-m,
          .slot-3.pc-stretch-full-m {
            margin-left: calc(var(--pad-x) * -1) !important;
            margin-right: calc(var(--pad-x) * -1) !important;
            width: calc(100% + (var(--pad-x) * 2)) !important;
            max-width: none !important;
          }
          .slot-1.pc-stretch-full-m { margin-top: calc(var(--pad-y) * -1) !important; }
          .slot-3.pc-stretch-full-m { margin-bottom: calc(var(--pad-y) * -1) !important; }

          /* Mobile stretch: vertical only */
          .slot-1.pc-stretch-vertical-m,
          .slot-2.pc-stretch-vertical-m,
          .slot-3.pc-stretch-vertical-m {
            height: auto;
          }

          /* Media wrapper for mobile stretch-full */
          .slot-1.pc-stretch-full-m .pc-media-wrapper,
          .slot-2.pc-stretch-full-m .pc-media-wrapper,
          .slot-3.pc-stretch-full-m .pc-media-wrapper {
            width: 100% !important;
          }
          .slot-1.pc-stretch-full-m .pc-media-wrapper img,
          .slot-2.pc-stretch-full-m .pc-media-wrapper img,
          .slot-3.pc-stretch-full-m .pc-media-wrapper img,
          .slot-1.pc-stretch-full-m .pc-media-wrapper video,
          .slot-2.pc-stretch-full-m .pc-media-wrapper video,
          .slot-3.pc-stretch-full-m .pc-media-wrapper video {
            width: 100%;
            object-fit: cover;
            border-radius: 0;
          }

          .slot-1 {
            text-align: var(--pc-s1-ta-m);
            justify-content: var(--pc-s1-jc-m);
            align-items: var(--pc-s1-ai-m);
          }

          .slot-2 {
            text-align: var(--pc-s2-ta-m);
            justify-content: var(--pc-s2-jc-m);
            align-items: var(--pc-s2-ai-m);
          }

          .slot-3 {
            text-align: var(--pc-s3-ta-m);
            justify-content: var(--pc-s3-jc-m);
            align-items: var(--pc-s3-ai-m);
          }

          .slot-1 { order: var(--pc-s1-ord); }
          .slot-2 { order: var(--pc-s2-ord); }
          .slot-3 { order: var(--pc-s3-ord); }

          .slot-1 .pc-media-wrapper,
          .slot-2 .pc-media-wrapper,
          .slot-3 .pc-media-wrapper {
            width: var(--pc-mw-m) !important;
            max-width: 100% !important;
            margin: 0;
          }

          /* Reset stretch wrapper width on mobile so it doesn't stay bounded */
          .slot-1.pc-stretch-full .pc-media-wrapper,
          .slot-2.pc-stretch-full .pc-media-wrapper,
          .slot-3.pc-stretch-full .pc-media-wrapper {
            width: 100% !important;
          }

          /* Custom mode: block-level mobile overrides */
          .promo-card.pc-ctypo .s1-heading { font-size: var(--pc-s1-head-m); }
          .promo-card.pc-ctypo .s1-subheading { font-size: var(--pc-s1-sub-m); }
          .promo-card.pc-ctypo .s1-text { font-size: var(--pc-s1-text-m); }

          .promo-card.pc-ctypo .s2-heading { font-size: var(--pc-s2-head-m); }
          .promo-card.pc-ctypo .s2-subheading { font-size: var(--pc-s2-sub-m); }
          .promo-card.pc-ctypo .s2-text { font-size: var(--pc-s2-text-m); }

          .promo-card.pc-ctypo .s3-heading { font-size: var(--pc-s3-head-m); }
          .promo-card.pc-ctypo .s3-subheading { font-size: var(--pc-s3-sub-m); }
          .promo-card.pc-ctypo .s3-text { font-size: var(--pc-s3-text-m); }

          .promo-card.pc-ctypo .pc-button {
            font-size: var(--pc-btn-m);
          }

          .pc-button {
            padding: var(--pc-btn-pad-m);
            width: 100%;
            text-align: center;
          }
        }

        /* Scale headings and button padding with the slot width (cqi) so a narrow column
           shrinks them instead of splitting words; merchant values stay the maximum. */
        .promo-card.pc-gtypo :is(.s1-heading, .s2-heading, .s3-heading) { font-size: min(var(--pc-hd-size), 18cqi); }

        @media screen and (max-width: 749px) {
          .promo-card.pc-ctypo .s1-heading { font-size: min(var(--pc-s1-head-m), 18cqi); }
          .promo-card.pc-ctypo .s2-heading { font-size: min(var(--pc-s2-head-m), 18cqi); }
          .promo-card.pc-ctypo .s3-heading { font-size: min(var(--pc-s3-head-m), 18cqi); }

          /* "Fit the longest word": the cap comes from the heading's longest word instead of a fixed 18cqi. */
          .promo-card.pc-ctypo.pc-fit-words .s1-heading { font-size: min(var(--pc-s1-head-m), var(--pc-s1-head-fit)); }
          .promo-card.pc-ctypo.pc-fit-words .s2-heading { font-size: min(var(--pc-s2-head-m), var(--pc-s2-head-fit)); }
          .promo-card.pc-ctypo.pc-fit-words .s3-heading { font-size: min(var(--pc-s3-head-m), var(--pc-s3-head-fit)); }
          .promo-card.pc-gtypo.pc-fit-words .s1-heading { font-size: min(var(--pc-hd-size), var(--pc-s1-head-fit)); }
          .promo-card.pc-gtypo.pc-fit-words .s2-heading { font-size: min(var(--pc-hd-size), var(--pc-s2-head-fit)); }
          .promo-card.pc-gtypo.pc-fit-words .s3-heading { font-size: min(var(--pc-hd-size), var(--pc-s3-head-fit)); }

          .promo-card.pc-tpad-m .pc-slot--text { padding: var(--pc-tpad-m); }
          .promo-card.pc-tgap-m .pc-slot--text :is(.s1-subheading, .s1-heading, .s1-text, .s2-subheading, .s2-heading, .s2-text, .s3-subheading, .s3-heading, .s3-text) {
            margin-bottom: var(--pc-tgap-m);
          }
        }

        .promo-card :is(.s1-subheading, .s2-subheading, .s3-subheading) { letter-spacing: var(--pc-sub-ls); }

        @media screen and (min-width: 750px) {
          .promo-card.pc-ctypo .s1-heading { font-size: min(var(--pc-s1-head), 18cqi); }
          .promo-card.pc-ctypo .s2-heading { font-size: min(var(--pc-s2-head), 18cqi); }
          .promo-card.pc-ctypo .s3-heading { font-size: min(var(--pc-s3-head), 18cqi); }
          .promo-card:is(.pc-gtypo, .pc-ctypo) .pc-button { padding-inline: min(var(--pc-btn-px), 15cqi); }
        }
/* snippets/video-carousel-popup.liquid */

  /* Popup Overlay */
  .nvgd-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
  }

  .nvgd-popup-overlay.nvgd-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  /* Popup Container */
  .nvgd-popup-container {
    position: fixed;
    bottom: 20px;
    right: -100%;
    width: 90%;
    max-width: 380px;
    height: 85vh;
    max-height: 620px;
    background-color: #000;
    z-index: 9999;
    transition: right 0.3s ease;
    overflow: hidden;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.3);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
  }

  .nvgd-popup-container.nvgd-active {
    right: 20px;
  }

  /* Progress Bar */
  .nvgd-progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background-color: rgba(255, 255, 255, 0.3);
    z-index: 13;
    display: block !important;
  }

  .nvgd-progress-fill {
    height: 100%;
    width: 0%;
    background-color: #fff;
    display: block !important;
  }

  /* Popup Header */
  .nvgd-popup-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);
    padding: 15px 15px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 12;
    pointer-events: none;
  }

  .nvgd-popup-header button {
    pointer-events: auto;
  }

  .nvgd-header-left {
    display: flex;
    gap: 10px;
  }

  .nvgd-header-right {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
  }

  .nvgd-popup-close {
    width: 44px;
    height: 44px;
    border: none;
    background-color: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: white;
    transition: background-color 0.2s ease;
    flex-shrink: 0;
  }

  .nvgd-popup-close:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }

  .nvgd-popup-menu {
    width: 44px;
    height: 44px;
    border: none;
    background-color: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
    transition: background-color 0.2s ease;
    flex-shrink: 0;
  }

  .nvgd-popup-menu:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }

  .nvgd-popup-share {
    width: 44px;
    height: 44px;
    border: none;
    background-color: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
    transition: background-color 0.2s ease;
    flex-shrink: 0;
  }

  .nvgd-popup-share:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }

  /* Popup Content */
  .nvgd-popup-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .nvgd-video-container {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
  }

  .nvgd-video-player {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Navigation arrows */
  .nvgd-nav-vertical {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 11;
  }

  .nvgd-nav-arrow-alt {
    width: 44px;
    height: 44px;
    background-color: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
    transition: background-color 0.2s ease;
  }

  .nvgd-nav-arrow-alt:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }

  /* Sound toggle button */
  .nvgd-sound-toggle {
    position: absolute;
    bottom: 70px;
    right: 15px;
    width: 44px;
    height: 44px;
    background-color: rgba(255, 255, 255, 0.2);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
    transition: background-color 0.2s ease;
    z-index: 11;
  }

  .nvgd-sound-toggle:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }

  .nvgd-video-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 20px 15px 70px 15px;
    background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);
    color: white;
    z-index: 11;
    pointer-events: none;
  }

  .nvgd-video-title {
    font-size: 15px;
    font-weight: 400;
    color: white;
    margin-bottom: 0;
    line-height: 1.4;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  }

  .nvgd-shop-button {
    position: absolute;
    bottom: 15px;
    left: 15px;
    right: 15px;
    padding: 14px;
    background-color: #fff;
    color: #000;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease;
    z-index: 11;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }

  .nvgd-shop-button:hover {
    background-color: #f0f0f0;
  }

  /* Report Bottom Sheet (Step 1) */
  .nvgd-report-sheet {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 12px 12px 0 0;
    z-index: 14;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    display: block !important;
    padding: 12px 16px 20px 16px;
  }

  .nvgd-report-sheet.nvgd-active {
    transform: translateY(0);
  }

  .nvgd-report-sheet-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #666;
    border-radius: 50%;
    transition: background-color 0.2s ease;
    padding: 0;
    z-index: 3;
  }

  .nvgd-report-sheet-close:hover {
    background-color: #f0f0f0;
  }

  .nvgd-report-sheet-option {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 10px 0 0 0;
    border: none;
    background: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    color: #d32f2f;
    transition: background-color 0.2s ease;
  }

  .nvgd-report-sheet-option:hover {
    opacity: 0.8;
  }

  .nvgd-report-sheet-option svg {
    width: 22px;
    height: 22px;
    fill: #d32f2f;
    flex-shrink: 0;
  }

  /* Report Full Form (Step 2) */
  .nvgd-report-menu {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    background: #fff;
    z-index: 15;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    display: flex !important;
    flex-direction: column;
    overflow: hidden;
  }

  .nvgd-report-menu.nvgd-active {
    transform: translateY(0);
  }

  .nvgd-report-menu-header {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    flex-shrink: 0;
  }

  .nvgd-report-menu-close {
    width: 36px;
    height: 36px;
    border: none;
    background: #e8e8e8;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #333;
    border-radius: 50%;
    transition: background-color 0.2s ease;
    flex-shrink: 0;
  }

  .nvgd-report-menu-close:hover {
    background-color: #ddd;
  }

  .nvgd-report-body {
    flex: 1;
    overflow-y: auto;
    padding: 0 16px;
  }

  .nvgd-report-title {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    margin: 0 0 8px 0;
  }

  .nvgd-report-desc {
    font-size: 13px;
    color: #555;
    line-height: 1.5;
    margin: 0 0 20px 0;
  }

  .nvgd-report-options {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .nvgd-report-label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    color: #222;
  }

  .nvgd-report-label input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #999;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    cursor: pointer;
    margin: 0;
  }

  .nvgd-report-label input[type="radio"]:checked {
    border-color: #4040e0;
  }

  .nvgd-report-label input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 10px;
    height: 10px;
    background: #4040e0;
    border-radius: 50%;
  }

  .nvgd-report-footer {
    padding: 16px;
    flex-shrink: 0;
  }

  .nvgd-report-submit {
    width: 100%;
    padding: 14px;
    background-color: #4040e0;
    color: #fff;
    border: none;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.2s ease;
    margin-bottom: 8px;
  }

  .nvgd-report-submit:hover {
    background-color: #3535c0;
  }

  .nvgd-report-submit:disabled {
    background-color: #ccc;
    cursor: not-allowed;
  }

  .nvgd-report-cancel {
    width: 100%;
    padding: 12px;
    background: none;
    border: none;
    font-size: 15px;
    font-weight: 600;
    color: #222;
    cursor: pointer;
  }

  .nvgd-report-cancel:hover {
    color: #000;
  }

  /* Success state */
  .nvgd-report-success {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px 20px;
    gap: 12px;
    flex: 1;
  }

  .nvgd-report-success.nvgd-active {
    display: flex;
  }

  .nvgd-report-success-icon {
    width: 48px;
    height: 48px;
    background: #e8f5e9;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
  }

  .nvgd-report-success-icon svg {
    width: 24px;
    height: 24px;
    fill: #2e7d32;
  }

  .nvgd-report-success h3 {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    margin: 0;
  }

  .nvgd-report-success p {
    font-size: 14px;
    color: #555;
    margin: 0;
    line-height: 1.5;
  }

  .nvgd-report-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 13;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  .nvgd-report-overlay.nvgd-active {
    opacity: 1;
    visibility: visible;
  }

  /* Share Bottom Sheet */
  .nvgd-share-sheet {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 12px 12px 0 0;
    z-index: 14;
    transform: translateY(100%);
    transition: transform 0.3s ease;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
    padding: 0 20px 28px 20px;
    display: block !important;
  }

  .nvgd-share-sheet.nvgd-active {
    transform: translateY(0);
  }

  .nvgd-share-sheet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0 16px 0;
  }

  .nvgd-share-sheet-title {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    margin: 0;
  }

  .nvgd-share-sheet-close {
    width: 28px;
    height: 28px;
    border: none;
    background: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #666;
    border-radius: 50%;
    transition: background-color 0.2s ease;
    padding: 0;
  }

  .nvgd-share-sheet-close:hover {
    background-color: #f0f0f0;
  }

  .nvgd-share-options {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: nowrap;
    overflow-x: auto;
  }

  .nvgd-share-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    border: 1.5px solid #ddd;
    background: #fff;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    padding: 0;
    flex-shrink: 0;
  }

  .nvgd-share-btn:hover {
    background-color: #f5f5f5;
    border-color: #bbb;
  }

  .nvgd-share-btn svg {
    width: 18px;
    height: 18px;
  }

  .nvgd-share-copy {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    border-radius: 50px;
    border: 1.5px solid #ddd;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: #222;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .nvgd-share-copy:hover {
    background-color: #f5f5f5;
    border-color: #bbb;
  }

  .nvgd-share-copy svg {
    width: 16px;
    height: 16px;
  }

  .nvgd-share-copy.nvgd-copied {
    border-color: #2e7d32;
    color: #2e7d32;
  }

  /* Mobile Responsive */
  @media (max-width: 768px) {
    .nvgd-popup-container {
      width: 95%;
      max-width: 95%;
      height: 80vh;
      max-height: 650px;
      border-radius: 12px;
      bottom: 10px;
      right: -100%;
      left: auto;
    }

    .nvgd-popup-container.nvgd-active {
      right: 2.5%;
    }

    .nvgd-popup-close,
    .nvgd-popup-menu,
    .nvgd-popup-share {
      width: 40px;
      height: 40px;
      font-size: 18px;
    }

    .nvgd-nav-arrow-alt {
      width: 40px;
      height: 40px;
      font-size: 18px;
    }

    .nvgd-sound-toggle {
      width: 40px;
      height: 40px;
      font-size: 18px;
    }

    .nvgd-video-info {
      padding: 15px 12px 65px 12px;
    }

    .nvgd-video-title {
      font-size: 14px;
    }

    .nvgd-shop-button {
      bottom: 12px;
      left: 12px;
      right: 12px;
      padding: 12px;
      font-size: 15px;
    }
  }

  @media (max-width: 480px) {
    .nvgd-popup-container {
      max-width: 95%;
    }
  }