/* Indigo Apple Store storefront (site 21) - first-party styles, loaded AFTER the legacy Apple store theme
 * (bootstrap, style-custom, demo - migrated from ecom_apple_new_fe to /mnt/bigdisk/applestore_newsite/theme).
 * Only what the theme does not already cover: Klaro, search suggestions, flash/toast, the header account icon
 * and the page helpers this storefront adds. The variable NAMES are shared with the page files; the VALUES are the
 * legacy Apple palette: primary navy #08205E -> #395CCC (the BUY button gradient), ink #1D1D1F, grey ground
 * #F5F5F7, hairline #D2D2D7, muted #6E6E73. Font: SF Pro (theme). Served from /static/ias/css/ias.css. */

:root {
    --ias-maroon: #08205E;
    --ias-maroon-dark: #06174A;
    --ias-gold: #395CCC;
    --ias-gold-2: #0071E3;
    --ias-ink: #1D1D1F;
    --ias-beige: #F5F5F7;
    --ias-beige-2: #E8EDFB;
    --ias-taupe: #D2D2D7;
    --ias-muted: #6E6E73;
    --ias-gradient: linear-gradient(90deg, #08205E 0, #395CCC 100%);
}

.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(--ias-maroon); padding: 8px 12px; }

main.ias-main { min-height: 40vh; padding: 0; }
.ias-flash { border-radius: 0; }
/* the same message once ias.js has taken it over (initFlash): a notice over the page, below the header, that fits a
 * phone (never wider than the screen, long text wraps) and carries its own close button */
.ias-flash-toast { position: fixed; top: 68px; left: 50%; transform: translateX(-50%); z-index: 1080; margin: 0;
    width: max-content; max-width: min(calc(100vw - 24px), 560px); padding: 12px 46px 12px 16px; border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16); overflow-wrap: anywhere; text-align: left; }
/* only the way out is animated: a transition on the notice itself would slide it in from the side on arrival */
.ias-flash-toast.ias-flash-out { opacity: 0; transform: translate(-50%, -8px); transition: opacity .25s ease, transform .25s ease; }
.ias-flash-close { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); width: 36px; height: 36px; border: 0;
    background: none; color: inherit; font-size: 24px; line-height: 1; cursor: pointer; border-radius: 8px; }
