@layer sku-layout-r03-c2, product-fit-r03-c, editorial-r07, editorial-r06, editorial-r05, editorial-r04, editorial-r03, editorial-r01;
/* Editorial R01 — 26 approved articles and their English counterparts only.
   Added last. All older stylesheets and the R04 hero remain intact.
   Layered important rules deliberately supersede legacy unlayered important
   article styles without increasing specificity or affecting other routes. */
@layer editorial-r01 {
  body.editorial-r01 #main :is(.wrap,.r44-article-shell):has(> .ed-article) {
    width: min(1120px, calc(100% - 48px)) !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }
  body.editorial-r01 #main .ed-article {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding: 40px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #194832 !important;
    overflow: visible !important;
    counter-reset: ed-section;
  }
  body.editorial-r01 #main .ed-article :is(.ed-flow,.ed-prose-flow) {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    float: none !important;
  }
  body.editorial-r01 #main .ed-article .ed-section {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    gap: 28px 56px !important;
    align-items: center !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 48px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    clear: both !important;
    float: none !important;
    counter-increment: ed-section;
  }
  body.editorial-r01 #main .ed-article .ed-section::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: #c5b27c;
    pointer-events: none;
  }
  body.editorial-r01 #main .ed-article .ed-section:last-child::after { content: none; }
  body.editorial-r01 #main .ed-article :is(.ed-heading,.ed-copy,.ed-continuation) {
    box-sizing: border-box !important;
    position: static !important;
    width: 100% !important;
    max-width: 680px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    align-self: center !important;
    text-align: left !important;
  }
  body.editorial-r01 #main .ed-article .ed-heading { order: 0 !important; }
  body.editorial-r01 #main .ed-article .ed-heading :is(h2,h3) {
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 30px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    color: inherit !important;
    margin: 8px 0 0 !important;
    max-width: none !important;
    overflow-wrap: break-word !important;
  }
  body.editorial-r01 #main .ed-article .ed-number,
  body.editorial-r01 #main .ed-article .ed-auto-number::before {
    display: block !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: .18em !important;
    color: #806017 !important;
    margin: 0 !important;
  }
  body.editorial-r01 #main .ed-article .ed-auto-number::before {
    content: counter(ed-section, decimal-leading-zero);
  }
  body.editorial-r01 #main .ed-article :is(.ed-copy,.ed-continuation) p {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 18px !important;
    font-weight: 400;
    line-height: 1.75 !important;
    letter-spacing: normal !important;
    color: inherit !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 0 1.1em !important;
    padding: 0 !important;
    overflow-wrap: break-word !important;
  }
  body.editorial-r01 #main .ed-article :is(.ed-copy,.ed-continuation) p:last-child {
    margin-bottom: 0 !important;
  }
  body.editorial-r01 #main .ed-article .ed-sapo {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto 48px !important;
    padding: 0 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: inherit !important;
  }
  body.editorial-r01 #main .ed-article :is(.ed-media,.ed-media figure,.ed-media .visual,.ed-media .lv-ed-media) {
    display: block !important;
    position: static !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    float: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  body.editorial-r01 #main .ed-article .ed-media { order: 1 !important; }
  body.editorial-r01 #main .ed-article .ed-media::before,
  body.editorial-r01 #main .ed-article .ed-media::after,
  body.editorial-r01 #main .ed-article .ed-media .visual::before,
  body.editorial-r01 #main .ed-article .ed-media .visual::after { content: none !important; }
  body.editorial-r01 #main .ed-article .ed-copy { order: 2 !important; }
  body.editorial-r01 #main .ed-article .ed-continuation { order: 3 !important; }
  body.editorial-r01 #main .ed-article .ed-frame {
    box-sizing: border-box !important;
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: min(100%, var(--ed-native-cap, 1120px)) !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    background: #fffdf6 !important;
  }
  body.editorial-r01 #main .ed-article .ed-frame > picture {
    position: static !important;
    display: contents !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.editorial-r01 #main .ed-article .ed-frame img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
    object-fit: cover !important;
    object-position: 50% 50%;
    transform: none !important;
  }
  /* Complete portraits and pre-approved full-package art take precedence over
     cropping; ivory matches the page and adds no grey padding. */
  body.editorial-r01 #main .ed-article .ed-preserve-subject img {
    object-fit: contain !important;
  }
  body.editorial-r01 #main .ed-article .ed-media :is(.ed-caption,figcaption,small) {
    display: block !important;
    position: static !important;
    width: 100% !important;
    box-sizing: border-box !important;
    max-width: none !important;
    height: auto !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #6b746d !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    text-align: left !important;
  }
  body.editorial-r01 #main .ed-article .ed-inline > .ed-media {
    width: 100% !important;
    max-width: 680px !important;
    margin-inline: auto !important;
  }
  body.editorial-r01 #main .ed-article .ed-wide > .ed-media {
    width: 100% !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
  }
  body.editorial-r01 #main .ed-article .ed-split {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    grid-template-rows: auto auto auto !important;
  }
  body.editorial-r01 #main .ed-article .ed-split > .ed-heading {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  body.editorial-r01 #main .ed-article .ed-split > .ed-media {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: center !important;
  }
  body.editorial-r01 #main .ed-article .ed-split > .ed-copy {
    grid-column: 2 !important;
    grid-row: 2 !important;
    max-width: none !important;
  }
  body.editorial-r01 #main .ed-article .ed-split > .ed-continuation {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }
  body.editorial-r01 #main .ed-article .ed-split.ed-image-right > .ed-media { grid-column: 2 !important; }
  body.editorial-r01 #main .ed-article .ed-split.ed-image-right > .ed-copy { grid-column: 1 !important; }
  body.editorial-r01 #main .ed-article .ed-split .ed-frame { aspect-ratio: 4 / 3 !important; }
  body.editorial-r01 #main .ed-article .ed-portrait .ed-frame { aspect-ratio: 4 / 5 !important; }
  body.editorial-r01 #main .ed-article .ed-portrait-pair {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 20px !important;
    background: #fffdf6 !important;
  }
  body.editorial-r01 #main .ed-article .ed-emphasis:not(.ed-emphasis-reset) {
    padding: 48px 0 !important;
    isolation: isolate;
    background: transparent !important;
    color: #fffdf6 !important;
  }
  body.editorial-r01 #main .ed-article .ed-emphasis:not(.ed-emphasis-reset)::before {
    content: "";
    position: absolute;
    inset: 0 -32px;
    background: #194832;
    z-index: -1;
    pointer-events: none;
  }
  body.editorial-r01 #main .ed-article .ed-emphasis:not(.ed-emphasis-reset) .ed-number,
  body.editorial-r01 #main .ed-article .ed-emphasis:not(.ed-emphasis-reset) .ed-auto-number::before { color: #ddbb5c !important; }
  body.editorial-r01 #main .ed-article .ed-emphasis .ed-caption { background: #fffdf6 !important; }
  body.editorial-r01 #main .ed-article .ed-emphasis:not(.ed-emphasis-reset)::after { content: none; }
  body.editorial-r01 #main .ed-article :is(.r46-reading-intro,.lv-ed-signature,.cta,.bottom,.foot) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto 48px !important;
  }
  /* Related navigation is scoped to the same opted-in article pages. */
  body.editorial-r01 #main .content-transition {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
  }
  body.editorial-r01 #main .content-transition .prevnext {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    align-items: stretch !important;
  }
  body.editorial-r01 #main .content-transition .prevnext > a {
    height: 100% !important;
    box-sizing: border-box !important;
  }
  body.editorial-r01 #main .content-transition .grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
  }
  body.editorial-r01 #main .content-transition .grid.four { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
  body.editorial-r01 #main .content-transition .grid > a {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
  }
  body.editorial-r01 #main .content-transition .grid > a > :not(.visual):last-child {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  body.editorial-r01 #main .content-transition .grid .visual {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #fffdf6 !important;
    overflow: hidden !important;
  }
  body.editorial-r01 #main .content-transition .grid .visual img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: 50% 50%;
    border: 0 !important;
  }
  body.editorial-r01 #main .content-transition .grid h3 {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
    overflow: hidden !important;
    min-height: 2.8em !important;
    line-height: 1.4 !important;
  }
  body.editorial-r01 #main .content-transition .grid :is(.link,.button) { margin-top: auto !important; }
  @media (max-width: 900px) {
    body.editorial-r01 #main :is(.wrap,.r44-article-shell):has(> .ed-article) { width: calc(100% - 40px) !important; }
    body.editorial-r01 #main .ed-article { padding-top: 28px !important; }
    body.editorial-r01 #main .ed-article .ed-section {
      display: flex !important;
      flex-direction: column !important;
      align-items: stretch !important;
      gap: 24px !important;
      padding: 28px 0 !important;
    }
    body.editorial-r01 #main .ed-article .ed-section > :is(.ed-heading,.ed-media,.ed-copy,.ed-continuation) {
      grid-column: auto !important;
      grid-row: auto !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-inline: 0 !important;
      align-self: stretch !important;
    }
    body.editorial-r01 #main .ed-article .ed-heading :is(h2,h3) { font-size: 24px !important; }
    body.editorial-r01 #main .ed-article :is(.ed-copy,.ed-continuation) p { font-size: 17px !important; }
    body.editorial-r01 #main .ed-article .ed-sapo { margin-bottom: 28px !important; }
    body.editorial-r01 #main .ed-article .ed-emphasis:not(.ed-emphasis-reset) { padding: 28px 0 !important; }
    body.editorial-r01 #main .ed-article .ed-emphasis:not(.ed-emphasis-reset)::before { inset-inline: -20px; }
    body.editorial-r01 #main .ed-article .ed-portrait-pair { gap: 16px !important; }
    body.editorial-r01 #main .content-transition .grid,
    body.editorial-r01 #main .content-transition .grid.four { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  }
  @media (max-width: 540px) {
    body.editorial-r01 #main .content-transition .grid,
    body.editorial-r01 #main .content-transition .grid.four,
    body.editorial-r01 #main .content-transition .prevnext { grid-template-columns: minmax(0,1fr) !important; }
    body.editorial-r01 #main .ed-article .ed-portrait-pair { grid-template-columns: minmax(0,1fr) !important; }
  }
}

