/*
 * Storefront page identity v30
 *
 * This layer only differentiates page composition. Product truth, availability,
 * gallery controls and purchase links remain owned by the shared renderer.
 */

/* The status notice belongs to each shop's visual language, not to the factory. */
.ec-system-v3.ec-layout-boutique-editorial .sales-lock {
  width: fit-content;
  min-height: 28px;
  margin-left: auto;
  padding: 6px 28px;
  border-bottom: 1px solid var(--sf-border);
  background: var(--sf-surface);
  color: var(--sf-text);
  font-family: var(--sf-display);
  font-weight: 500;
  letter-spacing: .04em;
}

.ec-system-v3.ec-layout-science-dtc .sales-lock {
  min-height: 28px;
  justify-content: flex-end;
  padding-inline: max(28px, calc((100vw - 1340px) / 2));
  background: var(--sf-brand);
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}

.ec-system-v3.ec-layout-maker-story .sales-lock {
  min-height: 34px;
  border-block: 1px solid color-mix(in srgb, var(--sf-brand-contrast) 28%, transparent);
  background: var(--sf-brand);
  font-family: var(--sf-display);
  font-weight: 500;
  letter-spacing: .1em;
}

.ec-system-v3.ec-layout-gift-concierge .sales-lock {
  min-height: 32px;
  border-block: 1px solid var(--sf-border);
  background: var(--sf-bg);
  color: var(--sf-text);
  font-family: var(--sf-display);
  font-weight: 500;
  letter-spacing: .12em;
}

.ec-system-v3.ec-layout-immersive-campaign .sales-lock {
  width: fit-content;
  min-height: 30px;
  margin-left: auto;
  padding-inline: 24px;
  background: var(--sf-text);
  color: var(--sf-bg);
  letter-spacing: .08em;
}

.ec-system-v3.ec-layout-deal-department .sales-lock {
  min-height: 30px;
  justify-content: flex-start;
  padding-inline: max(24px, calc((100vw - 1320px) / 2));
  border-bottom: 3px solid var(--sf-text);
  background: var(--sf-accent);
  color: var(--sf-text);
  font-weight: 900;
  letter-spacing: 0;
}

.ec-system-v3.ec-layout-marketplace-mosaic .sales-lock {
  min-height: 34px;
  justify-content: flex-start;
  padding-inline: max(20px, calc((100vw - 1360px) / 2));
  background: var(--sf-brand);
  color: var(--sf-brand-contrast);
  font-weight: 900;
  letter-spacing: 0;
}

.ec-system-v3.ec-layout-search-first-aisle .sales-lock {
  min-height: 26px;
  justify-content: flex-start;
  padding-inline: max(18px, calc((100vw - 1360px) / 2));
  background: var(--sf-accent);
  color: #111;
  font-weight: 800;
  letter-spacing: .01em;
}

.ec-system-v3.ec-layout-faceted-grocery .sales-lock {
  min-height: 32px;
  justify-content: flex-end;
  padding-inline: max(18px, calc((100vw - 1420px) / 2));
  border-bottom: 1px solid color-mix(in srgb, var(--sf-brand-contrast) 30%, transparent);
  background: var(--sf-brand);
  letter-spacing: .02em;
}

.ec-system-v3.ec-layout-shopping-magazine .sales-lock {
  min-height: 30px;
  border-bottom: 4px double var(--sf-bg);
  background: var(--sf-text);
  color: var(--sf-bg);
  font-family: var(--sf-display);
  letter-spacing: .14em;
}

/* Bold marketplace uses print-shop red, warm paper and charcoal only. */
.ec-system-v3.ec-profile-bold-pop {
  --sf-bg: #f3eee5;
  --sf-surface: #fffaf1;
  --sf-surface-soft: #e8dece;
  --sf-image-bg: #f8f1e6;
  --sf-text: #292521;
  --sf-muted: #625b53;
  --sf-border: #b9ad9e;
  --sf-brand: #b6382f;
  --sf-brand-contrast: #fffaf1;
  --sf-accent: #b6382f;
  --sf-accent-soft: #efd7d1;
  --sf-header: rgba(255, 250, 241, .97);
  --sf-header-shadow: none;
  --sf-footer: #292521;
  --sf-footer-text: #fffaf1;
  --sf-footer-muted: rgba(255, 250, 241, .68);
  --sf-footer-rule: rgba(182, 56, 47, .46);
  --sf-shadow: none;
  --sf-card-shadow: none;
  --sf-card-hover-shadow: none;
  --sf-image-shadow: none;
  --sf-button-shadow: none;
}

