/** Shopify CDN: Minification failed

Line 1927:27 Unexpected "*"
Line 2109:99 Unexpected "\\n"
Line 2109:215 Expected ":"
Line 2109:346 Expected ":"
Line 2109:461 Expected ":"
Line 2109:597 Expected ":"
Line 2109:739 Expected ":"
Line 2109:855 Expected ":"
Line 2109:1164 Unexpected "\\n"
Line 2109:1476 Expected ":"
... and 7 more hidden warnings

**/
* {
  box-sizing: border-box;
}

body {
  color: var(--color-foreground);
  background: var(--color-background);
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 100svh;
  font-variation-settings: 'slnt' 0;
}

:root {
  --hover-transition-duration: 0.25s;
  --hover-transition-timing: ease-out;
  --submenu-animation-speed: 360ms;
}

html {
  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40)) var(--color-background);
  scroll-behavior: smooth;
}

@media (min-width: 990px) {
  html:has(.page-wrapper),
  html:has(.page-wrapper) body {
    height: 100dvh;
    overflow: hidden;
  }
}

html[scroll-lock],
html[scroll-lock] .page-wrapper {
  overflow: hidden;
}

.page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  transition: margin-inline-end var(--animation-speed) var(--animation-timing-fade-out);
}

@media (min-width: 990px) {
  .page-wrapper {
    height: 100dvh;
    overflow-y: auto;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: rgb(var(--color-foreground-rgb) / var(--opacity-40)) var(--color-background);
  }

  .page-wrapper--drawer-open shopify-account::part(dialog) {
    translate: calc(-1 * var(--theme-drawer-width, var(--sidebar-width)));
  }

  /* The theme drawer opens from the inline-end edge, so the shift mirrors in RTL */
  [dir='rtl'] .page-wrapper--drawer-open shopify-account::part(dialog) {
    translate: var(--theme-drawer-width, var(--sidebar-width));
  }
}

.page-wrapper--drawer-open {
  margin-inline-end: var(--theme-drawer-width, var(--sidebar-width));
  transition-timing-function: var(--animation-timing-fade-in);
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

img {
  width: 100%;
  height: auto;
}

input,
textarea,
select {
  font: inherit;
  border-radius: var(--style-border-radius-inputs);
}

/** override ios and firefox defaults */
select {
  background-color: var(--color-background);
  color: currentcolor;
}

.product-card,
.collection-card,
.predictive-search-results__card--product,
.predictive-search-results__card {
  position: relative;
  transition: transform var(--hover-transition-duration) var(--hover-transition-timing),
    box-shadow var(--hover-transition-duration) var(--hover-transition-timing);
  z-index: var(--layer-flat);
}

.product-card__link {
  position: absolute;
  inset: 0;
}

.product-card__content {
  position: relative;
  cursor: pointer;
}

dialog {
  /* the ::backdrop inherits from the originating element, custom properties must be set on the dialog element */
  --backdrop-color-rgb: var(--color-shadow-rgb);

  background-color: var(--color-background);
  color: var(--color-foreground);
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

.wrap-text {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

p:empty {
  display: none;
}

:first-child:is(p, h1, h2, h3, h4, h5, h6),
:first-child:empty + :where(p, h1, h2, h3, h4, h5, h6) {
  margin-block-start: 0;
}

/* Remove bottom margin from last text item, or previous to last if the last is empty */
:last-child:is(p, h1, h2, h3, h4, h5, h6),
:where(p, h1, h2, h3, h4, h5, h6):nth-child(2):has(+ :last-child:empty) {
  margin-block-end: 0;
}

/* view transitions */

/*
 * The cross-document (MPA) opt-in `@view-transition { navigation: auto }` is declared per-layout
 * (layout/theme.liquid and layout/password.liquid), because this stylesheet is shared by both layouts
 * and a static stylesheet can't read theme settings.
 * It is gated on the same `settings.page_transition_enabled or settings.transition_to_main_product` condition as the
 * render blocker, so the opt-in and its opt-out switch can never disagree. The rules below only
 * take effect once an `@view-transition` opt-in is active, so they are inert without it.
 */
@media (prefers-reduced-motion: no-preference) {
  /* Keep page interactive while view transitions are running */
  :root {
    view-transition-name: none;
  }

  /* Have the root transition during page navigation */
  html:active-view-transition-type(page-navigation),
  html:active-view-transition-type(product-image-transition) {
    view-transition-name: root-custom;
  }

  ::view-transition {
    pointer-events: none;
  }

  html:active-view-transition-type(page-navigation) main[data-page-transition-enabled='true'] {
    view-transition-name: main-content;
  }

  html:active-view-transition-type(page-navigation) main[data-product-transition='true'][data-template*='product'] {
    view-transition-name: none;
  }

  ::view-transition-old(main-content) {
    animation: var(--view-transition-old-main-content);
  }

  ::view-transition-new(main-content) {
    animation: var(--view-transition-new-main-content);
  }

  html:active-view-transition-type(product-image-transition) {
    [data-view-transition-type='product-image-transition'] {
      view-transition-name: product-image-transition;
    }

    [data-view-transition-type='product-details'] {
      view-transition-name: product-details;
    }
  }

  ::view-transition-group(product-image-transition) {
    z-index: 1;
  }

  ::view-transition-group(product-image-transition),
  ::view-transition-group(product-details) {
    animation-duration: var(--animation-speed);
    animation-timing-function: var(--animation-easing);
  }

  ::view-transition-old(product-image-transition),
  ::view-transition-new(product-image-transition) {
    block-size: 100%;
    overflow: hidden;
    object-fit: cover;
    animation-duration: 0.25s;
    animation-timing-function: var(--animation-easing);
  }

  ::view-transition-new(product-details) {
    animation: var(--view-transition-new-main-content);
  }
}

/* Focus */
*:focus-visible {
  outline: var(--focus-outline-width) solid currentcolor;
  outline-offset: var(--focus-outline-offset);
}

@supports not selector(:focus-visible) {
  *:focus {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }
}

.focus-inset {
  outline-offset: calc(var(--focus-outline-width) * -1);
}

/* Layout */
.content-for-layout {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.content-for-layout > .shopify-section:last-child {
  flex-grow: 1;
}

/* Set up page widths & margins. Gutters grow to the device safe-area insets (viewport-fit=cover)
   so section backgrounds bleed edge-to-edge while content stays clear of the notch; taking the
   larger of both insets keeps the centered page grid symmetric. */
.page-width-wide,
.page-width-normal,
.page-width-narrow,
.page-width-content {
  --page-margin: max(16px, var(--safe-area-inset-left, 0px), var(--safe-area-inset-right, 0px));
}

@media screen and (min-width: 750px) {
  .page-width-wide,
  .page-width-normal,
  .page-width-narrow,
  .page-width-content {
    --page-margin: max(40px, var(--safe-area-inset-left, 0px), var(--safe-area-inset-right, 0px));
  }
}

.page-width-wide {
  /* NOTE: This results in a page width of 2400px because of how we set up margins with grid */
  --page-content-width: var(--wide-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}

.page-width-normal {
  --page-content-width: var(--normal-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}

.page-width-narrow {
  /* NOTE: This results in a page width of 1400px because of how we set up margins with grid */
  --page-content-width: var(--narrow-page-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}

.page-width-content {
  --page-content-width: var(--normal-content-width);
  --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
}

/* Section width full vs. page
   The reason we use a grid to contain the section is to allow for the section to have a
   full-width background image even if the section content is constrained by the page width. Do not try
   to rewrite this to max-width: --page-width; margin: 0 auto;, it doesn't work. */
.section {
  --full-page-grid-central-column-width: min(
    var(--page-width) - var(--page-margin) * 2,
    calc(100% - var(--page-margin) * 2)
  );
  --full-page-grid-margin: minmax(var(--page-margin), 1fr);
  --full-page-grid-with-margins: var(--full-page-grid-margin) var(--full-page-grid-central-column-width)
    var(--full-page-grid-margin);

  /* Utility variable gives the grid's first column width. Provides an offset width for components like carousels */
  --util-page-margin-offset: max(
    var(--page-margin),
    calc((100% - min(var(--page-content-width), 100% - var(--page-margin) * 2)) / 2)
  );

  /* Offset for full-width sections to account for the page margin,
  used for Marquee — note that --util-page-margin-offset doesn't work here */
  --full-page-margin-inline-offset: calc(((100vw - var(--full-page-grid-central-column-width)) / 2) * -1);

  width: 100%;

  /* This is required to make background images work, which are <img> rendered absolutely */
  position: relative;

  /* Set up the grid */
  display: grid;
  grid-template-columns: var(--full-page-grid-with-margins);
  min-height: var(--section-min-height, 'auto');
}

/* Place all direct children in the center column by default */
.section > * {
  grid-column: 2;
}

/* Make the actual section background transparent, and instead apply it to a separate sibling element to enable stacking with hero shadow  */
.shopify-section:not(.header-section) :is(.section, .cart-summary) {
  background: transparent;
}

.shopify-section:not(.header-section):has(.section) {
  position: relative;
}

.shopify-section:not(.header-section) .section-background {
  content: '';
  position: absolute;
  inset: 0;
  z-index: var(--layer-section-background);
  background-color: var(--color-background);
}

/* For page-width sections, all content goes in the center column */
.section--page-width > * {
  grid-column: 2;
}

/* For full-width sections, content spans all columns */
.section--full-width > * {
  grid-column: 1 / -1;
}

@media screen and (max-width: 749px) {
  .section--mobile-full-width > * {
    grid-column: 1 / -1;
  }
}

/* For full-width sections with margin, content still spans full width but with space on the sides */
.section--full-width.section--full-width-margin > * {
  grid-column: 1 / -1;

  @media screen and (min-width: 750px) {
    padding-inline: var(--page-margin);
  }
}

/* Some section content break out to full width of the page */
.section > .force-full-width {
  grid-column: 1 / -1;
}

.section--height-small {
  --section-min-height: var(--section-height-small);
}

.section--height-medium {
  --section-min-height: var(--section-height-medium);
}

.section--height-large {
  --section-min-height: var(--section-height-large);
}

.section--height-full-screen {
  --section-min-height: 100svh;
}

.section-content-wrapper.section-content-wrapper {
  min-height: calc(var(--section-min-height, 'auto') - var(--section-height-offset, 0px));
  position: relative;
  width: 100%;
  height: 100%;
}

/* Utility */

.hidden {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}

@media screen and (max-width: 749px) {
  .hidden--mobile,
  .mobile\:hidden {
    /* stylelint-disable-next-line declaration-no-important */
    display: none !important;
  }
}

@media screen and (min-width: 750px) {
  .hidden--desktop,
  .desktop\:hidden {
    /* stylelint-disable-next-line declaration-no-important */
    display: none !important;
  }
}

.hide-when-empty:empty {
  /* stylelint-disable-next-line declaration-no-important */
  display: none !important;
}

.visually-hidden:not(:focus, :active) {
  /* stylelint-disable-next-line declaration-no-important */
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  /* stylelint-disable-next-line declaration-no-important */
  word-wrap: normal !important;
}

.contents {
  display: contents;
}

.flex {
  display: flex;
  gap: var(--gap-md);
}

.grid {
  --centered-column-number: 12;
  --full-width-column-number: 14;
  --centered: column-1 / span var(--centered-column-number);
  --full-width: column-0 / span var(--full-width-column-number);

  display: flex;
  flex-direction: column;
}

@media screen and (min-width: 750px) {
  .grid {
    display: grid;
    gap: 0;
    grid-template-columns: var(--margin-4xl) repeat(var(--centered-column-number), minmax(0, 1fr)) var(--margin-4xl);
    grid-template-areas: 'column-0 column-1 column-2 column-3 column-4 column-5 column-6 column-7 column-8 column-9 column-10 column-11 column-12 column-13';
  }
}

@media screen and (min-width: 1400px) {
  .grid {
    grid-template-columns:
      1fr repeat(
        var(--centered-column-number),
        minmax(0, calc((var(--page-width) - var(--page-margin) * 2) / var(--centered-column-number)))
      )
      1fr;
  }
}

.flip-x {
  scale: -1 1;
}

.list-unstyled {
  margin: 0;
  padding: 0;
  list-style: none;
}

.text-left {
  --text-align: start;

  text-align: start;
}

.text-center {
  --text-align: center;

  text-align: center;
}

.text-right {
  --text-align: end;

  text-align: end;
}

.text-inherit {
  color: inherit;
}

.user-select-text {
  user-select: text;
}

.justify-left {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-right {
  justify-content: flex-end;
}

.svg-wrapper {
  color: currentcolor;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
  pointer-events: none;
}

.svg-wrapper--smaller {
  width: var(--icon-size-2xs);
  height: var(--icon-size-2xs);
}

.svg-wrapper--small {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs);
}

.svg-wrapper > svg {
  width: var(--icon-size-sm);
  height: var(--icon-size-sm);
}

.relative {
  position: relative;
}

/* Icons */
.icon-success,
.icon-error {
  width: var(--icon-size-md);
  height: var(--icon-size-md);
  flex-shrink: 0;
}

.icon-success {
  color: var(--color-success);
}

.icon-error {
  fill: var(--color-error);
}

.icon-default {
  fill: currentColor;
}

[data-placeholder='true'] * {
  cursor: default;
}

/* Base text and heading styles */
body,
.paragraph:not(.button),
.paragraph > *,
.text-block.paragraph :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-weight: var(--font-paragraph--weight);
  font-size: var(--font-paragraph--size);
  line-height: var(--font-paragraph--line-height);
  text-transform: var(--font-paragraph--case);
  -webkit-font-smoothing: antialiased;
  color: var(--color, var(--color-foreground));
}

/* Ensure inputs with type presets maintain minimum 16px on mobile to prevent iOS zoom */
@media screen and (max-width: 1200px) {
  input.paragraph.paragraph,
  input.paragraph.paragraph:not([type]),
  textarea.paragraph.paragraph,
  select.paragraph.paragraph {
    font-size: max(1rem, var(--font-paragraph--size));
  }
}

.paragraph > small {
  font-size: smaller;
}

/* Typography presets */

h1,
.h1.h1,
.text-block.h1 > *,
.text-block.h1 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h1--family);
  font-style: var(--font-h1--style);
  font-weight: var(--font-h1--weight);
  font-size: var(--font-h1--size);
  line-height: var(--font-h1--line-height);
  letter-spacing: var(--font-h1--letter-spacing);
  text-transform: var(--font-h1--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h1.h1,
  textarea.h1.h1,
  select.h1.h1 {
    font-size: max(1rem, var(--font-h1--size));
  }
}

h2,
.h2.h2,
.text-block.h2 > *,
.text-block.h2 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h2--family);
  font-style: var(--font-h2--style);
  font-weight: var(--font-h2--weight);
  font-size: var(--font-h2--size);
  line-height: var(--font-h2--line-height);
  letter-spacing: var(--font-h2--letter-spacing);
  text-transform: var(--font-h2--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h2.h2,
  textarea.h2.h2,
  select.h2.h2 {
    font-size: max(1rem, var(--font-h2--size));
  }
}

h3,
.h3,
.h3.h3,
.text-block.h3 > *,
.text-block.h3 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h3--family);
  font-style: var(--font-h3--style);
  font-weight: var(--font-h3--weight);
  font-size: var(--font-h3--size);
  line-height: var(--font-h3--line-height);
  letter-spacing: var(--font-h3--letter-spacing);
  text-transform: var(--font-h3--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h3,
  textarea.h3,
  select.h3 {
    font-size: max(1rem, var(--font-h3--size));
  }
}

h4,
.h4.h4,
.text-block.h4 > *,
.text-block.h4 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h4--family);
  font-style: var(--font-h4--style);
  font-weight: var(--font-h4--weight);
  font-size: var(--font-h4--size);
  line-height: var(--font-h4--line-height);
  letter-spacing: var(--font-h4--letter-spacing);
  text-transform: var(--font-h4--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h4.h4,
  textarea.h4.h4,
  select.h4.h4 {
    font-size: max(1rem, var(--font-h4--size));
  }
}

h5,
.h5.h5,
.text-block.h5 > *,
.text-block.h5 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h5--family);
  font-style: var(--font-h5--style);
  font-weight: var(--font-h5--weight);
  font-size: var(--font-h5--size);
  line-height: var(--font-h5--line-height);
  letter-spacing: var(--font-h5--letter-spacing);
  text-transform: var(--font-h5--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h5.h5,
  textarea.h5.h5,
  select.h5.h5 {
    font-size: max(1rem, var(--font-h5--size));
  }
}

h6,
.h6.h6,
.text-block.h6 > *,
.text-block.h6 :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-h6--family);
  font-style: var(--font-h6--style);
  font-weight: var(--font-h6--weight);
  font-size: var(--font-h6--size);
  line-height: var(--font-h6--line-height);
  letter-spacing: var(--font-h6--letter-spacing);
  text-transform: var(--font-h6--case);
  color: var(--color);
}