/* Approved round 3: same artwork and copy, corrected media geometry and grids.
   Important declarations in the first layer supersede R01 and legacy layers. */
@layer editorial-r03 {
  /* 1. Intrinsic-ratio media: the frame itself follows the source; no letterbox. */
  body.editorial-r03 #main .ed-native-media:not(.ed-portrait-pair) {
    width: min(100%, var(--ed-native-width)) !important;
    max-width: var(--ed-native-width) !important;
    margin-inline: auto !important;
  }
  body.editorial-r03 #main .ed-native-ratio {
    width: min(100%, var(--ed-native-width)) !important;
    max-width: var(--ed-native-width) !important;
    height: auto !important;
    max-height: 640px !important;
    aspect-ratio: var(--ed-ratio) !important;
    margin-inline: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.editorial-r03 #main .ed-native-ratio img {
    object-fit: contain !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  /* 2. Paired portraits are a full-width gallery after the entire reading copy. */
  body.editorial-r03 #main .ed-dual-portrait {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
  }
  body.editorial-r03 #main .ed-dual-portrait > .ed-heading { order: 0 !important; }
  body.editorial-r03 #main .ed-dual-portrait > .ed-copy { order: 1 !important; }
  body.editorial-r03 #main .ed-dual-portrait > .ed-continuation { order: 2 !important; }
  body.editorial-r03 #main .ed-dual-portrait > .ed-portrait-pair {
    order: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 32px !important;
    width: 100% !important;
    max-width: 1120px !important;
    margin: 0 !important;
    background: transparent !important;
    align-items: start !important;
  }
  body.editorial-r03 #main .ed-portrait-pair > .portrait {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    aspect-ratio: auto !important;
    background: transparent !important;
    overflow: visible !important;
  }
  body.editorial-r03 #main .ed-portrait-pair .ed-frame {
    width: 100% !important;
    max-width: none !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    background: transparent !important;
  }
  body.editorial-r03 #main .ed-portrait-pair .ed-frame img {
    object-fit: cover !important;
    object-position: 50% 25% !important;
    padding: 0 !important;
  }
  /* 4. Captions are readable directly on the green band, without white labels. */
  body.editorial-r03 #main .ed-emphasis:not(.ed-emphasis-reset) .ed-media :is(.ed-caption,figcaption,small) {
    background: transparent !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 13px !important;
    font-style: italic !important;
  }
  /* 5. Existing short product-line paragraphs become subheadings, same words. */
  body.editorial-r03 #main .ed-article :is(.ed-copy,.ed-continuation) p {
    margin: 0 !important;
    padding: 0 !important;
  }
  body.editorial-r03 #main .ed-article :is(.ed-copy,.ed-continuation) p + p,
  body.editorial-r03 #main .ed-article .ed-prose-flow + .ed-prose-flow {
    margin-top: 1.1em !important;
  }
  body.editorial-r03 #main .ed-article :is(.ed-copy,.ed-continuation) .ed-subheading {
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: .045em !important;
    line-height: 1.6 !important;
    margin-top: 1.6em !important;
    margin-bottom: .65em !important;
  }
  /* 6. Product frames only: the hero composition/copy remains untouched. */
  body.editorial-r03 #main .ed-product-hero {
    border: 0 !important;
    border-radius: 8px !important;
    background: #fbf8f1 !important;
    overflow: hidden !important;
  }
  body.editorial-r03 #main .ed-product-hero::after,
  body.editorial-r03 #main .ed-product-grid .visual::before,
  body.editorial-r03 #main .ed-product-grid .visual::after { content: none !important; }
  body.editorial-r03 #main .ed-product-hero img {
    border-radius: 8px !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
  }
  body.editorial-r03 #main .ed-product-grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
    justify-content: start !important;
    justify-items: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
  body.editorial-r03 #main .ed-product-grid > a {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  body.editorial-r03 #main .ed-product-grid .visual {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1 !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #fbf8f1 !important;
    overflow: hidden !important;
  }
  body.editorial-r03 #main .ed-product-grid .visual img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: 100% !important;
    aspect-ratio: auto !important;
    padding: 24px !important;
    object-fit: contain !important;
    object-position: 50% 50% !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.editorial-r03 #main .ed-product-grid .card-body { flex: 1 !important; }
  /* 7. Every opted-in story/category grid, including related blocks. */
  body.editorial-r03 #main .ed-story-grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
    justify-content: start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
  }
  body.editorial-r03 #main .ed-story-grid > a {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  body.editorial-r03 #main .ed-story-grid > a > :not(.visual):last-child {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
  }
  body.editorial-r03 #main .ed-story-grid .visual {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: transparent !important;
    overflow: hidden !important;
  }
  body.editorial-r03 #main .ed-story-grid .visual::before,
  body.editorial-r03 #main .ed-story-grid .visual::after { content: none !important; }
  body.editorial-r03 #main .ed-story-grid .visual img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: var(--frame-focus,50% 50%) !important;
    border: 0 !important;
  }
  body.editorial-r03 #main .ed-story-grid :is(h3,.eyebrow,.tag,p:not(.price)) {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
    overflow: hidden !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }
  body.editorial-r03 #main .ed-story-grid h3 { min-height: 2.8em !important; line-height: 1.4 !important; }
  body.editorial-r03 #main .ed-story-grid .link { margin-top: auto !important; }
  /* 8. The 900px breakpoint applies to all touched grids and article modules. */
  @media(max-width:900px) {
    body.editorial-r03 #main :is(.ed-story-grid,.ed-product-grid) {
      grid-template-columns: minmax(0,1fr) !important;
      width: 100% !important;
      min-width: 0 !important;
      max-width: 100% !important;
    }
    body.editorial-r03 #main :is(.ed-section,.ed-heading,.ed-copy,.ed-continuation,.ed-media) {
      min-width: 0 !important;
      box-sizing: border-box !important;
      overflow-wrap: break-word !important;
    }
    body.editorial-r03 #main .ed-dual-portrait > .ed-portrait-pair { order: 1 !important; }
    body.editorial-r03 #main .ed-dual-portrait > .ed-copy { order: 2 !important; }
    body.editorial-r03 #main .ed-dual-portrait > .ed-continuation { order: 3 !important; }
    body.editorial-r03 #main .ed-native-ratio { max-width: min(100%,var(--ed-native-width)) !important; }
    body.editorial-r03 #main .ed-native-media:not(.ed-portrait-pair) { max-width: min(100%,var(--ed-native-width)) !important; }
    body.editorial-r03 #main .ed-portrait-pair { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 20px !important; }
    body.editorial-r03 #main .ed-portrait-pair .ed-frame { max-width: 100% !important; }
  }
  @media(max-width:540px) {
    body.editorial-r03 #main .ed-dual-portrait > .ed-portrait-pair { grid-template-columns: minmax(0,1fr) !important; }
  }
}
@layer editorial-r03 {
  /* Brand identity cards keep their approved, uncropped logos. */
  body.editorial-r03 #main .ed-brand-grid {
    display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
    gap: 24px !important;
  }
  body.editorial-r03 #main .ed-brand-grid .brand-hub-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  body.editorial-r03 #main .ed-brand-grid :is(h3,.brand-hub-tagline,.brand-hub-excerpt) {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
    overflow: hidden !important;
  }
  body.editorial-r03 #main .ed-brand-grid .brand-hub-action { margin-top: auto !important; }
  @media(max-width:900px) {
    body.editorial-r03 #main .ed-brand-grid { grid-template-columns: minmax(0,1fr) !important; }
  }
}

