/** Shopify CDN: Minification failed

Line 6119:0 Unexpected "#"
Line 6119:2 Unexpected "{"
Line 6119:11 Expected ":"
Line 6120:2 Unexpected "#"
Line 6120:4 Unexpected "{"
Line 6120:13 Expected ":"
Line 6124:2 Unexpected "#"
Line 6124:4 Unexpected "{"
Line 6124:13 Expected ":"
Line 6129:2 Unexpected "#"
... and 35 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:apps (INDEX:1) */
.apps-section {
    display: grid;
    grid-template-columns: var(--content-grid);
    padding: 2rem 0;
  }

  .apps-section--flush {
    padding: 0;
  }

  .apps-section__content {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
  }
/* END_SECTION:apps */

/* START_SECTION:collection (INDEX:8) */
.collection-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(500px, 1fr));
  }
/* END_SECTION:collection */

/* START_SECTION:collections (INDEX:9) */
.collections {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--collection-card-size), 100%), 1fr));
    gap: var(--grid-gap);
  }
  .collections--compact {
    --collection-card-size: 160px;
  }
  .collections--full {
    --collection-card-size: 280px;
  }
  .collection-card {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
/* END_SECTION:collections */

/* START_SECTION:custom-section (INDEX:10) */
.custom-section {
    position: relative;
    overflow: hidden;
    width: 100%;
  }
  .custom-section__background {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
  }
  .custom-section__background img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .custom-section__content {
    display: grid;
    grid-template-columns: var(--content-grid);
  }
  .custom-section__content > * {
    grid-column: 2;
  }
/* END_SECTION:custom-section */

/* START_SECTION:footer (INDEX:11) */
.odaki-footer {
    border-top: 1px solid var(--color-border, #e8e8e8);
    background: var(--color-background, #fff);
    color: var(--color-text-primary, #111);
    padding: 1.75rem clamp(1.25rem, 4vw, 3rem) 2rem;
  }

  .odaki-footer__inner {
    max-width: none;
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .odaki-footer__legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.5rem 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0);
  }

  .odaki-footer__legal-link {
    font-size: var(--font-size-xs, 0.75rem);
    font-weight: var(--font-weight-medium, 500);
    letter-spacing: var(--letter-spacing-caps, 0.1em);
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-text-primary, #111);
    transition: opacity 150ms ease;
  }

  .odaki-footer__legal-link:hover,
  .odaki-footer__legal-link:focus-visible {
    opacity: 0.55;
  }

  .odaki-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    text-align: left;
  }

  .odaki-footer__copyright {
    margin: 0;
    font-size: var(--font-size-xs, 0.75rem);
    letter-spacing: var(--letter-spacing-body, 0.01em);
    color: var(--color-text-secondary, #666);
  }

  .odaki-footer__payment {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
  }

  .odaki-footer__payment-icon {
    width: auto;
    height: 1.5rem;
  }
/* END_SECTION:footer */

/* START_SECTION:gempages-hero-section (INDEX:12) */
.gp-hero {
    position: relative; overflow: hidden; min-height: var(--gp-hero-min-h, 85vh);
    display: flex; align-items: center; justify-content: center; color: var(--gp-hero-text, #fff);
    grid-column: 1 / -1; width: 100%;
  }
  .gp-hero__media { position: absolute; inset: 0; z-index: 0; }
  .gp-hero__image, .gp-hero__video, .gp-hero__placeholder { width: 100%; height: 100%; object-fit: cover; display: block; }
  .gp-hero__placeholder { background: #111; }
  .gp-hero__overlay { position: absolute; inset: 0; background: rgba(0,0,0,var(--gp-hero-overlay,.4)); }
  .gp-hero__content { position: relative; z-index: 2; max-width: 720px; padding: 2rem 1.5rem; text-align: var(--gp-hero-align,center); margin-inline: auto; }
  .gp-hero__eyebrow { margin: 0 0 1rem; font-size: .6875rem; letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
  .gp-hero__heading { margin: 0 0 1rem; font-size: clamp(2rem,6vw,4.5rem); font-weight: 300; letter-spacing: .06em; line-height: 1.05; text-transform: uppercase; }
  .gp-hero__subheading { margin: 0 0 2rem; font-size: clamp(.875rem,2vw,1.125rem); line-height: 1.6; opacity: .9; max-width: 36rem; margin-inline: auto; }
  .gp-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
  .gp-hero__btn { display: inline-flex; padding: .875rem 2rem; font-size: .6875rem; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; transition: opacity .25s; }
  .gp-hero__btn--primary { background: #fff; color: #111; }
  .gp-hero__btn--ghost { background: transparent; color: inherit; border: 1px solid currentColor; }
  .gp-hero__btn--static { cursor: default; opacity: .72; }
  .gp-hero__btn:hover { opacity: .85; }
  @media (max-width:767px) { .gp-hero { min-height: max(70vh,480px); } }
/* END_SECTION:gempages-hero-section */

/* START_SECTION:gempages-marquee-section (INDEX:13) */
.gp-marquee { display:flex; overflow:hidden; background:var(--gpmq-bg,#111); color:var(--gpmq-color,#fff); padding:.875rem 0; white-space:nowrap; grid-column:1/-1; width:100%; }
  .gp-marquee__track { display:flex; flex-shrink:0; animation:gp-marquee-scroll var(--gpmq-speed,28s) linear infinite; }
  .gp-marquee__item { padding-inline:2rem; font-size:.6875rem; letter-spacing:.2em; text-transform:uppercase; }
  .gp-marquee__dot { opacity:.35; padding-inline-start:2rem; font-size:.5rem; }
  @keyframes gp-marquee-scroll { from{transform:translateX(0)} to{transform:translateX(-100%)} }
/* END_SECTION:gempages-marquee-section */

/* START_SECTION:gempages-products-5-section (INDEX:14) */
.gp-products-5 {
    background: var(--gp5-bg,#fff); color: var(--gp5-tx,#111);
    padding-top: var(--gp5-pt,0); padding-bottom: var(--gp5-pb,0);
    grid-column: 1 / -1; width: 100%;
  }
  .gp5__header {
    width: 100%;
    padding-bottom: 2.5rem;
  }

  .gp5__header-track {
    position: relative;
    width: 100%;
    min-height: 1.25em;
  }

  .gp5__view-all-wrap {
    position: absolute;
    top: 0;
    right: 0;
  }
  .gp5__view-all { font-size: .75rem; letter-spacing: .15em; text-transform: uppercase; color: inherit; opacity: .5; text-decoration: none; border-bottom: 1px solid currentColor; }
  .gp5__grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 2px; width: 100%; }
  .gp5__card { position: relative; display: flex; flex-direction: column; overflow: hidden; min-width: 0; }
  .gp5__card--1 { grid-column: span 4; grid-row: span 2; }
  .gp5__card--2 { grid-column: span 2; grid-row: 1; }
  .gp5__card--3 { grid-column: span 2; grid-row: 2; }
  .gp5__card--4, .gp5__card--5 { grid-column: span 3; }
  .gp5__media { position: relative; overflow: hidden; flex-shrink: 0; background: color-mix(in srgb,var(--gp5-bg,#fff) 94%,var(--gp5-tx,#111) 6%); }
  .gp5__card--1 .gp5__media { min-height: 640px; height: 100%; }
  .gp5__card--2 .gp5__media, .gp5__card--3 .gp5__media { aspect-ratio: 3/4; }
  .gp5__card--4 .gp5__media, .gp5__card--5 .gp5__media { aspect-ratio: 5/4; }
  .gp5__media-link { display: block; position: relative; width: 100%; height: 100%; }
  .gp5__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .6s ease, opacity .5s ease; }
  .gp5__img--secondary { position: absolute; inset: 0; opacity: 0; transform: scale(1.04); }
  .gp5__card:hover .gp5__img--primary { opacity: 0; transform: scale(1.04); }
  .gp5__card:hover .gp5__img--secondary { opacity: 1; transform: scale(1); }
  .gp5__card:not(:has(.gp5__img--secondary)):hover .gp5__img--primary { opacity: 1; transform: scale(1.05); }
  .gp5__info { padding: 1rem; position: relative; overflow: hidden; }
  .gp5__card--1 .gp5__info { padding: 1.5rem; }
  .gp5__vendor { margin: 0; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; opacity: .45; }
  .gp5__name { margin: 0; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
  .gp5__name a { color: inherit; text-decoration: none; }
  .gp5__price-row { display: flex; gap: .35rem; align-items: baseline; }
  .gp5__price { font-size: .75rem; }
  .gp5__price-compare { font-size: 10px; opacity: .4; text-decoration: line-through; }
  .gp5__badge { position: absolute; top: .5rem; left: .5rem; z-index: 2; padding: 3px 7px; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; background: var(--gp5-tx,#111); color: var(--gp5-bg,#fff); }
  .gp5__placeholder { min-height: 200px; display: flex; align-items: center; justify-content: center; height: 100%; }
  @media (max-width:991px) {
    .gp5__grid { grid-template-columns: 1fr; }
    .gp5__card--1,.gp5__card--2,.gp5__card--3,.gp5__card--4,.gp5__card--5 { grid-column: 1; grid-row: auto; height: auto; }
    .gp5__card--1 .gp5__media { min-height: unset; height: auto; aspect-ratio: 3/4; }
    .gp5__card--1 .gp5__info { padding: 0.65rem 1rem 0.75rem; }
    .gp5__info-main { display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; }
    .gp5__info-copy { flex: 1 1 auto; min-width: 0; }
  }
/* END_SECTION:gempages-products-5-section */

/* START_SECTION:gempages-trust-bar-section (INDEX:16) */
.gp-trust { background:var(--gptr-bg,#f9f9f9); color:var(--gptr-color,#111); padding-top:var(--gptr-pt,24px); padding-bottom:var(--gptr-pb,24px); border-block:1px solid rgba(0,0,0,.06); grid-column:1/-1; width:100%; }
  .gp-trust__grid { max-width:var(--container-max-width,1400px); margin:0 auto; padding-inline:var(--container-padding-x,20px); display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1.5rem; }
  .gp-trust__item { display:flex; align-items:center; gap:.75rem; justify-content:center; }
  .gp-trust__icon { width:20px; height:20px; flex-shrink:0; }
  .gp-trust__icon svg { width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.5; }
  .gp-trust__label { font-size:.6875rem; letter-spacing:.12em; text-transform:uppercase; }
/* END_SECTION:gempages-trust-bar-section */

/* START_SECTION:header (INDEX:18) */
header {
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  header a {
    position: relative;
    text-decoration: none;
    color: var(--color-foreground);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  header a sup {
    position: absolute;
    left: 100%;
    overflow: hidden;
    max-width: var(--page-margin);
  }
  header svg,
  header .header__icon svg {
    width: 1.25rem;
    height: 1.25rem;
    max-width: 1.25rem;
    flex-shrink: 0;
  }
  header .header__menu,
  header .header__icons {
    display: flex;
    gap: 1rem;
  }
/* END_SECTION:header */

/* START_SECTION:hello-world (INDEX:19) */
.welcome {
    display: grid;
    grid-template-columns: var(--content-grid);
    background-color: #f6f6f7;
    padding: 72px 0;
  }

  .welcome-content {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 0 24px;
  }

  .welcome-description {
    max-width: 80ch;
    line-height: 1.4;
    margin-top: 1.5rem;
  }

  .icon {
    width: 300px;
  }

  .highlights {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 50px;
  }

  @media (max-width: 1100px) {
    .highlights {
      grid-template-columns: 1fr;
    }
  }

  .highlight {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
    border-radius: 8px;
    background-color: #eef3ff;
    color: rgb(92, 95, 98);
    line-height: 1.4;
  }

  .highlight > * + * {
    margin-top: 1rem;
  }

  .highlight h3 {
    font-size: 1rem;
    color: rgb(32, 34, 35);
  }

  .highlight-description {
    flex: 1 1;
  }

  .highlight a {
    display: flex;
    width: fit-content;
    background-color: rgb(250, 251, 251);
    box-shadow: rgba(0, 0, 0, 0.2) 0px -3px 0px 0px inset, rgba(255, 255, 255, 0.9) 0px 2px 0px 0px inset;
    border: 1px solid rgb(140, 145, 150);
    border-radius: 4px;
    color: rgb(92, 95, 98);
    padding: 3px 10px 5px;
    text-decoration: none;
  }
/* END_SECTION:hello-world */

/* START_SECTION:main-policy (INDEX:21) */
/* Rompe el grid estrecho de .shopify-section en plantillas de política */
  .shopify-section:has(> .odaki-policy) {
    display: block;
  }

  .odaki-policy {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(1.5rem, 4vw, 3rem) var(--page-margin, 20px) clamp(3rem, 8vw, 5rem);
    box-sizing: border-box;
    text-align: left;
  }

  .odaki-policy__nav {
    width: 100%;
    margin: 0 0 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-border, #e8e8e8);
  }

  .odaki-policy__nav-title {
    margin: 0 0 0.75rem;
    font-size: var(--font-size-xs, 0.75rem);
    font-weight: var(--font-weight-medium, 500);
    letter-spacing: var(--letter-spacing-caps, 0.1em);
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
  }

  .odaki-policy__nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .odaki-policy__nav-list li {
    margin: 0;
  }

  .odaki-policy__nav-link {
    display: inline-block;
    padding: 0.45rem 0.85rem;
    font-size: var(--font-size-sm, 0.875rem);
    font-weight: var(--font-weight-medium, 500);
    line-height: 1.3;
    text-decoration: none;
    color: var(--color-text-primary, #111);
    background: var(--color-background, #fff);
    border: 1px solid var(--color-border, #e8e8e8);
    border-radius: 999px;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
  }

  .odaki-policy__nav-link:hover,
  .odaki-policy__nav-link:focus-visible {
    border-color: var(--color-text-primary, #111);
  }

  .odaki-policy__nav-link.is-active {
    color: var(--color-background, #fff);
    background: var(--color-text-primary, #111);
    border-color: var(--color-text-primary, #111);
  }

  .odaki-policy__article {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .odaki-policy__header {
    width: 100%;
    margin: 0 0 1.5rem;
    text-align: left;
  }

  .odaki-policy__title {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: var(--font-weight-bold, 700);
    line-height: var(--line-height-tight, 1.15);
    letter-spacing: var(--letter-spacing-heading, 0.08em);
    text-transform: uppercase;
    text-align: left;
  }

  .odaki-policy__body {
    width: 100%;
    max-width: none;
    margin: 0;
    font-size: var(--font-size-base, 1rem);
    line-height: var(--line-height-loose, 1.8);
    color: var(--color-text-primary, #111);
    text-align: left;
  }

  .odaki-policy__body > *,
  .odaki-policy__body .rte,
  .odaki-policy__body div,
  .odaki-policy__body table {
    max-width: none !important;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }

  .odaki-policy__body p,
  .odaki-policy__body li,
  .odaki-policy__body h2,
  .odaki-policy__body h3,
  .odaki-policy__body h4 {
    text-align: left;
  }

  .odaki-policy__body p {
    margin: 0 0 1rem;
  }

  .odaki-policy__body h2,
  .odaki-policy__body h3 {
    margin: 1.75rem 0 0.75rem;
    font-size: var(--font-size-md, 1.125rem);
    font-weight: var(--font-weight-bold, 700);
    letter-spacing: var(--letter-spacing-subhead, 0.05em);
  }

  .odaki-policy__body ul,
  .odaki-policy__body ol {
    margin: 0 0 1rem;
    padding-left: 1.25rem;
  }

  /* Anula el layout estrecho que Shopify inyecta por defecto */
  .template-policy .shopify-policy__container,
  .template-policy .shopify-policy__title,
  .template-policy .shopify-policy__body {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  @media screen and (min-width: 990px) {
    .odaki-policy__nav-list {
      gap: 0.75rem;
    }
  }
/* END_SECTION:main-policy */

/* START_SECTION:odaki-catalog-download (INDEX:22) */
.odaki-catalog__inner {
    max-width: min(1240px, 100%);
  }

  .odaki-catalog__grid {
    display: grid;
    gap: 2rem;
    align-items: center;
  }

  @media screen and (min-width: 750px) {
    .odaki-catalog__grid {
      grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
      gap: clamp(2rem, 5vw, 4rem);
    }

    .odaki-catalog--image-right .odaki-catalog__media {
      order: 2;
    }

    .odaki-catalog--image-right .odaki-catalog__content {
      order: 1;
    }
  }

  .odaki-catalog__media {
    width: 100%;
  }

  .odaki-catalog__image {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
  }

  .odaki-catalog__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    text-align: left;
  }

  .odaki-catalog__title {
    margin: 0;
    font-size: clamp(1.125rem, 2.2vw, 1.625rem);
    font-weight: 400;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: 1.25;
  }

  .odaki-catalog__text {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    opacity: 0.78;
    max-width: 28rem;
  }

  .odaki-catalog__text p {
    margin: 0;
  }

  .odaki-catalog__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    min-height: 3.25rem;
    padding: 0 1.75rem;
    border: 1px solid currentColor;
    text-decoration: none;
    color: inherit;
    background: transparent;
    transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
  }

  .odaki-catalog__button:hover,
  .odaki-catalog__button:focus-visible {
    background: #111;
    color: #fff;
    border-color: #111;
    transform: translateY(-1px);
  }

  .odaki-catalog__button-label {
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    line-height: 1.2;
  }

  .odaki-catalog__button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0.9;
  }

  .odaki-catalog__note {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    opacity: 0.55;
  }

  @media screen and (max-width: 749px) {
    .odaki-catalog__content {
      align-items: center;
      text-align: center;
    }

    .odaki-catalog__text {
      max-width: none;
    }
  }
/* END_SECTION:odaki-catalog-download */

/* START_SECTION:odaki-catalog-hub (INDEX:23) */
.odaki-catalog-hub__header {
    margin-bottom: 2rem;
  }

  .odaki-catalog-hub__grid {
    display: grid;
    gap: 2rem;
    align-items: center;
  }

  @media screen and (min-width: 750px) {
    .odaki-catalog-hub__grid {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 3rem;
    }

    .odaki-catalog-hub--image-right .odaki-catalog-hub__media {
      order: 2;
    }

    .odaki-catalog-hub--image-right .odaki-catalog-hub__downloads {
      order: 1;
    }
  }

  .odaki-catalog-hub__media {
    width: 100%;
  }

  .odaki-catalog-hub__image {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    background: #f5f5f5;
  }

  .odaki-catalog-hub__image-placeholder {
    aspect-ratio: 4 / 5;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1rem;
  }

  .odaki-catalog-hub__placeholder-svg {
    width: 40%;
    height: auto;
    opacity: 0.35;
  }

  .odaki-catalog-hub__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .odaki-catalog-hub__item {
    margin: 0;
  }

  .odaki-catalog-hub__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    min-height: 3rem;
    padding: 0.75rem 1.25rem;
    border: 1px solid currentColor;
    text-decoration: none;
    color: inherit;
    background: transparent;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }

  .odaki-catalog-hub__button:hover,
  .odaki-catalog-hub__button:focus-visible {
    background: #111;
    color: #fff;
    border-color: #111;
  }

  .odaki-catalog-hub__button--placeholder {
    opacity: 0.55;
    cursor: default;
  }

  .odaki-catalog-hub__button-label {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-align: left;
    line-height: 1.35;
  }

  .odaki-catalog-hub__button-badge {
    flex-shrink: 0;
    font-size: 0.625rem;
    letter-spacing: 0.12em;
    font-weight: 600;
    padding: 0.2rem 0.45rem;
    border: 1px solid currentColor;
    opacity: 0.85;
  }

  .odaki-catalog-hub__hint {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    opacity: 0.6;
  }
/* END_SECTION:odaki-catalog-hub */

/* START_SECTION:odaki-custom-order (INDEX:24) */
.odaki-order__inner {
    max-width: 40rem;
  }

  .odaki-order__form {
    margin-top: 1.5rem;
  }

  .odaki-order__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .odaki-order__field {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
  }

  .odaki-order__field--full {
    grid-column: 1 / -1;
  }

  .odaki-order__field label {
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.75;
  }

  .odaki-order__field input,
  .odaki-order__field textarea {
    width: 100%;
    padding: 0.75rem 0.875rem;
    border: 1px solid rgba(17, 17, 17, 0.18);
    background: transparent;
    color: inherit;
    font: inherit;
    border-radius: 0;
  }

  .odaki-order__email-wrap {
    position: relative;
  }

  .odaki-order__email-wrap input {
    width: 100%;
  }

  .odaki-order__field-error {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #b42318;
  }

  .odaki-order__field-error[hidden] {
    display: none;
  }

  .odaki-order__submit {
    margin-top: 1.25rem;
    min-height: 2.75rem;
    padding: 0 2rem;
    border: 1px solid currentColor;
    background: transparent;
    color: inherit;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
  }

  .odaki-order__submit:hover:not(:disabled) {
    background: #111;
    color: #fff;
  }

  .odaki-order__feedback {
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
    margin-bottom: 1rem;
  }

  .odaki-order__feedback.is-error {
    background: rgba(180, 40, 40, 0.06);
    border: 1px solid rgba(180, 40, 40, 0.2);
  }

  @media screen and (max-width: 749px) {
    .odaki-order__grid {
      grid-template-columns: 1fr;
    }
  }
/* END_SECTION:odaki-custom-order */

/* START_SECTION:odaki-events (INDEX:25) */
.odaki-events__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.25rem;
  }

  .odaki-events__item {
    display: grid;
    grid-template-columns: 7.5rem 1fr;
    gap: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(17, 17, 17, 0.1);
  }

  .odaki-events__image {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    background: #f5f5f5;
  }

  .odaki-events__date {
    display: block;
    font-size: 0.6875rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.6;
    margin-bottom: 0.25rem;
  }

  .odaki-events__title {
    margin: 0 0 0.375rem;
    font-size: 1rem;
    font-weight: 500;
  }

  .odaki-events__location,
  .odaki-events__description {
    margin: 0 0 0.375rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    opacity: 0.8;
  }

  .odaki-events__link {
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: inherit;
  }

  @media screen and (max-width: 749px) {
    .odaki-events__item {
      grid-template-columns: 1fr;
    }

    .odaki-events__media {
      max-width: 10rem;
    }
  }
/* END_SECTION:odaki-events */

/* START_SECTION:odaki-institutional (INDEX:26) */
.odaki-institutional.odaki-section {
    background: #ffffff;
    color: #111111;
  }

  .odaki-institutional__inner {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 2.5rem;
    align-items: start;
  }

  .odaki-institutional__text {
    margin-top: 1rem;
    font-size: 0.875rem;
    line-height: 1.7;
    color: var(--odaki-fg, #111);
  }

  .odaki-institutional__text :is(p, li, span, strong, em, a) {
    color: inherit;
  }

  .odaki-institutional__text a {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }

  .odaki-institutional .odaki-section__title,
  .odaki-institutional__label,
  .odaki-institutional__contact-list li,
  .odaki-institutional__social-name {
    color: var(--odaki-fg, #111);
  }

  .odaki-institutional__image-wrap {
    margin-top: 1.5rem;
  }

  .odaki-institutional__image {
    width: 100%;
    height: auto;
    display: block;
  }

  .odaki-institutional__label {
    margin: 0 0 0.75rem;
    font-size: 0.6875rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-weight: 500;
  }

  .odaki-institutional__social {
    margin-bottom: 2rem;
  }

  .odaki-institutional__social-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .odaki-institutional__social-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    min-width: 4.5rem;
    color: inherit;
    text-decoration: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  .odaki-institutional__social-link:hover {
    transform: translateY(-2px);
    opacity: 0.9;
  }

  .odaki-institutional__social-link.is-placeholder {
    opacity: 0.45;
    cursor: help;
  }

  .odaki-institutional__social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--odaki-social-size, 44px);
    height: var(--odaki-social-size, 44px);
    border: 1.5px solid var(--odaki-fg, #111);
    border-radius: 999px;
    background: transparent;
    color: var(--odaki-fg, #111);
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
  }

  .odaki-institutional__social-link:hover .odaki-institutional__social-icon {
    background: var(--odaki-fg, #111);
    color: var(--odaki-bg, #fff);
    border-color: var(--odaki-fg, #111);
  }

  .odaki-institutional__social-icon .odaki-social-icon__svg {
    width: calc(var(--odaki-social-size, 44px) * 0.45);
    height: calc(var(--odaki-social-size, 44px) * 0.45);
    display: block;
  }

  .odaki-institutional__social-name {
    font-size: 0.625rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.72;
    text-align: center;
  }

  .odaki-institutional__contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.5rem;
  }

  .odaki-institutional__contact-list a,
  .odaki-institutional__contact-link {
    font-size: 0.875rem;
    color: var(--odaki-fg, #111);
    text-decoration: underline;
    text-underline-offset: 0.2em;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(17, 17, 17, 0.12);
  }

  .odaki-institutional__contact-link:hover,
  .odaki-institutional__contact-link:focus-visible {
    opacity: 0.72;
  }

  .odaki-institutional__contact-list li {
    font-size: 0.875rem;
    line-height: 1.5;
  }

  .odaki-institutional__hours {
    opacity: 0.75;
    font-size: 0.8125rem;
  }

  @media screen and (max-width: 749px) {
    .odaki-institutional__inner {
      grid-template-columns: 1fr;
      gap: 2rem;
    }

    .odaki-institutional__social-list {
      gap: 0.625rem;
    }
  }
/* END_SECTION:odaki-institutional */

/* START_SECTION:odaki-newsletter (INDEX:27) */
.odaki-signup {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--odaki-su-min-height, 420px);
    padding: 3rem 1.5rem;
    text-align: center;
    background: rgb(var(--color-background));
  }

  .odaki-signup__media,
  .odaki-signup__media img {
    overflow: hidden;
  }

  .odaki-signup--no-image {
    background: #f4f2ef;
  }

  .odaki-signup__media {
    position: absolute;
    inset: 0;
    z-index: 1;
  }

  .odaki-signup__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .odaki-signup__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: var(--odaki-su-overlay-color, #ffffff);
    opacity: var(--odaki-su-overlay-opacity, 0.25);
  }

  .odaki-signup__content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 620px;
    color: var(--odaki-su-text-color, #111111);
  }

  .odaki-signup__heading {
    margin: 0 0 1rem;
    font-size: clamp(1.375rem, 3vw, 2rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1.3;
  }

  .odaki-signup__subheading {
    margin: 0 0 1.75rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    opacity: 0.85;
  }

  .odaki-signup__subheading p {
    margin: 0;
  }

  .odaki-signup__form {
    width: 100%;
  }

  .odaki-signup__field-group {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
    max-width: 460px;
    margin: 0 auto;
  }

  .odaki-signup__field {
    position: relative;
    flex: 1;
    min-width: 0;
  }

  .odaki-signup__input {
    width: 100%;
    min-width: 0;
    height: 3rem;
    padding: 0 1.125rem;
    border: 1px solid rgba(17, 17, 17, 0.15);
    border-radius: 2px;
    background: #ffffff;
    color: #111111;
    font-size: 0.875rem;
    outline: none;
    transition: border-color 0.15s ease;
  }

  .odaki-signup__input::placeholder {
    color: rgba(17, 17, 17, 0.45);
  }

  .odaki-signup__input:focus {
    border-color: rgba(17, 17, 17, 0.55);
  }

  .odaki-signup__field .email-suggest__list {
    text-align: center;
  }

  .odaki-signup__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 3rem;
    padding: 0 1.75rem;
    border: 1px solid #111111;
    border-radius: 2px;
    background: #111111;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
  }

  .odaki-signup__button:hover {
    background: #ffffff;
    color: #111111;
  }

  .odaki-signup__message {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
  }

  .odaki-signup__message--success {
    font-weight: 600;
  }

  .odaki-signup__message--error {
    margin-top: 0.75rem;
    color: #b42318;
  }

  .odaki-signup__message--error[hidden] {
    display: none;
  }

  .odaki-signup__disclaimer {
    margin: 1rem 0 0;
    font-size: 0.6875rem;
    opacity: 0.65;
    line-height: 1.5;
  }

  @media screen and (max-width: 749px) {
    .odaki-signup {
      min-height: var(--odaki-su-min-height-mobile, 340px);
      padding: 2.5rem 1.25rem;
    }

    .odaki-signup__field-group {
      flex-direction: column;
    }

    .odaki-signup__button {
      width: 100%;
    }
  }
/* END_SECTION:odaki-newsletter */

/* START_SECTION:odaki-photo-carousel (INDEX:28) */
.odaki-carousel .odaki-carousel__header-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .odaki-carousel .odaki-section__header {
    width: 100%;
    margin-bottom: 0;
  }

  .odaki-carousel__band {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-top: 1.25rem;
    padding-inline: clamp(0.75rem, 2.5vw, 2rem);
  }

  .odaki-carousel__wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .odaki-carousel__stage {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: clamp(0.5rem, 1.5vw, 1rem);
    width: 100%;
    max-width: none;
    margin-inline: auto;
  }

  .odaki-carousel__viewport {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    overflow: hidden;
  }

  .odaki-carousel__track {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding: 0.125rem 0 0.5rem;
    scroll-padding-inline: 50%;
  }

  .odaki-carousel__viewport.is-centered .odaki-carousel__track {
    justify-content: center;
  }

  .odaki-carousel__track::-webkit-scrollbar {
    display: none;
  }

  .odaki-carousel__slide {
    flex: 0 0 var(--carousel-slide-width, 9.75rem);
    scroll-snap-align: center;
    margin: 0;
    position: relative;
    pointer-events: auto;
  }

  .odaki-carousel__trigger {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: zoom-in;
    position: relative;
    text-align: left;
    border-radius: 2px;
    overflow: hidden;
    z-index: 3;
    touch-action: manipulation;
    pointer-events: auto;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }

  .odaki-carousel__trigger:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }

  .odaki-carousel__image {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
    background: #f5f5f5;
    transition: transform 0.25s ease, opacity 0.25s ease;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
  }

  .odaki-carousel__trigger:hover .odaki-carousel__image {
    opacity: 0.94;
    transform: scale(1.02);
  }

  .odaki-carousel__zoom-hint {
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    padding: 0.25rem 0.45rem;
    font-size: 0.5625rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(17, 17, 17, 0.1);
    pointer-events: none;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.2s ease, transform 0.2s ease;
  }

  .odaki-carousel__trigger:hover .odaki-carousel__zoom-hint,
  .odaki-carousel__trigger:focus-visible .odaki-carousel__zoom-hint {
    opacity: 1;
    transform: translateY(0);
  }

  .odaki-carousel__placeholder {
    position: relative;
    aspect-ratio: 4 / 5;
    background: #f5f5f5;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
  }

  .odaki-carousel__image--placeholder {
    width: 40%;
    height: auto;
    aspect-ratio: auto;
    opacity: 0.35;
  }

  .odaki-carousel__placeholder-text {
    margin: 0;
    font-size: 0.75rem;
    opacity: 0.55;
    text-align: center;
    padding: 0 1rem;
  }

  .odaki-carousel__caption {
    margin-top: 0.5rem;
    letter-spacing: 0.04em;
    text-align: center;
    opacity: 0.75;
    max-width: var(--carousel-slide-width, 9.75rem);
    margin-inline: auto;
  }

  .odaki-carousel__icon {
    display: block;
    width: var(--odaki-carousel-icon-size, 1rem);
    height: var(--odaki-carousel-icon-size, 1rem);
    flex-shrink: 0;
    pointer-events: none;
  }

  .odaki-carousel__nav {
    position: relative;
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: calc(var(--carousel-slide-width, 9.75rem) * 1.25 * 0.5 - 1rem);
    z-index: 2;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(17, 17, 17, 0.15);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: inherit;
    cursor: pointer;
    letter-spacing: 0;
    font-family: inherit;
    font-size: 0;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    --odaki-carousel-icon-size: 0.875rem;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
  }

  .odaki-carousel__nav:hover,
  .odaki-carousel__nav:focus-visible {
    background: #111;
    color: #fff;
    border-color: #111;
  }

  .odaki-carousel__dots {
    display: flex;
    justify-content: center;
    gap: 0.375rem;
    width: 100%;
  }

  .odaki-carousel__dots:empty {
    display: none;
  }

  .odaki-carousel__dot {
    width: 0.375rem;
    height: 0.375rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(17, 17, 17, 0.25);
    cursor: pointer;
  }

  .odaki-carousel__dot.is-active {
    background: #111;
    transform: scale(1.2);
  }

  .odaki-carousel__lightbox {
    position: fixed;
    inset: 0;
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    max-height: 100vh;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
    z-index: 99999;
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .odaki-carousel__lightbox.is-open {
    display: flex;
    padding: 1.5rem;
  }

  .odaki-carousel__lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.55);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  html.odaki-carousel-lock {
    overflow: hidden;
  }

  .odaki-carousel__lightbox-close {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 5;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    letter-spacing: 0;
    font-family: inherit;
    font-size: 0;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    --odaki-carousel-icon-size: 1.125rem;
  }

  .odaki-carousel__lightbox-controls {
    position: fixed;
    inset: 0;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 clamp(0.75rem, 2vw, 1.5rem);
    pointer-events: none;
  }

  .odaki-carousel__lightbox-prev,
  .odaki-carousel__lightbox-next {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    letter-spacing: 0;
    font-family: inherit;
    font-size: 0;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    pointer-events: auto;
    --odaki-carousel-icon-size: 1.375rem;
  }

  .odaki-carousel__lightbox-prev { left: auto; }
  .odaki-carousel__lightbox-next { right: auto; }

  .odaki-carousel__lightbox-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: min(92vw, 960px);
    max-height: calc(100vh - 5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
  }

  .odaki-carousel__lightbox-content img {
    pointer-events: auto;
    max-width: 100%;
    max-height: calc(100vh - 5rem);
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: 3px;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
    animation: odaki-carousel-lightbox-in 0.32s ease;
  }

  @keyframes odaki-carousel-lightbox-in {
    from {
      opacity: 0;
      transform: scale(0.94);
    }

    to {
      opacity: 1;
      transform: scale(1);
    }
  }

  .odaki-carousel__lightbox-caption {
    position: relative;
    z-index: 3;
    margin: 0.875rem 0 0;
    max-width: min(92vw, 960px);
    color: #fff;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    text-align: center;
    opacity: 0.9;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
  }

  @media screen and (min-width: 750px) {
    .odaki-carousel__slide {
      flex-basis: var(--carousel-slide-width-md, 12.5rem);
    }

    .odaki-carousel__caption {
      max-width: var(--carousel-slide-width-md, 12.5rem);
    }

    .odaki-carousel__nav {
      margin-top: calc(var(--carousel-slide-width-md, 12.5rem) * 1.25 * 0.5 - 1rem);
    }
  }

  @media screen and (min-width: 990px) {
    .odaki-carousel__slide {
      flex-basis: var(--carousel-slide-width-lg, 16.5rem);
    }

    .odaki-carousel__caption {
      max-width: var(--carousel-slide-width-lg, 16.5rem);
    }

    .odaki-carousel__nav {
      margin-top: calc(var(--carousel-slide-width-lg, 16.5rem) * 1.25 * 0.5 - 1rem);
    }
  }

  @media screen and (max-width: 749px) {
    .odaki-carousel__nav { display: none; }
    .odaki-carousel__lightbox-prev,
    .odaki-carousel__lightbox-next {
      width: 2.25rem;
      height: 2.25rem;
      --odaki-carousel-icon-size: 1.125rem;
    }

    .odaki-carousel__lightbox-close {
      --odaki-carousel-icon-size: 1rem;
    }

    .odaki-carousel__lightbox-controls {
      padding: 0 0.5rem;
    }

    .odaki-carousel__lightbox-content img {
      max-height: calc(100vh - 4.5rem);
    }
  }
/* END_SECTION:odaki-photo-carousel */

/* START_SECTION:product (INDEX:33) */
product-info,
  .section-main-product {
    display: block;
    font-size: 10px;
    line-height: calc(1 + 0.8 / var(--font-body-scale, 1));
    background: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    padding-top: calc(var(--pi-pt, 36px) * 0.75);
    padding-bottom: calc(var(--pi-pb, 12px) * 0.75);
  }

  .product__info-container {
    font-size: 1.5rem;
  }

  @media screen and (min-width: 750px) {
    product-info,
    .section-main-product {
      padding-top: var(--pi-pt, 36px);
      padding-bottom: var(--pi-pb, 12px);
    }
  }

  .section-main-product .page-width {
    max-width: var(--container-max-width, 1400px);
    margin-inline: auto;
    padding-inline: var(--container-padding-x, 20px);
  }

  .section-main-product .grid {
    display: grid;
    gap: clamp(1.5rem, 3vw, 3rem);
    align-items: start;
  }

  .section-main-product .grid--2-col-tablet {
    grid-template-columns: 1fr;
    grid-template-areas: "media" "info";
  }

  /* When the Materiales/Envíos/Medidas tabs render below the gallery, force
     them to appear after the purchase info on mobile (single column), while
     keeping them under the media column on tablet/desktop. */
  .product--has-detail-tabs.grid--2-col-tablet {
    grid-template-areas: "media" "info" "tabs";
  }

  .product__media-wrapper { grid-area: media; }
  .product__info-wrapper { grid-area: info; min-width: 0; }
  .product--has-detail-tabs .pi-detail-tabs { grid-area: tabs; }

  @media screen and (min-width: 750px) {
    .section-main-product .grid--2-col-tablet {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      grid-template-areas: "media info";
    }

    .product--has-detail-tabs.grid--2-col-tablet {
      grid-template-areas: "media info" "tabs info";
    }
  }

  @media screen and (min-width: 990px) {
    .section-main-product .grid--2-col-tablet {
      grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
    }

    .product--small.grid--2-col-tablet { grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr); }
    .product--large.grid--2-col-tablet { grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); }
    .product--right.grid--2-col-tablet { direction: rtl; }
    .product--right.grid--2-col-tablet > * { direction: ltr; }
  }

  .product__column-sticky {
    position: sticky;
    top: calc(var(--header-height, 72px) + 1rem);
  }

  .product__info-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  /* Media gallery */
  .product-media__viewer {
    position: relative;
    background: rgba(0, 0, 0, 0.04);
    aspect-ratio: 4 / 5;
    overflow: hidden;
  }

  .product-media__zoom {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
  }

  .product-media__zoom--fill {
    min-height: 100%;
  }

  .product-media__zoom .product-media__asset {
    width: 100%;
    height: 100%;
    max-height: 100%;
  }

  .product-media__zoom-lens {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    color: #111;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    pointer-events: none;
  }

  .product-media__zoom-lens svg {
    width: 1rem;
    height: 1rem;
    display: block;
  }

  .product-media__column-item .product-media__zoom-lens {
    width: 2rem;
    height: 2rem;
    right: 0.5rem;
    bottom: 0.5rem;
  }

  .product-media__viewer--constrained {
    max-height: calc(100vh - var(--header-height, 72px) - 2rem);
  }

  .product-media__slide { display: none; margin: 0; width: 100%; height: 100%; min-height: inherit; }
  .product-media__slide.is-active { display: block; height: 100%; min-height: inherit; }

  .product-media__asset { width: 100%; height: 100%; display: block; }
  .product-media__asset--cover { object-fit: cover; }
  .product-media__asset--contain { object-fit: contain; }

  .product-media__columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }

  @media screen and (min-width: 750px) {
    .product--color_collage.grid--2-col-tablet {
      align-items: start;
    }
  }

  .product-media__collage-panel[data-photo-index]::after {
    content: none;
  }

  .shopify-design-mode .product-media__collage-panel[data-photo-index]::after {
    content: '#' attr(data-photo-index);
    position: absolute;
    top: 0.375rem;
    left: 0.375rem;
    z-index: 3;
    padding: 0.125rem 0.375rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #111;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 2px;
    pointer-events: none;
  }

  .product-media__color-collage {
    width: 100%;
  }

  .product-media__collage-layout {
    display: block;
    width: 100%;
    position: relative;
  }

  .product-media__collage-mobile-nav {
    display: none;
  }

  .product-media__collage-thumbs {
    display: none !important;
  }

  .product-media__collage-main {
    display: grid;
    gap: 0.375rem;
    width: 100%;
    background: #fff;
    overflow: hidden;
    align-items: stretch;
  }

  .product-media__collage-panel {
    position: relative;
    margin: 0;
    overflow: hidden;
    display: none;
    background: #fff;
    min-width: 0;
    min-height: 0;
  }

  .product-media__collage-panel:not(.is-hidden) {
    display: block;
  }

  .product-media__collage-panel.is-hidden {
    display: none !important;
  }

  .product-media__collage-panel .product-media__zoom {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    cursor: pointer;
  }

  .product-media__collage-panel .product-media__zoom--collage {
    cursor: pointer;
  }

  .product-media__collage-panel .product-media__zoom-lens {
    display: none !important;
  }

  .product-media__collage-panel .product-media__asset {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transform: scale(1);
    transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
  }

  .product-media__collage-panel .product-media__zoom--collage:hover .product-media__asset,
  .product-media__collage-panel .product-media__zoom--collage:focus-visible .product-media__asset {
    transform: scale(1.045);
  }

  .product-media__collage-panel.is-collage-sub .product-media__zoom--collage:hover .product-media__asset,
  .product-media__collage-panel.is-collage-sub .product-media__zoom--collage:focus-visible .product-media__asset {
    transform: scale(1.06) translateY(-1.5%);
  }

  .product-media__collage-panel.is-collage-hero .product-media__zoom--collage:hover .product-media__asset,
  .product-media__collage-panel.is-collage-hero .product-media__zoom--collage:focus-visible .product-media__asset {
    transform: scale(1.035);
  }

  @media (prefers-reduced-motion: reduce) {
    .product-media__collage-panel .product-media__asset {
      transition: none;
    }

    .product-media__collage-panel .product-media__zoom--collage:hover .product-media__asset,
    .product-media__collage-panel .product-media__zoom--collage:focus-visible .product-media__asset {
      transform: none;
    }
  }

  .product-media__collage-main.is-collage-count-1 {
    grid-template-columns: 1fr;
  }

  .product-media__collage-main.is-collage-count-1 .product-media__collage-panel:not(.is-hidden) {
    aspect-ratio: var(--collage-main-ratio, 4 / 5);
  }

  .product-media__collage-main.is-collage-count-3 {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    grid-template-rows: 1fr 1fr;
    aspect-ratio: var(--collage-main-ratio, 4 / 5);
    min-height: 18rem;
  }

  .product-media__collage-main.is-collage-count-3 .product-media__collage-panel.is-collage-hero {
    grid-column: 2;
    grid-row: 1 / span 2;
    aspect-ratio: auto;
    height: 100%;
  }

  .product-media__collage-main.is-collage-count-3 .product-media__collage-panel.is-collage-sub {
    grid-column: 1;
    aspect-ratio: auto;
    height: 100%;
  }

  .product-media__collage-main.is-collage-count-3 .product-media__collage-panel.is-collage-sub-1 {
    grid-row: 1;
  }

  .product-media__collage-main.is-collage-count-3 .product-media__collage-panel.is-collage-sub-2 {
    grid-row: 2;
  }

  .product-media__collage-main.is-collage-count-3 .product-media__collage-panel:not(.is-hidden) {
    aspect-ratio: auto;
    height: 100%;
    min-height: 0;
  }

  .product-media__collage-main.is-collage-count-3 .product-media__collage-panel.is-collage-sub:not(.is-hidden) {
    min-height: 5.5rem;
  }

  .product-media__collage-main.is-collage-count-3 .product-media__collage-panel.is-collage-hero:not(.is-hidden) {
    min-height: 11rem;
  }

  .product-media__collage-main.is-collage-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    aspect-ratio: var(--collage-main-ratio, 4 / 5);
  }

  .product-media__collage-main.is-collage-count-2 .product-media__collage-panel:not(.is-hidden) {
    aspect-ratio: auto;
    height: 100%;
  }

  .product-media__collage-main.is-collage-count-4 {
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    grid-template-rows: 1fr 1fr 1fr;
    aspect-ratio: var(--collage-main-ratio, 4 / 5);
  }

  .product-media__collage-main.is-collage-count-4 .product-media__collage-panel.is-collage-hero {
    grid-column: 2;
    grid-row: 1 / span 3;
    aspect-ratio: auto;
    height: 100%;
  }

  .product-media__collage-main.is-collage-count-4 .product-media__collage-panel.is-collage-sub {
    grid-column: 1;
    aspect-ratio: auto;
    height: 100%;
  }

  .product-media__collage-main.is-collage-count-4 .product-media__collage-panel.is-collage-sub-1 {
    grid-row: 1;
  }

  .product-media__collage-main.is-collage-count-4 .product-media__collage-panel.is-collage-sub-2 {
    grid-row: 2;
  }

  .product-media__collage-main.is-collage-count-4 .product-media__collage-panel.is-collage-sub-3 {
    grid-row: 3;
  }

  .product-media__collage-main.is-collage-count-4 .product-media__collage-panel:not(.is-hidden) {
    aspect-ratio: auto;
    height: 100%;
    min-height: 0;
  }

  .product-media__collage-main.is-collage-count-5 {
    grid-template-columns: minmax(0, 0.425fr) minmax(0, 0.425fr) minmax(0, 1.15fr);
    grid-template-rows: 1fr 1fr;
    aspect-ratio: var(--collage-main-ratio, 4 / 5);
  }

  .product-media__collage-main.is-collage-count-5 .product-media__collage-panel.is-collage-hero {
    grid-column: 3;
    grid-row: 1 / span 2;
    aspect-ratio: auto;
    height: 100%;
  }

  .product-media__collage-main.is-collage-count-5 .product-media__collage-panel.is-collage-sub {
    aspect-ratio: auto;
    height: 100%;
  }

  .product-media__collage-main.is-collage-count-5 .product-media__collage-panel.is-collage-sub-1 {
    grid-column: 1;
    grid-row: 1;
  }

  .product-media__collage-main.is-collage-count-5 .product-media__collage-panel.is-collage-sub-2 {
    grid-column: 2;
    grid-row: 1;
  }

  .product-media__collage-main.is-collage-count-5 .product-media__collage-panel.is-collage-sub-3 {
    grid-column: 1;
    grid-row: 2;
  }

  .product-media__collage-main.is-collage-count-5 .product-media__collage-panel.is-collage-sub-4 {
    grid-column: 2;
    grid-row: 2;
  }

  .product-media__collage-main.is-collage-count-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-media__collage-main.is-collage-count-6 .product-media__collage-panel:not(.is-hidden) {
    aspect-ratio: 3 / 4;
  }

  .product-media__collage-thumb {
    display: none !important;
  }

  .product-media--color_collage .product-media__thumbs,
  .product-media--color_collage .product-media__viewer,
  .product-media--color_collage .product-media__mobile-nav {
    display: none !important;
  }

  .pi-media-index-guide {
    display: none;
    margin-bottom: 1rem;
    padding: 1rem;
    border: 2px dashed rgba(0, 0, 0, 0.2);
    border-radius: 0.5rem;
    background: #fffef5;
  }

  .shopify-design-mode .pi-media-index-guide {
    display: block;
  }

  .pi-media-index-guide__title {
    margin: 0 0 0.25rem;
    font-size: 0.875rem;
    font-weight: 700;
  }

  .pi-media-index-guide__hint {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    opacity: 0.85;
  }

  .pi-media-index-guide__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .pi-media-index-guide__item {
    position: relative;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.12);
  }

  .pi-media-index-guide__num {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    min-width: 1.5rem;
    padding: 0.125rem 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    background: #111;
  }

  .pi-media-index-guide__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .product-media__column-item { aspect-ratio: 4 / 5; overflow: hidden; margin: 0; }

  .product-media--thumbnails_left {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0.75rem;
  }

  .product-media--thumbnails_left .product-media__thumbs {
    flex-direction: column;
    order: -1;
    margin-top: 0;
  }

  .product-media__thumbs {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .product-media__thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    padding: 0;
    border: 2px solid transparent;
    background: #f3f3f3;
    cursor: pointer;
    overflow: hidden;
  }

  .product-media__thumb.is-active { border-color: currentColor; }
  .product-media__thumb-img { width: 100%; height: 100%; object-fit: cover; }

  .product-media--mobile-hide-thumbs .product-media__thumbs { display: none; }

  .product-media {
    position: relative;
  }

  .product-media__mobile-nav {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .product-media--mobile-show-thumbs .product-media__thumbs { display: flex; }
    .product-media--mobile-curated .product-media__viewer--mobile { display: none !important; }
    .product-media--mobile-curated .product-media__mobile-nav--mobile { display: none !important; }
  }

  .product-media__lightbox {
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
  }

  .product-media__lightbox[open] {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .product-media__lightbox::backdrop {
    background: rgba(0, 0, 0, 0.9);
  }

  .product-media__lightbox-close {
    position: fixed;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 3;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #111;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
  }

  .product-media__lightbox-zoom {
    position: fixed;
    right: 0.75rem;
    bottom: 0.75rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    color: #111;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    cursor: pointer;
  }

  .product-media__lightbox-zoom .product-media__zoom-lens {
    position: static;
    width: auto;
    height: auto;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
  }

  .product-media__lightbox-zoom[aria-pressed="true"] {
    background: #111;
    color: #fff;
  }

  .product-media__lightbox-content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 3.5rem 1rem 4rem;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .product-media__lightbox-content img {
    max-width: min(100%, 1100px);
    max-height: min(88dvh, 100%);
    width: auto;
    height: auto;
    object-fit: contain;
    margin: auto;
    cursor: zoom-in;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
    transform-origin: center center;
    touch-action: pan-x pan-y;
  }

  .product-media__lightbox-content img.is-zoomed {
    cursor: zoom-out;
    transform: scale(2);
  }

  /* Blocks */
  .pi-block--text-caption .pi-text {
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    opacity: 0.65;
  }

  .pi-block--text-subtitle .pi-text {
    font-size: 0.875rem;
    opacity: 0.75;
  }

  .pi-block--text-body .pi-text {
    font-size: 0.875rem;
    line-height: 1.6;
  }

  .pi-block--text {
    text-align: var(--pi-text-align, left);
  }

  .product__title .pi-title {
    margin: 0;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-transform: none;
    line-height: 1.25;
    color: rgb(var(--color-foreground));
  }

  .pi-title--small { font-size: 1.6rem; }
  .pi-title--medium { font-size: clamp(2rem, 3vw, 2.8rem); }
  .pi-title--large { font-size: clamp(2.4rem, 3.5vw, 3.2rem); }

  .price.price--large .pi-price__current,
  .pi-price__current {
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.04rem;
  }

  .pi-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.8rem 1rem;
  }

  .pi-price__compare {
    font-size: 1.4rem;
    opacity: 0.55;
  }

  .pi-price__badge {
    font-size: 0.625rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(31, 107, 58, 0.12);
    color: #1f6b3a;
  }

  .pi-sku {
    margin: 0.35rem 0 0;
    font-size: 0.75rem;
    opacity: 0.55;
  }

  .pi-option {
    border: 0;
    margin: 0 0 2rem;
    padding: 0;
  }

  .product-form__input .form__label,
  .pi-option__label {
    display: block;
    margin-bottom: 1rem;
    font-size: 1.3rem;
    font-weight: 400;
    letter-spacing: 0.04rem;
    text-transform: none;
    color: rgb(var(--color-foreground));
  }

  .pi-option__value {
    font-weight: 400;
    text-transform: capitalize;
  }

  .pi-option:has(.pi-option__values--swatches) .pi-option__label {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    margin-bottom: 0.85rem;
    font-size: 0.8125rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-transform: none;
    color: rgba(var(--color-foreground), 0.5);
  }

  .pi-option:has(.pi-option__values--swatches) .pi-option__value {
    color: rgb(var(--color-foreground));
    font-size: inherit;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: capitalize;
  }

  .pi-option:has(.pi-option__values--swatches) .pi-option__value::before {
    content: '·';
    margin-right: 0.35rem;
    color: rgba(var(--color-foreground), 0.28);
  }

  .pi-option__select {
    width: 100%;
    min-height: 4.5rem;
    padding: 0 3rem 0 1.2rem;
    border: 0.1rem solid rgba(var(--color-foreground), 0.2);
    border-radius: 0;
    background-color: rgb(var(--color-background));
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpolyline points='1,1 5,5 9,1' stroke='%23111' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.2rem center;
    color: inherit;
    font-size: 1.4rem;
    appearance: none;
    cursor: pointer;
  }

  .pi-option__select:focus {
    outline: none;
    border-color: rgba(var(--color-foreground), 0.55);
  }

  .pi-option__select option:disabled {
    color: rgba(var(--color-foreground), 0.35);
  }

  .pi-option--dropdown .pi-option__label {
    margin-bottom: 0.75rem;
    font-size: 1.1rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .pi-option__values {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
  }

  .pi-option__values--swatches {
    flex-wrap: wrap;
    overflow-x: visible;
    max-width: 100%;
    padding-bottom: 0.4rem;
    gap: 0.85rem;
  }

  .pi-option__values--pills {
    gap: 0.8rem;
    max-height: none;
    overflow: visible;
  }

  /* Color swatches — circular, centered thick ring on select */
  .pi-swatch {
    --pi-swatch-size: 3rem;
    --pi-swatch-ring-gap: 2px;
    --pi-swatch-ring-width: 3px;
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--pi-swatch-size);
    height: var(--pi-swatch-size);
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    overflow: visible;
    appearance: none;
    -webkit-appearance: none;
    line-height: 0;
    vertical-align: top;
    transition: none;
  }

  .pi-swatch--circle,
  .pi-swatch--circle .pi-swatch__inner,
  .pi-swatch--circle .pi-swatch__img,
  .pi-swatch--circle .pi-swatch__dot {
    border-radius: 50%;
  }

  .pi-swatch--square,
  .pi-swatch--square .pi-swatch__inner,
  .pi-swatch--square .pi-swatch__img,
  .pi-swatch--square .pi-swatch__dot {
    border-radius: 0.4rem;
  }

  .pi-swatch__inner {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: calc(var(--pi-swatch-size) - 0.5rem);
    height: calc(var(--pi-swatch-size) - 0.5rem);
    overflow: hidden;
    border: 1px solid rgba(var(--color-foreground), 0.12);
    box-sizing: border-box;
  }

  .pi-swatch.is-selected .pi-swatch__inner {
    border-color: transparent;
    outline: var(--pi-swatch-ring-width) solid rgb(var(--color-foreground));
    outline-offset: var(--pi-swatch-ring-gap);
  }

  .pi-swatch.is-unavailable {
    cursor: pointer;
  }

  .pi-swatch.is-unavailable .pi-swatch__inner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to top left,
      transparent calc(50% - 0.05rem),
      rgba(var(--color-foreground), 0.55) calc(50% - 0.05rem),
      rgba(var(--color-foreground), 0.55) calc(50% + 0.05rem),
      transparent calc(50% + 0.05rem)
    );
    pointer-events: none;
  }

  .pi-swatch__img,
  .pi-swatch__dot {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    background-color: var(--swatch-color, #d8d8d8);
  }

  .pi-swatch__dot[data-swatch-name='white'],
  .pi-swatch__dot[data-swatch-name='blanco'] {
    background-color: #fff !important;
  }

  /* Size pills */
  .pi-pill {
    position: relative;
    min-width: 4.8rem;
    min-height: 4rem;
    padding: 0.8rem 1.6rem;
    border: 0.1rem solid rgba(var(--color-foreground), 0.25);
    border-radius: 5rem;
    background: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    font-size: 1.3rem;
    letter-spacing: 0.04rem;
    text-transform: none;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
  }

  .pi-pill.is-selected {
    background: rgb(var(--color-foreground));
    border-color: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
  }

  .pi-pill.is-unavailable:not(.is-selected) {
    opacity: 0.35;
    border-color: rgba(var(--color-foreground), 0.15);
    color: rgba(var(--color-foreground), 0.35);
  }

  .pi-pill.is-unavailable.is-selected .pi-pill__text {
    text-decoration: line-through;
    text-decoration-thickness: 0.1rem;
  }

  .pi-pill.is-unavailable {
    cursor: pointer;
  }

  .pi-pill__text {
    display: block;
    line-height: 1.2;
  }

  .quantity.pi-qty,
  .pi-qty {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: calc((var(--inputs-border-width, 0.1rem) * 2) + 4.5rem);
    border: 0.1rem solid rgba(var(--color-foreground), 0.2);
    border-radius: 0.4rem;
    overflow: hidden;
  }

  .quantity__button.pi-qty__btn,
  .pi-qty__btn {
    width: 4.5rem;
    height: 4.5rem;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 1.6rem;
    line-height: 1;
  }

  .quantity__input.pi-qty__input,
  .pi-qty__input {
    width: 4rem;
    height: 4.5rem;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: center;
    font-size: 1.4rem;
  }

  .product-form__buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .button,
  .product-form__submit.pi-atc {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 4.5rem;
    padding: 0 3rem;
    border: 0.1rem solid rgb(var(--color-foreground));
    border-radius: 0.4rem;
    background: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.1rem;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.15s ease;
  }

  .pi-atc--outline,
  .button.button--secondary {
    background: transparent;
    color: rgb(var(--color-foreground));
  }

  .product-form__submit.pi-atc.pi-atc--filled {
    background: #ff8c00;
    border-color: #ff8c00;
    color: #ffffff;
  }

  .product-form__submit.pi-atc.pi-atc--filled:hover:not(:disabled) {
    background: #e67e00;
    border-color: #e67e00;
  }

  .product-form__submit:disabled,
  .pi-atc:disabled {
    opacity: 0.45;
    cursor: not-allowed;
  }

  .pi-dynamic-checkout {
    margin-top: 0;
  }

  .pi-dynamic-checkout .shopify-payment-button__button {
    border-radius: 0.4rem !important;
    min-height: 4.5rem !important;
    font-size: 1.4rem !important;
    letter-spacing: 0.1rem !important;
  }

  .pi-block__heading {
    margin: 0 0 0.75rem;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .pi-collapsible__leading {
    display: inline-flex;
    opacity: 0.75;
  }

  /* Dawn-style accordion */
  .product__accordion.accordion {
    margin-top: 0;
  }

  .accordion summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    line-height: 1;
    padding: 1.5rem 0;
    border-top: 0.1rem solid rgba(var(--color-foreground), 0.08);
    cursor: pointer;
    list-style: none;
  }

  .product__info-container .product__accordion.accordion:last-of-type {
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }

  .accordion summary::-webkit-details-marker {
    display: none;
  }

  .accordion .summary__title {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 1rem;
    min-width: 0;
  }

  .accordion .svg-wrapper {
    display: inline-flex;
    align-self: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    color: rgb(var(--color-foreground));
  }

  .accordion .svg-wrapper svg {
    width: 100%;
    height: 100%;
  }

  .accordion .icon-caret {
    flex-shrink: 0;
    width: 1rem;
    height: 0.6rem;
    margin-left: 1rem;
    transition: transform 0.2s ease;
  }

  .accordion details[open] > summary .icon-caret {
    transform: rotate(180deg);
  }

  .accordion__title {
    display: inline-block;
    margin: 0;
    min-height: 1.6rem;
    max-width: calc(100% - 6rem);
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.04rem;
    line-height: 1.4;
    word-break: break-word;
  }

  .accordion__content {
    margin-bottom: 1.5rem;
    padding: 0 0.2rem;
    font-size: 1.4rem;
    line-height: 1.7;
    word-break: break-word;
    color: rgba(var(--color-foreground), 0.85);
  }

  .accordion__content > *:first-child {
    margin-top: 0;
  }

  .accordion__content > *:last-child {
    margin-bottom: 0;
  }

  .product__description {
    font-size: 1.4rem;
    line-height: 1.7;
    opacity: 0.9;
  }

  .pi-share {
    border: 0;
    background: transparent;
    padding: 0;
    color: inherit;
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
  }

  .pi-swatch--square,
  .pi-swatch--square .pi-swatch__img,
  .pi-swatch--square .pi-swatch__dot { border-radius: 0.4rem; }

  .technical-specs { margin-top: 1rem; }
  .technical-specs__heading { margin: 0 0 1rem; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.1em; }
  .technical-specs__grid {
    display: grid;
    grid-template-columns: 1fr;
    border: 0.1rem solid rgba(var(--color-foreground), 0.12);
    border-radius: 0.8rem;
    overflow: hidden;
  }
  .technical-specs__item {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1.2rem;
    border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
  }
  .technical-specs__item:last-child { border-bottom: 0; }
  .technical-specs__icon { width: 1.5rem; height: 1.5rem; flex-shrink: 0; }
  .technical-specs__icon img { width: 100%; height: 100%; object-fit: contain; }
  .technical-specs__text { margin: 0; line-height: 1.4; font-size: 0.875rem; }

  @media screen and (min-width: 750px) {
    .technical-specs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }

  .pdp-premium-card {
    border: 0.1rem solid rgba(var(--color-foreground), 0.12);
    border-radius: 0.8rem;
    padding: 1.2rem;
    margin-top: 1.6rem;
  }

  .pdp-premium-card__heading {
    margin: 0 0 0.8rem;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.04rem;
    text-transform: none;
  }

  .pdp-premium-list {
    margin: 0;
    padding-left: 1.8rem;
    font-size: 1.3rem;
    line-height: 1.6;
  }

  .pdp-premium-bundles { display: grid; gap: 0.75rem; }

  .pdp-premium-bundles__item {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
  }

  .pdp-premium-bundles__item img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0.35rem;
  }

  .pdp-premium-bundles__title { display: block; font-size: 0.8125rem; line-height: 1.4; }
  .pdp-premium-bundles__price { display: block; font-size: 0.75rem; font-weight: 600; margin-top: 0.15rem; }

  .pdp-premium-bundles__price { display: block; font-size: 0.75rem; font-weight: 600; margin-top: 0.15rem; }

  .pi-installment {
    margin-top: 0.35rem;
    font-size: 0.8125rem;
    opacity: 0.75;
  }

  .pi-inventory {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    font-size: 0.8125rem;
  }

  .pi-inventory--hidden { display: none; }

  .pi-inventory__dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    flex-shrink: 0;
  }

  .pi-inventory__dot--in { background: #3ed660; }
  .pi-inventory__dot--low { background: #ee9441; }
  .pi-inventory__dot--out { background: #c8c8c8; }

  .pi-rating {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
  }

  .pi-rating__stars {
    position: relative;
    width: 5rem;
    height: 1rem;
    --percent: calc((var(--rating) + var(--rating-decimal)) / var(--rating-max) * 100%);
  }

  .pi-rating__stars-bg,
  .pi-rating__stars-fill {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, currentColor var(--percent), rgba(0, 0, 0, 0.12) var(--percent));
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cg fill='black'%3E%3Cpath d='M10 2l2.4 5.8L19 8.5l-4.5 4 1.2 6L10 16l-5.7 2.5 1.2-6L1 8.5l6.6-.7L10 2z'/%3E%3Cpath d='M30 2l2.4 5.8L39 8.5l-4.5 4 1.2 6L30 16l-5.7 2.5 1.2-6L21 8.5l6.6-.7L30 2z'/%3E%3Cpath d='M50 2l2.4 5.8L59 8.5l-4.5 4 1.2 6L50 16l-5.7 2.5 1.2-6L41 8.5l6.6-.7L50 2z'/%3E%3Cpath d='M70 2l2.4 5.8L79 8.5l-4.5 4 1.2 6L70 16l-5.7 2.5 1.2-6L61 8.5l6.6-.7L70 2z'/%3E%3Cpath d='M90 2l2.4 5.8L99 8.5l-4.5 4 1.2 6L90 16l-5.7 2.5 1.2-6L81 8.5l6.6-.7L90 2z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cg fill='black'%3E%3Cpath d='M10 2l2.4 5.8L19 8.5l-4.5 4 1.2 6L10 16l-5.7 2.5 1.2-6L1 8.5l6.6-.7L10 2z'/%3E%3Cpath d='M30 2l2.4 5.8L39 8.5l-4.5 4 1.2 6L30 16l-5.7 2.5 1.2-6L21 8.5l6.6-.7L30 2z'/%3E%3Cpath d='M50 2l2.4 5.8L59 8.5l-4.5 4 1.2 6L50 16l-5.7 2.5 1.2-6L41 8.5l6.6-.7L50 2z'/%3E%3Cpath d='M70 2l2.4 5.8L79 8.5l-4.5 4 1.2 6L70 16l-5.7 2.5 1.2-6L61 8.5l6.6-.7L70 2z'/%3E%3Cpath d='M90 2l2.4 5.8L99 8.5l-4.5 4 1.2 6L90 16l-5.7 2.5 1.2-6L81 8.5l6.6-.7L90 2z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
  }

  .pi-rating__stars-fill { opacity: 1; }
  .pi-rating__stars-bg { opacity: 0.15; }

  .pi-rating__text {
    margin: 0;
    font-size: 0.75rem;
    opacity: 0.7;
  }

  .pi-icon-text {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
  }

  .pi-icon-text--vertical {
    flex-direction: column;
  }

  .pi-icon-text--horizontal {
    flex-direction: row;
    justify-content: space-between;
  }

  .pi-icon-text__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
  }

  .pi-icon-text__icon {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
  }

  .pi-icon-text__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .pi-complementary__heading {
    margin: 0 0 0.75rem;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
  }

  .pi-complementary__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.75rem;
  }

  .pi-complementary__link {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
    text-decoration: none;
    color: inherit;
  }

  .pi-complementary__img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0.35rem;
  }

  .pi-complementary__title { display: block; font-size: 0.8125rem; line-height: 1.4; }
  .pi-complementary__price { display: block; font-size: 0.75rem; font-weight: 600; margin-top: 0.15rem; }

  .pi-popup__trigger {
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    color: inherit;
  }

  .pi-popup {
    width: min(92vw, 640px);
    max-height: 85vh;
    padding: 0;
    border: 0;
    border-radius: 0.5rem;
    background: var(--pi-bg, #fff);
    color: var(--pi-fg, #111);
  }

  .pi-popup::backdrop { background: rgba(0, 0, 0, 0.55); }

  .pi-popup__panel { padding: 1.5rem; position: relative; }

  .pi-popup__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.06);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
  }

  .pi-popup__heading {
    margin: 0 0 1rem;
    font-size: 1.125rem;
  }

  .pi-sticky-cart {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 20;
    background: var(--pi-bg, #fff);
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
    padding: 0.75rem 0;
    transform: translateY(100%);
    transition: transform 0.25s ease;
  }

  .pi-sticky-cart.is-visible {
    transform: translateY(0);
  }

  .pi-sticky-cart__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
  }

  .pi-sticky-cart__info {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
  }

  .pi-sticky-cart__thumb {
    width: 2.75rem;
    height: 2.75rem;
    object-fit: cover;
    border-radius: 0.35rem;
    flex-shrink: 0;
  }

  .pi-sticky-cart__title {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .pi-sticky-cart__price {
    margin: 0.15rem 0 0;
    font-size: 0.8125rem;
    font-weight: 700;
  }

  .pi-sticky-cart__btn {
    flex-shrink: 0;
    width: auto;
    min-width: 9rem;
    padding: 0.75rem 1rem;
  }

  @media screen and (min-width: 990px) {
    .pi-sticky-cart { display: none !important; }
  }

  @media screen and (max-width: 989px) {
    .product__column-sticky { position: static; }
  }

  @media screen and (max-width: 749px) {
    .section-main-product {
      padding-top: 0;
      padding-bottom: 0;
      background: #fff;
    }

    .section-main-product .page-width {
      padding-inline: 0;
      max-width: none;
    }

    .section-main-product .grid {
      gap: 0;
    }

    .product__media-wrapper {
      margin-inline: 0;
    }

    .product__info-container {
      font-size: 1rem;
      gap: 0.375rem;
      padding: 0.75rem 1rem calc(4.5rem + env(safe-area-inset-bottom, 0px));
    }

    .product-media__viewer {
      display: flex;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      aspect-ratio: 1 / 1;
      max-height: none;
      min-height: 0;
      background: #fff;
    }

    .product-media__viewer::-webkit-scrollbar {
      display: none;
    }

    .product-media__viewer--constrained {
      max-height: none;
      min-height: 0;
    }

    .product-media__slide {
      display: block !important;
      flex: 0 0 100%;
      scroll-snap-align: start;
      height: 100%;
    }

    .product-media--fit-cover .product-media__asset--cover,
    .product-media__asset--cover,
    .product-media__asset--contain {
      object-fit: contain;
      background: #fff;
    }

    .product-media__zoom-lens {
      display: none;
    }

    .product-media__mobile-nav {
      display: block;
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 2;
    }

    .product-media__counter {
      position: absolute;
      top: 0.625rem;
      right: 0.75rem;
      padding: 0.125rem 0.5rem;
      border: 1px solid rgba(15, 17, 17, 0.15);
      border-radius: 0.25rem;
      background: rgba(255, 255, 255, 0.92);
      color: #565959;
      font-size: 0.75rem;
      line-height: 1.4;
    }

    .product-media__dots {
      position: absolute;
      left: 50%;
      bottom: 0.75rem;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      gap: 0.375rem;
      pointer-events: auto;
    }

    .product-media__dot {
      width: 0.375rem;
      height: 0.375rem;
      padding: 0;
      border: 0;
      border-radius: 50%;
      background: rgba(15, 17, 17, 0.25);
      cursor: pointer;
    }

    .product-media__dot.is-active {
      width: 0.5rem;
      height: 0.5rem;
      background: #e77600;
    }

    .product-media__thumbs,
    .product-media--thumbnails_left .product-media__thumbs {
      display: none !important;
    }

    .product-media--mobile-curated .product-media__viewer--desktop {
      display: none !important;
    }

    .product-media--mobile-curated .product-media__mobile-nav--desktop {
      display: none !important;
    }

    .product-media--swatch-only .product-media__viewer--mobile {
      overflow: hidden;
      scroll-snap-type: none;
      display: block;
      touch-action: pan-y;
    }

    .product-media--swatch-only .product-media__viewer--mobile .product-media__slide {
      display: none !important;
      flex: none;
    }

    .product-media--swatch-only .product-media__viewer--mobile .product-media__slide.is-active {
      display: block !important;
    }

    .product-media--color_collage .product-media__collage-layout {
      position: relative;
      width: 100%;
    }

    .product-media--color_collage .product-media__collage-main {
      gap: 0;
    }

    .product-media--color_collage .product-media__collage-main:not(.is-collage-count-1) {
      display: flex;
      flex-direction: row;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      aspect-ratio: var(--collage-main-ratio, 4 / 5);
      grid-template-columns: unset;
      grid-template-rows: unset;
      min-height: 0;
    }

    .product-media--color_collage .product-media__collage-main:not(.is-collage-count-1)::-webkit-scrollbar {
      display: none;
    }

    .product-media--color_collage .product-media__collage-main.is-collage-count-1 {
      aspect-ratio: var(--collage-main-ratio, 4 / 5);
    }

    .product-media--color_collage .product-media__collage-main:not(.is-collage-count-1) .product-media__collage-panel:not(.is-hidden) {
      flex: 0 0 100%;
      width: 100%;
      height: 100%;
      scroll-snap-align: start;
      scroll-snap-stop: always;
      grid-column: unset !important;
      grid-row: unset !important;
      aspect-ratio: auto;
      min-height: 0;
    }

    .product-media--color_collage .product-media__collage-main.is-collage-count-3 .product-media__collage-panel.is-collage-sub:not(.is-hidden),
    .product-media--color_collage .product-media__collage-main.is-collage-count-3 .product-media__collage-panel.is-collage-hero:not(.is-hidden) {
      min-height: 0;
    }

    .product-media--color_collage .product-media__collage-mobile-nav {
      display: block;
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 2;
    }

    .product-media--color_collage .product-media__collage-main.is-collage-count-1 + .product-media__collage-mobile-nav {
      display: none;
    }

    .product-media--color_collage .product-media__collage-mobile-nav .product-media__dots {
      pointer-events: auto;
    }

    .product-media__columns {
      display: flex;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      gap: 0;
      grid-template-columns: none;
    }

    .product-media__column-item {
      flex: 0 0 100%;
      scroll-snap-align: start;
      aspect-ratio: 1 / 1;
      max-height: none;
      min-height: 0;
      background: #fff;
    }

    .product-media__column-item .product-media__asset--cover {
      object-fit: contain;
    }

    .pi-block--text-caption .pi-text {
      font-size: 0.8125rem;
      letter-spacing: 0;
      text-transform: none;
      color: #007185;
      opacity: 1;
    }

    .pi-block--text-caption .pi-text p {
      margin: 0;
    }

    .product__title .pi-title {
      font-size: 1.125rem;
      line-height: 1.35;
      letter-spacing: 0;
      font-weight: 400;
    }

    .pi-block--price {
      margin-top: 0.125rem;
    }

    .pi-price {
      gap: 0.375rem 0.625rem;
      align-items: baseline;
    }

    .pi-price__current {
      font-size: 1.625rem;
      font-weight: 400;
      letter-spacing: 0;
      color: #0f1111;
    }

    .pi-price__compare {
      font-size: 0.875rem;
      color: #565959;
      opacity: 1;
    }

    .pi-price__badge {
      font-size: 0.75rem;
      letter-spacing: 0;
      text-transform: none;
      padding: 0.125rem 0.375rem;
      border-radius: 0.25rem;
      background: #cc0c39;
      color: #fff;
    }

    .pi-block--inventory,
    .pi-inventory {
      font-size: 0.8125rem;
    }

    .pi-inventory__dot--in + *,
    .pi-inventory {
      color: #007600;
    }

    .pi-block--qty {
      display: none;
    }

    .pi-option {
      margin: 0 0 0.875rem;
      padding: 0 0 0.875rem;
      border-bottom: 1px solid #e7e7e7;
    }

    .pi-option:last-child {
      border-bottom: 0;
      margin-bottom: 0.5rem;
    }

    .pi-option__label {
      margin-bottom: 0.5rem;
      font-size: 0.8125rem;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: none;
    }

    .pi-option__value {
      font-weight: 400;
    }

    .pi-option--dropdown .pi-option__label {
      margin-bottom: 0.375rem;
      font-size: 0.8125rem;
      letter-spacing: 0;
      text-transform: none;
    }

    .pi-option__select {
      min-height: 2.75rem;
      padding: 0 2.25rem 0 0.75rem;
      font-size: 0.875rem;
      border: 1px solid #888c8c;
      border-radius: 0.25rem;
      background-position: right 0.75rem center;
    }

    .pi-option__values--swatches {
      flex-wrap: nowrap;
      overflow-x: auto;
      gap: 0.65rem;
      padding-bottom: 0.125rem;
      scrollbar-width: none;
    }

    .pi-option__values--swatches::-webkit-scrollbar {
      display: none;
    }

    .pi-swatch {
      --pi-swatch-size: 2.75rem;
      --pi-swatch-ring-gap: 2px;
      --pi-swatch-ring-width: 3px;
    }

    .pi-swatch--circle,
    .pi-swatch--circle .pi-swatch__inner,
    .pi-swatch--circle .pi-swatch__img,
    .pi-swatch--circle .pi-swatch__dot {
      border-radius: 50%;
    }

    .pi-option:has(.pi-option__values--swatches) .pi-option__label {
      margin-bottom: 0.5rem;
    }

    .pi-option__values--pills {
      gap: 0.5rem;
    }

    .pi-pill {
      min-width: 3rem;
      min-height: 2.25rem;
      padding: 0.375rem 0.875rem;
      border: 1px solid #d5d9d9;
      border-radius: 0.25rem;
      font-size: 0.8125rem;
      letter-spacing: 0;
      background: #fff;
    }

    .pi-pill.is-selected {
      background: #fff;
      border-color: #e77600;
      box-shadow: 0 0 0 1px inset #e77600;
      color: #0f1111;
    }

    .pi-pill.is-unavailable:not(.is-selected) {
      opacity: 0.45;
      background: #f7fafa;
      color: #565959;
    }

    .product-form__buttons {
      gap: 0.625rem;
      margin-top: 0.25rem;
    }

    .product-form__submit.pi-atc {
      min-height: 2.75rem;
      padding: 0 1rem;
      border-radius: 999px;
      border: 1px solid #ff8c00;
      background: #ff8c00;
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 400;
      letter-spacing: 0;
      text-transform: none;
      box-shadow: 0 2px 5px rgba(255, 140, 0, 0.28);
    }

    .product-form__submit.pi-atc.pi-atc--outline {
      background: transparent;
      border-color: rgb(var(--color-foreground));
      color: rgb(var(--color-foreground));
      box-shadow: none;
    }

    .product-form__submit.pi-atc:disabled {
      background: #f7fafa;
      border-color: #d5d9d9;
      color: #565959;
      box-shadow: none;
      opacity: 1;
    }

    .pi-block--text-body .pi-text,
    .product__description {
      font-size: 0.8125rem;
      line-height: 1.5;
      color: #0f1111;
    }

    .product__description {
      margin-top: 0.5rem;
      padding-top: 0.75rem;
      border-top: 1px solid #e7e7e7;
    }

    .accordion summary {
      padding: 0.875rem 0;
      border-top: 1px solid #e7e7e7;
    }

    .accordion__title {
      font-size: 0.875rem;
      font-weight: 400;
      min-height: auto;
    }

    .accordion__content {
      font-size: 0.8125rem;
      line-height: 1.5;
      color: #0f1111;
      padding-bottom: 0.875rem;
    }

    .product__info-container .product__accordion.accordion:last-of-type {
      border-bottom: 1px solid #e7e7e7;
    }

    .pi-sticky-cart {
      padding: 0.625rem 0.75rem calc(0.625rem + env(safe-area-inset-bottom, 0px));
      border-top: 1px solid #d5d9d9;
      box-shadow: 0 -2px 8px rgba(15, 17, 17, 0.08);
      background: #fff;
    }

    .pi-sticky-cart__inner {
      padding-inline: 0.75rem;
      max-width: none;
      width: 100%;
    }

    .pi-sticky-cart__info {
      display: none;
    }

    .pi-sticky-cart__btn {
      width: 100%;
      min-width: 0;
      min-height: 2.75rem;
      padding: 0 1rem;
      border-radius: 999px;
      border: 1px solid #ff8c00;
      background: #ff8c00;
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 400;
      letter-spacing: 0;
      text-transform: none;
      box-shadow: 0 2px 5px rgba(255, 140, 0, 0.28);
    }

    .pi-sticky-cart__btn:disabled {
      background: #f7fafa;
      border-color: #d5d9d9;
      color: #565959;
      box-shadow: none;
    }

    .pdp-premium-bundles__item {
      grid-template-columns: 3.5rem minmax(0, 1fr);
      gap: 0.625rem;
    }

    .pdp-premium-bundles__title {
      font-size: 0.8125rem;
    }

    .technical-specs__item {
      padding: 0.75rem;
    }

    .technical-specs__text {
      font-size: 0.8125rem;
    }

    .pi-complementary__img {
      width: 3.5rem;
      height: 4.375rem;
    }

    .accordion .summary__title svg,
    .pi-collapsible__leading {
      display: none;
    }

    .accordion .summary__title {
      gap: 0;
    }

    .product-media__lightbox-content {
      padding: 3rem 0.5rem 3.5rem;
    }

    .product-media__lightbox-content img.is-zoomed {
      transform: scale(2.2);
    }
  }
/* END_SECTION:product */

/* START_SECTION:search (INDEX:34) */
.search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
  .search-results .prev,
  .search-results .page,
  .search-results .next {
    grid-column: 1 / -1;
  }
/* END_SECTION:search */

/* CSS from block stylesheet tags */
/* START_BLOCK:gempages-button (INDEX:35) */
.gp-button__wrap {
    text-align: var(--gp-btn-align, left);
  }

  .gp-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    border-radius: var(--gp-btn-radius, 0);
    transition: opacity 0.25s ease, filter 0.25s ease;
  }

  .gp-button__link--sm { padding: 8px 20px; font-size: 11px; }
  .gp-button__link--md { padding: 12px 32px; font-size: 0.75rem; }
  .gp-button__link--lg { padding: 16px 48px; font-size: 13px; }

  .gp-button__link--filled {
    background: var(--gp-btn-bg, #111);
    color: var(--gp-btn-color, #fff);
    border: 1.5px solid var(--gp-btn-bg, #111);
  }

  .gp-button__link--outline {
    background: transparent;
    color: var(--gp-btn-bg, #111);
    border: 1.5px solid var(--gp-btn-bg, #111);
  }

  .gp-button__link--ghost {
    background: transparent;
    color: var(--gp-btn-bg, #111);
    border: none;
    text-decoration: underline;
    text-underline-offset: 4px;
  }

  .gp-button__link--static {
    cursor: default;
    opacity: 0.72;
  }

  .gp-button__link:hover {
    opacity: 0.82;
    filter: brightness(1.06);
  }
/* END_BLOCK:gempages-button */

/* START_BLOCK:gempages-divider (INDEX:37) */
.gp-divider {
    display: flex;
    align-items: center;
    justify-content: var(--gp-divider-align, flex-start);
    padding-block: var(--gp-divider-spacing, 8px);
  }

  .gp-divider__line {
    width: var(--gp-divider-width, 100%);
    margin: 0;
    border: none;
    border-top: var(--gp-divider-thickness, 1px) var(--gp-divider-style, solid) var(--gp-divider-color, #e8e8e8);
  }
/* END_BLOCK:gempages-divider */

/* START_BLOCK:gempages-faq (INDEX:39) */
.gp-faq {
    background: var(--gpfaq-bg, #fff);
    padding-top: var(--gpfaq-pt, 80px);
    padding-bottom: var(--gpfaq-pb, 80px);
  }

  .gp-faq__inner {
    max-width: 720px;
    margin: 0 auto;
    padding-inline: var(--container-padding-x, 20px);
  }

  .gp-faq__heading {
    margin: 0 0 0.75rem;
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 300;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: center;
  }

  .gp-faq__subheading {
    margin: 0 0 2.5rem;
    text-align: center;
    color: #666;
    line-height: 1.6;
  }

  .gp-faq__list {
    display: flex;
    flex-direction: column;
    border-top: 1px solid #e8e8e8;
  }

  .gp-faq__item {
    border-bottom: 1px solid #e8e8e8;
  }

  .gp-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0;
    cursor: pointer;
    list-style: none;
    font-size: 0.875rem;
    letter-spacing: 0.04em;
  }

  .gp-faq__question::-webkit-details-marker { display: none; }

  .gp-faq__icon {
    width: 12px;
    height: 12px;
    position: relative;
    flex-shrink: 0;
  }

  .gp-faq__icon::before,
  .gp-faq__icon::after {
    content: '';
    position: absolute;
    background: currentColor;
    transition: transform 0.25s ease;
  }

  .gp-faq__icon::before {
    width: 12px;
    height: 1px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  .gp-faq__icon::after {
    width: 1px;
    height: 12px;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
  }

  .gp-faq__item[open] .gp-faq__icon::after {
    transform: translateX(-50%) scaleY(0);
  }

  .gp-faq__answer {
    padding-bottom: 1.25rem;
    color: #666;
    line-height: 1.7;
    font-size: 0.875rem;
  }

  .gp-faq__empty {
    padding: 2rem 0;
    text-align: center;
    color: #999;
    font-size: 0.875rem;
  }
/* END_BLOCK:gempages-faq */

/* START_BLOCK:gempages-heading (INDEX:40) */
.gp-heading__link {
    color: inherit;
    text-decoration: none;
    display: block;
  }

  .gp-heading__text {
    margin: 0;
    font-size: var(--gp-heading-size, 2rem);
    font-weight: var(--gp-heading-weight, 300);
    color: var(--gp-heading-color, #111);
    text-align: var(--gp-heading-align, left);
    letter-spacing: var(--gp-heading-spacing, 0.08em);
    text-transform: var(--gp-heading-transform, uppercase);
    line-height: var(--gp-heading-leading, 1.15);
  }
/* END_BLOCK:gempages-heading */

/* START_BLOCK:gempages-hero (INDEX:41) */
.gp-hero {
    position: relative;
    overflow: hidden;
    min-height: var(--gp-hero-min-h, 85vh);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gp-hero-text, #fff);
  }

  .gp-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
  }

  .gp-hero__image,
  .gp-hero__video,
  .gp-hero__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .gp-hero__placeholder {
    background: #111;
  }

  .gp-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, var(--gp-hero-overlay, 0.4));
  }

  .gp-hero__content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    padding: 2rem 1.5rem;
    text-align: var(--gp-hero-align, center);
    margin-inline: auto;
  }

  .gp-hero__eyebrow {
    margin: 0 0 1rem;
    font-size: 0.6875rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.85;
  }

  .gp-hero__heading {
    margin: 0 0 1rem;
    font-size: clamp(2rem, 6vw, 4.5rem);
    font-weight: 300;
    letter-spacing: 0.06em;
    line-height: 1.05;
    text-transform: uppercase;
  }

  .gp-hero__subheading {
    margin: 0 0 2rem;
    font-size: clamp(0.875rem, 2vw, 1.125rem);
    line-height: 1.6;
    opacity: 0.9;
    max-width: 36rem;
    margin-inline: auto;
  }

  .gp-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
  }

  .gp-hero__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.875rem 2rem;
    font-size: 0.6875rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    text-decoration: none;
    transition: opacity 0.25s ease;
  }

  .gp-hero__btn--primary {
    background: #fff;
    color: #111;
  }

  .gp-hero__btn--ghost {
    background: transparent;
    color: inherit;
    border: 1px solid currentColor;
  }

  .gp-hero__btn--static {
    cursor: default;
    opacity: 0.72;
  }

  .gp-hero__btn:hover {
    opacity: 0.85;
  }

  @media (max-width: 767px) {
    .gp-hero {
      min-height: max(70vh, 480px);
    }
  }
/* END_BLOCK:gempages-hero */

/* START_BLOCK:gempages-icon-box (INDEX:42) */
.gp-icon-box {
    display: flex;
    gap: var(--gp-icon-gap, 16px);
    padding: 1rem;
    background: var(--gp-icon-bg, transparent);
    border-radius: var(--gp-icon-radius, 0);
  }

  .gp-icon-box--vertical {
    flex-direction: column;
    align-items: var(--gp-icon-align, flex-start);
    text-align: left;
  }

  .gp-icon-box--horizontal {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
  }

  .gp-icon-box__link {
    display: flex;
    gap: var(--gp-icon-gap, 16px);
    color: inherit;
    text-decoration: none;
    width: 100%;
  }

  .gp-icon-box--clickable .gp-icon-box__link {
    cursor: pointer;
  }

  .gp-icon-box__wrap {
    width: 100%;
  }

  .gp-icon-box__icon {
    width: var(--gp-icon-size, 40px);
    height: var(--gp-icon-size, 40px);
    color: var(--gp-icon-color, #111);
    flex-shrink: 0;
  }

  .gp-icon-box__icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gp-icon-box__title {
    margin: 0 0 0.35rem;
    font-size: var(--gp-icon-title-size, 16px);
    font-weight: 500;
    letter-spacing: 0.04em;
  }

  .gp-icon-box__text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.6;
    color: #666;
  }
/* END_BLOCK:gempages-icon-box */

/* START_BLOCK:gempages-image (INDEX:43) */
.gp-image__inner {
    position: relative;
  }

  .gp-image__link {
    display: block;
    color: inherit;
    text-decoration: none;
  }

  .gp-image__frame {
    overflow: hidden;
    border-radius: var(--gp-image-radius, 0);
    aspect-ratio: var(--gp-image-ratio, auto);
  }

  .gp-image__img,
  .gp-image__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: var(--gp-image-fit, cover);
    object-position: var(--gp-image-position, center);
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .gp-image__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9f9f9;
    min-height: 200px;
  }

  .gp-image--zoom:hover .gp-image__img {
    transform: scale(1.05);
  }

  .gp-image__caption {
    margin: 0.5rem 0 0;
    font-size: 0.75rem;
    color: #666;
  }
/* END_BLOCK:gempages-image */

/* START_BLOCK:gempages-marquee (INDEX:44) */
.gp-marquee {
    display: flex;
    overflow: hidden;
    background: var(--gpmq-bg, #111);
    color: var(--gpmq-color, #fff);
    padding: 0.875rem 0;
    white-space: nowrap;
  }

  .gp-marquee__track {
    display: flex;
    flex-shrink: 0;
    animation: gp-marquee-scroll var(--gpmq-speed, 28s) linear infinite;
  }

  .gp-marquee__item {
    padding-inline: 2rem;
    font-size: 0.6875rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
  }

  .gp-marquee__dot {
    opacity: 0.35;
    padding-inline-start: 2rem;
    font-size: 0.5rem;
    vertical-align: middle;
  }

  @keyframes gp-marquee-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
  }

  @media (prefers-reduced-motion: reduce) {
    .gp-marquee__track { animation: none; }
    .gp-marquee { justify-content: center; flex-wrap: wrap; }
    .gp-marquee__track--clone { display: none; }
  }
/* END_BLOCK:gempages-marquee */

/* START_BLOCK:gempages-newsletter (INDEX:45) */
.gp-newsletter {
    background: var(--gpnl-bg, #111);
    color: var(--gpnl-color, #fff);
    padding-top: var(--gpnl-pt, 80px);
    padding-bottom: var(--gpnl-pb, 80px);
    text-align: center;
  }

  .gp-newsletter__inner {
    max-width: 560px;
    margin: 0 auto;
    padding-inline: var(--container-padding-x, 20px);
  }

  .gp-newsletter__heading {
    margin: 0 0 0.75rem;
    font-size: clamp(1.25rem, 2.5vw, 2rem);
    font-weight: 300;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .gp-newsletter__subheading {
    margin: 0 0 2rem;
    opacity: 0.75;
    line-height: 1.6;
  }

  .gp-newsletter__form {
    display: flex;
    gap: 0;
    max-width: 440px;
    margin: 0 auto 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  }

  .gp-newsletter__input {
    flex: 1;
    border: none;
    background: transparent;
    color: inherit;
    padding: 0.875rem 0;
    font-size: 0.875rem;
    outline: none;
  }

  .gp-newsletter__input::placeholder {
    color: inherit;
    opacity: 0.45;
  }

  .gp-newsletter__btn {
    border: none;
    background: transparent;
    color: inherit;
    font-size: 0.6875rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    cursor: pointer;
    padding: 0.875rem 0 0.875rem 1rem;
    white-space: nowrap;
  }

  .gp-newsletter__disclaimer {
    margin: 0;
    font-size: 0.6875rem;
    opacity: 0.45;
    line-height: 1.5;
  }

  @media (max-width: 480px) {
    .gp-newsletter__form { flex-direction: column; border-bottom: none; gap: 0.75rem; }
    .gp-newsletter__input { border-bottom: 1px solid rgba(255, 255, 255, 0.35); }
    .gp-newsletter__btn { padding-left: 0; }
  }
/* END_BLOCK:gempages-newsletter */

/* START_BLOCK:gempages-product-spotlight (INDEX:46) */
.gp-spotlight {
    background: var(--gpsp-bg, #f9f9f9);
    padding-top: var(--gpsp-pt, 80px);
    padding-bottom: var(--gpsp-pb, 80px);
  }

  .gp-spotlight__inner {
    max-width: var(--container-max-width, 1400px);
    margin: 0 auto;
    padding-inline: var(--container-padding-x, 20px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
  }

  .gp-spotlight--image-right .gp-spotlight__media { order: 2; }

  .gp-spotlight__media {
    position: relative;
  }

  .gp-spotlight__media-link {
    display: block;
    color: inherit;
  }

  .gp-spotlight__atc--link {
    display: inline-flex;
    text-decoration: none;
    align-items: center;
    justify-content: center;
  }

  .gp-spotlight__img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    display: block;
  }

  .gp-spotlight__eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.6875rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.5;
  }

  .gp-spotlight__heading {
    margin: 0 0 1rem;
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    font-weight: 300;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.15;
  }

  .gp-spotlight__text {
    margin-bottom: 1.5rem;
    line-height: 1.7;
    color: #666;
  }

  .gp-spotlight__price {
    margin: 0 0 1rem;
    font-size: 1rem;
    letter-spacing: 0.04em;
  }

  .gp-spotlight__atc {
    display: inline-flex;
    padding: 0.875rem 2rem;
    border: none;
    background: #111;
    color: #fff;
    font-size: 0.6875rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    cursor: pointer;
    margin-bottom: 0.75rem;
  }

  .gp-spotlight__link {
    display: block;
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #111;
    opacity: 0.55;
  }

  @media (max-width: 991px) {
    .gp-spotlight__inner { grid-template-columns: 1fr; }
    .gp-spotlight--image-right .gp-spotlight__media { order: 0; }
  }
/* END_BLOCK:gempages-product-spotlight */

/* START_BLOCK:gempages-product (INDEX:47) */
.gp-product__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--gp-product-bg, #fff);
    overflow: hidden;
  }

  .gp-product__media {
    display: block;
    overflow: hidden;
    aspect-ratio: 3 / 4;
  }

  .gp-product__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
  }

  .gp-product__card:hover .gp-product__img {
    transform: scale(1.04);
  }

  .gp-product__info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 0;
    flex: 1;
  }

  .gp-product__title {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-weight: 400;
  }

  .gp-product__title a {
    color: inherit;
    text-decoration: none;
  }

  .gp-product__price {
    margin: 0;
    font-size: 0.75rem;
  }

  .gp-product__price s {
    opacity: 0.45;
    margin-left: 0.35rem;
  }

  .gp-product__form {
    margin-top: auto;
  }

  .gp-product__atc {
    width: 100%;
    border: none;
    padding: 0.75rem 1rem;
    background: #111;
    color: #fff;
    font-size: 0.625rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.25s ease;
  }

  .gp-product__atc:hover:not(:disabled) {
    opacity: 0.82;
  }

  .gp-product__atc:disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }

  .gp-product__empty {
    padding: 2rem 1rem;
    text-align: center;
    border: 1px dashed rgba(0, 0, 0, 0.15);
    color: rgba(0, 0, 0, 0.45);
    font-size: 0.875rem;
  }
/* END_BLOCK:gempages-product */

/* START_BLOCK:gempages-products-5 (INDEX:48) */
.gp-products-5 {
    background: var(--gp5-bg, #fff);
    color: var(--gp5-tx, #111);
    padding-top: var(--gp5-pt, 0);
    padding-bottom: var(--gp5-pb, 0);
    width: 100%;
  }

  .gp5__header {
    width: 100%;
    padding-bottom: 2.5rem;
  }

  .gp5__header-track {
    position: relative;
    width: 100%;
    min-height: 1.25em;
  }

  .gp5__view-all-wrap {
    position: absolute;
    top: 0;
    right: 0;
  }

  .gp5__view-all {
    font-size: 0.75rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: inherit;
    opacity: 0.5;
    text-decoration: none;
    border-bottom: 1px solid currentColor;
  }

  .gp5__view-all:hover { opacity: 1; }

  .gp5__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2px;
    width: 100%;
  }

  .gp5__card { position: relative; display: flex; flex-direction: column; overflow: hidden; min-width: 0; }
  .gp5__card--1 { grid-column: span 4; grid-row: span 2; }
  .gp5__card--2 { grid-column: span 2; grid-row: 1; }
  .gp5__card--3 { grid-column: span 2; grid-row: 2; }
  .gp5__card--4 { grid-column: span 3; }
  .gp5__card--5 { grid-column: span 3; }

  .gp5__media {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    background: color-mix(in srgb, var(--gp5-bg, #fff) 94%, var(--gp5-tx, #111) 6%);
  }

  .gp5__card--1 .gp5__media { min-height: 640px; height: 100%; }
  .gp5__card--2 .gp5__media,
  .gp5__card--3 .gp5__media { aspect-ratio: 3 / 4; }
  .gp5__card--4 .gp5__media,
  .gp5__card--5 .gp5__media { aspect-ratio: 5 / 4; }

  .gp5__media-link { display: block; position: relative; width: 100%; height: 100%; }

  .gp5__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease;
  }

  .gp5__img--secondary {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.04);
  }

  .gp5__card:hover .gp5__img--primary { opacity: 0; transform: scale(1.04); }
  .gp5__card:hover .gp5__img--secondary { opacity: 1; transform: scale(1); }
  .gp5__card:not(:has(.gp5__img--secondary)):hover .gp5__img--primary { opacity: 1; transform: scale(1.05); }

  .gp5__info { padding: 1rem; position: relative; overflow: hidden; }
  .gp5__card--1 .gp5__info { padding: 1.5rem; }

  .gp5__vendor {
    margin: 0;
    font-size: 10px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    opacity: 0.45;
  }

  .gp5__name {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .gp5__name a { color: inherit; text-decoration: none; }
  .gp5__name--placeholder { opacity: 0.3; }

  .gp5__price-row { display: flex; gap: 0.35rem; align-items: baseline; flex-wrap: wrap; }
  .gp5__price { font-size: 0.75rem; }
  .gp5__price-compare { font-size: 10px; opacity: 0.4; text-decoration: line-through; }

  .gp5__badge {
    position: absolute;
    top: 0.5rem;
    left: 0.5rem;
    z-index: 2;
    padding: 3px 7px;
    font-size: 9px;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    background: var(--gp5-tx, #111);
    color: var(--gp5-bg, #fff);
  }

  .gp5__badge--sold-out {
    background: transparent;
    color: var(--gp5-tx, #111);
    border: 1px solid currentColor;
    opacity: 0.5;
  }

  .gp5__placeholder {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }

  @media (max-width: 991px) {
    .gp5__grid { grid-template-columns: 1fr; gap: 0; }
    .gp5__card--1, .gp5__card--2, .gp5__card--3, .gp5__card--4, .gp5__card--5 {
      grid-column: 1;
      grid-row: auto;
      height: auto;
    }
    .gp5__card--1 .gp5__media { min-height: unset; height: auto; aspect-ratio: 3 / 4; }
    .gp5__card--1 .gp5__info { padding: 0.65rem 1rem 0.75rem; }
    .gp5__info-main { display: flex; align-items: center; justify-content: space-between; gap: .75rem; width: 100%; }
    .gp5__info-copy { flex: 1 1 auto; min-width: 0; }
    .gp5__card { border-bottom: 1px solid color-mix(in srgb, var(--gp5-bg, #fff) 85%, var(--gp5-tx, #111) 15%); }
  }
/* END_BLOCK:gempages-products-5 */

/* START_BLOCK:gempages-row (INDEX:49) */
.gempages-row-block {
    position: relative;
    width: 100%;
    background: var(--gpr-bg, #fff);
    padding-top: var(--gpr-pt, 60px);
    padding-bottom: var(--gpr-pb, 60px);
  }

  .gempages-row-block__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
  }

  .gempages-row-block__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, var(--gpr-overlay, 0));
    z-index: 1;
  }

  .gempages-row-block__wrap {
    position: relative;
    z-index: 2;
    max-width: var(--container-max-width, 1400px);
    margin-inline: auto;
    padding-inline: var(--container-padding-x, 20px);
  }

  .gempages-row-block--full .gempages-row-block__wrap {
    max-width: none;
    padding-inline: 0;
  }

  .gempages-row-block__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--gpr-gap, 24px);
    align-items: var(--gpr-valign, start);
  }

  .gempages-row-block__grid > .gp-item {
    grid-column: span var(--gp-col-mob, 12);
    min-width: 0;
  }

  .gempages-row-block__empty {
    grid-column: 1 / -1;
    padding: 3rem 1.5rem;
    text-align: center;
    border: 1px dashed rgba(0, 0, 0, 0.15);
    color: rgba(0, 0, 0, 0.45);
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .gp-item.gp-anim {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease, transform 0.6s ease;
  }

  .gp-item.gp-anim.is-visible {
    opacity: 1;
    transform: none;
  }

  .gp-item.gp-anim.fade-in { transform: none; }
  .gp-item.gp-anim.fade-left { transform: translateX(-20px); }
  .gp-item.gp-anim.fade-right { transform: translateX(20px); }
  .gp-item.gp-anim.fade-left.is-visible,
  .gp-item.gp-anim.fade-right.is-visible { transform: none; }

  @media screen and (min-width: 768px) {
    .gempages-row-block__grid > .gp-item {
      grid-column: span var(--gp-col-tab, var(--gp-col, 12));
    }
  }

  @media screen and (min-width: 992px) {
    .gempages-row-block__grid > .gp-item {
      grid-column: span var(--gp-col, 12);
    }
  }

  @media screen and (max-width: 767px) {
    .gempages-row-block {
      padding-top: var(--gpr-pt-mob, 32px);
      padding-bottom: var(--gpr-pb-mob, 32px);
    }

    .gempages-row-block__wrap {
      padding-inline: var(--container-padding-x-mobile, 16px);
    }

    .gp-item.gp-item--hide-mobile {
      display: none;
    }
  }
/* END_BLOCK:gempages-row */

/* START_BLOCK:gempages-spacer (INDEX:50) */
.gp-spacer__bar {
    display: block;
    height: var(--gp-spacer-height, 40px);
  }
/* END_BLOCK:gempages-spacer */

/* START_BLOCK:gempages-split-banner (INDEX:51) */
.gp-split {
    background: var(--gpspl-bg, #fff);
    padding-top: var(--gpspl-pt, 0);
    padding-bottom: var(--gpspl-pb, 0);
  }

  .gp-split__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 480px;
  }

  .gp-split--image-right .gp-split__media { order: 2; }

  .gp-split__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    min-height: 360px;
  }

  .gp-split__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 6vw, 5rem);
  }

  .gp-split__eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.6875rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.5;
  }

  .gp-split__heading {
    margin: 0 0 1rem;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 300;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.15;
  }

  .gp-split__text {
    margin-bottom: 1.5rem;
    line-height: 1.7;
    color: #666;
    max-width: 28rem;
  }

  .gp-split__btn {
    align-self: flex-start;
    display: inline-flex;
    padding: 0.875rem 2rem;
    background: #111;
    color: #fff;
    font-size: 0.6875rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    text-decoration: none;
  }

  @media (max-width: 991px) {
    .gp-split__grid { grid-template-columns: 1fr; }
    .gp-split--image-right .gp-split__media { order: 0; }
  }
/* END_BLOCK:gempages-split-banner */

/* START_BLOCK:gempages-testimonial (INDEX:52) */
.gp-testimonial__card {
    margin: 0;
    padding: var(--gp-testimonial-padding, 32px);
    background: var(--gp-testimonial-bg, #f9f9f9);
    border-radius: var(--gp-testimonial-radius, 0);
    text-align: var(--gp-testimonial-align, left);
    height: 100%;
  }

  .gp-testimonial__stars {
    color: #111;
    letter-spacing: 0.1em;
    margin-bottom: 0.75rem;
  }

  .gp-testimonial__star-empty {
    opacity: 0.25;
  }

  .gp-testimonial__quote {
    margin: 0 0 1rem;
    font-size: var(--gp-testimonial-quote-size, 16px);
    line-height: 1.6;
    font-style: italic;
  }

  .gp-testimonial__author {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #666;
  }
/* END_BLOCK:gempages-testimonial */

/* START_BLOCK:gempages-text (INDEX:53) */
.gp-text__content {
    font-size: var(--gp-text-size, 1rem);
    line-height: var(--gp-text-leading, 1.6);
    color: var(--gp-text-color, #111);
    text-align: var(--gp-text-align, left);
  }

  .gp-text__content p { margin: 0 0 1em; }
  .gp-text__content p:last-child { margin-bottom: 0; }
  .gp-text__content a {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
/* END_BLOCK:gempages-text */

/* START_BLOCK:gempages-trust-bar (INDEX:54) */
.gp-trust {
    background: var(--gptr-bg, #f9f9f9);
    color: var(--gptr-color, #111);
    padding-top: var(--gptr-pt, 24px);
    padding-bottom: var(--gptr-pb, 24px);
    border-block: 1px solid rgba(0, 0, 0, 0.06);
  }

  .gp-trust__grid {
    max-width: var(--container-max-width, 1400px);
    margin: 0 auto;
    padding-inline: var(--container-padding-x, 20px);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 1.5rem;
  }

  .gp-trust__item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    justify-content: center;
  }

  .gp-trust__icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
  }

  .gp-trust__icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.5;
  }

  .gp-trust__label {
    font-size: 0.6875rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  @media (max-width: 600px) {
    .gp-trust__grid { grid-template-columns: 1fr 1fr; }
  }
/* END_BLOCK:gempages-trust-bar */

/* START_BLOCK:gempages-video (INDEX:55) */
.gp-video__frame {
    position: relative;
    overflow: hidden;
    aspect-ratio: var(--gp-video-ratio, 16 / 9);
    border-radius: var(--gp-video-radius, 0);
    background: #000;
  }

  .gp-video__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
  }

  .gp-video__placeholder {
    aspect-ratio: var(--gp-video-ratio, 16 / 9);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f9f9f9;
    color: #666;
    font-size: 0.875rem;
    border: 1px dashed rgba(0, 0, 0, 0.15);
  }
/* END_BLOCK:gempages-video */

/* START_BLOCK:group (INDEX:56) */
.group {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
    width: 100%;
  }

  .group--horizontal {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--padding);
  }

  .group--vertical {
    flex-direction: column;
    align-items: var(--alignment);
    padding: var(--padding) 0;
  }
/* END_BLOCK:group */

/* START_BLOCK:text (INDEX:57) */
.text {
    text-align: var(--text-align);
  }
  .text--title {
    font-size: 2rem;
    font-weight: 700;
  }
  .text--subtitle {
    font-size: 1.5rem;
  }
/* END_BLOCK:text */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:cart-styles (INDEX:70) */
/* ---- Overlay ---- */
  .cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(17, 17, 17, 0.42);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    z-index: 1099;
    opacity: 0;
    pointer-events: none;
    transition: opacity 350ms ease;
  }

  .cart-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  /* ---- Drawer panel ---- */
  .cart-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: min(440px, 100vw);
    height: 100dvh;
    background: var(--color-background, #fff);
    z-index: 1100;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: -8px 0 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
  }

  .cart-drawer.is-open {
    transform: translateX(0);
  }

  .cart-drawer:focus {
    outline: none;
  }

  .cart-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0);
    flex-shrink: 0;
  }

  .cart-drawer__title {
    font-size: 0.6875rem;
    font-weight: var(--font-weight-medium, 500);
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    color: var(--color-text-primary, #111);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }

  .cart-drawer__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    background: var(--color-text-primary, #111);
    color: var(--color-white, #fff);
    font-size: 0.625rem;
    font-weight: var(--font-weight-medium, 500);
    border-radius: var(--radius-pill, 999px);
    line-height: 1;
  }

  .cart-drawer__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text-primary, #111);
    border-radius: var(--radius-base, 4px);
    transition: background-color var(--transition-fast, 150ms ease);
  }

  .cart-drawer__close:hover {
    background: var(--color-background-secondary, #f9f9f9);
  }

  .cart-drawer__close svg {
    width: 1.125rem;
    height: 1.125rem;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    fill: none;
  }

  .cart-drawer__body {
    flex: 1;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .cart-drawer__footer {
    flex-shrink: 0;
    padding: 1.25rem 1.5rem 1.5rem;
    border-top: 1px solid var(--color-border-light, #f0f0f0);
    background: var(--color-background, #fff);
  }

  .cart-drawer__loader {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.78);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    opacity: 0;
    pointer-events: none;
    transition: opacity 200ms ease;
  }

  .cart-drawer.is-loading .cart-drawer__loader {
    opacity: 1;
    pointer-events: auto;
  }

  .cart-drawer__spinner {
    width: 1.75rem;
    height: 1.75rem;
    border: 2px solid var(--color-border-light, #f0f0f0);
    border-top-color: var(--color-text-primary, #111);
    border-radius: 50%;
    animation: odkCartSpin 0.7s linear infinite;
  }

  @keyframes odkCartSpin {
    to { transform: rotate(360deg); }
  }

  /* ---- Free shipping bar ---- */
  .odk-cart-shipping {
    padding: 0.875rem 1.5rem;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0);
    background: var(--color-background-secondary, #fafafa);
  }

  .odk-cart-shipping__text {
    margin: 0 0 0.5rem;
    font-size: 0.625rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
    text-align: center;
    line-height: 1.4;
  }

  .odk-cart-shipping__text strong {
    color: var(--color-text-primary, #111);
    font-weight: var(--font-weight-medium, 500);
  }

  .odk-cart-shipping__track {
    height: 3px;
    background: var(--color-border, #e8e8e8);
    border-radius: var(--radius-pill, 999px);
    overflow: hidden;
  }

  .odk-cart-shipping__fill {
    display: block;
    height: 100%;
    width: 0;
    background: var(--color-text-primary, #111);
    border-radius: inherit;
    transition: width 400ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  .odk-cart-shipping.is-unlocked .odk-cart-shipping__fill {
    width: 100% !important;
  }

  /* ---- Line items ---- */
  .odk-cart-items {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .odk-cart-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0);
    position: relative;
    transition: opacity 250ms ease;
  }

  .odk-cart-item.is-removing {
    opacity: 0.35;
    pointer-events: none;
  }

  .odk-cart-item__media {
    flex-shrink: 0;
    width: 5.5rem;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--color-background-secondary, #f9f9f9);
    display: block;
  }

  .odk-cart-item__media img,
  .odk-cart-item__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .odk-cart-item__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding-right: 1.5rem;
  }

  .odk-cart-item__vendor {
    font-size: 0.625rem;
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
    margin: 0;
  }

  .odk-cart-item__title {
    font-size: 0.8125rem;
    font-weight: var(--font-weight-regular, 400);
    letter-spacing: 0.02em;
    color: var(--color-text-primary, #111);
    text-decoration: none;
    margin: 0;
    line-height: 1.4;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
  }

  .odk-cart-item__title:hover {
    color: var(--color-text-secondary, #666);
  }

  .odk-cart-item__variant,
  .odk-cart-item__plan {
    font-size: 0.75rem;
    color: var(--color-text-secondary, #666);
    margin: 0;
  }

  .odk-cart-item__meta {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
  }

  .odk-cart-item__properties {
    margin: 0.25rem 0 0;
    font-size: 0.6875rem;
    color: var(--color-text-secondary, #666);
  }

  .odk-cart-item__property {
    display: flex;
    gap: 0.35rem;
    margin: 0;
  }

  .odk-cart-item__property dt {
    font-weight: var(--font-weight-medium, 500);
  }

  .odk-cart-item__property dd {
    margin: 0;
  }

  .odk-cart-item__footer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    margin-top: 0.625rem;
    flex-wrap: wrap;
  }

  .odk-cart-item__qty {
    display: flex;
    align-items: center;
    border: 1px solid var(--color-border, #e8e8e8);
    height: 2rem;
  }

  .odk-cart-item__qty-btn {
    width: 2rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text-primary, #111);
    font-size: 1rem;
    line-height: 1;
    transition: background-color var(--transition-fast, 150ms ease);
  }

  .odk-cart-item__qty-btn:hover:not(:disabled) {
    background: var(--color-background-secondary, #f9f9f9);
  }

  .odk-cart-item__qty-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
  }

  .odk-cart-item__qty-val {
    min-width: 2.25rem;
    text-align: center;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: var(--color-text-primary, #111);
    border-left: 1px solid var(--color-border, #e8e8e8);
    border-right: 1px solid var(--color-border, #e8e8e8);
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .odk-cart-item__prices {
    text-align: right;
  }

  .odk-cart-item__price {
    font-size: 0.875rem;
    color: var(--color-text-primary, #111);
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  .odk-cart-item__price-compare {
    display: block;
    font-size: 0.75rem;
    color: var(--color-text-secondary, #666);
    text-decoration: line-through;
  }

  .odk-cart-item__remove {
    position: absolute;
    top: 1.25rem;
    right: 1.5rem;
    width: 1.75rem;
    height: 1.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--color-text-secondary, #666);
    padding: 0;
    transition: color var(--transition-fast, 150ms ease);
  }

  .odk-cart-item__remove:hover {
    color: var(--color-text-primary, #111);
  }

  .odk-cart-item__remove svg {
    width: 0.875rem;
    height: 0.875rem;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    fill: none;
  }

  /* ---- Empty state ---- */
  .odk-cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 20rem;
    padding: 3rem 1.5rem;
    text-align: center;
    gap: 1.25rem;
  }

  .odk-cart-empty__icon svg {
    width: 3.5rem;
    height: 3.5rem;
    stroke: var(--color-border, #e8e8e8);
    stroke-width: 1;
    fill: none;
  }

  .odk-cart-empty__title {
    font-size: 0.75rem;
    font-weight: var(--font-weight-medium, 500);
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
    margin: 0;
  }

  .odk-cart-empty__btn {
    display: inline-flex;
    align-items: center;
    padding: 0.75rem 1.75rem;
    background: transparent;
    color: var(--color-text-primary, #111);
    border: 1.5px solid var(--color-text-primary, #111);
    font-size: 0.6875rem;
    font-weight: var(--font-weight-medium, 500);
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    text-decoration: none;
    transition: background var(--transition-base, 250ms ease), color var(--transition-base, 250ms ease);
  }

  .odk-cart-empty__btn:hover {
    background: var(--color-text-primary, #111);
    color: var(--color-white, #fff);
  }

  /* ---- Summary / footer ---- */
  .odk-cart-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 1rem;
  }

  .odk-cart-summary__label {
    font-size: 0.75rem;
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
  }

  .odk-cart-summary__price {
    font-size: 1.125rem;
    font-weight: var(--font-weight-light, 300);
    letter-spacing: var(--letter-spacing-heading, 0.08em);
    color: var(--color-text-primary, #111);
  }

  .odk-cart-summary__note {
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
    text-align: center;
    margin: 0 0 1rem;
    line-height: 1.5;
  }

  .odk-cart-summary__checkout {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 1rem 1.5rem;
    background: var(--color-text-primary, #111);
    color: var(--color-white, #fff);
    font-size: 0.6875rem;
    font-weight: var(--font-weight-medium, 500);
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity var(--transition-base, 250ms ease);
  }

  .odk-cart-summary__checkout:hover {
    opacity: 0.86;
  }

  .odk-cart-summary__link {
    display: block;
    text-align: center;
    font-size: 0.625rem;
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
    text-decoration: none;
    margin-top: 0.625rem;
    transition: color var(--transition-fast, 150ms ease);
    background: none;
    border: none;
    width: 100%;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
  }

  .odk-cart-summary__link:hover {
    color: var(--color-text-primary, #111);
  }

  /* ---- Recommendations ---- */
  .odk-cart-recs {
    padding: 1.25rem 1.5rem 1.5rem;
    border-top: 1px solid var(--color-border-light, #f0f0f0);
  }

  .odk-cart-recs__title {
    margin: 0 0 0.875rem;
    font-size: 0.625rem;
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
  }

  .odk-cart-recs__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }

  .odk-cart-recs__card {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
  }

  .odk-cart-recs__media {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: var(--color-background-secondary, #f9f9f9);
  }

  .odk-cart-recs__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 400ms ease;
  }

  .odk-cart-recs__card:hover .odk-cart-recs__media img {
    transform: scale(1.04);
  }

  .odk-cart-recs__name {
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    line-height: 1.35;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  .odk-cart-recs__price {
    font-size: 0.6875rem;
    color: var(--color-text-secondary, #666);
    margin: 0;
  }

  /* ---- Cart page ---- */
  .cart-page {
    padding: var(--spacing-xl, 40px) var(--container-padding-x, 20px) var(--spacing-2xl, 64px);
    background: var(--color-background, #fff);
  }

  .cart-page__inner {
    max-width: var(--container-max-width, 1400px);
    margin: 0 auto;
  }

  .cart-page__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--color-border-light, #f0f0f0);
  }

  .cart-page__title {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    font-weight: var(--font-weight-light, 300);
    letter-spacing: var(--letter-spacing-heading, 0.08em);
    text-transform: uppercase;
    margin: 0;
  }

  .cart-page__count {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
    margin: 0;
  }

  .cart-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 2.5rem;
    align-items: start;
  }

  .cart-page__items-panel {
    min-width: 0;
  }

  .cart-page__items-panel .odk-cart-item {
    padding-inline: 0;
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr) auto auto;
    grid-template-areas:
      "media title title remove"
      "media meta qty price";
    align-items: start;
    column-gap: 1rem;
    row-gap: 0.35rem;
  }

  .cart-page__items-panel .odk-cart-item__media {
    grid-area: media;
    align-self: start;
  }

  .cart-page__items-panel .odk-cart-item__body {
    display: contents;
  }

  .cart-page__items-panel .odk-cart-item__meta {
    grid-area: meta;
    align-self: start;
    min-height: 1.125rem;
  }

  .cart-page__items-panel .odk-cart-item__title {
    grid-area: title;
    font-size: 0.875rem;
    font-weight: var(--font-weight-medium, 500);
    letter-spacing: 0.01em;
    line-height: 1.35;
    padding-right: 1.75rem;
  }

  .cart-page__items-panel .odk-cart-item__footer {
    display: contents;
  }

  .cart-page__items-panel .odk-cart-item__qty {
    grid-area: qty;
    justify-self: start;
    align-self: start;
  }

  .cart-page__items-panel .odk-cart-item__prices {
    grid-area: price;
    justify-self: end;
    align-self: start;
    text-align: right;
  }

  .cart-page__items-panel .odk-cart-item__remove {
    grid-area: remove;
    position: static;
    justify-self: end;
    align-self: start;
  }

  .cart-page__sidebar {
    position: sticky;
    top: calc(var(--header-height, 72px) + 1.5rem);
    padding: 1.5rem;
    border: 1px solid var(--color-border-light, #f0f0f0);
    background: var(--color-background-secondary, #fafafa);
  }

  .cart-page__note {
    margin-bottom: 1.25rem;
  }

  .cart-page__note-label {
    display: block;
    font-size: 0.625rem;
    letter-spacing: var(--letter-spacing-caps, 0.15em);
    text-transform: uppercase;
    color: var(--color-text-secondary, #666);
    margin-bottom: 0.5rem;
  }

  .cart-page__note-input {
    width: 100%;
    min-height: 5rem;
    padding: 0.75rem;
    border: 1px solid var(--color-border, #e8e8e8);
    background: var(--color-background, #fff);
    font: inherit;
    font-size: 0.8125rem;
    resize: vertical;
    color: var(--color-text-primary, #111);
  }

  .cart-page__note-input:focus {
    outline: 2px solid var(--color-text-primary, #111);
    outline-offset: 1px;
  }

  .cart-page__note-save {
    margin-top: 0.5rem;
    padding: 0.5rem 1rem;
    background: none;
    border: 1px solid var(--color-border, #e8e8e8);
    font-size: 0.625rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    color: var(--color-text-primary, #111);
    transition: background var(--transition-fast, 150ms ease);
  }

  .cart-page__note-save:hover {
    background: var(--color-background, #fff);
  }

  .cart-page .odk-cart-shipping {
    margin-bottom: 1.25rem;
    padding: 0.875rem;
    border: none;
    border-radius: var(--radius-base, 4px);
  }

  .cart-page__recs {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-border-light, #f0f0f0);
  }

  .cart-page__recs .odk-cart-recs__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .odk-cart-error {
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    color: #7a1f1f;
    background: #fdf0f0;
    border: 1px solid #f0d4d4;
    display: none;
  }

  .odk-cart-error.is-visible {
    display: block;
  }

  @media screen and (max-width: 900px) {
    .cart-page__layout {
      grid-template-columns: 1fr;
    }

    .cart-page__sidebar {
      position: static;
    }

    .cart-page__recs .odk-cart-recs__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media screen and (max-width: 749px) {
    .cart-drawer__header {
      padding: 0.875rem 1rem;
    }

    .cart-drawer__title {
      font-size: 0.625rem;
    }

    .cart-drawer__count {
      min-width: 1.125rem;
      height: 1.125rem;
      font-size: 0.5625rem;
    }

    .cart-drawer__close {
      width: 2rem;
      height: 2rem;
    }

    .cart-drawer__footer {
      padding: 0.875rem 1rem 1rem;
    }

    .odk-cart-shipping {
      padding: 0.625rem 1rem;
    }

    .odk-cart-shipping__text {
      font-size: 0.5625rem;
      margin-bottom: 0.375rem;
    }

    .odk-cart-item {
      gap: 0.625rem;
      padding: 0.875rem 1rem;
    }

    .odk-cart-item__media {
      width: 3.75rem;
    }

    .odk-cart-item__body {
      padding-right: 1.25rem;
    }

    .odk-cart-item__title {
      font-size: 0.6875rem;
    }

    .cart-page__items-panel .odk-cart-item {
      grid-template-columns: 3.75rem minmax(0, 1fr) auto;
      grid-template-areas:
        "media title remove"
        "media meta meta"
        "media qty price";
      column-gap: 0.625rem;
      row-gap: 0.25rem;
    }

    .cart-page__items-panel .odk-cart-item__title {
      font-size: 0.75rem;
      padding-right: 0;
    }

    .odk-cart-item__variant,
    .odk-cart-item__plan,
    .odk-cart-item__properties {
      font-size: 0.625rem;
    }

    .odk-cart-item__qty {
      height: 1.75rem;
    }

    .odk-cart-item__qty-btn {
      width: 1.75rem;
      font-size: 0.875rem;
    }

    .odk-cart-item__qty-val {
      min-width: 1.75rem;
      font-size: 0.6875rem;
    }

    .odk-cart-item__price {
      font-size: 0.75rem;
    }

    .odk-cart-item__price-compare {
      font-size: 0.625rem;
    }

    .odk-cart-item__remove {
      top: 0.875rem;
      right: 1rem;
      width: 1.5rem;
      height: 1.5rem;
    }

    .odk-cart-summary__price {
      font-size: 1rem;
    }

    .odk-cart-summary__checkout {
      padding: 0.8125rem 1rem;
      font-size: 0.625rem;
    }

    .odk-cart-summary__note,
    .odk-cart-summary__link {
      font-size: 0.5625rem;
    }

    .odk-cart-recs {
      padding: 0.875rem 1rem 1rem;
    }

    .odk-cart-recs__title {
      font-size: 0.5625rem;
      margin-bottom: 0.625rem;
    }

    .odk-cart-recs__grid {
      gap: 0.5rem;
    }

    .odk-cart-recs__name,
    .odk-cart-recs__price {
      font-size: 0.625rem;
    }

    .odk-cart-empty {
      min-height: 14rem;
      padding: 2rem 1rem;
      gap: 1rem;
    }

    .odk-cart-empty__icon svg {
      width: 2.75rem;
      height: 2.75rem;
    }

    .odk-cart-empty__title {
      font-size: 0.6875rem;
    }

    .odk-cart-empty__btn {
      padding: 0.625rem 1.25rem;
      font-size: 0.625rem;
    }

    .cart-page {
      padding: 1.25rem var(--container-padding-x-mobile, 16px) 2rem;
    }

    .cart-page__header {
      margin-bottom: 1.25rem;
      padding-bottom: 0.875rem;
    }

    .cart-page__title {
      font-size: 1rem;
    }

    .cart-page__count {
      font-size: 0.625rem;
    }

    .cart-page__sidebar {
      padding: 1rem;
    }

    .cart-page__note-input {
      min-height: 4rem;
      font-size: 0.75rem;
    }

    .cart-page__recs {
      margin-top: 2rem;
      padding-top: 1.25rem;
    }
  }

  @media screen and (max-width: 480px) {
    .cart-drawer {
      width: 100vw;
    }
  }
/* END_SNIPPET:cart-styles */

/* START_SNIPPET:gempages-link-flow-styles (INDEX:75) */
.gp-link-flow-hint {
    display: none;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
    padding: 0.35rem 0.625rem;
    font-size: 0.625rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.3;
    color: #1a3a5c;
    background: rgba(26, 58, 92, 0.08);
    border: 1px dashed rgba(26, 58, 92, 0.28);
    border-radius: 2px;
    max-width: 100%;
    word-break: break-word;
  }

  html.shopify-design-mode .gp-link-flow-hint {
    display: inline-flex;
  }

  .gp-link-flow-hint--overlay {
    position: absolute;
    bottom: 0.5rem;
    left: 0.5rem;
    z-index: 6;
    margin: 0;
    pointer-events: none;
  }

  .gp-link-flow-hint--inline {
    margin-top: 0.35rem;
  }

  .gp-link-flow-wrap {
    position: relative;
  }
/* END_SNIPPET:gempages-link-flow-styles */

/* START_SNIPPET:gempages-preview-styles (INDEX:79) */
.gp-visual-preview.gp-hero,
  .gp-visual-preview .gp-hero {
    min-height: 280px !important;
  }

  .gp-visual-preview.gp-hero .gp-hero__media--preview-gradient,
  .gp-visual-preview .gp-hero .gp-hero__media--preview-gradient {
    background: linear-gradient(145deg, #0a0a0a 0%, #2a2a2a 45%, #111111 100%);
  }

  .gp-visual-preview.gp-hero .gp-hero__placeholder,
  .gp-visual-preview .gp-hero .gp-hero__placeholder {
    background: linear-gradient(145deg, #0a0a0a 0%, #2a2a2a 45%, #111111 100%);
  }

  .gp-visual-preview.gp-hero .gp-hero__placeholder svg,
  .gp-visual-preview .gp-hero .gp-hero__placeholder svg {
    opacity: 0.2;
  }

  .gp-visual-preview.gp-products-5 .gp5__card--1 .gp5__media,
  .gp-visual-preview .gp-products-5 .gp5__card--1 .gp5__media {
    min-height: 160px;
  }

  .gp-visual-preview.gp-products-5 .gp5__media-cta,
  .gp-visual-preview .gp-products-5 .gp5__media-cta {
    opacity: 1;
    transform: none;
  }

  .gp-visual-preview.gp-products-5 .gp5__quick-btn,
  .gp-visual-preview .gp-products-5 .gp5__quick-btn {
    pointer-events: auto;
    transform: none;
  }

  .gp-visual-preview.gp-marquee .gp-marquee__track,
  .gp-visual-preview .gp-marquee .gp-marquee__track {
    animation: none;
  }

  .gp-visual-preview.gp-marquee,
  .gp-visual-preview .gp-marquee {
    justify-content: center;
  }

  .gp-visual-preview.gp-marquee .gp-marquee__track--clone,
  .gp-visual-preview .gp-marquee .gp-marquee__track--clone {
    display: none;
  }

  .gp-visual-preview.gp-trust,
  .gp-visual-preview .gp-trust {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .gp-visual-preview.asymmetric-5-products .asp__card--1 .asp__media,
  .gp-visual-preview .asymmetric-5-products .asp__card--1 .asp__media {
    min-height: 160px;
  }

  .gp-visual-preview.asymmetric-5-products .asp__media-cta,
  .gp-visual-preview .asymmetric-5-products .asp__media-cta {
    opacity: 1;
  }

  .gp-visual-preview.asymmetric-5-products .asp__quick-btn,
  .gp-visual-preview .asymmetric-5-products .asp__quick-btn {
    pointer-events: auto;
    transform: none;
  }
/* END_SNIPPET:gempages-preview-styles */

/* START_SNIPPET:gp5-quick-buy-bundle (INDEX:83) */
#{{ root_id }} .gp5__atc-wrap,
  #{{ root_id }} .gp5__atc {
    display: none !important;
  }

  #{{ root_id }} .gp5__media-cta {
    opacity: 1;
    pointer-events: auto;
  }

  #{{ root_id }} .gp5__card:hover .gp5__media-cta,
  #{{ root_id }} .gp5__media-cta:focus-within {
    opacity: 1;
    pointer-events: auto;
  }

  #{{ root_id }} .gp5__quick-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--quick-btn-size, 3.25rem);
    height: var(--quick-btn-size, 3.25rem);
    padding: 0;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 50%;
    background: #fff;
    color: #111;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    cursor: pointer;
    transform: scale(1);
    transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 220ms ease;
  }

  #{{ root_id }} .gp5__card:hover .gp5__quick-btn,
  #{{ root_id }} .gp5__quick-btn:focus-visible,
  #{{ root_id }} .gp5__quick-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
  }

  #{{ root_id }} .gp5__quick-btn .asp__quick-btn__icon svg {
    width: calc(var(--quick-btn-size, 3.25rem) * 0.4);
    height: calc(var(--quick-btn-size, 3.25rem) * 0.4);
    display: block;
  }

  #{{ root_id }} .gp5__info-cta {
    display: none;
    flex-shrink: 0;
  }

  @media screen and (max-width: 991px), (hover: none) {
    #{{ root_id }} .gp5__media-cta {
      display: none !important;
    }

    #{{ root_id }} .gp5__info-cta {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    #{{ root_id }} .gp5__quick-btn--info {
      width: calc(var(--quick-btn-size, 3.25rem) * 0.78);
      height: calc(var(--quick-btn-size, 3.25rem) * 0.78);
      flex-shrink: 0;
    }

    #{{ root_id }} .gp5__quick-btn--info .asp__quick-btn__icon svg {
      width: calc(var(--quick-btn-size, 3.25rem) * 0.32);
      height: calc(var(--quick-btn-size, 3.25rem) * 0.32);
    }
  }
/* END_SNIPPET:gp5-quick-buy-bundle */

/* START_SNIPPET:image (INDEX:88) */
.image {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
  }

  .image > img {
    width: 100%;
    height: auto;
  }
/* END_SNIPPET:image */

/* START_SNIPPET:odaki-section-base (INDEX:95) */
.odaki-section {
    padding: var(--odaki-pt, 48px) var(--container-padding-x, 20px) var(--odaki-pb, 48px);
    background: var(--odaki-bg, #fff);
    color: var(--odaki-fg, #111);
  }

  .odaki-section__inner {
    max-width: var(--container-max-width, 1200px);
    margin: 0 auto;
  }

  .odaki-section__header {
    margin-bottom: 1.5rem;
    text-align: center;
  }

  .odaki-section__title {
    margin: 0;
    font-size: clamp(1.125rem, 2.5vw, 1.5rem);
    font-weight: 400;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .odaki-section__subtitle {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    opacity: 0.7;
  }

  .odaki-section__empty {
    text-align: center;
    font-size: 0.875rem;
    opacity: 0.6;
  }
/* END_SNIPPET:odaki-section-base */

/* START_SNIPPET:odaki-size-chart-table (INDEX:96) */
.odaki-size-chart__embed {
    width: 100%;
  }

  .odaki-size-chart__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap;
  }

  .odaki-size-chart__unit-switch {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
  }

  .odaki-size-chart__unit-label {
    font-size: 0.6875rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.45;
    transition: opacity 0.2s ease;
  }

  .odaki-size-chart__unit-label.is-active {
    opacity: 1;
  }

  .odaki-size-chart__switch {
    position: relative;
    width: 2.75rem;
    height: 1.375rem;
    padding: 0;
    border: 1px solid rgba(17, 17, 17, 0.18);
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.06);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
  }

  .odaki-size-chart__switch[aria-checked='true'] {
    background: rgba(17, 17, 17, 0.92);
    border-color: rgba(17, 17, 17, 0.92);
  }

  .odaki-size-chart__switch-knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(1.375rem - 6px);
    height: calc(1.375rem - 6px);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease;
  }

  .odaki-size-chart__switch[aria-checked='true'] .odaki-size-chart__switch-knob {
    transform: translateX(1.375rem);
  }

  .odaki-size-chart__unit {
    margin: 0;
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-align: right;
    opacity: 0.65;
  }

  .odaki-size-chart__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .odaki-size-chart__table {
    width: 100%;
    min-width: 28rem;
    border-collapse: collapse;
    font-size: 0.8125rem;
  }

  .odaki-size-chart__table th,
  .odaki-size-chart__table td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgba(17, 17, 17, 0.12);
    text-align: center;
  }

  .odaki-size-chart__table thead th {
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 0.6875rem;
  }

  .odaki-size-chart__table tbody th {
    font-weight: 500;
    text-align: center;
  }

  .odaki-size-chart__note {
    margin: 1rem 0 0;
    font-size: 0.75rem;
    opacity: 0.65;
    text-align: center;
  }

  .odaki-size-chart__embed--compact .odaki-size-chart__table {
    min-width: 22rem;
    font-size: 0.75rem;
  }

  .odaki-size-chart__embed--compact .odaki-size-chart__table th,
  .odaki-size-chart__embed--compact .odaki-size-chart__table td {
    padding: 0.55rem 0.65rem;
  }

  .odaki-size-chart__embed--compact .odaki-size-chart__unit {
    font-size: 0.6875rem;
  }

  .odaki-size-chart__embed--compact .odaki-size-chart__note {
    font-size: 0.6875rem;
    margin-top: 0.75rem;
  }

  .odaki-size-chart__embed--compact .odaki-size-chart__toolbar {
    margin-bottom: 0.5rem;
  }
/* END_SNIPPET:odaki-size-chart-table */

/* START_SNIPPET:product-detail-tabs (INDEX:128) */
.pi-detail-tabs {
    margin-top: 1.5rem;
    margin-bottom: 3.5rem;
    width: 100%;
  }

  .pi-detail-tabs__nav {
    display: grid;
    grid-template-columns: repeat(var(--pi-detail-tabs-count, 4), minmax(0, 1fr));
    border: 1px solid rgba(var(--color-foreground), 0.9);
  }

  .pi-detail-tabs__tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 4.4rem;
    margin: 0;
    padding: 0.65rem 0.5rem;
    border: 0;
    border-right: 1px solid rgba(var(--color-foreground), 0.9);
    background: rgb(var(--color-background));
    color: rgb(var(--color-foreground));
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    text-align: center;
    transition: background 0.15s ease, color 0.15s ease;
  }

  .pi-detail-tabs__tab:last-child {
    border-right: 0;
  }

  .pi-detail-tabs__tab.is-active {
    background: rgb(var(--color-foreground));
    color: rgb(var(--color-background));
  }

  .pi-detail-tabs__tab.is-active .svg-wrapper {
    color: inherit;
  }

  .pi-detail-tabs__tab-icon {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
    line-height: 0;
  }

  .pi-detail-tabs__tab-icon .svg-wrapper {
    width: 100%;
    height: 100%;
  }

  .pi-detail-tabs__tab-icon svg {
    width: 100%;
    height: 100%;
  }

  .pi-detail-tabs__tab-label {
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
  }

  .pi-detail-tabs__stage {
    position: relative;
  }

  .pi-detail-tabs__panels {
    position: relative;
    border: 1px solid rgba(var(--color-foreground), 0.9);
    border-top: 0;
    background: rgb(var(--color-background));
  }

  .pi-detail-tabs__panel {
    display: none;
    padding: 1.5rem 1.25rem 1.75rem;
    font-size: 0.875rem;
    line-height: 1.65;
    color: rgba(var(--color-foreground), 0.88);
  }

  .pi-detail-tabs__panel.is-active {
    display: block;
  }

  .pi-detail-tabs__panel > *:first-child {
    margin-top: 0;
  }

  .pi-detail-tabs__panel > *:last-child {
    margin-bottom: 0;
  }

  @media screen and (max-width: 749px) {
    .pi-detail-tabs {
      margin-top: 2rem;
      margin-bottom: 2.5rem;
      padding: 0.75rem 1rem 0;
    }

    .pi-detail-tabs__nav {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pi-detail-tabs__tab:nth-child(2n) {
      border-right: 0;
    }

    .pi-detail-tabs__tab:nth-child(-n + 2) {
      border-bottom: 1px solid rgba(var(--color-foreground), 0.9);
    }

    .pi-detail-tabs__tab {
      min-height: 3.75rem;
      padding: 0.55rem 0.35rem;
    }

    .pi-detail-tabs__panel {
      padding: 1rem 0.85rem 1.25rem;
      font-size: 0.8125rem;
    }
  }
/* END_SNIPPET:product-detail-tabs */

/* START_SNIPPET:product-media-malla-color (INDEX:140) */
.product-media__malla-color {
    width: 100%;
  }

  .product-media__malla-main {
    display: block;
    width: 100%;
    aspect-ratio: var(--malla-main-ratio, 4 / 5);
    overflow: hidden;
    background: #fff;
  }

  .product-media__malla-panel {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden;
  }

  .product-media__malla-main {
    position: relative;
  }

  .product-media__malla-panel.is-hidden {
    display: none !important;
  }

  .product-media__malla-panel:not(.is-hidden) {
    display: block;
  }

  .product-media__malla-panel .product-media__zoom {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }

  .product-media__malla-panel .product-media__asset {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
/* END_SNIPPET:product-media-malla-color */

/* START_SNIPPET:product-size-guide-button (INDEX:143) */
.pi-size-guide-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: 0.6rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: currentColor;
    font: inherit;
    font-size: 0.75rem;
    letter-spacing: 0.01em;
    text-decoration: underline;
    text-underline-offset: 3px;
    opacity: 0.75;
    cursor: pointer;
  }

  .pi-size-guide-btn:hover,
  .pi-size-guide-btn:focus-visible {
    opacity: 1;
  }

  .pi-size-guide-btn__icon {
    width: 0.95rem;
    height: 0.95rem;
    flex-shrink: 0;
  }
/* END_SNIPPET:product-size-guide-button */

/* START_SNIPPET:product-size-guide-modal (INDEX:144) */
.pi-size-guide-modal {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
  }

  .pi-size-guide-modal.is-open {
    display: flex;
  }

  html.pi-size-guide-lock {
    overflow: hidden;
  }

  .pi-size-guide-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 8, 0.82);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .pi-size-guide-modal__frame {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: min(96vw, 860px);
    height: 100%;
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    color: #fff;
  }

  .pi-size-guide-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.25rem 0;
    flex-shrink: 0;
  }

  .pi-size-guide-modal__title {
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.85;
  }

  .pi-size-guide-modal__close {
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
  }

  .pi-size-guide-modal__close:hover {
    background: rgba(255, 255, 255, 0.22);
  }

  .pi-size-guide-modal__close svg {
    width: 1.1rem;
    height: 1.1rem;
  }

  .pi-size-guide-modal__stage {
    position: relative;
    min-height: 0;
    flex: 1 1 auto;
    padding: 1rem 2.75rem;
  }

  .pi-size-guide-modal__viewport {
    position: relative;
    overflow: visible;
    width: 100%;
    height: 100%;
  }

  .pi-size-guide-modal__track {
    position: absolute;
    inset: 0;
  }

  .pi-size-guide-modal__slide {
    position: absolute;
    inset: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.42s cubic-bezier(0.22, 0.8, 0.32, 1), opacity 0.42s ease;
    will-change: transform, opacity;
  }

  .pi-size-guide-modal__slide.is-active {
    cursor: default;
  }

  .pi-size-guide-modal__image {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.55));
  }

  .pi-size-guide-modal__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    flex-shrink: 0;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
  }

  .pi-size-guide-modal__nav--prev {
    left: 0;
  }

  .pi-size-guide-modal__nav--next {
    right: 0;
  }

  .pi-size-guide-modal__nav svg {
    width: 1rem;
    height: 1rem;
  }

  .pi-size-guide-modal__nav:hover {
    background: rgba(255, 255, 255, 0.24);
  }

  .pi-size-guide-modal__dots {
    display: flex;
    justify-content: center;
    gap: 0.4375rem;
    padding: 0 0 1.5rem;
    flex-shrink: 0;
  }

  .pi-size-guide-modal__dot {
    width: 0.4rem;
    height: 0.4rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
  }

  .pi-size-guide-modal__dot.is-active {
    background: #fff;
    transform: scale(1.2);
  }

  @media screen and (max-width: 480px) {
    .pi-size-guide-modal__stage {
      padding: 0.5rem 2.5rem;
    }

    .pi-size-guide-modal__nav {
      width: 2.125rem;
      height: 2.125rem;
    }
  }
/* END_SNIPPET:product-size-guide-modal */