/* Rental composition only. All surfaces, fields and selected states use UI Kit recipes. */
.cd-rental-hero, .cd-rental-included { display: grid; align-items: center; gap: var(--cd-space-8); }
.cd-rental-editorial--photo { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); }
.cd-rental-hero h1 { font-size: clamp(var(--cd-font-xl),5vw,calc(var(--cd-font-xl) * 2)); line-height: var(--cd-line-height-heading); }
.cd-rental-price-anchor { font-size: var(--cd-font-lg); }
.cd-rental :is(figure,dl) { margin: 0; min-width: 0; }
.cd-rental-trust { display: flex; flex-wrap: wrap; gap: var(--cd-space-2) var(--cd-space-4); padding: 0; margin: var(--cd-space-3) 0; list-style: none; font-size: var(--cd-font-sm); }
.cd-rental-engine { scroll-margin-top: var(--cd-space-8); }
.cd-rental-engine fieldset { min-width: 0; margin: 0; border: 0; padding: 0; }
.cd-rental-engine legend { font-weight: var(--cd-weight-semibold); margin-bottom: var(--cd-space-3); }
.cd-rental-types { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--cd-space-3); }
.cd-rental-types > .cd-pill { display: grid; grid-template-columns: auto minmax(0,1fr); align-content: start; gap: var(--cd-space-3); text-align: left; white-space: normal; cursor: pointer; }
.cd-rental-type-copy { display: grid; gap: var(--cd-space-1); overflow-wrap: anywhere; }
.cd-rental-type-copy small { font-weight: var(--cd-weight-normal); }
.cd-rental-type-media { grid-column: 1 / -1; grid-row: 1; }
.cd-rental .cd-rental-type-media > img { height: calc(var(--cd-space-12) * 3); object-fit: contain; }
.cd-rental-config { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: var(--cd-space-8); align-items: start; margin-top: var(--cd-space-6); }
.cd-rental-controls, .cd-rental-order { display: grid; gap: var(--cd-space-4); min-width: 0; }
.cd-rental-dates { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--cd-space-4); margin-block: var(--cd-space-3); }
.cd-rental-dates > div { min-width: 0; }
.cd-rental-dates label { display: block; margin-bottom: var(--cd-space-2); }
.cd-rental-dates input { min-width: 0; max-width: 100%; }
.cd-rental-rail { display: flex; flex-wrap: wrap; gap: var(--cd-space-2); margin-top: var(--cd-space-3); }
.cd-rental-rail > .cd-pill { display: flex; gap: var(--cd-space-2); min-height: var(--cd-control-size); cursor: pointer; }
.cd-rental input[type="radio"] { flex-shrink: 0; }
.cd-rental-availability { white-space: pre-line; min-height: calc(var(--cd-font-md) * var(--cd-line-height) * 2); }
.cd-rental-summary { display: grid; gap: var(--cd-space-2); }
.cd-rental-summary > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--cd-space-3); }
.cd-rental-summary dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.cd-rental-summary > div:last-child { font-size: var(--cd-font-lg); font-weight: var(--cd-weight-bold); }
.cd-rental-engine .cd-rental-contacts { margin-top: var(--cd-space-6); padding: var(--cd-space-6); }
.cd-rental-success { max-width: calc(var(--cd-container-narrow) * .75); gap: var(--cd-space-3); }
.cd-rental-success-details { display: grid; gap: var(--cd-space-2); margin-block: var(--cd-space-2); overflow-wrap: anywhere; }
.cd-rental-success-details p { margin: 0; }
.cd-rental-success-type { font-size: var(--cd-font-lg); }
.cd-rental-success-price { font-size: var(--cd-font-xl); line-height: var(--cd-line-height-heading); }
.cd-rental-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--cd-space-6); padding-top: var(--cd-space-4); }
.cd-rental-facts dt { display: flex; align-items: center; gap: var(--cd-space-3); font-weight: var(--cd-weight-semibold); }
.cd-rental-facts .cd-content-step-node, .cd-rental-pickup-facts .cd-content-step-node { flex-shrink: 0; }
.cd-rental-facts > div { min-width: 0; overflow-wrap: anywhere; }
.cd-rental-facts dd { margin: var(--cd-space-1) 0 0; color: var(--cd-color-muted); }
.cd-rental-pickup { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--cd-space-8); align-items: start; }
.cd-rental-pickup-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--cd-space-4); margin: 0; padding: 0; list-style: none; }
.cd-rental-pickup-facts li { display: flex; align-items: center; gap: var(--cd-space-3); min-width: 0; overflow-wrap: anywhere; }
.cd-rental-pickup address { font-style: normal; }
.cd-rental-pickup summary { min-height: var(--cd-control-size); cursor: pointer; }
.cd-rental :is(input,summary):focus-visible { outline: var(--cd-focus-width) solid var(--cd-focus-color); outline-offset: var(--cd-focus-offset); }
/* Local composition width; global site/container tokens remain unchanged. */
@media (min-width: 64.001rem) {
 .cd-rental > :is(header,section) { width: 100%; max-width: 74rem; justify-self: center; }
 .cd-rental-hero:not(.cd-rental-editorial--photo) > .cd-content-hero-copy { max-width: var(--cd-container-narrow); }
 .cd-rental-config { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: var(--cd-space-6); }
 .cd-rental-included { row-gap: var(--cd-space-4); }
 .cd-rental-included-heading { grid-column: 1; }
 .cd-rental-included > .cd-rental-facts { grid-column: 1; grid-row: 2; }
 .cd-rental-included > figure { grid-column: 2; grid-row: 1 / 3; }
 .cd-rental-included:not(.cd-rental-editorial--photo) > * { max-width: var(--cd-container-narrow); }
 .cd-rental-pickup-facts { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 64rem) {
 .cd-rental-editorial--photo, .cd-rental-pickup { grid-template-columns: minmax(0,1fr); }
 .cd-rental-types { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .cd-rental-config { grid-template-columns: minmax(0,1fr); gap: var(--cd-space-4); }
}
@media (max-width: 40rem) {
 .cd-rental-types, .cd-rental-dates { grid-template-columns: minmax(0,1fr); }
 .cd-rental-engine .cd-rental-contacts { padding: var(--cd-space-4); }
 .cd-rental-order .cd-button { width: 100%; }
 .cd-rental-hero, .cd-rental-included, .cd-rental-pickup { gap: var(--cd-space-6); }
}
@media (max-width: 23rem) {
 .cd-rental-facts, .cd-rental-pickup-facts { grid-template-columns: minmax(0,1fr); }
}
/* Disclosure must win over component display rules, including radio labels. */
.cd-rental [hidden] { display: none; }
/* Calendar UI: canonical inset shell; flat day cells use existing palette/focus tokens. */
.cd-rental-calendar-field { position: relative; }
.cd-rental-calendar {
 position: absolute; top: 100%; left: 0; z-index: 20;
 width: 23rem; max-width: calc(100vw - var(--cd-space-4) * 2);
 padding: var(--cd-space-3); margin-top: var(--cd-space-2); min-width: 0;
}
.cd-rental-calendar-trigger { display: flex; align-items: center; justify-content: space-between; gap: var(--cd-space-2); text-align: left; cursor: pointer; }
/* Neutral calendar affordance, drawn with currentColor rather than an external icon. */
.cd-rental-calendar-trigger::after { content: ''; flex: 0 0 var(--cd-space-4); height: var(--cd-space-4); border: 1px solid currentColor; border-top-width: var(--cd-space-1); border-radius: var(--cd-space-1); }
.cd-rental-calendar-bar { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--cd-space-2); }
.cd-rental-calendar-bar strong { text-align: center; overflow-wrap: anywhere; text-transform: capitalize; }
.cd-rental-calendar-grid { max-width: calc(var(--cd-control-size) * 7 + var(--cd-space-1) * 6); margin: var(--cd-space-2) auto; }
.cd-rental-calendar-week { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: var(--cd-space-1); text-align: center; }
.cd-rental-calendar-week > * { min-width: 0; }
.cd-rental-calendar-week [role="columnheader"] { padding-block: var(--cd-space-2); color: var(--cd-color-muted); font-size: var(--cd-font-sm); }
.cd-rental-calendar-day {
 display: block; width: 100%; min-height: var(--cd-control-size); padding: 0;
 border: 0; border-radius: var(--cd-space-1); background: transparent;
 color: var(--cd-color-text); box-shadow: none; font: inherit; cursor: pointer;
}
.cd-rental-calendar-day[aria-disabled="true"] { color: var(--cd-color-muted); opacity: .5; cursor: not-allowed; }
.cd-rental-calendar-day[aria-current="date"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: var(--cd-space-1); }
@media (hover: hover) {
 .cd-rental-calendar-day:not([aria-disabled="true"]):hover { background: var(--cd-color-accent-soft); }
}
.cd-rental-calendar-week [aria-selected="true"] > .cd-rental-calendar-day { background: var(--cd-color-accent); color: var(--cd-color-surface); opacity: 1; }
.cd-rental-calendar-day:focus-visible { outline: var(--cd-focus-width) solid var(--cd-focus-color); outline-offset: 0; }
.cd-rental-calendar > [role="status"]:empty { display: none; }
@media (max-width: 40rem) {
 .cd-rental-calendar { position: static; width: 100%; max-width: 100%; padding: var(--cd-space-2); margin-top: var(--cd-space-3); }
 .cd-rental-calendar-grid { max-width: calc(var(--cd-control-size) * 7); }
 .cd-rental-calendar-week { gap: 0; }
}