/* Premium lookbook: value proposition and primary action stay in view. */
@media (min-width: 901px) {
  .ec-system-v3.ec-layout-boutique-editorial .hero-product-showcase {
    grid-template-columns: minmax(0, .62fr) minmax(0, .38fr);
    gap: 1px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .hero-product-showcase .hero-showcase-item {
    padding: 18px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .hero-product-showcase .hero-showcase-item-2 {
    padding: 12px;
    border-left: 1px solid var(--sf-border);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed {
    min-height: min(900px, calc(100svh - 30px));
    height: min(900px, calc(100svh - 30px));
    display: grid;
    grid-template-columns: minmax(390px, .72fr) minmax(0, 1.28fr);
    grid-template-rows: minmax(0, 1fr);
    padding-top: 112px;
    box-sizing: border-box;
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed > .hero-product-showcase {
    min-height: 0;
    height: 100%;
    grid-column: 2;
    grid-row: 1;
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed .hero-showcase-item {
    padding: clamp(52px, 6vw, 96px);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-overlay {
    position: relative;
    inset: auto;
    z-index: 2;
    width: auto;
    grid-column: 1;
    grid-row: 1;
    align-self: stretch;
    display: flex;
    align-items: center;
    padding: clamp(48px, 6vw, 92px);
    color: var(--sf-text);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy {
    width: 100%;
    padding: 0 0 0 30px;
    border-left: 1px solid var(--sf-text);
    background: transparent;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy h1 {
    font-size: clamp(43px, 4.2vw, 62px);
    line-height: 1.2;
  }

  /* The gift headline must fit the copy panel instead of clipping beneath art. */
  .ec-system-v3.ec-layout-gift-concierge .hero-gift-frame {
    grid-template-columns: minmax(520px, .96fr) minmax(0, 1.04fr);
  }

  .ec-system-v3.ec-layout-gift-concierge .hero-gift-copy {
    min-width: 0;
    padding: 48px;
    overflow: visible;
  }

  .ec-system-v3.ec-layout-gift-concierge .hero-gift-copy h1 {
    max-width: 100%;
    font-size: clamp(42px, 3.6vw, 50px);
    line-height: 1.24;
    letter-spacing: .015em;
  }

  .ec-system-v3.ec-layout-gift-concierge .hero-gift-copy .hero-line {
    white-space: nowrap;
  }

  .ec-system-v3.ec-layout-gift-concierge .hero-gift-frame .hero-product-showcase {
    grid-template-columns: minmax(0, .7fr) minmax(0, .3fr);
    gap: 1px;
  }

  .ec-system-v3.ec-layout-gift-concierge .hero-gift-frame .hero-product-showcase .hero-showcase-item {
    padding: 22px;
  }

  .ec-system-v3.ec-layout-gift-concierge .hero-gift-frame .hero-product-showcase .hero-showcase-item-2 {
    padding: 14px;
    border-left: 1px solid var(--sf-border);
  }

  /* Lookbook list: the first merchandise row begins inside the first viewport. */
  .ec-system-v3.ec-layout-immersive-campaign .catalog-stage-inner {
    padding-block: 80px 112px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .catalog-stage .section-heading {
    margin-bottom: 0;
  }

  .ec-system-v3.ec-layout-immersive-campaign .catalog-minimal-tools {
    margin: 30px auto 56px;
  }
}

@media (min-width: 661px) and (max-width: 900px) {
  /* Tablet magazine: the merchandise picture owns at least 42% of the feature. */
  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story {
    width: 100%;
    min-height: 0;
    display: block;
    padding: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story {
    width: calc(100% - 40px);
    min-height: 520px;
    display: grid;
    grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
    grid-template-rows: minmax(520px, auto);
    gap: 0;
    padding-block: 40px 64px;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-product-showcase {
    min-height: 520px;
    height: 520px;
    grid-column: 1;
    grid-row: 1;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-showcase-item {
    display: block;
    padding: 28px 20px;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-story-copy {
    grid-column: 2;
    grid-row: 1;
    padding: 38px 30px;
    border-left: 1px solid var(--sf-text);
  }

  .ec-system-v3.ec-layout-immersive-campaign .catalog-stage-inner {
    padding-block: 68px 96px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .catalog-stage .section-heading {
    margin-bottom: 0;
  }

  .ec-system-v3.ec-layout-immersive-campaign .catalog-minimal-tools {
    margin: 26px auto 48px;
  }
}

/*
 * Mobile product pages
 * Ten separate retail grammars, all retaining the same truthful information,
 * image buttons, availability state and purchase action.
 */
@media (max-width: 660px) {
  .ec-system-v3 .product-detail-hero {
    box-sizing: border-box;
  }

  .ec-system-v3 .product-detail-hero > :where(.product-gallery, .product-summary) {
    min-width: 0;
  }

  .ec-system-v3.ec-layout-boutique-editorial .home-flow .hero-product-showcase {
    grid-template-columns: minmax(0, .62fr) minmax(0, .38fr);
    gap: 1px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .home-flow .hero-product-showcase .hero-showcase-item {
    display: block;
    padding: 10px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .home-flow .hero-product-showcase .hero-showcase-item-2 {
    padding: 6px;
    border-left: 1px solid var(--sf-border);
  }

  .ec-system-v3.ec-layout-gift-concierge .home-flow .hero-product-showcase {
    grid-template-columns: minmax(0, .7fr) minmax(0, .3fr);
    gap: 1px;
  }

  .ec-system-v3.ec-layout-gift-concierge .home-flow .hero-product-showcase .hero-showcase-item {
    display: block;
    padding: 10px;
  }

  .ec-system-v3.ec-layout-gift-concierge .home-flow .hero-product-showcase .hero-showcase-item-2 {
    padding: 6px;
    border-left: 1px solid var(--sf-border);
  }

  /* 01 Boutique editorial: edge-to-edge photo, proof strip, ruled copy. */
  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-detail-hero {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-bottom: 76px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-gallery {
    width: 100%;
    grid-row: 1;
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-gallery-main {
    aspect-ratio: 1.28;
    border-inline: 0;
    background: var(--sf-image-bg);
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-gallery-main > img {
    padding: 16px 34px 0;
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-gallery-thumbs {
    position: relative;
    z-index: 2;
    width: calc(100% - 56px);
    margin: -18px auto 0;
    padding: 8px;
    gap: 6px;
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .gallery-thumb {
    border: 0;
    border-bottom: 1px solid var(--sf-border);
    border-radius: 0;
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .gallery-thumb.active {
    border-bottom: 3px solid var(--sf-brand);
    box-shadow: none;
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-summary {
    width: calc(100% - 48px);
    grid-row: 2;
    margin: 38px auto 0;
    padding: 0 0 0 22px;
    border: 0;
    border-left: 3px solid var(--sf-brand);
    background: transparent;
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-summary h1 {
    font-family: var(--sf-display);
    font-size: 29px;
    font-weight: 500;
    line-height: 1.38;
  }

  /* 02 Science DTC: specification first, vertical image selector. */
  .ec-system-v3.ec-layout-science-dtc .detail-lab-spec .product-detail-hero {
    width: calc(100% - 28px);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding: 0 0 70px;
    border: 0;
  }

  .ec-system-v3.ec-layout-science-dtc .detail-lab-spec .product-summary {
    grid-row: 1;
    padding: 24px 22px;
    border: 1px solid var(--sf-border);
    border-top: 5px solid var(--sf-brand);
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-science-dtc .detail-lab-spec .product-summary h1 {
    font-size: 27px;
    line-height: 1.28;
  }

  .ec-system-v3.ec-layout-science-dtc .detail-lab-spec .product-gallery {
    grid-row: 2;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 9px;
    padding: 10px;
    border: 1px solid var(--sf-border);
    background: var(--sf-surface-soft);
  }

  .ec-system-v3.ec-layout-science-dtc .detail-lab-spec .product-gallery-main {
    grid-column: 2;
    grid-row: 1;
    aspect-ratio: .92;
    border: 0;
  }

  .ec-system-v3.ec-layout-science-dtc .detail-lab-spec .product-gallery-thumbs {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 6px;
    margin: 0;
  }

  .ec-system-v3.ec-layout-science-dtc .detail-lab-spec .gallery-thumb {
    border-radius: 2px;
  }

  /* 03 Maker story: quiet plate image followed by long-form typographic copy. */
  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-detail-hero {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-bottom: 88px;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery {
    width: calc(100% - 72px);
    grid-row: 1;
    margin-inline: auto;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery-main {
    aspect-ratio: 1;
    border: 0;
    border-bottom: 1px solid var(--sf-border);
    background: transparent;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery-main > img {
    padding: 0;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery-thumbs {
    gap: 12px;
    margin-top: 12px;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .gallery-thumb {
    padding: 5px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .gallery-thumb.active {
    border-bottom: 2px solid var(--sf-brand);
    box-shadow: none;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-summary {
    width: calc(100% - 40px);
    grid-row: 2;
    margin: 46px auto 0;
    padding: 34px 0 0;
    border: 0;
    border-top: 1px solid var(--sf-text);
    background: transparent;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-kicker span {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-kicker span + span::before {
    content: "／";
    margin-right: 8px;
    color: var(--sf-muted);
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-summary h1 {
    font-family: var(--sf-display);
    font-size: 29px;
    font-weight: 500;
    line-height: 1.5;
  }

  /* 04 Gift salon: picture mat and a formal bordered offer card. */
  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-detail-hero {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-bottom: 86px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery {
    width: calc(100% - 32px);
    grid-row: 1;
    margin-inline: auto;
    padding: 14px 14px 12px;
    border: 1px solid var(--sf-border);
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery-main {
    aspect-ratio: 1.32;
    border: 0;
    border-bottom: 4px double var(--sf-border);
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery-thumbs {
    margin-top: 12px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .gallery-thumb {
    border-radius: 0;
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary {
    width: calc(100% - 64px);
    grid-row: 2;
    margin: 28px auto 0;
    padding: 30px 24px;
    border: 1px solid var(--sf-border);
    outline: 1px solid color-mix(in srgb, var(--sf-border) 55%, transparent);
    outline-offset: -7px;
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-kicker {
    justify-content: center;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary h1 {
    font-family: var(--sf-display);
    font-size: 27px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
  }

  /* 05 Immersive lookbook: full visual with a thumbnail rail and inset sheet. */
  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-detail-hero {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-bottom: 90px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery {
    position: relative;
    width: 100%;
    grid-row: 1;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery-main {
    min-height: 0;
    aspect-ratio: 1.18;
    border-inline: 0;
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery-main > img {
    padding: 12px 28px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery-thumbs {
    position: absolute;
    z-index: 3;
    inset: 50% 10px auto auto;
    width: 48px;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
    margin: 0;
    transform: translateY(-50%);
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .gallery-thumb {
    min-width: 48px;
    min-height: 48px;
    padding: 5px;
    border-radius: 0;
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary {
    position: relative;
    z-index: 2;
    width: calc(100% - 32px);
    grid-row: 2;
    margin: -26px auto 0;
    padding: 30px 24px;
    border: 0;
    border-top: 1px solid var(--sf-text);
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary h1 {
    font-family: var(--sf-display);
    font-size: 30px;
    font-weight: 500;
    line-height: 1.4;
  }

  /* 06 Deal department: offer panel first, product proof second. */
  .ec-system-v3.ec-layout-deal-department .detail-deal-split .product-detail-hero {
    width: calc(100% - 24px);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding-bottom: 72px;
  }

  .ec-system-v3.ec-layout-deal-department .detail-deal-split .product-summary {
    grid-row: 1;
    padding: 24px 22px;
    border: 2px solid var(--sf-text);
    border-top-width: 8px;
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-deal-department .detail-deal-split .product-summary h1 {
    font-size: 27px;
    line-height: 1.24;
  }

  .ec-system-v3.ec-layout-deal-department .detail-deal-split .detail-price {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--sf-border);
  }

  .ec-system-v3.ec-layout-deal-department .detail-deal-split .product-gallery {
    grid-row: 2;
    padding: 8px;
    border: 2px solid var(--sf-border);
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-deal-department .detail-deal-split .product-gallery-main {
    aspect-ratio: 1.38;
    border: 0;
  }

  .ec-system-v3.ec-layout-deal-department .detail-deal-split .gallery-thumb {
    border-radius: 0;
  }

  /* 07 Marketplace mosaic: media bay with a permanent left thumbnail rail. */
  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-detail-hero {
    width: calc(100% - 20px);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding-bottom: 74px;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery {
    grid-row: 1;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
    border: 2px solid var(--sf-text);
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-main {
    grid-column: 2;
    grid-row: 1;
    aspect-ratio: 1;
    border: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-thumbs {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 7px;
    margin: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .gallery-thumb {
    border-radius: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-summary {
    grid-row: 2;
    padding: 26px 22px;
    border: 2px solid var(--sf-text);
    border-left: 9px solid var(--sf-brand);
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-summary h1 {
    font-size: clamp(26px, 7.2vw, 28px);
    line-height: 1.18;
    letter-spacing: -.015em;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  /* 08 Search-first aisle: dark purchase sheet before a clean image deck. */
  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-detail-hero {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding-bottom: 78px;
  }

  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-summary {
    width: 100%;
    grid-row: 1;
    padding: 30px 20px 34px;
    border: 0;
    border-bottom: 4px solid var(--sf-accent);
    background: var(--sf-text);
    color: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-summary :where(h1, .detail-price) {
    color: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-summary :where(.product-intro, .detail-price > span) {
    color: color-mix(in srgb, var(--sf-bg) 72%, transparent);
  }

  /* The mobile order sheet inverts to a light surface. Keep the compact
   * fulfillment note and reassurance labels readable against that surface. */
  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-summary :where(
    .stock-note,
    .reassurance-list span
  ) {
    color: color-mix(in srgb, var(--sf-bg) 82%, var(--sf-text));
  }

  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-summary .reassurance-list strong {
    color: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-gallery {
    grid-row: 2;
    padding: 20px;
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-gallery-main {
    height: auto;
    aspect-ratio: 1.22;
    border: 0;
  }

  .ec-system-v3.ec-layout-search-first-aisle .detail-aisle-stacked .product-gallery-thumbs {
    padding: 8px 0 0;
    border-top: 1px solid var(--sf-border);
  }

  /* 09 Grocery panel: compact shelf with the selector fixed at the right. */
  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-detail-hero {
    width: calc(100% - 20px);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding-bottom: 72px;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-gallery {
    grid-row: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 52px;
    gap: 7px;
    padding: 8px;
    border: 1px solid var(--sf-border);
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-gallery-main {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 1.08;
    border: 0;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-gallery-thumbs {
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 5px;
    margin: 0;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .gallery-thumb {
    min-width: 48px;
    min-height: 48px;
    padding: 5px;
    border-radius: 2px;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-summary {
    grid-row: 2;
    padding: 22px;
    border: 1px solid var(--sf-border);
    border-top: 6px solid var(--sf-brand);
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-summary h1 {
    font-size: 25px;
    line-height: 1.25;
  }

  /* 10 Shopping magazine: image, thumbnails, then article lede and price. */
  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-detail-hero {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    padding-bottom: 84px;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary {
    width: calc(100% - 40px);
    grid-row: 2;
    margin-inline: auto;
    padding: 24px 0 28px;
    border: 0;
    border-block: 5px solid var(--sf-text);
    background: transparent;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary h1 {
    font-family: var(--sf-display);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.28;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-gallery {
    grid-row: 1;
    width: 100%;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-gallery-main {
    aspect-ratio: 1.32;
    border-inline: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-gallery-thumbs {
    width: calc(100% - 40px);
    margin: -20px auto 0;
    padding: 8px;
    position: relative;
    z-index: 2;
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .gallery-thumb {
    border-radius: 0;
  }

  /* Mobile magazine feature: real image first, copy second, never a tiny token. */
  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story {
    width: 100%;
    min-height: 0;
    display: block;
    padding: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story {
    width: calc(100% - 24px);
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 290px auto;
    gap: 0;
    padding-block: 24px 50px;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-product-showcase {
    min-height: 290px;
    height: 290px;
    grid-column: 1;
    grid-row: 1;
    border: 1px solid var(--sf-text);
    border-bottom: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-showcase-item {
    display: block;
    min-width: 0;
    min-height: 0;
    padding: 20px 34px;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-story-copy {
    grid-column: 1;
    grid-row: 2;
    padding: 30px 24px;
    border: 1px solid var(--sf-text);
    border-top: 4px solid var(--sf-text);
  }

  /* Mobile lookbook home: copy and CTA precede the product visual. */
  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed,
  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed > .hero-product-showcase {
    min-height: 0;
    height: auto;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 390px;
    padding-top: 98px;
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed > .hero-product-showcase {
    grid-column: 1;
    grid-row: 2;
    min-height: 390px;
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed .hero-showcase-item {
    padding: 34px 48px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-overlay {
    position: relative;
    inset: auto;
    z-index: 2;
    width: 100%;
    grid-column: 1;
    grid-row: 1;
    padding: 34px 20px 30px;
    color: var(--sf-text);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy {
    width: 100%;
    padding: 0 0 0 20px;
    border-left: 1px solid var(--sf-text);
    background: transparent;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy h1 {
    font-size: 33px;
    line-height: 1.24;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy .lead {
    margin-top: 16px;
    font-size: 12px;
    line-height: 1.75;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy > a {
    margin-top: 20px;
  }

  /* Mobile headers keep purpose-specific silhouettes and action treatments. */
  .ec-system-v3.ec-layout-boutique-editorial .store-header {
    border-bottom: 1px solid var(--sf-text);
  }

  .ec-system-v3.ec-layout-boutique-editorial .header-catalog-link,
  .ec-system-v3.ec-layout-boutique-editorial .header-status {
    border-radius: 0;
  }

  .ec-system-v3.ec-layout-science-dtc .store-header {
    height: 60px;
    border-bottom: 3px solid var(--sf-brand);
  }

  .ec-system-v3.ec-layout-science-dtc .header-catalog-link {
    display: none;
  }

  .ec-system-v3.ec-layout-maker-story .store-header {
    border-bottom: 0;
  }

  .ec-system-v3.ec-layout-maker-story .header-actions a {
    border-radius: 999px;
  }

  .ec-system-v3.ec-layout-gift-concierge .header-masthead {
    border-bottom: 4px double var(--sf-border);
    text-align: center;
  }

  .ec-system-v3.ec-layout-immersive-campaign .store-header {
    top: 30px;
    height: 68px;
    border-bottom: 1px solid color-mix(in srgb, var(--sf-text) 26%, transparent);
    background: color-mix(in srgb, var(--sf-bg) 94%, transparent);
  }

  .ec-system-v3.ec-layout-deal-department .store-header {
    border-bottom: 3px solid var(--sf-text);
  }

  .ec-system-v3.ec-layout-deal-department .header-catalog-link {
    display: none;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .header-market-top {
    border-bottom: 6px solid var(--sf-brand);
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .header-actions a {
    border-radius: 0;
  }

  .ec-system-v3.ec-layout-search-first-aisle .store-header {
    border-bottom: 0;
  }

  .ec-system-v3.ec-layout-search-first-aisle .header-search {
    border-color: color-mix(in srgb, var(--sf-accent) 60%, var(--sf-border));
  }

  .ec-system-v3.ec-layout-faceted-grocery .header-grocery-top {
    border-bottom: 0;
  }

  .ec-system-v3.ec-layout-faceted-grocery .header-catalog-link,
  .ec-system-v3.ec-layout-faceted-grocery .header-status {
    border-radius: 999px;
  }

  .ec-system-v3.ec-layout-shopping-magazine .header-magazine-title {
    border-bottom: 5px solid var(--sf-text);
    text-align: left;
  }

  .ec-system-v3.ec-layout-shopping-magazine .header-actions a {
    border-radius: 0;
  }
}

/* v30.1 audit corrections: contrast, narrow-width containment and discovery. */
.ec-system-v3.ec-profile-bold-pop {
  --sf-brand: #9f3029;
  --sf-accent: #9f3029;
}

.ec-system-v3.ec-layout-deal-department .sales-lock {
  color: #fff;
}

.ec-system-v3.ec-layout-search-first-aisle .product-kicker > span:first-child {
  color: #b9c3c8;
}

@media (min-width: 661px) and (max-width: 900px) {
  .ec-system-v3.ec-layout-shopping-magazine .hero-story-copy h1 {
    font-size: 39px;
    line-height: 1.22;
    letter-spacing: 0;
  }
}

@media (max-width: 660px) {
  .ec-system-v3.ec-layout-search-first-aisle .product-kicker > span:first-child {
    color: #46525a;
  }

  .ec-system-v3.ec-layout-deal-department .hero-promo-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3.ec-layout-deal-department .hero-promo-shell .hero-product-showcase {
    width: 100%;
    min-width: 0;
  }

  .ec-system-v3.ec-layout-deal-department .hero-promo-copy {
    width: calc(100% - 24px);
    min-width: 0;
    align-self: center;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery-main,
  .ec-system-v3.ec-layout-deal-department .detail-deal-split .product-gallery-main,
  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-main {
    width: 100%;
    min-width: 0;
    height: auto;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery-main > img,
  .ec-system-v3.ec-layout-deal-department .detail-deal-split .product-gallery-main > img,
  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-main > img {
    width: 100%;
    min-width: 0;
    height: 100%;
  }

  /* Toolbars remain functionally identical, but their information geometry is
   * intentionally different across the four previously convergent layouts. */
  .ec-system-v3.ec-layout-boutique-editorial .catalog-toolbar {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }

  .ec-system-v3.ec-layout-gift-concierge .catalog-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 124px;
    gap: 12px;
  }

  .ec-system-v3.ec-layout-gift-concierge .catalog-discovery {
    display: contents;
  }

  .ec-system-v3.ec-layout-gift-concierge .catalog-filter-row {
    grid-column: 1 / -1;
  }

  .ec-system-v3.ec-layout-deal-department .catalog-toolbar {
    display: flex;
    flex-direction: column-reverse;
    gap: 14px;
  }

  .ec-system-v3.ec-layout-deal-department .catalog-filter-row {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--sf-border);
  }

  .ec-system-v3 .product-card:hover .product-image-link img {
    /* Chromium keeps a fine-pointer hover target while mobile screenshots are
     * captured. Do not let that synthetic hover enlarge supplier photos beyond
     * their card frame at narrow widths; real touch UIs have no hover affordance. */
    transform: none !important;
  }

  .ec-system-v3.ec-layout-gift-concierge .catalog-toolbar {
    margin-bottom: 17px;
  }

  .ec-system-v3.ec-layout-maker-story .catalog-toolbar {
    display: grid;
    grid-template-columns: minmax(0, .62fr) minmax(0, .38fr);
    gap: 10px;
  }

  .ec-system-v3.ec-layout-maker-story .catalog-discovery,
  .ec-system-v3.ec-layout-maker-story .catalog-filter-row {
    grid-column: 1 / -1;
  }

  .ec-system-v3.ec-layout-maker-story .catalog-filter-row {
    max-width: 78%;
    justify-self: end;
  }
}

@media (max-width: 390px) {
  .ec-system-v3.ec-layout-maker-story .legal-page h1 {
    font-size: clamp(24px, 7.5vw, 30px);
    line-height: 1.35;
    letter-spacing: 0;
  }
}

/* Search-first storefront: the first screen now works as a compact aisle
 * directory with one real product reference, rather than another text-only
 * category block. */
.ec-system-v3.ec-layout-search-first-aisle .search-aisle-intro {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 22px;
}

.ec-system-v3.ec-layout-search-first-aisle .search-aisle-copy {
  min-width: 0;
}

.ec-system-v3.ec-layout-search-first-aisle .search-aisle-all {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  margin-top: 18px;
  padding-inline: 17px;
  border: 1px solid var(--sf-text);
  color: var(--sf-text);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature {
  min-width: 0;
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 8px;
  border: 1px solid var(--sf-border);
  background: var(--sf-surface);
  color: var(--sf-text);
  text-decoration: none;
}

.ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature img {
  width: 112px;
  height: 112px;
  object-fit: contain;
  background: var(--sf-bg);
}

.ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature span,
.ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature strong,
.ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature small {
  min-width: 0;
  display: block;
}

.ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature small {
  margin-bottom: 6px;
  color: var(--sf-accent);
  font-size: 9px;
  font-weight: 700;
}

.ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature strong {
  font-size: 10px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

@media (min-width: 661px) and (max-width: 900px) {
  .ec-system-v3.ec-layout-search-first-aisle .search-aisle-intro {
    grid-template-columns: minmax(0, 1fr) minmax(210px, 280px);
    align-items: end;
  }
}

@media (max-width: 660px) {
  .ec-system-v3.ec-layout-search-first-aisle .search-aisle-intro {
    grid-template-columns: minmax(0, 1fr) 116px;
    align-items: start;
    gap: 12px;
  }

  .ec-system-v3.ec-layout-search-first-aisle .search-aisle-copy h2 {
    font-size: clamp(24px, 7.8vw, 30px);
    line-height: 1.28;
  }

  .ec-system-v3.ec-layout-search-first-aisle .search-aisle-all {
    min-height: 40px;
    margin-top: 14px;
    padding-inline: 12px;
  }

  .ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature {
    display: block;
    padding: 6px;
  }

  .ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .ec-system-v3.ec-layout-search-first-aisle .search-aisle-feature span {
    display: none;
  }

  .ec-system-v3.ec-layout-faceted-grocery .catalog-heading-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
  }

  .ec-system-v3.ec-layout-faceted-grocery .catalog-heading-meta .product-count {
    margin: 0;
  }

  .ec-system-v3.ec-layout-faceted-grocery .catalog-heading-meta a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding-inline: 15px;
    border: 1px solid var(--sf-brand);
    border-radius: 999px;
    background: var(--sf-brand);
    color: var(--sf-brand-contrast);
    font-size: 10px;
    font-weight: 700;
    text-decoration: none;
  }

  .ec-system-v3.ec-layout-faceted-grocery .catalog-layout-sidebar .catalog-toolbar {
    margin-bottom: 22px;
  }
}

/* v30.2 — final independent-audit corrections.
 * These rules change composition only. Gallery controls, merchandise facts,
 * availability and the primary purchase action remain the shared contract. */

/* Maker hero navigation is now an intentional pair: merchandise first, story
 * second. The spacing is set here for every viewport without changing hrefs. */
.ec-system-v3.ec-layout-maker-story .hero-maker-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
  margin-top: 30px;
}

.ec-system-v3.ec-layout-maker-story .hero-maker-actions .button {
  min-width: 154px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 24px;
}

.ec-system-v3.ec-layout-maker-story .hero-maker-actions .text-link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-inline: 2px;
}

@media (min-width: 901px) {
  /* Magazine cover: keep the two authored phrases intact as two lines. */
  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story {
    width: 100%;
    min-height: 0;
    display: block;
    padding: 46px 0 78px;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story {
    width: min(calc(100% - 80px), 1280px);
    min-height: 610px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(540px, .78fr);
    grid-template-rows: minmax(610px, auto);
    margin-inline: auto;
    padding: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-product-showcase {
    min-width: 0;
    min-height: 610px;
    height: 610px;
    grid-column: 1;
    grid-row: 1;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-story-copy {
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    padding: 48px 44px;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-story-copy h1 {
    max-width: 100%;
    font-size: clamp(44px, 3.45vw, 50px);
    line-height: 1.22;
    letter-spacing: -.02em;
  }

  .ec-system-v3.ec-layout-shopping-magazine section.hero.hero-feature-story > article.hero-feature-story .hero-line {
    display: inline;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* Maker legal: the authored prefix stays whole; the existing wbr remains the
   * only allowed desktop break, before “表記”. */
  .ec-system-v3.ec-layout-maker-story .legal-content-frame {
    max-width: 860px;
  }

  .ec-system-v3.ec-layout-maker-story .legal-story-heading h1 {
    max-width: 100%;
    font-size: clamp(46px, 4vw, 56px);
    line-height: 1.25;
    letter-spacing: -.015em;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  .ec-system-v3.ec-layout-maker-story .legal-story-heading .legal-title-prefix {
    display: inline-block;
    white-space: nowrap;
  }

  /* The company chapter should end with its content, not an ornamental void. */
  .ec-system-v3.ec-layout-maker-story .about-section {
    padding-block: 88px;
  }

  /* 03 Craft / story reader: offer copy on the left, material image on the
   * right. This deliberately reverses the shared gallery-first DOM. */
  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-detail-hero {
    width: min(calc(100% - 96px), 1240px);
    max-width: 1240px;
    display: grid;
    grid-template-columns: minmax(360px, .74fr) minmax(0, 1.26fr);
    align-items: start;
    gap: 58px;
    padding: 0 0 92px;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-summary {
    position: sticky;
    top: 126px;
    width: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 40px 0 44px;
    border: 0;
    border-block: 1px solid var(--sf-text);
    background: transparent;
    box-shadow: none;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery {
    width: 100%;
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery-main {
    min-height: 0;
    aspect-ratio: 1.14;
    border: 0;
    border-bottom: 1px solid var(--sf-border);
  }

  /* 07 Bold marketplace: literal three-part commerce bay — thumbnail rail,
   * main merchandise stage and a separate order panel. */
  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-detail-hero {
    width: min(calc(100% - 64px), 1400px);
    max-width: 1400px;
    display: grid;
    grid-template-columns: minmax(0, 1.46fr) minmax(350px, .54fr);
    align-items: start;
    gap: 18px;
    padding: 0 0 84px;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery {
    min-width: 0;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border: 2px solid var(--sf-text);
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-main {
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    aspect-ratio: 1;
    border: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-thumbs {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 8px;
    margin: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .gallery-thumb {
    width: 76px;
    min-width: 76px;
    min-height: 76px;
    border-radius: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-summary {
    min-width: 0;
    margin: 0;
    padding: 34px 30px;
    border: 2px solid var(--sf-text);
    border-top: 10px solid var(--sf-brand);
    background: var(--sf-surface);
  }

  /* 05 Premium: one large campaign image, with the buying sheet floating into
   * it. Grid overlap avoids absolute positioning and preserves document flow. */
  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-detail-hero {
    width: 100%;
    max-width: 1440px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, .38fr);
    grid-template-rows: minmax(640px, auto);
    align-items: center;
    gap: 0;
    padding: 0 36px 96px 0;
    background: transparent;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery {
    width: 84%;
    min-width: 0;
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 12px;
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: start;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery-main {
    min-height: min(72svh, 720px);
    height: min(72svh, 720px);
    grid-column: 2;
    grid-row: 1;
    aspect-ratio: auto;
    border: 0;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery-thumbs {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    justify-self: center;
    gap: 8px;
    margin: 0;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .gallery-thumb {
    width: 82px;
    min-width: 82px;
    min-height: 82px;
    border-radius: 0;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary {
    position: relative;
    z-index: 2;
    width: auto;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 44px 40px;
    border: 1px solid var(--sf-border);
    background: var(--sf-bg);
    box-shadow: 0 24px 64px rgba(29, 25, 20, .14);
  }

  /* 09 Grocery: a predictable, practical two-pane product page. */
  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-detail-hero {
    width: min(calc(100% - 64px), 1400px);
    max-width: 1400px;
    display: grid;
    grid-template-columns: minmax(430px, .88fr) minmax(0, 1.12fr);
    align-items: start;
    gap: 24px;
    padding-bottom: 84px;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-gallery,
  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-summary {
    min-width: 0;
    margin: 0;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-gallery-main {
    min-height: 0;
    aspect-ratio: 1.12;
  }

  /* 10 Magazine: headline and buying facts form a full-width lede; imagery
   * follows like the opening plate of a feature article. */
  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-detail-hero {
    width: min(calc(100% - 80px), 1280px);
    max-width: 1280px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0 0 96px;
    border-block: 5px solid var(--sf-text);
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary {
    width: 100%;
    max-width: none;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, .36fr);
    grid-auto-flow: row;
    align-items: start;
    column-gap: 56px;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 38px 0 42px;
    border: 0;
    border-bottom: 1px solid var(--sf-text);
    background: transparent;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary .product-kicker,
  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary h1,
  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary .product-intro {
    grid-column: 1;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary h1 {
    max-width: 830px;
    margin-bottom: 18px;
    font-size: clamp(40px, 4vw, 54px);
    line-height: 1.16;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary :where(
    .detail-price,
    .variant-panel,
    .order-note,
    .purchase-button,
    .purchase-disabled,
    .stock-note,
    .reassurance-list
  ) {
    grid-column: 2;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary .detail-price {
    grid-row: 1 / span 2;
    align-self: end;
    margin-top: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-gallery {
    width: 100%;
    min-width: 0;
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    padding: 38px 0 0;
    border: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-gallery-main {
    min-height: 0;
    aspect-ratio: 1.72;
    border: 0;
  }
}

@media (min-width: 661px) and (max-width: 900px) {
  /* Premium tablet regains a complete value proposition and CTA in the first
   * viewport instead of showing an isolated wholesale photograph. */
  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed {
    min-height: 600px;
    height: 600px;
    display: grid;
    grid-template-columns: minmax(300px, .86fr) minmax(0, 1.14fr);
    grid-template-rows: minmax(0, 1fr);
    padding-top: 98px;
    box-sizing: border-box;
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed > .hero-product-showcase {
    min-height: 0;
    height: 100%;
    grid-column: 2;
    grid-row: 1;
    background: var(--sf-surface);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-full-bleed .hero-showcase-item {
    padding: 34px 24px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-overlay {
    position: relative;
    inset: auto;
    z-index: 2;
    width: auto;
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    align-self: stretch;
    display: flex;
    align-items: center;
    padding: 34px 28px;
    color: var(--sf-text);
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy {
    width: 100%;
    min-width: 0;
    padding: 0 0 0 20px;
    border-left: 1px solid var(--sf-text);
    background: transparent;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy h1 {
    font-size: clamp(32px, 4.6vw, 39px);
    line-height: 1.2;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy .lead {
    margin-top: 18px;
    font-size: 11px;
    line-height: 1.8;
  }

  .ec-system-v3.ec-layout-immersive-campaign .hero-lookbook-copy > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    margin-top: 22px;
  }

  .ec-system-v3.ec-layout-maker-story .hero-provenance-visual .hero-product-showcase {
    height: 330px;
  }

  .ec-system-v3.ec-layout-maker-story .hero-provenance-copy {
    gap: 24px;
    margin-top: 28px;
  }

  .ec-system-v3.ec-layout-maker-story .hero-maker-actions {
    margin-top: 24px;
  }

  .ec-system-v3.ec-layout-maker-story .legal-story-heading h1 {
    font-size: clamp(34px, 5.8vw, 43px);
    word-break: keep-all;
    overflow-wrap: normal;
  }

  .ec-system-v3.ec-layout-maker-story .legal-story-heading .legal-title-prefix {
    display: inline-block;
    white-space: nowrap;
  }

  /* Craft retains summary-left / gallery-right at tablet, with a quieter
   * editorial frame than any marketplace preset. */
  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-detail-hero {
    width: calc(100% - 40px);
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: 24px;
    padding: 0 0 80px;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-summary {
    width: auto;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 28px 0 32px;
    border: 0;
    border-block: 1px solid var(--sf-text);
    background: transparent;
    box-shadow: none;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery {
    width: 100%;
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery-main {
    min-height: 0;
    aspect-ratio: 1;
  }

  /* Bold tablet still reads as three lanes, not a generic two-pane PDP. */
  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-detail-hero {
    width: calc(100% - 32px);
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(292px, .75fr);
    align-items: start;
    gap: 14px;
    padding: 0 0 76px;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery {
    min-width: 0;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    gap: 8px;
    padding: 8px;
    border: 2px solid var(--sf-text);
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-main {
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    aspect-ratio: 1;
    border: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-thumbs {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 6px;
    margin: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .gallery-thumb {
    width: 58px;
    min-width: 58px;
    min-height: 58px;
    border-radius: 0;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-summary {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 26px 22px;
    border: 2px solid var(--sf-text);
    border-top: 8px solid var(--sf-brand);
  }

  /* Premium tablet uses an overlapping lower sheet, unlike both the strict
   * craft split and the bold three-lane bay. */
  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-detail-hero {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0 0 94px;
    background: transparent;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery {
    width: 100%;
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery-main {
    min-height: 430px;
    height: 430px;
    aspect-ratio: auto;
    border-inline: 0;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary {
    position: relative;
    z-index: 2;
    width: calc(100% - 80px);
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
    margin: -104px 24px 0 0;
    padding: 34px 32px;
    border: 1px solid var(--sf-border);
    background: var(--sf-bg);
    box-shadow: 0 20px 48px rgba(29, 25, 20, .13);
  }

  /* Grocery remains the familiar, compact two-pane workhorse. */
  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-detail-hero {
    width: calc(100% - 40px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .94fr);
    align-items: start;
    gap: 24px;
    padding-bottom: 78px;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-gallery,
  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-summary {
    min-width: 0;
    width: auto;
    margin: 0;
  }

  /* Magazine tablet leads with the full article headline, then its plate. */
  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-detail-hero {
    width: calc(100% - 40px);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0 0 86px;
    border-block: 5px solid var(--sf-text);
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    column-gap: 28px;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    padding: 28px 0 30px;
    border: 0;
    border-bottom: 1px solid var(--sf-text);
    background: transparent;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary .product-kicker,
  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary h1,
  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary .product-intro {
    grid-column: 1;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary h1 {
    font-size: 31px;
    line-height: 1.2;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary :where(
    .detail-price,
    .variant-panel,
    .order-note,
    .purchase-button,
    .purchase-disabled,
    .stock-note,
    .reassurance-list
  ) {
    grid-column: 2;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary .detail-price {
    grid-row: 1 / span 2;
    align-self: end;
    margin-top: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-gallery {
    width: 100%;
    grid-column: 1;
    grid-row: 2;
    margin: 0;
    padding: 28px 0 0;
    border: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-gallery-main {
    min-height: 0;
    aspect-ratio: 1.42;
  }
}

@media (max-width: 660px) {
  .ec-system-v3.ec-layout-maker-story .hero-maker-actions {
    gap: 10px 16px;
    margin-top: 22px;
  }

  .ec-system-v3.ec-layout-maker-story .hero-maker-actions .button {
    min-width: 142px;
    min-height: 46px;
    padding-inline: 18px;
  }

  /* Mobile PDPs retain three genuine families: copy-first for craft/grocery,
   * media-rail-first for bold/magazine, and overlap-sheet for premium. */
  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-summary {
    grid-row: 1;
    margin: 0 auto 32px;
  }

  .ec-system-v3.ec-layout-maker-story .detail-story-reader .product-gallery {
    grid-row: 2;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-summary {
    grid-row: 1;
    margin: 0 auto;
  }

  .ec-system-v3.ec-layout-faceted-grocery .detail-grocery-panel .product-gallery {
    grid-row: 2;
  }
}

/* v30.3 — bounded follow-up fixes from the final blind contact-sheet review. */

/* Four order previews become compact merchandise records instead of repeating
 * a large PDP photograph. Their wrappers keep four different retail grammars. */
.ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .checkout-preview,
.ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .checkout-preview,
.ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .checkout-preview,
.ec-system-v3.ec-layout-deal-department .checkout-counter-preview .checkout-preview {
  min-width: 0;
  align-items: center;
}

.ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .checkout-preview {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  grid-template-areas:
    "kicker kicker"
    "title title"
    "image product";
  gap: 10px 18px;
  padding: 20px 0;
  border-block: 1px solid var(--sf-text);
}

.ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .checkout-preview {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  grid-template-areas:
    "kicker title"
    "image product";
  gap: 14px 20px;
  padding: 18px;
  border: 4px double var(--sf-border);
  background: var(--sf-bg);
}

.ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .checkout-preview {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  grid-template-areas:
    "image kicker"
    "image title"
    "image product";
  gap: 5px 18px;
  padding: 16px;
  border-left: 5px solid var(--sf-brand);
  background: var(--sf-surface-soft);
}

.ec-system-v3.ec-layout-deal-department .checkout-counter-preview .checkout-preview {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  grid-template-areas:
    "kicker kicker"
    "title title"
    "image product";
  gap: 10px 16px;
  padding: 16px;
  border: 2px solid var(--sf-text);
  border-top: 8px solid var(--sf-brand);
  background: var(--sf-surface);
}

.ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .summary-kicker,
.ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .summary-kicker,
.ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .summary-kicker,
.ec-system-v3.ec-layout-deal-department .checkout-counter-preview .summary-kicker {
  grid-area: kicker;
  margin: 0;
}

.ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .checkout-preview > h2,
.ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .checkout-preview > h2,
.ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .checkout-preview > h2,
.ec-system-v3.ec-layout-deal-department .checkout-counter-preview .checkout-preview > h2 {
  min-width: 0;
  grid-area: title;
  margin: 0;
  font-size: clamp(19px, 2vw, 25px);
  line-height: 1.25;
}

.ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .request-product-image,
.ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .request-product-image,
.ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .request-product-image,
.ec-system-v3.ec-layout-deal-department .checkout-counter-preview .request-product-image {
  width: 100%;
  height: auto;
  max-height: 160px;
  aspect-ratio: 1;
  grid-area: image;
  align-self: start;
  margin: 0;
  padding: 7px;
  object-fit: contain;
}

.ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .checkout-product,
.ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .checkout-product,
.ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .checkout-product,
.ec-system-v3.ec-layout-deal-department .checkout-counter-preview .checkout-product {
  min-width: 0;
  grid-area: product;
  align-self: center;
  padding: 0;
  border: 0;
}

.ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .checkout-product strong,
.ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .checkout-product strong,
.ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .checkout-product strong,
.ec-system-v3.ec-layout-deal-department .checkout-counter-preview .checkout-product strong {
  overflow-wrap: anywhere;
}

@media (min-width: 901px) {
  /* Imported names wrap at authored spaces; the panel type scale is sized so
   * Japanese brand tokens stay whole without widening the three-lane bay. */
  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-summary h1 {
    max-width: 100%;
    font-size: clamp(34px, 2.65vw, 38px);
    line-height: 1.2;
    letter-spacing: -.02em;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  /* Lift the floating sheet just enough to keep its unchanged CTA in view. */
  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-detail-hero {
    grid-template-columns: minmax(0, 1fr) 420px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary {
    padding: 40px 36px;
    transform: translateY(-48px);
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary h1 {
    font-size: clamp(36px, 3vw, 43px);
  }

  /* Search-first category links should size to their content, not inherit the
   * taller featured-product intro beside them. */
  .ec-system-v3.ec-layout-search-first-aisle .search-aisle {
    align-items: start;
  }

  .ec-system-v3.ec-layout-search-first-aisle .search-aisle > nav {
    align-self: start;
  }

  /* Gift statement and market ticket keep a compact merchandise record at
   * left while the actual fields and consent remain together at right. */
  .ec-system-v3.ec-layout-gift-concierge .checkout-salon {
    grid-template-columns: 320px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 28px 42px;
  }

  .ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview {
    min-width: 0;
    grid-column: 1;
    grid-row: 1 / span 2;
    padding: 0;
    border: 0;
  }

  .ec-system-v3.ec-layout-gift-concierge .checkout-salon-fields,
  .ec-system-v3.ec-layout-gift-concierge .checkout-salon-actions {
    min-width: 0;
    grid-column: 2;
  }

  .ec-system-v3.ec-layout-gift-concierge .checkout-salon-fields {
    grid-row: 1;
  }

  .ec-system-v3.ec-layout-gift-concierge .checkout-salon-actions {
    grid-row: 2;
  }

  .ec-system-v3.ec-layout-deal-department .checkout-counter {
    grid-template-columns: 300px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 0;
  }

  .ec-system-v3.ec-layout-deal-department .checkout-counter-preview {
    min-width: 0;
    grid-column: 1;
    grid-row: 1 / span 2;
    padding: 24px;
    border: 0;
    border-right: 2px solid var(--sf-text);
  }

  .ec-system-v3.ec-layout-deal-department .checkout-counter-fields,
  .ec-system-v3.ec-layout-deal-department .checkout-counter-actions {
    min-width: 0;
    grid-column: 2;
    padding: 28px;
  }

  .ec-system-v3.ec-layout-deal-department .checkout-counter-fields {
    grid-row: 1;
  }

  .ec-system-v3.ec-layout-deal-department .checkout-counter-actions {
    grid-row: 2;
    border-top: 2px solid var(--sf-text);
  }
}

@media (min-width: 661px) and (max-width: 900px) {
  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-summary h1 {
    max-width: 100%;
    font-size: 26px;
    line-height: 1.22;
    letter-spacing: -.015em;
    word-break: keep-all;
    overflow-wrap: normal;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary {
    margin: 0 24px 0 0;
    transform: translateY(-46px);
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery {
    position: relative;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-gallery-thumbs {
    position: absolute;
    z-index: 3;
    inset: 50% 14px auto auto;
    width: 58px;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    margin: 0;
    transform: translateY(-50%);
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .gallery-thumb {
    width: 58px;
    min-width: 58px;
    min-height: 58px;
    border-radius: 0;
  }

  /* Warm-market hero copy starts after its imagery; its eyebrow is never
   * hidden behind the merchandise panel. */
  .ec-system-v3.ec-layout-deal-department .hero-promo-copy {
    width: 100%;
    margin: 0;
    padding: 32px 28px 34px;
  }

  .ec-system-v3.ec-layout-deal-department .hero-promo-label {
    margin-top: 0;
  }

  .ec-system-v3:is(
    .ec-layout-boutique-editorial,
    .ec-layout-gift-concierge,
    .ec-layout-science-dtc,
    .ec-layout-deal-department
  ) .checkout-steps li {
    font-size: 10px;
    line-height: 1.35;
  }
}

@media (max-width: 660px) {
  .ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .checkout-preview {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 9px 14px;
    padding-block: 16px;
  }

  .ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .checkout-preview {
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-areas:
      "kicker kicker"
      "title title"
      "image product";
    gap: 9px 14px;
    padding: 14px;
  }

  .ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .checkout-preview {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 5px 13px;
    padding: 13px;
  }

  .ec-system-v3.ec-layout-deal-department .checkout-counter-preview .checkout-preview {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 8px 13px;
    padding: 13px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .checkout-preview > h2,
  .ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .checkout-preview > h2,
  .ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .checkout-preview > h2,
  .ec-system-v3.ec-layout-deal-department .checkout-counter-preview .checkout-preview > h2 {
    font-size: 20px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .checkout-folio-preview .request-product-image,
  .ec-system-v3.ec-layout-gift-concierge .checkout-salon-preview .request-product-image,
  .ec-system-v3.ec-layout-science-dtc .checkout-lab-preview .request-product-image,
  .ec-system-v3.ec-layout-deal-department .checkout-counter-preview .request-product-image {
    max-height: 112px;
  }
}

/* v30.4 — company information balance and Japanese address wrapping.
 * Company copy remains factual and unchanged; only the available measure and
 * the alignment of the two authored regions are corrected. */
@media (min-width: 901px) {
  /* The short introduction is optically centred against the taller facts
   * register, and the chapter ends closer to its actual content. */
  .ec-system-v3.ec-layout-maker-story .about-section {
    padding-block: 68px;
  }

  .ec-system-v3.ec-layout-maker-story .about-grid > div:first-of-type {
    align-self: stretch;
    display: grid;
    align-content: center;
  }

  /* Search-first keeps its five-cell register, but address receives the
   * longest measure instead of five mechanically equal columns. */
  .ec-system-v3.ec-layout-search-first-aisle .about-section dl {
    grid-template-columns:
      minmax(116px, .86fr)
      minmax(112px, .78fr)
      minmax(238px, 1.68fr)
      minmax(116px, .8fr)
      minmax(148px, 1.08fr);
  }
}

/* The third corporate record is the authored postal address. Prevent breaks
 * inside a Japanese place/building phrase; explicit spaces remain the natural
 * boundaries between postal code, street address, and building name. */
.ec-system-v3:is(
  .ec-layout-maker-story,
  .ec-layout-gift-concierge,
  .ec-layout-search-first-aisle
) .about-section dl > div:nth-child(3) dd {
  min-width: 0;
  word-break: keep-all;
  overflow-wrap: normal;
}

/* v30.5 — final human-audit corrections. Product records wrap only between
 * authored title tokens; addresses stay close as one record; mobile PDPs keep
 * the complete purchase status in the first viewport. */
@media (min-width: 901px) {
  .ec-system-v3.ec-layout-shopping-magazine .products-section .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .ec-system-v3.ec-layout-faceted-grocery .about-section dl {
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3.ec-layout-faceted-grocery .about-section dl > div,
  .ec-system-v3.ec-layout-faceted-grocery .about-section dl > div:last-child {
    grid-column: 1;
  }
}

@media (max-width: 660px) {
  /* Keep the first merchandise price fully inside a 390x844 shopping viewport.
   * Sixteen pixels still reads as a deliberate section break without pushing
   * the first row below the fold. */
  .ec-system-v3.ec-layout-marketplace-mosaic .catalog-toolbar,
  .ec-system-v3.ec-layout-faceted-grocery .catalog-layout-sidebar .catalog-toolbar {
    margin-bottom: 16px;
  }

  .ec-system-v3.ec-layout-search-first-aisle .catalog-layout-sidebar .catalog-toolbar {
    margin-bottom: 22px;
  }

  /* These three families otherwise collapse long supplier names inside a
   * half-width card. Their records remain structurally different: editorial
   * split, promotional ticket, and image-led lookbook. */
  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-grid,
  .ec-system-v3.ec-layout-deal-department .products-section .product-grid,
  .ec-system-v3.ec-layout-immersive-campaign .products-section .product-grid,
  .ec-system-v3.ec-layout-search-first-aisle .products-section .product-grid,
  .ec-system-v3.ec-layout-marketplace-mosaic .products-section .product-grid,
  .ec-system-v3.ec-layout-faceted-grocery .products-section .product-grid,
  .ec-system-v3 .related-products .product-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-card-link,
  .ec-system-v3.ec-layout-deal-department .products-section .product-card-link,
  .ec-system-v3.ec-layout-boutique-editorial .related-products .product-card-link,
  .ec-system-v3.ec-layout-deal-department .related-products .product-card-link {
    display: block;
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-card-editorial-media,
  .ec-system-v3.ec-layout-boutique-editorial .related-products .product-card-editorial-media {
    height: 220px;
    min-height: 220px;
  }

  .ec-system-v3.ec-layout-deal-department .products-section .product-image-link,
  .ec-system-v3.ec-layout-deal-department .related-products .product-image-link {
    height: 180px;
    min-height: 180px;
    aspect-ratio: auto;
  }

  .ec-system-v3.ec-layout-immersive-campaign .products-section .product-copy h3,
  .ec-system-v3.ec-layout-immersive-campaign .related-products .product-copy h3 {
    font-size: 14px;
  }

  .ec-system-v3.ec-layout-deal-department .deal-mosaic {
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3.ec-layout-deal-department .deal-mosaic .discovery-product:first-child {
    grid-column: auto;
  }

  /* When the fixed media column reaches its minimum, the copy column owns all
   * remaining width. Imported brand tokens are opaque data, so the maker feed
   * gives copy the full measure below its compact merchandise plate. */
  .ec-system-v3.ec-layout-maker-story .products-section .product-card-link {
    display: block;
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3.ec-layout-maker-story .products-section .product-card-editorial-media,
  .ec-system-v3.ec-layout-maker-story .products-section .product-card-maker-image,
  .ec-system-v3.ec-layout-maker-story .products-section .product-image-link {
    height: 160px;
    min-height: 160px;
  }

  .ec-system-v3.ec-layout-maker-story .products-section .product-copy {
    min-height: 0;
  }

  .ec-system-v3.ec-layout-shopping-magazine .products-section .product-card-link {
    display: flex;
    flex-direction: column;
  }

  .ec-system-v3.ec-layout-shopping-magazine .products-section .product-image-link {
    height: 200px;
    min-height: 200px;
    aspect-ratio: auto;
  }

  .ec-system-v3.ec-layout-shopping-magazine .products-section .product-copy {
    min-height: 0;
    padding: 16px 0 20px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-summary {
    margin-top: 18px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery {
    padding: 10px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery-main {
    height: 228px;
    min-height: 0;
    aspect-ratio: auto;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery-thumbs {
    position: relative;
    z-index: 2;
    width: calc(100% - 28px);
    margin: -34px auto 0;
    padding: 7px;
    background: var(--sf-bg);
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary {
    margin-top: 8px;
    padding: 16px 22px 22px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary h1 {
    font-size: 26px;
    line-height: 1.35;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-intro {
    margin-top: 8px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .detail-price {
    margin: 12px 0 10px;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-main {
    aspect-ratio: 1.12;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .product-gallery-thumbs {
    gap: 4px;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .detail-marketplace-three .gallery-thumb {
    width: 48px;
    min-width: 48px;
    min-height: 48px;
    height: 48px;
    padding: 4px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary {
    margin-top: -88px;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-detail-hero {
    gap: 4px;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary {
    padding-top: 14px;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-intro {
    margin-top: 8px;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .detail-price {
    margin-top: 12px;
  }
}

@media (max-width: 900px) {
  /* On tablet and mobile the address owns the full record width. Other legal
   * fields retain each layout's existing label/value rhythm. */
  .ec-system-v3:is(
    .ec-layout-maker-story,
    .ec-layout-gift-concierge,
    .ec-layout-search-first-aisle
  ) .about-section dl > div:nth-child(3) {
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
  }
}

@media (max-width: 360px) {
  /* Preserve the gift salon frame while giving a full Japanese street address
   * enough measure to break before the building name, not inside its lot no. */
  .ec-system-v3.ec-layout-gift-concierge .about-grid > div:last-child {
    padding-inline: 16px;
  }

  /* Supplier and brand tokens are never machine-split. At the narrowest
   * supported viewport the two editorial feeds therefore use full-measure
   * records, but retain opposite reading orders and distinct image ratios. */
  .ec-system-v3.ec-layout-maker-story .products-section .product-card-link {
    display: block;
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3.ec-layout-maker-story .products-section .product-card-editorial-media,
  .ec-system-v3.ec-layout-maker-story .products-section .product-card-maker-image,
  .ec-system-v3.ec-layout-maker-story .products-section .product-image-link {
    height: 112px;
    min-height: 112px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-card-editorial-media,
  .ec-system-v3.ec-layout-boutique-editorial .related-products .product-card-editorial-media {
    height: 160px;
    min-height: 160px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-copy h3,
  .ec-system-v3.ec-layout-boutique-editorial .related-products .product-copy h3 {
    font-size: 14px;
    line-height: 1.5;
  }

  .ec-system-v3.ec-layout-boutique-editorial .editorial-pick-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3.ec-layout-boutique-editorial .editorial-pick-grid .discovery-product:first-child {
    grid-column: auto;
  }

  .ec-system-v3.ec-layout-deal-department .products-section .product-image-link,
  .ec-system-v3.ec-layout-deal-department .related-products .product-image-link {
    height: 140px;
    min-height: 140px;
  }

  .ec-system-v3.ec-layout-maker-story .products-section .product-copy {
    min-height: 0;
    padding: 14px 16px 18px;
  }

  .ec-system-v3.ec-layout-maker-story .products-section .product-copy h3 {
    font-size: 14px;
    line-height: 1.55;
  }

  .ec-system-v3.ec-layout-shopping-magazine .products-section .product-card-link {
    display: flex;
    flex-direction: column;
  }

  .ec-system-v3.ec-layout-shopping-magazine .products-section .product-image-link {
    height: 176px;
    min-height: 176px;
    aspect-ratio: auto;
  }

  .ec-system-v3.ec-layout-shopping-magazine .products-section .product-copy {
    min-height: 0;
    padding: 16px 0 20px;
  }

  .ec-system-v3.ec-layout-shopping-magazine .products-section .product-copy h3 {
    font-size: 15px;
    line-height: 1.5;
  }

  /* PDP purchase status must be completely visible in the initial 320x844
   * viewport. Each correction keeps the profile's own composition: an
   * editorial rule, a compact salon frame, an overlap sheet, and a magazine
   * plate respectively. */
  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-summary {
    margin-top: 18px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .detail-editorial-stage .product-summary h1 {
    font-size: 26px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-gallery-main {
    height: 228px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary {
    margin-top: 8px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary h1 {
    font-size: 25px;
    line-height: 1.35;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary {
    margin-top: -88px;
  }

  .ec-system-v3.ec-layout-immersive-campaign .detail-immersive-sheet .product-summary h1 {
    font-size: 28px;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-gallery-main {
    height: 192px;
    min-height: 0;
    aspect-ratio: auto;
  }

  .ec-system-v3.ec-layout-shopping-magazine .detail-magazine-article .product-summary {
    padding-top: 8px;
  }
}

/* v30.6 — product names remain supplier-authored while recommendation cards
 * use a stable reading measure at every viewport. These secondary records are
 * vertical article links; each parent layout retains its own typography,
 * borders, metadata order and image treatment. */
.ec-system-v3 .related-products .product-grid,
.ec-system-v3.commerce-standard .related-products .product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ec-system-v3 .related-products .product-card-link {
  display: block;
  grid-template-columns: minmax(0, 1fr);
}

.ec-system-v3 .related-products .product-card-editorial-media,
.ec-system-v3 .related-products .product-card-grocery-media,
.ec-system-v3 .related-products .product-image-link {
  width: 100%;
  height: 220px;
  min-height: 220px;
  aspect-ratio: auto;
}

.ec-system-v3 .related-products .product-copy {
  min-height: 0;
  padding: 16px 14px 18px;
}

.ec-system-v3 .related-products .product-copy h3 {
  min-height: 0;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .ec-system-v3 .related-products .product-grid,
  .ec-system-v3.commerce-standard .related-products .product-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .ec-system-v3 .related-products .product-card-editorial-media,
  .ec-system-v3 .related-products .product-card-grocery-media,
  .ec-system-v3 .related-products .product-image-link {
    height: 180px;
    min-height: 180px;
  }
}

@media (max-width: 660px) {
  /* Categories remain one-tap controls, but scroll in one horizontal row
   * instead of forming a tall wall before the merchandise. */
  .ec-system-v3 .catalog-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }

  .ec-system-v3 .catalog-filters::-webkit-scrollbar {
    display: none;
  }

  .ec-system-v3 .catalog-filter {
    flex: 0 0 auto;
  }

  /* Most storefronts keep their profile-specific visible category grid. The
   * three editorial/market screens use the compact native select already
   * present in the shared toolbar, avoiding clipped off-canvas pills. */
  .ec-system-v3 .catalog-filters {
    flex-wrap: wrap;
    overflow: visible;
  }

  .ec-system-v3:is(
    .ec-layout-boutique-editorial,
    .ec-layout-maker-story,
    .ec-layout-marketplace-mosaic
  ) .catalog-filter-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
  }

  .ec-system-v3:is(
    .ec-layout-boutique-editorial,
    .ec-layout-maker-story,
    .ec-layout-marketplace-mosaic
  ) .catalog-filters {
    display: none;
  }

  .ec-system-v3:is(
    .ec-layout-boutique-editorial,
    .ec-layout-maker-story,
    .ec-layout-marketplace-mosaic
  ) .catalog-category-select {
    min-width: 0;
    display: block;
  }

  .ec-system-v3:is(
    .ec-layout-boutique-editorial,
    .ec-layout-maker-story,
    .ec-layout-marketplace-mosaic
  ) .catalog-category-select select {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    font-size: 11px;
  }

  .ec-system-v3:is(
    .ec-layout-boutique-editorial,
    .ec-layout-maker-story,
    .ec-layout-marketplace-mosaic
  ) .catalog-result {
    position: static;
    width: auto;
    height: auto;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    overflow: visible;
    clip: auto;
    white-space: nowrap;
    border: 0;
  }

  /* Five shopping grammars keep different image proportions, while each
   * shows product name and price within the first 390x844 list viewport. */
  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-card-editorial-media {
    height: 120px;
    min-height: 120px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-image-link {
    height: 120px;
    min-height: 120px;
    aspect-ratio: auto;
  }

  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-copy,
  .ec-system-v3.ec-layout-maker-story .products-section .product-copy {
    min-height: 0;
    grid-template-rows: auto auto;
    gap: 10px;
    padding: 12px 14px 14px;
  }

  .ec-system-v3.ec-layout-maker-story .products-section .product-card-editorial-media,
  .ec-system-v3.ec-layout-maker-story .products-section .product-card-maker-image,
  .ec-system-v3.ec-layout-maker-story .products-section .product-image-link {
    height: 112px;
    min-height: 112px;
  }

  .ec-system-v3.ec-layout-maker-story .products-section .product-image-link img {
    padding: 8px;
  }

  .ec-system-v3.ec-layout-search-first-aisle .products-section .product-image-link,
  .ec-system-v3.ec-layout-faceted-grocery .products-section .product-image-link {
    aspect-ratio: auto;
  }

  .ec-system-v3.ec-layout-search-first-aisle .products-section .product-image-link {
    height: 188px;
    min-height: 188px;
  }

  .ec-system-v3.ec-layout-faceted-grocery .products-section .product-image-link {
    height: 184px;
    min-height: 184px;
  }

  .ec-system-v3.ec-layout-marketplace-mosaic .products-section .product-image-link {
    height: 240px;
    min-height: 240px;
    aspect-ratio: auto;
  }
}

@media (max-width: 360px) {
  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-card-editorial-media {
    height: 96px;
    min-height: 96px;
  }

  .ec-system-v3.ec-layout-boutique-editorial .products-section .product-image-link {
    height: 96px;
    min-height: 96px;
  }

  .ec-system-v3.ec-layout-maker-story .products-section .product-card-editorial-media,
  .ec-system-v3.ec-layout-maker-story .products-section .product-card-maker-image,
  .ec-system-v3.ec-layout-maker-story .products-section .product-image-link {
    height: 80px;
    min-height: 80px;
  }
}

/* v34 — long PDP titles stay readable without pushing the purchase path out
 * of the compact gift layout. These rules live in the page-identity layer so
 * they follow the gift salon's authored geometry. */
@media (min-width: 901px) {
  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary h1 {
    font-size: clamp(32px, 2.8vw, 44px);
    line-height: 1.25;
  }
}

@media (max-width: 660px) {
  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-detail-hero {
    gap: 12px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary {
    padding: 14px;
  }

  .ec-system-v3.ec-layout-gift-concierge .detail-gift-salon .product-summary h1 {
    font-size: 24px;
    line-height: 1.22;
  }

}

/* Long supplier titles use a shared optical size instead of forcing a single
 * product term into a one-character tail. The rule depends only on measured
 * title density and therefore applies consistently to every storefront. */
.ec-system-v3 .product-detail .product-summary h1[data-title-density="long"] {
  font-size: clamp(28px, 2.2vw, 34px);
  line-height: 1.28;
}

@media (max-width: 660px) {
  .ec-system-v3 .product-detail .product-summary h1[data-title-density="long"] {
    font-size: 22px;
  }
}

@media (max-width: 360px) {
  .ec-system-v3 .product-detail .product-summary h1[data-title-density="long"] {
    font-size: 20px;
  }
}

/* Sidebar-led company panels move below the introduction before their factual
 * columns become too narrow for real addresses and email addresses. */
@media (max-width: 1120px) {
  .ec-system-v3.ec-layout-search-first-aisle .about-grid,
  .ec-system-v3.ec-layout-faceted-grocery .about-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  .ec-system-v3.ec-layout-search-first-aisle .about-grid > div:last-child,
  .ec-system-v3.ec-layout-faceted-grocery .about-grid > div:last-child {
    grid-column: 1;
  }
}
