/* RevoLife rental additions: use the existing YUI_V2 fonts and colors. */
.rental-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.rental-card { min-width:0; background:var(--paper); border:1px solid var(--line); }
.rental-card-photo { display:block; overflow:hidden; }
.rental-card-photo img { width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.rental-card-body { padding:26px 30px 30px; }
.rental-eyebrow { font-size:12px; letter-spacing:.12em; color:var(--ink-2); margin-bottom:8px; }
.rental-card h2 { font-family:var(--serif); font-size:22px; line-height:1.7; }
.rental-card h2 a { text-decoration:none; }
.rental-card h2 span { display:inline-block; margin-left:.5em; font-size:17px; }
.rental-card-price { margin:16px 0 0; line-height:1.5; }
.rental-card-price strong { font-size:29px; font-weight:500; letter-spacing:.02em; }
.rental-card-price > span { margin-left:5px; font-size:13px; }
.rental-card-fees { margin:6px 0 16px; font-size:12px; line-height:1.9; color:var(--ink-2); }
.rental-card-meta { padding-top:15px; border-top:1px solid var(--line); font-size:13px; }
.rental-card-body > p:not([class]) { font-size:13px; }
.rental-card .text-link { margin-top:10px; font-size:13px; }
.rental-date { font-size:12px; color:var(--ink-2); margin-bottom:24px; }
.rental-footnote { font-size:12px; line-height:2; color:var(--ink-2); margin-top:24px; }
.site-footer .rental-footnote { color:inherit; }
.rental-list { padding-bottom:80px; }
.rental-home { margin-top:72px; padding-top:36px; border-top:1px solid var(--line); }
.rental-home-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.rental-home-head .script { font-size:42px; margin:0 0 6px; }
.rental-home-head h3 { font-family:var(--serif); font-size:21px; }
.rental-home-head > a { font-size:13px; }
.rental-heading h1 span { display:inline-block; }
.rental-overview { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr); align-items:start; gap:42px; }
.rental-gallery { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.rental-gallery figure { margin:0; min-width:0; }
.rental-gallery figure:first-child { grid-column:1 / -1; }
.rental-gallery img { width:100%; aspect-ratio:4 / 3; object-fit:cover; }
.rental-gallery figcaption, .rental-plan figcaption { margin-top:6px; font-size:12px; color:var(--ink-2); }
.rental-summary { background:var(--kinari); padding:32px; }
.rental-summary .note { font-size:12px; margin-bottom:20px; }
.rental-summary .btn { width:100%; padding:10px 12px; font-size:13px; margin-top:24px; }
.rental-price { font-size:32px; line-height:1.5; letter-spacing:.01em; margin:10px 0 12px; }
.rental-price small { font-size:13px; margin-left:6px; }
.rental-tags { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.rental-tags li { border:1px solid #bcb9b2; background:#fff; padding:4px 12px; font-size:12px; }
.rental-section { margin-top:72px; padding-top:32px; border-top:1px solid var(--line); }
.rental-section h2 { font-family:var(--serif); font-size:25px; margin:0 0 24px; }
.rental-plan { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:48px; }
.rental-plan figure { margin:0; padding:24px; background:var(--mist); text-align:center; }
.rental-plan img { margin:auto; max-height:550px; width:auto; }
.rental-facts { margin:0; }
.rental-facts > div { display:grid; grid-template-columns:190px minmax(0,1fr); border-bottom:1px solid var(--line); }
.rental-facts dt { margin:0; background:var(--kinari); padding:16px 20px; font-weight:500; }
.rental-facts dd { margin:0; padding:16px 24px; overflow-wrap:anywhere; }
.rental-contact { margin:72px 0 40px; background:var(--kinari); text-align:center; padding:40px 24px; }
.rental-contact h2 { font-family:var(--serif); font-size:25px; margin:12px 0 20px; }
.rental-contact-links { display:flex; justify-content:center; flex-wrap:wrap; gap:16px; margin:24px 0; }
.rental-back { margin:40px 0 80px; font-size:14px; }
@media(max-width:700px){
 .rental-grid { grid-template-columns:1fr; gap:28px; }
 .rental-card-body { padding:22px; }
 .rental-card h2 { font-size:20px; }
 .rental-card h2 span { font-size:16px; }
 .rental-overview { grid-template-columns:1fr; gap:24px; }
 .rental-summary { padding:24px; }
 .rental-plan { grid-template-columns:1fr; gap:20px; }
 .rental-plan img { max-height:460px; }
 .rental-section { margin-top:48px; }
 .rental-section h2 { font-size:23px; }
 .rental-facts > div { grid-template-columns:112px minmax(0,1fr); }
 .rental-facts dt { padding:13px 12px; font-size:13px; }
 .rental-facts dd { padding:13px 14px; font-size:13px; }
 .rental-home-head { display:block; }
 .rental-home-head > a { margin-top:12px; }
 .rental-contact { padding:32px 20px; }
 .rental-contact h2 { font-size:22px; }
 .rental-contact-links { display:grid; }
 .rental-contact-links .btn { font-size:13px; padding-inline:14px; }
}
@media(max-width:360px){
 .page-rental .header-inner { gap:8px; }
 .page-rental .header-icons { gap:0; }
 .page-rental .header-icons .icon-link,.page-rental .header-icons .menu-button { width:40px; min-width:40px; }
 .page-rental .brand { gap:6px; }
 .page-rental .brand picture,.page-rental .brand img { width:28px; height:28px; flex-shrink:0; }
 .page-rental .brand small { white-space:nowrap; font-size:8px; letter-spacing:.08em; }
}