/* Round 4 — five approved corrections; previous typography, photos and hero
   composition are retained. This first important layer resolves legacy widths. */
@layer editorial-r04 {
  /* 1. All non-split copy, including the former SPLIT portrait section. */
  body.editorial-r04 #main .ed-article :is(.ed-copy,.ed-continuation),
  body.editorial-r04 #main .ed-dual-portrait > :is(.ed-copy,.ed-continuation) {
    width: min(100%,680px) !important;
    max-width: 680px !important;
    margin-inline: auto !important;
    min-width: 0 !important;
  }
  body.editorial-r04 #main .ed-article p:not(.ed-caption):not(.article-illustration-caption) {
    width: min(100%,680px) !important;
    max-width: 680px !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }
  body.editorial-r04 #main .ed-split:not(.ed-dual-portrait):not(.ed-restored-wide) > .ed-copy {
    width: 100% !important;
    max-width: none !important;
  }
  /* 2. Restore the single approved collage as WIDE at its native ratio. */
  body.editorial-r04 #main .ed-restored-wide {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.editorial-r04 #main .ed-restored-wide > .ed-media {
    width: 100% !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
    background: transparent !important;
  }
  body.editorial-r04 #main .ed-restored-frame {
    display: block !important;
    width: 100% !important;
    max-width: 1120px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--ed-original-ratio) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
  }
  body.editorial-r04 #main .ed-restored-frame > img {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
    clip-path: none !important;
    opacity: 1 !important;
  }
  /* 3. Match white-backed product imagery without changing hero geometry. */
  body.editorial-r04 #main .ed-product-hero {
    background: #ffffff !important;
    border-radius: 8px !important;
  }
  /* 4. The outer .wrap is unchanged. Both specs and labels now have a 6%
     inner inset measured against the same .wrap content width. */
  body.editorial-r04 #main #tem-nhan-san-pham .ed-label-content {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 6% !important;
    text-align: left !important;
  }
  body.editorial-r04 #main .ed-label-content > :is(h2,p,figure) {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }
  body.editorial-r04 #main .ed-label-link {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: .4em !important;
    width: fit-content !important;
    margin-top: 16px !important;
    padding: 0 0 4px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--gold,#b89438) !important;
    border-radius: 0 !important;
    color: inherit !important;
    background: transparent !important;
    text-decoration: none !important;
    font-weight: 700 !important;
  }
  body.editorial-r04 #main .ed-label-link::after { content: "→"; }
  /* 5. Remove legacy flex gaps/automatic link push so spacing is exactly
     title→description 10px and description→read-more 16px. Cards still stretch. */
  body.editorial-r04 #main .ed-story-grid > a > :not(.visual):last-child {
    gap: 0 !important;
    justify-content: flex-start !important;
  }
  body.editorial-r04 #main .ed-story-grid h3 {
    min-height: 0 !important;
    margin: 0 !important;
  }
  body.editorial-r04 #main .ed-story-grid :is(.eyebrow,.tag) + h3 { margin-top: 12px !important; }
  body.editorial-r04 #main .ed-story-grid h3 + p {
    min-height: 0 !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
  }
  body.editorial-r04 #main .ed-story-grid p + :is(.link,.button,span),
  body.editorial-r04 #main .ed-story-grid .link {
    margin-top: 16px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
  }
  body.editorial-r04 #main .ed-brand-grid .brand-hub-tagline,
  body.editorial-r04 #main .ed-brand-grid .brand-hub-excerpt { margin: 10px 0 0 !important; }
  body.editorial-r04 #main .ed-brand-grid .brand-hub-action {
    margin-top: 16px !important;
    padding-top: 0 !important;
  }
  @media(max-width:900px) {
    body.editorial-r04 #main .ed-restored-wide {
      display: flex !important;
      flex-direction: column !important;
    }
    body.editorial-r04 #main .ed-restored-wide > .ed-media,
    body.editorial-r04 #main .ed-restored-frame {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
    }
  }
}

