/* Add-On Showcase: checkout cards for optional extras. Borrows the checkout
 * card chrome (hk-card) like Travel Protection; own controls are scoped and
 * armored by the build. Tokens are public (--hrtk-aos-*). */
.hrtk-aos { --hrtk-aos-accent: #184b49; --hrtk-aos-border: #d9dfe3; --hrtk-aos-selected: #f4f8f7; --hrtk-aos-muted: #58656c; --hrtk-aos-warn: #8a3b12; }
.hrtk-aos-native:not(#\9):not(#\9) { display: none !important; }
.hrtk-aos[hidden]:not(#\9):not(#\9), .hrtk-aos-sidebar[hidden]:not(#\9):not(#\9), .hrtk-aos-teaser[hidden]:not(#\9):not(#\9), .hrtk-aos-card[hidden]:not(#\9):not(#\9), .hrtk-aos-more[hidden]:not(#\9):not(#\9) { display: none !important; }
.hrtk-aos-fieldset:not(#\9):not(#\9) { border: 0; padding: 0; margin: 0; min-width: 0; font: inherit; color: inherit; }
.hrtk-aos-heading:not(#\9):not(#\9) { font: inherit; font-size: 1.5em; font-weight: 600; padding: 0; margin: 0 0 12px; width: 100%; color: inherit; }
.hrtk-aos-introduction:not(#\9):not(#\9) { margin: 0 0 20px; color: var(--hrtk-aos-muted); }
.hrtk-aos-group:not(#\9):not(#\9) { margin: 0 0 8px; }
.hrtk-aos-group-title:not(#\9):not(#\9) { font: inherit; font-weight: 600; margin: 18px 0 10px; color: var(--hrtk-aos-muted); }
.hrtk-aos-cards:not(#\9):not(#\9) { display: grid; gap: 12px; }
.hrtk-aos-card:not(#\9):not(#\9) { --hrtk-aos-card-bg: #fff; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; border: 1px solid var(--hrtk-aos-border); border-radius: 10px; padding: 14px; background: var(--hrtk-aos-card-bg); color: #27343b; transition: border-color .2s, background .2s; }
.hrtk-aos-card.has-image:not(#\9):not(#\9) { grid-template-columns: 88px minmax(0, 1fr) auto; }
.hrtk-aos-card.is-toggle:not(#\9):not(#\9) { cursor: pointer; }
.hrtk-aos-card:hover:not(#\9):not(#\9) { border-color: #b9c5c4; }
.hrtk-aos-card.is-selected:not(#\9):not(#\9) { --hrtk-aos-card-bg: var(--hrtk-aos-selected); border-color: var(--hrtk-aos-accent); background: var(--hrtk-aos-card-bg); box-shadow: 0 0 0 1px var(--hrtk-aos-accent); }
.hrtk-aos-thumb:not(#\9):not(#\9) { width: 88px; height: 66px; -o-object-fit: cover; object-fit: cover; border-radius: 6px; display: block; }
.hrtk-aos-body:not(#\9):not(#\9) { min-width: 0; }
.hrtk-aos-title:not(#\9):not(#\9) { font: inherit; font-size: 1.02em; font-weight: 600; margin: 0 0 4px; }
.hrtk-aos-badge:not(#\9):not(#\9) { display: inline-block; font-size: .78em; font-weight: 500; color: var(--hrtk-aos-muted); margin-left: 8px; }
.hrtk-aos-desc:not(#\9):not(#\9) { margin: 0; color: var(--hrtk-aos-muted); font-size: .92em; line-height: 1.45; overflow-wrap: anywhere; }
.hrtk-aos-desc:not(#\9):not(#\9) p { margin: 0 0 .6em; }
.hrtk-aos-desc:not(#\9):not(#\9) p:last-child { margin-bottom: 0; }
.hrtk-aos-desc:not(#\9):not(#\9) a { color: var(--hrtk-aos-accent); text-decoration: underline; text-underline-offset: 3px; }
/* Long copy: the first lines show, the rest waits behind Show more. */
.hrtk-aos-desc.is-clamped:not(#\9):not(#\9) { position: relative; max-height: calc(var(--hrtk-aos-desc-lines, 5) * 1.45em); overflow: hidden; }
.hrtk-aos-desc.is-clamped:not(#\9):not(#\9)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.6em; background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--hrtk-aos-card-bg, #fff)); pointer-events: none; }
.hrtk-aos-desc-toggle:not(#\9):not(#\9) { font: inherit; font-size: .85em; font-weight: 600; color: var(--hrtk-aos-accent); background: none; border: 0; padding: 6px 0 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.hrtk-aos-desc-toggle[hidden]:not(#\9):not(#\9) { display: none !important; }
.hrtk-aos-side:not(#\9):not(#\9) { display: grid; justify-items: end; gap: 8px; min-width: 128px; }
.hrtk-aos-control:not(#\9):not(#\9) { display: grid; justify-items: end; gap: 2px; }
.hrtk-aos-remove:not(#\9):not(#\9) { font: inherit; font-size: .82em; color: var(--hrtk-aos-muted); background: none; border: 0; padding: 2px 0 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.hrtk-aos-remove:hover:not(#\9):not(#\9) { color: var(--hrtk-aos-accent); }
.hrtk-aos-remove:disabled:not(#\9):not(#\9) { opacity: .55; cursor: default; }
.hrtk-aos-price:not(#\9):not(#\9) { font-weight: 600; color: var(--hrtk-aos-accent); white-space: nowrap; text-align: right; }
.hrtk-aos-price:not(#\9):not(#\9) small { font-weight: 400; color: var(--hrtk-aos-muted); font-size: .8em; margin-left: 4px; }
.hrtk-aos-btn:not(#\9):not(#\9) { font: inherit; font-weight: 600; font-size: .92em; padding: 8px 18px; border-radius: 6px; border: 1.5px solid var(--hrtk-aos-accent); background: #fff; color: var(--hrtk-aos-accent); cursor: pointer; min-width: 96px; transition: background .2s, color .2s; }
.hrtk-aos-btn:hover:not(#\9):not(#\9) { background: var(--hrtk-aos-selected); }
.hrtk-aos-btn:active:not(#\9):not(#\9) { transform: scale(.98); }
.hrtk-aos-btn:focus-visible:not(#\9):not(#\9), .hrtk-aos-step:focus-visible:not(#\9):not(#\9), .hrtk-aos-more:focus-visible:not(#\9):not(#\9), .hrtk-aos-desc-toggle:focus-visible:not(#\9):not(#\9), .hrtk-aos-remove:focus-visible:not(#\9):not(#\9), .hrtk-aos-summary-remove:focus-visible:not(#\9):not(#\9) { outline: 2px solid var(--hrtk-aos-accent); outline-offset: 3px; }
.hrtk-aos-btn[aria-pressed="true"]:not(#\9):not(#\9) { background: var(--hrtk-aos-accent); color: #fff; }
.hrtk-aos-btn[aria-pressed="true"]:not(#\9):not(#\9)::before { content: "\2713\00a0"; }
.hrtk-aos-btn:disabled:not(#\9):not(#\9), .hrtk-aos-step:disabled:not(#\9):not(#\9) { opacity: .55; cursor: default; }
.hrtk-aos-stepper:not(#\9):not(#\9) { display: inline-flex; align-items: center; border: 1.5px solid var(--hrtk-aos-accent); border-radius: 6px; overflow: hidden; }
.hrtk-aos-step:not(#\9):not(#\9) { font: inherit; font-size: 1.1em; width: 36px; height: 36px; border: 0; background: #fff; color: var(--hrtk-aos-accent); cursor: pointer; }
.hrtk-aos-step:disabled:not(#\9):not(#\9) { color: #b0b8bc; }
.hrtk-aos-qty:not(#\9):not(#\9) { min-width: 28px; text-align: center; font-weight: 600; }
.hrtk-aos-more:not(#\9):not(#\9) { font: inherit; font-weight: 600; color: var(--hrtk-aos-accent); background: none; border: 0; padding: 12px 0 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.hrtk-aos-notice:not(#\9):not(#\9) { margin-top: 12px; }
.hrtk-aos-notice:empty:not(#\9):not(#\9) { display: none; }
.hrtk-aos-notice.is-danger:not(#\9):not(#\9), .hrtk-aos-notice.is-warning:not(#\9):not(#\9) { color: var(--hrtk-aos-warn); }
.hrtk-aos[aria-busy="true"]:not(#\9):not(#\9) .hrtk-aos-cards { opacity: .65; }
.hrtk-aos-sidebar:not(#\9):not(#\9) { margin: 12px 0; font-size: .9em; }
.hrtk-aos-summary:not(#\9):not(#\9) { background: var(--hrtk-aos-selected); border-radius: 6px; padding: 10px 12px; }
.hrtk-aos-summary-label:not(#\9):not(#\9) { font-weight: 600; }
.hrtk-aos-summary-list:not(#\9):not(#\9) { list-style: none; margin: 4px 0 0; padding: 0; }
.hrtk-aos-summary-item:not(#\9):not(#\9) { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 2px 0; }
.hrtk-aos-summary-remove:not(#\9):not(#\9) { font: inherit; font-size: 1.35em; line-height: 1; width: 26px; height: 26px; padding: 0 0 2px; border-radius: 50%; border: 1px solid var(--hrtk-aos-border); background: #fff; color: var(--hrtk-aos-muted); cursor: pointer; flex: none; }
.hrtk-aos-summary-remove:hover:not(#\9):not(#\9) { color: var(--hrtk-aos-accent); border-color: var(--hrtk-aos-accent); }
.hrtk-aos-summary-remove:disabled:not(#\9):not(#\9) { opacity: .55; cursor: default; }
.hrtk-aos-recovery:not(#\9):not(#\9) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; margin-top: 10px; color: var(--hrtk-aos-warn); }
.hrtk-aos-recovery:not(#\9):not(#\9) .hrtk-aos-btn { min-width: 0; padding: 6px 12px; }
.hrtk-aos-teaser:not(#\9):not(#\9) { margin: 12px 0 0; font-size: .9em; color: var(--hrtk-aos-muted); }
.hrtk-aos-teaser:not(#\9):not(#\9) strong { color: var(--hrtk-aos-accent); font-weight: 600; }
@media (max-width: 600px) {
 .hrtk-aos-card:not(#\9):not(#\9), .hrtk-aos-card.has-image:not(#\9):not(#\9) { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 12px; }
 .hrtk-aos-card:not(.has-image):not(#\9):not(#\9) { grid-template-columns: minmax(0, 1fr); }
 .hrtk-aos-thumb:not(#\9):not(#\9) { width: 64px; height: 48px; }
 .hrtk-aos-side:not(#\9):not(#\9) { grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; justify-items: start; align-items: center; width: 100%; }
 .hrtk-aos-control:not(#\9):not(#\9) { justify-items: end; }
 .hrtk-aos-price:not(#\9):not(#\9) { text-align: left; }
}
