/* Air India Maharaja storefront (site 16) - first-party styles, loaded AFTER The Maharaja Shop theme
 * (bootstrap, style-custom, demo). Only what the theme does not already cover: Klaro in the Maharaja palette,
 * the search suggestions, flash/toast, the login panel, and the page layouts this storefront adds.
 * Palette (from the theme): maroon #5B1F2A, gold #B08A4A / #B68B42, ink #211D1A, beige #F5F1EC / #F4EEE7,
 * taupe #CFC6BC / #8B837A. Fonts: the theme's Nunito Sans faces. Served from /static/aim/css/aim.css. */

:root {
    --aim-maroon: #5B1F2A;
    --aim-maroon-dark: #461720;
    --aim-gold: #B08A4A;
    --aim-gold-2: #B68B42;
    --aim-ink: #211D1A;
    --aim-beige: #F5F1EC;
    --aim-beige-2: #F4EEE7;
    --aim-taupe: #CFC6BC;
    --aim-muted: #8B837A;
}

.visually-hidden-focusable:not(:focus):not(:focus-within) { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 2000; background: #fff; color: var(--aim-maroon); padding: 8px 12px; }

main.aim-main { min-height: 40vh; padding: 0; }
.aim-flash { border-radius: 0; }
.aim-link-btn { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.aim-link-btn:hover, .aim-link-btn:focus { text-decoration: underline; }
.footer-links .aim-link-btn { color: #383C42; font-size: 14px; font-family: "NunitoRegularDisplay", sans-serif; }

/* ---------------------------------------------------------------- buttons in the Maharaja style */
.aim-primary-btn, .aim-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 12px 24px; border: 1px solid var(--aim-maroon); border-radius: 0;
    background: var(--aim-maroon); color: #fff; font-family: "NunitoSamiBoldDisplay", "NunitoRegularDisplay", sans-serif;
    letter-spacing: .04em; text-decoration: none; cursor: pointer;
}
.aim-primary-btn:hover, .aim-btn:hover, .aim-primary-btn:focus, .aim-btn:focus { background: var(--aim-maroon-dark); color: #fff; }
.aim-btn-outline {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 12px 24px; border: 1px solid var(--aim-maroon); border-radius: 0;
    background: transparent; color: var(--aim-maroon); text-decoration: none; cursor: pointer;
}
.aim-btn-outline:hover, .aim-btn-outline:focus { background: var(--aim-beige-2); color: var(--aim-maroon); }
.aim-btn-sm { min-height: 36px; padding: 6px 14px; font-size: 14px; }
button[disabled].aim-primary-btn { opacity: .6; cursor: default; }

/* ---------------------------------------------------------------- search suggestions */
.autoSearchList[hidden] { display: none !important; }
.autoSearchList { position: absolute; left: 0; right: 0; top: 100%; background: #fff; z-index: 1060; border: 1px solid var(--aim-taupe); max-height: 360px; overflow: auto; }
.aim-suggest-list li a { display: block; padding: 10px 16px; color: var(--aim-ink); text-decoration: none; }
.aim-suggest-list li a:hover, .aim-suggest-list li a:focus { background: var(--aim-beige); color: var(--aim-maroon); }
.aim-suggest-list .aim-suggest-all { font-family: "NunitoSamiBoldDisplay", sans-serif; color: var(--aim-maroon); }
.aim-suggest-list small { color: var(--aim-muted); }


/* ---------------------------------------------------------------- loader */
.aim-loader { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(245, 241, 236, .6); z-index: 3000; }
.aim-loader[hidden] { display: none; }

/* ---------------------------------------------------------------- login panel */
#loginPanel { max-width: 460px; width: 100%; background: #fff; }
.login-panel-header { padding: 32px 32px 8px; }
.login-title { font-family: "NunitoLightDisplay", sans-serif; color: var(--aim-maroon); font-size: 28px; margin: 0; }
.login-panel-body { padding: 8px 32px 32px; }
.login-subtitle { color: var(--aim-muted); }

/* ---------------------------------------------------------------- redirect modal (theme classes; safety net) */
.redirect-modal-content { border-radius: 24px; border: 0; }
.redirect-primary-btn { background: var(--aim-maroon); color: #fff; border: 1px solid var(--aim-maroon); border-radius: 10px; padding: 12px 24px; }
.redirect-outline-btn { background: #fff; color: var(--aim-maroon); border: 1px solid var(--aim-maroon); border-radius: 10px; padding: 12px 24px; }
.redirect-primary-btn:hover, .redirect-primary-btn:focus { background: var(--aim-maroon-dark); }

/* ---------------------------------------------------------------- Klaro in the Maharaja palette */
.klaro .cookie-notice:not(.cookie-modal-notice), .klaro .cookie-modal .cm-modal.cm-klaro {
    background: #fff !important; color: var(--aim-ink) !important; font-family: "NunitoRegularDisplay", sans-serif;
    border-radius: 16px !important; box-shadow: 0 12px 40px rgba(33, 29, 26, .18) !important;
}
.klaro .cookie-notice:not(.cookie-modal-notice) { border: 1px solid var(--aim-beige-2) !important; }
.klaro .cookie-notice:not(.cookie-modal-notice) .cn-body p, .klaro .cookie-modal p, .klaro .cookie-modal .cm-list-description { color: #383C42 !important; }
.klaro .cookie-notice a, .klaro .cookie-modal a { color: var(--aim-maroon) !important; }
.klaro .cm-btn { border-radius: 10px !important; padding: 10px 18px !important; font-family: "NunitoSamiBoldDisplay", sans-serif; }
.klaro .cm-btn.cm-btn-success, .klaro .cm-btn.cm-btn-accept-all { background: var(--aim-maroon) !important; color: #fff !important; }
.klaro .cm-btn.cm-btn-danger, .klaro .cm-btn.cn-decline { background: #fff !important; color: var(--aim-maroon) !important; border: 1px solid var(--aim-maroon) !important; }
.klaro .cm-btn.cm-btn-info, .klaro .cm-btn.cm-btn-accept { background: var(--aim-beige-2) !important; color: var(--aim-maroon) !important; }
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider { background-color: var(--aim-maroon) !important; }
.klaro .cookie-modal .cm-list-input.required:checked + .cm-list-label .slider { background-color: var(--aim-gold) !important; opacity: .8; }
.klaro .cookie-modal .cm-header h1, .klaro .cookie-modal .cm-header .title { color: var(--aim-maroon) !important; font-family: "NunitoLightDisplay", sans-serif; }
.klaro .cn-learn-more { color: var(--aim-maroon) !important; text-decoration: underline; }
.aim-cc-title { display: block; font-family: "NunitoSamiBoldDisplay", sans-serif; font-size: 18px; color: var(--aim-maroon); margin-bottom: 6px; }
.aim-cc-verbose { display: block; }

/* ---------------------------------------------------------------- generic page chrome for added pages */
.aim-page { padding-block: 40px 64px; }
.aim-page-title { font-family: "NunitoLightDisplay", sans-serif; color: var(--aim-maroon); font-size: 32px; margin-bottom: 8px; }
.aim-page-sub { color: var(--aim-muted); margin-bottom: 24px; }
.aim-card { background: #fff; border: 1px solid var(--aim-beige); padding: 24px; margin-bottom: 24px; }
.aim-card h2, .aim-card h3 { font-family: "NunitoSamiBoldDisplay", sans-serif; color: var(--aim-ink); font-size: 18px; }
.aim-muted { color: var(--aim-muted); }
.aim-form .form-control, .aim-form .form-select { border-radius: 0; min-height: 48px; border-color: var(--aim-taupe); }
.aim-form .form-control:focus, .aim-form .form-select:focus { border-color: var(--aim-maroon); box-shadow: 0 0 0 .2rem rgba(91, 31, 42, .15); }
.aim-form .form-label { color: #383C42; font-size: 14px; }
.aim-empty { text-align: center; padding: 64px 16px; background: #fff; }
.aim-empty h2 { font-family: "NunitoLightDisplay", sans-serif; color: var(--aim-maroon); }

@media (max-width: 767.98px) {
    .aim-page { padding-block: 24px 40px; }
    .aim-page-title { font-size: 26px; }
    .login-panel-header, .login-panel-body { padding-left: 20px; padding-right: 20px; }
}

/* ---------------------------------------------------------------- listing (skuproductsearch look) */
.sku-listing-section a.filter-chip { display: inline-flex; align-items: center; flex-shrink: 0; color: #8B837A; font-size: 13px; font-family: "NunitoLightDisplay", sans-serif; }
.sku-listing-section a.filter-chip.active { background: var(--aim-beige); border-color: var(--aim-taupe); color: var(--aim-ink); }
.filter-left .filter-category { display: block; width: 100%; background: transparent; border: 0; text-align: left; }
.aim-filter-check { width: 18px; height: 18px; accent-color: var(--aim-maroon); cursor: pointer; }
.filter-option span { flex: 1; }
.aim-oos { color: #A33; font-size: 13px; margin-top: 4px; }
.product-card .wishlist button img { width: 24px; }

/* ---------------------------------------------------------------- product page */
.aim-pdp-breadcrumb { padding: 0 .75rem; }
.aim-pdp-brand { color: var(--aim-gold); letter-spacing: .08em; text-transform: uppercase; font-size: 13px; }
.aim-pdp-short { color: #383C42; }
.qty-box .aim-qty-input { width: 48px; text-align: center; border: 0; background: transparent; -moz-appearance: textfield; font-family: "NunitoSamiBoldDisplay", sans-serif; }
.qty-box .aim-qty-input::-webkit-outer-spin-button, .qty-box .aim-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.option-box.aim-variant-current { border-color: var(--aim-maroon) !important; background: var(--aim-beige-2); color: var(--aim-maroon); }
.option-box { color: var(--aim-ink); }
.aim-gallery .img-thumbnail.active, .aim-gallery [data-aim-thumb].active img { outline: 2px solid var(--aim-maroon); }
.aim-stars span { color: var(--aim-taupe); font-size: 18px; }
.aim-stars span.on { color: var(--aim-gold); }
.aim-spec-table th { width: 40%; font-weight: normal; color: var(--aim-muted); }
.pincode-message:empty { display: none; }
.aim-related { margin-top: 24px; }
.breadcrumb-item.aim-bc-current { color: var(--aim-ink); display: inline-flex; align-items: center; }
.breadcrumb-item + .breadcrumb-item::before { content: none; }

/* ---- account & auth (agent) */
.aim-auth { max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid var(--aim-beige); padding: 40px 40px 32px; }
.aim-auth-wide { max-width: 640px; }
.aim-auth .login_logo { margin: 0 auto 24px; text-align: center; }
.aim-auth .aim-page-title, .aim-auth .aim-page-sub { text-align: center; }
.aim-auth .aim-primary-btn { width: 100%; text-transform: uppercase; }
.aim-auth-switch { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-top: 24px; }
.aim-auth-switch p { margin: 0; color: var(--aim-ink); }
.aim-auth-switch a { color: var(--aim-maroon); font-family: "NunitoSamiBoldDisplay", sans-serif; }
.aim-otp-input { text-align: center; letter-spacing: .5em; font-size: 22px; }
.aim-hint { color: var(--aim-muted); font-size: 13px; margin: 6px 0 0; }
.aim-form .input-group-text { border-radius: 0; border: 1px solid var(--aim-taupe); border-right: 0; background: var(--aim-beige); color: var(--aim-ink); }
.aim-form .form-check-input:checked { background-color: var(--aim-maroon); border-color: var(--aim-maroon); }
.aim-segment { display: flex; border: 1px solid var(--aim-maroon); margin-bottom: 8px; }
.aim-segment a { flex: 1; text-align: center; padding: 10px; color: var(--aim-maroon); text-decoration: none; }
.aim-segment a[aria-current] { background: var(--aim-maroon); color: #fff; }
.aim-acct-head .profile-header-body { display: flex; gap: 20px; align-items: flex-start; padding: 28px 32px; }
.aim-acct-head .profile_user_name { margin-top: 0; }
.aim-avatar { flex-shrink: 0; width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--aim-gold); color: #fff; font-size: 28px; font-family: "NunitoSamiBoldDisplay", sans-serif; }
.aim-acct-tabs .nav-link { min-width: 0; padding: 10px 18px; }
.aim-acct-tabs button.nav-link { background: none; }
.aim-tag { display: inline-block; padding: 1px 8px; background: var(--aim-gold); color: #fff; font-size: 12px; letter-spacing: .04em; }
.aim-status { display: inline-block; padding: 2px 10px; background: var(--aim-beige-2); color: var(--aim-maroon); font-size: 13px; }
.aim-thumb { width: 72px; height: 72px; object-fit: cover; background: var(--aim-beige); }
.aim-timeline { list-style: none; margin: 12px 0 0 6px; padding: 0; border-left: 2px solid var(--aim-taupe); }
.aim-timeline li { position: relative; padding: 0 0 10px 16px; }
.aim-timeline li::before { content: ""; position: absolute; left: -6px; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--aim-taupe); }
.aim-timeline li[aria-current]::before { background: var(--aim-maroon); }
.aim-note-unread { border-left: 3px solid var(--aim-gold); }
.aim-table th { color: var(--aim-muted); font-weight: normal; font-size: 13px; }
.aim-pager .page-link { border-radius: 0 !important; color: var(--aim-maroon); }
.aim-pager .page-item.active .page-link { background: var(--aim-maroon); border-color: var(--aim-maroon); color: #fff; }
@media (max-width: 767.98px) {
    .aim-auth { padding: 28px 20px 24px; }
    .aim-acct-tabs { flex-wrap: nowrap; justify-content: flex-start !important; }
    .aim-acct-tabs .nav-item { flex: 0 0 auto; }
    .aim-acct-head .profile-header-body { padding: 20px 16px; }
}

/* ---------------------------------------------------------------- checkout (Maharaja palette on the flow's own classes) */
.aim-checkout .steps { display: flex; flex-wrap: wrap; gap: 8px 24px; list-style: none; padding: 0; margin: 0 0 24px; }
.aim-checkout .steps li { display: flex; align-items: center; gap: 8px; color: var(--aim-muted); font-size: 14px; }
.aim-checkout .steps li a { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 8px; }
.aim-checkout .steps .step-no { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--aim-taupe); display: inline-flex; align-items: center; justify-content: center; background: #fff; }
.aim-checkout .steps li[aria-current="step"] { color: var(--aim-maroon); font-family: "NunitoSamiBoldDisplay", sans-serif; }
.aim-checkout .steps li[aria-current="step"] .step-no { background: var(--aim-maroon); border-color: var(--aim-maroon); color: #fff; }
.checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.co-section, .review-block { background: #fff; border: 1px solid var(--aim-beige); padding: 24px; margin-bottom: 24px; }
.co-heading, .review-block h2 { font-family: "NunitoSamiBoldDisplay", sans-serif; font-size: 18px; color: var(--aim-ink); display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.co-no { width: 28px; height: 28px; border-radius: 50%; background: var(--aim-maroon); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 14px; }
.choice-group { border: 0; padding: 0; margin: 0; display: grid; gap: 12px; }
.choice-group > legend { font-family: "NunitoSamiBoldDisplay", sans-serif; font-size: 15px; margin-bottom: 8px; }
.choice-card { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--aim-taupe); padding: 16px; background: #fff; cursor: pointer; color: var(--aim-ink); text-decoration: none; }
.choice-card:hover { border-color: var(--aim-gold); }
.choice-card input[type="radio"], .choice-card input[type="checkbox"], .check input { accent-color: var(--aim-maroon); margin-top: 4px; }
.choice-card:has(input:checked) { border-color: var(--aim-maroon); background: var(--aim-beige-2); }
.add-card { align-items: center; border-style: dashed; color: var(--aim-maroon); }
.add-card[hidden] { display: none; }
.add-plus { width: 28px; height: 28px; border: 1px solid var(--aim-maroon); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.add-head { display: flex; justify-content: space-between; align-items: center; }
.add-cancel { color: var(--aim-maroon); }
.tag { display: inline-block; background: var(--aim-beige-2); color: var(--aim-maroon); font-size: 12px; padding: 2px 8px; margin-left: 6px; }
.check, .billing-toggle { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0; }
.reveal[hidden] { display: none; }
.cart-summary { background: #fff; border: 1px solid var(--aim-beige); padding: 24px; position: sticky; top: 16px; }
.cart-summary h2 { font-family: "NunitoSamiBoldDisplay", sans-serif; font-size: 16px; text-transform: uppercase; letter-spacing: .06em; color: var(--aim-maroon); }
.totals { margin: 16px 0; }
.totals > div { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--aim-beige); }
.totals dt { font-weight: normal; color: #383C42; }
.totals dd { margin: 0; }
.totals .total { border-bottom: 0; font-family: "NunitoBoldDisplay", sans-serif; font-size: 18px; color: var(--aim-ink); }
.co-lines, .cart-lines, .plain-list { list-style: none; padding: 0; margin: 0; }
.co-lines li { display: grid; grid-template-columns: 48px 1fr auto; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--aim-beige); }
.co-thumb { width: 48px; height: 48px; background: var(--aim-beige); display: block; }
.cart-line { display: grid; grid-template-columns: 72px 1fr auto; gap: 16px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--aim-beige); }
.cart-thumb img { width: 72px; height: 72px; object-fit: contain; }
.cart-name { font-family: "NunitoSamiBoldDisplay", sans-serif; color: var(--aim-ink); }
.cart-line-total { font-family: "NunitoSamiBoldDisplay", sans-serif; white-space: nowrap; }
.stock-out { color: #A33; font-size: 13px; }
.you-save { color: #2E7D32; font-size: 14px; }
.inline-fields { display: flex; gap: 8px; flex-wrap: wrap; }
.inline-fields input { flex: 1 1 200px; min-height: 48px; border: 1px solid var(--aim-taupe); padding: 0 12px; }
.stack-form { display: grid; gap: 12px; }
.stack-form label { font-size: 14px; color: #383C42; }
.stack-form input[type="text"], .stack-form input[type="tel"], .stack-form input[type="email"], .stack-form input[type="number"], .stack-form select, .stack-form textarea {
    width: 100%; min-height: 48px; border: 1px solid var(--aim-taupe); padding: 10px 12px; background: #fff; border-radius: 0; }
.stack-form input:focus, .stack-form select:focus, .stack-form textarea:focus { outline: 2px solid rgba(91, 31, 42, .25); border-color: var(--aim-maroon); }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.input-prefix { display: flex; align-items: stretch; }
.input-prefix > span { display: inline-flex; align-items: center; padding: 0 12px; border: 1px solid var(--aim-taupe); border-right: 0; background: var(--aim-beige); }
.hint, .muted { color: var(--aim-muted); }
.small { font-size: 13px; }
.mono { font-variant-numeric: tabular-nums; }
.form-subhead { font-family: "NunitoSamiBoldDisplay", sans-serif; margin: 8px 0 0; }
.pin-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; align-items: end; }
.pin-row .pin-hint { grid-column: 1 / -1; order: 4; margin: 0; }
.pin-row input[readonly] { background: var(--aim-beige); }
.aim-auth-card { max-width: 560px; }
.aim-thanks .lead { font-size: 18px; }
.aim-thanks-img { max-width: 220px; }
.aim-membership { max-width: 520px; }
.aim-membership-logo { width: 180px; }
@media (max-width: 991.98px) {
    .checkout-layout { grid-template-columns: 1fr; }
    .cart-summary { position: static; }
}
@media (max-width: 575.98px) {
    .grid-2, .pin-row { grid-template-columns: 1fr; }
}

/* ---- services & content (agent) */
.aim-sd .breadcrumb { font-size: 14px; }
.aim-sd-heading { font-family: "NunitoSamiBoldDisplay", sans-serif; color: var(--aim-ink); font-size: 20px; margin-bottom: 16px; }
.aim-sd-service h3 a { color: var(--aim-maroon); }
.aim-sd-day { font-family: "NunitoSamiBoldDisplay", sans-serif; font-size: 16px; color: var(--aim-ink); margin: 20px 0 10px; }
.aim-slot-list, .aim-pill-list, .aim-provider-list, .aim-booking-list { list-style: none; padding: 0; margin-left: 0; }
.aim-slot-list, .aim-pill-list { display: flex; flex-wrap: wrap; gap: 8px; }
.aim-slot-list form { margin: 0; }
.aim-slot { display: inline-flex; align-items: center; justify-content: center; min-width: 84px; min-height: 40px; padding: 6px 18px; border: 1px solid var(--aim-maroon); border-radius: 999px; background: #fff; color: var(--aim-maroon); cursor: pointer; }
.aim-slot:hover, .aim-slot:focus-visible { background: var(--aim-maroon); color: #fff; }
.aim-slot:disabled { background: var(--aim-maroon); color: #fff; opacity: .7; }
.aim-slot-static { border-color: var(--aim-taupe); color: var(--aim-muted); cursor: default; }
.aim-slot-static:hover { background: #fff; color: var(--aim-muted); }
.aim-pill { display: inline-block; padding: 4px 14px; border: 1px solid var(--aim-gold); border-radius: 999px; color: var(--aim-ink); background: var(--aim-beige); font-size: 14px; }
.aim-provider { display: flex; align-items: center; gap: 12px; padding: 12px; background: #fff; border: 1px solid var(--aim-beige); height: 100%; }
.aim-provider .aim-avatar { width: 44px; height: 44px; font-size: 16px; }
.aim-dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--aim-beige); }
.aim-dl > div:last-child { border-bottom: 0; }
.aim-dl dt { font-weight: normal; color: var(--aim-muted); }
.aim-dl dd { margin: 0; text-align: right; color: var(--aim-ink); }
.aim-dl .aim-dl-total dt, .aim-dl .aim-dl-total dd { font-family: "NunitoSamiBoldDisplay", sans-serif; color: var(--aim-maroon); }
.aim-hold-timer { padding: 12px 16px; background: var(--aim-beige-2); border-left: 3px solid var(--aim-gold); }
.aim-danger-zone { border-color: var(--aim-taupe); }
.aim-error { max-width: 720px; }
.aim-error-code { font-family: "NunitoLightDisplay", sans-serif; font-size: 96px; line-height: 1; color: var(--aim-gold); margin-bottom: 8px; }
.aim-error-search { max-width: 520px; }
.aim-contact-care { padding: 12px 16px; background: var(--aim-beige); }
.aim-contact-care a { color: var(--aim-maroon); }

/* ---- Checkout in The Maharaja Shop markup (bag, delivery, review, result) ---------------------------------
   The Maharaja Shop checkout has no <main> ground: the body's beige shows behind the white cards
   (the theme's demo.css paints every <main> white with !important, so this needs it too). */
body.aim-ground main.aim-main { background: transparent !important; }
/* Saved-address / pickup / payment cards chosen with a visually hidden radio (the theme marks .active). */
.checkout-address-card { position: relative; display: block; }
.aim-card-radio { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.checkout-address-card:has(.aim-card-radio:checked) { border-color: #5b1f2a !important; box-shadow: inset 0 0 0 1px #5b1f2a; }
.checkout-address-card:has(.aim-card-radio:checked) .checkout-address-line,
.checkout-address-card:has(.aim-card-radio:checked) .checkout-address-name,
.checkout-address-card:has(.aim-card-radio:checked) .checkout-address-type-label { color: #211d1a; font-family: "NunitoSamiBoldDisplay", sans-serif; font-weight: 700; }
.checkout-address-card:has(.aim-card-radio:focus-visible) { outline: 2px solid #5b1f2a; outline-offset: 2px; }
.checkout-address-panel legend.saved_address, .checkout-address-form h2.saved_address, .card_inner h2.saved_address { float: none; width: auto; }
/* +91 in the phone group (a label, not a control: the site is India-only). */
.aim-phone-code { display: flex; align-items: center; background-image: none; padding: 0 12px; color: #211d1a; }
.checkout-phone-verify-row { display: flex; gap: 10px; align-items: stretch; }
.aim-send-otp-btn { flex: 0 0 182px; background: #5b1f2a; color: #fff; border: 1px solid #5b1f2a; border-radius: 0; font-size: 14px; font-weight: 600; letter-spacing: .7px; min-height: 44px; }
.aim-send-otp-btn:hover, .aim-send-otp-btn:focus-visible { background: #4a1822; color: #fff; }
.aim-resend-btn { flex: 0 0 182px; border-radius: 0; min-height: 44px; }
.aim-otp-single { max-width: 220px; height: 44px; letter-spacing: .5em; text-align: center; font-size: 18px; }
.aim-thanku-img { width: 100px; }
.aim-form-legend { font-size: 14px; margin-bottom: 8px; float: none; }
@media (max-width: 767px) {
    .checkout-phone-verify-row { flex-wrap: wrap; }
    .aim-send-otp-btn, .aim-resend-btn { flex: 1 1 100%; }
    body.aim-ground main.aim-main { padding-bottom: 72px; }
}
/* A guest's billing form is locked until the code is verified; it keeps The Maharaja Shop's white fields. */
.checkout-billing-address-form fieldset:disabled .form-control { background-color: #fff; }
.checkout-address-form-actions a.back__to__store { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.aim-thanku-emblem { width: 134px; height: 157px; object-fit: contain; display: block; }
