/** Shopify CDN: Minification failed

Line 1870:0 All "@import" rules must come first

**/
* {
  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] {
  overflow: hidden;
}

/* Only lock .page-wrapper where it is the scroll container. Below 990px the document scrolls, and
   overflow on .page-wrapper would make it the sticky header's scroll container, moving the header off screen. */
@media (min-width: 990px) {
  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;
}

/* Clipped controls preserve accessible paging without intercepting touch taps. */
@media (hover: none) and (pointer: coarse) {
  .resource-list__carousel > [animate-arrows] > :where(slideshow-arrows) > .slideshow-control:not(:focus-visible) {
    position: absolute;
    clip: rect(0 0 0 0);
    animation: none;
  }

  .resource-list__carousel > [animate-arrows] > :where(slideshow-arrows) > .slideshow-control:focus-visible {
    opacity: 1;
    animation: none;
  }
}

@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);
  }
}

/* DEEP FRIED LORE draft global atmosphere: collection and product pages */
body{background-color:#0b0c0b;background-image:linear-gradient(90deg,rgba(8,10,8,.89),rgba(10,11,10,.75),rgba(8,10,8,.9)),url('/cdn/shop/files/dfl-ambient-texture.jpg');background-size:auto,760px auto;background-attachment:scroll,fixed;color:#e4d9bf}main#MainContent{background:transparent}body:not(:has(.dfl2)) main#MainContent{background:linear-gradient(180deg,#0a0c0ad9,#0b0b0bbd),url('/cdn/shop/files/dfl-ambient-texture.jpg') center top/700px repeat}body:not(:has(.dfl2)) main#MainContent .shopify-section{background-color:transparent}body:not(:has(.dfl2)) h1,body:not(:has(.dfl2)) h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.035em}a,button{transition:color .2s ease,border-color .2s ease,background-color .2s ease}body:not(:has(.dfl2)) main#MainContent img{border-radius:2px}

/* DFL ornate header wordmark */
@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&display=swap');
.dfl-wordmark{display:inline-flex;align-items:center;gap:.25em;white-space:nowrap;color:#e6d7b8;font-family:'Cinzel Decorative',Georgia,serif;font-weight:700;font-size:clamp(16px,2.2vw,29px);line-height:1.1;letter-spacing:-.055em;text-shadow:0 1px 0 #655c49,0 0 10px #c2b37b55,1px 2px 0 #000;transition:filter .25s ease,transform .25s ease}.dfl-wordmark-star{font-family:Georgia,serif;font-size:.8em;color:#c6d3a7;letter-spacing:0;text-shadow:0 0 10px #bbdf91}.header-logo:hover .dfl-wordmark{filter:drop-shadow(0 0 6px #b3dc85);transform:translateY(-1px)}.header-logo:has(.dfl-wordmark){min-width:max-content}.dfl-wordmark-text{display:inline-block;border-bottom:1px solid #b7a37c88;padding-bottom:2px}@media(max-width:749px){.dfl-wordmark{font-size:clamp(13px,3.4vw,19px);gap:.12em;letter-spacing:-.07em}.dfl-wordmark-star{font-size:.7em}}@media(prefers-reduced-motion:reduce){.header-logo:hover .dfl-wordmark{transform:none}}

/* Deep Fried Lore custom editorial brand heading */
.header-logo:has(.dfl-wordmark) .dfl-wordmark{font-family:'Cinzel Decorative',Georgia,serif!important;color:#e8d9bb!important;text-shadow:0 0 8px #c9b88877,1px 1px #65553c!important}

/* DFL approved original logo, shared by desktop and mobile navigation */
.header-logo:has(.dfl-wordmark) .dfl-wordmark{display:block!important;width:clamp(175px,24vw,345px)!important;height:clamp(43px,5.8vw,80px)!important;background:url('/cdn/shop/files/deep-fried-lore-original-distressed-logo.png?v=1792395118') center/contain no-repeat!important;filter:drop-shadow(0 0 4px #b3d28a44)}
.header-logo:has(.dfl-wordmark) .dfl-wordmark>*{opacity:0!important}
.header-logo:has(.dfl-wordmark) .dfl-wordmark-text{border:0!important}
@media(max-width:749px){.header-logo:has(.dfl-wordmark) .dfl-wordmark{width:clamp(168px,43vw,260px)!important;height:48px!important}}

/* DFL footer identity, matched to approved distressed header logo */
.dfl-footer-brand{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:26px 5%;border-top:1px solid #a5ba7655;border-bottom:1px solid #a5ba7633;background:#090b09;color:#c1d59b}.dfl-footer-brand img{display:block;width:clamp(200px,27vw,370px);height:auto;max-height:110px;object-fit:contain;filter:drop-shadow(0 0 5px #a4cb8055)}.dfl-footer-brand span{font:11px monospace;letter-spacing:.22em}.dfl-footer-brand a:hover img{filter:drop-shadow(0 0 12px #c7f19d8c)}
/* Opalescent thin-film sheen, translucent highlights and refraction on Frutiger Aero bubbles */
.dfl-world--fruitier-aero .dfl-world-atmosphere i{border:1px solid #eafffff0!important;background:radial-gradient(ellipse at 24% 20%,#ffffffdb 0%,#ffffff00 23%),radial-gradient(ellipse at 70% 78%,#ff8cd348 0%,transparent 33%),conic-gradient(from 32deg at 55% 50%,#a0f6ff3b,#c3b4ff7a,#ffb7d263,#b7f7aa6b,#d3fcff40,#a0f6ff3b)!important;box-shadow:inset 8px 9px 15px #ffffff95,inset -12px -15px 18px #0088a763,0 3px 16px #d6faff4f,0 0 1px 2px #d9ffff4d!important;backdrop-filter:blur(1.5px) saturate(1.4);-webkit-backdrop-filter:blur(1.5px) saturate(1.4);opacity:.72!important}
@media(max-width:700px){.dfl-footer-brand{justify-content:center;text-align:center}.dfl-footer-brand span{font-size:9px}}

/* Transparent illustrated-CGI fancy goldfish artwork replaces the old geometric fish */
.dfl-world--fruitier-aero .dfl-aero-fish{width:clamp(145px,20vw,270px)!important;height:clamp(95px,13vw,180px)!important;background:url('/cdn/shop/files/dfl-realistic-fancy-goldfish-reference.png?v=1792397805') center/contain no-repeat!important;filter:drop-shadow(0 10px 14px #064d6966)!important;opacity:.88}
.dfl-world--fruitier-aero .dfl-aero-fish>*{display:none!important}
.dfl-world--fruitier-aero .dfl-aero-fish-one{left:69%;top:19%}
.dfl-world--fruitier-aero .dfl-aero-fish-two{left:82%;top:64%;opacity:.64;transform:scaleX(-1)}
@media(max-width:700px){.dfl-world--fruitier-aero .dfl-aero-fish{width:135px!important;height:92px!important}.dfl-world--fruitier-aero .dfl-aero-fish-one{left:75%;top:18%}.dfl-world--fruitier-aero .dfl-aero-fish-two{left:84%;top:69%}}

/* Frutiger Aero immersive second pass: translucent Windows-era glass, landscape, water and ambient microbubbles */
body:has(.dfl-world--fruitier-aero) main#MainContent{background:#8fe0ec!important}
body:has(.dfl-world--fruitier-aero) main#MainContent .dfl-world--fruitier-aero h2{font-family:Georgia,'Times New Roman',serif!important;font-weight:bold!important;font-style:italic!important;letter-spacing:-.055em!important;font-size:clamp(48px,7.5vw,110px)!important;color:#e7ffff!important;-webkit-text-stroke:1px #b5faff;text-shadow:0 2px 0 #0d729b,0 4px 0 #075784,0 6px 2px #003f78,2px 9px 11px #003c80,0 0 23px #b2faff!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal,body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{background-image:linear-gradient(180deg,#b7f5ff69,#5ecfe262 55%,#8fecc17d),url('/cdn/shop/files/dfl-frutiger-aero-atmosphere-2026.jpg?v=1792398449')!important;background-size:cover,cover!important;background-position:center,center!important;background-attachment:scroll,scroll!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal{padding-top:54px!important;padding-bottom:58px!important;isolation:isolate}
body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{position:relative;isolation:isolate;padding-top:42px!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-grid{position:relative;z-index:2}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble{background:radial-gradient(ellipse at 24% 18%,#fff 0 1.8%,#ffffff99 3%,transparent 16%),radial-gradient(ellipse at 19% 65%,#ffa2ee91,transparent 38%),radial-gradient(ellipse at 76% 28%,#8cbbff91,transparent 36%),radial-gradient(ellipse at 73% 84%,#8dffdc77,transparent 36%),conic-gradient(from 25deg,#ffffff10,#a2bbff7c,#ffa2da80,#b8ffdc8c,#e4a9ff87,#ffffff10)!important;box-shadow:inset 5px 7px 9px #ffffffbd,inset -7px -12px 16px #449fc482,0 8px 25px #125e8c66,0 0 0 2px #ffffffa8!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:before{opacity:1!important;background:conic-gradient(#c2ffff99,#b4a5ffdd,#ff98dcdd,#9cfde4dd,#e6aaffdc,#c2ffff99)!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble span{background:#e9ffffec!important;box-shadow:0 2px 8px #277b9866!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-label{position:relative;z-index:2;color:#034b72!important;text-shadow:0 1px 3px #fff;font-weight:bold}
body:has(.dfl-world--fruitier-aero) .dfl-aero-department{position:relative;z-index:2;background:linear-gradient(135deg,#e4ffffb8,#b9f0ffd1);border:1px solid #ffffffdb;border-radius:18px;margin:0 auto 26px;padding:24px clamp(16px,3vw,38px) 30px;box-shadow:inset 0 2px 1px #fff,0 10px 30px #056c8e45;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);max-width:1300px}
body:has(.dfl-world--fruitier-aero) .dfl-aero-empty{background:#f0ffffc9;border-color:#ffffffc9;color:#164b64}
body:has(.dfl-world--fruitier-aero) .dfl-aero-dept-header h2{color:#074d79!important;text-shadow:0 1px 0 #fff}
.dfl-aero-sparkles{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.dfl-aero-sparkles i{position:absolute;width:22px;height:22px;border-radius:50%;border:1px solid #faffffbd;background:radial-gradient(circle at 30% 20%,#fff9,transparent 25%),radial-gradient(circle at 80% 80%,#ff91e76b,transparent 45%),radial-gradient(circle at 20% 80%,#9de8ff70,transparent 40%);box-shadow:inset 2px 2px 4px #fff9,0 2px 8px #1689ae6e;animation:dfl-microfloat 15s ease-in-out infinite alternate}.dfl-aero-sparkles i:nth-child(1){left:4%;top:15%;width:14px;height:14px}.dfl-aero-sparkles i:nth-child(2){left:22%;top:67%;width:27px;height:27px;animation-delay:-4s}.dfl-aero-sparkles i:nth-child(3){left:42%;top:9%;width:11px;height:11px;animation-delay:-7s}.dfl-aero-sparkles i:nth-child(4){left:62%;top:74%;width:17px;height:17px;animation-delay:-2s}.dfl-aero-sparkles i:nth-child(5){left:88%;top:13%;width:34px;height:34px;animation-delay:-9s}.dfl-aero-sparkles i:nth-child(6){left:93%;top:82%;width:12px;height:12px;animation-delay:-5s}.dfl-aero-sparkles i:nth-child(7){left:13%;top:88%;width:19px;height:19px;animation-delay:-12s}.dfl-aero-sparkles i:nth-child(8){left:73%;top:29%;width:9px;height:9px;animation-delay:-3s}
@keyframes dfl-microfloat{0%{transform:translate3d(-5px,15px,0);opacity:.32}50%{opacity:.92}100%{transform:translate3d(12px,-35px,0);opacity:.5}}
.dfl-aero-glass-window{position:relative;z-index:2;max-width:480px;margin:0 0 24px auto;padding:12px 15px;border:1px solid #fff;background:linear-gradient(140deg,#f4ffffdf,#75d6ffb0);border-radius:11px;box-shadow:inset 0 1px #fff,0 10px 28px #036b9a60;color:#075378;font:10px monospace;letter-spacing:.08em;display:grid;gap:9px}
.dfl-aero-window-dots{color:#3f9fc6;letter-spacing:.3em}.dfl-aero-window-inner{display:block;background:#eaffffad;border:1px solid #fff9;border-radius:5px;padding:13px;text-align:center;font-size:12px}
@media(max-width:700px){body:has(.dfl-world--fruitier-aero) main#MainContent .dfl-world--fruitier-aero h2{font-size:clamp(40px,9vw,65px)!important}.dfl-aero-glass-window{margin:0 0 20px}.dfl-aero-sparkles i:nth-child(n+6){display:none}}
@media(prefers-reduced-motion:reduce){.dfl-aero-sparkles i{animation:none!important}}

/* Frutiger Aero: artwork lifted directly from the approved concept, not a generic gradient */
body:has(.dfl-world--fruitier-aero){--dfl-aero-scene:url('/cdn/shop/files/dfl-aero-scene-reference.jpg?v=1792399262')}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero{min-height:clamp(410px,47vw,670px)!important;background:linear-gradient(90deg,#0074ac33,#006baf00),url('/cdn/shop/files/dfl-aero-scene-reference.jpg?v=1792399262') center 43%/cover!important;padding-top:55px!important;padding-bottom:60px!important}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#07538e6e 0%,#0878a22b 56%,transparent 85%);z-index:0;pointer-events:none}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero .dfl-world-copy{max-width:760px!important;width:75%}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero h2{font-size:0!important;line-height:0!important;letter-spacing:0!important;display:block!important;width:min(100%,670px);height:clamp(105px,15vw,215px);background:url('/cdn/shop/files/dfl-frutiger-aero-chrome-title.png?v=1792399265') left center/contain no-repeat!important;filter:drop-shadow(0 5px 5px #00488b8c);margin:7px 0 9px!important}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero .dfl-world-kicker{color:white!important;text-shadow:0 2px 5px #005b95;font-weight:bold}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero .dfl-world-copy p{color:white!important;font:clamp(16px,1.8vw,23px)/1.45 Georgia,serif!important;text-shadow:0 2px 6px #004b86,0 1px 2px #003e77!important;max-width:540px}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero nav a{background:linear-gradient(120deg,#057fbee8,#0082b4c9,#6bc9f0b0)!important;border:1px solid #d8ffff!important;box-shadow:inset 0 1px #fff9,0 0 10px #abffffd6,0 5px 14px #006d9a8c;color:#fff!important;font-weight:bold;border-radius:5px}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal{background:linear-gradient(180deg,#6bc8f022,#b4f4ff11),url('/cdn/shop/files/dfl-aero-scene-reference.jpg?v=1792399262') center 22%/cover!important;padding:36px 4% 46px!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-grid{max-width:1150px!important;gap:clamp(10px,1.8vw,25px)!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble{background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:drop-shadow(0 8px 10px #075c8b70);border-radius:50%;overflow:hidden}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:nth-child(1){background-image:url('/cdn/shop/files/dfl-aero-bubble-1.png?v=1792399269')!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:nth-child(2){background-image:url('/cdn/shop/files/dfl-aero-bubble-2.png?v=1792399275')!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:nth-child(3){background-image:url('/cdn/shop/files/dfl-aero-bubble-3.png?v=1792399280')!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:nth-child(4){background-image:url('/cdn/shop/files/dfl-aero-bubble-4.png?v=1792399284')!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble span,body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble small{opacity:0!important;background:transparent!important;box-shadow:none!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:before,body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:after{display:none!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:hover,body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-bubble:focus-visible{filter:drop-shadow(0 0 18px #f3ffff);transform:scale(1.05)!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-label{color:#074974!important;text-shadow:0 1px 3px white,0 0 6px white!important;font-weight:bold!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{background:linear-gradient(180deg,#a4eeff17,#d8fbff2b),url('/cdn/shop/files/dfl-aero-scene-reference.jpg?v=1792399262') center top/cover fixed!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-department{background:linear-gradient(125deg,#e9ffffdb,#b6ecf4bd)!important;box-shadow:inset 0 2px 2px #fff,0 10px 28px #026a9b59!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-glass-window{background:linear-gradient(135deg,#e4ffffdf,#69c7f6d6)!important;border:2px solid #f5ffff!important;box-shadow:inset 0 2px #fff,0 8px 22px #0c83bca3!important}
body:has(.dfl-world--fruitier-aero) .shopify-section-group-header-group,body:has(.dfl-world--fruitier-aero) header{background-image:linear-gradient(#ffffffb8,#ffffffb8),url('/cdn/shop/files/dfl-aero-hero-reference.jpg?v=1792399249')!important;background-size:cover!important;background-position:center 8%!important}
@media(max-width:700px){body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero{min-height:380px!important;padding:26px 5% 32px!important}body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero .dfl-world-copy{width:100%!important}body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero h2{height:115px!important;width:94%!important}body:has(.dfl-world--fruitier-aero) .dfl-aero-portal{padding:25px 4% 34px!important}body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{background-attachment:scroll!important}}

/* Clean Frutiger Aero scene: only decorative scenery, never the concept screenshot. */
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero{background-image:linear-gradient(90deg,#006b9e4a,#007eae05),url('/cdn/shop/files/dfl-frutiger-aero-clean-waterfall-wallpaper.png?v=1792399881')!important;background-position:center 24%!important;background-size:cover!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal{background-image:linear-gradient(180deg,#c4f7ff30,#a7e9f01c),url('/cdn/shop/files/dfl-frutiger-aero-clean-waterfall-wallpaper.png?v=1792399881')!important;background-position:center 48%!important;background-size:cover!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{background-image:linear-gradient(180deg,#b6f1f13d,#e2fbf25e),url('/cdn/shop/files/dfl-frutiger-aero-clean-waterfall-wallpaper.png?v=1792399881')!important;background-position:center top!important;background-size:cover!important;background-attachment:scroll!important}
body:has(.dfl-world--fruitier-aero) .shopify-section-group-header-group,body:has(.dfl-world--fruitier-aero) header{background-image:linear-gradient(#ffffffd0,#ffffffd0),url('/cdn/shop/files/dfl-frutiger-aero-clean-waterfall-wallpaper.png?v=1792399881')!important;background-position:center 8%!important;background-size:cover!important}

/* October hero repair: one visible title, soft sky header, seamless scenery */
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero h2.dfl-aero-accessible-title{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;background:none!important;padding:0!important;margin:0!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-chrome-wordmark{display:block!important;position:relative;z-index:3;width:min(100%,650px);height:auto;max-height:230px;object-fit:contain;object-position:left center;filter:drop-shadow(0 4px 5px #00417d) drop-shadow(0 0 8px #dcffff);margin:5px 0 12px}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero{background-position:center 40%!important;background-size:cover!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal{background-position:center 40%!important;background-size:cover!important;position:relative}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero{margin-bottom:-2px!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal{margin-top:0!important;border-top:0!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-fish-two{opacity:.42!important}
body:has(.dfl-world--fruitier-aero) .header__row,body:has(.dfl-world--fruitier-aero) .header__columns,body:has(.dfl-world--fruitier-aero) .header__navigation-bar-row,body:has(.dfl-world--fruitier-aero) .header-section,body:has(.dfl-world--fruitier-aero) #header-group,body:has(.dfl-world--fruitier-aero) .shopify-section-group-header-group{background:linear-gradient(#ffffffa8,#ffffffa8),url('/cdn/shop/files/dfl-frutiger-aero-clean-waterfall-wallpaper.png?v=1792399881') center 7%/cover!important}
body:has(.dfl-world--fruitier-aero) .header__row{background-color:transparent!important}
@media(max-width:700px){body:has(.dfl-world--fruitier-aero) .dfl-aero-chrome-wordmark{width:100%;max-height:145px;margin:10px 0 8px}body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero{background-position:center 40%!important}}

/* Aero cleanup v3: restore legible live heading, remove duplicate Shopify collection interface */
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero h2.dfl-aero-accessible-title{position:relative!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important;white-space:normal!important;display:block!important;font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(43px,7vw,90px)!important;line-height:1.1!important;font-weight:bold!important;font-style:italic!important;letter-spacing:-.05em!important;color:#f4ffff!important;-webkit-text-stroke:1px #d8ffff!important;background:none!important;text-shadow:0 2px 0 #48bde2,0 4px 0 #1684bc,0 6px 2px #005d9b,0 8px 15px #003f75,0 0 15px #fff!important;filter:none!important;margin:14px 0 22px!important}
body:has(.dfl-world--fruitier-aero) main#MainContent>.shopify-section{background:transparent}
body:has(.dfl-world--fruitier-aero) main#MainContent>.shopify-section:has(collection-component),body:has(.dfl-world--fruitier-aero) main#MainContent>.shopify-section:has(results-list),body:has(.dfl-world--fruitier-aero) main#MainContent>.shopify-section:has(.collection-wrapper){display:none!important}
body:has(.dfl-world--fruitier-aero) main#MainContent>.shopify-section:has(.collection-title),body:has(.dfl-world--fruitier-aero) main#MainContent>.shopify-section:has(h1):not(:has(.dfl-world)){display:none!important}
body:has(.dfl-world--fruitier-aero) #header-group{background:linear-gradient(#f4ffffb0,#e9fcffc4),url('/cdn/shop/files/dfl-frutiger-aero-clean-waterfall-wallpaper.png?v=1792399881') center 7%/cover!important}
body:has(.dfl-world--fruitier-aero) #header-group .header__row,body:has(.dfl-world--fruitier-aero) #header-group .header__columns,body:has(.dfl-world--fruitier-aero) #header-group .header-section,body:has(.dfl-world--fruitier-aero) #header-group .shopify-section{background-color:transparent!important;background-image:none!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-sparkles{z-index:4!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-sparkles i{opacity:.95!important;border:1.5px solid #fff!important;box-shadow:inset 2px 2px 5px #fff,0 0 9px #b1ffff,0 3px 9px #007dbb88!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-grid,body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-label{z-index:5!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-fish-one{opacity:1!important;filter:drop-shadow(0 8px 10px #005a857a)!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-fish-two{opacity:.85!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{padding-bottom:75px!important}
@media(max-width:700px){body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero h2.dfl-aero-accessible-title{font-size:clamp(41px,9vw,65px)!important;margin:12px 0 20px!important}}

/* 2026-10-19 unified calm Aero scenery: one asset, one consistent coordinate system */
body:has(.dfl-world--fruitier-aero){--dfl-aero-calm-scene:url('/cdn/shop/files/dfl-aero-calm-water-scene-oct2026.png?v=1792401294')}
body:has(.dfl-world--fruitier-aero) main#MainContent{background:#b8edfa!important}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero,
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal,
body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{background-image:none!important;background-color:transparent!important;background-attachment:scroll!important}
body:has(.dfl-world--fruitier-aero) main#MainContent{background-image:linear-gradient(180deg,#baf3ff18,#8eddf01a 35%,#b2edfc29 100%),var(--dfl-aero-calm-scene)!important;background-size:100% 100%,100% 100%!important;background-repeat:no-repeat!important;background-position:center top!important}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero:before{background:linear-gradient(90deg,#076a9b70,#036d9e16 78%,transparent)!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal{isolation:isolate}
body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{isolation:isolate}
body:has(.dfl-world--fruitier-aero) .dfl-aero-department{background:linear-gradient(135deg,#e9ffffe6,#c9f6ffe0)!important;backdrop-filter:blur(10px)!important}
body:has(.dfl-world--fruitier-aero) #header-group{background-image:linear-gradient(#f5ffffb8,#efffffb8),var(--dfl-aero-calm-scene)!important;background-position:center top!important;background-size:cover!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-sparkles{z-index:4!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal-grid{z-index:5!important}
@media(max-width:700px){body:has(.dfl-world--fruitier-aero) main#MainContent{background-size:100% 100%,100% 100%!important;background-position:center top!important}}

/* Fix: preserve image proportions instead of stretching portrait art to entire tall page */
body:has(.dfl-world--fruitier-aero) main#MainContent{background:#bcecf5!important;background-image:none!important;position:relative!important;isolation:isolate}
body:has(.dfl-world--fruitier-aero) main#MainContent:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('/cdn/shop/files/dfl-aero-calm-water-scene-oct2026.png?v=1792401294')!important;background-size:100% auto!important;background-repeat:repeat-y!important;background-position:center top!important;opacity:1!important}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero,
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal,
body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{background:transparent!important;background-image:none!important}
body:has(.dfl-world--fruitier-aero) .dfl-world--fruitier-aero:before{background:linear-gradient(90deg,#006a9854,transparent 85%)!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-portal{background:transparent!important}
body:has(.dfl-world--fruitier-aero) .dfl-aero-shelves{background:transparent!important}
@media(min-width:1100px){body:has(.dfl-world--fruitier-aero) main#MainContent:before{background-size:100% auto!important}}

/* Whimsigoth immersive collection, real links and product sections */
body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent{background:#25151f url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043') center top/100% auto repeat-y!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic{background:linear-gradient(90deg,#1b0e19bf,#27121c45),url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043') center 10%/cover!important;min-height:520px}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{color:#ffe9c6!important;text-shadow:0 3px 3px #170c15,0 0 18px #d3a469!important;font-style:italic!important;font-size:clamp(48px,8vw,100px)!important}
body:has(.dfl-world--whimsigoth-aesthetic) #header-group,body:has(.dfl-world--whimsigoth-aesthetic) .shopify-section-group-header-group{background:linear-gradient(#28172588,#28172588),url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043') center top/cover!important}
.dfl-whim-directory,.dfl-whim-shelves{position:relative;background:linear-gradient(90deg,#261522e6,#291824b3 25%,#291824b3 75%,#261522e6);padding:48px 5%;color:#f8e8d0;text-align:center}
.dfl-whim-label{font:12px monospace;letter-spacing:.2em;color:#e9c68f;margin-bottom:28px}
.dfl-whim-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2.5vw,28px);max-width:1300px;margin:auto}
.dfl-whim-portal{min-height:220px;border:7px ridge #b58d56;border-radius:48% 48% 40% 40%;background:radial-gradient(ellipse at 50% 35%,#79475e,#261527 75%);box-shadow:inset 0 0 0 3px #e5ce9b77,inset 0 0 30px #160b1b,0 12px 25px #110912;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-decoration:none!important;color:#ffeccc!important;transition:transform .3s,box-shadow .3s}
.dfl-whim-portal:hover,.dfl-whim-portal:focus-visible{transform:translateY(-7px);box-shadow:0 0 28px #e4b66b80,inset 0 0 0 3px #e5ce9b}
.dfl-whim-portal span{font:clamp(40px,6vw,75px) Georgia,serif;color:#f3d49a;text-shadow:0 0 14px #e6bd80;animation:dfl-whim-sway 8s ease-in-out infinite alternate}
.dfl-whim-portal strong{font:bold clamp(12px,1.5vw,17px) Arial}.dfl-whim-portal small{font:10px monospace;color:#e4c4a4}
.dfl-whim-shelves{text-align:left;padding-bottom:90px}
.dfl-whim-window{max-width:540px;margin:0 auto 35px;padding:20px;border:1px solid #c8a271;background:#261525dd;border-radius:12px;font:12px monospace;letter-spacing:.1em}
.dfl-whim-window span{display:block;margin-top:13px;padding:14px;background:#69425880;text-align:center}
.dfl-whim-department{padding:32px 0;border-bottom:1px solid #caa46d70;scroll-margin-top:120px}
.dfl-whim-department h2{font:italic clamp(28px,4vw,46px) Georgia,serif;color:#f6dbb0;margin:0 0 20px}
.dfl-whim-products{display:flex;flex-wrap:wrap;gap:18px}
.dfl-whim-product{display:grid;gap:9px;width:min(230px,45%);text-decoration:none;color:#fff0d6}
.dfl-whim-product img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px}
.dfl-whim-empty{padding:18px 25px;border:1px solid #c5a16d;border-radius:10px;background:#291827df;font:11px monospace;letter-spacing:.1em}
.dfl-whim-empty span{display:block;margin-top:8px;font:13px Arial;letter-spacing:0}
body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent>.shopify-section:has(collection-component),body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent>.shopify-section:has(results-list),body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent>.shopify-section:has(.collection-wrapper),body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent>.shopify-section:has(h1):not(:has(.dfl-world)){display:none!important}
@keyframes dfl-whim-sway{from{transform:rotate(-5deg)}to{transform:rotate(5deg)}}
@media(max-width:700px){.dfl-whim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dfl-whim-portal{min-height:175px;border-width:5px}}
@media(prefers-reduced-motion:reduce){.dfl-whim-portal span{animation:none}}

/* Whimsigoth second pass: atmospheric layers and independent transparent title */
body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent{background:#25151f url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043') center top/100% auto repeat-y!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-directory,
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-shelves{background:linear-gradient(90deg,#2713219c 0%,#26132270 15%,#24111b9e 50%,#26132270 85%,#2713219c 100%)!important;isolation:isolate}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{display:block!important;width:min(92vw,840px)!important;max-width:100%!important;height:clamp(105px,22vw,215px)!important;overflow:hidden!important;color:transparent!important;font-size:0!important;text-shadow:none!important;background:url('/cdn/shop/files/dfl-whimsigoth-title-gold.png?v=1792402667') center/contain no-repeat!important;margin:10px 0 12px!important}
body:has(.dfl-world--whimsigoth-aesthetic) #header-group,
body:has(.dfl-world--whimsigoth-aesthetic) .shopify-section-group-header-group{background:linear-gradient(#2c1421a6,#2c1421a6),url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043') center 12%/cover!important}
body:has(.dfl-world--whimsigoth-aesthetic) .header__row,
body:has(.dfl-world--whimsigoth-aesthetic) header,
body:has(.dfl-world--whimsigoth-aesthetic) .header{background-color:transparent!important;background-image:none!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic{position:relative;isolation:isolate;overflow:hidden}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic:after{content:"";position:absolute;bottom:-35px;left:5%;width:180px;height:330px;pointer-events:none;z-index:1;opacity:.65;filter:blur(15px);background:radial-gradient(ellipse at 55% 80%,#e5d1c04d,transparent 60%);animation:dfl-whim-smoke 11s ease-in-out infinite alternate}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(circle at 15% 28%,#ffe5a51f,transparent 29%),radial-gradient(circle at 90% 50%,#e4b77d15,transparent 25%);animation:dfl-whim-light 8s ease-in-out infinite alternate}
.dfl-whim-ambient{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.dfl-whim-ambient i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff1c9;box-shadow:0 0 8px 3px #f8d88b8a;animation:dfl-whim-dust 10s ease-in-out infinite alternate;opacity:.8}
.dfl-whim-ambient i:nth-child(1){left:5%;top:15%}.dfl-whim-ambient i:nth-child(2){left:16%;top:68%;animation-delay:-3s}.dfl-whim-ambient i:nth-child(3){left:25%;top:30%;animation-delay:-7s}.dfl-whim-ambient i:nth-child(4){left:34%;top:80%;animation-delay:-4s}.dfl-whim-ambient i:nth-child(5){left:45%;top:12%;animation-delay:-8s}.dfl-whim-ambient i:nth-child(6){left:54%;top:55%;animation-delay:-1s}.dfl-whim-ambient i:nth-child(7){left:63%;top:22%;animation-delay:-5s}.dfl-whim-ambient i:nth-child(8){left:70%;top:75%;animation-delay:-9s}.dfl-whim-ambient i:nth-child(9){left:81%;top:32%;animation-delay:-2s}.dfl-whim-ambient i:nth-child(10){left:93%;top:60%;animation-delay:-6s}.dfl-whim-ambient i:nth-child(11){left:11%;top:91%;animation-delay:-4s}.dfl-whim-ambient i:nth-child(12){left:87%;top:9%;animation-delay:-7s}
.dfl-whim-grid,.dfl-whim-label{position:relative;z-index:2}
.dfl-whim-portal{border-radius:45% 45% 42% 42%!important;border:7px ridge #d3a65d!important;background:radial-gradient(ellipse at 45% 25%,#81506b8f,#251320de 70%),radial-gradient(ellipse at 50% 10%,#ffdda92b,transparent 60%)!important;box-shadow:inset 0 0 0 3px #ffe1a985,inset 0 0 25px #110b17,0 12px 25px #100810,0 0 20px #db9f5236!important}
.dfl-whim-portal:hover{filter:brightness(1.15)}
@keyframes dfl-whim-dust{0%{transform:translate3d(0,16px,0);opacity:.15}50%{opacity:.9}100%{transform:translate3d(18px,-35px,0);opacity:.2}}
@keyframes dfl-whim-smoke{0%{transform:translate(0,20px) scale(.8);opacity:.3}100%{transform:translate(65px,-65px) scale(1.35);opacity:.8}}
@keyframes dfl-whim-light{from{opacity:.5}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.dfl-whim-ambient i,body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic:before,body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic:after{animation:none!important}}

/* Approved handmade-style Whimsigoth title and stronger environmental depth */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{
background-image:url('/cdn/shop/files/dfl-whimsigoth-ornate-approved-title.png?v=1792403136')!important;
background-position:left center!important;background-size:contain!important;
width:min(94vw,870px)!important;height:clamp(110px,22vw,250px)!important;
font-size:0!important;color:transparent!important;text-shadow:none!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-directory,
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-shelves{
background-image:linear-gradient(90deg,rgba(24,10,22,.38),rgba(30,12,28,.67) 22%,rgba(30,12,28,.65) 78%,rgba(24,10,22,.38)),
url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043')!important;
background-size:100% 100%,100% auto!important;background-position:center,center top!important;
background-repeat:no-repeat,repeat-y!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal{backdrop-filter:blur(2px)}
body:has(.dfl-world--whimsigoth-aesthetic) .header,body:has(.dfl-world--whimsigoth-aesthetic) .header__row{
background:linear-gradient(90deg,#392030eb,#4b2d3cce,#392030eb)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .header svg,body:has(.dfl-world--whimsigoth-aesthetic) .header a{color:#f5d6ad!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-directory:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 14% 20%,#ffe5b51b,transparent 35%),radial-gradient(ellipse at 88% 55%,#e8bf851a,transparent 32%);animation:dfl-whim-light 8s ease-in-out infinite alternate}
@media(max-width:700px){body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{height:clamp(105px,26vw,180px)!important;width:94vw!important}}


/* Whimsigoth: continue room scenery through hero-to-portal transition rather than restarting its top edge */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-directory{
background-image:linear-gradient(90deg,rgba(24,10,22,.38),rgba(30,12,28,.67) 22%,rgba(30,12,28,.65) 78%,rgba(24,10,22,.38)),url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043')!important;
background-size:100% 100%,100% auto!important;
background-position:center center,center -590px!important;
background-repeat:no-repeat,repeat-y!important;
}
@media(max-width:700px){
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-directory{background-position:center center,center -570px!important}
}

/* Whimsigoth boutique atmosphere: functional portals, decorative motion only */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal{position:relative;isolation:isolate;border:3px solid #b98949!important;border-radius:49% 49% 40% 40%!important;outline:1px solid #f5d79b;outline-offset:-10px;box-shadow:inset 0 0 0 2px #3a1c27,inset 0 0 0 7px #b38a4d,inset 0 0 0 9px #f5d5a46b,inset 0 0 28px #120816,0 8px 18px #100812,0 0 13px #e0ad6540!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal:before{content:"❦";position:absolute;top:-23px;left:50%;transform:translateX(-50%);z-index:3;font:38px Georgia,serif;color:#e8bc77;text-shadow:0 2px #57301f,0 0 9px #ffd78a;pointer-events:none}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal:after{content:"❧";position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);z-index:3;font:35px Georgia,serif;color:#d7a45e;text-shadow:0 2px #57301f,0 0 8px #ffd78a;pointer-events:none}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal:hover{filter:brightness(1.18);transform:translateY(-6px)}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world-atmosphere{overflow:hidden}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world-atmosphere i{display:block!important;position:absolute!important;width:3px!important;height:3px!important;border-radius:50%;background:#fff1bf!important;box-shadow:0 0 7px 3px #e6b15c9c,48px 66px 5px 1px #f1cc76a8,116px 160px 4px 1px #f9d99a,215px 45px 5px 1px #e7b65c,325px 125px 6px 1px #ffe8ad,440px 230px 4px 1px #e2a954,560px 65px 7px 2px #ffd889,680px 190px 4px 1px #e2ad64,810px 90px 5px 1px #f6ce8d,920px 260px 4px 1px #ffdc8b!important;opacity:.85;animation:dfl-gold-motes 13s ease-in-out infinite alternate!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world-atmosphere i:nth-child(1){left:5%;top:15%}body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world-atmosphere i:nth-child(2){left:25%;top:50%;animation-delay:-5s!important}body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world-atmosphere i:nth-child(3){left:60%;top:25%;animation-delay:-8s!important}body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world-atmosphere i:nth-child(4){left:10%;top:75%;animation-delay:-3s!important}body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world-atmosphere i:nth-child(5){left:75%;top:65%;animation-delay:-9s!important}
@keyframes dfl-gold-motes{0%{transform:translate3d(0,12px,0);opacity:.35}50%{opacity:.9}100%{transform:translate3d(-22px,-48px,0);opacity:.5}}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-ambient i{box-shadow:0 0 9px 3px #f7c66da8,75px 90px 6px #e9bb70,160px -60px 6px #ffdd92,240px 50px 7px #edb66c,350px -25px 4px #ffdc9c;animation-duration:13s}
.dfl-whim-directory{position:relative}
.dfl-whim-incense{position:absolute;right:4%;top:24%;width:120px;height:190px;pointer-events:none;z-index:2;opacity:.88}
.dfl-incense-tray{position:absolute;bottom:0;left:16px;width:105px;height:12px;border-radius:50%;background:linear-gradient(#f1d09b,#80502f 55%,#35201e);box-shadow:0 5px 10px #10070a}
.dfl-incense-stick{position:absolute;bottom:8px;left:55px;width:3px;height:112px;background:linear-gradient(90deg,#4d2923,#d2a56a,#49221e);transform:rotate(17deg);transform-origin:bottom}
.dfl-incense-ember{position:absolute;bottom:114px;left:21px;width:5px;height:5px;background:#ffb85b;border-radius:50%;box-shadow:0 0 9px 3px #ed9c55}
.dfl-incense-curl{position:absolute;bottom:112px;left:12px;width:30px;height:105px;border-left:5px solid #e3d7d1a1;border-radius:55% 10% 55% 25%;filter:blur(6px);opacity:0;animation:dfl-incense-rise 7s ease-out infinite}
.dfl-incense-curl.c2{animation-delay:-2.3s;left:17px}.dfl-incense-curl.c3{animation-delay:-4.6s;left:5px}
@keyframes dfl-incense-rise{0%{transform:translate(0,10px) rotate(-16deg) scale(.5);opacity:0}20%{opacity:.48}65%{opacity:.32}100%{transform:translate(48px,-120px) rotate(38deg) scale(2);opacity:0}}
.dfl-whim-candle{position:absolute;left:4%;top:37%;width:65px;height:140px;pointer-events:none;z-index:2;filter:drop-shadow(0 0 10px #f3a95755)}
.dfl-candle-wax{position:absolute;bottom:10px;left:15px;width:37px;height:70px;border-radius:5px 5px 7px 7px;background:linear-gradient(90deg,#ac8d72,#f3dfbc 35%,#e5c8a0 70%,#856047);box-shadow:inset -4px 0 6px #593c3588}
.dfl-candle-wick{position:absolute;bottom:78px;left:33px;width:2px;height:10px;background:#271611}
.dfl-candle-flame{position:absolute;bottom:86px;left:25px;width:17px;height:32px;border-radius:80% 15% 70% 55%;background:radial-gradient(ellipse at 55% 70%,#fffde8 0 17%,#ffe18b 35%,#f4a441 68%,#ff8e3600 85%);transform-origin:50% 95%;filter:drop-shadow(0 0 10px #f3a53a);animation:dfl-flame 1.9s ease-in-out infinite alternate}
.dfl-candle-base{position:absolute;bottom:0;left:3px;width:60px;height:14px;border-radius:50%;background:linear-gradient(#f7d9a1,#97642f 60%,#3e2420)}
@keyframes dfl-flame{0%{transform:rotate(-7deg) scale(.9,1.06);opacity:.83}50%{transform:rotate(5deg) scale(1.06,.92)}100%{transform:rotate(-3deg) scale(.94,1.12);opacity:1}}
@media(max-width:700px){.dfl-whim-incense{right:0;top:42%;transform:scale(.65);transform-origin:right top}.dfl-whim-candle{left:0;top:52%;transform:scale(.7);transform-origin:left top}.dfl-whim-portal:before{font-size:27px!important;top:-18px!important}.dfl-whim-portal:after{font-size:25px!important;bottom:-14px!important}}
@media(prefers-reduced-motion:reduce){.dfl-incense-curl,.dfl-candle-flame,body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world-atmosphere i{animation:none!important}}

/* Continuous Whimsigoth scenery: preserve photographic background, no image replacement */
body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent{background:#21111d url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043') center top/100% auto repeat-y!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-directory,body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-shelves{background-image:linear-gradient(90deg,#1d0c1a75,#29132130 22%,#29132135 78%,#1d0c1a75)!important;background-color:transparent!important;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important}
body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent{position:relative;isolation:isolate}
body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent:after{content:"";position:absolute;z-index:6;inset:0;pointer-events:none;background-image:radial-gradient(circle,#fff6c9 0 1px,#e5af6e99 2px,transparent 5px),radial-gradient(circle,#fbe1a2 0 1px,#d2a25d77 2px,transparent 7px),radial-gradient(circle,#fff5d6 0 1px,transparent 4px);background-size:89px 113px,147px 179px,223px 131px;background-position:9px 23px,57px 88px,114px 48px;opacity:.8;animation:dfl-dust-drift 22s linear infinite}
@keyframes dfl-dust-drift{from{background-position:9px 23px,57px 88px,114px 48px}to{background-position:42px -200px,100px -310px,160px -210px}}
.dfl-whim-shelves{position:relative;overflow:hidden}
.dfl-whim-stage{position:relative;height:235px;max-width:1100px;margin:8px auto 16px;pointer-events:none;z-index:2}
.dfl-whim-stage .dfl-whim-incense{left:calc(50% - 165px);right:auto;top:60px;width:160px;height:170px;transform:scale(1.18);opacity:1}
.dfl-whim-stage .dfl-whim-candle{left:calc(50% + 90px);top:77px;transform:scale(1.25);opacity:1}
.dfl-incense-vapor{position:absolute;bottom:98px;left:-57px;width:220px;height:320px;overflow:visible;opacity:.6;filter:drop-shadow(0 0 5px #fff5ed44)}
.dfl-smoke-path{stroke-dasharray:90 75;animation:dfl-smoke-flow 8s linear infinite,dfl-smoke-breathe 5s ease-in-out infinite alternate}
.dfl-smoke-path.b{animation-delay:-3s;opacity:.6}
@keyframes dfl-smoke-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-330}}
@keyframes dfl-smoke-breathe{from{opacity:.25;transform:translateX(-9px)}to{opacity:.65;transform:translateX(14px)}}
.dfl-candle-glow{position:absolute;left:-35px;bottom:58px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,#f5b45e66,transparent 70%);animation:dfl-candle-aura 2.3s ease-in-out infinite alternate}
@keyframes dfl-candle-aura{from{opacity:.45;transform:scale(.85)}to{opacity:.9;transform:scale(1.12)}}
@media(max-width:700px){.dfl-whim-stage{height:205px}.dfl-whim-stage .dfl-whim-incense{left:calc(50% - 120px);top:52px;transform:scale(.85)}.dfl-whim-stage .dfl-whim-candle{left:calc(50% + 55px);top:80px;transform:scale(.92)}}
@media(prefers-reduced-motion:reduce){body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent:after,.dfl-smoke-path,.dfl-candle-glow{animation:none!important}}

/* Whimsigoth restoration: photograph visible behind every section */
body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent{
 background:#21111d url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043') center top/100% auto repeat-y!important;
 position:relative!important;isolation:isolate;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-directory,
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-shelves{
 background:transparent!important;background-image:none!important;
 background-color:transparent!important;position:relative;z-index:1;
}
body:has(.dfl-world--whimsigoth-aesthetic) main#MainContent:after{display:none!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-ambient{display:none!important}
.dfl-real-dust{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden;contain:layout paint}
.dfl-real-dust i{position:absolute;display:block;border-radius:50%;background:#fff4d2;box-shadow:0 0 var(--glow) 1px #f9d9a67a,0 0 calc(var(--glow)*2) 1px #f3c77b2b;animation:dfl-natural-drift var(--duration) ease-in-out var(--delay) infinite alternate,dfl-natural-twinkle 5.8s ease-in-out var(--delay) infinite}
@keyframes dfl-natural-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--drift),calc(-1 * var(--rise)),0)}}
@keyframes dfl-natural-twinkle{0%,100%{filter:brightness(.55)}55%{filter:brightness(1.35)}}
@media(prefers-reduced-motion:reduce){.dfl-real-dust i{animation:none!important}}

/* FIX: world itself previously painted opaque burgundy over the main background.
   Keep the independently generated gold motes unchanged. */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic{
 background-image:url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043')!important;
 background-color:#21111d!important;
 background-size:100% auto!important;
 background-position:center top!important;
 background-repeat:repeat-y!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-directory,
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-shelves{
 background:transparent!important;
 background-image:none!important;
}

/* Whimsigoth: the portal and merchandise sections are siblings of the hero,
   NOT children of .dfl-world. Give each its own confirmed Shopify image. */
body:has(.dfl-world--whimsigoth-aesthetic) section.dfl-whim-directory{
 background-image:linear-gradient(90deg,rgba(26,10,24,.30),rgba(26,10,24,.08) 45%,rgba(26,10,24,.30)),url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043')!important;
 background-color:#251521!important;
 background-size:100% 100%,100% auto!important;
 background-position:center center,center -570px!important;
 background-repeat:no-repeat,repeat-y!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) section.dfl-whim-shelves{
 background-image:linear-gradient(90deg,rgba(26,10,24,.30),rgba(26,10,24,.08) 45%,rgba(26,10,24,.30)),url('/cdn/shop/files/dfl-whimsigoth-photoreal-room-background.png?v=1792402043')!important;
 background-color:#251521!important;
 background-size:100% 100%,100% auto!important;
 background-position:center center,center top!important;
 background-repeat:no-repeat,repeat-y!important;
}

/* Reference-matched photographic carved gilt frame. Changes only four portal frames. */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal{
 border:0!important;
 outline:0!important;
 box-shadow:inset 0 0 26px #120816,0 8px 18px #100812!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal::before{
 content:""!important;
 position:absolute!important;
 inset:-20px -13px!important;
 width:auto!important;
 height:auto!important;
 left:-13px!important;
 top:-20px!important;
 transform:none!important;
 background:url('/cdn/shop/files/dfl-whimsigoth-antique-ornate-frame.png?v=1792406964') center/100% 100% no-repeat!important;
 filter:drop-shadow(0 4px 3px #0e0713a8);
 z-index:3!important;
 pointer-events:none!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal::after{
 content:none!important;
 display:none!important;
}

/* Whimsigoth portal readability and frame proportions ONLY */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-grid{gap:clamp(22px,3vw,38px)!important;padding:16px 12px 25px!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal{
 position:relative!important;
 min-width:0!important;
 min-height:260px!important;
 padding:36px 24px!important;
 gap:10px!important;
 isolation:isolate!important;
 background:radial-gradient(ellipse at 50% 35%,#704258,#261527 78%)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal::before{
 inset:-17px -5px!important;
 left:-5px!important;top:-17px!important;
 background-size:100% 100%!important;
 z-index:0!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal > *{position:relative!important;z-index:2!important;max-width:100%!important}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal strong{
 font-family:Georgia,'Times New Roman',serif!important;
 font-weight:600!important;
 font-size:clamp(12px,1.45vw,17px)!important;
 font-variant:small-caps!important;
 letter-spacing:.035em!important;
 line-height:1.1!important;
 color:#ffebbc!important;
 text-shadow:0 1px 5px #150b16!important;
 text-align:center!important;
 white-space:normal!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal small{
 font-family:Georgia,'Times New Roman',serif!important;
 font-size:clamp(9px,1vw,12px)!important;
 letter-spacing:.015em!important;
 color:#ebceaa!important;
 text-align:center!important;
 white-space:normal!important;
 line-height:1.2!important;
}
@media(max-width:700px){
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-grid{gap:24px 20px!important;padding:16px 8px 25px!important}
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal{min-height:210px!important;padding:26px 20px!important}
}

/* Whimsigoth four clickable antique frames only: rounder, deeper antique gold, readable. */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal{
 aspect-ratio:1 / 1.08!important;
 min-height:0!important;
 height:auto!important;
 padding:22px 23%!important;
 gap:5px!important;
 border-radius:46%!important;
 background:radial-gradient(ellipse at center,#69405a 0%,#382038 74%,#2c192e 100%)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal::before{
 inset:-10px -7px!important;
 top:-10px!important;left:-7px!important;
 filter:sepia(.28) saturate(1.45) brightness(.72) contrast(1.14) drop-shadow(0 4px 3px #0e0713a8)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal strong{
 font-size:clamp(10px,1.2vw,15px)!important;
 letter-spacing:0!important;
 line-height:1.06!important;
 overflow-wrap:normal!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal small{
 font-size:clamp(8px,.9vw,11px)!important;
 letter-spacing:0!important;
 line-height:1.08!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal span{
 font-size:clamp(28px,4vw,53px)!important;
 line-height:1!important;
}
@media(max-width:700px){
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-whim-portal{
  aspect-ratio:1 / 1.1!important;
  min-height:0!important;
  padding:17px 20%!important;
 }
}

/* Whimsigoth hero text placement only */
@media(min-width:700px){body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2,body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p,body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{position:relative;left:7vw}}
@media(max-width:699px){body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2,body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p,body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{position:relative;left:12px}}

/* Whimsigoth hero alignment refinement 2026-10-19: content only, no scenery or particles */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{
 width:min(77vw,730px)!important;
 height:clamp(110px,18vw,195px)!important;
 transform:translate(2.5vw,28px)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(5vw,-8px)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{
 transform:translate(5vw,12px)!important;
}
@media(max-width:699px){
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{width:78vw!important;height:clamp(105px,21vw,160px)!important;transform:translate(2vw,20px)!important}
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{transform:translate(3vw,-4px)!important}
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{transform:translate(3vw,8px)!important}
}

/* Whimsigoth hero: shift ONLY title, tagline and CTA links right, clear descender. */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{
 width:min(68vw,690px)!important;
 transform:translate(10vw,22px)!important;
 margin-bottom:38px!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(11vw,17px)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{
 transform:translate(11vw,25px)!important;
}
@media(max-width:699px){
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{
 width:68vw!important;
 height:clamp(105px,21vw,160px)!important;
 transform:translate(10vw,18px)!important;
 margin-bottom:38px!important;
 }
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(11vw,15px)!important;
 max-width:74vw!important;
 }
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{
 transform:translate(11vw,23px)!important;
 }
}

/* Whimsigoth hero fine adjustment: only wordmark, tagline, and hero buttons. */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{
 transform:translate(14vw,48px)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(15vw,39px)!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{
 transform:translate(15vw,47px)!important;
}
@media(max-width:699px){
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{
 transform:translate(14vw,42px)!important;
 }
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(15vw,37px)!important;
 }
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{
 transform:translate(15vw,45px)!important;
 }
}

/* Whimsigoth hero text placement refinement only; background and effects unchanged */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{
 width:min(59vw,610px)!important;
 height:clamp(100px,18vw,175px)!important;
 transform:translate(20vw,63px)!important;
 margin-bottom:25px!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(18vw,45px)!important;
 max-width:64vw!important;
}
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{
 transform:translate(18vw,53px)!important;
}
@media(max-width:699px){
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic h2{
 width:59vw!important;
 height:clamp(95px,18vw,135px)!important;
 transform:translate(20vw,56px)!important;
 margin-bottom:25px!important;
 }
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(18vw,43px)!important;
 max-width:64vw!important;
 }
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic a{
 transform:translate(18vw,51px)!important;
 }
}

/* Whimsigoth subtitle only: readable, refined, and clear of left-side ivy. */
body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(26vw,45px)!important;
 max-width:56vw!important;
 font-family:Georgia,"Times New Roman",serif!important;
 font-size:clamp(15px,1.55vw,20px)!important;
 font-weight:600!important;
 letter-spacing:.015em!important;
 line-height:1.5!important;
 color:#f7e7d9!important;
 text-shadow:0 2px 7px rgba(18,7,17,.9),0 0 15px rgba(18,7,17,.65)!important;
}
@media(max-width:699px){
 body:has(.dfl-world--whimsigoth-aesthetic) .dfl-world--whimsigoth-aesthetic p{
 transform:translate(26vw,43px)!important;
 max-width:56vw!important;
 font-size:clamp(13px,2.05vw,17px)!important;
 }
}
