/* Final responsive authority.
 * Loaded after all historical theme passes so mobile content stays visible
 * instead of falling back to the old horizontal carousels. */

/* Category titles can wrap to three or four lines. Let the hero grow with its
 * breadcrumb, introduction and result count instead of clipping the last
 * elements behind the category navigation. */
.tax-product_cat .dy26-shop-hero {
  height: auto !important;
  min-height: clamp(29rem, 38vw, 35rem) !important;
}

/* Keep product facts readable even when the root scale is slightly reduced. */
.single-product .dy26-product-key-info dt,
.single-product .dy26-product-key-info dd,
body.single-product.dy-product-experience .dy26-product-summary .dy-product-key-facts dt,
body.single-product.dy-product-experience .dy26-product-summary .dy-product-key-facts dd {
  font-size: max(0.75rem, 12px);
}

/* Release gate: the featured Journal card must not revert to a fixed-height,
 * two-column layout on tablet. Text and action stay inside the card. */
@media (min-width: 48rem) and (max-width: 63.99rem) {
  .dy26-journal .dy26-article-card--featured {
    height: auto;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .dy26-journal .dy26-article-card--featured .dy26-article-card__media {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 8.5;
    border-inline-end: 0;
    border-block-end: 1px solid var(--dy26-border);
  }

  .dy26-journal .dy26-article-card--featured .dy26-article-card__body {
    min-width: 0;
    overflow: visible;
  }
}

/* At laptop-width tablet layouts the Journal category rail was wider than its
 * viewport with no visible cue beyond the native scrollbar. Show every tab in
 * a stable grid through the exact 1024 px boundary. */
@media (min-width: 48.01rem) and (max-width: 64rem) {
  .dy26-journal-categories {
    position: relative !important;
    top: auto !important;
  }

  .dy26-journal-categories .dy26-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.4rem 0.75rem !important;
    overflow: visible !important;
    padding-block: 0.7rem !important;
  }

  .dy26-journal-categories__label {
    grid-column: 1 / -1;
  }

  .dy26-journal-categories a {
    width: auto !important;
    min-width: 0 !important;
    padding: 0.45rem 0 !important;
    white-space: normal !important;
    text-align: left;
  }
}

.tax-product_cat .dy26-shop-hero__content {
  height: auto !important;
  min-height: inherit;
}

/* The historical About copy is preserved, but it now reads as an editorial
 * sequence instead of being squeezed into the image introduction panel. */
.dy26-about-story {
  padding-block-start: 0 !important;
}

.dy26-about-story__grid {
  display: grid;
  width: min(100%, 70rem);
  gap: clamp(0.7rem, 1.15vw, 1rem);
  margin-inline: auto;
}

.dy26-about-story__chapter {
  position: relative;
  display: grid;
  grid-template-columns: clamp(3rem, 6vw, 5rem) minmax(0, 1fr);
  gap: clamp(0.9rem, 2vw, 1.8rem);
  padding: clamp(1.25rem, 2.8vw, 2.4rem);
  overflow: visible;
  border: 1px solid rgba(169, 151, 124, 0.24);
  background:
    linear-gradient(105deg, rgba(164, 40, 32, 0.08), transparent 32%),
    rgba(7, 8, 7, 0.66);
}

.dy26-about-story__chapter::after {
  position: absolute;
  inset: 0.55rem;
  border-block-start: 1px solid rgba(190, 48, 38, 0.5);
  border-inline-start: 1px solid rgba(190, 48, 38, 0.5);
  width: 1.1rem;
  height: 1.1rem;
  content: "";
  pointer-events: none;
}