/* Round 5: only the identified two-photo packaging rows and SKU hero frames. */
@layer editorial-r05 {
  body.editorial-r04 #main .ed-article .ed-justified-pair {
    width: 100% !important; max-width: 1120px !important;
    margin-inline: auto !important; padding: 0 !important;
    background: transparent !important; border: 0 !important;
    box-shadow: none !important; border-radius: 0 !important;
    container-type: inline-size;
  }
  body.editorial-r04 #main .ed-justified-row {
    display: flex !important; justify-content: center !important;
    align-items: stretch !important; gap: 16px !important;
    width: 100% !important; max-width: 1120px !important;
    height: min(440px, calc((100cqw - 16px) / var(--ed-pair-ratio))) !important;
    margin: 0 auto !important; padding: 0 !important;
    border: 0 !important; background: transparent !important;
  }
  body.editorial-r04 #main .ed-justified-photo {
    display: block !important; flex: 0 0 auto !important;
    position: relative !important; height: 100% !important;
    width: auto !important; max-width: none !important; min-width: 0 !important;
    aspect-ratio: var(--ed-photo-ratio) !important;
    margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 4px !important;
    overflow: hidden !important; background: transparent !important;
  }
  body.editorial-r04 #main .ed-justified-photo > img {
    display: block !important; position: static !important;
    width: 100% !important; height: 100% !important;
    max-width: none !important; max-height: none !important;
    margin: 0 !important; padding: 0 !important; border: 0 !important;
    border-radius: 4px !important; object-fit: contain !important;
    transform: none !important; background: transparent !important;
  }
  body.editorial-r04 #main .ed-justified-pair > figcaption {
    text-align: left !important; margin: 10px 0 0 !important;
  }
  /* Match the unchanged menu .wrap content edge, including its wide breakpoint.
     Keep the hero section and image frame's vertical geometry unchanged. */
  body.editorial-r04 #main .lv-hero--sp {
    --ed-menu-width: 1280px; --ed-menu-gutter: 48px;
  }
  body.editorial-r04 #main .lv-hero--sp > .ed-product-hero {
    right: max(var(--ed-menu-gutter), calc((100% - var(--ed-menu-width)) / 2 + var(--ed-menu-gutter))) !important;
    left: auto !important;
    width: calc((min(100%, var(--ed-menu-width)) - 2 * var(--ed-menu-gutter)) * .52) !important;
    box-sizing: border-box !important; border-radius: 8px !important;
    background: #fff !important; overflow: hidden !important;
    box-shadow: none !important;
  }
  body.editorial-r04 #main .lv-hero--sp > .ed-product-hero > img {
    width: 100% !important; height: 100% !important; margin: 0 !important;
    object-position: 50% 50% !important; object-fit: contain !important;
    border-radius: 8px !important;
  }
  body.editorial-r04 #main .lv-hero--sp > .ed-product-hero::before,
  body.editorial-r04 #main .lv-hero--sp > .ed-product-hero::after { content: none !important; }
  @media(min-width:1600px) {
    body.editorial-r04 #main .lv-hero--sp { --ed-menu-width: 1440px; }
  }
  @media(max-width:1180px) {
    body.editorial-r04 #main .lv-hero--sp { --ed-menu-gutter: 30px; }
  }
  @media(max-width:900px) {
    body.editorial-r04 #main .ed-justified-row {
      flex-direction: column !important; height: auto !important;
    }
    body.editorial-r04 #main .ed-justified-photo {
      width: 100% !important; height: auto !important;
    }
    body.editorial-r04 #main .ed-justified-photo > img { height: auto !important; }
  }
  @media(max-width:860px) {
    body.editorial-r04 #main .lv-hero--sp > .ed-product-hero {
      right: auto !important; left: auto !important;
      width: calc(100% - 2 * var(--ed-menu-gutter)) !important;
      height: 75vw !important; aspect-ratio: auto !important;
      margin-inline: auto !important;
    }
  }
  @media(max-width:760px) {
    body.editorial-r04 #main .lv-hero--sp { --ed-menu-gutter: 22px; }
  }
}

