/* Compact benefit amounts; conditions open on click, tap or keyboard. */
.additional-canonical-inputs,.additional-calculation-fields,#additional-empty-note{display:none!important}
.rental-config .additional-discounts{overflow:visible}.additional-discount-content{position:relative}
.additional-benefit-choices{display:grid;gap:8px}.additional-benefit-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border-bottom:1px solid #e7e9ed;padding:12px 0;min-width:0}.additional-benefit-item:has(.discount-help[open]){z-index:30}
.additional-benefit-choice{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer}.additional-benefit-choice>input{width:22px;height:22px;margin:0;flex:0 0 22px;accent-color:#df1638}
.additional-benefit-choice>span,.additional-benefit-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;min-width:0;width:100%;font-size:16px;line-height:1.6}.additional-benefit-choice strong,.additional-benefit-copy strong{font-size:16px;color:#20242b}.additional-benefit-choice>span>span,.additional-benefit-copy>span{font-weight:600}.additional-benefit-choice input:disabled+span{color:#8a8e98}.additional-benefit-choice:has(input:disabled){cursor:default}
.additional-promotion-row{padding-top:3px;margin-bottom:8px}.additional-promotion-row .additional-benefit-copy>strong{color:#bf1228}
.discount-help{position:static;flex:none}.discount-help>summary{cursor:pointer;font-size:13px;line-height:1.5;text-decoration:underline;text-underline-offset:3px;color:#6b7280;list-style:none;padding:10px 2px;white-space:nowrap}.discount-help>summary::-webkit-details-marker{display:none}.discount-help>summary:focus-visible{outline:2px solid #bd293b;outline-offset:3px;border-radius:3px}
.discount-help-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;border:1px solid #d8dde5;border-radius:12px;background:#fff;padding:16px;box-shadow:0 8px 28px #1f293733;font-size:15px;line-height:1.75;color:#374151;max-height:330px;overflow:auto;overflow-wrap:anywhere}.discount-help-popover p{font-size:15px;line-height:1.75;margin:0 0 12px}.discount-help-popover p:last-child{margin-bottom:0}
.additional-general-help{position:relative;margin-top:6px}.additional-general-help>summary{text-align:right}.additional-general-help .check-option{font-size:14px}
.additional-result-row{border:0;padding:0;gap:6px}.additional-price-panel .best-price{margin:0;padding:0;border:0;gap:8px}.additional-price-panel .best-price>span{font-size:16px}.additional-price-panel .best-price>span>small{font-size:13px;color:#6b7280;font-weight:400}.additional-price-panel .best-price>strong{font-size:28px}.additional-estimate-note{display:block;margin-top:6px;font-size:13px;color:#64748b}
.additional-discounts .discount-help-popover #additional-benefit-period{border:0;padding:0;font-size:15px;background:none}.additional-discounts .discount-help-popover .contract-total{font-size:14px}.additional-discounts .discount-help-popover #additional-contract-total{font-size:14px;line-height:1.8}
@media(max-width:767px){.additional-discounts .additional-discount-content{padding:14px 12px}.additional-benefit-item{gap:6px}.additional-benefit-choice{gap:8px}.additional-benefit-choice>span,.additional-benefit-copy{font-size:15px}.additional-benefit-choice strong,.additional-benefit-copy strong{font-size:15px}.discount-help>summary{font-size:12px}.additional-price-panel .best-price>strong{font-size:26px}.additional-price-panel .best-price>span{font-size:14px}}

.discount-help-close{display:block;margin:0 0 10px auto;border:0;border-radius:6px;padding:8px 12px;background:#f1f3f6;color:#374151;font-size:14px;cursor:pointer}
@media(max-width:767px){.discount-help-popover{position:fixed;left:16px;right:16px;top:50%;transform:translateY(-50%);max-height:55vh;z-index:1000}}

.rental-config .additional-discounts .additional-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;margin:0;padding:0;border:0}.rental-config .additional-discounts .additional-price-panel .best-price{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:0;border:0;min-width:0}.rental-config .additional-discounts .additional-price-panel .best-price>span{display:block;font-size:14px;line-height:1.6;margin:0;flex:none}.rental-config .additional-discounts .additional-price-panel .best-price>strong{display:block;white-space:nowrap;font-size:28px;line-height:1.4;margin:0}.rental-config .additional-discounts .additional-price-panel .best-price>span>small{font-size:12px}.additional-discounts .additional-price-panel .btn{min-height:44px;padding:9px 12px;margin-top:12px}@media(max-width:767px){.rental-config .additional-discounts .additional-price-panel .best-price>strong{font-size:25px}.rental-config .additional-discounts .additional-price-panel .best-price>span{font-size:13px}}

.rental-config .basic-price-panel{padding:16px 0;margin:0;border-bottom:1px solid #e5e7eb}.rental-config .basic-price-panel .price-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.rental-config .basic-price-panel #base-price{font-size:27px;color:#20242b}.rental-config .basic-price-panel #basic-pricing-period{display:block;margin:8px 0 0;font-size:12px;line-height:1.6;color:#64748b}
.rental-config .basic-price-panel .base-card-price-line{margin-top:14px}.rental-config .basic-price-panel #base-card-price{font-size:27px;color:#df1638}.rental-config .basic-price-panel #base-card-period-note{display:block;margin:8px 0 0;font-size:13px;line-height:1.7;color:#64748b}
.rental-config .additional-discounts{border:1px solid #d8dde5;box-shadow:0 3px 12px #1f293708;margin:20px 0;background:#fff}.rental-config .additional-discounts>.additional-discount-content{padding:16px}.rental-config .additional-discounts .single-card-field{margin:0 0 4px}.rental-config .additional-discounts .card-field-label{margin:0 0 8px}.additional-discounts .additional-card-row{margin-bottom:8px}
.rental-config .additional-discounts .additional-price-panel{background:#fafbfc;border:1px solid #e5e7eb;padding:14px;margin-top:16px}.rental-config .additional-discounts .additional-price-panel>h3.additional-schedule-heading{display:block;margin:0 0 10px;padding:0;border:0;font-size:16px;line-height:1.7;color:#20242b}.rental-config .additional-discounts #additional-payment-schedule{display:block;margin:0 0 14px;padding:0;border:0}.rental-config .additional-discounts #additional-payment-schedule .spec-table{font-size:14px;background:#fff}.rental-config .additional-discounts #additional-payment-schedule th,.rental-config .additional-discounts #additional-payment-schedule td{font-size:14px;line-height:1.65;padding:9px 7px}.rental-config .additional-discounts #additional-payment-schedule th:nth-child(n+2),.rental-config .additional-discounts #additional-payment-schedule td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}.rental-config .additional-discounts .additional-result-row{padding-top:14px;border-top:1px solid #dce1e7}.rental-config .additional-discounts .additional-price-panel .best-price>span{flex:1;min-width:0}.rental-config .additional-discounts .additional-price-panel .best-price>strong{color:#df1638}
@media(max-width:767px){.rental-config .additional-discounts>.additional-discount-content{padding:14px 12px}.rental-config .additional-discounts .additional-price-panel{padding:12px}.rental-config .additional-discounts #additional-payment-schedule th,.rental-config .additional-discounts #additional-payment-schedule td{font-size:13px;padding:8px 5px}.rental-config .basic-price-panel #base-price{font-size:25px}.additional-discounts>summary>span:first-child{min-width:0}.additional-discounts>summary small{overflow-wrap:anywhere}}
@media(max-width:767px){.rental-config .basic-price-panel #base-card-price{font-size:25px}.rental-config .basic-price-panel .base-card-price-line>span{font-size:14px}}
.additional-card-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;align-items:center;min-width:0}.additional-card-copy>strong{grid-column:1;grid-row:1;color:#20242b;font-size:16px;line-height:1.65}.additional-card-copy #additional-card-selection{grid-column:1/-1;grid-row:2;font-size:14px;line-height:1.65;color:#64748b;overflow-wrap:anywhere}.additional-card-copy #additional-card-benefit{grid-column:2;grid-row:1;text-align:right;font-size:15px;line-height:1.65;font-weight:600;white-space:nowrap}.additional-card-selection-row{padding-top:3px;margin-bottom:8px}
.rental-config .additional-discounts .additional-price-panel .best-price{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.rental-config .additional-discounts .additional-price-panel .best-price>strong{font-size:clamp(23px,2vw,28px);text-align:right;white-space:normal;overflow-wrap:normal;word-break:keep-all;font-variant-numeric:tabular-nums}.rental-config .additional-discounts .additional-result-row{align-items:start}
@media(max-width:767px){.additional-card-copy>strong{font-size:15px}.additional-card-copy #additional-card-benefit{font-size:14px}.additional-card-copy #additional-card-selection{font-size:13px}.rental-config .additional-discounts .additional-price-panel .best-price>strong{font-size:clamp(21px,5.8vw,23px);line-height:1.6;max-width:100%}.rental-config .additional-discounts .additional-result-row>.discount-help{align-self:start}}

/* Monthly event choices are separate from the basic rental price. */
.detail-page .rental-config .additional-discounts{border-color:#e60012;box-shadow:none}
.detail-page .rental-config .additional-discounts>summary{background:#e60012;color:#fff;min-height:60px}
.detail-page .rental-config .additional-discounts>summary strong{color:#fff}
.detail-page .rental-config .additional-discounts>summary small,
.detail-page .rental-config .additional-discounts>summary .additional-selection-status{color:#fff}
.detail-page .rental-config .additional-discounts[open]>summary{border-bottom:1px solid #e60012}
.detail-page .rental-config .additional-discounts>summary:focus-visible{outline:3px solid #7c0010;outline-offset:2px}
@media(max-width:650px){.detail-page .rental-config .additional-discounts>summary{min-height:56px}}

/* Draw attention to the existing closed benefit control, then settle on interaction. */
.detail-page .rental-config #additional-discounts>summary{position:relative;isolation:isolate;overflow:hidden}
.detail-page .rental-config #additional-discounts>summary>*{position:relative;z-index:1}
.detail-page .rental-config #additional-discounts:not([open]){animation:ehj-benefit-glow 1.6s ease-in-out infinite}
.detail-page .rental-config #additional-discounts:not([open])>summary::before{content:'';position:absolute;top:-60%;bottom:-60%;left:-55%;width:35%;background:linear-gradient(90deg,transparent,#ffffff70,transparent);transform:skewX(-18deg);animation:ehj-benefit-shine 1.6s ease-in-out infinite;pointer-events:none;z-index:0}
.detail-page .rental-config #additional-discounts:not([open]) .additional-selection-status{animation:ehj-benefit-nudge 1.6s ease-in-out infinite}
.detail-page .rental-config #additional-discounts:is(:hover,:focus-within),.detail-page .rental-config #additional-discounts:is(:hover,:focus-within)>summary::before,.detail-page .rental-config #additional-discounts:is(:hover,:focus-within) .additional-selection-status{animation:none}
@keyframes ehj-benefit-glow{0%,100%{box-shadow:0 0 0 0 #e6001200,0 4px 12px #e6001214}45%{box-shadow:0 0 0 6px #e6001220,0 7px 22px #e6001238}}
@keyframes ehj-benefit-shine{0%,15%{left:-55%;opacity:0}22%{opacity:1}60%{left:125%;opacity:0}100%{left:125%;opacity:0}}
@keyframes ehj-benefit-nudge{0%,24%,52%,100%{transform:translateX(0)}32%,44%{transform:translateX(-5px)}38%{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.detail-page .rental-config #additional-discounts:not([open]),.detail-page .rental-config #additional-discounts:not([open])>summary::before,.detail-page .rental-config #additional-discounts:not([open]) .additional-selection-status{animation:none}.detail-page .rental-config #additional-discounts>summary::before{display:none}}

/* Keep the existing card picker visible as a blue control. */
.detail-page .rental-config #card-menu-trigger{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:700}
.detail-page .rental-config #card-menu-trigger:hover,.detail-page .rental-config #card-menu-trigger:focus-visible{background:#1d4ed8;border-color:#1d4ed8}
.detail-page .rental-config #card-menu-trigger:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
.detail-page .rental-config .card-menu[open]>#card-menu-trigger{border-color:#2563eb;box-shadow:0 0 0 2px #dbeafe}

#additional-payment-schedule .first-bill-notice, #payment-schedule .first-bill-notice { color: #1d4ed8; margin: 12px 0 0; font-size: 14px; line-height: 1.7; white-space: normal; }