.ias-flash-close:hover, .ias-flash-close:focus-visible { background: rgba(0, 0, 0, .08); }
@media (prefers-reduced-motion: reduce) { .ias-flash-toast.ias-flash-out { transition: none; } }
/* a form field's own message, under the field (server: addressErrors; script: initValidate) */
.ias-field-error { margin: 6px 0 0; font-size: 13px; line-height: 1.35; color: #B3261E; }
input[aria-invalid="true"].form-control { border-color: #B3261E; }
input[aria-invalid="true"].form-control:focus { box-shadow: 0 0 0 .2rem rgba(179, 38, 30, .18); }
.ias-link-btn { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.ias-link-btn:hover, .ias-link-btn:focus { text-decoration: underline; }
.footer-links .ias-link-btn { color: #383C42; font-size: 14px; font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; }

/* ---------------------------------------------------------------- buttons in the Maharaja style */
.ias-primary-btn, .ias-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 12px 24px; border: 1px solid var(--ias-maroon); border-radius: 0;
    background: var(--ias-maroon); color: #fff; font-family: "NunitoSamiBoldDisplay", "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif;
    letter-spacing: .04em; text-decoration: none; cursor: pointer;
}
.ias-primary-btn:hover, .ias-btn:hover, .ias-primary-btn:focus, .ias-btn:focus { background: var(--ias-maroon-dark); color: #fff; }
.ias-btn-outline {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 12px 24px; border: 1px solid var(--ias-maroon); border-radius: 0;
    background: transparent; color: var(--ias-maroon); text-decoration: none; cursor: pointer;
}
.ias-btn-outline:hover, .ias-btn-outline:focus { background: var(--ias-beige-2); color: var(--ias-maroon); }
.ias-btn-sm { min-height: 36px; padding: 6px 14px; font-size: 14px; }
button[disabled].ias-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(--ias-taupe); max-height: 360px; overflow: auto; }
.ias-suggest-list li a { display: block; padding: 10px 16px; color: var(--ias-ink); text-decoration: none; }
.ias-suggest-list li a:hover, .ias-suggest-list li a:focus { background: var(--ias-beige); color: var(--ias-maroon); }
.ias-suggest-list .ias-suggest-all { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; color: var(--ias-maroon); }
.ias-suggest-list small { color: var(--ias-muted); }


/* ---------------------------------------------------------------- loader */
.ias-loader { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(245, 241, 236, .6); z-index: 3000; }
.ias-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: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; color: var(--ias-maroon); font-size: 28px; margin: 0; }
.login-panel-body { padding: 8px 32px 32px; }
.login-subtitle { color: var(--ias-muted); }

/* ---------------------------------------------------------------- redirect modal (theme classes; safety net) */
.redirect-modal-content { border-radius: 24px; border: 0; }
.redirect-primary-btn { background: var(--ias-maroon); color: #fff; border: 1px solid var(--ias-maroon); border-radius: 10px; padding: 12px 24px; }
.redirect-outline-btn { background: #fff; color: var(--ias-maroon); border: 1px solid var(--ias-maroon); border-radius: 10px; padding: 12px 24px; }
.redirect-primary-btn:hover, .redirect-primary-btn:focus { background: var(--ias-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(--ias-ink) !important; font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, 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(--ias-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(--ias-maroon) !important; }
.klaro .cm-btn { border-radius: 10px !important; padding: 10px 18px !important; font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; }
.klaro .cm-btn.cm-btn-success, .klaro .cm-btn.cm-btn-accept-all { background: var(--ias-maroon) !important; color: #fff !important; }
.klaro .cm-btn.cm-btn-danger, .klaro .cm-btn.cn-decline { background: #fff !important; color: var(--ias-maroon) !important; border: 1px solid var(--ias-maroon) !important; }
.klaro .cm-btn.cm-btn-info, .klaro .cm-btn.cm-btn-accept { background: var(--ias-beige-2) !important; color: var(--ias-maroon) !important; }
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider { background-color: var(--ias-maroon) !important; }
.klaro .cookie-modal .cm-list-input.required:checked + .cm-list-label .slider { background-color: var(--ias-gold) !important; opacity: .8; }
.klaro .cookie-modal .cm-header h1, .klaro .cookie-modal .cm-header .title { color: var(--ias-maroon) !important; font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; }
.klaro .cn-learn-more { color: var(--ias-maroon) !important; text-decoration: underline; }
.ias-cc-title { display: block; font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; font-size: 18px; color: var(--ias-maroon); margin-bottom: 6px; }
.ias-cc-verbose { display: block; }

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

@media (max-width: 767.98px) {
    .ias-page { padding-block: 24px 40px; }
    .ias-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: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; }
.sku-listing-section a.filter-chip.active { background: var(--ias-beige); border-color: var(--ias-taupe); color: var(--ias-ink); }
.filter-left .filter-category { display: block; width: 100%; background: transparent; border: 0; text-align: left; }
.ias-filter-check { width: 18px; height: 18px; accent-color: var(--ias-maroon); cursor: pointer; }
.filter-option span { flex: 1; }
.ias-oos { color: #A33; font-size: 13px; margin-top: 4px; }
.product-card .wishlist button img { width: 24px; }

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

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

/* ---------------------------------------------------------------- checkout (Maharaja palette on the flow's own classes) */
.ias-checkout .steps { display: flex; flex-wrap: wrap; gap: 8px 24px; list-style: none; padding: 0; margin: 0 0 24px; }
.ias-checkout .steps li { display: flex; align-items: center; gap: 8px; color: var(--ias-muted); font-size: 14px; }
.ias-checkout .steps li a { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 8px; }
.ias-checkout .steps .step-no { width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--ias-taupe); display: inline-flex; align-items: center; justify-content: center; background: #fff; }
.ias-checkout .steps li[aria-current="step"] { color: var(--ias-maroon); font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; }
.ias-checkout .steps li[aria-current="step"] .step-no { background: var(--ias-maroon); border-color: var(--ias-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(--ias-beige); padding: 24px; margin-bottom: 24px; }
.co-heading, .review-block h2 { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; font-size: 18px; color: var(--ias-ink); display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.co-no { width: 28px; height: 28px; border-radius: 50%; background: var(--ias-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: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; font-size: 15px; margin-bottom: 8px; }
.choice-card { display: flex; gap: 12px; align-items: flex-start; border: 1px solid var(--ias-taupe); padding: 16px; background: #fff; cursor: pointer; color: var(--ias-ink); text-decoration: none; }
.choice-card:hover { border-color: var(--ias-gold); }
.choice-card input[type="radio"], .choice-card input[type="checkbox"], .check input { accent-color: var(--ias-maroon); margin-top: 4px; }
.choice-card:has(input:checked) { border-color: var(--ias-maroon); background: var(--ias-beige-2); }
.add-card { align-items: center; border-style: dashed; color: var(--ias-maroon); }
.add-card[hidden] { display: none; }
.add-plus { width: 28px; height: 28px; border: 1px solid var(--ias-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(--ias-maroon); }
.tag { display: inline-block; background: var(--ias-beige-2); color: var(--ias-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(--ias-beige); padding: 24px; position: sticky; top: 16px; }
.cart-summary h2 { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; font-size: 16px; text-transform: uppercase; letter-spacing: .06em; color: var(--ias-maroon); }
.totals { margin: 16px 0; }
.totals > div { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--ias-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(--ias-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(--ias-beige); }
.co-thumb { width: 48px; height: 48px; background: var(--ias-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(--ias-beige); }
.cart-thumb img { width: 72px; height: 72px; object-fit: contain; }
.cart-name { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; color: var(--ias-ink); }
.cart-line-total { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, 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(--ias-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(--ias-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(--ias-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(--ias-taupe); border-right: 0; background: var(--ias-beige); }
.hint, .muted { color: var(--ias-muted); }
.small { font-size: 13px; }
.mono { font-variant-numeric: tabular-nums; }
.form-subhead { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, 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(--ias-beige); }
.ias-auth-card { max-width: 560px; }
.ias-thanks .lead { font-size: 18px; }
.ias-thanks-img { max-width: 220px; }
.ias-membership { max-width: 520px; }
.ias-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) */
.ias-sd .breadcrumb { font-size: 14px; }
.ias-sd-heading { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; color: var(--ias-ink); font-size: 20px; margin-bottom: 16px; }
.ias-sd-service h3 a { color: var(--ias-maroon); }
.ias-sd-day { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; font-size: 16px; color: var(--ias-ink); margin: 20px 0 10px; }
.ias-slot-list, .ias-pill-list, .ias-provider-list, .ias-booking-list { list-style: none; padding: 0; margin-left: 0; }
.ias-slot-list, .ias-pill-list { display: flex; flex-wrap: wrap; gap: 8px; }
.ias-slot-list form { margin: 0; }
.ias-slot { display: inline-flex; align-items: center; justify-content: center; min-width: 84px; min-height: 40px; padding: 6px 18px; border: 1px solid var(--ias-maroon); border-radius: 999px; background: #fff; color: var(--ias-maroon); cursor: pointer; }
.ias-slot:hover, .ias-slot:focus-visible { background: var(--ias-maroon); color: #fff; }
.ias-slot:disabled { background: var(--ias-maroon); color: #fff; opacity: .7; }
.ias-slot-static { border-color: var(--ias-taupe); color: var(--ias-muted); cursor: default; }
.ias-slot-static:hover { background: #fff; color: var(--ias-muted); }
.ias-pill { display: inline-block; padding: 4px 14px; border: 1px solid var(--ias-gold); border-radius: 999px; color: var(--ias-ink); background: var(--ias-beige); font-size: 14px; }
.ias-provider { display: flex; align-items: center; gap: 12px; padding: 12px; background: #fff; border: 1px solid var(--ias-beige); height: 100%; }
.ias-provider .ias-avatar { width: 44px; height: 44px; font-size: 16px; }
.ias-dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-bottom: 1px solid var(--ias-beige); }
.ias-dl > div:last-child { border-bottom: 0; }
.ias-dl dt { font-weight: normal; color: var(--ias-muted); }
.ias-dl dd { margin: 0; text-align: right; color: var(--ias-ink); }
.ias-dl .ias-dl-total dt, .ias-dl .ias-dl-total dd { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; color: var(--ias-maroon); }
.ias-hold-timer { padding: 12px 16px; background: var(--ias-beige-2); border-left: 3px solid var(--ias-gold); }
.ias-danger-zone { border-color: var(--ias-taupe); }
.ias-error { max-width: 720px; }
.ias-error-code { font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; font-size: 96px; line-height: 1; color: var(--ias-gold); margin-bottom: 8px; }
.ias-error-search { max-width: 520px; }
.ias-contact-care { padding: 12px 16px; background: var(--ias-beige); }
.ias-contact-care a { color: var(--ias-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.ias-ground main.ias-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; }
.ias-card-radio { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.checkout-address-card:has(.ias-card-radio:checked) { border-color: #0071E3 !important; box-shadow: inset 0 0 0 1px #0071E3; }
.checkout-address-card:has(.ias-card-radio:checked) .checkout-address-line,
.checkout-address-card:has(.ias-card-radio:checked) .checkout-address-name,
.checkout-address-card:has(.ias-card-radio:checked) .checkout-address-type-label { color: #211d1a; font-family: "SFProTextDisplay", -apple-system, "Helvetica Neue", Arial, sans-serif; font-weight: 700; }
.checkout-address-card:has(.ias-card-radio:focus-visible) { outline: 2px solid #0071E3; 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). */
.ias-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; }
.ias-send-otp-btn { flex: 0 0 182px; background: #0071E3; color: #fff; border: 1px solid #0071E3; border-radius: 0; font-size: 14px; font-weight: 600; letter-spacing: .7px; min-height: 44px; }
.ias-send-otp-btn:hover, .ias-send-otp-btn:focus-visible { background: #06174A; color: #fff; }
.ias-resend-btn { flex: 0 0 182px; border-radius: 0; min-height: 44px; }
.ias-otp-single { max-width: 220px; height: 44px; letter-spacing: .5em; text-align: center; font-size: 18px; }
.ias-thanku-img { width: 100px; }
.ias-form-legend { font-size: 14px; margin-bottom: 8px; float: none; }
@media (max-width: 767px) {
    .checkout-phone-verify-row { flex-wrap: wrap; }
    .ias-send-otp-btn, .ias-resend-btn { flex: 1 1 100%; }
    body.ias-ground main.ias-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; }
.ias-thanku-emblem { width: 134px; height: 157px; object-fit: contain; display: block; }
/* Long item names: the theme sets a 2-line clamp but not the box it needs, so a third line bled through. */
.cart-item-info .parent_sku_name, .review-bag-item-info .parent_sku_name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 1.35 !important; height: auto !important; max-height: 2.7em; }

/* ---- The Maharaja Shop page ground (all pages): beige behind white cards, as the old site has no <main> -------- */
main.ias-main { background: transparent !important; }
/* /login: the "Welcome back" panel over the darkened hero, as the old site opens #loginPanel over its home page. */
.ias-login-stage { position: relative; min-height: 640px; background: #211d1a url("../../www/images/hero_image.png") center / cover no-repeat; }
.ias-login-stage::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .55); }
.ias-login-panel { position: relative; margin-left: auto; width: 572px; max-width: 100%; min-height: 640px; background: #f5f1ec; padding: 44px 40px; }
.ias-panel-close { position: absolute; top: 16px; right: 16px; z-index: 2; }
@media (max-width: 767px) {
    .ias-login-stage { min-height: 0; background: #f5f1ec; }
    .ias-login-stage::before { display: none; }
    .ias-login-panel { width: 100%; min-height: 0; padding: 32px 20px; }
}

/* Home "Featured Global Brands": The Maharaja Shop shows transparent PNG logos; the shared brand images here are
   JPGs on white. multiply blends the white into the beige ground. The slick track's transform isolates the blend,
   so the track itself carries the ground colour as the backdrop (a backdrop on the link left a white seam where
   slick clips a slide; the theme also forces background:0 0 !important on slide, link and image). */
.global-brands-section #brand_slider.product-slider .slick-track { background: var(--ias-beige); }
.global-brands-section #brand_slider.product-slider .slide-item img { mix-blend-mode: multiply; }
/* The image background per feature (brand / category / banner) is painted by /ias/site.css, generated from
   site_config *_IMAGE_BG (owner) or ias.properties ias.image.bg.* (developer); see ImageBackground. */

/* ------------------------------------------------------------------ site 21: legacy Apple layout helpers */
body { background: #F5F5F7; }
main.ias-main { padding-top: 0; }
.logo-width-new { max-width: 252px; height: auto; }
.ias-primary-btn, .ias-btn { background: var(--ias-gradient); border: 0; border-radius: 8px; }
.ias-account-icon a { display: inline-flex; align-items: center; justify-content: center; }
.ias-initials { width: 26px; height: 26px; border-radius: 50%; background: var(--ias-gradient); color: #fff; font-size: 11px;
    text-decoration: none; letter-spacing: .02em; }
.ias-initials:hover, .ias-initials:focus { color: #fff; }
.ias-menu-back { width: 40px; }
.footer-link-item .ias-link-btn { color: #424245; font-size: 14px; }

.footer-link-item .ias-link-btn { background: none; border: 0; padding: 0; color: #424245; font-size: 14px; line-height: inherit; }
.footer-link-item .ias-link-btn:focus-visible { outline: 2px solid #0071E3; }
.logo [data-ias-back] { flex: 0 0 24px; }
.logo [data-ias-back] img { width: 24px; min-width: 24px; }
.inner-page main.ias-main { padding-top: 40px; }
/* help / policy pages */
.ias-placeholder-note { background: #FFF8E1; border: 1px solid #F5D77A; color: #6B5300; padding: 8px 12px; border-radius: 8px; font-size: 13px; }
.ias-help-text p { font-size: 15px; line-height: 1.6; }
@media (max-width: 575.98px) {
    .apple-header .logo-width-new { max-width: 150px; }
    .apple-header .logo.gap-3 { gap: .5rem !important; }
    .apple-header .header-right .block-search { margin-left: 10px; }
}

/* ---------------------------------------------------------------- address panel (site 21)
   The legacy Apple store's ".addNewAddressDiv" (helpdesk/productCheckout.jsp, user/userMyAddress.jsp): a grey rounded
   box, each label above its box, 38px boxes with an 8px radius, the phone code beside the number, Close and Save.
   Used by the checkout's "Add Address" form and by the My Address add / edit page; .ias-fields gives the same
   labels and boxes to the other account forms (profile, cancel, return). */
.addNewAddressDiv.box-rounded { padding: 24px; }
.ias-address-title { font-size: 16px; line-height: 24px; font-weight: 600; color: #1D1D1F; margin: 0 0 18px; padding: 0; }
.addNewAddressDiv label, .addNewAddressDiv .ias-form-legend, .ias-fields label, .ias-fields .ias-form-legend { display: block; float: none; width: auto; font-size: 14px; line-height: 18px;
    color: #3A4B5C; margin: 0 0 6px; padding: 0; }
.addNewAddressDiv .form-control, .addNewAddressDiv .ias-phone-code, .ias-fields .form-control, .ias-fields .ias-phone-code { height: 38px; min-height: 38px; margin: 0; padding: 6px 12px; font-size: 14px;
    line-height: 24px; font-weight: 400; color: #1D1D1F; background-color: #fff; border: 1px solid #0A0A0A1F; border-radius: 8px !important; box-shadow: none; }
.addNewAddressDiv .form-control::placeholder, .ias-fields .form-control::placeholder { color: #6C7A89; opacity: 1; }
.addNewAddressDiv .form-control[readonly], .ias-fields .form-control[readonly] { background-color: #F3F4F6; color: #6C7A89; }
.addNewAddressDiv .form-control:focus, .ias-fields .form-control:focus { border-color: #2D60E3; box-shadow: 0 0 0 .2rem rgba(45, 96, 227, .15); }
.addNewAddressDiv .input-group, .ias-fields .input-group { flex-wrap: nowrap; }
.addNewAddressDiv .ias-phone-code, .ias-fields .ias-phone-code { flex: 0 0 70px; max-width: 70px; justify-content: center; padding: 0 !important; background-image: none; color: #6C7A89; }
.addNewAddressDiv .ias-hint:empty, .ias-fields .ias-hint:empty { display: none; }
.address-type-pills { gap: 8px 24px; }
.addNewAddressDiv label.address-type-pill { display: inline-flex; align-items: center; gap: 8px; margin: 0; cursor: pointer; color: #1D1D1F; }
.address-type-radio { width: 16px; height: 16px; margin: 0; accent-color: #2D60E3; }
.ias-check-row { display: flex; align-items: center; gap: 8px; }
.ias-check-row .form-check-input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; float: none; }
.ias-check-row label.form-check-label { display: inline; margin: 0; font-size: 14px; line-height: 18px; color: #1D1D1F; cursor: pointer; }
.ias-address-actions { display: flex; gap: 12px; margin-top: 24px; }
.ias-address-actions .btn { min-width: 96px; height: 40px; line-height: 38px; padding: 0 20px; font-size: 14px; border-radius: 6px; }
.ias-address-actions .btn-secondary { background: #6C757D; border: 1px solid #6C757D; color: #fff; }
.ias-address-actions .gradint-btn { border: 0; color: #fff; line-height: 40px; }
.ias-address-actions .btn:disabled { opacity: .55; }
/* The bag / checkout / review buttons at the legacy size (40px high, 12px, 1px tracking). */
.back__to__store, .continueToshipping { height: 40px; line-height: 38px; padding: 0 15px; font-size: 12px; letter-spacing: 1px; border-radius: 6px; }
.continueToshipping { line-height: 40px; border: 0; }
.back__to__store, .continueToshipping { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 420px) {
    .back__to__store, .continueToshipping { font-size: 10px; letter-spacing: .5px; padding: 0 6px; }
}
.ias-fields select.form-control { padding-right: 32px; }

/* Header search: the theme draws the magnifier beside a borderless input, so the focus ring leaves it outside the
 * box. The input now spans the whole control and keeps room for the icon inside it. */
#search_mini_form .form-control { margin-left: 0; padding-left: 46px; }
#search_mini_form .control > button[type="submit"] { left: 24px !important; z-index: 2; }