.dy26-about-story__index {
  color: var(--dy26-gold, #aa906d);
  font-family: var(--dy26-font-display);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 0.9;
}

.dy26-about-story__content {
  min-width: 0;
  max-width: 62rem;
}

.dy26-about-story__content h2 {
  max-width: 24ch;
  margin: 0 0 clamp(0.8rem, 1.5vw, 1.25rem);
  font-size: clamp(2rem, 3.5vw, 3.35rem);
  line-height: 0.98;
  overflow: visible;
  overflow-wrap: anywhere;
}

.dy26-about-story__content p,
.dy26-about-story__content li {
  max-width: 72ch;
  font-size: clamp(0.92rem, 1.1vw, 1.02rem);
  line-height: 1.68;
}

.dy26-about-story__content ul,
.dy26-about-story__content ol {
  padding-inline-start: 1.25rem;
}

@media (max-width: 48rem) {
  .dy26-shop-hero,
  .post-type-archive-product .dy26-shop-hero {
    height: auto !important;
    min-height: 25rem !important;
    max-height: none !important;
  }

  .tax-product_cat .dy26-shop-hero {
    height: auto !important;
    min-height: 30rem !important;
    max-height: none !important;
  }

  .dy26-shop-hero__content {
    height: auto !important;
    min-height: inherit;
  }

  .dy26-shop-hero__intro {
    display: block !important;
    overflow: visible !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  .dy26-home-hero {
    min-height: 31rem !important;
  }

  .dy26-home-hero::before {
    background:
      linear-gradient(0deg, rgba(5, 6, 6, 0.68) 0%, rgba(5, 6, 6, 0.28) 48%, rgba(5, 6, 6, 0.02) 86%),
      linear-gradient(90deg, rgba(5, 6, 6, 0.52), rgba(5, 6, 6, 0.02)) !important;
  }

  .dy26-home-hero::after {
    background: radial-gradient(ellipse at 72% 46%, transparent 0 28%, rgba(5, 6, 6, 0.02) 54%, rgba(5, 6, 6, 0.24) 100%) !important;
  }

  .dy26-home-hero__inner {
    align-items: start !important;
    padding-block: clamp(1.15rem, 5vw, 1.5rem) 1.35rem !important;
  }

  .dy26-home-hero__seal {
    top: auto !important;
    right: 0.75rem !important;
    bottom: 0.75rem !important;
    width: 2.35rem !important;
    height: 2.35rem !important;
  }

  .dy26-home-hero__mark {
    width: 90% !important;
  }

  /* Keep lower category cards visible without waiting for a scroll event. */
  .dy26-home .dy26-category-grid > .dy26-category-card {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* A late desktop rule narrowed this copy to 49%, which pushed the title
   * underneath the fixed header. Restore the intended mobile composition. */
  .dy26-editorial-hero--about .dy26-page-hero__inner {
    align-items: end !important;
    padding-block: calc(var(--dy26-header-height, 4rem) + 0.75rem) 1.35rem !important;
  }

  .dy26-editorial-hero--about .dy26-page-hero__copy {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 23rem !important;
    min-width: 0 !important;
    padding-inline-start: 0 !important;
  }

  .dy26-editorial-hero--about .dy26-page-hero__title {
    max-width: 12ch !important;
    font-size: clamp(2.2rem, 10vw, 3rem) !important;
    line-height: 0.94 !important;
  }

  /* The 768 px tablet width sits exactly on the old breakpoint. Give article
   * heroes the compact composition there as well so the H1 clears the header. */
  .dy26-editorial-hero--article {
    min-height: 28rem !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__media {
    left: 14% !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__shade {
    background:
      linear-gradient(90deg, #050606 0%, rgba(5, 6, 6, 0.95) 24%, rgba(5, 6, 6, 0.7) 50%, rgba(5, 6, 6, 0.18) 100%),
      linear-gradient(0deg, #080908 0%, rgba(8, 9, 8, 0.72) 13%, transparent 46%, rgba(5, 6, 6, 0.32) 100%) !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__inner {
    align-items: end !important;
    padding-block: calc(var(--dy26-header-height, 4rem) + 4rem) 2rem !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__copy {
    width: 92% !important;
    max-width: 32rem !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__copy h1 {
    max-width: 12.5ch !important;
    font-size: clamp(2.25rem, 10.2vw, 2.8rem) !important;
    line-height: 0.91 !important;
  }

  .dy26-home .dy26-category-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 0.55rem !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    scroll-snap-type: none !important;
  }

  .dy26-home .dy26-category-grid > .dy26-category-card {
    width: auto !important;
    min-width: 0 !important;
    min-height: 13rem !important;
    scroll-snap-align: none !important;
  }

  .dy26-home .dy26-category-grid > .dy26-category-card:nth-child(5):last-child {
    grid-column: 1 / -1;
    min-height: 11.5rem !important;
  }

  .dy26-home .dy26-category-card__content {
    width: 90% !important;
    max-width: 90% !important;
    padding: 0.8rem !important;
  }

  .dy26-home .dy26-category-card__content strong {
    max-width: 100%;
    font-size: clamp(1.05rem, 5.2vw, 1.35rem) !important;
    line-height: 0.96;
    overflow: visible;
    overflow-wrap: anywhere;
  }

  .dy26-home .dy26-category-card__content small {
    display: block !important;
    max-width: 100% !important;
    overflow: visible !important;
    font-size: max(0.75rem, 12px) !important;
    letter-spacing: 0.045em !important;
    line-height: 1.32 !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  .dy26-editorial-hero--about {
    height: auto !important;
    min-height: clamp(31rem, 70vw, 34rem) !important;
    max-height: none !important;
  }

  .dy26-editorial-hero--about .dy26-page-hero__inner {
    min-height: inherit !important;
  }

  .dy26-about-story__chapter {
    grid-template-columns: 1fr;
    gap: 0.6rem;
    padding: 1.15rem;
  }

  .dy26-about-story__index {
    font-size: 1.35rem;
  }

  .dy26-about-story__content h2 {
    max-width: 100%;
    font-size: clamp(1.85rem, 8.5vw, 2.5rem);
    line-height: 1;
  }

  .dy26-about-story__content p,
  .dy26-about-story__content li {
    max-width: 100%;
    font-size: 0.93rem;
    line-height: 1.64;
  }

  .dy26-about-inspiration {
    min-height: 13.5rem !important;
  }

  .dy26-about-inspiration__copy p {
    display: block !important;
    overflow: visible !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  .dy26-journal .dy26-article-card,
  .dy26-journal .dy26-article-card__body {
    height: auto !important;
    overflow: visible !important;
  }

  .dy26-journal .dy26-article-card__title,
  .dy26-journal .dy26-article-card__excerpt {
    display: block !important;
    overflow: visible !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .dy26-single-article .products .woocommerce-loop-product__title,
  .single-product .related.products .woocommerce-loop-product__title,
  .single-product .upsells.products .woocommerce-loop-product__title {
    display: block !important;
    overflow: visible !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  .woocommerce ul.products li.product .dy26-product-card__body {
    height: auto !important;
    overflow: visible !important;
  }

  .dy26-site-footer__bottom {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 0.45rem 1rem !important;
  }

  .dy26-site-footer__bottom > p {
    grid-column: 1;
    grid-row: 2;
    white-space: nowrap;
  }

  .dy26-site-footer__languages {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
    justify-content: space-between;
    gap: 0.3rem;
    white-space: nowrap;
  }

  .dy26-site-footer__bottom > .dy-cookie-open {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    white-space: nowrap;
  }

  .dy26-home-featured-workshop__products ul.products.dy26-product-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 0.5rem !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    scroll-snap-type: none !important;
  }

  .dy26-home-featured-workshop__products ul.products.dy26-product-grid li.product {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    scroll-snap-align: none !important;
  }

  .dy26-home-journal .dy26-article-grid {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 0.85rem !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    scroll-snap-type: none !important;
  }

  .dy26-home-journal .dy26-article-grid > .dy26-article-card {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    scroll-snap-align: none !important;
  }

  .dy26-home-journal .dy26-article-grid > .dy26-article-card {
    grid-column: 1 !important;
  }

  .dy26-journal .dy26-article-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0.85rem !important;
  }

  .dy26-journal .dy26-article-card:not(.dy26-article-card--featured) .dy26-article-card__body {
    min-height: 0 !important;
    padding: 0.85rem !important;
  }

  .dy26-journal .dy26-article-card:not(.dy26-article-card--featured) .dy26-article-card__title {
    font-size: clamp(1.15rem, 5.5vw, 1.4rem) !important;
  }

  .dy26-shop-hero .dy-collection-family-nav {
    display: none !important;
  }

  .dy26-journal-categories {
    position: relative !important;
    top: auto !important;
  }

  .dy26-journal-categories .dy26-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.4rem 0.75rem !important;
    overflow: visible !important;
    padding-block: 0.7rem !important;
  }

  .dy26-journal-categories__label {
    grid-column: 1 / -1;
  }

  .dy26-journal-categories a {
    width: auto !important;
    min-width: 0 !important;
    padding: 0.45rem 0 !important;
    white-space: normal !important;
    text-align: left;
  }

  .single-product .related.products ul.products,
  .single-product .upsells.products ul.products {
    display: grid !important;
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    gap: 0.55rem !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
    scroll-snap-type: none !important;
  }

  .single-product .related.products ul.products li.product,
  .single-product .upsells.products ul.products li.product {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    scroll-snap-align: none !important;
  }
}

@media (max-width: 23rem) {
  .dy26-journal-categories .dy26-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dy26-site-footer__bottom {
    grid-template-columns: 1fr !important;
  }

  .dy26-site-footer__languages {
    flex-wrap: wrap;
    justify-content: flex-start;
    white-space: normal;
  }

  .dy26-site-footer__bottom > p,
  .dy26-site-footer__bottom > .dy-cookie-open {
    grid-column: 1;
  }

  .dy26-site-footer__bottom > .dy-cookie-open {
    grid-row: 3;
    justify-self: start;
  }
}

@media (min-width: 64rem) {
  .single-product .dy26-product-media-column > .dy26-product-editorial__details {
    margin-top: 2rem;
  }
}

/* Article hero and compact header, 2026-09-01.
 * Long editorial titles must stay inside their hero. The former 480 px cap
 * clipped the copy itself and pushed the breadcrumb beneath the sticky header. */
.dy26-editorial-hero--article {
  height: clamp(33rem, 38vw, 35rem) !important;
  min-height: clamp(33rem, 38vw, 35rem) !important;
  max-height: none !important;
}

.dy26-editorial-hero--article .dy26-page-hero__inner {
  align-items: center !important;
  padding-block: calc(var(--dy26-header-height, 4.5rem) + 1rem) 1.65rem !important;
}

.dy26-editorial-hero--article .dy26-page-hero__copy {
  width: min(44rem, 62%) !important;
  max-width: 44rem !important;
  min-width: 0;
}

.dy26-editorial-hero--article .dy26-page-hero__title {
  max-width: 15ch !important;
  font-size: clamp(2.8rem, 4.15vw, 4.7rem) !important;
  line-height: 0.9 !important;
}

.dy26-editorial-hero--article .dy26-page-hero__intro {
  margin-block-start: 0.95rem !important;
}

/* The red orbit competed with the Hoju mark. Keep only the larger mark. */
.dy26-page-hero__orbit {
  display: none !important;
}

.dy26-page-hero__seal {
  right: clamp(1.35rem, 4vw, 4rem) !important;
  bottom: clamp(1.35rem, 3.5vw, 3.5rem) !important;
  width: clamp(4.25rem, 6vw, 6rem) !important;
  height: auto !important;
  opacity: 0.86;
}

/* Keep the brand promise visible once the navigation condenses. */
@media (max-width: 90rem) {
  .dy26-site-header--long-menu .dy26-brand__tagline {
    display: block !important;
    width: auto;
    max-width: min(22rem, calc(100vw - 11rem));
    margin-block-start: 0.28rem;
    font-size: clamp(0.53rem, 0.78vw, 0.66rem);
    letter-spacing: 0.12em;
    line-height: 1.25;
  }
}

@media (max-width: 63.99rem) {
  .dy26-site-header .dy26-brand__tagline {
    display: block !important;
    width: auto;
    max-width: min(22rem, calc(100vw - 11rem));
    margin-block-start: 0.28rem;
    font-size: clamp(0.53rem, 1.2vw, 0.66rem);
    letter-spacing: 0.12em;
    line-height: 1.25;
  }
}

@media (max-width: 47.99rem) {
  .dy26-editorial-hero--article {
    height: auto !important;
    min-height: 28rem !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__inner {
    align-items: end !important;
    padding-block: calc(var(--dy26-header-height, 4rem) + 0.85rem) 1.2rem !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__copy {
    width: min(92%, 26rem) !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__title {
    max-width: 13ch !important;
    font-size: clamp(2.15rem, 9.6vw, 2.7rem) !important;
    line-height: 0.92 !important;
  }

  .dy26-editorial-hero--article .dy26-page-hero__intro {
    display: none !important;
  }

  .dy26-page-hero__seal {
    right: 0.85rem !important;
    bottom: 0.85rem !important;
    width: 3.65rem !important;
  }
}

@media (max-width: 26.875rem) {
  .dy26-site-header .dy26-brand__tagline {
    max-width: calc(100vw - 10rem);
    font-size: 0.5rem;
    letter-spacing: 0.09em;
  }
}

/* Shop and Journal archive hierarchy, 2026-09-01.
 * The main shop has no collection image, so it must begin with its category
 * explorer rather than an empty visual hero. Journal categories remain a
 * separate navigation band, never a translucent layer over the lead article. */
.post-type-archive-product .dy26-shop-category-nav {
  margin-block-start: clamp(1.25rem, 3vw, 2.5rem);
}

.dy26-journal-categories {
  position: relative !important;
  top: auto !important;
  z-index: 2;
  margin: 0;
  border-block: 1px solid var(--dy26-border);
  background: var(--dy26-ink-deep);
  backdrop-filter: none;
}

.dy26-journal > .dy26-container {
  padding-block-start: clamp(1rem, 2vw, 1.5rem);
}

/* About, 2026-09-01. A fixed visual height truncated the collection CTA
 * before its body and link. Let its content define the height, then use a
 * restrained wider reading measure only on genuinely large screens. */
.dy26-about-collection__layout {
  height: auto !important;
  min-height: clamp(14rem, 18vw, 22.5rem);
}

/* Product names are content, never a clipped decoration. */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.dy26-single-article .products .woocommerce-loop-product__title,
.single-product .related.products .woocommerce-loop-product__title,
.single-product .upsells.products .woocommerce-loop-product__title {
  display: block !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  /* The display face has a 1-2px descender overshoot at fractional card
   * sizes. This breathing room keeps the complete product name visible. */
  padding-block-end: 0.18em;
}

/* Homepage product grids are not nested under .woocommerce. Target their
 * editorial clamp directly so names stay complete at every card width. */
.dy26-home ul.products.dy26-product-grid .woocommerce-loop-product__title,
.dy26-home-featured-workshop__products ul.products.dy26-product-grid .woocommerce-loop-product__title {
  display: block !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  padding-block-end: 0.18em;
}

@media (min-width: 75rem) {
  .dy26-about-story__grid {
    width: min(100%, 82rem);
  }

  .dy26-about-story__content {
    max-width: none;
  }

  .dy26-about-story__content p,
  .dy26-about-story__content li {
    max-width: 78ch;
  }

  .dy26-about-story__content h2 {
    max-width: 30ch;
  }
}