/* Round 6 — non-article pages only; baseline version 25. */
@layer editorial-r06 {
 body.ed-home-r06 #main .quick-links .grid > a {border-right:1px solid var(--line) !important;}
 body.ed-overview-r06 #main h2 {font-family:Georgia,'Times New Roman',serif !important;}
 body.ed-site-r06 #main .grid:has(> .product-card),
 body.ed-site-r06 #main .grid:has(> .card .brand-logo),
 body.ed-site-r06 #main .grid:has(> .card img[src*="icon-journal-"]) {align-items:stretch !important;}
 body.ed-site-r06 #main .product-card,
 body.ed-site-r06 #main .card:has(.brand-logo),
 body.ed-site-r06 #main .card:has(img[src*="icon-journal-"]) {display:flex !important;flex-direction:column !important;height:100% !important;min-height:0 !important;min-width:0 !important;gap:0 !important;}
 body.ed-site-r06 #main .product-card[hidden] {display:none !important;}
 body.ed-site-r06 #main .product-card > .visual {position:relative !important;flex:none !important;width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;aspect-ratio:4/3 !important;padding:0 !important;margin:0 !important;}
 body.ed-site-r06 #main .product-card > .visual img {position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;max-height:none !important;object-fit:contain !important;object-position:center !important;padding:0 !important;}
 body.ed-site-r06 #main .product-card .card-body,
 body.ed-site-r06 #main .card:has(.brand-logo) .card-body,
 body.ed-site-r06 #main .card:has(img[src*="icon-journal-"]) .card-body {display:flex !important;flex-direction:column !important;flex:1 !important;min-height:0 !important;gap:12px !important;}
 body.ed-site-r06 #main .product-card .tag {align-self:flex-start !important;margin:0 !important;}
 body.ed-site-r06 #main .product-card h3 {min-height:2.7em !important;line-height:1.35 !important;margin:0 !important;}
 body.ed-site-r06 #main .product-card .product-caption {display:-webkit-box !important;-webkit-line-clamp:3 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;margin:0 !important;}
 body.ed-site-r06 #main .product-card .price {margin: auto 0 0 !important;min-height:3.4em !important;line-height:1.7 !important;}
 body.ed-site-r06 #main .product-card .button {margin:0 !important;min-height:48px !important;}
 body.ed-site-r06 #main .card:has(.brand-logo) .button,
 body.ed-site-r06 #main .card:has(img[src*="icon-journal-"]) .card-body > .link {margin-top:auto !important;}
 body.ed-home-r06 #main .person {display:grid !important;grid-template-columns:200px minmax(0,1fr) !important;align-items:start !important;}
 body.ed-home-r06 #main .person .visual.portrait {width:200px !important;height:auto !important;min-height:0 !important;max-height:none !important;aspect-ratio:4/5 !important;}
 body.ed-home-r06 #main .person .visual.portrait img {width:100% !important;height:100% !important;object-fit:cover !important;object-position:50% 20% !important;}
 body.ed-site-r06 #main img[src*="icon-journal-"] {width:72px !important;height:72px !important;min-width:72px !important;aspect-ratio:1 !important;object-fit:contain !important;mix-blend-mode:multiply !important;border-radius:50% !important;background:transparent !important;margin:0 0 4px !important;padding:0 !important;}
 body.ed-site-r06 #main .card:has(img[src*="icon-journal-"]) .card-body {padding-top:20px !important;}
 body.ed-site-r06 #main .card:has(img[src*="icon-journal-"]) :is(h3,p) {margin:0 !important;}
 body.ed-site-r06 #main .card:has(img[src*="icon-journal-"]) .icon-source-caption {font-size:13px !important;font-style:italic !important;line-height:1.5 !important;margin:0 0 12px !important;}
 body.ed-site-r06 #main .handoff-distribution .columns {align-items:stretch !important;}
 body.ed-site-r06 #main .handoff-distribution .columns > .box {height:100% !important;box-sizing:border-box !important;}
 body.ed-site-r06 #main #diem-ban {display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;text-align:center !important;gap:20px !important;}
 body.ed-site-r06 #main #diem-ban :is(h2,p) {margin:0 !important;}
 body.ed-site-r06 #main .ed-contact-actions-r06 {display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;align-items:stretch !important;gap:20px !important;}
 body.ed-site-r06 #main .ed-contact-actions-r06 > .card {display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:flex-start !important;min-height:240px !important;height:100% !important;padding:28px !important;gap:16px !important;box-sizing:border-box !important;}
 body.ed-site-r06 #main .ed-contact-actions-r06 :is(h3,p) {margin:0 !important;}
 body.ed-site-r06 #main .ed-contact-actions-r06 a {overflow-wrap:anywhere !important;}
 body.ed-site-r06 #main .ed-email-r06 {text-transform:none !important;letter-spacing:normal !important;}
 body.ed-site-r06 #main .ed-contact-info-r06 {display:block !important;}
 body.ed-about-r06 #main .ed-subheading-r06 {font-size:15px !important;font-weight:700 !important;letter-spacing:.12em !important;margin-top:1.6em !important;margin-bottom:.6em !important;}
 body.ed-about-r06 #main .ed-lead-r06 {font-family:Georgia,'Times New Roman',serif !important;font-style:italic !important;font-size:19px !important;line-height:1.6 !important;}
 @media (min-width:600px) and (max-width:1024px) {
  body.ed-site-r06 #main .grid:has(> .product-card) {display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
 }
 @media (max-width:599px) {
  body.ed-site-r06 #main .grid:has(> .product-card) {display:grid !important;grid-template-columns:minmax(0,1fr) !important;}
 }
 @media (max-width:1024px) {
  body.ed-home-r06 #main .person {display:flex !important;flex-direction:column !important;}
  body.ed-home-r06 #main .person .visual.portrait {width:100% !important;max-width:360px !important;align-self:center !important;}
  body.ed-site-r06 #main .ed-contact-actions-r06 {grid-template-columns:1fr !important;grid-auto-rows:1fr !important;}
 }
}

