@media (max-width: 1199px) {
  body.yoko-native-template { --yoko-page-gutter: clamp(18px,3vw,34px); }
}
@media (max-width: 1023px) {
  .yoko-shell,.yoko-pdp__container,.yoko-seasonal-container,.yoko-dealer-shell,.yoko-content-shell,.yoko-about__shell,.yoko-archive__shell,.yoko-homepage__shell,.yoko-sales-policy__shell,.yoko-size-guide__shell { width: min(calc(100% - (var(--yoko-page-gutter) * 2)),var(--yoko-content-max)); }
}
@media (max-width: 767px) {
  html,body { max-width: 100%; }
  body.yoko-native-template { overflow-x: hidden; }
  body.yoko-native-template main { min-width: 0; }
  body.yoko-native-template :where(table) { font-size: 14px; }
  body.yoko-native-template :where(.yoko-table-scroll,.yoko-size-table-wrap,.yoko-dealer-tier-table-wrap) { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  body.yoko-native-template :where(.yoko-table-scroll,.yoko-size-table-wrap,.yoko-dealer-tier-table-wrap) table { min-width: 680px; }
  body.yoko-native-template .rey-siteFooter { font-size: 14px; }
  body.yoko-native-template .rey-siteFooter :where(.elementor-row,.elementor-container) { gap: 22px 16px; }
}
@media (max-width: 390px) {
  :root { --yoko-page-gutter: 14px; }
  .yoko-product-card__content h3 { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Readability pass for legacy template selectors. This file is intentionally last. */
body.yoko-native-template main :where(p, li) {
  font-size: 1rem;
  line-height: var(--yoko-line-body);
}
body.yoko-native-template main :where(.yoko-product-card,.yoko-news-card,.yoko-news-sidebar,.yoko-breadcrumb,.yoko-news-meta,.yoko-trust-card,.yoko-service-item,.yoko-caption) :where(p,li,small,time) {
  font-size: var(--yoko-copy-caption);
  line-height: 1.5;
}
body.yoko-native-template main :where(.yoko-product-card__content h3,.yoko-news-card h2,.yoko-news-side-post b) {
  font-size: 15px;
}
body.yoko-native-template main :where(.yoko-form label,.yoko-contact-form label>span) {
  font-size: 14px;
}
body.yoko-native-template main :where(.yoko-button,.yoko-seasonal-button,.yoko-dealer-button,button[type="submit"]) {
  color: #fff;
  -webkit-text-fill-color: #fff;
}
body.yoko-native-template main :where(.yoko-button--secondary,.yoko-button--light,.yoko-seasonal-outline-button,.yoko-dealer-button--secondary) {
  color: var(--yoko-primary);
  -webkit-text-fill-color: var(--yoko-primary);
}

@media (max-width: 767px) {
  body.yoko-native-template main :where(p,li) { font-size: 16px; }
  body.yoko-native-template main :where(.yoko-product-card,.yoko-news-card,.yoko-news-sidebar,.yoko-breadcrumb,.yoko-news-meta,.yoko-trust-card,.yoko-service-item,.yoko-caption) :where(p,li,small,time) { font-size: 13px; }
  body.yoko-native-template main :where(.yoko-product-card__content h3,.yoko-news-card h2,.yoko-news-side-post b) { font-size: 13px; }
}

/* v3.3.0 stability layer: target preserved template markup without reintroducing page-specific tokens. */
body.yoko-native-template main :where(
  .yoko-home-hero,
  .yoko-seasonal-hero,
  .yoko-archive-hero,
  .yoko-sales-hero,
  .yoko-size-hero,
  .yoko-contact-hero,
  .yoko-about-hero,
  .yoko-dealer-hero,
  .yoko-thanks-hero,
  .yoko-pdp__hero
) { overflow: clip; }

body.yoko-native-template main :where(
  .yoko-home-hero__media,
  .yoko-sales-hero__media,
  .yoko-size-hero__visual,
  .yoko-contact-hero__visual,
  .yoko-about-hero__visual,
  .yoko-dealer-hero__media,
  .yoko-thanks-hero__visual,
  .yoko-archive-hero__visual
) img { width: 100%; height: 100%;}

body.yoko-native-template main :where(
  .yoko-sales-grid > article,
  .yoko-size-guide-card,
  .yoko-size-measure-card,
  .yoko-content-card,
  .yoko-news-card,
  .yoko-dealer-intro-card,
  .yoko-dealer-tier-card
) {
  border-color: var(--yoko-line);
  background: var(--yoko-white);
  box-shadow: var(--yoko-shadow-sm);
}

body.yoko-native-template main :where(
  .yoko-sales-grid p,
  .yoko-size-guide-card p,
  .yoko-size-measure-card p,
  .yoko-content-card p,
  .yoko-news-card p,
  .yoko-dealer-intro-card p,
  .yoko-dealer-tier-card p
) { color: var(--yoko-text); }

body.yoko-native-template main :where(
  .yoko-button--primary,
  .yoko-button--buy-now,
  .yoko-button--quote,
  .yoko-seasonal-button,
  .yoko-dealer-button--primary,
  input[type="submit"],
  button[type="submit"]
) {
  color: var(--yoko-white);
  -webkit-text-fill-color: var(--yoko-white);
  background-color: var(--yoko-primary);
  border-color: var(--yoko-primary);
}

body.yoko-native-template main :where(
  .yoko-button--primary,
  .yoko-button--buy-now,
  .yoko-button--quote,
  .yoko-seasonal-button,
  .yoko-dealer-button--primary,
  input[type="submit"],
  button[type="submit"]
):hover {
  color: var(--yoko-white);
  -webkit-text-fill-color: var(--yoko-white);
  background-color: var(--yoko-primary-dark);
  border-color: var(--yoko-primary-dark);
}

body.yoko-native-template main :where(
  .yoko-product-card__media,
  .yoko-seasonal-product-media,
  .yoko-news-card__image,
  .yoko-news-card__media,
  .yoko-home-posts article > a,
  .yoko-look-card,
  .yoko-seasonal-styling-card
) { overflow: hidden; }

body.yoko-native-template main :where(
  .yoko-product-card__media,
  .yoko-seasonal-product-media,
  .yoko-news-card__image,
  .yoko-news-card__media,
  .yoko-look-card,
  .yoko-seasonal-styling-card
) img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 767px) {
  body.yoko-native-template main :where(.yoko-home-products,.yoko-seasonal-product-grid,.yoko-seasonal-products__grid,.yoko-archive-grid) {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px;
  }

  body.yoko-native-template main :where(.yoko-seasonal-trust-grid,.yoko-home-trust,.yoko-pdp-trust,.yoko-trust-strip) {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    overflow: visible;
  }
  body.yoko-native-template main .yoko-seasonal-trust-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }

  body.yoko-native-template main :where(.yoko-seasonal-services-grid,.yoko-size-service,.yoko-content-trust,.yoko-pdp-policy,.yoko-pdp-quick-benefits) {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  body.yoko-native-template main :where(.yoko-seasonal-styling-grid,.yoko-lookbook__grid,.yoko-news-topics) {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(82%,1fr);
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    padding-bottom: 8px;
    scrollbar-width: none;
  }
  body.yoko-native-template main :where(.yoko-seasonal-styling-grid,.yoko-lookbook__grid,.yoko-news-topics) > * { scroll-snap-align: start; }
  body.yoko-native-template main :where(.yoko-seasonal-styling-grid,.yoko-lookbook__grid,.yoko-news-topics)::-webkit-scrollbar { display: none; }

  body.yoko-native-template main :where(.yoko-seasonal-category-grid,.yoko-seasonal-categories__grid) {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(118px,34vw);
    grid-template-columns: none;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  body.yoko-native-template main :where(.yoko-seasonal-category-grid,.yoko-seasonal-categories__grid)::-webkit-scrollbar { display: none; }
  body.yoko-native-template main .yoko-seasonal-category-icon { width: 48px; height: 48px; }

  body.yoko-native-template main :where(.yoko-sales-grid,.yoko-size-guide-cards,.yoko-contact-main,.yoko-contact-locations__grid,.yoko-article-layout) {
    grid-template-columns: minmax(0,1fr);
  }

  body.yoko-native-template main :where(.yoko-home-hero__grid,.yoko-sales-hero__grid,.yoko-size-hero__inner,.yoko-contact-hero__grid,.yoko-about-hero__inner,.yoko-dealer-hero__grid,.yoko-thanks-hero__grid,.yoko-archive-hero__inner,.yoko-pdp__top) {
    grid-template-columns: minmax(0,1fr);
  }

  body.yoko-native-template main :where(.yoko-home-hero__media,.yoko-sales-hero__media,.yoko-size-hero__visual,.yoko-contact-hero__visual,.yoko-about-hero__visual,.yoko-dealer-hero__media,.yoko-thanks-hero__visual,.yoko-archive-hero__visual) {
    min-width: 0;
    max-width: 100%;
  }

  body.yoko-native-template main :where(.yoko-sales-tabs,.yoko-sales-nav,.yoko-dealer-process__track,.yoko-pdp-detail-tabs__nav) {
    display: flex;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }
  body.yoko-native-template main :where(.yoko-sales-tabs,.yoko-sales-nav,.yoko-dealer-process__track,.yoko-pdp-detail-tabs__nav) > * {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  body.yoko-native-template main :where(.yoko-sales-tabs,.yoko-sales-nav,.yoko-dealer-process__track,.yoko-pdp-detail-tabs__nav)::-webkit-scrollbar { display: none; }

  body.yoko-native-template main :where(.yoko-content-cta,.yoko-sales-cta,.yoko-dealer-cta,.yoko-size-support) {
    grid-template-columns: minmax(0,1fr);
  }
}
