.container--rental { max-width: 1180px; }
.rental-intro .eyebrow { color: #8a5a18; }
.rental-form, .rental-common, .rental-properties, .rental-property, .rental-input-section, .rental-results, .rental-notice { margin-top: 1.25rem; }
.rental-form, .rental-property, .rental-field, .rental-fee, .rental-summary-card, .rental-detail { min-width: 0; }
.rental-common h2, .rental-input-section h2, .rental-results h2, .rental-notice h2 { margin-top: 0; }
.rental-stay-field { max-width: 18rem; }
.rental-presets, .rental-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.rental-properties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.rental-property { padding-top: .7rem; }
.rental-property > legend { padding: 0 .45rem; color: var(--color-primary-dark); font-family: var(--font-serif); font-size: 1.35rem; font-weight: 850; }
.rental-input-section { padding-top: 1rem; border-top: 1px solid var(--color-border); }
.rental-input-section:first-of-type { margin-top: .35rem; padding-top: 0; border-top: 0; }
.rental-input-section h2 { font-size: 1rem; }
.rental-advanced-conditions { margin-top: 1.25rem; overflow: clip; border: 1px solid var(--color-border); border-radius: .8rem; background: #f7faf9; }
.rental-advanced-conditions > summary { min-height: 44px; padding: .7rem .85rem; cursor: pointer; color: var(--color-primary-dark); font-weight: 800; line-height: 1.45; }
.rental-advanced-conditions > summary small { display: block; margin-top: .12rem; color: var(--color-muted); font-size: .7rem; font-weight: 650; }
.rental-advanced-conditions > summary:focus-visible { outline: 3px solid var(--color-primary); outline-offset: -3px; }
.rental-advanced-conditions[open] > summary { border-bottom: 1px solid var(--color-border); background: #eef6f4; }
.rental-advanced-content { padding: 0 .85rem .85rem; }
.rental-fields, .rental-fee-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.rental-fields--basic .rental-field--wide { grid-column: 1 / -1; }
.rental-field { display: grid; align-content: start; gap: .38rem; }
.rental-field > label, .rental-fee > label:first-child { font-size: .78rem; font-weight: 750; line-height: 1.45; }
.rental-field input, .rental-fee input, .rental-fee select { width: 100%; }
.rental-fee { display: grid; grid-template-columns: minmax(0, 1fr) 5.5rem; gap: .38rem; align-items: end; }
.rental-fee > label:first-child { grid-column: 1 / -1; }
.rental-input-suffix { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .45rem; }
.rental-input-suffix span { white-space: nowrap; color: var(--color-muted); font-size: .75rem; font-weight: 700; }
.rental-check { display: flex; align-items: flex-start; gap: .55rem; padding: .7rem; border: 1px solid var(--color-border); border-radius: .7rem; background: #f7faf9; font-size: .75rem; font-weight: 700; line-height: 1.55; }
.rental-check input { flex: 0 0 auto; margin-top: .2rem; }
.rental-help, .rental-example-note { margin: .65rem 0 0; color: var(--color-muted); font-size: .72rem; line-height: 1.65; }
.rental-example-note { padding: .75rem; border-radius: .65rem; background: #fff8e8; color: #745918; }
.rental-error, .rental-copy-status { min-height: 1.5em; margin: .75rem 0 0; }
.rental-error { color: #a12b24; font-weight: 750; }
.rental-results__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.rental-results__header p { margin: .35rem 0 0; }
.rental-summary-grid, .rental-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.rental-summary-card { padding: 1rem; border: 1px solid #b9d7d1; border-radius: .85rem; background: #f2faf8; }
.rental-summary-card h3, .rental-detail h3 { margin: 0; overflow-wrap: anywhere; color: var(--color-primary-dark); }
.rental-summary-card dl, .rental-detail dl { margin: .8rem 0 0; }
.rental-summary-card dl > div, .rental-detail dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: .48rem 0; border-top: 1px solid var(--color-border); }
.rental-summary-card dt, .rental-detail dt { min-width: 0; color: var(--color-muted); font-size: .72rem; }
.rental-summary-card dd, .rental-detail dd { margin: 0; overflow-wrap: anywhere; text-align: right; font-weight: 800; }
.rental-summary-card dd { color: var(--color-primary-dark); font-size: 1rem; }
.rental-comparison { margin-top: 1rem; padding: 1rem; border-radius: .8rem; background: #173f3a; color: #fff; }
.rental-comparison p { margin: .35rem 0; font-weight: 750; }
.rental-reversal { padding: .6rem; border-radius: .55rem; background: #fff0c9; color: #654800; }
.rental-detail { padding: 1rem; border: 1px solid var(--color-border); border-radius: .85rem; background: var(--color-surface); }
.rental-detail dt { flex: 1 1 auto; }
.rental-detail dd { flex: 0 1 48%; font-size: .76rem; }
.rental-penalty-warning { padding: .7rem; border-left: 4px solid #b0382f; background: #fff0ef; color: #7d211b; font-weight: 800; }
.rental-effective-note { margin: 1rem 0 0; padding: .75rem; border-radius: .65rem; background: #edf5ff; color: #254d73; }
.rental-notice ul { margin-bottom: 0; padding-left: 1.35rem; }
.rental-notice li + li { margin-top: .4rem; }
.rental-article p, .faq-section p { overflow-wrap: anywhere; }
@media (max-width: 820px) { .rental-properties, .rental-summary-grid, .rental-detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .rental-fields, .rental-fee-grid { grid-template-columns: 1fr; }
  .rental-fields--basic .rental-field--wide { grid-column: auto; }
  .rental-presets .button { flex: 1 1 calc(33.333% - .65rem); }
  .rental-actions .button, .rental-results__header .button { width: 100%; }
  .rental-summary-card dl > div, .rental-detail dl > div { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .rental-summary-card dd, .rental-detail dd { max-width: 100%; text-align: left; }
}