/* Round 7 — product card image fit only; baseline version 26.
   Portrait lifestyle exception approved: original contained over its own
   blurred cover backdrop. No assets, content, hero or review changes. */
@layer editorial-r07 {
 body.ed-site-r06 #main .product-card > .visual {background:#fff !important;overflow:hidden !important;isolation:isolate !important;}
 body.ed-site-r06 #main .product-card > .visual::before, body.ed-site-r06 #main .product-card > .visual::after {content:none !important;}
 body.ed-site-r06 #main .product-card > .visual img {object-fit:contain !important;object-position:50% 50% !important;background:transparent !important;z-index:1 !important;}
 body.ed-site-r06 #main .product-card > .visual img[src$="pho-04-r02-master.webp"] {object-fit:cover !important;object-position:60% 50% !important;}
 body.ed-site-r06 #main .product-card > .visual img[src$="bot-nem-500g-scene.png.webp"] {object-fit:cover !important;object-position:50% 45% !important;}
 body.ed-site-r06 #main .product-card > .visual img[src$="dip500-meal-1500.webp"] {object-fit:cover !important;object-position:50% 50% !important;}
 body.ed-site-r06 #main .product-card > .visual img[src$="pho-01-r02-master.webp"] {object-fit:cover !important;object-position:40% 50% !important;}
 body.ed-site-r06 #main .product-card > .visual:has(img[src$="shortlist_3.jpg"])::before {content:"" !important;display:block !important;position:absolute !important;inset:-32px !important;background:url("/assets/shortlist_3.jpg") center/cover no-repeat !important;filter:blur(24px) brightness(.9) !important;transform:none !important;opacity:1 !important;z-index:0 !important;pointer-events:none !important;}
 body.ed-site-r06 #main .product-card > .visual:has(img[src$="soy250-meal-1229.webp"])::before {content:"" !important;display:block !important;position:absolute !important;inset:-32px !important;background:url("/assets/product-r83/soy250-meal-1229.webp") center/cover no-repeat !important;filter:blur(24px) brightness(.9) !important;transform:none !important;opacity:1 !important;z-index:0 !important;pointer-events:none !important;}
}

