/* One shared, content-sized component in all six languages. No measurement JS. */
.rental-card { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; width:100%; max-width:1100px; height:auto; min-height:0; margin:0 auto 24px; padding:0; overflow:hidden; border:1px solid #dfd2c9; border-radius:18px; background:#fffaf7; box-sizing:border-box; }
.rental-card *, .rental-card *::before, .rental-card *::after { box-sizing:border-box; }
.rental-card .rental-photo { display:block; position:static; width:100%; height:auto; min-height:0; max-height:none; margin:0; padding:0; border:0; background:none; align-self:start; overflow:visible; }
.rental-card .rental-photo > img { display:block; position:static; inset:auto; width:100%; max-width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:auto; object-fit:cover; object-position:center; margin:0; padding:0; border:0; border-radius:0; }
.rental-card .rental-photo-note { display:block; position:static; margin:0; padding:8px 12px; border:0; background:none; color:#51443e; font:400 14px/1.5 system-ui,sans-serif; white-space:normal; }
.rental-card .rental-copy { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; min-width:0; height:auto; min-height:0; padding:24px; gap:12px; color:#2f2025; background:#fff1f5; }
.rental-card .rental-title { margin:0; height:auto; min-height:0; font-size:clamp(20px,3vw,36px); line-height:1.35; color:#781335; overflow-wrap:anywhere; white-space:normal; }
.rental-card .rental-title a { display:block; min-height:0; font:inherit; color:inherit; }
.rental-card .rental-price { height:auto; min-height:0; margin:0; display:flex; flex-wrap:wrap; align-items:baseline; gap:0 .2em; font-size:clamp(20px,3.3vw,37.6px); line-height:1.4; font-weight:800; color:#781335; white-space:normal; overflow-wrap:anywhere; }
.rental-card .rental-price > span { font:inherit; }
.rental-card .rental-price small { font-size:14px; line-height:1.4; white-space:normal; }
html:not([lang="ja"]) .rental-card .rental-price { font-size:18px; }
.rental-card .rental-facts { display:block; height:auto; min-height:0; margin:0; padding:0 14px; background:#f9dce6; border-radius:12px; }
.rental-card .rental-fact { margin:0; padding:10px 0; min-width:0; }
.rental-card .rental-fact + .rental-fact { border-top:1px solid #dfb2c1; }
.rental-card .rental-label { display:block; margin:0 0 4px; color:#781335; font:700 14px/1.5 var(--font-sans,system-ui,sans-serif); }
.rental-card .rental-value, .rental-card .rental-condition { display:block; margin:0; font-size:16px; line-height:1.6; white-space:normal; overflow-wrap:anywhere; }
.rental-card .rental-value span { white-space:normal; font-size:inherit; line-height:inherit; }
.rental-card .rental-condition { margin-top:6px; }
.rental-card .rental-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; padding:0; min-height:0; align-self:stretch; }
.rental-card .rental-actions > a { display:flex; align-items:center; justify-content:center; min-width:0; min-height:52px; height:auto; margin:0; padding:12px 10px; border:1px solid #8c1740; border-radius:9px; font:700 16px/1.5 var(--font-sans,system-ui,sans-serif); color:#8c1740; background:#fffaf7; white-space:normal; overflow-wrap:anywhere; text-align:center; text-decoration:none; box-shadow:none; }
.rental-card .rental-actions > a:last-child { color:#fff; background:#a8194e; }
.rental-card a:focus-visible { outline:3px solid #59223a; outline-offset:3px; }
.translated-twelve-grid:has(> .rental-card), .plan-list-group:has(> .rental-card) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; grid-auto-rows:auto; max-width:1100px; margin-inline:auto; }
.plan-list-group:has(> .rental-card) > .plan-list-group-heading { grid-column:1 / -1; }
.translated-twelve-grid > .rental-card, .plan-list-group > .rental-card { margin-bottom:0; }
.detail-overview > .rental-card { width:calc((min(1100px,100%) - 24px) / 2); }
.detail-overview > .rental-card { margin-bottom:0; }
/* The existing photo-service consultation link must not collapse to a zero-width grid cell. */
body[data-page="photo-shoot"] .prototype-booking { grid-template-columns:minmax(0,1fr); }
body[data-page="photo-shoot"] .prototype-booking .text-link { min-width:0; flex-wrap:wrap; }
@media(max-width:799px) {
 .translated-twelve-grid:has(> .rental-card), .plan-list-group:has(> .rental-card) { grid-template-columns:minmax(0,1fr); }
 .detail-overview > .rental-card { width:100%; }
 .rental-card { grid-template-columns:minmax(0,1fr); }
 .rental-card .rental-copy { padding:16px; gap:12px; }
 .rental-card .rental-title { font-size:20px; }
 .rental-card .rental-actions { gap:8px; }
}