@media screen and (max-width: 1200px) {
  input.h6.h6,
  textarea.h6.h6,
  select.h6.h6 {
    font-size: max(1rem, var(--font-h6--size));
  }
}

:first-child:is(.h1, .h2, .h3, .h4, .h5, .h6) {
  margin-block-start: 0;
}

:last-child:is(.h1, .h2, .h3, .h4, .h5, .h6) {
  margin-block-end: 0;
}

/* Links */
a {
  color: currentcolor;
  text-decoration-color: transparent;
  text-decoration-thickness: 0.075em;
  text-underline-offset: 0.125em;
  transition: text-decoration-color var(--animation-speed) var(--animation-easing),
    color var(--animation-speed) var(--animation-easing);
}

:is(h1, h2, h3, h4, h5, h6, p) > a:hover {
  color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / 0.7);
}

/* Add underline to text using our paragraph styles only. */
p:not(.h1, .h2, .h3, .h4, .h5, .h6) a:where(:not(.button, .button-secondary)),
.rte :is(p, ul, ol, table):not(.h1, .h2, .h3, .h4, .h5, .h6) a:where(:not(.button, .button-secondary)) {
  text-decoration-color: currentcolor;

  &:hover {
    text-decoration-color: currentcolor;
    color: rgb(var(--color-rgb, var(--color-foreground-rgb)) / 0.7);
  }
}

.container-background-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

/* iOS fix: hide the default arrow on the summary */
summary::-webkit-details-marker {
  display: none;
}

/* Buttons */
.button,
.button-secondary,
.button-custom,
button.shopify-payment-button__button--unbranded {
  --text-align: center;

  display: grid;
  align-content: center;
  text-decoration: none;
  text-align: var(--text-align);
  color: var(--button-color);
  appearance: none;
  background-color: var(--button-background-color);
  border: none;
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-weight: var(--font-paragraph--weight);
  font-size: var(--font-paragraph--size);
  line-height: var(--font-paragraph--line-height);
  margin-block: 0;
  transition: color var(--animation-speed) var(--animation-easing),
    box-shadow var(--animation-speed) var(--animation-easing),
    background-color var(--animation-speed) var(--animation-easing);
  cursor: pointer;
  width: fit-content;
  box-shadow: inset 0 0 0 var(--button-border-width) var(--button-border-color);
  padding-block: var(--button-padding-block);
  padding-inline: var(--button-padding-inline);
}

.button {
  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
  border-radius: var(--style-border-radius-buttons-primary);
}

.button:not(.button-secondary, .button-unstyled) {
  outline-color: var(--button-focus-outline-color, var(--button-background-color));
}

.button-secondary {
  font-family: var(--button-font-family-secondary);
  text-transform: var(--button-text-case-secondary);
  border-radius: var(--style-border-radius-buttons-secondary);
}

button.shopify-payment-button__button--unbranded {
  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
}

textarea,
input:not([type='checkbox'], [type='radio']) {
  background-color: var(--color-input-background);
  border-color: var(--color-input-border);
}

textarea::placeholder,
input::placeholder {
  color: rgb(var(--color-input-text-rgb) / var(--opacity-muted-text));
}

textarea:not(:placeholder-shown)::placeholder,
input:not(:placeholder-shown)::placeholder {
  opacity: 0;
}

/* The declaration above is messing with buttons that have an attribute of hidden as it overwrites the display value */
.button[hidden] {
  display: none;
}