/* R03 / Lượt A: reuse N01 layout; additions confined to approved articles/images. */
@layer editorial-r07 {
 #main article.n01-pab[data-layout="R03"] .n01-row {align-items:start!important;}
 #main article.n01-pab .n01-figure img.loving-review-contain {object-fit:contain!important;background:#f7f3e9!important;object-position:center!important;}
 #main article.n01-pab .loving-review-note {display:block!important;width:100%!important;max-width:none!important;margin:12px 0 0!important;padding:12px!important;border:1px dashed #b08a45!important;border-radius:4px!important;background:#fff7dc!important;color:#654f28!important;font:400 13px/1.6 Arial,sans-serif!important;letter-spacing:normal!important;text-align:left!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;}
}
@layer editorial-r07 {
 #main article.n01-pab[data-layout="R03"] .n01-figure img.loving-product-contain {object-fit:contain!important;background:#f7f3e9!important;padding:12px!important;object-position:center!important;}
}

/* R03 / Lượt B — opt-in only on the seven approved Vietnamese articles. */
@layer editorial-r07 {
 #main article.n01-pab[data-round="B"] .n01-gallery {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px!important;width:100%!important;max-width:none!important;margin:-36px 0 70px!important;}
 #main article.n01-pab[data-round="B"] .n01-signature {margin:30px 0 0!important;padding:22px 0 0!important;border-top:1px solid #b08a45!important;}
 #main article.n01-pab[data-round="B"] .n01-signature p {margin:0 0 7px!important;}
 #main article.n01-pab[data-round="B"] .n01-copy .n01-value-title {font-weight:700!important;margin-top:26px!important;padding-top:18px!important;border-top:1px solid #d6c8a7!important;}
 #main article.n01-pab[data-round="B"] .n01-copy .resolved-cta-r51 {width:100%!important;max-width:none!important;margin:24px 0 0!important;text-align:left!important;}
 #main .n01-hero-caption[data-r03-caption] {width:46%!important;margin:12px 0 0 54%!important;padding:0!important;font:400 13px/1.6 Arial,sans-serif!important;color:#737770!important;text-align:left!important;box-sizing:border-box!important;}
 #main article.n01-pab[data-round="B"] > .loving-review-note {margin:0 0 24px!important;}
 @media(max-width:899px) {
  #main article.n01-pab[data-round="B"] .n01-gallery {grid-template-columns:minmax(0,1fr)!important;gap:24px!important;margin-top:-20px!important;margin-bottom:48px!important;}
 }
 @media(max-width:860px) {
  #main .n01-hero-caption[data-r03-caption] {width:100%!important;margin:12px 0 0!important;padding:0 24px!important;}
 }
}

