/* List-only shared geometry, derived from the existing Japanese kids card. */
:root { --list-photo-share:46fr; --list-copy-share:54fr; --list-card-height:520px; }
.plan-list-card:has(> .approved-ai-media) { grid-template-columns:minmax(0,var(--list-photo-share)) minmax(0,var(--list-copy-share)); height:var(--list-card-height); align-items:stretch; }
.plan-list-card:has(> .approved-ai-media) > .plan-list-card-content { height:100%; min-height:0; padding:24px 28px; }
/* The note is in the copy column, outside the photo. Photo boxes keep the kids dimensions. */
.plan-list-card > figure.approved-ai-media { height:100%; background:#f9dfe8; overflow:hidden; }
.plan-list-card > figure.approved-ai-media > img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; object-position:50% 50%; border-radius:0; }
.list-image-note { display:block; margin:4px 0 0; color:#51443e; font:400 11px/1.4 system-ui,sans-serif; }
.plan-list-information > .list-image-note { margin:2px 0 0; }
/* Directory and translated cards share a row component, including their kids reference. */
:is(.translated-twelve-grid,.prototype-card-grid,.approved-plan-grid):has(> .list-row-card) { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; max-width:1100px; margin-inline:auto; }
.list-row-card:is(.translated-twelve-card,.prototype-plan-card,.approved-plan-card) { display:grid; grid-template-columns:minmax(0,var(--list-photo-share)) minmax(0,var(--list-copy-share)); height:var(--list-card-height); min-height:0; min-width:0; padding:0; overflow:hidden; border:1px solid #dfd2c9; border-radius:18px; background:#fffaf7; }
.list-row-card > :is(figure,img) { width:100%; height:100%; min-height:0; margin:0; padding:0; overflow:hidden; background:#f9dfe8; }
.list-row-card > figure.approved-ai-media > img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; object-position:50% 50%; border-radius:0; }
.list-row-card > img { aspect-ratio:auto; }
.list-row-card .prototype-image-frame, .list-row-card .prototype-image-frame picture { display:block; width:100%; height:100%; min-height:0; padding:0; aspect-ratio:auto; }
.list-row-card .prototype-image-frame img { width:100%; height:100%; }
.list-row-card > :is(.translated-twelve-content,.prototype-plan-card-body,.list-row-copy) { display:flex; flex-direction:column; justify-content:center; min-width:0; min-height:0; height:100%; padding:20px; gap:8px; box-sizing:border-box; }
.list-row-card :is(h3,h4,h5) { margin:0; font-size:clamp(1.1rem,2.6vw,1.8rem); line-height:1.35; }
.list-row-card :is(p,.prototype-price) { margin:0; line-height:1.5; white-space:normal; overflow-wrap:anywhere; }
.list-row-card .translated-twelve-actions { margin-top:8px; }
.list-row-card :is(.translated-twelve-actions a,.list-row-button) { display:flex; align-items:center; justify-content:center; min-height:52px; min-width:44px; padding:6px; white-space:normal; line-height:1.3; }
.list-row-card .prototype-plan-card-action { margin-top:0; min-height:44px; }
.list-row-card .list-row-copy > a { color:#752638; font-weight:700; }
.list-row-card .list-row-button { border:1px solid #752638; border-radius:8px; text-decoration:none; }
.list-row-card .information-label { font-size:12px; }
.list-row-card :is(a,span,h3,h4,h5) { overflow-wrap:anywhere; }
.list-row-card .prototype-price-token { white-space:normal; }
.list-row-card .prototype-price [data-price] { font-size:inherit; }
body .prototype-plan-card.list-row-card .prototype-plan-card-body > p { font-size:16px; line-height:1.5; }
body .prototype-plan-card.list-row-card .prototype-plan-card-body :is(h3,h4,h5,h6) { margin:0; font-size:22px; line-height:1.35; }
.prototype-combination-subgroup:has(.list-row-card) { padding-inline:0; border-inline:0; }
.prototype-combination-subgroups:has(.list-row-card) { grid-template-columns:minmax(0,1fr); }
[data-prototype-page="kimono-listing"] .prototype-plan-card.list-row-card { height:600px; }
[data-prototype-page="kimono-listing"] .prototype-plan-card.list-row-card .prototype-plan-card-body .prototype-price [data-price],
[data-prototype-page="kimono-listing"] .prototype-plan-card.list-row-card .prototype-plan-card-body [data-premium-listing-price-row] { font-size:16px; line-height:1.4; white-space:normal; display:block; }
[data-prototype-page="kimono-listing"] .list-row-card .prototype-listing-inclusions-v2 { margin-top:4px; line-height:1.4; }
[data-prototype-page="kimono-listing"] .list-row-card .prototype-listing-inclusions-v2 .prototype-listing-inclusion-title { font-size:12px; margin:0 0 4px; }
[data-prototype-page="kimono-listing"] .list-row-card .prototype-listing-inclusions-v2 .prototype-listing-inclusion-section + .prototype-listing-inclusion-section { margin-top:4px; }
[data-prototype-page="kimono-listing"] .list-row-card .prototype-listing-inclusion-v2-list { gap:4px; }
[data-prototype-page="kimono-listing"] .list-row-card .prototype-listing-inclusion-v2-list > li { padding:2px 4px; font-size:12px; }
@media(max-width:720px){
 :root { --list-card-height:298px; }
 .plan-list-card:has(> .approved-ai-media) > .plan-list-card-content { padding:2px 4px; }
 .list-row-card > :is(.translated-twelve-content,.prototype-plan-card-body,.list-row-copy) { padding:8px; gap:4px; font-size:12px; }
 .list-row-card :is(h3,h4,h5) { font-size:15px; line-height:1.25; }
 .list-row-card .translated-twelve-content h3 a { min-height:0; }
 .list-row-card .translated-twelve-actions { gap:4px; margin-top:2px; }
 .list-row-card .information-label { font-size:10px; }
 .list-row-card .list-image-note { font-size:10px; }
 .list-row-card .prototype-plan-card-body > p:not(.information-label,.prototype-price) { line-height:1.45; }
 .list-row-card .prototype-price { font-size:15px; }
 .list-row-card .prototype-price-token { font-size:inherit; }
 body .prototype-plan-card.list-row-card { height:520px; }
 .translated-twelve-card.list-row-card { height:560px; }
 body .prototype-plan-card.list-row-card .prototype-plan-card-body > p { font-size:12px; line-height:1.45; }
 body .prototype-plan-card.list-row-card .prototype-plan-card-body :is(h3,h4,h5,h6) { font-size:15px; line-height:1.3; }
 body .prototype-plan-card.list-row-card .prototype-plan-card-body > .information-label { font-size:10px; }
}
@media(max-width:374px){:root{--list-photo-share:44fr;--list-copy-share:56fr;}}
@media(max-width:359px){:root{--list-photo-share:42fr;--list-copy-share:58fr;}.plan-list-card:has(> .approved-ai-media) > .plan-list-card-content{padding-inline:2px;}}
/* Equal intrinsic rows allow the existing long translated terms to remain complete. */
:is(.translated-twelve-grid,.approved-plan-grid):has(> .list-row-card) { grid-auto-rows:1fr; }
.list-row-card:is(.translated-twelve-card,.approved-plan-card) { height:auto; min-height:var(--list-card-height); align-self:stretch; }
.list-row-card:is(.translated-twelve-card,.approved-plan-card) > figure { position:relative; height:100%; min-height:0; }
.list-row-card:is(.translated-twelve-card,.approved-plan-card) > figure > img { position:absolute; inset:0; height:100%; width:100%; aspect-ratio:auto; }
.list-row-card:is(.translated-twelve-card,.approved-plan-card) > :is(.translated-twelve-content,.list-row-copy) { height:auto; }
.list-row-card:is(.translated-twelve-card,.approved-plan-card) > :is(.translated-twelve-content,.list-row-copy) > * { flex-shrink:0; }
body .prototype-plan-card.list-row-card { height:600px; }
body .prototype-plan-card.list-row-card { width:100%; max-width:none; }
/* Single subjects fit the portrait frame without losing head or hem. */
.plan-list-card > figure.approved-ai-media:is([data-approved-illustration="premium"],[data-approved-illustration="relaxed-size"]) > img { object-fit:cover; object-position:50% 50%; }
@media(min-width:375px){.plan-list-card > figure.approved-ai-media[data-approved-illustration="in-store-photo"] > img { object-fit:cover; object-position:49% 50%; }}

/* Standalone lists use H2 card titles after the page H1. */
body[data-page="kimono-plan-list"] .translated-twelve-content h2 { margin:0; font-size:1.15rem; }
body[data-page="kimono-plan-list"] .translated-twelve-content h2 a { display:flex; align-items:center; min-height:0; }
.approved-plan-tax-note { font-size:.8rem; line-height:1.5; }

/* Cards without a photograph keep their copy across the full card. */
.prototype-plan-card.list-row-card > .prototype-plan-card-body:only-child { grid-column:1 / -1; }

/* Native keyboard focus must stay above the fixed reservation bar. */
html { scroll-padding-bottom:calc(var(--reservation-sticky-height, 68px) + 12px); } .plan-list-card a, .list-row-card a, a.list-row-card { scroll-margin-block:calc(var(--header-height,64px) + 12px) calc(var(--reservation-sticky-height,68px) + 12px); }