.button[aria-disabled='true'],
.button-secondary[aria-disabled='true'],
.button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.button,
button.shopify-payment-button__button--unbranded {
  --button-color: var(--color-primary-button-text);
  --button-background-color: var(--color-primary-button-background);
  --button-border-color: var(--color-primary-button-border);
  --button-border-width: var(--style-border-width-primary);
  --button-focus-outline-color: var(--color-primary-button-focus-outline);
}

.button:hover,
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  --button-color: var(--color-primary-button-hover-text);
  --button-background-color: var(--color-primary-button-hover-background);
  --button-border-color: var(--color-primary-button-hover-border);
}

.button-secondary {
  --button-color: var(--color-secondary-button-text);
  --button-background-color: var(--color-secondary-button-background);
  --button-border-color: var(--color-secondary-button-border);
  --button-border-width: var(--style-border-width-secondary);
}

.button-secondary:hover {
  --button-color: var(--color-secondary-button-hover-text);
  --button-background-color: var(--color-secondary-button-hover-background);
  --button-border-color: var(--color-secondary-button-hover-border);
}

.button-custom {
  --button-color: var(--color-primary-button-text);
  --button-background-color: var(--color-primary-button-background);
  --button-border-color: var(--color-primary-button-border);
  --button-border-width: var(--style-border-width-secondary);
  --button-focus-outline-color: var(--color-primary-button-focus-outline);

  font-family: var(--button-font-family-primary);
  text-transform: var(--button-text-case-primary);
  border-radius: var(--style-border-radius-buttons-primary);
  outline-color: var(--button-focus-outline-color, var(--button-background-color));
}

.button-custom:hover {
  --button-color: var(--color-primary-button-hover-text);
  --button-background-color: var(--color-primary-button-hover-background);
  --button-border-color: var(--color-primary-button-hover-border);
}

/* Needed to override the default Shopify styles */
button.shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: var(--button-background-color);
}

.button-unstyled {
  display: block;
  padding: 0;
  background-color: inherit;
  color: var(--color-foreground);
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  font-family: var(--font-paragraph--family);
  font-style: var(--font-paragraph--style);
  font-size: var(--font-paragraph--size);
}

.button-unstyled:hover {
  background-color: inherit;
}

/* Default hover dim for link-style buttons, scoped via :where() so component-specific
   hover rules (.facets__clear-all-link, .header-actions__action, etc.) still win. */
:where(.button-unstyled):hover {
  --hover-color-rgb: var(--color-foreground-rgb);

  color: rgb(var(--hover-color-rgb) / var(--opacity-70));
}

.button-unstyled--with-icon {
  color: var(--color-foreground);
  display: flex;
  gap: var(--gap-2xs);
  align-items: center;
}

.button-unstyled--transparent {
  background-color: transparent;
  box-shadow: none;
}

/* Caret icon transition */
.icon-caret svg {
  transition: transform var(--animation-speed) var(--animation-easing);
}

summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  padding-block: var(--padding-sm);
}

summary:hover {
  color: rgb(var(--color-foreground-rgb) / var(--opacity-80));
}

/* Animate the UI elements in only after the view transition is complete */
.close-button {
  position: fixed;

  /* Keep the fixed close button clear of the status bar and inline-end notch (viewport-fit=cover) */
  top: max(var(--margin-lg), var(--safe-area-inset-top, 0px));
  inset-inline-end: max(var(--margin-lg), var(--safe-area-inset-right, 0px));
  width: var(--minimum-touch-target);
  height: var(--minimum-touch-target);
  z-index: var(--layer-flat);
  background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;

  /* For the outline radius */
  border-radius: 50%;
}

/* Safe-area env() values are physical; in RTL the button sits by the left-side notch */
[dir='rtl'] .close-button {
  inset-inline-end: max(var(--margin-lg), var(--safe-area-inset-left, 0px));
}

/* This triggers iOS < 16.4. The outline bug is not recognized as a lack of @supports */

@supports not (background-color: rgb(from red 150 g b / alpha)) {
  /**
    There is a bug in safari < 16.4 that causes the outline to not follow the elements border radius. This is a workaround.
    Using element selector to increase specificity.
  **/

  .close-button:focus-visible {
    outline: none;
    overflow: visible;
  }

  .close-button:focus-visible::after {
    content: '';
    position: absolute;
    inset: calc(-1 * var(--focus-outline-offset));
    border: var(--focus-outline-width) solid currentColor;
    border-radius: 50%;
    display: inherit;
  }
}

.dialog--closed .close-button {
  animation: elementSlideOutBottom calc(var(--animation-speed) * 0.5) var(--animation-easing) forwards;
}

.close-button:hover {
  background-color: transparent;
  opacity: 0.8;
}

.close-button svg {
  width: var(--icon-size-xs);
  height: var(--icon-size-xs);
}

/* Product media */
.product-media {
  display: flex;
  flex: 1;
}

.sticky-content {
  position: sticky;
  top: var(--sticky-header-offset, 0);
  z-index: var(--layer-flat);
}

@media screen and (min-width: 750px) {
  .sticky-content--desktop,
  .sticky-content--desktop.full-height--desktop > .group-block {
    position: sticky;
    top: var(--sticky-header-offset, 0);
    z-index: var(--layer-flat);
  }
}

/* Spacing style */
.spacing-style {
  --spacing-scale: var(--spacing-scale-md);

  @media screen and (min-width: 990px) {
    --spacing-scale: var(--spacing-scale-default);
  }

  /* Must disable this, when you use these with calc and another unit type, things break — see logo.liquid */
  /* stylelint-disable length-zero-no-unit */
  --padding-block: 0px;
  --padding-block-start: var(--padding-block, 0px);
  --padding-block-end: var(--padding-block, 0px);
  --padding-inline: 0px;
  --padding-inline-start: var(--padding-inline, 0px);
  --padding-inline-end: var(--padding-inline, 0px);
  --margin-block: 0px;
  --margin-block-start: var(--margin-block, 0px);
  --margin-block-end: var(--margin-block, 0px);
  --margin-inline: 0px;
  --margin-inline-start: var(--margin-inline, 0px);
  --margin-inline-end: var(--margin-inline, 0px);

  padding-block: calc(var(--padding-block-start) + var(--section-top-offset, 0px)) var(--padding-block-end);
  padding-inline: var(--padding-inline-start) var(--padding-inline-end);
  margin-block: var(--margin-block-start) var(--margin-block-end);
  margin-inline: var(--margin-inline-start) var(--margin-inline-end);
}

/* Size style */
.size-style {
  width: var(--size-style-width-mobile, var(--size-style-width));
  height: var(--size-style-height-mobile, var(--size-style-height));

  @media screen and (min-width: 750px) {
    width: var(--size-style-width);
    height: var(--size-style-height);
  }
}

/* Custom Typography style */
.custom-typography,
.custom-typography > * {
  font-family: var(--font-family);
  font-weight: var(--font-weight);
  text-transform: var(--text-transform);
  text-wrap: var(--text-wrap);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
}

.custom-typography {
  h1 {
    line-height: var(--line-height--display, var(--line-height));
  }

  h2,
  h3,
  h4 {
    line-height: var(--line-height--heading, var(--line-height));
  }

  p {
    line-height: var(--line-height--body, var(--line-height));
  }
}

.custom-font-size,
.custom-font-size > * {
  font-size: var(--font-size);
}

.custom-font-weight,
.custom-font-weight > * {
  font-weight: var(--font-weight);
}

/* Border override style */
.border-style {
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--border-color);
  border-radius: var(--border-radius);
}

/* Gap scaling style */
.gap-style,
.layout-panel-flex {
  --gap-scale: var(--spacing-scale-md);

  @media screen and (min-width: 990px) {
    --gap-scale: var(--spacing-scale-default);
  }
}

.layout-panel-flex {
  display: flex;
  gap: var(--gap);
  height: 100%;
}

.shopify-block:has(> [shopify-block-empty]) {
  display: none;
}

.layout-panel-flex--row {
  flex-flow: row var(--flex-wrap);
  justify-content: var(--horizontal-alignment);
  align-items: var(--vertical-alignment);
}

.layout-panel-flex--column {
  flex-flow: column var(--flex-wrap);
  align-items: var(--horizontal-alignment);
  justify-content: var(--vertical-alignment);
}

@media screen and (max-width: 749px) {
  .mobile-column {
    flex-flow: column nowrap;
    align-items: var(--horizontal-alignment);
    justify-content: var(--vertical-alignment-mobile);
  }

  .layout-panel-flex--row:not(.mobile-column) {
    flex-wrap: var(--flex-wrap-mobile);
    height: auto;

    > .menu {
      flex: 1 1 min-content;
    }

    > .text-block {
      flex: 1 1 var(--max-width--display-tight);
    }

    > .image-block {
      flex: 1 1 var(--size-style-width-mobile-min);
    }

    > .button {
      flex: 0 0 fit-content;
    }

    > .group-block--height-fill {
      height: calc(var(--section-min-height, auto) - var(--section-height-offset, 0px));
    }
  }
}

@media screen and (min-width: 750px) {
  .layout-panel-flex {
    flex-direction: var(--flex-direction);
  }
}

/* Form fields */
.field {
  position: relative;
  width: 100%;
  display: flex;
  transition: box-shadow var(--animation-speed) ease;
}

.field__input {
  flex-grow: 1;
  text-align: start;
  border-radius: var(--style-border-radius-inputs);
  transition: box-shadow var(--animation-speed) ease, background-color var(--animation-speed) ease;
  padding: var(--input-padding);
  box-shadow: var(--input-box-shadow);
  background-color: var(--color-input-background);
  color: var(--color-input-text);
  border: none;
  outline: none;
  font-size: var(--font-paragraph--size);

  &:autofill {
    background-color: var(--color-input-background);
    color: var(--color-input-text);
  }
}

.field__input:focus {
  box-shadow: var(--input-box-shadow-focus);
}

.field__input--button-radius {
  border-radius: var(--style-border-radius-buttons-primary);
}

.field__input--button-padding {
  padding-inline: var(--padding-3xl);
}

