/** Shopify CDN: Minification failed

Line 1049:2 Unexpected "{"
Line 1049:3 Expected identifier but found "%"
Line 1051:20 Unexpected "/"
Line 1054:3 Expected identifier but found "%"
Line 1055:2 Unexpected "{"
Line 1055:3 Expected identifier but found "%"
Line 1056:2 Unexpected "{"
Line 1056:3 Expected identifier but found "%"
Line 1057:2 Unexpected "{"
Line 1057:3 Expected identifier but found "%"
... and 12 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:before-after (INDEX:1) */
.bt-ba {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
    /* Outer section background follows the color scheme. Override wins. */
    background: var(--bt-ba-section-bg, var(--color-background, transparent));
    color: var(--color-foreground, inherit);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-ba *, .bt-ba *::before, .bt-ba *::after { box-sizing: border-box; }

  .bt-ba__inner {
    display: flex;
    align-items: center;
    gap: 48px;
    padding: clamp(36px, 4vw, 64px);
    border-radius: var(--bt-ba-radius-d, 50px);
    /* Match the content-area width of other sections (page-width minus horizontal page margins) */
    max-width: calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px));
    margin: 0 auto;
    /* Inner card defaults to a neutral light color, can be overridden */
    background: var(--bt-ba-bg, #f7fafb);
    color: var(--color-foreground, #3a3230);
  }

  .bt-ba__text {
    flex: 1 1 42%;
    min-width: 0;
    color: inherit;
  }
  .bt-ba__inner[style*="--bt-ba-text-color"] .bt-ba__text {
    color: var(--bt-ba-text-color);
  }
  .bt-ba__heading {
    font-family: inherit;
    font-weight: 900;
    font-size: clamp(28px, 3.5vw, 56px);
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0 0 16px;
    color: inherit;
    /* Explicit `none` overrides the theme-wide `h2 { text-transform: uppercase }`
       that Horizon ships. Without this, the heading is forced caps regardless
       of the toggle. The modifier below opts back into ALL CAPS. */
    text-transform: none !important;
  }
  .bt-ba__heading--uppercase {
    text-transform: uppercase !important;
  }
  .bt-ba__inner[style*="--bt-ba-heading-color"] .bt-ba__heading {
    color: var(--bt-ba-heading-color);
  }
  .bt-ba__description {
    font-weight: 400;
    font-size: clamp(15px, 1.15vw, 18px);
    line-height: 1.5;
    color: inherit;
  }
  .bt-ba__description p { margin: 0 0 0.7em; }
  .bt-ba__description p:last-child { margin-bottom: 0; }
  .bt-ba__description a { color: inherit; text-underline-offset: 2px; }

  .bt-ba__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 24px;
    padding: 14px 30px;
    border: none;
    border-radius: 100px;
    background: var(--bt-ba-heading-color, #1e1310);
    color: #ffffff;
    text-decoration: none;
    font-family: inherit;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
    cursor: pointer;
    transition: transform 0.15s ease, opacity 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-ba__button:hover { transform: translateY(-1px); opacity: 0.92; }

  /* Comparison area */
  .bt-ba__compare {
    position: relative;
    flex: 1 1 55%;
    min-width: 0;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: var(--bt-ba-radius-d, 50px);
    background: var(--bt-ba-image-bg, #eee);
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
  }
  /* Split-bg layers — show through transparent PNGs */
  .bt-ba__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
  }
  .bt-ba__bg--before {
    background: var(--bt-ba-image-bg, #eee);
  }
  .bt-ba__bg--after {
    background: var(--bt-ba-image-bg-after, var(--bt-ba-image-bg, #eee));
    clip-path: inset(0 0 0 var(--bt-ba-split, 50%));
    will-change: clip-path;
  }
  .bt-ba__compare.is-animated .bt-ba__bg--after {
    transition: clip-path 0.55s cubic-bezier(0.45, 0, 0.15, 1);
  }
  .bt-ba__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: var(--bt-ba-img-fit, cover);
    padding: var(--bt-ba-img-padding, 0);
    display: block;
    pointer-events: none;
    -webkit-user-drag: none;
    z-index: 1;
  }
  .bt-ba__img--after {
    clip-path: inset(0 0 0 var(--bt-ba-split, 50%));
    will-change: clip-path;
  }
  .bt-ba__compare.is-animated .bt-ba__img--after,
  .bt-ba__compare.is-animated .bt-ba__slider,
  .bt-ba__compare.is-animated .bt-ba__handle {
    transition:
      clip-path 0.55s cubic-bezier(0.45, 0, 0.15, 1),
      left 0.55s cubic-bezier(0.45, 0, 0.15, 1);
  }

  /* Slider line */
  .bt-ba__slider {
    position: absolute;
    top: 0;
    left: var(--bt-ba-split, 50%);
    width: 2px;
    height: 100%;
    background: var(--bt-ba-slider-color, #ffffff);
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.1), 0 0 12px rgba(0, 0, 0, 0.25);
    transform: translateX(-50%);
    z-index: 2;
    pointer-events: none;
  }

  /* Handle button */
  .bt-ba__handle {
    position: absolute;
    top: 50%;
    left: var(--bt-ba-split, 50%);
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    border: 3px solid rgba(255, 255, 255, 0.95);
    border-radius: 50%;
    background: var(--bt-ba-handle-bg, #ffffff);
    color: var(--bt-ba-handle-icon, #111111);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: grab;
    z-index: 3;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    font-family: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .bt-ba__handle:hover {
    transform: translate(-50%, -50%) scale(1.08);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32);
  }
  .bt-ba__compare.is-dragging .bt-ba__handle {
    cursor: grabbing;
    transform: translate(-50%, -50%) scale(1.05);
    transition: none;
  }
  .bt-ba__compare.is-dragging {
    cursor: grabbing;
  }
  .bt-ba__handle:focus-visible {
    outline: 3px solid var(--bt-ba-heading-color, #000);
    outline-offset: 4px;
  }
  .bt-ba__handle-icon {
    width: 22px;
    height: 22px;
    display: block;
  }

  /* Labels */
  .bt-ba__labels {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    z-index: 3;
    pointer-events: none;
  }
  .bt-ba__label {
    background: rgba(0, 0, 0, 0.72);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .bt-ba__placeholder {
    width: 100%;
    height: 100%;
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: inherit;
  }
  .bt-ba__placeholder svg {
    width: 45%;
    max-width: 180px;
    opacity: 0.35;
  }

  /* Tablet */
  @media screen and (max-width: 989px) {
    .bt-ba__inner {
      gap: 28px;
      padding: clamp(28px, 4vw, 48px);
    }
    .bt-ba__handle { width: 50px; height: 50px; }
  }

  /* Mobile */
  @media screen and (max-width: 749px) {
    .bt-ba__inner {
      flex-direction: column-reverse;
      align-items: stretch;
      gap: 24px;
      padding: 22px 18px;
      border-radius: var(--bt-ba-radius-m, 24px);
    }
    .bt-ba__text {
      flex: 0 0 auto;
      text-align: center;
    }
    .bt-ba__compare {
      flex: 0 0 auto;
      aspect-ratio: 4 / 3;
      border-radius: var(--bt-ba-radius-m, 24px);
    }
    .bt-ba__handle { width: 44px; height: 44px; border-width: 2.5px; }
    .bt-ba__handle-icon { width: 18px; height: 18px; }
    .bt-ba__labels { top: 12px; padding: 0 12px; }
    .bt-ba__label { font-size: 11px; padding: 5px 10px; }
    .bt-ba__button { margin-top: 18px; padding: 12px 24px; font-size: 14px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .bt-ba__compare.is-animated .bt-ba__img--after,
    .bt-ba__compare.is-animated .bt-ba__slider,
    .bt-ba__compare.is-animated .bt-ba__handle,
    .bt-ba__handle { transition: none !important; }
  }
/* END_SECTION:before-after */

/* START_SECTION:blog-posts-bricktopia (INDEX:2) */
.bt-bp { display: block; box-sizing: border-box; font-family: 'Rubik', sans-serif; }
  .bt-bp *, .bt-bp *::before, .bt-bp *::after { box-sizing: border-box; }

  .bt-bp__inner { margin: 0 auto; width: 100%; }
  .bt-bp__inner--page-width {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-bp__inner--full-width {
    max-width: 100%;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }

  .bt-bp__header { margin: 0 0 20px; }
  .bt-bp__header--left { text-align: left; }
  .bt-bp__header--center { text-align: center; }
  .bt-bp__header--right { text-align: right; }
  .bt-bp__heading {
    font-weight: 700;
    font-size: clamp(22px, 3vw, 36px);
    line-height: 1.15;
    letter-spacing: -0.02em;
  }
  .bt-bp__heading p { margin: 0; }

  /* Filter pills */
  .bt-bp__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin: 0 0 24px;
  }
  .bt-bp__pill {
    font-family: inherit;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.2;
    color: var(--bt-bp-pill-color, #67361C);
    background: var(--bt-bp-pill-bg, #f4f4f4);
    border: 1px solid transparent;
    border-radius: 100px;
    padding: 7px 16px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, transform 0.15s ease;
    white-space: nowrap;
  }
  .bt-bp__pill:hover {
    transform: translateY(-1px);
  }
  .bt-bp__pill.is-active {
    background: var(--bt-bp-pill-bg-active, #67361C);
    color: var(--bt-bp-pill-color-active, #ffffff);
  }

  /* Grid */
  .bt-bp__grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-bp-cols-d, 3), minmax(0, 1fr));
    gap: var(--bt-bp-gap, 24px);
  }

  .bt-bp__card {
    display: flex;
    flex-direction: column;
    background: var(--bt-bp-card-bg, transparent);
    border-radius: var(--bt-bp-card-radius, 18px);
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s ease;
    min-width: 0;
  }
  .bt-bp__card[hidden] { display: none !important; }
  .bt-bp__card:hover {
    transform: translateY(-3px);
  }
  .bt-bp__card-media {
    position: relative;
    width: 100%;
    aspect-ratio: var(--bt-bp-img-aspect, 3/2);
    overflow: hidden;
    border-radius: var(--bt-bp-img-radius, 18px);
    background: #f4f4f4;
    margin-bottom: 14px;
  }
  .bt-bp__card-media img,
  .bt-bp__card-media svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
  }
  .bt-bp__card:hover .bt-bp__card-media img { transform: scale(1.04); }

  .bt-bp__card-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 4px;
  }
  .bt-bp__card-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 12px;
    font-weight: 500;
    color: var(--bt-bp-meta-color, #a08a7c);
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }
  .bt-bp__card-sep { opacity: 0.5; }
  .bt-bp__card-date,
  .bt-bp__card-cat { white-space: nowrap; }
  .bt-bp__card-title {
    margin: 0;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--bt-bp-title-color, #67361C);
  }
  .bt-bp__card-excerpt {
    font-size: 14px;
    line-height: 1.5;
    color: var(--bt-bp-excerpt-color, #6a5f5a);
  }

  .bt-bp__empty,
  .bt-bp__empty-static {
    padding: 60px 20px;
    text-align: center;
    color: var(--bt-bp-meta-color, #a08a7c);
    font-size: 15px;
  }

  /* Tablet */
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-bp__grid {
      grid-template-columns: repeat(var(--bt-bp-cols-t, 2), minmax(0, 1fr));
    }
  }

  /* Mobile */
  @media (max-width: 749px) {
    .bt-bp__grid {
      grid-template-columns: repeat(var(--bt-bp-cols-m, 1), minmax(0, 1fr));
      gap: 24px;
    }
    .bt-bp__card-title { font-size: 17px; }
    .bt-bp__card-excerpt { font-size: 13px; }
    .bt-bp__card-meta { font-size: 11px; }
    .bt-bp__pills {
      justify-content: flex-start;
      overflow-x: auto;
      flex-wrap: nowrap;
      scrollbar-width: none;
      margin-left: calc(var(--page-margin, 20px) * -1);
      margin-right: calc(var(--page-margin, 20px) * -1);
      padding: 2px var(--page-margin, 20px);
    }
    .bt-bp__pills::-webkit-scrollbar { display: none; }
    .bt-bp__pill { flex-shrink: 0; }
  }
/* END_SECTION:blog-posts-bricktopia */

/* START_SECTION:brand-cards (INDEX:3) */
.bt-brc {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
  }
  .bt-brc *, .bt-brc *::before, .bt-brc *::after { box-sizing: border-box; }
  .bt-brc[style*="--brc-bg"] { background: var(--brc-bg); }

  .bt-brc__inner {
    max-width: var(--page-width, 1480px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-brc__header { margin-bottom: 36px; }
  .bt-brc__eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--brc-heading-color, #67361c);
    opacity: 0.7;
  }
  .bt-brc__heading {
    margin: 0 0 12px;
    font-weight: 700;
    font-size: clamp(28px, 4vw, 52px);
    line-height: 0.95;
    letter-spacing: -0.02em;
    color: var(--brc-heading-color, #67361c);
  }
  .bt-brc__subheading {
    margin: 0 auto;
    font-weight: 400;
    font-size: clamp(15px, 1.4vw, 20px);
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: var(--brc-text-color, #67361c);
    max-width: 720px;
  }
  .bt-brc__header[style*="text-align: left"] .bt-brc__subheading { margin-inline: 0; }
  .bt-brc__header[style*="text-align: right"] .bt-brc__subheading { margin-inline: auto 0; }

  /* Grid */
  .bt-brc__grid {
    display: grid;
    grid-template-columns: repeat(var(--brc-cols-d, 4), minmax(0, 1fr));
    gap: var(--brc-gap, 16px);
  }
  @media (max-width: 989px) {
    .bt-brc__grid { grid-template-columns: repeat(var(--brc-cols-t, 3), minmax(0, 1fr)); }
  }
  @media (max-width: 749px) {
    .bt-brc__grid { grid-template-columns: repeat(var(--brc-cols-m, 2), minmax(0, 1fr)); }
  }

  /* Marquee */
  .bt-brc__marquee {
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent);
  }
  .bt-brc__track {
    display: flex;
    gap: var(--brc-gap, 16px);
    width: max-content;
    align-items: stretch;
    animation: bt-brc-scroll var(--brc-marquee-duration, 32s) linear infinite;
  }
  .bt-brc__track:hover { animation-play-state: paused; }
  .bt-brc__marquee[data-direction="right"] .bt-brc__track { animation-direction: reverse; }
  @keyframes bt-brc-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  /* Card */
  .bt-brc__card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease;
    flex-shrink: 0;
  }
  .bt-brc__marquee .bt-brc__card { width: 220px; }
  a.bt-brc__card:hover { transform: translateY(-3px); }

  .bt-brc__tile {
    aspect-ratio: var(--brc-card-aspect, 1 / 1);
    border-radius: var(--brc-card-radius, 22px);
    background: var(--brc-tile-bg, #f3ece6);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: var(--brc-logo-pad, 22px);
    transition: box-shadow 0.2s ease, filter 0.2s ease;
  }
  .bt-brc__card:hover .bt-brc__tile {
    box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.18);
    filter: brightness(1.04);
  }
  .bt-brc__tile img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .bt-brc__tile--cover { padding: 0; }
  .bt-brc__tile--cover img { object-fit: cover; }
  .bt-brc__tile--placeholder {
    color: var(--brc-tile-text, #ffffff);
    font-size: 48px;
    font-weight: 800;
    letter-spacing: -0.02em;
    background: var(--brc-tile-bg, #67361c);
  }

  .bt-brc__name {
    margin-top: 12px;
    font-weight: 700;
    font-size: var(--brc-name-size, 16px);
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--brc-text-color, #67361c);
    text-align: center;
  }
  .bt-brc__tag {
    margin-top: 4px;
    font-weight: 400;
    font-size: var(--brc-tag-size, 13px);
    line-height: 1.4;
    color: var(--brc-text-color, #67361c);
    opacity: 0.7;
    text-align: center;
  }

  .bt-brc__cta-wrap { margin-top: 36px; }
  .bt-brc__cta {
    display: inline-flex;
    align-items: center;
    padding: 14px 28px;
    border-radius: 100px;
    border: 1.5px solid currentColor;
    color: var(--brc-heading-color, #67361c);
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
  }
  .bt-brc__cta:hover {
    background: var(--brc-heading-color, #67361c);
    color: #ffffff;
  }

  .bt-brc__empty {
    text-align: center;
    padding: 40px 20px;
    color: rgba(0, 0, 0, 0.5);
    font-size: 14px;
  }

  @media (max-width: 749px) {
    .bt-brc__header { margin-bottom: 24px; }
    .bt-brc__name { margin-top: 10px; }
  }
/* END_SECTION:brand-cards */

/* START_SECTION:brand-logos (INDEX:4) */
.bt-brands {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
  }
  .bt-brands *, .bt-brands *::before, .bt-brands *::after { box-sizing: border-box; }
  .bt-brands[style*="--brands-bg"] { background: var(--brands-bg); }

  .bt-brands__inner {
    max-width: var(--page-width, 1480px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-brands__header {
    margin-bottom: 40px;
  }
  .bt-brands__heading {
    margin: 0 0 12px;
    font-weight: 700;
    font-size: clamp(30px, 4.2vw, 56px);
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: var(--brands-heading-color, #67361c);
    text-transform: none;
  }
  .bt-brands__subheading {
    margin: 0;
    font-weight: 400;
    font-size: clamp(15px, 1.4vw, 22px);
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--brands-text-color, #67361c);
    max-width: 720px;
    margin-inline: auto;
  }
  .bt-brands__header[style*="text-align: left"] .bt-brands__subheading { margin-inline: 0; }
  .bt-brands__header[style*="text-align: right"] .bt-brands__subheading { margin-inline: auto 0; }

  /* Grid layout */
  .bt-brands__grid {
    display: grid;
    grid-template-columns: repeat(var(--brands-cols-d, 6), minmax(0, 1fr));
    gap: var(--brands-gap-v, 28px) var(--brands-gap-h, 24px);
    justify-items: center;
    align-items: flex-start;
  }
  @media (max-width: 989px) {
    .bt-brands__grid {
      grid-template-columns: repeat(var(--brands-cols-t, 4), minmax(0, 1fr));
    }
  }
  @media (max-width: 749px) {
    .bt-brands__grid {
      grid-template-columns: repeat(var(--brands-cols-m, 2), minmax(0, 1fr));
      gap: 28px 18px;
    }
  }

  /* Marquee layout */
  .bt-brands__marquee {
    overflow: hidden;
    mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 40px, #000 calc(100% - 40px), transparent);
  }
  .bt-brands__track {
    display: flex;
    gap: var(--brands-gap-h, 40px);
    width: max-content;
    align-items: flex-start;
    animation: bt-brands-scroll var(--brands-marquee-duration, 30s) linear infinite;
  }
  .bt-brands__track:hover { animation-play-state: paused; }
  .bt-brands__marquee[data-direction="right"] .bt-brands__track { animation-direction: reverse; }
  @keyframes bt-brands-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  /* Item */
  .bt-brands__item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease;
    flex-shrink: 0;
  }
  .bt-brands__item:hover { transform: translateY(-2px); }

  .bt-brands__tile {
    width: var(--brand-tile-size-d, 65px);
    height: var(--brand-tile-size-d, 65px);
    border-radius: var(--brand-tile-radius, 11px);
    overflow: hidden;
    background: var(--brand-tile-bg, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .bt-brands__tile img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }
  .bt-brands__tile--fit-cover img { object-fit: cover; }

  .bt-brands__label {
    font-weight: 700;
    font-size: var(--brands-label-size, 16px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--brands-label-color, #67361c);
    text-align: center;
    white-space: nowrap;
  }

  /* Placeholder when no image */
  .bt-brands__tile--placeholder {
    background: rgba(0, 0, 0, 0.06);
    color: rgba(0, 0, 0, 0.4);
    font-weight: 700;
    font-size: calc(var(--brand-tile-size-d, 65px) * 0.4);
  }

  .bt-brands__empty {
    text-align: center;
    padding: 40px 20px;
    color: rgba(0, 0, 0, 0.5);
    font-size: 14px;
  }

  @media (max-width: 749px) {
    .bt-brands__header { margin-bottom: 28px; }
    .bt-brands__tile {
      width: var(--brand-tile-size-m, 80px);
      height: var(--brand-tile-size-m, 80px);
    }
    .bt-brands__tile--placeholder {
      font-size: calc(var(--brand-tile-size-m, 80px) * 0.4);
    }
    .bt-brands__label { font-size: calc(var(--brands-label-size, 16px) * 0.95); }
    .bt-brands__track { gap: 20px; }
  }
/* END_SECTION:brand-logos */

/* START_SECTION:bt-contact-button (INDEX:7) */
.bt-cb {
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
  }
  .bt-cb *, .bt-cb *::before, .bt-cb *::after { box-sizing: border-box; }

  .bt-cb__btn {
    position: fixed;
    right: var(--bt-cb-offset-r);
    bottom: var(--bt-cb-offset-b);
    width: var(--bt-cb-size-d);
    height: var(--bt-cb-size-d);
    border-radius: 50%;
    background: var(--bt-cb-bg);
    color: var(--bt-cb-color);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 24px rgba(250, 88, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.12);
    z-index: 9990;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  }
  .bt-cb__btn:hover {
    background: var(--bt-cb-bg-hover);
    transform: scale(1.06);
    box-shadow: 0 10px 32px rgba(250, 88, 0, 0.5), 0 4px 12px rgba(0, 0, 0, 0.18);
  }
  .bt-cb__btn:active { transform: scale(0.98); }
  .bt-cb__btn svg {
    /* Inline `style="width:65%"` is set on the SVG itself so the icon
       NEVER paints at full container size — even before CSS loads. This
       eliminates the «icon flashes big then shrinks» FOUC.
       The cropped viewBox (3 3 18 18) makes 65% feel like ~85% of the
       button visually because there's no internal padding around the path. */
    width: 65%;
    height: 65%;
    display: block;
  }
  /* Pulse ring animation — subtle attention grabber */
  .bt-cb__pulse {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid var(--bt-cb-bg);
    animation: bt-cb-pulse 2s ease-out infinite;
    pointer-events: none;
  }
  @keyframes bt-cb-pulse {
    0%   { transform: scale(1);   opacity: 0.6; }
    100% { transform: scale(1.5); opacity: 0;   }
  }

  /* Tooltip — appears on hover */
  .bt-cb__tooltip {
    position: fixed;
    right: calc(var(--bt-cb-offset-r) + var(--bt-cb-size-d) + 12px);
    bottom: calc(var(--bt-cb-offset-b) + var(--bt-cb-size-d) / 2 - 16px);
    background: #1a1a1a;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 12px;
    border-radius: 8px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transform: translateX(8px);
    transition: opacity 0.18s ease, transform 0.18s ease;
    z-index: 9989;
  }
  .bt-cb__tooltip::after {
    content: '';
    position: absolute;
    right: -4px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 8px;
    height: 8px;
    background: #1a1a1a;
  }
  .bt-cb__btn:hover ~ .bt-cb__tooltip {
    opacity: 1;
    transform: translateX(0);
  }

  /* Mobile sizing */
  @media (max-width: 749px) {
    .bt-cb__btn {
      width: var(--bt-cb-size-m);
      height: var(--bt-cb-size-m);
      right: var(--bt-cb-offset-r-m);
      bottom: var(--bt-cb-offset-b-m);
    }
    .bt-cb__tooltip { display: none; }
  }

  /* Popup overlay */
  .bt-cb__overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(10, 10, 10, 0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
  }
  .bt-cb__overlay.is-open {
    opacity: 1;
    pointer-events: auto;
  }
  /* Card layout:
     – With popup image: 2-column grid (image LEFT, content RIGHT).
     – Without image: single column, narrower card (graceful fallback).
     The image column is rendered first in the DOM so order matches grid. */
  .bt-cb__card {
    position: relative;
    background: #FFFFFF;
    border-radius: 22px;
    max-width: 1080px;
    width: 100%;
    max-height: calc(100vh - 40px);
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transform: scale(0.92) translateY(16px);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
                opacity 0.2s ease;
    display: grid;
    grid-template-columns: 0.95fr 1fr;
  }
  /* When image isn't set, the .bt-cb__media element is absent — collapse
     to a single, narrower column so the form-only popup stays centered
     and reads cleanly (no empty grid track). */
  .bt-cb__card:not(:has(> .bt-cb__media)) {
    grid-template-columns: 1fr;
    max-width: 480px;
  }
  .bt-cb__overlay.is-open .bt-cb__card {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
  .bt-cb__media {
    overflow: hidden;
    display: flex;
    align-items: stretch;
  }
  .bt-cb__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .bt-cb__content {
    padding: 36px 36px 32px;
    overflow-y: auto;
    max-height: calc(100vh - 40px);
  }

  .bt-cb__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 32px;
    height: 32px;
    border: none;
    background: rgba(242, 242, 244, 0.95);
    border-radius: 50%;
    cursor: pointer;
    font-size: 14px;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease;
    z-index: 2;
  }
  .bt-cb__close:hover { background: #E5E5EA; }

  .bt-cb__title {
    margin: 0 0 8px;
    font-weight: 900;
    font-size: 38px;
    line-height: 1.05;
    color: #4a2818;
    letter-spacing: -0.02em;
    padding-right: 36px;
    text-transform: none !important;
  }
  .bt-cb__subtext {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 1.5;
    color: #2a2a2a;
  }
  .bt-cb__divider {
    height: 1px;
    background: #ECECF0;
    margin: 0 0 20px;
  }

  /* Channels — inline pills (Telegram / Instagram / Email side by side) */
  .bt-cb__channels {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
  }
  .bt-cb__channel {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 999px;
    text-decoration: none;
    color: #fff !important;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    transition: opacity 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  }
  .bt-cb__channel:hover {
    opacity: 0.95;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
  }
  .bt-cb__channel:active { transform: translateY(0); }
  .bt-cb__channel-icon {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-cb__channel-icon svg { width: 100%; height: 100%; }
  .bt-cb__channel--telegram   { background: #229ED9; }
  .bt-cb__channel--whatsapp   { background: #25D366; }
  .bt-cb__channel--viber      { background: #7360F2; }
  .bt-cb__channel--instagram  { background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
  .bt-cb__channel--email      { background: #5a3a1f; }
  .bt-cb__channel--custom     { background: #FA5800; }

  {%- comment -%}
    Phone CTA color — guard against the merchant accidentally saving the
    setting as white/empty (Liquid `default` only kicks in for nil, not for
    explicit `#FFFFFF`). If the saved value is one of the «white» variants,
    we ignore it and fall back to the brand purple.
  {%- endcomment -%}
  {%- assign _saved_bg = section.settings.phone_cta_bg | default: '' | downcase | strip -%}
  {%- assign _phone_bg = '#D505F1' -%}
  {%- if _saved_bg != blank
        and _saved_bg != '#ffffff'
        and _saved_bg != '#fff'
        and _saved_bg != 'white'
        and _saved_bg != 'rgba(0,0,0,0)'
        and _saved_bg != 'transparent' -%}
    {%- assign _phone_bg = _saved_bg -%}
  {%- endif -%}

  /* Big phone CTA — full-width purple pill (matches the screenshot).
     Text forced to black so it stays readable even if the host theme
     overrides the background to a light tone. */
  .bt-cb__phone-cta {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    padding: 16px 20px;
    border-radius: 999px !important;
    background: {{ _phone_bg }} !important;
    background-color: {{ _phone_bg }} !important;
    color: #0A0A0A !important;
    text-decoration: none !important;
    font-weight: 800;
    font-size: 18px;
    line-height: 1;
    margin-bottom: 22px;
    transition: opacity 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
    box-shadow: 0 6px 20px rgba(213, 5, 241, 0.3);
  }
  .bt-cb__phone-cta,
  .bt-cb__phone-cta:link,
  .bt-cb__phone-cta:visited,
  .bt-cb__phone-cta:hover,
  .bt-cb__phone-cta:active {
    color: #0A0A0A !important;
    text-decoration: none !important;
  }
  .bt-cb__phone-cta * {
    color: #0A0A0A !important;
  }
  .bt-cb__phone-cta-icon svg {
    fill: #0A0A0A !important;
  }
  .bt-cb__phone-cta:hover {
    opacity: 0.95;
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(213, 5, 241, 0.42);
  }
  .bt-cb__phone-cta-icon {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-cb__phone-cta-icon svg { width: 100%; height: 100%; }
  .bt-cb__phone-cta-number {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 0.01em;
  }
  .bt-cb__phone-cta-hours {
    font-size: 12px;
    font-weight: 600;
    opacity: 0.85;
    margin-left: 4px;
  }

  /* Form */
  .bt-cb__form-divider {
    text-align: center;
    margin: 6px 0 14px;
    position: relative;
  }
  .bt-cb__form-divider::before,
  .bt-cb__form-divider::after {
    content: '';
    position: absolute;
    top: 50%;
    width: calc(50% - 130px);
    height: 1px;
    background: #ECECF0;
  }
  .bt-cb__form-divider::before { left: 0; }
  .bt-cb__form-divider::after  { right: 0; }
  .bt-cb__form-divider span {
    font-size: 12px;
    color: #6B6B6B;
    font-weight: 500;
    background: #fff;
    padding: 0 12px;
    position: relative;
    z-index: 1;
  }
  .bt-cb__form {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bt-cb__input {
    width: 100%;
    padding: 14px 18px;
    border: 1.5px solid #E5E5EA;
    border-radius: 14px;
    background: #FFFFFF;
    font-family: inherit;
    font-size: 14px;
    color: #1a1a1a;
    line-height: 1.4;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }
  .bt-cb__input:focus {
    outline: none;
    border-color: #FA5800;
    box-shadow: 0 0 0 3px rgba(250, 88, 0, 0.15);
  }
  .bt-cb__input::placeholder { color: #9A9A9A; }
  .bt-cb__textarea {
    resize: vertical;
    min-height: 60px;
    font-family: inherit;
  }
  .bt-cb__submit {
    appearance: none;
    border: none;
    cursor: pointer;
    width: 100%;
    padding: 16px 20px;
    border-radius: 999px;
    background: linear-gradient(135deg, #FA5800 0%, #FF7A1F 100%);
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    margin-top: 4px;
    transition: opacity 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
    box-shadow: 0 6px 18px rgba(250, 88, 0, 0.32);
  }
  .bt-cb__submit:hover { opacity: 0.95; transform: translateY(-1px); }
  .bt-cb__submit:active { transform: translateY(0); }
  .bt-cb__submit:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
  .bt-cb__form-message {
    margin-top: 6px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    min-height: 18px;
  }
  .bt-cb__form-message.is-success { color: #2d6a2d; }
  .bt-cb__form-message.is-error   { color: #c62828; }

  /* Tablet/mobile breakpoint */
  @media (max-width: 749px) {
    .bt-cb__card {
      grid-template-columns: 1fr;
      max-width: 480px;
      max-height: calc(100vh - 24px);
    }
    .bt-cb__media { display: none; }
    .bt-cb__content { padding: 28px 22px 22px; max-height: calc(100vh - 24px); }
    .bt-cb__title { font-size: 26px; padding-right: 30px; }
    .bt-cb__phone-cta { font-size: 15px; padding: 14px 16px; flex-wrap: wrap; }
    .bt-cb__phone-cta-number { font-size: 15px; }
    .bt-cb__phone-cta-hours { font-size: 11px; width: 100%; text-align: center; margin: 0; }
    .bt-cb__form-divider::before,
    .bt-cb__form-divider::after { width: calc(50% - 110px); }
    .bt-cb__channel { font-size: 13px; padding: 10px 14px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .bt-cb__pulse { animation: none; opacity: 0; }
    .bt-cb__btn { transition: none; }
    .bt-cb__card { transition: none; }
  }
/* END_SECTION:bt-contact-button */

/* START_SECTION:bt-corner-callout (INDEX:8) */
.bt-cc {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Rubik', sans-serif;
  }
  .bt-cc *, .bt-cc *::before, .bt-cc *::after { box-sizing: border-box; }

  .bt-cc__inner {
    width: 100%;
    margin: 0 auto;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-cc--page-width .bt-cc__inner { max-width: var(--page-width, 1440px); }
  .bt-cc--full-width .bt-cc__inner { max-width: none; padding-left: 0; padding-right: 0; }

  .bt-cc__card {
    position: relative;
    background: var(--bt-cc-bg, #F8F4EE);
    border-radius: var(--bt-cc-radius, 28px);
    padding: var(--bt-cc-pad-v, 48px) var(--bt-cc-pad-h, 40px);
    overflow: hidden;
    text-align: center;
    min-height: var(--bt-cc-min-h, 0);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .bt-cc__arrow {
    color: var(--bt-cc-arrow, #E8722C);
    width: var(--bt-cc-arrow-size, 36px);
    height: calc(var(--bt-cc-arrow-size, 36px) * 1.3);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
  }
  .bt-cc__arrow svg {
    width: 100%;
    height: 100%;
    display: block;
  }
  .bt-cc__arrow--top { margin-bottom: 22px; }
  .bt-cc__arrow--bottom { margin-top: 22px; }

  .bt-cc__content {
    position: relative;
    z-index: 3;
    margin: 0 auto;
    max-width: 720px;
  }

  .bt-cc__heading {
    margin: 0 0 12px;
    font-size: var(--bt-cc-heading-size, 36px);
    line-height: 1.15;
    font-weight: 800;
    color: var(--bt-cc-heading, #3a1d0a);
    letter-spacing: -0.01em;
    /* Explicit text-transform overrides any theme-level h2 styling.
       Driven by --bt-cc-heading-case so the schema toggle works. */
    text-transform: var(--bt-cc-heading-case, none);
  }
  .bt-cc__heading-accent {
    color: var(--bt-cc-accent, #E8722C);
  }
  .bt-cc__sub {
    margin: 0;
    font-size: var(--bt-cc-sub-size, 18px);
    line-height: 1.45;
    font-weight: 600;
    color: var(--bt-cc-sub, #5b4636);
  }

  /* Side images — pinned to corners. transform-origin matches the corner so
     scale grows outward (or inward) without sliding the anchor. */
  .bt-cc__image {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    line-height: 0;
  }
  .bt-cc__image img {
    display: block;
    height: auto;
    width: 100%;
  }
  .bt-cc__image--left  { width: var(--bt-cc-img-l, 220px); }
  .bt-cc__image--right { width: var(--bt-cc-img-r, 220px); }

  .bt-cc__image--bottom-left  { left: 0;  bottom: 0; transform-origin: bottom left; }
  .bt-cc__image--top-left     { left: 0;  top: 0;    transform-origin: top left; }
  .bt-cc__image--bottom-right { right: 0; bottom: 0; transform-origin: bottom right; }
  .bt-cc__image--top-right    { right: 0; top: 0;    transform-origin: top right; }

  /* Stacking: heading should always be readable. Images stay below content
     z-index 3 because they're at z-index 2. */

  /* Per-breakpoint show/hide helpers used by mobile overrides */
  .bt-cc__heading--mobile-only,
  .bt-cc__sub--mobile-only,
  .bt-cc__arrow--mobile-only { display: none; }
  @media (max-width: 749px) {
    .bt-cc__heading--desktop-only,
    .bt-cc__sub--desktop-only,
    .bt-cc__arrow--desktop-only { display: none; }
    .bt-cc__heading--mobile-only,
    .bt-cc__sub--mobile-only { display: block; }
    .bt-cc__arrow--mobile-only { display: flex; }
  }

  /* Tablet — slightly smaller */
  @media (min-width: 750px) and (max-width: 1099px) {
    .bt-cc__heading { font-size: calc(var(--bt-cc-heading-size, 36px) * 0.9); }
    .bt-cc__sub { font-size: calc(var(--bt-cc-sub-size, 18px) * 0.95); }
  }

  /* Mobile */
  @media (max-width: 749px) {
    .bt-cc__card {
      padding: var(--bt-cc-pad-v-m, 36px) var(--bt-cc-pad-h-m, 24px);
      min-height: var(--bt-cc-min-h-m, 0);
    }
    .bt-cc__heading {
      font-size: var(--bt-cc-heading-size-m, 24px);
    }
    .bt-cc__sub {
      font-size: var(--bt-cc-sub-size-m, 15px);
    }
    .bt-cc__arrow {
      width: var(--bt-cc-arrow-size-m, 28px);
      height: calc(var(--bt-cc-arrow-size-m, 28px) * 1.3);
    }
    .bt-cc__arrow--top { margin-bottom: 16px; }
    .bt-cc__arrow--bottom { margin-top: 16px; }
    .bt-cc__image--left  { width: var(--bt-cc-img-l-m, 130px); }
    .bt-cc__image--right { width: var(--bt-cc-img-r-m, 130px); }
    .bt-cc__content {
      /* Push center content above bottom-pinned images on phones */
      padding-bottom: clamp(40px, 12vw, 60px);
    }
  }
/* END_SECTION:bt-corner-callout */

/* START_SECTION:bt-faq-categorized (INDEX:9) */
.bt-faqc { display: block; font-family: 'Rubik', sans-serif; box-sizing: border-box; }
  .bt-faqc *, .bt-faqc *::before, .bt-faqc *::after { box-sizing: border-box; }

  .bt-faqc__inner {
    max-width: var(--page-width, 1200px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-faqc__heading {
    margin: 0 0 8px;
    font-weight: 900;
    font-size: clamp(26px, 3.2vw, 44px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--faqc-heading-color);
    text-transform: none !important;
  }
  .bt-faqc__heading--uppercase { text-transform: uppercase !important; }
  .bt-faqc__heading-hl { color: var(--faqc-accent); }
  .bt-faqc__subheading {
    margin: 0 0 28px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--faqc-muted);
  }

  /* Search */
  .bt-faqc__search {
    margin: 0 auto 28px;
    max-width: 560px;
  }
  .bt-faqc__search-row {
    position: relative;
  }
  .bt-faqc__search-icon {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: var(--faqc-muted);
    pointer-events: none;
  }
  .bt-faqc__search-input {
    width: 100%;
    padding: 14px 18px 14px 46px;
    border: 1.5px solid var(--faqc-card-border);
    border-radius: 14px;
    background: var(--faqc-card-bg);
    font-family: inherit;
    font-size: 15px;
    color: var(--faqc-text);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }
  .bt-faqc__search-input:focus {
    outline: none;
    border-color: var(--faqc-accent);
    box-shadow: 0 0 0 3px rgba(250, 88, 0, 0.15);
  }
  /* Empty state — class-based visibility so `display: none` actually wins
     over our base styles. Was using `hidden` attribute earlier but the
     base `display: block` rule overrode it. */
  .bt-faqc__search-empty {
    display: none;
    margin-top: 12px;
    font-size: 14px;
    color: var(--faqc-muted);
    text-align: center;
  }
  .bt-faqc__search-empty.is-visible { display: block; }

  /* Layout shells */
  .bt-faqc__layout {
    display: block;
  }
  .bt-faqc--sidebar .bt-faqc__layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 32px;
    align-items: flex-start;
  }
  .bt-faqc--tabs .bt-faqc__nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 0 12px;
    margin: 0 0 18px;
    scrollbar-width: thin;
  }
  .bt-faqc--sidebar .bt-faqc__nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: sticky;
    top: 80px;
  }

  .bt-faqc__nav-btn {
    appearance: none;
    border: 1.5px solid var(--faqc-card-border);
    background: var(--faqc-card-bg);
    color: var(--faqc-text);
    cursor: pointer;
    font-family: inherit;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    padding: 10px 16px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }
  .bt-faqc--sidebar .bt-faqc__nav-btn {
    border-radius: 12px;
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    white-space: normal;
  }
  .bt-faqc__nav-btn:hover {
    border-color: var(--faqc-accent);
    color: var(--faqc-accent);
  }
  .bt-faqc__nav-btn.is-active {
    background: var(--faqc-active-bg);
    color: var(--faqc-active-color);
    border-color: var(--faqc-active-bg);
  }
  .bt-faqc__nav-icon {
    font-size: 16px;
    line-height: 1;
  }

  /* Panels */
  .bt-faqc__panels { min-width: 0; }
  .bt-faqc__panel {
    display: none;
  }
  .bt-faqc__panel.is-active { display: block; }
  .bt-faqc--stacked .bt-faqc__panel { display: block; margin-bottom: 32px; }
  .bt-faqc--stacked .bt-faqc__panel:last-child { margin-bottom: 0; }

  .bt-faqc__panel-heading {
    margin: 0 0 8px;
    font-weight: 800;
    font-size: 22px;
    line-height: 1.2;
    color: var(--faqc-heading-color);
    display: flex;
    align-items: center;
    gap: 10px;
    text-transform: none !important;
  }
  .bt-faqc__panel-icon { font-size: 22px; line-height: 1; }
  .bt-faqc__panel-desc {
    margin: 0 0 14px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--faqc-muted);
  }

  /* Q&A items */
  .bt-faqc__items {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bt-faqc__item {
    background: var(--faqc-card-bg);
    border: 1.5px solid var(--faqc-card-border);
    border-radius: var(--faqc-card-radius);
    overflow: hidden;
    transition: border-color 0.2s ease;
  }
  .bt-faqc__item[open] {
    border-color: var(--faqc-accent);
  }
  .bt-faqc__q {
    list-style: none;
    cursor: pointer;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    color: var(--faqc-text);
    text-transform: none !important;
  }
  .bt-faqc__q::-webkit-details-marker { display: none; }
  .bt-faqc__q-text { flex: 1 1 auto; min-width: 0; }
  .bt-faqc__chevron {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    color: var(--faqc-accent);
    transition: transform 0.25s ease;
  }
  .bt-faqc__chevron svg { width: 100%; height: 100%; display: block; }
  .bt-faqc__item[open] .bt-faqc__chevron-v { opacity: 0; }
  /* Body — answer + image + sub-items */
  .bt-faqc__body {
    padding: 0 20px 18px;
    display: flex;
    gap: 16px;
  }
  .bt-faqc__item--img-top    .bt-faqc__body { flex-direction: column; }
  .bt-faqc__item--img-bottom .bt-faqc__body { flex-direction: column-reverse; }
  .bt-faqc__item--img-left   .bt-faqc__body { flex-direction: row; align-items: flex-start; }
  .bt-faqc__item--img-right  .bt-faqc__body { flex-direction: row-reverse; align-items: flex-start; }
  .bt-faqc__item--img-none   .bt-faqc__body { flex-direction: column; }
  .bt-faqc__image { flex-shrink: 0; }
  .bt-faqc__item--img-left  .bt-faqc__image,
  .bt-faqc__item--img-right .bt-faqc__image { width: 38%; max-width: 280px; }
  .bt-faqc__item--img-top   .bt-faqc__image,
  .bt-faqc__item--img-bottom .bt-faqc__image { width: 100%; }
  .bt-faqc__image img {
    width: 100%;
    max-height: 320px;
    object-fit: cover;
    display: block;
  }

  .bt-faqc__text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .bt-faqc__a {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--faqc-text);
  }
  .bt-faqc__a p { margin: 0 0 0.7em; }
  .bt-faqc__a p:last-child { margin-bottom: 0; }
  .bt-faqc__a a { color: var(--faqc-accent); text-decoration: underline; text-underline-offset: 2px; }
  .bt-faqc__a ul, .bt-faqc__a ol { padding-left: 22px; margin: 0 0 0.7em; }
  .bt-faqc__a li { margin-bottom: 6px; }

  /* Sub-items — small horizontal cards */
  .bt-faqc__subs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
  }
  .bt-faqc__sub {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 12px;
    background: rgba(250, 88, 0, 0.06);
    border-radius: 10px;
  }
  .bt-faqc__sub-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(250, 88, 0, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .bt-faqc__sub-icon img { width: 100%; height: 100%; object-fit: contain; padding: 3px; }
  .bt-faqc__sub-emoji { font-size: 22px; line-height: 1; }
  .bt-faqc__sub-body { flex: 1 1 auto; min-width: 0; }
  .bt-faqc__sub-title {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.25;
    color: var(--faqc-text);
    margin-bottom: 2px;
  }
  .bt-faqc__sub-desc {
    font-size: 13px;
    line-height: 1.4;
    color: var(--faqc-muted);
  }

  /* Item hidden by search */
  .bt-faqc__item.is-hidden { display: none; }

  .bt-faqc__empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--faqc-muted);
    font-size: 14px;
  }

  /* Mobile */
  @media (max-width: 749px) {
    .bt-faqc__heading { font-size: 26px; }
    .bt-faqc__subheading { font-size: 14px; margin-bottom: 20px; }
    .bt-faqc--sidebar .bt-faqc__layout {
      grid-template-columns: 1fr;
      gap: 16px;
    }
    .bt-faqc--sidebar .bt-faqc__nav {
      position: static;
      flex-direction: row;
      overflow-x: auto;
      gap: 8px;
      padding: 4px 0 12px;
    }
    .bt-faqc--sidebar .bt-faqc__nav-btn {
      border-radius: 999px;
      width: auto;
      white-space: nowrap;
    }
    .bt-faqc__q { padding: 14px 16px; font-size: 15px; }
    .bt-faqc__body { padding: 0 16px 14px; }
    .bt-faqc__a { font-size: 14px; }
    .bt-faqc__panel-heading { font-size: 19px; }
    .bt-faqc__item--img-left  .bt-faqc__body,
    .bt-faqc__item--img-right .bt-faqc__body { flex-direction: column; }
    .bt-faqc__item--img-left  .bt-faqc__image,
    .bt-faqc__item--img-right .bt-faqc__image { width: 100%; max-width: none; }
    .bt-faqc__sub { padding: 10px; }
    .bt-faqc__sub-icon { width: 36px; height: 36px; }
    .bt-faqc__sub-title { font-size: 13.5px; }
    .bt-faqc__sub-desc { font-size: 12.5px; }
  }
/* END_SECTION:bt-faq-categorized */

/* START_SECTION:bt-faq (INDEX:10) */
.bt-faq {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Rubik', sans-serif;
  }
  .bt-faq *, .bt-faq *::before, .bt-faq *::after { box-sizing: border-box; }

  .bt-faq__inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
  }
  .bt-faq--page-width .bt-faq__inner { max-width: var(--page-width, 1480px); }
  .bt-faq--full-width .bt-faq__inner { max-width: none; padding: 0; }

  .bt-faq__card {
    background: var(--bt-faq-bg, #F8F4EE);
    border-radius: var(--bt-faq-radius, 24px);
    padding: var(--bt-faq-pad-v, 56px) var(--bt-faq-pad-h, 56px);
  }

  /* Two-column layout (heading on left). Single column variant is below. */
  .bt-faq__layout {
    display: grid;
    grid-template-columns: minmax(220px, 0.6fr) 1fr;
    gap: var(--bt-faq-col-gap, 80px);
    align-items: start;
  }
  .bt-faq--head-top .bt-faq__layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .bt-faq__heading {
    margin: 0;
    font-weight: 900;
    font-size: var(--bt-faq-heading-size, 56px);
    line-height: 0.95;
    letter-spacing: -0.02em;
    color: var(--bt-faq-heading, #67361C);
    text-transform: var(--bt-faq-heading-case, none);
  }

  /* Items column — vertical stack with dividers between siblings */
  .bt-faq__items-col {
    display: flex;
    flex-direction: column;
  }
  .bt-faq__item {
    border-top: var(--bt-faq-divider-h, 1px) solid var(--bt-faq-divider, #E8DDCD);
    padding: var(--bt-faq-item-gap, 18px) 0;
  }
  .bt-faq__item:first-child {
    border-top: none;
    padding-top: 0;
  }
  .bt-faq__item:last-of-type {
    border-bottom: var(--bt-faq-divider-h, 1px) solid var(--bt-faq-divider, #E8DDCD);
  }

  /* Summary / question row */
  .bt-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    list-style: none;
    color: var(--bt-faq-q-color, #E8722C);
    font-weight: 700;
    font-size: var(--bt-faq-q-size, 18px);
    line-height: 1.35;
    letter-spacing: -0.01em;
    user-select: none;
    transition: color 0.18s ease;
  }
  .bt-faq__question::-webkit-details-marker { display: none; }
  .bt-faq__question::marker { display: none; content: ''; }
  .bt-faq__item[open] > .bt-faq__question {
    color: var(--bt-faq-q-open-color, #E8722C);
  }
  .bt-faq__question-text {
    flex: 1 1 auto;
    min-width: 0;
  }
  .bt-faq__chevron {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1);
  }
  .bt-faq__chevron svg { width: 100%; height: 100%; display: block; }
  .bt-faq__item[open] > .bt-faq__question .bt-faq__chevron {
    transform: rotate(-180deg);
  }

  /* Answer body */
  .bt-faq__answer {
    margin-top: 14px;
    color: var(--bt-faq-a-color, #444444);
    font-size: var(--bt-faq-a-size, 16px);
    line-height: 1.55;
  }
  .bt-faq__answer-body p { margin: 0 0 0.7em; }
  .bt-faq__answer-body p:last-child { margin-bottom: 0; }
  .bt-faq__answer-body a { color: inherit; text-underline-offset: 2px; }
  .bt-faq__answer-body strong { font-weight: 700; }
  .bt-faq__answer-body ul,
  .bt-faq__answer-body ol { margin: 0.4em 0 0.6em; padding-left: 1.4em; }
  .bt-faq__answer-body h3,
  .bt-faq__answer-body h4 {
    margin: 0.6em 0 0.3em;
    font-weight: 700;
    color: inherit;
  }

  /* Images inside answers — 1 fills, 2 sit side by side or stacked */
  .bt-faq__images {
    margin-top: 16px;
    display: grid;
    gap: 12px;
  }
  .bt-faq__images--side { grid-template-columns: 1fr 1fr; }
  .bt-faq__images--stacked { grid-template-columns: 1fr; }
  .bt-faq__images:has(.bt-faq__img:only-child) { grid-template-columns: 1fr; }
  .bt-faq__img {
    overflow: hidden;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.04);
  }
  .bt-faq__img img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* Social buttons row */
  .bt-faq__socials {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .bt-faq__social {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    transition: opacity 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
    color: #fff;
  }
  .bt-faq__social svg {
    width: 18px;
    height: 18px;
    display: block;
    flex-shrink: 0;
  }
  .bt-faq__social:hover {
    opacity: 0.92;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
  }
  .bt-faq__social--telegram { background: #229ED9; }
  .bt-faq__social--instagram {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  }
  .bt-faq__social--whatsapp { background: #25D366; }
  .bt-faq__social--viber { background: #7360F2; }
  .bt-faq__social--custom {
    background: var(--bt-faq-cta-color, #67361C);
  }

  /* CTA button at the bottom — pill + arrow circle, same family as faq-cta block */
  .bt-faq__cta {
    margin-top: 28px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
  }
  .bt-faq__cta-btn,
  .bt-faq__cta-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 11px 24px;
    border: 1px solid var(--bt-faq-cta-color, #67361C);
    border-radius: 100px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    color: var(--bt-faq-cta-color, #67361C);
    text-decoration: none;
    background: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  .bt-faq__cta-arrow { width: 44px; padding: 11px; font-weight: 800; }
  .bt-faq__cta-arrow span { display: inline-block; transform: rotate(0deg); }
  .bt-faq__cta:hover .bt-faq__cta-btn,
  .bt-faq__cta:hover .bt-faq__cta-arrow,
  .bt-faq__cta:focus-within .bt-faq__cta-btn,
  .bt-faq__cta:focus-within .bt-faq__cta-arrow {
    background: var(--bt-faq-cta-color, #67361C);
    color: #fff;
  }

  /* Mobile */
  @media (max-width: 749px) {
    .bt-faq__card {
      padding: var(--bt-faq-pad-v-m, 28px) var(--bt-faq-pad-h-m, 20px);
      border-radius: calc(var(--bt-faq-radius, 24px) * 0.7);
    }
    /* Always stack on mobile regardless of `heading_position` */
    .bt-faq__layout {
      grid-template-columns: 1fr;
      gap: 20px;
    }
    .bt-faq__heading {
      font-size: var(--bt-faq-heading-size-m, 32px);
    }
    .bt-faq__images--side { grid-template-columns: 1fr; }
    .bt-faq__social {
      padding: 9px 14px;
      font-size: 13px;
    }
  }
/* END_SECTION:bt-faq */

/* START_SECTION:bt-features-with-image (INDEX:11) */
.bt-fwi {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Rubik', sans-serif;
  }
  .bt-fwi *, .bt-fwi *::before, .bt-fwi *::after { box-sizing: border-box; }

  .bt-fwi__inner {
    width: 100%;
    margin: 0 auto;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-fwi--page-width .bt-fwi__inner { max-width: var(--page-width, 1440px); }
  .bt-fwi--full-width .bt-fwi__inner { max-width: none; padding-left: 0; padding-right: 0; }

  .bt-fwi__card {
    position: relative;
    background: var(--bt-fwi-bg, #F8F4EE);
    border-radius: var(--bt-fwi-radius, 28px);
    padding: var(--bt-fwi-pad-v, 48px) var(--bt-fwi-pad-h, 48px);
    overflow: hidden;
    min-height: var(--bt-fwi-min-h, 0);
    /* Mobile: stack — heading, sub, image, pills (DOM order) */
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .bt-fwi__heading {
    margin: 0;
    font-weight: 800;
    font-size: var(--bt-fwi-heading-size, 40px);
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--bt-fwi-heading, #1a1a1a);
    /* Driven by --bt-fwi-heading-case so theme h2 uppercase styling is overridable */
    text-transform: var(--bt-fwi-heading-case, none);
    /* Indent matches the pill's internal horizontal padding (18px) so the
       leftmost letter of the heading lines up with the leftmost edge of the
       pill icons below — instead of the heading sitting flush against the
       card padding while the icons sit 18px further in. */
    padding-left: 18px;
  }
  .bt-fwi__heading-accent { color: var(--bt-fwi-accent, #E8722C); }

  .bt-fwi__sub {
    margin: 0;
    font-size: var(--bt-fwi-sub-size, 18px);
    line-height: 1.45;
    font-weight: 600;
    color: var(--bt-fwi-sub, #444);
    /* Same indent as heading — see comment on .bt-fwi__heading. */
    padding-left: 18px;
  }

  .bt-fwi__image-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    line-height: 0;
  }
  .bt-fwi__image {
    max-width: 100%;
    width: var(--bt-fwi-image-w-m, 240px);
    height: auto;
    transform-origin: center bottom;
    display: block;
  }
  /* Default — render whichever image variant exists. Both classes start visible
     and the swap kicks in only when BOTH images are uploaded. */
  .bt-fwi__image--desktop, .bt-fwi__image--mobile { display: block; }

  .bt-fwi__pills {
    display: flex;
    flex-direction: column;
    gap: 12px;
    /* Pills container caps at the configured fraction of the text column.
       Below 100% the pills sit narrower (left-aligned by default flex),
       which works well when paired with the CTA button below. */
    max-width: var(--bt-fwi-pills-mw, 100%);
  }
  .bt-fwi__pill {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: var(--bt-fwi-pill-bg, #FFFFFF);
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
  }
  .bt-fwi__pill-icon {
    flex-shrink: 0;
    /* Icon box size driven by the CSS var so users can dial it up.
       SVG/img children inside use percent dimensions, so they scale with
       the box automatically — no extra rule needed. */
    width: var(--bt-fwi-icon-size, 52px);
    height: var(--bt-fwi-icon-size, 52px);
    border-radius: 14px;
    background: var(--bt-fwi-icon-bg, #FFEDDB);
    color: var(--bt-fwi-icon-color, #E8722C);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .bt-fwi__pill-icon img {
    max-width: 60%;
    max-height: 60%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
  }
  .bt-fwi__pill-icon svg {
    width: 56%;
    height: 56%;
    display: block;
    fill: none;
    stroke: currentColor;
  }
  .bt-fwi__pill-emoji {
    font-size: 24px;
    line-height: 1;
  }
  .bt-fwi__pill-text {
    flex: 1 1 auto;
    min-width: 0;
  }
  .bt-fwi__pill-title {
    margin: 0 0 2px;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.25;
    color: var(--bt-fwi-pill-title, #E8722C);
  }
  .bt-fwi__pill-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    color: var(--bt-fwi-pill-text, #444);
  }

  /* CTA button — sits directly under the pills and inherits the same
     max-width constraint, so it lines up with the pills column. */
  .bt-fwi__cta {
    max-width: var(--bt-fwi-pills-mw, 100%);
    margin-top: 4px;
  }
  .bt-fwi__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    padding: 14px 24px;
    background: var(--bt-fwi-btn-bg, #1a1a1a);
    color: var(--bt-fwi-btn-text, #FFFFFF);
    font-family: inherit;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    border: none;
    border-radius: 100px;
    cursor: pointer;
    text-decoration: none;
    -webkit-appearance: none;
    appearance: none;
    transition: opacity 0.15s ease, transform 0.15s ease;
  }
  .bt-fwi__btn:hover {
    opacity: 0.92;
    transform: translateY(-1px);
  }
  .bt-fwi__btn:focus-visible {
    outline: 2px solid var(--bt-fwi-accent, #E8722C);
    outline-offset: 2px;
  }

  /* Tablet + Desktop layout: text on the left, image pinned right.
     Heading → sub → pills stack in column 1; image fills column 2 (full height). */
  @media (min-width: 750px) {
    .bt-fwi__card {
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-areas:
        "heading image"
        "sub     image"
        "pills   image";
      column-gap: 32px;
      row-gap: 16px;
      align-items: start;
    }
    .bt-fwi__heading    { grid-area: heading; }
    .bt-fwi__sub        { grid-area: sub; }
    .bt-fwi__pills      { grid-area: pills; margin-top: 16px; }
    .bt-fwi__image-wrap {
      grid-area: image;
      align-self: stretch;
      height: 100%;
      align-items: center;
      justify-content: flex-end;
    }
    .bt-fwi__image {
      width: var(--bt-fwi-image-w, 360px);
      max-height: 100%;
    }

    /* --bleed: image escapes the right padding to reach the card edge */
    .bt-fwi__image-wrap--bleed {
      margin-right: calc(-1 * var(--bt-fwi-pad-h, 48px));
    }
    /* --bleed-bottom: image escapes the bottom padding to reach the card edge.
       Combine with --bleed for a bottom-right corner-pinned look.
       Also pin the image to flex-end so it actually sits at the bottom of
       the wrap (the desktop default `align-items: center` would otherwise
       leave the image centered with empty space below). When --fill is
       also enabled, the later --fill rule's `align-items: stretch`
       (defined further down) wins and the image stretches instead. */
    .bt-fwi__image-wrap--bleed-bottom {
      margin-bottom: calc(-1 * var(--bt-fwi-pad-v, 48px));
      align-items: flex-end;
    }
    /* --fill: image stretches to fill the full card height */
    .bt-fwi__image-wrap--fill {
      align-self: stretch;
      height: 100%;
      align-items: stretch;
    }
    .bt-fwi__image-wrap--fill .bt-fwi__image {
      height: 100%;
      width: auto;
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      object-position: right center;
    }
    /* When both fill and bleed are on, drop margin-top/bottom so image fills edge-to-edge vertically */
    .bt-fwi__image-wrap--fill.bt-fwi__image-wrap--bleed {
      margin-top: calc(-1 * var(--bt-fwi-pad-v, 48px));
      margin-bottom: calc(-1 * var(--bt-fwi-pad-v, 48px));
    }
  }

  /* Desktop/mobile hero swap — only kicks in when both variants are uploaded.
     Single-image installs: whichever class is in the DOM stays visible on both
     viewports thanks to the default `display: block` above. */
  @media (min-width: 750px) {
    .bt-fwi__image-wrap:has(.bt-fwi__image--desktop):has(.bt-fwi__image--mobile) .bt-fwi__image--mobile {
      display: none;
    }
  }
  @media (max-width: 749px) {
    .bt-fwi__image-wrap:has(.bt-fwi__image--desktop):has(.bt-fwi__image--mobile) .bt-fwi__image--desktop {
      display: none;
    }
  }

  @media (max-width: 749px) {
    .bt-fwi__card {
      padding: var(--bt-fwi-pad-v-m, 32px) var(--bt-fwi-pad-h-m, 24px);
      gap: 16px;
      min-height: var(--bt-fwi-min-h-m, 0);
    }
    .bt-fwi__heading {
      font-size: var(--bt-fwi-heading-size-m, 28px);
      /* Mobile pill internal padding is 14px — match it so heading still
         lines up with the pill icons on phones. */
      padding-left: 14px;
    }
    .bt-fwi__sub {
      font-size: var(--bt-fwi-sub-size-m, 15px);
      padding-left: 14px;
    }
    /* Edge-to-edge mobile hero — when `image_mobile_full_width` is on,
       the image-wrap escapes the card's mobile horizontal padding via
       negative margins, and the image inside takes 100% width. The image
       width slider (image_width_mobile) is overridden because "full width"
       is conceptually wider than any pixel value. */
    .bt-fwi__image-wrap--full-m {
      margin-left: calc(-1 * var(--bt-fwi-pad-h-m, 24px));
      margin-right: calc(-1 * var(--bt-fwi-pad-h-m, 24px));
    }
    .bt-fwi__image-wrap--full-m .bt-fwi__image {
      width: 100%;
      max-width: none;
    }
    .bt-fwi__pill {
      padding: 12px 14px;
      gap: 12px;
    }
    .bt-fwi__pill-icon {
      /* Mobile icon size driven by its own var so phones can have a
         smaller (or larger) icon than desktop. */
      width: var(--bt-fwi-icon-size-m, 44px);
      height: var(--bt-fwi-icon-size-m, 44px);
      border-radius: 12px;
    }
    .bt-fwi__pill-title { font-size: 15px; }
    .bt-fwi__pill-desc { font-size: 13px; }
  }
/* END_SECTION:bt-features-with-image */

/* START_SECTION:bt-final-cta (INDEX:12) */
.bt-fcta {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-fcta *, .bt-fcta *::before, .bt-fcta *::after { box-sizing: border-box; }

  .bt-fcta__inner {
    max-width: calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px));
    margin: 0 auto;
  }

  .bt-fcta__card {
    position: relative;
    background: var(--bt-fcta-bg, #FFB814);
    border-radius: var(--bt-fcta-radius, 50px);
    overflow: hidden;
    min-height: var(--bt-fcta-min-h, 380px);
    color: var(--bt-fcta-text, #1a1a1a);
    padding: clamp(32px, 4vw, 56px) 0 0 clamp(32px, 4vw, 56px);
  }

  .bt-fcta__row {
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    align-items: center;
    gap: clamp(20px, 3vw, 40px);
    min-height: inherit;
  }

  .bt-fcta__col {
    display: flex;
    flex-direction: column;
    gap: clamp(12px, 1.4vw, 18px);
    min-width: 0;
  }

  .bt-fcta__col--image {
    align-self: stretch;
    justify-content: flex-end;
    /* Image column flush with bottom-right of card (ignores card padding via negative margin) */
    margin-bottom: calc(-1 * clamp(32px, 4vw, 56px) + var(--bt-fcta-img-overlap, 0px));
    margin-right: 0;
  }
  .bt-fcta__col--image .bt-fcta__pic {
    display: block;
    width: 100%;
  }
  .bt-fcta__col--image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .bt-fcta__col--left .bt-fcta__col-heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(20px, 1.8vw, 24px);
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: inherit;
    text-transform: none;
  }
  .bt-fcta__col--left .bt-fcta__col-text {
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    color: inherit;
    opacity: 0.9;
  }
  .bt-fcta__col--left .bt-fcta__col-text p { margin: 0 0 0.6em; }
  .bt-fcta__col--left .bt-fcta__col-text p:last-child { margin: 0; }

  .bt-fcta__heading {
    margin: 0;
    font-weight: 800;
    font-size: clamp(24px, 2.6vw, 36px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--bt-fcta-heading, inherit);
    text-transform: none;
  }
  .bt-fcta__text {
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    color: inherit;
    opacity: 0.9;
  }
  .bt-fcta__text p { margin: 0 0 0.6em; }
  .bt-fcta__text p:last-child { margin: 0; }

  .bt-fcta__buttons {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
  }
  .bt-fcta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 28px;
    border: 2px solid var(--bt-fcta-btn-text, #FFFFFF);
    border-radius: var(--bt-fcta-btn-radius, 50px);
    background: var(--bt-fcta-btn-bg, transparent);
    color: var(--bt-fcta-btn-text, #FFFFFF);
    font-family: inherit;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, transform 0.12s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-fcta__btn--arrow {
    width: 50px;
    height: 50px;
    padding: 0;
    flex-shrink: 0;
  }
  .bt-fcta__btn-arrow-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-1px);
  }
  .bt-fcta__buttons--arrow-up-right .bt-fcta__btn-arrow-icon {
    transform: translateY(-1px) rotate(-45deg);
  }
  .bt-fcta__buttons:hover > .bt-fcta__btn,
  .bt-fcta__btn:hover {
    background: var(--bt-fcta-btn-text, #FFFFFF);
    color: var(--bt-fcta-bg, #FFB814);
    transform: translateY(-1px);
  }

  /* Tablet: simpler 2-col layout */
  @media (max-width: 1090px) {
    .bt-fcta__row {
      grid-template-columns: 1fr 1fr;
    }
    .bt-fcta__col--left {
      grid-column: 1 / -1;
      order: 0;
    }
    .bt-fcta__col--right {
      order: 1;
    }
    .bt-fcta__col--image {
      order: 2;
      grid-column: 2 / 3;
    }
  }

  /* Mobile: stacked, image bleeds to bottom of card */
  @media (max-width: 749px) {
    .bt-fcta__card {
      padding: 28px 22px 0 22px;
      min-height: var(--bt-fcta-min-h-m, 600px);
      border-radius: var(--bt-fcta-radius-m, 30px);
    }
    .bt-fcta__row {
      display: flex;
      flex-direction: column;
      gap: 16px;
      min-height: inherit;
    }
    .bt-fcta__col--left {
      order: 1;
      text-align: center;
      align-items: center;
    }
    .bt-fcta__col--right {
      order: 2;
      text-align: center;
      align-items: center;
    }
    .bt-fcta__col--image {
      order: 3;
      align-self: stretch;
      width: 100%;
      margin: 16px -22px 0 -22px;
      width: calc(100% + 44px);
      margin-bottom: 0;
    }
    .bt-fcta__col--image img {
      width: 100%;
      max-height: 320px;
      object-fit: contain;
      object-position: center bottom;
    }
    .bt-fcta__heading {
      font-size: clamp(26px, 7vw, 36px);
    }
    .bt-fcta__buttons {
      width: 100%;
      justify-content: center;
    }
    .bt-fcta__btn--primary {
      flex: 0 1 auto;
    }
    .bt-fcta__btn--arrow {
      width: 50px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .bt-fcta__btn { transition: none; }
  }
/* END_SECTION:bt-final-cta */

/* START_SECTION:bt-qa-rich (INDEX:13) */
.bt-qa { display: block; font-family: 'Rubik', sans-serif; box-sizing: border-box; }
  .bt-qa *, .bt-qa *::before, .bt-qa *::after { box-sizing: border-box; }

  .bt-qa__inner {
    max-width: var(--page-width, 1200px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-qa__heading {
    margin: 0 0 8px;
    font-weight: 900;
    font-size: clamp(26px, 3.2vw, 44px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--bt-qa-heading-color);
    text-transform: none !important;
  }
  .bt-qa__heading--uppercase { text-transform: uppercase !important; }
  .bt-qa__heading-hl { color: var(--bt-qa-accent); }
  .bt-qa__subheading {
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 1.5;
    color: var(--bt-qa-heading-color);
    opacity: 0.7;
  }

  /* Items list — vertical stack of accordion cards */
  .bt-qa__items {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  /* Each accordion item */
  .bt-qa__item {
    background: var(--bt-qa-card-bg);
    color: var(--bt-qa-card-color);
    border-radius: var(--bt-qa-card-radius);
    overflow: hidden;
    transition: background 0.2s ease;
  }
  .bt-qa__question {
    list-style: none;
    cursor: pointer;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-weight: 800;
    font-size: var(--bt-qa-question-size, 22px);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--bt-qa-card-color);
    text-transform: none !important;
  }
  .bt-qa__question::-webkit-details-marker { display: none; }
  .bt-qa__chevron {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: var(--bt-qa-card-color);
    transition: transform 0.25s ease;
  }
  .bt-qa__chevron svg { width: 100%; height: 100%; display: block; }
  /* Closed state: vertical bar visible (+). Open state: hide vertical (−) */
  .bt-qa__item[open] .bt-qa__chevron-v { opacity: 0; }
  .bt-qa__item[open] .bt-qa__question { padding-bottom: 12px; }

  .bt-qa__body {
    padding: 0 24px 22px;
    display: flex;
    gap: 18px;
  }
  /* Image position variants */
  .bt-qa__item--img-top    .bt-qa__body { flex-direction: column; }
  .bt-qa__item--img-bottom .bt-qa__body { flex-direction: column-reverse; }
  .bt-qa__item--img-left   .bt-qa__body { flex-direction: row; align-items: flex-start; }
  .bt-qa__item--img-right  .bt-qa__body { flex-direction: row-reverse; align-items: flex-start; }
  .bt-qa__item--img-none   .bt-qa__body,
  .bt-qa__item--img-top    .bt-qa__body { gap: 14px; }

  .bt-qa__image {
    flex-shrink: 0;
    align-self: stretch;
  }
  .bt-qa__item--img-left  .bt-qa__image,
  .bt-qa__item--img-right .bt-qa__image { width: 38%; max-width: 280px; }
  .bt-qa__item--img-top   .bt-qa__image,
  .bt-qa__item--img-bottom .bt-qa__image { width: 100%; }
  .bt-qa__image img {
    width: 100%;
    height: 100%;
    max-height: 320px;
    object-fit: cover;
    display: block;
  }

  .bt-qa__text {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .bt-qa__intro {
    margin: 0;
    font-weight: 600;
    font-size: var(--bt-qa-answer-size);
    line-height: 1.5;
    color: var(--bt-qa-card-color);
    opacity: 0.95;
  }
  .bt-qa__answer {
    font-size: var(--bt-qa-answer-size);
    line-height: 1.55;
    color: var(--bt-qa-card-color);
  }
  .bt-qa__answer p { margin: 0 0 0.7em; }
  .bt-qa__answer p:last-child { margin-bottom: 0; }
  .bt-qa__answer a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
  .bt-qa__answer ul, .bt-qa__answer ol { padding-left: 22px; margin: 0 0 0.6em; }
  .bt-qa__answer li { margin-bottom: 6px; }

  /* Sub-items — mini-cards inside the answer */
  .bt-qa__subitems {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 4px;
  }
  .bt-qa__sub {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
    background: var(--bt-qa-sub-bg);
    color: var(--bt-qa-sub-color);
    border-radius: var(--bt-qa-sub-radius);
  }
  .bt-qa__sub-icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: var(--bt-qa-icon-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .bt-qa__sub-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
  }
  .bt-qa__sub-emoji {
    font-size: 26px;
    line-height: 1;
  }
  .bt-qa__sub-body {
    flex: 1 1 auto;
    min-width: 0;
  }
  .bt-qa__sub-title {
    margin: 0 0 4px;
    font-weight: 800;
    font-size: 16px;
    line-height: 1.25;
    color: var(--bt-qa-sub-color);
  }
  .bt-qa__sub-desc {
    margin: 0;
    font-size: 13.5px;
    line-height: 1.45;
    color: var(--bt-qa-sub-color);
    opacity: 0.92;
  }

  /* Empty state */
  .bt-qa__empty {
    text-align: center;
    padding: 36px 20px;
    color: rgba(0, 0, 0, 0.4);
    font-size: 14px;
  }

  /* Mobile */
  @media (max-width: 749px) {
    .bt-qa__heading { font-size: 26px; }
    .bt-qa__subheading { font-size: 14px; margin-bottom: 18px; }
    .bt-qa__question { padding: 16px 18px; font-size: clamp(17px, 4.5vw, 22px); }
    .bt-qa__body { padding: 0 18px 18px; }
    /* On mobile, side-by-side image variants stack to keep readability */
    .bt-qa__item--img-left  .bt-qa__body,
    .bt-qa__item--img-right .bt-qa__body { flex-direction: column; }
    .bt-qa__item--img-left  .bt-qa__image,
    .bt-qa__item--img-right .bt-qa__image { width: 100%; max-width: none; }
    .bt-qa__sub { padding: 12px; gap: 12px; }
    .bt-qa__sub-icon { width: 48px; height: 48px; }
    .bt-qa__sub-title { font-size: 15px; }
    .bt-qa__sub-desc { font-size: 13px; }
  }
/* END_SECTION:bt-qa-rich */

/* START_SECTION:bt-scroll-to-top (INDEX:14) */
.bt-scroll-top {
    position: fixed;
    z-index: var(--bt-st-z, 200);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: var(--bt-st-h, 48px);
    /* Symmetric inline padding scales with button height — keeps the icon
       centered when there's no text label, and gives breathing room when
       there is one. min-width keeps the icon-only state perfectly square. */
    padding: 0 calc(var(--bt-st-h, 48px) / 2.5);
    min-width: var(--bt-st-h, 48px);
    background: var(--bt-st-bg, #1a1a1a);
    color: var(--bt-st-text, #FFFFFF);
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    letter-spacing: -0.01em;
    border: none;
    border-radius: var(--bt-st-radius, 50px);
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
    /* Hidden by default. JS adds .is-visible once scroll % crosses threshold. */
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.2s ease, box-shadow 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-scroll-top.is-visible {
    opacity: 1;
    pointer-events: auto;
  }
  .bt-scroll-top:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
  }
  .bt-scroll-top:focus-visible {
    outline: 2px solid var(--bt-st-text, #FFFFFF);
    outline-offset: 2px;
  }
  /* Position variants — keep transform free for the bottom-center variant
     which uses translateX(-50%) to horizontally centre. */
  .bt-scroll-top--br { bottom: var(--bt-st-offset-y, 24px); right: var(--bt-st-offset-x, 24px); }
  .bt-scroll-top--bl { bottom: var(--bt-st-offset-y, 24px); left: var(--bt-st-offset-x, 24px); }
  .bt-scroll-top--bc { bottom: var(--bt-st-offset-y, 24px); left: 50%; transform: translateX(-50%); }
  .bt-scroll-top--tr { top: var(--bt-st-offset-y, 24px); right: var(--bt-st-offset-x, 24px); }
  .bt-scroll-top--tl { top: var(--bt-st-offset-y, 24px); left: var(--bt-st-offset-x, 24px); }

  .bt-scroll-top__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
  }
  .bt-scroll-top__icon svg {
    display: block;
    width: 18px;
    height: 18px;
  }
  .bt-scroll-top__text {
    font-size: 14px;
    white-space: nowrap;
  }

  /* Optional: hide on mobile when checkbox is set */
  @media (max-width: 749px) {
    .bt-scroll-top--no-mobile { display: none !important; }
    .bt-scroll-top {
      /* Slightly tighter offsets on phones — feels more thumb-friendly */
      --bt-st-offset-y: max(16px, calc(var(--bt-st-offset-y) * 0.7));
      --bt-st-offset-x: max(16px, calc(var(--bt-st-offset-x) * 0.7));
    }
  }
  /* Honor reduced-motion — skip the hover lift animation */
  @media (prefers-reduced-motion: reduce) {
    .bt-scroll-top {
      transition: opacity 0.15s ease;
    }
    .bt-scroll-top:hover {
      transform: none;
    }
    .bt-scroll-top--bc:hover {
      transform: translateX(-50%);
    }
  }
/* END_SECTION:bt-scroll-to-top */

/* START_SECTION:bt-slide-stack (INDEX:15) */
.bt-slidestack {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Rubik', sans-serif;
  }
  .bt-slidestack *, .bt-slidestack *::before, .bt-slidestack *::after { box-sizing: border-box; }

  .bt-slidestack__inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 var(--page-margin, 20px);
    display: flex;
    flex-direction: column;
    gap: var(--bt-ss-gap, 24px);
  }
  .bt-slidestack--page-width .bt-slidestack__inner { max-width: var(--page-width, 1440px); }
  .bt-slidestack--full-width .bt-slidestack__inner { max-width: none; padding: 0; }

  .bt-slidestack__slide {
    position: relative;
    border-radius: var(--bt-ss-radius, 24px);
    overflow: hidden;
    background: transparent;
  }

  /* Media row — 1 or 2 images side-by-side. Aspect ratio comes from the
     CSS var (set inline on the slide). When the var is unset (auto mode)
     the height is driven by the image(s). */
  .bt-slidestack__media {
    display: flex;
    width: 100%;
    gap: var(--bt-ss-img-gap, 12px);
    align-items: stretch;
  }
  .bt-slidestack__slide:not(.bt-slidestack__slide--auto-d) .bt-slidestack__media {
    aspect-ratio: var(--bt-ss-aspect-d);
  }
  .bt-slidestack__media--one .bt-slidestack__img { flex: 1 1 100%; }
  .bt-slidestack__media--two .bt-slidestack__img { flex: 1 1 50%; min-width: 0; }

  .bt-slidestack__img {
    position: relative;
    overflow: hidden;
    background: #e8e8e8;
  }
  .bt-slidestack__pic {
    display: block;
    width: 100%;
    height: 100%;
  }
  .bt-slidestack__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  /* Auto mode: image keeps natural aspect — no cropping. */
  .bt-slidestack__slide--auto-d .bt-slidestack__img img {
    height: auto;
    width: 100%;
    object-fit: contain;
  }

  /* Text overlay — full-width strip pinned to one of 9 positions.
     Horizontal padding matches the Modern Hero card's `clamp(40px, 5vw, 80px)`
     so the text sits at the same left/right inset as that hero's heading.
     Vertical padding stays user-controllable via the `text_padding` setting. */
  .bt-slidestack__text {
    position: absolute;
    pointer-events: none;
    padding: var(--bt-ss-text-pad, 32px) clamp(40px, 5vw, 80px);
    color: var(--bt-ss-text-color, #ffffff);
    z-index: 2;
    font-weight: 600;
    font-size: var(--bt-ss-text-size, 52px);
    line-height: 1.35;
    letter-spacing: -0.01em;
  }
  .bt-slidestack__text--has-bg { background: var(--bt-ss-text-bg, transparent); }
  .bt-slidestack__text-inner {
    pointer-events: auto;
    display: block;
    width: 100%;
  }
  /* Force every richtext tag inside the overlay to inherit font-size from
     the wrapper — otherwise the theme's hardcoded h1–h6 / p sizes win and
     the `text_size` slider has no visible effect. We also unset the theme's
     letter-spacing / text-transform / margin so the text reads cleanly
     regardless of which heading level the user picked. */
  .bt-slidestack__text-inner :is(h1, h2, h3, h4, h5, h6, p) {
    font-size: inherit;
    line-height: 1.15;
    letter-spacing: inherit;
    text-transform: none;
    color: inherit;
    font-family: inherit;
    margin: 0 0 0.3em;
  }
  .bt-slidestack__text-inner :is(h1, h2, h3, h4, h5, h6) {
    font-weight: 700;
  }
  .bt-slidestack__text-inner p { line-height: 1.35; }
  .bt-slidestack__text-inner :last-child { margin-bottom: 0; }
  .bt-slidestack__text-inner a { color: inherit; text-underline-offset: 2px; }
  .bt-slidestack__text-inner strong { font-weight: 700; }

  /* Position variants. Each pin sets top/bottom/transform/text-align
     EXPLICITLY so the mobile override below can flip from one corner
     to another without leftover values from the desktop class persisting
     (e.g. desktop top:0 sticking around when mobile wants bottom:0). */
  .bt-slidestack__text--pos-top-left      { top: 0;    bottom: auto; left: 0; right: 0; transform: none;             text-align: left; }
  .bt-slidestack__text--pos-top-center    { top: 0;    bottom: auto; left: 0; right: 0; transform: none;             text-align: center; }
  .bt-slidestack__text--pos-top-right     { top: 0;    bottom: auto; left: 0; right: 0; transform: none;             text-align: right; }
  .bt-slidestack__text--pos-bottom-left   { top: auto; bottom: 0;    left: 0; right: 0; transform: none;             text-align: left; }
  .bt-slidestack__text--pos-bottom-center { top: auto; bottom: 0;    left: 0; right: 0; transform: none;             text-align: center; }
  .bt-slidestack__text--pos-bottom-right  { top: auto; bottom: 0;    left: 0; right: 0; transform: none;             text-align: right; }
  .bt-slidestack__text--pos-center-left   { top: 50%;  bottom: auto; left: 0; right: 0; transform: translateY(-50%); text-align: left; }
  .bt-slidestack__text--pos-center        { top: 50%;  bottom: auto; left: 0; right: 0; transform: translateY(-50%); text-align: center; }
  .bt-slidestack__text--pos-center-right  { top: 50%;  bottom: auto; left: 0; right: 0; transform: translateY(-50%); text-align: right; }

  /* Gradient backdrop — direction follows the text position so the
     darker side anchors against the text edge. */
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-bottom-left,
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-bottom-center,
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-bottom-right {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
    padding-top: calc(var(--bt-ss-text-pad, 32px) * 2);
  }
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-top-left,
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-top-center,
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-top-right {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
    padding-bottom: calc(var(--bt-ss-text-pad, 32px) * 2);
  }
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-center-left,
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-center,
  .bt-slidestack__text--gradient.bt-slidestack__text--pos-center-right {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 50%, rgba(0, 0, 0, 0) 100%);
  }

  /* Mobile */
  @media (max-width: 749px) {
    /* Edge-to-edge reel on phones: regardless of the section's `Section
       width` setting, the inner stretches to viewport edges, the slides
       lose their corner radius, and the vertical gap collapses to 0 so the
       slides butt directly against each other. Desktop values (radius +
       gap from the section settings, page-width container) are unaffected. */
    .bt-slidestack__inner {
      max-width: none;
      padding-left: 0;
      padding-right: 0;
      gap: 0;
    }
    .bt-slidestack__slide {
      border-radius: 0;
    }
    /* Padding-top is set as an inline style on the section element, so we
       need !important to override it. Bottom padding is unchanged so the
       reel still has breathing room before whatever follows. */
    .bt-slidestack {
      padding-top: 0 !important;
    }

    .bt-slidestack__slide:not(.bt-slidestack__slide--auto-m) .bt-slidestack__media {
      /* If the user picked a specific mobile aspect, use it. Otherwise
         fall back to the desktop aspect. */
      aspect-ratio: var(--bt-ss-aspect-m, var(--bt-ss-aspect-d, auto));
    }
    .bt-slidestack__slide--auto-m .bt-slidestack__media {
      aspect-ratio: auto;
    }
    .bt-slidestack__slide--auto-m .bt-slidestack__img img {
      height: auto;
      width: 100%;
      object-fit: contain;
    }
    .bt-slidestack__text {
      /* Matches Modern Hero's mobile card padding (22px horizontal). */
      padding: clamp(16px, 4vw, var(--bt-ss-text-pad, 32px)) 22px;
      font-size: var(--bt-ss-text-size-m, 16px);
    }
    .bt-slidestack__text--gradient.bt-slidestack__text--pos-bottom-left,
    .bt-slidestack__text--gradient.bt-slidestack__text--pos-bottom-center,
    .bt-slidestack__text--gradient.bt-slidestack__text--pos-bottom-right {
      padding-top: clamp(32px, 8vw, calc(var(--bt-ss-text-pad, 32px) * 2));
    }
    .bt-slidestack__text--gradient.bt-slidestack__text--pos-top-left,
    .bt-slidestack__text--gradient.bt-slidestack__text--pos-top-center,
    .bt-slidestack__text--gradient.bt-slidestack__text--pos-top-right {
      padding-bottom: clamp(32px, 8vw, calc(var(--bt-ss-text-pad, 32px) * 2));
    }

    /* Mobile-specific position override — only present in DOM when the user
       picked a position different from desktop. These rules sit AFTER the
       desktop `--pos-` rules in source order, so equal-specificity selectors
       resolve in the mobile class's favor on phones. */
    .bt-slidestack__text--mpos-top-left      { top: 0;    bottom: auto; transform: none;             text-align: left; }
    .bt-slidestack__text--mpos-top-center    { top: 0;    bottom: auto; transform: none;             text-align: center; }
    .bt-slidestack__text--mpos-top-right     { top: 0;    bottom: auto; transform: none;             text-align: right; }
    .bt-slidestack__text--mpos-bottom-left   { top: auto; bottom: 0;    transform: none;             text-align: left; }
    .bt-slidestack__text--mpos-bottom-center { top: auto; bottom: 0;    transform: none;             text-align: center; }
    .bt-slidestack__text--mpos-bottom-right  { top: auto; bottom: 0;    transform: none;             text-align: right; }
    .bt-slidestack__text--mpos-center-left   { top: 50%;  bottom: auto; transform: translateY(-50%); text-align: left; }
    .bt-slidestack__text--mpos-center        { top: 50%;  bottom: auto; transform: translateY(-50%); text-align: center; }
    .bt-slidestack__text--mpos-center-right  { top: 50%;  bottom: auto; transform: translateY(-50%); text-align: right; }

    /* Gradient direction also flips when mobile position differs from desktop. */
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-bottom-left,
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-bottom-center,
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-bottom-right {
      background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
      padding-top: clamp(32px, 8vw, calc(var(--bt-ss-text-pad, 32px) * 2));
      padding-bottom: clamp(16px, 4vw, var(--bt-ss-text-pad, 32px));
    }
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-top-left,
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-top-center,
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-top-right {
      background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
      padding-bottom: clamp(32px, 8vw, calc(var(--bt-ss-text-pad, 32px) * 2));
      padding-top: clamp(16px, 4vw, var(--bt-ss-text-pad, 32px));
    }
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-center-left,
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-center,
    .bt-slidestack__text--gradient.bt-slidestack__text--mpos-center-right {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 50%, rgba(0, 0, 0, 0) 100%);
      padding-top: clamp(16px, 4vw, var(--bt-ss-text-pad, 32px));
      padding-bottom: clamp(16px, 4vw, var(--bt-ss-text-pad, 32px));
    }
  }
/* END_SECTION:bt-slide-stack */

/* START_SECTION:bt-story-narrative (INDEX:16) */
.bt-narr {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Rubik', sans-serif;
  }
  .bt-narr *, .bt-narr *::before, .bt-narr *::after { box-sizing: border-box; }

  .bt-narr__inner {
    display: flex;
    flex-direction: column;
    gap: var(--bt-narr-gap, 0);
  }

  .bt-narr__chapter {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border-radius: var(--bt-narr-radius, 0);
    color: inherit;
  }
  /* Intro chapter stacks above subsequent chapters so bridging button stays clickable */
  .bt-narr__chapter--intro {
    z-index: 2;
  }
  .bt-narr__chapter-inner {
    max-width: calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px));
    margin: 0 auto;
    /* Top + bottom padding controlled by each chapter's chapter_padding_top/bottom
       settings (default 60px). User can set to 0 for tight stacking. */
    padding: var(--bt-narr-chapter-pad-t, 60px) var(--page-margin, 20px) var(--bt-narr-chapter-pad-b, 60px);
  }

  .bt-narr__heading {
    margin: 0 0 14px;
    font-weight: 800;
    font-size: clamp(var(--bt-narr-heading-size-m, 28px), 4.8vw, var(--bt-narr-heading-size, 56px));
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: var(--bt-narr-heading, inherit);
    text-transform: none;
  }
  .bt-narr__sub {
    margin: 0 0 16px;
    font-size: clamp(var(--bt-narr-sub-size-m, 15px), 1.6vw, var(--bt-narr-sub-size, 18px));
    line-height: 1.45;
    letter-spacing: -0.01em;
    font-weight: 700;
  }
  /* Mobile-specific subheading swap — when both are set, desktop shows --d, mobile shows --m */
  .bt-narr__sub--m { display: none; }

  /* Button (used in intro + cta) */
  .bt-narr__btn-wrap {
    display: flex;
    justify-content: center;
    margin-top: 24px;
  }
  .bt-narr__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background: var(--bt-narr-btn-bg, #FFFFFF);
    color: var(--bt-narr-btn-text, #1a1a1a);
    border: none;
    border-radius: 100px;
    font-family: inherit;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.18s ease, opacity 0.18s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-narr__btn:hover { opacity: 0.92; transform: translateY(-1px); }
  .bt-narr__btn-arrow { font-weight: 700; line-height: 1; }

  /* CHAPTER: intro — text on left + lightning SVG on right (top row),
     then full-width cards block, with bridging button at bottom */
  .bt-narr__chapter--intro {
    overflow: visible; /* allow bridging button to extend below */
    position: relative;
  }
  .bt-narr__intro-top {
    display: grid;
    grid-template-columns: 1fr 0.8fr;
    align-items: center;
    gap: clamp(20px, 3vw, 48px);
  }
  .bt-narr__intro-text .bt-narr__heading,
  .bt-narr__intro-text .bt-narr__sub {
    text-align: var(--bt-narr-text-align, left);
    margin: 0 0 12px;
  }
  .bt-narr__intro-text .bt-narr__sub {
    margin-bottom: 0;
  }
  .bt-narr__intro-deco {
    color: var(--bt-narr-pill-bg, #FFFFFF);
    width: 100%;
    max-width: calc(var(--bt-narr-arrow-size, 60px) * 7);
    justify-self: end;
  }
  .bt-narr__intro-deco svg,
  .bt-narr__intro-deco img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* Lightning/arrow draw animation — line draws from start to end on scroll into view,
     then arrow tip drops down. JS adds .is-drawn when SVG enters viewport. */
  .bt-narr__intro-arrow .bt-narr__intro-arrow-line {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    transition: stroke-dashoffset 1.4s cubic-bezier(0.2, 0.7, 0.2, 1);
  }
  .bt-narr__intro-arrow .bt-narr__intro-arrow-tip {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    opacity: 0;
    transform: translateY(-12px);
    transform-box: fill-box;
    transform-origin: center;
    transition:
      stroke-dashoffset 0.4s ease-out 1.15s,
      opacity 0.35s ease-out 1.15s,
      transform 0.55s cubic-bezier(0.2, 0.8, 0.4, 1.4) 1.15s;
  }
  .bt-narr__intro-arrow.is-drawn .bt-narr__intro-arrow-line,
  .bt-narr__intro-arrow.is-drawn .bt-narr__intro-arrow-tip {
    stroke-dashoffset: 0;
  }
  .bt-narr__intro-arrow.is-drawn .bt-narr__intro-arrow-tip {
    opacity: 1;
    transform: translateY(0);
  }
  /* Respect users who prefer reduced motion — show finished state immediately */
  @media (prefers-reduced-motion: reduce) {
    .bt-narr__intro-arrow .bt-narr__intro-arrow-line,
    .bt-narr__intro-arrow .bt-narr__intro-arrow-tip {
      stroke-dashoffset: 0;
      opacity: 1;
      transform: none;
      transition: none;
    }
  }

  /* Mobile-only single image (replaces the 3-card block on phones).
     Hidden on desktop/tablet; revealed via media query below. */
  .bt-narr__intro-mobile-image {
    display: none;
  }

  /* Combined intro wrap — 3 images in one bg card with floating caption pills */
  .bt-narr__intro-cards-fullwidth {
    width: 100%;
    padding: 0 var(--page-margin, 20px);
    box-sizing: border-box;
  }
  .bt-narr__intro-wrap {
    position: relative;
    max-width: calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px));
    margin: 0 auto;
    overflow: hidden;
  }
  .bt-narr__intro-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 32px);
    align-items: stretch;
  }
  .bt-narr__intro-card {
    position: relative;
    width: 100%;
    aspect-ratio: var(--bt-narr-card-aspect, 4 / 3);
    overflow: visible; /* allow pills to extend slightly past image */
    border-radius: 8px;
  }
  .bt-narr__intro-card img {
    width: 100%;
    height: 100%;
    object-fit: var(--bt-narr-card-fit, cover);
    display: block;
    border-radius: 8px;
  }
  .bt-narr__intro-card--placeholder {
    background: rgba(0,0,0,0.08);
    border-radius: 8px;
  }
  /* Lightning overlay inside cards-wrap (mobile-only by default) */
  .bt-narr__intro-cards-lightning {
    display: none;
  }

  /* Caption pill — positioned at bottom-center of each card, rotatable */
  .bt-narr__intro-pill {
    position: absolute;
    left: 50%;
    bottom: 8%;
    transform: translateX(-50%) rotate(var(--bt-narr-pill-rot, 0deg));
    background: var(--bt-narr-pill-bg, #FFFFFF);
    color: var(--bt-narr-pill-text, #1a1a1a);
    padding: 8px 14px;
    border-radius: 100px;
    font-weight: 600;
    font-size: var(--bt-narr-pill-size, 14px);
    line-height: 1.25;
    text-align: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
    white-space: nowrap;
    z-index: 5;
    pointer-events: none;
    max-width: 92%;
  }

  /* Bridging button — half on intro, half on next chapter */
  .bt-narr__intro-bridge {
    position: relative;
    z-index: 50;
    display: flex;
    justify-content: center;
    margin-top: clamp(40px, 5vw, 80px);
    margin-bottom: 0;
    transform: translateY(50%);
    pointer-events: none; /* container doesn't block clicks; button enables them */
  }
  .bt-narr__intro-bridge .bt-narr__btn {
    /* Bridge button is purely decorative — clicks pass through to underlying content */
    pointer-events: none;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    padding: 18px 40px;
    /* Bridge button has its own font-size scale (independent of heading size) */
    font-size: clamp(var(--bt-narr-bridge-size-m, 22px), 4.8vw, var(--bt-narr-bridge-size, 56px));
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    cursor: default;
    transition: none;
    user-select: none;
  }
  /* No hover animation — button stays static */
  .bt-narr__intro-bridge .bt-narr__btn:hover {
    transform: none;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    opacity: 1;
  }
  .bt-narr__intro-bridge .bt-narr__btn-arrow {
    font-size: 1.2em;
  }

  /* CHAPTER: 3steps — 3 numbered cards with image + caption + optional badge.
     Padding-top uses the user's chapter_padding_top setting, with a 60px floor so
     the previous chapter's bridging button always has room (it overlaps by ~30px). */
  .bt-narr__chapter--3steps .bt-narr__chapter-inner {
    padding-top: max(var(--bt-narr-chapter-pad-t, 60px), 60px);
  }
  .bt-narr__chapter--3steps .bt-narr__heading {
    text-align: var(--bt-narr-text-align, center);
  }
  .bt-narr__steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 28px);
    margin-top: 32px;
  }
  .bt-narr__step {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: left;
    gap: 14px;
    /* min-width: 0 prevents grid item content (e.g. wide caption pills) from
       forcing the column wider than 1fr — keeps the two squares equal width. */
    min-width: 0;
  }
  /* Step image — square, no border/frame, configurable rounded corners */
  .bt-narr__step-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: var(--bt-narr-step-img-radius, 14px);
    overflow: hidden;
    background: rgba(0,0,0,0.04);
  }
  .bt-narr__step-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .bt-narr__step-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--bt-narr-pill-bg, #FFFFFF);
    color: var(--bt-narr-pill-text, #1a1a1a);
    padding: 6px 12px;
    border-radius: 100px;
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    transform: rotate(-6deg);
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  }
  /* Step row — number circle OVERLAPS caption pill (sits on top of pill's left edge).
     Vertical overlap onto the image is configurable via --bt-narr-step-overlap.
     Horizontal overlap of number onto caption is via --bt-narr-step-num-overlap. */
  .bt-narr__step-row {
    display: flex;
    align-items: center;
    gap: 0;
    /* Negative margin pulls row up so it overlaps the image bottom */
    margin-top: calc(-1 * var(--bt-narr-step-overlap, 22px));
    position: relative;
    z-index: 2;
    align-self: center;
    max-width: 100%;
  }
  .bt-narr__step-num {
    flex-shrink: 0;
    width: var(--bt-narr-step-num-size, 44px);
    height: var(--bt-narr-step-num-size, 44px);
    border-radius: 50%;
    background: var(--bt-narr-step-num-bg, #FFB814);
    color: var(--bt-narr-step-num-text, #1a1a1a);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: calc(var(--bt-narr-step-num-size, 44px) * 0.4);
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
    /* Overlap onto the caption pill — number sits on top */
    margin-right: calc(-1 * var(--bt-narr-step-num-overlap, 16px));
    position: relative;
    z-index: 3;
    /* Rotation is set per-step via inline style (transform: rotate(...)) */
  }
  .bt-narr__step-cap {
    background: var(--bt-narr-pill-bg, #FFFFFF);
    color: var(--bt-narr-pill-text, #1a1a1a);
    border-radius: 100px;
    /* Extra left padding so caption text doesn't sit underneath the overlapping number */
    padding: 12px 22px 12px calc(22px + var(--bt-narr-step-num-overlap, 16px));
    font-weight: 700;
    font-size: clamp(13px, 1.2vw, var(--bt-narr-step-cap-size, 16px));
    line-height: 1.2;
    text-align: center;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
    max-width: var(--bt-narr-step-cap-max-w, 280px);
    position: relative;
    z-index: 1;
    box-sizing: border-box;
  }

  /* CHAPTER: compare — 2 cards with NO frame, captions as floating pills under images.
     Caption pill is position:absolute (bottom:-14px) so it extends below the card.
     Add extra bottom padding so the caption stays inside the compare chapter and doesn't
     bleed into the next chapter (e.g. CTA). */
  .bt-narr__chapter--compare .bt-narr__chapter-inner {
    padding-bottom: calc(var(--bt-narr-chapter-pad-b, 60px) + 30px);
  }
  .bt-narr__chapter--compare .bt-narr__heading {
    text-align: var(--bt-narr-text-align, left);
  }
  /* Desktop-only line break inside the compare heading. On mobile the <br>
     collapses (display: none) so the heading flows as a single paragraph. */
  .bt-narr__br--d { display: inline; }
  @media (max-width: 749px) {
    .bt-narr__br--d { display: none; }
  }
  .bt-narr__compare {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: clamp(20px, 4vw, 80px);
  }
  .bt-narr__compare-card {
    position: relative;
    /* width + transform set per-card via CSS vars on inline style */
    width: var(--c-w-d, 280px);
    transform: rotate(var(--c-rot, 0deg)) translateY(var(--c-off-y, 0px));
    transform-origin: center;
    flex-shrink: 0;
  }
  .bt-narr__compare-image {
    width: 100%;
    /* overflow visible — let the zoomed image extend past the frame on hover */
    /* No background — image stands on chapter bg */
  }
  .bt-narr__compare-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    /* Border radius applied directly to image so rounded corners persist as it scales */
    border-radius: 14px;
    transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
    transform-origin: center;
    will-change: transform;
  }
  /* Hover zoom — desktop only (touch devices skip the hover state).
     Image grows beyond its frame; the hovered card is raised so the zoomed
     image sits above neighbouring cards instead of behind them. */
  @media (hover: hover) {
    .bt-narr__compare-card {
      z-index: 1;
    }
    .bt-narr__compare-card:hover {
      z-index: 10;
    }
    .bt-narr__compare-card:hover .bt-narr__compare-image img {
      transform: scale(1.08);
    }
  }
  .bt-narr__compare-cap {
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    /* Per-card --cap-bg / --cap-text override the shared pill colors when set */
    background: var(--cap-bg, var(--bt-narr-pill-bg, #FFFFFF));
    color: var(--cap-text, var(--bt-narr-pill-text, #1a1a1a));
    padding: 12px 18px;
    border-radius: 14px;
    font-size: clamp(13px, 1.2vw, var(--bt-narr-compare-cap-size, 15px));
    line-height: 1.4;
    text-align: left;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    /* max-width per-card via CSS var on inline style. min-width keeps it ≥ image. */
    max-width: var(--cap-w-d, 130%);
    width: max-content;
    min-width: 100%;
    z-index: 5;
    white-space: normal;
    box-sizing: border-box;
  }
  .bt-narr__compare-cap p { margin: 0 0 0.3em; }
  .bt-narr__compare-cap p:last-child { margin: 0; }
  .bt-narr__compare-cap strong { font-weight: 700; }

  /* CHAPTER: cta — text on top-left, left image at bottom-left, right image spans right.
     Padding inherits from .bt-narr__chapter-inner (chapter_padding_top/bottom settings).
     If you want side images to bleed all the way to the chapter top/bottom edge, set
     chapter_padding_top and chapter_padding_bottom to 0 in the block settings. */
  .bt-narr__cta {
    display: grid;
    /* Two-column layout matching the screenshot:
         col 1: text on top + left image stacked at the bottom
         col 2: right image (spans both rows)
       If an image is absent, its cell collapses cleanly. */
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
    gap: clamp(16px, 2vw, 32px);
    min-height: var(--bt-narr-cta-min-h, 280px);
    align-items: stretch;
  }
  .bt-narr__cta-text {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    align-items: var(--bt-narr-flex-align, flex-start);
    text-align: var(--bt-narr-text-align, left);
    width: 100%;
    max-width: 700px;
    /* Top/bottom padding now comes from chapter-inner (chapter_padding settings).
       Only inset side padding for typography breathing room. */
    padding: 0 clamp(20px, 2vw, 40px) 0 0;
  }
  .bt-narr__chapter--cta .bt-narr__heading,
  .bt-narr__chapter--cta .bt-narr__sub {
    text-align: var(--bt-narr-text-align, left);
  }
  .bt-narr__chapter--cta .bt-narr__btn-wrap {
    justify-content: var(--bt-narr-flex-align, flex-start);
    margin-top: 8px;
  }
  /* Side images — bleed to chapter edges, no own background. */
  .bt-narr__cta-image {
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    transform-origin: center;
  }
  .bt-narr__cta-image img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }
  /* Left image: under the text, bleeds to bottom-left corner of the chapter. */
  .bt-narr__cta-image--left {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
    align-self: end;
    justify-content: flex-start;
  }
  /* Right image: spans full height of the chapter, bleeds to bottom-right corner.
     Transform comes from CSS vars (set inline by the markup) so the optional
     slide-in animation can override translate without losing the user's offset. */
  .bt-narr__cta-image--right {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-self: end;
    align-self: end;
    justify-content: flex-end;
    transform: translate(var(--cta-img-tx, 0px), var(--cta-img-ty, 0px)) scale(var(--cta-img-sc, 1));
  }
  /* Slide-in animation — disabled by default, enabled via the
     `image_right_anim` checkbox in the chapter_cta block. Only applies on
     desktop (≥991px) where the image is pinned to the right column; mobile
     reflows the image and skips the animation entirely. JS toggles
     `.is-in-view` when the image enters the viewport. */
  @media (min-width: 991px) {
    .bt-narr__cta-image--right.bt-narr__cta-image--anim {
      opacity: 0;
      transform: translate(calc(var(--cta-img-tx, 0px) + var(--cta-img-anim-d, 80px)), var(--cta-img-ty, 0px)) scale(var(--cta-img-sc, 1));
      transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 700ms ease-out;
      will-change: transform, opacity;
    }
    .bt-narr__cta-image--right.bt-narr__cta-image--anim.is-in-view {
      opacity: 1;
      transform: translate(var(--cta-img-tx, 0px), var(--cta-img-ty, 0px)) scale(var(--cta-img-sc, 1));
    }
  }
  /* Honor reduced-motion preference — skip the animation, snap to final pose. */
  @media (prefers-reduced-motion: reduce) {
    .bt-narr__cta-image--right.bt-narr__cta-image--anim {
      opacity: 1;
      transition: none;
      transform: translate(var(--cta-img-tx, 0px), var(--cta-img-ty, 0px)) scale(var(--cta-img-sc, 1));
    }
  }
  /* Full-height variant: image fills the entire block height instead of sitting at bottom. */
  .bt-narr__cta-image--full-h {
    align-self: stretch;
    height: 100%;
  }
  .bt-narr__cta-image--full-h img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: bottom right;
  }
  /* Explicit-height variant: container has fixed pixel height (set inline);
     image scales to fill that height while keeping its aspect ratio. */
  .bt-narr__cta-image--has-h img {
    height: 100%;
    width: 100%;
    object-fit: contain;
  }
  .bt-narr__cta-image--right.bt-narr__cta-image--has-h img {
    object-position: bottom right;
  }
  .bt-narr__cta-image--left.bt-narr__cta-image--has-h img {
    object-position: bottom left;
  }
  /* CTA mobile-only image — anchored to bottom edge on phones */
  .bt-narr__cta-mobile-image {
    display: none;
  }
  .bt-narr__cta-mobile-image img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* Tablet */
  @media (max-width: 990px) {
    .bt-narr__steps {
      grid-template-columns: 1fr 1fr;
    }
    .bt-narr__compare {
      gap: clamp(16px, 3vw, 40px);
      flex-wrap: wrap;
    }
    .bt-narr__compare-card {
      width: 45% !important;
    }
    .bt-narr__cta {
      grid-template-columns: 1fr;
      grid-template-rows: auto;
      min-height: var(--bt-narr-cta-min-h-m, 0);
      gap: 18px;
    }
    .bt-narr__cta-text {
      grid-column: 1;
      grid-row: auto;
      order: 1;
      /* Mobile defaults to center but follows user's text_align setting */
      text-align: var(--bt-narr-text-align, center);
      align-items: var(--bt-narr-flex-align, center);
      max-width: 100%;
    }
    .bt-narr__chapter--cta .bt-narr__heading,
    .bt-narr__chapter--cta .bt-narr__sub {
      text-align: var(--bt-narr-text-align, center);
    }
    .bt-narr__chapter--cta .bt-narr__btn-wrap {
      justify-content: var(--bt-narr-flex-align, center);
    }
    .bt-narr__cta-image {
      width: 240px !important;
      max-width: 100%;
      margin: 0 auto;
      transform: none !important;
      grid-row: auto;
    }
    .bt-narr__cta-image--left {
      grid-column: 1;
      justify-self: center;
      justify-content: center;
      align-self: auto;
      order: 2;
    }
    .bt-narr__cta-image--right {
      grid-column: 1;
      justify-self: center;
      justify-content: center;
      align-self: auto;
      order: 3;
    }
    /* CTA mobile-only image — anchored to bottom edge of the block */
    .bt-narr__cta-mobile-image {
      display: block;
      grid-column: 1;
      width: 100%;
      order: 99;
      margin: 0;
    }
    .bt-narr__cta-mobile-image img {
      width: 100%;
      height: auto;
      display: block;
    }
    /* Full-width bleed — image extends past chapter side padding to the viewport edges */
    .bt-narr__cta-mobile-image--full {
      margin-left: calc(-1 * var(--page-margin, 20px));
      margin-right: calc(-1 * var(--page-margin, 20px));
      width: calc(100% + 2 * var(--page-margin, 20px));
      max-width: none;
    }
    /* Explicit pixel height — image scales to fill that height with object-fit: cover */
    .bt-narr__cta-mobile-image--has-h {
      height: var(--cta-m-img-h);
      overflow: hidden;
    }
    .bt-narr__cta-mobile-image--has-h img {
      height: 100%;
      width: 100%;
      object-fit: cover;
    }
    /* When CTA has a mobile image, hide the desktop left + right images on phones —
       the mobile image fully replaces them. */
    .bt-narr__chapter--cta-m-img .bt-narr__cta-image--left,
    .bt-narr__chapter--cta-m-img .bt-narr__cta-image--right {
      display: none;
    }
    .bt-narr__intro-top {
      grid-template-columns: 1fr;
      gap: 16px;
    }
    .bt-narr__intro-deco {
      justify-self: center;
      max-width: 240px;
    }
    .bt-narr__intro-cards {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  /* Mobile */
  @media (max-width: 749px) {
    /* Chapter padding on mobile uses dedicated mobile vars so phones can have
       different vertical spacing than desktop. Side padding stays at 20px. */
    .bt-narr__chapter-inner {
      padding-top: var(--bt-narr-chapter-pad-t-m, 32px);
      padding-bottom: var(--bt-narr-chapter-pad-b-m, 32px);
      padding-left: 20px;
      padding-right: 20px;
    }
    /* 3steps: keep a 32px floor on mobile so the bridge button (≈30px overflow) clears */
    .bt-narr__chapter--3steps .bt-narr__chapter-inner {
      padding-top: max(var(--bt-narr-chapter-pad-t-m, 32px), 32px);
    }
    .bt-narr__heading {
      /* Use the user's configured mobile heading size directly */
      font-size: var(--bt-narr-heading-size-m, 28px);
    }
    .bt-narr__sub {
      /* Use the user's configured mobile subheading size directly */
      font-size: var(--bt-narr-sub-size-m, 15px);
    }
    /* Mobile subheading swap: hide desktop variant, show mobile variant */
    .bt-narr__sub--d { display: none; }
    .bt-narr__sub--m { display: block; }
    /* Cards wrap becomes square on mobile with 1 big + 2 small mosaic layout */
    .bt-narr__intro-wrap {
      aspect-ratio: 1 / 1;
    }
    .bt-narr__intro-cards {
      height: 100%;
      grid-template-columns: 1.2fr 1fr;
      grid-template-rows: 1fr 1fr;
      gap: 8px;
    }
    .bt-narr__intro-card {
      aspect-ratio: auto;
      width: 100%;
      height: 100%;
    }
    /* Card 1 — big, spans both rows on the left */
    .bt-narr__intro-card:nth-child(1) {
      grid-column: 1;
      grid-row: 1 / 3;
    }
    /* Card 2 — top right */
    .bt-narr__intro-card:nth-child(2) {
      grid-column: 2;
      grid-row: 1;
    }
    /* Card 3 — bottom right */
    .bt-narr__intro-card:nth-child(3) {
      grid-column: 2;
      grid-row: 2;
    }
    .bt-narr__intro-pill {
      font-size: max(11px, calc(var(--bt-narr-pill-size, 14px) * 0.85));
      padding: 6px 12px;
      white-space: normal;
      max-width: 90%;
    }
    .bt-narr__intro-deco {
      display: none; /* hide top-of-heading lightning on mobile — show overlay instead */
    }
    /* Mobile-only single image — shown under the text in the intro chapter.
       Replaces the 3-card combined block when the merchant has uploaded a mobile image. */
    .bt-narr__intro-mobile-image {
      display: block;
      width: 100%;
      margin-top: 18px;
      border-radius: 16px;
      overflow: hidden;
      background: rgba(0,0,0,0.04);
    }
    .bt-narr__intro-mobile-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    /* Auto aspect ratio variant — image determines container height from its
       natural dimensions instead of a fixed aspect-ratio. */
    .bt-narr__intro-mobile-image--auto img {
      height: auto;
      object-fit: contain;
    }
    /* When chapter has a mobile image, hide the desktop 3-card block on mobile */
    .bt-narr__chapter--has-m-img .bt-narr__intro-cards-fullwidth {
      display: none;
    }
    /* Mobile single column layout. Text alignment follows the user's text_align
       setting (was hardcoded center previously). */
    .bt-narr__chapter--intro .bt-narr__intro-top {
      grid-template-columns: 1fr;
    }
    .bt-narr__chapter--intro .bt-narr__intro-text .bt-narr__heading,
    .bt-narr__chapter--intro .bt-narr__intro-text .bt-narr__sub {
      text-align: var(--bt-narr-text-align, center);
    }
    /* Show lightning overlay across the square cards block */
    .bt-narr__intro-cards-lightning {
      display: block;
      position: absolute;
      top: 8%;
      left: 5%;
      right: 5%;
      width: 90%;
      height: 80%;
      z-index: 4;
      color: var(--bt-narr-pill-bg, #FFFFFF);
      pointer-events: none;
      opacity: 0.95;
    }
    /* Bridge button — not full width on mobile, uses dedicated mobile size */
    .bt-narr__intro-bridge .bt-narr__btn {
      width: auto;
      max-width: none;
      font-size: var(--bt-narr-bridge-size-m, 22px);
    }
    .bt-narr__steps {
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }
    /* Step 3 (last of 3) — spans both columns, centered, slightly larger than the two
       squares above it. Stays square via inherited aspect-ratio: 1/1 on the image. */
    .bt-narr__step:nth-child(3):nth-last-child(1) {
      grid-column: 1 / -1;
      justify-self: center;
      width: 62%;
      max-width: 100%;
    }
    /* On narrow mobile widths, prevent long single words ("конструкторі") in the
       caption pill from forcing the column wider than 1fr. */
    .bt-narr__step-cap {
      max-width: 100%;
      overflow-wrap: break-word;
      word-break: break-word;
    }
    /* Compact mode for the number+caption row on mobile — smaller circle,
       tighter pill padding, slightly smaller font, less overlap. */
    .bt-narr__step-num {
      width: 32px;
      height: 32px;
      font-size: 13px;
      margin-right: -8px;
    }
    .bt-narr__step-cap {
      padding: 7px 12px 7px 18px;
      font-size: 12px;
      line-height: 1.15;
      border-radius: 100px;
    }
    .bt-narr__step-row {
      gap: 0;
    }
    .bt-narr__chapter--compare .bt-narr__compare {
      width: 100%;
      flex-direction: column;
      align-items: center;
      /* Gap controlled by --bt-narr-cmp-gap-m setting; reduced default since
         caption no longer extends as far below image on mobile. */
      gap: var(--bt-narr-cmp-gap-m, 36px);
    }
    /* Force mobile width with !important so it beats the inline-var-driven
       desktop rule regardless of source order or flex-shrink behavior. */
    .bt-narr__chapter--compare .bt-narr__compare-card {
      width: var(--bt-narr-cmp-w-m, 100%) !important;
      max-width: 100%;
      transform: none !important;
      flex-shrink: 1;
    }
    .bt-narr__chapter--compare .bt-narr__compare-image {
      width: 100%;
    }
    .bt-narr__chapter--compare .bt-narr__compare-image img {
      width: 100%;
    }
    .bt-narr__chapter--compare .bt-narr__compare-cap {
      bottom: var(--bt-narr-cmp-cap-off-m, -4px);
      max-width: var(--bt-narr-cmp-cap-w-m, 100%);
    }
    .bt-narr__chapter--compare .bt-narr__chapter-inner {
      /* On mobile the caption sits much closer to the image, so the desktop
         "+30px buffer" isn't needed — just use the user's mobile setting directly. */
      padding-bottom: var(--bt-narr-chapter-pad-b-m, 32px);
    }
    /* Optional explicit image height on mobile — when merchant sets a value > 0,
       the compare-image is forced to that pixel height with object-fit: cover. */
    .bt-narr__chapter--cmp-h-m .bt-narr__compare-image {
      height: var(--bt-narr-cmp-img-h-m);
      overflow: hidden;
      border-radius: 14px;
    }
    .bt-narr__chapter--cmp-h-m .bt-narr__compare-image img {
      height: 100%;
      width: 100%;
      object-fit: cover;
    }
    .bt-narr__cta {
      gap: 18px;
    }
    .bt-narr__chapter--cta .bt-narr__btn-wrap {
      justify-content: center;
    }
    .bt-narr__btn { width: 100%; max-width: 360px; justify-content: center; }
  }
/* END_SECTION:bt-story-narrative */

/* START_SECTION:bt-story (INDEX:17) */
.bt-story {
    width: 100%;
    box-sizing: border-box;
    font-family: 'Rubik', sans-serif;
    color: var(--color-foreground, #1a1a1a);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    /* Default typography preset */
    --bt-story-h-main: clamp(28px, 4vw, 48px);
    --bt-story-h-chapter: clamp(24px, 3vw, 36px);
    --bt-story-body: clamp(15px, 1.2vw, 17px);
    --bt-story-chip: 12px;
    --bt-story-step-cap: 13px;
  }
  .bt-story--type-compact {
    --bt-story-h-main: clamp(22px, 3.2vw, 36px);
    --bt-story-h-chapter: clamp(20px, 2.5vw, 28px);
    --bt-story-body: clamp(14px, 1vw, 15px);
    --bt-story-chip: 11px;
    --bt-story-step-cap: 12px;
  }
  .bt-story--type-spacious {
    --bt-story-h-main: clamp(34px, 5vw, 60px);
    --bt-story-h-chapter: clamp(28px, 3.6vw, 44px);
    --bt-story-body: clamp(16px, 1.4vw, 20px);
    --bt-story-chip: 13px;
    --bt-story-step-cap: 14px;
  }
  .bt-story *, .bt-story *::before, .bt-story *::after { box-sizing: border-box; }

  .bt-story__inner {
    max-width: calc(var(--page-width, 1440px) - 2 * var(--page-margin, 20px));
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--bt-story-gap, 24px);
  }

  .bt-story__main-heading {
    margin: 0 0 4px;
    font-weight: 700;
    font-size: var(--bt-story-h-main);
    line-height: 0.95;
    letter-spacing: -0.02em;
    text-transform: none;
  }
  .bt-story__main-sub {
    margin: 0 0 12px;
    font-size: var(--bt-story-body);
    line-height: 1.5;
    opacity: 0.85;
    max-width: 720px;
  }
  .bt-story__main-sub p { margin: 0 0 0.6em; }
  .bt-story__main-sub p:last-child { margin: 0; }

  .bt-story__chapter {
    border-radius: 30px;
    padding: 28px 28px 32px;
    overflow: hidden;
    color: var(--bt-story-text, #1a1a1a);
  }

  /* Chip row (number + label) */
  .bt-story__chip-row {
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    border-radius: 100px;
    overflow: hidden;
    margin-bottom: 14px;
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: var(--bt-story-chip);
    letter-spacing: 0.02em;
    line-height: 1;
  }
  .bt-story__chip {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    text-transform: none;
  }
  .bt-story__chip--num { font-weight: 700; }
  .bt-story__chip--label { font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }

  .bt-story__heading {
    margin: 0 0 16px;
    font-weight: 700;
    font-size: var(--bt-story-h-chapter);
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: inherit;
    text-transform: none;
  }
  .bt-story__rich {
    font-size: var(--bt-story-body);
    line-height: 1.55;
    opacity: 0.92;
  }
  .bt-story__rich p { margin: 0 0 0.7em; }
  .bt-story__rich p:last-child { margin: 0; }
  .bt-story__rich strong { font-weight: 700; }
  .bt-story__rich a { color: inherit; text-underline-offset: 2px; }
  .bt-story__rich em {
    font-style: italic;
    color: var(--bt-story-accent, #FFD200);
    font-weight: 500;
    opacity: 1;
  }
  .bt-story__rich ol { margin: 0 0 0.7em; padding-left: 1.2em; }
  .bt-story__rich ol li { margin: 0 0 0.3em; }
  /* Unordered lists in chapter body get X markers (negative-list style) */
  .bt-story__rich ul {
    list-style: none;
    padding: 0;
    margin: 0 0 0.7em;
  }
  .bt-story__rich ul li {
    position: relative;
    padding-left: 30px;
    margin: 0 0 0.45em;
  }
  .bt-story__rich ul li::before {
    content: "✕";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--bt-story-marker, #FF3B30);
    font-weight: 700;
    font-size: 1.1em;
    line-height: 1.55;
  }

  /* Layout: image (text left, image right) */
  .bt-story__row {
    display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 36px;
    align-items: center;
  }
  .bt-story__row--image {
    grid-template-columns: 1fr var(--bt-story-image-pct, 55%);
  }
  .bt-story__chapter--image .bt-story__image,
  .bt-story__chapter--iconlist .bt-story__image {
    border-radius: 24px;
    overflow: hidden;
    aspect-ratio: 16 / 11;
    background: rgba(0,0,0,0.04);
  }
  .bt-story__chapter--image .bt-story__image img,
  .bt-story__chapter--iconlist .bt-story__image img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  /* Bare image — no card frame, transparent bg, free aspect (for PNGs) */
  .bt-story__image--bare {
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    aspect-ratio: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-story__image--bare img {
    width: 100% !important;
    height: auto !important;
    max-height: 520px;
    object-fit: contain !important;
  }

  /* Iconlist layout (text + iconified bullets, image on right) */
  .bt-story__chapter--iconlist .bt-story__row { grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; }
  .bt-story__iconlist {
    list-style: none;
    margin: 16px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .bt-story__iconlist-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
  }
  .bt-story__iconlist-icon {
    flex-shrink: 0;
    width: var(--bt-story-iconlist-icon, 36px);
    height: var(--bt-story-iconlist-icon, 36px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-story__iconlist-icon img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
  }
  .bt-story__iconlist-text {
    flex: 1;
    font-size: var(--bt-story-body);
    line-height: 1.5;
    padding-top: 4px;
  }
  .bt-story__iconlist-text p { margin: 0 0 0.4em; }
  .bt-story__iconlist-text p:last-child { margin: 0; }
  .bt-story__iconlist-text strong { font-weight: 700; }
  .bt-story__iconlist-text em {
    font-style: italic;
    color: var(--bt-story-accent, #FFD200);
  }
  .bt-story__iconlist-text a { color: inherit; text-underline-offset: 2px; }

  /* Layout: steps (text left, 4 steps right with arrows) */
  .bt-story__chapter--steps .bt-story__row { grid-template-columns: 1fr 1.5fr; }
  .bt-story__steps {
    display: flex;
    align-items: stretch;
    gap: 8px;
  }
  .bt-story__step {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: 18px; /* room for the num badge floating above image */
    gap: 8px;
  }
  .bt-story__step-num {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--bt-story-step-num-bg, #FFD200);
    color: var(--bt-story-step-num-text, #1a1a1a);
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: 14px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  }
  .bt-story__step-image {
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 16px;
    overflow: hidden;
    background: rgba(0,0,0,0.04);
  }
  .bt-story__step-image img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  .bt-story__step-caption {
    font-size: var(--bt-story-step-cap);
    line-height: 1.35;
    font-weight: 500;
    margin-top: 2px;
  }
  .bt-story__step-arrow {
    flex: 0 0 auto;
    align-self: flex-start;
    color: var(--bt-story-text, #1a1a1a);
    opacity: 0.5;
    /* Approximate vertical center of image: padding (18px) + half image */
    margin-top: clamp(75px, 9vw, 115px);
  }
  .bt-story__step-arrow svg {
    width: 22px; height: 12px; display: block;
  }

  /* Layout: stats (text + image + 3 stat cards) */
  .bt-story__chapter--stats .bt-story__row {
    grid-template-columns: 0.85fr 1.2fr auto;
    align-items: center;
    gap: 28px;
  }
  .bt-story__stats-image {
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: rgba(0,0,0,0.04);
    max-width: 460px;
    margin: 0 auto;
    width: 100%;
  }
  .bt-story__stats-image img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  /* Bare stats image — no frame, for transparent PNGs (e.g. calendar + box composite) */
  .bt-story__stats-image--bare {
    border-radius: 0;
    overflow: visible;
    background: transparent;
    aspect-ratio: auto;
    max-width: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-story__stats-image--bare img {
    width: 100%;
    height: auto;
    max-height: 440px;
    object-fit: contain;
  }
  .bt-story__stats {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 200px;
  }
  .bt-story__stat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 14px 8px 8px;
    background: rgba(255,255,255,0.6);
    border-radius: 14px;
  }
  .bt-story__stat-image {
    width: 56px; height: 56px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: rgba(0,0,0,0.05);
  }
  .bt-story__stat-image img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  .bt-story__stat-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
  }
  .bt-story__stat-label { font-size: 13px; font-weight: 500; opacity: 0.7; }
  .bt-story__stat-value { font-size: 16px; font-weight: 700; margin-top: 2px; }

  /* Layout: compare (header + 2 rows of cards + sidebar) */
  .bt-story__compare-head {
    margin-bottom: 22px;
    text-align: left;
  }
  .bt-story__compare-head .bt-story__heading {
    margin: 0;
    text-align: center;
  }
  .bt-story__compare {
    display: grid;
    grid-template-columns: 1fr 240px;
    gap: 22px;
    align-items: start;
  }
  .bt-story__compare-grid {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
  .bt-story__compare-row {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 18px;
    align-items: center;
  }
  .bt-story__compare-row-label {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.2;
    opacity: 0.85;
  }
  .bt-story__compare-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .bt-story__compare-card {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: rgba(255,255,255,0.7);
  }
  .bt-story__compare-card-image {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.05);
  }
  .bt-story__compare-card-image img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  .bt-story__compare-card-caption {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 9px 14px;
    background: rgba(255, 251, 245, 0.96);
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 500;
    color: #1a1a1a;
    text-align: center;
  }
  .bt-story__compare-sidebar {
    border-radius: 18px;
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    align-self: stretch;
    justify-content: center;
  }
  .bt-story__compare-sidebar-icon {
    width: var(--bt-story-sidebar-icon, 60px);
    height: var(--bt-story-sidebar-icon, 60px);
    max-width: 100%;
    display: flex; align-items: center; justify-content: center;
  }
  .bt-story__compare-sidebar-icon img {
    width: 100%; height: 100%;
    object-fit: contain; display: block;
  }
  .bt-story__compare-sidebar-icon--text {
    font-size: calc(var(--bt-story-sidebar-icon, 60px) * 0.6);
    line-height: 1;
  }
  .bt-story__compare-sidebar-text {
    font-size: 14px;
    line-height: 1.45;
  }

  /* Tablet */
  @media (max-width: 1090px) {
    .bt-story__chapter { padding: 22px 22px 26px; border-radius: 28px; }
    .bt-story__row { grid-template-columns: 1fr 1fr; gap: 24px; }
    .bt-story__chapter--steps .bt-story__row { grid-template-columns: 1fr; gap: 18px; }
    .bt-story__chapter--stats .bt-story__row {
      grid-template-columns: 1fr 1fr;
      gap: 20px;
    }
    .bt-story__chapter--stats .bt-story__stats {
      grid-column: 1 / -1;
      flex-direction: row;
      flex-wrap: wrap;
    }
    .bt-story__chapter--stats .bt-story__stat { flex: 1 1 30%; min-width: 180px; }
    .bt-story__compare { grid-template-columns: 1fr; }
    .bt-story__compare-row { grid-template-columns: 110px 1fr; }
    .bt-story__step-image { aspect-ratio: 1 / 1; }
  }

  /* Mobile */
  @media (max-width: 749px) {
    .bt-story__chapter { padding: 18px 18px 22px; border-radius: 24px; }
    .bt-story__row { grid-template-columns: 1fr !important; gap: 18px; }
    .bt-story__heading { font-size: 22px; margin-bottom: 12px; }
    .bt-story__rich { font-size: 14px; }

    .bt-story__chapter--image .bt-story__image { aspect-ratio: var(--bt-story-image-aspect-m, 4 / 3); border-radius: 18px; }
    .bt-story__chapter--iconlist .bt-story__image { aspect-ratio: 4 / 3; border-radius: 18px; }
    .bt-story__image--bare img { max-height: 360px; }
    .bt-story__stats-image--bare img { max-height: 320px; }

    .bt-story__steps {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }
    .bt-story__step-arrow { display: none; }

    .bt-story__chapter--stats .bt-story__row { gap: 16px; }
    .bt-story__chapter--stats .bt-story__stats {
      flex-direction: column;
      gap: 8px;
    }
    .bt-story__chapter--stats .bt-story__stat { flex: 1 1 100%; }
    .bt-story__stats-image { max-width: 100%; aspect-ratio: 16 / 10; }

    .bt-story__compare-row {
      grid-template-columns: 1fr;
      gap: 10px;
    }
    .bt-story__compare-row-label { text-align: left; }
    .bt-story__compare-cards { grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
    .bt-story__compare-card-caption { padding: 8px 10px; font-size: 12px; }
    .bt-story__compare-sidebar { padding: 18px 16px; border-radius: 16px; }
  }

  @media (max-width: 480px) {
    .bt-story__compare-cards { grid-template-columns: 1fr; }
    .bt-story__steps { grid-template-columns: 1fr; }
  }
/* END_SECTION:bt-story */

/* START_SECTION:bulk-order-cta (INDEX:18) */
.bt-bulk {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-bulk *, .bt-bulk *::before, .bt-bulk *::after { box-sizing: border-box; }

  .bt-bulk__inner {
    display: flex;
    /* On mobile: image on top, text below */
    flex-direction: column-reverse;
    gap: 14px;
    background: var(--bt-bulk-bg, #f8f8f8);
    border-radius: var(--bt-bulk-radius, 50px);
    overflow: hidden;
    /* Default: only the page-width content area constrains us */
    max-width: calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px));
    margin: 0 auto;
    padding: 24px 16px;
  }
  /* If user set a custom max-width (> 0), apply the smaller of user value vs page-width */
  .bt-bulk[style*="--bt-bulk-max-width"] .bt-bulk__inner {
    max-width: min(var(--bt-bulk-max-width), calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px)));
  }

  .bt-bulk__content-wrapper {
    width: 100%;
    display: flex;
    align-items: center;
  }

  .bt-bulk__content {
    background: var(--bt-bulk-card-bg, #ffffff);
    padding: 28px 24px;
    border-radius: var(--bt-bulk-card-radius, 50px);
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
  }

  .bt-bulk__heading {
    font-family: inherit;
    font-weight: 700;
    font-size: clamp(26px, 3.6vw, 42px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--bt-bulk-heading, #1e1310);
    text-transform: none;
  }
  .bt-bulk__text {
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.5;
    margin: 0;
    color: var(--bt-bulk-text, #3a3230);
  }
  .bt-bulk__text p { margin: 0 0 0.6em; }
  .bt-bulk__text p:last-child { margin-bottom: 0; }
  .bt-bulk__text a { color: inherit; text-underline-offset: 2px; }

  .bt-bulk__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--bt-bulk-btn-bg, #fa5800);
    color: var(--bt-bulk-btn-text, #ffffff);
    height: 50px;
    padding: 0 28px;
    border-radius: var(--bt-bulk-btn-radius, 50px);
    font-weight: 600;
    font-size: 16px;
    font-family: inherit;
    line-height: 1.2;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
    align-self: flex-start;
    max-width: 100%;
    margin-top: 4px;
  }
  button.bt-bulk__button { appearance: none; -webkit-appearance: none; }
  .bt-bulk__button:hover {
    background: var(--bt-bulk-btn-hover, #e65000);
    transform: translateY(-2px);
  }
  .bt-bulk__btn-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
  }

  .bt-bulk__image {
    width: 100%;
    aspect-ratio: var(--bt-bulk-mobile-aspect, 4 / 3);
    display: flex;
    align-items: stretch;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--bt-bulk-card-radius, 50px);
  }
  .bt-bulk__image:empty,
  .bt-bulk__image:has(.bt-bulk__placeholder:only-child:empty) {
    display: none;
  }
  .bt-bulk__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--bt-bulk-img-position, center);
    display: block;
  }
  .bt-bulk__placeholder {
    width: 100%;
    height: 100%;
    min-height: 260px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .bt-bulk__placeholder svg {
    width: 100%;
    height: auto;
    max-height: 400px;
  }
  .bt-bulk__image picture {
    display: block;
    width: 100%;
    height: 100%;
  }
  /* Hide mobile image entirely if user opts out */
  .bt-bulk--no-mobile-image .bt-bulk__image {
    display: none;
  }

  /* Mobile only: white content card overlaps image bottom (configurable) */
  @media screen and (max-width: 749px) {
    .bt-bulk__content-wrapper {
      position: relative;
      z-index: 2;
      margin-top: calc(-1 * var(--bt-bulk-panel-overlap-m, 0px));
    }
    .bt-bulk__image {
      position: relative;
      z-index: 1;
    }
  }

  /* Tablet + desktop: 2 columns. Inner has equal padding all 4 sides (so white
     card sits centered with same gap top/bottom). Image breaks out via negative
     margins to bleed to top + right + bottom edges, keeping left gap from content. */
  @media screen and (min-width: 750px) {
    .bt-bulk__inner {
      --bt-bulk-pad-d: clamp(20px, 3vw, 32px);
      flex-direction: row;
      align-items: stretch;
      padding: var(--bt-bulk-pad-d);
      gap: clamp(20px, 3vw, 40px);
      min-height: var(--bt-bulk-min-height-d, 0);
    }
    /* Apply max-height only when user has set it (variable defined) */
    .bt-bulk[style*="--bt-bulk-max-height-d"] .bt-bulk__inner {
      max-height: var(--bt-bulk-max-height-d);
    }
    .bt-bulk__content-wrapper {
      width: 50%;
      flex: 0 1 50%;
    }
    .bt-bulk__content {
      padding: clamp(32px, 3.5vw, 56px);
      margin: 0;
      gap: clamp(14px, 1.6vw, 22px);
      justify-content: center;
    }
    .bt-bulk__image {
      display: flex;
      width: 50%;
      flex: 0 1 50%;
      flex-shrink: 0;
      align-items: flex-end;
      justify-content: flex-end;
      align-self: stretch;
      position: relative;
      aspect-ratio: auto;
      /* Negative margins on top, right, bottom — image extends past inner padding
         to outer card edges. Left stays inside padding (so gap from content remains). */
      margin: calc(-1 * var(--bt-bulk-pad-d)) calc(-1 * var(--bt-bulk-pad-d)) calc(-1 * var(--bt-bulk-pad-d)) 0;
      /* No own radius — outer card's overflow:hidden + radius clips it cleanly */
      border-radius: 0;
      overflow: hidden;
    }
    .bt-bulk__img {
      object-position: bottom right;
    }
  }

  @media screen and (min-width: 990px) {
    .bt-bulk__inner {
      --bt-bulk-pad-d: clamp(28px, 2.5vw, 40px);
      gap: clamp(32px, 3vw, 48px);
    }
    .bt-bulk__content {
      padding: clamp(40px, 3.6vw, 64px);
    }
  }
/* END_SECTION:bulk-order-cta */

/* START_SECTION:catalog-grid (INDEX:19) */
.bt-cg { display: block; box-sizing: border-box; }
  .bt-cg *,
  .bt-cg *::before,
  .bt-cg *::after { box-sizing: border-box; }

  .bt-cg__inner { margin: 0 auto; width: 100%; }
  .bt-cg__inner--page-width {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-cg__inner--full-width {
    max-width: 100%;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }

  .bt-cg__header {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 0 0 28px;
    flex-wrap: wrap;
  }
  .bt-cg__heading {
    font-family: 'Rubik', sans-serif;
    font-weight: 900;
    font-size: clamp(
      {{ section.settings.heading_size_min | default: 32 }}px,
      {{ section.settings.heading_size_vw | default: 5.5 }}vw,
      {{ section.settings.heading_size_max | default: 72 }}px
    );
    line-height: 0.9;
    letter-spacing: -0.02em;
  }
  .bt-cg__heading p { margin: 0; }
  .bt-cg__count {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 0.9;
    letter-spacing: -0.02em;
    opacity: 0.25;
  }

  .bt-cg__grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-cg-cols-d, 6), minmax(0, 1fr));
    grid-auto-rows: var(--bt-cg-row-height-d, 214px);
    gap: var(--bt-cg-gap, 15px);
  }

  .bt-cg__card {
    position: relative;
    grid-column: span min(var(--card-col-span-d, 1), var(--bt-cg-cols-d, 6));
    grid-row: span var(--card-row-span-d, 1);
    background-color: var(--card-bg, #f0f0f0);
    border-radius: var(--bt-cg-radius, 35px);
    overflow: hidden;
    text-decoration: none;
    display: block;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
  }
  .bt-cg__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px -16px rgba(0, 0, 0, 0.35);
  }

  .bt-cg__card-media,
  .bt-cg__card-media picture,
  .bt-cg__card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .bt-cg__card-media picture { display: block; }
  .bt-cg__card-media img {
    object-fit: var(--card-img-fit, cover);
    object-position: var(--card-img-pos-x, 50%) var(--card-img-pos-y, 50%);
    transition: transform 0.6s ease;
  }
  .bt-cg__card:hover .bt-cg__card-media img { transform: scale(1.04); }

  .bt-cg__card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      var(--card-grad-angle, 251deg),
      rgba(0, 0, 0, 0) var(--card-grad-start, 38%),
      var(--card-grad-color, rgba(0, 0, 0, 0.4)) var(--card-grad-end, 100%)
    );
    opacity: var(--card-grad-opacity, 1);
    pointer-events: none;
  }

  .bt-cg__card-content {
    position: absolute;
    left: var(--card-pad-d, 24px);
    right: var(--card-pad-d, 24px);
    bottom: var(--card-pad-d, 24px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    z-index: 2;
  }
  .bt-cg__card-title {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: var(--card-title-size-d, 24px);
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: var(--card-title-color, #fff);
  }
  .bt-cg__card-arrow {
    display: inline-flex;
    align-items: center;
    color: var(--card-arrow-color, #fff);
    flex-shrink: 0;
  }
  .bt-cg__card-arrow svg { display: block; }

  @media (max-width: 989px) and (min-width: 750px) {
    .bt-cg__grid {
      grid-template-columns: repeat(var(--bt-cg-cols-t, 4), minmax(0, 1fr));
      grid-auto-rows: var(--bt-cg-row-height-t, 180px);
    }
    .bt-cg__card {
      grid-column: span min(var(--card-col-span-t, 2), var(--bt-cg-cols-t, 4));
      grid-row: span var(--card-row-span-t, 1);
    }
    .bt-cg__header { margin-bottom: 22px; }
  }

  @media (max-width: 749px) {
    .bt-cg__grid {
      grid-template-columns: repeat(var(--bt-cg-cols-m, 2), minmax(0, 1fr));
      grid-auto-rows: var(--bt-cg-row-height-m, 140px);
    }
    .bt-cg__card {
      grid-column: span min(var(--card-col-span-m, 1), var(--bt-cg-cols-m, 2));
      grid-row: span var(--card-row-span-m, 1);
    }
    .bt-cg__card-title {
      font-size: var(--card-title-size-m, 18px);
    }
    .bt-cg__card-content {
      left: var(--card-pad-m, 14px);
      right: var(--card-pad-m, 14px);
      bottom: var(--card-pad-m, 14px);
    }
    .bt-cg__header { margin-bottom: 18px; }
  }
/* END_SECTION:catalog-grid */

/* START_SECTION:category-strip-bricktopia (INDEX:20) */
.bt-cs { display: block; box-sizing: border-box; font-family: 'Rubik', sans-serif; }
  .bt-cs *, .bt-cs *::before, .bt-cs *::after { box-sizing: border-box; }

  .bt-cs__inner { margin: 0 auto; width: 100%; }
  .bt-cs__inner--page-width {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-cs__inner--full-width {
    max-width: 100%;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }

  .bt-cs__header { margin: 0 0 20px; }
  .bt-cs__header--left { text-align: left; }
  .bt-cs__header--center { text-align: center; }
  .bt-cs__header--right { text-align: right; }
  .bt-cs__heading {
    font-weight: 700;
    font-size: clamp(22px, 3vw, 36px);
    line-height: 1.1;
    letter-spacing: -0.02em;
  }
  .bt-cs__heading p { margin: 0; }

  .bt-cs__scroll { width: 100%; }
  .bt-cs__grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-cs-cols-d, 3), minmax(0, 1fr));
    gap: var(--bt-cs-gap, 16px);
  }

  .bt-cs__card {
    position: relative;
    display: block;
    height: var(--bt-cs-card-h, 214px);
    background-color: var(--card-bg, #e5e5e5);
    border-radius: var(--bt-cs-radius, 24px);
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    min-width: 0;
  }
  .bt-cs__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 30px -16px rgba(0, 0, 0, 0.35);
  }

  .bt-cs__card-media,
  .bt-cs__card-media picture,
  .bt-cs__card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .bt-cs__card-media picture { display: block; }
  .bt-cs__card-media img {
    object-fit: var(--card-img-fit, cover);
    object-position: var(--card-img-pos-x, 50%) var(--card-img-pos-y, 50%);
    transition: transform 0.6s ease;
  }
  .bt-cs__card:hover .bt-cs__card-media img { transform: scale(1.05); }

  .bt-cs__card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      var(--card-grad-angle, 0deg),
      var(--card-grad-color, rgba(0, 0, 0, 0.45)) var(--card-grad-start, 0%),
      rgba(0, 0, 0, 0) var(--card-grad-end, 70%)
    );
    opacity: var(--card-grad-opacity, 1);
    pointer-events: none;
  }

  .bt-cs__card-title {
    position: absolute;
    left: 20px;
    right: 60px;
    bottom: 18px;
    font-weight: 700;
    font-size: var(--card-title-size-d, 20px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--card-title-color, #ffffff);
    z-index: 2;
  }

  .bt-cs__card-arrow {
    position: absolute;
    right: 18px;
    bottom: 22px;
    display: inline-flex;
    align-items: center;
    z-index: 2;
  }
  .bt-cs__card-arrow svg { display: block; }

  /* Tablet */
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-cs__grid {
      grid-template-columns: repeat(var(--bt-cs-cols-t, 3), minmax(0, 1fr));
    }
  }

  /* Mobile: horizontal snap scroll */
  @media (max-width: 749px) {
    .bt-cs__scroll {
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      -ms-overflow-style: none;
      padding-bottom: 4px;
      margin-left: calc(var(--page-margin, 20px) * -1);
      margin-right: calc(var(--page-margin, 20px) * -1);
      padding-left: var(--page-margin, 20px);
      padding-right: var(--page-margin, 20px);
    }
    .bt-cs__scroll::-webkit-scrollbar { display: none; }
    .bt-cs__grid {
      display: flex;
      grid-template-columns: none;
      gap: 12px;
      width: max-content;
    }
    .bt-cs__card {
      flex: 0 0 var(--bt-cs-mobile-w, 70%);
      max-width: var(--bt-cs-mobile-w, 70%);
      height: var(--bt-cs-card-h-m, 180px);
      scroll-snap-align: start;
      scroll-snap-stop: always;
    }
    .bt-cs__card-title {
      font-size: var(--card-title-size-m, 18px);
      left: 16px;
      right: 52px;
      bottom: 14px;
    }
    .bt-cs__card-arrow {
      right: 14px;
      bottom: 18px;
    }
  }
/* END_SECTION:category-strip-bricktopia */

/* START_SECTION:collection-links (INDEX:21) */
collection-links-component {
    --alignment: flex-start;

    display: grid;
    align-items: center;
    grid-gap: var(--gap-3xl);

    &:has([ratio='portrait']) {
      --template-column-ratio: 0.8fr;
    }

    &:has([ratio='square']) {
      --template-column-ratio: 1fr;
    }

    &:has([ratio='landscape']) {
      --template-column-ratio: 1.4fr;
    }

    &[alignment='center'] {
      --alignment: center;

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

    &[alignment='right'] {
      --alignment: flex-end;

      .text-block {
        text-align: right;
      }
    }

    &[layout='spotlight'] {
      position: relative;
      grid-template-columns: 1fr var(--template-column-ratio);
      grid-template-areas: 'text image';

      &[reverse] {
        grid-template-areas: 'image text';
        grid-template-columns: var(--template-column-ratio) 1fr;
      }

      .collection-links__container {
        align-items: var(--alignment);
      }

      @media (width < 750px) {
        grid-template-columns: 1fr;
        grid-template-areas: 'text' 'image';
        grid-gap: var(--gap-2xl);

        .collection-links__container {
          gap: clamp(var(--gap-xs), 1vw, var(--gap-xl)) var(--gap-2xl);
          justify-content: var(--alignment);
        }
      }
    }

    &[layout='text'] {
      grid-gap: 0;
      grid-template-areas: 'text';

      .collection-links__container {
        gap: clamp(var(--gap-xs), 1vw, var(--gap-xl)) var(--gap-2xl);
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: var(--alignment);
      }
    }
  }

  .collection-links__container {
    display: flex;
    gap: var(--gap-md);
    flex-direction: column;
  }

  .collection-links__images {
    overflow: hidden;
    grid-area: image;

    @media (width < 750px) {
      image-block {
        max-width: 100%;
      }
    }
  }
/* END_SECTION:collection-links */

/* START_SECTION:featured-product (INDEX:25) */
.featured-product-section .section-content-wrapper {
    grid-template-columns: 1fr;
    display: grid;
    overflow: hidden;

    @media (width >= 750px) {
      grid-template-columns: 1fr 1fr;
    }
  }

  /* Here I should maybe set the width to auto when the ratio is set to adapt */
  .featured-product-section .product-media-container.constrain-height {
    /* arbitrary offset value based on average theme spacing and header height */
    --viewport-offset: 400px;
    --constrained-min-height: var(--visual-preview--height, 80dvh);

    @media screen and (width >= 750px) {
      --viewport-offset: 300px;
    }
  }

  .featured-product-section .product-card__link {
    --padding-block: 20px;
    --padding-inline: 20px;

    @media screen and (width >= 750px) {
      --padding-block: 40px;
      --padding-inline: 40px;
    }
  }

  @media screen and (width < 750px) {
    .featured-product-section .media-block {
      order: -1;
    }
  }
/* END_SECTION:featured-product */

/* START_SECTION:header-announcements (INDEX:27) */
.announcement-bar {
    border-block-end: var(--border-bottom-width) solid var(--color-border);
  }

  .announcement-bar__slider {
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;

    @media screen and (width < 750px) {
      grid-column: 1 / -1;
    }
  }

  .announcement-bar__slides {
    display: grid;
    grid: [stack] auto / [stack] auto;
    width: calc(100% - var(--button-size) * 2);
    max-width: 680px;
    margin-inline: auto;
  }

  .announcement-bar__slides > * {
    grid-area: stack;
  }

  .announcement-bar__slide {
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;

    &[aria-hidden='true'] {
      opacity: 0;
      visibility: hidden;
    }
  }

  .announcement-bar__slider slideshow-arrows {
    padding: 0;
  }

  .announcement-bar__slider slideshow-arrows[shape='none'] {
    mix-blend-mode: normal;
  }

  .announcement-bar__slider slideshow-arrows .slideshow-control--shape-none {
    color: var(--color-foreground);
  }

  .announcement-bar__slider .slideshow-control {
    display: flex;
    padding: 0;
    width: var(--button-size);
    height: var(--button-size);
    align-items: center;
    justify-content: center;
    opacity: 1;
    animation: none;

    @media screen and (width >= 750px) {
      --slideshow-control-offset: calc((var(--button-size) - var(--icon-size-xs)) / 2);

      .section--page-width &.slideshow-control--previous {
        transform: translateX(var(--slideshow-control-offset));
      }
    }
  }

  .announcement-bar__slider .slideshow-control .svg-wrapper {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .announcement-bar__slide {
    place-content: center;
  }

  .announcement-bar__text:first-child {
    margin: 0;
  }

  .announcement-bar__link {
    position: absolute;
    inset: 0;
  }
/* END_SECTION:header-announcements */

/* START_SECTION:header (INDEX:28) */
body {
    --header-height: 0px;
    --header-group-height: var(--header-height);
  }

  body:has(> #header-group > header) {
    --header-height: 60px;
  }

  body:has(> #header-group:empty) {
    --header-group-height: 0px;
  }

  .header[transparent] {
    --language-button-background-color: transparent;
    --language-button-border-color: transparent;
    /* used to apply transparency to .header__row, will only ever be transparent or unset */
    --header-bg-color: transparent;
    /* used to display the appropriate logo based on transparency state */
    --header-logo-display: none;
    --header-logo-inverse-display: block;

    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    /* transparent color scheme on .header should never apply its background color */
    background-color: transparent;
    z-index: var(--layer-overlay);

    &[transparent='not-sticky'][data-sticky-state='active'],
    &:has(
        .header__row:hover,
        [role='menu']:is(:hover),
        [role='menuitem']:is([aria-expanded='true']),
        nav[header-menu]:is(:focus-within),
        .menu-list__link[data-animating],
        .account-popover[open],
        .localization-wrapper:not([hidden])
      ) {
      /* should be opaque, negate all transparent properties */
      --header-logo-display: unset;
      --header-logo-inverse-display: unset;
      --header-bg-color: unset;
      --color-foreground: inherit;
      --color-background: inherit;
      --color-border: inherit;
    }

    .header__row {
      transition: color var(--animation-speed) var(--animation-easing),
        border-color var(--animation-speed) var(--animation-easing),
        background-color var(--animation-speed) var(--animation-easing);
    }
  }

  :is(
      .header[transparent]:not([data-sticky-state='active']),
      .header[transparent='always'][data-sticky-state='active'],
      .account-popover[open],
      .localization-wrapper:not([hidden])
    )
    .header__row:not(:hover):not(
      :has(
          .header-menu[aria-expanded='true'],
          .menu-list__link[data-animating],
          .account-popover[open],
          .localization-wrapper:not([hidden])
        )
    ) {
    /* while transparent, header-row ignores its color-scheme settings, pull from the header-component */
    --color-foreground: inherit;
    --color-border: inherit;
    --color-primary-button-background: inherit;
    --color-primary-button-text: inherit;
  }

  .header--inherit-color-scheme-on-menu-open:has(
      [role='menu']:is(:hover),
      [role='menuitem']:is([aria-expanded='true']),
      nav[header-menu]:is(:focus-within),
      .menu-list__link[data-animating]
    )
    .header__row {
    --color-foreground: inherit;
    --color-background: inherit;
    --color-border: inherit;
  }

  .header-section {
    position: relative;
  }

  #header-group:has(#header-component[sticky]) {
    display: contents;
  }

  .header-section:has(> #header-component[sticky='always']),
  .header-section:has(> #header-component[sticky='scroll-up'][data-sticky-state='active']) {
    position: sticky;
    /* Use -1 instead of 0 so intersection observer can track sticky state */
    top: -1px;
    z-index: var(--layer-sticky);
  }

  .header[data-sticky-state] {
    transition: opacity var(--animation-speed) var(--animation-easing);
    opacity: 1;
  }

  .header[data-sticky-state='active'] {
    view-transition-name: sticky-header;
  }

  .header[data-sticky-state='idle'],
  .header[data-sticky-state='active'][data-animating] {
    opacity: 0;
  }

  .header__row {
    position: relative;
    /* will default to bg from its color scheme unless --header-bg-color is transparent */
    background-color: var(--header-bg-color, var(--color-background));
  }

  .header__row--top:not(.divider--page-width),
  .header__row--top.divider--page-width .header__columns,
  .header__row--bottom {
    border-bottom: var(--border-bottom-width) solid var(--color-border);
  }

  @media screen and (width < 750px) {
    .header__row--top:not(.divider--page-width),
    .header__row--top.divider--page-width .header__columns {
      border-bottom-width: var(--border-bottom-width-mobile);
    }
  }

  .header__row.divider--page-width:not(.section--page-width) .header__columns {
    @media screen and (width >= 750px) {
      padding-inline-start: 0;
      padding-inline-end: 0;
      margin-inline-start: var(--page-margin);
      margin-inline-end: var(--page-margin);
    }
  }

  .header__column {
    display: flex;
    align-items: center;
    /* on mobile, header__column nodes are ignored to create a new grid-template-area based on all visible content */
    @media screen and (width < 750px) {
      display: contents;
    }
  }

  .header__column--left,
  .header__column--center {
    gap: var(--gap-xl);
    grid-area: left;
  }

  .header__column--center {
    justify-content: center;
    grid-area: center;

    header-menu:only-child .overflow-menu::part(list) {
      justify-content: center;
    }
  }

  .header__column--right {
    gap: var(--gap-xl);
    justify-content: flex-end;
    grid-area: right;

    .overflow-menu::part(list) {
      justify-content: flex-end;
    }
  }

  .header__columns {
    display: grid;
    grid-template-areas: 'left center right';
    grid-gap: var(--gap-xl);
    grid-template-columns: var(--header-template-columns);

    /* Three column layout */
    --header-left: 1fr;
    --header-center: auto;
    --header-right: 1fr;
    --header-template-columns: var(--header-left) var(--header-center) var(--header-right);

    /* Mobile layout */
    --header-mobile-bookend: 44px;

    /* If menu is in center column */
    &:has(.header__column--center header-menu) {
      --header-center: auto;
      --header-left: minmax(max-content, 1fr);
      --header-right: minmax(max-content, 1fr);
    }

    /* If there is no center column, make the column the menu is in grow eagerly */
    &:where(:not(:has(.header__column--center))) {
      @media screen and (width >= 750px) {
        grid-template-areas: 'left right';
        --header-template-columns: var(--header-left) var(--header-right);
      }

      /* If the header-menu is in the right column */
      &:has(.header__column--right header-menu) {
        --header-right: auto;
        --header-left: minmax(max-content, 1fr);
      }
      /* If the header-menu is in the left column */
      &:has(.header__column--left header-menu) {
        --header-left: auto;
        --header-right: minmax(max-content, 1fr);
      }
    }

    @media screen and (width < 750px) {
      --header-template-columns: var(--header-mobile-bookend) var(--header-mobile-bookend) 1fr
        var(--header-mobile-bookend) var(--header-mobile-bookend);
      grid-template-areas: 'leftA leftB center rightA rightB';
      grid-column: span 3;
      column-gap: 0;
      align-items: center;
      padding-block: 0;
      padding-inline: 0 var(--padding-3xs);

      .header-logo {
        grid-area: center;
      }

      &:not(:has(header-actions)) .search-action {
        grid-area: leftB;
      }

      &:not(:has(.account-actions)) .search-action {
        grid-area: rightA;
      }

      .search-action {
        grid-area: leftB;
      }

      header-actions {
        grid-area: rightB;
      }
    }
  }

  /* Single column layout if there are no columns within */
  .header__columns:not(:has(.header__column)) {
    grid-template-columns: 1fr;
  }

  /* Set header paddings based on height setting */
  .header {
    --header-padding: var(--padding-sm);
    --font-paragraph--line-height: 1;
  }

  .header.header--compact {
    --header-padding: var(--padding-2xs);
  }

  .header__columns {
    --padding-block-start: var(--header-padding);
    --padding-block-end: var(--header-padding);
  }

  .header:not(.header--compact) .header__row--bottom {
    --header-padding: var(--padding-xs);
  }

  .header--collapse-row-paddings {
    .header__row--top .header__columns {
      --padding-block-end: 0px;
    }
    .header__row--bottom .header__columns {
      --padding-block-start: 0px;
    }
  }

  /* When the header is transparent, add a margin to a potential header-section below it */
  .header-section:has(.header[transparent]) + .shopify-section {
    margin-top: var(--header-height);
  }

  /* 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
   */
  body:has(> #header-group #header-component[transparent]):not(:has(> #header-group .header-section + .shopify-section))
    > main
    > .shopify-section:first-child
    .section:not(.disable-section-top-offset) {
    &.spacing-style,
    .spacing-style {
      --section-top-offset: var(--header-height);

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

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

/* START_SECTION:hero-modern-mobilebg (INDEX:29) */
.bt-herobg {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-herobg *, .bt-herobg *::before, .bt-herobg *::after { box-sizing: border-box; }

  .bt-herobg__inner {
    max-width: var(--bt-herobg-max-w, calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px)));
    margin: 0 auto;
  }

  .bt-herobg__card {
    position: relative;
    border-radius: var(--bt-herobg-radius-d, 50px);
    background: var(--bt-herobg-bg, var(--color-background, #fff5e6));
    color: var(--bt-herobg-text, var(--color-foreground, #1e1310));
    padding: clamp(40px, 5vw, 80px);
    overflow: hidden;
    min-height: var(--bt-herobg-min-h, 720px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(28px, 4vw, 60px);
  }

  /* Mobile background image — hidden on desktop */
  .bt-herobg__mobile-bg { display: none; }

  .bt-herobg__row { position: relative; z-index: 1; flex: 1; min-height: 360px; }

  .bt-herobg__content {
    position: relative;
    z-index: 2;
    width: 50%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
  }
  .bt-herobg--img-left .bt-herobg__content { margin-left: auto; }
  .bt-herobg--align-center .bt-herobg__content { text-align: center; align-items: center; max-width: 700px; margin: 0 auto; }

  .bt-herobg__eyebrow {
    display: inline-block;
    font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.1em;
    color: var(--bt-herobg-btn-bg, #fa5800); opacity: 0.9;
  }
  .bt-herobg__accent-word {
    display: inline-block;
    font-weight: 800;
    font-size: clamp(40px, 7vw, 80px);
    line-height: 0.9;
    letter-spacing: -0.02em;
    text-transform: uppercase;
    color: var(--bt-herobg-heading, var(--color-foreground, #1e1310));
    transform: rotate(var(--bt-herobg-accent-rot, -8deg));
    transform-origin: center;
    /* By default — only show on mobile. Desktop keeps regular heading flow. */
    display: none;
  }
  .bt-herobg__heading {
    margin: 0;
    font-weight: 800;
    font-size: clamp(32px, 5vw, 64px);
    line-height: 1.0;
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--bt-herobg-heading, var(--color-foreground, #1e1310));
  }
  .bt-herobg__subheading {
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.5;
    color: inherit;
    max-width: 540px;
  }
  .bt-herobg__subheading p { margin: 0 0 0.6em; }
  .bt-herobg__subheading p:last-child { margin-bottom: 0; }

  .bt-herobg__buttons {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
  }
  .bt-herobg__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 32px;
    border: 2px solid var(--bt-herobg-btn-text, #fff);
    border-radius: var(--bt-herobg-btn-radius, 50px);
    background: transparent;
    color: var(--bt-herobg-btn-text, #fff);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, transform 0.12s ease;
    -webkit-appearance: none; appearance: none;
  }
  .bt-herobg__btn--arrow { width: 50px; padding: 0; flex-shrink: 0; }
  .bt-herobg__btn-arrow-icon {
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 22px; font-weight: 700; line-height: 1; transform: translateY(-1px);
  }
  .bt-herobg__buttons--arrow-up-right .bt-herobg__btn-arrow-icon {
    transform: translateY(-1px) rotate(-45deg);
  }
  .bt-herobg__buttons:hover > .bt-herobg__btn--primary,
  .bt-herobg__buttons:hover > .bt-herobg__btn--arrow,
  .bt-herobg__btn:hover {
    background: var(--bt-herobg-btn-text, #fff);
    color: var(--bt-herobg-bg, var(--bt-herobg-btn-bg, #fa5800));
    transform: translateY(-1px);
  }

  .bt-herobg__media {
    position: absolute;
    bottom: var(--bt-herobg-img-bottom, -100px);
    right: var(--bt-herobg-img-right, -80px);
    top: var(--bt-herobg-img-top, 0px);
    width: var(--bt-herobg-img-w, 65%);
    max-width: var(--bt-herobg-img-maxw, 920px);
    pointer-events: none;
    z-index: 1;
    transform: scale(var(--bt-herobg-img-scale, 1));
    transform-origin: bottom right;
  }
  .bt-herobg--img-left .bt-herobg__media {
    right: auto;
    left: var(--bt-herobg-img-right, -80px);
    transform-origin: bottom left;
  }
  .bt-herobg__media picture, .bt-herobg__media img {
    width: 100%; height: 100%;
    object-fit: contain;
    object-position: bottom right;
    display: block;
  }
  .bt-herobg--img-left .bt-herobg__media img { object-position: bottom left; }

  /* Info tiles */
  .bt-herobg__info {
    position: relative; z-index: 2;
    display: flex; flex-wrap: wrap;
    gap: clamp(28px, 4vw, 64px);
  }
  .bt-herobg__info-tile {
    display: flex; flex-direction: column; gap: 4px;
    flex: 0 1 auto; min-width: 160px;
  }
  .bt-herobg__info-title {
    margin: 0; font-size: clamp(15px, 1.3vw, 18px);
    font-weight: 700; line-height: 1.25; letter-spacing: -0.01em;
    text-transform: none; color: var(--bt-herobg-heading, inherit);
  }
  .bt-herobg__info-text {
    margin: 0; font-size: clamp(12px, 1vw, 14px);
    line-height: 1.45; color: inherit; opacity: 0.88;
  }

  @media (max-width: 749px) {
    .bt-herobg--info-hide-mobile .bt-herobg__info { display: none !important; }
  }

  /* Tablet */
  @media (max-width: 1090px) {
    .bt-herobg__card { min-height: 580px; padding: clamp(28px, 4vw, 48px); }
    .bt-herobg__content { width: 52%; }
    .bt-herobg__media { width: 58%; bottom: -80px; right: -50px; }
    .bt-herobg__heading { font-size: clamp(28px, 4.5vw, 48px); }
  }

  /* MOBILE: text centered on top, image as full-width background at bottom */
  @media (max-width: 749px) {
    .bt-herobg__card {
      padding: 28px 22px;
      border-radius: var(--bt-herobg-radius-m, 30px);
      min-height: var(--bt-herobg-min-h-m, 600px);
      gap: 18px;
      display: block; /* override flex column for absolute mobile-bg layering */
    }
    .bt-herobg__row {
      display: block;
      min-height: 0;
    }
    .bt-herobg__content {
      position: relative;
      z-index: 3;
      width: 100%;
      max-width: 100%;
      text-align: center;
      align-items: center;
      gap: 14px;
      padding-top: clamp(20px, 4vw, 40px);
    }
    /* Show accent word on mobile if provided */
    .bt-herobg__accent-word { display: inline-block; }

    .bt-herobg__heading {
      font-size: clamp(34px, 9vw, 56px);
      width: 100%;
    }
    .bt-herobg__subheading {
      max-width: 100%;
      margin: 0 auto;
    }
    .bt-herobg__buttons {
      width: 100%;
      justify-content: center;
    }
    .bt-herobg__btn { padding: 12px 22px; font-size: 15px; }
    .bt-herobg__btn--arrow { width: 44px; padding: 0; }

    /* Hide desktop bleed image on mobile */
    .bt-herobg__media { display: none; }

    /* Mobile bg image: fills full card width, anchored at bottom */
    .bt-herobg__mobile-bg {
      display: block;
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: var(--bt-herobg-img-bg-h-m, 60%);
      z-index: 1;
      pointer-events: none;
      overflow: hidden;
      border-radius: 0 0 var(--bt-herobg-radius-m, 30px) var(--bt-herobg-radius-m, 30px);
    }
    .bt-herobg__mobile-bg img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center bottom;
      display: block;
    }

    /* Info tiles below content but above bg image (z-index 2) */
    .bt-herobg__info {
      position: relative;
      z-index: 2;
      flex-direction: column;
      gap: 14px;
      margin-top: 18px;
    }
    .bt-herobg__info-tile { min-width: 0; width: 100%; text-align: center; align-items: center; }
  }

  @media (prefers-reduced-motion: reduce) {
    .bt-herobg__btn { transition: none; }
    .bt-herobg__accent-word { transform: none; }
  }
/* END_SECTION:hero-modern-mobilebg */

/* START_SECTION:hero-modern (INDEX:30) */
.bt-hero {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-hero *, .bt-hero *::before, .bt-hero *::after { box-sizing: border-box; }

  .bt-hero__inner {
    max-width: var(--bt-hero-max-w, calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px)));
    margin: 0 auto;
  }

  .bt-hero__card {
    position: relative;
    border-radius: var(--bt-hero-radius-d, 50px);
    background: var(--bt-hero-bg, var(--color-background, #fff5e6));
    color: var(--bt-hero-text, var(--color-foreground, #1e1310));
    padding: clamp(40px, 5vw, 80px);
    overflow: hidden;
    min-height: var(--bt-hero-min-h, 720px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(28px, 4vw, 60px);
  }

  /* Decorative background text image (e.g. big "BRICKTOPIA" watermark) */
  .bt-hero__bg-text {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0.85;
    z-index: 0;
  }
  .bt-hero__bg-text img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  /* Row: content (text) on left half + media absolutely positioned right */
  .bt-hero__row {
    position: relative;
    z-index: 1;
    flex: 1;
    display: block;
    min-height: 360px;
  }

  .bt-hero__content {
    position: relative;
    z-index: 2;
    width: 50%;
    max-width: 560px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
  }
  .bt-hero--img-left .bt-hero__content { margin-left: auto; }
  .bt-hero--align-center .bt-hero__content { text-align: center; align-items: center; max-width: 700px; margin: 0 auto; }

  .bt-hero__eyebrow {
    display: inline-block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--bt-hero-btn-bg, #fa5800);
    opacity: 0.9;
  }
  .bt-hero__heading {
    margin: 0;
    font-weight: 800;
    font-size: clamp(32px, 5vw, 64px);
    line-height: 1.0;
    letter-spacing: -0.02em;
    text-transform: none;
    color: var(--bt-hero-heading, var(--color-foreground, #1e1310));
  }
  .bt-hero__subheading {
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.5;
    color: inherit;
    max-width: 540px;
  }
  .bt-hero__subheading p { margin: 0 0 0.6em; }
  .bt-hero__subheading p:last-child { margin-bottom: 0; }
  .bt-hero__subheading a { color: inherit; text-underline-offset: 2px; }

  /* Buttons row: outline-style primary + arrow circle (matches the legacy hero look) */
  .bt-hero__buttons {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
  }
  .bt-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 32px;
    border: 2px solid var(--bt-hero-btn-text, #fff);
    border-radius: var(--bt-hero-btn-radius, 50px);
    background: transparent;
    color: var(--bt-hero-btn-text, #fff);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, transform 0.12s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-hero__btn:hover {
    background: var(--bt-hero-btn-text, #fff);
    color: var(--bt-hero-bg, var(--bt-hero-btn-bg, #fa5800));
    transform: translateY(-1px);
  }
  .bt-hero__btn--arrow {
    width: 50px;
    height: 50px;
    padding: 0;
    flex-shrink: 0;
  }
  .bt-hero__btn--arrow svg {
    width: 20px;
    height: 20px;
  }
  .bt-hero__btn-arrow-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-1px);
    transition: transform 0.2s ease;
  }
  .bt-hero__buttons--arrow-up-right .bt-hero__btn-arrow-icon {
    transform: translateY(-1px) rotate(-45deg);
  }
  .bt-hero__btn--secondary {
    border-color: rgba(255, 255, 255, 0.45);
    color: var(--bt-hero-btn-text, #fff);
  }
  .bt-hero__btn--secondary:hover {
    border-color: var(--bt-hero-btn-text, #fff);
    background: var(--bt-hero-btn-text, #fff);
    color: var(--bt-hero-bg, #fa5800);
  }
  /* Sync hover state across primary + arrow when the user hovers either */
  .bt-hero__buttons:hover > .bt-hero__btn--primary,
  .bt-hero__buttons:hover > .bt-hero__btn--arrow {
    background: var(--bt-hero-btn-text, #fff);
    color: var(--bt-hero-bg, var(--bt-hero-btn-bg, #fa5800));
  }

  /* Media — fully controlled via CSS vars set per-instance */
  .bt-hero__media {
    position: absolute;
    bottom: var(--bt-hero-img-bottom, -100px);
    right: var(--bt-hero-img-right, -80px);
    top: var(--bt-hero-img-top, 0px);
    width: var(--bt-hero-img-w, 65%);
    max-width: var(--bt-hero-img-maxw, 920px);
    height: auto;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    pointer-events: none;
    z-index: 1;
    transform: scale(var(--bt-hero-img-scale, 1));
    transform-origin: bottom right;
  }
  .bt-hero--img-left .bt-hero__media {
    right: auto;
    left: var(--bt-hero-img-right, -80px);
    transform-origin: bottom left;
  }
  .bt-hero__media picture,
  .bt-hero__media img,
  .bt-hero__media-placeholder {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: bottom right;
    display: block;
  }
  .bt-hero--img-left .bt-hero__media img {
    object-position: bottom left;
  }
  .bt-hero__media-placeholder svg { width: 100%; height: 100%; }

  /* Info tiles — bottom row, no divider, transparent feel */
  .bt-hero__info {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(28px, 4vw, 64px);
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .bt-hero__info-tile {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 0 1 auto;
    min-width: 160px;
  }
  .bt-hero__info-title {
    margin: 0;
    font-size: clamp(15px, 1.3vw, 18px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-transform: none;
    color: var(--bt-hero-heading, inherit);
  }
  .bt-hero__info-text {
    margin: 0;
    font-size: clamp(12px, 1vw, 14px);
    line-height: 1.45;
    color: inherit;
    opacity: 0.88;
  }

  /* Disclaimer (rendered between heading and subheading inside .bt-hero__content) */
  .bt-hero__disclaimer {
    position: relative;
    z-index: 1;
    margin-inline: 0;
    line-height: 1.45;
    font-weight: 400;
  }
  .bt-hero__disclaimer p { margin: 0 0 0.4em; }
  .bt-hero__disclaimer p:last-child { margin-bottom: 0; }
  .bt-hero__disclaimer a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
  .bt-hero__disclaimer strong { font-weight: 600; }
  .bt-hero--align-center .bt-hero__disclaimer { margin-inline: auto; text-align: center; }

  /* Hide info tiles on mobile when toggled */
  @media (max-width: 749px) {
    .bt-hero--info-hide-mobile .bt-hero__info { display: none !important; }
  }

  /* Tablet — content narrower, image still bleeds */
  @media (max-width: 1090px) {
    .bt-hero__card { min-height: 580px; padding: clamp(28px, 4vw, 48px); }
    .bt-hero__content { width: 52%; }
    .bt-hero__media {
      width: 58%;
      bottom: -80px;
      right: -50px;
    }
    .bt-hero__heading { font-size: clamp(28px, 4.5vw, 48px); }
    .bt-hero__info { gap: 24px; }
  }

  /* Mobile: single column, image stretched on top, content + info below */
  @media (max-width: 749px) {
    .bt-hero__card {
      padding: 22px 22px 26px;
      border-radius: var(--bt-hero-radius-m, 30px);
      min-height: 0;
      gap: 18px;
    }
    .bt-hero__row {
      display: flex;
      flex-direction: column-reverse;
      min-height: 0;
    }
    .bt-hero__content {
      position: relative;
      width: 100%;
      max-width: none;
      gap: 14px;
    }
    .bt-hero__media {
      position: relative;
      top: auto;
      right: auto;
      left: auto;
      transform: none;
      width: 100%;
      height: auto;
      max-height: none;
      max-width: none;
      aspect-ratio: 4 / 3;
      margin: 0 -22px;
      width: calc(100% + 44px);
    }
    .bt-hero__media img,
    .bt-hero--img-left .bt-hero__media img {
      object-position: center bottom;
    }
    .bt-hero__heading { font-size: clamp(26px, 7vw, 36px); }
    .bt-hero__btn { padding: 12px 22px; font-size: 15px; }
    .bt-hero__btn--arrow { width: 44px; padding: 12px; }
    .bt-hero__buttons { width: 100%; }
    .bt-hero__btn--primary { flex: 1; }
    .bt-hero__info {
      margin-top: 0;
      padding-top: 0;
      flex-direction: column;
      gap: 14px;
    }
    .bt-hero__info-tile { min-width: 0; width: 100%; }
    .bt-hero__info-title { font-size: 14px; }
    .bt-hero__info-text { font-size: 12px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .bt-hero__btn { transition: none; }
  }
/* END_SECTION:hero-modern */

/* START_SECTION:hero (INDEX:31) */
.hero-wrapper {
    --hero-height-offset: 0px;
  }

  body:has(> #header-group > .header-section > #header-component[transparent]):not(
      :has(> #header-group > .header-section + .shopify-section)
    )
    .hero-wrapper:first-child {
    --hero-height-offset: var(--header-group-height, 0);
  }

  .hero {
    position: relative;
    min-height: calc(var(--hero-min-height) - var(--hero-height-offset));
  }

  .hero[data-shopify-visual-preview] {
    --hero-min-height: 600px;
    min-height: 600px;
  }

  .hero__container {
    position: relative;
    overflow: hidden;
    border: var(--hero-border-width) var(--hero-border-style)
      rgba(from var(--color-border) r g b / var(--hero-border-opacity));
    min-height: inherit;
    align-items: var(--vertical-alignment-mobile);
    justify-content: var(--horizontal-alignment);
    z-index: var(--layer-base);

    @media screen and (width >= 750px) {
      align-items: var(--vertical-alignment);
    }
  }

  .hero__content-wrapper.page-width {
    grid-column: 2 / 3;
  }

  .hero__content-wrapper {
    position: relative;
    inset: 0;
    z-index: var(--layer-flat);
  }

  .hero__content-wrapper .group-block-content {
    position: relative;
  }

  .hero__media-wrapper {
    position: absolute;
    inset: 0;
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(var(--hero-media-count, 1), 1fr);
  }

  .hero--auto .hero__image,
  .hero--auto .hero__video {
    aspect-ratio: var(--hero-media-aspect-ratio);
  }

  .hero--no-blocks-auto-height {
    :is(.hero__image, .hero__video) {
      width: 100%;
      aspect-ratio: auto;
    }
    .hero__media-wrapper {
      /* When there are no blocks and the height is auto, allow the image to appear. */
      position: relative;
    }
  }

  .hero__image,
  .hero__video {
    position: relative;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    z-index: var(--layer-base);
    overflow: hidden;
  }

  .hero__link {
    position: absolute;
    inset: 0;
    grid-column: 1 / -1;
  }

  .hero__media-wrapper,
  .hero__content-wrapper {
    pointer-events: none;
    a,
    button,
    input,
    textarea,
    select {
      pointer-events: auto;
    }
  }

  .hero__content-wrapper--design-mode {
    pointer-events: auto;
  }

  .hero[data-blur-shadow='true'] {
    --blurred-reflection-filter-saturate: saturate(1.5);
    --blurred-reflection-mask-image: linear-gradient(to bottom, black 0%, black 60%, transparent 100%);
    --blurred-reflection-box-shadow: rgb(0 0 0 / 5%) 0 0 1rem;
    --blurred-reflection-filter-blur: blur(20px);
    --blurred-reflection-scale: scale(2, 1.25);
    --blurred-reflection-padding-block-end: 60px;
  }

  .hero[data-blur-shadow='true'] .hero__container {
    overflow: inherit;
  }

  .hero[data-blur-shadow='true'] .hero__container::before {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: var(--blurred-reflection-box-shadow);
    mix-blend-mode: overlay;
    pointer-events: none;
    z-index: -1;
  }

  .hero__blurred-image {
    position: absolute;
    inset: 0;
    z-index: -1;
    mask-image: var(--blurred-reflection-mask-image);
    filter: var(--blurred-reflection-filter-saturate);
    pointer-events: none;
    transform: translateY(50%);
    overflow: hidden;
  }

  .hero__blurred-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    filter: var(--blurred-reflection-filter-blur);
    opacity: var(--blur-opacity);
    transform: var(--blurred-reflection-scale);
    padding-block-end: var(--blurred-reflection-padding-block-end);

    &:not(:only-child) {
      width: 50%;

      &:last-child {
        right: 0;
        left: auto;
      }
    }
  }
/* END_SECTION:hero */

/* START_SECTION:how-it-works-cards (INDEX:32) */
.bt-howc {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
  }
  .bt-howc *, .bt-howc *::before, .bt-howc *::after { box-sizing: border-box; }
  .bt-howc[style*="--bt-howc-section-bg"] { background: var(--bt-howc-section-bg); }

  .bt-howc__inner {
    max-width: var(--page-width, 1480px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-howc__header { margin-bottom: 36px; }
  .bt-howc__heading {
    margin: 0 0 10px;
    font-weight: 700;
    font-size: clamp(32px, 4.4vw, 56px);
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: var(--bt-howc-heading-color, #67361c);
  }
  .bt-howc__subheading {
    margin: 0;
    font-size: clamp(15px, 1.4vw, 20px);
    line-height: 1.4;
    color: var(--bt-howc-text-default, #67361c);
    opacity: 0.85;
  }

  /* Grid */
  .bt-howc__grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-howc-cols-d, 4), minmax(0, 1fr));
    gap: var(--bt-howc-gap, 30px);
  }
  @media (max-width: 989px) {
    .bt-howc__grid { grid-template-columns: repeat(var(--bt-howc-cols-t, 2), minmax(0, 1fr)); }
  }
  @media (max-width: 749px) {
    .bt-howc__grid {
      grid-template-columns: repeat(var(--bt-howc-cols-m, 1), minmax(0, 1fr));
      gap: 18px;
    }
    .bt-howc__header { margin-bottom: 24px; }
  }

  /* Step card */
  .bt-howc__step {
    position: relative;
    border-radius: var(--bt-howc-radius, 35px);
    padding: 30px 30px 32px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    color: var(--bt-howc-text, var(--bt-howc-text-default, #67361c));
    min-height: var(--bt-howc-card-min-h, 320px);
    overflow: visible;
  }

  .bt-howc__step-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    min-height: 50px;
  }
  .bt-howc__num {
    font-weight: 900;
    font-size: clamp(26px, 2.2vw, 32px);
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: currentColor;
    opacity: var(--bt-howc-num-opacity, 0.3);
    flex-shrink: 0;
  }

  /* Icon */
  .bt-howc__icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: flex-start;
    flex-shrink: 0;
  }
  .bt-howc__icon-tile {
    width: 47px;
    height: 47px;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bt-howc-bg, #e40b2f);
  }
  .bt-howc__icon-tile svg,
  .bt-howc__icon-tile img {
    width: 24px;
    height: 24px;
    display: block;
  }
  .bt-howc__ai-badge {
    position: absolute;
    top: -8px;
    left: -16px;
    background: #ffffff;
    padding: 2px 6px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--bt-howc-bg, #e40b2f);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    pointer-events: none;
    z-index: 2;
  }

  /* Body */
  .bt-howc__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
  }
  .bt-howc__title {
    margin: 0;
    font-weight: 700;
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: inherit;
  }
  .bt-howc__desc {
    font-weight: 500;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    letter-spacing: -0.02em;
    color: inherit;
  }
  .bt-howc__desc p { margin: 0 0 0.5em; }
  .bt-howc__desc p:last-child { margin-bottom: 0; }

  /* Arrows between cards (desktop only) */
  .bt-howc__arrow {
    position: absolute;
    top: 50%;
    right: calc(-0.5 * var(--bt-howc-gap, 30px) - 24px);
    transform: translateY(-50%);
    width: 52px;
    height: 40px;
    z-index: 2;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-howc__arrow svg {
    width: 100%;
    height: 100%;
    overflow: visible;
  }
  .bt-howc__grid--arrows .bt-howc__step:nth-child(even) .bt-howc__arrow svg {
    transform: scaleY(-1);
  }
  @media (max-width: 989px) {
    .bt-howc__arrow { display: none; }
  }

  .bt-howc__empty {
    text-align: center;
    padding: 40px 20px;
    color: rgba(0, 0, 0, 0.5);
    font-size: 14px;
  }

  @media (max-width: 749px) {
    .bt-howc__step {
      padding: 24px 24px 28px;
      border-radius: calc(var(--bt-howc-radius, 35px) * 0.7);
      gap: 14px;
      min-height: auto;
    }
  }
/* END_SECTION:how-it-works-cards */

/* START_SECTION:how-it-works-steps (INDEX:33) */
.bt-how {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
  }
  .bt-how *, .bt-how *::before, .bt-how *::after { box-sizing: border-box; }
  .bt-how[style*="--bt-how-section-bg"] { background: var(--bt-how-section-bg); }

  .bt-how__inner {
    max-width: var(--page-width, 1480px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-how__header {
    margin-bottom: 40px;
  }
  .bt-how__heading {
    margin: 0 0 10px;
    font-weight: 700;
    font-size: clamp(32px, 4.4vw, 56px);
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: var(--bt-how-heading-color, #67361c);
  }
  .bt-how__subheading {
    margin: 0;
    font-size: clamp(15px, 1.4vw, 20px);
    line-height: 1.4;
    color: var(--bt-how-text-default, #67361c);
    opacity: 0.85;
  }

  /* Grid */
  .bt-how__grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-how-cols-d, 4), minmax(0, 1fr));
    gap: var(--bt-how-gap, 30px);
  }
  @media (max-width: 989px) {
    .bt-how__grid {
      grid-template-columns: repeat(var(--bt-how-cols-t, 2), minmax(0, 1fr));
    }
  }
  @media (max-width: 749px) {
    .bt-how__grid {
      grid-template-columns: repeat(var(--bt-how-cols-m, 1), minmax(0, 1fr));
      gap: 20px;
    }
    .bt-how__header { margin-bottom: 24px; }
  }

  /* Step card */
  .bt-how__step {
    position: relative;
    border-radius: var(--bt-how-radius, 35px);
    padding: 28px 30px 30px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: var(--bt-how-text, var(--bt-how-text-default, #67361c));
    overflow: visible;
  }

  .bt-how__step-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    min-height: 48px;
  }
  .bt-how__num {
    font-weight: 900;
    font-size: clamp(26px, 2.2vw, 32px);
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: currentColor;
    opacity: var(--bt-how-num-opacity, 0.25);
    flex-shrink: 0;
  }

  /* Icons row */
  .bt-how__icons {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
    align-items: flex-start;
    max-width: 120px;
    position: relative;
  }
  .bt-how__icon {
    width: 47px;
    height: 47px;
    border-radius: 8px;
    background: #ffffff;
    border: 2px solid #ffffff;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-how__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .bt-how__badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #ffffff;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }

  /* Body */
  .bt-how__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
  }
  .bt-how__title {
    margin: 0;
    font-weight: 700;
    font-size: clamp(17px, 1.4vw, 20px);
    line-height: 1.3;
    letter-spacing: -0.02em;
    color: inherit;
  }
  .bt-how__desc {
    font-weight: 400;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    letter-spacing: -0.02em;
    color: inherit;
    font-weight: 500;
  }
  .bt-how__desc p { margin: 0 0 0.5em; }
  .bt-how__desc p:last-child { margin-bottom: 0; }

  /* Arrows between cards (desktop only) */
  .bt-how__arrow {
    position: absolute;
    top: 50%;
    right: calc(-0.5 * var(--bt-how-gap, 30px) - 24px);
    transform: translateY(-50%);
    width: 52px;
    height: 40px;
    z-index: 2;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-how__arrow svg {
    width: 100%;
    height: 100%;
    overflow: visible;
  }
  /* Alternate arrow direction for visual variety */
  .bt-how__grid--arrows .bt-how__step:nth-child(even) .bt-how__arrow svg {
    transform: scaleY(-1);
  }
  /* Hide arrows on tablet/mobile */
  @media (max-width: 989px) {
    .bt-how__arrow { display: none; }
  }

  .bt-how__empty {
    text-align: center;
    padding: 40px 20px;
    color: rgba(0, 0, 0, 0.5);
    font-size: 14px;
  }

  /* Mobile card adjustments */
  @media (max-width: 749px) {
    .bt-how__step {
      padding: 22px 24px 26px;
      border-radius: calc(var(--bt-how-radius, 35px) * 0.7);
      gap: 12px;
    }
    .bt-how__icon { width: 42px; height: 42px; }
    .bt-how__icons { max-width: 100px; }
  }
/* END_SECTION:how-it-works-steps */

/* START_SECTION:how-it-works (INDEX:34) */
/* Outer wrapper — full width, gets color scheme background */
  .how-it-works-outer {
    width: 100%;
    box-sizing: border-box;
    border: var(--hiw-border, none);
    border-radius: var(--hiw-border-radius, 0);
  }

  /* Inner wrapper — constrained by page/full width */
  .how-it-works-inner {
    width: 100%;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin-left: auto;
    margin-right: auto;
  }

  .how-it-works-inner--page-width {
    max-width: var(--page-width, 1440px);
  }

  .how-it-works-inner--full-width {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .how-it-works__heading {
    font-family: 'Rubik', sans-serif;
    font-weight: 800;
    font-size: clamp(28px, 4.5vw, 48px);
    line-height: 100%;
    letter-spacing: -0.02em;
    color: var(--hiw-heading-color, #67361C);
    margin: 0 auto 32px;
    max-width: 1400px;
  }

  .how-it-works__grid {
    display: grid;
    grid-template-columns: repeat(var(--hiw-columns, 3), 1fr);
    justify-items: center;
    align-items: stretch;
    margin: 0 auto;
  }

  .how-it-works__grid--vertical {
    grid-template-columns: 1fr;
    max-width: 480px;
  }

  .how-it-works__card {
    position: relative;
    border-radius: 32px;
    padding: 40px 28px 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-height: 500px;
    box-sizing: border-box;
    width: 100%;
    overflow: visible;
  }

  .how-it-works__grid--vertical .how-it-works__card {
    max-width: 480px;
    min-height: auto;
  }

  .how-it-works__step {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.02em;
    padding: 10px 22px;
    border-radius: 100px;
    background: #fff;
    white-space: nowrap;
    z-index: 2;
  }

  .how-it-works__media {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    margin-bottom: 20px;
  }

  .how-it-works__media img,
  .how-it-works__demo-svg {
    max-width: 100%;
    max-height: 320px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
  }

  .how-it-works__demo-svg {
    width: 100%;
    max-width: 260px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.7);
    padding: 24px;
    box-sizing: border-box;
  }

  .how-it-works__text {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.35;
    margin: 0;
    max-width: 280px;
  }

  /* Tablet: keep 3 cards in a row but shrink them */
  @media (max-width: 1099px) and (min-width: 750px) {
    .how-it-works__card {
      padding: 32px 16px 24px;
      min-height: 400px;
    }

    .how-it-works__step {
      font-size: 12px;
      padding: 8px 16px;
    }

    .how-it-works__media {
      min-height: 200px;
      margin-bottom: 14px;
    }

    .how-it-works__media img,
    .how-it-works__demo-svg {
      max-height: 240px;
    }

    .how-it-works__text {
      font-size: 15px;
      max-width: 100%;
    }
  }

  /* Phone: stack cards vertically */
  @media (max-width: 749px) {
    .how-it-works__grid {
      grid-template-columns: 1fr;
      max-width: 480px;
      row-gap: 32px;
    }

    .how-it-works__card {
      width: 100%;
      max-width: 480px;
      min-height: auto;
      padding: 36px 24px 28px;
    }

    .how-it-works__heading {
      margin-bottom: 24px;
    }

    .how-it-works__media {
      min-height: 180px;
    }
  }
/* END_SECTION:how-it-works */

/* START_SECTION:main-blog-post (INDEX:36) */
.blog-post-comments-container {
    width: 100%;
    max-width: var(--normal-content-width);
    margin: 0 auto;
  }

  .blog-post-comments {
    display: flex;
    flex-direction: column;
    gap: var(--gap-3xl);
  }

  .blog-post-comment__author {
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
    margin-top: var(--margin-md);
    font-size: var(--font-size--body-sm);
    color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text));
  }

  .blog-post-comments-pagination {
    display: flex;
    justify-content: center;
    gap: var(--gap-2xs);
  }

  .blog-post-comments-pagination,
  .blog-post-comments-pagination a {
    color: var(--color-foreground);
  }

  .blog-post-comments-pagination .current {
    color: var(--color-foreground);
  }

  .blog-post-comments-pagination .current,
  .blog-post-comments-pagination a {
    display: block;
    padding: var(--padding-2xs) var(--padding-xs);
  }

  .blog-post-comments-pagination .current,
  .blog-post-comments-pagination a:hover {
    border-bottom: 1px solid var(--color-foreground);
  }
/* END_SECTION:main-blog-post */

/* START_SECTION:main-blog (INDEX:37) */
/**
   * Blog posts page layout
   */
  .blog-posts {
    --page-content-width: var(--narrow-page-width);
    --page-width: calc(var(--page-content-width) + (var(--page-margin) * 2));
    --columns-gap: 36px;
    --rows-gap: 36px;
  }
  .blog-posts-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
    width: 100%;
    column-gap: var(--columns-gap);
    row-gap: var(--rows-gap);
  }

  /**
   * Apart from the first and second rows in the grid, all remaining blog posts
   * are arranged in a three-column layout:
   * +------------+------------+-------------+
   * |            |            |             |
   * |  (span 2)  |  (span 2)  |  (span 2)   |
   * |            |            |             |
   * +------------+------------+-------------+
   */
  .blog-post-item {
    grid-column: span 2;
    --blog-post-card-scale: 0.6;

    @media screen and (width < 750px) {
      grid-column: span 6;
      --blog-post-card-scale: 0.5;
    }
  }

  /**
   * The second row of blog posts has two columns:
   * +-------------------+-------------------+
   * |                   |                   |
   * |  (column span 3)  |  (column span 3)  |
   * |                   |                   |
   * +-------------------+-------------------+
   */
  .blog-post-item:nth-child(2),
  .blog-post-item:nth-child(3) {
    grid-column: span 3;
    --blog-post-card-scale: 0.8;

    @media screen and (width < 750px) {
      grid-column: span 6;
      --blog-post-card-scale: 0.5;
    }
  }

  /**
   * The first row of blog posts has only one column:
   * +---------------------------------------+
   * |                                       |
   * |           (1 column span 6)           |
   * |                                       |
   * +---------------------------------------+
   */
  .blog-post-item:first-child {
    grid-column: span 6;
    --blog-post-card-scale: 1;
  }

  /**
   * When there's no image, the blog post item has a border.
   */
  .blog-post-item {
    border: 1px solid rgba(from var(--color-foreground) r g b / 0.2);
    padding: 0 1rem 1rem;
  }
  .blog-post-item:has(.blog-post-card__image-container) {
    border: none;
    padding: 0;
  }
/* END_SECTION:main-blog */

/* START_SECTION:main-cart (INDEX:38) */
.cart-page {
    --cart-font-size--2xs: var(--font-size--2xs);
    --cart-font-size--xs: var(--font-size--xs);
    --cart-font-size--sm: var(--font-size--sm);
    --cart-font-size--md: var(--font-size--md);
    --cart-font-size--2xl: var(--font-size--2xl);
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 var(--padding-5xl);
  }
  .cart-page--empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .cart-page--empty .cart-page__title,
  .cart-page--empty .cart-page__more-blocks {
    margin-top: var(--margin-6xl);
  }
  .cart-page__more-blocks { width: 100%; }
  .cart-page--empty .cart-title { text-align: center; }
  .cart-page__main { grid-column: 1; }
  .cart-page__summary { padding-top: var(--padding-xl); }

  @media screen and (width >= 1050px) {
    .cart-page {
      grid-template-columns: 1fr min(50vw, var(--sidebar-width));
      grid-template-rows: min-content min-content 1fr;
    }
    .cart-page__summary {
      display: inline; height: 100%; grid-column: 2; grid-row: 1 / -1;
      align-self: stretch; padding-top: 0; position: relative;
    }
    .section--page-width .cart-page:has(.cart__container--extend) {
      grid-column: 2 / 4;
      grid-template-columns: 1fr minmax(var(--sidebar-width), calc((100vw - var(--page-width)) / 2 + var(--sidebar-width)));
    }
    .cart__container--extend { height: 100%; }
  }
  @media screen and (width >= 1400px) {
    .cart-page { grid-template-columns: 1fr var(--sidebar-width); }
  }
  
  .bricktopia-info-container dl {
    margin: 0;
  }
  .bricktopia-info-row {
    display: flex;
    gap: 8px;
  }
  .bricktopia-info-row dt {
    font-weight: 500;
  }
  .bricktopia-info-row dd {
    margin: 0;
  }

  /* Клікабельні посилання в інфо-рядку */
  .bricktopia-info-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration 0.2s ease;
  }
  .bricktopia-info-link:hover {
    color: #8B4513;
    text-decoration: underline;
  }

  /* Cart row loading state — shown when a custom-builder item lands in the
     cart with price=0 (variant just minted, backend hasn't priced it yet).
     The shimmer + hint replace the harsh "0.00 ГРН" until /cart.js returns
     a real price and we patch it in-place. */
  tr.bt-cart-row--pricing {
    position: relative;
    overflow: hidden;
  }
  tr.bt-cart-row--pricing::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(123, 92, 197, 0.08) 50%,
      transparent 100%
    );
    animation: bt-cart-row-shimmer 1.6s ease-in-out infinite;
    pointer-events: none;
    z-index: 0;
  }
  @keyframes bt-cart-row-shimmer {
    0%   { left: -100%; }
    100% { left: 200%; }
  }
  /* Dim the price cell so the "0.00 ГРН" doesn't read as a real value. */
  tr.bt-cart-row--pricing .cart-items__price,
  tr.bt-cart-row--pricing .cart-items__line-price,
  tr.bt-cart-row--pricing [data-line-price] {
    opacity: 0.4;
    transition: opacity 0.25s ease;
  }
  .bt-cart-row__pricing-hint {
    display: inline-block;
    position: absolute;
    right: 12px;
    bottom: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #7b5cc5;
    background: rgba(255, 255, 255, 0.92);
    padding: 3px 8px;
    border-radius: 10px;
    z-index: 1;
    pointer-events: none;
  }
  .bt-cart-row__pricing-hint::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 5px;
    border: 2px solid #7b5cc5;
    border-top-color: transparent;
    border-radius: 50%;
    vertical-align: middle;
    animation: bt-cart-row-spin 0.8s linear infinite;
  }
  @keyframes bt-cart-row-spin {
    to { transform: rotate(360deg); }
  }

  /* ──────────────────────────────────────────────────────────────────
     Edit confirmation modal — premium card centered over a blurred
     dim backdrop. Fires before redirecting to the constructor when
     the user clicks a cart line.
     ────────────────────────────────────────────────────────────────── */
  .bt-edit-confirm {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    pointer-events: none;
  }
  .bt-edit-confirm.is-open {
    display: flex;
    pointer-events: auto;
  }
  .bt-edit-confirm__overlay {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.55);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity 0.2s ease;
  }
  .bt-edit-confirm.is-open .bt-edit-confirm__overlay {
    opacity: 1;
  }
  .bt-edit-confirm__card {
    position: relative;
    background: #FFFFFF;
    border-radius: 22px;
    padding: 32px 28px 24px;
    max-width: 380px;
    width: 100%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transform: scale(0.92) translateY(16px);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
                opacity 0.2s ease;
    font-family: 'Rubik', sans-serif;
  }
  .bt-edit-confirm.is-open .bt-edit-confirm__card {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
  .bt-edit-confirm__icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(124, 58, 237, 0.1);
    color: #7c3aed;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
  }
  .bt-edit-confirm__icon svg {
    width: 28px;
    height: 28px;
  }
  .bt-edit-confirm__title {
    margin: 0 0 8px;
    font-weight: 800;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: #0A0A0A;
    text-transform: none !important;
  }
  .bt-edit-confirm__subtext {
    margin: 0 0 20px;
    font-size: 14px;
    line-height: 1.45;
    color: #6B6B6B;
  }
  .bt-edit-confirm__actions {
    display: flex;
    gap: 8px;
    flex-direction: column;
  }
  .bt-edit-confirm__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    appearance: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    padding: 13px 20px;
    border-radius: 12px;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease, transform 0.1s ease;
  }
  .bt-edit-confirm__btn--primary {
    background: #7c3aed;
    color: #FFFFFF;
  }
  .bt-edit-confirm__btn--primary:hover {
    background: #6929d6;
  }
  .bt-edit-confirm__btn--primary:active {
    transform: scale(0.98);
  }
  .bt-edit-confirm__btn--secondary {
    background: #F2F2F4;
    color: #1a1a1a;
  }
  .bt-edit-confirm__btn--secondary:hover {
    background: #E5E5EA;
  }
  @media (min-width: 481px) {
    .bt-edit-confirm__actions {
      flex-direction: row-reverse;
    }
    .bt-edit-confirm__btn {
      flex: 1 1 0;
    }
  }
  @media (max-width: 480px) {
    .bt-edit-confirm__card { padding: 28px 22px 20px; border-radius: 18px; }
    .bt-edit-confirm__title { font-size: 18px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .bt-edit-confirm__overlay,
    .bt-edit-confirm__card { transition: none; }
  }
/* END_SECTION:main-cart */

/* START_SECTION:main-collection-bricktopia (INDEX:39) */
.bt-coll { display: block; box-sizing: border-box; }
  .bt-coll *, .bt-coll *::before, .bt-coll *::after { box-sizing: border-box; }

  .bt-coll__wrap {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin: 0 auto;
  }

  /* Top bar */
  .bt-coll__topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
  }
  .bt-coll__count {
    font-family: 'Rubik', sans-serif;
    font-size: 14px;
    color: var(--bt-coll-muted, #777);
  }
  .bt-coll__sortform {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .bt-coll__sort-label {
    font-size: 14px;
    color: var(--bt-coll-muted, #777);
  }
  .bt-coll__sort-select {
    font-family: 'Rubik', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--bt-coll-title-color, #67361C);
    background: transparent;
    border: 0;
    padding: 6px 28px 6px 6px;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2367361C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: right 6px center;
  }
  .bt-coll__filter-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    background: var(--bt-coll-card-bg, #fff);
    color: var(--bt-coll-title-color, #67361C);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 100px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }

  /* Body grid */
  .bt-coll__body {
    display: grid;
    grid-template-columns: var(--bt-coll-sidebar-w, 360px) 1fr;
    gap: var(--bt-coll-gap, 30px);
    align-items: start;
  }
  .bt-coll__body--no-sidebar { grid-template-columns: 1fr; }

  /* Sidebar */
  .bt-coll__sidebar {
    position: sticky;
    top: 20px;
  }
  .bt-coll__filters {
    background: var(--bt-coll-card-bg, #fff);
    border-radius: var(--bt-coll-card-radius, 35px);
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 0;
    font-family: 'Rubik', sans-serif;
  }
  .bt-coll__filters * { font-family: inherit; }
  .bt-coll__filters-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 26px;
    color: var(--bt-coll-title-color, #67361C);
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    letter-spacing: -0.02em;
  }
  .bt-coll__close-sidebar {
    display: none;
    background: transparent;
    border: 0;
    color: currentColor;
    cursor: pointer;
    padding: 4px;
  }
  .bt-coll__filter-group {
    padding: 16px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .bt-coll__filter-group:last-of-type { border-bottom: 0; }
  .bt-coll__filter-title {
    font-family: 'Rubik', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bt-coll-title-color, #67361C);
    margin: 0 0 14px;
  }
  .bt-coll__filter-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bt-coll__check {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 16px;
    color: var(--bt-coll-title-color, #67361C);
    user-select: none;
  }
  .bt-coll__check.is-disabled { opacity: 0.4; cursor: not-allowed; }
  .bt-coll__check input { position: absolute; opacity: 0; pointer-events: none; }
  .bt-coll__check-box {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bt-coll-title-color, #67361C);
    flex-shrink: 0;
    background: transparent;
    transition: background 0.15s;
  }
  .bt-coll__check-box svg { display: none; }
  .bt-coll__check.is-active .bt-coll__check-box {
    background: var(--bt-coll-check-bg, #dfdf53);
    border-color: var(--bt-coll-check-bg, #dfdf53);
  }
  .bt-coll__check.is-active .bt-coll__check-box svg { display: block; }

  /* Swatches */
  .bt-coll__swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .bt-coll__swatch {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.12);
    cursor: pointer;
    padding: 5px;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
  }
  .bt-coll__swatch input { position: absolute; opacity: 0; pointer-events: none; }
  .bt-coll__swatch-dot {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: block;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
  }
  .bt-coll__swatch.is-active {
    border-color: var(--bt-coll-title-color, #67361C);
    box-shadow: 0 0 0 1px var(--bt-coll-title-color, #67361C);
  }
  .bt-coll__swatch:hover { transform: scale(1.08); }

  /* Price filter */
  .bt-coll__price { display: flex; gap: 10px; }
  .bt-coll__price label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--bt-coll-muted, #777); flex: 1; }
  .bt-coll__price input {
    font-family: 'Rubik', sans-serif;
    font-size: 15px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    width: 100%;
    color: var(--bt-coll-title-color, #67361C);
    background: transparent;
  }

  .bt-coll__filter-actions {
    padding-top: 16px;
    margin-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
  .bt-coll__reset {
    font-size: 14px;
    color: var(--bt-coll-muted, #777);
    text-decoration: underline;
  }

  /* Overlay for mobile sidebar */
  .bt-coll__overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 998;
  }
  .bt-coll.is-filter-open .bt-coll__overlay { display: block; }

  /* Product grid */
  .bt-coll__grid {
    display: grid;
    gap: var(--bt-coll-gap, 20px);
    grid-template-columns: repeat(var(--bt-coll-cols, 3), minmax(0, 1fr));
  }
  .bt-coll__grid[data-grid-cols="2"] { --bt-coll-cols: 2; }
  .bt-coll__grid[data-grid-cols="3"] { --bt-coll-cols: 3; }
  .bt-coll__grid[data-grid-cols="4"] { --bt-coll-cols: 4; }
  .bt-coll__grid[data-grid-cols="5"] { --bt-coll-cols: 5; }

  .bt-coll__card {
    background: var(--bt-coll-card-bg, #fff);
    border-radius: var(--bt-coll-card-radius, 35px);
    padding: 30px 30px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
  }
  .bt-coll__card-link {
    display: block;
    text-decoration: none;
    color: inherit;
  }
  .bt-coll__card-imgwrap {
    background: var(--bt-coll-img-bg, #f8f8f8);
    border-radius: var(--bt-coll-img-radius, 30px);
    aspect-ratio: 1;
    overflow: hidden;
    margin-bottom: 10px;
    position: relative;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
  }
  .bt-coll__card-imgwrap svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10%;
  }
  .bt-coll__card-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10%;
    opacity: 0;
    transition: opacity 0.4s ease;
  }
  .bt-coll__card-img.is-active { opacity: 1; }

  .bt-coll__card-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    border: 0;
    color: var(--bt-coll-title-color, #67361C);
    cursor: pointer;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.2s, background 0.2s, transform 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .bt-coll__card-arrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
  }
  .bt-coll__card-arrow--prev { left: 10px; }
  .bt-coll__card-arrow--next { right: 10px; }
  .bt-coll__card-arrow--prev::before { transform: rotate(-135deg); margin-left: 3px; }
  .bt-coll__card-arrow--next::before { transform: rotate(45deg); margin-right: 3px; }
  .bt-coll__card:hover .bt-coll__card-arrow { opacity: 1; }
  .bt-coll__card-arrow:hover { background: #fff; }
  .bt-coll__card-arrow--prev:hover { transform: translateY(-50%) translateX(-2px); }
  .bt-coll__card-arrow--next:hover { transform: translateY(-50%) translateX(2px); }
  @media (hover: none) {
    .bt-coll__card-arrow { display: none; }
  }

  .bt-coll__card-dots {
    display: flex;
    gap: 6px;
    justify-content: center;
    margin: -2px 0 8px;
    flex-wrap: wrap;
  }
  .bt-coll__card-dot-btn {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.18);
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
  }
  .bt-coll__card-dot-btn:hover { background: rgba(0, 0, 0, 0.35); }
  .bt-coll__card-dot-btn.is-active {
    background: var(--bt-coll-title-color, #67361C);
    transform: scale(1.35);
  }
  .bt-coll__card-vendor {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 14px;
    letter-spacing: -0.01em;
    color: var(--bt-coll-vendor-color, #e40b2f);
    margin: 0;
  }
  .bt-coll__card-title {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--bt-coll-title-color, #67361C);
    text-decoration: none;
    overflow-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .bt-coll__card-variant {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: var(--bt-coll-title-color, #67361C);
  }
  .bt-coll__card-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
    flex-shrink: 0;
  }
  .bt-coll__card-price {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: var(--bt-coll-title-color, #67361C);
  }

  .bt-coll__addform {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 8px;
  }
  .bt-coll__qty {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .bt-coll__qty-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #f8f8f8;
    border: 0;
    color: var(--bt-coll-title-color, #67361C);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
    transition: background 0.15s;
  }
  .bt-coll__qty-btn:hover { background: #eee; }
  .bt-coll__qty-btn::before,
  .bt-coll__qty-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    border-radius: 2px;
    pointer-events: none;
  }
  .bt-coll__qty-btn::before {
    width: 14px;
    height: 2.2px;
    transform: translate(-50%, -50%);
  }
  .bt-coll__qty-btn--plus::after {
    width: 2.2px;
    height: 14px;
    transform: translate(-50%, -50%);
  }
  .bt-coll__qty-btn--minus::after { display: none; }
  .bt-coll__qty-val {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: var(--bt-coll-title-color, #67361C);
    min-width: 28px;
    text-align: center;
  }
  .bt-coll__cart-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--bt-coll-accent, #fa5800);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='white'><path fill-rule='evenodd' clip-rule='evenodd' d='M8.25 6.75a3.75 3.75 0 1 1 7.5 0v1.5h1.75c1.52 0 2.76 1.19 2.85 2.7l.48 8.9A3 3 0 0 1 17.83 23H6.17a3 3 0 0 1-2.99-3.15l.48-8.9A2.85 2.85 0 0 1 6.5 8.25h1.75v-1.5ZM9.75 8.25h4.5v-1.5a2.25 2.25 0 0 0-4.5 0v1.5Z'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
    color: #fff;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color 0.15s, transform 0.15s;
    flex-shrink: 0;
  }
  .bt-coll__cart-btn:hover:not(:disabled) {
    background-color: #e65000;
    transform: translateY(-2px);
  }
  .bt-coll__cart-btn:disabled { opacity: 0.4; cursor: not-allowed; }
  .bt-coll__cart-btn.is-loading {
    pointer-events: none;
    opacity: 0.6;
  }
  .bt-coll__cart-btn.is-success {
    background-color: #2bb673;
  }

  /* View-product button (for products that require full page: multi-option, custom, etc.) */
  .bt-coll__view-row {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
  }
  .bt-coll__view-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--bt-coll-accent, #fa5800);
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
    display: inline-flex;
    transition: background-color 0.15s, transform 0.15s;
    text-decoration: none;
    flex-shrink: 0;
  }
  .bt-coll__view-btn:hover {
    background-color: #e65000;
    transform: translateY(-2px);
  }

  /* Fly-to-cart animation */
  .bt-cart-fly {
    position: fixed;
    z-index: 9999;
    pointer-events: none;
    border-radius: 20px;
    background: var(--bt-coll-img-bg, #f8f8f8);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
    transform-origin: top left;
    will-change: transform, opacity;
    transition: transform 0.85s cubic-bezier(0.55, -0.2, 0.7, 0.2), opacity 0.85s ease-in;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-cart-fly img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8%;
    display: block;
  }
  .bt-cart-fly.is-flying { opacity: 0; }

  @keyframes bt-cart-bounce {
    0%,100% { transform: scale(1); }
    25% { transform: scale(1.18) rotate(-6deg); }
    60% { transform: scale(0.92) rotate(4deg); }
  }
  .bt-cart-target-bounce { animation: bt-cart-bounce 0.55s ease; }

  /* Empty state */
  .bt-coll__empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
    color: var(--bt-coll-muted, #777);
  }

  /* Empty-state notify-me form */
  .bt-coll__empty-notify {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    padding: 20px 0;
  }
  .bt-coll__notify-card {
    width: 100%;
    max-width: 640px;
    padding: clamp(28px, 4vw, 48px);
    background: var(--bt-coll-card-bg, #ffffff);
    border-radius: var(--bt-coll-card-radius, 24px);
    text-align: center;
    box-shadow: 0 8px 28px -12px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .bt-coll__notify-eyebrow {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bt-coll-accent, #fa5800);
  }
  .bt-coll__notify-heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(22px, 2.5vw, 30px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-coll-title-color, #1e1310);
  }
  .bt-coll__notify-desc {
    font-size: 15px;
    line-height: 1.5;
    color: var(--bt-coll-muted, #67361C);
    margin: 0 auto;
    max-width: 480px;
  }
  .bt-coll__notify-desc p { margin: 0 0 0.5em; }
  .bt-coll__notify-desc p:last-child { margin-bottom: 0; }

  .bt-coll__notify-form {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .bt-coll__notify-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
  }
  .bt-coll__notify-input {
    flex: 1 1 200px;
    min-width: 0;
    height: 50px;
    min-height: 50px;
    max-height: 50px;
    padding: 0 18px;
    border: 1.5px solid rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    background: #fff;
    color: inherit;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.4;
    transition: border-color 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    display: block;
  }
  .bt-coll__notify-input:focus {
    outline: none;
    border-color: var(--bt-coll-accent, #fa5800);
  }
  .bt-coll__notify-input::placeholder { color: rgba(0, 0, 0, 0.4); }

  .bt-coll__notify-btn {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    background: var(--bt-coll-accent, #fa5800);
    color: #fff;
    border: none;
    border-radius: 100px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.12s ease;
    appearance: none;
    -webkit-appearance: none;
    white-space: nowrap;
  }
  .bt-coll__notify-btn:hover {
    background: var(--bt-coll-accent-hover, #e65000);
    transform: translateY(-1px);
  }
  .bt-coll__notify-btn:disabled {
    opacity: 0.7;
    cursor: progress;
    transform: none;
  }

  .bt-coll__notify-success {
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.4;
    background: rgba(43, 182, 115, 0.12);
    color: #1f7a4d;
    border: 1px solid rgba(43, 182, 115, 0.3);
  }
  .bt-coll__notify-error {
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.4;
    background: rgba(213, 72, 72, 0.1);
    color: #b03434;
    border: 1px solid rgba(213, 72, 72, 0.25);
  }
  .bt-coll__notify-error ul { margin: 0; padding-left: 18px; text-align: left; }

  @media (max-width: 749px) {
    .bt-coll__notify-card {
      padding: 24px 20px;
      gap: 12px;
    }
    .bt-coll__notify-fields {
      flex-direction: column;
      gap: 10px;
    }
    .bt-coll__notify-btn { width: 100%; padding: 14px 20px; }
    .bt-coll__notify-input { font-size: 16px; }
  }

  /* Pagination */
  .bt-coll__pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 40px;
    flex-wrap: wrap;
  }
  .bt-coll__page-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bt-coll-card-bg, #fff);
    color: var(--bt-coll-title-color, #67361C);
    border: 1px solid rgba(0, 0, 0, 0.08);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.15s;
  }
  .bt-coll__page-btn:hover { background: rgba(0, 0, 0, 0.04); }
  .bt-coll__page-btn.is-current {
    background: var(--bt-coll-accent, #fa5800);
    color: #fff;
    border-color: transparent;
  }
  .bt-coll__page-btn.is-dots { border: 0; background: transparent; }

  /* Responsive */
  @media (max-width: 989px) {
    .bt-coll__body { grid-template-columns: 1fr; }
    .bt-coll__grid[data-grid-cols="4"],
    .bt-coll__grid[data-grid-cols="5"] { --bt-coll-cols: 3; }
    .bt-coll__filter-toggle { display: inline-flex; }
    .bt-coll__sidebar {
      position: fixed;
      inset: 0 auto 0 0;
      width: min(380px, 90vw);
      z-index: 999;
      overflow-y: auto;
      transform: translateX(-100%);
      transition: transform 0.3s;
      padding: 20px;
      top: 0;
    }
    .bt-coll.is-filter-open .bt-coll__sidebar { transform: translateX(0); }
    .bt-coll__filters { border-radius: 0; min-height: 100%; }
    .bt-coll__close-sidebar { display: inline-flex; }
  }
  @media (max-width: 749px) {
    .bt-coll__grid,
    .bt-coll__grid[data-grid-cols="2"],
    .bt-coll__grid[data-grid-cols="3"],
    .bt-coll__grid[data-grid-cols="4"],
    .bt-coll__grid[data-grid-cols="5"] { --bt-coll-cols: var(--bt-coll-cols-m, 1); }
    .bt-coll__card { padding: 18px 18px 16px; border-radius: 24px; }
    .bt-coll__card-imgwrap { border-radius: 18px; }
    .bt-coll__card-title { font-size: 16px; }
    .bt-coll__card-variant { font-size: 13px; }
    .bt-coll__card-vendor { font-size: 12px; }
    .bt-coll__qty-btn { width: 34px; height: 34px; }
    .bt-coll__cart-btn { width: 44px; height: 44px; }
    .bt-coll__filters { padding: 20px; }
    .bt-coll__topbar { margin-bottom: 14px; }
    .bt-coll__sort-label { display: none; }
  }
/* END_SECTION:main-collection-bricktopia */

/* START_SECTION:main-collection (INDEX:40) */
.main-collection-grid {
    grid-column: var(--grid-column--mobile);
    @media screen and (width >= 750px) {
      grid-column: var(--grid-column--desktop);
    }
  }

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

  .collection-wrapper:has(.facets-block-wrapper--full-width),
  .collection-wrapper:has(.collection-wrapper--full-width) {
    @media screen and (width >= 750px) {
      grid-column: 1 / -1;
      grid-template-columns:
        minmax(var(--page-margin), 1fr) repeat(
          var(--centered-column-number),
          minmax(0, calc((var(--page-width) - var(--page-margin) * 2) / var(--centered-column-number)))
        )
        minmax(var(--page-margin), 1fr);
    }
  }

  .collection-wrapper:has(.facets--vertical) .main-collection-grid {
    @media screen and (width >= 750px) {
      grid-column: var(--facets-vertical-col-width) / var(--full-width-column-number);
    }
  }

  .collection-wrapper:has(.facets-block-wrapper--vertical:not(#filters-drawer)):has(.collection-wrapper--full-width) {
    @media screen and (width >= 750px) {
      grid-column: 1 / -1;
      grid-template-columns: 0fr repeat(var(--centered-column-number), minmax(0, 1fr)) 0fr;
    }
  }

  :is(.collection-wrapper--full-width, .collection-wrapper--full-width-on-mobile)
    [product-grid-view='default']
    .product-grid__item
    .group-block {
    @media screen and (width < 750px) {
      padding-inline-start: max(var(--padding-xs), var(--padding-inline-start));
      padding-inline-end: max(var(--padding-xs), var(--padding-inline-end));
    }
  }

  :is(.collection-wrapper--full-width, .collection-wrapper--full-width-on-mobile)
    [product-grid-view='mobile-single']
    .product-grid__item
    .group-block {
    @media screen and (width < 750px) {
      padding-inline-start: max(var(--padding-xs), var(--padding-inline-start));
      padding-inline-end: max(var(--padding-xs), var(--padding-inline-end));
    }
  }
/* END_SECTION:main-collection */

/* START_SECTION:marquee (INDEX:42) */
marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
  }

  .marquee__wrapper {
    display: flex;
    gap: var(--marquee-gap);
    width: fit-content;
    white-space: nowrap;
  }

  .marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
  }

  .marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
  }

  .marquee__content .marquee__repeated-items * {
    max-width: none;
  }

  .marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
  }

  .marquee__repeated-items > * {
    align-content: center;
  }

  @media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
      animation: marquee-motion var(--marquee-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes marquee-motion {
    to {
      transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
  }
/* END_SECTION:marquee */

/* START_SECTION:media-with-content (INDEX:43) */
.section--page-width {
    &.media-with-content {
      grid-template-areas: 'margin-left media margin-right' 'margin-left content margin-right';
      @media screen and (width >= 750px) {
        grid-template-areas: 'margin-left media content margin-right';
        /* Wide proportion is media 3.5 parts, content 2.5 parts. Which equals 7|5. So divide the central column by 7+5 and multiply accordingly */
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          calc((var(--full-page-grid-central-column-width) / 12) * 7)
          calc((var(--full-page-grid-central-column-width) / 12) * 5) var(--full-page-grid-margin);
      }
    }

    &.media-with-content--media-right {
      @media screen and (width >= 750px) {
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          calc((var(--full-page-grid-central-column-width) / 12) * 5)
          calc((var(--full-page-grid-central-column-width) / 12) * 7) var(--full-page-grid-margin);
        grid-template-areas: 'margin-left content media margin-right';
      }
    }

    &.media-with-content--medium {
      @media screen and (width >= 750px) {
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          repeat(2, calc(var(--full-page-grid-central-column-width) / 2)) var(--full-page-grid-margin);
      }
    }

    &.media-with-content--narrow.media-with-content--media-right {
      @media screen and (width >= 750px) {
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          calc((var(--full-page-grid-central-column-width) / 3) * 2)
          calc(var(--full-page-grid-central-column-width) / 3) var(--full-page-grid-margin);
      }
    }

    &.media-with-content--narrow {
      @media screen and (width >= 750px) {
        --media-with-content-grid-columns: var(--full-page-grid-margin)
          calc(var(--full-page-grid-central-column-width) / 3)
          calc((var(--full-page-grid-central-column-width) / 3) * 2) var(--full-page-grid-margin);
      }
    }
  }

  .section--full-width {
    &.media-with-content--media-right {
      @media screen and (width >= 750px) {
        --media-with-content-grid-columns: 2.5fr 3.5fr;
        grid-template-areas: 'content media';
      }
    }

    &.media-with-content--medium {
      @media screen and (width >= 750px) {
        --media-with-content-grid-columns: 1fr 1fr;
      }
    }

    &.media-with-content--narrow {
      @media screen and (width >= 750px) {
        --media-with-content-grid-columns: 2fr 4fr;
      }
    }

    &.media-with-content--narrow.media-with-content--media-right {
      @media screen and (width >= 750px) {
        --media-with-content-grid-columns: 4fr 2fr;
      }
    }
  }

  /* Keep the CSS specificity lower assuming that liquid won't assign this class with a full width section */
  .media-with-content.media-with-content--media-extend {
    grid-template-columns: var(--media-with-content-grid-columns);
    grid-template-areas: 'media media media' 'margin-left content margin-right';

    @media screen and (width >= 750px) {
      grid-template-areas: 'media media content margin-right';
    }
  }

  .media-with-content--media-extend.media-with-content--media-right {
    @media screen and (width >= 750px) {
      grid-template-areas: 'margin-left content media media';
    }
  }

  .media-with-content--media-right {
    @media screen and (width >= 750px) {
      grid-template-areas: 'margin-left content media media';
    }
  }

  .media-with-content {
    --media-with-content-grid-columns: var(--full-page-grid-with-margins);

    grid-template-columns: var(--media-with-content-grid-columns);
    grid-template-areas: 'media media media' 'content content content';

    @media screen and (width >= 750px) {
      /* Default desktop layout is wide media, on the left, in full page section */
      grid-template-areas: 'media content';
      --media-with-content-grid-columns: 3.5fr 2.5fr;
    }

    .media-block {
      grid-area: media;
    }

    .media-with-content__content {
      grid-area: content;
    }

    /* Inner blocks spacing */
    .media-with-content__content > .group-block-content {
      padding-inline: var(--page-margin);
      padding-block: calc(2 * var(--page-margin));

      @media screen and (width >= 750px) {
        padding-block: var(--page-margin);
      }
    }

    &.section--page-width .media-with-content__content > .group-block-content {
      padding-inline: 0;

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

    &.section--page-width.media-with-content--media-right .media-with-content__content > .group-block-content {
      padding-inline-end: var(--page-margin);
      padding-inline-start: 0;
    }
  }

  .media-with-content[data-shopify-visual-preview] {
    --hero-min-height: 500px;
    min-height: 500px;
  }
/* END_SECTION:media-with-content */

/* START_SECTION:notify-me (INDEX:44) */
.bt-notify {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-notify *, .bt-notify *::before, .bt-notify *::after { box-sizing: border-box; }
  .bt-notify[style*="--bt-notify-section-bg"] { background: var(--bt-notify-section-bg); }

  .bt-notify__inner {
    display: grid;
    gap: 40px;
    align-items: center;
    max-width: min(var(--bt-notify-max-width, 1200px), calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px)));
    margin: 0 auto;
    padding: clamp(28px, 4vw, 56px);
    background: var(--bt-notify-card-bg, var(--color-background, #f7f4ef));
    color: var(--bt-notify-text-color, var(--color-foreground, #3a3230));
    border-radius: var(--bt-notify-radius, 24px);
  }
  .bt-notify__inner--layout-split {
    grid-template-columns: 1fr 1fr;
  }
  .bt-notify__inner--layout-stack {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .bt-notify__inner--layout-stack .bt-notify__form-wrap { max-width: 520px; margin: 0 auto; width: 100%; }

  .bt-notify__text {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .bt-notify__eyebrow {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bt-notify-accent, #fa5800);
  }
  .bt-notify__heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--bt-notify-heading-color, var(--color-foreground, #1e1310));
  }
  .bt-notify__description {
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    color: inherit;
  }
  .bt-notify__description p { margin: 0 0 0.6em; }
  .bt-notify__description p:last-child { margin-bottom: 0; }
  .bt-notify__perks {
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.5;
  }
  .bt-notify__perks ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .bt-notify__perks li {
    position: relative;
    padding-left: 22px;
  }
  .bt-notify__perks li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--bt-notify-accent, #fa5800);
    font-weight: 700;
  }

  .bt-notify__form-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .bt-notify__form {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .bt-notify__fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bt-notify__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
  .bt-notify__label {
    font-size: 13px;
    font-weight: 500;
    color: inherit;
    opacity: 0.85;
  }
  .bt-notify__input {
    width: 100%;
    padding: 14px 18px;
    border: 1.5px solid rgba(0, 0, 0, 0.12);
    border-radius: var(--bt-notify-input-radius, 12px);
    background: rgba(255, 255, 255, 0.6);
    color: inherit;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.4;
    transition: border-color 0.15s ease, background 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-notify__input:hover { background: rgba(255, 255, 255, 0.8); }
  .bt-notify__input:focus {
    outline: none;
    border-color: var(--bt-notify-accent, #fa5800);
    background: #ffffff;
  }
  .bt-notify__input::placeholder { color: rgba(0, 0, 0, 0.4); }
  .bt-notify__input:invalid:not(:placeholder-shown) {
    border-color: #d54848;
  }

  .bt-notify__consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.4;
    color: inherit;
    cursor: pointer;
    user-select: none;
  }
  .bt-notify__consent input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: var(--bt-notify-accent, #fa5800);
    cursor: pointer;
  }

  .bt-notify__submit {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 30px;
    background: var(--bt-notify-accent, #fa5800);
    color: var(--bt-notify-accent-text, #ffffff);
    border: none;
    border-radius: var(--bt-notify-btn-radius, 50px);
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.12s ease;
    appearance: none;
    -webkit-appearance: none;
    margin-top: 4px;
  }
  .bt-notify__submit:hover {
    background: var(--bt-notify-accent-hover, #e65000);
    transform: translateY(-1px);
  }
  .bt-notify__submit:disabled {
    opacity: 0.7;
    cursor: progress;
    transform: none;
  }
  .bt-notify__submit.is-loading .bt-notify__submit-label { opacity: 0.6; }
  .bt-notify__submit-loader {
    display: none;
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: bt-notify-spin 0.7s linear infinite;
  }
  .bt-notify__submit.is-loading .bt-notify__submit-loader { display: inline-block; }
  @keyframes bt-notify-spin { to { transform: rotate(360deg); } }

  .bt-notify__msg {
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.4;
    margin-top: 4px;
  }
  .bt-notify__msg--success {
    background: rgba(43, 182, 115, 0.12);
    color: #1f7a4d;
    border: 1px solid rgba(43, 182, 115, 0.3);
  }
  .bt-notify__msg--error {
    background: rgba(213, 72, 72, 0.1);
    color: #b03434;
    border: 1px solid rgba(213, 72, 72, 0.25);
  }
  .bt-notify__msg--error ul { margin: 0; padding-left: 18px; }

  .bt-notify__legal {
    font-size: 12px;
    line-height: 1.5;
    color: inherit;
    opacity: 0.7;
  }
  .bt-notify__legal a { color: inherit; text-underline-offset: 2px; }

  /* Responsive */
  @media (max-width: 989px) {
    .bt-notify__inner {
      gap: 28px;
    }
    .bt-notify__inner--layout-split {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 749px) {
    .bt-notify__inner {
      padding: 24px 20px;
      gap: 22px;
    }
    .bt-notify__heading { font-size: 22px; }
    .bt-notify__input { padding: 12px 14px; font-size: 16px; }
    .bt-notify__submit { padding: 14px 24px; }
  }
/* END_SECTION:notify-me */

/* START_SECTION:password (INDEX:45) */
.section--password {
    --section-min-height: calc(100svh - 8rem);
  }

  .password-enter {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-sm);
    padding-block: var(--padding-xl);
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: var(--layer-overlay);
  }

  .password-enter__powered-by {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--padding-xs);
    height: 1em;

    a {
      display: flex;
    }

    svg {
      display: inline;
      height: 1.3em;
      color: var(--color-foreground);
    }
  }

  .password-enter__links {
    display: flex;
    align-items: center;
    gap: var(--gap-2xl);

    @media screen and (width < 750px) {
      flex-direction: column;
      gap: var(--gap-sm);
    }
  }

  .password-enter__admin-link {
    margin: 0;
  }

  /* Adjust padding when preview bar is present to ensure button visibility */
  body:has(#PBarNextFrameWrapper) .password-enter {
    padding-bottom: var(--padding-6xl);
  }

  .password-enter__button {
    height: var(--minimum-touch-target);
    background-color: transparent;
    color: var(--color-primary);
    cursor: pointer;
    text-decoration: underline;

    &:hover {
      color: var(--color-primary-hover);
      text-decoration: none;
    }
  }

  .password-dialog {
    max-width: 100vw;
    max-height: 100svh;
    width: 100vw;
    height: 100svh;
    border: none;
    transition: opacity var(--animation-values), display var(--animation-speed) allow-discrete,
      overlay var(--animation-speed) allow-discrete;

    &::backdrop {
      display: none;
    }
  }

  .password-dialog[open] {
    opacity: 1;
    top: 0;
    left: 0;
  }

  @starting-style {
    .password-dialog[open] {
      opacity: 0;
    }
  }

  .password-dialog:not([open]) {
    opacity: 0;
  }

  @starting-style {
    .password-dialog:not([open]) {
      opacity: 1;
    }
  }

  .password-dialog__close-button {
    cursor: pointer;
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
  }

  .password-dialog__header {
    position: absolute;
    top: 0;
    right: 0;
    padding: var(--padding-lg);
    z-index: var(--layer-raised);
  }

  .password-dialog__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: var(--padding-lg);
    height: 100%;
    transition: transform var(--animation-values);
  }

  .password-dialog__content .email-signup__message {
    padding-block-start: var(--padding-xl);
  }

  .password-dialog[open] .password-dialog__content {
    transform: translateY(0);
  }

  @starting-style {
    .password-dialog[open] .password-dialog__content {
      transform: translateY(1em);
    }
  }

  .password-dialog:not([open]) .password-dialog__content {
    transform: translateY(1em);
  }

  @starting-style {
    .password-dialog:not([open]) .password-dialog__content {
      transform: translateY(0);
    }
  }

  .storefront-password-form {
    max-width: 400px;
    width: 100%;
  }

  .email-signup__input-group,
  .password-dialog__submit-button {
    width: 100%;

    @media screen and (width >= 750px) {
      width: auto;
    }
  }
/* END_SECTION:password */

/* START_SECTION:predictive-search (INDEX:47) */
predictive-search-component {
    --resource-card-corner-radius: var(--product-corner-radius);
    display: flex;
    width: 100%;
    position: relative;
    margin-inline: auto;
    align-items: center;
    background-color: var(--color-background);
    z-index: var(--layer-heightened);
  }

  .predictive-search-dropdown {
    display: flex;
    flex-direction: column;
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--layer-base);
  }

  :not(:is(dialog)) > predictive-search-component {
    @media screen and (width >= 750px) {
      max-width: min(40dvw, 650px);
    }
  }

  :not(:is(dialog)) > predictive-search-component .predictive-search__close-modal-button {
    display: none;
  }

  .search-action .predictive-search {
    z-index: calc(var(--layer-header-menu) + 2);
  }

  .search-action .search-modal .predictive-search {
    z-index: var(--layer-window-overlay);
  }

  .predictive-search--right {
    margin-right: 0;
    margin-left: auto;
  }

  .predictive-search--left {
    margin-right: auto;
    margin-left: 0;
  }

  :not(:is(dialog)) > predictive-search-component.predictive-search--floating {
    width: min(40dvw, 650px);
    position: absolute;
    top: var(--search-top, unset);
    right: var(--search-right, unset);
    left: var(--search-left, unset);
  }

  .predictive-search-form {
    position: relative;
    width: 100%;
    align-self: flex-start;
  }

  .predictive-search-form__content-wrapper {
    position: absolute;
    top: 100%;
    width: 100%;
    left: 0;
    z-index: var(--layer-raised);
    display: flex;
    flex-direction: column;
    border-radius: 0 0 var(--search-border-radius) var(--search-border-radius);
    box-shadow: var(--shadow-popover);
    transition: box-shadow var(--animation-speed) var(--animation-easing);
    clip-path: inset(0 -100px -100px -100px);
    transform: translateZ(0);
    will-change: transform, opacity;

    overflow: hidden;

    @media screen and (width < 750px) {
      border-radius: 0;
    }

    @media screen and (width >= 750px) {
      max-height: var(--modal-max-height);
      height: var(--predictive-search-results-height, auto);
    }
  }

  /* Add new rule to apply bottom padding only when search button exists */
  .predictive-search-form__content-wrapper:has([data-search-results]):not(:has(.predictive-search-results__no-results))
    > .predictive-search-form__content {
    padding-block-end: var(--padding-6xl);
  }

  .header__column--right .predictive-search-form__content-wrapper {
    right: 0;
    left: unset;
  }

  .search-modal .predictive-search-form__content-wrapper {
    width: 100%;
  }

  :not(:is(dialog))
    > predictive-search-component:not(.predictive-search--expanded)
    .predictive-search-form__content-wrapper {
    display: none;
  }

  .predictive-search-form__header-inner:has(.search-input:focus-visible) {
    outline: var(--focus-outline-width) solid var(--color-foreground);
    outline-offset: calc(var(--focus-outline-offset) * -1);
  }

  .predictive-search-results__inner {
    --title-font-size: var(--font-size--md);
    --title-margin-block: var(--margin-xs);
    --list-item-padding-block: var(--padding-sm);
    flex-grow: 1;
    overflow-y: auto;
    padding-block: var(--padding-lg);
    container-type: inline-size;
    color: var(--color-foreground);
  }

  .predictive-search-results__inner > * {
    padding-inline: var(--padding-xl);
  }

  .predictive-search-results__list {
    --slide-width: 27.5%;
    --slideshow-gap: var(--gap-md);

    /* Make space for the outline to be visible */
    padding-block-start: var(--border-width-sm);
  }

  .predictive-search-results__list:last-child {
    margin-block-end: 0;
  }

  .predictive-search-results__resource-header {
    display: flex;
    padding-inline: var(--padding-xl);
    justify-content: space-between;
    align-items: center;
    height: 32px;
  }

  .predictive-search-results__resource-header .svg-wrapper {
    width: var(--icon-size-xs);
  }

  .predictive-search-results__list-item {
    padding-inline: var(--padding-sm);
    padding-block: var(--list-item-padding-block);
    border-radius: var(--style-border-radius-popover);
    scroll-margin-block: var(--padding-xl);

    &:first-child {
      /* scroll-margin to match font + padding + margin on .predictive-search-results__title */
      scroll-margin-block-start: calc(
        var(--title-font-size) + var(--title-margin-block) + var(--list-item-padding-block)
      );
    }

    &:not(:has(.predictive-search-results__list-item-link--pill))[aria-selected='true'].keyboard-focus {
      background-color: rgba(from var(--color-primary) r g b / 20%);
      transform: translateY(0);
    }
  }

  .predictive-search-results__list-item:has(.predictive-search-results__list-item-link--pill) {
    width: fit-content;
    padding: 0;
  }

  .predictive-search-results__list-item-link {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column-gap: var(--gap-xl);
    align-items: center;
  }

  .predictive-search-results__list-item-link--pill {
    display: block;
    padding: var(--padding-2xs) var(--padding-sm);
  }

  .predictive-search-results__list-item[aria-selected='true'] .predictive-search-results__list-item-link--pill {
    background-color: rgba(from var(--color-primary) r g b / 20%);
  }

  .predictive-search-results__list-item-link--no-media {
    grid-template-columns: 1fr;
  }

  .predictive-search-results__list-item-image,
  .predictive-search-results__list-item-icon {
    width: 100%;
    border-radius: var(--product-corner-radius);
    background-color: rgb(from var(--color-primary) r g b / 20%);
    margin: auto;
    object-fit: cover;
  }

  .predictive-search-results__list-item-details {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    overflow: hidden;
  }

  .predictive-search-results__list-item-content {
    font-size: var(--font-size-xs);
    color: rgba(from var(--color-primary) r g b / var(--opacity-subdued-text));
    text-overflow: ellipsis;
    overflow: hidden;
    text-wrap: nowrap;
  }

  .header[transparent] :is(.predictive-search):not(:focus-within) {
    background-color: transparent;
  }

  .header[transparent] .predictive-search-form__header-inner {
    border-color: var(--color-foreground);
  }

  .predictive-search-form__header .search-input {
    border-radius: var(--style-border-radius-inputs);
    padding-block: var(--padding-sm);
    font-size: var(--font-size--md);

    &:hover {
      background-color: transparent;
    }
  }

  .predictive-search__icon {
    position: absolute;
    left: var(--margin-xl);
    top: auto;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    color: rgb(from var(--color-foreground) r g b / 60%);

    @media screen and (width >= 750px) {
      left: var(--margin-md);
    }
  }

  .predictive-search__icon > svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .predictive-search__reset-button {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    padding: 0;
    background: transparent;
    color: var(--color-foreground);
    opacity: 1;
    transition: opacity var(--animation-speed) var(--animation-easing),
      visibility var(--animation-speed) var(--animation-easing);

    &:hover {
      color: var(--color-foreground);
    }

    &:active {
      transform: scale(0.9);
      transition: transform 100ms var(--animation-timing-active);
    }

    @media screen and (width < 750px) {
      margin-right: var(--margin-md);
    }
  }

  .predictive-search__reset-button[hidden] {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
  }

  .predictive-search__reset-button-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    transition: background-color var(--animation-speed-medium) ease-in-out,
      transform var(--animation-speed-medium) var(--animation-timing-bounce);
    border-radius: 50%;

    &:hover {
      background-color: rgb(from var(--color-primary-hover) r g b / 8%);
    }
  }

  .predictive-search__reset-button:active .predictive-search__reset-button-icon {
    transform: scale(0.85);
    transition-timing-function: var(--animation-timing-active);
    transition-duration: 100ms;
  }

  .predictive-search__reset-button svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .predictive-search__reset-button-text {
    display: none;
  }

  .predictive-search-form__content {
    max-height: 50dvh;
    overflow-y: auto;
    background-color: var(--color-background);

    /* Firefox */
    scrollbar-width: none;

    /* Webkit browsers */
    &::-webkit-scrollbar {
      display: none;
    }
  }

  .search-modal__content .predictive-search-form__content {
    max-height: var(--modal-max-height);
  }

  .predictive-search-results__no-results:last-child {
    margin-block: var(--margin-lg);
    text-align: center;
  }

  .predictive-search__search-button {
    margin: auto;
    z-index: var(--layer-raised);
    transition: transform var(--animation-speed-medium) var(--animation-timing-bounce),
      box-shadow var(--animation-speed-medium) var(--animation-timing-hover);
    transform-origin: center;

    &:hover {
      transform: translateY(-2px);
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    }

    &:active {
      transform: scale(0.97);
      transition: transform 100ms var(--animation-timing-active);
      box-shadow: none;
    }
  }

  .predictive-search:has(.predictive-search-dropdown) .search-input {
    outline-color: transparent;
  }

  .predictive-search-form__header {
    display: flex;
    position: sticky;
    top: 0;
    z-index: var(--layer-heightened);
    width: 100%;
    align-items: center;
    background-color: var(--color-input-background);
    border-radius: var(--style-border-radius-inputs);

    @media screen and (width < 750px) {
      padding: var(--padding-2xs) var(--padding-sm);
    }
  }

  .predictive-search-form__header-inner {
    background: var(--color-background);
    border: var(--search-border-width) solid var(--color-border);
    color: var(--color-foreground);
    border-radius: var(--style-border-radius-popover);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;

    @media screen and (width < 750px) {
      border-radius: var(--style-border-radius-inputs);
      border: none;
    }
  }

  .predictive-search-form__header-inner:focus-within {
    outline: 0;
    outline-offset: var(--focus-outline-offset);

    @media screen and (width >= 750px) {
      outline: var(--focus-outline-width) solid var(--color-primary);
    }
  }

  .predictive-search:has(.predictive-search-dropdown) .predictive-search-form__header-inner:focus-within {
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;

    @media screen and (width < 750px) {
      border-bottom-color: transparent;
    }
  }

  .predictive-search:has(.predictive-search-dropdown[aria-expanded='true'])
    .predictive-search-form__header-inner:focus-within {
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;
    border-radius: var(--search-border-radius);

    @media screen and (width < 750px) {
      border-radius: var(--style-border-radius-inputs);
    }
  }

  .search-action .predictive-search:has(.predictive-search-dropdown) .predictive-search-form__header:focus-within {
    border-radius: var(--search-border-radius) var(--search-border-radius) 0 0;
    transition: box-shadow var(--animation-speed) var(--animation-easing);
    background-color: var(--color-background);

    @media screen and (width < 750px) {
      border-radius: var(--style-border-radius-inputs) var(--style-border-radius-inputs) 0 0;
    }
  }

  .predictive-search__close-modal-button:hover {
    --button-color: var(--color-foreground);
    --button-background-color: transparent;
  }

  .predictive-search__close-modal-button {
    --button-color: var(--color-foreground);
    --button-background-color: transparent;

    display: flex;
    justify-content: center;
    align-items: center;
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    margin-inline-start: var(--margin-sm);
    padding: 0;
    box-shadow: none;

    &:active {
      transform: scale(0.8);
      transition: transform 100ms var(--animation-timing-active);
    }

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

    @media screen and (width >= 750px) {
      display: none;
    }
  }

  .predictive-search-form__footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

    @media screen and (width >= 750px) {
      --to-top-gradient-background: linear-gradient(
        to top,
        rgb(from var(--color-background) r g b / 90%),
        rgb(from var(--color-background) r g b / 80%),
        rgb(from var(--color-background) r g b / 40%),
        transparent
      );

      padding-block: var(--padding-xs) var(--padding-lg);
      background-image: var(--to-top-gradient-background);
    }
  }

  .dialog-modal .predictive-search-form__header {
    border: 0;
    border-radius: 0;
    background-color: var(--color-background);
    border-bottom: var(--style-border-width) solid var(--color-border);

    @media screen and (width >= 750px) {
      padding: var(--padding-2xs) var(--padding-2xs) 0;
      border-bottom: var(--search-border-width) solid var(--color-border);
    }

    @media screen and (width < 750px) {
      transition: box-shadow 0.2s ease;
      box-shadow: none;
    }
  }

  @media screen and (width < 750px) {
    .dialog-modal .predictive-search__close-modal-button {
      padding-inline-start: var(--margin-xs);
      margin-inline-start: 0;
    }
  }

  .dialog-modal[open] {
    @media screen and (width < 750px) {
      border-radius: 0;

      .dialog-modal_content {
        border-radius: 0;
      }
    }
  }

  .dialog-modal .predictive-search-form__header:has(.predictive-search-form__header-inner:focus-within) {
    @media screen and (width >= 750px) {
      border-bottom-color: transparent;
    }
  }

  .dialog-modal .predictive-search-form__header-inner {
    @media screen and (width >= 750px) {
      border: 0;
    }
  }

  @media screen and (width < 750px) {
    .dialog-modal {
      .predictive-search__reset-button-icon {
        display: none;
      }

      .predictive-search__reset-button-text {
        display: block;
      }

      .predictive-search-form__content {
        /* The parent has overflow auto, we want to prevent a double scrollbar during animation */
        max-height: 100%;
      }

      .predictive-search-form__content-wrapper {
        box-shadow: none;
      }

      .predictive-search-form__header {
        box-shadow: none;
      }

      .predictive-search-form__footer {
        padding-block: var(--padding-2xl);
      }
    }
  }

  /* Styles for the snippets */

  .predictive-search-results__pill mark {
    background-color: transparent;

    font-weight: 200;
    color: rgb(from var(--color-foreground) r g b / 80%);
  }

  .predictive-search-results__pill:focus,
  .predictive-search-results__pill:hover,
  .predictive-search-results__card--query:is([aria-selected='true'], :focus-within) .predictive-search-results__pill {
    --pill-background-color: rgb(from var(--color-foreground) r g b / 8%);
    background-color: var(--pill-background-color);
    outline: var(--border-width-sm) solid var(--color-border);
    border: var(--border-width-sm);
    text-decoration: none;
  }

  .predictive-search-results__pill {
    font-weight: 500;
    white-space: nowrap;
    color: var(--color-foreground);
  }

  .predictive-search-results__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-size--body-md);
    font-weight: 500;
    margin-block: var(--margin-sm) var(--margin-xs);
    width: 100%;
    text-transform: var(--title-case);

    &:first-of-type {
      margin-block-start: 0;
    }

    @media screen and (width < 750px) {
      margin-block: var(--margin-lg) var(--margin-sm);
    }
  }

  .predictive-search-results__resource-header .predictive-search-results__title {
    margin-block-end: 0;
  }

  .predictive-search-results__resource-header:has(slideshow-controls) .predictive-search-results__title {
    margin-block-end: 0;
  }

  .predictive-search-results__wrapper {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    padding-block-end: var(--padding-sm);
    padding-inline: 0;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 var(--padding-xl);
    scrollbar-width: none;
    -ms-overflow-style: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }

  .predictive-search-results__wrapper slideshow-slides {
    --gutter-slide-width: var(--padding-xl);
    padding-block: var(--padding-3xs);
    gap: var(--gap-md);
  }

  .predictive-search-results__wrapper-products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-block-end: var(--padding-sm);
    gap: var(--gap-md);
    transition: height var(--animation-speed-medium) var(--animation-easing);

    @container (width >= 550px) {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .predictive-search-results__wrapper-products:last-child {
    padding-block-end: var(--padding-lg);

    @media screen and (width >= 750px) {
      padding-block-end: var(--padding-sm);
    }
  }

  .predictive-search-results__wrapper-queries {
    margin-bottom: var(--margin-lg);
    padding-inline: var(--padding-xl);
    gap: var(--gap-2xs);
  }

  .predictive-search-results__card {
    flex: 0 0 auto;
    scroll-snap-align: start;
    scroll-margin-block: calc(var(--title-font-size) + var(--title-margin-block) + var(--padding-sm))
      calc(var(--padding-xl) + var(--button-padding-block) * 2);
    transition: transform var(--animation-speed-medium) var(--animation-timing-default),
      background-color var(--animation-speed-medium) var(--animation-timing-hover),
      border-color var(--animation-speed-medium) var(--animation-timing-hover);

    &:nth-last-child(3) {
      scroll-snap-align: end;
    }

    &:active {
      transform: scale(0.97);
      transition: transform 100ms var(--animation-timing-active);
    }
  }

  .predictive-search-results__card--product,
  .recently-viewed-wrapper .predictive-search-results__card--product {
    &:hover {
      background-color: var(--card-bg-hover);
      border-radius: var(--product-corner-radius);
      padding: calc(var(--padding-2xs) + 2px);
      margin: calc((var(--padding-2xs) + 2px) * -1);
    }

    &:is([aria-selected='true'].keyboard-focus, &:focus-visible, &:has(.resource-card:focus-visible)) {
      background-color: var(--card-bg-hover);
      padding: calc(var(--padding-2xs) + 1px);
      margin: calc((var(--padding-2xs) + 1px) * -1);
      outline: var(--border-width-sm) solid var(--color-border);
      border-radius: calc(var(--product-corner-radius) + 1px);
      border-color: var(--card-border-focus);
    }

    &:active {
      transform: scale(0.97);
      transition: transform 100ms var(--animation-timing-active);
    }
  }

  .predictive-search-results__card:not(.predictive-search-results__card--product) {
    padding: var(--padding-sm);
    border: var(--border-width-sm) solid var(--color-border);
    border-radius: var(--card-corner-radius);
    width: 60cqi;
    content-visibility: visible;

    @media screen and (width >= 750px) {
      width: 27.5cqi;
    }

    &:hover {
      border-color: var(--card-border-hover);
      background-color: var(--card-bg-hover);
    }

    &[aria-selected='true'].keyboard-focus {
      border-color: var(--card-border-hover);
      background-color: var(--card-bg-hover);
    }

    &:active {
      transform: scale(0.97);
      transition: transform var(--animation-speed-medium) var(--animation-timing-active);
    }
  }

  @keyframes search-element-scale-in {
    0% {
      transform: scale(0.95);
      opacity: 0;
    }
    40% {
      opacity: 1;
    }
    100% {
      transform: scale(1);
      opacity: 1;
    }
  }

  @keyframes search-element-scale-out {
    0% {
      transform: scale(1);
      opacity: 1;
    }
    100% {
      transform: scale(0.95);
      opacity: 0;
    }
  }

  @keyframes search-element-slide-in-top {
    from {
      margin-top: calc(var(--modal-top-margin) + var(--padding-sm));
      opacity: 0;
    }
    to {
      margin-top: var(--modal-top-margin);
      opacity: 1;
    }
  }

  @keyframes search-element-slide-out-top {
    from {
      margin-top: var(--modal-top-margin);
      opacity: 1;
    }
    to {
      margin-top: calc(var(--modal-top-margin) + var(--padding-sm));
      opacity: 0;
    }
  }

  @keyframes content-slide {
    from {
      transform: translateY(var(--slide-from, 0));
      opacity: var(--slide-opacity-from, 1);
    }
    to {
      transform: translateY(var(--slide-to, 0));
      opacity: var(--slide-opacity-to, 1);
    }
  }

  .recently-viewed-wrapper .predictive-search-results__card {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .recently-viewed-wrapper.removing .predictive-search-results__card {
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
  }

  .predictive-search-results__resource-header slideshow-controls {
    @media screen and (width < 750px) {
      display: none;
    }
  }

  .predictive-search-results__list slideshow-arrows {
    @media screen and (width < 750px) {
      display: none;
    }
  }

  .predictive-search-dropdown .predictive-search-results__list-item-image,
  .predictive-search-dropdown .predictive-search-results__list-item-icon {
    width: 100%;
    border-radius: var(--product-corner-radius);
    background-color: rgb(from var(--color-primary) r g b / 20%);
    margin: auto;
    object-fit: cover;
  }

  .predictive-search-results__list-item,
  .predictive-search-results__no-results,
  .predictive-search-results__wrapper,
  .predictive-search-results__wrapper-products .predictive-search-results__card {
    animation: search-element-slide-up var(--animation-speed-medium) var(--animation-timing-bounce) backwards;
  }

  slideshow-slide .resource-card {
    animation-delay: 0ms !important;
  }

  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(1) {
    animation-delay: 30ms;
  }
  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(2) {
    animation-delay: 60ms;
  }
  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(3) {
    animation-delay: 90ms;
  }
  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(4) {
    animation-delay: 120ms;
  }
  .predictive-search-results__wrapper-products .predictive-search-results__card:nth-child(n + 5) {
    animation-delay: 150ms;
  }

  .predictive-search-results__list,
  .predictive-search-results__wrapper {
    animation-duration: var(--animation-speed-medium);
  }

  .predictive-search-results__list-item {
    animation-delay: calc(30ms * var(--nth-child, 1) + 50ms);
  }

  .predictive-search-results__wrapper-queries {
    animation-delay: 50ms;
  }

  .predictive-search-results__wrapper-products {
    animation-delay: 50ms;
  }

  .predictive-search-results__list:nth-of-type(2) {
    animation-delay: 150ms;
  }
  .predictive-search-results__list:nth-of-type(3) {
    animation-delay: 200ms;
  }
  .predictive-search-results__list:nth-of-type(4) {
    animation-delay: 250ms;
  }

  [data-resource-type] {
    animation-delay: 0ms !important;
  }

  .predictive-search-results__no-results {
    animation-delay: 100ms;
  }

  .predictive-search-results__list-item.removing,
  .predictive-search-results__no-results.removing,
  .predictive-search-results__wrapper.removing {
    animation: search-element-slide-down var(--animation-speed-medium) var(--animation-timing-fade-out) forwards;
  }

  .predictive-search-results__card.removing {
    animation: fadeOut var(--animation-speed-medium) var(--animation-timing-fade-out) forwards;
  }

  .predictive-search-results__wrapper {
    transition: opacity var(--animation-speed-medium) var(--animation-timing-fade-in);
  }

  .predictive-search__reset-button {
    transition: opacity var(--animation-speed-medium) var(--animation-timing-fade-out),
      visibility var(--animation-speed-medium) var(--animation-timing-fade-out);
  }

  .predictive-search-results__no-results {
    transition: opacity var(--animation-speed-medium) var(--animation-timing-fade-in);
  }
  @keyframes search-element-slide-up {
    from {
      opacity: 0;
      transform: translateY(8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes search-element-slide-down {
    from {
      opacity: 1;
      transform: translateY(0);
    }
    to {
      opacity: 0;
      transform: translateY(8px);
    }
  }

  .recently-viewed-wrapper {
    display: grid;
    grid-template-rows: auto auto;
    max-height: 1000px;
    opacity: 1;
    overflow: visible;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: top center;
    transform: translateY(0);
  }

  .recently-viewed-wrapper.removing {
    max-height: 0;
    opacity: 0;
    transform: translateY(-10px);
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
  }

  .recently-viewed-wrapper.removing .predictive-search-results__card {
    transition: none;
    transform: none;
    opacity: 1;
  }

  .recently-viewed-wrapper > * {
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .predictive-search-results__clear.button-unstyled {
    color: var(--color-foreground);
    opacity: 0.5;
    transition: opacity var(--animation-speed-medium) var(--animation-easing);
    padding: 0;
    margin-left: var(--margin-sm);

    &:hover {
      opacity: 1;
    }
  }

  .search-input,
  .search-input:is(:focus, :focus-visible, :focus-within),
  .predictive-search-form__header *:is(:focus, :focus-visible) {
    outline: none !important;
    box-shadow: none !important;
  }

  .predictive-search-form__header-inner:has(.search-input:is(:focus, :focus-visible)),
  .predictive-search-form__header:focus-within,
  .predictive-search-form__header-inner:focus-within {
    outline: none !important;
    box-shadow: none !important;
    border-color: var(--color-border) !important;
  }

  .predictive-search:has(.predictive-search-dropdown) .predictive-search-form__header-inner:focus-within {
    border-top-color: transparent;
    border-right-color: transparent;
    border-left-color: transparent;

    @media screen and (width < 750px) {
      border-bottom-color: transparent;
    }
  }

  .predictive-search-form__header {
    border-radius: var(--style-border-radius-inputs);
    border: var(--search-border-width) solid var(--color-border);
  }

  .predictive-search-results__card--query {
    transition: transform var(--animation-speed-medium) var(--animation-timing-bounce);
    transform-origin: center;

    &:active {
      transform: scale(0.97);
    }
  }

  .predictive-search-results__pill {
    transition: background-color var(--animation-speed-medium) var(--animation-timing-hover),
      box-shadow var(--animation-speed-medium) var(--animation-timing-bounce),
      transform var(--animation-speed-medium) var(--animation-timing-bounce);
    margin: 2px;

    &:hover {
      transform: scale(1.03);
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.07);
    }
  }
/* END_SECTION:predictive-search */

/* START_SECTION:product-gallery (INDEX:49) */
.bt-pg { width: 100%; box-sizing: border-box; }

  .bt-pg__inner {
    width: 100%;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin: 0 auto;
  }
  .bt-pg__inner--page-width { max-width: var(--page-width, 1440px); }
  .bt-pg__inner--full-width { max-width: none; padding-left: 0; padding-right: 0; }

  .bt-pg__heading {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: clamp(24px, 3.5vw, 40px);
    line-height: 100%;
    letter-spacing: -0.02em;
    margin: 0 0 28px 0;
    text-transform: none;
  }
  .bt-pg__heading :is(p, h1, h2, h3, h4, h5, h6) {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    text-transform: inherit;
  }
  .bt-pg__heading--left { text-align: left; }
  .bt-pg__heading--center { text-align: center; }
  .bt-pg__heading--right { text-align: right; }

  .bt-pg__gallery { display: block; position: relative; }

  .bt-pg__wrapper {
    position: relative;
    overflow: visible;
  }

  .bt-pg__track {
    display: flex;
    gap: var(--bt-pg-gap, 16px);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    /* Mandatory snap (matches _product-media-gallery) — every scroll/swipe
       always lands cleanly on a slide, no half-positions. */
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .bt-pg__track::-webkit-scrollbar { display: none; }

  .bt-pg__item {
    flex: 0 0 var(--bt-pg-item-width-d, 30%);
    height: var(--bt-pg-item-height-d, 400px);
    border-radius: var(--bt-pg-radius, 16px);
    overflow: hidden;
    position: relative;
    background: #f4f4f4;
    scroll-snap-align: start;
    /* Force one-slide-per-swipe (no skipping past slides) */
    scroll-snap-stop: always;
  }

  .bt-pg__img,
  .bt-pg__video,
  .bt-pg__video-wrapper iframe,
  .bt-pg__video-wrapper video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
  }

  .bt-pg__video-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
  }

  .bt-pg__play-btn {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 72px; height: 72px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.95);
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
    z-index: 2;
  }
  .bt-pg__play-btn svg { width: 28px; height: 28px; margin-left: 4px; }
  .bt-pg__play-btn:hover { transform: translate(-50%, -50%) scale(1.08); }

  .bt-pg__placeholder-svg { width: 100%; height: 100%; object-fit: cover; }
  .bt-pg__empty-state {
    position: absolute; bottom: 20px; left: 50%;
    transform: translateX(-50%);
    padding: 12px 20px;
    font-size: 14px;
    color: #666;
    background: rgba(255,255,255,0.9);
    border-radius: 8px;
  }

  /* Nav arrows */
  .bt-pg__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s, box-shadow 0.2s;
  }
  .bt-pg__nav:hover:not(:disabled) {
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
  }
  .bt-pg__nav:disabled { opacity: 0.35; cursor: not-allowed; }
  .bt-pg__nav--prev { left: 16px; }
  .bt-pg__nav--next { right: 16px; }
  .bt-pg__nav svg { width: 22px; height: 22px; }

  /* Dots */
  .bt-pg__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 18px;
  }
  .bt-pg__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    border: none;
    padding: 0;
    opacity: 0.3;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.2s;
  }
  .bt-pg__dot.is-active { opacity: 1; transform: scale(1.25); }

  /* Lightbox */
  .bt-pg__lightbox {
    position: fixed; inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0,0,0,0.9);
    box-sizing: border-box;
  }
  .bt-pg__lightbox.is-open { display: flex; }
  .bt-pg__lightbox-content {
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 40px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .bt-pg__lightbox-content img,
  .bt-pg__lightbox-content video {
    max-width: 100%;
    max-height: calc(100vh - 40px);
    object-fit: contain;
    border-radius: 14px;
    background: #000;
  }
  .bt-pg__lightbox-close {
    position: fixed;
    top: 20px; right: 20px;
    width: 48px; height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.9);
    background: rgba(0,0,0,0.75);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, transform 0.2s;
    z-index: 10;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }
  .bt-pg__lightbox-close svg { display: block; width: 22px; height: 22px; }
  .bt-pg__lightbox-close:hover {
    background: rgba(0,0,0,0.9);
    transform: rotate(90deg) scale(1.06);
  }
  body.bt-pg-lightbox-open { overflow: hidden; }

  /* Tablet (iPad portrait/landscape) — wider & shorter items */
  @media (min-width: 750px) and (max-width: 1279px) {
    .bt-pg__item {
      flex-basis: var(--bt-pg-item-width-t, 45%);
      height: var(--bt-pg-item-height-t, 380px);
    }
  }

  /* Mobile */
  @media (max-width: 749px) {
    .bt-pg__item {
      flex-basis: var(--bt-pg-item-width-m, 80%);
      height: var(--bt-pg-item-height-m, 300px);
    }
    .bt-pg__nav { display: none; }
  }
/* END_SECTION:product-gallery */

/* START_SECTION:product-information (INDEX:50) */
.product-information {
    gap: var(--gap) 0;
  }

  /* Base grid layout */
  .product-information__grid {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
  }

  /* Default column positions */
  .product-details {
    order: 1;
  }

  .product-information__media {
    order: 0;
    width: 0;
    min-width: 100%;
  }

  /* Mobile styles */
  @media screen and (width < 850px) {
    .product-information__media {
      grid-column: 1 / -1;
    }
    .product-details {
      grid-column: 2 / 3;
    }
  }

  /* Desktop styles */
  @media screen and (width >= 850px) {
    .product-information__grid {
      grid-column: 2;
    }

    /* Position when there is no media */
    .product-information__grid.product-information--media-none,
    .product-information__grid:has(.product-information__media:empty) {
      .product-details {
        width: var(--narrow-content-width);
        margin: 0 auto;
      }
    }

    /* Position when there is media */
    .product-information__grid:not(:has(.product-information__media:empty)) {
      /* Media on the left side */
      &.product-information--media-left {
        grid-template-columns: 1fr min(50vw, var(--sidebar-width));

        .product-information__media {
          padding-right: calc(var(--gap, 0) / 2);
        }
        .product-details {
          padding-left: calc(var(--gap, 0) / 2);
        }

        &:has(.media-gallery--extend) {
          grid-column: 1 / 3;
        }
      }

      /* Media on the right side */
      &.product-information--media-right {
        grid-template-columns: min(50vw, var(--sidebar-width)) 1fr;

        .product-information__media {
          padding-left: calc(var(--gap, 0) / 2);
          order: 1;
        }
        .product-details {
          padding-right: calc(var(--gap, 0) / 2);
          order: 0;
        }

        &:has(.media-gallery--extend) {
          grid-column: 2 / -1;
        }
      }

      /* Equal width columns */
      &.product-information__grid--half,
      &.product-information__grid--half:has(.media-gallery--extend) {
        grid-column: 1 / -1;
        grid-template-columns:
          var(--full-page-grid-margin) calc(var(--full-page-grid-central-column-width) / 2) calc(
            var(--full-page-grid-central-column-width) / 2
          )
          var(--full-page-grid-margin);

        &.product-information--media-left {
          .product-information__media {
            grid-column: 2 / 3;
            &:has(.media-gallery--extend) {
              grid-column: 1 / 3;
            }
          }
          .product-details {
            grid-column: 3 / 4;
          }
        }

        &.product-information--media-right {
          .product-information__media {
            grid-column: 3 / 4;
            &:has(.media-gallery--extend) {
              grid-column: 3 / -1;
            }
          }
          .product-details {
            grid-column: 2 / 3;
          }
        }
      }
    }

    /* Handle full width section */
    .section--full-width {
      .product-information__grid:not(:has(.product-information__media:empty)),
      .product-information__grid:not(:has(.product-information__media:empty)) {
        &.product-information--media-left,
        &.product-information--media-right {
          grid-column: 1 / -1;
        }

        &.product-information--media-left .product-details {
          padding-inline-end: var(--padding-lg);
        }
        &.product-information--media-right .product-details {
          padding-inline-start: var(--padding-lg);
        }

        &.product-information__grid--half.product-information--media-left {
          .product-information__media {
            grid-column: 1 / 3;
          }
          .product-details {
            grid-column: 3 / -1;
          }
        }
        &.product-information__grid--half.product-information--media-right {
          .product-information__media {
            grid-column: 3 / -1;
          }
          .product-details {
            grid-column: 1 / 3;
          }
        }
      }
    }
  }

  .product-information__grid--limit-details .product-details > .group-block {
    max-width: var(--sidebar-width);
  }

  /* If the header is sticky, make product details content stick underneath the header */
  body:has(#header-group #header-component[data-sticky-state='active']) .product-details.sticky-content--desktop {
    --sticky-header-offset: var(--header-height);
  }
/* END_SECTION:product-information */

/* START_SECTION:product-recommendations (INDEX:52) */
.product-recommendations__skeleton-item {
    aspect-ratio: 3 / 4;
    background-color: var(--color-foreground);
    opacity: var(--skeleton-opacity);
    border-radius: 4px;
  }

  @media screen and (width < 750px) {
    .product-recommendations__skeleton-item:nth-child(2n + 1) {
      display: none;
    }
  }

  product-recommendations:has([data-has-recommendations='false']) {
    display: none;
  }
/* END_SECTION:product-recommendations */

/* START_SECTION:product-showcase-custom (INDEX:53) */
.product-showcase-outer {
    width: 100%;
    box-sizing: border-box;
    /* Typography defaults — matched to product-cards-grid sizes for consistency */
    --ps-title: clamp(22px, 3vw, 32px);
    --ps-desc: clamp(14px, 1.4vw, 16px);
    --ps-bullets: clamp(13px, 1.2vw, 14px);
    --ps-price-now: clamp(22px, 2.8vw, 28px);
    --ps-price-was: clamp(13px, 1.4vw, 16px);
    --ps-btn: clamp(14px, 1.5vw, 16px);
    --ps-btn-h: clamp(40px, 3.8vw, 44px);
    --ps-btn-pad: 11px 24px;
    --ps-section-h: clamp(32px, 4.5vw, 56px);
    --ps-section-sub: clamp(16px, 1.5vw, 22px);
  }
  .product-showcase-outer--type-compact {
    --ps-title: clamp(18px, 2.4vw, 26px);
    --ps-desc: clamp(13px, 1.2vw, 14px);
    --ps-bullets: clamp(12px, 1.05vw, 13px);
    --ps-price-now: clamp(20px, 2.4vw, 24px);
    --ps-price-was: clamp(12px, 1.2vw, 14px);
    --ps-btn: clamp(13px, 1.3vw, 14px);
    --ps-btn-h: clamp(36px, 3.4vw, 38px);
    --ps-btn-pad: 9px 18px;
    --ps-section-h: clamp(26px, 3.6vw, 44px);
    --ps-section-sub: clamp(14px, 1.3vw, 18px);
  }
  .product-showcase-outer--type-spacious {
    --ps-title: clamp(26px, 3.6vw, 40px);
    --ps-desc: clamp(15px, 1.6vw, 18px);
    --ps-bullets: clamp(14px, 1.4vw, 16px);
    --ps-price-now: clamp(26px, 3.4vw, 34px);
    --ps-price-was: clamp(15px, 1.6vw, 18px);
    --ps-btn: clamp(16px, 1.7vw, 18px);
    --ps-btn-h: clamp(46px, 4.4vw, 52px);
    --ps-btn-pad: 14px 32px;
    --ps-section-h: clamp(36px, 5vw, 64px);
    --ps-section-sub: clamp(17px, 1.7vw, 24px);
  }

  .product-showcase-inner {
    width: 100%;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin: 0 auto;
  }

  .product-showcase-inner--page-width {
    max-width: var(--page-width, 1440px);
  }

  .product-showcase-inner--full-width {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .product-showcase__header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 40px;
  }

  .product-showcase__heading {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: calc(var(--ps-section-h) * var(--ps-text-mul, 1));
    line-height: 90%;
    letter-spacing: -0.02em;
    margin: 0;
    text-transform: none;
  }

  .product-showcase__subheading {
    font-family: 'Rubik', sans-serif;
    font-weight: 400;
    font-size: calc(var(--ps-section-sub) * var(--ps-text-mul, 1));
    line-height: 140%;
    letter-spacing: -0.02em;
    margin: 0;
  }

  /* Cards */
  .product-showcase__card {
    position: relative;
    border-radius: 50px;
    overflow: hidden;
    box-sizing: border-box;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
  }

  /* Shared: media wrapper covers full card as a single background image */
  .product-showcase__card-media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 1;
    border-radius: inherit;
  }

  .product-showcase__card-media picture,
  .product-showcase__card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: var(--card-img-fit, cover);
    object-position: var(--card-img-pos-x, right) var(--card-img-pos-y, center);
    transform: scale(var(--card-img-scale, 1));
    transform-origin: var(--card-img-pos-x, right) var(--card-img-pos-y, center);
  }
  /* Transition only on mouse devices (avoids double-animation on touch) */
  @media (hover: hover) {
    .product-showcase__card-media img {
      transition: transform 0.6s ease;
    }
  }

  /* Hover lift — same feel as catalog cards (only on mouse devices) */
  @media (hover: hover) {
    .product-showcase__card:hover {
      transform: translateY(-4px);
      box-shadow: 0 16px 30px -16px rgba(0, 0, 0, 0.35);
    }
    .product-showcase__card:hover .product-showcase__card-media img {
      transform: scale(calc(var(--card-img-scale, 1) * 1.04));
    }
  }

  /* Scroll-triggered load animation per CARD.
     IMPORTANT: image is pre-zoomed by default (transform compounds user's --card-img-scale
     with --ps-anim-zoom) so it's already enlarged at first paint — no flicker between
     render and the IntersectionObserver firing. When the card enters viewport, the
     .ps-in-view class triggers the animation which shrinks the image down to the user's
     natural scale with forwards fill so it stays there.
     Separate desktop / mobile values because user's scale differs per breakpoint. */
  .product-showcase__card .product-showcase__card-media img {
    transform: scale(calc(var(--card-img-scale, 1) * var(--ps-anim-zoom, 1.22)));
  }
  @media (max-width: 1099px) {
    .product-showcase__card .product-showcase__card-media img {
      transform: scale(calc(var(--card-img-scale-m, 1) * var(--ps-anim-zoom, 1.22)));
    }
  }
  @keyframes ps-image-load-d {
    from { transform: scale(calc(var(--card-img-scale, 1) * var(--ps-anim-zoom, 1.22))); }
    to   { transform: scale(var(--card-img-scale, 1)); }
  }
  @keyframes ps-image-load-m {
    from { transform: scale(calc(var(--card-img-scale-m, 1) * var(--ps-anim-zoom, 1.22))); }
    to   { transform: scale(var(--card-img-scale-m, 1)); }
  }

  /* In-view state: animation shrinks image down to user's natural scale (forwards fill). */
  .product-showcase__card.ps-in-view .product-showcase__card-media img {
    animation: ps-image-load-d var(--ps-anim-dur, 1.6s) var(--ps-anim-easing, cubic-bezier(0.22, 1, 0.36, 1)) 1 forwards;
  }
  @media (max-width: 1099px) {
    .product-showcase__card.ps-in-view .product-showcase__card-media img {
      animation-name: ps-image-load-m;
    }
  }
  /* Disable animation entirely when toggled off in settings — image renders at natural scale. */
  .product-showcase-outer--no-anim .product-showcase__card .product-showcase__card-media img {
    transform: scale(var(--card-img-scale, 1));
  }
  @media (max-width: 1099px) {
    .product-showcase-outer--no-anim .product-showcase__card .product-showcase__card-media img {
      transform: scale(var(--card-img-scale-m, 1));
    }
  }
  .product-showcase-outer--no-anim .product-showcase__card.ps-in-view .product-showcase__card-media img {
    animation: none !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .product-showcase__card .product-showcase__card-media img {
      transform: scale(var(--card-img-scale, 1));
    }
    .product-showcase__card.ps-in-view .product-showcase__card-media img {
      animation: none;
    }
  }
  @media (prefers-reduced-motion: reduce) and (max-width: 1099px) {
    .product-showcase__card .product-showcase__card-media img {
      transform: scale(var(--card-img-scale-m, 1));
    }
  }

  /* FEATURED (full width card) — flex so panel content drives card height */
  .product-showcase__card--featured {
    position: relative;
    width: 100%;
    min-height: 495px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    padding: 20px;
  }

  .product-showcase__card--featured .product-showcase__card-panel {
    position: relative;
    z-index: 2;
    max-width: 380px;
    min-width: 320px;
    margin: 0;
  }

  /* COMPACT cards — flex so the bottom-left panel can grow upward and push card height */
  .product-showcase__card--compact {
    position: relative;
    min-height: 495px;
    display: flex;
    align-items: flex-end;
    padding: 18px;
  }

  .product-showcase__card--compact .product-showcase__card-panel {
    position: relative;
    z-index: 2;
    width: 42%;
    max-width: 360px;
    min-width: 280px;
    min-height: 230px;
    padding: 24px 26px;
    gap: 12px;
  }

  /* Compact card variant — title and description scaled smaller (compact cards are
     physically narrower so smaller text fits better). Buttons stay same size as featured. */
  .product-showcase__card--compact .product-showcase__card-title {
    font-size: calc(var(--ps-title) * 0.7 * var(--ps-text-mul, 1));
  }

  .product-showcase__card--compact .product-showcase__card-description,
  .product-showcase__card--compact .product-showcase__card-bullets {
    font-size: calc(var(--ps-desc) * 0.8 * var(--ps-text-mul, 1));
  }

  /* Buttons same size for all card variants — uses base var(--ps-btn) and var(--ps-btn-h) */
  .product-showcase__card--compact .product-showcase__btn--arrow {
    width: calc(var(--ps-btn-h) * var(--ps-btn-mul, 1));
    padding: 8px;
  }

  /* Info panel (shared) */
  .product-showcase__card-panel {
    position: relative;
    z-index: 2;
    padding: 36px 32px;
    background: #fff;
    border-radius: 35px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-sizing: border-box;
    /* Panel expands to fit at least the longest word in any child element */
    min-width: min-content;
  }
  /* Prevent mid-word breaks — words wrap as whole units */
  .product-showcase__card-title,
  .product-showcase__card-description,
  .product-showcase__card-bullets {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .product-showcase__card-title {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: calc(var(--ps-title) * var(--ps-text-mul, 1));
    line-height: 90%;
    letter-spacing: -0.02em;
    color: #67361C;
    margin: 0;
    text-transform: none;
  }

  .product-showcase__card-description {
    font-family: 'Rubik', sans-serif;
    font-weight: 400;
    font-size: calc(var(--ps-desc) * var(--ps-text-mul, 1));
    line-height: 140%;
    letter-spacing: -0.02em;
    color: #67361C;
    opacity: 0.75;
    margin: 0;
  }

  .product-showcase__card-bullets {
    font-family: 'Rubik', sans-serif;
    font-weight: 400;
    font-size: calc(var(--ps-bullets) * var(--ps-text-mul, 1));
    line-height: 140%;
    letter-spacing: -0.02em;
    color: #67361C;
    opacity: 0.75;
    margin: 0;
    padding-left: 20px;
  }

  .product-showcase__card-bullets li {
    margin-bottom: 4px;
  }

  .product-showcase__card-price {
    margin-top: 10px;
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    font-family: 'Rubik', sans-serif;
    line-height: 1;
  }
  .product-showcase__card-price-now {
    font-size: calc(var(--ps-price-now) * var(--ps-text-mul, 1));
    font-weight: 700;
    color: currentColor;
  }
  .product-showcase__card-price-was {
    font-size: calc(var(--ps-price-was) * var(--ps-text-mul, 1));
    font-weight: 400;
    text-decoration: line-through;
    opacity: 0.65;
  }

  .product-showcase__card-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: 8px;
    flex-wrap: wrap;
  }

  .product-showcase__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: calc(var(--ps-btn-h) * var(--ps-btn-mul, 1));
    padding: var(--ps-btn-pad);
    border-radius: 100px;
    font-family: 'Rubik', sans-serif;
    font-weight: 500;
    font-size: calc(var(--ps-btn) * var(--ps-btn-mul, 1));
    line-height: 90%;
    letter-spacing: -0.02em;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s, transform 0.2s, background 0.2s, color 0.2s;
    white-space: nowrap;
    border: 1px solid transparent;
  }

  .product-showcase__btn--primary {
    color: #fff;
  }

  .product-showcase__btn--primary:hover {
    opacity: 0.9;
    transform: translateY(-1px);
  }

  .product-showcase__btn--secondary {
    background: transparent;
  }

  .product-showcase__btn--secondary:hover {
    text-decoration: underline;
  }

  /* Unified grid — full-width cards span both columns, half-width cards take one */
  .product-showcase__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
    align-items: stretch;
  }

  .product-showcase__grid > .product-showcase__card--featured {
    grid-column: 1 / -1; /* full row */
  }

  .product-showcase__grid > .product-showcase__card--compact {
    grid-column: span 1;
    height: 100%;
  }

  /* CTA button at the bottom of the section — full width */
  .product-showcase__cta {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    width: 100%;
  }

  .product-showcase__cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    height: 58px;
    padding: 16px 40px;
    border-radius: 35px;
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 90%;
    letter-spacing: -0.02em;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity 0.2s, transform 0.2s;
  }

  .product-showcase__cta-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
  }

  /* Tablet (750-1099px): compact cards switch to stacked layout (like mobile)
     but stay side-by-side in 2-col grid. Featured keeps overlay. */
  @media (max-width: 1099px) {
    .product-showcase__card--compact {
      position: relative;
      border-radius: 30px;
      display: flex;
      flex-direction: column;
      height: 100%;
      min-height: auto;
      padding: 20px;
      box-sizing: border-box;
    }

    /* Push image to bottom so text sits on top — cards align at the same height */
    .product-showcase__card--compact .product-showcase__card-panel {
      flex: 0 0 auto;
    }
    .product-showcase__card--compact .product-showcase__card-media {
      flex: 1 1 auto;
      margin-top: auto;
    }

    .product-showcase__card--compact .product-showcase__card-media {
      position: relative;
      inset: auto;
      width: 100%;
      min-height: 220px;
      margin-bottom: 16px;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      overflow: visible;
      border-radius: 0;
      z-index: 1;
      order: 1;
    }

    .product-showcase__card--compact .product-showcase__card-media picture,
    .product-showcase__card--compact .product-showcase__card-media img {
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 100%;
      object-fit: var(--card-img-fit-m, contain);
      object-position: var(--card-img-pos-x-m, center) var(--card-img-pos-y-m, bottom);
      transform: scale(var(--card-img-scale-m, 1));
      transform-origin: var(--card-img-pos-x-m, center) var(--card-img-pos-y-m, bottom);
    }

    .product-showcase__card--compact .product-showcase__card-panel {
      position: relative;
      inset: auto;
      left: auto;
      right: auto;
      bottom: auto;
      top: auto;
      transform: none;
      margin: 0;
      margin-top: var(--card-panel-overlap-m, -28px);
      max-width: 100%;
      min-width: 0;
      min-height: 0;
      width: 100%;
      padding: 20px 18px;
      border-radius: 29px;
      gap: 12px;
      z-index: 2;
      order: 2;
    }

    /* Compact button vertical alignment kept; sizes handled via vars + calc above */
    .product-showcase__card--compact .product-showcase__card-actions {
      justify-content: center;
      flex-wrap: nowrap;
      gap: 6px;
    }
  }

  /* Full mobile (<=749px): everything stacked + grid to 1 column */
  @media (max-width: 749px) {
    /* Header: stacked, centered */
    .product-showcase__header {
      grid-template-columns: 1fr;
      gap: 12px;
      margin-bottom: 28px;
      text-align: center;
      justify-items: center;
    }

    .product-showcase__heading {
      max-width: 320px;
    }

    .product-showcase__subheading {
      max-width: 320px;
    }

    /* Featured card now also stacks */
    .product-showcase__card--featured {
      position: relative;
      border-radius: 30px;
      display: flex;
      flex-direction: column;
      min-height: auto;
      padding: 20px;
      box-sizing: border-box;
    }

    .product-showcase__card--featured .product-showcase__card-media {
      position: relative;
      inset: auto;
      width: 100%;
      min-height: 280px;
      margin-bottom: 16px;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      overflow: visible;
      border-radius: 0;
      z-index: 1;
      order: 1;
    }

    .product-showcase__card--featured .product-showcase__card-media picture,
    .product-showcase__card--featured .product-showcase__card-media img {
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 100%;
      object-fit: var(--card-img-fit-m, contain);
      object-position: var(--card-img-pos-x-m, center) var(--card-img-pos-y-m, bottom);
      transform: scale(var(--card-img-scale-m, 1));
      transform-origin: var(--card-img-pos-x-m, center) var(--card-img-pos-y-m, bottom);
    }

    .product-showcase__card--featured .product-showcase__card-panel {
      position: relative;
      inset: auto;
      left: auto;
      right: auto;
      bottom: auto;
      top: auto;
      transform: none;
      margin: 0;
      margin-top: var(--card-panel-overlap-m, -28px);
      max-width: 100%;
      min-width: 0;
      min-height: 0;
      width: 100%;
      padding: 24px 22px;
      border-radius: 29px;
      gap: 14px;
      z-index: 2;
      order: 2;
    }

    /* Layout-specific tweaks below. */
    .product-showcase__card--compact .product-showcase__card-panel {
      padding: 24px 22px;
      gap: 14px;
    }

    /* On full mobile (≤749px) the grid becomes a single column, so half-width
       (compact) cards are visually identical in width to full-width (featured)
       cards. The desktop 0.7x / 0.8x multipliers (lines ~313–320) would still
       apply otherwise — making compact text look smaller despite identical
       card width. Reset the multipliers here so both variants match. */
    .product-showcase__card--compact .product-showcase__card-title {
      font-size: calc(var(--ps-title) * var(--ps-text-mul, 1));
    }
    .product-showcase__card--compact .product-showcase__card-description {
      font-size: calc(var(--ps-desc) * var(--ps-text-mul, 1));
    }
    .product-showcase__card--compact .product-showcase__card-bullets {
      font-size: calc(var(--ps-bullets) * var(--ps-text-mul, 1));
    }

    /* All buttons one-row centered */
    .product-showcase__card-actions {
      justify-content: center;
      flex-wrap: nowrap;
      gap: 6px;
    }

    /* If only one button is rendered, stretch it full-width on mobile */
    .product-showcase__card-actions > .product-showcase__btn:only-child {
      width: 100%;
      flex: 1 1 100%;
    }

    .product-showcase__btn {
      flex-shrink: 1;
    }

    .product-showcase__grid {
      grid-template-columns: 1fr;
      gap: 20px;
      margin-bottom: 20px;
    }
  }
/* END_SECTION:product-showcase-custom */

/* START_SECTION:related-products-bricktopia (INDEX:54) */
.bt-rp { display: block; box-sizing: border-box; font-family: 'Rubik', sans-serif; }
  .bt-rp *, .bt-rp *::before, .bt-rp *::after { box-sizing: border-box; }

  .bt-rp__inner {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-rp__header { margin: 0 0 24px; }
  .bt-rp__header--left { text-align: left; }
  .bt-rp__header--center { text-align: center; }
  .bt-rp__header--right { text-align: right; }
  .bt-rp__heading {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: clamp(24px, 3.2vw, 36px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--bt-rp-title-color, #67361C);
  }
  .bt-rp__heading p { margin: 0; }

  .bt-rp__scroll { width: 100%; }
  .bt-rp__grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-rp-cols-d, 4), minmax(0, 1fr));
    gap: var(--bt-rp-gap, 20px);
  }

  .bt-rp__card {
    background: var(--bt-rp-card-bg, #fff);
    border-radius: var(--bt-rp-card-radius, 35px);
    padding: 24px 24px 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
    min-width: 0;
  }
  .bt-rp__card-link { display: block; text-decoration: none; color: inherit; }
  .bt-rp__card-imgwrap {
    background: var(--bt-rp-img-bg, #f8f8f8);
    border-radius: var(--bt-rp-img-radius, 30px);
    aspect-ratio: 1;
    overflow: hidden;
    margin-bottom: 4px;
    position: relative;
    touch-action: pan-y;
    user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
  }
  .bt-rp__card-imgwrap svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10%;
  }
  .bt-rp__card-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10%;
    opacity: 0;
    transition: opacity 0.4s ease;
  }
  .bt-rp__card-img.is-active { opacity: 1; }

  .bt-rp__card-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    border: 0;
    color: var(--bt-rp-title-color, #67361C);
    cursor: pointer;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.2s, background 0.2s, transform 0.15s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .bt-rp__card-arrow::before {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
  }
  .bt-rp__card-arrow--prev { left: 8px; }
  .bt-rp__card-arrow--next { right: 8px; }
  .bt-rp__card-arrow--prev::before { transform: rotate(-135deg); margin-left: 3px; }
  .bt-rp__card-arrow--next::before { transform: rotate(45deg); margin-right: 3px; }
  .bt-rp__card:hover .bt-rp__card-arrow { opacity: 1; }
  .bt-rp__card-arrow:hover { background: #fff; }
  @media (hover: none) {
    .bt-rp__card-arrow { display: none; }
  }

  .bt-rp__card-dots {
    display: flex;
    gap: 5px;
    justify-content: center;
    margin: 0 0 4px;
  }
  .bt-rp__card-dot-btn {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.18);
    border: 0;
    padding: 0;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
  }
  .bt-rp__card-dot-btn.is-active {
    background: var(--bt-rp-title-color, #67361C);
    transform: scale(1.35);
  }

  .bt-rp__card-vendor {
    font-weight: 700;
    font-style: italic;
    font-size: 13px;
    color: var(--bt-rp-vendor-color, #e40b2f);
  }
  .bt-rp__card-title {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-rp-title-color, #67361C);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .bt-rp__card-price {
    font-weight: 700;
    font-size: 16px;
    color: var(--bt-rp-title-color, #67361C);
  }

  .bt-rp__addform {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 6px;
  }
  .bt-rp__qty { display: inline-flex; align-items: center; gap: 6px; }
  .bt-rp__qty-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f8f8f8;
    border: 0;
    color: var(--bt-rp-title-color, #67361C);
    cursor: pointer;
    padding: 0;
    position: relative;
    transition: background 0.15s;
  }
  .bt-rp__qty-btn:hover { background: #eee; }
  .bt-rp__qty-btn::before,
  .bt-rp__qty-btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background: currentColor;
    border-radius: 2px;
    pointer-events: none;
  }
  .bt-rp__qty-btn::before {
    width: 13px;
    height: 2.2px;
    transform: translate(-50%, -50%);
  }
  .bt-rp__qty-btn--plus::after {
    width: 2.2px;
    height: 13px;
    transform: translate(-50%, -50%);
  }
  .bt-rp__qty-btn--minus::after { display: none; }
  .bt-rp__qty-val {
    font-weight: 700;
    font-size: 15px;
    color: var(--bt-rp-title-color, #67361C);
    min-width: 26px;
    text-align: center;
  }
  .bt-rp__cart-btn,
  .bt-rp__view-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--bt-rp-accent, #fa5800);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    padding: 0;
    transition: background-color 0.15s, transform 0.15s;
    flex-shrink: 0;
    text-decoration: none;
  }
  .bt-rp__cart-btn {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='white'><path fill-rule='evenodd' clip-rule='evenodd' d='M8.25 6.75a3.75 3.75 0 1 1 7.5 0v1.5h1.75c1.52 0 2.76 1.19 2.85 2.7l.48 8.9A3 3 0 0 1 17.83 23H6.17a3 3 0 0 1-2.99-3.15l.48-8.9A2.85 2.85 0 0 1 6.5 8.25h1.75v-1.5ZM9.75 8.25h4.5v-1.5a2.25 2.25 0 0 0-4.5 0v1.5Z'/></svg>");
  }
  .bt-rp__view-btn {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><line x1='5' y1='12' x2='19' y2='12'/><polyline points='12 5 19 12 12 19'/></svg>");
  }
  .bt-rp__cart-btn:hover:not(:disabled),
  .bt-rp__view-btn:hover {
    background-color: #e65000;
    transform: translateY(-2px);
  }
  .bt-rp__cart-btn:disabled { opacity: 0.4; cursor: not-allowed; }
  .bt-rp__cart-btn.is-loading { pointer-events: none; opacity: 0.6; }
  .bt-rp__cart-btn.is-success { background-color: #2bb673; }
  .bt-rp__view-row { display: flex; justify-content: flex-end; margin-top: 6px; }

  /* Tablet */
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-rp__grid {
      grid-template-columns: repeat(var(--bt-rp-cols-t, 3), minmax(0, 1fr));
    }
  }

  /* Mobile: horizontal snap scroll */
  @media (max-width: 749px) {
    .bt-rp__scroll {
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      -ms-overflow-style: none;
      padding-bottom: 6px;
      /* bleed past inner padding so cards can touch screen edges */
      margin-left: calc(var(--page-margin, 20px) * -1);
      margin-right: calc(var(--page-margin, 20px) * -1);
      padding-left: var(--page-margin, 20px);
      padding-right: var(--page-margin, 20px);
    }
    .bt-rp__scroll::-webkit-scrollbar { display: none; }
    .bt-rp__grid {
      display: flex;
      grid-template-columns: none;
      gap: 14px;
      width: max-content;
    }
    .bt-rp__card {
      flex: 0 0 var(--bt-rp-mobile-card-w, 78%);
      max-width: var(--bt-rp-mobile-card-w, 78%);
      scroll-snap-align: start;
      scroll-snap-stop: always;
      padding: 18px 18px 16px;
      border-radius: 24px;
    }
    .bt-rp__card-imgwrap { border-radius: 18px; }
    .bt-rp__card-title { font-size: 16px; }
    .bt-rp__card-vendor { font-size: 12px; }
  }

  /* Fly-to-cart (reuses .bt-cart-fly shared class) */
/* END_SECTION:related-products-bricktopia */

/* START_SECTION:reviews-grid-api (INDEX:55) */
.bt-rga { display: block; box-sizing: border-box; font-family: 'Rubik', sans-serif; }
  .bt-rga *, .bt-rga *::before, .bt-rga *::after { box-sizing: border-box; }
  .bt-rga .bt-rg__inner {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin: 0 auto;
  }

  /* Header */
  .bt-rga .bt-rg__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 24px;
  }
  .bt-rga .bt-rg__header-left { display: flex; flex-direction: column; gap: 6px; }
  .bt-rga .bt-rg__heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(22px, 3vw, 32px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-rg-heading-color, #1e1310);
  }
  .bt-rga .bt-rg__avg { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--bt-rg-muted, #777); }
  .bt-rga .bt-rg__avg-number { font-weight: 700; font-size: 20px; color: var(--bt-rg-heading-color, #1e1310); }
  .bt-rga .bt-rg__stars { color: var(--bt-rg-star, #fa5800); font-size: 16px; letter-spacing: 1px; }
  .bt-rga .bt-rg__count { color: var(--bt-rg-muted, #777); }

  .bt-rga .bt-rg__header-right { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
  .bt-rga .bt-rg__btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 10px 20px; border-radius: 100px; font-weight: 600; font-size: 14px;
    text-decoration: none; cursor: pointer; transition: transform 0.15s, opacity 0.15s;
    white-space: nowrap; border: 2px solid transparent; font-family: inherit;
  }
  .bt-rga .bt-rg__btn:hover { transform: translateY(-1px); }
  .bt-rga .bt-rg__btn--primary { background: var(--bt-rg-accent, #fa5800); color: #fff; border-color: var(--bt-rg-accent, #fa5800); }
  .bt-rga .bt-rg__btn--secondary { background: transparent; color: var(--bt-rg-heading-color, #1e1310); border-color: currentColor; }

  /* Loading skeleton */
  .bt-rga .bt-rg__loading {
    display: block;
    padding: 0;
  }
  .bt-rga [hidden] { display: none !important; }
  .bt-rga .visually-hidden {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }
  .bt-rga .bt-media-broken {
    width: 100%; height: 100%; min-height: 80px;
    background: #f2f2f2;
    display: flex; align-items: center; justify-content: center;
    font-size: 32px; opacity: 0.6;
    border-radius: inherit;
  }

  /* Shimmer animation */
  .bt-rga .bt-rg__shimmer {
    background-color: rgba(0, 0, 0, 0.06);
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(0, 0, 0, 0) 100%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
    animation: bt-rga-shimmer 1.4s infinite linear;
  }
  @keyframes bt-rga-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
  }

  /* Skeleton grid mirrors the real grid layout */
  .bt-rga .bt-rg__skeleton-grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-rg-cols-d, 2), minmax(0, 1fr));
    gap: 20px;
  }
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-rga .bt-rg__skeleton-grid { grid-template-columns: repeat(var(--bt-rg-cols-t, 2), minmax(0, 1fr)); }
  }
  @media (max-width: 749px) {
    .bt-rga .bt-rg__skeleton-grid {
      grid-template-columns: repeat(var(--bt-rg-cols-m, 1), minmax(0, 1fr));
      gap: 16px;
    }
  }
  .bt-rga .bt-rg__skeleton-card {
    background: var(--bt-rg-card-bg, transparent);
    border: 1px solid var(--bt-rg-card-border, rgba(0, 0, 0, 0.08));
    border-radius: 14px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 200px;
  }
  .bt-rga .bt-rg__skeleton-top {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 4px;
  }
  .bt-rga .bt-rg__skeleton-avatar {
    width: 36px; height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .bt-rga .bt-rg__skeleton-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
  }
  .bt-rga .bt-rg__skeleton-line {
    height: 12px;
    border-radius: 6px;
  }
  .bt-rga .bt-rg__skeleton-line--name { width: 55%; height: 14px; }
  .bt-rga .bt-rg__skeleton-line--stars { width: 40%; }
  .bt-rga .bt-rg__skeleton-line--title { width: 70%; height: 14px; margin-top: 4px; }
  .bt-rga .bt-rg__skeleton-line--text { width: 100%; }
  .bt-rga .bt-rg__skeleton-line--text-short { width: 65%; }

  @media (prefers-reduced-motion: reduce) {
    .bt-rga .bt-rg__shimmer { animation: none; }
  }

  /* Media strip */
  .bt-rga .bt-rg__media-strip {
    display: flex; gap: 10px; overflow-x: auto; padding-bottom: 12px; margin-bottom: 20px;
    scrollbar-width: thin;
  }
  .bt-rga .bt-rg__media-tile {
    position: relative; flex: 0 0 auto; width: 110px; height: 110px;
    border: 0; border-radius: 10px; overflow: hidden; background: #eee;
    padding: 0; cursor: pointer; transition: transform 0.2s;
  }
  .bt-rga .bt-rg__media-tile:hover { transform: translateY(-2px); }
  .bt-rga .bt-rg__media-tile img,
  .bt-rga .bt-rg__media-tile video { width: 100%; height: 100%; object-fit: cover; display: block; }
  .bt-rga .bt-rg__media-play {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 36px; height: 36px;
    background: rgba(0, 0, 0, 0.55); color: #fff;
    border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    font-size: 14px; padding-left: 2px;
  }

  /* Grid */
  .bt-rga .bt-rg__grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-rg-cols-d, 2), minmax(0, 1fr));
    gap: 20px;
  }
  .bt-rga .bt-rg__card {
    background: var(--bt-rg-card-bg, transparent);
    border: 1px solid var(--bt-rg-card-border, transparent);
    border-radius: 14px; padding: 16px 18px;
    display: flex; flex-direction: column; gap: 10px;
    color: var(--bt-rg-text-color, #222);
  }
  .bt-rga .bt-rg__card.is-hidden { display: none !important; }
  .bt-rga .bt-rg__card-stars { display: inline-flex; gap: 1px; color: var(--bt-rg-star, #fa5800); font-size: 14px; letter-spacing: 1px; }
  .bt-rga .bt-rg__star { opacity: 0.25; }
  .bt-rga .bt-rg__star--filled { opacity: 1; }

  .bt-rga .bt-rg__card-top { display: flex; align-items: center; gap: 10px; }
  .bt-rga .bt-rg__card-avatar {
    width: 36px; height: 36px; border-radius: 50%;
    background: var(--bt-rg-accent, #fa5800); color: #fff;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; font-weight: 600; font-size: 14px;
  }
  .bt-rga .bt-rg__card-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
  .bt-rga .bt-rg__card-name-row { display: flex; align-items: center; gap: 6px; }
  .bt-rga .bt-rg__card-author { font-weight: 600; font-size: 15px; color: var(--bt-rg-heading-color, #1e1310); line-height: 1.2; }
  .bt-rga .bt-rg__card-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 18px; height: 18px; border-radius: 50%;
    background: #2bb673; color: #fff; font-size: 11px; font-weight: 700;
    flex-shrink: 0;
  }
  .bt-rga .bt-rg__card-sub-row {
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; color: var(--bt-rg-muted, #888);
  }
  .bt-rga .bt-rg__card-dot { opacity: 0.5; }
  .bt-rga .bt-rg__card-date { white-space: nowrap; }
  .bt-rga .bt-rg__card-title {
    margin: 0; font-weight: 700; font-size: 16px; line-height: 1.25;
    color: var(--bt-rg-heading-color, #1e1310);
  }
  .bt-rga .bt-rg__card-text {
    font-size: 14px; line-height: 1.5;
    color: var(--bt-rg-text-color, #3a3230);
    white-space: pre-line;
  }
  /* Media gallery (single image or carousel with arrows) */
  .bt-rga .bt-rg__card-gallery {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    background: #eee;
    border-radius: 12px;
    overflow: hidden;
    margin-top: 4px;
  }
  .bt-rga .bt-rg__gallery-track { position: relative; width: 100%; height: 100%; }
  .bt-rga .bt-rg__gallery-slide {
    position: absolute; inset: 0;
    opacity: 0; visibility: hidden;
    transition: opacity 0.25s ease;
  }
  .bt-rga .bt-rg__gallery-slide.is-active { opacity: 1; visibility: visible; }
  .bt-rga .bt-rg__gallery-media {
    width: 100%; height: 100%;
    background: #eee; border: 0; padding: 0;
    cursor: pointer; display: block;
    position: relative;
  }
  .bt-rga .bt-rg__gallery-media img,
  .bt-rga .bt-rg__gallery-media video {
    width: 100%; height: 100%; object-fit: cover; display: block;
  }
  .bt-rga .bt-rg__gallery-arrow {
    position: absolute; top: 50%;
    transform: translateY(-50%);
    width: 34px; height: 34px;
    border-radius: 50%;
    border: 0;
    background: rgba(255, 255, 255, 0.92);
    color: var(--bt-rg-heading-color, #1e1310);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    padding: 0;
    opacity: 0;
    transition: opacity 0.2s, background 0.2s;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  }
  .bt-rga .bt-rg__gallery-arrow--prev { left: 8px; }
  .bt-rga .bt-rg__gallery-arrow--next { right: 8px; }
  .bt-rga .bt-rg__card-gallery:hover .bt-rg__gallery-arrow { opacity: 1; }
  .bt-rga .bt-rg__gallery-arrow:hover { background: #fff; }
  @media (hover: none) {
    .bt-rga .bt-rg__gallery-arrow { opacity: 0.92; }
  }
  .bt-rga .bt-rg__gallery-counter {
    position: absolute; top: 8px; right: 8px;
    background: rgba(0, 0, 0, 0.55); color: #fff;
    font-size: 11px; font-weight: 600;
    padding: 3px 8px; border-radius: 100px;
    z-index: 2;
  }
  .bt-rga .bt-rg__gallery-dots {
    position: absolute; bottom: 8px; left: 0; right: 0;
    display: flex; justify-content: center; gap: 4px;
    z-index: 2;
  }
  .bt-rga .bt-rg__gallery-dot {
    width: 7px; height: 7px; border-radius: 50%;
    border: 0; padding: 0; cursor: pointer;
    background: rgba(255, 255, 255, 0.5);
    transition: background 0.2s, transform 0.2s;
  }
  .bt-rga .bt-rg__gallery-dot.is-active {
    background: #fff;
    transform: scale(1.25);
  }

  /* Row of thumbnails (used when media_position = below) */
  .bt-rga .bt-rg__card-media-row {
    display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px;
  }
  .bt-rga .bt-rg__card-media-row .bt-rg__card-media-tile {
    position: relative; width: 88px; height: 88px;
    border: 0; border-radius: 10px; overflow: hidden; background: #eee;
    padding: 0; cursor: pointer; transition: transform 0.2s;
  }
  .bt-rga .bt-rg__card-media-row .bt-rg__card-media-tile:hover { transform: translateY(-2px); }
  .bt-rga .bt-rg__card-media-row .bt-rg__card-media-tile img,
  .bt-rga .bt-rg__card-media-row .bt-rg__card-media-tile video { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* Layout: media on the right of text */
  .bt-rga--media-right .bt-rg__card {
    flex-direction: row;
    align-items: stretch;
    gap: 16px;
  }
  /* Layout: media on the left of text (mirror of right) */
  .bt-rga--media-left .bt-rg__card {
    flex-direction: row-reverse;
    align-items: stretch;
    gap: 16px;
  }
  .bt-rga--media-right .bt-rg__card-text-block,
  .bt-rga--media-left .bt-rg__card-text-block {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bt-rga--media-right .bt-rg__card-gallery,
  .bt-rga--media-left .bt-rg__card-gallery {
    flex: 0 0 200px;
    margin-top: 0;
    align-self: flex-start;
    max-width: 200px;
  }
  @media (max-width: 749px) {
    .bt-rga--media-right .bt-rg__card,
    .bt-rga--media-left .bt-rg__card {
      flex-direction: column;
    }
    .bt-rga--media-right .bt-rg__card-gallery,
    .bt-rga--media-left .bt-rg__card-gallery {
      flex-basis: auto;
      max-width: 100%;
    }
  }

  /* Default (media below) — text block is a simple column */
  .bt-rga--media-below .bt-rg__card-text-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .bt-rga .bt-rg__card-admin-reply {
    margin-top: 8px; padding: 10px 14px;
    background: rgba(0,0,0,0.04); border-radius: 10px;
    font-size: 13px; line-height: 1.5;
  }
  .bt-rga .bt-rg__card-admin-reply strong { color: var(--bt-rg-accent, #fa5800); }

  .bt-rga .bt-rg__empty { text-align: center; padding: 60px 20px; color: var(--bt-rg-muted, #777); }

  /* Tablet */
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-rga .bt-rg__grid { grid-template-columns: repeat(var(--bt-rg-cols-t, 2), minmax(0, 1fr)); }
  }
  /* Mobile */
  @media (max-width: 749px) {
    .bt-rga .bt-rg__header { flex-direction: column; align-items: stretch; }
    .bt-rga .bt-rg__header-right { width: 100%; }
    .bt-rga .bt-rg__btn { flex: 1; }
    .bt-rga .bt-rg__grid { grid-template-columns: repeat(var(--bt-rg-cols-m, 1), minmax(0, 1fr)); gap: 16px; }
    .bt-rga .bt-rg__card { padding: 14px 16px; border-radius: 12px; }
  }

  /* Pagination */
  .bt-rga .bt-rg__pagination {
    display: flex; align-items: center; justify-content: center;
    gap: 6px; margin-top: 28px; flex-wrap: nowrap;
  }
  .bt-rga .bt-rg__page-numbers { display: flex; gap: 6px; flex-wrap: wrap; min-width: 0; }
  .bt-rga .bt-rg__page-btn {
    min-width: 36px; height: 36px; padding: 0 10px;
    border-radius: 10px; border: 1px solid var(--bt-rg-card-border, rgba(0, 0, 0, 0.1));
    background: transparent; color: var(--bt-rg-heading-color, #1e1310);
    font-weight: 600; font-size: 14px; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    transition: background 0.15s, color 0.15s, transform 0.15s;
    font-family: inherit;
    flex-shrink: 0;
  }
  .bt-rga .bt-rg__page-btn--jump { gap: 2px; padding: 0 8px; }
  .bt-rga .bt-rg__page-btn:hover { background: rgba(0, 0, 0, 0.06); transform: translateY(-1px); }
  .bt-rga .bt-rg__page-btn--num.is-active {
    background: var(--bt-rg-accent, #fa5800); color: #fff;
    border-color: var(--bt-rg-accent, #fa5800);
  }
  .bt-rga .bt-rg__page-btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
  .bt-rga .bt-rg__chevron {
    display: inline-block; width: 8px; height: 8px;
    border-top: 2px solid currentColor; border-right: 2px solid currentColor;
  }
  .bt-rga .bt-rg__chevron--prev { transform: rotate(-135deg); margin-left: 2px; }
  .bt-rga .bt-rg__chevron--next { transform: rotate(45deg); margin-right: 2px; }

  /* Mobile pagination: horizontal scroll with active centered */
  @media (max-width: 749px) {
    .bt-rga .bt-rg__pagination { gap: 4px; flex-wrap: nowrap; }
    .bt-rga .bt-rg__page-numbers {
      flex-wrap: nowrap;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scrollbar-width: none;
      -ms-overflow-style: none;
      -webkit-overflow-scrolling: touch;
      scroll-behavior: smooth;
      padding: 2px;
      mask-image: linear-gradient(to right, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
      -webkit-mask-image: linear-gradient(to right, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
    }
    .bt-rga .bt-rg__page-numbers::-webkit-scrollbar { display: none; }
    .bt-rga .bt-rg__page-btn--num { scroll-snap-align: center; }
    .bt-rga .bt-rg__page-btn--jump { min-width: 34px; height: 34px; padding: 0 6px; }
  }

  /* Lightbox navigation + counter */
  .bt-rga .bt-rg__lightbox-nav {
    position: fixed; top: 50%;
    transform: translateY(-50%);
    width: 48px; height: 48px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.9);
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    z-index: 10; padding: 0;
    transition: background 0.15s, transform 0.15s;
  }
  .bt-rga .bt-rg__lightbox-nav:hover { background: rgba(0, 0, 0, 0.7); }
  .bt-rga .bt-rg__lightbox-nav:active { transform: translateY(-50%) scale(0.94); }
  .bt-rga .bt-rg__lightbox-nav--prev { left: 16px; }
  .bt-rga .bt-rg__lightbox-nav--next { right: 16px; }
  .bt-rga .bt-rg__lightbox-nav .bt-rg__chevron {
    width: 14px; height: 14px; border-width: 3px;
  }
  .bt-rga .bt-rg__lightbox-counter {
    position: fixed; bottom: 20px; left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.65); color: #fff;
    padding: 6px 14px; border-radius: 100px;
    font-size: 13px; font-weight: 500;
    z-index: 10;
  }
  @media (max-width: 749px) {
    .bt-rga .bt-rg__lightbox-nav { width: 40px; height: 40px; }
    .bt-rga .bt-rg__lightbox-nav--prev { left: 8px; }
    .bt-rga .bt-rg__lightbox-nav--next { right: 8px; }
    .bt-rga .bt-rg__lightbox-nav .bt-rg__chevron { width: 10px; height: 10px; border-width: 2.5px; }
  }

  /* Lightbox */
  .bt-rga .bt-rg__lightbox {
    position: fixed; inset: 0; background: rgba(0, 0, 0, 0.88);
    z-index: 9999; opacity: 0; visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    display: flex; align-items: center; justify-content: center; padding: 40px 20px;
  }
  .bt-rga .bt-rg__lightbox.is-open { opacity: 1; visibility: visible; }
  .bt-rga .bt-rg__lightbox-content { max-width: 95vw; max-height: 85vh; display: flex; align-items: center; justify-content: center; }
  .bt-rga .bt-rg__lightbox-content img,
  .bt-rga .bt-rg__lightbox-content video {
    max-width: 100%; max-height: 85vh; border-radius: 12px; display: block;
  }
  .bt-rga .bt-rg__lightbox-close {
    position: fixed; top: 20px; right: 20px;
    width: 44px; height: 44px; border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.9); background: rgba(0,0,0,0.65);
    color: #fff; cursor: pointer; font-size: 26px; line-height: 1;
    display: flex; align-items: center; justify-content: center; z-index: 10;
    padding: 0;
  }
  body.bt-rga-lightbox-open { overflow: hidden; }

  /* Review submission modal (iframe popup) */
  .bt-rga-modal {
    position: fixed; inset: 0; z-index: 10000;
    display: flex; align-items: center; justify-content: center;
  }
  .bt-rga-modal[hidden] { display: none; }
  .bt-rga-modal__backdrop {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(4px);
  }
  .bt-rga-modal__body {
    position: relative; max-width: 560px; width: 92%;
    max-height: 90vh; overflow: hidden; background: #fff;
    border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,0.35);
  }
  .bt-rga-modal__close {
    position: absolute; top: 8px; right: 10px;
    background: transparent; border: 0; font-size: 26px;
    line-height: 1; cursor: pointer; z-index: 1;
    width: 36px; height: 36px;
  }
/* END_SECTION:reviews-grid-api */

/* START_SECTION:reviews-grid (INDEX:56) */
.bt-rg { display: block; box-sizing: border-box; font-family: 'Rubik', sans-serif; }
  .bt-rg *, .bt-rg *::before, .bt-rg *::after { box-sizing: border-box; }
  .bt-rg__inner {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin: 0 auto;
  }

  /* Header */
  .bt-rg__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 24px;
  }
  .bt-rg__header-left {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .bt-rg__heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(22px, 3vw, 32px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-rg-heading-color, #1e1310);
  }
  .bt-rg__avg {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--bt-rg-muted, #777);
  }
  .bt-rg__avg-number {
    font-weight: 700;
    font-size: 20px;
    color: var(--bt-rg-heading-color, #1e1310);
  }
  .bt-rg__stars {
    color: var(--bt-rg-star, #fa5800);
    font-size: 16px;
    letter-spacing: 1px;
  }
  .bt-rg__count { color: var(--bt-rg-muted, #777); }

  .bt-rg__header-right {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
  }
  .bt-rg__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    border-radius: 100px;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.15s, opacity 0.15s;
    white-space: nowrap;
  }
  .bt-rg__btn:hover { transform: translateY(-1px); }
  .bt-rg__btn--primary {
    background: var(--bt-rg-accent, #fa5800);
    color: #fff;
    border: 2px solid var(--bt-rg-accent, #fa5800);
  }
  .bt-rg__btn--secondary {
    background: transparent;
    color: var(--bt-rg-heading-color, #1e1310);
    border: 2px solid currentColor;
  }

  /* Media strip */
  .bt-rg__media-strip {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 12px;
    margin-bottom: 20px;
    scrollbar-width: thin;
  }
  .bt-rg__media-tile {
    position: relative;
    flex: 0 0 auto;
    width: 110px;
    height: 110px;
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #eee;
    padding: 0;
    cursor: pointer;
    transition: transform 0.2s;
  }
  .bt-rg__media-tile:hover { transform: translateY(-2px); }
  .bt-rg__media-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .bt-rg__media-placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(45deg, #ff4040, #ffa500, #ffd700, #10b981, #3b82f6, #a855f7);
  }
  .bt-rg__media-play {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 36px; height: 36px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding-left: 2px;
  }

  /* Grid */
  .bt-rg__grid {
    display: grid;
    grid-template-columns: repeat(var(--bt-rg-cols-d, 2), minmax(0, 1fr));
    gap: 20px;
  }

  /* Card */
  .bt-rg__card {
    background: var(--bt-rg-card-bg, transparent);
    border: 1px solid var(--bt-rg-card-border, transparent);
    border-radius: 16px;
    padding: 20px 22px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: var(--bt-rg-text-color, #222);
  }
  .bt-rg__card-stars {
    display: flex;
    gap: 2px;
    color: var(--bt-rg-star, #fa5800);
    font-size: 18px;
    letter-spacing: 1px;
  }
  .bt-rg__star { opacity: 0.25; }
  .bt-rg__star--filled { opacity: 1; }

  .bt-rg__card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }
  .bt-rg__card-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    background: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
    font-weight: 600;
    font-size: 14px;
  }
  .bt-rg__card-avatar--letter {
    background: var(--bt-rg-accent, #fa5800);
  }
  .bt-rg__card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }
  .bt-rg__card-author {
    font-weight: 600;
    font-size: 15px;
    color: var(--bt-rg-heading-color, #1e1310);
  }
  .bt-rg__card-badge {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 100px;
    border: 1px solid var(--bt-rg-muted, #ccc);
    color: var(--bt-rg-muted, #777);
    font-weight: 500;
    white-space: nowrap;
  }
  .bt-rg__card-date {
    margin-left: auto;
    font-size: 13px;
    color: var(--bt-rg-muted, #888);
  }

  .bt-rg__card-title {
    margin: 0;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.25;
    color: var(--bt-rg-heading-color, #1e1310);
  }
  .bt-rg__card-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--bt-rg-text-color, #3a3230);
    white-space: pre-line;
  }

  .bt-rg__card-media {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 4px;
  }
  .bt-rg__card-media-tile {
    position: relative;
    width: 88px;
    height: 88px;
    border: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #eee;
    padding: 0;
    cursor: pointer;
    transition: transform 0.2s;
  }
  .bt-rg__card-media-tile:hover { transform: translateY(-2px); }
  .bt-rg__card-media-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .bt-rg__card.is-hidden { display: none !important; }

  .bt-rg__empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--bt-rg-muted, #777);
  }

  /* Pagination */
  .bt-rg__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 28px;
    flex-wrap: wrap;
  }
  .bt-rg__page-numbers {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
  }
  .bt-rg__page-btn {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 10px;
    border: 1px solid var(--bt-rg-card-border, rgba(0, 0, 0, 0.1));
    background: transparent;
    color: var(--bt-rg-heading-color, #1e1310);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s, transform 0.15s;
  }
  .bt-rg__page-btn:hover {
    background: rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
  }
  .bt-rg__page-btn--num.is-active {
    background: var(--bt-rg-accent, #fa5800);
    color: #fff;
    border-color: var(--bt-rg-accent, #fa5800);
  }
  .bt-rg__page-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    transform: none;
  }

  /* Tablet */
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-rg__grid {
      grid-template-columns: repeat(var(--bt-rg-cols-t, 2), minmax(0, 1fr));
    }
  }
  /* Mobile */
  @media (max-width: 749px) {
    .bt-rg__header {
      flex-direction: column;
      align-items: stretch;
    }
    .bt-rg__header-right { width: 100%; }
    .bt-rg__btn { flex: 1; }
    .bt-rg__grid {
      grid-template-columns: repeat(var(--bt-rg-cols-m, 1), minmax(0, 1fr));
      gap: 16px;
    }
    .bt-rg__card { padding: 16px 18px; border-radius: 14px; }
    .bt-rg__card-date { width: 100%; margin-left: 0; }
  }

  /* Lightbox */
  .bt-rg__lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.88);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
  }
  .bt-rg__lightbox.is-open { opacity: 1; visibility: visible; }
  .bt-rg__lightbox-content { max-width: 95vw; max-height: 85vh; display: flex; align-items: center; justify-content: center; }
  .bt-rg__lightbox-content img,
  .bt-rg__lightbox-content video {
    max-width: 100%;
    max-height: 85vh;
    border-radius: 12px;
    display: block;
  }
  .bt-rg__lightbox-close {
    position: fixed;
    top: 20px; right: 20px;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.9);
    background: rgba(0,0,0,0.65);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
  }
  body.bt-rg-lightbox-open { overflow: hidden; }
/* END_SECTION:reviews-grid */

/* START_SECTION:reviews-marquee-api (INDEX:57) */
.bt-rm { display: block; font-family: 'Rubik', sans-serif; overflow: hidden; position: relative; }
  .bt-rm *, .bt-rm *::before, .bt-rm *::after { box-sizing: border-box; }
  .bt-rm [hidden] { display: none !important; }
  .bt-rm .bt-media-broken {
    width: 100%; min-height: 80px;
    background: #f2f2f2;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; opacity: 0.6;
    border-radius: inherit;
  }

  .bt-rm__header {
    max-width: var(--page-width, 1480px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto 24px;
  }
  .bt-rm__heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(22px, 3vw, 36px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-rm-heading-color, #1e1310);
  }

  .bt-rm__loading { display: block; padding: 0; overflow: hidden; }
  .bt-rm__visually-hidden {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }

  /* Shimmer */
  .bt-rm__shimmer {
    background-color: rgba(0, 0, 0, 0.06);
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(0, 0, 0, 0) 100%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
    animation: bt-rm-shimmer 1.4s infinite linear;
  }
  @keyframes bt-rm-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
  }

  /* Skeleton mirrors marquee row layout */
  .bt-rm__skeleton-track {
    display: flex;
    gap: 16px;
    padding-inline: var(--page-margin, 20px);
  }
  .bt-rm__skeleton-card {
    flex: 0 0 var(--bt-rm-card-w, 320px);
    width: var(--bt-rm-card-w, 320px);
    background: var(--bt-rm-card-bg, #fff);
    border-radius: 14px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 4px 14px -6px rgba(0, 0, 0, 0.1);
    min-height: 140px;
  }
  .bt-rm__skeleton-top {
    display: flex;
    gap: 10px;
    align-items: center;
  }
  .bt-rm__skeleton-avatar {
    width: 32px; height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .bt-rm__skeleton-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .bt-rm__skeleton-line {
    height: 10px;
    border-radius: 5px;
  }
  .bt-rm__skeleton-line--name { width: 55%; height: 12px; }
  .bt-rm__skeleton-line--stars { width: 35%; }
  .bt-rm__skeleton-line--text { width: 100%; }
  .bt-rm__skeleton-line--text-short { width: 65%; }

  @media (prefers-reduced-motion: reduce) {
    .bt-rm__shimmer { animation: none; }
  }

  /* Rows + Track */
  .bt-rm__rows {
    display: flex;
    flex-direction: column;
    gap: var(--bt-rm-row-gap, 16px);
    overflow: hidden;
  }
  .bt-rm__track {
    display: flex;
    gap: 16px;
    width: max-content;
    will-change: transform;
    animation: bt-rm-scroll var(--bt-rm-duration, 40s) linear infinite;
  }
  .bt-rm__track:hover { animation-play-state: paused; }
  .bt-rm__track[data-direction="right"] { animation-direction: reverse; }
  @keyframes bt-rm-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  .bt-rm__card {
    flex: 0 0 var(--bt-rm-card-w, 320px);
    width: var(--bt-rm-card-w, 320px);
    background: var(--bt-rm-card-bg, #fff);
    border-radius: 14px;
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: 0 4px 14px -6px rgba(0, 0, 0, 0.1);
  }
  .bt-rm__card-top { display: flex; align-items: center; gap: 10px; }
  .bt-rm__card-avatar {
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--bt-rm-star, #fa5800); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 600; font-size: 13px; flex-shrink: 0;
  }
  .bt-rm__card-name { font-weight: 600; font-size: 14px; color: var(--bt-rm-heading-color, #1e1310); }
  .bt-rm__card-sub { font-size: 12px; color: var(--bt-rm-muted, #888); }
  .bt-rm__card-stars { color: var(--bt-rm-star, #fa5800); font-size: 14px; letter-spacing: 1px; line-height: 1; }
  .bt-rm__card-text {
    font-size: 14px; line-height: 1.45;
    color: var(--bt-rm-text-color, #3a3230);
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .bt-rm__card-info { display: flex; flex-direction: column; gap: 2px; }

  /* Media thumbnail on cards */
  .bt-rm__card-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16/10;
    border-radius: 10px;
    overflow: hidden;
    background: #eee;
    margin-top: 2px;
  }
  .bt-rm__card-media img,
  .bt-rm__card-media video {
    width: 100%; height: 100%; object-fit: cover; display: block;
  }
  .bt-rm__card-media-play {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 38px; height: 38px;
    background: rgba(0, 0, 0, 0.55); color: #fff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px; padding-left: 2px;
    pointer-events: none;
  }
  .bt-rm__card-media-count {
    position: absolute; top: 8px; right: 8px;
    background: rgba(0, 0, 0, 0.55); color: #fff;
    font-size: 11px; font-weight: 600;
    padding: 2px 7px; border-radius: 100px;
  }

  .bt-rm__empty { text-align: center; padding: 40px 20px; color: var(--bt-rm-muted, #888); }

  /* View all CTA button */
  .bt-rm__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 36px;
    padding: 0 var(--page-margin, 20px);
    flex-wrap: wrap;
  }
  .bt-rm__cta-text,
  .bt-rm__cta-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bt-rm-cta-color, #67361c);
    color: var(--bt-rm-cta-color, #67361c);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
    font-family: inherit;
  }
  .bt-rm__cta-text {
    padding: 14px 32px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 15px;
    line-height: 1;
  }
  .bt-rm__cta-arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .bt-rm__cta-text:hover,
  .bt-rm__cta-arrow:hover {
    background: var(--bt-rm-cta-color, #67361c);
    color: var(--bt-rm-cta-hover, #ffffff);
  }
/* END_SECTION:reviews-marquee-api */

/* START_SECTION:reviews-spotlight-api (INDEX:58) */
.bt-rsa { display: block; box-sizing: border-box; font-family: 'Rubik', sans-serif; }
  .bt-rsa *, .bt-rsa *::before, .bt-rsa *::after { box-sizing: border-box; }
  .bt-rsa .bt-rs__inner {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin: 0 auto;
  }
  .bt-rsa .bt-rs__header { text-align: center; margin-bottom: 32px; }
  .bt-rsa .bt-rs__heading {
    margin: 0; font-weight: 700;
    font-size: clamp(24px, 3.5vw, 40px); line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-rs-heading-color, #1e1310);
  }
  .bt-rsa .bt-rs__subheading { margin: 10px 0 0; font-size: 16px; color: var(--bt-rs-muted, #777); }

  .bt-rsa .bt-rs__loading { display: block; padding: 0; }
  .bt-rsa [hidden] { display: none !important; }
  .bt-rsa .bt-rs__visually-hidden {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }
  .bt-rsa .bt-media-broken {
    width: 100%; height: 100%; min-height: 80px;
    background: #f2f2f2;
    display: flex; align-items: center; justify-content: center;
    font-size: 32px; opacity: 0.6;
    border-radius: inherit;
  }

  /* Shimmer */
  .bt-rsa .bt-rs__shimmer {
    background-color: rgba(0, 0, 0, 0.06);
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(0, 0, 0, 0) 100%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
    animation: bt-rsa-shimmer 1.4s infinite linear;
  }
  @keyframes bt-rsa-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
  }

  /* Skeleton mirrors the real slide layout */
  .bt-rsa .bt-rs__skeleton-slide {
    background: var(--bt-rs-card-bg, #ffffff);
    border-radius: 24px;
    padding: 40px;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: center;
    box-shadow: 0 12px 30px -14px rgba(0, 0, 0, 0.18);
    min-height: 320px;
  }
  .bt-rsa .bt-rs__skeleton-media {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 20px;
  }
  .bt-rsa .bt-rs__skeleton-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .bt-rsa .bt-rs__skeleton-line {
    height: 14px;
    border-radius: 7px;
  }
  .bt-rsa .bt-rs__skeleton-line--stars { width: 35%; }
  .bt-rsa .bt-rs__skeleton-line--title { width: 60%; height: 22px; margin-bottom: 6px; }
  .bt-rsa .bt-rs__skeleton-line--text { width: 100%; height: 12px; }
  .bt-rsa .bt-rs__skeleton-line--text-short { width: 75%; height: 12px; }
  .bt-rsa .bt-rs__skeleton-line--author { width: 50%; margin-top: 10px; }

  @media (max-width: 989px) {
    .bt-rsa .bt-rs__skeleton-slide {
      grid-template-columns: 1fr;
      padding: 28px;
      gap: 24px;
    }
    .bt-rsa .bt-rs__skeleton-media {
      max-width: 240px;
      margin: 0 auto;
    }
  }
  @media (max-width: 749px) {
    .bt-rsa .bt-rs__skeleton-slide {
      padding: 22px;
      gap: 18px;
      border-radius: 18px;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .bt-rsa .bt-rs__shimmer { animation: none; }
  }

  .bt-rsa .bt-rs__stage { position: relative; min-height: 320px; }
  .bt-rsa .bt-rs__slide {
    position: absolute; inset: 0;
    opacity: 0; visibility: hidden;
    transform: translateX(20px);
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
    pointer-events: none;
  }
  .bt-rsa .bt-rs__slide.is-active {
    opacity: 1; visibility: visible; transform: translateX(0);
    position: relative; pointer-events: auto;
  }
  .bt-rsa .bt-rs__slide-inner {
    background: var(--bt-rs-card-bg, #ffffff);
    border-radius: 24px; padding: 40px;
    display: grid; grid-template-columns: 280px 1fr; gap: 40px;
    align-items: center;
    box-shadow: 0 12px 30px -14px rgba(0, 0, 0, 0.18);
  }
  .bt-rsa .bt-rs__media {
    position: relative; width: 100%; aspect-ratio: 1;
    border-radius: 20px; overflow: hidden; background: #eee;
  }
  .bt-rsa .bt-rs__gallery {
    width: 100%; height: 100%;
    display: grid; gap: 8px;
  }
  .bt-rsa .bt-rs__gallery[data-count="1"] { grid-template-columns: 1fr; }
  .bt-rsa .bt-rs__gallery[data-count="2"],
  .bt-rsa .bt-rs__gallery[data-count="3"] {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: repeat(2, 1fr);
  }
  .bt-rsa .bt-rs__gallery[data-count="2"] .bt-rs__gallery-item--main,
  .bt-rsa .bt-rs__gallery[data-count="3"] .bt-rs__gallery-item--main {
    grid-row: span 2;
  }
  .bt-rsa .bt-rs__gallery[data-count="2"] .bt-rs__gallery-item--thumb {
    grid-column: 2; grid-row: span 2;
  }
  .bt-rsa .bt-rs__gallery-item {
    position: relative; border: 0; padding: 0;
    overflow: hidden; border-radius: 14px; background: #eee;
    cursor: pointer; transition: transform 0.2s;
  }
  .bt-rsa .bt-rs__gallery-item:hover { transform: scale(1.02); }
  .bt-rsa .bt-rs__gallery-item img,
  .bt-rsa .bt-rs__gallery-item video { width: 100%; height: 100%; object-fit: cover; display: block; }
  .bt-rsa .bt-rs__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
  .bt-rsa .bt-rs__photo--letter {
    display: flex; align-items: center; justify-content: center;
    background: var(--bt-rs-accent, #fa5800);
    color: #fff; font-size: 72px; font-weight: 700;
  }
  .bt-rsa .bt-rs__gallery-play {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 44px; height: 44px;
    background: rgba(0, 0, 0, 0.55); color: #fff;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 16px; padding-left: 2px;
    pointer-events: none;
  }

  .bt-rsa .bt-rs__content { position: relative; display: flex; flex-direction: column; gap: 12px; }
  .bt-rsa .bt-rs__stars { color: var(--bt-rs-star, #fa5800); font-size: 18px; letter-spacing: 2px; }
  .bt-rsa .bt-rs__title { margin: 0; font-weight: 700; font-size: 22px; line-height: 1.2; color: var(--bt-rs-heading-color, #1e1310); }
  .bt-rsa .bt-rs__text { font-size: 17px; line-height: 1.5; color: var(--bt-rs-text-color, #3a3230); white-space: pre-line; }
  .bt-rsa .bt-rs__author-row {
    display: flex; align-items: center; gap: 8px; margin-top: 8px;
    font-size: 15px; color: var(--bt-rs-muted, #888); flex-wrap: wrap;
  }
  .bt-rsa .bt-rs__author-name { font-weight: 600; color: var(--bt-rs-heading-color, #1e1310); }
  .bt-rsa .bt-rs__author-badge {
    font-size: 11px; padding: 3px 8px; border-radius: 100px;
    border: 1px solid var(--bt-rs-muted, #ccc); color: var(--bt-rs-muted, #777);
  }
  .bt-rsa .bt-rs__admin-reply {
    margin-top: 12px; padding: 12px 16px;
    background: rgba(0,0,0,0.04); border-radius: 12px;
    font-size: 14px; line-height: 1.5;
  }
  .bt-rsa .bt-rs__admin-reply strong { color: var(--bt-rs-accent, #fa5800); }

  .bt-rsa .bt-rs__controls {
    display: flex; align-items: center; justify-content: center;
    gap: 16px; margin-top: 24px;
  }
  .bt-rsa .bt-rs__nav {
    width: 44px; height: 44px; border-radius: 50%;
    border: 2px solid var(--bt-rs-accent, #fa5800);
    background: transparent; color: var(--bt-rs-accent, #fa5800);
    cursor: pointer; display: inline-flex;
    align-items: center; justify-content: center;
    transition: background 0.15s, color 0.15s, transform 0.15s;
    padding: 0; position: relative; flex-shrink: 0;
  }
  .bt-rsa .bt-rs__nav::before {
    content: ''; display: inline-block;
    width: 10px; height: 10px;
    border-top: 2.5px solid currentColor;
    border-right: 2.5px solid currentColor;
    border-radius: 1px;
  }
  .bt-rsa .bt-rs__nav--prev::before { transform: rotate(-135deg); margin-left: 3px; }
  .bt-rsa .bt-rs__nav--next::before { transform: rotate(45deg); margin-right: 3px; }
  .bt-rsa .bt-rs__nav:hover { background: var(--bt-rs-accent, #fa5800); color: #fff; transform: translateY(-1px); }
  .bt-rsa .bt-rs__dots { display: flex; gap: 8px; }
  .bt-rsa .bt-rs__dot {
    width: 10px; height: 10px; border-radius: 50%;
    border: 0; background: var(--bt-rs-muted, #ccc);
    cursor: pointer; padding: 0;
    transition: background 0.15s, transform 0.15s;
  }
  .bt-rsa .bt-rs__dot:hover { transform: scale(1.2); }
  .bt-rsa .bt-rs__dot.is-active {
    background: var(--bt-rs-accent, #fa5800);
    transform: scale(1.3);
  }
  .bt-rsa .bt-rs__empty { text-align: center; padding: 60px 20px; color: var(--bt-rs-muted, #777); }

  /* View all CTA button */
  .bt-rsa .bt-rs__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
    flex-wrap: wrap;
  }
  .bt-rsa .bt-rs__cta-text,
  .bt-rsa .bt-rs__cta-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bt-rs-cta-color, #67361c);
    color: var(--bt-rs-cta-color, #67361c);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
    font-family: inherit;
  }
  .bt-rsa .bt-rs__cta-text {
    padding: 14px 32px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 15px;
    line-height: 1;
  }
  .bt-rsa .bt-rs__cta-arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .bt-rsa .bt-rs__cta-text:hover,
  .bt-rsa .bt-rs__cta-arrow:hover {
    background: var(--bt-rs-cta-color, #67361c);
    color: var(--bt-rs-cta-hover, #ffffff);
  }

  @media (max-width: 989px) {
    .bt-rsa .bt-rs__slide-inner {
      grid-template-columns: 1fr; padding: 28px; gap: 24px;
    }
    .bt-rsa .bt-rs__media { max-width: 240px; margin: 0 auto; }
  }
  @media (max-width: 749px) {
    .bt-rsa .bt-rs__slide-inner { padding: 22px; gap: 18px; border-radius: 18px; }
    .bt-rsa .bt-rs__text { font-size: 15px; }
    .bt-rsa .bt-rs__title { font-size: 18px; }
    .bt-rsa .bt-rs__controls { gap: 12px; }
    .bt-rsa .bt-rs__nav { width: 38px; height: 38px; }
  }

  /* Lightbox */
  .bt-rsa .bt-rs__lightbox {
    position: fixed; inset: 0; background: rgba(0, 0, 0, 0.88);
    z-index: 9999; opacity: 0; visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    display: flex; align-items: center; justify-content: center; padding: 40px 20px;
  }
  .bt-rsa .bt-rs__lightbox.is-open { opacity: 1; visibility: visible; }
  .bt-rsa .bt-rs__lightbox-content { max-width: 95vw; max-height: 85vh; }
  .bt-rsa .bt-rs__lightbox-content img,
  .bt-rsa .bt-rs__lightbox-content video { max-width: 95vw; max-height: 85vh; border-radius: 12px; display: block; }
  .bt-rsa .bt-rs__lightbox-close {
    position: fixed; top: 20px; right: 20px;
    width: 44px; height: 44px; border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.9);
    background: rgba(0,0,0,0.65); color: #fff;
    cursor: pointer; font-size: 26px; line-height: 1;
    display: flex; align-items: center; justify-content: center;
    z-index: 10; padding: 0; padding-bottom: 4px;
  }
  body.bt-rsa-lightbox-open { overflow: hidden; }
/* END_SECTION:reviews-spotlight-api */

/* START_SECTION:reviews-spotlight (INDEX:59) */
.bt-rs { display: block; box-sizing: border-box; font-family: 'Rubik', sans-serif; }
  .bt-rs *, .bt-rs *::before, .bt-rs *::after { box-sizing: border-box; }

  .bt-rs__inner {
    max-width: var(--page-width, 1480px);
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-rs__header {
    text-align: center;
    margin-bottom: 32px;
  }
  .bt-rs__heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(24px, 3.5vw, 40px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-rs-heading-color, #1e1310);
  }
  .bt-rs__subheading {
    margin: 10px 0 0;
    font-size: 16px;
    color: var(--bt-rs-muted, #777);
  }

  /* Stage - holds all slides stacked */
  .bt-rs__stage {
    position: relative;
    min-height: 320px;
  }

  .bt-rs__slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(20px);
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
    pointer-events: none;
  }
  .bt-rs__slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
    position: relative;
    pointer-events: auto;
  }

  .bt-rs__slide-inner {
    background: var(--bt-rs-card-bg, #ffffff);
    border-radius: 24px;
    padding: 40px;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: center;
    box-shadow: 0 12px 30px -14px rgba(0, 0, 0, 0.18);
  }

  .bt-rs__media {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 20px;
    overflow: hidden;
    background: #eee;
  }
  .bt-rs__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .bt-rs__photo--avatar { padding: 40px; object-fit: contain; background: var(--bt-rs-accent, #fa5800); }
  .bt-rs__photo--letter {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bt-rs-accent, #fa5800);
    color: #fff;
    font-size: 72px;
    font-weight: 700;
  }

  .bt-rs__content {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  /* Gallery (1-3 photos) */
  .bt-rs__gallery {
    width: 100%;
    height: 100%;
    display: grid;
    gap: 8px;
  }
  .bt-rs__gallery[data-count="1"] { grid-template-columns: 1fr; }
  .bt-rs__gallery[data-count="2"],
  .bt-rs__gallery[data-count="3"] {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: repeat(2, 1fr);
  }
  .bt-rs__gallery[data-count="2"] .bt-rs__gallery-item--main,
  .bt-rs__gallery[data-count="3"] .bt-rs__gallery-item--main {
    grid-row: span 2;
  }
  .bt-rs__gallery[data-count="2"] .bt-rs__gallery-item--thumb {
    grid-column: 2;
    grid-row: span 2;
  }
  .bt-rs__gallery-item {
    position: relative;
    border: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 14px;
    background: #eee;
    cursor: pointer;
    transition: transform 0.2s;
  }
  .bt-rs__gallery-item:hover { transform: scale(1.02); }
  .bt-rs__gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .bt-rs__stars {
    color: var(--bt-rs-star, #fa5800);
    font-size: 18px;
    letter-spacing: 2px;
  }
  .bt-rs__title {
    margin: 0;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.2;
    color: var(--bt-rs-heading-color, #1e1310);
  }
  .bt-rs__text {
    font-size: 17px;
    line-height: 1.5;
    color: var(--bt-rs-text-color, #3a3230);
    white-space: pre-line;
  }
  .bt-rs__author-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-size: 15px;
    color: var(--bt-rs-muted, #888);
    flex-wrap: wrap;
  }
  .bt-rs__author-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
  }
  .bt-rs__author-name {
    font-weight: 600;
    color: var(--bt-rs-heading-color, #1e1310);
  }
  .bt-rs__author-location { color: var(--bt-rs-muted, #888); }

  /* Controls */
  .bt-rs__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
  }
  .bt-rs__nav {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 2px solid var(--bt-rs-accent, #fa5800);
    background: transparent;
    color: var(--bt-rs-accent, #fa5800);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s, transform 0.15s;
    padding: 0;
    position: relative;
    flex-shrink: 0;
  }
  .bt-rs__nav::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 2.5px solid currentColor;
    border-right: 2.5px solid currentColor;
    border-radius: 1px;
  }
  .bt-rs__nav--prev::before {
    transform: rotate(-135deg);
    margin-left: 3px;
  }
  .bt-rs__nav--next::before {
    transform: rotate(45deg);
    margin-right: 3px;
  }
  .bt-rs__nav:hover {
    background: var(--bt-rs-accent, #fa5800);
    color: #fff;
    transform: translateY(-1px);
  }
  .bt-rs__dots {
    display: flex;
    gap: 8px;
  }
  .bt-rs__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 0;
    background: var(--bt-rs-muted, #ccc);
    cursor: pointer;
    padding: 0;
    transition: background 0.15s, transform 0.15s;
  }
  .bt-rs__dot:hover { transform: scale(1.2); }
  .bt-rs__dot.is-active {
    background: var(--bt-rs-accent, #fa5800);
    transform: scale(1.3);
  }

  .bt-rs__empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--bt-rs-muted, #777);
  }

  /* Lightbox */
  .bt-rs__lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.88);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
  }
  .bt-rs__lightbox.is-open { opacity: 1; visibility: visible; }
  .bt-rs__lightbox-content {
    max-width: 95vw;
    max-height: 85vh;
  }
  .bt-rs__lightbox-content img {
    max-width: 95vw;
    max-height: 85vh;
    border-radius: 12px;
    display: block;
  }
  .bt-rs__lightbox-close {
    position: fixed;
    top: 20px; right: 20px;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.9);
    background: rgba(0,0,0,0.65);
    color: #fff;
    cursor: pointer;
    font-size: 26px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    padding: 0;
    padding-bottom: 4px;
  }
  body.bt-rs-lightbox-open { overflow: hidden; }

  /* Tablet / Mobile */
  @media (max-width: 989px) {
    .bt-rs__slide-inner {
      grid-template-columns: 1fr;
      padding: 28px;
      gap: 24px;
      text-align: left;
    }
    .bt-rs__media {
      max-width: 220px;
      margin: 0 auto;
    }
    .bt-rs__quote-mark { font-size: 80px; top: -20px; left: 0; }
  }
  @media (max-width: 749px) {
    .bt-rs__slide-inner { padding: 22px; gap: 18px; border-radius: 18px; }
    .bt-rs__text { font-size: 15px; }
    .bt-rs__title { font-size: 18px; }
    .bt-rs__controls { gap: 12px; }
    .bt-rs__nav { width: 38px; height: 38px; }
  }
/* END_SECTION:reviews-spotlight */

/* START_SECTION:reviews-wall-api (INDEX:60) */
.bt-rw { display: block; font-family: 'Rubik', sans-serif; box-sizing: border-box; }
  .bt-rw *, .bt-rw *::before, .bt-rw *::after { box-sizing: border-box; }
  .bt-rw [hidden] { display: none !important; }
  .bt-rw .bt-media-broken {
    width: 100%; min-height: 120px;
    background: #f2f2f2;
    display: flex; align-items: center; justify-content: center;
    font-size: 32px; opacity: 0.6;
  }
  .bt-rw__inner {
    max-width: var(--page-width, 1480px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }
  .bt-rw__header { margin-bottom: 32px; }
  .bt-rw__heading {
    margin: 0; font-weight: 700;
    font-size: clamp(24px, 3.5vw, 40px); line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-rw-heading-color, #1e1310);
  }
  .bt-rw__subheading { margin: 10px 0 0; font-size: 16px; color: var(--bt-rw-muted, #777); }

  .bt-rw__loading { display: block; padding: 0; }
  .bt-rw__visually-hidden {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }

  /* Shimmer */
  .bt-rw__shimmer {
    background-color: rgba(0, 0, 0, 0.06);
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.55) 50%, rgba(0, 0, 0, 0) 100%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
    animation: bt-rw-shimmer 1.4s infinite linear;
  }
  @keyframes bt-rw-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
  }

  /* Skeleton wall mirrors masonry layout (CSS columns) */
  .bt-rw__skeleton-wall {
    column-count: var(--bt-rw-cols-d, 3);
    column-gap: 16px;
  }
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-rw__skeleton-wall { column-count: var(--bt-rw-cols-t, 2); }
  }
  @media (max-width: 749px) {
    .bt-rw__skeleton-wall { column-count: var(--bt-rw-cols-m, 1); column-gap: 12px; }
  }
  .bt-rw__skeleton-card {
    break-inside: avoid;
    margin-bottom: 16px;
    background: var(--bt-rw-card-bg, #fff);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 20px -8px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
  }
  .bt-rw__skeleton-media {
    width: 100%;
  }
  .bt-rw__skeleton-body {
    padding: 14px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .bt-rw__skeleton-line {
    height: 12px;
    border-radius: 6px;
  }
  .bt-rw__skeleton-line--stars { width: 35%; }
  .bt-rw__skeleton-line--text { width: 100%; }
  .bt-rw__skeleton-line--text-short { width: 60%; }

  @media (prefers-reduced-motion: reduce) {
    .bt-rw__shimmer { animation: none; }
  }

  /* Masonry via CSS columns */
  .bt-rw__wall {
    column-count: var(--bt-rw-cols-d, 3);
    column-gap: 16px;
  }
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-rw__wall { column-count: var(--bt-rw-cols-t, 2); }
  }
  @media (max-width: 749px) {
    .bt-rw__wall { column-count: var(--bt-rw-cols-m, 1); column-gap: 12px; }
  }

  .bt-rw__card {
    break-inside: avoid;
    margin-bottom: 16px;
    background: var(--bt-rw-card-bg, #fff);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 20px -8px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, box-shadow 0.2s;
  }
  .bt-rw__card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px -12px rgba(0, 0, 0, 0.25);
  }

  .bt-rw__card-media {
    position: relative;
    width: 100%;
    background: #eee;
    cursor: pointer;
    overflow: hidden;
  }
  .bt-rw__card-media img,
  .bt-rw__card-media video {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
  }
  .bt-rw__card:hover .bt-rw__card-media img { transform: scale(1.04); }
  .bt-rw__card-media-count {
    position: absolute; top: 10px; right: 10px;
    background: rgba(0,0,0,0.6); color: #fff;
    font-size: 12px; font-weight: 600;
    padding: 4px 8px; border-radius: 100px;
  }
  .bt-rw__card-media-play {
    position: absolute; top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 50px; height: 50px;
    background: rgba(0, 0, 0, 0.55); color: #fff;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    font-size: 18px; padding-left: 2px;
    pointer-events: none;
  }

  .bt-rw__card-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; }
  .bt-rw__card-stars { color: var(--bt-rw-star, #fa5800); font-size: 14px; letter-spacing: 1px; line-height: 1; }
  .bt-rw__card-text {
    font-size: 14px; line-height: 1.5;
    color: var(--bt-rw-text-color, #3a3230);
    white-space: pre-line;
  }
  .bt-rw__card-author {
    display: flex; align-items: center; gap: 8px;
    font-size: 13px; color: var(--bt-rw-muted, #888); margin-top: 2px;
  }
  .bt-rw__card-author-name { font-weight: 600; color: var(--bt-rw-heading-color, #1e1310); }
  .bt-rw__card-verified {
    display: inline-flex; align-items: center; justify-content: center;
    width: 16px; height: 16px; border-radius: 50%;
    background: #2bb673; color: #fff; font-size: 10px; font-weight: 700;
  }

  .bt-rw__empty { text-align: center; padding: 60px 20px; color: var(--bt-rw-muted, #777); }

  /* View all CTA button */
  .bt-rw__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 40px;
    flex-wrap: wrap;
  }
  .bt-rw__cta-text,
  .bt-rw__cta-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--bt-rw-cta-color, #67361c);
    color: var(--bt-rw-cta-color, #67361c);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
    font-family: inherit;
  }
  .bt-rw__cta-text {
    padding: 14px 32px;
    border-radius: 100px;
    font-weight: 500;
    font-size: 15px;
    line-height: 1;
  }
  .bt-rw__cta-arrow {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
  }
  .bt-rw__cta-text:hover,
  .bt-rw__cta-arrow:hover {
    background: var(--bt-rw-cta-color, #67361c);
    color: var(--bt-rw-cta-hover, #ffffff);
  }

  /* Lightbox */
  .bt-rw__lightbox {
    position: fixed; inset: 0; background: rgba(0, 0, 0, 0.88);
    z-index: 9999; opacity: 0; visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
    display: flex; align-items: center; justify-content: center; padding: 40px 20px;
  }
  .bt-rw__lightbox.is-open { opacity: 1; visibility: visible; }
  .bt-rw__lightbox-content { max-width: 95vw; max-height: 85vh; }
  .bt-rw__lightbox-content img,
  .bt-rw__lightbox-content video { max-width: 95vw; max-height: 85vh; border-radius: 12px; display: block; }
  .bt-rw__lightbox-close {
    position: fixed; top: 20px; right: 20px;
    width: 44px; height: 44px; border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.9);
    background: rgba(0,0,0,0.65); color: #fff;
    cursor: pointer; font-size: 26px; line-height: 1;
    display: flex; align-items: center; justify-content: center;
    z-index: 10; padding: 0; padding-bottom: 4px;
  }
  body.bt-rw-lightbox-open { overflow: hidden; }
/* END_SECTION:reviews-wall-api */

/* START_SECTION:reviews (INDEX:61) */
.reviews-section {
    width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }

  .reviews-section__heading {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: clamp(32px, 5vw, 56px);
    line-height: 90%;
    letter-spacing: -0.02em;
    text-align: center;
    color: var(--reviews-heading-color, #67361C);
    margin: 0 0 40px 0;
    padding: 0 20px;
  }

  .reviews-section__rows {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 40px;
  }

  .reviews-section__row {
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      black 60px,
      black calc(100% - 60px),
      transparent 100%
    );
    mask-image: linear-gradient(
      to right,
      transparent 0,
      black 60px,
      black calc(100% - 60px),
      transparent 100%
    );
  }

  .reviews-section__track {
    display: flex;
    gap: 20px;
    width: max-content;
    animation-duration: var(--reviews-scroll-speed, 60s);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
  }

  .reviews-section__row--rtl .reviews-section__track {
    animation-name: reviews-scroll-rtl;
  }

  .reviews-section__row--ltr .reviews-section__track {
    animation-name: reviews-scroll-ltr;
  }

  .reviews-section__row:hover .reviews-section__track {
    animation-play-state: paused;
  }

  @keyframes reviews-scroll-rtl {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
  }

  @keyframes reviews-scroll-ltr {
    0%   { transform: translateX(-50%); }
    100% { transform: translateX(0); }
  }

  @media (prefers-reduced-motion: reduce) {
    .reviews-section__track {
      animation: none;
    }
  }

  .reviews-card {
    flex: 0 0 315px;
    width: 315px;
    min-height: 283px;
    background: var(--reviews-card-bg, #F8F8F8);
    border-radius: 24px;
    padding: 30px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .reviews-card__header {
    display: flex;
    align-items: center;
    gap: 17px;
  }

  .reviews-card__avatar {
    flex-shrink: 0;
    width: 67px;
    height: 67px;
    border-radius: 10px;
    object-fit: cover;
    background: #E5E5E5;
  }

  .reviews-card__avatar-placeholder {
    flex-shrink: 0;
    width: 67px;
    height: 67px;
    border-radius: 10px;
    background: #E5E5E5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
  }

  .reviews-card__meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
  }

  .reviews-card__name {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--reviews-name-color, #070607);
    margin: 0;
  }

  .reviews-card__stars {
    font-size: 16px;
    line-height: 20px;
    color: #070607;
    letter-spacing: 1px;
  }

  .reviews-card__date {
    font-family: 'Rubik', sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 16px;
    color: #888;
    margin-top: 2px;
  }

  .reviews-card__text {
    font-family: 'Rubik', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 140%;
    color: var(--reviews-text-color, #1F3F13);
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
  }

  .reviews-card--has-media {
    min-height: 0;
  }

  .reviews-card--has-media .reviews-card__text {
    -webkit-line-clamp: 3;
  }

  .reviews-card__media {
    width: 100%;
    border-radius: 14px;
    overflow: hidden;
    background: #000;
    aspect-ratio: 16 / 10;
    position: relative;
    cursor: zoom-in;
  }

  .reviews-card__media::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.2s ease;
    pointer-events: none;
    border-radius: inherit;
  }

  .reviews-card__media:hover::after {
    background: rgba(0, 0, 0, 0.15);
  }

  .reviews-card__media.is-non-clickable {
    cursor: default;
  }

  .reviews-card__media.is-non-clickable::after {
    display: none;
  }

  .reviews-card__image,
  .reviews-card__video,
  .reviews-card__video-iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border: 0;
  }

  .reviews-card__image--demo {
    background: #e8e8e8;
  }

  .reviews-card__video-wrapper {
    position: absolute;
    inset: 0;
  }

  .reviews-card__video-demo {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .reviews-card__video-demo-bg {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(135deg, rgba(103, 54, 28, 0.85), rgba(31, 63, 19, 0.85)),
      repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 2px, transparent 2px, transparent 10px);
  }

  .reviews-card__video-demo-play {
    position: relative;
    z-index: 2;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.95);
    color: #67361C;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: transform 0.2s ease, background 0.2s ease;
  }

  .reviews-card__video-demo-play svg {
    width: 24px;
    height: 24px;
    margin-left: 3px;
  }

  .reviews-card__video-demo-play:hover {
    transform: scale(1.08);
    background: #fff;
  }

  .reviews-card__video-demo-label {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    font-family: 'Rubik', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
    padding: 3px 8px;
    border-radius: 4px;
  }

  .reviews-section__row.is-swiping .reviews-section__track,
  .reviews-section__row.is-paused .reviews-section__track {
    animation-play-state: paused !important;
  }

  .reviews-section__row.is-swiping {
    cursor: grabbing;
  }

  .reviews-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
  }

  .reviews-lightbox.is-open {
    display: flex;
  }

  .reviews-lightbox__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    cursor: zoom-out;
    animation: reviews-lightbox-fadein 0.2s ease;
  }

  .reviews-lightbox__close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s ease, transform 0.2s ease;
  }

  .reviews-lightbox__close:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: rotate(90deg);
  }

  .reviews-lightbox__content {
    position: relative;
    z-index: 1;
    max-width: min(1200px, calc(100vw - 40px));
    max-height: calc(100vh - 40px);
    display: flex;
    align-items: center;
    justify-content: center;
    animation: reviews-lightbox-zoomin 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .reviews-lightbox__content img,
  .reviews-lightbox__content video {
    max-width: 100%;
    max-height: calc(100vh - 40px);
    width: auto;
    height: auto;
    border-radius: 14px;
    display: block;
    object-fit: contain;
    background: #000;
  }

  .reviews-lightbox__content iframe {
    width: min(1000px, calc(100vw - 40px));
    aspect-ratio: 16 / 9;
    max-height: calc(100vh - 40px);
    border-radius: 14px;
    border: 0;
  }

  @keyframes reviews-lightbox-fadein {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes reviews-lightbox-zoomin {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
  }

  body.reviews-lightbox-open {
    overflow: hidden;
  }

  .reviews-section__cta {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
  }

  .reviews-section__cta-group {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  .reviews-section__button,
  .reviews-section__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 11px 24px;
    border: 1px solid var(--reviews-button-color, #67361C);
    border-radius: 100px;
    font-family: 'Rubik', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 90%;
    letter-spacing: -0.02em;
    color: var(--reviews-button-color, #67361C);
    text-decoration: none;
    background: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
    box-sizing: border-box;
  }

  .reviews-section__arrow {
    width: 44px;
    padding: 11px;
    font-weight: 800;
  }

  .reviews-section__arrow span {
    display: inline-block;
    transform: rotate(-45deg);
  }

  .reviews-section__cta-group:hover .reviews-section__button,
  .reviews-section__cta-group:hover .reviews-section__arrow,
  .reviews-section__cta-group:focus-within .reviews-section__button,
  .reviews-section__cta-group:focus-within .reviews-section__arrow {
    background: var(--reviews-button-color, #67361C);
    color: #fff;
  }

  @media (max-width: 749px) {
    .reviews-section__heading {
      text-align: left;
      font-size: 32px;
      padding: 0 20px;
      margin-bottom: 24px;
    }

    .reviews-card {
      flex: 0 0 280px;
      width: 280px;
      padding: 24px;
    }

    .reviews-card__avatar,
    .reviews-card__avatar-placeholder {
      width: 56px;
      height: 56px;
    }

    .reviews-card__name {
      font-size: 18px;
    }

    .reviews-card__text {
      font-size: 16px;
    }

    .reviews-section__cta {
      padding: 0 20px;
    }
  }
/* END_SECTION:reviews */

/* START_SECTION:specialization-grid (INDEX:67) */
.bt-sg {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
  }
  .bt-sg *, .bt-sg *::before, .bt-sg *::after { box-sizing: border-box; }
  .bt-sg[style*="--sg-bg"] { background: var(--sg-bg); }

  .bt-sg__inner {
    max-width: var(--page-width, 1480px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }

  .bt-sg__section-header {
    margin-bottom: 32px;
  }
  .bt-sg__section-heading {
    margin: 0 0 10px;
    font-weight: 900;
    font-size: clamp(24px, 3vw, 40px);
    line-height: 0.95;
    letter-spacing: -0.02em;
    color: var(--color-foreground, #1e1310);
    /* Explicit `none` overrides theme-wide `h2 { text-transform: uppercase }`
       (Horizon ships one). Without this, our heading is forced caps no
       matter what the toggle says. The modifier below opts back into caps. */
    text-transform: none !important;
  }
  .bt-sg__section-heading--uppercase {
    text-transform: uppercase !important;
  }
  /* Highlighted word/phrase in the heading — color is set inline from
     the section setting `heading_highlight_color` so each section can use
     a different accent without CSS bloat. */
  .bt-sg__heading-highlight {
    color: var(--sg-highlight-color, #fa5800);
  }
  .bt-sg__section-subheading {
    margin: 0;
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.5;
    color: var(--color-foreground, #3a3230);
    opacity: 0.8;
  }

  /* Grid */
  .bt-sg__grid {
    display: grid;
    grid-template-columns: repeat(var(--sg-cols-d, 3), minmax(0, 1fr));
    gap: var(--sg-gap, 30px);
  }
  @media (max-width: 989px) {
    .bt-sg__grid {
      grid-template-columns: repeat(var(--sg-cols-t, 2), minmax(0, 1fr));
    }
  }
  @media (max-width: 749px) {
    .bt-sg__grid {
      grid-template-columns: repeat(var(--sg-cols-m, 1), minmax(0, 1fr));
      gap: 20px;
    }
  }

  /* «3 + 2» layout — opt-in via «Cards layout» setting. Uses a 6-column
     grid where each card spans 2 cols (so 3 cards per row). When there
     are exactly 5 cards, the bottom 2 are nudged into cols 2-3 and 4-5
     so they're visually centered on the full-width grid.
     Tablet keeps the same behavior. Mobile falls back to a single column
     (or whatever `cols_mobile` says) — 3+2 makes no sense on tiny screens. */
  .bt-sg__grid--three-two {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .bt-sg__grid--three-two > .bt-sg__card {
    grid-column: span 2;
  }
  .bt-sg__grid--three-two > .bt-sg__card:nth-child(4):nth-last-child(2) {
    grid-column: 2 / span 2;
  }
  .bt-sg__grid--three-two > .bt-sg__card:nth-child(5):nth-last-child(1) {
    grid-column: 4 / span 2;
  }
  /* 4-cards case → 3 + 1 centered */
  .bt-sg__grid--three-two > .bt-sg__card:nth-child(4):nth-last-child(1) {
    grid-column: 3 / span 2;
  }
  @media (max-width: 989px) {
    /* Tablet — keep 3+2 working but allow 2 cols span if user prefers
       a denser look. We keep 6-col grid for consistency. */
    .bt-sg__grid--three-two { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  }
  @media (max-width: 749px) {
    /* Mobile fallback — drop the 3+2 trick, use the configured column
       count from `cols_mobile`. Centering 5 cards is a desktop concern. */
    .bt-sg__grid--three-two {
      grid-template-columns: repeat(var(--sg-cols-m, 1), minmax(0, 1fr));
    }
    .bt-sg__grid--three-two > .bt-sg__card,
    .bt-sg__grid--three-two > .bt-sg__card:nth-child(4):nth-last-child(2),
    .bt-sg__grid--three-two > .bt-sg__card:nth-child(5):nth-last-child(1),
    .bt-sg__grid--three-two > .bt-sg__card:nth-child(4):nth-last-child(1) {
      grid-column: auto;
    }
  }

  /* Card base */
  .bt-sg__card {
    position: relative;
    border-radius: var(--sg-radius, 15px);
    overflow: hidden;
    aspect-ratio: var(--sg-aspect, 490 / 368);
    color: inherit;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  a.bt-sg__card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px -12px rgba(0, 0, 0, 0.25);
  }

  /* Text card */
  .bt-sg__card--text {
    background: rgba(103, 54, 28, 0.05);
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding: clamp(28px, 3vw, 44px);
  }
  .bt-sg__text-inner {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: 100%;
  }
  .bt-sg__text-heading {
    margin: 0;
    font-weight: 900;
    font-size: clamp(22px, 2.2vw, 32px);
    line-height: 0.9;
    letter-spacing: -0.02em;
    color: var(--sg-text-color, #67361c);
  }
  .bt-sg__text-description {
    font-weight: 500;
    font-size: clamp(14px, 1.1vw, 18px);
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--sg-text-color, #67361c);
  }
  .bt-sg__text-description p { margin: 0 0 0.7em; }
  .bt-sg__text-description p:last-child { margin-bottom: 0; }
  .bt-sg__text-description a { color: inherit; text-underline-offset: 2px; }

  /* Image card */
  .bt-sg__card--image {
    background: #eee;
  }
  .bt-sg__image-wrap {
    position: absolute;
    inset: 0;
    overflow: hidden;
  }
  .bt-sg__image-wrap img,
  .bt-sg__image-placeholder svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.55s ease;
  }
  a.bt-sg__card--image:hover .bt-sg__image-wrap img { transform: scale(1.05); }
  .bt-sg__image-placeholder {
    width: 100%;
    height: 100%;
    background: #f0f0f0;
  }

  /* Tag overlay */
  .bt-sg__tag {
    position: absolute;
    left: clamp(14px, 2vw, 30px);
    bottom: clamp(14px, 2vw, 30px);
    padding: 18px 22px;
    border-radius: 15px;
    background: #fa5800;
    color: #fff0fb;
    display: inline-flex;
    flex-direction: column;
    gap: 12px;
    max-width: calc(100% - clamp(28px, 4vw, 60px));
    z-index: 2;
    pointer-events: none;
  }
  .bt-sg__tag-title {
    font-weight: 700;
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.15;
    letter-spacing: -0.02em;
  }
  .bt-sg__tag-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    font-size: clamp(13px, 1.1vw, 15px);
    line-height: 1;
    letter-spacing: -0.02em;
    opacity: 0.82;
  }
  .bt-sg__tag-icon {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    display: block;
  }

  .bt-sg__empty {
    text-align: center;
    padding: 40px 20px;
    color: rgba(0, 0, 0, 0.5);
    font-size: 14px;
  }

  /* Tablet and mobile tag adjustments */
  @media (max-width: 749px) {
    .bt-sg__tag {
      left: 14px;
      bottom: 14px;
      padding: 14px 18px;
      border-radius: 12px;
      gap: 10px;
      max-width: calc(100% - 28px);
    }
    .bt-sg__card--text { padding: 24px; }
  }
/* END_SECTION:specialization-grid */

/* START_SECTION:text-with-gallery (INDEX:68) */
.bt-tim {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
  }
  .bt-tim *, .bt-tim *::before, .bt-tim *::after { box-sizing: border-box; }
  .bt-tim[style*="--bt-tim-bg"] { background: var(--bt-tim-bg); }

  .bt-tim__inner {
    display: flex;
    gap: var(--bt-tim-gap, 60px);
    max-width: var(--page-width, 1480px);
    padding: 0 var(--page-margin, 20px);
    margin: 0 auto;
  }
  .bt-tim__inner--text-right {
    flex-direction: row-reverse;
  }
  .bt-tim__inner--align-start { align-items: flex-start; }
  .bt-tim__inner--align-center { align-items: center; }
  .bt-tim__inner--align-end { align-items: flex-end; }

  /* Text column */
  .bt-tim__text {
    flex: 0 0 var(--bt-tim-text-width, 33%);
    max-width: var(--bt-tim-text-width, 33%);
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
  .bt-tim__heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(26px, 3vw, 44px);
    line-height: 1;
    letter-spacing: -0.02em;
    color: var(--bt-tim-heading-color, #67361c);
  }
  .bt-tim__description {
    font-weight: 400;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: var(--bt-tim-text-color, #67361c);
  }
  .bt-tim__description p { margin: 0 0 0.7em; }
  .bt-tim__description p:last-child { margin-bottom: 0; }
  .bt-tim__description a { color: inherit; text-underline-offset: 2px; }

  .bt-tim__button {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 12px 28px;
    border-radius: 100px;
    background: var(--bt-tim-heading-color, #67361c);
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: transform 0.15s, opacity 0.15s;
  }
  .bt-tim__button:hover { transform: translateY(-1px); opacity: 0.92; }
  .bt-tim__button--outline {
    background: transparent;
    border: 1.5px solid currentColor;
    color: var(--bt-tim-heading-color, #67361c);
  }
  .bt-tim__button--outline:hover {
    background: var(--bt-tim-heading-color, #67361c);
    color: #fff;
  }
  .bt-tim__note {
    margin: 4px 0 0;
    font-size: 14px;
    color: var(--bt-tim-text-color, #67361c);
    opacity: 0.85;
  }

  /* Gallery */
  .bt-tim__gallery {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(var(--bt-tim-cols-d, 2), minmax(0, 1fr));
    gap: var(--bt-tim-img-gap, 20px);
  }

  .bt-tim__image {
    position: relative;
    aspect-ratio: var(--bt-tim-aspect, 1 / 1);
    border-radius: var(--bt-tim-radius, 24px);
    overflow: hidden;
    background: #eee;
    color: inherit;
    text-decoration: none;
    display: block;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  a.bt-tim__image:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px -12px rgba(0, 0, 0, 0.25);
  }
  .bt-tim__image img,
  .bt-tim__image-placeholder svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
  }
  a.bt-tim__image:hover img { transform: scale(1.04); }
  .bt-tim__image-placeholder {
    width: 100%;
    height: 100%;
    background: #f0f0f0;
  }
  .bt-tim__image-caption {
    position: absolute;
    left: 16px;
    bottom: 16px;
    right: 16px;
    padding: 10px 14px;
    background: rgba(0, 0, 0, 0.72);
    color: #fff;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  /* Tablet adjustments */
  @media (max-width: 989px) and (min-width: 750px) {
    .bt-tim__inner {
      gap: 32px;
    }
    .bt-tim__text {
      flex: 0 0 40%;
      max-width: 40%;
    }
  }

  /* Mobile */
  @media (max-width: 749px) {
    /* Force `align-items: stretch` so both text + gallery span the full row
       width once the parent flips to column-direction. The desktop rule above
       (.bt-tim__inner--align-start/center/end) controls cross-axis alignment,
       which on column-direction becomes horizontal — without `stretch` here,
       the gallery shrinks to its natural width and the carousel items'
       `flex: 0 0 82%` resolves against an undefined width, collapsing to
       zero (images disappear on real phones). */
    .bt-tim__inner,
    .bt-tim__inner--text-right,
    .bt-tim__inner--align-start,
    .bt-tim__inner--align-center,
    .bt-tim__inner--align-end {
      flex-direction: column;
      gap: 24px;
      align-items: stretch;
    }
    .bt-tim__text {
      flex: 0 0 auto;
      max-width: 100%;
      width: 100%;
    }
    /* Belt-and-suspenders: explicit full width on the gallery so the
       carousel's percentage flex-basis always has a concrete container. */
    .bt-tim__gallery {
      width: 100%;
      align-self: stretch;
    }

    /* Stack layout on mobile */
    .bt-tim__inner--mobile-stack .bt-tim__gallery {
      grid-template-columns: 1fr;
      gap: 16px;
    }

    /* Carousel layout on mobile — horizontal scroll with snap */
    .bt-tim__inner--mobile-carousel .bt-tim__gallery {
      display: flex;
      grid-template-columns: unset;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      gap: 14px;
      scrollbar-width: none;
      padding-inline: var(--page-margin, 20px);
      margin-inline: calc(-1 * var(--page-margin, 20px));
      scroll-padding-inline: var(--page-margin, 20px);
    }
    .bt-tim__inner--mobile-carousel .bt-tim__gallery::-webkit-scrollbar { display: none; }
    .bt-tim__inner--mobile-carousel .bt-tim__image {
      flex: 0 0 82%;
      scroll-snap-align: start;
      min-width: 0;
    }
  }
/* END_SECTION:text-with-gallery */

/* START_SECTION:under-construction (INDEX:69) */
.bt-uc {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
    padding-left: var(--page-margin, 20px);
    padding-right: var(--page-margin, 20px);
  }
  .bt-uc *, .bt-uc *::before, .bt-uc *::after { box-sizing: border-box; }
  .bt-uc[style*="--bt-uc-bg"] { background: var(--bt-uc-bg); }

  .bt-uc__inner {
    max-width: calc(var(--page-width, 1480px) - 2 * var(--page-margin, 20px));
    margin: 0 auto;
  }

  .bt-uc__card {
    background: var(--bt-uc-card-bg, #FFF6E5);
    border-radius: var(--bt-uc-radius, 50px);
    padding: clamp(40px, 5vw, 80px) clamp(24px, 4vw, 60px);
    min-height: var(--bt-uc-min-h, 480px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(24px, 3vw, 40px);
    text-align: center;
  }

  /* Image */
  .bt-uc__image {
    width: var(--bt-uc-img-size, 280px);
    max-width: 100%;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .bt-uc__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }

  /* Emoji fallback */
  .bt-uc__emoji {
    font-size: clamp(72px, 12vw, 140px);
    line-height: 1;
    flex-shrink: 0;
  }

  /* Content area */
  .bt-uc__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(14px, 1.6vw, 20px);
    max-width: 640px;
  }

  .bt-uc__eyebrow {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--bt-uc-btn-bg, #FA5800);
    opacity: 0.9;
  }

  .bt-uc__heading {
    margin: 0;
    font-weight: 800;
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1;
    letter-spacing: -0.02em;
    text-transform: none;
    color: inherit;
  }

  .bt-uc__description {
    font-size: clamp(15px, 1.3vw, 18px);
    line-height: 1.5;
    color: inherit;
    opacity: 0.85;
    max-width: 540px;
  }
  .bt-uc__description p { margin: 0 0 0.6em; }
  .bt-uc__description p:last-child { margin: 0; }
  .bt-uc__description a { color: inherit; text-underline-offset: 2px; }
  .bt-uc__description strong { font-weight: 600; }

  .bt-uc__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: var(--bt-uc-btn-bg, #FA5800);
    color: var(--bt-uc-btn-text, #FFFFFF);
    height: 50px;
    padding: 0 32px;
    border-radius: var(--bt-uc-btn-radius, 50px);
    font-weight: 600;
    font-size: 16px;
    font-family: inherit;
    line-height: 1.2;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity 0.18s ease, transform 0.12s ease;
    margin-top: 8px;
    appearance: none;
    -webkit-appearance: none;
  }
  .bt-uc__button:hover {
    opacity: 0.92;
    transform: translateY(-1px);
  }

  /* Side layouts (left / right) — desktop */
  @media (min-width: 750px) {
    .bt-uc--img-left .bt-uc__card,
    .bt-uc--img-right .bt-uc__card {
      flex-direction: row;
      text-align: left;
      gap: clamp(28px, 4vw, 56px);
    }
    .bt-uc--img-right .bt-uc__card {
      flex-direction: row-reverse;
    }
    .bt-uc--img-left .bt-uc__content,
    .bt-uc--img-right .bt-uc__content {
      align-items: flex-start;
      max-width: none;
      flex: 1 1 0;
    }
    .bt-uc--img-left .bt-uc__image,
    .bt-uc--img-right .bt-uc__image {
      width: clamp(220px, 28vw, 340px);
    }
  }

  /* Mobile — always center, image on top */
  @media (max-width: 749px) {
    .bt-uc__card {
      padding: 40px 22px;
      border-radius: clamp(20px, 5vw, 30px);
      min-height: 0;
    }
    .bt-uc__image {
      width: clamp(160px, 50vw, 240px);
    }
    .bt-uc__heading {
      font-size: clamp(24px, 7vw, 34px);
    }
    .bt-uc__description {
      font-size: 15px;
    }
    .bt-uc__button {
      width: 100%;
      max-width: 320px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .bt-uc__button { transition: none; }
  }
/* END_SECTION:under-construction */

/* CSS from block stylesheet tags */
/* START_BLOCK:_announcement (INDEX:71) */
.text-block {
    width: var(--width);
    max-width: 100%;
  }

  .text-block > * {
    width: var(--width);
    max-width: var(--max-width, 100%);
    text-align: var(--text-align);
  }

  .text-block:not(.text-block--full-width).rte,
  .text-block:not(.text-block--full-width).paragraph {
    /* Safari doesn't support pretty, so fallback to balance */
    text-wrap: balance;
    text-wrap: pretty;
  }

  .text-block:not(.text-block--full-width).h1,
  .text-block:not(.text-block--full-width).h2,
  .text-block:not(.text-block--full-width).h3,
  .text-block:not(.text-block--full-width).h4,
  .text-block:not(.text-block--full-width).h5,
  .text-block:not(.text-block--full-width).h6 {
    text-wrap: balance;
  }

  /* Hide underline unless text is using paragraph styles. */
  .text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) a {
    text-decoration-color: transparent;
  }

  .text-block h1,
  .text-block.h1 > * {
    margin-block: var(--font-h1--spacing);
  }

  .text-block h2,
  .text-block.h2 > * {
    margin-block: var(--font-h2--spacing);
  }

  .text-block h3,
  .text-block.h3 > * {
    margin-block: var(--font-h3--spacing);
  }

  .text-block h4,
  .text-block.h4 > * {
    margin-block: var(--font-h4--spacing);
  }

  .text-block h5,
  .text-block.h5 > * {
    margin-block: var(--font-h5--spacing);
  }

  .text-block h6,
  .text-block.h6 > * {
    margin-block: var(--font-h6--spacing);
  }

  .text-block > *:first-child {
    margin-block-start: 0;
  }

  .text-block > *:last-child {
    margin-block-end: 0;
  }

  .text-block--align-center,
  .text-block--align-center > * {
    margin-inline: auto;
  }

  .text-block--align-right,
  .text-block--align-right > * {
    margin-inline-start: auto;
  }
/* END_BLOCK:_announcement */

/* START_BLOCK:_blog-post-card (INDEX:72) */
.blog-post-card {
    display: flex;
    flex-direction: column;
    text-align: var(--text-align);
  }

  .blog-post-item .blog-post-card__image-container,
  .blog-post-item .blog-post-card__content {
    width: 100%;
  }

  .blog-post-item:first-child .blog-post-card {
    flex-direction: row;

    @media screen and (width < 750px) {
      flex-direction: column;
    }
  }

  .blog-post-item:first-child .blog-post-card__image-container {
    width: 70%;

    @media screen and (width < 750px) {
      width: 100%;
    }
  }

  .blog-post-item:first-child:has(.blog-post-card__image-container) .blog-post-card__content {
    padding-inline-start: var(--columns-gap);
    width: 30%;

    @media screen and (width < 750px) {
      padding-inline-start: 0;
      width: 100%;
    }
  }

  .blog-post-card__content {
    padding-block-start: 0.4rem;
    display: flex;
    flex-direction: column;
  }

  .blog-post-card__content a,
  .blog-post-card__content .blog-post-card__content-text {
    display: block;
    text-wrap: pretty;
    text-decoration: none;
    padding-block-start: 0.75rem;
  }

  .blog-post-card__content a:hover,
  .blog-post-card__content a:hover [style*='--color: var(--color-primary)'] {
    color: var(--color-primary-hover);
  }

  .blog-post-card__content a:hover [style*='--color: var(--color-foreground-heading)'] {
    color: rgba(from var(--color-foreground-heading) r g b / var(--opacity-subdued-text));
  }

  .blog-post-card__content a:hover [style*='--color: var(--color-foreground)'] {
    color: rgba(from var(--color-foreground) r g b / var(--opacity-subdued-text));
  }
/* END_BLOCK:_blog-post-card */

/* START_BLOCK:_blog-post-content (INDEX:73) */
.blog-post-content {
    max-width: var(--normal-content-width);
    margin: 0 auto;
  }
/* END_BLOCK:_blog-post-content */

/* START_BLOCK:_blog-post-image (INDEX:74) */
.blog-post-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    height: calc(var(--blog-post-card-img-height) * var(--blog-post-card-scale));
  }

  .blog-post-card__image--small {
    --blog-post-card-img-height: 280px;
  }

  .blog-post-card__image--medium {
    --blog-post-card-img-height: 340px;
  }

  .blog-post-card__image--large {
    --blog-post-card-img-height: 400px;
  }
/* END_BLOCK:_blog-post-image */

/* START_BLOCK:_blog-post-info-text (INDEX:75) */
.blog-post-details {
    display: flex;
    gap: var(--gap-sm);
    font-size: var(--font-size--paragraph);
    color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text));
    white-space: nowrap;
  }
  .blog-post-details > span {
    text-overflow: clip;
    overflow: hidden;
  }
/* END_BLOCK:_blog-post-info-text */

/* START_BLOCK:_cart-products (INDEX:76) */
.cart-page--empty .cart-items__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-block-start: 0;
    text-align: center;
  }

  .cart-page__title + .cart-page__items {
    margin-block-start: var(--margin-lg);
  }
/* END_BLOCK:_cart-products */

/* START_BLOCK:_cart-summary (INDEX:77) */
.cart__summary-item { display: flex; align-items: center; justify-content: space-between; }
  .cart__summary-item.tax-note { font-size: var(--cart-font-size--sm); }
  .cart__discount-label { display: flex; align-items: center; gap: var(--gap-2xs); }
  .cart__total { align-items: baseline; font-weight: var(--font-weight-bold); }
  .cart__tax-note { color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text)); }
  .cart__discount-label svg { width: var(--icon-size-sm); height: var(--icon-size-sm); display: inline-block; }

  .cart__summary-inner {
    display: flex; flex-direction: column; align-items: center; gap: var(--gap-md);
    container-type: inline-size; padding: var(--padding-xl);
    background-color: #ffffff; border-radius: 30px; width: 100%; max-width: 100%; box-sizing: border-box;
    @media screen and (width >= 750px) { padding: 24px; gap: var(--gap-lg); height: auto; min-height: auto; }
  }

  .cart__delivery-block { background-color: transparent; }
  body:has(> #header-group .header[sticky]) .cart__summary-inner { top: var(--header-height, 0); }

  .cart__summary-container {
    @media screen and (width <= 749px) { border: none; }
    @media screen and (width >= 750px) { padding-top: 64px; display: block; margin-bottom: 0; padding-bottom: 0; }
  }

  .cart__summary-container:not(.cart__container--extend),
  .cart__summary-container:not(.cart__container--extend) .cart__summary-inner { height: auto; background-color: #ffffff; border-radius: 30px; }
  .cart__summary-container, .cart__delivery-block { width: 100%; max-width: 100%; }

  .cart__container--extend {
    height: 100%; background-color: #ffffff; border-radius: 30px;
    @media screen and (width >= 750px) { border-right: none; border-top-right-radius: 0; border-bottom-right-radius: 0; }
  }
  .cart__container--extend:not(.has-border-radius) { @media screen and (width >= 750px) { border-top: none; border-bottom: none; } }

  @media (max-width: 768px) {
    .cart__summary-inner { margin-top: 15px; }
    .cart__delivery-button { margin-top: 30px !important; }
    .cart__gift-button { margin-top: 30px !important; }
    .cart__delivery-label { font-family: 'Rubik', sans-serif; font-weight: 700 !important; font-size: 16px !important; line-height: 140% !important; }
    .cart__delivery-time { font-family: 'Rubik', sans-serif; font-weight: 700 !important; font-size: 16px !important; line-height: 140% !important; }
    .cart__gift-title { font-family: 'Rubik', sans-serif; font-weight: 700 !important; font-size: 16px !important; line-height: 140% !important; }
    .cart__delivery-title { font-family: 'Rubik', sans-serif; font-weight: 700 !important; font-size: 16px !important; line-height: 140% !important; }
    .cart__delivery-description { font-family: 'Rubik', sans-serif; font-weight: 400 !important; font-size: 14px !important; line-height: 140% !important; }
    .cart__gift-description { font-family: 'Rubik', sans-serif; font-weight: 400 !important; font-size: 14px !important; line-height: 140% !important; }
  }

  @media (min-width: 769px) {
    .cart__delivery-label { font-family: 'Rubik', sans-serif; font-weight: 700 !important; font-size: 18px !important; line-height: 140% !important; }
    .cart__delivery-time { font-family: 'Rubik', sans-serif; font-weight: 700 !important; font-size: 18px !important; line-height: 140% !important; }
    .cart__gift-title { font-family: 'Rubik', sans-serif; font-weight: 700 !important; font-size: 18px !important; line-height: 140% !important; }
    .cart__delivery-title { font-family: 'Rubik', sans-serif; font-weight: 700 !important; font-size: 18px !important; line-height: 140% !important; }
    .cart__delivery-description { font-family: 'Rubik', sans-serif; font-weight: 400 !important; font-size: 16px !important; line-height: 140% !important; }
    .cart__gift-description { font-family: 'Rubik', sans-serif; font-weight: 400 !important; font-size: 16px !important; line-height: 140% !important; }
  }

  .cart__container--extend .cart__summary-inner {
    height: 100%; padding: var(--padding-md) 0 var(--padding-4xl); background-color: #ffffff; border-radius: 30px;
    @media screen and (width >= 750px) { padding-inline: var(--page-margin); width: var(--sidebar-width); height: auto; min-height: auto; }
  }
  .cart__summary-inner.has-border-radius { border-radius: 30px; background-color: #ffffff; }

  .cart__order-info { width: 100%; text-align: left; }
  .cart__order-title { font-family: 'Rubik', sans-serif; font-weight: 700; font-size: 28px; line-height: 90%; letter-spacing: -2%; color: #8B4513; margin-bottom: 16px; display: none; text-transform: none; }
  @media screen and (min-width: 750px) { .cart__order-title { display: block; } }

  .cart__delivery-info { margin-bottom: 16px; }
  .cart__delivery-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
  .cart__delivery-label { font-size: 15px; font-weight: 600; color: #8B4513; }
  .cart__delivery-time { font-size: 15px; font-weight: 700; color: #8B4513; display: flex; align-items: center; gap: 4px; }
  .cart__delivery-asterisk { color: #ff6b00; }
  .cart__delivery-note { font-size: 13px; color: #999999; margin: 0; line-height: 1.4; }
  @media screen and (min-width: 750px) { .cart__delivery-label { font-size: 18px; } .cart__delivery-time { font-size: 18px; } .cart__delivery-note { font-size: 14px; } }

  /* === Timeline variant of "Срок виготовлення" — same visual family as
     blocks/delivery-timeline.liquid but scoped to the cart summary. ===
     Uses CSS vars set inline on the element so the merchant can recolor
     circles + lines from the schema. The waiting step (between Purchase
     and Production) is hidden by default; JS toggles `hidden` off when
     productionInfo.hasWaiting === true and gives its circle a distinct
     orange tint. */
  .cart__delivery-timeline {
    display: flex;
    align-items: flex-start;
    gap: 0;
    padding: 4px 8px 8px;
    width: 100%;
    box-sizing: border-box;
  }
  .cart__tl-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    min-width: 0;
    flex-shrink: 0;
  }
  .cart__tl-step[hidden] { display: none; }
  .cart__tl-circle {
    width: var(--tl-icon-size, 48px);
    height: var(--tl-icon-size, 48px);
    border-radius: 50%;
    background: var(--tl-circle-bg, #1a1a1a);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background-color 0.2s ease;
  }
  .cart__tl-circle--waiting {
    background: var(--tl-waiting-bg, #E89B2C);
  }
  .cart__tl-circle svg {
    width: 50%;
    height: 50%;
    color: var(--tl-icon-color, #FFFFFF);
    stroke: currentColor;
    fill: none;
  }
  .cart__tl-line {
    flex: 1 1 auto;
    height: 2px;
    background: var(--tl-line-color, #1a1a1a);
    align-self: flex-start;
    /* Centre the connector vertically against the circles by pushing it
       down half the circle height. */
    margin-top: calc(var(--tl-icon-size, 48px) / 2 - 1px);
    min-width: 12px;
  }
  .cart__tl-line[hidden] { display: none; }
  .cart__tl-date {
    font-family: 'Rubik', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    color: #1a1a1a;
    white-space: nowrap;
    text-align: center;
  }
  /* Date-range parts — `from / sep / to` wrapped in spans by JS so we
     can break the second date onto its own line on phones (so a long
     range like "5 травня - 7 травня" doesn't get squashed/cropped under
     a narrow circle column). */
  .cart__tl-d-from, .cart__tl-d-to { display: inline; }
  .cart__tl-d-sep { display: inline; }
  /* Full month format ("5 травня") is much wider than short ("5 тра")
     and overflows even on desktop. Force the second date onto its own
     line right after the dash separator regardless of viewport. */
  .cart__delivery-timeline[data-tl-month-format="full"] .cart__tl-d-to { display: block; }
  .cart__delivery-timeline[data-tl-month-format="full"] .cart__tl-date {
    white-space: normal;
    overflow-wrap: break-word;
    word-break: keep-all;
    width: 100%;
  }
  .cart__tl-label {
    font-family: 'Rubik', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
    color: #666;
    max-width: 90px;
    text-align: center;
    word-break: break-word;
  }
  /* Spinner placeholder inside the circle while we don't yet know the
     date (initial state before _ds + production check finish). */
  .cart__tl-date.is-loading {
    color: #999;
    font-weight: 500;
  }
  /* Mobile: tighter sizing + allow date wrap on narrow screens */
  @media (max-width: 749px) {
    .cart__delivery-timeline { padding: 2px 4px 6px; }
    .cart__tl-circle {
      width: calc(var(--tl-icon-size, 48px) * 0.8);
      height: calc(var(--tl-icon-size, 48px) * 0.8);
    }
    .cart__tl-line {
      margin-top: calc(var(--tl-icon-size, 48px) * 0.4 - 1px);
    }
    .cart__tl-date {
      font-size: 11px;
      /* Allow the date range to wrap when the column is narrow — the
         second date drops onto its own line so it isn't cropped. */
      white-space: normal;
      overflow-wrap: break-word;
      word-break: keep-all;
      width: 100%;
    }
    .cart__tl-d-to { display: block; }
    .cart__tl-label { font-size: 10px; max-width: 70px; }
  }
  @media (min-width: 750px) {
    .cart__tl-date { font-size: 14px; }
    .cart__tl-label { font-size: 13px; }
  }

  /* Low-stock note — 2-col layout: icon/image on the left, text right.
     `display: flex` is set inline by JS when the warning is active;
     stays display: none otherwise. */
  .cart__lowstock-note { margin-top: 12px; padding: 12px 14px; background: #FFF8E1; border-left: 3px solid #F59E0B; border-radius: 8px; font-family: 'Rubik', sans-serif; font-size: 13px; line-height: 1.45; color: #92400E; align-items: center; gap: 12px; }
  .cart__lowstock-icon { flex-shrink: 0; width: 56px; height: 56px; border-radius: 8px; overflow: hidden; background: #FFEDC2; display: flex; align-items: center; justify-content: center; color: #F59E0B; }
  .cart__lowstock-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .cart__lowstock-icon--svg svg { width: 28px; height: 28px; }
  .cart__lowstock-text { flex: 1 1 auto; min-width: 0; }
  .cart__lowstock-note strong { font-size: 14px; font-weight: 600; color: #78350F; }
  .cart__lowstock-icon { font-size: 14px; }
  .cart__lowstock-detail { font-size: 12px; color: #A16207; }
  @media (min-width: 750px) { .cart__lowstock-note { font-size: 14px; } .cart__lowstock-note strong { font-size: 15px; } .cart__lowstock-detail { font-size: 13px; } }

  .bricktopia-low-stock-item-warning { font-family: 'Rubik', sans-serif; font-size: 13px; font-weight: 500; color: #D4880F; margin-top: 2px; line-height: 1.4; }
  @media screen and (min-width: 750px) { .bricktopia-low-stock-item-warning { font-size: 14px; } }

  .cart__promo-hint { width: 100%; }
  .cart__promo-hint-divider { width: 100%; height: 1px; background-color: #e5ddd5; }
  .cart__promo-hint-text { font-family: 'Rubik', sans-serif; font-size: 13px; font-weight: 400; font-style: italic; color: #b5a89a; text-align: left; margin: 10px 0; line-height: 1.4; }
  @media screen and (min-width: 750px) { .cart__promo-hint-text { font-size: 14px; margin: 12px 0; } }

  .bricktopia-time-spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid #e0d6cc; border-top-color: #8B4513; border-radius: 50%; animation: bricktopia-time-spin 0.8s linear infinite; vertical-align: middle; }
  @keyframes bricktopia-time-spin { to { transform: rotate(360deg); } }

  /* ===== ІКОНКИ СПОСОБІВ ОПЛАТИ ===== */
  .cart__payment-icons { width: 100%; margin-top: 10px; }
  .cart__payment-icons-row { display: flex; justify-content: center; align-items: center; gap: var(--payment-icon-gap-mobile, 6px); flex-wrap: nowrap; }
  .cart__payment-icon { display: inline-flex; align-items: center; justify-content: center; height: var(--payment-icon-height-mobile, 24px); padding: 0; border-radius: 0; overflow: visible; background: transparent; border: none; flex-shrink: 0; }
  .cart__payment-icon svg { height: var(--payment-icon-height-mobile, 24px); width: auto; display: block; }
  .cart__payment-icon--custom { padding: 0; }
  .cart__payment-icon--custom img { height: var(--payment-icon-height-mobile, 24px); width: auto; display: block; object-fit: contain; border-radius: var(--payment-icon-cod-radius, 4px); }

  @media screen and (min-width: 750px) {
    .cart__payment-icons { margin-top: 12px; }
    .cart__payment-icons-row { gap: var(--payment-icon-gap-desktop, 8px); }
    .cart__payment-icon { height: var(--payment-icon-height-desktop, 26px); }
    .cart__payment-icon svg { height: var(--payment-icon-height-desktop, 26px); }
    .cart__payment-icon--custom img { height: var(--payment-icon-height-desktop, 26px); }
  }

  /* Блок доставки */
  .cart__delivery-block { max-height: 220px; width: 100%; max-width: 100%; background: linear-gradient(135deg, #E1BEE7 0%, #C8A2C8 100%); border-radius: 30px; padding: 0; margin-top: var(--margin-lg); box-sizing: border-box; position: relative; overflow: hidden; }
  .cart__delivery-inner { width: 100%; height: 100%; background-image: url('/cdn/shop/files/PLATIZKA_11.png?v=1751134001'); background-repeat: no-repeat; background-position: right bottom; background-size: auto 100%; position: relative; border-radius: 30px; overflow: hidden; }
  .cart__delivery-content-wrapper { max-height: 220px; padding: 24px; height: 100%; box-sizing: border-box; }
  .cart__delivery-content { width: 90%; display: flex; justify-content: flex-start; align-items: center; margin-bottom: 16px; padding-right: 140px; }
  .cart__delivery-text { flex: 1; }
  .cart__delivery-title { font-family: 'Rubik', sans-serif; font-weight: 500; font-size: 18px; line-height: 90%; letter-spacing: -2%; color: #67361C; margin: 0 0 8px 0; text-transform: none; }
  .cart__delivery-description { font-family: 'Rubik', sans-serif; font-weight: 500; font-size: 18px; line-height: 90%; letter-spacing: -2%; color: #67361C; margin: 0; }
  .cart__delivery-button { background-color: #ffffff !important; color: #8B5CF6 !important; border-radius: 100px !important; border: none !important; outline: none !important; box-shadow: none !important; font-family: 'Rubik', sans-serif !important; font-weight: 700 !important; font-size: 18px !important; line-height: 90% !important; letter-spacing: -2% !important; text-align: center !important; text-transform: none !important; padding: 16px 32px; width: 100% !important; transition: all 0.3s ease !important; cursor: pointer; }
  .cart__delivery-button:hover { background-color: #f5f5f5 !important; color: #8B5CF6 !important; transform: translateY(-3px); }
  .cart__delivery-button:focus, .cart__delivery-button:active { border: none !important; outline: none !important; box-shadow: none !important; }

  /* Блок подарунку */
  .cart__gift-block { max-height: 220px; width: 100%; max-width: 100%; background: linear-gradient(135deg, #F8C8D8 0%, #E8A0B8 100%); border-radius: 30px; padding: 0; margin-top: var(--margin-lg); box-sizing: border-box; position: relative; overflow: hidden; }
  .cart__gift-inner { width: 100%; height: 100%; background-image: url('/cdn/shop/files/PLATIZKA_12.png?v=1751135158'); background-repeat: no-repeat; background-position: right bottom; background-size: auto 100%; position: relative; border-radius: 30px; overflow: hidden; }
  .cart__gift-content-wrapper { padding: 24px; height: 100%; box-sizing: border-box; }
  .cart__gift-content { display: flex; justify-content: flex-start; align-items: center; margin-bottom: 16px; padding-right: 140px; }
  .cart__gift-text { flex: 1; }
  .cart__gift-title { font-family: 'Rubik', sans-serif; font-weight: 500; font-size: 18px; line-height: 90%; letter-spacing: -2%; color: #67361C; margin: 0 0 8px 0; text-transform: none; }
  .cart__gift-description { font-family: 'Rubik', sans-serif; font-weight: 500; font-size: 18px; line-height: 90%; letter-spacing: -2%; color: #67361C; margin: 0; }
  .cart__gift-button { background-color: #ffffff !important; color: #E91E63 !important; border-radius: 100px !important; border: none !important; outline: none !important; box-shadow: none !important; font-family: 'Rubik', sans-serif !important; font-weight: 700 !important; font-size: 18px !important; line-height: 90% !important; letter-spacing: -2% !important; text-align: center !important; text-transform: none !important; padding: 16px 32px !important; width: 100% !important; transition: all 0.3s ease !important; cursor: pointer; }
  .cart__gift-button:hover { background-color: #f5f5f5 !important; color: #E91E63 !important; transform: translateY(-3px); }
  .cart__gift-button:focus, .cart__gift-button:active { border: none !important; outline: none !important; box-shadow: none !important; }

  /* Приховування блоків */
  .cart__delivery-block[data-hidden-duplicate="true"], .cart__gift-block[data-hidden-upsell="true"], .cart__delivery-block[style*="display: none"], .cart__gift-block[style*="display: none"] { display: none !important; margin: 0 !important; padding: 0 !important; height: 0 !important; min-height: 0 !important; max-height: 0 !important; overflow: hidden !important; opacity: 0 !important; visibility: hidden !important; position: absolute !important; left: -9999px !important; width: 0 !important; }
  .cart__summary-container + .cart__delivery-block, .cart__summary-container + .cart__delivery-block + .cart__gift-block { margin-top: var(--margin-lg); }
  .cart__delivery-block[data-hidden-duplicate="true"] + .cart__gift-block, .cart__gift-block[data-hidden-upsell="true"] + .cart__delivery-block { margin-top: var(--margin-lg) !important; }
  .hidden-completely { display: none !important; position: absolute !important; left: -9999px !important; top: -9999px !important; width: 0 !important; height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: hidden !important; opacity: 0 !important; visibility: hidden !important; z-index: -1 !important; }

  @media screen and (max-width: 749px) {
    .cart__delivery-title { font-size: 18px; }
    .cart__delivery-description { font-size: 18px; }
    .cart__delivery-inner { background-image: url('/cdn/shop/files/PLATIZKA_11.png?v=1751134001'); background-size: auto 100%; background-position: right bottom; }
    .cart__delivery-content-wrapper { max-height: 220px; padding: 16px; }
    .cart__delivery-content { padding-right: 120px; }
    .cart__delivery-button { font-size: 18px; padding: 16px 32px; }
    .cart__gift-title { font-size: 18px; }
    .cart__gift-description { font-size: 18px; }
    .cart__gift-inner { background-image: url('/cdn/shop/files/PLATIZKA_12.png?v=1751135158'); background-size: auto 100%; background-position: right bottom; }
    .cart__gift-content-wrapper { max-height: 220px; padding: 16px; }
    .cart__gift-content { padding-right: 120px; }
    .cart__gift-button { font-size: 18px !important; padding: 16px 32px !important; }
  }

  .cart__total, .cart-summary__total, .totals__total { display: flex !important; align-items: baseline !important; justify-content: space-between !important; font-weight: var(--font-weight-bold) !important; width: 100% !important; }
  .cart__total::before, .cart-summary__total::before, .totals__total::before { content: "Усього:" !important; font-size: 21px !important; font-weight: 700 !important; color: #8B4513 !important; }
  @media screen and (min-width: 750px) { .cart__total::before, .cart-summary__total::before, .totals__total::before { font-size: 24px !important; } }
  .cart-summary__divider, .totals__divider, .cart__divider, hr { display: none !important; }
  .cart__total, .cart-summary__total, .totals__total { border-top: none !important; border-bottom: none !important; border: none !important; }

  @media screen and (width <= 749px) {
    .inherit-parent-scheme--mobile { --color-background: inherit; --color-foreground: inherit; --color-primary: inherit; --color-primary-hover: inherit; --color-border: inherit; --color-shadow: inherit; --color-foreground-heading: inherit; --color-primary-button-text: inherit; --color-primary-button-background: inherit; --color-primary-button-border: inherit; --color-primary-button-hover-text: inherit; --color-primary-button-hover-background: inherit; --color-primary-button-hover-border: inherit; --color-secondary-button-text: inherit; --color-secondary-button-background: inherit; --color-secondary-button-border: inherit; --color-secondary-button-hover-text: inherit; --color-secondary-button-hover-background: inherit; --color-secondary-button-hover-border: inherit; --color-input-text: inherit; --color-input-background: inherit; }
  }

  .cart__checkout-button, .cart-summary__checkout-button, button[name="checkout"], [data-checkout-button] { transition: all 0.3s ease !important; touch-action: manipulation; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
  .cart__checkout-button:hover, .cart-summary__checkout-button:hover, button[name="checkout"]:hover, [data-checkout-button]:hover { transform: translateY(-3px); }
/* END_BLOCK:_cart-summary */

/* START_BLOCK:_cart-title (INDEX:78) */
.cart-title h1 {
    margin-block-end: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-sm);
  }

  .cart-title .cart-bubble {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--style-border-radius-buttons-primary);
    aspect-ratio: auto;
    padding: var(--cart-padding);
  }

  .cart-title .cart-bubble[data-maintain-ratio] {
    aspect-ratio: 1;
    min-width: 26px;
  }

  .cart-title .cart-bubble__background {
    background-color: rgb(from var(--color-foreground) r g b / 10%);
  }

  .cart-title .cart-bubble__text {
    color: var(--color-foreground);
    font-family: var(--font-paragraph--family);
    font-size: clamp(var(--cart-font-size--2xs), 0.7lh, var(--cart-font-size--xs));
  }
/* END_BLOCK:_cart-title */

/* START_BLOCK:_collection-card-image (INDEX:79) */
.collection-card__image {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: var(--ratio);
    z-index: var(--layer-base);
    overflow: hidden;
  }

  .collection-card__image--placeholder {
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:_collection-card-image */

/* START_BLOCK:_collection-image (INDEX:80) */
.collection-image {
    width: var(--image-width);
  }

  .collection-image .collection-image__featured-image {
    aspect-ratio: var(--ratio);
    object-fit: cover;
  }
/* END_BLOCK:_collection-image */

/* START_BLOCK:_collection-link (INDEX:82) */
.collection-links__link {
    --min-font-size: var(--font-size--4xl);
    --max-font-size: var(--font-size--6xl);

    display: flex;
    color: inherit;
    text-decoration: none;
    text-wrap: pretty;
    font-size: clamp(var(--min-font-size), 4.5vw, var(--max-font-size));

    @media (hover: hover) {
      opacity: var(--disabled-opacity);
    }

    [layout='spotlight'] & {
      opacity: var(--disabled-opacity);
    }

    &[aria-selected='true'] {
      opacity: 1;
    }

    .text-block {
      display: inline-block;
    }

    @media (width < 750px) {
      --min-font-size: var(--font-size--3xl);
      --max-font-size: var(--font-size--5xl);

      [layout='spotlight'] & {
        white-space: nowrap;
        scroll-snap-align: start;

        span {
          text-wrap: nowrap;
        }
      }
    }
  }

  .collection-links__count {
    font-size: 0.5em;
    opacity: var(--disabled-opacity);
    font-weight: var(--font-paragraph--weight);
  }

  .collection-links__image {
    align-items: center;
    justify-content: center;

    &:not([hidden]) {
      display: flex;
    }

    &[reveal] {
      --offset: 15px;

      position: fixed;
      top: 0;
      left: 0;
      z-index: var(--layer-temporary);
      display: block;
      translate: calc(var(--x) + var(--offset)) calc(var(--y) + var(--offset));
      pointer-events: none;
      width: auto;

      image-block {
        --image-height-basis: 5rem;
        height: var(--image-height);
      }
    }
  }
/* END_BLOCK:_collection-link */

/* START_BLOCK:_featured-product (INDEX:88) */
.featured-product-content-top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--gap-sm);
  }

  .featured-product-content-bottom:not(:has(product-swatches)) {
    display: none;
  }
/* END_BLOCK:_featured-product */

/* START_BLOCK:_footer-policy-list (INDEX:90) */
.policy_list {
    display: flex;
    gap: var(--gap-2xs) var(--gap-sm);
    /* Depending on the content, some smaller desktop layouts will need to wrap the items to fit everything */
    flex-wrap: wrap;
    justify-content: center;

    @media screen and (width >= 750px) {
      justify-content: flex-start;
    }
  }
/* END_BLOCK:_footer-policy-list */

/* START_BLOCK:_footer-social-icons (INDEX:91) */
.social-icons__wrapper {
    display: flex;
    gap: var(--gap-sm);
    flex-wrap: wrap;
    justify-content: center;

    @media screen and (width >= 750px) {
      flex-wrap: nowrap;
      justify-content: flex-start;
    }
  }
/* END_BLOCK:_footer-social-icons */

/* START_BLOCK:_header-logo (INDEX:92) */
.header-logo {
    display: flex;
    height: 100%;
    font-size: var(--font-size--md);
    font-family: var(--font-family);
    font-weight: var(--font-weight);
    font-style: var(--font-style);
    color: var(--color-foreground);
    justify-content: center;
    align-items: center;
    text-decoration: none;

    /* Make sure the logo visually hugs the left edge of the column when it is the first item in the left column */
    margin-inline: calc(-1 * var(--padding-inline-start));

    &[data-hidden-on-home-page] {
      display: none;

      #header-component:is(
          [sticky='always']:not([data-scroll-direction='none']),
          [sticky='scroll-up'][data-scroll-direction='up']
        )
        & {
        display: flex;
      }
    }

    @media screen and (width < 750px) {
      padding: 0;
    }

    @media screen and (width >= 750px) {
      flex-shrink: 0;
    }

    &:hover {
      text-decoration: none;
    }
  }

  .header-logo__image {
    object-fit: contain;
    height: var(--header-logo-image-height-mobile);
    width: var(--header-logo-image-width-mobile);

    @media screen and (width >= 750px) {
      height: var(--header-logo-image-height);
      width: var(--header-logo-image-width);
    }
  }

  .header-logo:has(.header-logo__image-container--inverse) .header-logo__image-container--original {
    display: var(--header-logo-display, block);
  }

  .header-logo__image-container--inverse {
    display: var(--header-logo-inverse-display, none);
  }
/* END_BLOCK:_header-logo */

/* START_BLOCK:_header-menu (INDEX:93) */
.menu-list--mobile {
    &.menu-list {
      display: grid;
    }

    & .menu-list__list {
      width: max-content;
      margin-inline: auto;
      gap: var(--menu-horizontal-gap);
    }

    & li {
      width: max-content;
      padding-block: var(--padding-sm);
    }

    & li:first-of-type {
      padding-inline-start: var(--menu-horizontal-gap);
    }

    & li:last-of-type {
      padding-inline-end: var(--menu-horizontal-gap);
    }

    & a {
      color: var(--color-foreground);
    }
  }

  .menu-list__scroll-container {
    position: relative;
    overflow-x: auto;
    mask-image: linear-gradient(to right, transparent, black 20px, black calc(100% - 20px), transparent);
    padding-block: var(--padding-2xs);
  }

  header-menu {
    width: 100%;
  }

  /* Drawer menu featured content */
  .menu-drawer__featured-content {
    z-index: var(--layer-lowest);
    container-type: inline-size;
  }

  .menu-drawer__featured-content--childlist {
    z-index: var(--layer-flat);
  }

  .menu-drawer__featured-content-list {
    display: flex;
    gap: 1em;
    overflow-x: auto;
    padding-block-end: var(--padding-lg);
  }

  .menu-drawer__featured-content-list-item {
    flex: 0 0 auto;
  }

  .menu-drawer__featured-content-list-item--product {
    width: 35cqi;
  }

  .menu-drawer__featured-content-list-item--collection img.resource-card__image {
    width: 80cqi;
  }

  .menu-drawer__featured-content-list-item:first-child {
    margin-inline-start: var(--margin-xl);
  }

  .menu-drawer__featured-content-list-item:last-child {
    margin-inline-end: var(--margin-xl);
  }

  .menu-list {
    --menu-horizontal-gap: var(--gap-xl);
    --menu-vertical-gap: var(--gap-xl);

    display: flex;
  }

  .menu-list__list {
    display: flex;
    justify-content: var(--grid-area-alignment);
  }

  .menu-list__list-item {
    flex-shrink: 0;
    white-space: nowrap;
  }

  .menu-list__list-item[aria-hidden='true'] {
    visibility: hidden;
  }

  .menu-list__link {
    font-family: var(--menu-top-level-font-family);
    font-style: var(--menu-top-level-font-style);
    font-weight: var(--menu-top-level-font-weight);
    font-size: var(--menu-top-level-font-size);
    line-height: var(--menu-top-level-font-line-height);
    text-transform: var(--menu-top-level-font-case);
    color: var(--menu-top-level-font-color);
    transition: color var(--animation-speed) var(--animation-easing);
    text-decoration: none;
    display: flex;
    min-height: var(--minimum-touch-target);
    align-items: center;

    &:hover,
    &:focus {
      color: var(--menu-top-level-font-color);
    }

    @media screen and (width >= 750px) {
      font-size: var(--menu-top-level-font-size-desktop);
    }
  }

  /*
      High specificity selectors to subdue non-hovered links without javascript.
      If the need for js-generated `hovered` and `focused` classes arises for another reason we can simplify these.
    */
  .menu-list:where(:has(.menu-list__list-item:hover)),
  .menu-list:where(:has(.menu-list__list-item:focus-within)),
  .menu-list:where(:has(.menu-list__list-item:not([aria-hidden='true']) .menu-list__link--active)) {
    .menu-list__link {
      color: rgb(from var(--menu-top-level-font-color) r g b / var(--opacity-subdued-text));
    }
  }

  /* stylelint-disable-next-line selector-max-specificity */
  .menu-list:not(:has(.menu-list__list-item:hover)) .menu-list__link--active,
  .menu-list .menu-list__list-item:where(:hover, :focus-within) .menu-list__link,
  .menu-list .menu-list__list-item[slot='overflow'] .menu-list__link[aria-expanded='true'] {
    color: var(--menu-top-level-font-color);
  }

  .overflow-menu::part(list) {
    gap: 0 var(--menu-horizontal-gap);

    /* Make sure focus outline is not cut off by overflow hidden */
    --focus-outline-size: calc(var(--focus-outline-offset) + var(--focus-outline-width));
  }

  .overflow-menu {
    background-color: transparent;
    padding: var(--focus-outline-size);
    margin: calc(-1 * var(--focus-outline-size));
  }

  /* the submenu background element to animate */
  .overflow-menu::after {
    content: '';
    position: absolute;
    top: calc(100% - 1px + var(--border-bottom-width));
    left: 0;
    width: 100%;
    height: var(--submenu-height);
    background-color: var(--color-background);
    clip-path: inset(0.5px 0 -100px 0);
    transition: height var(--submenu-animation-speed) var(--ease-out-cubic);
    z-index: calc(var(--layer-header-menu) - 1);
  }

  /** mega menu **/
  .menu-list__submenu,
  .overflow-menu::part(overflow) {
    --submenu-padding-block-start: var(--padding-3xl);
    --submenu-padding-block-end: var(--padding-3xl);

    background-color: transparent;
  }

  .header__row[style*='--border-bottom-width: 0px'] {
    .menu-list__submenu.color-scheme-matches-parent,
    .overflow-menu.color-scheme-matches-parent::part(overflow) {
      --submenu-padding-block-start: 0px;
    }
  }

  .menu-list__list-item:where(:not([slot='overflow'])) > .menu-list__submenu,
  .overflow-menu::part(overflow) {
    --submenu-content-opacity: 0;
    --submenu-content-animation: opacity calc(var(--submenu-animation-speed) * 0.75) var(--animation-easing);

    visibility: hidden;
    background-color: transparent;
    position: absolute;
    width: 100%;
    left: 0;
    top: calc(100% - 1px + var(--border-bottom-width));
    z-index: var(--layer-header-menu);
    padding-inline: var(--padding-inline);
    clip-path: rect(0 100% var(--submenu-height) 0);
    transition: clip-path var(--submenu-animation-speed) var(--ease-out-cubic);
  }

  /* Show the submenus on hover */
  .menu-list__list-item:has([aria-expanded='true']) > .menu-list__submenu,
  /* Show the overflow menu when a menu item is hovered */
  .overflow-menu:has([slot="overflow"] [aria-expanded='true'])::part(overflow),
  /* Keep the submenus open when they are hovered */
  .menu-list__submenu:is(:hover),
  .overflow-menu::part(overflow):hover {
    visibility: visible;
    --submenu-content-opacity: 1;
  }

  .menu-list__list-item:has([data-animating]) > .menu-list__submenu {
    visibility: visible;
    --submenu-content-opacity: 0;

    &:before {
      height: 0;
    }
  }

  .menu-list__submenu-inner,
  .overflow-menu::part(overflow-list) {
    grid-column: 2;
    padding-block-start: var(--submenu-padding-block-start);
    padding-block-end: var(--submenu-padding-block-end);
    padding-inline: var(--section-padding-inline);
  }

  .overflow-menu::part(overflow) {
    --menu-top-level-font-size: var(--font-size--xlarge);
    display: grid;
    grid-template-columns: var(--full-page-grid-with-margins);
  }

  .overflow-menu::part(overflow-list) {
    --submenu-content-opacity: 0;

    position: relative;
    display: grid;
    grid-template-columns: minmax(auto, 200px) 1fr;
    grid-template-areas: 'left right';
    grid-template-rows: max-content;
    grid-gap: 0;
  }

  .menu-list__list-item:is([slot='overflow']) {
    --menu-top-level-font-color: var(--color-foreground);

    display: contents;
    white-space: normal;

    .menu-list__link {
      --submenu-content-opacity: 0;

      grid-area: left;
      grid-row: auto;
      height: min-content;
      font-size: var(--font-size--xl);
      opacity: var(--submenu-content-opacity);
      transition: var(--submenu-content-animation);
    }

    .menu-list__submenu {
      visibility: hidden;
      grid-row: 1;
      grid-area: right;
      grid-row-end: span calc(var(--overflow-count) + 1);
      padding-inline-start: var(--menu-horizontal-gap);

      .menu-list__submenu-inner {
        padding-block-start: 0;
        grid-column: unset;
      }
    }

    .menu-list__link[aria-expanded='true'] + .menu-list__submenu {
      visibility: visible;
    }
  }

  .header-menu[data-overflow-expanded='true'] .menu-list__list-item:where([slot='overflow']) .menu-list__link {
    --submenu-content-opacity: 1;
  }

  .menu-list__list-item:where([slot='overflow']):has([data-animating]) > .menu-list__link {
    --submenu-content-opacity: 0;
  }

  .menu-list__submenu-inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    opacity: var(--submenu-content-opacity);
    transition: var(--submenu-content-animation);
  }

  .mega-menu__link {
    font-family: var(--menu-child-font-family);
    font-style: var(--menu-child-font-style);
    font-weight: var(--menu-child-font-weight);
    font-size: var(--menu-child-font-size);
    line-height: var(--menu-child-font-line-height);
    text-transform: var(--menu-child-font-case);
    color: var(--menu-child-font-color);
    white-space: normal;
    text-decoration: none;
    display: inline-flex;
    padding: var(--padding-2xs) 0;
    transition: color var(--animation-speed) var(--animation-easing);

    &:hover {
      color: var(--menu-child-active-font-color);
    }
  }

  .mega-menu__link--parent {
    font-family: var(--menu-parent-font-family);
    font-style: var(--menu-parent-font-style);
    font-weight: var(--menu-parent-font-weight);
    font-size: var(--menu-parent-font-size);
    line-height: var(--menu-parent-font-line-height);
    text-transform: var(--menu-parent-font-case);
    color: var(--menu-parent-font-color);

    &:hover {
      color: var(--menu-parent-active-font-color);
    }
  }

  @media screen and (width < 990px) {
    .mega-menu__content-list-item--hidden-tablet {
      display: none;
    }
  }

  .mega-menu__link:has(.mega-menu__link-image) {
    display: flex;
    flex-direction: column;
    padding-inline: 0;
    padding-block: var(--padding-sm) 0;
  }

  .mega-menu__link-image {
    width: 100%;
    position: relative;
    aspect-ratio: 16 / 9;
    margin-bottom: var(--padding-sm);
    object-fit: cover;
    border-radius: var(--menu-image-border-radius);
  }

  .mega-menu__grid {
    display: grid;
    grid-template-columns: repeat(var(--menu-columns-tablet), minmax(0, 1fr));
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);
    width: 100%;

    @media screen and (width >= 990px) {
      grid-template-columns: repeat(var(--menu-columns-desktop), minmax(0, 1fr));
    }
  }

  .mega-menu__column {
    grid-column: span 1;
  }

  .mega-menu__column--span-2 {
    grid-column: span 2;
  }

  .mega-menu__column--span-3 {
    grid-column: span 3;
  }

  .mega-menu__column--span-4 {
    grid-column: span 4;
  }

  .mega-menu__column--collection-image {
    grid-column: span 1;

    @media screen and (width >= 990px) {
      grid-column: span 2;
    }
  }

  .mega-menu__column--collection-image .mega-menu__link {
    text-transform: var(--title-case);
  }

  .mega-menu__submenu .mega-menu__column--collection-image {
    grid-column: span 1;
  }

  .mega-menu__content-column {
    display: grid;
    justify-content: end;
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);
  }

  .mega-menu__content-column--products {
    grid-template-columns: repeat(var(--menu-content-columns-tablet), minmax(0, 1fr));

    @media screen and (width >= 990px) {
      grid-template-columns: repeat(var(--menu-content-columns-desktop), minmax(0, 1fr));
    }
  }

  .mega-menu__content-column--collections {
    grid-template-columns: repeat(var(--menu-content-columns-tablet), minmax(0, 300px));

    @media screen and (width >= 990px) {
      grid-template-columns: repeat(var(--menu-content-columns-desktop), minmax(0, 300px));
    }
  }

  .mega-menu__list {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span var(--menu-columns-tablet);
    gap: var(--menu-vertical-gap) var(--menu-horizontal-gap);

    @media screen and (width >= 990px) {
      grid-column: span var(--menu-columns-desktop);
    }
  }

  .mega-menu__content-list {
    grid-column: span var(--menu-content-columns-tablet) / -1;

    @media screen and (width >= 990px) {
      grid-column: span var(--menu-content-columns-desktop) / -1;
    }
  }

  .menu-list__list-item[slot='overflow'] .section {
    grid-template-columns: 1fr;
  }

  .menu-list__list-item[slot='overflow'] .section .mega-menu__grid {
    grid-column: 1;
  }

  .mega-menu__content-list li {
    white-space: normal;
  }

  /* mega more menu */
  .mega-menu__more-list {
    --menu-child-font-size: var(--font-size--xl);

    width: 200px;
  }

  .mega-menu__more-list-item .mega-menu__link {
    color: rgb(from var(--menu-top-level-font-color) r g b / var(--opacity-subdued-text));
  }

  .mega-menu__more-list-item:where(:hover, .active) .mega-menu__link {
    color: var(--menu-top-level-font-color);
  }

  .mega-menu__more-list-item[aria-hidden='true'] {
    display: none;
  }

  .mega-menu__submenu {
    /* preserves the inherited grid layout when this submenu wrapper is used */
    display: contents;
  }


/* Нормальный размер кнопки бургер-меню при 1190px и меньше */
@media screen and (max-width: 1190px) {
  /* Скрываем десктопное меню */
  header-menu.header-menu.mobile\:hidden {
    display: none !important;
  }
  
  /* Показываем мобильное меню */
  .header__drawer.desktop\:hidden {
    display: flex !important;
  }
  
  /* Увеличиваем кнопку бургера */
  .header__drawer .drawer-toggle,
  .header__drawer button,
  .header__drawer [data-drawer-toggle],
  .header .drawer-toggle,
  .header button[aria-controls*="drawer"],
  .header__icon,
  .header__icon-button {
    min-width: 44px !important;
    min-height: 44px !important;
    width: auto !important;
    height: auto !important;
    padding: 10px !important;
  }
  
  /* Увеличиваем иконку внутри кнопки */
  .header__drawer svg,
  .header__drawer .icon,
  .drawer-toggle svg,
  .header__icon svg {
    width: 24px !important;
    height: 24px !important;
  }
}
.menu-list__link { 
  transition: all 0.3s ease;
}
/* END_BLOCK:_header-menu */

/* START_BLOCK:_image (INDEX:95) */
image-block {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: var(--ratio);
    width: 100%;
    max-width: calc(var(--image-height) * var(--ratio));
    height: var(--image-height);
    overflow: hidden;

    --image-height-basis: 10rem;
    --image-height-small: calc(var(--image-height-basis) * 2);
    --image-height-medium: calc(var(--image-height-basis) * 3);
    --image-height-large: calc(var(--image-height-basis) * 4);

    @media screen and (width >= 750px) {
      --image-height-small: calc(var(--image-height-basis) * 2.5);
      --image-height-medium: calc(var(--image-height-basis) * 3.5);
      --image-height-large: calc(var(--image-height-basis) * 4.5);
    }

    @media screen and (width < 750px) {
      height: auto;
    }

    &[height='small'] {
      --image-height: var(--image-height-small);
    }

    &[height='medium'] {
      --image-height: var(--image-height-medium);
    }

    &[height='large'] {
      --image-height: var(--image-height-large);
    }

    &[ratio='portrait'] {
      --ratio: 4 / 5;
    }

    &[ratio='square'] {
      --ratio: 1 / 1;

      @media screen and (width >= 750px) {
        max-width: var(--image-height);
      }
    }

    &[ratio='landscape'] {
      --ratio: 16 / 9;
    }

    img {
      object-fit: cover;
      width: 100%;
      height: auto;
      aspect-ratio: var(--ratio);
      border-radius: var(--border-radius);
    }
  }
/* END_BLOCK:_image */

/* START_BLOCK:_marquee (INDEX:98) */
marquee-component {
    display: block;
    width: 100%;
    overflow: hidden;
    background-color: var(--color-background);
  }

  .marquee__wrapper {
    display: flex;
    gap: var(--marquee-gap);
    width: fit-content;
    white-space: nowrap;
  }

  .marquee__content {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
  }

  .marquee__content :is(p, h1, h2, h3, h4, h5, h6) {
    white-space: nowrap;
  }

  .marquee__content .marquee__repeated-items * {
    max-width: none;
  }

  .marquee__repeated-items {
    min-width: max-content;
    display: flex;
    gap: var(--marquee-gap);
    align-items: center;
    justify-content: center;
  }

  .marquee__repeated-items > * {
    align-content: center;
  }

  .hero__content-wrapper.layout-panel-flex--column marquee-component {
    --margin-inline: var(--full-page-margin-inline-offset);
    width: -webkit-fill-available;
    min-height: max-content;
  }

  @media (prefers-reduced-motion: no-preference) {
    marquee-component:not([data-disabled]) .marquee__wrapper {
      animation: marquee-motion var(--marquee-speed) linear infinite var(--marquee-direction);
    }
  }

  @keyframes marquee-motion {
    to {
      transform: translate3d(calc(-50% - (var(--marquee-gap) / 2)), 0, 0);
    }
  }
/* END_BLOCK:_marquee */

/* START_BLOCK:_product-details (INDEX:102) */
/* Clear padding on mobile, if not full-width */
  @media screen and (width < 750px) {
    .product-information.section--page-width .product-details > .group-block {
      padding-inline: 0;
    }
  }

  .view-product-title {
    display: none;
  }

  /* Container styles */
  .product-details {
    display: flex;
    align-self: start;
    justify-content: center;
  }

  @media screen and (width >= 750px) {
    .product-details > .group-block {
      height: min-content;
    }
  }
/* END_BLOCK:_product-details */

/* START_BLOCK:_product-media-gallery (INDEX:106) */
.dialog-zoomed-gallery {
    cursor: zoom-out;
  }

  .dialog--preloading {
    opacity: 0;
  }

  .product-media__drag-zoom-wrapper {
    aspect-ratio: inherit;
    min-height: inherit;
    min-width: inherit;
    display: inherit;
    flex: inherit;
  }

  @media screen and (width < 750px) {
    .dialog-zoomed-gallery {
      /* Prevent scroll wheel or swipe scrolling */
      overscroll-behavior: none;
      scrollbar-width: none;
      display: flex;
      scroll-snap-type: x mandatory;
      overflow-x: hidden;
      scroll-behavior: smooth;
      height: 100%;

      &::-webkit-scrollbar {
        display: none;
      }
    }

    .dialog-zoomed-gallery .product-media-container {
      flex: 0 0 100%;
      scroll-snap-align: start;
      position: relative;
    }

    .dialog-zoomed-gallery .product-media-container--image .product-media {
      aspect-ratio: auto;
      height: 100%;
      width: 100%;
      overflow: hidden;
    }

    .dialog-zoomed-gallery .product-media-container--video,
    .dialog-zoomed-gallery .product-media-container--external_video {
      align-content: center;
    }

    .dialog-zoomed-gallery
      :is(.product-media-container--video, .product-media-container--external_video, .product-media-container--model)
      .product-media {
      aspect-ratio: auto;
      align-items: center;
      height: 100%;

      .product-media__image {
        height: 100%;
      }
    }

    .product-media__drag-zoom-wrapper {
      display: flex;
      aspect-ratio: auto;
      height: 100%;
      width: 100%;
      overflow: scroll;
      scrollbar-width: none;
      justify-content: center;

      &::-webkit-scrollbar {
        display: none;
      }
    }

    .product-media__drag-zoom-wrapper .product-media__image {
      --product-media-fit: contain;
      overflow: hidden;
      transform: scale(var(--drag-zoom-scale))
        translate(var(--drag-zoom-translate-x, 0), var(--drag-zoom-translate-y, 0));
    }

    .media-gallery--hint {
      --slideshow-gap: var(--gap-2xs);

      :not(.dialog-zoomed-gallery) > .product-media-container:not(:only-child) {
        width: 90%;

        .product-media img {
          object-fit: cover;
        }
      }
    }
  }

  .dialog-zoomed-gallery__close-button {
    border-radius: 50%;
    color: white;
    mix-blend-mode: difference;
    z-index: var(--layer-raised);
  }

  .media-gallery__mobile-controls {
    grid-area: auto;
  }

  .dialog-zoomed-gallery .product-media-container--zoomable.product-media-container--image {
    cursor: zoom-out;
  }

  .product-media-container--zoomable.product-media-container--image {
    cursor: zoom-in;
  }

  .dialog-zoomed-gallery .product-media-container--video deferred-media,
  .dialog-zoomed-gallery .product-media-container--external_video deferred-media {
    height: auto;
    aspect-ratio: var(--ratio);
  }

  .dialog-zoomed-gallery .product-media-container--model .product-media__image {
    /* Make the height match the height of the model-viewer */
    height: 100vh;
  }
/* END_BLOCK:_product-media-gallery */

/* START_BLOCK:_search-input (INDEX:107) */
.search-page-input {
    width: 100%;
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    padding-block: var(--padding-lg);
    padding-inline: calc(var(--icon-size-lg) + var(--margin-xl) * 1.5);
    text-overflow: ellipsis;
    overflow: hidden;
    border-radius: var(--style-border-radius-inputs);
    border: var(--style-border-width-inputs) solid var(--color-input-border);

    @media screen and (width < 750px) {
      padding-inline: calc(var(--margin-xs) + var(--icon-size-lg) + var(--padding-md));
    }
  }

  .search-page-input::placeholder {
    color: rgba(from var(--color-input-text) r g b / var(--opacity-subdued-text));
  }

  .search-page-input__parent {
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
  }

  .search-results__no-results {
    opacity: var(--opacity-subdued-text);
  }

  search-page-input-component {
    position: relative;
    width: 100%;
    display: flex;
    top: 0;
    max-width: var(--size-style-width);
    align-items: center;
    background-color: var(--color-background);
    margin: var(--margin-2xl) 0 var(--margin-md);

    @media screen and (width < 750px) {
      max-width: 100%;
    }
  }

  search-page-input-component .search__icon,
  search-page-input-component .search__icon:hover,
  search-page-input-component .search__reset-button,
  search-page-input-component .search__reset-button:hover {
    background: transparent;
    position: absolute;
    top: auto;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
  }

  search-page-input-component .search__icon svg,
  search-page-input-component .search__reset-button svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  search-page-input-component .search__icon svg {
    color: var(--color-input-text);
  }

  search-page-input-component .search__icon {
    left: var(--margin-lg);

    @media screen and (width < 750px) {
      left: var(--margin-md);
    }
  }

  search-page-input-component .search__reset-button {
    border-radius: 100%;
    color: var(--color-input-text);
    right: var(--margin-lg);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--animation-speed) var(--animation-easing),
      visibility var(--animation-speed) var(--animation-easing);

    @media screen and (width < 750px) {
      right: var(--margin-md);
    }
  }

  search-page-input-component:has(.search-page-input:not(:placeholder-shown)) .search__reset-button {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  search-page-input-component .search__reset-button-icon {
    vertical-align: middle;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
    transition: transform var(--animation-speed) var(--animation-easing);
  }

  search-page-input-component .search__reset-button:active .search__reset-button-icon {
    transform: scale(0.9);
  }

  search-page-input-component .search__reset-button-icon svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  search-page-input-component .search__reset-button--hidden {
    cursor: default;
    opacity: 0;
    transition: opacity var(--animation-speed) var(--animation-easing);
    pointer-events: none;
    visibility: hidden;
  }

  search-page-input-component .search__reset-button-text {
    display: none;
  }
/* END_BLOCK:_search-input */

/* START_BLOCK:_slide (INDEX:108) */
.slide__content {
    height: 100%;
    position: relative;
    z-index: var(--layer-flat);
  }

  .slide__content > * {
    margin: auto;
  }

  .slide__content.background-transparent {
    background-color: transparent;
  }

  slideshow-slide > .slide__image-container {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
  }

  .slide__image-container > placeholder-image,
  .slide__image-container > placeholder-image > img {
    width: 100%;
  }

  .slide__image-container > .slide__image,
  .slide__image-container > .slide__video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }
/* END_BLOCK:_slide */

/* START_BLOCK:_social-link (INDEX:109) */
.social-icons__icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--icon-size-lg);
  }

  .social-icons__icon {
    display: flex;
    fill: currentColor;
    flex-shrink: 0;
    width: var(--icon-size-lg);
    height: var(--icon-size-lg);
  }

  .social-icons__icon {
    display: none;
  }

  .social-icons__icon-wrapper:has(.social-icons__icon path) {
    width: var(--icon-size-lg);

    .social-icons__icon {
      display: block;
    }

    .social-icons__icon-label {
      display: none;
    }
  }
/* END_BLOCK:_social-link */

/* START_BLOCK:accelerated-checkout (INDEX:110) */
.accelerated-checkout-block[data-shopify-visual-preview] {
    width: 300px;
  }

  more-payment-options-link {
    font-size: smaller;
  }

  more-payment-options-link a {
    --button-color: var(--color-primary);
  }

  more-payment-options-link a:hover {
    --button-color: var(--color-primary-hover);
  }

  .shopify-payment-button__more-options[aria-hidden='true'] {
    display: none;
  }
/* END_BLOCK:accelerated-checkout */

/* START_BLOCK:accordion (INDEX:111) */
.accordion {
    flex: 1;
    width: 100%;
  }
  @container style(--border-width: 0) or style(--border-style: none) {
    .accordion--dividers:not([class*='color-']) accordion-custom:first-child .details {
      border-block-start: var(--style-border-width) solid var(--color-border);
    }

    .accordion--dividers:not([class*='color-']) accordion-custom:last-child .details {
      border-block-end: var(--style-border-width) solid var(--color-border);
    }
  }

  .accordion--dividers accordion-custom:not(:first-child) .details {
    border-block-start: var(--style-border-width) solid var(--color-border);
  }

  .accordion--dividers .details-content {
    padding-block-end: var(--padding-sm);
  }

  .accordion--caret .icon-plus,
  .accordion--plus .icon-caret {
    display: none;
  }

  /* because we can't pass apply a specific class on a block based on its parent block setting */
  .accordion .details__header {
    font-family: var(--summary-font-family);
    font-style: var(--summary-font-style);
    font-weight: var(--summary-font-weight);
    font-size: var(--summary-font-size);
    line-height: var(--summary-font-line-height);
    text-transform: var(--summary-font-case);
  }
/* END_BLOCK:accordion */

/* START_BLOCK:bt-info-row (INDEX:156) */
.bt-ir { display: block; font-family: 'Rubik', sans-serif; box-sizing: border-box; }
  .bt-ir *, .bt-ir *::before, .bt-ir *::after { box-sizing: border-box; }

  .bt-ir__main {
    background: var(--bt-ir-bg, #ffffff);
    border: 1px solid var(--bt-ir-border, rgba(0, 0, 0, 0.06));
    border-radius: var(--bt-ir-radius, 16px);
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
  }
  .bt-ir__icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--bt-ir-icon-bg, #f6e8e0);
    color: var(--bt-ir-icon-color, #67361C);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .bt-ir__icon svg {
    width: 22px;
    height: 22px;
    display: block;
  }
  .bt-ir__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .bt-ir__title {
    font-weight: 700;
    font-size: var(--bt-ir-title-size, 15px);
    line-height: 1.25;
    color: var(--bt-ir-title-color, #67361C);
    letter-spacing: -0.01em;
  }
  .bt-ir__text {
    font-size: var(--bt-ir-text-size, 13px);
    line-height: 1.4;
    color: var(--bt-ir-text-color, #6a5f5a);
  }
  .bt-ir__info-btn {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 0;
    background: var(--bt-ir-info-bg, #f4f4f4);
    color: var(--bt-ir-info-color, #67361C);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.15s, transform 0.15s;
  }
  .bt-ir__info-btn:hover {
    background: rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
  }
  .bt-ir__info-btn svg { width: 18px; height: 18px; display: block; }

  @media (max-width: 400px) {
    .bt-ir__main { padding: 12px 14px; gap: 12px; }
    .bt-ir__icon { width: 38px; height: 38px; }
    .bt-ir__icon svg { width: 18px; height: 18px; }
  }

  /* Flat style — no card, minimal padding, dividers auto-appear between adjacent flat rows */
  .bt-ir[data-style="flat"] .bt-ir__main {
    background: transparent;
    border: 0;
    padding: 10px 6px;
    border-radius: 0;
    gap: 12px;
  }
  .bt-ir[data-style="flat"] + .bt-ir[data-style="flat"] .bt-ir__main {
    border-top: 1px solid var(--bt-ir-divider, rgba(255, 255, 255, 0.25));
  }
  .bt-ir[data-style="flat"] .bt-ir__icon {
    width: 36px;
    height: 36px;
    background: transparent;
  }
  .bt-ir[data-style="flat"] .bt-ir__icon svg {
    width: 20px;
    height: 20px;
  }
  .bt-ir[data-style="flat"] .bt-ir__info-btn {
    width: 38px;
    height: 38px;
    background: var(--bt-ir-info-bg, #f4f4f4);
    color: var(--bt-ir-info-color, #67361C);
    opacity: 1;
    box-shadow: 0 0 0 1.5px currentColor inset;
  }
  .bt-ir[data-style="flat"] .bt-ir__info-btn:hover {
    background: var(--bt-ir-info-color, #67361C);
    color: #fff;
    transform: translateY(-1px) scale(1.05);
  }
  .bt-ir[data-style="flat"] .bt-ir__info-btn svg {
    width: 22px;
    height: 22px;
    stroke-width: 2.5;
  }
  /* First/last flat items lose extra inset margins for clean grouping */
  .bt-ir[data-style="flat"] { margin-top: 0; margin-bottom: 0; }
  .bt-ir[data-style="flat"]:not(:has(+ .bt-ir[data-style="flat"])) { margin-bottom: 6px; }
  .bt-ir[data-style="flat"]:not(.bt-ir[data-style="flat"] + *) { margin-top: 6px; }

  /* Popup */
  .bt-ir-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.25);
    z-index: 2147483646;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
  }
  .bt-ir-overlay.is-active { opacity: 1; visibility: visible; }

  .bt-ir-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    width: min(480px, calc(100vw - 32px));
    max-height: 85vh;
    overflow-y: auto;
    background: #fff;
    border-radius: 20px;
    padding: 28px 26px;
    z-index: 2147483647;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -50%) scale(0.95);
    transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
    font-family: 'Rubik', sans-serif;
  }
  .bt-ir-panel.is-active {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
  }
  .bt-ir-panel__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 0;
    background: #f4f4f4;
    color: #67361C;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  .bt-ir-panel__close:hover { background: rgba(0, 0, 0, 0.08); }
  .bt-ir-panel__close svg { width: 18px; height: 18px; display: block; }

  .bt-ir-panel__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 38px 14px 0;
  }
  .bt-ir-panel__head-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--bt-ir-popup-accent, #fa5800);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .bt-ir-panel__head-icon svg { width: 20px; height: 20px; display: block; }
  .bt-ir-panel__title {
    font-weight: 700;
    font-size: 22px;
    line-height: 1.2;
    color: #1e1310;
    letter-spacing: -0.02em;
  }
  .bt-ir-panel__subtitle {
    margin: 0 0 16px;
    padding: 12px 14px;
    background: #eef4ff;
    color: #3b5998;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.4;
  }
  .bt-ir-panel__body {
    font-size: 14px;
    line-height: 1.5;
    color: #4a3f3a;
    margin: 0 0 16px;
  }
  .bt-ir-panel__media {
    margin: 0 0 16px;
    border-radius: 14px;
    overflow: hidden;
    background: #f6f6f6;
  }
  .bt-ir-panel__media-el {
    display: block;
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: cover;
  }
  .bt-ir-panel__body p:first-child { margin-top: 0; }
  .bt-ir-panel__body p:last-child { margin-bottom: 0; }

  .bt-ir-panel__html {
    font-size: 14px;
    line-height: 1.5;
    color: #4a3f3a;
    margin: 0 0 16px;
  }
  .bt-ir-panel__html img,
  .bt-ir-panel__html iframe,
  .bt-ir-panel__html video {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    display: block;
    margin: 8px 0;
  }
  .bt-ir-panel__html ul,
  .bt-ir-panel__html ol {
    margin: 8px 0;
    padding-left: 22px;
  }
  .bt-ir-panel__html li { margin: 4px 0; }
  .bt-ir-panel__html p:first-child { margin-top: 0; }
  .bt-ir-panel__html p:last-child { margin-bottom: 0; }
  .bt-ir-panel__html a {
    color: var(--bt-ir-popup-accent, #fa5800);
    text-decoration: underline;
  }
  .bt-ir-panel__html strong { font-weight: 700; color: #1e1310; }
  .bt-ir-panel__footer {
    margin-top: 16px;
    padding: 12px 14px;
    background: #f0faf0;
    color: #2d6a2d;
    border-radius: 12px;
    font-size: 13.5px;
    line-height: 1.4;
  }

  @media (max-width: 560px) {
    .bt-ir-panel {
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      max-width: 100%;
      border-radius: 20px 20px 0 0;
      transform: translateY(100%);
      max-height: 88vh;
      padding: 24px 20px 28px;
    }
    .bt-ir-panel.is-active { transform: translateY(0); }
    .bt-ir-panel__title { font-size: 19px; }
  }
/* END_BLOCK:bt-info-row */

/* START_BLOCK:bt-review-summary (INDEX:158) */
.bt-rsum { display: block; font-family: 'Rubik', sans-serif; box-sizing: border-box; }
  .bt-rsum *, .bt-rsum *::before, .bt-rsum *::after { box-sizing: border-box; }
  .bt-rsum [hidden] { display: none !important; }

  .bt-rsum__loading {
    display: flex;
    align-items: center;
    height: 30px;
  }
  .bt-rsum__skeleton {
    width: 180px; height: 20px;
    background: linear-gradient(90deg, rgba(0,0,0,0.06) 0, rgba(0,0,0,0.12) 50%, rgba(0,0,0,0.06) 100%);
    background-size: 200% 100%;
    animation: bt-rsum-shine 1.2s infinite linear;
    border-radius: 6px;
  }
  @keyframes bt-rsum-shine {
    from { background-position: 200% 0; }
    to { background-position: -200% 0; }
  }

  .bt-rsum__row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
  }
  .bt-rsum__number {
    font-weight: 700;
    font-size: var(--bt-rsum-number-size, 22px);
    line-height: 1;
    color: var(--bt-rsum-number-color, #1e1310);
  }
  .bt-rsum__stars {
    color: var(--bt-rsum-star-color, #fa5800);
    font-size: var(--bt-rsum-stars-size, 18px);
    letter-spacing: 2px;
    line-height: 1;
  }
  .bt-rsum__count-link {
    font-size: 14px;
    color: var(--bt-rsum-text-color, #6a5f5a);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: rgba(0,0,0,0.2);
    cursor: pointer;
  }
  .bt-rsum__count-link:hover { text-decoration-color: currentColor; }

  /* Distribution bars */
  .bt-rsum__distribution {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-width: 320px;
  }
  .bt-rsum__bar-row {
    display: grid;
    grid-template-columns: 26px 1fr 30px;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--bt-rsum-muted-color, #888);
  }
  .bt-rsum__bar-label { font-weight: 500; text-align: right; }
  .bt-rsum__bar {
    height: 8px;
    background: var(--bt-rsum-bar-bg, rgba(0,0,0,0.08));
    border-radius: 999px;
    overflow: hidden;
  }
  .bt-rsum__bar-fill {
    height: 100%;
    background: var(--bt-rsum-bar-fill, #fa5800);
    border-radius: 999px;
    transition: width 0.5s ease;
  }
  .bt-rsum__bar-count { text-align: left; }

  .bt-rsum__empty {
    font-size: 14px;
    color: var(--bt-rsum-muted-color, #888);
  }
/* END_BLOCK:bt-review-summary */

/* START_BLOCK:bt-specs (INDEX:159) */
.bt-specs {
    font-family: 'Rubik', sans-serif;
    color: var(--bt-specs-value-color, #67361C);
    display: block;
  }
  .bt-specs__heading {
    font-weight: 700;
    font-size: var(--bt-specs-heading-size, 22px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--bt-specs-title-color, #67361C);
    margin: 0 0 12px;
  }
  .bt-specs__list {
    display: flex;
    flex-direction: column;
  }
  .bt-specs__row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 8px 0;
    font-size: var(--bt-specs-row-size, 15px);
    line-height: 1.35;
  }
  .bt-specs__label {
    color: var(--bt-specs-label-color, #888);
    font-weight: 400;
    flex-shrink: 0;
    max-width: 45%;
    overflow-wrap: break-word;
  }
  .bt-specs__value {
    color: var(--bt-specs-value-color, #67361C);
    font-weight: 500;
    flex-shrink: 0;
    max-width: 55%;
    text-align: right;
    margin-left: auto;
    overflow-wrap: break-word;
  }
  .bt-specs__dots {
    flex: 1;
    min-width: 16px;
    margin: 0 6px;
    background-image: linear-gradient(to right, var(--bt-specs-dash-color, #cfc6bf) 55%, transparent 55%);
    background-size: 12px 1px;
    background-repeat: repeat-x;
    background-position: center;
    height: 1px;
    align-self: center;
  }
  @media (max-width: 749px) {
    .bt-specs__row { font-size: 14px; padding: 6px 0; }
    .bt-specs__heading { font-size: calc(var(--bt-specs-heading-size, 22px) * 0.9); }
    .bt-specs__dots { margin: 0 4px; }
  }
/* END_BLOCK:bt-specs */

/* START_BLOCK:button-with-arrow (INDEX:161) */
.bt-arrow-btn {
    display: flex;
    width: 100%;
  }
  .bt-arrow-btn--align-left   { justify-content: flex-start; }
  .bt-arrow-btn--align-center { justify-content: center; }
  .bt-arrow-btn--align-right  { justify-content: flex-end; }

  .bt-arrow-btn *, .bt-arrow-btn *::before, .bt-arrow-btn *::after { box-sizing: border-box; }

  .bt-arrow-btn__group {
    display: inline-flex;
    align-items: stretch;
    gap: 8px;
  }

  .bt-arrow-btn__main,
  .bt-arrow-btn__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--bt-arrow-btn-h, 50px);
    border-radius: var(--bt-arrow-btn-radius, 50px);
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    font-size: var(--bt-arrow-btn-size, 16px);
    line-height: 1.2;
    letter-spacing: -0.01em;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    border: 2px solid var(--bt-arrow-btn-color, #1a1a1a);
    transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.12s ease;
  }
  .bt-arrow-btn__main {
    padding: 0 var(--bt-arrow-btn-pad-x, 28px);
  }
  .bt-arrow-btn__arrow {
    width: var(--bt-arrow-btn-h, 50px);
    padding: 0;
    flex-shrink: 0;
  }
  .bt-arrow-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: calc(var(--bt-arrow-btn-h, 50px) * 0.42);
    font-weight: 700;
    line-height: 1;
    transform: translateY(-1px);
  }
  .bt-arrow-btn--arrow-up-right .bt-arrow-btn__icon {
    transform: translateY(-1px) rotate(-45deg);
  }

  /* Outline style (default): transparent bg, colored border + text. Hover fills. */
  .bt-arrow-btn--outline .bt-arrow-btn__main,
  .bt-arrow-btn--outline .bt-arrow-btn__arrow {
    background: transparent;
    color: var(--bt-arrow-btn-color, #1a1a1a);
  }
  .bt-arrow-btn--outline .bt-arrow-btn__group:hover .bt-arrow-btn__main,
  .bt-arrow-btn--outline .bt-arrow-btn__group:hover .bt-arrow-btn__arrow,
  .bt-arrow-btn--outline .bt-arrow-btn__group:focus-within .bt-arrow-btn__main,
  .bt-arrow-btn--outline .bt-arrow-btn__group:focus-within .bt-arrow-btn__arrow {
    background: var(--bt-arrow-btn-color, #1a1a1a);
    color: var(--bt-arrow-btn-text, #ffffff);
    transform: translateY(-1px);
  }

  /* Filled style: colored bg, contrasting text. Hover lifts + slight darken via opacity. */
  .bt-arrow-btn--filled .bt-arrow-btn__main,
  .bt-arrow-btn--filled .bt-arrow-btn__arrow {
    background: var(--bt-arrow-btn-color, #1a1a1a);
    color: var(--bt-arrow-btn-text, #ffffff);
  }
  .bt-arrow-btn--filled .bt-arrow-btn__group:hover .bt-arrow-btn__main,
  .bt-arrow-btn--filled .bt-arrow-btn__group:hover .bt-arrow-btn__arrow,
  .bt-arrow-btn--filled .bt-arrow-btn__group:focus-within .bt-arrow-btn__main,
  .bt-arrow-btn--filled .bt-arrow-btn__group:focus-within .bt-arrow-btn__arrow {
    transform: translateY(-1px);
    opacity: 0.9;
  }

  @media (prefers-reduced-motion: reduce) {
    .bt-arrow-btn__main,
    .bt-arrow-btn__arrow { transition: none; }
    .bt-arrow-btn__group:hover .bt-arrow-btn__main,
    .bt-arrow-btn__group:hover .bt-arrow-btn__arrow {
      transform: none;
    }
  }

  /* Mobile: slightly smaller buttons */
  @media (max-width: 480px) {
    .bt-arrow-btn__main {
      padding: 0 calc(var(--bt-arrow-btn-pad-x, 28px) * 0.75);
    }
  }
/* END_BLOCK:button-with-arrow */

/* START_BLOCK:buy-buttons (INDEX:163) */
.buy-buttons-block {
    width: 100%;
  }

  .product-form-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--gap-sm) / 2);

    @media screen and (width >= 750px) {
      gap: var(--gap-sm);
    }
  }

  .product-form-buttons > *:not(.quantity-selector) {
    flex: 1;
    min-width: 185px;
  }

  .product-form-buttons--stacked > *:not(.quantity-selector) {
    flex-basis: 51%; /* Force the buttons to be on separate rows */
  }

  .quantity-selector {
    flex-grow: 0;
  }

  .product-form-buttons button {
    width: 100%;
    padding-inline: var(--padding-4xl);
    padding-block: var(--padding-lg);
  }

  .add-to-cart-button {
    text-transform: var(--button-text-case-primary);
  }

  .add-to-cart-button.button-secondary {
    text-transform: var(--button-text-case-secondary);
  }

  .product-form-buttons .shopify-payment-button__button {
    width: 100%;
    min-height: var(--minimum-touch-target);
  }

  .quantity-selector,
  .add-to-cart-button {
    height: var(--height-buy-buttons);
  }

  .product__pickup-availabilities {
    width: 100%;
  }

  .pickup-availability__column {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }

  .pickup-availability__row {
    display: flex;
    gap: var(--padding-xs);
  }

  .pickup-availability__dialog-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .pickup-availability__header-container {
    padding-block-end: var(--padding-2xl);
  }

  .pickup-location__wrapper {
    display: flex;
    flex-direction: column;
    padding-block: var(--padding-2xl);
    border-top: 1px solid var(--color-border);
    gap: var(--padding-xs);
  }

  .pickup-location__address-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--padding-md);
  }

  .pickup-location__dialog {
    padding: var(--padding-2xl);
    position: fixed;
    border-radius: 0;
    width: var(--sidebar-width);
    max-width: 95vw;
    height: 100%;
    margin: 0 0 0 auto;
    border: var(--style-border-drawer);
    box-shadow: var(--shadow-drawer);
    background-color: var(--color-background);
  }

  .pickup-location__dialog:modal {
    max-height: 100dvh;
  }

  .pickup-location__text-sm {
    font-size: var(--font-size--sm);
    margin: 0;
  }

  .pickup-location__text-xs {
    font-size: var(--font-size--xs);
    margin: 0;
  }

  .product-form-text__error {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-xs);
  }

  .pickup-location__button {
    width: fit-content;
    color: var(--color-primary);
    font-size: var(--font-size--xs);
    font-family: var(--font-body--family);
    padding: 0;
    cursor: pointer;
    margin-block: var(--margin-xs);
  }

  .pickup-location__button:hover {
    color: var(--color-primary-hover);
  }

  .pickup-location__h4 {
    margin: 0;
  }

  .pickup-location__text-bold {
    font-size: var(--font-size--md);
    font-weight: 600;
    margin: 0;
  }

  .pickup-location__availability-wrapper {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
    font-family: var(--font-paragraph--family);
  }

  .pickup-location__address {
    font-style: normal;
  }

  .pickup-location__close-button {
    position: absolute;
    top: calc(var(--padding-2xl) - (var(--icon-size-xs) / 2));
    right: calc(var(--padding-2xl) - var(--icon-size-xs));
    height: var(--minimum-touch-target);
    width: var(--minimum-touch-target);
  }

  .pickup-location__close-button svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }
/* END_BLOCK:buy-buttons */

/* START_BLOCK:cart-fast-delivery (INDEX:164) */
/* Layered on top of cart-summary's existing .cart__delivery-block
     rules. Adds optional right-side image background like the gift card. */
  .cart-fast-delivery.cart__delivery-block {
    background: linear-gradient(135deg, var(--cfd-bg-from, #FFEDC2) 0%, var(--cfd-bg-to, #F5C261) 100%);
  }
  .cart-fast-delivery .cart__delivery-inner {
    background-image: var(--cfd-image, none);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
  }
  .cart-fast-delivery .cart__delivery-title,
  .cart-fast-delivery .cart__delivery-description {
    color: var(--cfd-text-color, #67361C);
  }
  .cart-fast-delivery .cart__delivery-button {
    color: var(--cfd-btn-color, #D97706);
  }
  /* Reserve right padding so the image area doesn't collide with text */
  .cart-fast-delivery .cart__delivery-content {
    padding-right: 140px;
  }
  @media (min-width: 750px) {
    .cart-fast-delivery .cart__delivery-content { padding-right: 160px; }
  }
/* END_BLOCK:cart-fast-delivery */

/* START_BLOCK:cart-gift (INDEX:165) */
.cart-gift-block {
    width: 100%;
    max-width: 100%;
    background: linear-gradient(135deg, var(--cgb-bg-from, #F8C8D8) 0%, var(--cgb-bg-to, #E8A0B8) 100%);
    border-radius: var(--cgb-radius, 30px);
    padding: 0;
    margin-top: var(--cgb-margin-top, 16px);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    font-family: 'Rubik', sans-serif;
    /* Hidden until JS decides — prevents the flash where block shows
       briefly, hides during production check, then shows again. We
       fade in once visibility evaluation has all the data it needs
       (cart loaded + production check no longer "checking"). */
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.28s ease, transform 0.28s ease;
  }
  .cart-gift-block.is-ready {
    opacity: 1;
    transform: translateY(0);
  }
  .cart-gift-block.is-hidden {
    display: none !important;
  }
  .cart-gift-block.is-added {
    opacity: 0.65;
    pointer-events: none;
  }
  .cart-gift-block__inner {
    width: 100%;
    height: 100%;
    background-image: var(--cgb-image, url('/cdn/shop/files/PLATIZKA_12.png?v=1751135158'));
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
    position: relative;
    border-radius: inherit;
    overflow: hidden;
  }
  .cart-gift-block__content-wrapper {
    padding: 24px;
    box-sizing: border-box;
  }
  .cart-gift-block__content {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 16px;
    /* Right padding leaves room for the heart image bleeding in from the right edge. */
    padding-right: 140px;
  }
  .cart-gift-block__text { width: 100%; }
  .cart-gift-block__title {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--cgb-text-color, #67361C);
    margin: 0 0 8px 0;
    text-transform: none;
  }
  .cart-gift-block__description {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--cgb-text-color, #67361C);
    margin: 0;
    opacity: 0.9;
  }
  .cart-gift-block__button {
    width: 100%;
    background: #ffffff;
    color: var(--cgb-btn-color, #E91E63);
    border: none;
    border-radius: 100px;
    padding: 14px 28px;
    font-family: inherit;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .cart-gift-block__button:hover {
    background: #f5f5f5;
    transform: translateY(-2px);
  }
  .cart-gift-block__button:focus,
  .cart-gift-block__button:active {
    outline: none;
    box-shadow: none;
  }
  .cart-gift-block__button:disabled {
    cursor: not-allowed;
    opacity: 0.7;
    transform: none;
  }

  @media (min-width: 750px) {
    .cart-gift-block__title { font-size: 20px; }
    .cart-gift-block__description { font-size: 16px; }
    .cart-gift-block__button { font-size: 18px; padding: 16px 32px; }
    .cart-gift-block__content-wrapper { padding: 28px; }
    .cart-gift-block__content { padding-right: 160px; }
  }
/* END_BLOCK:cart-gift */

/* START_BLOCK:cart-upsell-custom (INDEX:168) */
.cart-gift-block {
    width: 100%;
    max-width: 100%;
    background: linear-gradient(135deg, var(--cgb-bg-from, #F8C8D8) 0%, var(--cgb-bg-to, #E8A0B8) 100%);
    border-radius: var(--cgb-radius, 30px);
    padding: 0;
    margin-top: var(--cgb-margin-top, 16px);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    font-family: 'Rubik', sans-serif;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.28s ease, transform 0.28s ease;
  }
  .cart-gift-block.is-ready { opacity: 1; transform: translateY(0); }
  .cart-gift-block.is-hidden { display: none !important; }
  .cart-gift-block.is-added { opacity: 0.65; pointer-events: none; }
  .cart-gift-block__inner {
    width: 100%;
    height: 100%;
    background-image: var(--cgb-image, none);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
    position: relative;
    border-radius: inherit;
    overflow: hidden;
  }
  .cart-gift-block__content-wrapper { padding: 24px; box-sizing: border-box; }
  .cart-gift-block__content {
    display: flex; justify-content: flex-start; align-items: center;
    margin-bottom: 16px; padding-right: 140px;
  }
  .cart-gift-block__text { width: 100%; }
  .cart-gift-block__title {
    font-weight: 700; font-size: 18px; line-height: 1.15; letter-spacing: -0.02em;
    color: var(--cgb-text-color, #67361C); margin: 0 0 8px 0; text-transform: none;
  }
  .cart-gift-block__description {
    font-weight: 500; font-size: 16px; line-height: 1.4; letter-spacing: -0.02em;
    color: var(--cgb-text-color, #67361C); margin: 0; opacity: 0.9;
  }
  .cart-gift-block__button {
    width: 100%; background: #ffffff; color: var(--cgb-btn-color, #E91E63);
    border: none; border-radius: 100px; padding: 14px 28px;
    font-family: inherit; font-weight: 700; font-size: 16px; line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s, transform 0.2s;
    -webkit-appearance: none; appearance: none;
  }
  .cart-gift-block__button:hover { background: #f5f5f5; transform: translateY(-2px); }
  .cart-gift-block__button:disabled { cursor: not-allowed; opacity: 0.7; transform: none; }
  @media (min-width: 750px) {
    .cart-gift-block__title { font-size: 20px; }
    .cart-gift-block__description { font-size: 16px; }
    .cart-gift-block__button { font-size: 18px; padding: 16px 32px; }
    .cart-gift-block__content-wrapper { padding: 28px; }
    .cart-gift-block__content { padding-right: 160px; }
  }
/* END_BLOCK:cart-upsell-custom */

/* START_BLOCK:cart-upsell (INDEX:169) */
.bt-upsell {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin-top: 12px;
    background: var(--bt-upsell-bg, #fff7ed);
    border-radius: var(--bt-upsell-radius, 16px);
    color: var(--bt-upsell-text, #1e1310);
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
    box-shadow: 0 2px 12px -6px rgba(0, 0, 0, 0.08);
  }
  .bt-upsell *, .bt-upsell *::before, .bt-upsell *::after { box-sizing: border-box; }

  .bt-upsell__media {
    position: relative;
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.04);
    flex-shrink: 0;
  }
  .bt-upsell__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .bt-upsell__media-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bt-upsell-accent, #fa5800);
    color: var(--bt-upsell-accent-text, #fff);
    font-size: 28px;
    font-weight: 700;
  }
  .bt-upsell__badge {
    position: absolute;
    top: 4px;
    left: 4px;
    background: var(--bt-upsell-accent, #fa5800);
    color: var(--bt-upsell-accent-text, #fff);
    padding: 2px 7px;
    border-radius: 100px;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .bt-upsell__body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .bt-upsell__heading {
    font-weight: 700;
    font-size: 15px;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: inherit;
  }
  .bt-upsell__subtitle {
    font-size: 13px;
    line-height: 1.35;
    color: var(--bt-upsell-muted, #67361c);
    opacity: 0.9;
  }
  .bt-upsell__price {
    margin-top: 4px;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .bt-upsell__price-was {
    font-weight: 400;
    text-decoration: line-through;
    color: var(--bt-upsell-muted, #67361c);
    opacity: 0.6;
    font-size: 13px;
  }

  .bt-upsell__btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    background: var(--bt-upsell-accent, #fa5800);
    color: var(--bt-upsell-accent-text, #ffffff);
    border: none;
    border-radius: 100px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.12s ease;
    flex-shrink: 0;
    white-space: nowrap;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-upsell__btn:hover {
    background: var(--bt-upsell-accent-hover, #e65000);
    transform: translateY(-1px);
  }
  .bt-upsell__btn:disabled {
    opacity: 0.85;
    cursor: progress;
    transform: none;
  }
  .bt-upsell__btn.is-loading .bt-upsell__btn-label { opacity: 0.45; }
  .bt-upsell__btn.is-added {
    background: rgba(43, 182, 115, 0.15);
    color: #1f7a4d;
  }
  .bt-upsell__btn-loader {
    display: none;
    position: absolute;
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: bt-upsell-spin 0.7s linear infinite;
  }
  .bt-upsell__btn.is-loading .bt-upsell__btn-loader { display: inline-block; }
  @keyframes bt-upsell-spin { to { transform: rotate(360deg); } }

  /* Compact layout: 2-row instead of 3-column */
  .bt-upsell--compact {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }
  .bt-upsell--compact .bt-upsell__btn {
    grid-column: 2;
    justify-self: start;
    margin-top: 6px;
  }

  /* Mobile */
  @media (max-width: 749px) {
    .bt-upsell {
      grid-template-columns: auto 1fr;
      gap: 12px;
      padding: 12px;
    }
    .bt-upsell__btn {
      grid-column: 1 / -1;
      justify-self: stretch;
      width: 100%;
      padding: 12px 16px;
      margin-top: 4px;
    }
    .bt-upsell__media { width: 64px; height: 64px; }
    .bt-upsell__heading { font-size: 14px; }
    .bt-upsell__subtitle { font-size: 12px; }
  }

  @media (prefers-reduced-motion: reduce) {
    .bt-upsell__btn-loader { animation: none; }
  }
/* END_BLOCK:cart-upsell */

/* START_BLOCK:contact-form-submit-button (INDEX:172) */
.submit-button {
    min-width: max-content;
  }
/* END_BLOCK:contact-form-submit-button */

/* START_BLOCK:email-signup (INDEX:176) */
.email-signup-block {
    @media screen and (width < 750px) {
      width: 100%;
    }
  }

  .email-signup__form {
    display: flex;
    flex-direction: column;
  }

  .email-signup__input-group {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    background-color: transparent;
  }

  .email-signup__input-group:not(:has(.email-signup__button--integrated)) {
    gap: var(--gap-xs);
  }

  .email-signup__input-group:not(:has(.email-signup__button--arrow)) {
    @media screen and (width < 750px) {
      grid-template-columns: 1fr;
    }
  }

  .email-signup__input {
    width: 100%;
    border-width: var(--border-width);
    border-radius: var(--border-radius);
    border-style: solid;
    border-color: var(--color-input-border);
  }

  .email-signup__button {
    white-space: nowrap;
    padding: 0;

    @media screen and (width < 750px) {
      width: 100%;
    }
  }

  .email-signup__input,
  .email-signup__button--text {
    padding: var(--padding-lg) var(--padding-3xl);
  }

  .email-signup__input-group .email-signup__input--underline {
    --box-shadow-color: var(--color-input-border);
    --box-shadow-multiplier: 1;
    color: var(--color-input-text);
    background-color: transparent;
    padding: 12px 0;
    border: none;
    border-radius: 0;
    box-shadow: 0px calc(var(--border-width) * var(--box-shadow-multiplier)) 0px var(--box-shadow-color);
    transition: box-shadow var(--animation-values);

    &:focus-visible {
      --box-shadow-multiplier: 1.75;
      --box-shadow-color: var(--color-input-text);
      outline: none;
    }
  }

  .email-signup__input::placeholder {
    color: rgb(from var(--color-input-text) r g b / 70%);
  }

  .email-signup__input-group .email-signup__input--none {
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border: none;
  }

  .email-signup__input:has(+ .email-signup__button--arrow),
  .email-signup__input:has(+ .email-signup__button--integrated) {
    @media screen and (width < 750px) {
      text-align: left;
    }
  }

  .email-signup__button--arrow {
    aspect-ratio: 1;
    padding-inline: var(--padding-xs);

    &:not(.email-signup__button--integrated) {
      width: auto;
    }
  }

  .email-signup__button--integrated {
    --button-offset: var(--margin-xs);
    position: absolute;
    height: calc(100% - (var(--button-offset) * 2) - (var(--border-width) * 2));
    right: calc(var(--button-offset) + var(--border-width));
    top: calc(var(--button-offset) + var(--border-width));

    @media screen and (width < 750px) {
      width: fit-content;
    }

    &.email-signup__button--text {
      padding: 0 var(--padding-3xl);
    }

    &.email-signup__button--text.button-unstyled {
      padding: 0 var(--padding-xl);
    }

    &.button-unstyled {
      border-radius: var(--border-radius);
    }

    > .email-signup__button-icon {
      padding: 0;
    }
  }

  .email-signup__input--underline + .email-signup__button--integrated {
    right: 0;
    --button-offset: calc(10% - var(--border-width));

    &.email-signup__button--text.button-unstyled {
      padding: 0;
    }

    &.button-unstyled {
      border-radius: 0;
    }
  }

  .email-signup__button:not(.button-unstyled) {
    background-color: var(--button-background-color);
    color: var(--button-color);
    font-weight: var(--button-font-weight-primary);
    text-transform: var(--button-text-case-primary);
  }

  .email-signup__button.button-secondary {
    font-weight: var(--button-font-weight-secondary);
    text-transform: var(--button-text-case-secondary);
  }

  .email-signup__button.button-unstyled {
    background-color: transparent;
    color: var(--color-input-text);
  }

  .email-signup__button.button-unstyled:hover {
    color: rgb(from var(--color-input-text) r g b / 70%);
    cursor: pointer;
  }

  .email-signup__button-icon {
    fill: currentcolor;
    padding: 5px;

    @media screen and (width < 750px) {
      padding: 0;
      align-self: center;
      justify-self: center;
      width: var(--icon-size-lg);
      height: var(--icon-size-lg);
    }
  }

  .email-signup__message {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .email-signup__message-text {
    margin: 0;
  }
/* END_BLOCK:email-signup */

/* START_BLOCK:faq-cta (INDEX:177) */
.faq-cta-block {
    display: flex;
    justify-content: flex-start;
    width: 100%;
  }

  .faq-cta-block__group {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  .faq-cta-block__button,
  .faq-cta-block__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    padding: 11px 24px;
    border: 1px solid var(--faq-cta-color, #67361C);
    border-radius: 100px;
    font-family: 'Rubik', sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 90%;
    letter-spacing: -0.02em;
    color: var(--faq-cta-color, #67361C);
    text-decoration: none;
    background: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
    box-sizing: border-box;
  }

  .faq-cta-block__arrow {
    width: 44px;
    padding: 11px;
    font-weight: 800;
  }

  .faq-cta-block__arrow span {
    display: inline-block;
  }
  .faq-cta-block--arrow-up-right .faq-cta-block__arrow span {
    transform: rotate(-45deg);
  }
  .faq-cta-block--arrow-right .faq-cta-block__arrow span {
    transform: none;
  }

  .faq-cta-block__group:hover .faq-cta-block__button,
  .faq-cta-block__group:hover .faq-cta-block__arrow,
  .faq-cta-block__group:focus-within .faq-cta-block__button,
  .faq-cta-block__group:focus-within .faq-cta-block__arrow {
    background: var(--faq-cta-color, #67361C);
    color: #fff;
  }
/* END_BLOCK:faq-cta */

/* START_BLOCK:filters (INDEX:179) */
.collection-wrapper {
    @media screen and (width >= 750px) {
      --facets-vertical-col-width: 6;
    }

    @media screen and (width >= 990px) {
      --facets-vertical-col-width: 5;
    }
  }

  .facets-block-wrapper {
    @media screen and (width >= 750px) {
      margin: var(--facets-margin);
      grid-column: var(--grid-column--desktop);
    }
  }

  .facets-block-wrapper--vertical {
    @media screen and (width >= 750px) {
      grid-column: var(--grid-column--desktop);
    }
  }

  .facets-block-wrapper--vertical + .facets-toggle {
    @media screen and (width < 750px) {
      margin: 0;
    }
  }

  .facets-mobile-wrapper {
    display: flex;
    align-items: center;
    gap: var(--gap-sm);
    justify-content: flex-end;
  }

  .facets-mobile-wrapper:has(> :nth-child(2)) {
    justify-content: space-between;
  }

  dialog-component.facets-block-wrapper:not(:has(.facets--drawer[open])) {
    @media screen and (width >= 750px) {
      display: none;
    }
  }

  .variant-option__swatch-wrapper {
    position: relative;
    overflow: visible;
    border-radius: var(--options-border-radius);
  }

  .variant-option--swatches-disabled .variant-option__swatch-wrapper {
    overflow: hidden;
  }

  .facets {
    --facets-form-horizontal-gap: 20px;
    --facets-horizontal-max-input-wrapper-height: 230px;
    --facets-upper-z-index: var(--layer-raised);
    --facets-open-z-index: var(--layer-heightened);
    --facets-sticky-z-index: var(--layer-sticky);
    --facets-panel-min-width: 120px;
    --facets-panel-height: 300px;
    --facets-grid-panel-width: 300px;
    --facets-clear-padding: var(--padding-md);
    --facets-clear-shadow: 0 -4px 14px 0 rgba(from var(--color-foreground) r g b / var(--facets-low-opacity));
    --facets-input-label-color: rgb(from var(--color-input-text) r g b / 60%);
    --facets-clear-all-min-width: 120px;
    --facets-see-results-min-width: 55%;
    --facets-mobile-gap: 22px;
    --facets-low-opacity: 10%;
    --facets-hover-opacity: 75%;

    top: auto;
    bottom: 0;
    height: var(--drawer-height);
    max-height: var(--drawer-height);
    width: var(--drawer-width);
    max-width: var(--drawer-max-width);
    box-shadow: none;
    padding-block: 0;

    &:not(.facets--drawer) {
      @media screen and (width >= 750px) {
        padding-inline: var(--padding-inline-start) var(--padding-inline-end);
        width: 100%;
        max-width: 100%;
      }
    }
  }

  .facets--horizontal {
    display: none;

    @media screen and (width >= 750px) {
      padding-block: var(--padding-block-start) var(--padding-block-end);
      display: flex;
      align-items: center;
      position: relative;
      z-index: var(--facets-upper-z-index);
      border: none;
      height: auto;
      top: initial;
      bottom: initial;
      max-height: none;
      width: auto;
      overflow: visible;
    }
  }

  .facets--vertical {
    display: none;

    @media screen and (width >= 750px) {
      padding-block: 0 var(--padding-block-end);
      display: block;
      position: static;
      top: auto;
      bottom: auto;
      height: auto;
      max-height: none;
      width: auto;
      overflow: visible;
    }
  }

  .collection-wrapper:has(.collection-wrapper--full-width) .facets--vertical:not(.facets--drawer) {
    @media screen and (width >= 750px) {
      padding-inline-start: max(var(--padding-sm), var(--padding-inline-start));
    }
  }

  .facets--drawer {
    border-radius: 0;
    border-right: var(--style-border-drawer);
    box-shadow: var(--shadow-drawer);
    padding-inline: 0;
  }

  .facets--drawer[open] {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .facets.facets-controls-wrapper {
    @media screen and (width >= 750px) {
      grid-column: column-1 / column-12;
      color: rgb(from var(--color-foreground) r g b / 70%);
      gap: 0 var(--facets-form-horizontal-gap);
      padding-bottom: var(--padding-xs);
    }
  }

  .collection-wrapper:has(.product-grid-mobile--large) .facets-mobile-wrapper.facets-controls-wrapper {
    @media screen and (width < 750px) {
      display: none;
    }
  }

  .facets__inputs {
    display: flex;
    flex-direction: column;
    gap: var(--padding-lg);
    width: 100%;
  }

  :is(.facets--drawer, .facets--vertical) .facets__inputs:not(:has(.show-more)) {
    padding-block-end: var(--padding-sm);
  }

  /* Facets - Form */
  .facets__form-wrapper {
    display: flex;
    flex-direction: column;
    color: var(--color-foreground-muted);
    width: 100%;
  }

  .facets--horizontal .facets__form-wrapper {
    @media screen and (width >= 750px) {
      flex-direction: row;
      height: auto;
    }
  }

  .facets__form {
    display: flex;
    flex-flow: column;
    width: 100%;
    height: 100%;
  }

  .facets--horizontal .facets__form {
    @media screen and (width >= 750px) {
      flex-flow: row nowrap;
      height: auto;
    }
  }

  .facets:not(.facets--drawer) .facets__filters-wrapper {
    @media screen and (width >= 750px) {
      margin-inline-end: var(--margin-md);
    }
  }

  .facets--horizontal .facets__filters-wrapper {
    @media screen and (width >= 750px) {
      max-width: 60%;
      display: flex;
      flex-wrap: wrap;
      column-gap: var(--gap-xl);
      margin-inline-end: 0;
    }
  }

  /* Facets - Summary */
  .facets__summary {
    --variant-picker-swatch-width: 32px;
    --variant-picker-swatch-height: 32px;
    --icon-opacity: 0.5;

    @media screen and (width >= 750px) {
      --variant-picker-swatch-width: 26px;
      --variant-picker-swatch-height: 26px;
    }

    font-size: var(--font-h4--size);
    display: flex;
    justify-content: space-between;

    &:hover {
      --icon-opacity: 1;
    }
  }

  .facets__filters-wrapper:hover .facets__summary,
  .facets__filters-wrapper:has(.facets__panel[open]) .facets__summary {
    opacity: var(--facets-hover-opacity);
  }

  .facets__filters-wrapper .facets__summary:hover,
  .facets__filters-wrapper .facets__panel[open] .facets__summary {
    opacity: 1;
  }

  .facets--horizontal .facets__summary {
    @media screen and (width >= 750px) {
      font-size: var(--font-paragraph--size);
      justify-content: flex-start;
      height: var(--minimum-touch-target);
    }
  }

  .facets__summary .icon-caret {
    height: var(--icon-size-xs);
    width: var(--icon-size-xs);
    color: rgb(from var(--color-foreground) r g b / var(--icon-opacity));
    margin-block: var(--margin-2xs);
    transition: color var(--animation-speed) var(--animation-easing);
  }

  .facets--drawer .facets__summary .icon-caret {
    margin-inline-start: var(--margin-2xs);
  }

  /* Facets - Bubble */
  .facets__bubble {
    display: inline-flex;
    font-family: var(--font-paragraph--family);
    font-weight: var(--font-paragraph--weight);
    aspect-ratio: 1 / 1;
  }

  /* Facets - Inputs */
  .facets__inputs-wrapper {
    margin-block: var(--padding-xs) var(--padding-xs);
  }

  .facets__inputs .show-more {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xl);
    margin-block-end: var(--padding-xl);
  }

  .facets:not(.facets--drawer) .facets__inputs-wrapper {
    @media screen and (width >= 750px) {
      gap: var(--gap-sm);
    }
  }

  .facets--horizontal .facets__inputs .show-more {
    @media screen and (width >= 750px) {
      display: contents;
    }
  }

  .facets--horizontal .facets__inputs-wrapper {
    @media screen and (width >= 750px) {
      max-height: var(--facets-horizontal-max-input-wrapper-height);
      scrollbar-width: none;
      -ms-overflow-style: none;
      overflow-x: auto;
      padding: var(--padding-md);
      margin-block: 0;
    }
  }

  .facets--vertical .facets__inputs:has(.show-more) .facets__inputs-wrapper {
    padding-block: var(--padding-sm);
    padding-inline: var(--padding-sm);
    margin-block: calc(var(--padding-sm) * -1);
    margin-inline: calc(var(--padding-sm) * -1);
  }

  @media screen and (width < 750px) {
    .facets__inputs:has(.show-more) .facets__inputs-wrapper {
      padding-block: var(--padding-sm);
      padding-inline: var(--padding-sm);
      margin-block: calc(var(--padding-sm) * -1);
      margin-inline: calc(var(--padding-sm) * -1);
    }
  }

  .facets__inputs-wrapper:not(:has(.facets__inputs-list)),
  .facets__inputs-wrapper .facets__inputs-list {
    display: flex;
    gap: var(--facets-mobile-gap);
    flex-direction: column;

    @media screen and (width >= 750px) {
      gap: var(--gap-sm);
    }
  }

  @media screen and (width >= 750px) {
    .facets--vertical .facets__inputs-wrapper .facets__inputs-list--swatches {
      gap: var(--gap-sm);
    }

    .facets--horizontal
      .facets__inputs-wrapper
      .facets__inputs-list--swatches:not(.facets__inputs-list--swatches-grid) {
      display: grid;
      grid-template-columns: repeat(var(--swatch-columns, 4), 1fr);
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches {
    --facets-mobile-gap: var(--gap-sm);
  }

  .facets__inputs-wrapper .facets__inputs-list--grid {
    --min-column-width: 20%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--min-column-width), 1fr));
    gap: var(--gap-sm);

    @media screen and (width >= 750px) {
      --min-column-width: 50px;
    }
  }

  .facets-block-wrapper:not(.facets-block-wrapper--vertical) .facets__inputs-list--grid {
    @media screen and (width >= 750px) {
      width: var(--facets-grid-panel-width);
    }
  }

  .facets__inputs-wrapper--row:not(:has(.facets__inputs-list)),
  .facets__inputs-wrapper--row .facets__inputs-list {
    flex-wrap: wrap;
    flex-direction: row;
  }

  .facets__inputs .show-more__button {
    --show-more-icon-size: 22px;
    --show-more-gap: 8px;

    gap: var(--show-more-gap);

    @media screen and (width >= 750px) {
      --show-more-icon-size: 16px;
      --show-more-gap: 6px;
    }
  }

  .facets__inputs .show-more__button .icon-plus {
    width: var(--show-more-icon-size);
    height: var(--show-more-icon-size);

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

  /* Facets - Panel */
  .facets__panel {
    padding: 0 var(--drawer-padding);
  }

  .facets:not(.facets--drawer) .facets__panel,
  .facets-controls-wrapper .facets__panel {
    @media screen and (width >= 750px) {
      padding: 0;
    }
  }

  .facets--horizontal .facets__panel {
    @media screen and (width >= 750px) {
      position: relative;
    }
  }

  .facets-mobile-wrapper .facets__panel-content {
    border-radius: var(--style-border-radius-popover);
  }

  .facets-mobile-wrapper {
    --facets-upper-z-index: var(--layer-raised);
    --facets-panel-min-width: 120px;
    --facets-panel-height: 300px;
  }

  .facets--horizontal .facets__panel-content,
  .sorting-filter__options {
    @media screen and (width >= 750px) {
      border-radius: var(--style-border-radius-popover);
      position: absolute;
      top: 100%;
      width: max-content;
      min-width: var(--facets-panel-min-width);
      max-width: var(--facets-panel-width);
      max-height: var(--facets-panel-height);
      z-index: var(--facets-upper-z-index);
      box-shadow: var(--shadow-popover);
      border: var(--style-border-popover);
      background-color: var(--color-background);
      overflow-y: hidden;
      gap: 0;
    }
  }

  :is(.facets--drawer, .facets--vertical) .facets__item::before,
  .sorting-filter::before {
    content: '';
    display: block;
    height: 0;
    width: calc(100% - var(--drawer-padding) * 2);
    border-top: var(--style-border-width) solid var(--color-border);
    margin: 0 auto;
  }

  @media screen and (width >= 750px) {
    .facets:not(.facets--drawer) :is(.facets__item, .sorting-filter)::before {
      width: 100%;
    }

    .facets--horizontal .facets__item:not(:first-of-type)::before,
    .facets--horizontal .sorting-filter::before {
      content: none;
    }
  }

  @media screen and (width >= 750px) {
    .facets--vertical .facets__item:not(:first-of-type)::before,
    .facets--vertical .sorting-filter::before {
      content: '';
    }
  }

  /* Facets - Text */
  .facets__label,
  .facets__clear-all,
  .clear-filter {
    text-decoration-color: transparent;
    text-decoration-thickness: 0.075em;
    text-underline-offset: 0.125em;
    transition: text-decoration-color var(--animation-speed) var(--animation-easing);
  }

  .facets__label,
  .products-count-wrapper {
    text-transform: var(--facet-label-transform);
  }

  .clear-filter {
    background-color: transparent;
    box-shadow: none;
    padding: 0;
  }

  /* Facets - Label */
  .facets__label {
    color: var(--color-foreground);
    cursor: pointer;
    @media screen and (width >= 750px) {
      margin-inline-end: var(--margin-2xs);
    }
  }

  /* Products count */
  .products-count-wrapper {
    display: none;
  }

  .facets--horizontal .products-count-wrapper {
    @media screen and (width >= 750px) {
      display: flex;
      margin-left: auto;
      flex-shrink: 0;
      align-items: center;
      height: var(--minimum-touch-target);
    }
  }

  /* Mobile specific components */
  .facets__title-wrapper {
    background-color: var(--color-background);
    color: var(--color-foreground);
    position: sticky;
    top: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: var(--padding-xs);
    padding-inline-start: var(--drawer-padding);
    padding-inline-end: var(--padding-2xs);
    z-index: var(--facets-sticky-z-index);
  }

  :is(.facets--horizontal, .facets--vertical) .facets__title-wrapper {
    @media screen and (width >= 750px) {
      display: none;
    }
  }

  .facets-drawer__title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--gap-xs);

    --variant-picker-swatch-width: 32px;
    --variant-picker-swatch-height: 32px;

    @media screen and (width >= 750px) {
      --variant-picker-swatch-width: 26px;
      --variant-picker-swatch-height: 26px;
    }
  }

  .facets-drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background-color: transparent;
    border: none;
    cursor: pointer;
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    box-shadow: none;
  }

  /* Status */
  .facets__status:not(:empty) {
    width: max-content;
    display: flex;
    margin-inline-start: auto;
    font-weight: 500;
    color: var(--color-foreground);
  }

  .facets__panel[open] .facets__status {
    display: none;
  }

  .facets--filters-title {
    margin-block-end: 0;
    color: var(--color-foreground);
    height: fit-content;
    @media screen and (width < 750px) {
      display: none;
    }
  }

  .facets--horizontal .facets__panel .facets__status:has(:not(:empty)) {
    @media screen and (width >= 750px) {
      display: flex;
      margin-inline-start: var(--margin-xs);
      margin-inline-end: var(--margin-xs);
    }
  }

  /* Horizontal filter style */
  .facets--horizontal .facets__form {
    @media screen and (width >= 750px) {
      gap: 0 var(--facets-form-horizontal-gap);
    }
  }

  .collection-wrapper:has(> .facets--horizontal) .facets__panel[open] {
    @media screen and (width >= 750px) {
      z-index: var(--facets-open-z-index);
    }
  }
/* END_BLOCK:filters */

/* START_BLOCK:footer-utilities (INDEX:181) */
.footer-utilities {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-lg);
    text-wrap: nowrap;
    border-top: var(--border-width) solid var(--color-border);
    color: var(--color-foreground-muted);

    @media screen and (width >= 750px) {
      flex-direction: row;
      justify-content: space-between;
      gap: var(--gap-md);
      align-items: center;
      text-align: left;
    }
  }

  .footer-utilities a {
    color: var(--color-foreground-muted);
  }

  .footer-utilities__group {
    width: 100%;
    display: flex;
    flex: 1 1 max-content;
    text-align: center;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-md);

    @media screen and (width >= 750px) {
      flex-direction: row;
      align-items: baseline;
      gap: var(--gap-2xs) var(--gap-xl);
      text-align: left;
    }
  }

  .footer-utilities__group--right {
    @media screen and (width >= 750px) {
      justify-content: flex-end;
    }
  }

  .footer-utilities__group:empty {
    @media screen and (width < 750px) {
      display: none;
    }
  }
/* END_BLOCK:footer-utilities */

/* START_BLOCK:icon (INDEX:185) */
.icon-block {
    display: flex;
    fill: currentcolor;
    flex-shrink: 0;
  }
  .icon-block__media {
    height: auto;
  }
/* END_BLOCK:icon */

/* START_BLOCK:image (INDEX:186) */
.placeholder-image {
    position: relative;
    aspect-ratio: var(--ratio);
    overflow: hidden;
  }

  placeholder-image img {
    width: 100%;
    height: 100%;
    aspect-ratio: var(--ratio);
  }

  .image-block {
    display: flex;
    /* When the image is nested in a group, section, etc, respect the parent's horizontal alignment */
    justify-content: var(--horizontal-alignment, 'inline-start');
  }

  .image-block--height-fill .image-block__image {
    height: 100%;
  }

  .image-block__image {
    object-fit: cover;
    aspect-ratio: var(--ratio);
  }
/* END_BLOCK:image */

/* START_BLOCK:logo (INDEX:188) */
.logo-block {
    width: calc(var(--logo-width) + var(--padding-inline-start) + var(--padding-inline-end));
    max-width: 100%;
    max-height: calc(var(--logo-height, 100%) + var(--padding-block-start) + var(--padding-block-end));
    font-size: var(--logo-height);
    display: flex;

    @media screen and (width <= 750px) {
      max-height: calc(
        var(--logo-height-mobile, var(--logo-height, 100%)) + var(--padding-block-start) + var(--padding-block-end)
      );
      font-size: var(--logo-height-mobile, var(--logo-height));
      width: calc(
        var(--logo-width-mobile, var(--logo-width)) + var(--padding-inline-start) + var(--padding-inline-end)
      );
    }
  }

  .logo-block__image-wrapper {
    display: flex;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
  }

  .logo-block__image {
    object-fit: contain;
    width: 100%;
  }
/* END_BLOCK:logo */

/* START_BLOCK:menu-wrap (INDEX:189) */
.menu--wrap {
    width: 100%;
  }

  .menu--wrap:not(:has(.menu__heading--empty)) .details-content {
    margin-block-start: var(--spacing--size);
  }

  .menu--wrap .menu__item + .menu__item {
    margin-block-start: var(--spacing--size);
  }

  .menu--wrap .menu__heading--empty {
    display: none;
  }

  .menu--wrap .menu__heading__default {
    display: contents;
  }

  .menu--wrap .menu__heading__accordion {
    display: none;
  }

  @media screen and (width < 750px) {
    .menu--wrap.menu--accordion .menu__heading--empty {
      display: flex;
    }
    .menu--wrap.menu--accordion .menu__heading__accordion {
      display: contents;
    }
    .menu--wrap.menu--accordion .menu__heading__default {
      display: none;
    }
    .menu--wrap.menu--accordion .details-content {
      margin-block-start: var(--spacing--size);
    }
    .menu--wrap.menu--accordion .menu__details {
      padding-inline: 0;
    }
    .menu--wrap.menu--dividers .menu__details {
      border-block-end: var(--style-border-width) solid var(--color-border);
    }
    .menu--wrap.menu--dividers .details-content {
      padding-block-end: var(--padding-sm);
    }
  }

  .menu--wrap.menu--caret .icon-plus,
  .menu--wrap.menu--plus .icon-caret {
    display: none;
  }

  /* Horizontal layout — items wrap to next line when they don't fit */
  .menu--wrap.menu--layout-horizontal,
  .menu--wrap.menu--layout-horizontal .menu__details,
  .menu--wrap.menu--layout-horizontal .details-content {
    width: 100%;
  }
  .menu--wrap.menu--layout-horizontal .details-content ul.list-unstyled {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    column-gap: var(--menu-h-gap, 24px);
    row-gap: var(--spacing--size, 12px);
    justify-content: var(--menu-h-align, flex-start);
  }
  .menu--wrap.menu--layout-horizontal .details-content ul.list-unstyled .menu__item + .menu__item {
    margin-block-start: 0;
  }
  /* Allow wrap (default) — list wraps to new row when items overflow horizontally,
     AND individual items can wrap their text if a single item is too wide.
     This prevents text from being cut off / overflowing the container. */
  .menu--wrap.menu--allow-wrap .menu__item {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
  }
  .menu--wrap.menu--allow-wrap .menu__item a {
    display: inline-block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  /* Allow-wrap OFF — items stay on one line; overflow scrolls horizontally */
  .menu--wrap.menu--layout-horizontal:not(.menu--allow-wrap) .menu__item {
    white-space: nowrap;
  }
  .menu--wrap.menu--layout-horizontal:not(.menu--allow-wrap) .details-content ul.list-unstyled {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .menu--wrap.menu--layout-horizontal:not(.menu--allow-wrap) .details-content ul.list-unstyled::-webkit-scrollbar {
    display: none;
  }

  /* Vertical layout (used when user picks 'vertical') */
  .menu--wrap.menu--layout-vertical .details-content ul.list-unstyled {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  /* Stack vertically on mobile when horizontal is selected */
  @media screen and (width < 750px) {
    .menu--wrap.menu--horizontal-stack-mobile .details-content > ul.list-unstyled {
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      flex-wrap: nowrap;
      row-gap: var(--spacing--size, 12px);
    }
    .menu--wrap.menu--horizontal-stack-mobile .details-content > ul.list-unstyled .menu__item + .menu__item {
      margin-block-start: 0;
    }
  }
/* END_BLOCK:menu-wrap */

/* START_BLOCK:menu (INDEX:190) */
.menu {
    width: 100%;
  }

  .menu:not(:has(.menu__heading--empty)) .details-content {
    margin-block-start: var(--spacing--size);
  }

  .menu__item + .menu__item {
    margin-block-start: var(--spacing--size);
  }

  .menu .menu__heading--empty {
    display: none;
  }

  .menu__heading__default {
    display: contents;
  }

  .menu__heading__accordion {
    display: none;
  }

  @media screen and (width < 750px) {
    /* Always show the fallback heading on mobile when accordion is enabled */
    .menu--accordion .menu__heading--empty {
      display: flex;
    }

    .menu--accordion .menu__heading__accordion {
      display: contents;
    }

    .menu--accordion .menu__heading__default {
      display: none;
    }

    .menu--accordion .details-content {
      margin-block-start: var(--spacing--size);
    }

    .menu--accordion .menu__details {
      padding-inline: 0;
    }

    .menu--dividers .menu__details {
      border-block-end: var(--style-border-width) solid var(--color-border);
    }

    .menu--dividers .details-content {
      padding-block-end: var(--padding-sm);
    }
  }

  .menu--caret .icon-plus,
  .menu--plus .icon-caret {
    display: none;
  }

  /* Horizontal layout */
  .menu--layout-horizontal,
  .menu--layout-horizontal .menu__details,
  .menu--layout-horizontal .details-content {
    width: 100%;
  }
  .menu--layout-horizontal .details-content ul.list-unstyled {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
    column-gap: var(--menu-h-gap, 24px);
    row-gap: var(--spacing--size, 12px);
    justify-content: var(--menu-h-align, flex-start);
  }
  .menu--layout-horizontal .details-content ul.list-unstyled .menu__item + .menu__item {
    margin-block-start: 0;
  }
  .menu--layout-horizontal .menu__item {
    white-space: nowrap;
  }

  /* Optional: stack vertically on mobile even when horizontal is selected */
  @media screen and (width < 750px) {
    .menu--horizontal-stack-mobile .details-content > ul.list-unstyled {
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      row-gap: var(--spacing--size, 12px);
    }
    .menu--horizontal-stack-mobile .details-content > ul.list-unstyled .menu__item + .menu__item {
      margin-block-start: 0;
    }
  }
/* END_BLOCK:menu */

/* START_BLOCK:page (INDEX:192) */
.page-block {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: auto;
    align-items: flex-start;
  }

  .page-title {
    margin-bottom: var(--margin-xl);
  }

  .placeholder-image {
    position: relative;
    aspect-ratio: var(--ratio);
    overflow: hidden;
  }

  .page-placeholder {
    width: 100%;
    height: 100%;
  }
/* END_BLOCK:page */

/* START_BLOCK:payment-icons (INDEX:193) */
.payment-icons {
    width: 100%;
  }

  .payment-icons__list {
    display: flex;
    align-items: center;
    justify-content: var(--alignment);
    flex-wrap: wrap;
    gap: var(--icon-gap);
    margin: 0;
    padding: 0;
  }

  .payment-icons__item {
    display: flex;
    align-items: center;
  }
/* END_BLOCK:payment-icons */

/* START_BLOCK:popup-link (INDEX:194) */
.popup-link__button svg {
    display: inline-block;
    position: relative;
    top: var(--margin-2xs);
  }

  .popup-link__content {
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    border-radius: var(--style-border-radius-popover);
    background-color: var(--color-background);
    padding: var(--padding-4xl) var(--padding-xl) var(--padding-xl);
    max-width: var(--normal-content-width);
    max-height: var(--modal-max-height);

    @media screen and (min-width: 750px) {
      padding: var(--padding-5xl);
    }
  }

  .popup-link__content[open] {
    animation: modalSlideInTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .popup-link__content.dialog-closing {
    animation: modalSlideOutTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .popup-link__content--drawer {
    position: fixed;
    border-radius: 0;
    width: var(--sidebar-width);
    max-width: 95vw;
    height: 100%;
    margin: 0 0 0 auto;
  }

  /* Needed to ensure the drawer is full height */
  .popup-link__content--drawer:modal {
    max-height: 100dvh;
  }

  .popup-link__close {
    position: absolute;
    top: var(--margin-2xs);
    right: var(--margin-2xs);
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    color: var(--color-foreground);
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }

  .popup-link__close {
    background-color: transparent;
    opacity: 0.8;
  }

  .popup-link__close svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }
/* END_BLOCK:popup-link */

/* START_BLOCK:price (INDEX:195) */
.tax-note:empty {
    display: none;
  }

  form.payment-terms {
    padding-top: 0.5em;
  }

  .installments:not(:has(.shopify-payment-terms)) {
    display: none;
  }
/* END_BLOCK:price */

/* START_BLOCK:product-inventory (INDEX:198) */
.product-inventory__status {
    display: flex;
    align-items: center;
    font-size: var(--font-paragraph--size);
    line-height: var(--font-paragraph--line-height);
    gap: var(--padding-xs);
  }

  .product-inventory__icon,
  .product-inventory__icon svg {
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
  }

  .product-inventory__icon-low {
    color: var(--color-lowstock);
  }

  .product-inventory__icon-in_stock {
    color: var(--color-instock);
  }

  .product-inventory__icon-out_of_stock {
    color: var(--color-outofstock);
  }

  .product-inventory__icon circle:first-of-type {
    opacity: 0.3;
  }
/* END_BLOCK:product-inventory */

/* START_BLOCK:product-recommendations (INDEX:199) */
.product-recommendations-wrapper {
    width: 100%;
  }

  .product-recommendations-wrapper:has(product-recommendations[data-shopify-editor-preview]) {
    width: 100vw;
  }

  .product-recommendations {
    display: block;
  }

  .product-recommendations__skeleton-item {
    aspect-ratio: 3 / 4;
    background-color: var(--color-foreground);
    opacity: var(--skeleton-opacity);
    border-radius: 4px;
  }
/* END_BLOCK:product-recommendations */

/* START_BLOCK:quote-form (INDEX:202) */
.bt-quote {
    display: block;
    font-family: 'Rubik', sans-serif;
    box-sizing: border-box;
  }
  .bt-quote *, .bt-quote *::before, .bt-quote *::after { box-sizing: border-box; }

  .bt-quote__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px 28px;
    border: none;
    border-radius: var(--bt-q-btn-radius, 50px);
    background: var(--bt-q-btn-bg, #fa5800);
    color: var(--bt-q-btn-text, #fff);
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.12s ease, box-shadow 0.2s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-quote__btn:hover {
    background: var(--bt-q-btn-bg-hover, #e65000);
    transform: translateY(-1px);
    box-shadow: 0 8px 22px -8px rgba(0, 0, 0, 0.25);
  }
  .bt-quote__btn-icon { width: 18px; height: 18px; flex-shrink: 0; }
  .bt-quote__subtext {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.4;
    color: rgba(0, 0, 0, 0.6);
    text-align: center;
  }

  /* Modal */
  .bt-quote__modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
  }
  .bt-quote__modal[hidden] { display: none; }
  .bt-quote__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: bt-q-fade 0.2s ease;
  }
  .bt-quote__dialog {
    position: relative;
    width: 100%;
    max-width: 540px;
    max-height: 92vh;
    overflow-y: auto;
    background: #ffffff;
    color: #1e1310;
    border-radius: var(--bt-q-modal-radius, 24px);
    padding: 32px 28px 26px;
    animation: bt-q-pop 0.25s cubic-bezier(0.45, 0, 0.15, 1);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  }
  @keyframes bt-q-fade { from { opacity: 0; } to { opacity: 1; } }
  @keyframes bt-q-pop {
    from { opacity: 0; transform: translateY(20px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  .bt-quote__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.06);
    color: #555;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
    z-index: 1;
    padding: 0 0 3px;
  }
  .bt-quote__close:hover { background: rgba(0, 0, 0, 0.12); color: #000; }

  .bt-quote__header { margin-bottom: 18px; padding-right: 40px; }
  .bt-quote__title {
    margin: 0 0 6px;
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
  }
  .bt-quote__subtitle {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(0, 0, 0, 0.65);
  }

  .bt-quote__form {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .bt-quote__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  @media (max-width: 600px) {
    .bt-quote__row { grid-template-columns: 1fr; }
  }
  .bt-quote__field, .bt-quote__fieldset {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border: 0;
    padding: 0;
    margin: 0;
  }
  .bt-quote__label {
    font-size: 13px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.85);
  }
  .bt-quote__input {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid rgba(0, 0, 0, 0.12);
    border-radius: var(--bt-q-input-radius, 12px);
    background: #fff;
    color: inherit;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.4;
    transition: border-color 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
  }
  .bt-quote__input:focus {
    outline: none;
    border-color: var(--bt-q-accent, #fa5800);
  }
  .bt-quote__input::placeholder { color: rgba(0, 0, 0, 0.4); }
  .bt-quote__textarea {
    resize: vertical;
    min-height: 90px;
  }
  .bt-quote__radio-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .bt-quote__radio-row label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border: 1.5px solid rgba(0, 0, 0, 0.12);
    border-radius: 100px;
    cursor: pointer;
    font-size: 13px;
    transition: border-color 0.15s, background 0.15s;
  }
  .bt-quote__radio-row input[type="radio"] {
    width: 14px;
    height: 14px;
    accent-color: var(--bt-q-accent, #fa5800);
    margin: 0;
  }
  .bt-quote__radio-row label:has(input[type="radio"]:checked) {
    border-color: var(--bt-q-accent, #fa5800);
    background: rgba(250, 88, 0, 0.06);
  }

  /* File upload */
  .bt-quote__upload {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 20px;
    border: 2px dashed rgba(0, 0, 0, 0.18);
    border-radius: var(--bt-q-input-radius, 12px);
    background: rgba(0, 0, 0, 0.02);
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
  }
  .bt-quote__upload:hover, .bt-quote__upload.is-drop {
    border-color: var(--bt-q-accent, #fa5800);
    background: rgba(250, 88, 0, 0.04);
  }
  .bt-quote__upload svg {
    width: 28px;
    height: 28px;
    color: var(--bt-q-accent, #fa5800);
  }
  .bt-quote__upload-text {
    font-size: 14px;
    font-weight: 500;
    color: rgba(0, 0, 0, 0.7);
    text-align: center;
  }
  .bt-quote__upload-meta {
    font-size: 12px;
    color: rgba(0, 0, 0, 0.5);
  }
  .bt-quote__file-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
  }
  .bt-quote__previews {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
  }
  .bt-quote__previews:empty { display: none; }
  .bt-quote__preview {
    position: relative;
    width: 70px;
    height: 70px;
    border-radius: 8px;
    overflow: hidden;
    background: #f0f0f0;
  }
  .bt-quote__preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .bt-quote__preview-remove {
    position: absolute;
    top: 3px;
    right: 3px;
    width: 18px;
    height: 18px;
    border: none;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
    padding: 0 0 2px;
  }

  .bt-quote__submit {
    position: relative;
    margin-top: 6px;
    padding: 14px 24px;
    border: none;
    border-radius: var(--bt-q-btn-radius, 50px);
    background: var(--bt-q-btn-bg, #fa5800);
    color: var(--bt-q-btn-text, #fff);
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.12s ease;
    appearance: none;
    -webkit-appearance: none;
  }
  .bt-quote__submit:hover {
    background: var(--bt-q-btn-bg-hover, #e65000);
    transform: translateY(-1px);
  }
  .bt-quote__submit:disabled {
    opacity: 0.85;
    cursor: progress;
    transform: none;
  }
  .bt-quote__submit.is-loading .bt-quote__submit-label { opacity: 0.45; }
  .bt-quote__submit-loader {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: bt-q-spin 0.7s linear infinite;
  }
  .bt-quote__submit.is-loading .bt-quote__submit-loader { display: inline-block; }
  @keyframes bt-q-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }

  .bt-quote__legal {
    font-size: 12px;
    line-height: 1.4;
    color: rgba(0, 0, 0, 0.55);
    text-align: center;
    margin-top: 6px;
  }
  .bt-quote__legal a { color: inherit; text-underline-offset: 2px; }

  /* Result panels */
  .bt-quote__result {
    text-align: center;
    padding: 20px 10px;
  }
  .bt-quote__result h4 {
    margin: 12px 0 6px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
  }
  .bt-quote__result p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: rgba(0, 0, 0, 0.7);
  }
  .bt-quote__result-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    font-size: 28px;
    font-weight: 700;
  }
  .bt-quote__result--success .bt-quote__result-icon {
    background: rgba(43, 182, 115, 0.15);
    color: #1f7a4d;
  }
  .bt-quote__result--error .bt-quote__result-icon {
    background: rgba(213, 72, 72, 0.12);
    color: #b03434;
  }
  .bt-quote__retry {
    margin-top: 14px;
    padding: 10px 22px;
    border: 1.5px solid currentColor;
    border-radius: 100px;
    background: transparent;
    color: var(--bt-q-accent, #fa5800);
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }

  body.bt-quote-modal-open { overflow: hidden; }
/* END_BLOCK:quote-form */

/* START_BLOCK:review (INDEX:203) */
.rating-wrapper {
    width: 100%;
    gap: var(--gap-xs);
    flex-wrap: wrap;
  }

  .rating-color--primary {
    --star-fill-color: var(--color-primary);
  }

  .rating-color--foreground {
    --star-fill-color: var(--color-foreground);
  }

  .rating-wrapper,
  .rating {
    display: flex;
    align-items: center;
  }

  .rating-wrapper.justify-right {
    flex-direction: row-reverse;
  }

  .rating {
    gap: var(--gap-3xs);
  }

  .rating-wrapper .rating-text,
  .rating-wrapper .rating-count,
  .rating-wrapper .rating-count-separator {
    color: var(--star-fill-color);
    margin: 0;
    white-space: nowrap;
  }

  .rating-count-separator {
    opacity: 0.2;
    padding-left: calc(var(--padding-xs) / 2);
    padding-right: var(--padding-xs);
  }

  .stars {
    height: var(--star-size);
    fill: var(--empty-star-fill-color);
  }

  .filled-star {
    fill: var(--star-fill-color);
  }
/* END_BLOCK:review */

/* START_BLOCK:spacer (INDEX:206) */
/* Fill opposite direction */
  .layout-panel-flex--column > .spacer-block {
    width: 100%;
  }

  .layout-panel-flex--row > .spacer-block {
    height: 100%;
  }

  /* Flex - Percent */
  :is(.layout-panel-flex--row, .layout-panel-flex--column) > .spacer-block--size-percent {
    flex: var(--spacer-size);
  }

  /* Flex - Pixel */
  .layout-panel-flex--row > .spacer-block--size-pixel {
    width: var(--spacer-size);
  }

  .layout-panel-flex--column > .spacer-block--size-pixel {
    height: var(--spacer-size);
  }

  /* Mobile */
  @media screen and (width <= 750px) {
    /* Percent */
    .layout-panel-flex--row:not(.mobile-column) > .spacer-block--size-mobile-percent {
      flex: var(--spacer-size-mobile);
      height: 100%;
    }

    .layout-panel-flex--column > .spacer-block--size-mobile-percent,
    .mobile-column > .spacer-block--size-percent:not(.spacer-block--size-mobile-pixel) {
      width: 100%;
      flex: var(--spacer-size-mobile);
    }

    /* Pixel */
    .layout-panel-flex--row:not(.mobile-column) > .spacer-block--size-mobile-pixel {
      width: var(--spacer-size-mobile);
      height: 100%;
    }

    .layout-panel-flex--column > .spacer-block--size-mobile-pixel,
    .mobile-column > .spacer-block--size-mobile-pixel {
      width: 100%;
      flex: 0;
      height: var(--spacer-size-mobile);
    }
  }
/* END_BLOCK:spacer */

/* START_BLOCK:swatches (INDEX:207) */
product-swatches {
    width: 100%;
    display: flex;
    justify-content: var(--product-swatches-alignment);
    flex-direction: row;
    position: relative;
    overflow: hidden;
    gap: 0;

    @media (width < 750px) {
      justify-content: var(--product-swatches-alignment-mobile);
    }
  }

  swatches-variant-picker-component {
    display: flex;
    width: 100%;
    flex-direction: row;
  }

  swatches-variant-picker-component .variant-option--swatches {
    padding-block: calc(
        var(--product-swatches-padding-block-start) + var(--focus-outline-offset) + var(--focus-outline-width)
      )
      calc(var(--product-swatches-padding-block-end) + var(--focus-outline-offset) + var(--focus-outline-width));
    padding-inline: calc(
        var(--product-swatches-padding-inline-start) + var(--focus-outline-offset) + (1.5 * var(--focus-outline-width))
      )
      calc(var(--product-swatches-padding-inline-end) + var(--focus-outline-offset) + var(--focus-outline-width));
  }

  .variant-option--swatches {
    overflow-list::part(list) {
      gap: var(--gap-sm);
    }

    overflow-list[defer]::part(list) {
      flex-wrap: nowrap;
    }
  }

  .hidden-swatches__count {
    display: flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    color: rgb(from var(--color-foreground) r g b / 40%);

    &:before {
      /* Max & Andy, Feb 2025: This doesn't work in Safari without the counter-reset. https://stackoverflow.com/a/40179718 */
      counter-reset: overflow-count var(--overflow-count);
      content: '+' counter(overflow-count);
      line-height: 1;
    }
  }

  .hidden-swatches__count:hover {
    color: rgb(from var(--color-foreground) r g b / 100%);
  }
/* END_BLOCK:swatches */

/* START_BLOCK:video (INDEX:210) */
.placeholder-video {
    aspect-ratio: 5 / 3;
  }
/* END_BLOCK:video */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:account-actions (INDEX:211) */
.account-actions {
    background-color: var(--color-background);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: height var(--animation-values);

    &:has([data-active]) .account-actions__main-menu {
      visibility: hidden;
    }
  }

  .account-actions__header {
    padding: var(--padding-xl);
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
  }

  .account-actions__title {
    /* Ideally we set the font-size here, but specificity issues make this necessary */
    --font-h5--size: var(--font-size--lg);
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .account-actions__email {
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
    color: rgb(from var(--color-foreground) r g b / 60%);
    max-width: var(--account-actions-max-width);
    word-break: break-all;
  }

  .account-actions__sign-ins {
    padding: var(--padding-xl);
    padding-block-start: 0;
    padding-block-end: var(--padding-md);
    display: flex;
    flex-direction: column;
    gap: var(--gap-sm);
  }

  .account-actions__sign-in-text {
    display: inline;
  }

  .account-actions__fallback-text {
    display: none;
  }

  .account-actions__sign-ins:not(:has(shop-login-button)) {
    gap: 0;

    .account-actions__sign-in-text {
      display: none;
    }

    .account-actions__fallback-text {
      display: block;
    }
  }

  /* Makes the shop login button radius match the theme settings */
  .account-actions__shop-login {
    --buttons-radius: var(--style-border-radius-buttons-primary);
  }

  .account-actions__nav {
    padding: var(--padding-xl);
    padding-block-start: 0;
  }

  .account-actions__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--gap-sm);
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;

    @media screen and (width <= 300px) {
      grid-template-columns: 1fr;
    }
  }

  .account-actions__link {
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--gap-2xs);
  }

  .account-actions__icon {
    display: flex;
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
    margin-block: -4px;
  }
/* END_SNIPPET:account-actions */

/* START_SNIPPET:account-button (INDEX:212) */
.account-button {
    color: var(--color-foreground);
    appearance: none;
    border: none;
    background: none;
    height: var(--button-size);
    width: var(--button-size);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: center;
    transition: color var(--animation-speed) var(--animation-easing);
  }

  .account-button__avatar {
    --account-button-size: 1.625rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--account-button-size);
    height: var(--account-button-size);
    border-radius: var(--style-border-radius-50);
    background-color: var(--color-primary-button-background);
    font-size: var(--font-size--sm);
    font-weight: 500;
    color: var(--color-primary-button-text);
    text-transform: uppercase;
    line-height: 1;
  }

  .account-button__icon {
    color: currentColor;
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  /* The shop avatar doesn't bubble the click event up to our button, so we need to prevent that or the button doesn't work */
  .account-button shop-user-avatar {
    pointer-events: none;
  }
/* END_SNIPPET:account-button */

/* START_SNIPPET:account-drawer (INDEX:213) */
.account-drawer {
    @media screen and (width >= 750px) {
      display: none;
    }
  }

  .account-drawer__dialog {
    --animation-speed: 0.24s;
    --dialog-drawer-opening-animation: account-drawer-slide-in;
    --dialog-drawer-closing-animation: account-drawer-slide-out;
    height: fit-content;
    margin: 0;
    inset-block-end: 0;
    inset-block-start: auto;
    border-radius: 0;
    padding: 0;
  }

  .account-drawer__close-button {
    position: absolute;
    z-index: 1;
    inset-block-start: var(--padding-xs);
    inset-inline-end: var(--padding-xs);
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    color: var(--color-foreground);
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .account-drawer__close-button .svg-wrapper {
    display: flex;
    width: var(--button-size);
    height: var(--button-size);
    align-items: center;
    justify-content: center;
  }

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

  @keyframes account-drawer-slide-in {
    from {
      transform: translateY(100%);
    }

    to {
      transform: translateY(0);
    }
  }

  @keyframes account-drawer-slide-out {
    from {
      transform: translateY(0);
    }

    to {
      transform: translateY(100%);
    }
  }
/* END_SNIPPET:account-drawer */

/* START_SNIPPET:account-popover (INDEX:214) */
.account-popover {
    --account-popover-layer: var(--layer-temporary);
    --account-popover-min-width: 22rem;
    --account-actions-max-width: 22rem;
    --account-popover-transition-opacity: 0;
    --account-popover-transition-transform: translateY(-20px);
    --account-popover-transition-visibility: hidden;
    position: relative;

    &[open] {
      --account-popover-transition-opacity: 1;
      --account-popover-transition-transform: translateY(0);
      --account-popover-transition-visibility: visible;
    }

    &::details-content {
      transition: content-visibility 0.3s ease-in-out;
      transition-behavior: allow-discrete;
      content-visibility: var(--account-popover-transition-visibility);
    }
  }

  .account-popover__summary {
    padding: 0;

    &:hover {
      color: var(--color-foreground);
    }
  }

  .account-popover__panel {
    border-radius: var(--style-border-radius-popover);
    position: absolute;
    /* Override the default offset. This needs to always be fixed to the parent element in this way. */
    inset-block-start: calc(100% + 10px) !important;
    inset-inline-end: 0;
    width: max-content;
    min-width: var(--account-popover-min-width);
    z-index: var(--account-popover-layer);
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    background-color: var(--color-background);
    overflow-y: hidden;
    opacity: var(--account-popover-transition-opacity);
    transform: var(--account-popover-transition-transform);
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  }
/* END_SNIPPET:account-popover */

/* START_SNIPPET:add-to-cart-button (INDEX:215) */
.add-to-cart-text {
    display: flex;
    gap: var(--gap-2xs);
    align-items: center;
    justify-content: center;
    animation-duration: var(--animation-speed);
    animation-timing-function: var(--animation-easing);
    animation-fill-mode: forwards;
    transition: opacity var(--animation-speed) var(--animation-easing);
  }

  .atc-added .add-to-cart-text {
    animation-name: atc-slide-out;
  }

  .add-to-cart-text--added {
    position: absolute;
    inset: 0;
    animation-duration: var(--animation-speed);
    animation-timing-function: var(--animation-easing);
    animation-fill-mode: forwards;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: width var(--animation-speed) var(--animation-easing),
      opacity var(--animation-speed) var(--animation-easing);
  }

  .atc-added .add-to-cart-text--added {
    animation-name: atc-slide-in;
  }

  @keyframes atc-slide-in {
    from {
      opacity: 0;
      transform: translateY(0.5em);
    }

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

  @keyframes atc-slide-out {
    from {
      transform: translateY(0);
      opacity: 1;
    }

    to {
      transform: translateY(-1em);
      opacity: 0;
    }
  }
/* END_SNIPPET:add-to-cart-button */

/* START_SNIPPET:background-video (INDEX:218) */
@media (prefers-reduced-motion: reduce) {
    video-background-component video {
      display: none;
    }
  }
/* END_SNIPPET:background-video */

/* START_SNIPPET:bento-grid (INDEX:219) */
.bento-box {
    display: grid;
    column-gap: var(--bento-gap);
    row-gap: calc(var(--bento-gap) * 1.5);
    width: 100%;
  }

  .bento-box:has(.collection-card--image-bg) {
    row-gap: var(--bento-gap);
  }

  .bento-box ~ .bento-box {
    padding-block-start: var(--bento-gap);
  }

  @media (max-width: 900px) {
    .bento-box {
      grid-template-columns: repeat(2, 1fr);
    }

    .bento-box__item:nth-child(3n + 1) {
      grid-column: span 1;
    }

    .bento-box__item:nth-child(3n + 2) {
      grid-column: span 1;
    }

    .bento-box__item:nth-child(3n + 3) {
      grid-column: span 2;
    }

    /* Ensure last items create a full row */
    .bento-box__item:last-child:nth-child(3n + 5) {
      grid-column: span 1;
    }

    .bento-box__item:last-child:nth-child(3n + 4) {
      grid-column: span 2;
    }
  }

  @media (min-width: 901px) {
    .bento-box {
      grid-template-columns: repeat(12, 1fr);
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H I I I I I I'
        'J J J J K K K K L L L L';
    }

    .bento-box__item:nth-child(1) {
      grid-area: A;
    }
    .bento-box__item:nth-child(2) {
      grid-area: B;
    }
    .bento-box__item:nth-child(3) {
      grid-area: C;
    }

    .bento-box__item:nth-child(4) {
      grid-area: D;
    }
    .bento-box__item:nth-child(5) {
      grid-area: E;
    }
    .bento-box__item:nth-child(6) {
      grid-area: F;
    }

    .bento-box__item:nth-child(7) {
      grid-area: G;
    }
    .bento-box__item:nth-child(8) {
      grid-area: H;
    }
    .bento-box__item:nth-child(9) {
      grid-area: I;
    }

    .bento-box__item:nth-child(10) {
      grid-area: J;
    }
    .bento-box__item:nth-child(11) {
      grid-area: K;
    }
    .bento-box__item:nth-child(12) {
      grid-area: L;
    }

    /* === Overrides for specific cases === */

    /* Exactly 1 item */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(1)) {
      grid-template-areas: 'A A A A A A A A A A A A';
    }

    /* Exactly 2 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(2)) {
      grid-template-areas: 'A A A A A A B B B B B B';
    }

    /* Exactly 4 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(4)) {
      grid-template-areas:
        'A A A A B B B B B B B B'
        'C C C C C C C C D D D D';
    }

    /* Exactly 5 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(5)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E E E E';
    }

    /* Exactly 7 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(7)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D D D D E E E'
        'F F F F F F G G G G G G';
    }

    /* Exactly 8 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(8)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H H H H H H H';
    }

    /* Exactly 10 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(10)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G G G G G G G H H H'
        'I I I J J J J J J J J J';
    }

    /* Exactly 11 items */
    .bento-box:has(.bento-box__item:first-child:nth-last-child(11)) {
      grid-template-areas:
        'A A A B B B B B B C C C'
        'D D D D D D E E E F F F'
        'G G G H H H I I I I I I'
        'J J J J K K K K K K K K';
    }
  }
/* END_SNIPPET:bento-grid */

/* START_SNIPPET:blog-comment-form (INDEX:220) */
.blog-post-comments__form-container {
    --comment-form-gap: var(--gap-md);

    width: 100%;
    max-width: var(--normal-content-width);
    margin: var(--margin-4xl) auto 0;
  }

  .blog-post-comments__form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--comment-form-gap);

    @media screen and (width >= 750px) {
      grid-template-columns: 1fr 1fr;
    }
  }

  .blog-post-comments__form-input {
    padding: var(--padding-lg) var(--padding-xl);
    border: var(--style-border-width-inputs) solid var(--color-input-border);
  }

  .blog-post-comments__form-input--textarea {
    resize: vertical;
    min-height: var(--input-textarea-min-height);
  }

  .blog-post-comments__form-message {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .blog-post-comments__form-body {
    grid-column: 1 / -1;
  }

  .blog-post-comments__form-input:focus-visible {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }

  .blog-post-comments__form-moderated {
    font-size: var(--font-size--xs);
  }

  .blog-post-comments__form-submit {
    margin-block-start: var(--comment-form-gap);
  }
/* END_SNIPPET:blog-comment-form */

/* START_SNIPPET:button (INDEX:222) */
.link {
    text-decoration: none;
    text-decoration-color: currentcolor;

    &:hover {
      color: var(--color-primary-hover);
      text-decoration-color: transparent;
    }
  }
/* END_SNIPPET:button */

/* START_SNIPPET:card-gallery (INDEX:223) */
.card-gallery {
    overflow: hidden;
    container-type: inline-size; /* Make card-gallery a container */
    container-name: card-gallery-container; /* Optional: name the container */
  }

  .card-gallery__placeholder svg {
    height: 100%;
    width: 100%;
  }

  .card-gallery placeholder-image {
    aspect-ratio: var(--gallery-aspect-ratio, var(--ratio));
  }

  .product-card-gallery__title-placeholder {
    padding: var(--padding-md);
    font-size: var(--font-size--2xl);
    line-height: var(--line-height--display-loose);
    word-break: break-word;
    color: var(--color-foreground);
    background-color: rgb(from var(--color-foreground) r g b / 5%);
    aspect-ratio: var(--gallery-aspect-ratio);
    border-radius: var(--product-corner-radius);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  @media screen and (width >= 750px) {
    .product-grid[data-product-card-size='extra-large'] .product-card-gallery__title-placeholder {
      padding: var(--padding-3xl);
      font-size: var(--font-size--3xl);
    }

    .product-grid[data-product-card-size='large'] .product-card-gallery__title-placeholder {
      padding: var(--padding-2xl);
      font-size: var(--font-size--2xl);
    }

    .product-grid[data-product-card-size='medium'] .product-card-gallery__title-placeholder {
      padding: var(--padding-xl);
      font-size: var(--font-size--xl);
    }

    .product-grid[data-product-card-size='small'] .product-card-gallery__title-placeholder {
      padding: var(--padding-sm);
      font-size: var(--font-size--lg);
    }

    .product-grid[data-product-card-size='extra-large']
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-3xl) + 50px);
    }

    .product-grid[data-product-card-size='large']
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-2xl) + 50px);
    }

    .product-grid[data-product-card-size='medium']
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-xl) + 50px);
    }

    .product-grid[data-product-card-size='small']
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-sm) + 50px);
    }

    .product-grid[data-product-card-size='extra-large']
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-3xl) + 40px);
    }

    .product-grid[data-product-card-size='large']
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-2xl) + 40px);
    }

    .product-grid[data-product-card-size='medium']
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-xl) + 40px);
    }

    .product-grid[data-product-card-size='small']
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-sm) + 40px);
    }

    .product-grid[data-product-card-size='extra-large']
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-3xl) + 40px);
    }

    .product-grid[data-product-card-size='large']
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-2xl) + 40px);
    }

    .product-grid[data-product-card-size='medium']
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-xl) + 40px);
    }

    .product-grid[data-product-card-size='small']
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-sm) + 40px);
    }
  }

  @media screen and (width < 750px) {
    .product-card-gallery__title-placeholder {
      font-size: var(--font-size--xl);
      padding: var(--padding-md);
    }

    .product-grid[data-product-card-size]
      .card-gallery:has(.product-badges--top-right .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-right: calc(var(--padding-sm) + 50px);
    }

    .product-grid[data-product-card-size]
      .card-gallery:has(.product-badges--top-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-top: calc(var(--padding-sm) + 40px);
    }

    .product-grid[data-product-card-size]
      .card-gallery:has(.product-badges--bottom-left .product-badges__badge)
      .product-card-gallery__title-placeholder {
      padding-bottom: calc(var(--padding-sm) + 40px);
    }
  }

  [product-grid-view='zoom-out'] .card-gallery .product-card-gallery__title-placeholder {
    padding: var(--padding-xs) !important;
    font-size: var(--font-size--xs);
  }
/* END_SNIPPET:card-gallery */

/* START_SNIPPET:cart-discount (INDEX:225) */
.cart-discount__input {
    background-color: var(--color-input-background);
    color: var(--color-input-text);
    border-width: var(--style-border-width-inputs);
    border-color: var(--color-input-border);
    border-style: solid;
    border-radius: var(--style-border-radius-inputs);
    padding: var(--padding-sm) var(--padding-md);
    height: 100%;
    flex-grow: 1;
    min-width: 0;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }

  .cart-discount__input::placeholder {
    color: rgba(from var(--color-input-text) r g b / var(--opacity-subdued-text));
    text-transform: none;
    letter-spacing: 0;
  }

  .cart-discount__input:focus,
  .cart-discount__input:focus-visible {
    outline: none;
    border-color: var(--color-foreground);
    box-shadow: 0 0 0 2px rgb(from var(--color-foreground) r g b / 0.12);
  }

  .cart-discount__label {
    display: flex;
    align-items: center;
    gap: var(--gap-2xs);
    font-size: var(--cart-font-size--sm);
    font-weight: 500;
    color: var(--color-foreground);
  }

  .cart-discount__label .svg-wrapper {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    opacity: 0.7;
  }

  .cart-discount__pill-code {
    overflow: hidden;
    max-width: 100px;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
  }

  .cart-discount {
    width: 100%;
  }

  .cart-discount__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .cart-discount__summary:hover {
    color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text));
  }

  .cart-discount__codes {
    display: none;
    gap: var(--padding-xs);
    flex-wrap: wrap;
    list-style: none;
    padding-inline: 0;
    margin: 0;
  }

  .cart-discount__codes:has(.cart-discount__pill) {
    display: flex;
  }

  .cart-discount__button {
    height: 100%;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .cart-discount__content {
    height: calc(var(--button-size) + var(--padding-2xs) + var(--padding-sm));
  }

  .cart-discount__summary {
    cursor: pointer;
  }

  .discount-details[open] .cart-discount__summary .icon-plus {
    transform: rotate(45deg);
  }

  .cart-discount__summary .icon-plus {
    transition: transform 0.2s ease;
  }

  .cart-discount__pill {
    display: flex;
    color: var(--color-foreground);
    gap: var(--padding-xs);
    align-items: center;
    padding: var(--padding-xs) var(--padding-sm);
    border-radius: var(--style-border-radius-pills);
    background-color: var(--color-input-background);
    text-transform: uppercase;
  }

  .cart-discount__form {
    display: flex;
    gap: var(--padding-md);
    align-items: center;
    height: 100%;
    padding-block: var(--padding-2xs) var(--padding-sm);
  }

  :is(.cart-discount__pill-remove, .cart-discount__pill-remove:hover) {
    color: var(--color-foreground);
    background-color: transparent;
    pointer-events: all;
    cursor: pointer;
    height: 100%;

    --close-icon-opacity: 0.4;
  }

  .cart-discount__error {
    display: flex;
    align-items: center;
    gap: var(--padding-2xs);
    width: 100%;
    margin-block-start: var(--margin-2xs);
    padding: var(--padding-xs) var(--padding-sm);
    background-color: rgb(from #d62027 r g b / 0.08);
    border: 1px solid rgb(from #d62027 r g b / 0.25);
    border-radius: var(--style-border-radius-inputs);
    color: #b21a20;
  }

  .cart-discount__error .svg-wrapper {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    color: #d62027;
    --close-icon-opacity: 1;
  }

  .cart-discount__error-text {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    color: inherit;
  }

  cart-discount-component {
    display: flex;
  }
/* END_SNIPPET:cart-discount */

/* START_SNIPPET:cart-drawer (INDEX:226) */
.cart-items-component {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .cart-drawer__heading .cart-bubble {
    width: fit-content;
    border-radius: var(--style-border-radius-buttons-primary);
    aspect-ratio: auto;
    padding: var(--cart-padding);
  }

  .cart-drawer__heading .cart-bubble[data-maintain-ratio] {
    aspect-ratio: 1;
    min-width: 26px;
  }

  .cart-drawer__header {
    background-color: var(--color-background);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: var(--cart-drawer-padding);
    border-bottom: var(--style-border-width) solid none;
    position: sticky;
    top: 0;
    z-index: 1;

    @media screen and (width >= 750px) {
      padding: var(--cart-drawer-padding-desktop);
    }
  }

  .cart-drawer__dialog {
    overflow: hidden;
  }

  .cart-drawer__inner {
    height: 100%;
    overflow: hidden;
  }

  .cart-drawer__content {
    height: calc(100% - var(--header-height));
    display: flex;
    flex-direction: column;
  }

  .cart-drawer__summary {
    background-color: var(--color-background);
    position: sticky;
    bottom: 0;
    z-index: 1;
  }
/* END_SNIPPET:cart-drawer */

/* START_SNIPPET:cart-icon-component (INDEX:227) */
cart-icon:has(.cart-bubble__text-count:empty) {
    --cart-bubble-size: 10px;
    --cart-bubble-top: 9px;
    --cart-bubble-right: 9px;

    .svg-wrapper {
      --cart-bubble-top: 4px;
      --cart-bubble-right: 4px;
    }
  }
/* END_SNIPPET:cart-icon-component */

/* START_SNIPPET:cart-products (INDEX:229) */
.cart-items {
    --cart-item-media-width-min: 2.5rem;
    --cart-item-media-width-max: 7.5rem;

    container-name: cart-items;
    container-type: inline-size;
    width: 100%;
  }

  .cart-items-disabled {
    pointer-events: none;
  }

  .cart-items__table {
    width: 100%;
  }

  .cart-items__table * {
    margin: 0;
  }

  /* Стили для заголовков таблицы */
  .cart-items__table-header {
    display: none;
    margin-bottom: var(--margin-md);
  }

  @media screen and (min-width: 1250px) {
    .cart-items__table-header {
      display: block;
    }
  }

  .cart-items__table-header-row {
    display: grid;
    grid-template-columns: clamp(2.5rem, 15cqi, 7.5rem) minmax(0, 1fr) minmax(6rem, auto);
    grid-template-areas: 'product-header . quantity-header price-header';
    column-gap: var(--gap-md);
    align-items: center;
    padding-bottom: var(--padding-xs);
    border-bottom: 1px solid var(--color-border);
  }

  .cart-items__header-product {
    grid-area: product-header;
    font-size: var(--cart-font-size--sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-foreground);
    text-align: left;
  }

  .cart-items__header-quantity {
    grid-area: quantity-header;
    font-size: var(--cart-font-size--sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-foreground);
    text-align: left;
  }

  .cart-items__header-price {
    grid-area: price-header;
    font-size: var(--cart-font-size--sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-foreground);
    text-align: right;
  }

  .cart-items__table-row {
    --cart-item-price-width: 6rem;

    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      'details media'
      'controls controls'
      'error error';
    column-gap: var(--gap-md);
    row-gap: var(--gap-sm);
    align-items: flex-start;
    padding: var(--padding-lg);
    margin-bottom: var(--margin-lg);
    background-color: #ffffff;
    border-radius: 35px;
  }

  html:active-view-transition-type(page-navigation) .cart-items__table-row {
    view-transition-name: none !important;
  }

  .cart-items__table-row.removing {
    overflow: hidden;
    animation: removeRow calc(var(--animation-speed) * 2) var(--animation-easing) forwards;
    animation-delay: var(--animation-speed);
  }

  @keyframes removeRow {
    0% {
      height: var(--row-height);
    }

    100% {
      opacity: 0;
      height: 0;
      padding-bottom: 0;
      margin-bottom: 0;
      border-color: transparent;
    }
  }

  .cart-items__table-row:last-child {
    padding-bottom: 0;
  }

  .cart-items--dividers .cart-items__table-row {
    border-bottom: 1px solid var(--color-border);
    margin-bottom: var(--cart-items-gap);
  }

  .cart-items--dividers .cart-items__table-row:last-child {
    border-block-end: none;
    padding-block-end: 0;
    margin-bottom: 0;
  }

  .cart-items__details {
    grid-area: details;
    color: rgb(from var(--color-foreground) r g b / 70%);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-self: flex-start;
  }

  .cart-items__details > * + *,
  .cart-items__bundle li {
    margin-block-start: var(--margin-2xs);
  }

  .cart-items__details * {
    font-size: var(--cart-font-size--sm);
  }

  .cart-items__details a {
    text-decoration: none;
  }

  .cart-items__title {
    font-family: 'Rubik', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 90%;
    letter-spacing: -2%;
    color: #67361C;
    text-transform: var(--product-title-case);
  }

  @media screen and (min-width: 750px) {
    .cart-items__title {
      font-size: 28px;
      color: var(--color-foreground);
    }
  }

  .cart-items__variant {
    display: inline-block;
  }

  .cart-items__quantity {
    grid-area: controls;
    margin-block-start: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gap-xs);
    width: 100%;
  }

  .cart-items__quantity-container {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .cart-items__controls-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: var(--gap-md);
  }

  .cart-items__quantity-and-remove {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .cart-items__quantity .quantity-selector {
    display: inline-flex;
    flex: 0 1 var(--quantity-selector-width);
    font-size: var(--cart-font-size--sm);
    height: auto;
    border: none !important;
    border-radius: 35px !important;
    box-shadow: none !important;
  }

  .cart-items__quantity .quantity-selector input,
  .cart-items__quantity .quantity-selector button {
    border: none !important;
    border-radius: 35px !important;
    box-shadow: none !important;
  }

  .cart-items__remove {
    background-color: rgba(228, 11, 47, 0.1);
    width: 32px;
    height: 32px;
    justify-content: center;
    box-shadow: none;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50px !important;
    margin: 0;
    flex-shrink: 0;
  }

  .mobile-price {
    display: block;
  }

  .desktop-price {
    display: none !important;
  }

  @container cart-items (width >= 720px) {
    .mobile-price {
      display: none !important;
    }

    .desktop-price {
      display: flex !important;
    }
  }

  .cart-items__media {
    grid-area: media;
    padding: 0;
    width: 80px;
    height: 80px;
  }

  .cart-items__price {
    grid-area: price;
    min-height: unset;
    min-width: auto;
    text-align: end;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    font-size: var(--cart-font-size--md);
    font-weight: 600;
  }

  .cart-items__price-unit {
    font-size: var(--cart-font-size--xs);
  }

  .cart-items__unit-price {
    margin-top: var(--margin-2xs);
    display: none;
  }

  .cart-items__unit-price small {
    font-size: var(--cart-font-size--xs);
    color: rgb(from var(--color-foreground) r g b / 60%);
  }

  /* Перечёркнутая оригинальная цена при скидке */
  .cart-items__original-price {
    font-size: var(--cart-font-size--sm);
    color: rgb(from var(--color-foreground) r g b / 50%);
    text-decoration: line-through;
    font-weight: 400;
  }

  /* Стиль скидочного лейбла */
  .cart-items__discount-list {
    margin-top: var(--margin-2xs);
  }

  .cart-items__discount-label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background-color: rgba(46, 139, 46, 0.1);
    color: #2e8b2e;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
  }

  .cart-items__media-container {
    display: flex;
    aspect-ratio: var(--ratio);
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 35px;
    background-color: #F8F8F8;
  }

  .cart-items__media-image {
    aspect-ratio: inherit;
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: auto;
  }

  /* Empty-cart state — centered card with icon + heading + subtext + CTA */
  .cart-items__empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 48px 20px 56px;
    gap: 6px;
    max-width: 480px;
    margin: 0 auto;
  }
  .cart-items__empty-icon {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: rgba(124, 58, 237, 0.08);
    color: #7c3aed;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
  }
  .cart-items__empty-icon svg {
    width: 44px;
    height: 44px;
  }
  .cart-items__empty-title {
    margin: 0;
    font-weight: 800;
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -0.01em;
    color: #1a1a1a;
  }
  .cart-items__empty-subtext {
    margin: 0;
    font-size: 15px;
    color: #6b6b6b;
    line-height: 1.45;
    max-width: 380px;
  }
  .cart-items__empty-login {
    margin: 6px 0 0;
    font-size: 13px;
    color: #888;
  }
  .cart-items__empty-button {
    margin-top: 22px;
    padding-inline: var(--padding-4xl);
    padding-block: var(--padding-lg);
  }
  @media (max-width: 749px) {
    .cart-items__empty-state { padding: 32px 16px 40px; }
    .cart-items__empty-icon { width: 72px; height: 72px; margin-bottom: 10px; }
    .cart-items__empty-icon svg { width: 36px; height: 36px; }
    .cart-items__empty-title { font-size: 22px; }
    .cart-items__empty-subtext { font-size: 14px; }
  }

  /* Error message */
  .cart-items__error {
    display: flex;
    align-items: flex-start;
    width: 100%;
    grid-area: error;
    margin-block-start: var(--margin-xs);
    opacity: 1;
    overflow: hidden;
    transform: translateY(0);
    transition: opacity var(--drawer-animation-speed) var(--animation-easing),
      transform var(--drawer-animation-speed) var(--animation-easing);

    @starting-style {
      opacity: 0;
      transform: translateY(-0.5rem);
    }
  }

  .cart-item__error {
    display: flex;
    align-items: flex-start;
    width: 100%;
    font-size: var(--cart-font-size--sm);
    padding-block: var(--padding-2xs);
  }

  .cart-item__error .svg-wrapper {
    flex-shrink: 0;
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
    margin-inline: var(--margin-3xs) var(--margin-xs);
    margin-block-start: var(--margin-3xs);
  }

    @container cart-items (width >= 720px) {
    .cart-items__table-header-row {
      grid-template-columns: 7.5rem 1fr 1fr minmax(6rem, auto);
      grid-template-areas: 'product-header . quantity-header price-header';
    }

    .cart-items__table-row {
      --cart-item-price-width: 6rem;

      grid-template-columns: 7.5rem 1fr 1fr minmax(var(--cart-item-price-width), auto);
      grid-template-rows: 1fr;
      grid-template-areas: 'media details quantity price';
      padding: var(--padding-lg);
      background-color: #ffffff;
      border-radius: 35px;
      align-items: center;
    }

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

    .cart-items__quantity {
      grid-area: quantity;
      margin-top: 0;
      justify-content: flex-start;
      width: fit-content;
    }

    .cart-items__controls-section {
      flex-direction: row;
      gap: var(--gap-xs);
      justify-content: flex-start;
    }

    .cart-items__price {
      grid-area: price;
      min-height: var(--minimum-touch-target);
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: center;
      min-width: var(--cart-item-price-width);
    }

    .cart-items__media {
      width: auto;
      height: auto;
      margin-bottom: 10px;
    }
  }

  .cart__original-total-container,
  .cart__total-container {
    display: flex;
    flex-direction: column;
  }

  .cart__total-container {
    row-gap: var(--gap-2xs);

    &:has(.cart__installments) {
      row-gap: var(--gap-xs);
    }
  }

  .cart__original-total-container:empty {
    display: none;
  }

  .cart__summary-totals {
    display: flex;
    flex-direction: column;
    gap: var(--gap-xl);
    width: 100%;
    border-block-start: none;

    &:has(> :first-child:not(.cart__original-total-container, .cart__total-container)) {
      padding-block-start: 0;
      border-block-start: none;
    }

    @media screen and (width >= 750px) {
      padding-block-start: 0;
    }
  }

  .cart__original-total-container,
  .cart__original-total-container * {
    font-size: var(--cart-font-size--sm);
  }

  .cart__total {
    font-weight: var(--font-weight-bold);
  }

  .cart__total-label {
    font-size: var(--cart-font-size--sm);
  }

  .cart__total-value {
    font-size: var(--cart-font-size--2xl);
  }

  .cart-primary-typography {
    font-family: var(--cart-primary-font-family);
    font-style: var(--cart-primary-font-style);
    font-weight: var(--cart-primary-font-weight);
  }

  .cart-secondary-typography {
    font-family: var(--cart-secondary-font-family);
    font-style: var(--cart-secondary-font-style);
    font-weight: var(--cart-secondary-font-weight);
  }

  .cart__ctas {
    width: 100%;
    display: grid;
    gap: var(--checkout-button-gap);
    grid-auto-flow: row;
    grid-template-columns: 1fr;
  }

  .cart__additional-checkout-buttons {
    width: 100%;
  }

  .cart__ctas .cart__checkout-button {
    width: 100%;
    height: clamp(25px, var(--height-buy-buttons), 55px);
    padding-inline: var(--padding-4xl);
  }

  shopify-accelerated-checkout-cart {
    --shopify-accelerated-checkout-inline-alignment: center;
    --shopify-accelerated-checkout-button-border-radius: var(--style-border-radius-buttons-primary);
  }

  .cart-note {
    width: 100%;
  }

  .cart-note__inner {
    padding-block: var(--padding-2xs) var(--padding-sm);
  }

  .cart-note__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .cart-note__summary:hover {
    color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text));
  }

  .cart-note__label {
    display: flex;
    align-items: flex-start;
    gap: var(--gap-2xs);
    font-size: var(--cart-font-size--sm);
  }

  .cart-note__instructions {
    color: var(--color-input-text);
    background-color: var(--color-input-background);
    border-width: var(--style-border-width-inputs);
    border-color: var(--color-input-border);
    transition: box-shadow var(--animation-speed) ease;
    box-shadow: var(--input-box-shadow);
    min-height: 5.5rem;
    min-width: 100%;
    max-width: 100%;
    font-size: var(--cart-font-size--sm);
    padding: max(4px, calc(var(--style-border-radius-inputs) * (1 - cos(45deg))));
  }

  .cart-note .svg-wrapper {
    height: var(--icon-size-sm);
    width: var(--icon-size-sm);
    margin: 0;
  }

  .cart-note .icon-plus {
    height: var(--icon-size-xs);
    width: var(--icon-size-xs);
  }

  /* Remove animation */
  .remove-icon-bottom,
  .remove-icon-top {
    transition: transform var(--animation-speed) var(--animation-easing);
  }

  .cart-items__remove:hover .remove-icon-top {
    transform: translate(calc(-1 * var(--icon-stroke-width)), var(--icon-stroke-width)) rotate(-15deg);
  }

  .cart-items__remove:is(:hover, :active) .remove-icon-bottom {
    transform: translateY(var(--icon-stroke-width));
  }

  .cart-items__table-row.removing .remove-icon-bottom {
    transform: translateY(0);
  }

  .cart-items__table-row.removing .remove-icon-top {
    animation: removeButtonClickedIconTop var(--animation-speed) var(--animation-easing) forwards;
  }

  @keyframes removeButtonClickedIconTop {
    50% {
      transform: translate(0, calc(-1 * var(--icon-stroke-width)));
    }

    100% {
      transform: translate(0, 0);
    }
  }
/* END_SNIPPET:cart-products */

/* START_SNIPPET:cart-summary (INDEX:231) */
.cart-actions {
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
    border-block: 1px solid var(--color-border);
    padding-block: var(--padding-sm);
    margin-block-start: var(--margin-3xs);
  }

  /* Original (pre-discount) total — strike-through + faded so it reads
     as "old price". Some themes reset <s> styling so we make line-through
     explicit here. */
  .cart__original-total-strike {
    text-decoration: line-through;
    text-decoration-thickness: 1.5px;
    color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text, 0.55));
    opacity: 0.85;
  }

  .cart__summary-totals:not(:has(.cart-actions)) {
    margin-block-start: var(--margin-3xs);
    border-block-start: 1px solid var(--color-border);
    padding-block-start: var(--margin-xl);
  }

  .cart__installments {
    color: var(--color-foreground);
  }
/* END_SNIPPET:cart-summary */

/* START_SNIPPET:collection-card (INDEX:234) */
.collection-card {
    width: 100%;
    position: relative;
    --fixed-card-height: var(--height-small);
  }

  .collection-card > placeholder-image,
  .collection-card > placeholder-image > img {
    height: 100%;
    width: 100%;
    aspect-ratio: var(--ratio);
  }

  .collection-card__inner {
    width: 100%;
    overflow: hidden;
    position: relative;
    gap: var(--collection-card-gap);
    display: flex;
    flex-direction: column;
  }

  .collection-card--image-bg .collection-card__inner {
    height: 100%;
  }

  .collection-card__inner {
    z-index: var(--layer-flat);
    pointer-events: none;

    a,
    button {
      /* only allow interactive elements to be clickable separate from .collection-card__link */
      pointer-events: auto;
    }
  }
  /* allow all blocks to be selectable in editor preview */
  .shopify-design-mode .collection-card__content * {
    pointer-events: auto;
  }

  .collection-card__content {
    position: relative;
    display: flex;
    height: 100%;
    width: 100%;
    max-width: 100%;
    gap: var(--collection-card-gap);
    flex-direction: column;
    align-items: var(--horizontal-alignment);
    justify-content: var(--vertical-alignment);
  }

  .collection-card__link {
    position: absolute;
    inset: 0;
    /* allows focus outline to have radius in supported browsers */
    border-radius: var(--border-radius);
  }

  /* Nested image block rules */

  .collection-card.collection-card--image-bg {
    aspect-ratio: var(--ratio);
  }

  .collection-card.collection-card--image-bg .collection-card__content {
    padding: var(--padding-lg);
  }

  /* Bento layout rules */
  .collection-card--image-height-fixed .collection-card__image {
    height: var(--fixed-card-height);
    width: 100%;
  }

  .collection-card--image-height-fixed.collection-card--image-bg {
    height: var(--fixed-card-height);
    aspect-ratio: unset;
  }

  .collection-card__image .image-block__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: 100%;
  }

  .collection-card--image-bg .collection-card__image {
    position: absolute;
    width: 100%;
    height: 100%;
  }

  .collection-card__image placeholder-image {
    width: 100%;
  }

  .resource-list:not(.hidden--desktop) .collection-card--flexible-aspect-ratio {
    &.collection-card.collection-card--image-bg,
    &.collection-card .placeholder-svg {
      aspect-ratio: 99;
    }

    .collection-card__image {
      aspect-ratio: 99;
      height: 100%;
    }

    .collection-card__inner {
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .collection-card__content {
      flex-shrink: 0;
    }

    &:not(.collection-card--image-bg) .collection-card__content {
      height: auto;
    }
  }
/* END_SNIPPET:collection-card */

/* START_SNIPPET:contact-form (INDEX:236) */
.contact-form__form {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);
  }

  .contact-form__form-row {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md);

    @media screen and (width >= 750px) {
      flex-direction: row;
      align-items: center;
    }
  }

  .contact-form__input {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--color-foreground);
    background-color: var(--color-input-background);
    padding: var(--padding-lg) var(--padding-xl);
    border-radius: var(--style-border-radius-inputs);
    border: var(--style-border-width-inputs) solid var(--color-input-border);
    -webkit-font-smoothing: antialiased;
  }

  .contact-form__input--textarea {
    resize: vertical;
    min-height: var(--input-textarea-min-height);
  }

  .contact-form__error,
  .contact-form__success {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }
/* END_SNIPPET:contact-form */

/* START_SNIPPET:divider (INDEX:239) */
.divider {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: var(--divider-justify-content);
  }

  .divider__line {
    border-bottom: var(--divider-border-thickness) solid var(--color-border);
    border-right: var(--divider-border-thickness) solid var(--color-border);
    border-radius: calc(var(--style-border-radius-sm) * var(--divider-border-rounded));
    flex-basis: var(--divider-flex-basis);
    min-height: var(--divider-flex-basis);
  }
/* END_SNIPPET:divider */

/* START_SNIPPET:editorial-collection-grid (INDEX:242) */
.editorial-collection__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 1fr;
    gap: var(--gap-xl);

    .resource-list__item,
    .collection-card {
      height: 100%;
    }
  }

  .editorial-collection__spacer {
    aspect-ratio: 1;
  }

  @media (max-width: 768px) {
    .editorial-collection__grid {
      display: flex;
      flex-direction: column;
      gap: var(--gap-2xl);
    }

    .editorial-collection__spacer {
      display: none;
    }

    .editorial-collection__item-0 {
      width: 66%;
      align-self: flex-start;
      aspect-ratio: 4 / 5;
    }
    .editorial-collection__item-1 {
      width: 83%;
      align-self: flex-end;
      aspect-ratio: 5 / 5;
    }
    .editorial-collection__item-2 {
      width: 83%;
      align-self: flex-start;
      aspect-ratio: 8 / 6;
    }
    .editorial-collection__item-3 {
      width: 100%;
      align-self: center;
      aspect-ratio: 8 / 6;
    }
  }
/* END_SNIPPET:editorial-collection-grid */

/* START_SNIPPET:editorial-product-grid (INDEX:243) */
.editorial-product__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 1fr;
    gap: var(--gap-xl);

    /* Make the aspect ratio super high on width, then increase the height of
     * slideshow containers until they fill all the available space */
    .card-gallery {
      --gallery-aspect-ratio: 99 !important;
    }

    .card-gallery,
    slideshow-component,
    slideshow-container,
    slideshow-slides {
      height: 100%;
    }
  }

  .editorial-product__spacer {
    aspect-ratio: 1;
  }

  @media (max-width: 768px) {
    .editorial-product__grid {
      display: flex;
      flex-direction: column;
      gap: var(--gap-2xl);
    }

    .editorial-product__spacer {
      display: none;
    }

    .editorial-product__item-0 {
      width: 83%;
      align-self: flex-start;
      aspect-ratio: 7 / 6;
    }
    .editorial-product__item-1 {
      width: 83%;
      align-self: flex-end;
      aspect-ratio: 4 / 5;
    }
    .editorial-product__item-2 {
      width: 66%;
      align-self: flex-start;
      aspect-ratio: 5 / 5;
    }
    .editorial-product__item-3 {
      width: 100%;
      aspect-ratio: 8 / 6;
    }
  }
/* END_SNIPPET:editorial-product-grid */

/* START_SNIPPET:facets-actions (INDEX:244) */
/* Facets - Actions */
  .facets__actions {
    --to-top-gradient-background: linear-gradient(
      to top,
      rgb(from var(--color-background) r g b / 90%),
      rgb(from var(--color-background) r g b / 80%),
      rgb(from var(--color-background) r g b / 40%),
      transparent
    );

    order: 1;
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: var(--gap-sm);
    background-image: var(--to-top-gradient-background);
    z-index: var(--facets-sticky-z-index);
    padding-block-start: var(--padding-xs);
    padding-block-end: var(--padding-md);
    padding-inline: var(--padding-lg);
    margin-top: auto;
  }

  .facets:not(.facets--drawer) .facets__actions {
    @media screen and (width >= 750px) {
      position: static;
    }
  }

  .facets--vertical .facets__actions {
    padding-inline: 0;
    justify-content: center;
  }

  .facets--horizontal .facets__actions {
    @media screen and (width >= 750px) {
      order: 0;
      bottom: auto;
      position: static;
      padding: 0;
      z-index: var(--layer-flat);
      flex-shrink: 0;
      align-items: center;
      margin-top: initial;
      background-image: none;
    }
  }

  .facets--horizontal .facets__actions--active::before {
    @media screen and (width >= 750px) {
      content: '';
      border-inline-start: var(--style-border-width) solid var(--color-border);
      height: var(--font-paragraph--size);
      position: absolute;
    }
  }

  /* Clear button */
  .facets__clear {
    display: none;
  }

  .facets--horizontal .facets__clear {
    @media screen and (width >= 750px) {
      width: 100%;
      justify-content: flex-end;
      padding: 0 var(--facets-clear-padding) var(--facets-clear-padding) 0;
      cursor: pointer;
    }
  }

  .facets__clear--active {
    @media screen and (width >= 750px) {
      display: flex;
    }
  }

  .clear-filter:hover {
    text-decoration: underline;
    background-color: transparent;
  }

  /* Clear all button */
  .facets__clear-all {
    display: none;
    cursor: pointer;
    min-width: var(--facets-clear-all-min-width);
    transition: transform var(--animation-values), opacity var(--animation-values);
    opacity: 0;
    transform: translateY(100%);
    flex-grow: 1;
    padding-block: var(--padding-lg);
  }

  .facets:not(.facets--drawer) .facets__clear-all {
    box-shadow: none;
  }

  .facets--horizontal .facets__clear-all {
    @media screen and (width >= 750px) {
      --facets-clear-all-min-width: var(--minimum-touch-target);
      --button-color: var(--color-primary);
      text-decoration: underline transparent 0.075em;
      text-underline-offset: 0.125em;
      width: auto;
      transform: none;
      transition: none;
      opacity: 1;
      height: var(--minimum-touch-target);
      align-items: center;
      flex-grow: 0;
      transition: text-decoration-color var(--animation-speed) var(--animation-easing);
    }
  }
  .facets--horizontal .facets__clear-all:hover {
    @media screen and (width >= 750px) {
      --button-color: var(--color-primary-hover);
    }
  }

  @starting-style {
    .facets__clear-all {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .facets__clear-all.active {
    transform: translateY(0);
    opacity: 1;
    display: grid;
  }

  .facets--horizontal .facets__clear-all.active {
    @media screen and (width >= 750px) {
      padding-block: 0;
      padding-inline: var(--facets-form-horizontal-gap);
      background-color: transparent;
      position: static;
      transform: none;
    }
  }

  @starting-style {
    .facets__clear-all.active {
      opacity: 0;
      transform: translateY(100%);
    }

    .facets--horizontal .facets__clear-all.active {
      @media screen and (width >= 750px) {
        opacity: 1;
        transform: none;
      }
    }
  }

  .facets__see-results {
    min-width: var(--facets-see-results-min-width);
    flex-grow: 1;
    padding-block: var(--padding-lg);
  }

  .facets:not(.facets--drawer) .facets__see-results {
    @media screen and (width >= 750px) {
      display: none;
    }
  }
/* END_SNIPPET:facets-actions */

/* START_SNIPPET:filter-remove-buttons (INDEX:245) */
/* Facets - Remove buttons */
  .facets-remove {
    --variant-picker-swatch-width: 20px;
    --variant-picker-swatch-height: 20px;

    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--gap-xs);
    padding: 0 var(--drawer-padding);
    margin-block-start: var(--margin-2xs);
    margin-block-end: var(--margin-md);

    @media screen and (width >= 750px) {
      --variant-picker-swatch-width: 16px;
      --variant-picker-swatch-height: 16px;

      gap: var(--gap-2xs);
    }
  }

  .facets__clear-all-link {
    --button-color: var(--color-primary);

    border: none;
    background-color: transparent;
    padding: var(--padding-xs);
    min-width: fit-content;
    color: var(--button-color);
    transition: text-decoration-color var(--animation-speed) var(--animation-easing),
      color var(--animation-speed) var(--animation-easing);
  }

  .facets__clear-all-link:hover {
    --button-color: var(--color-primary-hover);

    color: var(--button-color);
    text-decoration-color: var(--button-color);
  }

  .facets:not(.facets--drawer) .facets-remove--mobile-and-vertical {
    @media screen and (width >= 750px) {
      padding: 0;
    }
  }

  .facets--horizontal .facets-remove--mobile-and-vertical {
    @media screen and (width >= 750px) {
      display: none;
    }
  }

  .facets-remove:not(:has(facet-remove-component)) {
    display: none;
    margin: 0;
  }

  .facets-remove__pill {
    .svg-wrapper,
    .swatch {
      flex-shrink: 0;
    }
  }

  .facets--horizontal .facets-remove {
    @media screen and (width >= 750px) {
      display: none;
    }
  }
/* END_SNIPPET:filter-remove-buttons */

/* START_SNIPPET:filters-toggle (INDEX:246) */
/* Facets - Toggle */
  .facets-toggle {
    --icon-offset: -3px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    height: var(--minimum-touch-target);
    margin: var(--facets-margin);
    padding-block: var(--facets-inner-padding-block);
    padding-inline: var(--facets-inner-padding-inline);

    @media screen and (width >= 750px) {
      display: none;
    }
  }

  .facets-toggle__wrapper {
    margin-left: var(--icon-offset);
  }

  .facets-toggle__button {
    box-shadow: none;

    @media screen and (width >= 750px) {
      display: none;
    }
  }

  /* Filter count*/
  .filter-count-bubble {
    position: relative;
    width: 20px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    line-height: normal;
    place-content: center;
    color: var(--color-foreground);
    border: var(--icon-stroke-width) solid var(--color-background);
  }

  .facets-mobile__title-wrapper .h3 {
    margin-block-end: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .facets-mobile__title-wrapper .filter-count-bubble {
    width: 22px;
    height: 22px;
  }

  .facets-mobile__title-wrapper .filter-count-bubble__text {
    font-size: var(--font-size--xs);
  }

  .filter-count-bubble__background {
    position: absolute;
    inset: 0;
    background-color: rgb(from var(--color-foreground) r g b / 10%);
    border-radius: var(--style-border-radius-50);
  }

  .filter-count-bubble__text {
    font-size: 11px;
    font-weight: var(--font-paragraph--weight);
    aspect-ratio: 1 / 1;
  }

  .facets-toggle--no-filters {
    @media screen and (width < 750px) {
      justify-content: unset !important;

      & > .facets-mobile-wrapper {
        width: 100%;
      }
    }
  }
/* END_SNIPPET:filters-toggle */

/* START_SNIPPET:grid-density-controls (INDEX:249) */
.column-options-wrapper {
    --icon-offset: -3px;

    display: flex;
    gap: var(--gap-sm);
    min-width: fit-content;
    justify-content: flex-end;
    height: var(--minimum-touch-target);
    align-items: center;
    margin-right: var(--icon-offset);
  }

  .column-options-wrapper:only-child {
    margin-left: auto;
  }

  .facets__form-wrapper > .column-options-wrapper:first-child {
    margin-left: auto;
  }

  .facets .column-options-wrapper {
    display: none;

    @media screen and (width >= 750px) {
      display: flex;
    }
  }

  .column-options {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-xs);
    margin: 0;
    padding: 0;
    border: none;

    @media screen and (width >= 750px) {
      gap: var(--gap-2xs);
    }
  }

  .column-options__option {
    display: none;
    position: relative;
  }

  .column-options__option:has(.column-picker-mobile--single),
  .column-options__option:has(.column-picker-mobile--double) {
    @media screen and (width <= 749px) {
      display: flex;
    }
  }

  .column-options__option:has(.column-picker--default),
  .column-options__option:has(.column-picker--zoom-out) {
    @media screen and (width >= 750px) {
      display: flex;
    }
  }

  .column-options__legend {
    padding: 0;
    margin: 0;
  }

  .column-options__option-input {
    /* this is a repeating pattern a bit with the variant picker buttons */

    /* remove the checkbox from the page flow */
    position: absolute;

    /* set the dimensions to match those of the label */
    inset: 0;

    /* hide it */
    opacity: 0;
    margin: 0;
    cursor: pointer;
  }

  .column-picker {
    color: rgba(from var(--color-foreground) r g b / 50%);
    padding: var(--padding-2xs);
    border-radius: var(--style-border-radius-xs);
    transition: background-color var(--animation-speed) ease, color var(--animation-speed) ease;
  }

  .column-options__option:hover .column-picker {
    background-color: rgba(from var(--color-foreground) r g b / 4%);
  }

  .column-options__option-input:checked ~ .column-picker {
    color: rgba(from var(--color-foreground) r g b / 100%);
    background-color: rgba(from var(--color-foreground) r g b / 6%);
  }
/* END_SNIPPET:grid-density-controls */

/* START_SNIPPET:group (INDEX:250) */
.group-block__link {
    position: absolute;
    inset: 0;
  }

  .group-block__link ~ :is(.group-block-content, .group-block__media-wrapper) {
    pointer-events: none;
    a,
    button,
    input,
    textarea,
    select {
      pointer-events: auto;
    }
  }

  /* Needs the .group-block__link ~ to be specific enough to take effect. */
  .group-block__link ~ .group-block-content--design-mode {
    pointer-events: auto;
  }
/* END_SNIPPET:group */

/* START_SNIPPET:header-actions (INDEX:251) */
.cart-drawer {
    --cart-drawer-padding: var(--padding-lg) var(--padding-xl);
    --cart-drawer-padding-desktop: var(--padding-xl) var(--padding-2xl);
    --cart-font-size--2xs: var(--font-size--2xs);
    --cart-font-size--xs: var(--font-size--xs);
    --cart-font-size--sm: var(--font-size--sm);
    --cart-font-size--md: var(--font-size--md);
    --cart-font-size--2xl: var(--font-size--2xl);
  }

  .cart-drawer__dialog {
    position: fixed;
    border-radius: 0;
    width: var(--sidebar-width);
    max-width: 95vw;
    height: 100%;
    margin: 0 0 0 auto;
    padding: 0;
    border-left: var(--style-border-drawer);
    box-shadow: var(--shadow-drawer);
    background-color: var(--color-background);
  }

  /* Needed to ensure the drawer is full height */
  .cart-drawer__dialog:modal {
    max-height: 100dvh;
    overflow-y: hidden;
  }

  .cart-drawer__inner {
    height: 100%;
  }

  .cart-drawer__content {
    padding: 0;
    background-color: var(--color-background);
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow-y: auto;
  }

  .cart-drawer__heading {
    display: flex;
    align-items: center;
    gap: var(--gap-xs);
  }

  .cart-drawer__close-button {
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: calc(var(--padding-sm) * -1);
  }

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

  .cart-drawer--empty .cart-drawer__content {
    text-align: center;
    min-height: auto;
  }

  .cart-drawer--empty .cart-drawer__heading {
    margin-bottom: var(--margin-md);
  }

  .cart-drawer__items .cart-items__table-row {
    padding-bottom: var(--gap-xl);
    border-bottom: var(--style-border-width) solid var(--color-border);
    margin-bottom: var(--gap-xl);
  }

  .cart-drawer__items .cart-items__table-row:last-child {
    border-bottom: none;
  }

  .cart-drawer__summary {
    --cart-drawer-summary-padding: var(--padding-lg);

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--gap-2xl);
    padding: var(--cart-drawer-summary-padding);
    margin-top: auto;
    background-color: var(--color-background);
    /* stylelint-disable-next-line color-named */
    mask-image: linear-gradient(to bottom, transparent, black var(--cart-drawer-summary-padding));

    @media screen and (width >= 750px) {
      --cart-drawer-summary-padding: var(--padding-2xl);
    }
  }

  .cart-drawer__summary .cart__summary-totals:not(:has(.cart__original-total-container:empty)) {
    border-block-start: var(--style-border-width) solid var(--color-border);
    padding-block-start: var(--padding-2xl);
  }

  .cart-drawer__summary .cart-note {
    @media screen and (width >= 750px) {
      margin-block-start: var(--margin-3xs);
    }
  }

  .cart-drawer__heading--empty {
    display: flex;
    justify-content: center;
  }

  .cart-drawer__items {
    display: flex;
    flex-direction: column;
    padding-inline: var(--cart-drawer-padding);
    overflow-y: auto;

    @media screen and (width >= 750px) {
      padding-inline: var(--cart-drawer-padding-desktop);
    }
  }

  .cart-drawer__items .cart-items__table-row {
    padding-bottom: var(--gap-xl);
    border-bottom: var(--style-border-width) solid var(--color-border);
    margin-bottom: var(--gap-xl);
  }

  .cart-drawer__items .cart-items__table-row:last-child {
    border-bottom: none;
    padding-block-end: 0;
    margin-block-end: 0;
  }

  .cart-drawer--empty .cart-drawer__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100dvh;
    margin-top: 0;
  }

  .cart-drawer:not(:has(.cart-form)) .cart-drawer__content {
    justify-content: center;
  }

  .cart-drawer--empty .cart-drawer__header {
    justify-content: right;
    border-bottom: none;
    padding-bottom: 0;
  }

  .cart-drawer--empty .cart-drawer__heading {
    text-align: center;
  }

  .cart-drawer:not(:has(.cart-form)) .cart-items__wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  header-actions {
    display: flex;

    @media screen and (width < 750px) {
      justify-self: flex-end;
    }
  }

  .header__column--right header-actions {
    margin-inline-start: calc(var(--gap-md) * -1);
  }

  .header-actions__action {
    cursor: pointer;
    display: flex;
    justify-content: center;

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

  .header-actions__action .svg-wrapper {
    height: var(--button-size);
    width: var(--button-size);
  }

  .header-actions__action svg {
    width: var(--icon-size-md);
    height: var(--icon-size-md);
  }

  .header-actions__cart-icon {
    position: relative;
    --cart-bubble-size: 20px;
    --cart-bubble-top: 4.5px;
    --cart-bubble-right: 2.5px;
  }
  .header-actions__cart-icon .cart-bubble {
    position: absolute;
    width: var(--cart-bubble-size, 20px);
    top: var(--cart-bubble-top);
    right: var(--cart-bubble-right);
  }

  .header-actions__cart-icon .cart-bubble__text,
  .cart-drawer__heading .cart-bubble__text {
    font-family: var(--font-paragraph--family);
    font-weight: var(--font-paragraph--weight);
  }

  .header-actions__cart-icon.header-actions__cart-icon--has-cart svg {
    /* Create donut mask where the cart bubble sits */
    mask: radial-gradient(
      calc(var(--cart-bubble-size) + 2px) at calc(100% - var(--cart-bubble-right)) var(--cart-bubble-top),
      transparent 45.45%,
      white 45.45%,
      white 100%
    );
  }

  .cart-drawer__heading .cart-bubble__background {
    background-color: rgb(from var(--color-foreground) r g b / 10%);
  }

  .cart-drawer__heading .cart-bubble__text {
    color: var(--color-foreground);
    font-size: var(--font-size--xs);
  }

  .cart-bubble--animating .cart-bubble__background {
    animation: grow var(--animation-speed) var(--animation-easing);
  }

  .cart-bubble--animating .cart-bubble__text {
    animation: cartBubbleSlideIn var(--animation-speed) var(--animation-easing);
  }
/* END_SNIPPET:header-actions */

/* START_SNIPPET:header-drawer (INDEX:253) */
.header__icon--menu {
    position: initial;
  }

  @media screen and (width >= 750px) {
    .header--desktop header-menu + .header__drawer header-drawer {
      display: none;
    }
  }

  .menu-drawer-container .header__icon--summary {
    color: var(--color-foreground);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: var(--padding-lg);
  }

  .header__icon--summary .header-drawer-icon {
    margin: auto;
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .header__drawer {
    display: flex;
    min-height: 60px;
    align-items: center;

    @media screen and (width >= 750px) {
      min-height: 0;
    }
  }

  .header--compact .header__drawer {
    min-height: var(--minimum-touch-target);
  }

  .menu-drawer__navigation {
    padding: 0;

    @media screen and (width >= 750px) {
      margin-top: var(--drawer-header-desktop-top);
    }
  }

  details:not([open]) .header__icon--menu .header-drawer-icon--close {
    display: none;
  }

  details[open] .header__icon--menu .header-drawer-icon--close {
    @media screen and (width >= 750px) {
      display: none;
    }
  }

  details[open] .header__icon--menu .header-drawer-icon--open {
    display: none;

    @media screen and (width >= 750px) {
      display: flex;
    }
  }

  .menu-drawer {
    position: fixed;
    transform: translateX(-100%);
    visibility: hidden;
    height: var(--drawer-height);
    width: var(--drawer-width);
    max-width: var(--drawer-max-width);
    z-index: var(--layer-menu-drawer);
    left: 0;
    top: 0;
    padding: 0;
    background-color: var(--color-background);
    overflow: auto;
    display: flex;
    border-right: var(--style-border-drawer);
    box-shadow: var(--shadow-drawer);
    flex-direction: column;

    @media screen and (width >= 750px) {
      width: 25rem;
    }

    .header__drawer--desktop & {
      height: 100vh;
    }
  }

  .menu-drawer:has(details[open]) {
    overflow: hidden;
  }

  .menu-drawer__backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    backdrop-filter: brightness(0.75);
    z-index: var(--layer-heightened);
    opacity: 0;
    transition: opacity var(--drawer-animation-speed) ease;

    .menu-open & {
      opacity: 1;
    }
  }

  .menu-drawer,
  details[open] > .menu-drawer__submenu {
    transition: transform var(--drawer-animation-speed) ease, visibility var(--drawer-animation-speed) ease,
      opacity var(--drawer-animation-speed) ease;
  }

  .menu-open > .menu-drawer,
  .menu-open > .menu-drawer__submenu:not(.menu-drawer__menu--childlist) {
    transform: translateX(0);
    visibility: visible;
    opacity: 1;
    display: flex;
    flex-direction: column;
    will-change: transform;
  }

  .menu-drawer__inner-container {
    position: relative;
    height: 100%;
  }

  .menu-drawer__navigation-container {
    display: grid;
    grid-template-rows: 1fr auto;
    align-content: space-between;
    overflow-y: auto;
    height: 100%;
  }

  .menu-drawer__inner-submenu {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;

    @media screen and (width >= 750px) {
      margin-top: var(--drawer-header-desktop-top);
    }
  }

  .menu-drawer__nav-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .menu-drawer__menu {
    --menu-drawer-inline-padding: calc(var(--padding-sm) + 7px);

    list-style: none;
    padding-inline: var(--drawer-padding);
    margin-inline: 0;
    margin-block-start: 0;
  }

  .menu-drawer__menu--grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--padding-sm);
    padding-inline-end: var(--menu-drawer-inline-padding);
    padding-block-start: var(--padding-xs);
  }

  .menu-drawer__menu--childlist:not(.menu-drawer__menu--grid) {
    flex-grow: 1;
  }

  .menu-drawer__menu.has-submenu,
  .menu-drawer__menu--childlist:not(:has(.menu-drawer__animated-element)) {
    margin-block-end: var(--margin-xs);

    @media screen and (width >= 750px) {
      margin-block-end: 2.5rem;
    }
  }

  .menu-drawer__list-item--divider {
    border-block-end: 1px solid var(--color-border);
  }

  .menu-drawer__list-item--deep:not(.menu-drawer__list-item--divider) .menu-drawer__menu {
    margin-block-start: -0.3rem;
  }

  .menu-drawer__list-item--flat.menu-drawer__list-item--divider .menu-drawer__menu {
    margin-block-start: -0.4rem;
  }

  .menu-drawer__menu-container--divider {
    border-block-end: 1px solid var(--color-border);
  }

  .menu-drawer__menu > .menu-drawer__list-item {
    display: flex;
    min-height: calc(2 * var(--padding-lg) + var(--icon-size-xs));
  }

  .menu-drawer__list-item--deep .menu-drawer__list-item,
  .menu-drawer__list-item--flat .menu-drawer__list-item {
    min-height: auto;
  }

  .menu-drawer__menu .menu-drawer__list-item--flat {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-block-end: var(--margin-md);
  }

  .menu-drawer__menu--childlist .menu-drawer__list-item--flat {
    margin-block-end: var(--margin-sm);

    @media screen and (width >= 750px) {
      margin-block-end: var(--margin-lg);
    }
  }

  .menu-drawer__menu--childlist .menu-drawer__list-item--flat.menu-drawer__list-item--divider {
    margin-block-end: 0;
  }

  .menu-drawer__list-item--flat .menu-drawer__menu--childlist {
    width: 100%;
    padding-inline-start: 0;
  }

  .menu-drawer-container[open] .menu-drawer__animated-element {
    animation: menu-drawer-nav-open var(--drawer-animation-speed) ease-in-out;
    animation-delay: calc(var(--drawer-animation-speed) + (var(--menu-drawer-animation-index) - 1) * 0.1s);
    animation-fill-mode: backwards;
  }

  .menu-drawer__menu details,
  .menu-drawer__menu-item,
  .menu-drawer__menu accordion-custom {
    width: 100%;
  }

  .menu-drawer__list-item--divider .menu-drawer__menu-item:not(.menu-drawer__menu-item--child) {
    min-height: calc(2 * var(--padding-lg) + var(--icon-size-xs));
  }

  .menu-drawer__menu-item--mainlist {
    min-height: calc(2 * var(--padding-lg) + var(--icon-size-xs));
    font-family: var(--menu-top-level-font-family);
    font-style: var(--menu-top-level-font-style);
    font-weight: var(--menu-top-level-font-weight);
    font-size: var(--menu-top-level-font-size);
    line-height: var(--menu-top-level-font-line-height);
    text-transform: var(--menu-top-level-font-case);
    color: var(--menu-top-level-font-color);
    justify-content: space-between;

    &:hover {
      color: var(--menu-top-level-font-color);
    }
  }

  .menu-drawer__menu-item--parent {
    font-family: var(--menu-parent-font-family);
    font-style: var(--menu-parent-font-style);
    font-weight: var(--menu-parent-font-weight);
    font-size: var(--menu-parent-font-size);
    line-height: var(--menu-parent-font-line-height);
    text-transform: var(--menu-parent-font-case);
    color: var(--menu-parent-font-color);

    &:hover {
      color: var(--menu-parent-font-color);
    }
  }

  .menu-drawer__menu-item--child {
    font-family: var(--menu-child-font-family);
    font-style: var(--menu-child-font-style);
    font-weight: var(--menu-child-font-weight);
    font-size: var(--menu-child-font-size);
    line-height: var(--menu-child-font-line-height);
    text-transform: var(--menu-child-font-case);
    color: var(--menu-child-font-color);

    &:hover {
      color: var(--menu-child-font-color);
    }
  }

  .menu-drawer__menu--childlist summary.menu-drawer__menu-item {
    display: flex;
    width: 100%;
    padding-inline-end: 0;
  }

  .menu-drawer__list-item--deep .menu-drawer__menu,
  .menu-drawer__menu--grandchildlist {
    padding-inline-start: 0;
  }

  .menu-drawer__list-item--deep .menu-drawer__menu {
    padding-block-end: 0.5rem;
  }

  .menu-drawer__list-item--deep.menu-drawer__list-item--divider .menu-drawer__menu {
    padding-block-end: 0.3rem;
  }

  .menu-drawer__list-item--flat.menu-drawer__list-item--divider .menu-drawer__menu--grandchildlist {
    padding-block-end: 0.5rem;
  }

  .menu-drawer__menu-item {
    display: flex;
    padding: var(--padding-2xs) 0;
    position: relative;
    text-decoration: none;
    justify-content: space-between;
    align-items: center;
  }

  .menu-drawer__menu-item:has(> .menu-drawer__link-image) {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    row-gap: var(--padding-3xs);
    padding: 0;
  }

  .menu-drawer__link-image {
    width: 100%;
    position: relative;
    aspect-ratio: 16 / 9;
    object-fit: cover;
  }

  .menu-drawer__close-button {
    background-color: transparent;
    color: var(--color-foreground);
    padding: var(--padding-xl);
    box-shadow: none;
    will-change: transform;
  }

  .menu-drawer__close-button .svg-wrapper,
  .menu-drawer__close-button svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .menu-drawer__back-button {
    display: flex;
    width: 100%;
    padding: var(--padding-md) var(--padding-xl);
    border: none;
    align-items: center;
    color: var(--color-foreground);
    background-color: transparent;
    text-align: left;
    text-decoration: none;
    white-space: nowrap;
    overflow-x: hidden;
    line-height: 1.2;
    box-shadow: none;
  }

  .menu-drawer__menu-item-text {
    overflow-x: hidden;
    text-overflow: ellipsis;
  }

  /** Styles when the country selector is hidden */
  .menu-drawer .language-selector:not(.menu-drawer__submenu *) {
    width: fit-content;
    padding-inline-start: 0;

    .localization-form__select {
      text-align: left;
    }
  }

  .menu-drawer__menu-item > .svg-wrapper {
    width: fit-content;
    height: fit-content;
    margin: 0;
    padding-block: var(--padding-lg);
    padding-inline-start: var(--padding-xl);
  }

  .menu-drawer__list-item--divider .menu-drawer__menu-item > .svg-wrapper {
    padding-block: var(--padding-md);
  }

  .menu-drawer svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .menu-drawer__submenu {
    position: absolute;
    width: 100%;
    top: 0;
    height: 100dvh;
    left: 0;
    background-color: var(--color-background);
    z-index: var(--layer-flat);
    transform: translateX(5%);
    visibility: hidden;
    overflow-y: auto;
    opacity: 0;
  }

  .menu-drawer__back-button > .svg-wrapper {
    margin-right: var(--padding-md);
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .menu-drawer__utility-links {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin-block: auto var(--padding-sm);
    margin-inline-start: var(--padding-xl);
    background-color: rgb(var(--color-foreground) 0.03);
  }

  .menu-drawer__account {
    display: inline-flex;
    align-items: center;
    gap: var(--gap-xs);
    text-decoration: none;
    height: 44px;
    font-size: 1.4rem;
    color: rgb(var(--color-foreground));
  }

  .menu-drawer__account svg {
    height: var(--icon-size-sm);
    width: var(--icon-size-sm);
  }

  .menu-drawer__account shop-user-avatar {
    --shop-avatar-size: 2.4rem;

    margin-right: 0.55rem;
    margin-left: -0.45rem;
  }

  .menu-drawer__link-image,
  .menu-drawer__featured-product-image,
  .menu-drawer__featured-collection-image,
  .menu-drawer__featured-collection-link::before {
    border-radius: var(--menu-image-border-radius);
  }

  /* Стили для социальных сетей */
  .menu-drawer__social-links {
    margin-top: auto;
    padding: var(--padding-lg) var(--drawer-padding);
    border-top: 1px solid var(--color-border);
  }

  .menu-drawer__social-container {
    display: flex;
    align-items: center;
    gap: var(--padding-md);
    justify-content: flex-start;
  }

  .menu-drawer__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    border-radius: 50%;
    background: var(--gradient-background);
    color: white;
    text-decoration: none;
    transition: transform 0.2s ease;
    border: none;
    cursor: pointer;
  }

  .menu-drawer__social-link:hover {
    transform: scale(1.1);
  }

  .menu-drawer__social-link .svg-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .menu-drawer__social-link svg {
    width: 32px;
    height: 32px;
  }

  @keyframes menu-drawer-nav-open {
    0% {
      visibility: hidden;
      opacity: 0;
      transform: translateX(-0.5rem);
    }

    100% {
      visibility: visible;
      opacity: 1;
      transform: translateX(0);
    }
  }

  @keyframes menu-drawer-subnav-open {
    0% {
      visibility: visible;
      opacity: 1;
      transform: translateX(0);
    }

    100% {
      visibility: hidden;
      opacity: 0;
      transform: translateX(-1rem);
    }
  }
/* END_SNIPPET:header-drawer */

/* START_SNIPPET:jumbo-text (INDEX:258) */
.jumbo-text__container {
    width: 100%;
  }

  jumbo-text {
    display: block;
    font-family: var(--font-family, inherit);
    font-style: var(--font-style, normal);
    color: var(--color, inherit);
    font-weight: var(--font-weight, inherit);
    letter-spacing: var(--letter-spacing, -0.02em);
    line-height: var(--line-height, 1);
    opacity: 0;
    text-align: var(--text-align);
    text-box: var(--text-trim, trim-end cap text);
    text-transform: var(--text-transform, none);
    transition: opacity 0.3s ease;
    white-space: pre;
    width: 100%;
    will-change: font-size;
    margin-left: var(--margin-left-nudge, 0);
    margin-right: var(--margin-right-nudge, 0);
    overflow: visible;
  }

  jumbo-text.ready {
    opacity: 1;
  }

  jumbo-text[data-cap-text='true'] {
    text-box-edge: cap text;
  }

  .jumbo-text-space {
    display: inline-flex;
    width: 0.5ch;
  }

  :is(.jumbo-text-char, .jumbo-text-line) {
    display: inline-flex;
  }

  @media (prefers-reduced-motion: no-preference) {
    /* Blur effect */
    [data-text-effect='blur'] {
      filter: blur(20px);
      opacity: 0.5;
      scale: 1.05;
      transition: filter 1.6s var(--animation-timing-fade-in), opacity 1.3s var(--animation-timing-fade-in),
        scale 1.6s var(--animation-timing-fade-in);
    }

    .jumbo-text-visible[data-text-effect='blur'] {
      filter: blur(0);
      opacity: 1;
      scale: 1;
    }

    /* Reveal effect */
    .ready[data-text-effect='reveal'],
    .ready[data-text-effect='reveal'] .jumbo-text-line {
      overflow: hidden;
    }

    .ready[data-text-effect='reveal'] .jumbo-text-char {
      transform: translateY(100%);
    }

    .jumbo-text-visible[data-text-effect='reveal'] .jumbo-text-char {
      transition: transform 0.5s var(--animation-timing-fade-in) calc(var(--line-index) * 0.05s);
      transform: translateY(0);
    }

    .jumbo-text-visible[data-text-effect='reveal'],
    .jumbo-text-visible[data-text-effect='reveal'] .jumbo-text-line {
      overflow: visible;
      transition: overflow 0s linear 0.75s;
    }
  }
/* END_SNIPPET:jumbo-text */

/* START_SNIPPET:list-filter (INDEX:260) */
.facets input:checked + label {
    font-weight: 500;
  }

  .facets .checkbox .icon-checkmark {
    transition: border-color 0.2s ease, background-color 0.2s ease;
  }

  .facets .checkbox:not(:has(.checkbox__input:disabled)):hover .icon-checkmark {
    border-color: rgb(from var(--color-foreground) r g b / 40%);
    background-color: rgb(from var(--color-foreground) r g b / 5%);
  }

  .facets .checkbox:has(.checkbox__input:checked):not(:has(.checkbox__input:disabled)):hover .icon-checkmark {
    background-color: rgb(from var(--color-foreground) r g b / 85%);
  }

  .facets .checkbox:not(:has(.checkbox__input:disabled)):hover .checkbox__label-text {
    color: rgb(from var(--color-foreground) r g b / 90%);
  }

  .facets .checkbox .checkbox__label-text {
    transition: color 0.2s ease, font-weight 0.2s ease;
  }

  /* Pill style */
  .facets__pill-label {
    --pill-label-padding-inline: var(--padding-xs);
    --pill-label-border-radius: var(--style-border-radius-md);
    --pill-label-border-width: var(--variant-picker-button-border-width);
    --pill-label-height: var(--button-size-md);
    --pill-label-focus-outline-color: var(--color-foreground);
    --pill-label-color: var(--color-foreground);
    --pill-label-background-color: var(--color-background);
    --pill-label-border-opacity: var(--facets-low-opacity);

    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 var(--pill-label-border-width)
      rgb(from var(--pill-label-color) r g b / var(--pill-label-border-opacity));
    border-radius: var(--pill-label-border-radius);
    height: var(--pill-label-height);
    width: 100%;
    padding-inline: var(--pill-label-padding-inline);
    color: rgb(from var(--pill-label-color) r g b / 100%);
    background-color: rgb(from var(--pill-label-background-color) r g b / 100%);
    cursor: pointer;
    transition: color var(--animation-speed) var(--animation-easing),
      background-color var(--animation-speed) var(--animation-easing);
    outline-color: var(--pill-label-focus-outline-color);

    &:hover {
      --pill-label-border-opacity: 100%;
    }
  }

  .facets__pill-input {
    &:checked + .facets__pill-label {
      --pill-label-color: var(--color-background);
      --pill-label-background-color: var(--color-foreground);
      --pill-label-border-opacity: 0;
      font-weight: 500;
    }

    &:disabled + .facets__pill-label {
      opacity: var(--disabled-opacity);
      cursor: not-allowed;

      &:hover {
        --pill-label-border-opacity: var(--facets-low-opacity);
      }
    }
  }

  .facets__status-wrapper {
    display: flex;
    align-items: center;
  }

  .facets--drawer .facets__status-wrapper {
    @media screen and (width < 750px) {
      gap: var(--gap-3xs);
    }
  }

  .facets--vertical .facets__status-wrapper {
    gap: var(--gap-xs);
  }

  .facets--horizontal .facets__status-wrapper {
    gap: 0;
  }

  .facets__pill-input:disabled + .facets__pill-label svg {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: var(--style-border-radius-md);
  }

  .facets__pill-label svg line {
    stroke-width: 1.5px;
    stroke: rgb(from var(--color-foreground) r g b / var(--facets-low-opacity));
  }

  .facets__pill-wrapper {
    position: relative;
  }

  .facets__pill-input {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
    cursor: pointer;
  }

  /* Swatches */
  .facets__status--swatches {
    display: none;
  }

  .facets__swatch-wrapper {
    display: flex;
  }

  .facets__inputs-list--swatches .variant-option__button-label {
    --color-variant-text: var(--color-foreground);
  }

  .facets__inputs-list--swatches {
    --variant-picker-swatch-width: 32px;
    --variant-picker-swatch-height: 32px;

    @media screen and (width >= 750px) {
      --variant-picker-swatch-width: 26px;
      --variant-picker-swatch-height: 26px;
    }
  }

  .facets--vertical .facets__inputs-wrapper .facets__inputs-list--swatches-grid {
    gap: var(--gap-sm);
  }

  .facets--vertical .facets__inputs-list--swatches .facets__inputs-list-item {
    display: flex;
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid {
    --columns: 2;
    display: grid;
    grid-template-columns: repeat(var(--columns), 1fr);
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid .variant-option--swatches {
    cursor: pointer;
    overflow: visible;

    &.variant-option--swatches-disabled,
    &:has(input:disabled) {
      cursor: not-allowed;
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid label {
    cursor: pointer;
    word-break: break-word;
    white-space: normal;

    .variant-option--swatches-disabled &,
    .variant-option--swatches:has(input:disabled) & {
      cursor: not-allowed;
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch {
    align-items: center;
    overflow: visible;
    justify-content: flex-start;
    display: flex;
    width: 100%;
    flex-basis: unset;
    gap: var(--gap-sm);
  }

  .facets__inputs-wrapper .facets__inputs-list--swatches-grid .variant-option__button-label:has(:checked) {
    color: rgb(from var(--color-foreground) r g b / 100%);
    background-color: rgb(from var(--color-background) r g b / 100%);
    font-weight: 500;
    transition: font-weight 0.2s ease;
  }

  .facets .variant-option--swatches {
    --options-border-radius: var(--variant-picker-swatch-radius);
    width: auto;
  }

  .facets--horizontal .facets__status--swatches {
    @media screen and (width >= 750px) {
      display: flex;
    }
  }

  .facets--horizontal .sorting-filter .facets__status {
    @media screen and (width >= 750px) {
      display: none;
    }
  }

  .facets__status--swatches .swatch {
    width: calc(var(--variant-picker-swatch-width) / 1.5);
    height: calc(var(--variant-picker-swatch-height) / 1.5);
  }

  .facets__status--swatches .swatch + .swatch {
    margin-left: calc(var(--variant-picker-swatch-width) / -3);
    outline: 1px solid rgb(from var(--color-background) r g b / 100%);
  }

  .variant-option--images {
    position: relative;
  }

  .variant-option--images {
    --image-facet-border-width: var(--variant-picker-button-border-width);
    --image-facet-border-opacity: var(--facets-low-opacity);
    --image-facet-border-radius: var(--style-border-radius-xs);

    border-radius: var(--image-facet-border-radius);
    box-shadow: inset 0 0 0 var(--image-facet-border-width)
      rgb(from var(--color-foreground) r g b / var(--image-facet-border-opacity));

    &:hover:not(:has(input:disabled)),
    &:has(input:checked) {
      --image-facet-border-opacity: 100%;
    }

    &:has(input:checked) {
      font-weight: 500;
      transition: font-weight 0.2s ease;
    }

    &:has(input:checked):hover {
      --image-facet-border-width: calc(var(--variant-picker-button-border-width) + 0.5px);
    }

    &:has(input:focus-visible) {
      outline: var(--focus-outline-width) solid currentcolor;
      outline-offset: var(--focus-outline-offset);
    }

    &:has(input:disabled),
    &:has(input:disabled):hover {
      --image-facet-border-opacity: 0;
      opacity: var(--disabled-opacity);
      cursor: not-allowed;

      img {
        opacity: var(--disabled-opacity);
      }

      input,
      label,
      .facets__image-label {
        cursor: not-allowed;
      }

      .facets__image-wrapper {
        border: var(--style-border-width) solid rgba(from var(--color-foreground) r g b / 0.3);
        border-radius: var(--image-facet-border-radius);
      }
    }
  }

  .facets__inputs-wrapper .facets__inputs-list--images {
    display: grid;
    grid-template-columns: repeat(var(--image-columns), 125px);
    gap: var(--gap-sm);
  }

  .facets--drawer .facets__inputs-wrapper .facets__inputs-list--images {
    grid-template-columns: repeat(3, 1fr);

    @media screen and (width >= 750px) {
      grid-template-columns: repeat(4, 1fr);
    }
  }

  .facets--vertical .facets__inputs-wrapper .facets__inputs-list--images {
    grid-template-columns: repeat(2, 1fr);
  }

  .facets--drawer .facets__inputs-list--images {
    padding-top: var(--padding-xs);
  }

  .facets__image-wrapper {
    aspect-ratio: 1/1;
    width: 100%;
    padding: var(--padding-xs);
    position: relative;
    overflow: hidden;
  }

  .facets__image-wrapper img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    border-radius: calc(var(--border-radius) / 2);
  }

  /* Position disabled-svg */
  .variant-option--images svg {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    stroke-width: var(--border-width);
    stroke: rgb(from var(--color-foreground) r g b / 0.3);
  }

  /* Position label text and handle overflow */
  .facets__inputs-list-item,
  .variant-option--images {
    min-width: 0;
  }

  .facets__image-label {
    width: 100%;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-block-end: var(--padding-xs);
    cursor: pointer;

    .variant-option--images:has(input:disabled) & {
      cursor: not-allowed;
    }
  }

  .facets__inputs-list--swatches .variant-option__button-label:hover:not(:has(input:disabled)) {
    font-weight: 500;
  }

  .variant-option--images:not(:has(input:disabled)) .facets__image-label:hover {
    font-weight: 500;
  }
/* END_SNIPPET:list-filter */

/* START_SNIPPET:localization-form (INDEX:261) */
/* Localization */
  localization-form-component {
    display: flex;
    width: var(--width, auto);

    @media screen and (width >= 750px) {
      position: relative;
    }
  }

  localization-form-component[data-show-filter='false'] .country-selector-form__wrapper {
    padding-block-start: var(--padding-xs);
  }

  .localization-form {
    width: 100%;
  }

  localization-form-component .button:is(:not(.country-filter__reset-button)) {
    --button-color: var(--color-primary);
    --button-background-color: var(--language-button-background-color, var(--color-background));
    --button-border-color: var(--language-button-border-color, var(--color-border));

    text-decoration-color: transparent;
    text-decoration-thickness: 0.075em;
    text-underline-offset: 0.125em;
    transition: text-decoration-color var(--animation-speed) var(--animation-easing);
  }

  localization-form-component .button:is(:not(.country-filter__reset-button)):hover,
  .localization-form__list-item:hover,
  .localization-form__list-item:focus {
    --button-color: var(--color-primary-hover);
    background-color: rgb(from var(--color-primary-hover) r g b / 8%);
  }

  .localization-form__list-item[aria-current='true'] {
    --button-color: var(--color-primary-active);
    background-color: rgb(from var(--color-primary-hover) r g b / 10%);
  }

  .localization-form__list-item-disabled {
    pointer-events: none;
  }

  .localization-form__list-item:focus-visible {
    outline: none;
  }

  localization-form-component .localization-selector {
    display: flex;
    align-items: center;
    gap: var(--margin-2xs);
  }

  localization-form-component .country-filter__search-icon {
    left: 8px;
    right: auto;
    color: var(--color-foreground-muted);
    pointer-events: none;
  }

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

  .disclosure {
    width: 100%;
  }

  .dropdown-localization__button {
    display: flex;
    position: relative;
    align-items: center;
    gap: 4px;
    font-weight: var(--menu-top-level-font-weight);
    padding-inline: var(--padding-2xs);
    margin-inline: calc(-1 * var(--padding-2xs));
  }

  .dropdown-localization__button .icon-caret {
    height: var(--icon-size-xs);
    width: var(--icon-size-xs);
    right: var(--margin-xs);
    top: calc(50% - var(--padding-2xs));
    flex-shrink: 0;
    transition: transform var(--animation-speed) var(--animation-easing);
  }

  .drawer-localization__button .icon-flag,
  .dropdown-localization__button .icon-flag {
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
    clip-path: circle(50%);
    background-position: center;
    background-size: cover;
    margin-inline-end: 4px;
    position: relative;
  }

  .icon-flag::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 var(--size-shadow) var(--color-shadow);
    border-radius: 50%;
  }

  .dropdown-localization__button[aria-expanded='true'] .icon-caret svg {
    transform: rotate(180deg);
  }

  .dropdown-localization__button,
  .dropdown-localization__button:hover {
    box-shadow: none;
    background-color: transparent;
    border-color: transparent;
    color: var(--color-foreground);
  }

  .localization-form__list {
    position: relative;
    width: 100%;
    padding-block: 0 var(--padding-xs);
    font-size: var(--font-size-lg);
    scroll-padding: var(--padding-xs) 0;
    overflow-y: auto;
    white-space: nowrap;

    /* Hide scrollbar which would cause extra right padding in Safari*/
    scrollbar-width: none;
    &::-webkit-scrollbar {
      display: none;
    }
  }

  dropdown-localization-component .localization-form__list {
    max-height: 20.5rem;
  }

  .localization-wrapper {
    position: fixed;
    z-index: var(--layer-raised);
    border-radius: var(--style-border-radius-popover);
    animation: localization-slide-down 0.3s ease-in-out;
  }

  .localization-wrapper:not([hidden]) {
    animation: localization-slide-up 0.3s ease-in-out;
  }

  @keyframes localization-slide-up {
    from {
      display: none;
      opacity: 0;
      transform: translateY(20px);
    }

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

  @keyframes localization-slide-down {
    from {
      display: block;
      opacity: 1;
      transform: translateY(0);
    }

    to {
      display: none;
      opacity: 0;
      transform: translateY(20px);
    }
  }

  .localization-form__list-item:not([hidden]) {
    margin-block-end: var(--margin-3xs);
    display: flex;
    gap: var(--margin-sm);
    padding: 8px;
    border-radius: 8px;
    line-height: var(--font-line-height-md);
    align-items: center;
    text-align: start;
    cursor: pointer;
    transition: background-color var(--animation-speed) var(--animation-easing);

    .country {
      flex: 1;
      color: var(--color-foreground);
    }

    &:hover {
      background-color: rgb(from var(--color-foreground) r g b / 8%);
    }

    &[aria-current='true'] {
      .country {
        font-weight: 500;
      }
    }
  }

  .localization-form__list-item#no-results-message {
    grid-template-columns: 1fr;
    text-align: center;
    color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text));
  }

  .is-searching .localization-form__list-item .country {
    color: rgb(from var(--color-foreground) r g b / 80%);
  }

  .localization-form__list-item .country mark {
    font-weight: 500;
    background: none;
    color: var(--color-foreground);
  }

  .country-filter {
    position: relative;
    padding: var(--padding-xs);
    border-bottom: var(--style-border-width) solid transparent;
    transition: border-color var(--animation-values);
  }

  .country-filter.is-scrolled {
    border-color: var(--color-border);
  }

  .drawer-localization .country-filter {
    padding-block: 8px;
  }

  dropdown-localization-component .country-filter {
    position: relative;
    padding: 8px;
  }

  .country-selector-form__wrapper {
    overflow-y: auto;
    max-height: 100%;
    flex-grow: 1;
  }

  .language-selector {
    display: flex;
    gap: var(--gap-xs);
    padding: var(--padding-md) var(--padding-lg);
    position: relative;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  .language-selector__label {
    flex-shrink: 0;
    color: rgb(from var(--color-foreground) r g b / var(--opacity-subdued-text));
  }

  .localization-form__select {
    border: none;
    color: var(--color-foreground);
    appearance: none;
    background-color: var(--color-input-background);
    padding-block: var(--padding-3xs);
    padding-inline: var(--padding-xs) calc(var(--icon-size-xs) + var(--padding-xs));
    text-align: right;
    cursor: pointer;

    &:focus-visible {
      outline: var(--focus-outline-width) solid currentColor;
    }
    &:focus {
      outline: none;
    }
  }

  #header-component[transparent] localization-form-component .localization-form .localization-form__select {
    background-color: transparent;
  }

  dropdown-localization-component .localization-form__select:hover {
    background-color: rgb(from var(--color-primary-hover) r g b / 8%);
  }

  .language-selector .svg-wrapper.icon-caret {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
  }

  .language-selector--collapse-space {
    padding-inline-end: var(--padding-2xs);
  }

  .language-selector--collapse-space .localization-form__select {
    padding-inline-end: var(--icon-size-xs);
  }

  .language-selector--collapse-space .svg-wrapper.icon-caret {
    right: 0;
  }

  .localization-form .icon-checkmark {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .localization-form .svg-wrapper.icon-checkmark {
    visibility: hidden;
  }

  .localization-form__list-item[aria-current='true'] .svg-wrapper.icon-checkmark {
    visibility: visible;
  }

  .country-filter__input {
    width: 100%;
    height: 44px;
    font-size: var(--font-size-lg);
    padding: var(--padding-md) var(--padding-lg) var(--padding-md) calc(var(--margin-md) + var(--padding-xl));
    border: 1px solid var(--color-foreground);
    color: var(--color-foreground);
    background-color: var(--color-input-background);
    outline-offset: -1px;

    @media screen and (width >= 750px) {
      height: 36px;
    }
  }

  .country-filter__input::placeholder {
    color: inherit;
  }

  .country-filter .field {
    position: relative;
  }

  .country-filter .field__label {
    font-size: var(--font-size-lg);
    left: var(--margin-2xl);
    top: var(--margin-xl);
    pointer-events: none;
    position: absolute;
  }

  .country-filter__input:focus ~ .field__label,
  .country-filter__input:not(:placeholder-shown) ~ .field__label,
  .country-filter__input:-webkit-autofill ~ .field__label {
    font-size: var(--font-size-xs);
    top: var(--margin-xs);
  }

  .country-filter .field__button:not([hidden]) {
    display: flex;
    height: fit-content;
    position: absolute;
    padding: 0;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    align-items: center;
    background-color: transparent;
    color: var(--color-foreground);
    border: 0;
  }

  input[type='search']::-webkit-search-cancel-button {
    appearance: none;
  }

  .country-selector__close-button {
    display: none;
  }

  .drawer-localization .drawer-localization__button {
    display: flex;
    padding: 0;
    position: relative;
    text-decoration: none;
    font-size: 1.8rem;
    height: 44px;

    &:hover {
      color: var(--color-foreground);
    }
  }

  .drawer-localization .drawer-localization__button .icon-caret {
    width: fit-content;
    height: fit-content;
    margin: 0;
    padding: var(--padding-xl) var(--padding-xl) var(--padding-xl) var(--padding-xs);
  }

  dropdown-localization-component {
    position: relative;
    background-color: transparent;
  }

  dropdown-localization-component .country-filter__input {
    border: none;
  }

  dropdown-localization-component .localization-form__list-item {
    margin-inline: 8px;
  }

  dropdown-localization-component .localization-wrapper {
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    background-color: var(--color-background);
    max-height: 27.5rem;
    position: absolute;
    top: calc(100% + 10px);
    z-index: calc(var(--layer-header-menu) + 1);
  }

  dropdown-localization-component .localization-wrapper.right-bound {
    right: 0;
    left: unset;
  }

  dropdown-localization-component .localization-wrapper.left-bound {
    left: -8px;
    right: unset;
  }

  /* Additional specificity due to dropdown-localization-component getting a low score */
  dropdown-localization-component .language-selector.language-selector {
    padding: 10px 16px;
  }

  dropdown-localization-component .localization-form__currency {
    width: max-content;
    opacity: 0;
    display: none;
    transition: none;
  }

  dropdown-localization-component
    :is(
      .localization-form__list-item:hover,
      .localization-form__list-item[aria-selected='true'],
      .localization-form__list-item[aria-current='true']
    )
    .localization-form__currency {
    opacity: 1;
    color: var(--color-foreground-muted);
    transition: opacity var(--animation-speed-slow) var(--animation-easing);
    display: block;
  }

  .dropdown-localization .language-selector:where(:not(.top-shadow)) {
    font-weight: var(--menu-top-level-font-weight);
  }

  .menu-drawer__localization .language-selector.h5 {
    padding-inline-start: 0;
  }

  .header__column .localization-form__select {
    background-color: var(--header-bg-color);
  }

  .drawer-localization {
    display: contents;
    color: var(--color-foreground);
  }

  .drawer-localization localization-form-component {
    position: relative;
    height: 100%;
  }

  .drawer-localization .mobile-localization,
  .drawer-localization .drawer-localization__button--label {
    display: flex;
    gap: var(--gap-xs);
    margin-block: 0;
    align-items: center;
  }

  .drawer-localization img {
    width: var(--icon-size-sm);
  }

  .drawer-localization .localization-button__icon,
  .drawer-localization .localization-button__icon svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .drawer-localization summary.is-disabled {
    pointer-events: none;
  }

  .drawer-localization .localization-wrapper {
    width: 100%;
  }

  .drawer-localization .localization-form {
    display: flex;
    flex-direction: column;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .drawer-localization .localization-form > * {
    padding-inline: var(--padding-xl);
  }

  .drawer-localization .language-selector .svg-wrapper.icon-caret {
    transform: translateY(-50%) rotate(0deg);
  }

  .drawer-localization .language-selector .svg-wrapper.icon-caret svg {
    transform: none;
  }
/* END_SNIPPET:localization-form */

/* START_SNIPPET:media (INDEX:263) */
.media-block {
    overflow: hidden;
    position: relative;

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

  .media-block__media {
    height: var(--media-height-mobile, auto);
    object-fit: var(--image-position, 'cover');
    object-position: center center;
    width: 100%;

    @media screen and (width >= 750px) {
      height: 100%;
      position: absolute;
    }
  }

  deferred-media[class].media-block__media
    :is(.deferred-media__poster-button img, .deferred-media__poster-button ~ video) {
    object-fit: var(--video-position, 'cover');
  }

  /* This is to support corner radius on video and align the video to the center of the block */
  .media-block__media--video {
    display: flex;
    align-items: center;
    justify-content: center;

    @media screen and (width < 750px) {
      --media-height-mobile: auto;
    }
  }
/* END_SNIPPET:media */

/* START_SNIPPET:overlay (INDEX:269) */
.overlay {
    position: absolute;
    inset: 0;
    z-index: var(--overlay-layer);
    pointer-events: none;
    border-radius: var(--overlay-border-radius, 0px);
  }

  .overlay--solid {
    background: var(--overlay-color);
  }

  .overlay--gradient {
    background: linear-gradient(var(--overlay-direction), var(--overlay-color), var(--overlay-color--end));
  }
/* END_SNIPPET:overlay */

/* START_SNIPPET:predictive-search-resource-carousel (INDEX:272) */
.predictive-search-results__wrapper slideshow-slides {
    /* Add padding to prevent hover animations from being clipped in slideshow
       15px accommodates:
       - Scale effect (9px on each side from 1.03 scale)
       - Lift effect (4px upward movement)
       - Shadow (15px spread with -5px offset)
       Using 16px for better alignment with our spacing scale */
    padding: 16px;
    margin-block: -16px;
  }
/* END_SNIPPET:predictive-search-resource-carousel */

/* START_SNIPPET:predictive-search (INDEX:273) */
predictive-search-component {
    &:has([data-search-results]):not(:has(.predictive-search-results__no-results)) {
      .predictive-search-form__footer {
        display: block;
      }
    }
  }

  .predictive-search-form__footer {
    display: none;
  }
/* END_SNIPPET:predictive-search */

/* START_SNIPPET:price-filter (INDEX:274) */
/* Price filter */
  .price-facet {
    container-type: inline-size;
    display: flex;
    flex-direction: column;
  }

  .facets__inputs-wrapper.price-facet__inputs-wrapper {
    flex-wrap: nowrap;
  }

  .price-facet__field {
    width: 50%;
    flex-grow: 0;
  }

  @container (width < 200px) {
    .facets__inputs-wrapper.price-facet__inputs-wrapper {
      flex-wrap: wrap;
      width: 100%;
    }

    .price-facet__inputs-wrapper .price-facet__field {
      width: 100%;
    }
  }

  .facets .facets__inputs-wrapper.price-facet__inputs-wrapper {
    padding: var(--style-border-width-inputs);
    gap: calc(var(--gap-sm) + (var(--style-border-width-inputs) * 2));
  }

  .facets--horizontal .facets__panel-content:has(.price-facet) {
    min-width: 360px;
  }

  .facets--horizontal .facets__inputs-wrapper.price-facet__inputs-wrapper {
    @media screen and (width >= 750px) {
      padding: calc(var(--padding-md) + var(--style-border-width-inputs));
    }
  }

  .price-facet__input {
    width: 100%;
    text-align: right;
    padding-left: calc(2.5 * var(--input-padding-x));
  }

  .price-facet__input::placeholder {
    color: var(--facets-input-label-color);
  }

  .price-facet__separator {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-paragraph--size);
  }

  .price-facet__highest-price {
    padding: var(--padding-xs) 0 var(--padding-sm);
  }

  .facets--horizontal .price-facet__highest-price {
    padding: 0 var(--padding-md) var(--padding-xs);
  }

  .field__label.price-facet__label {
    top: 0;
    left: 0;
    color: var(--facets-input-label-color);
    padding: var(--input-padding-y) var(--input-padding-x);
    transform: none;
  }
/* END_SNIPPET:price-filter */

/* START_SNIPPET:product-card-badges (INDEX:276) */
.product-badges {
    position: absolute;
    z-index: var(--layer-flat);
    --badge-inset: max(var(--padding-xs), calc((var(--border-radius) + var(--padding-xs)) * (1 - cos(45deg))));
  }

  .product-badges--bottom-left {
    bottom: calc(var(--badge-inset) + var(--padding-block-start));
    left: calc(var(--badge-inset) + var(--padding-inline-start));
  }

  .product-badges--top-left {
    top: calc(var(--badge-inset) + var(--padding-block-start));
    left: calc(var(--badge-inset) + var(--padding-inline-start));
  }

  .product-badges--top-right {
    top: calc(var(--badge-inset) + var(--padding-block-start));
    right: calc(var(--badge-inset) + var(--padding-inline-start));
  }

  .product-badges__badge {
    --badge-font-size: var(--font-size--xs);

    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--color-foreground);
    background: var(--color-background);
    font-size: var(--badge-font-size);
    font-family: var(--badge-font-family);
    font-weight: var(--badge-font-weight);
    text-transform: var(--badge-text-transform);
    border-radius: var(--badge-border-radius);
  }

  .product-badges__badge--rectangle {
    padding-block: var(--badge-rectangle-padding-block);
    padding-inline: var(--badge-rectangle-padding-inline);
  }
/* END_SNIPPET:product-card-badges */

/* START_SNIPPET:product-card (INDEX:277) */
product-card-link {
    width: 100%;
  }

  .product-card__placeholder-image svg {
    height: 100%;
  }

  @media screen and (width < 750px) {
    .product-card slideshow-arrows .slideshow-control {
      display: none;
    }
  }

  /* Hide the variant swatches for product cards that show a swatches variant picker */
  :is(.product-card):has(swatches-variant-picker-component) .quick-add .variant-option--swatches {
    display: none;
  }

  /* Hide "Add" button for single option product cards that show a swatches variant picker */
  :is(.product-card):has(.quick-add__product-form-component--single-option):has(swatches-variant-picker-component)
    .quick-add__button--choose {
    display: none;
  }

  /* Hide "add" button for multi-variant product cards that don't show a swatches variant picker */
  :is(.product-card):has(.quick-add__product-form-component--multi-variant):not(:has(swatches-variant-picker-component))
    .quick-add__button--add {
    display: none;
  }

  /* Hover effect for single variant product cards and product blocks */

  /* stylelint-disable selector-max-specificity */
  :is(.product-card):has(.quick-add__product-form-component--single-variant) .card-gallery:hover {
    & .quick-add__button--choose {
      display: none;
    }

    & .quick-add__button--add {
      display: grid;
    }
  }
/* END_SNIPPET:product-card */

/* START_SNIPPET:product-grid (INDEX:278) */
.product-grid {
    --product-grid-gap: var(--product-grid-gap-mobile);
    isolation: isolate;

    @media screen and (width >= 750px) {
      --product-grid-gap: var(--product-grid-gap-desktop);
    }
  }

  .product-grid slideshow-arrows .slideshow-control {
    display: none;

    @media screen and (width >= 750px) {
      display: grid;
    }
  }

  .main-collection-grid {
    padding: var(--grid--margin--mobile);

    @media screen and (width >= 750px) {
      padding: var(--padding-block-start) var(--padding-inline-end) var(--padding-block-end) var(--padding-inline-start);
    }
  }

  .main-collection-grid__empty {
    padding-block: var(--padding-6xl);
    padding-inline: var(--page-margin);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--padding-sm);
  }

  .main-collection-grid__empty-title {
    margin: 0;
  }

  .collection-wrapper--full-width .main-collection-grid__title {
    margin-left: var(--page-margin);
  }

  .collection-wrapper--full-width-on-mobile .main-collection-grid__title {
    @media screen and (width < 750px) {
      margin-left: var(--page-margin);
    }
  }
/* END_SNIPPET:product-grid */

/* START_SNIPPET:product-media (INDEX:280) */
.product-media {
    aspect-ratio: var(--gallery-aspect-ratio, var(--ratio));
    min-height: 0;
    min-width: 0;
  }

  /*** Media border-radius feature ****/
  @media screen and (width >= 750px) {
    .media-gallery--carousel slideshow-container,
    .media-gallery--grid .product-media > * {
      border-radius: var(--media-radius, 0);
      overflow: hidden;
    }

    /* When the CAROUSEL is on the LEFT side */
    .product-information:not(.product-information--media-right)
      .media-gallery--carousel.media-gallery--extend
      slideshow-container {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }

    /* When the CAROUSEL is on the RIGHT side */
    .product-information.product-information--media-right
      .media-gallery--carousel.media-gallery--extend
      slideshow-container {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
    }

    /* When the GRID is on the LEFT side */
    .product-information:not(.product-information--media-right) {
      /* One column */
      .media-gallery--grid.media-gallery--extend:not(.media-gallery--two-column) .product-media > *,
      /* Two column, small first image */
      .media-gallery--grid.media-gallery--extend.media-gallery--two-column:not(.media-gallery--large-first-image)
        .product-media-container:nth-of-type(odd)
        .product-media
        > *,
      /* Two column, large first image */
      .media-gallery--grid.media-gallery--extend.media-gallery--two-column.media-gallery--large-first-image
        .product-media-container:is(:first-of-type, :nth-of-type(even))
        .product-media
        > * {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
      }
    }

    /* When the GRID is on the RIGHT side */
    .product-information.product-information--media-right {
      /* One column */
      .media-gallery--grid.media-gallery--extend:not(.media-gallery--two-column) .product-media > *,
      /* Two column, small first image */
      .media-gallery--grid.media-gallery--extend.media-gallery--two-column:not(.media-gallery--large-first-image)
        .product-media-container:nth-of-type(even)
        .product-media
        > *,
      /* Two column, large first image */
      .media-gallery--grid.media-gallery--extend.media-gallery--two-column.media-gallery--large-first-image
        .product-media-container:is(:first-of-type, :nth-of-type(odd))
        .product-media
        > * {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }
    }
  }

  ::view-transition-old(gallery-item),
  ::view-transition-new(gallery-item) {
    animation-duration: 0ms;
  }
/* END_SNIPPET:product-media */

/* START_SNIPPET:quick-add-modal (INDEX:283) */
.quick-add-modal {
    padding: 0;
    border: var(--style-border-popover);
    height: fit-content;
    overflow: hidden;
    min-height: 500px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.15);

    @media screen and (max-width: 750px) {
      position: fixed;
      display: block;
      margin: auto 0 0 0;
      min-height: unset;
      max-width: 100%;
      border-radius: 0;
    }
  }

  .quick-add-modal[open] {
    @media screen and (width >= 750px) {
      display: flex;
    }
  }

  .quick-add-modal .view-more-details__wrapper {
    @media screen and (max-width: 750px) {
      display: none;
    }
  }

  .quick-add-modal[open] {
    animation: modalSlideInTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal.dialog-closing {
    animation: modalSlideOutTop var(--animation-speed) var(--animation-easing) forwards;
  }

  .quick-add-modal__close {
    position: absolute;
    top: var(--margin-2xs);
    right: var(--margin-2xs);
    width: var(--minimum-touch-target);
    height: var(--minimum-touch-target);
    color: var(--color-foreground);
    background-color: var(--color-background);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 2;
    transition: transform 0.15s var(--animation-timing-bounce), opacity 0.15s var(--animation-easing);
  }

  .quick-add-modal__close:active {
    transform: scale(0.8);
  }

  .quick-add-modal__close svg {
    width: var(--icon-size-xs);
    height: var(--icon-size-xs);
  }

  .quick-add-modal__content {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: 100% 1fr;
    position: relative;
    max-width: var(--wide-content-width);
    overflow-y: auto;
    max-height: 100vh;

    @media screen and (max-width: 750px) {
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: auto;
      padding-inline: var(--padding-xl);
      padding-block: var(--padding-xl);
      gap: var(--gap-lg);
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      height: auto; /* Prevent a bug in Safari where height:fit-content is not respected */
      max-height: 100vh;
    }
  }

  .quick-add-modal__content .media-gallery--grid .media-gallery__grid {
    grid-template-columns: 1fr;
  }

  .quick-add-modal__content .media-gallery--grid.media-gallery--two-column .product-media-container:first-child {
    grid-column: auto;
  }

  .quick-add-modal__content {
    /* One column */
    .media-gallery--grid:not(.media-gallery--two-column) .product-media > *,
    /* Two column, small first image */
    .media-gallery--grid.media-gallery--two-column:not(.media-gallery--large-first-image)
    .product-media-container:nth-of-type(odd)
    .product-media > *,
    /* Two column, large first image */
    .media-gallery--grid.media-gallery--two-column.media-gallery--large-first-image
      .product-media-container:is(:first-of-type, :nth-of-type(even))
      .product-media > *,
      /* Carousel */
    .media-gallery--carousel slideshow-container {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }

  .quick-add-modal__content .view-more-details__wrapper {
    display: flex;
    justify-content: flex-start;
    width: 100%;
  }

  .view-more-details__wrapper .view-more-details {
    display: flex;
    align-items: center;
    width: fit-content;
  }

  .quick-add-modal__content .product-header {
    @media screen and (max-width: 750px) {
      display: flex;
      flex-direction: column;
      grid-column: 2 / -1;
      grid-row: 1;
      padding-right: var(--padding-2xl);
    }
  }

  .quick-add-modal__content .product-header a:not(product-price *) {
    @media screen and (width < 750px) {
      font-size: var(--font-size--md);
      font-weight: 500;
      color: inherit;
      width: fit-content;
    }
  }

  .quick-add-modal__content variant-picker,
  .quick-add-modal__content product-form-component {
    @media screen and (max-width: 750px) {
      grid-column: 1 / -1;
    }
  }

  .quick-add-modal__content .product-media-container__zoom-button {
    cursor: default;
  }

  .quick-add-modal__content .product-details {
    grid-column: 4 / -1;
    grid-row: 1 / span 2;
    flex-direction: column;
    overflow-y: visible;
    max-height: none;
    height: auto;

    dialog[open] & {
      animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
      animation-delay: 0.1s;
    }

    @media screen and (max-width: 750px) {
      grid-column: 2 / span 2;
      grid-row: span 1;
      overflow-y: auto;
      max-height: 100%;
      height: 100%;
    }
  }

  .quick-add-modal__content:not(:has(.product-information__media)) .product-details {
    grid-column: 1 / -1;
  }

  .quick-add-modal__content div.view-product-title {
    padding: var(--padding-2xl);
    padding-inline-end: var(--padding-5xl);
    padding-block-end: 0;
  }

  .quick-add-modal__content div.view-product-title a {
    color: inherit;
    text-decoration: none;
    text-align: left;
    font-size: var(--font-size--2xl);
    font-weight: 600;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s var(--animation-easing);
  }

  .quick-add-modal__content .view-product-title {
    display: flex;
  }
  .quick-add-modal__content
    .product-details
    *:not(
      .group-block,
      .group-block-content,
      .buy-buttons-block,
      .buy-buttons-block *,
      .view-product-title,
      .view-product-title *,
      variant-picker,
      variant-picker *,
      product-price,
      product-price *,
      product-inventory,
      product-inventory *,
      .view-more-details__wrapper,
      .view-more-details__wrapper *
    ) {
    @media screen and (width >= 750px) {
      display: none !important;
    }
  }

  .quick-add-modal__content
    .group-block:not(
      :has(
          .buy-buttons-block,
          .buy-buttons-block *,
          .view-product-title,
          .view-product-title *,
          variant-picker,
          variant-picker *,
          product-price,
          product-price *,
          product-inventory,
          product-inventory *,
          .view-more-details__wrapper,
          .view-more-details__wrapper *
        )
    ):not(.buy-buttons-block) {
    display: none;
  }

  .quick-add-modal__content .product-details > .group-block {
    padding-block-start: 0;
    padding-block-end: var(--padding-2xl);
    padding-inline: var(--padding-2xl);
  }

  .quick-add-modal__content slideshow-slide:not([aria-hidden='false']) {
    content-visibility: auto;
  }

  .quick-add-modal__content .product-information__media {
    width: 100%;
    grid-column: 1 / span 1;
    grid-row: 1;
    position: relative;
    top: 0;
    animation: fadeIn 0.4s var(--animation-timing-fade-in) both;

    @media screen and (width >= 750px) {
      position: sticky;
      grid-column: 1 / 4;
      overflow-y: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media media-gallery {
    pointer-events: none;

    @media screen and (width >= 750px) {
      position: absolute;
      inset: 0;
    }
  }

  .quick-add-modal__content .product-information__media slideshow-arrows {
    display: none;
  }

  .quick-add-modal__content .product-information__media slideshow-container {
    display: block;
  }

  .quick-add-modal__content .product-information__media slideshow-slides {
    display: flex;
    flex-direction: column;
    gap: var(--gap-2xs);
    overflow: visible;
    scroll-snap-type: none;
  }

  .quick-add-modal__content .product-information__media slideshow-slide {
    width: 100%;
    flex: none;
    scroll-snap-align: unset;
    position: relative;
    transform: none;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s var(--animation-easing);
  }

  .quick-add-modal__content .product-information__media slideshow-slide[aria-hidden='true'] {
    @media screen and (max-width: 750px) {
      display: none;
    }
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(1) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(2) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.05s;
  }

  .quick-add-modal__content .product-information__media slideshow-slide:nth-child(3) {
    animation: fadeSlideIn 0.3s var(--animation-timing-fade-in) both;
    animation-delay: 0.1s;
  }

  .quick-add-modal__content .product-information__media slideshow-controls {
    display: none;
  }

  .quick-add-modal__content .sticky-content,
  .quick-add-modal__content .sticky-content--desktop {
    top: 0;
  }

  .quick-add-modal__content .text-block.rte:not(product-price),
  .quick-add-modal__content .view-more-details__wrapper {
    display: none;
  }

  @keyframes fadeSlideIn {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
/* END_SNIPPET:quick-add-modal */

/* START_SNIPPET:quick-add (INDEX:284) */
/* Quick Add */
  .quick-add {
    --quick-add-offset: var(--padding-sm);
    --quick-add-top: calc(var(--quick-add-offset) + var(--padding-block-start));
    --quick-add-right: calc(var(--quick-add-offset) + var(--padding-inline-end));
    --quick-add-bottom: calc(var(--quick-add-offset) + var(--padding-block-end));
    --quick-add-left: calc(var(--quick-add-offset) + var(--padding-inline-end));

    position: absolute;
    display: var(--quick-add-mobile-display, none);
    flex-direction: column;
    justify-content: flex-end;
    inset: max(var(--quick-add-top), calc((var(--border-radius) + var(--quick-add-top)) * (1 - cos(45deg))))
      max(var(--quick-add-right), calc((var(--border-radius) + var(--quick-add-right)) * (1 - cos(45deg))))
      max(var(--quick-add-bottom), calc((var(--border-radius) + var(--quick-add-bottom)) * (1 - cos(45deg))))
      max(var(--quick-add-left), calc((var(--border-radius) + var(--quick-add-left)) * (1 - cos(45deg))));
    width: auto;
    height: auto;
    z-index: var(--layer-raised);
    cursor: default;
    pointer-events: none;

    @media screen and (width >= 750px) {
      --quick-add-offset: var(--padding-md);

      display: var(--quick-add-display, flex);
    }
  }

  .quick-add .variant-option__button-label input[data-option-available='false'] {
    cursor: not-allowed;
  }

  .quick-add[class*='color-scheme-'] {
    background-color: transparent;
  }

  .quick-add__button {
    display: grid;
    padding: var(--padding-xs);
    align-items: center;
    background-color: var(--color-background);
    color: var(--color-foreground);
    border-color: transparent;
    box-shadow: var(--shadow-popover);
    pointer-events: all;
    position: relative;
    overflow: hidden;
    border-radius: 100px;

    @media screen and (width >= 750px) {
      display: none;
      padding: var(--padding-xs) var(--padding-sm);
    }

    .quick-add[stay-visible] & {
      display: grid;
    }
  }

  .quick-add__button .add-to-cart-text {
    gap: 0;
    line-height: 1;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    animation: none;

    @media screen and (width >= 750px) {
      /* offset button padding to show a round button in a collapsed state */
      margin-inline: calc(var(--padding-sm) * -1);
      padding-inline: var(--padding-xs);
    }
  }

  .quick-add__button .add-to-cart-text--added {
    position: relative;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    justify-self: end;
    line-height: 1;

    @media screen and (width >= 750px) {
      width: 0;
    }
  }

  .quick-add__button .add-to-cart-text__content {
    width: 0;
    opacity: 0;
    transform: translateX(1em);
    transition: width var(--animation-speed) ease-in-out, opacity var(--animation-speed) ease-in-out,
      transform var(--animation-speed) ease-in-out;
    interpolate-size: allow-keywords;
    will-change: width, opacity, transform;
  }

  @container (min-width: 99px) {
    .quick-add[stay-visible] .add-to-cart-text,
    .quick-add__button:is(:focus, :hover) .add-to-cart-text {
      gap: var(--gap-2xs);

      @media screen and (width >= 750px) {
        /* offset button padding to show a round button in a collapsed state */
        margin-inline: 0;
        padding-inline: 0;
      }
    }

    .quick-add[stay-visible] .add-to-cart-text__content,
    .quick-add__button:is(:focus, :hover) .add-to-cart-text__content {
      width: fit-content;
      opacity: 1;
      transform: translateX(0);
    }
  }

  .quick-add__button.atc-added .add-to-cart-text {
    opacity: 0;
  }

  .quick-add__button.atc-added .add-to-cart-text--added {
    opacity: 1;
    width: auto;

    @supports (width: calc-size(auto, size)) {
      width: calc-size(auto, size);
    }
  }

  .quick-add__button.atc-added .add-to-cart-text {
    animation-name: atc-fade-out;
  }

  .quick-add__button.atc-added .add-to-cart-text--added {
    animation-name: atc-fade-in;
  }

  .quick-add__product-form-component {
    height: 100%;
  }

  .quick-add__product-form-component .shopify-product-form {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    container-type: inline-size;
    height: 100%;
  }

  .quick-add-modal .product-media {
    width: 100%;
    height: 100%;
  }

  .quick-add-modal deferred-media {
    display: none;
  }

  .quick-add-modal .media-gallery--carousel slideshow-component {
    --cursor: default;
  }

  @keyframes atc-fade-in {
    from {
      opacity: 0;
      transform: translateX(1em);
      position: absolute;
    }

    to {
      opacity: 1;
      transform: translateX(0);
      position: inherit;
    }
  }

  @keyframes atc-fade-out {
    from {
      opacity: 1;
      transform: translateX(0);
      position: inherit;
    }

    to {
      opacity: 0;
      transform: translateX(-1em);
      position: absolute;
    }
  }
/* END_SNIPPET:quick-add */

/* START_SNIPPET:resource-card (INDEX:285) */
.resource-card {
    --resource-card-secondary-image-opacity: 0;
    --resource-card-primary-image-opacity: calc(1 - var(--resource-card-secondary-image-opacity));

    display: flex;
    flex-direction: column;
    row-gap: var(--padding-xs);
    position: relative;
    text-decoration: none;
    height: 100%;
    opacity: 0;
    animation: fadeIn var(--animation-speed-medium) var(--animation-timing-fade-in) forwards;
  }

  .resource-card__content {
    display: flex;
    flex-direction: column;
    color: var(--color-foreground);
    gap: var(--padding-3xs);

    .price {
      font-weight: 500;
    }
  }

  .resource-card[data-resource-type='article'] .resource-card__content,
  .resource-card[data-resource-type='page'] .resource-card__content {
    gap: var(--padding-xs);
  }

  .resource-card__image {
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    object-fit: cover;
    border-radius: var(--resource-card-corner-radius);
    opacity: var(--resource-card-primary-image-opacity);
  }

  .resource-card__image--secondary {
    position: absolute;
    top: 0;
    opacity: var(--resource-card-secondary-image-opacity);
    border-radius: var(--resource-card-corner-radius);
  }

  .resource-card__media:empty {
    display: none;
  }

  .resource-card__image-placeholder {
    padding: var(--padding-sm);
    font-size: var(--font-size--lg);
    line-height: var(--line-height--display-loose);
    word-break: break-word;
    background-color: rgb(from var(--color-foreground) r g b / 5%);
    aspect-ratio: var(--resource-card-aspect-ratio, auto);
    border-radius: var(--resource-card-corner-radius);
    color: var(--color-foreground);
  }

  .resource-card__title {
    margin-block: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.3;
  }

  .resource-card__title.paragraph {
    line-height: 1.3;
  }

  .resource-card--overlay {
    height: 100%;

    &::before {
      content: '';
      position: absolute;
      inset: 50% 0 0;
      background: var(--gradient-image-overlay);
      border-radius: var(--resource-card-corner-radius);
      pointer-events: none;
      z-index: var(--layer-flat);
    }
  }

  .resource-card--overlay .resource-card__image {
    height: 100%;
  }

  .resource-card--overlay .resource-card__content {
    position: absolute;
    inset: auto 0 0;
    padding: var(--padding-lg) var(--padding-lg) var(--padding-sm);
    z-index: var(--layer-raised);
  }

  .resource-card--overlay .resource-card__title {
    color: var(--color-white);
  }

  /* Collection images */
  .resource-card__image-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--gap-2xs);
  }

  .resource-card__collection-image {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: calc(var(--card-corner-radius) - (var(--padding-xs) / 2));
  }

  .resource-card__subtext {
    color: rgba(from var(--color-foreground) r g b / var(--opacity-subdued-text));
    margin-block-start: 0;
  }

  .resource-card__subtext.paragraph {
    font-size: var(--font-size--body-sm);
    line-height: var(--line-height--body-tight);
    color: rgba(from var(--color-foreground) r g b / var(--opacity-subdued-text));
  }

  .resource-card:has(.resource-card__image--secondary) {
    &:hover,
    &:focus {
      --resource-card-secondary-image-opacity: 1;
    }
  }
/* END_SNIPPET:resource-card */

/* START_SNIPPET:search-modal (INDEX:289) */
/* Search modal style */
  .search-modal {
    --search-border-radius: var(--style-border-radius-popover);
    --search-border-width: var(--style-border-width);
  }

  .search-modal__button {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .search-modal__content {
    /* Approx set the top so when the content is at max height, the modal is centered */
    --modal-top-margin: calc(50dvh - var(--modal-max-height) / 2 - 2rem);
    --modal-width: 66dvw;

    padding: 0;

    @media screen and (width >= 750px) {
      width: var(--modal-width);
      margin-block-start: var(--modal-top-margin);
      overflow: hidden;
    }
  }

  /* Hide the default dialog backdrop on small screens */
  @media screen and (width < 750px) {
    .search-modal__content::backdrop {
      display: none;
    }
  }

  .dialog-modal[open].search-modal__content {
    transform-origin: bottom center;
    animation: search-element-slide-in-bottom 300ms var(--ease-out-quad) forwards;
    border-radius: var(--search-border-radius);
    box-shadow: var(--shadow-popover);

    @media screen and (width < 750px) {
      border-radius: 0;
    }
  }

  .dialog-modal.search-modal__content.dialog-closing {
    animation: search-element-slide-out-bottom 200ms var(--ease-out-quad) forwards;
  }

  .search-modal__content[open] {
    display: flex;
  }

  .search-modal__content :is(.predictive-search-dropdown, .predictive-search-form__content-wrapper) {
    position: relative;
  }

  /* Predictive search header tweaks for small screens */
  @media screen and (width < 750px) {
    .dialog-modal
      .predictive-search-form__header:has(
        .predictive-search__reset-button:not(.predictive-search__reset-button[hidden])
      )::before {
      content: '';
      position: absolute;
      right: calc(var(--padding-sm) + var(--minimum-touch-target));
      top: 0;
      bottom: 0;
      width: var(--border-width-sm);
      background-color: var(--color-border);
    }

    .dialog-modal
      .predictive-search-form__header:has(
        .predictive-search__reset-button:not(.predictive-search__reset-button[hidden])
      )
      > .predictive-search__close-modal-button {
      &::before {
        content: none;
      }
    }
  }
/* END_SNIPPET:search-modal */

/* START_SNIPPET:search (INDEX:290) */
.search-action {
    --search-border-radius: var(--style-border-radius-inputs);
    --search-border-width: var(--style-border-width-inputs);

    display: flex;
  }

  .header__column--center .search-action {
    width: auto;
    flex-grow: 1;
  }

  :is(.header__column--left, .header__column--center) .search-action {
    @media screen and (width >= 750px) {
      margin-inline: calc(var(--padding-lg) * -1);
    }
  }

  .header__column--right .search-action {
    @media screen and (width >= 750px) {
      margin-inline: calc(var(--gap-md) * -1) calc(var(--gap-xs) * -1);
    }
  }
/* END_SNIPPET:search */

/* START_SNIPPET:section (INDEX:291) */
.section-wrapper {
    --section-height-offset: 0px;
  }

  .section[data-shopify-visual-preview] {
    min-height: var(--section-preview-height);
    padding-top: 0;
  }

  .section[data-shopify-visual-preview] .custom-section-background {
    display: none;
  }

  body:has(> #header-group > .header-section > #header-component[transparent]):not(
      :has(> #header-group > .header-section + .shopify-section)
    )
    > main
    > .section-wrapper:first-child {
    --section-height-offset: var(--header-group-height, 0);
  }

  .custom-section-background {
    grid-column: 1 / -1;
  }

  .custom-section-content {
    z-index: var(--layer-flat);
  }
/* END_SNIPPET:section */

/* START_SNIPPET:sorting (INDEX:299) */
.sorting-filter__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: var(--drawer-padding) 0;
    padding-block: var(--padding-sm);
    margin-inline-end: var(--margin-md);
    position: relative;
  }

  .sorting-filter__container .facets__label {
    font-size: var(--font-h4--size);
  }

  .sorting-filter__select-wrapper {
    display: flex;
    position: relative;
    border-radius: var(--variant-picker-button-radius);
    align-items: center;
    overflow: clip;
    padding: var(--padding-2xs) var(--padding-xs);
  }

  .sorting-filter__select-wrapper:has(:focus-visible) {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }

  .sorting-filter__select-wrapper:has(:focus-visible) .sorting-filter__select {
    outline: none;
  }

  .sorting-filter__container .sorting-filter__select {
    appearance: none;
    border: 0;
    margin: 0;
    cursor: pointer;
    width: 100%;
    padding-inline-end: var(--icon-size-2xs);
    text-align: right;
    /* Needed for Safari */
    text-align-last: right;
  }

  .sorting-filter__select .icon {
    position: absolute;
    right: var(--padding-md);
    top: 50%;
    transform: translateY(-50%);
    width: var(--icon-size-2xs);
    height: var(--icon-size-2xs);
    pointer-events: none;
  }

  .sorting-filter {
    @media screen and (width >= 750px) {
      z-index: var(--facets-upper-z-index);
    }
  }

  .sorting-filter__options {
    display: flex;
    right: 0;
    flex-direction: column;
    gap: var(--margin-3xs);
    padding: calc(var(--drawer-padding) / 2);
    color: var(--color-foreground);
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;

    &::-webkit-scrollbar {
      display: none;
    }
  }

  .sorting-filter__option {
    display: grid;
    grid-template-columns: var(--icon-size-sm) 1fr;
    gap: var(--margin-2xs);
    min-width: 180px;
    padding: var(--padding-2xs) calc(var(--drawer-padding) / 2) var(--padding-2xs) var(--padding-2xs);
    cursor: pointer;

    &:hover {
      border-radius: calc(var(--style-border-radius-popover) / 2);
      background-color: rgb(from var(--color-foreground) r g b / 8%);
    }
  }

  .sorting-filter__input {
    display: none;

    &:checked + .sorting-filter__checkmark + .sorting-filter__label {
      font-weight: 500;
    }
  }

  .sorting-filter__checkmark {
    visibility: hidden;
  }

  *:checked ~ .sorting-filter__checkmark {
    visibility: visible;
  }

  .sorting-filter__label {
    cursor: pointer;
    pointer-events: none;
  }

  .facets-toggle--no-filters .sorting-filter__select-wrapper {
    @media screen and (width < 750px) {
      padding-inline-start: 0;
    }
  }

  .facets-mobile-wrapper .sorting-filter .facets__panel {
    padding-inline: 0;
    position: relative;
  }

  .facets-mobile-wrapper .sorting-filter .facets__status {
    display: none;
  }

  .facets-mobile-wrapper:has(> :nth-child(2)) .sorting-filter .sorting-filter__options {
    left: 0;
    right: unset;
  }

  .facets-mobile-wrapper .sorting-filter .facets__label {
    margin-inline-end: var(--margin-2xs);
    font-size: var(--font-paragraph--size);
    color: var(--color-foreground-muted);
  }

  .facets-mobile-wrapper .sorting-filter__options {
    border-radius: var(--style-border-radius-popover);
    position: absolute;
    top: 0;
    right: 0;
    width: max-content;
    min-width: var(--facets-panel-min-width);
    max-width: var(--facets-panel-width);
    max-height: var(--facets-panel-height);
    z-index: var(--facets-upper-z-index);
    box-shadow: var(--shadow-popover);
    border: var(--style-border-popover);
    background-color: var(--color-background);
    overflow-y: hidden;
    padding: var(--padding-sm);
    gap: var(--gap-sm);
  }

  .facets-toggle .sorting-filter__container {
    @media screen and (width < 750px) {
      padding: 0;
    }
  }

  .facets-toggle .sorting-filter__container .facets__label {
    @media screen and (width < 750px) {
      display: none;
    }
  }

  .facets-toggle .sorting-filter::before {
    @media screen and (width < 750px) {
      display: none;
    }
  }

  .facets--drawer .sorting-filter {
    @media screen and (width >= 750px) {
      display: none;
    }
  }

  .sorting-filter__options {
    block-size: 0;
    overflow-y: clip;
    opacity: 0;
    interpolate-size: allow-keywords;
    transition: content-visibility var(--animation-speed-slow) allow-discrete,
      padding-block var(--animation-speed-slow) var(--animation-easing),
      opacity var(--animation-speed-slow) var(--animation-easing),
      block-size var(--animation-speed-slow) var(--animation-easing);
  }

  details[open] .sorting-filter__options {
    opacity: 1;
    block-size: auto;

    @starting-style {
      block-size: 0;
      opacity: 0;
      overflow-y: clip;
    }

    &:focus-within {
      overflow-y: visible;
    }
  }
/* END_SNIPPET:sorting */

/* START_SNIPPET:text (INDEX:307) */
:root {
    --text-align-default: left;
  }

  [style*='--horizontal-alignment: center'] .text-block {
    --text-align-default: center;
  }

  [style*='--horizontal-alignment: flex-end'] .text-block {
    --text-align-default: right;
  }

  [style*='--horizontal-alignment: flex-start'] > .text-block {
    --text-align-default: left;
  }

  [style*='--horizontal-alignment: center'] > .text-block {
    --text-align-default: center;
  }

  [style*='--horizontal-alignment: flex-end'] > .text-block {
    --text-align-default: right;
  }

  .text-block {
    width: var(--width);
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: var(--horizontal-alignment);
  }

  .text-block > * {
    width: var(--width);
    max-width: var(--max-width, 100%);
    text-align: var(--text-align, var(--text-align-default));
    text-wrap: var(--text-wrap);
  }

  .text-block:not(.text-block--full-width).rte,
  .text-block:not(.text-block--full-width).paragraph {
    /* Safari doesn't support pretty, so fallback to balance */
    text-wrap: balance;
    text-wrap: pretty;
  }

  .text-block:not(.text-block--full-width):is(.h1, .h2, .h3, .h4, .h5, .h6) {
    text-wrap: balance;
  }

  /* Hide underline unless text is using paragraph styles. */
  .text-block:is(.h1, .h2, .h3, .h4, .h5, .h6) a {
    text-decoration-color: transparent;
  }

  .text-block h1,
  .text-block.h1 > * {
    margin-block: var(--font-h1--spacing);
  }

  .text-block h2,
  .text-block.h2 > * {
    margin-block: var(--font-h2--spacing);
  }

  .text-block h3,
  .text-block.h3 > * {
    margin-block: var(--font-h3--spacing);
  }

  .text-block h4,
  .text-block.h4 > * {
    margin-block: var(--font-h4--spacing);
  }

  .text-block h5,
  .text-block.h5 > * {
    margin-block: var(--font-h5--spacing);
  }

  .text-block h6,
  .text-block.h6 > * {
    margin-block: var(--font-h6--spacing);
  }

  .text-block p,
  .text-block.p > * {
    margin-block: var(--font-paragraph--spacing);
  }

  .text-block > *:first-child {
    margin-block-start: 0;
  }

  .text-block > *:last-child {
    margin-block-end: 0;
  }

  .text-block--align-center,
  .text-block--align-center > * {
    margin-inline: auto;
  }

  .text-block--align-right,
  .text-block--align-right > * {
    margin-inline-start: auto;
  }

  .text-block--background {
    background-color: var(--text-background-color);
    border-radius: var(--text-corner-radius);

    /* To avoid text being cropped when using a border radius we add a minimum padding. */
    padding-block-start: max(var(--text-padding), var(--padding-block-start, 0));
    padding-block-end: max(var(--text-padding), var(--padding-block-end, 0));
    padding-inline-start: max(var(--text-padding), var(--padding-inline-start, 0));
    padding-inline-end: max(var(--text-padding), var(--padding-inline-end, 0));
  }

  .custom-color,
  .custom-color > :is(h1, h2, h3, h4, h5, h6, p, *) {
    color: var(--color);
  }
/* END_SNIPPET:text */

/* START_SNIPPET:variant-main-picker (INDEX:315) */
.variant-picker {
    width: 100%;
  }

  .variant-picker__form {
    display: flex;
    flex-direction: column;
    gap: var(--padding-lg);
    width: 100%;
  }

  .variant-picker[data-shopify-visual-preview] {
    min-width: 300px;
    padding-inline-start: max(4px, var(--padding-inline-start));
  }

  .variant-option {
    --options-border-radius: var(--variant-picker-button-radius);
    --options-border-width: var(--variant-picker-button-border-width);
    --variant-option-padding-inline: var(--padding-md);
  }

  .variant-option--swatches {
    --options-border-radius: var(--variant-picker-swatch-radius);

    width: 100%;
  }

  .variant-option--swatches-disabled {
    pointer-events: none;
    cursor: not-allowed;
  }

  .variant-option--swatches > overflow-list {
    justify-content: var(--product-swatches-alignment);

    @media (width < 750px) {
      justify-content: var(--product-swatches-alignment-mobile);
    }
  }

  .variant-option--buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-sm);
    margin: 0;
    padding: 0;
    border: none;
  }

  .variant-option--buttons legend {
    padding: 0;
    margin-block-end: var(--margin-xs);
  }

  .variant-option__swatch-value {
    padding-inline-start: var(--padding-xs);
    color: rgba(from var(--color-foreground) r g b / 70%);
  }

  .variant-option__button-label {
    --variant-picker-stroke-color: var(--color-variant-border);

    display: flex;
    flex: 0 0 calc(3ch + 1.3em);
    align-items: center;
    position: relative;
    padding-block: var(--padding-sm);
    padding-inline: var(--padding-lg);
    border: var(--style-border-width) solid var(--color-variant-border);
    border-radius: var(--options-border-radius);
    border-width: var(--options-border-width);
    overflow: clip;
    justify-content: center;
    min-height: calc(3ch + 1.3em);
    min-width: fit-content;
    white-space: nowrap;
    background-color: var(--color-variant-background);
    color: var(--color-variant-text);
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);

    &:hover {
      background-color: var(--color-variant-hover-background);
      border-color: var(--color-variant-hover-border);
      color: var(--color-variant-hover-text);
    }

    @media screen and (width >= 750px) {
      padding: var(--padding-xs) var(--variant-option-padding-inline);
    }
  }

  .variant-option__button-label__text {
    text-align: left;
    text-wrap: auto;
  }

  .variant-option--equal-width-buttons {
    --variant-min-width: clamp(44px, calc(var(--variant-option-padding-inline) * 2 + var(--variant-ch)), 100%);

    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--variant-min-width), 1fr));

    .variant-option__button-label {
      min-width: var(--variant-min-width);
    }

    .variant-option__button-label__text {
      text-align: center;
      text-wrap: balance;
    }
  }

  .variant-option__button-label:has(:focus-visible) {
    --variant-picker-stroke-color: var(--color-foreground);

    border-color: var(--color-foreground);
    outline: var(--focus-outline-width) solid var(--color-foreground);
    outline-offset: var(--focus-outline-offset);
  }

  .variant-option__button-label--has-swatch {
    padding: 0;
    border: none;
    display: block;
    flex-basis: auto;
    min-height: auto;
  }

  .variant-option__button-label:has(:checked) {
    color: var(--color-selected-variant-text);
    background-color: var(--color-selected-variant-background);
    border-color: var(--color-selected-variant-border);
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);

    &:hover {
      background-color: var(--color-selected-variant-hover-background);
      border-color: var(--color-selected-variant-hover-border);
      color: var(--color-selected-variant-hover-text);
    }
  }

  .variant-option__button-label:has([data-option-available='false']) {
    color: rgba(from var(--color-variant-text) r g b / 60%);
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:hover .swatch {
    outline: var(--focus-outline-width) solid rgba(from var(--color-foreground) r g b / 30%);
    outline-offset: var(--focus-outline-offset);
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label:has(:focus-visible) .swatch {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label:has(:focus-visible) {
    outline: none;
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:hover {
    outline: none;
  }

  .variant-option__button-label--has-swatch:hover {
    outline: var(--focus-outline-width) solid rgba(from var(--color-foreground) r g b / 30%);
    outline-offset: var(--focus-outline-offset);
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:has(:checked) {
    outline: none;
  }

  .facets__inputs-list--swatches-grid .variant-option__button-label--has-swatch:has(:checked) .swatch {
    outline: var(--focus-outline-width) solid var(--color-foreground);
    outline-offset: var(--focus-outline-offset);
  }

  .variant-option__button-label--has-swatch:has(:checked) {
    outline: var(--focus-outline-width) solid var(--color-foreground);
    outline-offset: var(--focus-outline-offset);
  }

  .variant-option__button-label:has([data-option-available='false']):has(:checked) {
    --variant-picker-stroke-color: rgba(from var(--color-variant-text) r g b / 60%);

    background-color: inherit;
    color: rgba(from var(--color-variant-text) r g b / 60%);
    border-color: var(--color-selected-variant-border);
  }

  .variant-option__button-label input,
  .variant-option--images input {
    /* remove the checkbox from the page flow */
    position: absolute;

    /* set the dimensions to match those of the label */
    inset: 0;

    /* hide it */
    opacity: 0;
    margin: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
  }

  .variant-option__button-label svg {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    pointer-events: none;
    stroke-width: var(--style-border-width);
    stroke: var(--variant-picker-stroke-color);
  }

  .variant-option__select-wrapper {
    display: flex;
    position: relative;
    border: var(--style-border-width-inputs) solid var(--color-border);
    border-radius: var(--style-border-radius-inputs);
    align-items: center;
    margin-top: var(--margin-2xs);
    overflow: clip;
    transition: background-color var(--animation-speed) var(--animation-easing),
      border-color var(--animation-speed) var(--animation-easing);
  }

  .variant-option__select-wrapper:has(.swatch) {
    --variant-picker-swatch-width: 20px;
    --variant-picker-swatch-height: 20px;
  }

  .variant-option__select-wrapper:hover {
    border-color: var(--color-variant-hover-border);
  }

  .variant-option__select:focus-visible {
    outline: var(--focus-outline-width) solid currentcolor;
    outline-offset: var(--focus-outline-offset);
  }

  .variant-option__select {
    padding-block: var(--padding-md);
    padding-inline: var(--padding-lg) calc(var(--padding-lg) + var(--icon-size-2xs));
    appearance: none;
    border: 0;
    width: 100%;
    margin: 0;
    cursor: pointer;
  }

  .variant-option__select-wrapper .icon {
    position: absolute;
    right: var(--padding-md);
    top: 50%;
    transform: translateY(-50%);
    width: var(--icon-size-2xs);
    height: var(--icon-size-2xs);
    pointer-events: none;
  }

  .variant-option__select--has-swatch {
    padding-inline-start: calc((2 * var(--padding-sm)) + var(--variant-picker-swatch-width));
  }

  .variant-option__select-wrapper .swatch {
    position: absolute;
    top: 50%;
    left: var(--padding-md);
    transform: translateY(-50%);
  }

  .variant-picker--center,
  .variant-picker--center .variant-option {
    text-align: center;
    align-items: center;
    justify-content: center;
    width: 100%;
  }

  .variant-picker--right,
  .variant-picker--right .variant-option {
    text-align: right;
    justify-content: right;
  }
/* END_SNIPPET:variant-main-picker */

/* START_SNIPPET:video (INDEX:319) */
.video-interaction-hint {
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: var(--layer-flat);
  }

  .video-interaction-hint:hover {
    opacity: 1;
  }
/* END_SNIPPET:video */