/* YOKO Kids v3.3.8 — repaired full-width WooCommerce catalogue. */

/* Rey occasionally keeps an archive cover/title wrapper around the custom PHP
   template. It duplicates the YOKO hero and consumes a large blank strip. */
body.yoko-product-archive-page :where(
  .rey-pageCover,
  .rey-pageHeader,
  .rey-pageTitle,
  .rey-postTitle,
  .woocommerce-products-header:not(.yoko-archive-hero)
) {
  display: none !important;
}

/* Break only the catalogue out of any residual Rey archive container. Header
   and footer remain untouched and keep Rey's native alignment. */
body.yoko-product-archive-page .rey-siteContent,
body.yoko-product-archive-page .rey-siteContent > :where(.container,.rey-mainContent,.rey-pageContent),
body.yoko-product-archive-page .rey-mainContent,
body.yoko-product-archive-page .rey-pageContent,
body.yoko-product-archive-page #main,
body.yoko-product-archive-page .site-main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-inline: 0 !important;
}

body.yoko-product-archive-page .yoko-archive {
  position: relative;
  left: 50%;
  width: 100vw !important;
  max-width: none !important;
  margin-left: -50vw !important;
  overflow: clip;
  background: #fff;
}

body.yoko-product-archive-page .yoko-archive__shell {
  width: min(calc(100% - clamp(32px, 5vw, 104px)), 1760px) !important;
  max-width: 1760px !important;
  margin-inline: auto !important;
}

/* Hero */
body.yoko-product-archive-page .yoko-archive-breadcrumb {
  padding-block: 16px;
}
body.yoko-product-archive-page .yoko-archive-hero {
  margin-bottom: clamp(24px, 2.5vw, 40px);
}
body.yoko-product-archive-page .yoko-archive-hero__inner {
  grid-template-columns: minmax(390px, .82fr) minmax(0, 1.18fr);
  min-height: clamp(420px, 30vw, 590px);
}
body.yoko-product-archive-page .yoko-archive-hero__copy {
  padding: clamp(38px, 4vw, 76px);
}
body.yoko-product-archive-page .yoko-archive-hero h1 {
  max-width: 650px;
  font-size: clamp(42px, 3.7vw, 68px);
}
body.yoko-product-archive-page .yoko-archive-hero__copy > p {
  max-width: 620px;
}
body.yoko-product-archive-page .yoko-archive-hero__visual,
body.yoko-product-archive-page .yoko-archive-hero__image,
body.yoko-product-archive-page .yoko-archive-hero__image img {
  min-width: 0;
  min-height: inherit;
}

/* Toolbar */
body.yoko-product-archive-page .yoko-archive-toolbar,
body.yoko-product-archive-page .yoko-archive-resultsbar {
  width: min(calc(100% - clamp(32px, 5vw, 104px)), 1760px) !important;
}

/* Main repair: this wrapper contains the product grid, pagination and campaign
   banner vertically. The previous display:grid rule squeezed each into a tiny
   one-third column. */
body.yoko-product-archive-page .yoko-archive-layout {
  grid-template-columns: minmax(270px, 310px) minmax(0, 1fr) !important;
  gap: clamp(24px, 2.4vw, 42px) !important;
  align-items: start;
}
body.yoko-product-archive-page .yoko-archive-products {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
body.yoko-product-archive-page .yoko-archive-grid {
  display: grid !important;
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.45vw, 26px) !important;
}

body.yoko-product-archive-page .yoko-archive-product-card {
  min-width: 0;
  border-radius: 16px;
}
body.yoko-product-archive-page .yoko-archive-product-card .yoko-product-card__media {
  aspect-ratio: 4 / 5;
}
body.yoko-product-archive-page .yoko-archive-product-card .yoko-product-card__content {
  padding: 15px 16px 17px;
}
body.yoko-product-archive-page .yoko-archive-product-card .yoko-product-card__content h3 {
  min-height: 2.9em;
  font-size: 15px;
  line-height: 1.45;
}
body.yoko-product-archive-page .yoko-archive-product-card .yoko-product-card__price {
  font-size: 17px;
}
body.yoko-product-archive-page .yoko-product-card__rating {
  position: static;
  min-height: 20px;
  margin-top: 6px;
}

/* Sidebar */
body.yoko-product-archive-page .yoko-archive-filter {
  top: max(24px, var(--admin-bar-height, 0px));
}
body.yoko-product-archive-page .yoko-filter-card {
  padding: 20px;
}
body.yoko-product-archive-page .yoko-archive-dealer-card {
  grid-template-columns: minmax(0, 1fr) 70px;
}

/* Campaign and trust content now spans the complete product column. */
body.yoko-product-archive-page .yoko-archive-collection-cta,
body.yoko-product-archive-page .yoko-archive-collection-cta.has-image {
  width: 100%;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  margin-top: 34px;
}
body.yoko-product-archive-page .yoko-archive-collection-cta.has-image {
  grid-template-columns: 120px minmax(0, 1fr) auto;
}
body.yoko-product-archive-page .yoko-archive-trust {
  margin-top: clamp(30px, 3vw, 48px);
  margin-bottom: clamp(42px, 4vw, 72px);
}

@media (min-width: 1680px) {
  body.yoko-product-archive-page .yoko-archive-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1279px) {
  body.yoko-product-archive-page .yoko-archive__shell,
  body.yoko-product-archive-page .yoko-archive-toolbar,
  body.yoko-product-archive-page .yoko-archive-resultsbar {
    width: calc(100% - 48px) !important;
  }
  body.yoko-product-archive-page .yoko-archive-layout {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 24px !important;
  }
  body.yoko-product-archive-page .yoko-archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  body.yoko-product-archive-page .yoko-archive-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.yoko-product-archive-page .yoko-archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.yoko-product-archive-page .yoko-archive-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  body.yoko-product-archive-page .yoko-archive {
    left: 0;
    width: 100% !important;
    margin-left: 0 !important;
  }
  body.yoko-product-archive-page .yoko-archive__shell,
  body.yoko-product-archive-page .yoko-archive-toolbar,
  body.yoko-product-archive-page .yoko-archive-resultsbar {
    width: calc(100% - 28px) !important;
  }
  body.yoko-product-archive-page .yoko-archive-hero__inner {
    display: flex;
  }
  body.yoko-product-archive-page .yoko-archive-hero__copy {
    padding: 28px 20px 22px;
  }
  body.yoko-product-archive-page .yoko-archive-hero h1 {
    font-size: clamp(32px, 10vw, 42px);
  }
  body.yoko-product-archive-page .yoko-archive-toolbar {
    align-items: stretch;
  }
  body.yoko-product-archive-page .yoko-archive-resultsbar {
    align-items: stretch;
    flex-direction: column;
  }
  body.yoko-product-archive-page .yoko-archive-ordering,
  body.yoko-product-archive-page .yoko-archive-ordering select {
    width: 100%;
    min-width: 0;
  }
  body.yoko-product-archive-page .yoko-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.yoko-product-archive-page .yoko-archive-product-card .yoko-product-card__content {
    padding: 11px;
  }
  body.yoko-product-archive-page .yoko-archive-product-card .yoko-product-card__content h3 {
    font-size: 13px;
  }
  body.yoko-product-archive-page .yoko-archive-collection-cta,
  body.yoko-product-archive-page .yoko-archive-collection-cta.has-image {
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }
  body.yoko-product-archive-page .yoko-archive-collection-cta.has-image {
    grid-template-columns: 76px minmax(0, 1fr);
  }
  body.yoko-product-archive-page .yoko-archive-collection-cta .yoko-button {
    grid-column: 1 / -1;
  }
}