.field__label {
  color: rgb(var(--color-input-text-rgb) / var(--opacity-80));
  font-size: var(--font-paragraph--size);
  inset-inline-start: var(--input-padding-x);
  top: 50%;
  transform: translateY(-50%);
  margin-bottom: 0;
  pointer-events: none;
  position: absolute;
  transition: top var(--animation-speed) ease, font-size var(--animation-speed) ease;
}

/* RTE styles */
.rte,
.shopify-policy__title {
  :is(h1, h2, h3, h4, h5, h6) {
    margin-block: clamp(1.5rem, 1em * 3.3, 2.5rem) var(--font-heading--spacing);
  }

  :first-child:is(p, h1, h2, h3, h4, h5, h6),
  :first-child:empty + :is(p, h1, h2, h3, h4, h5, h6) {
    margin-block-start: 0;
  }

  ul,
  ol {
    margin-block-start: 0;
    padding-inline-start: 1.5em;
  }

  /* Only apply margin-block-end to the higher level list, not nested lists */
  :is(ul, ol):not(:is(ul, ol) :is(ul, ol)) {
    margin-block-end: 1em;
  }

  blockquote {
    margin-inline: 1.5em 2.3em;
    margin-block: 3.8em;
    padding-inline-start: 0.8em;
    border-inline-start: 1.5px solid rgb(var(--color-foreground-rgb) / var(--opacity-25));
    font-style: italic;
    font-weight: 500;
  }

  .rte-table-wrapper {
    overflow-x: auto;
  }

  table {
    /* stylelint-disable-next-line declaration-no-important */
    width: 100% !important;
    border-collapse: collapse;
  }

  tr:not(:has(td)),
  thead {
    background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
    font-weight: bold;
    text-transform: uppercase;
  }

  tr:has(td) {
    border-bottom: 1px solid rgb(var(--color-foreground-rgb) / var(--opacity-10));
  }

  th,
  td {
    text-align: start;
    padding-inline: var(--padding-md);
    padding-block: var(--padding-sm);
  }
}

.shopify-policy__container {
  padding-block: var(--padding-xl);
}

/* Radio buttons and checkboxes - shared base styles */
:where(input[type='radio']),
:where(input[type='checkbox']) {
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  aspect-ratio: 1;
  margin: 0;
  margin-inline-end: var(--padding-3xs);
  padding: 0;
  border: var(--checkbox-border);
  appearance: none;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}

/* Radio buttons */
input[type='radio'] {
  border-radius: var(--style-border-radius-50);
  background: transparent;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

:where(input[type='radio']):checked {
  border-color: var(--color-foreground);
  background: var(--color-background);
}

:where(input[type='radio']):checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%; /* stylelint-disable-line csstools/use-logical -- centring pair with a physical translate(-50%) */
  transform: translate(-50%, -50%);
  width: calc(var(--checkbox-size) / 2);
  height: calc(var(--checkbox-size) / 2);
  background: var(--color-foreground);
  border-radius: var(--style-border-radius-50);
  transition: background 0.2s ease;
}

:where(input[type='radio']):disabled {
  border-color: var(--input-disabled-border-color);
  background-color: var(--input-disabled-background-color);
  cursor: not-allowed;
}

:where(input[type='radio']):disabled:checked::after {
  background: var(--input-disabled-background-color);
}

:where(input[type='radio']):not(:disabled):hover {
  border-color: rgb(var(--color-foreground-rgb) / var(--opacity-40-60));
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
}

:where(input[type='radio']):not(:disabled):hover:checked {
  border-color: var(--color-foreground);
  background-color: var(--color-background);
}

:where(input[type='radio']):not(:disabled):hover:checked::after {
  background: rgb(var(--color-foreground-rgb) / var(--opacity-85));
}

/* Checkboxes */
:where(input[type='checkbox']) {
  border-radius: var(--checkbox-border-radius);
  background-color: var(--color-background);
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

:where(input[type='checkbox']):checked {
  background-color: var(--color-foreground);
  border-color: var(--color-foreground);
}

:where(input[type='checkbox']):checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%; /* stylelint-disable-line csstools/use-logical -- centring pair with a physical translate(-50%) */
  transform: translate(-50%, -50%);
  width: var(--checkbox-size);
  height: var(--checkbox-size);
  background-color: var(--color-background);
  mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.75439 10.7485L7.68601 14.5888C7.79288 14.7288 7.84632 14.7988 7.91174 14.8242C7.96907 14.8466 8.03262 14.8469 8.09022 14.8253C8.15596 14.8007 8.21026 14.7314 8.31886 14.5927L15.2475 5.74658' stroke='black' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
}

:where(input[type='checkbox']):not(:disabled):hover {
  border-color: rgb(var(--color-foreground-rgb) / var(--opacity-40-60));
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-5));
}

:where(input[type='checkbox']):not(:disabled):hover:checked {
  border-color: var(--color-foreground);
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-85));
}

:where(input[type='checkbox']):disabled {
  background-color: var(--input-disabled-background-color);
  border-color: var(--input-disabled-border-color);
  cursor: not-allowed;
}

:where(input[type='checkbox']):disabled:checked::after {
  background-color: var(--input-disabled-text-color);
}

/* Shared styles for radio buttons and checkboxes */
:where(input[type='radio']) + label,
:where(input[type='checkbox']) + label {
  display: inline;
  vertical-align: middle;
  cursor: pointer;
}

:where(input[type='radio']):disabled + label,
:where(input[type='checkbox']):disabled + label {
  color: var(--input-disabled-text-color);
  cursor: not-allowed;
}

/* Animation declarations - to be kept at the bottom of the file for ease of find */
@keyframes grow {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes move-and-fade {
  from {
    transform: translate(var(--start-x, 0), var(--start-y, 0));
    opacity: var(--start-opacity, 0);
  }

  to {
    transform: translate(var(--end-x, 0), var(--end-y, 0));
    opacity: var(--end-opacity, 1);
  }
}

@keyframes slideInTopViewTransition {
  from {
    transform: translateY(100px);
  }
}

@keyframes elementSlideInTop {
  from {
    margin-top: var(--padding-sm);
    opacity: 0;
  }

  to {
    margin-top: 0;
    opacity: 1;
  }
}

@keyframes elementSlideOutTop {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }
}

@keyframes elementSlideOutBottom {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(calc(-1 * var(--padding-sm)));
    opacity: 0;
  }
}

@keyframes thumbnailsSlideInTop {
  from {
    transform: translateY(calc(-50% + var(--margin-lg)));
    opacity: 0;
  }

  to {
    transform: translateY(-50%);
    opacity: 1;
  }
}

@keyframes thumbnailsSlideOutTop {
  from {
    transform: translateY(-50%);
    opacity: 1;
  }

  to {
    transform: translateY(calc(-50% + var(--margin-lg)));
    opacity: 0;
  }
}

