/* Expandable bottom order summary on desktop and mobile. */
#wizard-container { overflow: visible; }
body.avenra-route-configurator { padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)); }
.avenra-configurator-layout { max-width: 1180px; margin: auto; }
.avenra-configurator-summary, .avenra-configurator-form { min-width: 0; }
.avenra-configurator-summary-detail { display: none; }
.avenra-configurator-mobile-order {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: #fff;
    border-top: 1px solid #dce3eb;
    box-shadow: 0 -5px 24px #0f172a0d;
    padding-bottom: env(safe-area-inset-bottom, 0px);
}
.avenra-configurator-mobile-order > summary {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: 1180px;
    margin: auto;
    min-height: 76px;
    list-style: none;
    cursor: pointer;
    padding: 13px 24px;
}
.avenra-configurator-mobile-order > summary::-webkit-details-marker { display: none; }
.avenra-configurator-mobile-order > summary::after { content: '⌃'; font-size: 20px; color: #0369a1; }
.avenra-configurator-mobile-order[open] > summary::after { content: '⌄'; }
#configurator-mobile-compact { display: flex; gap: 14px; align-items: center; flex: 1; min-width: 0; }
#configurator-mobile-summary {
    box-sizing: border-box;
    padding: 0 24px 24px;
    max-width: 800px;
    margin: auto;
    max-height: min(65vh, 640px);
    max-height: min(65dvh, 640px);
    overflow: auto;
    overscroll-behavior: contain;
    border-top: 1px solid #e2e8f0;
}
.avenra-preapproval-message { margin: 16px 0; padding: 16px; border: 1px solid #fed7aa; background: #fff7ed; border-radius: 10px; color: #9a3412; line-height: 1.6; font-size: 14px; }
.avenra-preapproval-message[hidden] { display: none; }
.avenra-configurator-mobile-order > summary:focus-visible { outline: 3px solid #0ea5e9; outline-offset: -3px; }
@media (min-width: 1024px) {
    .avenra-configurator-layout { grid-template-columns: minmax(320px, 5fr) minmax(0, 7fr); gap: 32px; }
    .avenra-configurator-summary { position: sticky; top: 100px; grid-column: auto; }
    .avenra-configurator-bike { aspect-ratio: 4/3; min-height: 300px; }
    .avenra-configurator-bike #config-image { max-height: 360px; padding: 20px; }
    .avenra-configurator-form { grid-column: auto; }
}
@media (max-width: 1023px) {
    #wizard-container { padding-top: 56px; }
    .avenra-configurator-form .wizard-step { padding: 24px; }
    .avenra-configurator-bike { min-height: 230px; }
}
@media (max-width: 390px) {
    .avenra-configurator-form .wizard-step { padding: 18px; }
    .avenra-order-compact-bike strong, .avenra-order-compact-amount strong { font-size: 14px; }
    .avenra-configurator-mobile-order > summary { padding-left: 14px; padding-right: 14px; gap: 14px; }
}

.avenra-checkout-recovery{margin:16px 0;padding:20px;border:1px solid #b8d8e9;border-radius:12px;background:#f0f8fc;color:#22475d;font-size:14px;line-height:1.6}
.avenra-checkout-recovery[hidden],.avenra-checkout-recovery [hidden]{display:none!important}
.avenra-checkout-recovery h3{font-size:17px;font-weight:700;color:#153f57;margin:0 0 8px}
.avenra-checkout-recovery p{margin:8px 0}
#checkout-recovery-hint{font-size:13px}
.avenra-checkout-recovery-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.avenra-checkout-recovery-actions a,.avenra-checkout-recovery-actions button{display:inline-flex;justify-content:center;align-items:center;padding:11px 15px;border:1px solid #0369a1;border-radius:8px;font-size:13px;font-weight:700;text-align:center;cursor:pointer;background:#fff;color:#075985;text-decoration:none}
.avenra-checkout-recovery-actions button{background:#0369a1;color:#fff}
.avenra-checkout-recovery-actions button:disabled{opacity:.6;cursor:wait}
.avenra-checkout-recovery:focus-visible,.avenra-checkout-recovery-actions a:focus-visible,.avenra-checkout-recovery-actions button:focus-visible{outline:3px solid #0284c7;outline-offset:3px}