/* Round C — only image presentation on product cards, both languages.
   Card dimensions, copy, links and hero are deliberately outside these rules. */
@layer product-fit-r03-c {
 html body #main :is(.product-card > .visual, .card[href^="/bai/c0"] > .visual, .card[href^="/en/bai/c0"] > .visual, a > .frame-product-r32, a > .frame-product-r33) {background:#fff!important;}
 html body #main :is(.product-card > .visual, .card[href^="/bai/c0"] > .visual, .card[href^="/en/bai/c0"] > .visual, a > .frame-product-r32, a > .frame-product-r33)::before,
 html body #main :is(.product-card > .visual, .card[href^="/bai/c0"] > .visual, .card[href^="/en/bai/c0"] > .visual, a > .frame-product-r32, a > .frame-product-r33)::after {content:none!important;}
 html body #main :is(.product-card > .visual, .card[href^="/bai/c0"] > .visual, .card[href^="/en/bai/c0"] > .visual, a > .frame-product-r32, a > .frame-product-r33) img {object-fit:contain!important;object-position:center!important;background:#fff!important;padding:8%!important;box-sizing:border-box!important;transform:none!important;}
 html body #main .product-card > .missing {background:#fff!important;}
 html body #main .product-card > .missing img {object-fit:contain!important;object-position:center!important;background:#fff!important;}
}
@layer editorial-r07 {
 #main article.n01-pab[data-round="C"] .r03-product-info {width:100%!important;max-width:none!important;margin:0 0 64px!important;padding:24px!important;border:1px solid #d6c8a7!important;border-radius:6px!important;background:#faf8f2!important;color:#194832!important;box-sizing:border-box!important;}
 #main article.n01-pab[data-round="C"] .r03-product-info :is(p,h3,div) {max-width:none!important;margin-left:0!important;margin-right:0!important;}
 #main article.n01-pab[data-round="C"] .r03-product-info p {width:100%!important;font:400 18px/1.65 Arial,sans-serif!important;}
 #main article.n01-pab[data-round="C"] .r03-sku-grid {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;margin:24px 0!important;}
 #main article.n01-pab[data-round="C"] .r03-sku {min-width:0!important;}
 #main article.n01-pab[data-round="C"] .r03-sku img {display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;max-height:360px!important;object-fit:contain!important;object-position:center!important;padding:8%!important;background:#fff!important;box-sizing:border-box!important;}
 #main article.n01-pab[data-round="C"] .r03-sku-price {font:600 18px/1.65 Arial,sans-serif!important;margin:12px 0 0!important;}
 #main article.n01-pab[data-round="C"] .n01-gallery {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px!important;width:100%!important;max-width:none!important;margin:-36px 0 70px!important;}
 #main article.n01-pab[data-round="C"] .n01-copy .resolved-cta-r51 {width:100%!important;max-width:none!important;margin:24px 0 0!important;text-align:left!important;}
 #main article.n01-pab[data-round="C"] > .loving-review-note {margin:0 0 24px!important;}
 @media(max-width:899px){
  #main article.n01-pab[data-round="C"] .r03-sku-grid,#main article.n01-pab[data-round="C"] .n01-gallery {grid-template-columns:minmax(0,1fr)!important;}
  #main article.n01-pab[data-round="C"] .r03-product-info {padding:18px!important;}
 }
}

@layer editorial-r07 { #main article.n01-pab[data-round="C"] .r03-sku-grid:has(> .r03-sku:only-child) {grid-template-columns:minmax(0,1fr)!important;} }

/* C2: Vietnamese C01–C05 separate SKU blocks only. */
@layer sku-layout-r03-c2 {
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2, #main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid {
 width:min(1186px,calc(100vw - 48px))!important;max-width:none!important;
 margin-left:calc((100% - min(1186px,100vw - 48px))/2)!important;margin-right:0!important;
 padding-left:0!important;padding-right:0!important;box-sizing:border-box!important;
}
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;justify-content:stretch!important;justify-items:stretch!important;}
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid:has(> a:only-child) {grid-template-columns:minmax(0,1fr)!important;}
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid > a {width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;}
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid > a:only-child {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;}
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid > a:only-child > .visual {width:100%!important;height:auto!important;aspect-ratio:4/3!important;background:#fff!important;}
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid > a:only-child > .card-body {width:auto!important;min-width:0!important;justify-content:center!important;padding:32px!important;}
@media(max-width:899px){
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2, #main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid {width:100%!important;margin-left:0!important;margin-right:0!important;}
#main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid, #main .wrap:has(> article.n01-pab[data-round="C"]) > h2 + .grid > a:only-child {grid-template-columns:minmax(0,1fr)!important;}
}
}