@keyframes thumbnailsSlideInBottom {
  from {
    transform: translateY(100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes thumbnailsSlideOutBottom {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(100%);
    opacity: 0;
  }
}

@keyframes search-element-slide-in-bottom {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes search-element-slide-out-bottom {
  0% {
    transform: translateY(0);
    opacity: 1;
  }

  100% {
    transform: translateY(20px);
    opacity: 0;
  }
}

@keyframes backdropFilter {
  from {
    backdrop-filter: brightness(1);
  }

  to {
    backdrop-filter: brightness(0.75);
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes modalSlideInTop {
  from {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes modalSlideOutTop {
  from {
    transform: translateY(0);
    opacity: 1;
  }

  to {
    transform: translateY(var(--padding-sm));
    opacity: 0;
  }
}

/* Slideshow Arrow Hover Animation - must stay in base.css for proper CSS cascade */

slideshow-container[animate-arrows]:hover > slideshow-arrows .slideshow-control,
slideshow-component:focus-within > slideshow-container[animate-arrows] > slideshow-arrows .slideshow-control {
  animation: arrowsSlideIn var(--animation-speed) var(--animation-easing) forwards;
}

@keyframes arrowsSlideIn {
  from {
    transform: translate(var(--padding-sm), 0);
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.section-resource-list,
.section-carousel {
  row-gap: var(--gap);
}

.section-resource-list__content {
  display: flex;
  flex-direction: column;
  align-items: var(--horizontal-alignment);
  gap: var(--gap);
  width: 100%;
}

.section-resource-list__header:is(:empty, :has(.group-block-content:empty)),
.section-resource-list__content:empty {
  display: none;
}

:where(.section-resource-list.section--full-width) product-card[data-product-transition] > .group-block,
:where(.section-carousel.section--full-width) product-card[data-product-transition] > .group-block {
  @media screen and (max-width: 749px) {
    padding-inline: max(var(--padding-xs), var(--padding-inline-start))
      max(var(--padding-xs), var(--padding-inline-end));
  }
}

/* Base styles */
.group-block,
.group-block-content {
  position: relative;
}

.group-block:has(> video-background-component) {
  overflow: hidden;
}

.group-block-content {
  height: 100%;
  width: 100%;
}

/* Container styles */
.section-content-wrapper.section-content-wrapper:where(.layout-panel-flex) .group-block--fill {
  flex: 1;
}

/* Flex behavior for width variants */
.layout-panel-flex--row > .group-block--width-fit {
  flex: 0;
}

.layout-panel-flex--row > .group-block--width-fill {
  flex: 1;
}

.layout-panel-flex--row > .group-block--width-custom {
  flex-basis: var(--size-style-width);
}

/* Dimension utilities - Height */
.group-block--height-fit {
  height: auto;
}

.group-block--height-custom,
.group-block--height-fill {
  height: var(--size-style-height);
}

/* Flex behavior for height variants */
.layout-panel-flex--column > .group-block--height-fit {
  flex: 0 1 auto;
}

.layout-panel-flex--column > .group-block--height-fill {
  flex: 1;
}

.layout-panel-flex--column > .group-block--height-custom {
  flex-basis: var(--size-style-height);
}

/* Global scrollbar styles */

/* Webkit browsers */
::-webkit-scrollbar {
  width: 20px;
}

::-webkit-scrollbar-track {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-40));
  border-radius: 20px;
  border: 6px solid transparent;
  background-clip: content-box;
  transition: background-color 0.2s;
}

::-webkit-scrollbar-thumb:hover {
  background-color: rgb(var(--color-foreground-rgb) / var(--opacity-60));
}

/* Prevent iOS zoom on input focus by ensuring minimum 16px font size on mobile */
@media screen and (max-width: 1200px) {
  input,
  textarea,
  select,
  /* Higher specificity to override type preset classes like .paragraph, .h1, etc. */
  .paragraph.paragraph input,
  .paragraph.paragraph textarea,
  .paragraph.paragraph select,
  .h1.h1 input,
  .h1.h1 textarea,
  .h1.h1 select,
  .h2.h2 input,
  .h2.h2 textarea,
  .h2.h2 select,
  .h3.h3 input,
  .h3.h3 textarea,
  .h3.h3 select,
  .h4.h4 input,
  .h4.h4 textarea,
  .h4.h4 select,
  .h5.h5 input,
  .h5.h5 textarea,
  .h5.h5 select,
  .h6.h6 input,
  .h6.h6 textarea,
  .h6.h6 select {
    font-size: max(1rem, 100%);
  }
}

/* When the header is transparent, and when there is no header-section below it, offset the first main-section with
 * the height of the header
 */
main > .shopify-section:first-child .section:not(.disable-section-top-offset) {
  &.spacing-style,
  .spacing-style {
    --section-top-offset: calc(var(--header-height) * var(--transparent-header-offset-boolean));

    /* Any nested sections should not be offset */
    .spacing-style {
      --section-top-offset: 0px;
    }
  }

  /* Make sticky content immediately stick to the top of the page */
  .sticky-content {
    margin-top: calc(var(--header-height) * var(--transparent-header-offset-boolean) * -1);
  }
}


/* creamycoatingcabinets brand refinement */
:root {
  --cc-cream: #F5F3EA;
  --cc-sage: #75866B;
  --cc-sage-light: #DDE4D5;
  --cc-ink: #253129;
}
body { letter-spacing: 0.01em; }
.header { backdrop-filter: saturate(120%) blur(12px); }
.header__row, .header__columns { transition: background-color .2s ease, box-shadow .2s ease; }
.header a { text-underline-offset: .3em; }
.button, button, [class*="button"] { transition: transform .18s ease, opacity .18s ease, background-color .18s ease; }
.button:hover { transform: translateY(-1px); }
.product-card, .resource-card { overflow: hidden; }
.product-card img, .resource-card img { transition: transform .35s ease; }
.product-card:hover img, .resource-card:hover img { transform: scale(1.025); }
.shopify-section h1, .shopify-section h2, .shopify-section h3 { letter-spacing: -0.025em; }
footer a { text-underline-offset: .25em; }
@media screen and (max-width: 749px) {
  .shopify-section h2 { letter-spacing: -0.018em; }
}


/* CCC SAFE REFINEMENT V7 */
:root{--cc-cream:#f5f3ea;--cc-paper:#fbfaf6;--cc-sage:#75866b;--cc-sage-soft:#dde4d5;--cc-ink:#253129;--cc-line:#c8d0c1}
/* tighter editorial rhythm without changing section content */
#MainContent > .shopify-section{position:relative}
#MainContent > .shopify-section:not(:first-child):not(:has([data-testid^="divider-"])) .section{border-radius:0}
/* product / collection grids: small deliberate gaps */
.product-grid,.resource-list,.collection-list{column-gap:10px!important;row-gap:12px!important}
.product-card,.resource-card{border-radius:10px;transition:transform .25s ease,box-shadow .25s ease;background:rgba(255,255,255,.38)}
.product-card:hover,.resource-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(37,49,41,.08)}
/* featured product on homepage: compact showroom panel */
featured-product-information .product-information{padding-inline:clamp(18px,3vw,46px);background:linear-gradient(135deg,var(--cc-cream) 0%,#f8f7f1 58%,var(--cc-sage-soft) 160%)}
featured-product-information .product-information__grid{align-items:center;min-height:0!important}
featured-product-information .product-information__media,featured-product-information .product-details{min-height:0!important}
featured-product-information .product-information__media{max-height:500px;overflow:hidden;border-radius:14px;background:#f7f8f7}
featured-product-information media-gallery,featured-product-information slideshow-container,featured-product-information slideshow-slides,featured-product-information slideshow-slide{max-height:500px!important}
featured-product-information .product-media-container,featured-product-information .product-media{max-height:500px!important}
featured-product-information .product-media img{max-height:500px!important;width:100%!important;object-fit:contain!important}
featured-product-information .product-details{align-self:center;padding:clamp(18px,2.4vw,34px)!important;border:1px solid rgba(117,134,107,.18);border-radius:14px;background:rgba(255,255,255,.52);box-shadow:0 14px 34px rgba(37,49,41,.055)}
/* divider becomes a designed motif rather than a plain rule */
[data-testid^="divider-"] .divider{gap:14px;justify-content:center!important;position:relative}
[data-testid^="divider-"] .divider::before,[data-testid^="divider-"] .divider::after{content:"";height:1px;flex:0 1 180px;background:linear-gradient(90deg,transparent,var(--cc-line))}
[data-testid^="divider-"] .divider::after{background:linear-gradient(90deg,var(--cc-line),transparent)}
[data-testid^="divider-"] .divider__line{flex:0 0 12px!important;width:12px!important;height:12px!important;min-height:12px!important;border:1px solid #aab6a1!important;background:var(--cc-sage-soft);transform:rotate(45deg);border-radius:2px!important;box-shadow:0 0 0 5px var(--cc-cream)}
/* headings get a restrained editorial accent */
#MainContent .shopify-section h2:not(.visually-hidden){position:relative}
#MainContent .shopify-section h2:not(.visually-hidden)::after{content:"";display:block;width:34px;height:2px;margin-top:10px;background:var(--cc-sage);border-radius:2px}
/* footer: give legal column more breathing room */
@media(min-width:990px){footer .footer-content{grid-template-columns:minmax(0,2.15fr) minmax(250px,.85fr)!important}footer .footer-content>group-block:first-child{display:grid!important;grid-template-columns:.9fr .9fr 1.35fr!important;gap:28px!important}}
.cc-footer-payments{width:min(var(--page-width),calc(100% - 40px));margin:0 auto;padding:18px 0 4px;border-top:1px solid rgba(37,49,41,.13);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cc-footer-payments__label{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.cc-footer-payments__icons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.cc-footer-payments__icons svg{height:24px;width:auto;filter:saturate(.85)}
@media(max-width:749px){featured-product-information .product-information{padding-inline:14px}featured-product-information .product-information__media{max-height:none}featured-product-information media-gallery,featured-product-information slideshow-container,featured-product-information slideshow-slides,featured-product-information slideshow-slide,featured-product-information .product-media-container,featured-product-information .product-media,featured-product-information .product-media img{max-height:none!important}.cc-footer-payments{justify-content:center;text-align:center}}


/* CCC V7.2 — showroom hero + compact 2x2 collection cards */
#Hero-hero_RkimKJ .hero__content-wrapper{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;max-width:none!important;padding:0!important;pointer-events:none;
}
#Hero-hero_RkimKJ .hero__content-wrapper .group-block{position:static!important;width:auto!important;max-width:none!important;}
#Hero-hero_RkimKJ .hero__content-wrapper .group-block-content{position:static!important;width:auto!important;display:block!important;}
#Hero-hero_RkimKJ .hero__content-wrapper .button{
  pointer-events:auto;position:absolute!important;left:31.5%!important;top:57%!important;transform:translateX(-50%)!important;
  min-width:210px;padding:15px 26px!important;border-radius:9px!important;box-shadow:0 10px 24px rgba(37,49,41,.12);letter-spacing:.045em;
}
#Hero-hero_RkimKJ .hero__content-wrapper .button:hover{transform:translateX(-50%) translateY(-2px)!important;}

#shopify-section-collection_list_PXaGWa .section,
#shopify-section-template--*__collection_list_PXaGWa .section{padding-top:28px!important;padding-bottom:30px!important;}
#MainContent .shopify-section:has(.editorial-collection__grid) .section{background:linear-gradient(180deg,#fbfaf6 0%,#f4f2e9 100%);}
#MainContent .shopify-section:has(.editorial-collection__grid) .resource-list{gap:14px!important;}
#MainContent .shopify-section:has(.editorial-collection__grid) .editorial-collection__grid{gap:14px!important;}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card{
  min-height:260px;border:1px solid rgba(37,49,41,.10)!important;border-radius:14px!important;background:#fbfaf7!important;overflow:hidden;box-shadow:0 10px 28px rgba(37,49,41,.055);transition:transform .25s ease,box-shadow .25s ease;
}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(37,49,41,.09);}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__inner{height:100%!important;display:grid!important;grid-template-columns:42% 58%;gap:0!important;align-items:stretch;}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__image{grid-column:2;grid-row:1;height:100%!important;min-height:260px!important;aspect-ratio:auto!important;background:#f5f6f5;}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__image .resource-image__image{width:100%!important;height:100%!important;object-fit:contain!important;padding:10px;transition:transform .35s ease;}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card:hover .collection-card__image .resource-image__image{transform:scale(1.025);}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__content{grid-column:1;grid-row:1;z-index:2;display:flex!important;align-items:flex-start;justify-content:center;padding:30px 18px 26px 26px!important;background:linear-gradient(90deg,#fbfaf7 80%,rgba(251,250,247,.72) 100%);}
.cc-collection-copy{margin:auto 0;max-width:220px;}
.cc-collection-copy h3{font-size:clamp(1.35rem,2vw,2rem);line-height:1.05;margin:0 0 10px;color:var(--cc-ink);letter-spacing:-.035em;}
.cc-collection-copy p{font-size:.93rem;line-height:1.45;margin:0 0 22px;color:rgba(37,49,41,.72);}
.cc-collection-cta{display:inline-flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid rgba(37,49,41,.35);border-radius:7px;font-size:.72rem;text-transform:uppercase;letter-spacing:.075em;color:var(--cc-ink);background:rgba(255,255,255,.45);}
.cc-collection-cta span{font-size:1rem;transition:transform .2s ease}.collection-card:hover .cc-collection-cta span{transform:translateX(3px)}
#MainContent .shopify-section:has(.editorial-collection__grid) h3:not(.cc-collection-copy h3){font-size:clamp(1.8rem,3vw,2.7rem);}

@media(max-width:989px) and (min-width:750px){
  #Hero-hero_RkimKJ .hero__content-wrapper .button{left:32%!important;top:60%!important;min-width:180px;}
  #MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__inner{grid-template-columns:45% 55%;}
  #MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__content{padding:22px 12px 20px 18px!important;}
}
@media(max-width:749px){
  #Hero-hero_RkimKJ .hero__content-wrapper .button{left:50%!important;top:62%!important;min-width:190px;padding:13px 20px!important;}
  #MainContent .shopify-section:has(.editorial-collection__grid) .collection-card{min-height:220px;}
  #MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__inner{grid-template-columns:44% 56%;}
  #MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__image{min-height:220px!important;}
  #MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__content{padding:20px 10px 18px 16px!important;}
  .cc-collection-copy h3{font-size:1.28rem}.cc-collection-copy p{font-size:.82rem;margin-bottom:16px}.cc-collection-cta{font-size:.64rem;padding:8px 9px;gap:7px}
}

/* CCC V7.3 — approved showroom direction: hero CTA + refined type */
:root{--cc-display:#24382d;--cc-body:#3f493f;--cc-muted:#6f786f;--cc-accent:#718367;--cc-warm:#f7f4eb}

/* Hero: detach CTA from the old left-aligned content group and anchor it beneath the artwork wordmark. */
#Hero-hero_RkimKJ{position:relative!important;}
#Hero-hero_RkimKJ .hero__content-wrapper{display:contents!important;}
#Hero-hero_RkimKJ .hero__content-wrapper .group-block,
#Hero-hero_RkimKJ .hero__content-wrapper .group-block-content{display:contents!important;}
#Hero-hero_RkimKJ .hero__content-wrapper .button{
  position:absolute!important;
  z-index:6!important;
  left:50%!important;
  top:58%!important;
  transform:translate(-50%,-50%)!important;
  min-width:220px!important;
  padding:15px 28px!important;
  border:1px solid rgba(255,255,255,.38)!important;
  border-radius:9px!important;
  background:#788b70!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(37,49,41,.14)!important;
  font-size:13px!important;
  font-weight:650!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
#Hero-hero_RkimKJ .hero__content-wrapper .button::after{content:' →';font-size:17px;margin-left:8px;font-weight:400;}
#Hero-hero_RkimKJ .hero__content-wrapper .button:hover{background:#64775d!important;transform:translate(-50%,-53%)!important;}

/* Overall typography: warmer editorial hierarchy, still clean and readable. */
body{color:var(--cc-body);font-size:15px;line-height:1.55;}
#MainContent h1,#MainContent h2,#MainContent h3{color:var(--cc-display);letter-spacing:-.025em;}
#MainContent h2{font-size:clamp(28px,2.6vw,42px)!important;line-height:1.08!important;font-weight:600!important;}
#MainContent h3{font-size:clamp(21px,1.8vw,30px);line-height:1.15;font-weight:600;}
#MainContent p{color:var(--cc-body);}
.product-card .product-title,.resource-card .product-title{font-size:15px!important;line-height:1.35!important;font-weight:600!important;color:var(--cc-display)!important;}
.price{color:#53624f!important;font-weight:600;}
.button,.button-secondary{font-weight:650;letter-spacing:.035em;}

/* Collection block: closer to approved visual — cream canvas, compact 2x2 cards and stronger titles. */
#MainContent .shopify-section:has(.editorial-collection__grid) .section{background:linear-gradient(180deg,#faf8f1 0%,#f4f1e7 100%)!important;padding-top:30px!important;padding-bottom:34px!important;}
#MainContent .shopify-section:has(.editorial-collection__grid) .editorial-collection__grid{gap:10px!important;}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card{min-height:238px!important;border-radius:10px!important;box-shadow:0 7px 20px rgba(37,49,41,.045)!important;}
#MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__image{min-height:238px!important;}
.cc-collection-copy h3{font-size:clamp(1.45rem,1.8vw,1.95rem)!important;font-weight:600!important;letter-spacing:-.035em!important;color:var(--cc-display)!important;}
.cc-collection-copy p{font-size:.9rem!important;color:var(--cc-muted)!important;line-height:1.45!important;margin-bottom:18px!important;}
.cc-collection-cta{border-color:rgba(36,56,45,.30)!important;color:var(--cc-display)!important;background:rgba(255,255,255,.38)!important;font-weight:600!important;}

/* Section separators: softer and decorative instead of a hard rule. */
[data-testid^="divider-"] .divider::before,[data-testid^="divider-"] .divider::after{max-width:150px;background:linear-gradient(90deg,transparent,rgba(113,131,103,.38))!important;}
[data-testid^="divider-"] .divider::after{background:linear-gradient(90deg,rgba(113,131,103,.38),transparent)!important;}
[data-testid^="divider-"] .divider__line{background:#dfe5d8!important;border-color:#9eac97!important;box-shadow:0 0 0 6px #f7f4eb!important;}

@media(max-width:989px) and (min-width:750px){
 #Hero-hero_RkimKJ .hero__content-wrapper .button{left:49%!important;top:60%!important;min-width:190px!important;padding:14px 22px!important;}
}
@media(max-width:749px){
 #Hero-hero_RkimKJ .hero__content-wrapper .button{left:50%!important;top:62%!important;min-width:178px!important;padding:13px 18px!important;font-size:11px!important;}
 #MainContent h2{font-size:28px!important;}
 body{font-size:14px;}
 #MainContent .shopify-section:has(.editorial-collection__grid) .collection-card{min-height:205px!important;}
 #MainContent .shopify-section:has(.editorial-collection__grid) .collection-card__image{min-height:205px!important;}
}

/* CCC V7.4 — native hero layout correction + typography polish */
#Hero-hero_RkimKJ .hero__content-wrapper{justify-content:flex-start!important;align-items:center!important;}
#Hero-hero_RkimKJ .hero__content-wrapper > .group-block{width:70%!important;max-width:70%!important;display:flex!important;justify-content:center!important;align-items:center!important;}
#Hero-hero_RkimKJ .hero__content-wrapper > .group-block .group-block-content{width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;}
#Hero-hero_RkimKJ .hero__content-wrapper .button{position:relative!important;left:auto!important;top:auto!important;transform:none!important;margin:92px auto 0!important;min-width:220px!important;padding:15px 28px!important;border-radius:9px!important;background:#788b70!important;color:#fff!important;box-shadow:0 10px 24px rgba(37,49,41,.13)!important;font-size:13px!important;font-weight:650!important;letter-spacing:.07em!important;}
#Hero-hero_RkimKJ .hero__content-wrapper .button:hover{transform:translateY(-2px)!important;background:#64775d!important;}
#MainContent{color:#3f493f;}
#MainContent h2{color:#24382d!important;font-weight:600!important;letter-spacing:-.035em!important;}
#MainContent h3,#MainContent h4,#MainContent h5{color:#31483a!important;letter-spacing:-.02em!important;}
#MainContent p{color:#59645b!important;}
@media(max-width:989px){#Hero-hero_RkimKJ .hero__content-wrapper > .group-block{width:72%!important;max-width:72%!important}#Hero-hero_RkimKJ .hero__content-wrapper .button{margin-top:70px!important;}}
@media(max-width:749px){#Hero-hero_RkimKJ .hero__content-wrapper > .group-block{width:100%!important;max-width:100%!important}#Hero-hero_RkimKJ .hero__content-wrapper .button{margin-top:84px!important;min-width:178px!important;padding:13px 18px!important;font-size:11px!important;}}

/* CCC V7.5 — final hero CTA placement + larger product typography */
@media (min-width: 990px) {
  #Hero-hero_RkimKJ .hero__content-wrapper {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    pointer-events: none !important;
    display: block !important;
  }
  #Hero-hero_RkimKJ .hero__content-wrapper > .group-block,
  #Hero-hero_RkimKJ .hero__content-wrapper > .group-block .group-block-content {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    display: block !important;
  }
  #Hero-hero_RkimKJ .hero__content-wrapper .button {
    position: absolute !important;
    left: 43% !important;
    top: 72% !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: auto !important;
    min-width: 220px !important;
    padding: 15px 30px !important;
    border-radius: 9px !important;
    background: #788b70 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    letter-spacing: .07em !important;
    box-shadow: 0 10px 24px rgba(37,49,41,.14) !important;
    z-index: 5 !important;
  }
  #Hero-hero_RkimKJ .hero__content-wrapper .button:hover {
    transform: translate(-50%, calc(-50% - 2px)) !important;
    background: #64775d !important;
  }
}

/* Product cards: stronger, easier-to-read type */
.product-card .product-title,
.resource-card .product-title,
product-card .product-title {
  font-size: 18px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  color: #2d3b31 !important;
  letter-spacing: -0.015em !important;
}
.product-card .price,
.resource-card .price,
product-card .price,
.product-card [class*="price"] {
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: #4d5b50 !important;
}

@media (max-width: 989px) {
  #Hero-hero_RkimKJ .hero__content-wrapper .button {
    margin-top: 110px !important;
  }
  .product-card .product-title,
  .resource-card .product-title,
  product-card .product-title { font-size: 16px !important; }
}
\n\n/* CCC V7.6 — hard fix: CTA is anchored to the hero itself, not the editable content group */\n#Hero-hero_RkimKJ .hero__content-wrapper .button{display:none!important;}\n#Hero-hero_RkimKJ .cc-hero-cta-fixed{\n  position:absolute!important;z-index:12!important;left:37%!important;top:64%!important;transform:translate(-50%,-50%)!important;\n  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;\n  min-width:226px!important;padding:16px 28px!important;border-radius:9px!important;background:#788b70!important;color:#fff!important;\n  text-decoration:none!important;font-size:14px!important;font-weight:700!important;line-height:1!important;letter-spacing:.055em!important;\n  box-shadow:0 10px 24px rgba(37,49,41,.14)!important;transition:transform .2s ease,background .2s ease!important;\n}\n#Hero-hero_RkimKJ .cc-hero-cta-fixed span{font-size:18px;line-height:1;}\n#Hero-hero_RkimKJ .cc-hero-cta-fixed:hover{background:#64775d!important;transform:translate(-50%,calc(-50% - 2px))!important;}\n\n/* Product typography — target the actual Savor product-card components as well as legacy classes */\n#MainContent product-card product-title a,\n#MainContent product-card .product-title a,\n#MainContent .product-card product-title a,\n#MainContent .product-card .product-title a,\n#MainContent [class*="product-card"] [class*="product-title"] a,\n#MainContent [class*="product-card"] [class*="product-title"]{\n  font-size:18px!important;line-height:1.22!important;font-weight:650!important;letter-spacing:-.018em!important;color:#2d3b31!important;\n}\n#MainContent product-card price-component,\n#MainContent product-card .price,\n#MainContent .product-card price-component,\n#MainContent .product-card .price,\n#MainContent [class*="product-card"] [class*="price"]{\n  font-size:16px!important;line-height:1.25!important;font-weight:650!important;color:#4d5b50!important;\n}\n@media(max-width:989px){\n #Hero-hero_RkimKJ .cc-hero-cta-fixed{left:38%!important;top:66%!important;min-width:200px!important;padding:14px 22px!important;font-size:12px!important;}\n}\n@media(max-width:749px){\n #Hero-hero_RkimKJ .cc-hero-cta-fixed{left:50%!important;top:68%!important;min-width:180px!important;padding:13px 18px!important;font-size:11px!important;}\n #MainContent product-card product-title a,#MainContent product-card .product-title a,#MainContent .product-card .product-title a,#MainContent [class*="product-card"] [class*="product-title"]{font-size:16px!important;}\n #MainContent product-card price-component,#MainContent product-card .price,#MainContent [class*="product-card"] [class*="price"]{font-size:15px!important;}\n}\n
/* CCC V7.7 — verified against Shopify editor screenshot: CTA clears baked-in wordmark */
#Hero-hero_RkimKJ .cc-hero-cta-fixed{
  left:38.5%!important;
  top:80%!important;
  transform:translate(-50%,-50%)!important;
  min-width:232px!important;
  padding:15px 28px!important;
}
#Hero-hero_RkimKJ .cc-hero-cta-fixed:hover{
  transform:translate(-50%,calc(-50% - 2px))!important;
}
@media (min-width: 990px){
  #Hero-hero_RkimKJ .hero__content-wrapper{pointer-events:none!important;}
  #Hero-hero_RkimKJ .hero__content-wrapper .button,
  #Hero-hero_RkimKJ .hero__content-wrapper [class*="button"]{display:none!important;}
}
@media (max-width:989px){
  #Hero-hero_RkimKJ .cc-hero-cta-fixed{left:39%!important;top:80%!important;}
}
@media (max-width:749px){
  #Hero-hero_RkimKJ .cc-hero-cta-fixed{left:50%!important;top:82%!important;min-width:184px!important;padding:13px 18px!important;}
}

/* CCC V7.8 — CTA pinned to lower hero whitespace; inline bottom anchor wins over legacy top rules */
#Hero-hero_RkimKJ .cc-hero-cta-fixed{top:auto!important;bottom:8%!important;left:38.5%!important;transform:translateX(-50%)!important;}
#Hero-hero_RkimKJ .cc-hero-cta-fixed:hover{transform:translateX(-50%) translateY(-2px)!important;}
@media(max-width:989px){#Hero-hero_RkimKJ .cc-hero-cta-fixed{top:auto!important;bottom:7%!important;left:39%!important;}}
@media(max-width:749px){#Hero-hero_RkimKJ .cc-hero-cta-fixed{top:auto!important;bottom:6%!important;left:50%!important;}}


/* CCC V7.9 — no hero CTA; richer showroom styling */
#Hero-hero_RkimKJ .cc-hero-cta-fixed,
#Hero-hero_RkimKJ .hero__content-wrapper .button {display:none!important;}

/* calmer premium header */
header-component, .header-section, #header-group {background:#f6f3e9!important;}
.header__row{min-height:62px!important;}
.header__heading-link img,.header__heading-logo{max-height:34px!important;}
.header__menu-item,.header a{color:#344238;}

/* editorial section rhythm */
#MainContent{background:#f7f5ee;}
#MainContent > .shopify-section:not(:first-child){position:relative;}
#MainContent h1,#MainContent h2{color:#20382b!important;letter-spacing:-.035em!important;line-height:1.02!important;}
#MainContent h2{font-size:clamp(30px,3vw,48px)!important;}
#MainContent h3{color:#2e4436!important;}
#MainContent p{color:#667066!important;}

/* featured products: denser premium grid */
#shopify-section-product_list_X8Q7bi .section,
#shopify-section-carousel_xtTyAa .section{padding-block:32px!important;}
#shopify-section-product_list_X8Q7bi [class*="resource-list"],
#shopify-section-product_list_X8Q7bi [class*="product-grid"]{gap:12px!important;}
#shopify-section-product_list_X8Q7bi product-card,
#shopify-section-product_list_X8Q7bi .product-card,
#shopify-section-carousel_xtTyAa product-card,
#shopify-section-carousel_xtTyAa .product-card{
 background:#fbfaf6!important;border:1px solid rgba(64,78,66,.11)!important;border-radius:14px!important;overflow:hidden!important;
 box-shadow:0 7px 22px rgba(45,57,47,.055)!important;transition:transform .22s ease,box-shadow .22s ease!important;
}
#shopify-section-product_list_X8Q7bi product-card:hover,
#shopify-section-product_list_X8Q7bi .product-card:hover,
#shopify-section-carousel_xtTyAa product-card:hover,
#shopify-section-carousel_xtTyAa .product-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(45,57,47,.09)!important;}
#MainContent product-card product-title a,#MainContent product-card .product-title a,#MainContent .product-card .product-title a,#MainContent [class*="product-card"] [class*="product-title"] a,#MainContent [class*="product-card"] [class*="product-title"]{
 font-size:18px!important;line-height:1.2!important;font-weight:700!important;color:#304237!important;letter-spacing:-.02em!important;
}
#MainContent product-card price-component,#MainContent product-card .price,#MainContent .product-card price-component,#MainContent .product-card .price,#MainContent [class*="product-card"] [class*="price"]{
 font-size:16px!important;font-weight:700!important;color:#566357!important;
}

/* featured product becomes a compact showroom panel */
#shopify-section-featured_product_information_hCwUya{background:#eef0e7!important;}
#shopify-section-featured_product_information_hCwUya .section{padding-block:30px!important;}
#shopify-section-featured_product_information_hCwUya featured-product-information,
#shopify-section-featured_product_information_hCwUya .product-information{
 max-width:1220px!important;margin-inline:auto!important;background:#faf9f4!important;border:1px solid rgba(64,78,66,.12)!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 12px 34px rgba(44,57,47,.07)!important;
}

/* collection area: intentional 2x2 showroom cards */
#shopify-section-collection_list_PXaGWa{background:#f1eee4!important;}
#shopify-section-collection_list_PXaGWa .section{padding-block:34px!important;}
#shopify-section-collection_list_PXaGWa [class*="resource-list"],#shopify-section-collection_list_PXaGWa [class*="collection-list"]{gap:12px!important;}
#shopify-section-collection_list_PXaGWa [class*="resource-card"],#shopify-section-collection_list_PXaGWa [class*="collection-card"]{
 border-radius:16px!important;overflow:hidden!important;background:#fbfaf6!important;border:1px solid rgba(64,78,66,.1)!important;box-shadow:0 8px 24px rgba(44,57,47,.055)!important;
}

/* decorative separators: short botanical motif, not a full plain rule */
[data-testid^="divider-"]{background:transparent!important;}
[data-testid^="divider-"] .divider{min-height:34px!important;gap:13px!important;}
[data-testid^="divider-"] .divider::before,[data-testid^="divider-"] .divider::after{height:1px!important;max-width:118px!important;background:linear-gradient(90deg,transparent,rgba(83,104,85,.34))!important;}
[data-testid^="divider-"] .divider::after{background:linear-gradient(90deg,rgba(83,104,85,.34),transparent)!important;}
[data-testid^="divider-"] .divider__line{width:10px!important;height:10px!important;min-height:10px!important;background:#cad3c2!important;border:1px solid #8fa087!important;border-radius:50% 0 50% 0!important;transform:rotate(45deg)!important;box-shadow:0 0 0 6px #f7f5ee!important;}

/* final rich-text / newsletter-like area */
#shopify-section-section_Bxtynx{background:#e3e8da!important;}
#shopify-section-section_Bxtynx .section{padding-block:44px!important;}

@media(max-width:749px){
 #MainContent h2{font-size:30px!important;}
 #MainContent product-card product-title a,#MainContent product-card .product-title a,#MainContent .product-card .product-title a,#MainContent [class*="product-card"] [class*="product-title"]{font-size:16px!important;}
 #shopify-section-product_list_X8Q7bi .section,#shopify-section-carousel_xtTyAa .section,#shopify-section-collection_list_PXaGWa .section{padding-block:24px!important;}
}

/* CCC V7.10 — VISIBLE HOMEPAGE REDESIGN. Targets Shopify's real section IDs. */
:root{--ccc-ink:#24372d;--ccc-body:#5e6b61;--ccc-cream:#f5f1e7;--ccc-warm:#fbfaf6;--ccc-sage:#e4e9dc;--ccc-sage-2:#d7dfcf;--ccc-line:#a9b59f;}

/* Header: compact premium band */
body .shopify-section-group-header-group{border-bottom:1px solid rgba(57,75,62,.12);box-shadow:0 4px 18px rgba(42,55,46,.035);}
body .shopify-section-group-header-group header-component{background:#f7f4ea!important;}

/* Hero: image stays untouched, no CTA */
[id$="__hero_RkimKJ"] .cc-hero-cta-fixed,
[id$="__hero_RkimKJ"] .hero__content-wrapper .button,
[id$="__hero_RkimKJ"] .hero__content-wrapper [class*="button"]{display:none!important;}

/* Marquee becomes a deliberate slim service ribbon */
[id$="__marquee_jpQAwr"]{background:#dfe6d7!important;border-top:1px solid rgba(57,75,62,.12);border-bottom:1px solid rgba(57,75,62,.12);}
[id$="__marquee_jpQAwr"] .section{padding-block:12px!important;}
[id$="__marquee_jpQAwr"] p{font-size:14px!important;letter-spacing:.015em!important;color:#465649!important;font-weight:550!important;}

/* Featured products — unmistakable cream showroom block */
[id$="__product_list_X8Q7bi"]{background:linear-gradient(180deg,#f7f4ea 0%,#f1eee3 100%)!important;}
[id$="__product_list_X8Q7bi"] .section{padding-block:52px 46px!important;}
[id$="__product_list_X8Q7bi"] h2{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(38px,4vw,58px)!important;font-weight:500!important;color:var(--ccc-ink)!important;letter-spacing:-.045em!important;}
[id$="__product_list_X8Q7bi"] [class*="resource-list"],
[id$="__product_list_X8Q7bi"] [class*="product-grid"]{gap:14px!important;}
[id$="__product_list_X8Q7bi"] product-card,
[id$="__product_list_X8Q7bi"] .product-card,
[id$="__product_list_X8Q7bi"] [class*="product-card"]{background:#fffdfa!important;border:1px solid rgba(67,84,70,.14)!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 10px 26px rgba(48,62,51,.07)!important;}
[id$="__product_list_X8Q7bi"] product-card img,
[id$="__product_list_X8Q7bi"] .product-card img{transition:transform .35s ease!important;}
[id$="__product_list_X8Q7bi"] product-card:hover img,
[id$="__product_list_X8Q7bi"] .product-card:hover img{transform:scale(1.018)!important;}
[id$="__product_list_X8Q7bi"] product-title a,
[id$="__product_list_X8Q7bi"] .product-title a,
[id$="__product_list_X8Q7bi"] [class*="product-title"]{font-size:18px!important;line-height:1.18!important;font-weight:700!important;color:#26382e!important;}
[id$="__product_list_X8Q7bi"] price-component,
[id$="__product_list_X8Q7bi"] .price{font-size:17px!important;font-weight:700!important;color:#506052!important;}

/* Decorative divider = centered leaf/diamond with short lines */
[id*="__divider_"]{background:var(--ccc-cream)!important;}
[id*="__divider_"] .section{padding-block:16px!important;}
[id*="__divider_"] .divider{width:min(420px,70vw)!important;margin:auto!important;position:relative!important;border:0!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
[id*="__divider_"] .divider:before,[id*="__divider_"] .divider:after{content:""!important;display:block!important;width:130px!important;height:1px!important;background:linear-gradient(90deg,transparent,rgba(91,111,93,.42))!important;}
[id*="__divider_"] .divider:after{background:linear-gradient(90deg,rgba(91,111,93,.42),transparent)!important;}
[id*="__divider_"] .divider__line{display:block!important;width:12px!important;height:12px!important;min-height:12px!important;margin:0 14px!important;border:1px solid #8fa087!important;background:#d6dfcf!important;border-radius:70% 0 70% 0!important;transform:rotate(45deg)!important;}

/* Featured product — real two-panel showroom, compact */
[id$="__featured_product_information_hCwUya"]{background:#e2e8da!important;padding:22px 0!important;}
[id$="__featured_product_information_hCwUya"] .section{padding-block:22px!important;}
[id$="__featured_product_information_hCwUya"] featured-product-information,
[id$="__featured_product_information_hCwUya"] .product-information,
[id$="__featured_product_information_hCwUya"] [class*="product-information"]{max-width:1280px!important;margin:auto!important;background:#fbfaf5!important;border:1px solid rgba(62,81,66,.14)!important;border-radius:22px!important;overflow:hidden!important;box-shadow:0 18px 45px rgba(46,62,50,.09)!important;}
[id$="__featured_product_information_hCwUya"] h1,
[id$="__featured_product_information_hCwUya"] h2,
[id$="__featured_product_information_hCwUya"] product-title{color:#263a2e!important;font-size:clamp(25px,2.4vw,38px)!important;line-height:1.1!important;}
[id$="__featured_product_information_hCwUya"] button{border-radius:10px!important;min-height:50px!important;}

/* Carousel gets warm white breathing panel */
[id$="__carousel_xtTyAa"]{background:#faf8f2!important;}
[id$="__carousel_xtTyAa"] .section{padding-block:44px!important;}
[id$="__carousel_xtTyAa"] h2{font-family:Georgia,'Times New Roman',serif!important;color:var(--ccc-ink)!important;font-size:clamp(34px,3.5vw,50px)!important;font-weight:500!important;}

/* Collections — large editorial cards, obvious section change */
[id$="__collection_list_PXaGWa"]{background:linear-gradient(135deg,#e7eadf 0%,#f2eee3 100%)!important;position:relative!important;overflow:hidden!important;}
[id$="__collection_list_PXaGWa"]:before,[id$="__collection_list_PXaGWa"]:after{content:"";position:absolute;border-radius:50%;background:rgba(116,139,108,.10);pointer-events:none;}
[id$="__collection_list_PXaGWa"]:before{width:280px;height:280px;right:-120px;top:-100px;}
[id$="__collection_list_PXaGWa"]:after{width:180px;height:180px;left:-90px;bottom:-70px;}
[id$="__collection_list_PXaGWa"] .section{padding-block:54px!important;position:relative;z-index:1;}
[id$="__collection_list_PXaGWa"] h2{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(38px,4vw,56px)!important;font-weight:500!important;color:#23372b!important;letter-spacing:-.04em!important;}
[id$="__collection_list_PXaGWa"] [class*="resource-list"],
[id$="__collection_list_PXaGWa"] [class*="collection-list"]{gap:14px!important;}
[id$="__collection_list_PXaGWa"] [class*="collection-card"],
[id$="__collection_list_PXaGWa"] [class*="resource-card"]{border-radius:20px!important;overflow:hidden!important;background:#fffdf8!important;border:1px solid rgba(59,78,63,.13)!important;box-shadow:0 12px 30px rgba(49,64,52,.075)!important;}
[id$="__collection_list_PXaGWa"] [class*="collection-card"] img,
[id$="__collection_list_PXaGWa"] [class*="resource-card"] img{transition:transform .4s ease!important;}
[id$="__collection_list_PXaGWa"] [class*="collection-card"]:hover img,
[id$="__collection_list_PXaGWa"] [class*="resource-card"]:hover img{transform:scale(1.025)!important;}

/* Brand story — dark green editorial closing block */
[id$="__section_Bxtynx"]{background:#2f4034!important;color:#f7f3e8!important;position:relative!important;overflow:hidden!important;}
[id$="__section_Bxtynx"]:after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(238,241,226,.12);border-radius:50%;right:-130px;top:-150px;}
[id$="__section_Bxtynx"] .section{padding-block:64px!important;max-width:1050px!important;position:relative;z-index:1;}
[id$="__section_Bxtynx"] h2{font-family:Georgia,'Times New Roman',serif!important;color:#fffaf0!important;font-size:clamp(40px,4vw,60px)!important;font-weight:500!important;}
[id$="__section_Bxtynx"] p{color:#dce3d8!important;font-size:18px!important;line-height:1.7!important;max-width:760px!important;}
[id$="__section_Bxtynx"] .button{background:#e4eadc!important;color:#2d4032!important;border-radius:10px!important;padding-inline:28px!important;}

@media(max-width:749px){
 [id$="__product_list_X8Q7bi"] .section,[id$="__collection_list_PXaGWa"] .section{padding-block:34px!important;}
 [id$="__product_list_X8Q7bi"] h2,[id$="__collection_list_PXaGWa"] h2{font-size:36px!important;}
 [id$="__product_list_X8Q7bi"] product-title a,[id$="__product_list_X8Q7bi"] .product-title a{font-size:16px!important;}
 [id$="__section_Bxtynx"] .section{padding-block:46px!important;}
 [id$="__section_Bxtynx"] p{font-size:16px!important;}
}
\n\n/* CCC V7.11 FIX — ONLY brand story module: approved soft vertical gradient, original centered content */
[id$="__section_Bxtynx"]{
  background:linear-gradient(180deg,#f8f5ec 0%,#eef0e5 45%,#d9e1d2 100%)!important;
  color:#24372d!important;
  position:relative!important;
  overflow:hidden!important;
}
[id$="__section_Bxtynx"]:before,
[id$="__section_Bxtynx"]:after{content:none!important;display:none!important;}
[id$="__section_Bxtynx"] .section{
  padding-block:64px!important;
  max-width:1050px!important;
  margin-inline:auto!important;
  text-align:center!important;
  align-items:center!important;
}
[id$="__section_Bxtynx"] h2{
  color:#24372d!important;
  text-align:center!important;
}
[id$="__section_Bxtynx"] p{
  color:#59665d!important;
  text-align:center!important;
  margin-inline:auto!important;
}
[id$="__section_Bxtynx"] .button{
  background:#c9d3c0!important;
  color:#263a2e!important;
  border-color:transparent!important;
  margin-inline:auto!important;
}

/* CCC V7.12 — brand story color correction only. Keep existing centered layout. */
[id$="__section_Bxtynx"],
[id$="__section_Bxtynx"] > .section-background,
[id$="__section_Bxtynx"] > .section,
[id$="__section_Bxtynx"] .custom-section-background,
[id$="__section_Bxtynx"] .custom-section-content {
  background-color: transparent !important;
  background-image: linear-gradient(180deg, #f8f5ec 0%, #eef1e6 46%, #cbd8c5 100%) !important;
}
[id$="__section_Bxtynx"] .custom-section-background { display:none !important; }
[id$="__section_Bxtynx"]:before,
[id$="__section_Bxtynx"]:after,
[id$="__section_Bxtynx"] .section:before,
[id$="__section_Bxtynx"] .section:after { content:none !important; display:none !important; }
[id$="__section_Bxtynx"] .section-content-wrapper {
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
[id$="__section_Bxtynx"] h2 { color:#24372d !important; text-align:center !important; }
[id$="__section_Bxtynx"] p { color:#56645a !important; text-align:center !important; margin-inline:auto !important; }
[id$="__section_Bxtynx"] .button {
  background:#bcc9b5 !important;
  color:#24372d !important;
  border-color:transparent !important;
  margin-inline:auto !important;
}
