/* ==========================================================================
   aws.css — the shared PRODUCT shell
   --------------------------------------------------------------------------
   SCOPE: the whole admin panel AND every frontend inner content area (forms,
   lists, detail pages). Header/nav/footer/homepage live in home-style.css.
   This file never changes per client — the brand colours used on the public
   site come from home-style.css tokens (--home-*), with safe fallbacks here.

   Sections
     1. Tokens            8. Pagination           15. Admin widgets
     2. Base              9. Modals & confirm     16. Media picker / library
     3. Buttons          10. Admin shell          17. Public inner pages
     4. Forms            11. Page header & tabs   18. Legacy helpers
     5. Cards            12. Stats & dashboard    19. Responsive
     6. Alerts & toasts  13. Data tables          20. Motion & print
     7. Pills & states   14. Detail lists
   ========================================================================== */

/* 1. TOKENS =============================================================== */
:root {
    /* Social network colours (used by the "brand" social icon style). */
    --social-facebook: #1877f2; --social-instagram: #e1306c; --social-youtube: #ff0000;
    --social-twitter: #111111; --social-linkedin: #0a66c2; --social-whatsapp: #25d366;
    --aws-primary: var(--home-red-700, #c81e2c);
    --aws-primary-dark: var(--home-red-800, #a8161f);
    --aws-primary-soft: #fdecee;
    --aws-primary-ring: rgba(200, 30, 44, .18);
    --aws-accent: var(--home-orange-500, #f5a623);
    --aws-accent-soft: #fef4e3;
    --aws-gold: var(--home-gold-500, #d4a82e);

    --aws-ink-900: #111827;
    --aws-ink-700: #374151;
    --aws-ink-600: #4b5563;
    --aws-ink-500: #6b7280;
    --aws-ink-400: #9ca3af;
    --aws-border: #e5e7eb;
    --aws-border-strong: #d1d5db;
    --aws-surface: #ffffff;
    --aws-surface-muted: #f6f7f9;
    --aws-surface-sunken: #f1f3f6;

    --aws-success: #15803d; --aws-success-soft: #e8f7ee;
    --aws-danger: #dc2626;  --aws-danger-soft: #fdecec;
    --aws-warning: #b45309; --aws-warning-soft: #fff5e1;
    --aws-info: #1d4ed8;    --aws-info-soft: #e8efff;

    --aws-radius-lg: 16px;
    --aws-radius: 12px;
    --aws-radius-sm: 8px;
    --aws-shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);
    --aws-shadow-sm: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);
    --aws-shadow-md: 0 8px 24px -6px rgba(16, 24, 40, .12);
    --aws-shadow-lg: 0 20px 48px -12px rgba(16, 24, 40, .22);
    --aws-font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --aws-font-display: 'Plus Jakarta Sans', 'Poppins', 'Inter', system-ui, sans-serif;
    --aws-ease: cubic-bezier(.2, .7, .2, 1);
}

/* The admin console uses a calm indigo for actions (red is reserved for danger). */
.aws-admin {
    --aws-primary: #4f46e5;
    --aws-primary-dark: #4338ca;
    --aws-primary-soft: #eef2ff;
    --aws-primary-ring: rgba(79, 70, 229, .2);
    --adm-sidebar-w: 268px;
    --adm-sidebar-w-collapsed: 76px;
    --adm-sidebar-bg: #0f172a;
    --adm-sidebar-ink: #a5b1c7;
    --adm-topbar-h: 64px;
}

/* 2. BASE ================================================================= */
.aws-page, .aws-admin {
    font-family: var(--aws-font);
    color: var(--aws-ink-900);
    -webkit-font-smoothing: antialiased;
}
.aws-admin { background: #f4f6fb; min-height: 100vh; }
.aws-page { background: var(--aws-surface-muted); }
.aws-admin h1, .aws-admin h2, .aws-admin h3, .aws-admin h4, .aws-admin h5,
.aws-page h1, .aws-page h2, .aws-page h3 { font-family: var(--aws-font-display); letter-spacing: -.01em; }
.aws-admin a { color: var(--aws-primary); text-decoration: none; }
.aws-admin a:hover { color: var(--aws-primary-dark); }
.aws-admin :focus-visible, .aws-page :focus-visible { outline: 3px solid var(--aws-primary-ring); outline-offset: 2px; }
.aws-admin code { color: #be185d; background: #fdf2f8; padding: .1em .35em; border-radius: 4px; font-size: .85em; }
.aws-admin kbd { background: var(--aws-ink-900); color: #fff; border-radius: 4px; padding: .05em .4em; font-size: .75em; }
.adm-skip { position: absolute; left: -9999px; top: 8px; z-index: 2000; background: #fff; padding: .5rem 1rem; border-radius: 8px; }
.adm-skip:focus { left: 8px; }
.adm-prewrap { white-space: pre-wrap; word-break: break-word; }

/* 3. BUTTONS ============================================================== */
.aws-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
    padding: .6rem 1.1rem; min-height: 40px;
    border-radius: 10px; border: 1px solid transparent;
    font: 600 .9rem/1.2 var(--aws-font); white-space: nowrap;
    cursor: pointer; text-decoration: none; user-select: none;
    transition: background .15s, border-color .15s, color .15s, box-shadow .15s, transform .08s;
}
.aws-btn:active:not(:disabled) { transform: translateY(1px); }
.aws-btn:disabled, .aws-btn.is-disabled { opacity: .55; cursor: not-allowed; }
.aws-btn i { font-size: 1.05em; }
.aws-btn--primary { background: var(--aws-primary); color: #fff !important; box-shadow: 0 1px 2px rgba(16,24,40,.08), inset 0 1px 0 rgba(255,255,255,.12); }
.aws-btn--primary:hover:not(:disabled) { background: var(--aws-primary-dark); }
.aws-btn--outline { background: #fff; border-color: var(--aws-border-strong); color: var(--aws-ink-900) !important; box-shadow: var(--aws-shadow-xs); }
.aws-btn--outline:hover:not(:disabled) { border-color: var(--aws-primary); color: var(--aws-primary) !important; background: var(--aws-primary-soft); }
.aws-btn--ghost { background: transparent; color: var(--aws-ink-600) !important; }
.aws-btn--ghost:hover:not(:disabled) { background: var(--aws-surface-sunken); color: var(--aws-ink-900) !important; }
.aws-btn--danger { background: var(--aws-danger); color: #fff !important; }
.aws-btn--danger:hover:not(:disabled) { background: #b91c1c; }
.aws-btn--danger-outline { background: #fff; border-color: #fecaca; color: var(--aws-danger) !important; }
.aws-btn--danger-outline:hover:not(:disabled) { background: var(--aws-danger-soft); border-color: var(--aws-danger); }
.aws-btn--sm { padding: .4rem .75rem; min-height: 32px; font-size: .82rem; border-radius: 8px; }
.aws-btn--lg { padding: .8rem 1.4rem; min-height: 48px; font-size: 1rem; border-radius: 12px; }
.aws-btn-spinner { width: 1em; height: 1em; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; display: inline-block; animation: aws-spin .7s linear infinite; }
.aws-link-btn { background: none; border: 0; padding: 0; color: var(--aws-primary); font-weight: 600; font-size: .85rem; cursor: pointer; }
.aws-link-btn:hover { text-decoration: underline; }

/* 4. FORMS ================================================================ */
.aws-field { margin-bottom: 1.1rem; position: relative; }
.aws-field > label, .aws-field .d-flex > label {
    display: block; margin-bottom: .4rem;
    font-size: .84rem; font-weight: 600; color: var(--aws-ink-700);
}
.aws-field label.required::after, label.required::after { content: " *"; color: var(--aws-danger); }
.aws-field input:not([type=checkbox]):not([type=radio]):not([type=file]),
.aws-field select, .aws-field textarea,
.aws-admin .dt-select, .adm-inline-edit input, .adm-inline-add input,
.aws-admin input[type=email]:not(.aws-field *), .aws-admin input[type=text]:not(.aws-field *):not(.dt-search input) {
    width: 100%; min-height: 42px;
    padding: .6rem .85rem;
    border: 1px solid var(--aws-border-strong); border-radius: 10px;
    background: #fff; color: var(--aws-ink-900);
    font: 400 .92rem/1.4 var(--aws-font);
    transition: border-color .15s, box-shadow .15s, background .15s;
    appearance: none;
}
.aws-field select, .aws-admin .dt-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat; background-position: right .75rem center; background-size: 14px 10px; padding-right: 2.2rem;
}
.aws-field select[multiple] { background-image: none; min-height: 120px; }
.aws-field textarea { min-height: 96px; resize: vertical; }
.aws-field input::placeholder, .aws-field textarea::placeholder { color: var(--aws-ink-400); }
.aws-field input:hover:not(:focus):not(:disabled), .aws-field select:hover:not(:focus), .aws-field textarea:hover:not(:focus) { border-color: var(--aws-ink-400); }
.aws-field input:focus, .aws-field select:focus, .aws-field textarea:focus, .aws-admin .dt-select:focus {
    outline: none; border-color: var(--aws-primary); box-shadow: 0 0 0 4px var(--aws-primary-ring);
}
.aws-field input:disabled, .aws-field select:disabled, .aws-field textarea:disabled, .aws-field input[readonly] { background: var(--aws-surface-sunken); color: var(--aws-ink-500); }
.aws-field .is-invalid, .aws-field input.is-invalid, .aws-field select.is-invalid, .aws-field textarea.is-invalid {
    border-color: var(--aws-danger) !important; background-color: #fffafa;
}
.aws-field .is-invalid:focus { box-shadow: 0 0 0 4px rgba(220, 38, 38, .15) !important; }
.aws-field input.is-valid:not([type=checkbox]):not([type=radio]), .aws-field select.is-valid, .aws-field textarea.is-valid { border-color: #86efac; }
.aws-input-lg { font-size: 1.15rem !important; font-weight: 600 !important; min-height: 50px !important; }
.aws-code { font-family: ui-monospace, 'SFMono-Regular', Menlo, monospace !important; font-size: .85rem !important; line-height: 1.55 !important; }
.aws-help { display: block; margin-top: .35rem; color: var(--aws-ink-500); font-size: .8rem; line-height: 1.45; }
.aws-counter { display: block; text-align: right; font-size: .75rem; color: var(--aws-ink-400); margin-top: .25rem; }
.aws-counter.is-near { color: var(--aws-warning); font-weight: 600; }

/* Errors — client (jQuery Validate) and server (Laravel) share one look */
.aws-field-error, .aws-js-error, .aws-field .error, .aws-field label.error {
    display: flex; align-items: flex-start; gap: .35rem;
    margin-top: .4rem; color: var(--aws-danger);
    font-size: .8rem; font-weight: 500; line-height: 1.35;
    animation: aws-shake .3s ease;
}
.aws-field-error i { margin-top: .05rem; }
.aws-js-error:empty { display: none !important; }
.aws-js-error::before { content: "\F333"; font-family: bootstrap-icons; margin-top: .05rem; line-height: 1.4; }
.has-error > label { color: var(--aws-danger); }

/* Checkboxes & radios */
.aws-check { display: inline-flex; align-items: center; gap: .55rem; margin: 0 1.1rem .45rem 0; font-size: .9rem; font-weight: 500; color: var(--aws-ink-700); cursor: pointer; }
.aws-check input, .aws-choices input[type=checkbox], .aws-choices input[type=radio] {
    width: 18px; height: 18px; flex-shrink: 0; margin: 0; accent-color: var(--aws-primary); cursor: pointer;
}
.aws-choices { display: flex; flex-direction: column; gap: .15rem; }
.aws-choices--inline { flex-direction: row; flex-wrap: wrap; }
.aws-choices--cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .6rem; }
.aws-choices--cards .aws-check { margin: 0; padding: .75rem .9rem; border: 1px solid var(--aws-border-strong); border-radius: 12px; background: #fff; transition: border-color .15s, background .15s; }
.aws-choices--cards .aws-check:has(input:checked) { border-color: var(--aws-primary); background: var(--aws-primary-soft); color: var(--aws-ink-900); }
.aws-details summary { cursor: pointer; font-weight: 600; font-size: .85rem; color: var(--aws-ink-600); }

/* Segmented control (radio buttons as pills) */
.aws-segmented { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: var(--aws-surface-sunken); border-radius: 12px; }
.aws-segmented label { margin: 0; cursor: pointer; }
.aws-segmented input { position: absolute; opacity: 0; pointer-events: none; }
.aws-segmented span { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .85rem; border-radius: 9px; font-size: .85rem; font-weight: 600; color: var(--aws-ink-600); transition: background .15s, color .15s, box-shadow .15s; }
.aws-segmented input:checked + span { background: #fff; color: var(--aws-ink-900); box-shadow: var(--aws-shadow-sm); }
.aws-segmented input:focus-visible + span { outline: 3px solid var(--aws-primary-ring); }

/* Input with prefix ($, URL) and input with icon */
.aws-input-group { display: flex; align-items: stretch; }
.aws-input-group > span { display: flex; align-items: center; padding: 0 .75rem; background: var(--aws-surface-sunken); border: 1px solid var(--aws-border-strong); border-right: 0; border-radius: 10px 0 0 10px; color: var(--aws-ink-500); font-size: .85rem; white-space: nowrap; }
.aws-input-group > input { border-radius: 0 10px 10px 0 !important; min-width: 0; }
.aws-input-group--sm > span { padding: 0 .5rem; }
.aws-input-group--sm > input { min-height: 36px !important; padding: .35rem .5rem !important; }
.aws-input-icon { position: relative; }
.aws-input-icon > i { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); color: var(--aws-ink-400); pointer-events: none; }
.aws-input-icon > input { padding-left: 2.5rem !important; }
.aws-input-icon__btn { position: absolute; right: .35rem; top: 50%; transform: translateY(-50%); border: 0; background: none; color: var(--aws-ink-500); padding: .35rem .5rem; border-radius: 6px; }
.aws-input-icon__btn:hover { background: var(--aws-surface-sunken); }

/* Switch */
.aws-switch { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; vertical-align: middle; }
.aws-switch input[type=checkbox] { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.aws-switch__track { position: absolute; inset: 0; background: var(--aws-border-strong); border-radius: 999px; transition: background .2s; }
.aws-switch__track::before { content: ""; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .2s var(--aws-ease); }
.aws-switch input:checked + .aws-switch__track { background: var(--aws-success); }
.aws-switch input:checked + .aws-switch__track::before { transform: translateX(20px); }
.aws-switch input:focus-visible + .aws-switch__track { box-shadow: 0 0 0 4px var(--aws-primary-ring); }
.aws-switch input:disabled + .aws-switch__track { opacity: .5; }
.aws-switch-row { display: flex; align-items: center; gap: .6rem; min-height: 42px; font-size: .9rem; color: var(--aws-ink-700); }
.aws-toggle-line { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px dashed var(--aws-border); margin: 0; cursor: pointer; }
.aws-toggle-line:last-child { border-bottom: 0; }
.aws-toggle-line strong { display: block; font-size: .9rem; color: var(--aws-ink-900); }
.aws-toggle-line small { display: block; font-size: .78rem; color: var(--aws-ink-500); font-weight: 400; }
.aws-toggle-line .form-check-input { width: 2.6em; height: 1.4em; flex-shrink: 0; cursor: pointer; }
.aws-toggle-line .form-check-input:checked { background-color: var(--aws-success); border-color: var(--aws-success); }
.aws-subsection { background: var(--aws-surface-muted); border-radius: 12px; padding: .75rem .25rem 0; margin: 0 0 1rem !important; }

/* Star rating input */
.aws-rating { display: inline-flex; flex-direction: row-reverse; gap: .15rem; }
.aws-rating input { position: absolute; opacity: 0; }
.aws-rating label { font-size: 1.5rem; color: #d1d5db; cursor: pointer; margin: 0 !important; transition: color .12s, transform .12s; }
.aws-rating label:hover, .aws-rating label:hover ~ label, .aws-rating input:checked ~ label { color: #f59e0b; }
.aws-rating label:hover { transform: scale(1.12); }

/* Drop zone + file chips */
.aws-dropzone {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem;
    padding: 1.5rem; text-align: center; cursor: pointer;
    border: 2px dashed var(--aws-border-strong); border-radius: 14px; background: var(--aws-surface-muted);
    color: var(--aws-ink-600); transition: border-color .15s, background .15s;
}
.aws-dropzone > i { font-size: 2rem; color: var(--aws-primary); }
.aws-dropzone small { color: var(--aws-ink-400); }
.aws-dropzone:hover, .aws-dropzone.is-over { border-color: var(--aws-primary); background: var(--aws-primary-soft); }
.aws-dropzone--wide { padding: 2rem; }
.aws-dropzone__list { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.aws-file-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .65rem; background: #fff; border: 1px solid var(--aws-border); border-radius: 999px; font-size: .78rem; color: var(--aws-ink-600); }

/* intl-tel-input: make the country selector blend in */
.iti { width: 100%; display: block; }
.iti__flag-container { padding: 1px; }
.iti--separate-dial-code .iti__selected-flag { background: var(--aws-surface-sunken); border-radius: 9px 0 0 9px; border-right: 1px solid var(--aws-border); }
.iti__country-list { border-radius: 10px; box-shadow: var(--aws-shadow-lg); border: 1px solid var(--aws-border); font-size: .88rem; max-height: 260px; z-index: 1060; }
.iti__country.iti__highlight { background: var(--aws-primary-soft); }
.iti__selected-dial-code { font-size: .9rem; color: var(--aws-ink-700); }

/* 5. CARDS ================================================================ */
.aws-card {
    background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: var(--aws-radius-lg);
    padding: 1.5rem; box-shadow: var(--aws-shadow-xs);
}
.aws-card.p-0 { overflow: hidden; }
.aws-card__title { display: flex; align-items: center; gap: .55rem; font-size: 1rem; font-weight: 700; margin: 0 0 1.1rem; color: var(--aws-ink-900); }
.aws-card__title i { color: var(--aws-primary); font-size: 1.05em; }
.aws-card__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--aws-border); }
.aws-card__head--flat { padding: 0 0 1rem; border: 0; }
.aws-card__foot { padding: .9rem 1.25rem; border-top: 1px solid var(--aws-border); background: var(--aws-surface-muted); }
.aws-card--danger { border-color: #fecaca; }
.aws-card--danger .aws-card__title i { color: var(--aws-danger); }
a.aws-card { display: block; color: inherit; text-decoration: none; transition: box-shadow .2s, transform .2s, border-color .2s; }
a.aws-card:hover { box-shadow: var(--aws-shadow-md); transform: translateY(-2px); border-color: transparent; }

/* 6. ALERTS & TOASTS ====================================================== */
.aws-alert { display: flex; gap: .75rem; align-items: flex-start; padding: .9rem 1.1rem; border-radius: 12px; border: 1px solid; margin-bottom: 1.25rem; font-size: .9rem; }
.aws-alert > i { font-size: 1.15rem; line-height: 1.3; }
.aws-alert ul { margin: .35rem 0 0; padding-left: 1.1rem; }
.aws-alert--error { background: var(--aws-danger-soft); border-color: #fecaca; color: #991b1b; }
.aws-alert--warning { background: var(--aws-warning-soft); border-color: #fde68a; color: #92400e; }
.aws-alert--info { background: var(--aws-info-soft); border-color: #c7d7fe; color: #1e3a8a; }
.aws-alert--success { background: var(--aws-success-soft); border-color: #bbf7d0; color: #166534; }

.aws-toast-region { position: fixed; top: 1rem; right: 1rem; z-index: 2000; display: flex; flex-direction: column; gap: .6rem; width: min(400px, calc(100vw - 2rem)); pointer-events: none; }
.aws-toast {
    pointer-events: auto; display: flex; align-items: flex-start; gap: .7rem;
    padding: .9rem 1rem; border-radius: 14px; background: #fff;
    box-shadow: var(--aws-shadow-lg); border: 1px solid var(--aws-border); border-left: 4px solid var(--aws-success);
    font-size: .9rem; color: var(--aws-ink-900); animation: aws-toast-in .35s var(--aws-ease);
}
.aws-toast > i { font-size: 1.2rem; color: var(--aws-success); line-height: 1.2; }
.aws-toast__message { flex: 1; line-height: 1.45; }
.aws-toast__close { border: 0; background: none; color: var(--aws-ink-400); padding: 0 .1rem; line-height: 1; }
.aws-toast__close:hover { color: var(--aws-ink-900); }
.aws-toast--error { border-left-color: var(--aws-danger); } .aws-toast--error > i { color: var(--aws-danger); }
.aws-toast--warning { border-left-color: #f59e0b; } .aws-toast--warning > i { color: #f59e0b; }
.aws-toast--info { border-left-color: var(--aws-info); } .aws-toast--info > i { color: var(--aws-info); }
.aws-toast.is-leaving { opacity: 0; transform: translateX(20px); transition: opacity .3s, transform .3s; }
.aws-test-result { font-size: .85rem; font-weight: 600; margin-top: .5rem; }
.aws-test-result:empty { display: none; }
.aws-test-result.is-ok { color: var(--aws-success); }
.aws-test-result.is-fail { color: var(--aws-danger); }

/* 7. PILLS & STATES ======================================================= */
.aws-pill {
    display: inline-flex; align-items: center; gap: .35rem;
    padding: .22rem .6rem; border-radius: 999px;
    font-size: .74rem; font-weight: 600; line-height: 1.3; white-space: nowrap;
    background: var(--aws-surface-sunken); color: var(--aws-ink-600);
}
.aws-pill i.bi-circle-fill { font-size: .45rem; }
.aws-pill--success { background: var(--aws-success-soft); color: var(--aws-success); }
.aws-pill--danger { background: var(--aws-danger-soft); color: #b91c1c; }
.aws-pill--warning { background: var(--aws-warning-soft); color: var(--aws-warning); }
.aws-pill--info { background: var(--aws-info-soft); color: var(--aws-info); }
.aws-pill--neutral { background: var(--aws-surface-sunken); color: var(--aws-ink-600); }

.aws-state { text-align: center; padding: 2.75rem 1rem; color: var(--aws-ink-500); }
.aws-state__icon { width: 64px; height: 64px; margin: 0 auto .9rem; border-radius: 20px; display: grid; place-items: center; background: var(--aws-surface-sunken); color: var(--aws-ink-400); font-size: 1.7rem; }
.aws-state p { margin: 0; font-weight: 500; }
.aws-state--error { color: var(--aws-danger); }
.aws-spinner { display: inline-block; width: 22px; height: 22px; border: 3px solid var(--aws-border); border-top-color: var(--aws-primary); border-radius: 50%; animation: aws-spin .7s linear infinite; }

/* 8. PAGINATION =========================================================== */
.aws-pagination { display: flex; justify-content: flex-end; }
.aws-pager { display: flex; flex-wrap: wrap; gap: .3rem; list-style: none; margin: 0; padding: 0; }
.aws-pager a, .aws-pager span {
    display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 .6rem;
    border-radius: 10px; border: 1px solid var(--aws-border); background: #fff;
    font-size: .85rem; font-weight: 600; color: var(--aws-ink-700); text-decoration: none; transition: all .15s;
}
.aws-pager a:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-pager .is-active span { background: var(--aws-primary); border-color: var(--aws-primary); color: #fff; }
.aws-pager .is-disabled span { color: var(--aws-ink-400); background: var(--aws-surface-muted); }

/* 9. MODALS & CONFIRM ===================================================== */
.aws-modal .modal-content { border: 0; border-radius: 18px; box-shadow: var(--aws-shadow-lg); overflow: hidden; }
.aws-modal .modal-header { padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--aws-border); }
.aws-modal .modal-title { font-family: var(--aws-font-display); font-weight: 700; font-size: 1.1rem; display: flex; align-items: center; gap: .3rem; }
.aws-modal .modal-title i { color: var(--aws-primary); }
.aws-modal .modal-body { padding: 1.4rem; }
.aws-modal .modal-footer { padding: .9rem 1.4rem; border-top: 1px solid var(--aws-border); background: var(--aws-surface-muted); gap: .5rem; }
.aws-modal .modal-footer > * { margin: 0; }
.modal-backdrop.show { opacity: .45; backdrop-filter: blur(2px); }
.aws-confirm .modal-body { padding: 2rem 1.5rem 1rem; }
.aws-confirm__icon { width: 56px; height: 56px; margin: 0 auto 1rem; border-radius: 50%; display: grid; place-items: center; background: var(--aws-warning-soft); color: #d97706; font-size: 1.5rem; }
.aws-confirm__icon.is-danger { background: var(--aws-danger-soft); color: var(--aws-danger); }
.aws-confirm h5 { font-weight: 700; }
.aws-confirm__message { color: var(--aws-ink-600); font-size: .92rem; }
.aws-confirm .modal-footer { border: 0; background: none; padding-bottom: 1.5rem; }

/* 10. ADMIN SHELL ========================================================= */
.adm-shell { display: flex; min-height: 100vh; }
.adm-sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 1040; width: var(--adm-sidebar-w);
    display: flex; flex-direction: column;
    background: var(--adm-sidebar-bg); color: var(--adm-sidebar-ink);
    background-image: radial-gradient(120% 60% at 0% 0%, rgba(99, 102, 241, .18), transparent 60%);
    transition: width .22s var(--aws-ease), transform .25s var(--aws-ease);
}
.adm-brand { display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 1rem 1rem 1.2rem; }
.adm-brand__link { display: flex; align-items: center; gap: .7rem; color: #fff !important; min-width: 0; }
.adm-brand__mark {
    width: 38px; height: 38px; border-radius: 11px; flex-shrink: 0; display: grid; place-items: center;
    background: linear-gradient(135deg, #c81e2c, #f5a623); color: #fff; font-size: 1.15rem;
    box-shadow: 0 6px 18px -4px rgba(245, 166, 35, .5);
}
.adm-brand__text { font-family: var(--aws-font-display); font-weight: 700; font-size: .95rem; line-height: 1.15; white-space: nowrap; overflow: hidden; }
.adm-brand__text small { display: block; font-family: var(--aws-font); font-weight: 500; font-size: .7rem; color: #7c8aa5; letter-spacing: .02em; }
.adm-navsearch { position: relative; margin: 0 .9rem .6rem; }
.adm-navsearch i { position: absolute; left: .75rem; top: 50%; transform: translateY(-50%); font-size: .8rem; color: #64748b; }
.adm-navsearch input { width: 100%; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); color: #e2e8f0; border-radius: 10px; padding: .5rem .7rem .5rem 2rem; font-size: .82rem; }
.adm-navsearch input::placeholder { color: #64748b; }
.adm-navsearch input:focus { outline: none; border-color: rgba(129, 140, 248, .6); background: rgba(255,255,255,.1); }
.adm-nav { flex: 1; overflow-y: auto; padding: .25rem .7rem 1rem; scrollbar-width: thin; scrollbar-color: #334155 transparent; }
.adm-nav__label { padding: 1rem .7rem .4rem; font-size: .66rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #5b6b86; white-space: nowrap; }
.adm-nav__link {
    position: relative; display: flex; align-items: center; gap: .75rem;
    padding: .55rem .7rem; margin: 1px 0; border-radius: 10px;
    color: var(--adm-sidebar-ink) !important; font-size: .87rem; font-weight: 500; white-space: nowrap;
    transition: background .15s, color .15s;
}
.adm-nav__link i { width: 20px; text-align: center; font-size: 1.05rem; flex-shrink: 0; opacity: .85; }
.adm-nav__link:hover { background: rgba(255,255,255,.06); color: #fff !important; }
.adm-nav__link.is-active { background: linear-gradient(90deg, rgba(99,102,241,.35), rgba(99,102,241,.12)); color: #fff !important; font-weight: 600; }
.adm-nav__link.is-active::before { content: ""; position: absolute; left: -.7rem; top: 20%; bottom: 20%; width: 3px; border-radius: 0 3px 3px 0; background: #818cf8; }
.adm-nav__link.is-active i { opacity: 1; color: #c7d2fe; }
.adm-nav__badge { margin-left: auto; font-style: normal; font-size: .68rem; font-weight: 700; background: #f43f5e; color: #fff; border-radius: 999px; padding: .08rem .45rem; }
.adm-sidebar__foot { padding: .6rem .7rem 1rem; border-top: 1px solid rgba(255,255,255,.06); }
.adm-backdrop { display: none; }

.adm-main { flex: 1; min-width: 0; margin-left: var(--adm-sidebar-w); display: flex; flex-direction: column; transition: margin-left .22s var(--aws-ease); }
.adm-topbar {
    position: sticky; top: 0; z-index: 1030; height: var(--adm-topbar-h);
    display: flex; align-items: center; gap: .9rem; padding: 0 1.5rem;
    background: rgba(255,255,255,.82); backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid var(--aws-border);
}
.adm-crumbs { display: flex; align-items: center; gap: .45rem; min-width: 0; font-size: .85rem; color: var(--aws-ink-500); white-space: nowrap; overflow: hidden; }
.adm-crumbs a { color: var(--aws-ink-500) !important; }
.adm-crumbs a:hover { color: var(--aws-primary) !important; }
.adm-crumbs > span { color: var(--aws-ink-900); font-weight: 600; overflow: hidden; text-overflow: ellipsis; }
.adm-crumbs .bi-chevron-right { font-size: .65rem; color: var(--aws-ink-400); }
.adm-topbar__right { margin-left: auto; display: flex; align-items: center; gap: .4rem; }
.adm-icon-btn {
    display: inline-grid; place-items: center; width: 40px; height: 40px; flex-shrink: 0;
    border: 0; border-radius: 11px; background: transparent; color: var(--aws-ink-600); font-size: 1.2rem;
    transition: background .15s, color .15s;
}
.adm-icon-btn:hover { background: var(--aws-surface-sunken); color: var(--aws-ink-900); }
.adm-sidebar .adm-icon-btn { color: #cbd5e1; }
.adm-sidebar .adm-icon-btn:hover { background: rgba(255,255,255,.08); color: #fff; }
.adm-user { display: flex; align-items: center; gap: .6rem; border: 0; background: none; padding: .3rem .5rem .3rem .3rem; border-radius: 12px; color: var(--aws-ink-900); }
.adm-user:hover { background: var(--aws-surface-sunken); }
.adm-user__text { text-align: left; font-size: .85rem; font-weight: 600; line-height: 1.15; }
.adm-user__text small { display: block; font-weight: 500; font-size: .72rem; color: var(--aws-ink-500); }
.adm-avatar { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; flex-shrink: 0; background: linear-gradient(135deg, #6366f1, #a855f7); color: #fff; font-weight: 700; font-size: .9rem; }
.adm-avatar--lg { width: 56px; height: 56px; border-radius: 16px; font-size: 1.2rem; }
.adm-user-menu, .dt-menu, .adm-bell__menu { border: 1px solid var(--aws-border); border-radius: 14px; box-shadow: var(--aws-shadow-lg); padding: .4rem; min-width: 220px; }
.adm-user-menu .dropdown-item, .dt-menu .dropdown-item { display: flex; align-items: center; gap: .6rem; border-radius: 9px; padding: .5rem .7rem; font-size: .87rem; font-weight: 500; color: var(--aws-ink-700); }
.adm-user-menu .dropdown-item:hover, .dt-menu .dropdown-item:hover { background: var(--aws-surface-sunken); color: var(--aws-ink-900); }
.dt-menu .dropdown-item.text-danger:hover { background: var(--aws-danger-soft); }
.adm-content { flex: 1; padding: 1.75rem 1.75rem 2.5rem; outline: none; max-width: 1600px; width: 100%; }
.adm-footer { padding: 1rem 1.75rem 1.5rem; font-size: .78rem; color: var(--aws-ink-400); }

/* Collapsed sidebar (desktop) */
.adm-shell.is-collapsed .adm-sidebar { width: var(--adm-sidebar-w-collapsed); }
.adm-shell.is-collapsed .adm-main { margin-left: var(--adm-sidebar-w-collapsed); }
.adm-shell.is-collapsed .adm-brand__text,
.adm-shell.is-collapsed .adm-navsearch,
.adm-shell.is-collapsed .adm-nav__label,
.adm-shell.is-collapsed .adm-nav__link span,
.adm-shell.is-collapsed .adm-nav__badge { display: none; }
.adm-shell.is-collapsed .adm-nav__link { justify-content: center; padding: .65rem; }
.adm-shell.is-collapsed .adm-nav__group + .adm-nav__group { border-top: 1px solid rgba(255,255,255,.06); margin-top: .4rem; padding-top: .4rem; }

/* Notification bell */
.adm-bell__count { position: absolute; top: 5px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #f43f5e; color: #fff; font-size: .65rem; font-weight: 700; display: grid; place-items: center; border: 2px solid #fff; }
.adm-bell__menu { width: 340px; padding: 0; overflow: hidden; }
.adm-bell__head { display: flex; justify-content: space-between; align-items: center; padding: .8rem 1rem; border-bottom: 1px solid var(--aws-border); }
.adm-bell__list { max-height: 380px; overflow-y: auto; }
.adm-bell__item { display: block; padding: .7rem 1rem; border-bottom: 1px solid var(--aws-border); color: var(--aws-ink-900) !important; font-size: .86rem; }
.adm-bell__item small { display: block; color: var(--aws-ink-500); margin-top: .15rem; }
.adm-bell__item:hover { background: var(--aws-surface-muted); }
.adm-bell__item.is-unread { background: var(--aws-primary-soft); }
.adm-bell__empty { padding: 1.5rem 1rem; text-align: center; color: var(--aws-ink-500); font-size: .88rem; }

/* 11. PAGE HEADER & TABS ================================================== */
.adm-page-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.adm-page-head__title { display: flex; align-items: center; gap: .9rem; min-width: 0; }
.adm-page-head__icon { width: 46px; height: 46px; border-radius: 14px; flex-shrink: 0; display: grid; place-items: center; background: #fff; border: 1px solid var(--aws-border); box-shadow: var(--aws-shadow-xs); color: var(--aws-primary); font-size: 1.3rem; }
.adm-page-head h1 { font-size: 1.45rem; font-weight: 800; margin: 0; color: var(--aws-ink-900); line-height: 1.2; }
.adm-page-head p { margin: .2rem 0 0; color: var(--aws-ink-500); font-size: .9rem; }
.adm-page-head__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.adm-page-head__actions form { margin: 0; }
.adm-back { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; border: 1px solid var(--aws-border); background: #fff; color: var(--aws-ink-600) !important; flex-shrink: 0; }
.adm-back:hover { border-color: var(--aws-primary); color: var(--aws-primary) !important; }

.adm-tabs { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: .25rem; border-bottom: 1px solid var(--aws-border); scrollbar-width: none; }
.adm-tabs .nav-link { display: inline-flex; align-items: center; gap: .45rem; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; padding: .75rem 1rem; margin-bottom: -1px; font-weight: 600; font-size: .88rem; color: var(--aws-ink-500) !important; white-space: nowrap; }
.adm-tabs .nav-link:hover { color: var(--aws-ink-900) !important; }
.adm-tabs .nav-link.active { color: var(--aws-primary) !important; border-bottom-color: var(--aws-primary); }
.adm-tabs__count { background: var(--aws-surface-sunken); color: var(--aws-ink-600); border-radius: 999px; padding: .05rem .5rem; font-size: .72rem; }
.adm-vtabs { display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid var(--aws-border); border-radius: 16px; padding: .5rem; position: sticky; top: calc(var(--adm-topbar-h) + 1rem); }
.adm-vtabs a { display: flex; align-items: center; gap: .65rem; padding: .65rem .8rem; border-radius: 10px; color: var(--aws-ink-600) !important; font-weight: 500; font-size: .9rem; }
.adm-vtabs a:hover { background: var(--aws-surface-muted); color: var(--aws-ink-900) !important; }
.adm-vtabs a.is-active { background: var(--aws-primary-soft); color: var(--aws-primary) !important; font-weight: 600; }
.adm-sticky-actions { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .5rem; margin: 1rem -1.75rem -2.5rem; padding: .9rem 1.75rem; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); border-top: 1px solid var(--aws-border); }
.adm-sticky-card { position: sticky; top: calc(var(--adm-topbar-h) + 1rem); }

/* 12. STATS & DASHBOARD =================================================== */
.adm-hello { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; padding: 1.5rem 1.75rem; border-radius: 20px; color: #fff; background: linear-gradient(120deg, #312e81 0%, #4f46e5 45%, #7c3aed 100%); box-shadow: 0 18px 40px -18px rgba(79, 70, 229, .6); position: relative; overflow: hidden; }
.adm-hello::after { content: ""; position: absolute; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(245,166,35,.45), transparent 70%); }
.adm-hello h1 { font-size: 1.55rem; font-weight: 800; margin: 0 0 .25rem; color: #fff; }
.adm-hello p { margin: 0; color: #e0e7ff; }
.adm-hello__actions { display: flex; flex-wrap: wrap; gap: .5rem; position: relative; z-index: 1; }
.adm-hello .aws-btn--primary { background: #fff; color: #4338ca !important; }
.adm-hello .aws-btn--outline { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff !important; box-shadow: none; }
.adm-hello .aws-btn--outline:hover { background: rgba(255,255,255,.22); color: #fff !important; }
.adm-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.adm-stat { display: flex; align-items: center; gap: .9rem; padding: 1.1rem 1.2rem; background: #fff; border: 1px solid var(--aws-border); border-radius: 16px; box-shadow: var(--aws-shadow-xs); transition: box-shadow .2s, transform .2s; }
.adm-stat:hover { box-shadow: var(--aws-shadow-md); transform: translateY(-2px); }
.adm-stat__icon { width: 46px; height: 46px; border-radius: 14px; flex-shrink: 0; display: grid; place-items: center; font-size: 1.25rem; background: #eef2ff; color: #4f46e5; }
.adm-stat__icon--green { background: #dcfce7; color: #16a34a; }
.adm-stat__icon--amber { background: #fef3c7; color: #d97706; }
.adm-stat__icon--violet { background: #f3e8ff; color: #9333ea; }
.adm-stat__icon--rose { background: #ffe4e6; color: #e11d48; }
.adm-stat__icon--sky { background: #e0f2fe; color: #0284c7; }
.adm-stat__label { font-size: .78rem; font-weight: 600; color: var(--aws-ink-500); }
.adm-stat__value { font-family: var(--aws-font-display); font-size: 1.5rem; font-weight: 800; color: var(--aws-ink-900); line-height: 1.2; }
.adm-stat__value--sm { font-size: 1rem; }
.adm-stat__meta { font-size: .75rem; color: var(--aws-ink-400); }
.adm-chart { position: relative; height: 290px; }
.adm-chart--sm { height: 230px; }
.adm-attention { list-style: none; margin: 0; padding: 0; }
.adm-attention a { display: flex; align-items: center; gap: .75rem; padding: .75rem .8rem; border-radius: 12px; color: var(--aws-ink-900) !important; font-weight: 500; font-size: .9rem; border: 1px solid var(--aws-border); margin-bottom: .5rem; }
.adm-attention a > i:first-child { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--aws-warning-soft); color: #d97706; }
.adm-attention a span { flex: 1; }
.adm-attention a:hover { border-color: var(--aws-primary); background: var(--aws-primary-soft); }
.adm-attention__clear { display: flex; gap: .6rem; align-items: center; padding: 1rem; border-radius: 12px; background: var(--aws-success-soft); color: var(--aws-success); font-weight: 600; font-size: .9rem; }

/* 14. DETAIL LISTS ======================================================== */
.adm-list { list-style: none; margin: 0; padding: 0; }
.adm-list > li { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem 0; border-bottom: 1px solid var(--aws-border); font-size: .9rem; }
.adm-list > li:last-child { border-bottom: 0; }
.adm-list > li > a, .adm-list > li > span:first-child { color: var(--aws-ink-900) !important; font-weight: 500; min-width: 0; }
.adm-list small { display: block; color: var(--aws-ink-500); font-size: .78rem; font-weight: 400; }
.adm-list--editable li { gap: .4rem; }
.adm-inline-edit { display: flex; gap: .35rem; flex: 1; }
.adm-inline-edit input { min-height: 36px !important; padding: .35rem .6rem !important; }
.adm-inline-add { display: flex; gap: .5rem; margin-top: 1rem; }
.adm-dl { display: grid; grid-template-columns: minmax(110px, 38%) 1fr; gap: .55rem 1rem; margin: 0; font-size: .9rem; }
.adm-dl dt { color: var(--aws-ink-500); font-weight: 500; }
.adm-dl dd { margin: 0; color: var(--aws-ink-900); word-break: break-word; }
.adm-dl--wide { grid-template-columns: minmax(140px, 30%) 1fr; }
.adm-dl--wide dt, .adm-dl--wide dd { padding: .55rem 0; border-bottom: 1px dashed var(--aws-border); }

.adm-date { display: grid; place-items: center; width: 44px; height: 46px; border-radius: 12px; background: var(--aws-primary-soft); color: var(--aws-primary); font-size: .68rem; font-weight: 700; text-transform: uppercase; line-height: 1; flex-shrink: 0; }
.adm-date b { font-size: 1.15rem; font-weight: 800; }

/* 13. DATA TABLES ========================================================= */
.dt-card { background: #fff; border: 1px solid var(--aws-border); border-radius: 18px; box-shadow: var(--aws-shadow-xs); overflow: hidden; }
.dt-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--aws-border); }
.dt-search { position: relative; flex: 1 1 260px; max-width: 420px; }
.dt-search > i { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); color: var(--aws-ink-400); font-size: .9rem; pointer-events: none; }
.dt-search input { width: 100%; min-height: 40px; padding: .5rem 2.2rem .5rem 2.35rem; border: 1px solid var(--aws-border-strong); border-radius: 11px; background: var(--aws-surface-muted); font-size: .9rem; transition: all .15s; }
.dt-search input:focus { outline: none; background: #fff; border-color: var(--aws-primary); box-shadow: 0 0 0 4px var(--aws-primary-ring); }
.dt-search__clear { position: absolute; right: .6rem; top: 50%; transform: translateY(-50%); color: var(--aws-ink-400) !important; font-size: .8rem; padding: .2rem; }
.dt-search input::-webkit-search-cancel-button { display: none; }
.aws-admin .dt-select { width: auto; min-height: 40px; font-size: .86rem; border-radius: 11px; padding-top: .45rem; padding-bottom: .45rem; }
.dt-btn { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; padding: .45rem .9rem; border: 1px solid var(--aws-border-strong); border-radius: 11px; background: #fff; color: var(--aws-ink-700) !important; font-size: .86rem; font-weight: 600; transition: all .15s; }
.dt-btn:hover, .dt-btn.is-active { border-color: var(--aws-primary); color: var(--aws-primary) !important; background: var(--aws-primary-soft); }
.dt-btn__count { background: var(--aws-primary); color: #fff; border-radius: 999px; font-size: .7rem; padding: .02rem .45rem; }
.dt-toolbar__right { margin-left: auto; display: flex; align-items: center; gap: .6rem; }
.dt-total { font-size: .85rem; color: var(--aws-ink-500); white-space: nowrap; }
.dt-total strong { color: var(--aws-ink-900); }
.dt-viewswitch { display: inline-flex; padding: 3px; background: var(--aws-surface-sunken); border-radius: 10px; }
.dt-viewswitch a { display: grid; place-items: center; width: 34px; height: 32px; border-radius: 8px; color: var(--aws-ink-500) !important; }
.dt-viewswitch a.is-active { background: #fff; color: var(--aws-ink-900) !important; box-shadow: var(--aws-shadow-sm); }

.dt-filters { display: none; flex-basis: 100%; padding: 1rem; margin-top: .25rem; border-radius: 14px; background: var(--aws-surface-muted); border: 1px solid var(--aws-border); animation: aws-fade-down .2s ease; }
.dt-filters.is-open { display: block; }
.dt-filters__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .8rem; }
.dt-filter { display: flex; flex-direction: column; gap: .3rem; margin: 0; }
.dt-filter > span { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--aws-ink-500); }
.dt-filter select, .dt-filter input { min-height: 38px; padding: .4rem .7rem; border: 1px solid var(--aws-border-strong); border-radius: 10px; background-color: #fff; font-size: .86rem; width: 100%; }
.dt-filter select { appearance: none; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right .65rem center; background-size: 12px 9px; padding-right: 2rem; }
.dt-filter select:focus, .dt-filter input:focus { outline: none; border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.dt-filters__actions { display: flex; gap: .5rem; margin-top: .9rem; }
.dt-chips { display: flex; flex-wrap: wrap; gap: .4rem; padding: .7rem 1.1rem; border-bottom: 1px solid var(--aws-border); background: #fcfcfd; }
.dt-chip { display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .4rem .25rem .7rem; border-radius: 999px; background: var(--aws-primary-soft); color: var(--aws-primary) !important; font-size: .78rem; font-weight: 600; border: 1px solid transparent; }
.dt-chip span { color: var(--aws-ink-600); font-weight: 500; }
.dt-chip i { font-size: .95rem; opacity: .7; }
.dt-chip:hover { border-color: var(--aws-primary); }
.dt-chip:hover i { opacity: 1; }
.dt-chip--clear { background: none; color: var(--aws-ink-500) !important; padding-right: .7rem; }

.dt-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dt-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .88rem; }
.dt-table thead th {
    position: sticky; top: 0; z-index: 1;
    padding: .75rem 1rem; background: #f8fafc; border-bottom: 1px solid var(--aws-border);
    text-align: left; white-space: nowrap;
    font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--aws-ink-500);
}
.dt-table thead th.is-sorted { color: var(--aws-primary); }
.dt-sort { display: inline-flex; align-items: center; gap: .35rem; color: inherit !important; }
.dt-sort i { font-size: .85rem; opacity: .45; }
.dt-sort:hover i, .is-sorted .dt-sort i { opacity: 1; }
.dt-table tbody td, .dt-table tbody th { padding: .8rem 1rem; border-bottom: 1px solid #f0f2f5; vertical-align: middle; color: var(--aws-ink-700); }
.dt-table tbody tr { transition: background .12s; }
.dt-table tbody tr:hover { background: #fafbff; }
.dt-table tbody tr.is-selected { background: var(--aws-primary-soft); }
.dt-table tbody tr.is-trashed td { opacity: .6; }
.dt-table tbody tr:last-child td { border-bottom: 0; }
.dt-col-check { width: 44px; padding-right: 0 !important; }
.dt-check { width: 17px; height: 17px; accent-color: var(--aws-primary); cursor: pointer; }
.dt-col-actions { width: 1%; white-space: nowrap; text-align: right !important; }
.dt-primary { display: block; font-weight: 600; color: var(--aws-ink-900); }
.dt-sub { display: block; font-size: .78rem; color: var(--aws-ink-500); margin-top: .1rem; }
.dt-muted { color: var(--aws-ink-400); }
.dt-money { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--aws-ink-900); }
.dt-link { color: var(--aws-ink-700) !important; }
.dt-link:hover { color: var(--aws-primary) !important; text-decoration: underline; }
.dt-cell-media { display: flex; align-items: center; gap: .75rem; min-width: 180px; }
.dt-cell-media img, .dt-cell-media__ph { width: 44px; height: 44px; flex-shrink: 0; border-radius: 10px; object-fit: cover; background: var(--aws-surface-sunken); border: 1px solid var(--aws-border); }
.dt-cell-media__ph { display: grid; place-items: center; color: var(--aws-ink-400); }
.dt-actions { display: inline-flex; align-items: center; gap: .25rem; }
.dt-actions form { margin: 0; }
.dt-icon-btn { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; border: 1px solid transparent; background: none; color: var(--aws-ink-500) !important; font-size: 1rem; transition: all .12s; }
.dt-icon-btn:hover { background: #fff; border-color: var(--aws-border); color: var(--aws-primary) !important; box-shadow: var(--aws-shadow-xs); }
.dt-icon-btn--danger:hover { color: var(--aws-danger) !important; border-color: #fecaca; }
.dt-empty-row td { padding: 0 !important; }
.dt-bulkbar { position: sticky; bottom: 0; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .75rem 1.1rem; background: #1e1b4b; color: #e0e7ff; font-size: .88rem; animation: aws-fade-up .2s ease; }
.dt-bulkbar select { min-height: 34px; border-radius: 9px; border: 0; padding: .3rem .6rem; font-size: .85rem; }
.dt-bulkbar .aws-btn--ghost { color: #c7d2fe !important; }
.dt-bulkbar .aws-btn--ghost:hover { background: rgba(255,255,255,.1); color: #fff !important; }
.dt-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; padding: .85rem 1.1rem; border-top: 1px solid var(--aws-border); background: #fcfcfd; }
.dt-footer__info { font-size: .84rem; color: var(--aws-ink-500); }
.dt-footer__info strong { color: var(--aws-ink-900); }
.dt-perpage { margin: 0; margin-left: auto; }
.dt-perpage label { display: inline-flex; align-items: center; gap: .45rem; font-size: .82rem; color: var(--aws-ink-500); margin: 0; }
.dt-perpage select { min-height: 34px; border: 1px solid var(--aws-border-strong); border-radius: 9px; padding: .2rem .5rem; font-size: .84rem; background: #fff; }

/* 15. ADMIN WIDGETS ======================================================= */

.adm-amount { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--aws-border); }
.adm-amount > span:first-child { font-family: var(--aws-font-display); font-size: 2rem; font-weight: 800; }
.adm-amount small { font-size: .9rem; color: var(--aws-ink-500); font-weight: 600; }
.adm-json { background: #0f172a; color: #e2e8f0; border-radius: 12px; padding: 1rem; font-size: .78rem; max-height: 420px; overflow: auto; margin: 0; }
.adm-notes { white-space: pre-wrap; background: var(--aws-surface-muted); border-radius: 12px; padding: .9rem 1rem; font-size: .86rem; color: var(--aws-ink-700); max-height: 320px; overflow: auto; }

.adm-gateways { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; }
.adm-gateway { background: #fff; border: 1px solid var(--aws-border); border-radius: 18px; padding: 1.25rem; box-shadow: var(--aws-shadow-xs); display: flex; flex-direction: column; gap: .9rem; transition: border-color .2s, box-shadow .2s; }
.adm-gateway.is-on { border-color: #86efac; box-shadow: 0 0 0 3px #dcfce7; }
.adm-gateway__head { display: flex; align-items: center; gap: .8rem; }
.adm-gateway__head form { margin: 0 0 0 auto; }
.adm-gateway__logo { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; background: var(--aws-surface-sunken); color: var(--aws-ink-700); flex-shrink: 0; }
.adm-gateway.is-on .adm-gateway__logo { background: #dcfce7; color: #15803d; }
.adm-gateway__name strong { display: block; font-size: 1rem; }
.adm-gateway__name small { font-size: .78rem; color: var(--aws-ink-500); }
.adm-gateway__state { font-size: .82rem; font-weight: 600; color: #d97706; }
.adm-gateway__state.is-ok { color: var(--aws-success); }
.adm-gateway__foot { display: flex; gap: .4rem; margin-top: auto; }

.adm-menu-tree, .adm-menu-tree ol { list-style: none; margin: 0; padding: 0; }
.adm-menu-tree ol { margin-left: 1.6rem; padding-left: .8rem; border-left: 2px dashed var(--aws-border); }
.adm-menu-item { display: flex; align-items: center; gap: .7rem; padding: .65rem .8rem; margin: .35rem 0; background: #fff; border: 1px solid var(--aws-border); border-radius: 12px; }
.adm-menu-item__grip { cursor: grab; color: var(--aws-ink-400); }
.adm-menu-item__body { flex: 1; min-width: 0; }
.adm-menu-item__body strong { display: block; font-size: .9rem; }
.adm-menu-item__body small { color: var(--aws-ink-500); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.adm-menu-item form { margin: 0; }
.adm-menu-tree li.is-dragging > .adm-menu-item { opacity: .5; border-style: dashed; }

.adm-perm-table th { width: 280px; font-weight: 600; color: var(--aws-ink-900); }
.adm-perm-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.adm-perm { margin: 0; cursor: pointer; }
.adm-perm input { position: absolute; opacity: 0; }
.adm-perm span { display: inline-flex; align-items: center; padding: .35rem .75rem; border-radius: 999px; border: 1px solid var(--aws-border-strong); font-size: .8rem; font-weight: 600; color: var(--aws-ink-600); background: #fff; transition: all .12s; }
.adm-perm span::before { content: "\F26E"; font-family: bootstrap-icons; margin-right: .35rem; opacity: .25; }
.adm-perm input:checked + span { background: var(--aws-primary-soft); border-color: var(--aws-primary); color: var(--aws-primary); }
.adm-perm input:checked + span::before { content: "\F26E"; opacity: 1; }
.adm-perm input:focus-visible + span { box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.adm-perm input:disabled + span { opacity: .6; cursor: not-allowed; }

.adm-price-grid th[scope=row] { font-weight: 600; color: var(--aws-ink-900); white-space: nowrap; }
.adm-price-cell { margin: 0; min-width: 120px; }
.adm-price-cell input.is-saving { border-color: #f59e0b !important; }
.adm-price-cell input.is-saved { border-color: var(--aws-success) !important; box-shadow: 0 0 0 3px #dcfce7 !important; }

.adm-report-types { display: flex; flex-wrap: wrap; gap: .4rem; }
.adm-report-types a { padding: .5rem .9rem; border-radius: 999px; background: #fff; border: 1px solid var(--aws-border); font-size: .84rem; font-weight: 600; color: var(--aws-ink-600) !important; }
.adm-report-types a:hover { border-color: var(--aws-primary); color: var(--aws-primary) !important; }
.adm-report-types a.is-active { background: var(--aws-primary); border-color: var(--aws-primary); color: #fff !important; }

 

.adm-upload-card__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1rem; margin-top: 1rem; }
.adm-upload-card__row .aws-field { flex: 0 1 260px; }
.adm-upload-card__row .aws-dropzone__list { flex: 1; margin: 0; }
.adm-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; padding: 1.1rem; }
.adm-media-tile { position: relative; display: flex; flex-direction: column; padding: 0; border: 1px solid var(--aws-border); border-radius: 14px; background: #fff; overflow: hidden; text-align: left; transition: box-shadow .2s, transform .2s, border-color .2s; }
.adm-media-tile:hover { box-shadow: var(--aws-shadow-md); transform: translateY(-2px); border-color: transparent; }
.adm-media-tile img, .adm-media-tile__file { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: repeating-conic-gradient(#f3f4f6 0% 25%, #fff 0% 50%) 0 0 / 16px 16px; }
.adm-media-tile__file { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .2rem; color: var(--aws-ink-500); background: var(--aws-surface-sunken); font-size: 2rem; }
.adm-media-tile__file b { font-size: .75rem; text-transform: uppercase; }
.adm-media-tile__meta { padding: .6rem .75rem; }
.adm-media-tile__meta strong { display: block; font-size: .8rem; font-weight: 600; color: var(--aws-ink-900); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-media-tile__meta small { font-size: .72rem; color: var(--aws-ink-500); }
.adm-media-tile__flag { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #fef3c7; color: #d97706; font-size: .75rem; }
.adm-media-preview { border-radius: 14px; background: repeating-conic-gradient(#f3f4f6 0% 25%, #fff 0% 50%) 0 0 / 18px 18px; border: 1px solid var(--aws-border); display: grid; place-items: center; min-height: 220px; overflow: hidden; }
.adm-media-preview img { max-width: 100%; max-height: 360px; }
.adm-media-preview .adm-media-tile__file { aspect-ratio: auto; height: 220px; }

/* Auth (admin login) */
.adm-auth { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem; background: radial-gradient(1200px 600px at 10% -10%, #e0e7ff 0%, transparent 60%), radial-gradient(900px 500px at 110% 110%, #fce7f3 0%, transparent 60%), #f4f6fb; }
.adm-auth__wrap { width: 100%; max-width: 420px; }
.adm-auth__brand { display: flex; align-items: center; justify-content: center; gap: .75rem; margin-bottom: 1.5rem; }
.adm-auth__brand strong { display: block; font-family: var(--aws-font-display); font-size: 1.1rem; }
.adm-auth__brand small { color: var(--aws-ink-500); font-size: .78rem; }
.adm-auth__card { background: #fff; border-radius: 22px; padding: 2rem; box-shadow: var(--aws-shadow-lg); border: 1px solid var(--aws-border); }
.adm-auth__card h1 { font-size: 1.5rem; font-weight: 800; margin: 0 0 .3rem; }
.adm-auth__sub { color: var(--aws-ink-500); margin-bottom: 1.5rem; }
.adm-auth__foot { text-align: center; margin-top: 1.5rem; font-size: .88rem; }
.adm-auth .aws-toast-region { position: static; width: 100%; margin-bottom: 1rem; }

/* 16. MEDIA PICKER & LIBRARY DIALOG ======================================= */
.aws-media-picker { border: 1px dashed var(--aws-border-strong); border-radius: 14px; padding: .8rem; background: var(--aws-surface-muted); transition: border-color .15s, background .15s; }
.aws-media-picker.has-value { border-style: solid; background: #fff; }
.aws-media-picker:focus-within { border-color: var(--aws-primary); }
.aws-media-picker__items { display: grid; gap: .6rem; }
.aws-media-picker.is-multiple .aws-media-picker__items { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); }
.aws-media-picker__item { position: relative; display: flex; align-items: center; gap: .75rem; }
.aws-media-picker__item img, .aws-media-picker__file { width: 72px; height: 72px; border-radius: 10px; object-fit: cover; flex-shrink: 0; background: var(--aws-surface-sunken); border: 1px solid var(--aws-border); }
.aws-media-picker__file { display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--aws-ink-500); font-size: 1.5rem; }
.aws-media-picker__file small { font-size: .65rem; text-transform: uppercase; font-weight: 700; }
.aws-media-picker__meta { min-width: 0; flex: 1; }
.aws-media-picker__meta strong { display: block; font-size: .86rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aws-media-picker__meta small { color: var(--aws-ink-500); font-size: .76rem; }
.aws-media-picker__remove { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--aws-border); background: #fff; color: var(--aws-ink-500); display: grid; place-items: center; flex-shrink: 0; font-size: .75rem; }
.aws-media-picker__remove:hover { color: var(--aws-danger); border-color: #fecaca; }
.aws-media-picker.is-multiple .aws-media-picker__item { flex-direction: column; }
.aws-media-picker.is-multiple .aws-media-picker__item img, .aws-media-picker.is-multiple .aws-media-picker__file { width: 100%; height: auto; aspect-ratio: 1; }
.aws-media-picker.is-multiple .aws-media-picker__meta { display: none; }
.aws-media-picker.is-multiple .aws-media-picker__remove { position: absolute; top: 4px; right: 4px; width: 26px; height: 26px; box-shadow: var(--aws-shadow-sm); }
.aws-media-picker__empty { display: flex; align-items: center; gap: .6rem; color: var(--aws-ink-500); font-size: .86rem; padding: .3rem .2rem; }
.aws-media-picker__empty i { font-size: 1.5rem; color: var(--aws-ink-400); }
.aws-media-picker.has-value .aws-media-picker__empty { display: none; }
.aws-media-picker__actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; }
.aws-media-picker__required { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.ml .modal-header { gap: 1rem; flex-wrap: wrap; }
.ml-tabs { display: flex; gap: .25rem; list-style: none; margin: 0 auto 0 1rem; padding: 3px; background: var(--aws-surface-sunken); border-radius: 11px; }
.ml-tabs button { border: 0; background: none; padding: .4rem .8rem; border-radius: 9px; font-size: .84rem; font-weight: 600; color: var(--aws-ink-500); display: inline-flex; gap: .35rem; align-items: center; }
.ml-tabs button.is-active { background: #fff; color: var(--aws-ink-900); box-shadow: var(--aws-shadow-sm); }
.ml-body { padding: 1rem 1.25rem !important; min-height: 420px; }
.ml-toolbar { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-bottom: 1rem; }
.ml-toolbar select { min-height: 40px; border: 1px solid var(--aws-border-strong); border-radius: 11px; padding: .4rem .7rem; font-size: .86rem; background: #fff; }
.ml-count { margin-left: auto; font-size: .82rem; color: var(--aws-ink-500); }
.ml-layout { display: flex; gap: 1rem; align-items: flex-start; }
.ml-grid { flex: 1; display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: .75rem; }
.ml-tile { position: relative; padding: 0; border: 2px solid transparent; border-radius: 14px; overflow: hidden; background: var(--aws-surface-sunken); aspect-ratio: 1; cursor: pointer; transition: border-color .12s, transform .12s, box-shadow .12s; }
.ml-tile:hover { transform: translateY(-2px); box-shadow: var(--aws-shadow-md); }
.ml-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ml-tile__file { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: var(--aws-ink-500); font-size: 2rem; }
.ml-tile__file b { font-size: .72rem; text-transform: uppercase; }
.ml-tile__name { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.2rem .5rem .4rem; font-size: .72rem; font-weight: 600; color: #fff; background: linear-gradient(transparent, rgba(0,0,0,.65)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; opacity: 0; transition: opacity .15s; }
.ml-tile:hover .ml-tile__name, .ml-tile.is-selected .ml-tile__name { opacity: 1; }
.ml-tile__check { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.9); color: transparent; border: 2px solid #fff; box-shadow: var(--aws-shadow-sm); transition: all .12s; font-size: .8rem; }
.ml-tile.is-selected { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.ml-tile.is-selected .ml-tile__check { background: var(--aws-primary); color: #fff; }
.ml-tile.is-skeleton { cursor: default; background: linear-gradient(90deg, #eef0f4 25%, #f6f7f9 50%, #eef0f4 75%); background-size: 200% 100%; animation: aws-shimmer 1.2s infinite; }
.ml-details { width: 260px; flex-shrink: 0; position: sticky; top: 0; background: var(--aws-surface-muted); border-radius: 14px; padding: .9rem; font-size: .82rem; }
.ml-details img { width: 100%; border-radius: 10px; margin-bottom: .75rem; max-height: 180px; object-fit: contain; background: #fff; }
.ml-details__file { display: grid; place-items: center; height: 120px; font-size: 2.5rem; color: var(--aws-ink-400); }
.ml-details h6 { font-weight: 700; word-break: break-word; }
.ml-details dl { display: grid; grid-template-columns: auto 1fr; gap: .25rem .6rem; margin: .5rem 0; }
.ml-details dt { color: var(--aws-ink-500); font-weight: 500; }
.ml-details dd { margin: 0; word-break: break-all; }
.ml-details__alt { display: block; font-weight: 600; margin: .5rem 0; }
.ml-details__alt small { font-weight: 400; color: var(--aws-ink-500); }
.ml-details__alt input { width: 100%; margin-top: .3rem; border: 1px solid var(--aws-border-strong); border-radius: 8px; padding: .4rem .6rem; font-size: .82rem; }
.ml-details__actions { display: flex; gap: .3rem; flex-wrap: wrap; }
.ml-more { text-align: center; margin-top: 1rem; }
.ml-empty { grid-column: 1 / -1; text-align: center; padding: 3rem 1rem; color: var(--aws-ink-500); }
.ml-empty i { font-size: 2.5rem; color: var(--aws-ink-400); }
.ml-drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; min-height: 240px; padding: 2rem; border: 2px dashed var(--aws-border-strong); border-radius: 18px; background: var(--aws-surface-muted); text-align: center; cursor: pointer; color: var(--aws-ink-600); transition: all .15s; }
.ml-drop > i { font-size: 3rem; color: var(--aws-primary); }
.ml-drop strong { font-size: 1.1rem; color: var(--aws-ink-900); }
.ml-drop small { color: var(--aws-ink-400); max-width: 420px; }
.ml-drop:hover, .ml-drop.is-over { border-color: var(--aws-primary); background: var(--aws-primary-soft); }
.ml-uploads { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .5rem; }
.ml-uploads li { display: grid; grid-template-columns: 1fr 160px auto; align-items: center; gap: .75rem; padding: .6rem .8rem; border: 1px solid var(--aws-border); border-radius: 12px; font-size: .84rem; }
.ml-up__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.ml-up__bar { height: 6px; background: var(--aws-surface-sunken); border-radius: 99px; overflow: hidden; }
.ml-up__bar i { display: block; height: 100%; background: var(--aws-primary); transition: width .2s; }
.ml-up__status { font-size: .78rem; color: var(--aws-ink-500); white-space: nowrap; }
.ml-uploads li.is-done .ml-up__bar i { background: var(--aws-success); }
.ml-uploads li.is-done .ml-up__status { color: var(--aws-success); font-weight: 600; }
.ml-uploads li.is-error { border-color: #fecaca; background: #fff8f8; }
.ml-uploads li.is-error .ml-up__status { color: var(--aws-danger); white-space: normal; }
.ml-footer { justify-content: flex-end; }
.ml-selection { margin-right: auto; font-size: .86rem; color: var(--aws-ink-600); }

/* 17. PUBLIC INNER PAGES ================================================== */
.aws-hero { position: relative; overflow: hidden; padding: 2.5rem 1.5rem 3rem; color: #fff; background: linear-gradient(120deg, var(--home-maroon-900, #4a0d12), var(--home-red-700, #c81e2c) 70%, #e2721a 130%); }
.aws-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(600px 240px at 90% 10%, rgba(245,166,35,.35), transparent 70%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.06'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3Ccircle cx='30' cy='30' r='10'/%3E%3C/g%3E%3C/svg%3E"); }
.aws-hero__inner { position: relative; max-width: 1320px; margin: 0 auto; }
.aws-hero__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .82rem; color: #fde8d0; margin-bottom: .75rem; }
.aws-hero__crumbs a { color: #fff; text-decoration: none; opacity: .85; }
.aws-hero__crumbs a:hover { opacity: 1; text-decoration: underline; }
.aws-hero__crumbs .bi-chevron-right { font-size: .6rem; opacity: .6; }
.aws-hero h1 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); font-weight: 800; margin: 0; display: flex; align-items: center; gap: .6rem; color: #fff; }
.aws-hero h1 i { color: var(--home-orange-500, #f5a623); }
.aws-hero p { margin: .5rem 0 0; max-width: 720px; color: #fde8d0; font-size: 1.02rem; }
.aws-container { max-width: 1320px; margin: 0 auto; padding: 0 1.25rem; } /* same width as Bootstrap's .container (xxl) and the header / footer (.site-wrap) */
.aws-section { padding: 2.25rem 0 3.5rem; }
.aws-overlap { margin-top: -1.75rem; position: relative; z-index: 2; }

.aws-form-card { background: #fff; border-radius: 22px; box-shadow: 0 24px 60px -24px rgba(74, 13, 18, .25), 0 2px 6px rgba(16,24,40,.04); border: 1px solid #f1e6dc; overflow: hidden; }
.aws-form-card__body { padding: 2rem; }
.aws-form-card__foot { padding: 1.25rem 2rem; background: #fdfaf6; border-top: 1px solid #f1e6dc; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.aws-form-section { padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px dashed #eadfd3; }
.aws-form-section:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.aws-form-section__title { display: flex; align-items: center; gap: .6rem; font-family: var(--aws-font-display); font-size: 1.05rem; font-weight: 700; margin: 0 0 1.1rem; color: var(--aws-ink-900); }
.aws-form-section__num { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--aws-primary); color: #fff; font-size: .8rem; font-weight: 700; flex-shrink: 0; }
.aws-secure-note { display: flex; align-items: center; gap: .5rem; font-size: .82rem; color: var(--aws-ink-500); }
.aws-secure-note i { color: var(--aws-success); font-size: 1rem; }
.aws-side-card { background: #fff; border-radius: 20px; padding: 1.5rem; border: 1px solid #f1e6dc; box-shadow: var(--aws-shadow-sm); }
.aws-side-card h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: .8rem; }
.aws-benefits { list-style: none; padding: 0; margin: 0; }
.aws-benefits li { display: flex; gap: .6rem; padding: .45rem 0; font-size: .92rem; color: var(--aws-ink-700); }
.aws-benefits li i { color: var(--aws-success); margin-top: .1rem; }

.aws-amounts { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: .5rem; }
.aws-amounts label { margin: 0; cursor: pointer; }
.aws-amounts input { position: absolute; opacity: 0; }
.aws-amounts span { display: grid; place-items: center; height: 54px; border-radius: 14px; border: 2px solid var(--aws-border); background: #fff; font-family: var(--aws-font-display); font-weight: 700; font-size: 1.15rem; color: var(--aws-ink-700); transition: all .15s; }
.aws-amounts label:hover span { border-color: var(--aws-primary); }
.aws-amounts input:checked + span { border-color: var(--aws-primary); background: var(--aws-primary-soft); color: var(--aws-primary); box-shadow: 0 6px 16px -8px var(--aws-primary); }
.aws-amount-input { display: flex; align-items: center; border: 2px solid var(--aws-border-strong); border-radius: 14px; background: #fff; overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.aws-amount-input:focus-within { border-color: var(--aws-primary); box-shadow: 0 0 0 4px var(--aws-primary-ring); }
.aws-amount-input span { padding: 0 .9rem; font-size: 1.4rem; font-weight: 700; color: var(--aws-ink-500); }
.aws-amount-input input { border: 0 !important; box-shadow: none !important; font-size: 1.4rem !important; font-weight: 700 !important; min-height: 56px !important; padding-left: 0 !important; }

.aws-option-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .75rem; }
.aws-option-card { margin: 0; cursor: pointer; }
.aws-option-card input { position: absolute; opacity: 0; }
.aws-option-card > div { height: 100%; padding: 1rem 1.1rem; border: 2px solid var(--aws-border); border-radius: 16px; background: #fff; transition: all .15s; }
.aws-option-card strong { display: block; font-size: 1rem; color: var(--aws-ink-900); }
.aws-option-card .price { font-family: var(--aws-font-display); font-size: 1.4rem; font-weight: 800; color: var(--aws-primary); margin: .25rem 0; }
.aws-option-card small { color: var(--aws-ink-500); font-size: .8rem; }
.aws-option-card:hover > div { border-color: #fca5a5; }
.aws-option-card input:checked + div { border-color: var(--aws-primary); background: var(--aws-primary-soft); box-shadow: 0 10px 24px -14px var(--aws-primary); }
.aws-option-card input:focus-visible + div { box-shadow: 0 0 0 4px var(--aws-primary-ring); }

.aws-steps { display: flex; gap: .5rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.aws-steps span { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .8rem; border-radius: 999px; background: var(--aws-surface-sunken); font-size: .78rem; font-weight: 600; color: var(--aws-ink-500); }
.aws-steps span.is-current { background: var(--aws-primary); color: #fff; }
.aws-steps span.is-done { background: var(--aws-success-soft); color: var(--aws-success); }

.aws-success { text-align: center; max-width: 620px; margin: 0 auto; padding: 3rem 2rem; background: #fff; border-radius: 24px; box-shadow: var(--aws-shadow-lg); }
.aws-success__icon { width: 84px; height: 84px; margin: 0 auto 1.25rem; border-radius: 50%; display: grid; place-items: center; background: var(--aws-success-soft); color: var(--aws-success); font-size: 2.6rem; animation: aws-pop .5s var(--aws-ease); }
.aws-success h1 { font-size: 1.75rem; font-weight: 800; }
.aws-success__ref { display: inline-block; margin: 1rem 0; padding: .5rem 1rem; border-radius: 12px; background: var(--aws-surface-muted); font-family: ui-monospace, monospace; font-weight: 700; letter-spacing: .05em; }
.aws-success dl { text-align: left; }

/* Cards used on listing pages (events / news / gallery) */
.aws-tile { display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: 18px; overflow: hidden; border: 1px solid #efe6dd; box-shadow: var(--aws-shadow-xs); color: inherit; text-decoration: none; transition: transform .25s var(--aws-ease), box-shadow .25s; }
.aws-tile:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(74, 13, 18, .35); color: inherit; }
.aws-tile__media { position: relative; aspect-ratio: 16 / 9; background: linear-gradient(135deg, #fde8d0, #f8d7da); overflow: hidden; }
.aws-tile__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--aws-ease); }
.aws-tile:hover .aws-tile__media img { transform: scale(1.05); }
.aws-tile__media--ph { display: grid; place-items: center; color: var(--aws-primary); font-size: 2.5rem; }
.aws-tile__badge { position: absolute; top: .75rem; left: .75rem; }
.aws-tile__date { position: absolute; right: .75rem; bottom: .75rem; width: 54px; height: 58px; align-content: center; gap: .1rem; border-radius: 14px; background: #fff; box-shadow: var(--aws-shadow-md); display: grid; place-items: center; text-align: center; line-height: 1; font-size: .7rem; font-weight: 700; text-transform: uppercase; color: var(--aws-primary); }
.aws-tile__date b { display: block; font-size: 1.35rem; font-weight: 800; color: var(--aws-ink-900); }
.aws-tile__body { padding: 1.25rem 1.25rem 1.35rem; display: flex; flex-direction: column; gap: .35rem; flex: 1; }
.aws-tile__title { font-family: var(--aws-font-display); font-weight: 700; font-size: 1.08rem; color: var(--aws-ink-900); margin: 0; line-height: 1.35; }
.aws-tile__meta { display: flex; flex-wrap: wrap; gap: .25rem .9rem; font-size: .82rem; color: var(--aws-ink-500); }
.aws-tile__meta i { color: var(--aws-primary); margin-right: .2rem; }
.aws-tile__text { font-size: .9rem; color: var(--aws-ink-600); margin: .2rem 0 0; }
.aws-tile__cta { margin-top: auto; padding-top: .75rem; font-weight: 700; font-size: .88rem; color: var(--aws-primary); display: inline-flex; align-items: center; gap: .35rem; }
.aws-tile:hover .aws-tile__cta i { transform: translateX(3px); }
.aws-tile__cta i { transition: transform .2s; }

.aws-filterbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: 1.5rem; }
.aws-filterbar a { padding: .45rem 1rem; border-radius: 999px; background: #fff; border: 1px solid #eadfd3; font-size: .85rem; font-weight: 600; color: var(--aws-ink-600); text-decoration: none; }
.aws-filterbar a:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-filterbar a.is-active { background: var(--aws-primary); border-color: var(--aws-primary); color: #fff; }

.aws-prose { font-size: 1.02rem; line-height: 1.8; color: var(--aws-ink-700); }
.aws-prose h2, .aws-prose h3 { margin: 1.75rem 0 .75rem; color: var(--aws-ink-900); }
.aws-prose img { max-width: 100%; height: auto; border-radius: 14px; }
.aws-prose a { color: var(--aws-primary); }
.aws-prose blockquote { border-left: 4px solid var(--aws-accent); padding: .5rem 1.25rem; background: var(--aws-accent-soft); border-radius: 0 12px 12px 0; }

.aws-dash-nav { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.aws-dash-nav .nav-link { border-radius: 999px; padding: .5rem 1rem; font-weight: 600; font-size: .9rem; color: var(--aws-ink-600); background: #fff; border: 1px solid #eadfd3; }
.aws-dash-nav .nav-link.active { background: var(--aws-primary); border-color: var(--aws-primary); color: #fff; }
.aws-mini-stat { background: #fff; border: 1px solid #efe6dd; border-radius: 16px; padding: 1rem 1.1rem; }
.aws-mini-stat span { display: block; font-size: .78rem; color: var(--aws-ink-500); font-weight: 600; }
.aws-mini-stat strong { font-family: var(--aws-font-display); font-size: 1.4rem; }
.aws-table-simple { width: 100%; font-size: .9rem; }
.aws-table-simple th { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--aws-ink-500); padding: .6rem .75rem; border-bottom: 1px solid var(--aws-border); }
.aws-table-simple td { padding: .75rem; border-bottom: 1px solid #f3eee8; }

/* 17b. PUBLIC INNER PAGES — layout, panels, tiles, dashboard, lightbox ==== */
.aws-section--tint { background: radial-gradient(800px 360px at 0% 0%, #fdeee2, transparent 70%), radial-gradient(700px 360px at 100% 100%, #fbe4e6, transparent 70%); padding: 3rem 0 4rem; }
.aws-container--narrow { max-width: 920px; }
.aws-grid { display: grid; gap: 1.25rem; }
.aws-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aws-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aws-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.5rem; padding: .75rem; background: #fff; border-radius: 18px; border: 1px solid #f1e6dc; box-shadow: var(--aws-shadow-sm); }
.aws-toolbar .aws-filterbar a { background: transparent; }
.aws-toolbar .aws-filterbar a i { margin-right: .25rem; }
.aws-toolbar__filter { margin-left: auto; }
.aws-select { min-height: 38px; padding: .4rem 2.2rem .4rem .9rem; border-radius: 999px; border: 1px solid #eadfd3; background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") no-repeat right .8rem center / 12px; appearance: none; font-size: .85rem; font-weight: 600; color: var(--aws-ink-700); }
.aws-select:focus { outline: none; border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-search { position: relative; flex: 0 1 280px; margin-left: auto; }
.aws-search i { position: absolute; left: .9rem; top: 50%; transform: translateY(-50%); color: var(--aws-ink-400); }
.aws-search input { width: 100%; min-height: 40px; padding: .45rem 1rem .45rem 2.4rem; border-radius: 999px; border: 1px solid #eadfd3; font-size: .9rem; }
.aws-search input:focus { outline: none; border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }

.aws-panel { background: #fff; border-radius: 22px; padding: 1.75rem; border: 1px solid #f1e6dc; box-shadow: 0 20px 50px -34px rgba(74, 13, 18, .35); }
.aws-panel__title { font-family: var(--aws-font-display); font-size: 1.2rem; font-weight: 800; color: var(--aws-ink-900); margin-bottom: 1.1rem; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.aws-panel__subtitle { font-size: 1rem; font-weight: 700; display: flex; align-items: center; gap: .4rem; }
.aws-panel__subtitle i { color: var(--aws-accent); }
.aws-panel__cover { width: 100%; max-height: 440px; object-fit: cover; border-radius: 16px; margin-bottom: 1.5rem; }
.aws-lead { font-size: 1.15rem; line-height: 1.7; color: var(--aws-ink-700); font-weight: 500; }
.aws-meta-line { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px dashed #eadfd3; font-size: .82rem; color: var(--aws-ink-500); }
.aws-count { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 .45rem; border-radius: 999px; background: var(--aws-primary-soft); color: var(--aws-primary); font-size: .78rem; font-weight: 700; }
.aws-figure { margin: 0; border-radius: 22px; overflow: hidden; box-shadow: 0 24px 50px -28px rgba(74, 13, 18, .45); }
.aws-figure img { width: 100%; display: block; }
.aws-stats-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.aws-stats-row .aws-mini-stat strong { color: var(--aws-primary); }
.aws-feature { display: flex; flex-direction: column; gap: .3rem; padding: 1.4rem; border-radius: 20px; background: #fff; border: 1px solid #f1e6dc; text-decoration: none; color: var(--aws-ink-700); transition: transform .2s var(--aws-ease), box-shadow .2s, border-color .2s; }
.aws-feature > i { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; font-size: 1.35rem; color: #fff; background: linear-gradient(135deg, var(--aws-primary), var(--home-orange-700, #e2721a)); margin-bottom: .5rem; }
.aws-feature strong { font-family: var(--aws-font-display); font-size: 1.05rem; color: var(--aws-ink-900); }
.aws-feature span { font-size: .88rem; color: var(--aws-ink-500); }
.aws-feature:hover { transform: translateY(-3px); border-color: transparent; box-shadow: 0 18px 40px -20px rgba(74, 13, 18, .4); color: var(--aws-ink-700); }
.aws-callout { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; padding: 1rem 1.25rem; border-radius: 18px; background: #fff; border: 1px solid #bbf7d0; box-shadow: var(--aws-shadow-sm); }
.aws-callout > i { font-size: 1.8rem; color: var(--aws-success); }
.aws-callout div { display: flex; flex-direction: column; }
.aws-callout span { font-size: .85rem; color: var(--aws-ink-500); }
.aws-note { font-size: .86rem; color: var(--aws-ink-600); display: flex; gap: .45rem; align-items: baseline; }
.aws-note i { color: var(--aws-accent); }
.aws-optional { font-weight: 500; font-size: .75rem; color: var(--aws-ink-400); margin-left: .25rem; text-transform: lowercase; }
.aws-link-sm { font-size: .8rem; font-weight: 600; color: var(--aws-primary); text-decoration: none; display: inline-flex; align-items: center; gap: .25rem; }
.aws-link-sm:hover { text-decoration: underline; }
.aws-sticky { position: sticky; top: 76px; }
.aws-side-card__img { width: calc(100% + 3rem); margin: -1.5rem -1.5rem 1rem; max-width: none; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 20px 20px 0 0; }
.aws-side-card--muted { background: #fbf8f4; }
.aws-side-card--cta { border-color: #fcd9b6; background: linear-gradient(160deg, #fff, #fff6ec); }
.aws-info-list { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .9rem; }
.aws-info-list li { display: flex; gap: .8rem; }
.aws-info-list li > i { flex-shrink: 0; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--aws-primary-soft); color: var(--aws-primary); font-size: 1.05rem; }
.aws-info-list li > div { display: flex; flex-direction: column; min-width: 0; font-size: .92rem; }
.aws-info-list small { color: var(--aws-ink-500); font-size: .82rem; overflow-wrap: anywhere; }
.aws-info-list a { color: inherit; }
.aws-hero__meta { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin-top: .75rem; font-size: .88rem; color: #fde8d0; }
.aws-hero__meta i { margin-right: .3rem; opacity: .85; }

/* Forms (public) */
.aws-form-card__title { font-family: var(--aws-font-display); font-size: 1.15rem; font-weight: 800; margin-bottom: 1.1rem; display: flex; align-items: center; gap: .5rem; }
.aws-form-card__title i { color: var(--aws-primary); }
.aws-check--block { display: flex; align-items: flex-start; margin: 0 0 .7rem; line-height: 1.5; }
.aws-check--block input { margin-top: .2rem; flex-shrink: 0; }
.aws-check a { color: var(--aws-primary); }
.aws-option-cards--list { grid-template-columns: 1fr; gap: .55rem; }
.aws-option-cards--list .aws-option-card > div { display: flex; align-items: center; gap: .9rem; padding: .85rem 1rem; }
.aws-option-cards--list .aws-option-card > div > span:not(.aws-badge):not(.price) { display: flex; flex-direction: column; }
.aws-option-cards--list .price { font-size: 1.15rem; margin: 0; }
.aws-option-card__icon { font-size: 1.5rem; color: var(--aws-primary); width: 2rem; text-align: center; }
.aws-option-card__desc { margin: .5rem 0 0; font-size: .82rem; color: var(--aws-ink-500); line-height: 1.5; }
.aws-option-card--media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; margin-bottom: .6rem; }
.aws-option-card.is-disabled { opacity: .5; cursor: not-allowed; }
.aws-option-card.is-disabled > div { background: var(--aws-surface-muted); }
.aws-option-cards .error, .aws-option-cards label.error { grid-column: 1 / -1; }
.aws-total { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; margin: 1rem 0 .4rem; border-radius: 14px; background: linear-gradient(135deg, #fff7ec, #fdeee9); font-weight: 600; color: var(--aws-ink-600); }
.aws-total strong { font-family: var(--aws-font-display); font-size: 1.35rem; font-weight: 800; color: var(--aws-primary); }
.aws-stepper { display: inline-flex; align-items: stretch; border: 1px solid var(--aws-border-strong); border-radius: 12px; overflow: hidden; background: #fff; }
.aws-stepper button { width: 44px; border: 0; background: var(--aws-surface-muted); color: var(--aws-ink-700); font-size: 1rem; transition: background .15s; }
.aws-stepper button:hover { background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-field .aws-stepper input { width: 72px !important; min-height: 44px !important; border: 0 !important; border-radius: 0 !important; text-align: center; font-weight: 700; box-shadow: none !important; -moz-appearance: textfield; }
.aws-stepper input::-webkit-outer-spin-button, .aws-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.aws-stepper:focus-within { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-strength { height: 4px; margin-top: .45rem; border-radius: 2px; background: var(--aws-surface-sunken); overflow: hidden; }
.aws-strength i { display: block; height: 100%; width: 0; border-radius: 2px; transition: width .25s, background .25s; }
.aws-strength[data-score="1"] i { width: 25%; background: var(--aws-danger); }
.aws-strength[data-score="2"] i { width: 50%; background: var(--aws-accent); }
.aws-strength[data-score="3"] i { width: 75%; background: #65a30d; }
.aws-strength[data-score="4"] i { width: 100%; background: var(--aws-success); }
.aws-file { position: relative; display: flex; align-items: center; gap: .75rem; padding: 1rem 1.1rem; border: 2px dashed var(--aws-border-strong); border-radius: 14px; background: var(--aws-surface-muted); cursor: pointer; font-weight: 500; color: var(--aws-ink-600); transition: all .15s; }
.aws-file i { font-size: 1.4rem; color: var(--aws-primary); }
.aws-file:hover, .aws-file:focus-within { border-color: var(--aws-primary); background: var(--aws-primary-soft); }
.aws-file.has-file { border-style: solid; border-color: var(--aws-success); background: var(--aws-success-soft); }
.aws-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

/* Checkout / success */
.aws-steps span.is-active { background: var(--aws-primary); color: #fff; }
.aws-order__title { font-weight: 700; color: var(--aws-ink-900); }
.aws-order__lines { list-style: none; padding: 0; margin: 0 0 1rem; }
.aws-order__lines li { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px dashed #eadfd3; font-size: .92rem; }
.aws-order__lines li span { display: flex; flex-direction: column; }
.aws-order__lines small { color: var(--aws-ink-500); font-size: .78rem; }
.aws-order__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: .25rem; }
.aws-order__total strong { font-family: var(--aws-font-display); font-size: 1.7rem; font-weight: 800; color: var(--aws-primary); }
.aws-order__payer { display: flex; align-items: center; gap: .7rem; margin-top: 1.1rem; padding: .8rem; border-radius: 12px; background: var(--aws-surface-muted); font-size: .9rem; }
.aws-order__payer i { font-size: 1.5rem; color: var(--aws-ink-400); }
.aws-order__payer span { display: flex; flex-direction: column; min-width: 0; }
.aws-order__payer small { color: var(--aws-ink-500); overflow-wrap: anywhere; }
.aws-success__icon--pending { background: var(--aws-accent-soft); color: #b45309; }
.aws-success__icon--failed { background: var(--aws-danger-soft); color: var(--aws-danger); }
.aws-success__ref { display: inline-flex; align-items: center; gap: .6rem; }
.aws-success__ref span { font-family: var(--aws-font); font-weight: 600; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--aws-ink-500); }
.aws-success__actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-top: 1.5rem; }
.aws-success__print { margin: 1.25rem 0 0; font-size: .82rem; }
.aws-success__print a { color: var(--aws-ink-500); }
.aws-success--inline { box-shadow: 0 20px 50px -34px rgba(74, 13, 18, .35); max-width: none; }
.aws-summary { display: grid; gap: 0; margin: 1rem 0 0; border: 1px solid var(--aws-border); border-radius: 14px; overflow: hidden; text-align: left; }
.aws-summary > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 1rem; border-bottom: 1px solid var(--aws-border); font-size: .9rem; }
.aws-summary > div:last-child { border-bottom: 0; }
.aws-summary dt { font-weight: 600; color: var(--aws-ink-500); }
.aws-summary dd { margin: 0; text-align: right; color: var(--aws-ink-900); font-weight: 600; }
.aws-copy { border: 0; background: transparent; color: var(--aws-ink-500); padding: .1rem .3rem; border-radius: 6px; }
.aws-copy:hover, .aws-copy.is-copied { color: var(--aws-primary); background: var(--aws-primary-soft); }
.aws-spin { display: inline-block; animation: aws-spin 1.2s linear infinite; }

/* Event detail hero */

/* Tiles */
.aws-tile__kicker { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--aws-primary); margin-top: .5rem; }
.aws-tile__date small { display: block; font-size: .65rem; font-weight: 700; text-transform: uppercase; color: var(--aws-primary); letter-spacing: .06em; }
.aws-video { display: flex; flex-direction: column; gap: .6rem; text-decoration: none; color: var(--aws-ink-900); }
.aws-video__thumb { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #2b1a1c; }
.aws-video__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--aws-ease), filter .3s; }
.aws-video__play { position: absolute; inset: 0; margin: auto; width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; background: rgba(200, 30, 44, .92); color: #fff; font-size: 1.9rem; box-shadow: 0 0 0 8px rgba(255, 255, 255, .18); transition: transform .25s var(--aws-ease); }
.aws-video:hover .aws-video__thumb img { transform: scale(1.05); filter: brightness(.8); }
.aws-video:hover .aws-video__play { transform: scale(1.1); }
.aws-video__title { font-weight: 600; font-size: .92rem; line-height: 1.4; }
.aws-album { position: relative; display: flex; flex-direction: column; text-decoration: none; color: var(--aws-ink-900); padding-top: 10px; }
.aws-album__stack { position: absolute; top: 0; left: 14px; right: 14px; height: 30px; border-radius: 16px; background: #f1ddd0; box-shadow: 0 -4px 0 -1px #f8ebe2 inset; transform: translateY(0); transition: transform .3s var(--aws-ease); }
.aws-album:hover .aws-album__stack { transform: translateY(-5px); }
.aws-album__cover { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; border-radius: 18px; overflow: hidden; background: linear-gradient(135deg, #fde8d0, #f8d7da); color: var(--aws-primary); font-size: 2.5rem; box-shadow: 0 16px 36px -22px rgba(74, 13, 18, .5); }
.aws-album__cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--aws-ease); }
.aws-album:hover .aws-album__cover img { transform: scale(1.06); }
.aws-album__body { display: flex; flex-direction: column; gap: .2rem; padding: .8rem .25rem 0; }
.aws-album__body strong { font-family: var(--aws-font-display); font-size: 1.05rem; }
.aws-album__body small { display: flex; gap: .9rem; color: var(--aws-ink-500); font-size: .8rem; }
.aws-album--compact { padding-top: 0; }
.aws-masonry { columns: 3 260px; column-gap: 1rem; }
.aws-masonry__item { position: relative; display: block; margin-bottom: 1rem; break-inside: avoid; border-radius: 16px; overflow: hidden; background: #f3e6d8; }
.aws-masonry__item img { width: 100%; height: auto; display: block; transition: transform .6s var(--aws-ease); }
.aws-masonry__item:hover img { transform: scale(1.04); }
.aws-masonry__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.5rem .8rem .6rem; font-size: .82rem; color: #fff; background: linear-gradient(0deg, rgba(0, 0, 0, .65), transparent); opacity: 0; transition: opacity .25s; }
.aws-masonry__item:hover .aws-masonry__cap { opacity: 1; }

/* People & sponsors */
.aws-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1rem; }
.aws-person { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .2rem; padding: 1.4rem 1rem; border-radius: 18px; background: linear-gradient(180deg, #fffaf5, #fff); border: 1px solid #f1e6dc; transition: transform .2s var(--aws-ease), box-shadow .2s; }
.aws-person:hover { transform: translateY(-3px); box-shadow: 0 14px 30px -18px rgba(74, 13, 18, .4); }
.aws-person__avatar { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; margin-bottom: .6rem; font-family: var(--aws-font-display); font-size: 1.5rem; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--aws-primary), var(--home-orange-700, #e2721a)); box-shadow: 0 0 0 4px #fff, 0 0 0 6px #f6dcc4; }
.aws-person__name { font-size: 1rem; color: var(--aws-ink-900); }
.aws-person__role { font-size: .82rem; font-weight: 600; color: var(--aws-primary); }
.aws-person__meta { font-size: .75rem; color: var(--aws-ink-500); }

.aws-share { display: flex; align-items: center; gap: .5rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--aws-border); font-size: .85rem; font-weight: 600; color: var(--aws-ink-500); }
.aws-share a, .aws-share button { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--aws-border); background: #fff; color: var(--aws-ink-600); text-decoration: none; transition: all .15s; }
.aws-share a:hover, .aws-share button:hover { background: var(--aws-primary); border-color: var(--aws-primary); color: #fff; }

/* Auth */
.aws-auth { min-height: 60vh; display: grid; place-items: center; padding: 3rem 1rem; background: radial-gradient(700px 360px at 10% 0%, #fdeee2, transparent 70%), radial-gradient(700px 360px at 100% 100%, #fbe4e6, transparent 70%); }
.aws-auth__card { width: 100%; max-width: 440px; background: #fff; border-radius: 24px; padding: 2.25rem 2rem; box-shadow: 0 30px 60px -30px rgba(74, 13, 18, .4); border: 1px solid #f1e6dc; }
.aws-auth__head { text-align: center; margin-bottom: 1.5rem; }
.aws-auth__icon { width: 64px; height: 64px; margin: 0 auto .9rem; border-radius: 20px; display: grid; place-items: center; font-size: 1.8rem; color: #fff; background: linear-gradient(135deg, var(--aws-primary), var(--home-orange-700, #e2721a)); box-shadow: 0 12px 24px -10px var(--aws-primary); }
.aws-auth__head h1 { font-size: 1.5rem; font-weight: 800; margin-bottom: .3rem; }
.aws-auth__head p { color: var(--aws-ink-500); font-size: .92rem; margin: 0; }
.aws-auth__foot { text-align: center; margin: 1.5rem 0 0; font-size: .88rem; color: var(--aws-ink-500); }
.aws-auth__foot a { color: var(--aws-primary); font-weight: 600; }

/* Member dashboard */
.aws-dash-hero { color: #fff; padding: 2.5rem 1.25rem 4rem; background: radial-gradient(700px 260px at 90% 0%, rgba(245, 166, 35, .35), transparent 70%), linear-gradient(135deg, #4a0d12, #c81e2c); }
.aws-dash-hero__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.aws-dash-hero__hello { font-size: .9rem; color: #fde8d0; }
.aws-dash-hero h1 { font-family: var(--aws-font-display); font-weight: 800; font-size: clamp(1.6rem, 3.5vw, 2.3rem); margin: .1rem 0 .4rem; color: #fff; }
.aws-dash-hero p { margin: 0; color: #fde8d0; }
.aws-dash-hero .aws-badge { background: rgba(255, 255, 255, .18); color: #fff; }
.aws-dash-hero .aws-badge--success { background: #16a34a; }
.aws-btn--on-dark { background: rgba(255, 255, 255, .1) !important; border-color: rgba(255, 255, 255, .4) !important; color: #fff !important; }
.aws-btn--on-dark:hover { background: rgba(255, 255, 255, .2) !important; }
.aws-dash-hero + .aws-section .aws-dash-nav { margin-top: -1.6rem; padding: .4rem; border-radius: 999px; background: #fff; box-shadow: var(--aws-shadow-md); display: inline-flex; max-width: 100%; overflow-x: auto; flex-wrap: nowrap; }
.aws-dash-nav .nav-link { border: 0; white-space: nowrap; background: transparent; }
.aws-dash-nav .nav-link:hover:not(.active) { background: var(--aws-surface-muted); color: var(--aws-ink-900); }
.aws-dash-nav .nav-link i { margin-right: .25rem; }
.aws-list-row { display: flex; align-items: center; gap: .9rem; padding: .75rem; margin: 0 -.75rem; border-radius: 14px; text-decoration: none; color: inherit; transition: background .15s; }
.aws-list-row:hover { background: var(--aws-surface-muted); color: inherit; }
.aws-list-row__date { flex-shrink: 0; width: 52px; height: 56px; border-radius: 14px; text-align: center; background: var(--aws-primary-soft); }
.aws-list-row__date small { display: block; font-size: .65rem; font-weight: 700; text-transform: uppercase; color: var(--aws-primary); padding-top: .4rem; }
.aws-list-row__date b { font-family: var(--aws-font-display); font-size: 1.3rem; color: var(--aws-ink-900); }
.aws-list-row__main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.aws-list-row__main small { color: var(--aws-ink-500); font-size: .8rem; }

.aws-card-print { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.25rem; align-items: center; max-width: 640px; margin: 1.5rem auto 0; padding: 1.25rem; background: #fff; border-radius: 26px; box-shadow: var(--aws-shadow-lg); text-align: left; }

/* Lightbox */
.aws-lightbox { position: fixed; inset: 0; z-index: 2100; display: none; align-items: center; justify-content: center; padding: 3.5rem 4rem; background: rgba(12, 6, 7, .92); backdrop-filter: blur(4px); }
.aws-lightbox.is-open { display: flex; animation: aws-fade-down .2s var(--aws-ease); }
.aws-lightbox__stage { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.aws-lightbox__stage img { max-width: 100%; max-height: calc(100vh - 9rem); object-fit: contain; border-radius: 10px; box-shadow: 0 30px 60px rgba(0, 0, 0, .5); }
.aws-lightbox__stage iframe { width: min(1100px, 88vw); aspect-ratio: 16 / 9; border: 0; border-radius: 12px; background: #000; }
.aws-lightbox__stage figcaption { color: #f3e4dc; font-size: .9rem; text-align: center; }
.aws-lightbox__close, .aws-lightbox__nav { position: absolute; border: 0; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .12); color: #fff; font-size: 1.3rem; transition: background .15s; }
.aws-lightbox__close:hover, .aws-lightbox__nav:hover { background: rgba(255, 255, 255, .25); }
.aws-lightbox__close { top: 1rem; right: 1rem; }
.aws-lightbox__nav--prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.aws-lightbox__nav--next { right: 1rem; top: 50%; transform: translateY(-50%); }
.aws-lightbox__count { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); color: #cdb9b1; font-size: .82rem; }

@media (max-width: 991.98px) {
    .aws-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .aws-sticky { position: static; }
    .aws-lightbox { padding: 3.5rem .5rem; }
}
@media (max-width: 575.98px) {
    .aws-grid--2, .aws-grid--3 { grid-template-columns: 1fr; }
    .aws-panel { padding: 1.25rem; border-radius: 18px; }
    .aws-toolbar { flex-direction: column; align-items: stretch; border-radius: 16px; }
    .aws-toolbar .aws-filterbar { overflow-x: auto; flex-wrap: nowrap; padding-bottom: .15rem; }
    .aws-toolbar .aws-filterbar a { white-space: nowrap; }
    .aws-toolbar__filter, .aws-search { margin-left: 0; flex-basis: auto; }
    .aws-toolbar__filter .aws-select { width: 100%; }
    .aws-stats-row { grid-template-columns: 1fr 1fr 1fr; gap: .5rem; }
    .aws-stats-row .aws-mini-stat { padding: .75rem; }
    .aws-stats-row .aws-mini-stat strong { font-size: 1.15rem; }
    .aws-card-print { grid-template-columns: 1fr; }
    .aws-auth__card { padding: 1.75rem 1.25rem; }
    .aws-success { padding: 2.25rem 1.25rem; }
    .aws-summary > div { flex-direction: column; gap: .1rem; }
    .aws-summary dd { text-align: left; }
    .aws-lightbox__nav { top: auto; bottom: 1rem; transform: none; }
}
@media print {
    .no-print, .aws-dash-nav, .aws-success__actions, .aws-success__print { display: none !important; }
    .aws-card-print, .aws-success { box-shadow: none; }
    
}

/* Dashboard chart fallback (used only when Chart.js can't load) */
.adm-minibars { display: flex; align-items: flex-end; gap: 3px; height: calc(100% - 24px); min-height: 160px; padding-top: .5rem; }
.adm-minibars__col { flex: 1; height: 100%; display: flex; align-items: flex-end; border-radius: 4px; }
.adm-minibars__col:hover { background: #f1f3f9; }
.adm-minibars__col span { display: block; width: 100%; border-radius: 4px 4px 0 0; opacity: .85; transition: opacity .15s; }
.adm-minibars__col:hover span { opacity: 1; }
.adm-minibars__axis { display: flex; justify-content: space-between; font-size: .72rem; color: var(--aws-ink-400); margin-top: .35rem; }

/* 18. LEGACY HELPERS (kept for backwards compatibility) =================== */
.aws-section-title { font-family: var(--aws-font-display); font-weight: 800; font-size: 1.6rem; color: var(--aws-ink-900); position: relative; padding-bottom: .6rem; margin-bottom: 1.5rem; }
.aws-section-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 56px; height: 4px; background: linear-gradient(90deg, var(--aws-primary), var(--aws-accent)); border-radius: 2px; }
.aws-section-title--center { text-align: center; }
.aws-section-title--center::after { left: 50%; transform: translateX(-50%); }
.aws-badge { display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .7rem; border-radius: 999px; font-size: .75rem; font-weight: 600; background: var(--aws-surface-muted); color: var(--aws-ink-600); }
.aws-badge--primary { background: var(--aws-primary-soft); color: var(--aws-primary-dark); }
.aws-badge--accent { background: var(--aws-accent-soft); color: #8a5a12; }
.aws-badge--success { background: var(--aws-success-soft); color: var(--aws-success); }
.aws-widget, .aws-stat { background: #fff; border: 1px solid var(--aws-border); border-radius: 16px; padding: 1.25rem; box-shadow: var(--aws-shadow-xs); }
.aws-widget__value, .aws-stat__value { font-family: var(--aws-font-display); font-size: 1.6rem; font-weight: 800; }
.aws-widget__label, .aws-stat__label { font-size: .8rem; color: var(--aws-ink-500); }
.aws-table { width: 100%; border-collapse: collapse; background: #fff; }
.aws-table th, .aws-table td { padding: .75rem 1rem; border-bottom: 1px solid var(--aws-border); text-align: left; font-size: .9rem; }
.aws-table th { background: var(--aws-surface-muted); font-weight: 600; }
.reveal-on-scroll { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal-on-scroll.is-revealed { opacity: 1; transform: none; }

/* 19. RESPONSIVE ========================================================== */
@media (max-width: 991.98px) {
    .adm-sidebar { transform: translateX(-100%); width: min(300px, 86vw); box-shadow: var(--aws-shadow-lg); }
    .adm-shell.is-open .adm-sidebar { transform: none; }
    .adm-shell.is-open .adm-backdrop { display: block; position: fixed; inset: 0; z-index: 1035; background: rgba(15, 23, 42, .45); backdrop-filter: blur(2px); }
    .adm-main, .adm-shell.is-collapsed .adm-main { margin-left: 0; }
    .adm-shell.is-collapsed .adm-sidebar { width: min(300px, 86vw); }
    .adm-content { padding: 1.25rem 1rem 2rem; }
    .adm-topbar { padding: 0 .75rem; }
    .adm-sticky-actions { margin: 1rem -1rem -2rem; padding: .75rem 1rem; }
    .ml-details { display: none !important; }
    .adm-vtabs { position: static; flex-direction: row; overflow-x: auto; }
    .adm-vtabs a { white-space: nowrap; }
}
@media (max-width: 767.98px) {
    .adm-page-head h1 { font-size: 1.2rem; }
    .adm-page-head__icon { display: none; }
    .adm-page-head__actions { width: 100%; }
    .adm-hello { padding: 1.25rem; }
    .adm-hello h1 { font-size: 1.25rem; }
    .dt-search { max-width: none; flex-basis: 100%; }
    .dt-toolbar__right { margin-left: 0; width: 100%; justify-content: space-between; }
    /* Tables become cards on phones */
    .dt-table thead { display: none; }
    .dt-table, .dt-table tbody, .dt-table tr, .dt-table td { display: block; width: 100%; }
    .dt-table tbody tr { position: relative; padding: .8rem 1rem; border-bottom: 1px solid var(--aws-border); }
    .dt-table tbody td { padding: .2rem 0 !important; border: 0 !important; display: flex; gap: .75rem; justify-content: space-between; align-items: center; text-align: right; }
    .dt-table tbody td[data-label]::before { content: attr(data-label); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--aws-ink-400); text-align: left; flex-shrink: 0; }
    .dt-table tbody td:first-of-type[data-label], .dt-table tbody .dt-col-check + td { text-align: left; }
    .dt-table .dt-col-check { position: absolute; top: .9rem; right: 3.2rem; width: auto; }
    .dt-table .dt-col-actions { position: absolute; top: .55rem; right: .5rem; width: auto; }
    .dt-table tbody td .dt-cell-media { min-width: 0; }
    .dt-empty-row td { display: block !important; }
    .dt-empty-row td::before { display: none !important; }
    .dt-perpage { margin-left: 0; }
    .ml-tabs { order: 3; margin: 0; width: 100%; overflow-x: auto; }
    .ml-uploads li { grid-template-columns: 1fr; gap: .35rem; }
    .adm-dl, .adm-dl--wide { grid-template-columns: 1fr; gap: .1rem; }
    .adm-dl dd { margin-bottom: .5rem; }
    .adm-dl--wide dt { border: 0; padding-bottom: 0; }
    .aws-form-card__body { padding: 1.25rem; }
    .aws-form-card__foot { padding: 1rem 1.25rem; }
    .aws-form-card__foot .aws-btn { width: 100%; }
    .aws-hero { padding: 1.75rem 1rem 2.5rem; }
    .aws-toast-region { top: auto; bottom: 1rem; right: .5rem; left: .5rem; width: auto; }
}

/* 20. MOTION & PRINT ====================================================== */
@keyframes aws-spin { to { transform: rotate(360deg); } }
@keyframes aws-shake { 0%, 100% { transform: none; } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }
@keyframes aws-toast-in { from { opacity: 0; transform: translateY(-8px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes aws-fade-down { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes aws-fade-up { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes aws-pop { 0% { transform: scale(.8); opacity: 0; } 60% { transform: scale(1.06); } 100% { transform: none; opacity: 1; } }
@keyframes aws-shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .reveal-on-scroll { opacity: 1; transform: none; }
}
@media print {
    .adm-sidebar, .adm-topbar, .adm-footer, .dt-toolbar, .dt-footer, .dt-col-actions, .dt-col-check, .adm-page-head__actions,
    .site-chrome, .site-chrome__footer, .aws-no-print { display: none !important; }
    .adm-main { margin: 0 !important; }
    .aws-card, .dt-card{ box-shadow: none !important; }
    
}

/* ── Shop (catalog) — tokens only ───────────────────────────────────────── */
.aws-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 991px) { .aws-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .aws-grid--4 { grid-template-columns: 1fr 1fr; gap: .75rem; } }

.aws-shop-tile .aws-tile__media { aspect-ratio: 1 / 1; position: relative; }
.aws-shop-tile .aws-tile__media img { width: 100%; height: 100%; object-fit: cover; }
.aws-shop-tile__flag { position: absolute; left: .75rem; bottom: .75rem; background: var(--aws-ink-900); color: var(--aws-surface); font-size: .75rem; font-weight: 600; padding: .2rem .6rem; border-radius: 999px; }
.aws-shop-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem; margin-top: .25rem; }
.aws-shop-price strong { color: var(--aws-primary); font-size: 1.05rem; }
.aws-shop-price s { color: var(--aws-ink-400); font-size: .875rem; }
.aws-shop-price--lg strong { font-size: 1.6rem; }
.aws-shop-low { color: var(--aws-warning); font-weight: 600; }
.aws-shop-title { font-family: var(--aws-font-display); color: var(--aws-ink-900); margin: .5rem 0; }

.aws-shop-filters .aws-field { margin-bottom: .75rem; }
.aws-shop-cats a { display: block; padding: .3rem 0; color: var(--aws-ink-700); text-decoration: none; }
.aws-shop-cats a:hover, .aws-shop-cats a.is-active { color: var(--aws-primary); font-weight: 600; }

.aws-shop-gallery__main { width: 100%; border-radius: var(--aws-radius); aspect-ratio: 1 / 1; object-fit: cover; background: var(--aws-surface-muted); }
.aws-shop-gallery__thumbs { display: flex; gap: .5rem; margin-top: .75rem; flex-wrap: wrap; }
.aws-shop-gallery__thumb { border: 2px solid var(--aws-border); border-radius: var(--aws-radius-sm); padding: 0; width: 64px; height: 64px; overflow: hidden; background: var(--aws-surface); cursor: pointer; }
.aws-shop-gallery__thumb:hover, .aws-shop-gallery__thumb:focus-visible { border-color: var(--aws-primary); }
.aws-shop-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.aws-shop-gallery__ph { aspect-ratio: 1 / 1; display: grid; place-items: center; font-size: 4rem; color: var(--aws-ink-400); background: var(--aws-surface-muted); border-radius: var(--aws-radius); }

/* ── Shop (cart / checkout) — tokens only ──────────────────────────────── */
.aws-qty { width: 84px; }
.aws-cart-item { display: flex; gap: .75rem; align-items: center; }
.aws-cart-item img, .aws-cart-item__ph { width: 56px; height: 56px; border-radius: var(--aws-radius-sm); object-fit: cover; background: var(--aws-surface-muted); display: grid; place-items: center; color: var(--aws-ink-400); flex: none; }
.aws-shop-summary__rows { margin: 0 0 1rem; }
.aws-shop-summary__rows > div { display: flex; justify-content: space-between; padding: .4rem 0; border-bottom: 1px solid var(--aws-border); }
.aws-shop-summary__rows dt { font-weight: 500; color: var(--aws-ink-600); }
.aws-shop-summary__rows dd { margin: 0; font-weight: 600; color: var(--aws-ink-900); }
.aws-shop-summary__total { border-bottom: 0 !important; font-size: 1.15rem; }
.aws-shop-summary__total dt, .aws-shop-summary__total dd { color: var(--aws-primary); font-weight: 700; }
.aws-option-card { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; border: 2px solid var(--aws-border); border-radius: var(--aws-radius); cursor: pointer; background: var(--aws-surface); }
.aws-option-card:has(input:checked) { border-color: var(--aws-primary); background: var(--aws-primary-soft); }
.aws-option-card__body { flex: 1; }
.aws-option-card__price { font-weight: 600; color: var(--aws-ink-900); }
.site-cart-count { display: inline-grid; place-items: center; min-width: 1.4rem; height: 1.4rem; padding: 0 .35rem; margin-left: .35rem; border-radius: 999px; background: var(--aws-surface); color: var(--aws-primary); font-size: .75rem; font-weight: 700; }
@media (max-width: 575px) { .aws-cart-table thead { display: none; } }

/* ── Reviews ───────────────────────────────────────────────────────────── */
.aws-stars { color: var(--aws-accent); letter-spacing: .1em; }
.aws-review { padding: .85rem 0; border-bottom: 1px solid var(--aws-border); }
.aws-review:last-of-type { border-bottom: 0; }

/* ── Admin: order history timeline, inventory quick edit, switch cells ─── */
.adm-timeline { list-style: none; margin: 0; padding: 0; }
.adm-timeline > li { display: flex; gap: .75rem; padding: .6rem 0; border-bottom: 1px dashed var(--aws-border); }
.adm-timeline > li:last-child { border-bottom: 0; }
.adm-timeline__icon { width: 32px; height: 32px; flex-shrink: 0; border-radius: 10px; display: grid; place-items: center; background: var(--aws-primary-soft); color: var(--aws-primary); }
.adm-timeline strong { display: block; font-size: .9rem; color: var(--aws-ink-900); }
.adm-timeline small { color: var(--aws-ink-500); font-size: .78rem; }
.adm-stock-input { width: 96px; }
.adm-stock-row--variant td:first-child { padding-left: 2.25rem; }
.adm-stock-form { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.adm-chip { display: inline-block; padding: .15rem .55rem; margin: 0 .25rem .25rem 0; border: 1px solid var(--aws-border-strong); border-radius: 999px; background: var(--aws-surface-muted); font-size: .78rem; cursor: pointer; font-family: ui-monospace, monospace; }
.adm-chip:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.adm-preview-frame { width: 100%; height: 520px; border: 1px solid var(--aws-border); border-radius: var(--aws-radius); background: var(--aws-surface); }

/* ==========================================================================
   STOREFRONT DESIGNS — page loader, product card, product page
   (tokens only; the theme preset on <html data-site-theme> re-colours them)
   ========================================================================== */

/* Page loader (site + admin) */
.aws-loader { position: fixed; inset: 0; z-index: 4000; display: grid; place-items: center; background: rgba(255, 255, 255, .78); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.aws-loader.is-active { opacity: 1; visibility: visible; }
.aws-loader__box { display: grid; place-items: center; width: 120px; height: 120px; border-radius: 24px; background: var(--aws-surface); box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .35); }
.aws-loader__img { width: 96px; height: 96px; object-fit: contain; }
.aws-loader__ring { width: 46px; height: 46px; border-radius: 50%; border: 4px solid var(--aws-primary-soft); border-top-color: var(--aws-primary); animation: aws-spin .8s linear infinite; }
.aws-loader__dots { display: flex; gap: 7px; }
.aws-loader__dots i { width: 11px; height: 11px; border-radius: 50%; background: var(--aws-primary); animation: aws-loader-bounce 1s infinite ease-in-out; }
.aws-loader__dots i:nth-child(2) { animation-delay: .15s; }
.aws-loader__dots i:nth-child(3) { animation-delay: .3s; }
.aws-loader__leaf { font-size: 2.6rem; color: var(--aws-primary); animation: aws-loader-pulse 1.1s infinite ease-in-out; }
.aws-loader__bar { width: 70px; height: 6px; border-radius: 999px; background: var(--aws-primary-soft); overflow: hidden; }
.aws-loader__bar i { display: block; width: 40%; height: 100%; border-radius: inherit; background: var(--aws-primary); animation: aws-loader-slide 1s infinite ease-in-out; }
@keyframes aws-loader-bounce { 0%, 80%, 100% { transform: scale(.55); opacity: .5; } 40% { transform: scale(1); opacity: 1; } }
@keyframes aws-loader-pulse { 50% { transform: scale(1.18) rotate(20deg); opacity: .7; } }
@keyframes aws-loader-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }
@media (prefers-reduced-motion: reduce) { .aws-loader__ring, .aws-loader__dots i, .aws-loader__leaf, .aws-loader__bar i { animation-duration: 2.4s; } }

/* Product card (frontend/partials/product-tile) */
.aws-shop-tile { position: relative; }
.aws-shop-tile .aws-tile__title a { color: inherit; text-decoration: none; }
.aws-shop-tile .aws-tile__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* whole card clickable */
.aws-shop-tile__badges { position: absolute; top: .7rem; left: .7rem; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; }
.aws-shop-badge { display: inline-flex; align-items: center; gap: .25rem; padding: .2rem .55rem; border-radius: 999px; background: var(--aws-ink-900); color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .02em; }
.aws-shop-badge--sale { background: var(--aws-danger); }
.aws-shop-badge--hot { background: var(--aws-accent); color: var(--aws-ink-900); }
.aws-shop-badge--out { background: var(--aws-ink-500); }
.aws-shop-tile__wish { position: absolute; top: .6rem; right: .6rem; z-index: 2; margin: 0; }
.aws-shop-tile__wish button, .aws-shop-tile__wish span { width: 36px; height: 36px; border-radius: 50%; border: 0; display: grid; place-items: center; background: rgba(255, 255, 255, .92); color: var(--aws-ink-700); box-shadow: var(--aws-shadow-xs); font-size: 1rem; transition: transform .2s, color .2s; }
.aws-shop-tile__wish button:hover, .aws-shop-tile__wish span:hover { transform: scale(1.1); color: var(--aws-danger); }
.aws-shop-tile__wish .is-saved { color: var(--aws-danger); }
.aws-shop-tile__actions { margin-top: auto; padding-top: .75rem; position: relative; z-index: 2; }
.aws-shop-tile__actions form { margin: 0; }
.aws-shop-tile__btn { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .6rem .8rem; border-radius: 8px; border: 1.5px solid var(--aws-primary); background: transparent; color: var(--aws-primary); font-weight: 700; font-size: .85rem; text-decoration: none; transition: background .2s, color .2s; }
.aws-shop-tile__btn:hover { background: var(--aws-primary); color: #fff; }
.aws-shop-tile__btn--cart { background: var(--aws-primary); color: #fff; }
.aws-shop-tile__btn--cart:hover { background: var(--aws-primary-dark); border-color: var(--aws-primary-dark); }
.aws-shop-tile__btn.is-added, .aws-shop-buy__btn.is-added { background: var(--aws-success) !important; border-color: var(--aws-success) !important; color: #fff !important; }
.aws-shop-tile__btn.is-disabled { border-color: var(--aws-border-strong); color: var(--aws-ink-400); cursor: not-allowed; }
.aws-shop-tile--compact { border-radius: 8px; }
.aws-shop-tile--compact .aws-tile__body { padding: .75rem; }
.aws-shop-tile--compact .aws-tile__title { font-size: .92rem; }
.aws-shop-tile--compact .aws-tile__meta { display: none; }
.aws-shop-tile--compact .aws-shop-tile__btn { padding: .45rem .5rem; font-size: .78rem; }

/* Product page: breadcrumbs */
.aws-shop-crumbs { background: var(--aws-surface-muted); border-bottom: 1px solid var(--aws-border); font-size: .82rem; }
.aws-shop-crumbs ol { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: 0; padding: .8rem 0; }
.aws-shop-crumbs li + li::before { content: "\F285"; font-family: bootstrap-icons; font-size: .65rem; margin-right: .35rem; color: var(--aws-ink-400); }
.aws-shop-crumbs a { color: var(--aws-ink-600); text-decoration: none; }
.aws-shop-crumbs a:hover { color: var(--aws-primary); }
.aws-shop-crumbs [aria-current] { color: var(--aws-ink-900); font-weight: 600; }

/* Product page: layout */
.aws-shop-pd { padding: 2rem 0 3.5rem; }
.aws-shop-pd__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.aws-shop-pd__buy { position: sticky; top: calc(var(--sticky-offset, 0px) + 20px); }
.aws-shop-pd__related { margin-top: 3.5rem; }
.aws-shop-pd__related-head { margin-bottom: 1.5rem; }

/* Gallery */
.aws-shop-gal__stage { position: relative; border-radius: 12px; overflow: hidden; background: var(--aws-surface); border: 1px solid var(--aws-border); }
.aws-shop-gal__zoom { display: block; width: 100%; padding: 0; border: 0; background: none; aspect-ratio: 1 / 1; overflow: hidden; cursor: zoom-in; }
.aws-shop-gal__zoom img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease-out; }
.aws-shop-gal__zoom.is-zoomed img { transform: scale(2.1); }
.aws-shop-gal__hint { position: absolute; left: 50%; bottom: .8rem; transform: translateX(-50%); padding: .3rem .75rem; border-radius: 999px; background: rgba(0, 0, 0, .55); color: #fff; font-size: .72rem; pointer-events: none; opacity: 0; transition: opacity .2s; white-space: nowrap; }
.aws-shop-gal__stage:hover .aws-shop-gal__hint { opacity: 1; }
.aws-shop-gal__stage:hover .aws-shop-gal__zoom.is-zoomed ~ .aws-shop-gal__hint { opacity: 0; }
.aws-shop-gal__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; border: 0; display: grid; place-items: center; background: rgba(255, 255, 255, .92); color: var(--aws-ink-900); box-shadow: var(--aws-shadow-xs); opacity: 0; transition: opacity .2s; }
.aws-shop-gal__nav--prev { left: .75rem; }
.aws-shop-gal__nav--next { right: .75rem; }
.aws-shop-gal__stage:hover .aws-shop-gal__nav, .aws-shop-gal__nav:focus-visible { opacity: 1; }
.aws-shop-gal__badge { position: absolute; top: .9rem; left: .9rem; font-size: .8rem; }
.aws-shop-gal__ph { aspect-ratio: 1 / 1; display: grid; place-items: center; font-size: 4rem; color: var(--aws-ink-400); background: var(--aws-surface-muted); }
.aws-shop-gal__thumbs { display: flex; gap: .6rem; margin-top: .8rem; overflow-x: auto; padding-bottom: .25rem; scrollbar-width: thin; }
.aws-shop-gal__thumb { flex: 0 0 76px; height: 76px; padding: 0; border-radius: 8px; overflow: hidden; border: 2px solid var(--aws-border); background: var(--aws-surface); cursor: pointer; transition: border-color .2s, opacity .2s; opacity: .75; }
.aws-shop-gal__thumb img { width: 100%; height: 100%; object-fit: cover; }
.aws-shop-gal__thumb:hover, .aws-shop-gal__thumb.is-active { border-color: var(--aws-primary); opacity: 1; }

/* Buy box */
.aws-shop-buy__cat { display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--aws-primary); text-decoration: none; margin-bottom: .4rem; }
.aws-shop-buy__title { font-family: var(--aws-font-display); font-weight: 800; font-size: clamp(1.5rem, 2.6vw, 2.1rem); color: var(--aws-ink-900); line-height: 1.2; margin: 0 0 .6rem; }
.aws-shop-buy__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.2rem; font-size: .85rem; color: var(--aws-ink-500); margin-bottom: 1rem; }
.aws-shop-buy__rating { color: var(--aws-ink-700); text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.aws-shop-buy__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .6rem; padding: .9rem 0; border-top: 1px dashed var(--aws-border-strong); border-bottom: 1px dashed var(--aws-border-strong); }
.aws-shop-buy__price strong { font-size: 1.9rem; font-weight: 800; color: var(--aws-primary); line-height: 1; }
.aws-shop-buy__price s { color: var(--aws-ink-400); font-size: 1.05rem; }
.aws-shop-buy__tax { display: block; margin-top: .35rem; color: var(--aws-ink-500); font-size: .78rem; }
.aws-shop-buy__stock { margin: .9rem 0 .4rem; }
.aws-shop-buy__short { color: var(--aws-ink-600); line-height: 1.7; margin: .75rem 0 1.1rem; }
.aws-shop-buy__form { display: grid; gap: 1rem; margin-top: .5rem; }
.aws-shop-opt { border: 0; padding: 0; margin: 0; min-width: 0; }
.aws-shop-opt legend { float: none; font-size: .9rem; font-weight: 700; color: var(--aws-ink-900); margin-bottom: .5rem; }
.aws-shop-opt__picked { font-weight: 500; color: var(--aws-ink-600); }
.aws-shop-opt__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.aws-shop-chip { position: relative; margin: 0; cursor: pointer; }
.aws-shop-chip input { position: absolute; opacity: 0; pointer-events: none; }
.aws-shop-chip span { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; padding: .45rem 1rem; border-radius: 8px; border: 1.5px solid var(--aws-border-strong); background: var(--aws-surface); font-size: .88rem; font-weight: 600; color: var(--aws-ink-700); transition: border-color .15s, background .15s, color .15s; }
.aws-shop-chip span em { font-style: normal; font-weight: 500; color: var(--aws-danger); font-size: .75rem; }
.aws-shop-chip:hover span { border-color: var(--aws-primary); }
.aws-shop-chip input:checked + span { border-color: var(--aws-primary); background: var(--aws-primary-soft); color: var(--aws-primary-dark); box-shadow: inset 0 0 0 1px var(--aws-primary); }
.aws-shop-chip input:focus-visible + span { box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-shop-chip input:disabled + span, .aws-shop-chip.is-unavailable span { opacity: .45; text-decoration: line-through; cursor: not-allowed; }
.aws-shop-chip.is-unavailable input:checked + span { opacity: .8; }
.aws-shop-chip__dot { width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
.aws-shop-buy__row { display: flex; gap: .75rem; align-items: stretch; }
.aws-shop-qty { height: 50px; }
.aws-shop-qty input { width: 56px; border: 0; text-align: center; font-weight: 700; font-size: 1rem; -moz-appearance: textfield; }
.aws-shop-qty input::-webkit-outer-spin-button, .aws-shop-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.aws-shop-buy__btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 50px; padding: .7rem 1.4rem; border-radius: 10px; border: 1.5px solid var(--aws-primary); font-weight: 700; font-size: .98rem; cursor: pointer; transition: background .2s, color .2s, transform .15s; }
.aws-shop-buy__btn:active { transform: scale(.98); }
.aws-shop-buy__btn:disabled { opacity: .55; cursor: not-allowed; }
.aws-shop-buy__btn--cart { flex: 1; background: var(--aws-primary); color: #fff; }
.aws-shop-buy__btn--cart:hover { background: var(--aws-primary-dark); border-color: var(--aws-primary-dark); }
.aws-shop-buy__btn--now { width: 100%; background: var(--aws-surface); color: var(--aws-primary); }
.aws-shop-buy__btn--now:hover { background: var(--aws-primary-soft); }
.aws-shop-buy__extras { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--aws-border); }
.aws-shop-buy__extras form { margin: 0; }
.aws-shop-buy__link { border: 0; background: none; padding: 0; color: var(--aws-ink-700); font-weight: 600; font-size: .9rem; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.aws-shop-buy__link:hover, .aws-shop-buy__link.is-saved { color: var(--aws-danger); }
.aws-shop-buy__share { display: flex; align-items: center; gap: .5rem; font-size: .85rem; color: var(--aws-ink-500); }
.aws-shop-buy__share a, .aws-shop-buy__share button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--aws-border); background: var(--aws-surface); display: grid; place-items: center; color: var(--aws-ink-700); text-decoration: none; }
.aws-shop-buy__share a:hover, .aws-shop-buy__share button:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-shop-buy__trust { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; list-style: none; margin: 1rem 0 0; padding: .9rem 1rem; border-radius: 10px; background: var(--aws-surface-muted); font-size: .82rem; color: var(--aws-ink-600); }
.aws-shop-buy__trust i { color: var(--aws-primary); margin-right: .25rem; }
.aws-shop-buy__trust a { color: inherit; }
.aws-ajax-error { margin-top: .35rem; }

/* Info tabs */
.aws-shop-tabs { margin-top: 3rem; border: 1px solid var(--aws-border); border-radius: 12px; background: var(--aws-surface); overflow: hidden; }
.aws-shop-tabs__nav { display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 0; border-bottom: 1px solid var(--aws-border); background: var(--aws-surface-muted); scrollbar-width: none; }
.aws-shop-tabs__nav .nav-link { border: 0; border-radius: 0; background: none; padding: 1rem 1.4rem; font-weight: 700; font-size: .92rem; color: var(--aws-ink-600); white-space: nowrap; position: relative; }
.aws-shop-tabs__nav .nav-link::after { content: ""; position: absolute; left: 1rem; right: 1rem; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--aws-primary); transform: scaleX(0); transition: transform .2s; }
.aws-shop-tabs__nav .nav-link:hover { color: var(--aws-ink-900); }
.aws-shop-tabs__nav .nav-link.active { color: var(--aws-primary); background: var(--aws-surface); }
.aws-shop-tabs__nav .nav-link.active::after { transform: scaleX(1); }
.aws-shop-tabs__body { padding: 1.75rem; }
.aws-shop-specs { width: 100%; max-width: 640px; border-collapse: collapse; font-size: .92rem; }
.aws-shop-specs th, .aws-shop-specs td { padding: .7rem 1rem; border-bottom: 1px solid var(--aws-border); text-align: left; vertical-align: top; }
.aws-shop-specs th { width: 38%; color: var(--aws-ink-600); font-weight: 600; background: var(--aws-surface-muted); }
.aws-shop-specs-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.aws-shop-specs-list li { display: flex; gap: .7rem; color: var(--aws-ink-700); }
.aws-shop-specs-list i { color: var(--aws-primary); font-size: 1.1rem; }
.aws-shop-reviews { display: grid; grid-template-columns: 240px 1fr; gap: 2rem; }
.aws-shop-reviews__summary { display: flex; flex-direction: column; gap: .35rem; }
.aws-shop-reviews__avg { font-size: 3rem; font-weight: 800; line-height: 1; color: var(--aws-ink-900); }
.aws-shop-reviews__bars { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .3rem; font-size: .78rem; color: var(--aws-ink-600); }
.aws-shop-reviews__bars li { display: grid; grid-template-columns: 36px 1fr 24px; align-items: center; gap: .5rem; }
.aws-shop-reviews__bars i { color: var(--aws-accent); font-size: .7rem; }
.aws-shop-reviews__bars progress { width: 100%; height: 7px; border: 0; border-radius: 999px; overflow: hidden; background: var(--aws-surface-sunken); appearance: none; }
.aws-shop-reviews__bars progress::-webkit-progress-bar { background: var(--aws-surface-sunken); }
.aws-shop-reviews__bars progress::-webkit-progress-value { background: var(--aws-accent); border-radius: 999px; }
.aws-shop-reviews__bars progress::-moz-progress-bar { background: var(--aws-accent); }

@media (max-width: 991.98px) {
    .aws-shop-pd__grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .aws-shop-pd__buy { position: static; }
    .aws-shop-reviews { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .aws-shop-pd { padding-top: 1rem; }
    .aws-shop-buy__row { flex-wrap: wrap; }
    .aws-shop-buy__qty { flex: 0 0 auto; }
    .aws-shop-tabs__body { padding: 1.1rem; }
    .aws-shop-gal__thumb { flex-basis: 62px; height: 62px; }
    .aws-shop-gal__nav { opacity: 1; width: 34px; height: 34px; }
}

/* Admin → Shop Design: radio preview cards + schematic thumbnails ------------------------ */
.adm-design__group { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--aws-ink-500); margin: 1.75rem 0 .75rem; }
.adm-design__area { margin-bottom: 1rem; }
.adm-design__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.adm-design__options { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .9rem; }
.adm-design__card { position: relative; margin: 0; cursor: pointer; display: flex; flex-direction: column; }
.adm-design__card input { position: absolute; opacity: 0; pointer-events: none; }
.adm-design__body { flex: 1; display: flex; flex-direction: column; gap: .3rem; padding: .75rem; border: 2px solid var(--aws-border); border-radius: 14px; background: var(--aws-surface); transition: border-color .15s, box-shadow .15s; }
.adm-design__body strong { font-size: .9rem; color: var(--aws-ink-900); line-height: 1.3; }
.adm-design__body small { font-size: .76rem; color: var(--aws-ink-500); line-height: 1.45; }
.adm-design__card:hover .adm-design__body { border-color: var(--aws-border-strong); }
.adm-design__card input:checked + .adm-design__body { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.adm-design__card input:focus-visible + .adm-design__body { box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.adm-design__card input:disabled + .adm-design__body { cursor: default; }
.adm-design__check { display: none; font-size: .74rem; font-weight: 700; color: var(--aws-primary); margin-top: .2rem; }
.adm-design__card input:checked + .adm-design__body .adm-design__check { display: inline-flex; gap: .3rem; }
.adm-design__preview { align-self: flex-start; margin-top: .4rem; font-size: .78rem; font-weight: 600; text-decoration: none; }
.adm-design__thumb { display: block; height: 118px; border-radius: 10px; background: var(--aws-surface-sunken); overflow: hidden; margin-bottom: .45rem; padding: 8px; }
.adm-design__save { position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .9rem 1.1rem; border: 1px solid var(--aws-border); border-radius: 14px; background: var(--aws-surface); box-shadow: 0 -10px 30px -20px rgba(0, 0, 0, .35); }

/* Thumbnail blocks */
.t-page, .t-stack { display: flex; flex-direction: column; gap: 4px; height: 100%; }
.t-row { display: flex; gap: 4px; align-items: center; }
.t-row.t-top { align-items: stretch; flex: 1; }
.t-center { justify-content: center; }
.t-stack.t-center, .t-row.t-stack { flex-direction: column; align-items: center; justify-content: center; }
.t-b { display: block; border-radius: 3px; background: var(--aws-border-strong); min-height: 6px; }
.t-dark, .t-dark-row { background: var(--aws-ink-700); }
.t-primary, .t-primary-row { background: var(--aws-primary); }
.t-cream, .t-cream-row { background: var(--aws-accent-soft); }
.t-muted { background: var(--aws-border); }
.t-accent { background: var(--aws-accent); }
.t-light { background: rgba(255, 255, 255, .75); }
.t-gold { width: 14px; height: 2px; min-height: 2px; background: var(--aws-accent); }
.t-dark-row, .t-primary-row, .t-cream-row, .t-band { padding: 5px 6px; border-radius: 4px; }
.t-band { background: var(--aws-ink-700); }
.t-tall { min-height: 30px; }
.t-h4 { height: 4px; min-height: 4px; } .t-h6 { height: 8px; } .t-h8 { height: 10px; } .t-h10 { height: 22px; }
.t-logo { width: 26px; height: 9px; } .t-menu { flex: 1; height: 5px; max-width: 70px; margin: 0 auto; } .t-icons { width: 22px; height: 6px; }
.t-o0 { opacity: 0; } .t-btn { width: 22px; height: 9px; } .t-full { width: 100%; } .t-body { flex: 1; background: var(--aws-surface); }
.t-short { flex: .6; } .t-col { flex: 1; height: 16px; } .t-crumb { width: 40px; height: 4px; } .t-title { width: 60px; height: 8px; } .t-left { margin-right: auto; }
.t-text { flex: 1; height: 16px; background: var(--aws-border); } .t-img { background: var(--aws-border-strong); } .t-wide { flex: 1.3; height: 34px; }
.t-dot { width: 12px; height: 12px; border-radius: 50%; } .t-card { flex: 1; height: 18px; background: var(--aws-surface); box-shadow: inset 0 0 0 1px var(--aws-border-strong); }
.t-hero { height: 40px; } .t-side { width: 24%; background: var(--aws-surface); box-shadow: inset 0 0 0 1px var(--aws-border-strong); }
.t-grid { flex: 1; display: grid; gap: 4px; } .t-grid--3 { grid-template-columns: repeat(3, 1fr); } .t-grid--4 { grid-template-columns: repeat(4, 1fr); }
.t-grid .t-card { height: auto; min-height: 20px; } .t-tallcard { min-height: 40px !important; }
.t-rowcard { background: var(--aws-surface); padding: 3px; border-radius: 4px; flex: 1; } .t-sq { width: 22px; height: 22px; }
.t-feature { flex: 1; height: 30px; } .t-mosaic { flex: 1; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 4px; } .t-mosaic .t-img:first-child { grid-row: span 2; }
.t-tree { width: 26%; display: flex; flex-direction: column; gap: 4px; } .t-tree .t-b { height: 6px; } .t-tree .t-in { margin-left: 6px; background: var(--aws-border); }
.t-az { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px 8px; margin-top: 4px; } .t-az .t-b { height: 5px; background: var(--aws-border); }
.t-half { flex: 1; } .t-sq2 { flex: 1; min-height: 46px; } .t-thumb { flex: 1; height: 10px; } .t-narrow { width: 70%; margin: 0 auto; }
.t-split { flex: 1; align-items: stretch; } .t-splitimg { flex: 1; } .t-acc { height: 7px; background: var(--aws-surface); box-shadow: inset 0 0 0 1px var(--aws-border-strong); }
.t-swatches { display: grid; grid-template-columns: repeat(4, 1fr); height: 100%; border-radius: 8px; overflow: hidden; }
.t-icons-demo, .t-social { height: 100%; display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 1.3rem; color: var(--aws-ink-700); }
.t-icons-demo--filled { color: var(--aws-primary); }
.t-icons-demo--circle i { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; box-shadow: inset 0 0 0 1.5px var(--aws-border-strong); font-size: 1rem; }
.t-social i { width: 34px; height: 34px; display: grid; place-items: center; font-size: 1rem; border-radius: 50%; }
.t-social--brand i { color: #fff; background: var(--aws-ink-700); }
.t-social--brand i:nth-child(1) { background: var(--social-facebook); } .t-social--brand i:nth-child(2) { background: var(--social-instagram); } .t-social--brand i:nth-child(3) { background: var(--social-youtube); } .t-social--brand i:nth-child(4) { background: var(--social-whatsapp); }
.t-social--outline i { box-shadow: inset 0 0 0 1.5px currentColor; } .t-social--square i { border-radius: 8px; background: var(--aws-border); } .t-social--plain i { font-size: 1.3rem; }

/* Inner page title variants (x-page-header; Admin → Shop Design → Inner page title) ------------- */
.aws-hero--light { background: var(--home-panel, var(--aws-surface-muted)); color: var(--aws-ink-900); text-align: center; padding: 2.25rem 1.25rem 2.5rem; border-bottom: 1px solid var(--home-panel-border, var(--aws-border)); }
.aws-hero--light::before { display: none; }
.aws-hero--light .aws-hero__crumbs { justify-content: center; color: var(--aws-ink-500); }
.aws-hero--light .aws-hero__crumbs a { color: var(--aws-ink-600); }
.aws-hero--light h1 { justify-content: center; color: var(--home-deep, var(--aws-ink-900)); font-family: var(--home-font-title, var(--aws-font-display)); gap: 1rem; }
.aws-hero--light h1::before, .aws-hero--light h1::after { content: ""; width: clamp(18px, 4vw, 40px); height: 2px; background: var(--aws-accent); }
.aws-hero--light p { margin: .5rem auto 0; color: var(--aws-ink-600); }
.aws-hero--minimal { background: none; color: var(--aws-ink-900); padding: 1rem 1.25rem .5rem; }
.aws-hero--minimal::before { display: none; }
.aws-hero--minimal .aws-hero__crumbs { color: var(--aws-ink-500); padding-bottom: .75rem; border-bottom: 1px solid var(--aws-border); margin-bottom: 1.25rem; }
.aws-hero--minimal .aws-hero__crumbs a { color: var(--aws-ink-600); }
.aws-hero--minimal h1 { color: var(--aws-ink-900); font-size: clamp(1.5rem, 3vw, 2.1rem); }
.aws-hero--minimal p { color: var(--aws-ink-600); }
.aws-hero--light + .aws-overlap, .aws-hero--minimal + .aws-overlap { margin-top: 0; }

/* Product list designs -------------------------------------------------------------------- */
.aws-shop-list { padding-top: 2rem; }
.aws-shop-pl--sidebar { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 2rem; align-items: start; }
.aws-shop-pl__side { position: sticky; top: calc(var(--sticky-offset, 0px) + 16px); max-height: calc(100vh - var(--sticky-offset, 0px) - 32px); overflow-y: auto; scrollbar-width: thin; }
.aws-shop-pl__drawer { background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 12px; padding: 1.1rem; }
.aws-shop-pl__drawer > summary { list-style: none; font-weight: 700; cursor: pointer; display: none; }
.aws-shop-pl__drawer > summary::-webkit-details-marker { display: none; }
.aws-shop-filter { display: grid; gap: .9rem; }
.aws-shop-filter .aws-field { margin: 0; }
.aws-shop-filter__label { display: block; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-600); margin-bottom: .45rem; }
.aws-shop-filter label { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-600); }
.aws-shop-filter__range { display: flex; align-items: center; gap: .4rem; }
.aws-shop-filter__range input { min-width: 0; width: 100%; }
.aws-shop-filter__stock { font-size: .9rem; text-transform: none !important; letter-spacing: 0 !important; font-weight: 500 !important; color: var(--aws-ink-700) !important; }
.aws-shop-filter__actions { display: flex; align-items: center; gap: .75rem; }
.aws-shop-filter__actions .aws-shop-buy__btn { min-height: 42px; padding: .5rem 1rem; font-size: .88rem; }
.aws-shop-filter__clear { font-size: .85rem; font-weight: 600; color: var(--aws-primary); text-decoration: none; }
.aws-shop-filter--bar { grid-template-columns: minmax(180px, 2fr) minmax(200px, 1.5fr) auto minmax(150px, 1fr) auto; align-items: end; }
.aws-shop-filter--bar .aws-shop-filter__label { margin-bottom: .3rem; }
.aws-shop-filter--bar .aws-shop-filter__stock { margin-bottom: .6rem; }
.aws-shop-pl__bar { background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 12px; padding: 1rem 1.1rem; margin-bottom: 1rem; }
.aws-shop-cats { margin-top: 1.4rem; padding-top: 1.1rem; border-top: 1px solid var(--aws-border); font-size: .92rem; }
.aws-shop-sortbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1rem; }
.aws-shop-sortbar__count { margin: 0; font-size: .88rem; color: var(--aws-ink-600); }
.aws-shop-sortbar__form { display: flex; gap: .5rem; }
.aws-shop-sortbar__form select { min-height: 40px; padding: .35rem 2rem .35rem .75rem; border-radius: 8px; border: 1px solid var(--aws-border-strong); background-color: var(--aws-surface); font-size: .88rem; }
.aws-shop-chips { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0 0 1rem; padding: 0; }
.aws-shop-chips a { display: inline-flex; align-items: center; gap: .3rem; padding: .3rem .7rem; border-radius: 999px; background: var(--aws-primary-soft); color: var(--aws-primary-dark); font-size: .8rem; font-weight: 600; text-decoration: none; }
.aws-shop-chips a:hover { background: var(--aws-primary); color: #fff; }
.aws-shop-chips__clear { background: transparent !important; color: var(--aws-ink-600) !important; text-decoration: underline !important; }
.aws-shop-catbar { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .5rem; margin-bottom: 1rem; scrollbar-width: thin; }
.aws-shop-catbar a { flex-shrink: 0; padding: .5rem 1.1rem; border-radius: 999px; border: 1.5px solid var(--aws-border-strong); color: var(--aws-ink-700); font-weight: 600; font-size: .88rem; text-decoration: none; background: var(--aws-surface); }
.aws-shop-catbar a:hover, .aws-shop-catbar a.is-active { border-color: var(--aws-primary); background: var(--aws-primary); color: #fff; }
.aws-shop-grid { display: grid; grid-template-columns: repeat(var(--shop-cols, 3), minmax(0, 1fr)); gap: 1.25rem; }
.aws-shop-cols-2 { --shop-cols: 2; } .aws-shop-cols-3 { --shop-cols: 3; } .aws-shop-cols-4 { --shop-cols: 4; }
.aws-shop-grid--wide { grid-template-columns: repeat(calc(var(--shop-cols, 3) + 1), minmax(0, 1fr)); }
.aws-shop-cols-4 .aws-shop-grid--wide { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.aws-shop-grid--showcase { grid-template-columns: repeat(min(var(--shop-cols, 3), 3), minmax(0, 1fr)); gap: 1.75rem; }
.aws-shop-rows { display: grid; gap: 1rem; }
.aws-shop-featured { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-bottom: 1.5rem; }
.aws-shop-cathead { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1.5rem; padding: 1rem 1.25rem; border-radius: 12px; background: var(--aws-surface); border: 1px solid var(--aws-border); }
.aws-shop-cathead__img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.aws-shop-cathead__copy p { margin: 0 0 .5rem; color: var(--aws-ink-600); }
.aws-shop-subcats { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.aws-shop-subcats a { display: inline-block; padding: .3rem .8rem; border-radius: 999px; background: var(--aws-surface-muted); border: 1px solid var(--aws-border); color: var(--aws-ink-700); font-size: .82rem; font-weight: 600; text-decoration: none; }
.aws-shop-subcats a:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-shop-subcats--sm { margin-top: .6rem; }
.aws-shop-rating { display: inline-flex; align-items: center; gap: .3rem; font-size: .8rem; }
.aws-shop-rating small { color: var(--aws-ink-500); }

/* Product card: image shape, quick view, row + showcase variants */
.aws-shop-tile--r11 .aws-tile__media { aspect-ratio: 1 / 1; }
.aws-shop-tile--r43 .aws-tile__media { aspect-ratio: 4 / 3; }
.aws-shop-tile--r34 .aws-tile__media { aspect-ratio: 3 / 4; }
/* Quick view sits on the bottom edge of the image: image height = card width × ratio (container units). */
.aws-shop-tile { container-type: inline-size; }
.aws-shop-tile--r11 { --qv-top: calc(100cqw - 3.25rem); } .aws-shop-tile--r43 { --qv-top: calc(75cqw - 3.25rem); } .aws-shop-tile--r34 { --qv-top: calc(133cqw - 3.25rem); }
.aws-shop-tile--showcase { --qv-top: calc(125cqw - 3.25rem); } .aws-shop-featured .aws-shop-tile--showcase { --qv-top: calc(62.5cqw - 3.25rem); }
.aws-shop-tile__quick { position: absolute; z-index: 2; left: 50%; transform: translate(-50%, 8px); top: var(--qv-top, 50%); opacity: 0; border: 0; border-radius: 999px; padding: .45rem .95rem; background: rgba(255, 255, 255, .95); color: var(--aws-ink-900); font-size: .8rem; font-weight: 700; box-shadow: var(--aws-shadow-md); transition: opacity .2s, transform .2s; white-space: nowrap; }
.aws-shop-tile:hover .aws-shop-tile__quick, .aws-shop-tile__quick:focus-visible { opacity: 1; transform: translate(-50%, 0); }
@media (hover: none) { .aws-shop-tile__quick { display: none; } }
.aws-shop-tile__text { font-size: .86rem; color: var(--aws-ink-600); margin: .2rem 0 0; line-height: 1.55; }
.aws-shop-tile--row { flex-direction: row; align-items: stretch; }
.aws-shop-tile--row .aws-tile__media { width: 220px; flex-shrink: 0; aspect-ratio: auto; min-height: 180px; }
.aws-shop-tile--row .aws-tile__body { display: grid; grid-template-columns: minmax(0, 1fr) 200px; grid-template-areas: "meta price" "title price" "rating price" "text actions" "low actions"; column-gap: 1.5rem; align-content: center; }
.aws-shop-tile--row .aws-tile__meta { grid-area: meta; } .aws-shop-tile--row .aws-tile__title { grid-area: title; font-size: 1.15rem; }
.aws-shop-tile--row .aws-shop-rating { grid-area: rating; } .aws-shop-tile--row .aws-shop-tile__text { grid-area: text; }
.aws-shop-tile--row .aws-shop-price { grid-area: price; justify-content: flex-end; align-self: end; } .aws-shop-tile--row .aws-shop-price strong { font-size: 1.35rem; }
.aws-shop-tile--row .aws-shop-low { grid-area: low; } .aws-shop-tile--row .aws-shop-tile__actions { grid-area: actions; align-self: start; padding-top: .5rem; }
.aws-shop-tile--row:hover { transform: translateY(-2px); }
.aws-shop-tile--showcase { border-radius: 16px; }
.aws-shop-tile--showcase .aws-tile__media { aspect-ratio: 4 / 5; }
.aws-shop-featured .aws-shop-tile--showcase .aws-tile__media { aspect-ratio: 16 / 10; }
.aws-shop-tile--showcase .aws-tile__title { font-family: var(--home-font-title, var(--aws-font-display)); font-size: 1.3rem; }
.aws-shop-tile--showcase .aws-tile__body { padding: 1.25rem 1.4rem 1.5rem; }

/* Quick view dialog */
.aws-shop-qv .modal-content { border: 0; border-radius: 16px; overflow: hidden; }
.aws-shop-qv__close { position: absolute; top: .9rem; right: .9rem; z-index: 3; background-color: rgba(255, 255, 255, .9); border-radius: 50%; padding: .6rem; }
.aws-shop-qv__grid { display: grid; grid-template-columns: 1fr 1fr; }
.aws-shop-qv__media { background: var(--aws-surface-muted); display: grid; place-items: center; min-height: 320px; font-size: 3rem; color: var(--aws-ink-400); }
.aws-shop-qv__media img { width: 100%; height: 100%; object-fit: cover; }
.aws-shop-qv__body { padding: 2rem 1.75rem; display: flex; flex-direction: column; gap: .5rem; }
.aws-shop-qv__body .aws-shop-buy__title { font-size: 1.5rem; }

/* Category list designs ------------------------------------------------------------------- */
.aws-shop-catlist { padding-top: 2rem; }
.aws-shop-catgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.25rem; }
.aws-shop-catgrid--sm { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .9rem; margin-bottom: 1rem; }
.aws-shop-catcard { display: flex; flex-direction: column; background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--aws-ink-900); transition: transform .25s, box-shadow .25s; }
.aws-shop-catcard:hover { transform: translateY(-3px); box-shadow: 0 16px 32px -20px rgba(0, 0, 0, .4); color: var(--aws-ink-900); }
.aws-shop-catcard__img { aspect-ratio: 4 / 3; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-400); font-size: 2rem; overflow: hidden; }
.aws-shop-catcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.aws-shop-catcard:hover .aws-shop-catcard__img img { transform: scale(1.05); }
.aws-shop-catcard__body { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; padding: .9rem 1rem; }
.aws-shop-catcard__body strong { font-size: 1rem; }
.aws-shop-catcard__body small { color: var(--aws-ink-500); font-size: .78rem; white-space: nowrap; }
.aws-shop-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 210px; gap: 1rem; }
.aws-shop-mosaic__tile { position: relative; overflow: hidden; border-radius: 14px; display: block; background: var(--aws-surface-muted); }
.aws-shop-mosaic__tile:first-child { grid-column: span 2; grid-row: span 2; }
.aws-shop-mosaic__tile img, .aws-shop-mosaic__ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; display: grid; place-items: center; font-size: 2.5rem; color: var(--aws-ink-400); }
.aws-shop-mosaic__tile:hover img { transform: scale(1.06); }
.aws-shop-mosaic__label { position: absolute; inset: auto 0 0; padding: 2.5rem 1.1rem 1rem; display: flex; flex-direction: column; gap: .15rem; color: #fff; background: linear-gradient(transparent, rgba(0, 0, 0, .72)); }
.aws-shop-mosaic__label strong { font-size: 1.15rem; font-family: var(--home-font-title, var(--aws-font-display)); }
.aws-shop-mosaic__tile:first-child .aws-shop-mosaic__label strong { font-size: 1.7rem; }
.aws-shop-mosaic__label small { font-size: .8rem; opacity: .9; }
.aws-shop-tree { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 2rem; align-items: start; }
.aws-shop-tree__nav { position: sticky; top: calc(var(--sticky-offset, 0px) + 16px); background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 12px; padding: .6rem; }
.aws-shop-tree__link { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .65rem .8rem; border: 0; border-radius: 8px; background: none; text-align: left; font-weight: 600; color: var(--aws-ink-700); }
.aws-shop-tree__link small { color: var(--aws-ink-500); font-weight: 500; }
.aws-shop-tree__link:hover { background: var(--aws-surface-muted); }
.aws-shop-tree__link.active { background: var(--aws-primary-soft); color: var(--aws-primary-dark); }
.aws-shop-tree__kids { list-style: none; margin: 0 0 .3rem; padding: 0 0 0 1.5rem; font-size: .86rem; }
.aws-shop-tree__kids a { display: block; padding: .25rem 0; color: var(--aws-ink-600); text-decoration: none; }
.aws-shop-tree__kids a:hover { color: var(--aws-primary); }
.aws-shop-tree__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.aws-shop-tree__head h2 { margin: 0 0 .25rem; font-size: 1.6rem; }
.aws-shop-tree__head p { margin: 0; color: var(--aws-ink-600); }
.aws-shop-catrow { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, 1fr); gap: 1rem; overflow-x: auto; padding-bottom: .5rem; margin-bottom: 2rem; scrollbar-width: thin; }
.aws-shop-az__letters { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1.25rem; }
.aws-shop-az__letters a { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; border: 1px solid var(--aws-border); background: var(--aws-surface); font-weight: 700; color: var(--aws-ink-700); text-decoration: none; }
.aws-shop-az__letters a:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-shop-az { columns: 3 220px; column-gap: 2rem; }
.aws-shop-az__group { break-inside: avoid; margin-bottom: 1.5rem; scroll-margin-top: 110px; }
.aws-shop-az__group h2 { font-size: 1.3rem; color: var(--aws-primary); border-bottom: 2px solid var(--aws-primary-soft); padding-bottom: .3rem; margin-bottom: .5rem; }
.aws-shop-az__group ul { list-style: none; margin: 0; padding: 0; }
.aws-shop-az__group li { display: flex; justify-content: space-between; gap: .5rem; padding: .3rem 0; border-bottom: 1px dashed var(--aws-border); }
.aws-shop-az__group a { color: var(--aws-ink-800, var(--aws-ink-900)); text-decoration: none; font-weight: 500; }
.aws-shop-az__group a:hover { color: var(--aws-primary); }
.aws-shop-az__group small { color: var(--aws-ink-500); }

/* Product page: stacked + split designs, info modes, sticky bar ---------------------------- */
.aws-shop-pd__wide .aws-shop-gal__zoom { aspect-ratio: 16 / 8; }
.aws-shop-pd__wide .aws-shop-gal__thumbs { justify-content: center; }
.aws-shop-pd__column { max-width: 720px; margin: 2rem auto 0; }
.aws-shop-pd__column--wide { max-width: 980px; }
.aws-shop-pd--split { padding-top: 0; }
.aws-shop-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--home-panel, var(--aws-surface-muted)); border-bottom: 1px solid var(--home-panel-border, var(--aws-border)); }
.aws-shop-split__media { padding: 2rem; }
.aws-shop-split__media .aws-shop-gal__stage { border: 0; border-radius: 16px; }
.aws-shop-split__info { padding: 2.5rem clamp(1.25rem, 4vw, 4rem) 2.5rem 1.5rem; max-width: 680px; }
.aws-shop-split__info .aws-shop-tabs { margin-top: 1.75rem; }
.aws-shop-badges-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; list-style: none; margin: 2rem 0 0; padding: 1.25rem; border: 1px solid var(--aws-border); border-radius: 12px; background: var(--aws-surface); }
.aws-shop-badges-row li { display: flex; gap: .75rem; align-items: center; }
.aws-shop-badges-row i { font-size: 1.6rem; color: var(--aws-primary); }
.aws-shop-badges-row strong { display: block; font-size: .88rem; }
.aws-shop-badges-row small { display: block; font-size: .76rem; color: var(--aws-ink-500); }
.aws-shop-tabs__title { font-size: 1.25rem; margin: 0 0 1rem; padding-bottom: .5rem; border-bottom: 2px solid var(--aws-primary-soft); }
.aws-shop-tabs--sections, .aws-shop-tabs--accordion { border: 0; background: none; border-radius: 0; overflow: visible; }
.aws-shop-tabs--sections .aws-shop-tabs__body, .aws-shop-tabs--accordion .aws-shop-tabs__body { padding: 0; }
.aws-shop-tabs--sections .tab-pane { display: block; opacity: 1; margin-bottom: 2.25rem; scroll-margin-top: 110px; }
.aws-shop-tabs--accordion .tab-pane { display: block; opacity: 1; border-top: 1px solid var(--aws-border-strong); }
.aws-shop-tabs--accordion .tab-pane:last-child { border-bottom: 1px solid var(--aws-border-strong); }
.aws-shop-tabs--accordion .tab-pane:not(.show) .aws-shop-tabs__content { display: none; }
.aws-shop-tabs--accordion .aws-shop-tabs__content { padding: 0 0 1.25rem; }
.aws-shop-tabs__acc { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; border: 0; background: none; font-weight: 700; font-size: 1rem; color: var(--aws-ink-900); text-align: left; }
.aws-shop-tabs__acc i { transition: transform .2s; }
.aws-shop-tabs__acc[aria-expanded="true"] i { transform: rotate(180deg); }
.aws-shop-tabs--accordion .aws-shop-reviews { grid-template-columns: 1fr; gap: 1rem; }
.aws-shop-stickybar { display: none; }
@media (max-width: 991.98px) {
    .aws-shop-stickybar { display: block; position: fixed; inset: auto 0 0; z-index: 1025; padding: .6rem 0; background: var(--aws-surface); box-shadow: 0 -10px 30px -14px rgba(0, 0, 0, .35); transform: translateY(110%); transition: transform .25s; }
    .aws-shop-stickybar.is-visible { transform: none; }
    .aws-shop-stickybar .site-wrap { display: flex; align-items: center; gap: .75rem; }
    .aws-shop-stickybar__name { flex: 1; min-width: 0; font-weight: 600; font-size: .88rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .aws-shop-stickybar__price { color: var(--aws-primary); }
    .aws-shop-stickybar .aws-shop-buy__btn { min-height: 42px; padding: .45rem 1rem; font-size: .88rem; }
    .aws-shop-pl--sidebar, .aws-shop-tree { grid-template-columns: 1fr; gap: 1rem; }
    .aws-shop-pl__side, .aws-shop-tree__nav { position: static; }
    .aws-shop-pl__drawer > summary { display: flex; align-items: center; gap: .5rem; }
    .aws-shop-pl__drawer[open] > summary { margin-bottom: 1rem; }
    .aws-shop-filter--bar { grid-template-columns: 1fr 1fr; }
    .aws-shop-filter--bar .aws-shop-filter__q { grid-column: 1 / -1; }
    .aws-shop-grid, .aws-shop-grid--wide, .aws-shop-grid--showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .aws-shop-split { grid-template-columns: 1fr; }
    .aws-shop-split__media { padding: 1rem 1rem 0; }
    .aws-shop-split__info { padding: 1.5rem 1rem 2rem; max-width: none; }
    .aws-shop-badges-row { grid-template-columns: 1fr 1fr; }
    .aws-shop-mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 170px; }
    .aws-shop-qv__grid { grid-template-columns: 1fr; }
    .aws-shop-qv__media { min-height: 220px; max-height: 300px; }
}
@media (max-width: 767.98px) {
    .aws-shop-tile--row { flex-direction: column; }
    .aws-shop-tile--row .aws-tile__media { width: 100%; aspect-ratio: 4 / 3; min-height: 0; }
    .aws-shop-tile--row .aws-tile__body { display: flex; }
    .aws-shop-featured { grid-template-columns: 1fr; }
    .aws-shop-pd__wide .aws-shop-gal__zoom { aspect-ratio: 1 / 1; }
}
@media (max-width: 575.98px) {
    .aws-shop-grid, .aws-shop-grid--wide { gap: .75rem; }
    .aws-shop-grid--showcase { grid-template-columns: 1fr; }
    .aws-shop-filter--bar { grid-template-columns: 1fr; }
    .aws-shop-sortbar__form { width: 100%; }
    .aws-shop-sortbar__form select { flex: 1; min-width: 0; }
    .aws-shop-cathead { flex-direction: column; text-align: center; }
    .aws-shop-badges-row { grid-template-columns: 1fr; }
    .aws-shop-mosaic__tile:first-child { grid-column: span 2; grid-row: span 1; }
}
.aws-shop-filter__range input { min-height: 42px; padding: .45rem .7rem; border: 1px solid var(--aws-border-strong); border-radius: 10px; background: var(--aws-surface); font-size: .92rem; }
.aws-shop-filter__range input:focus { outline: none; border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
a.aws-shop-buy__btn { text-decoration: none; }
.aws-shop-tree__head .aws-shop-buy__btn { flex: 0 0 auto; }
.adm-design__item { display: flex; flex-direction: column; }

/* Cart page --------------------------------------------------------------------------------- */
.aws-shop-cart { padding-top: 2rem; }
#cart-root { transition: opacity .2s; }
#cart-root.is-busy { opacity: .55; pointer-events: none; }
.aws-shop-cart__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 1.75rem; align-items: start; }
.aws-shop-cart__items { background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 14px; padding: .5rem 1.25rem 1rem; }
.aws-shop-cart__head, .aws-shop-cart__row { display: grid; grid-template-columns: minmax(0, 1fr) 100px 150px 110px 44px; gap: 1rem; align-items: center; }
.aws-shop-cart__head { padding: .9rem 0; border-bottom: 1px solid var(--aws-border); font-size: .74rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--aws-ink-500); }
.aws-shop-cart__head span:nth-child(2), .aws-shop-cart__head span:nth-child(4) { text-align: right; }
.aws-shop-cart__row { padding: 1.1rem 0; border-bottom: 1px solid var(--aws-border); transition: opacity .3s; }
.aws-shop-cart__product { display: flex; gap: .9rem; align-items: center; min-width: 0; }
.aws-shop-cart__img { width: 72px; height: 72px; flex-shrink: 0; border-radius: 10px; overflow: hidden; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-400); font-size: 1.4rem; }
.aws-shop-cart__img img { width: 100%; height: 100%; object-fit: cover; }
.aws-shop-cart__name { display: block; font-weight: 700; color: var(--aws-ink-900); text-decoration: none; line-height: 1.3; }
.aws-shop-cart__name:hover { color: var(--aws-primary); }
.aws-shop-cart__opt { display: block; font-size: .8rem; color: var(--aws-ink-700); }
.aws-shop-cart__sku { display: block; font-size: .74rem; color: var(--aws-ink-500); }
.aws-shop-cart__price { text-align: right; color: var(--aws-ink-700); }
.aws-shop-cart__total { text-align: right; font-weight: 800; color: var(--aws-ink-900); }
.aws-shop-cart__qty form { margin: 0; }
.aws-shop-cart__limit { display: block; font-size: .72rem; color: var(--aws-warning); margin-top: .25rem; }
.aws-shop-cart__remove { margin: 0; }
.aws-shop-cart__remove button { width: 38px; height: 38px; border-radius: 50%; border: 0; background: none; color: var(--aws-ink-500); display: grid; place-items: center; transition: background .2s, color .2s; }
.aws-shop-cart__remove button:hover { background: var(--aws-danger-soft); color: var(--aws-danger); }
.aws-shop-cart__remove--strong button { width: auto; border-radius: 999px; padding: .4rem .8rem; gap: .35rem; display: inline-flex; align-items: center; background: var(--aws-danger-soft); color: var(--aws-danger); font-weight: 700; font-size: .82rem; }
.aws-shop-cart__row.is-unavailable { grid-template-columns: minmax(0, 1fr) 100px 150px 110px auto; }
.aws-shop-cart__row.is-unavailable > :not(.aws-shop-cart__remove) { opacity: .45; filter: grayscale(1); }
.aws-shop-cart__row.is-unavailable .aws-pill { opacity: 1; }
.aws-shop-cart__foot { display: flex; justify-content: space-between; align-items: center; padding-top: 1rem; }
.aws-shop-cart__foot form { margin: 0; }
.aws-shop-cart__link { border: 0; background: none; padding: 0; color: var(--aws-ink-700); font-weight: 600; font-size: .9rem; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem; }
.aws-shop-cart__link:hover { color: var(--aws-primary); }
.aws-shop-cart__side { position: sticky; top: calc(var(--sticky-offset, 0px) + 16px); }
.aws-shop-qty--sm { height: 40px; }
.aws-shop-qty--sm button { width: 36px; }
.aws-shop-qty--sm input { width: 44px; font-size: .92rem; }
.aws-stepper input[readonly] { cursor: default; background: var(--aws-surface); }
.aws-stepper button:disabled { opacity: .35; cursor: not-allowed; }

/* Coupon */
.aws-shop-coupon { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--aws-border-strong); }
.aws-shop-coupon__label { display: block; font-size: .82rem; font-weight: 700; color: var(--aws-ink-700); margin-bottom: .45rem; }
.aws-shop-coupon__row { display: flex; border: 1px solid var(--aws-border-strong); border-radius: 10px; overflow: hidden; background: var(--aws-surface); }
.aws-shop-coupon__row:focus-within { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-shop-coupon__row input { flex: 1; min-width: 0; border: 0 !important; box-shadow: none !important; padding: .65rem .8rem; letter-spacing: .06em; background: transparent; }
.aws-shop-coupon__btn { border: 0; padding: 0 1.1rem; background: var(--aws-ink-900); color: #fff; font-weight: 700; font-size: .88rem; }
.aws-shop-coupon__btn:hover { background: var(--aws-primary); }
.aws-shop-coupon .aws-js-error, .aws-shop-coupon .aws-field-error { margin-top: .4rem; }
.aws-shop-coupon__applied { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-top: 1rem; padding: .6rem .8rem; border-radius: 10px; background: var(--aws-success-soft); color: var(--aws-success); font-size: .88rem; }

/* Mini-cart drawer */
.aws-minicart { width: min(420px, 100vw) !important; border-left: 0 !important; }
.aws-minicart .offcanvas-header { border-bottom: 1px solid var(--aws-border); padding: 1.1rem 1.25rem; }
.aws-minicart .offcanvas-title { font-size: 1.1rem; font-weight: 800; display: flex; align-items: center; gap: .5rem; margin: 0; }
.aws-minicart__count { min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: var(--aws-primary); color: #fff; font-size: .75rem; display: inline-grid; place-items: center; }
.aws-minicart__added { display: flex; align-items: center; gap: .5rem; padding: .7rem 1.25rem; background: var(--aws-success-soft); color: var(--aws-success); font-weight: 600; font-size: .9rem; animation: aws-fade-down .3s ease; }
.aws-minicart .offcanvas-body { display: flex; flex-direction: column; padding: 0; }
.aws-minicart__loading { flex: 1; display: grid; place-items: center; min-height: 200px; }
.aws-minicart__list { list-style: none; margin: 0; padding: .5rem 1.25rem; flex: 1; overflow-y: auto; }
.aws-minicart__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto 30px; gap: .75rem; align-items: center; padding: .85rem 0; border-bottom: 1px solid var(--aws-border); }
.aws-minicart__item form { margin: 0; }
.aws-minicart__item.is-unavailable > :not(form) { opacity: .5; filter: grayscale(1); }
.aws-minicart__img { width: 64px; height: 64px; border-radius: 10px; overflow: hidden; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-400); }
.aws-minicart__img img { width: 100%; height: 100%; object-fit: cover; }
.aws-minicart__info { min-width: 0; display: flex; flex-direction: column; gap: .1rem; }
.aws-minicart__info a, .aws-minicart__info > span { font-weight: 700; color: var(--aws-ink-900); text-decoration: none; font-size: .92rem; line-height: 1.3; }
.aws-minicart__info small { color: var(--aws-ink-500); font-size: .78rem; }
.aws-minicart__total { font-size: .92rem; }
.aws-minicart__remove { width: 30px; height: 30px; border-radius: 50%; border: 0; background: none; color: var(--aws-ink-400); display: grid; place-items: center; }
.aws-minicart__remove:hover { background: var(--aws-danger-soft); color: var(--aws-danger); }
.aws-minicart__foot { padding: 1.1rem 1.25rem 1.4rem; border-top: 1px solid var(--aws-border); display: grid; gap: .6rem; background: var(--aws-surface-muted); }
.aws-minicart__sub { display: flex; justify-content: space-between; font-size: 1.05rem; }
.aws-minicart__foot .aws-shop-buy__btn { width: 100%; min-height: 46px; }
.aws-minicart__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: 3rem 1.5rem; text-align: center; color: var(--aws-ink-500); }
.aws-minicart__empty > i { font-size: 3rem; color: var(--aws-ink-400); } /* old layout only — not the empty-state circle or its button icons */

/* Product card variant chips */
.aws-shop-tile__variants { display: grid; gap: .55rem; }
.aws-shop-opt--compact legend { font-size: .76rem; margin-bottom: .3rem; }
.aws-shop-opt--compact .aws-shop-opt__chips { gap: .3rem; }
.aws-shop-opt--compact .aws-shop-chip span { min-height: 30px; padding: .25rem .6rem; font-size: .76rem; border-radius: 6px; }
.aws-shop-opt--compact + .aws-field-error, .aws-shop-tile__variants .aws-ajax-error { font-size: .74rem; }

/* Image zoom styles */
.aws-shop-gal--zoom-none .aws-shop-gal__zoom, .aws-shop-gal--zoom-lens .aws-shop-gal__zoom { cursor: default; }
.aws-shop-gal--zoom-lens .aws-shop-gal__zoom { position: relative; cursor: crosshair; }
.aws-shop-gal__lens { position: absolute; width: 170px; height: 170px; border-radius: 50%; pointer-events: none; opacity: 0; transition: opacity .15s; background-repeat: no-repeat; box-shadow: 0 0 0 3px #fff, 0 12px 30px -8px rgba(0, 0, 0, .5); }
.aws-shop-gal__zoom.is-lensing .aws-shop-gal__lens { opacity: 1; }

@media (max-width: 991.98px) {
    .aws-shop-cart__grid { grid-template-columns: 1fr; }
    .aws-shop-cart__side { position: static; }
}
@media (max-width: 767.98px) {
    .aws-shop-cart__head { display: none; }
    .aws-shop-cart__row, .aws-shop-cart__row.is-unavailable { grid-template-columns: 1fr auto; grid-template-areas: "product remove" "qty total"; row-gap: .75rem; }
    .aws-shop-cart__product { grid-area: product; }
    .aws-shop-cart__price { display: none; }
    .aws-shop-cart__qty { grid-area: qty; }
    .aws-shop-cart__total { grid-area: total; align-self: center; }
    .aws-shop-cart__remove { grid-area: remove; align-self: start; }
    .aws-shop-cart__img { width: 60px; height: 60px; }
    .aws-shop-cart__items { padding: .25rem 1rem .75rem; }
}

/* Admin: slug field (<x-slug-field>) --------------------------------------------------------- */
.aws-slug__label { display: block; font-size: .82rem; font-weight: 600; color: var(--aws-ink-700); margin-bottom: .35rem; }
.aws-slug__preview { display: flex; align-items: center; gap: .45rem; min-height: 42px; padding: .45rem .75rem; border: 1px dashed var(--aws-border-strong); border-radius: 10px; background: var(--aws-surface-muted); font-size: .86rem; color: var(--aws-ink-600); }
.aws-slug__url { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aws-slug__prefix { color: var(--aws-ink-400); }
.aws-slug__preview strong { color: var(--aws-ink-900); font-weight: 600; }
.aws-slug__toggle { flex-shrink: 0; border: 0; background: var(--aws-surface); border-radius: 8px; padding: .25rem .6rem; font-size: .78rem; font-weight: 700; color: var(--aws-primary); box-shadow: var(--aws-shadow-xs); }
.aws-slug__toggle:hover { background: var(--aws-primary-soft); }
.aws-slug.is-editing .aws-slug__preview { border-style: solid; border-color: var(--aws-primary); }
.aws-slug__edit { margin-top: .5rem; }

/* Admin: rich-text editor (Jodit) */
.aws-rte .jodit-container { border-radius: 12px !important; border-color: var(--aws-border-strong) !important; overflow: hidden; }
.aws-rte .jodit-toolbar__box { background: var(--aws-surface-muted) !important; border-bottom-color: var(--aws-border) !important; }
.aws-rte .jodit-status-bar { background: var(--aws-surface-muted) !important; border-top-color: var(--aws-border) !important; }
.aws-rte:focus-within .jodit-container { border-color: var(--aws-primary) !important; box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-field.has-error .aws-rte .jodit-container { border-color: var(--aws-danger) !important; }

/* Admin: long form section menu + sticky save bar */
.adm-formnav { position: sticky; top: 64px; z-index: 6; display: flex; gap: .35rem; overflow-x: auto; margin: 0 0 1rem; padding: .5rem; border: 1px solid var(--aws-border); border-radius: 12px; background: var(--aws-surface); box-shadow: var(--aws-shadow-xs); scrollbar-width: none; }
.adm-formnav a { flex-shrink: 0; display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .85rem; border-radius: 8px; color: var(--aws-ink-600); font-size: .85rem; font-weight: 600; text-decoration: none; }
.adm-formnav a:hover { background: var(--aws-surface-muted); color: var(--aws-ink-900); }
.adm-formnav a.is-active { background: var(--aws-primary-soft); color: var(--aws-primary); }
.adm-formnav a.has-error::after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--aws-danger); }
[id^="pf-"] { scroll-margin-top: 130px; }
.adm-savebar { position: sticky; bottom: 0; z-index: 6; display: flex; align-items: center; justify-content: flex-end; gap: .6rem; margin-top: 1.25rem; padding: .85rem 1.1rem; border: 1px solid var(--aws-border); border-radius: 14px; background: var(--aws-surface); box-shadow: 0 -12px 30px -22px rgba(0, 0, 0, .4); }
.adm-savebar__hint { margin-right: auto; font-size: .82rem; color: var(--aws-ink-500); }
.adm-discount { display: inline-block; margin-left: .25rem; font-weight: 700; color: var(--aws-success); }

/* Admin: product card preview */
.adm-pf-preview__card { position: relative; border: 1px solid var(--aws-border); border-radius: 14px; overflow: hidden; background: var(--aws-surface); }
.adm-pf-preview__img { aspect-ratio: 1; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-400); font-size: 2.5rem; }
.adm-pf-preview__img img { width: 100%; height: 100%; object-fit: cover; }
.adm-pf-preview__badge { position: absolute; top: .6rem; left: .6rem; padding: .2rem .55rem; border-radius: 999px; background: var(--aws-danger); color: #fff; font-size: .72rem; font-weight: 700; }
.adm-pf-preview__body { display: flex; flex-direction: column; gap: .2rem; padding: .85rem 1rem 1rem; }
.adm-pf-preview__body small { color: var(--aws-ink-500); font-size: .76rem; }
.adm-pf-preview__body strong { font-size: 1rem; color: var(--aws-ink-900); }
.adm-pf-preview__price b { color: var(--aws-primary); font-size: 1.05rem; }
.adm-pf-preview__price s { color: var(--aws-ink-400); font-size: .85rem; }
.adm-pf-preview__stock { font-size: .76rem; font-weight: 700; }
.adm-pf-preview__stock.is-in { color: var(--aws-success); } .adm-pf-preview__stock.is-low { color: var(--aws-warning); } .adm-pf-preview__stock.is-out { color: var(--aws-danger); }

/* Admin: Google preview */
.adm-serp { display: flex; flex-direction: column; gap: .15rem; padding: 1rem 1.1rem; border-radius: 12px; border: 1px solid var(--aws-border); background: var(--aws-surface); font-family: Arial, sans-serif; }
.adm-serp__label { font-family: var(--aws-font-display); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--aws-ink-400); margin-bottom: .3rem; }
.adm-serp__url { font-size: .8rem; color: var(--aws-ink-600); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-serp__title { font-size: 1.15rem; font-weight: 400; color: #1a0dab; line-height: 1.3; }
.adm-serp__desc { font-size: .86rem; color: var(--aws-ink-600); line-height: 1.5; }
@media (min-width: 992px) { .adm-pf-preview { position: sticky; top: 130px; z-index: 2; } }

/* Product filters v2 (sidebar · top bar · drawer) + phone bottom bar ----------------------------- */
.aws-shop-pl--f-sidebar { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 2rem; align-items: start; }
.aws-shop-pl--f-top, .aws-shop-pl--f-drawer { display: block; }
.aws-shop-pl__pager { margin-top: 2rem; }
.aws-shop-pl__side { background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 14px; padding: .4rem 1.1rem 1.1rem; }
.aws-shop-filter { display: block; }
.aws-shop-fgroup { border-bottom: 1px solid var(--aws-border); }
.aws-shop-fgroup:last-of-type { border-bottom: 0; }
.aws-shop-fgroup > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: .95rem 0; cursor: pointer; font-size: .8rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--aws-ink-900); }
.aws-shop-fgroup > summary::-webkit-details-marker { display: none; }
.aws-shop-fgroup > summary::after { content: "\F282"; font-family: bootstrap-icons; font-size: .75rem; color: var(--aws-ink-500); transition: transform .2s; }
.aws-shop-fgroup[open] > summary::after { transform: rotate(180deg); }
.aws-shop-fgroup__body { padding: 0 0 1rem; }
.aws-shop-fgroup--search { padding: .9rem 0; }
.aws-shop-fsearch, .aws-shop-fbar__search { position: relative; }
.aws-shop-fsearch i, .aws-shop-fbar__search i { position: absolute; left: .8rem; top: 50%; transform: translateY(-50%); color: var(--aws-ink-400); }
.aws-shop-fsearch input, .aws-shop-fbar__search input { width: 100%; min-height: 42px; padding: .5rem .8rem .5rem 2.3rem; border: 1px solid var(--aws-border-strong); border-radius: 10px; background: var(--aws-surface-muted); font-size: .9rem; }
.aws-shop-fsearch input:focus, .aws-shop-fbar__search input:focus { outline: none; background: var(--aws-surface); border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-shop-fcats { display: grid; gap: .1rem; }
.aws-shop-fcat { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding: .42rem .6rem; border-radius: 8px; color: var(--aws-ink-700); font-size: .9rem; text-decoration: none; }
.aws-shop-fcat small { color: var(--aws-ink-400); font-size: .75rem; }
.aws-shop-fcat:hover { background: var(--aws-surface-muted); color: var(--aws-ink-900); }
.aws-shop-fcat.is-active { background: var(--aws-primary-soft); color: var(--aws-primary-dark); font-weight: 700; }
.aws-shop-fcat--child { padding-left: 1.5rem; font-size: .85rem; }
.aws-shop-fprice__quick { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .65rem; }
.aws-shop-fchip { border: 1px solid var(--aws-border-strong); background: var(--aws-surface); border-radius: 999px; padding: .3rem .7rem; font-size: .78rem; font-weight: 600; color: var(--aws-ink-700); }
.aws-shop-fchip:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-shop-fchip.is-active { background: var(--aws-primary); border-color: var(--aws-primary); color: #fff; }
.aws-shop-fcheck, .aws-shop-fradio { display: flex; align-items: center; gap: .55rem; padding: .35rem 0; font-size: .9rem; color: var(--aws-ink-700); cursor: pointer; margin: 0; }
.aws-shop-fcheck input, .aws-shop-fradio input { width: 18px; height: 18px; accent-color: var(--aws-primary); flex-shrink: 0; }
.aws-shop-frating .aws-stars { font-size: .8rem; }
.aws-shop-filter__actions { position: sticky; bottom: 0; display: flex; align-items: center; gap: .75rem; padding-top: 1rem; background: var(--aws-surface); }
.aws-shop-filter__actions .aws-shop-buy__btn { flex: 1; min-height: 44px; font-size: .9rem; }
.aws-shop-fcount { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--aws-primary); color: #fff; font-size: .7rem; font-weight: 800; display: inline-grid; place-items: center; }

/* Top bar */
.aws-shop-fbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.aws-shop-fbar__btn { display: inline-flex; align-items: center; gap: .4rem; min-height: 42px; padding: .4rem .9rem; border: 1px solid var(--aws-border-strong); border-radius: 999px; background: var(--aws-surface); color: var(--aws-ink-700); font-size: .88rem; font-weight: 600; margin: 0; cursor: pointer; }
.aws-shop-fbar__btn .bi-chevron-down { font-size: .7rem; }
.aws-shop-fbar__btn:hover, .aws-shop-fbar__btn.show { border-color: var(--aws-ink-500); }
.aws-shop-fbar__btn.is-on { border-color: var(--aws-primary); background: var(--aws-primary-soft); color: var(--aws-primary-dark); }
.aws-shop-fbar__check input { accent-color: var(--aws-primary); }
.aws-shop-fbar__menu { min-width: 260px; max-height: 60vh; overflow-y: auto; border: 1px solid var(--aws-border); border-radius: 14px; padding: .5rem; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .35); }
.aws-shop-fbar__menu--pad { padding: 1rem; }
.aws-shop-fbar__search { flex: 1; min-width: 200px; }
.aws-shop-pl__bar { position: sticky; top: calc(var(--sticky-offset, 0px) + 8px); z-index: 20; }

/* Toolbar */
.aws-shop-sortbar { gap: .75rem 1rem; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--aws-border); }
.aws-shop-sortbar__count { flex: 1; }
.aws-shop-sortbar__label { font-size: .8rem; font-weight: 700; color: var(--aws-ink-500); align-self: center; margin: 0; }
.aws-shop-sortbar__filters { align-items: center; gap: .45rem; min-height: 40px; padding: .4rem 1rem; border: 1px solid var(--aws-border-strong); border-radius: 999px; background: var(--aws-surface); font-weight: 700; font-size: .88rem; color: var(--aws-ink-900); }
.aws-shop-sortbar__filters:hover { border-color: var(--aws-primary); color: var(--aws-primary); }

/* Drawer + sort sheet + phone bar */
.aws-shop-fdrawer { width: min(380px, 92vw) !important; }
.aws-shop-fdrawer .offcanvas-header { border-bottom: 1px solid var(--aws-border); }
.aws-shop-fdrawer .offcanvas-title, .aws-shop-sortsheet .offcanvas-title { font-size: 1.05rem; font-weight: 800; display: flex; align-items: center; gap: .5rem; margin: 0; }
.aws-shop-fdrawer .offcanvas-body { padding-top: 0; }
.aws-shop-sortsheet { height: auto !important; max-height: 70vh; border-radius: 18px 18px 0 0; }
.aws-shop-sortsheet__opt { display: flex; justify-content: space-between; align-items: center; padding: .9rem .25rem; border-bottom: 1px solid var(--aws-border); color: var(--aws-ink-800, var(--aws-ink-900)); text-decoration: none; font-weight: 500; }
.aws-shop-sortsheet__opt.is-active { color: var(--aws-primary); font-weight: 700; }
.aws-shop-mbar { position: fixed; left: 50%; bottom: max(12px, env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 1020; display: flex; width: min(420px, calc(100vw - 24px)); border-radius: 999px; overflow: hidden; background: var(--aws-ink-900); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .5); }
.aws-shop-mbar button { flex: 1; min-height: 50px; border: 0; background: none; color: #fff; font-weight: 700; font-size: .92rem; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; }
.aws-shop-mbar button + button { border-left: 1px solid rgba(255, 255, 255, .18); }
.aws-shop-mbar .aws-shop-fcount { background: #fff; color: var(--aws-ink-900); }
.aws-shop-list-page .footer-base__top { bottom: 5.25rem; }
@media (min-width: 992px) { .aws-shop-list-page .footer-base__top { bottom: 1.25rem; } }

/* Search page + live suggestions */
.aws-shop-searchhead { padding: 2.5rem 0 2rem; background: var(--home-panel, var(--aws-surface-muted)); border-bottom: 1px solid var(--home-panel-border, var(--aws-border)); text-align: center; }
.aws-shop-searchhead h1 { font-family: var(--home-font-title, var(--aws-font-display)); font-size: clamp(1.5rem, 3vw, 2.2rem); color: var(--home-deep, var(--aws-ink-900)); margin-bottom: 1.25rem; }
.aws-shop-searchbox { position: relative; display: flex; align-items: center; max-width: 720px; margin: 0 auto; background: var(--aws-surface); border: 1.5px solid var(--aws-border-strong); border-radius: 999px; padding: .3rem .3rem .3rem 1.2rem; box-shadow: 0 14px 30px -22px rgba(0, 0, 0, .4); }
.aws-shop-searchbox:focus-within { border-color: var(--aws-primary); box-shadow: 0 0 0 4px var(--aws-primary-ring); }
.aws-shop-searchbox > i { color: var(--aws-ink-400); font-size: 1.1rem; }
.aws-shop-searchbox input { flex: 1; min-width: 0; border: 0; background: transparent; padding: .7rem .8rem; font-size: 1.05rem; outline: none; }
.aws-shop-searchbox button { border: 0; border-radius: 999px; padding: .7rem 1.5rem; background: var(--aws-primary); color: #fff; font-weight: 700; }
.aws-shop-searchhead__tags { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .4rem; margin-top: 1rem; font-size: .85rem; color: var(--aws-ink-500); }
.aws-shop-searchhead__tags a, .site-search-overlay__tags a { padding: .3rem .75rem; border-radius: 999px; background: var(--aws-surface); border: 1px solid var(--aws-border); color: var(--aws-ink-700); text-decoration: none; font-weight: 600; }
.aws-shop-searchhead__tags a:hover, .site-search-overlay__tags a:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-shop-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 50; max-height: 60vh; overflow-y: auto; background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 16px; padding: .4rem; text-align: left; box-shadow: 0 24px 48px -24px rgba(0, 0, 0, .45); }
.aws-shop-suggest__item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: .45rem .6rem; border-radius: 10px; color: var(--aws-ink-900); text-decoration: none; }
.aws-shop-suggest__item:hover, .aws-shop-suggest__cat:hover { background: var(--aws-surface-muted); }
.aws-shop-suggest__item img, .aws-shop-suggest__ph { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-400); }
.aws-shop-suggest__name { font-weight: 600; font-size: .92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aws-shop-suggest__item strong { color: var(--aws-primary); font-size: .88rem; }
.aws-shop-suggest__cat { display: flex; align-items: center; gap: .5rem; padding: .55rem .7rem; border-radius: 10px; color: var(--aws-ink-700); text-decoration: none; font-size: .9rem; }
.aws-shop-suggest__all { display: block; margin-top: .3rem; padding: .65rem .7rem; border-top: 1px solid var(--aws-border); color: var(--aws-primary); font-weight: 700; font-size: .88rem; text-decoration: none; }
.aws-shop-suggest__none { margin: 0; padding: .9rem; color: var(--aws-ink-500); font-size: .9rem; }

@media (max-width: 991.98px) {
    .aws-shop-pl--f-sidebar { grid-template-columns: 1fr; }
    .aws-shop-list { padding-bottom: 5rem; }
    .aws-shop-sortbar { border-bottom: 0; padding-bottom: 0; }
}
.adm-pf-preview__toggle { width: 100%; display: flex; justify-content: space-between; align-items: center; border: 0; background: none; padding: 0; font-weight: 700; font-size: 1rem; color: var(--aws-ink-900); }
.adm-pf-preview__toggle i.bi-chevron-down { transition: transform .2s; }
.adm-pf-preview__toggle[aria-expanded="true"] i.bi-chevron-down { transform: rotate(180deg); }

/* Checkout designs (two columns · steps · minimal) ---------------------------------------- */
.aws-ck { padding-top: 2rem; }
.aws-ck-signin { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.25rem; padding: .85rem 1.1rem; border-radius: 12px; background: var(--aws-primary-soft); color: var(--aws-ink-700); font-size: .92rem; }
.aws-ck-signin i { font-size: 1.3rem; color: var(--aws-primary); }
.aws-ck-signin a { font-weight: 700; }
.aws-ck-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 2rem; align-items: start; }
.aws-ck-aside { position: sticky; top: calc(var(--sticky-offset, 0px) + 16px); }
.aws-ck-card, .aws-ck-step { background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 16px; padding: 1.5rem; margin-bottom: 1.1rem; }
.aws-ck-card__title, .aws-ck-step__head h2 { display: flex; align-items: center; gap: .7rem; font-size: 1.12rem; font-weight: 800; color: var(--aws-ink-900); margin: 0 0 1.1rem; }
.aws-ck-num { width: 30px; height: 30px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--aws-primary); color: #fff; font-size: .85rem; font-weight: 800; flex-shrink: 0; }
.aws-ck__subtitle { font-size: .95rem; font-weight: 700; margin: .5rem 0 0; }
.aws-ck-methods { display: grid; gap: .6rem; }
.aws-ck-method { position: relative; display: flex; align-items: center; gap: .9rem; padding: .95rem 1.1rem; border: 1.5px solid var(--aws-border-strong); border-radius: 12px; cursor: pointer; margin: 0; transition: border-color .15s, background .15s; }
.aws-ck-method input { width: 20px; height: 20px; accent-color: var(--aws-primary); flex-shrink: 0; }
.aws-ck-method:hover { border-color: var(--aws-primary); }
.aws-ck-method:has(input:checked) { border-color: var(--aws-primary); background: var(--aws-primary-soft); }
.aws-ck-method__body { flex: 1; display: flex; flex-direction: column; }
.aws-ck-method__body small { color: var(--aws-ink-500); font-size: .8rem; }
.aws-ck-method__price { font-weight: 800; color: var(--aws-ink-900); }
.aws-ck-side { background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 16px; padding: 1.3rem; }
.aws-ck-side__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: .75rem; }
.aws-ck-side__head h2 { font-size: 1.05rem; font-weight: 800; margin: 0; display: flex; gap: .5rem; align-items: center; }
.aws-ck-side__head a { font-size: .85rem; font-weight: 600; }
.aws-ck-side .aws-shop-summary { border: 0; box-shadow: none; padding: 0; background: none; }
.aws-ck-side .aws-shop-summary .aws-card__title { display: none; }
.aws-ck-side__note { font-size: .8rem; color: var(--aws-ink-500); margin: .7rem 0 0; display: flex; gap: .4rem; justify-content: center; }
.aws-ck-items { list-style: none; margin: 0 0 1rem; padding: 0 0 .5rem; border-bottom: 1px solid var(--aws-border); display: grid; gap: .7rem; max-height: 320px; overflow-y: auto; }
.aws-ck-items li { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: .75rem; align-items: center; }
.aws-ck-items__img { position: relative; width: 54px; height: 54px; border-radius: 10px; overflow: visible; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-400); }
.aws-ck-items__img img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
.aws-ck-items__img b { position: absolute; top: -7px; right: -7px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--aws-ink-700); color: #fff; font-size: .7rem; display: grid; place-items: center; }
.aws-ck-items__name { font-size: .88rem; font-weight: 600; color: var(--aws-ink-900); line-height: 1.3; }
.aws-ck-items__name small { display: block; font-weight: 400; color: var(--aws-ink-500); font-size: .76rem; }
.aws-ck-items__price { font-size: .88rem; font-weight: 700; }

/* Steps */
.aws-ck-progress { --ck-progress: 0%; position: relative; display: flex; justify-content: space-between; gap: .5rem; margin-bottom: 1.5rem; padding-bottom: .9rem; font-size: .82rem; font-weight: 700; color: var(--aws-ink-500); }
.aws-ck-progress::before, .aws-ck-progress::after { content: ""; position: absolute; left: 0; bottom: 0; height: 4px; border-radius: 999px; }
.aws-ck-progress::before { right: 0; background: var(--aws-surface-sunken); }
.aws-ck-progress::after { width: var(--ck-progress); background: var(--aws-primary); transition: width .3s; }
.aws-ck-step { padding: 1.1rem 1.5rem; }
.aws-ck-step__head { display: flex; justify-content: space-between; align-items: center; }
.aws-ck-step__head h2 { margin: 0; }
.aws-ck-step__edit { border: 0; background: none; color: var(--aws-primary); font-weight: 700; font-size: .85rem; display: none; }
.aws-ck-step.is-done .aws-ck-step__edit { display: inline; }
.aws-ck-step.is-done .aws-ck-num { background: var(--aws-success); }
.aws-ck-step.is-done .aws-ck-num::before { content: "\F26E"; font-family: bootstrap-icons; }
.aws-ck-step.is-done .aws-ck-num { font-size: 0; }
.aws-ck-step.is-done .aws-ck-num::before { font-size: .95rem; }
.aws-ck-step:not(.is-open) .aws-ck-step__head h2 { color: var(--aws-ink-600); }
.aws-ck-step.is-open { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-ck-step__body { padding-top: 1.1rem; }

/* Minimal */
.aws-ck-minimal { max-width: 640px; margin: 0 auto; }
.aws-ck-fold { border: 1px solid var(--aws-border); border-radius: 14px; background: var(--aws-surface-muted); margin-bottom: 1.75rem; }
.aws-ck-fold > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.2rem; cursor: pointer; font-weight: 700; color: var(--aws-primary); }
.aws-ck-fold > summary::-webkit-details-marker { display: none; }
.aws-ck-fold > summary small { color: var(--aws-ink-500); font-weight: 500; }
.aws-ck-fold > summary strong { color: var(--aws-ink-900); font-size: 1.1rem; }
.aws-ck-fold .aws-ck-side { border: 0; border-top: 1px solid var(--aws-border); border-radius: 0 0 14px 14px; }
.aws-ck-plain { padding: 0 0 1.75rem; margin-bottom: 1.75rem; border-bottom: 1px solid var(--aws-border); }
.aws-ck-plain h2 { display: flex; align-items: center; gap: .55rem; font-size: 1.1rem; font-weight: 800; margin-bottom: 1rem; }
.aws-ck-plain h2 i { color: var(--aws-primary); }
.aws-ck-minimal > .aws-shop-buy__btn { min-height: 56px; font-size: 1.05rem; }

@media (max-width: 991.98px) {
    .aws-ck-grid { grid-template-columns: 1fr;gap: 1rem; }
    .aws-ck-aside { position: static; ; }
    .aws-ck-progress span { font-size: 0; }
    .aws-ck-progress span i { font-size: 1.1rem; }
}
@media (max-width: 575.98px) {
    .aws-ck-card, .aws-ck-step { padding: 1.1rem; border-radius: 12px; }
}
.t-searchline { width: 70%; height: 10px; } .t-sm { width: 8px; height: 8px; } .t-searchbar { margin: 0 6px; } .t-searchbox { width: 34px; height: 9px; border-radius: 999px; background: var(--aws-surface); box-shadow: inset 0 0 0 1px var(--aws-border-strong); }
.t-pill { width: 22px; height: 9px; border-radius: 999px; background: var(--aws-surface); box-shadow: inset 0 0 0 1px var(--aws-border-strong); } .t-drawer { width: 32%; display: flex; flex-direction: column; gap: 4px; padding: 4px; background: var(--aws-surface); box-shadow: 0 0 0 1px var(--aws-border-strong); border-radius: 4px; } .t-drawer .t-b { height: 6px; } .t-drawer .t-in { margin-left: 5px; background: var(--aws-border); } .t-dim { opacity: .45; } .t-open { min-height: 34px !important; box-shadow: inset 0 0 0 1.5px var(--aws-primary) !important; }

/* Customer account pages: split card (brand panel + form) */
.aws-auth--split { display: flex; justify-content: center; align-items: stretch; gap: 0; padding: clamp(1.5rem, 5vw, 4rem) 1rem; background: var(--home-cream-50, var(--aws-surface-muted)); }
.aws-auth--split .aws-auth__card { max-width: 460px; border-radius: 0 24px 24px 0; border: 1px solid var(--aws-border); box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .35); }
.aws-auth__brand { width: 400px; display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: 2.5rem 2.25rem; border-radius: 24px 0 0 24px; background: var(--home-deep, var(--aws-ink-900)); color: var(--home-on-deep, #fff); position: relative; overflow: hidden; }
.aws-auth__brand::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 260px; height: 260px; border-radius: 50%; background: rgba(255, 255, 255, .06); }
.aws-auth__logo { display: inline-block; padding: .4rem .7rem; border-radius: 12px; background: var(--home-surface, #fff); }
.aws-auth__logo img { height: 46px; width: auto; display: block; }
.aws-auth__brand-top strong { font-size: 1.4rem; color: #fff; }
.aws-auth__brand h2 { font-family: var(--home-font-title, var(--aws-font-display)); color: #fff; font-size: 1.7rem; line-height: 1.2; margin-bottom: 1.25rem; }
.aws-auth__perks { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; font-size: .95rem; }
.aws-auth__perks i { width: 34px; height: 34px; border-radius: 10px; display: inline-grid; place-items: center; margin-right: .6rem; background: rgba(255, 255, 255, .1); color: var(--home-gold-300, #fff); }
.aws-auth__guest { margin: 0; font-size: .85rem; opacity: .85; position: relative; z-index: 1; }
.aws-auth__guest a { color: #fff; font-weight: 700; }
.aws-auth--split .aws-auth__icon { background: var(--aws-primary); box-shadow: none; }
@media (max-width: 899.98px) { .aws-auth__brand { display: none; } .aws-auth--split .aws-auth__card { border-radius: 20px; } }

/* Admin: email delivery providers */
.adm-providers { display: grid; gap: .75rem; }
.adm-provider { border: 1.5px solid var(--aws-border); border-radius: 14px; padding: .9rem 1.1rem; background: var(--aws-surface); transition: border-color .15s, box-shadow .15s; }
.adm-provider.is-on { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.adm-provider__head { display: flex; align-items: center; gap: .85rem; }
.adm-provider__icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-700); font-size: 1.2rem; flex-shrink: 0; }
.adm-provider.is-on .adm-provider__icon { background: var(--aws-primary-soft); color: var(--aws-primary); }
.adm-provider__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.adm-provider__text small { color: var(--aws-ink-500); font-size: .8rem; line-height: 1.4; }
.adm-provider__state { font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-400); }
.adm-provider.is-on .adm-provider__state { color: var(--aws-success); }
.adm-provider__fields { margin-top: .9rem; padding-top: .9rem; border-top: 1px dashed var(--aws-border-strong); }
.aws-shop-filter label.aws-shop-fcheck, .aws-shop-filter label.aws-shop-fradio { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: .9rem; color: var(--aws-ink-700); }

/* Admin: Developer console */
.adm-dev__bulk { display: flex; gap: .4rem; }
.adm-dev__groups { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.adm-dev__group { border: 1px solid var(--aws-border); border-radius: 12px; padding: .8rem 1rem; margin: 0; }
.adm-dev__group legend { float: none; width: auto; padding: 0 .35rem; font-size: .75rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--aws-ink-500); }
.adm-dev__item { display: flex; align-items: center; gap: .55rem; padding: .3rem 0; font-size: .9rem; cursor: pointer; margin: 0; }
.adm-dev__item input { width: 17px; height: 17px; accent-color: var(--aws-primary); }
.adm-dev__sub { font-size: .78rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--aws-ink-500); margin: 1.25rem 0 .5rem; }
.adm-dev__feature { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--aws-border); }
.adm-dev__feature > span { display: flex; flex-direction: column; min-width: 0; }
.adm-dev__feature small { color: var(--aws-ink-500); font-size: .8rem; }
.adm-dev__seg { display: inline-flex; flex-shrink: 0; border: 1px solid var(--aws-border-strong); border-radius: 10px; overflow: hidden; }
.adm-dev__seg label { margin: 0; cursor: pointer; }
.adm-dev__seg input { position: absolute; opacity: 0; pointer-events: none; }
.adm-dev__seg span { display: block; padding: .4rem .75rem; font-size: .8rem; font-weight: 600; color: var(--aws-ink-600); }
.adm-dev__seg label + label span { border-left: 1px solid var(--aws-border-strong); }
.adm-dev__seg input:checked + span { background: var(--aws-primary); color: #fff; }
.adm-dev__seg input:focus-visible + span { box-shadow: inset 0 0 0 2px var(--aws-primary-ring); }
.adm-dev__accounts { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.adm-dev__accounts small { color: var(--aws-ink-500); margin-left: .35rem; }
@media (max-width: 767.98px) { .adm-dev__feature { flex-direction: column; align-items: flex-start; } }

/* ── Phone bottom bar (layouts/partials/mobile-nav; Admin → Shop Design → "Phone bottom bar") ── */
.site-mnav { display: none; }
.aws-shop-mbar { background: var(--home-deep, var(--aws-ink-900)); } /* phone Filters / Sort pill in the theme colour */
@media (max-width: 991.98px) {
    body.has-mobile-nav { --mnav-h: 64px; padding-bottom: calc(var(--mnav-h) + env(safe-area-inset-bottom)); }
    .site-mnav {
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
        height: calc(var(--mnav-h) + env(safe-area-inset-bottom)); padding: 0 .4rem env(safe-area-inset-bottom);
        background: var(--aws-surface); background: color-mix(in srgb, var(--aws-surface) 92%, transparent);
        -webkit-backdrop-filter: saturate(1.5) blur(14px); backdrop-filter: saturate(1.5) blur(14px);
        border-top: 1px solid var(--home-panel-border, var(--aws-border)); border-radius: 20px 20px 0 0;
        box-shadow: 0 -14px 32px -20px color-mix(in srgb, var(--home-deep, var(--aws-ink-900)) 60%, transparent);
    }
    .site-mnav__item {
        position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .18rem;
        color: var(--aws-ink-500); text-decoration: none; font-size: .7rem; font-weight: 600; letter-spacing: .01em;
        -webkit-tap-highlight-color: transparent; transition: color .2s;
    }
    .site-mnav__item:hover { color: var(--aws-primary); }
    .site-mnav__item:focus-visible { outline: none; }
    .site-mnav__item:focus-visible .site-mnav__icon { box-shadow: 0 0 0 3px var(--aws-primary-ring); }
    .site-mnav__icon { position: relative; display: grid; place-items: center; width: 54px; height: 30px; border-radius: 999px; font-size: 1.22rem; transition: background .25s var(--aws-ease), transform .15s; }
    .site-mnav__item:active .site-mnav__icon { transform: scale(.88); }
    .site-mnav__item.is-active { color: var(--aws-primary); font-weight: 700; }
    .site-mnav__item.is-active .site-mnav__icon { background: color-mix(in srgb, var(--aws-primary) 15%, transparent); }
    .site-mnav__count {
        position: absolute; top: -4px; left: calc(50% + 5px); min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
        background: var(--aws-accent); color: var(--aws-surface); font-size: .62rem; font-weight: 800; line-height: 18px; text-align: center;
        box-shadow: 0 0 0 2px var(--aws-surface);
    }
    .site-mnav__count.is-bump { animation: site-mnav-bump .4s var(--aws-ease); }
    /* Everything else that floats at the bottom moves up above the bar. */
    .has-mobile-nav .aws-shop-mbar { bottom: calc(var(--mnav-h) + 10px + env(safe-area-inset-bottom)); }
    .has-mobile-nav .aws-shop-stickybar { bottom: calc(var(--mnav-h) + env(safe-area-inset-bottom)); transform: translateY(calc(100% + var(--mnav-h) + 20px)); }
    .has-mobile-nav .aws-shop-stickybar.is-visible { transform: none; }
    .has-mobile-nav .footer-base__top { bottom: calc(var(--mnav-h) + 14px + env(safe-area-inset-bottom)); }
    .has-mobile-nav.aws-shop-list-page .footer-base__top { bottom: calc(var(--mnav-h) + 74px + env(safe-area-inset-bottom)); }
}
@keyframes site-mnav-bump { 40% { transform: scale(1.35); } }
@media print { .site-mnav { display: none !important; } }

/* ── Phones: tighter product cards, shorter page heading, swipeable home categories ── */
@media (max-width: 575.98px) {
    .aws-shop-tile { border-radius: 14px; }
    .aws-shop-tile .aws-tile__body { padding: .7rem .75rem .8rem; gap: .2rem; }
    .aws-shop-tile .aws-tile__meta { font-size: .68rem; text-transform: uppercase; letter-spacing: .05em; }
    .aws-shop-tile .aws-tile__title { font-size: .9rem; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .aws-shop-tile .aws-shop-price { gap: .35rem; margin-top: .1rem; }
    .aws-shop-tile .aws-shop-price strong { font-size: .98rem; }
    .aws-shop-tile .aws-shop-price s { font-size: .74rem; }
    .aws-shop-tile .aws-shop-rating { font-size: .72rem; }
    .aws-shop-tile__actions { padding-top: .55rem; }
    .aws-shop-tile__btn { padding: .5rem .4rem; font-size: .78rem; border-radius: 10px; gap: .3rem; }
    .aws-shop-tile__badges { top: .5rem; left: .5rem; gap: .2rem; }
    .aws-shop-tile__badges .aws-shop-badge { font-size: .6rem; padding: .14rem .45rem; }
    .aws-shop-tile__wish { top: .4rem; right: .4rem; }
    .aws-shop-tile__wish button, .aws-shop-tile__wish span { width: 30px; height: 30px; font-size: .85rem; }
    /* "List rows" design: a compact horizontal row on phones instead of a tall stacked card. */
    .aws-shop-tile--row { flex-direction: row; }
    .aws-shop-tile--row .aws-tile__media { width: 38%; max-width: 150px; aspect-ratio: auto; min-height: 0; }
    .aws-shop-tile--row .aws-shop-tile__text { display: none; }
    .aws-shop-tile--row .aws-shop-tile__quick { display: none; }

    .aws-hero--light { padding: 1.1rem 1rem 1.25rem; }
    .aws-hero--light h1 { font-size: 1.4rem; gap: .6rem; }
    .aws-hero__crumbs { font-size: .74rem; margin-bottom: .35rem; }
    .aws-hero p { font-size: .86rem; margin-top: .3rem; }

    .home-ar-cats__list { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; gap: 1rem; padding: .35rem .25rem .75rem; scroll-snap-type: x proximity; scrollbar-width: none; }
    .home-ar-cats__list::-webkit-scrollbar { display: none; }
    .home-ar-cats__list > li { flex: 0 0 auto; scroll-snap-align: start; }
    .home-ar-cats__img { width: 74px; }
    .home-ar-cats__item { gap: .5rem; font-size: .78rem; }
}
@media (max-width: 575.98px) {
    .aws-shop-catgrid, .aws-shop-catgrid--sm { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .aws-shop-catcard__img { aspect-ratio: 1 / 1; }
    .aws-shop-catcard__body { flex-direction: column; align-items: flex-start; gap: .1rem; padding: .6rem .75rem .7rem; }
    .aws-shop-catcard__body strong { font-size: .9rem; }
    .aws-shop-catcard__body small { font-size: .72rem; }
}
@media (max-width: 575.98px) {
    .aws-shop-tile--row .aws-tile__body { justify-content: center; }
    .aws-shop-tile--row .aws-tile__title { font-size: .92rem; padding-right: 1.9rem; }
    .aws-shop-tile--row .aws-shop-price { justify-content: flex-start; align-self: auto; }
    .aws-shop-tile--row .aws-shop-price strong { font-size: 1rem; }
    .aws-shop-tile--row .aws-shop-tile__actions { padding-top: .45rem; }
}

/* ── Courier Shipping (Admin → Shop → Courier Shipping) ─────────────────────────────── */
.adm-courier-default { display: flex; flex-wrap: wrap; gap: .6rem; align-items: flex-start; }
.adm-courier-default > .aws-btn { white-space: nowrap; }
.adm-courier-how { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.adm-courier-how li { display: flex; gap: .75rem; align-items: flex-start; font-size: .88rem; color: var(--aws-ink-600); line-height: 1.5; }
.adm-courier-how i { flex: 0 0 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: var(--aws-primary-soft); color: var(--aws-primary); }
.adm-courier-slugs { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; font-size: .88rem; }
.adm-courier-slugs code { margin-left: .35rem; }
.adm-rate-add { display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(110px, 1fr)) auto; gap: .9rem; align-items: start; }
.adm-rate-add > .aws-btn { margin-top: 1.7rem; white-space: nowrap; }
@media (max-width: 991.98px) {
    .adm-rate-add { grid-template-columns: 1fr 1fr; }
    .adm-rate-add > .aws-field:first-child, .adm-rate-add > .aws-btn { grid-column: 1 / -1; }
    .adm-rate-add > .aws-btn { margin-top: 0; }
}

/* ── Checkout: courier choices, free-shipping progress ────────────────────────────── */
.aws-ck-method__tag { display: inline-block; margin-left: .35rem; padding: .08rem .5rem; border-radius: 999px; background: var(--aws-primary-soft); color: var(--aws-primary); font-size: .68rem; font-weight: 700; vertical-align: middle; }
.aws-ck-method__price s { color: var(--aws-ink-400); font-weight: 500; margin-right: .25rem; }
.aws-ck-method__price b { color: var(--aws-success); }
.aws-ck-free { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; padding: .7rem .9rem; margin-bottom: .85rem; border-radius: 12px; background: var(--aws-surface-muted); border: 1px dashed var(--aws-border-strong); font-size: .88rem; }
.aws-ck-free > i { color: var(--aws-primary); font-size: 1.1rem; }
.aws-ck-free.is-done { background: var(--aws-primary-soft); border-style: solid; border-color: transparent; color: var(--aws-ink-900); }
.aws-ck-free__bar { flex: 1 0 100%; height: 6px; border-radius: 999px; background: var(--aws-border); overflow: hidden; }
.aws-ck-free__bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--aws-primary), var(--aws-accent)); transition: width .4s var(--aws-ease); }
[data-courier-box] { transition: opacity .2s; }
[data-courier-box].is-loading { opacity: .45; pointer-events: none; }

/* ── Home: hero video banner (Site Settings → Home page → Hero shows: Video) ───────── */
.home-video { position: relative; background: var(--home-deep, var(--aws-ink-900)); }
.home-video__frame { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: min(82vh, 780px); overflow: hidden; }
.home-video__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.home-video__link { position: absolute; inset: 0; z-index: 1; }
.home-video__overlay { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; background: linear-gradient(90deg, color-mix(in srgb, var(--home-deep, var(--aws-ink-900)) 70%, transparent), color-mix(in srgb, var(--home-deep, var(--aws-ink-900)) 15%, transparent) 65%, transparent); color: var(--home-on-deep, var(--aws-surface)); }
.home-video__title { font-family: var(--home-font-display); font-weight: 800; font-size: clamp(1.6rem, 4.5vw, 3.6rem); line-height: 1.08; max-width: 13ch; margin-bottom: .8rem; color: var(--home-on-deep, var(--aws-surface)); }
.home-video__text { max-width: 46ch; font-size: clamp(.9rem, 1.3vw, 1.05rem); line-height: 1.6; margin-bottom: 1.25rem; color: var(--home-on-deep-muted, var(--aws-surface)); }
.home-video__toggle { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; width: 44px; height: 44px; border: 0; border-radius: 50%; display: grid; place-items: center; font-size: 1.25rem; color: var(--aws-surface); background: color-mix(in srgb, var(--aws-ink-900) 50%, transparent); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: background .2s, transform .15s; }
.home-video__toggle:hover { background: color-mix(in srgb, var(--aws-ink-900) 70%, transparent); }
.home-video__toggle:active { transform: scale(.92); }
.home-video__toggle:focus-visible { outline: 3px solid var(--aws-primary-ring); outline-offset: 2px; }
@media (max-width: 575.98px) {
    .home-video__toggle { width: 38px; height: 38px; right: .6rem; bottom: .6rem; font-size: 1.05rem; }
    .home-video--text .home-video__frame { aspect-ratio: 4 / 5; max-height: 78vh; }
    .home-video__overlay { align-items: flex-end; padding-bottom: 2rem; background: linear-gradient(0deg, color-mix(in srgb, var(--home-deep, var(--aws-ink-900)) 80%, transparent), color-mix(in srgb, var(--home-deep, var(--aws-ink-900)) 10%, transparent) 70%); }
}

/* ── Product popup (Shop Design → "Clicking a product in a list opens: A quick popup") ── */
.aws-shop-popup .modal-content { border: 0; border-radius: 20px; overflow: hidden; background: var(--aws-surface); }
.aws-shop-popup__close { position: absolute; top: .85rem; right: .85rem; z-index: 6; padding: .65rem; border-radius: 50%; background-color: var(--aws-surface); box-shadow: var(--aws-shadow-md); opacity: 1; }
.aws-shop-popup__body { min-height: 320px; max-height: calc(100vh - 3.5rem); overflow-y: auto; }
.aws-shop-popup__loading { min-height: 380px; display: grid; place-items: center; }
.aws-shop-pop { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 2rem; padding: 1.75rem; }
.aws-shop-pop .aws-shop-buy__title { font-size: clamp(1.25rem, 2.2vw, 1.7rem); padding-right: 2.75rem; }
.aws-shop-pop__more { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; font-weight: 700; color: var(--aws-primary); text-decoration: none; }
.aws-shop-pop__more:hover { text-decoration: underline; }
@media (max-width: 767.98px) {
    .aws-shop-pop { grid-template-columns: 1fr; gap: 1rem; padding: 1rem 1rem 1.75rem; }
    .aws-shop-popup .modal-content { border-radius: 0; }
    .aws-shop-popup__body { max-height: none; }
}

/* ── Aranya home: six premix bowls in one row on desktop (3 + 3 on phones); tidy phone utility bar ── */
.home-ar-promo__gallery img { width: max(96px, calc((100% - 5rem) / 6)); max-width: 200px; }
@media (max-width: 575.98px) {
    .site-head__util-list { display: none; }
    .site-head__util-cta { width: 100%; justify-content: center; gap: 1.5rem; }
    .site-head__util-cta a { white-space: nowrap; }
    .home-ar-section { padding: 1.5rem 0; }
    .home-ar-promo { padding: 1.75rem 1rem 1.5rem; }
}
@media (max-width: 575.98px) {
    /* three pack sizes fit on one line inside a phone card */
    .aws-shop-opt--compact .aws-shop-opt__chips { gap: .25rem; flex-wrap: nowrap; }
    .aws-shop-opt--compact .aws-shop-chip { flex: 1 1 0; min-width: 0; }
    .aws-shop-opt--compact .aws-shop-chip span { width: 100%; justify-content: center; min-height: 30px; padding: .2rem .25rem; font-size: .72rem; border-radius: 7px; white-space: nowrap; }
}
.adm-hero-note { margin-top: 2.1rem; }
@media (max-width: 767.98px) { .adm-hero-note { margin-top: 0; } }
.aws-ck-debug { margin-top: 1rem; padding: .75rem 1rem; border-radius: 12px; border: 1px dashed var(--aws-warning, var(--aws-border-strong)); background: var(--aws-surface-muted); font-size: .82rem; }
.aws-ck-debug summary { cursor: pointer; font-weight: 700; }
.aws-ck-debug ul { margin: .5rem 0 0; padding-left: 1.1rem; display: grid; gap: .25rem; }
.aws-minicart__empty .aws-shop-buy__btn { flex: 0 0 auto; min-width: 200px; }

/* ── Product cards: − quantity + next to Add to cart (fits phone cards) ── */
.aws-shop-tile__buy { display: flex; gap: .45rem; align-items: stretch; }
.aws-shop-tile__buy .aws-shop-tile__btn { flex: 1 1 auto; min-width: 0; padding-left: .5rem; padding-right: .5rem; white-space: nowrap; }
.aws-stepper--sm { flex: 0 0 auto; border-radius: 8px; background: var(--aws-surface); }
.aws-stepper--sm button { width: 30px; font-size: .82rem; padding: 0; }
.aws-stepper--sm input { width: 34px; min-height: 38px; padding: 0; border: 0; background: transparent; text-align: center; font-weight: 700; font-size: .9rem; color: var(--aws-ink-900); -moz-appearance: textfield; appearance: textfield; }
.aws-stepper--sm input:focus { outline: none; }
.aws-shop-tile__btn-short { display: none; }
@media (max-width: 575.98px) {
    .aws-shop-tile__buy { gap: .3rem; }
    .aws-stepper--sm button { width: 24px; font-size: .74rem; }
    .aws-stepper--sm input { width: 24px; min-height: 34px; font-size: .8rem; }
    .aws-shop-tile__btn-text { display: none; }
    .aws-shop-tile__btn-short { display: inline; }
    .aws-shop-tile__buy .aws-shop-tile__btn { gap: .2rem; padding-left: .3rem; padding-right: .3rem; }
}

/* ── Search: trending now + popular categories (weight chips, quantity, add to cart) ── */
.site-trend { margin-top: 2rem; text-align: left; }
.site-trend--overlay { position: relative; left: 50%; width: min(var(--home-wrap, 1320px), 100vw - 2.5rem); transform: translateX(-50%); }
.site-trend--panel { max-height: min(70vh, 640px); overflow-y: auto; margin: .25rem 0 1rem; }
.site-trend__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; }
.site-trend__title { display: flex; align-items: center; gap: .4rem; font-size: 1.1rem; font-weight: 700; margin: 0 0 .75rem; color: var(--aws-ink-900); }
.site-trend__title a { color: inherit; text-decoration: none; }
.site-trend__title a:hover { color: var(--aws-primary); }
.site-trend__title i { color: var(--aws-accent); }
.site-trend__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.site-trend__item { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: .75rem; padding: .7rem; border: 1px solid var(--aws-border); border-radius: 14px; background: var(--aws-surface); }
.site-trend__img { width: 76px; height: 76px; border-radius: 10px; overflow: hidden; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-400); }
.site-trend__img img { width: 100%; height: 100%; object-fit: cover; }
.site-trend__body { display: grid; gap: .4rem; min-width: 0; }
.site-trend__name { font-weight: 700; font-size: .92rem; color: var(--aws-ink-900); text-decoration: none; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.site-trend__name:hover { color: var(--aws-primary); }
.site-trend__form { display: grid; gap: .4rem; margin: 0; }
.site-trend__price { color: var(--aws-primary); font-size: .98rem; }
.site-trend__sold { font-size: .8rem; color: var(--aws-danger); font-weight: 700; }
.site-trend .aws-shop-opt__chips { gap: .25rem; }
@media (max-width: 575.98px) {
    .site-trend__item { grid-template-columns: 64px minmax(0, 1fr); }
    .site-trend__img { width: 64px; height: 64px; }
}

/* ── Track your order ── */
.aws-track { max-width: 860px; margin: 0 auto; }
.aws-track__intro { display: flex; gap: .9rem; align-items: center; margin-bottom: 1.25rem; color: var(--aws-ink-600); }
.aws-track__intro p { margin: 0; }
.aws-track__icon { flex: 0 0 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; font-size: 1.35rem; background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-track__head { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding-bottom: 1rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--aws-border); }
.aws-track__head strong { display: block; font-size: 1.25rem; color: var(--aws-ink-900); }
.aws-track__label { display: block; font-size: .74rem; text-transform: uppercase; letter-spacing: .06em; color: var(--aws-ink-500); font-weight: 700; }
.aws-track__status { color: var(--aws-primary) !important; }
.aws-track__status.is-stopped { color: var(--aws-danger) !important; }
.aws-track__steps { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: .5rem; counter-reset: s; }
.aws-track__steps li { position: relative; display: grid; justify-items: center; text-align: center; gap: .45rem; color: var(--aws-ink-400); font-size: .82rem; font-weight: 600; }
.aws-track__steps li::before { content: ""; position: absolute; top: 19px; left: calc(-50% + 22px); right: calc(50% + 22px); height: 3px; border-radius: 3px; background: var(--aws-border); }
.aws-track__steps li:first-child::before { display: none; }
.aws-track__steps li.is-done::before { background: var(--aws-primary); }
.aws-track__dot { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--aws-surface-muted); border: 2px solid var(--aws-border); font-size: 1rem; position: relative; z-index: 1; }
.aws-track__steps li.is-done { color: var(--aws-ink-900); }
.aws-track__steps li.is-done .aws-track__dot { background: var(--aws-primary); border-color: var(--aws-primary); color: var(--aws-surface); }
.aws-track__steps li.is-current .aws-track__dot { box-shadow: 0 0 0 5px var(--aws-primary-ring); }
.aws-track__step small { display: block; font-weight: 500; color: var(--aws-ink-500); }
.aws-track__ship { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; padding: 1rem 1.1rem; border-radius: 14px; background: var(--aws-surface-muted); }
.aws-track__ship strong { display: block; color: var(--aws-ink-900); }
.aws-track__ship .aws-shop-buy__btn { margin-left: auto; flex: 0 0 auto; }
@media (max-width: 575.98px) {
    .aws-track__steps { grid-template-columns: 1fr; gap: .75rem; }
    .aws-track__steps li { grid-template-columns: 40px 1fr; justify-items: start; text-align: left; align-items: center; }
    .aws-track__steps li::before { top: -14px; bottom: auto; left: 19px; right: auto; width: 3px; height: 14px; }
    .aws-track__ship .aws-shop-buy__btn { margin-left: 0; width: 100%; }
    .site-head__util-cta { gap: .9rem; font-size: .72rem; }
}
.site-trend .aws-shop-tile__btn-text { display: none; }
.site-trend .aws-shop-tile__btn-short { display: inline; }
.site-trend .aws-shop-tile__buy { max-width: 100%; }
.aws-track { padding: clamp(1.25rem, 3vw, 2.25rem); background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 20px; box-shadow: var(--aws-shadow-xs); }
.aws-dash-hero { background: radial-gradient(700px 260px at 90% 0%, color-mix(in srgb, var(--home-gold-500, #f5a623) 35%, transparent), transparent 70%), linear-gradient(135deg, var(--home-deep, #4a0d12), var(--home-red-700, #c81e2c)); color: var(--home-on-deep, #fff); } /* follows the site theme */

/* ══ Customer account (x-account-shell): header, side menu / phone tabs, cards, orders, addresses ══ */
.aws-acct-page main { background: var(--home-cream-50, var(--aws-surface-muted)); }
.aws-acct__hero { background: radial-gradient(600px 220px at 85% 0%, color-mix(in srgb, var(--home-gold-500, var(--aws-accent)) 30%, transparent), transparent 70%), linear-gradient(135deg, var(--home-deep, var(--aws-ink-900)), var(--home-red-700, var(--aws-primary))); color: var(--home-on-deep, var(--aws-surface)); padding: 2rem 0 4.5rem; }
.aws-acct__hero-row { display: flex; align-items: center; gap: 1rem; }
.aws-acct__avatar { flex: 0 0 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; font-size: 1.4rem; font-weight: 800; letter-spacing: .02em; color: var(--home-deep, var(--aws-ink-900)); background: var(--home-cream-50, var(--aws-surface)); box-shadow: 0 0 0 4px color-mix(in srgb, var(--aws-surface) 25%, transparent); }
.aws-acct__who { flex: 1; min-width: 0; }
.aws-acct__who span { font-size: .85rem; opacity: .85; }
.aws-acct__who h1 { margin: 0; font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 800; color: inherit; line-height: 1.15; }
.aws-acct__who p { margin: .15rem 0 0; font-size: .88rem; opacity: .85; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aws-acct__out { margin: 0; }
.aws-acct__out button { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .95rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--aws-surface) 45%, transparent); background: color-mix(in srgb, var(--aws-surface) 10%, transparent); color: inherit; font-weight: 600; font-size: .85rem; }
.aws-acct__out button:hover { background: color-mix(in srgb, var(--aws-surface) 22%, transparent); }
.aws-acct__wrap { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 1.5rem; align-items: start; margin-top: -3rem; padding-bottom: 3rem; position: relative; }
.aws-acct__side { position: sticky; top: calc(var(--site-head-h, 90px) + 1rem); display: grid; gap: 1rem; }
.aws-acct__nav { display: grid; gap: .2rem; padding: .6rem; background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 18px; box-shadow: var(--aws-shadow-sm); }
.aws-acct__link { display: flex; align-items: center; gap: .7rem; padding: .7rem .85rem; border-radius: 12px; color: var(--aws-ink-700); text-decoration: none; font-weight: 600; font-size: .92rem; transition: background .15s, color .15s; }
.aws-acct__link i { font-size: 1.05rem; color: var(--aws-ink-400); transition: color .15s; }
.aws-acct__link span { flex: 1; }
.aws-acct__link b { min-width: 22px; padding: .05rem .45rem; border-radius: 999px; background: var(--aws-surface-muted); color: var(--aws-ink-600); font-size: .72rem; text-align: center; }
.aws-acct__link:hover { background: var(--aws-surface-muted); color: var(--aws-ink-900); }
.aws-acct__link.is-active { background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-acct__link.is-active i { color: var(--aws-primary); }
.aws-acct__link.is-active b { background: var(--aws-primary); color: var(--aws-surface); }
.aws-acct__link--muted { border-top: 1px dashed var(--aws-border); border-radius: 0 0 12px 12px; margin-top: .3rem; padding-top: .85rem; }
.aws-acct__help { padding: 1rem 1.1rem; border-radius: 18px; background: var(--aws-surface); border: 1px solid var(--aws-border); font-size: .85rem; color: var(--aws-ink-600); }
.aws-acct__help strong { display: flex; align-items: center; gap: .4rem; color: var(--aws-ink-900); }
.aws-acct__help p { margin: .3rem 0 .7rem; }
.aws-acct__help-btns { display: flex; gap: .5rem; }
.aws-acct__help-btns a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .45rem .5rem; border-radius: 10px; border: 1px solid var(--aws-border-strong); color: var(--aws-ink-800, var(--aws-ink-900)); text-decoration: none; font-weight: 600; }
.aws-acct__help-btns a:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-acct__main { display: grid; gap: 1.25rem; min-width: 0; }

.aws-acct-card { padding: clamp(1rem, 2.5vw, 1.5rem); background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 18px; box-shadow: var(--aws-shadow-sm); min-width: 0; }
.aws-acct-card__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin-bottom: 1rem; }
.aws-acct-card__head h2 { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: 1.1rem; font-weight: 800; color: var(--aws-ink-900); }
.aws-acct-card__head h2 i { color: var(--aws-primary); }
.aws-acct-card__head a { font-weight: 700; font-size: .88rem; color: var(--aws-primary); text-decoration: none; }
.aws-acct-card__meta { font-size: .85rem; color: var(--aws-ink-500); }
.aws-acct-card__foot { display: flex; justify-content: flex-end; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--aws-border); }

.aws-acct__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.aws-acct-stat { position: relative; display: grid; gap: .1rem; padding: 1.1rem 1.15rem; border-radius: 18px; background: var(--aws-surface); border: 1px solid var(--aws-border); box-shadow: var(--aws-shadow-sm); color: var(--aws-ink-900); text-decoration: none; overflow: hidden; transition: transform .2s, box-shadow .2s; --tone: var(--aws-primary); }
.aws-acct-stat:hover { transform: translateY(-2px); box-shadow: var(--aws-shadow-md); color: var(--aws-ink-900); }
.aws-acct-stat i { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; margin-bottom: .45rem; font-size: 1.15rem; color: var(--tone); background: color-mix(in srgb, var(--tone) 13%, transparent); }
.aws-acct-stat strong { font-size: 1.6rem; line-height: 1.1; font-weight: 800; }
.aws-acct-stat span { font-size: .85rem; color: var(--aws-ink-500); font-weight: 600; }
.aws-acct-stat--accent { --tone: var(--aws-accent); }
.aws-acct-stat--danger { --tone: var(--aws-danger); }
.aws-acct-stat--info { --tone: var(--aws-info); }

.aws-pill--accent { background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-pill--lg { font-size: .85rem; padding: .4rem .85rem; }

.aws-ordercard { border: 1px solid var(--aws-border); border-radius: 16px; overflow: hidden; background: var(--aws-surface); transition: border-color .2s, box-shadow .2s; }
.aws-ordercard + .aws-ordercard { margin-top: .85rem; }
.aws-ordercard:hover { border-color: var(--aws-border-strong); box-shadow: var(--aws-shadow-sm); }
.aws-ordercard__head { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .85rem 1rem; background: var(--aws-surface-muted); border-bottom: 1px solid var(--aws-border); }
.aws-ordercard__no { font-weight: 800; color: var(--aws-ink-900); text-decoration: none; }
.aws-ordercard__no:hover { color: var(--aws-primary); }
.aws-ordercard__head small { display: block; color: var(--aws-ink-500); font-size: .8rem; }
.aws-ordercard__body { display: flex; align-items: center; gap: 1rem; padding: .9rem 1rem; }
.aws-ordercard__thumbs { display: flex; flex: 0 0 auto; }
.aws-ordercard__thumb { width: 52px; height: 52px; border-radius: 12px; overflow: hidden; display: grid; place-items: center; background: var(--aws-surface-muted); border: 2px solid var(--aws-surface); color: var(--aws-ink-400); font-size: .8rem; font-weight: 700; }
.aws-ordercard__thumb + .aws-ordercard__thumb { margin-left: -12px; }
.aws-ordercard__thumb img { width: 100%; height: 100%; object-fit: cover; }
.aws-ordercard__names { margin: 0; flex: 1; min-width: 0; color: var(--aws-ink-600); font-size: .88rem; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.aws-ordercard__foot { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; padding: .75rem 1rem; border-top: 1px dashed var(--aws-border); }
.aws-ordercard__total { font-weight: 800; color: var(--aws-ink-900); font-size: 1.05rem; }
.aws-ordercard__total small { font-weight: 600; color: var(--aws-ink-500); font-size: .78rem; margin-right: .2rem; }
.aws-ordercard__actions { display: flex; gap: .4rem; flex-wrap: wrap; }

.aws-acct__duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.aws-acct__duo--order { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); align-items: start; }
.aws-acct-quick { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.aws-acct-quick a { display: flex; align-items: center; gap: .6rem; padding: .8rem; border-radius: 12px; border: 1px solid var(--aws-border); color: var(--aws-ink-800, var(--aws-ink-900)); text-decoration: none; font-weight: 600; font-size: .88rem; transition: border-color .15s, background .15s; }
.aws-acct-quick a i { font-size: 1.1rem; color: var(--aws-primary); }
.aws-acct-quick a:hover { border-color: var(--aws-primary); background: var(--aws-primary-soft); }
.aws-acct-filter { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1rem; }
.aws-acct-filter a { padding: .4rem .9rem; border-radius: 999px; border: 1px solid var(--aws-border-strong); color: var(--aws-ink-700); text-decoration: none; font-weight: 600; font-size: .85rem; }
.aws-acct-filter a:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-acct-filter a.is-active { background: var(--aws-primary); border-color: var(--aws-primary); color: var(--aws-surface); }

.aws-addr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 1rem; }
.aws-addr { position: relative; display: grid; align-content: start; gap: .3rem; padding: 1rem 1.1rem; border-radius: 16px; border: 1.5px solid var(--aws-border); background: var(--aws-surface); font-size: .9rem; color: var(--aws-ink-700); }
.aws-addr.is-default { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-addr--plain { padding: 0; border: 0; box-shadow: none; }
.aws-addr strong { color: var(--aws-ink-900); font-size: .98rem; }
.aws-addr address { margin: 0; line-height: 1.55; }
.aws-addr small { color: var(--aws-ink-500); }
.aws-addr__top { display: flex; justify-content: space-between; align-items: center; gap: .5rem; margin-bottom: .2rem; }
.aws-addr__label { display: inline-flex; align-items: center; gap: .35rem; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--aws-ink-500); }
.aws-addr__actions { display: flex; gap: .25rem .65rem; flex-wrap: wrap; font-size: .86rem; margin-top: .55rem; padding-top: .6rem; border-top: 1px dashed var(--aws-border); }
.aws-addr__actions form { margin: 0; }
.aws-addr__btn { border: 0; background: none; padding: 0; display: inline-flex; align-items: center; gap: .3rem; font-size: .84rem; font-weight: 700; color: var(--aws-primary); }
.aws-addr__btn:hover { text-decoration: underline; }
.aws-addr__btn--danger { color: var(--aws-danger); }
.aws-addr--add { place-items: center; place-content: center; min-height: 190px; border-style: dashed; color: var(--aws-ink-500); font-weight: 700; text-align: center; transition: border-color .15s, color .15s, background .15s; }
.aws-addr--add i { font-size: 1.8rem; color: var(--aws-primary); }
.aws-addr--add:hover { border-color: var(--aws-primary); color: var(--aws-primary); background: var(--aws-primary-soft); }
.aws-addr-labels { display: flex; gap: .5rem; flex-wrap: wrap; }
.aws-addr-labels label { margin: 0; cursor: pointer; }
.aws-addr-labels input { position: absolute; opacity: 0; pointer-events: none; }
.aws-addr-labels span { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem 1rem; border-radius: 999px; border: 1.5px solid var(--aws-border-strong); font-weight: 600; font-size: .88rem; color: var(--aws-ink-700); }
.aws-addr-labels input:checked + span { border-color: var(--aws-primary); background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-addr-labels input:focus-visible + span { box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-acct-modal .modal-content { border: 0; border-radius: 20px; }
.aws-acct-modal .modal-title { display: flex; align-items: center; gap: .5rem; font-size: 1.15rem; font-weight: 800; margin: 0; }
.aws-acct-modal .modal-title i { color: var(--aws-primary); }

.aws-acct-table { display: grid; }
.aws-acct-table__row { display: grid; grid-template-columns: 1fr 1.4fr .9fr .9fr .9fr; gap: .75rem; align-items: center; padding: .8rem .25rem; border-bottom: 1px solid var(--aws-border); font-size: .9rem; }
.aws-acct-table__row:last-child { border-bottom: 0; }
.aws-acct-table__row--head { font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--aws-ink-500); padding-top: 0; }
.aws-acct-table code { font-size: .8rem; color: var(--aws-ink-700); background: var(--aws-surface-muted); padding: .1rem .35rem; border-radius: 6px; }

.aws-acct-back { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .6rem; font-weight: 700; font-size: .85rem; color: var(--aws-ink-500); text-decoration: none; }
.aws-acct-back:hover { color: var(--aws-primary); }
.aws-acct-order__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.aws-acct-order__head h2 { margin: 0; font-size: 1.3rem; font-weight: 800; color: var(--aws-ink-900); }
.aws-acct-order__head p { margin: .2rem 0 0; color: var(--aws-ink-500); font-size: .88rem; }
.aws-acct-order__pay { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.aws-acct-order__pay span { flex: 1; }
.aws-acct-items { list-style: none; margin: 0; padding: 0; }
.aws-acct-items li { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: .85rem; align-items: center; padding: .7rem 0; border-bottom: 1px solid var(--aws-border); }
.aws-acct-items__img { width: 56px; height: 56px; border-radius: 12px; overflow: hidden; display: grid; place-items: center; background: var(--aws-surface-muted); color: var(--aws-ink-400); }
.aws-acct-items__img img { width: 100%; height: 100%; object-fit: cover; }
.aws-acct-items__name { display: grid; gap: .1rem; font-weight: 700; color: var(--aws-ink-900); font-size: .92rem; }
.aws-acct-items__name a { color: inherit; text-decoration: none; }
.aws-acct-items__name a:hover { color: var(--aws-primary); }
.aws-acct-items__name small { font-weight: 500; color: var(--aws-ink-500); font-size: .8rem; }
.aws-acct-totals { margin: .9rem 0 0; display: grid; gap: .4rem; font-size: .92rem; }
.aws-acct-totals div { display: flex; justify-content: space-between; gap: 1rem; }
.aws-acct-totals dt { font-weight: 500; color: var(--aws-ink-600); }
.aws-acct-totals dd { margin: 0; font-weight: 700; color: var(--aws-ink-900); }
.aws-acct-totals .text-success dt, .aws-acct-totals .text-success dd { color: var(--aws-success); }
.aws-acct-totals__total { padding-top: .6rem; margin-top: .2rem; border-top: 1px solid var(--aws-border); font-size: 1.05rem; }
.aws-acct-totals__total dd { color: var(--aws-primary); font-weight: 800; }
.aws-acct-facts { margin: 0; display: grid; gap: .55rem; font-size: .88rem; }
.aws-acct-facts dt { font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--aws-ink-500); }
.aws-acct-facts dd { margin: 0; color: var(--aws-ink-900); }
.aws-acct-wish { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 991.98px) {
    .aws-acct__wrap { grid-template-columns: 1fr; margin-top: -2.5rem; gap: 1rem; }
    .aws-acct__side { position: static; }
    .aws-acct__nav { display: flex; gap: .3rem; overflow-x: auto; padding: .45rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .aws-acct__nav::-webkit-scrollbar { display: none; }
    .aws-acct__link { flex: 0 0 auto; padding: .55rem .8rem; font-size: .85rem; }
    .aws-acct__link--muted { border-top: 0; margin-top: 0; padding-top: .55rem; border-radius: 12px; }
    .aws-acct__help { display: none; }
    .aws-acct__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .aws-acct__duo, .aws-acct__duo--order { grid-template-columns: 1fr; }
    .aws-acct-wish { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .aws-acct__hero { padding: 1.25rem 0 3.5rem; }
    .aws-acct__avatar { flex-basis: 48px; height: 48px; font-size: 1.05rem; }
    .aws-acct__out button span { display: none; }
    .aws-acct__out button { padding: .55rem .7rem; }
    .aws-acct-stat { padding: .85rem; }
    .aws-acct-stat strong { font-size: 1.35rem; }
    .aws-acct-stat i { width: 34px; height: 34px; font-size: 1rem; }
    .aws-ordercard__head { flex-wrap: wrap; align-items: flex-start; gap: .4rem .75rem; }
    .aws-ordercard__no { white-space: nowrap; }
    .aws-ordercard__body { flex-direction: column; align-items: flex-start; gap: .6rem; }
    .aws-ordercard__foot { flex-direction: column; align-items: stretch; }
    .aws-ordercard__actions .aws-btn { flex: 1; justify-content: center; }
    .aws-acct-quick { grid-template-columns: 1fr; }
    .aws-acct-table__row--head { display: none; }
    .aws-acct-table__row { grid-template-columns: 1fr 1fr; gap: .35rem .75rem; padding: .85rem 0; }
    .aws-acct-table__row > span::before { content: attr(data-label); display: block; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--aws-ink-500); }
    .aws-acct-table__row > span.text-end { text-align: left !important; }
    .aws-acct-items li { grid-template-columns: 48px minmax(0, 1fr) auto; }
    .aws-acct-items__img { width: 48px; height: 48px; }
    .aws-acct-card__foot .aws-btn { width: 100%; justify-content: center; }
}

/* ── Checkout: saved addresses picker ── */
.aws-ck-saved { margin-bottom: 1.1rem; }
.aws-ck-saved__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .6rem; margin-top: .35rem; }
.aws-ck-saved__item { position: relative; margin: 0; cursor: pointer; }
.aws-ck-saved__item input { position: absolute; opacity: 0; pointer-events: none; }
.aws-ck-saved__body { display: grid; gap: .15rem; height: 100%; padding: .75rem .9rem; border-radius: 14px; border: 1.5px solid var(--aws-border-strong); background: var(--aws-surface); font-size: .84rem; color: var(--aws-ink-600); transition: border-color .15s, background .15s, box-shadow .15s; }
.aws-ck-saved__body b { display: flex; align-items: center; gap: .4rem; color: var(--aws-ink-900); font-size: .9rem; }
.aws-ck-saved__body b small { margin-left: auto; padding: .05rem .5rem; border-radius: 999px; background: var(--aws-primary-soft); color: var(--aws-primary); font-size: .7rem; font-weight: 700; }
.aws-ck-saved__body em { font-style: normal; color: var(--aws-danger); font-size: .78rem; }
.aws-ck-saved__item input:checked + .aws-ck-saved__body { border-color: var(--aws-primary); background: var(--aws-primary-soft); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-ck-saved__item input:focus-visible + .aws-ck-saved__body { box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-ck-saved__item.is-off { cursor: not-allowed; opacity: .6; }
.aws-ck-saved__item--new .aws-ck-saved__body { border-style: dashed; }
.aws-ck-saved__item--new .aws-ck-saved__body b i { color: var(--aws-primary); }

/* ── Product photos are never cropped: they fit inside their frame in every view (tiles, product page gallery,
   quick view, cart, mini-cart, search, checkout, account). Shop Design → "Product image shape" sets the frame. ── */
.aws-shop-tile .aws-tile__media img, .aws-shop-gallery__main, .aws-shop-gallery__thumb img, .aws-cart-item img,
.aws-shop-gal__zoom img, .aws-shop-gal__thumb img, .aws-shop-qv__media img, .aws-shop-cart__img img, .aws-minicart__img img,
.aws-shop-suggest__item img, .aws-ck-items__img img, .aws-ordercard__thumb img, .aws-acct-items__img img, .site-trend__img img,
.adm-pf-preview__img img { object-fit: contain; background: var(--aws-surface); }

/* ── Hero video height (Site Settings → Home page → "Video height on computers", default 600 px); smaller screens scale it down. ── */
.home-video__frame { aspect-ratio: auto; height: var(--hv-h, 600px); max-height: none; }
@media (max-width: 991.98px) { .home-video__frame { height: min(var(--hv-h, 600px), 62vw); } } /* ~91% of a 16:9 frame stays visible */
@media (max-width: 575.98px) { .home-video--text .home-video__frame { height: auto; } } /* text over the video keeps its taller 4:5 phone frame */

/* ── Admin: every form control has the same look, also outside .aws-field (table cells, inline editors, cards).
   Zero-specificity :where() keeps every component's own styles (datatable search/filters, phone input, editor) in charge. ── */
.aws-admin :where(input:not([type=checkbox], [type=radio], [type=file], [type=hidden], [type=range], [type=color], [type=submit], [type=button], [type=reset], [type=image]), select, textarea):where(:not(.aws-field *, .dt-search *, .dt-filter *, .iti *, .jodit-container *, .select2-container *)) {
    width: 100%; min-height: 42px; padding: .6rem .85rem;
    border: 1px solid var(--aws-border-strong); border-radius: 10px;
    background-color: var(--aws-surface); color: var(--aws-ink-900);
    font: 400 .92rem/1.4 var(--aws-font); transition: border-color .15s, box-shadow .15s;
}
.aws-admin :where(select):where(:not(.aws-field *, .dt-filter *, [multiple])) {
    appearance: none; padding-right: 2.2rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat; background-position: right .75rem center; background-size: 14px 10px;
}
.aws-admin :where(textarea):where(:not(.aws-field *, .jodit-container *)) { min-height: 96px; resize: vertical; }
.aws-admin :where(input, select, textarea):where(:not(.aws-field *, .dt-search *, .dt-filter *, .iti *, .jodit-container *, .select2-container *, [type=checkbox], [type=radio])):focus {
    outline: none; border-color: var(--aws-primary); box-shadow: 0 0 0 4px var(--aws-primary-ring);
}
.aws-admin :where(input, select, textarea):where(:not(.aws-field *)):disabled { background-color: var(--aws-surface-sunken); color: var(--aws-ink-500); }
.aws-admin :where(input, textarea)::placeholder { color: var(--aws-ink-400); }

/* Input group with the label after the field (e.g. “kg”, “px”). */
.aws-input-group > input:first-child { border-radius: 10px 0 0 10px !important; }
.aws-input-group > input + span { border-right: 1px solid var(--aws-border-strong); border-left: 0; border-radius: 0 10px 10px 0; }

/* Product → Variants table: name + SKU in one cell, compact fields with ₹ / kg labels, switch for Active. */
.adm-variants { min-width: 560px; }
.adm-variants th { white-space: nowrap; }
.adm-variants td { vertical-align: middle; padding: .6rem .5rem; }
.adm-variants input:not([type=checkbox]):not([type=hidden]) { min-height: 36px; padding: .35rem .55rem; font-size: .88rem; }
.adm-variants .aws-input-group { min-width: 110px; }
.adm-variants__stock { max-width: 96px; }
.adm-variants__name strong { display: block; font-weight: 600; color: var(--aws-ink-900); white-space: nowrap; }
.adm-variants__name small { display: block; margin-top: .1rem; font: 500 .72rem/1.3 ui-monospace, 'SFMono-Regular', Menlo, monospace; color: var(--aws-ink-500); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── Searchable selects (Select2, admin): same look as the other fields ── */
.select2-container { font: 400 .92rem/1.4 var(--aws-font); }
.select2-container--default .select2-selection--single { height: auto; min-height: 42px; display: flex; align-items: center; border: 1px solid var(--aws-border-strong); border-radius: 10px; background: var(--aws-surface); }
.select2-container--default .select2-selection--single .select2-selection__rendered { flex: 1; padding: .5rem 2.2rem .5rem .85rem; line-height: 1.4; color: var(--aws-ink-900); }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--aws-ink-400); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; top: 0; right: .55rem; }
.select2-container--default .select2-selection--single .select2-selection__clear { height: auto; margin-right: 1.6rem; color: var(--aws-ink-400); font-size: 1.1rem; }
.select2-container--default .select2-selection--multiple { min-height: 42px; padding: .15rem .4rem .4rem; border: 1px solid var(--aws-border-strong); border-radius: 10px; background: var(--aws-surface); }
.select2-container--default .select2-selection--multiple .select2-selection__choice { margin-top: .3rem; padding: .1rem .55rem .1rem 1.35rem; border: 0; border-radius: 999px; background: var(--aws-primary-soft); color: var(--aws-primary); font-size: .82rem; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { border: 0; color: var(--aws-primary); top: 50%; transform: translateY(-50%); }
.select2-container--default.select2-container--focus .select2-selection, .select2-container--default.select2-container--open .select2-selection { border-color: var(--aws-primary); box-shadow: 0 0 0 4px var(--aws-primary-ring); outline: none; }
.select2-container--default.select2-container--disabled .select2-selection { background: var(--aws-surface-sunken); }
.select2-dropdown { z-index: 1065; border: 1px solid var(--aws-border-strong) !important; border-radius: 12px !important; box-shadow: var(--aws-shadow-md); overflow: hidden; background: var(--aws-surface); }
.select2-container--open .select2-dropdown--below { margin-top: 4px; }
.select2-container--open .select2-dropdown--above { margin-top: -4px; }
.select2-search--dropdown { padding: .5rem; }
.select2-container--default .select2-search--dropdown .select2-search__field { padding: .45rem .65rem; border: 1px solid var(--aws-border-strong); border-radius: 8px; outline: none; font-size: .88rem; }
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.select2-results__option { padding: .45rem .75rem; font-size: .88rem; }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--aws-primary); color: var(--aws-surface); }
.select2-container--default .select2-results__option--selected { background: var(--aws-primary-soft); color: var(--aws-primary); }
.select2-container--default .select2-results__group { padding: .55rem .75rem .25rem; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--aws-ink-500); }
.select2-container--default .select2-results > .select2-results__options { max-height: 280px; }
.is-invalid + .select2-container .select2-selection { border-color: var(--aws-danger) !important; }
.select2-container--default .select2-selection--single { position: relative; }
.select2-container--default .select2-selection--single .select2-selection__clear { position: absolute; right: 2rem; top: 50%; transform: translateY(-50%); margin: 0; z-index: 1; }
.select2-container--default .select2-selection--single .select2-selection__clear ~ .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered:has(.select2-selection__clear) { padding-right: 3.4rem; }

/* ── Courier rates → Live prices card ── */
.adm-live-rates { display: flex; align-items: center; justify-content: space-between; gap: 1rem 1.5rem; flex-wrap: wrap; }
.adm-live-rates__body { display: flex; gap: 1rem; align-items: flex-start; flex: 1 1 420px; min-width: 0; }
.adm-live-rates__icon { flex: 0 0 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; font-size: 1.2rem; background: var(--aws-surface-sunken); color: var(--aws-ink-500); }
.adm-live-rates__icon.is-on { background: var(--aws-success-soft); color: var(--aws-success); }
.adm-live-rates__text h2 { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 0 0 .3rem; font-size: 1rem; font-weight: 700; }
.adm-live-rates__text p { margin: 0; font-size: .86rem; color: var(--aws-ink-600); max-width: 72ch; }
.adm-live-rates__note { margin-top: .45rem !important; font-size: .8rem !important; color: var(--aws-ink-500) !important; }
.adm-live-rates__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.adm-live-rates__actions form { margin: 0; }
.adm-live-rates__sub { margin: .25rem 0 0; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--aws-ink-500); }
@media (max-width: 575.98px) { .adm-live-rates__actions, .adm-live-rates__actions form, .adm-live-rates__actions .aws-btn { width: 100%; justify-content: center; } }
/* Select2 inside datatable / toolbar filters: compact like the other filter fields, never styled as the filter label. */
.dt-filter > .select2-container { min-width: 170px; font: 400 .86rem/1.4 var(--aws-font); text-transform: none; letter-spacing: normal; color: var(--aws-ink-900); }
.dt-filter .select2-container--default .select2-selection--single { min-height: 38px; }
.dt-filter .select2-container--default .select2-selection--single .select2-selection__rendered { padding-top: .35rem; padding-bottom: .35rem; }
/* Phone video (Site Settings → Home page → Mobile video): portrait clip shown in a 4:5 frame on phones, like the live site. */
@media (max-width: 767.98px) { .home-video--has-mobile .home-video__frame { height: auto; aspect-ratio: 4 / 5; max-height: 82svh; } }

/* ── Email verification page (My account → verify your email) ── */
.aws-verify__facts { list-style: none; margin: 0 0 1.25rem; padding: .9rem 1rem; display: grid; gap: .55rem; border-radius: 14px; background: var(--aws-surface-muted); border: 1px solid var(--aws-border); font-size: .88rem; color: var(--aws-ink-600); }
.aws-verify__facts li { display: flex; gap: .6rem; align-items: flex-start; }
.aws-verify__facts i { color: var(--aws-primary); margin-top: .1rem; }
.aws-auth__icon.aws-verify__icon--warn { background: var(--aws-warning-soft); color: var(--aws-warning); }
.aws-auth__note { display: flex; gap: .55rem; align-items: flex-start; margin: 0 0 1rem; padding: .7rem .85rem; border-radius: 12px; background: var(--aws-surface-muted); border: 1px solid var(--aws-border); font-size: .85rem; color: var(--aws-ink-600); }
.aws-auth__note i { color: var(--aws-primary); margin-top: .1rem; }

/* ── Email Templates → Email design picker (sketches use the live theme colours, set inline) ── */
.adm-email-design__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; }
.adm-email-design__swatches { display: inline-flex; gap: .3rem; padding: .35rem; border: 1px solid var(--aws-border); border-radius: 999px; }
.adm-email-design__swatches i { width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08); }
.adm-email-design__foot { display: flex; justify-content: flex-end; margin-top: 1rem; }
.adm-email-thumb { display: flex; justify-content: center; height: 100%; padding: 8px; border-radius: 8px; }
.adm-email-thumb__card, .adm-email-thumb__plain { display: flex; flex-direction: column; width: 78%; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
.adm-email-thumb__plain { box-shadow: none; width: 86%; }
.adm-email-thumb__band { display: flex; justify-content: center; align-items: center; height: 24px; }
.adm-email-thumb__band img, .adm-email-thumb__logo img { height: 14px; width: auto; max-width: 70%; object-fit: contain; }
.adm-email-thumb__logo { display: flex; justify-content: center; padding: 6px 0 3px; }
.adm-email-thumb__logo--left { justify-content: flex-start; padding: 2px 0 5px; }
.adm-email-thumb__rule { align-self: center; width: 30%; height: 2px; border-radius: 2px; }
.adm-email-thumb__text { flex: 1; padding: 4px 8px; }
.adm-email-thumb__plain .adm-email-thumb__text { padding: 6px 0; }
.adm-email-thumb__btn { display: block; width: 36%; height: 8px; border-radius: 3px; margin-top: 6px; }
.adm-email-thumb__foot { height: 10px; }
@media (max-width: 575.98px) { .adm-email-design__head { flex-direction: column; } }
.adm-email-thumb__line { display: block; height: 5px; border-radius: 3px; margin: 4px 0; }

/* ── Site Settings → Customer accounts: verification method cards ── */
.adm-vm-options { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); max-width: 640px; margin-top: .4rem; }
.adm-vm-icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-size: 1.35rem; background: var(--aws-primary-soft); color: var(--aws-primary); margin-bottom: .35rem; }

/* ── Verification code boxes (6 digits) ── */
.aws-otp-form { margin-bottom: 1.1rem; }
.aws-otp { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; margin-top: .35rem; }
.aws-otp input { width: 100%; height: 58px; padding: 0; text-align: center; font: 700 1.6rem/1 var(--aws-font); color: var(--aws-ink-900); background: var(--aws-surface); border: 1.5px solid var(--aws-border-strong); border-radius: 12px; transition: border-color .15s, box-shadow .15s; }
.aws-otp input:focus { outline: none; border-color: var(--aws-primary); box-shadow: 0 0 0 4px var(--aws-primary-ring); }
.aws-otp input:disabled { background: var(--aws-surface-sunken); }
.aws-otp.is-invalid input { border-color: var(--aws-danger); }
.aws-verify__email { overflow-wrap: anywhere; }
@media (max-width: 399.98px) { .aws-otp { gap: .35rem; } .aws-otp input { height: 50px; font-size: 1.35rem; } }

/* ── CMS pages, layout “Wide — designed sections” (About Us). Classes are used inside page content (Admin → Pages). ── */
.aws-pg { display: grid; gap: clamp(2.5rem, 5vw, 4.5rem); }
.aws-pg section { margin: 0; }
.aws-pg h2 { font-family: var(--aws-font-display); font-size: clamp(1.6rem, 3vw, 2.35rem); line-height: 1.15; color: var(--aws-ink-900); margin: 0 0 .9rem; }
.aws-pg h3 { font-size: 1.08rem; font-weight: 700; color: var(--aws-ink-900); margin: 0 0 .4rem; }
.aws-pg p { color: var(--aws-ink-600); line-height: 1.75; margin: 0 0 .9rem; }
.aws-pg-kicker { display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .6rem !important; font-size: .78rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--aws-primary) !important; }
.aws-pg-kicker::before { content: ""; width: 26px; height: 2px; border-radius: 2px; background: var(--home-gold-500, var(--aws-primary)); }
.aws-pg-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.25rem !important; }
.aws-pg-hero { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; padding: clamp(1.25rem, 3vw, 2.5rem); border-radius: 24px; background: var(--aws-surface); box-shadow: var(--aws-shadow-sm); border: 1px solid var(--aws-border); }
.aws-pg-hero h2 { font-size: clamp(1.9rem, 4vw, 3rem); }
.aws-pg-hero__media, .aws-pg-split__media { position: relative; margin: 0; border-radius: 20px; overflow: hidden; }
.aws-pg-hero__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.aws-pg-hero__media figcaption { position: absolute; left: 1rem; bottom: 1rem; display: grid; gap: .1rem; padding: .7rem 1rem; border-radius: 14px; background: color-mix(in srgb, var(--aws-surface) 92%, transparent); box-shadow: var(--aws-shadow-sm); }
.aws-pg-hero__media figcaption strong { font-family: var(--aws-font-display); color: var(--aws-ink-900); }
.aws-pg-hero__media figcaption span { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--aws-primary); }
.aws-pg-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.aws-pg-split__media img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.aws-pg-split--panel { grid-template-columns: 1.1fr .9fr; padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: 24px; background: var(--home-panel, var(--aws-surface-muted)); border: 1px solid var(--home-panel-border, var(--aws-border)); }
.aws-pg-head { max-width: 720px; margin: 0 auto 1.5rem; text-align: center; }
.aws-pg-head .aws-pg-kicker { justify-content: center; }
.aws-pg-cards { display: grid; gap: 1rem; }
.aws-pg-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aws-pg-card { padding: 1.4rem; border-radius: 18px; background: var(--aws-surface); border: 1px solid var(--aws-border); transition: transform .2s, box-shadow .2s; }
.aws-pg-card:hover { transform: translateY(-3px); box-shadow: var(--aws-shadow-md); }
.aws-pg-card p { margin: 0; font-size: .92rem; }
.aws-pg-card__icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; margin-bottom: .9rem; font-size: 1.35rem; background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-pg-cards--range { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aws-pg-range { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--aws-surface); border: 1px solid var(--aws-border); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.aws-pg-range:hover { transform: translateY(-3px); box-shadow: var(--aws-shadow-md); }
.aws-pg-range img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.aws-pg-range__body { display: grid; gap: .35rem; padding: 1rem 1.15rem 1.15rem; }
.aws-pg-range__body strong { color: var(--aws-ink-900); font-size: 1.02rem; }
.aws-pg-range__body span { color: var(--aws-ink-600); font-size: .9rem; line-height: 1.6; }
.aws-pg-range__body em { font-style: normal; font-weight: 700; font-size: .85rem; color: var(--aws-primary); margin-top: .2rem; }
.aws-pg-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.aws-pg-checks li { display: grid; gap: .15rem; padding: .9rem 1rem .9rem 3rem; position: relative; border-radius: 14px; background: var(--aws-surface); border: 1px solid var(--aws-border); }
.aws-pg-checks li::before { content: "\F26E"; font-family: "bootstrap-icons"; position: absolute; left: 1rem; top: .95rem; font-size: 1.1rem; color: var(--aws-primary); }
.aws-pg-checks strong { color: var(--aws-ink-900); }
.aws-pg-checks span { color: var(--aws-ink-600); font-size: .9rem; line-height: 1.55; }
.aws-pg-banner { padding: clamp(2rem, 5vw, 3.5rem); border-radius: 24px; text-align: center; background: var(--home-deep, var(--aws-ink-900)); color: var(--home-on-deep, var(--aws-surface)); }
.aws-pg-banner .aws-pg-kicker { justify-content: center; color: var(--home-gold-300, var(--aws-surface)) !important; }
.aws-pg-banner h2 { color: var(--home-on-deep, var(--aws-surface)); }
.aws-pg-banner p { max-width: 780px; margin-left: auto; margin-right: auto; color: var(--home-on-deep-muted, var(--aws-surface)); }
.aws-pg-banner__sign { font-family: var(--aws-font-display); font-size: 1.25rem; color: var(--home-gold-300, var(--aws-surface)) !important; margin: 1rem 0 0 !important; }
.aws-pg-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: 24px; background: var(--aws-surface); border: 1px dashed var(--home-gold-500, var(--aws-border-strong)); }
.aws-pg-cta h2 { margin-bottom: .4rem; }
.aws-pg-cta p { margin: 0; }
@media (max-width: 991.98px) {
    .aws-pg-hero, .aws-pg-split, .aws-pg-split--panel { grid-template-columns: 1fr; }
    .aws-pg-cards--3, .aws-pg-cards--range { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .aws-pg-cards--3, .aws-pg-cards--range { grid-template-columns: 1fr; }
    .aws-pg-actions .aws-btn { flex: 1 1 100%; justify-content: center; }
}

/* ── CMS pages, layout “Policy / legal”: contents list + numbered sections ── */
.aws-legal { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.aws-legal__toc { position: sticky; top: calc(var(--sticky-offset, 0px) + 1rem); }
.aws-legal__toc-box { padding: 1rem; border-radius: 16px; background: var(--aws-surface); border: 1px solid var(--aws-border); box-shadow: var(--aws-shadow-sm); }
.aws-legal__toc-box summary { cursor: pointer; font-weight: 700; color: var(--aws-ink-900); list-style: none; display: flex; align-items: center; gap: .5rem; }
.aws-legal__toc-box summary::-webkit-details-marker { display: none; }
.aws-legal__toc ol { margin: .8rem 0 0; padding: 0 0 0 1.4rem; display: grid; gap: .15rem; max-height: calc(100vh - 220px); overflow-y: auto; font-size: .86rem; }
.aws-legal__toc li::marker { color: var(--aws-ink-400); font-weight: 600; }
.aws-legal__toc a { display: block; padding: .3rem .5rem; border-radius: 8px; color: var(--aws-ink-600); text-decoration: none; line-height: 1.35; }
.aws-legal__toc a:hover, .aws-legal__toc a.is-active { background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-legal__prose h2 { scroll-margin-top: calc(var(--sticky-offset, 0px) + 1rem); padding-top: 1.4rem; margin-top: 1.4rem; border-top: 1px solid var(--aws-border); font-size: 1.2rem; }
.aws-legal__prose h2:first-of-type { border-top: 0; margin-top: .5rem; padding-top: 0; }
.aws-legal-date { display: inline-flex; padding: .35rem .8rem; border-radius: 999px; background: var(--aws-primary-soft); color: var(--aws-primary) !important; font-size: .82rem !important; font-weight: 600; }
.aws-legal-contact { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; margin: 1rem 0; padding: 1rem 1.2rem; border-radius: 14px; background: var(--home-panel, var(--aws-surface-muted)); border: 1px solid var(--home-panel-border, var(--aws-border)); }
.aws-legal-contact strong { flex-basis: 100%; letter-spacing: .06em; color: var(--aws-ink-900); }
.aws-legal-contact a { display: inline-flex; align-items: center; gap: .4rem; font-weight: 600; text-decoration: none; color: var(--aws-primary); }
@media (max-width: 991.98px) {
    .aws-legal { grid-template-columns: 1fr; }
    .aws-legal__toc { position: static; }
    .aws-legal__toc ol { max-height: none; }
}

/* ── Contact Us: email / phone / WhatsApp cards ── */
.aws-contact-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.aws-contact-card { display: grid; gap: .15rem; padding: 1.3rem 1.4rem; border-radius: 18px; background: var(--aws-surface); border: 1px solid var(--aws-border); box-shadow: var(--aws-shadow-sm); text-decoration: none; transition: transform .2s, box-shadow .2s, border-color .2s; }
.aws-contact-card:hover { transform: translateY(-3px); box-shadow: var(--aws-shadow-md); border-color: var(--aws-primary); }
.aws-contact-card__icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; margin-bottom: .6rem; font-size: 1.3rem; background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-contact-card--wa .aws-contact-card__icon { background: var(--aws-success-soft); color: var(--aws-success); }
.aws-contact-card small { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--aws-ink-500); }
.aws-contact-card strong { font-size: 1.05rem; color: var(--aws-ink-900); }
.aws-contact-card > span:last-child { color: var(--aws-primary); font-weight: 600; overflow-wrap: anywhere; }
.aws-contact-alt { margin: 0 0 1.5rem; text-align: center; color: var(--aws-ink-600); }
.aws-contact-alt a { font-weight: 700; color: var(--aws-primary); text-decoration: none; }
@media (max-width: 767.98px) { .aws-contact-cards { grid-template-columns: 1fr; } }

/* ── Category strip above product lists (Amazon / Flipkart style): picture on top, name below ── */
.aws-catstrip { margin-bottom: 1.5rem; padding: 1rem 1rem .85rem; border-radius: 18px; background: var(--aws-surface); border: 1px solid var(--aws-border); }
.aws-catstrip__track { display: flex; justify-content: center; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: .15rem .1rem .25rem; }
.aws-catstrip__track::-webkit-scrollbar { display: none; }
.aws-catstrip__item { flex: 0 0 96px; display: flex; flex-direction: column; align-items: center; gap: .45rem; text-decoration: none; scroll-snap-align: center; }
.aws-catstrip__img { width: 78px; height: 78px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--aws-surface-muted); border: 2px solid var(--aws-border); font-size: 1.6rem; color: var(--aws-ink-400); transition: border-color .2s, box-shadow .2s, transform .2s; }
.aws-catstrip__img img { width: 100%; height: 100%; object-fit: cover; }
.aws-catstrip__img--all { background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-catstrip__name { max-width: 100%; text-align: center; font-size: .84rem; font-weight: 600; line-height: 1.25; color: var(--aws-ink-700); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.aws-catstrip__item:hover .aws-catstrip__img { transform: translateY(-2px); border-color: var(--aws-border-strong); }
.aws-catstrip__item.is-active .aws-catstrip__img { border-color: var(--aws-primary); box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.aws-catstrip__item.is-active .aws-catstrip__name { color: var(--aws-primary); font-weight: 800; }
.aws-catstrip__subs { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: .45rem; margin: .85rem 0 0; padding: .85rem 0 0; border-top: 1px dashed var(--aws-border); }
.aws-catstrip__subs a { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .85rem; border-radius: 999px; border: 1px solid var(--aws-border-strong); font-size: .84rem; font-weight: 600; color: var(--aws-ink-700); text-decoration: none; white-space: nowrap; }
.aws-catstrip__subs a small { color: var(--aws-ink-400); font-weight: 600; }
.aws-catstrip__subs a:hover { border-color: var(--aws-primary); color: var(--aws-primary); }
.aws-catstrip__subs a.is-active { background: var(--aws-primary); border-color: var(--aws-primary); color: var(--aws-surface); }
.aws-catstrip__subs a.is-active small { color: var(--aws-surface); opacity: .8; }
@media (max-width: 767.98px) {
    /* Phones: five fit across, the rest scroll sideways; the highlighted one is scrolled into view (aws-site.js). */
    .aws-catstrip { margin: 0 calc(var(--bs-gutter-x, 1.5rem) * -.5) 1rem; padding: .75rem .5rem .6rem; border-radius: 0; border-left: 0; border-right: 0; }
    .aws-catstrip__track { justify-content: flex-start; gap: .4rem; padding: 0 .25rem .2rem; }
    .aws-catstrip__item { flex: 0 0 calc((100% - 1.6rem) / 5); gap: .3rem; }
    .aws-catstrip__img { width: 100%; height: auto; aspect-ratio: 1; max-width: 62px; font-size: 1.25rem; }
    .aws-catstrip__name { font-size: .72rem; }
    .aws-catstrip__subs { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: .7rem .25rem 0; margin-top: .6rem; }
    .aws-catstrip__subs::-webkit-scrollbar { display: none; }
}

/* ── “Load more products” / endless scroll (Admin → Shop Design → More products in a list) ── */
.aws-shop-more { display: grid; justify-items: center; gap: .6rem; margin: 2rem auto 0; max-width: 360px; text-align: center; }
.aws-shop-more__status { margin: 0; font-size: .86rem; color: var(--aws-ink-500); }
.aws-shop-more__bar { width: 100%; height: 4px; border-radius: 4px; background: var(--aws-border); overflow: hidden; }
.aws-shop-more__bar i { display: block; height: 100%; border-radius: 4px; background: var(--aws-primary); transition: width .4s ease; }
.aws-shop-more__btn { min-width: 220px; justify-content: center; }
.aws-shop-more__spin { display: none; width: 16px; height: 16px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: aws-spin .7s linear infinite; }
.aws-shop-more.is-loading .aws-shop-more__spin { display: inline-block; }
.aws-shop-more--infinite .aws-shop-more__btn { opacity: .85; }

/* ── Filter buttons: “Show results” + “Clear filters” never squeeze their labels ── */
.aws-shop-filter__actions { flex-wrap: wrap; }
.aws-shop-filter__actions .aws-shop-buy__btn { white-space: nowrap; }
.aws-shop-filter__actions .aws-shop-filter__clear { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 42px; padding: .5rem 1rem; border-radius: 12px; border: 1.5px solid var(--aws-border-strong); background: var(--aws-surface); color: var(--aws-ink-700); font-weight: 700; white-space: nowrap; }
.aws-shop-filter__actions .aws-shop-filter__clear:hover { border-color: var(--aws-danger); color: var(--aws-danger); }
.aws-shop-filter--sidebar .aws-shop-filter__actions.has-clear { display: grid; grid-template-columns: 1fr; gap: .5rem; }
.aws-shop-filter--sidebar .aws-shop-filter__actions .aws-shop-buy__btn, .aws-shop-filter--sidebar .aws-shop-filter__actions .aws-shop-filter__clear { width: 100%; }
.aws-shop-filter--drawer .aws-shop-filter__actions.has-clear { display: grid; grid-template-columns: 1.4fr 1fr; gap: .5rem; }
/* Sidebar: the sticky button bar also covers the panel's bottom padding, so no filter rows peek out underneath it. */
.aws-shop-filter--sidebar .aws-shop-filter__actions { bottom: -1.1rem; padding-bottom: 1.1rem; margin-bottom: -1.1rem; }

/* ── “Test connection first” switches (payment gateways, email delivery services) ── */
.aws-switch input:disabled { cursor: not-allowed; }
.adm-providers__to { max-width: 360px; margin-bottom: .75rem; }
.adm-provider.is-tested:not(.is-on) .adm-provider__state { color: var(--aws-success); }
.adm-provider__open { display: inline-flex; align-items: center; gap: .35rem; margin: .6rem 0 0 calc(42px + .85rem); padding: 0; border: 0; background: none; font-size: .82rem; font-weight: 700; color: var(--aws-primary); cursor: pointer; }
.adm-provider__open:hover { text-decoration: underline; }
.adm-provider__open[hidden] { display: none; }
.adm-provider__test { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; }
.adm-provider__test .aws-test-result { margin-top: 0; }

/* ── Razorpay payment page ── */
.aws-rzp__head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.aws-rzp__icon { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; flex-shrink: 0; font-size: 1.6rem; background: var(--aws-primary-soft); color: var(--aws-primary); }
.aws-rzp__title { margin: 0; font-size: 1.25rem; font-weight: 800; }
.aws-rzp__methods { margin: .15rem 0 0; font-size: .86rem; color: var(--aws-ink-500); }
.aws-rzp__status { margin-bottom: 1rem; }
.aws-rzp__status[hidden] { display: none; }
.aws-rzp__pay { width: 100%; justify-content: center; }
.aws-rzp__ref { margin: .75rem 0 0; font-size: .8rem; color: var(--aws-ink-500); }

/* ── Four products per row with the filter sidebar: three on small laptops so cards keep room for size buttons ── */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .aws-shop-cols-4 .aws-shop-pl--f-sidebar .aws-shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ── Home page on phones ── */
@media (max-width: 767.98px) {
    /* Regional flavours: the dark "Explore all" tile spans the row instead of sitting alone at half width. */
    .home-ar-region--cta { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; text-align: left; gap: 1rem; padding: 1.1rem 1.25rem; }
    .home-ar-region--cta strong { font-size: 1rem; }
    .home-ar-region--cta .home-ar-btn { flex-shrink: 0; padding: .65rem 1.1rem; }
}
@media (max-width: 575.98px) {
    /* Shop by category (home, search popup, search page): the 8 categories as a 4 × 2 grid — all visible, no swiping. */
    .home-ar-cats__list, .home-ar-cats__list--sm { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem .5rem; padding: .35rem 0 .5rem; overflow: visible; }
    .home-ar-cats__list > li { flex: none; min-width: 0; }
    .home-ar-cats__img, .home-ar-cats__list--sm .home-ar-cats__img { width: 100%; max-width: 68px; }
    .home-ar-cats__item { gap: .4rem; font-size: .72rem; line-height: 1.2; text-align: center; }
    /* Footer: "Shop" and "Useful Links" side by side instead of one long column. */
    .site-foot__grid { grid-template-columns: 1fr 1fr; gap: 1.75rem 1.25rem; }
    .site-foot__about, .site-foot__help { grid-column: 1 / -1; }
}

/* ── Search popup / panel: "Shop by category" circles (same 8 categories as the home page) ── */
.site-search-cats { margin-top: 1.75rem; }
.site-search-cats__title { display: block; margin-bottom: .8rem; font-size: .85rem; font-weight: 700; color: var(--aws-ink-900); }
.site-search-cats .reveal-on-scroll { opacity: 1; transform: none; } /* the popup opens after page load */
.site-head__search .site-search-cats { margin-top: 0; padding-top: .25rem; padding-bottom: .75rem; }
@media (min-width: 576px) {
    .home-ar-cats__list--sm { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1rem .75rem; }
    .home-ar-cats__list--sm .home-ar-cats__item { text-align: center; line-height: 1.25; }
    .home-ar-cats__list--sm .home-ar-cats__img { width: 72px; font-size: 1.5rem; }
    .home-ar-cats__list--sm .home-ar-cats__item { gap: .45rem; font-size: .8rem; }
}

/* ── Product cards: smaller title on a full-width link, less space under the picture ── */
.aws-shop-tile .aws-tile__title a { display: block; }
@media (min-width: 576px) {
    .aws-shop-tile:not(.aws-shop-tile--showcase):not(.aws-shop-tile--row) .aws-tile__body { padding: .8rem 1rem 1rem; gap: .25rem; }
    .aws-shop-tile .aws-tile__meta { font-size: .76rem; }
}

/* ── Home: less space between sections ── */
.home-ar-section { padding: 1.5rem 0; }
.home-ar-section--tight { padding: .75rem 0; }
.home-ar-section--last { padding-bottom: 2.25rem; }
.home-ar-kicker { margin-bottom: 1.1rem; }
@media (max-width: 575.98px) {
    .home-ar-section { padding: 1rem 0; }
    .home-ar-section--tight { padding: .5rem 0; }
    .home-ar-section--last { padding-bottom: 1.5rem; }
}
/* Categories page: the 8 category cards as two even rows of four. */
@media (min-width: 992px) { .aws-shop-catgrid:not(.aws-shop-catgrid--sm) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 576px) and (max-width: 991.98px) { .aws-shop-catgrid:not(.aws-shop-catgrid--sm) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ── No jumping when a drawer or popup opens (mini cart, filters, quick view…) ──
   The scrollbar's space is always kept, so hiding the scrollbar no longer widens the page and the
   toasts / back-to-top / WhatsApp buttons pinned to the right edge stay put. Bootstrap's own padding
   compensation is then not needed (it would push the page left instead). */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) { html { scrollbar-gutter: stable; } } /* phones use overlay scrollbars — nothing to keep */
body[style*="padding-right"] { padding-right: 0 !important; }

/* ── AJAX buttons that keep their content while busy (wishlist heart, mini-cart ± / remove) ── */
button.is-busy { cursor: progress; }
button.is-busy > i, button.is-busy > span > i { animation: aws-busy-pulse .7s ease-in-out infinite alternate; }
@keyframes aws-busy-pulse { from { opacity: 1; transform: scale(1); } to { opacity: .45; transform: scale(.85); } }
@media (prefers-reduced-motion: reduce) { button.is-busy > i, button.is-busy > span > i { animation: none; opacity: .5; } }

/* Order summary note while the website does not charge for shipping (“our team confirms the delivery charge”). */
.aws-shop-summary__note { display: flex; gap: .45rem; align-items: flex-start; margin: .75rem 0 0; padding: .6rem .75rem; border-radius: 10px; background: var(--aws-surface-muted); font-size: .82rem; line-height: 1.4; color: var(--aws-ink-600, var(--aws-ink-500)); }
.aws-shop-summary__note i { color: var(--aws-primary); margin-top: .1rem; }

/* ── Product cards & buy buttons: Jost, button green, card text colour ── */
:root { --aws-font-shop: 'Jost', var(--aws-font-display, system-ui), sans-serif; --aws-shop-btn: #0d4f00; --aws-shop-btn-hover: #093a00; --aws-shop-tile-ink: #333333; }
.aws-shop-buy__btn, .aws-shop-tile__btn, .aws-shop-chip span { font-family: var(--aws-font-shop); }
.aws-shop-buy__btn { border-color: var(--aws-shop-btn); letter-spacing: .01em; }
.aws-shop-buy__btn--cart { background: var(--aws-shop-btn); }
.aws-shop-buy__btn--cart:hover { background: var(--aws-shop-btn-hover); border-color: var(--aws-shop-btn-hover); }
.aws-shop-buy__btn--now { color: var(--aws-shop-btn); }
.aws-shop-chip:hover span { border-color: var(--aws-shop-btn); }
.aws-shop-chip input:checked + span { border-color: var(--aws-shop-btn); color: var(--aws-shop-btn); box-shadow: inset 0 0 0 1px var(--aws-shop-btn); }
.aws-shop-tile .aws-tile__title, .aws-shop-tile .aws-shop-chip span { color: var(--aws-shop-tile-ink); }
.aws-shop-tile .aws-shop-chip input:checked + span { color: var(--aws-shop-btn); }
.aws-shop-tile__actions { padding-top: .3rem; }

/* ── Card size chips: always one line — when they do not fit, swipe sideways (a fade shows there is more) ── */
.aws-shop-opt--compact .aws-shop-opt__chips { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; padding: 3px; margin: -3px; }
.aws-shop-opt--compact .aws-shop-opt__chips::-webkit-scrollbar { display: none; }
.aws-shop-opt--compact .aws-shop-chip { flex: 0 0 auto; scroll-snap-align: start; }
.aws-shop-opt--compact .aws-shop-chip span { white-space: nowrap; }
.aws-shop-opt--compact .aws-shop-opt__chips.is-scroll { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent); }
.aws-shop-opt--compact .aws-shop-opt__chips.is-scroll.is-end { -webkit-mask-image: linear-gradient(90deg, transparent, #000 26px); mask-image: linear-gradient(90deg, transparent, #000 26px); }
@media (max-width: 575.98px) {
    /* phones: chips share the width when they fit, and swipe when they do not (never squeezed or cut) */
    .aws-shop-opt--compact .aws-shop-chip { flex: 1 0 auto; min-width: auto; }
}

/* Inner page title with only one part shown (Shop Design → show breadcrumb / show title). */
.aws-hero--no-title .aws-hero__crumbs { margin-bottom: 0; }
.aws-hero--minimal.aws-hero--no-title { padding-bottom: .25rem; }
.aws-hero--minimal.aws-hero--no-title .aws-hero__crumbs { border-bottom: 0; padding-bottom: .5rem; }
.aws-hero--light.aws-hero--no-title { padding-top: .9rem; padding-bottom: .9rem; }
/* Card buttons ("Add to cart" / "Choose options") in the same green. */
.aws-shop-tile__btn { border-color: var(--aws-shop-btn); color: var(--aws-shop-btn); letter-spacing: .01em; }
.aws-shop-tile__btn:hover { background: var(--aws-shop-btn); color: #fff; }
.aws-shop-tile__btn--cart { background: var(--aws-shop-btn); color: #fff; }
.aws-shop-tile__btn--cart:hover { background: var(--aws-shop-btn-hover); border-color: var(--aws-shop-btn-hover); }
.aws-shop-tile__btn.is-disabled { border-color: var(--aws-border-strong); color: var(--aws-ink-400); background: transparent; }

/* ── Website typeface: Jost everywhere on the storefront (every theme; the admin panel keeps its own fonts) ── */
html[data-site-theme] {
    --aws-font: 'Jost', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --aws-font-display: 'Jost', system-ui, sans-serif;
    --aws-font-shop: 'Jost', system-ui, sans-serif;
    --home-font-display: 'Jost', system-ui, sans-serif;
    --home-font-body: 'Jost', system-ui, sans-serif;
    --home-font-title: 'Jost', system-ui, sans-serif;
}
html[data-site-theme] body, html[data-site-theme] button, html[data-site-theme] input, html[data-site-theme] select, html[data-site-theme] textarea { font-family: var(--aws-font); }

/* ── Product popup / quick view: 750px wide, everything inside scaled down to fit ── */
@media (min-width: 768px) {
    .aws-shop-popup .modal-dialog, .aws-shop-qv .modal-dialog { max-width: 750px; }
    .aws-shop-popup .modal-content { border-radius: 16px; }
    .aws-shop-popup__close { top: .6rem; right: .6rem; padding: .5rem; background-size: .7rem; }
    .aws-shop-popup__body { min-height: 0; }
    .aws-shop-pop { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; padding: 1.25rem; }
    .aws-shop-pop .aws-shop-gal__thumbs { gap: .4rem; margin-top: .5rem; }
    .aws-shop-pop .aws-shop-gal__thumb { flex-basis: 52px; height: 52px; border-radius: 6px; }
    .aws-shop-pop .aws-shop-buy__cat { font-size: .66rem; margin-bottom: .25rem; }
    .aws-shop-pop .aws-shop-buy__title, .aws-shop-qv .aws-shop-buy__title { font-size: 1.2rem; line-height: 1.25; padding-right: 2rem; margin-bottom: .3rem; }
    .aws-shop-pop .aws-shop-buy__meta { font-size: .74rem; gap: .25rem .8rem; margin-bottom: .6rem; }
    .aws-shop-pop .aws-shop-buy__price { padding: .55rem 0; gap: .4rem; }
    .aws-shop-pop .aws-shop-buy__price strong { font-size: 1.35rem; }
    .aws-shop-pop .aws-shop-buy__price s { font-size: .85rem; }
    .aws-shop-pop .aws-shop-buy__tax { font-size: .7rem; }
    .aws-shop-pop .aws-shop-buy__stock { margin: .5rem 0 .25rem; font-size: .8rem; }
    .aws-shop-pop .aws-shop-buy__short { font-size: .82rem; line-height: 1.55; margin: .5rem 0 .75rem; }
    .aws-shop-pop .aws-shop-opt legend { font-size: .8rem; margin-bottom: .35rem; }
    .aws-shop-pop .aws-shop-opt__chips { gap: .35rem; }
    .aws-shop-pop .aws-shop-chip span { min-height: 32px; padding: .25rem .7rem; font-size: .78rem; border-radius: 7px; }
    .aws-shop-pop .aws-shop-buy__row { gap: .5rem; }
    .aws-shop-pop .aws-shop-qty { height: 40px; }
    .aws-shop-pop .aws-shop-qty input { width: 38px; font-size: .9rem; }
    .aws-shop-pop .aws-shop-qty button { width: 34px; }
    .aws-shop-pop .aws-shop-buy__btn { min-height: 40px; padding: .4rem .85rem; font-size: .86rem; border-radius: 8px; gap: .35rem; }
    .aws-shop-pop .aws-shop-buy__form > * + * { margin-top: .6rem; }
    .aws-shop-pop .aws-shop-buy__extras { margin-top: .8rem; padding-top: .65rem; gap: .5rem; }
    .aws-shop-pop .aws-shop-buy__link { font-size: .8rem; }
    .aws-shop-pop .aws-shop-buy__share { font-size: .76rem; gap: .3rem; }
    .aws-shop-pop .aws-shop-buy__share a, .aws-shop-pop .aws-shop-buy__share button { width: 27px; height: 27px; font-size: .75rem; }
    .aws-shop-pop .aws-shop-buy__trust { margin-top: .65rem; padding: .5rem .65rem; gap: .3rem .7rem; font-size: .7rem; border-radius: 8px; }
    .aws-shop-pop .aws-shop-pop__more { margin-top: .65rem; font-size: .82rem; }
    .aws-shop-qv__body { padding: 1.4rem 1.25rem; }
}

/* Product popup without option names (Shop Design → Product popup): the label stays for screen readers. */
.aws-shop-pop--no-labels .aws-shop-opt legend { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Payment method lists (checkout + payment page): only the inner card has a border — no box around the box. */
.aws-option-cards--list .aws-option-card, .aws-option-cards--list .aws-option-card:has(input:checked) { display: block; padding: 0; border: 0; background: none; }
.aws-option-cards--list .aws-option-card > div { width: 100%; }
.aws-ck-pay .aws-option-card small { line-height: 1.4; }

/* ── Product cards: spacing, weights and a one-line title (every card design, every screen) ── */
.aws-shop-grid { gap: 1rem; }
html[data-site-theme] .aws-shop-tile__btn { font-weight: 500; }
html[data-site-theme] .aws-shop-tile .aws-tile__title { display: block; font-size: 1rem; font-weight: 500; line-height: 1.35; -webkit-line-clamp: unset; }
.aws-shop-opt--compact .aws-shop-chip span { font-weight: 500; }

/* ── One line with “…” — product names in lists and category names (strip above lists, home / search circles,
      category cards). white-space + text-overflow work in every browser; where -webkit-line-clamp is supported
      (Chrome, Edge, Safari, Firefox, Opera, Samsung Internet) it does the same job. ── */
html[data-site-theme] .aws-shop-tile .aws-tile__title a,
.aws-catstrip__name, .home-ar-cats__name, .aws-shop-catcard__body strong {
    display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
@supports (-webkit-line-clamp: 1) {
    html[data-site-theme] .aws-shop-tile .aws-tile__title a,
    .aws-catstrip__name, .home-ar-cats__name, .aws-shop-catcard__body strong {
        display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; line-clamp: 1; white-space: normal; overflow-wrap: anywhere;
    }
}

/* ── Checkout: "Order Confirmation & Payment" (Place Order Request is the only method) ── */
.aws-ck-request { padding: 1rem 1.25rem; border-radius: 12px; border-left: 4px solid var(--aws-shop-btn, var(--aws-primary)); background: var(--aws-primary-soft); color: var(--aws-ink-800, var(--aws-ink-900)); line-height: 1.6; }
.aws-ck-request p { margin: 0; }
.aws-ck-request p + p { margin-top: .6rem; }
.aws-ck-request strong { color: var(--aws-ink-900); }

/* ── Empty states on the website: large illustrated look (the admin panel keeps its plain one) ── */
.aws-state__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1rem; }
html[data-site-theme] .aws-state--empty { max-width: 560px; margin: 0 auto; padding: 3rem 1.25rem; color: var(--aws-ink-500); }
html[data-site-theme] .aws-state--card { max-width: none; padding: 3.25rem 1.5rem; background: var(--aws-surface); border: 1px solid var(--aws-border); border-radius: 18px; box-shadow: var(--aws-shadow-xs, none); }
html[data-site-theme] .aws-state--empty .aws-state__icon { position: relative; width: 104px; height: 104px; margin: 0 auto 1.5rem; border-radius: 50%; font-size: 2.5rem; color: var(--aws-shop-btn, var(--aws-primary));
    background: radial-gradient(circle at 32% 28%, var(--aws-surface) 0, var(--aws-primary-soft) 70%); box-shadow: 0 0 0 10px var(--aws-surface-muted), 0 22px 44px -26px var(--aws-shop-btn, var(--aws-primary)); }
html[data-site-theme] .aws-state--empty .aws-state__icon::after { content: ""; position: absolute; inset: -22px; border-radius: 50%; border: 1px dashed var(--aws-border-strong); opacity: .7; }
html[data-site-theme] .aws-state__title { margin: 0 0 .45rem; font-size: 1.35rem; font-weight: 600; color: var(--aws-ink-900); }
html[data-site-theme] .aws-state--empty p { max-width: 44ch; margin: 0 auto; font-weight: 400; line-height: 1.6; color: var(--aws-ink-500); }
html[data-site-theme] .aws-state__actions { margin-top: 1.5rem; }
html[data-site-theme] .aws-state__actions .aws-btn--primary { background: var(--aws-shop-btn, var(--aws-primary)); border-color: var(--aws-shop-btn, var(--aws-primary)); color: #fff; }
html[data-site-theme] .aws-state__actions .aws-btn--primary:hover { background: var(--aws-shop-btn-hover, var(--aws-primary-dark)); border-color: var(--aws-shop-btn-hover, var(--aws-primary-dark)); }
html[data-site-theme] .aws-state__actions .aws-btn--outline { border-color: var(--aws-shop-btn, var(--aws-primary)); color: var(--aws-shop-btn, var(--aws-primary)); }
html[data-site-theme] .aws-state--compact { padding: 1.75rem 1rem; }
html[data-site-theme] .aws-state--compact .aws-state__icon { width: 72px; height: 72px; font-size: 1.75rem; margin-bottom: 1rem; box-shadow: 0 0 0 7px var(--aws-surface-muted); }
html[data-site-theme] .aws-state--compact .aws-state__icon::after { display: none; }
html[data-site-theme] .aws-state--compact .aws-state__title { font-size: 1.08rem; }
html[data-site-theme] .aws-state--compact p { font-size: .9rem; }
html[data-site-theme] .aws-state--compact .aws-state__actions { margin-top: 1rem; }
.aws-minicart__empty.aws-state { display: block; padding-top: 2.5rem; }
@media (max-width: 575.98px) {
    html[data-site-theme] .aws-state--card { padding: 2.25rem 1rem; border-radius: 14px; }
    html[data-site-theme] .aws-state--empty .aws-state__icon { width: 84px; height: 84px; font-size: 2rem; }
    html[data-site-theme] .aws-state__actions .aws-btn { flex: 1 1 100%; justify-content: center; }
}

/* ── Home: gift box beside Deal of the Day — picture fills the full height, more points ── */
@media (min-width: 576px) {
    .home-ar-deals .home-ar-gift { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 0; padding: 0; overflow: hidden; align-items: stretch; }
    .home-ar-deals .home-ar-gift__copy { align-self: center; padding: 1.75rem 1.5rem; }
    .home-ar-deals .home-ar-gift__media { position: relative; width: auto; max-width: none; height: 100%; min-height: 320px; display: block; }
    .home-ar-deals .home-ar-gift__media > img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center; mix-blend-mode: normal; }
    .home-ar-deals .home-ar-gift__thumbs { position: absolute; left: .75rem; right: .75rem; bottom: .75rem; }
    .home-ar-deals .home-ar-gift__thumbs img { border: 2px solid var(--home-surface, #fff); mix-blend-mode: normal; }
}
@media (max-width: 575.98px) {
    .home-ar-deals .home-ar-gift__media > img { width: 100%; height: 220px; aspect-ratio: auto; object-fit: cover; border-radius: 10px; mix-blend-mode: normal; }
}

/* ── Home: International band — the picture shows its plane + parcel part cleanly, full height on the right ── */
@media (min-width: 992px) {
    .home-ar-intl { padding-right: 0; }
    .home-ar-intl__img { position: absolute; top: 0; right: 0; bottom: 0; width: 31%; height: 100%; max-height: none; object-fit: cover; object-position: 96% center; } /* the plane + parcel, without the logo on the left of the picture */
}

/* ── Storefront type weights: nothing heavier than 600 — buttons 500, big section titles 700 ──
   Twins of every storefront rule that set 700 or heavier (aws.css + home-style.css), prefixed with html[data-site-theme]
   so they always win; the admin panel keeps its own weights. A NEW rule above 600 needs adding here (or use 600). */
html[data-site-theme] .site-skip, html[data-site-theme] .site-cta, html[data-site-theme] .brand-title, html[data-site-theme] .site-nav__mobile-title,
html[data-site-theme] .site-chrome__quicklinks span, html[data-site-theme] .site-chrome__footer h4, html[data-site-theme] .home-eyebrow, html[data-site-theme] .home-link,
html[data-site-theme] .home-welcome h2, html[data-site-theme] .home-welcome__stats strong, html[data-site-theme] .home-quote__avatar,
html[data-site-theme] .home-aside__title, html[data-site-theme] .home-aside__card--accent h3, html[data-site-theme] .home-cta h2,
html[data-site-theme] .site-head__brand-text, html[data-site-theme] .site-head__count, html[data-site-theme] .site-foot__brand, html[data-site-theme] .site-foot h4,
html[data-site-theme] .home-ar-link, html[data-site-theme] .home-ar-intl__copy h2, html[data-site-theme] .home-ar-gift h2,
html[data-site-theme] .site-search-overlay__kicker, html[data-site-theme] .site-search-overlay__form button, html[data-site-theme] .site-search-overlay__tags > span,
html[data-site-theme] .home-ar-gift__eyebrow, html[data-site-theme] .aws-card__title, html[data-site-theme] .aws-confirm h5,
html[data-site-theme] .aws-media-picker__file small, html[data-site-theme] .ml-details h6, html[data-site-theme] .aws-form-section__title,
html[data-site-theme] .aws-form-section__num, html[data-site-theme] .aws-side-card h3, html[data-site-theme] .aws-amounts span,
html[data-site-theme] .aws-amount-input span, html[data-site-theme] .aws-amount-input input, html[data-site-theme] .aws-option-card .price,
html[data-site-theme] .aws-success h1, html[data-site-theme] .aws-success__ref, html[data-site-theme] .aws-tile__date, html[data-site-theme] .aws-tile__date b,
html[data-site-theme] .aws-tile__title, html[data-site-theme] .aws-tile__cta, html[data-site-theme] .aws-panel__title, html[data-site-theme] .aws-panel__subtitle,
html[data-site-theme] .aws-count, html[data-site-theme] .aws-form-card__title, html[data-site-theme] .aws-total strong,
html[data-site-theme] .aws-field .aws-stepper input, html[data-site-theme] .aws-order__title, html[data-site-theme] .aws-order__total strong,
html[data-site-theme] .aws-tile__kicker, html[data-site-theme] .aws-tile__date small, html[data-site-theme] .aws-person__avatar, html[data-site-theme] .aws-auth__head h1,
html[data-site-theme] .aws-dash-hero h1, html[data-site-theme] .aws-list-row__date small, html[data-site-theme] .aws-widget__value,
html[data-site-theme] .aws-stat__value, html[data-site-theme] .aws-shop-summary__total dt, html[data-site-theme] .aws-shop-summary__total dd,
html[data-site-theme] .site-cart-count, html[data-site-theme] .aws-shop-badge, html[data-site-theme] .aws-shop-buy__cat, html[data-site-theme] .aws-shop-buy__title,
html[data-site-theme] .aws-shop-buy__price strong, html[data-site-theme] .aws-shop-opt legend, html[data-site-theme] .aws-shop-qty input,
html[data-site-theme] .aws-shop-tabs__nav .nav-link, html[data-site-theme] .aws-shop-reviews__avg, html[data-site-theme] .aws-shop-pl__drawer > summary,
html[data-site-theme] .aws-shop-filter__label, html[data-site-theme] .aws-shop-filter label, html[data-site-theme] .aws-shop-tile__quick,
html[data-site-theme] .aws-shop-az__letters a, html[data-site-theme] .aws-shop-tabs__acc, html[data-site-theme] .aws-shop-cart__head,
html[data-site-theme] .aws-shop-cart__name, html[data-site-theme] .aws-shop-cart__total, html[data-site-theme] .aws-shop-cart__remove--strong button,
html[data-site-theme] .aws-shop-coupon__label, html[data-site-theme] .aws-minicart .offcanvas-title, html[data-site-theme] .aws-minicart__info a,
html[data-site-theme] .aws-minicart__info > span, html[data-site-theme] .aws-slug__toggle, html[data-site-theme] .aws-shop-fgroup > summary,
html[data-site-theme] .aws-shop-fcat.is-active, html[data-site-theme] .aws-shop-fcount, html[data-site-theme] .aws-shop-sortbar__label,
html[data-site-theme] .aws-shop-sortbar__filters, html[data-site-theme] .aws-shop-fdrawer .offcanvas-title, html[data-site-theme] .aws-shop-sortsheet .offcanvas-title,
html[data-site-theme] .aws-shop-sortsheet__opt.is-active, html[data-site-theme] .aws-shop-mbar button, html[data-site-theme] .aws-shop-searchbox button,
html[data-site-theme] .aws-shop-suggest__all, html[data-site-theme] .aws-ck-signin a, html[data-site-theme] .aws-ck-card__title,
html[data-site-theme] .aws-ck-step__head h2, html[data-site-theme] .aws-ck-num, html[data-site-theme] .aws-ck__subtitle, html[data-site-theme] .aws-ck-method__price,
html[data-site-theme] .aws-ck-side__head h2, html[data-site-theme] .aws-ck-items__price, html[data-site-theme] .aws-ck-progress, html[data-site-theme] .aws-ck-step__edit,
html[data-site-theme] .aws-ck-fold > summary, html[data-site-theme] .aws-ck-plain h2, html[data-site-theme] .aws-auth__guest a,
html[data-site-theme] .site-mnav__item.is-active, html[data-site-theme] .site-mnav__count, html[data-site-theme] .aws-ck-method__tag,
html[data-site-theme] .home-video__title, html[data-site-theme] .aws-shop-pop__more, html[data-site-theme] .aws-ck-debug summary,
html[data-site-theme] .aws-stepper--sm input, html[data-site-theme] .site-trend__title, html[data-site-theme] .site-trend__name, html[data-site-theme] .site-trend__sold,
html[data-site-theme] .aws-track__label, html[data-site-theme] .aws-acct__avatar, html[data-site-theme] .aws-acct__who h1, html[data-site-theme] .aws-acct-card__head h2,
html[data-site-theme] .aws-acct-card__head a, html[data-site-theme] .aws-acct-stat strong, html[data-site-theme] .aws-ordercard__no,
html[data-site-theme] .aws-ordercard__thumb, html[data-site-theme] .aws-ordercard__total, html[data-site-theme] .aws-addr__label, html[data-site-theme] .aws-addr--add,
html[data-site-theme] .aws-acct-modal .modal-title, html[data-site-theme] .aws-acct-table__row--head, html[data-site-theme] .aws-acct-back,
html[data-site-theme] .aws-acct-order__head h2, html[data-site-theme] .aws-acct-items__name, html[data-site-theme] .aws-acct-totals dd,
html[data-site-theme] .aws-acct-totals__total dd, html[data-site-theme] .aws-acct-facts dt, html[data-site-theme] .aws-acct-table__row > span::before,
html[data-site-theme] .aws-ck-saved__body b small, html[data-site-theme] .aws-otp input, html[data-site-theme] .aws-pg h3, html[data-site-theme] .aws-pg-kicker,
html[data-site-theme] .aws-pg-hero__media figcaption span, html[data-site-theme] .aws-pg-range__body em, html[data-site-theme] .aws-legal__toc-box summary,
html[data-site-theme] .aws-contact-card small, html[data-site-theme] .aws-contact-alt a, html[data-site-theme] .aws-catstrip__item.is-active .aws-catstrip__name,
html[data-site-theme] .aws-shop-filter__actions .aws-shop-filter__clear, html[data-site-theme] .aws-rzp__title, html[data-site-theme] .site-search-cats__title { font-weight: 600; }
html[data-site-theme] .fw-bold, html[data-site-theme] .fw-bolder { font-weight: 600 !important; }
:where(html[data-site-theme]) :is(strong, b, dt, th, .badge) { font-weight: 600; }
html[data-site-theme] .aws-shop-tile__btn, html[data-site-theme] .aws-shop-buy__btn, html[data-site-theme] .aws-shop-coupon__btn, html[data-site-theme] .aws-addr__btn,
html[data-site-theme] .aws-btn, html[data-site-theme] .home-ar-btn, html[data-site-theme] .site-foot__btn { font-weight: 500; }
html[data-site-theme] .home-hero__caption h2, html[data-site-theme] .home-hero__fallback h1, html[data-site-theme] .home-ar-title,
html[data-site-theme] .home-ar-hero__title, html[data-site-theme] .aws-hero h1, html[data-site-theme] .aws-section-title { font-weight: 700; }
html[data-site-theme] .aws-shop-buy__title { font-weight: 600; } /* product page / popup title */

/* Shop / category / search list section: 1rem above the content. */
.aws-shop-list { padding-top: 1rem; }
/* Category strip (desktop): a little wider so names fit their one line. */
@media (min-width: 768px) { .aws-catstrip__item { flex-basis: 116px; } .aws-catstrip__track { gap: .9rem; } }

/* ── Admin: plain-language guides (Global Options, product "Options & variations") ── */
.adm-steps { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; gap: .65rem; counter-reset: none; }
.adm-steps > li { display: flex; gap: .75rem; align-items: flex-start; }
.adm-steps__num { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--aws-primary-soft); color: var(--aws-primary); font-weight: 700; font-size: .85rem; }
.adm-steps strong { display: block; font-size: .92rem; color: var(--aws-ink-900); }
.adm-steps small { display: block; font-size: .82rem; line-height: 1.45; color: var(--aws-ink-500); }
@media (min-width: 768px) { .adm-steps:not(.adm-steps--grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); } .adm-steps--grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.adm-guide { margin-bottom: 1.25rem; padding: 1rem 1.25rem; border: 1px solid var(--aws-border); border-radius: var(--aws-radius-lg); background: var(--aws-surface); }
.adm-guide > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: .5rem; font-weight: 700; color: var(--aws-ink-900); }
.adm-guide > summary::-webkit-details-marker { display: none; }
.adm-guide > summary::after { content: "\F282"; font-family: "bootstrap-icons"; margin-left: auto; color: var(--aws-ink-400); transition: transform .2s; }
.adm-guide[open] > summary::after { transform: rotate(180deg); }
.adm-guide > summary i { color: var(--aws-primary); }
.adm-guide > summary small { font-weight: 500; color: var(--aws-ink-500); }
.adm-guide[open] > summary { margin-bottom: 1rem; }
.adm-guide .adm-steps { margin-bottom: 1rem; }
.adm-guide__example { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding: .65rem .85rem; border-radius: var(--aws-radius); background: var(--aws-surface-muted); font-size: .85rem; color: var(--aws-ink-600); }
.adm-guide__example > span:first-child { margin-right: .25rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--aws-ink-500); }
.adm-guide__example--live { margin-top: .5rem; }
.adm-guide__example [data-go-chips] { display: inline-flex; flex-wrap: wrap; gap: .4rem; }

/* Option cards on the product form: a switch, the option name, and its values as tap-chips */
.adm-optpicks { display: grid; gap: .85rem; }
@media (min-width: 992px) { .adm-optpicks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.adm-optpick { padding: 1rem 1.1rem; border: 1.5px solid var(--aws-border); border-radius: var(--aws-radius-lg); background: var(--aws-surface); transition: border-color .15s, box-shadow .15s; }
.adm-optpick.is-on { border-color: var(--aws-success); box-shadow: 0 0 0 3px var(--aws-success-soft); }
.adm-optpick__head { display: flex; align-items: center; gap: .75rem; }
.adm-optpick__title { flex: 1; min-width: 0; }
.adm-optpick__title strong { display: block; font-size: .98rem; color: var(--aws-ink-900); }
.adm-optpick__title small { display: block; font-size: .78rem; color: var(--aws-ink-500); }
.adm-optpick__bulk { display: flex; align-items: center; gap: .35rem; font-size: .8rem; color: var(--aws-ink-400); white-space: nowrap; }
.adm-optpick__bulk .aws-link-btn { font-size: .8rem; }
.adm-optchips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .85rem; }
.adm-optpick:not(.is-on) .adm-optchips { opacity: .7; }
.adm-optchip { position: relative; margin: 0; cursor: pointer; }
.adm-optchip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.adm-optchip > span { display: inline-flex; align-items: center; gap: .35rem; min-height: 36px; padding: .35rem .9rem; border-radius: 999px; border: 1.5px solid var(--aws-border-strong); background: var(--aws-surface); font-size: .86rem; font-weight: 600; color: var(--aws-ink-700); transition: border-color .15s, background .15s, color .15s; user-select: none; }
.adm-optchip:hover > span { border-color: var(--aws-success); }
.adm-optchip__tick { display: none; font-size: 1rem; }
.adm-optchip input:checked + span, .adm-optchip.is-on > span { border-color: var(--aws-success); background: var(--aws-success-soft); color: var(--aws-success); }
.adm-optchip input:checked + span .adm-optchip__tick, .adm-optchip.is-on .adm-optchip__tick { display: inline-block; }
.adm-optchip input:focus-visible + span { box-shadow: 0 0 0 3px var(--aws-primary-ring); }
.adm-optchip__dot { width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15); }
.adm-optchip--demo { cursor: default; }
.adm-optchip--demo > span { min-height: 30px; padding: .2rem .75rem; font-size: .8rem; }
.adm-optpick__hint { display: flex; align-items: center; gap: .45rem; margin: .85rem 0 0; padding: .6rem .85rem; border-radius: var(--aws-radius); background: var(--aws-primary-soft); color: var(--aws-primary); font-size: .86rem; font-weight: 600; }
.adm-optpick__hint[hidden] { display: none; }

/* Variant rows: "Fill all rows" bar */
.adm-variants__fill { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .75rem; padding: .6rem .75rem; border-radius: var(--aws-radius); background: var(--aws-surface-muted); }
.adm-variants__fill-label { font-size: .82rem; font-weight: 700; color: var(--aws-ink-700); margin-right: .25rem; }
.adm-variants__fill-label i { color: var(--aws-primary); }
.adm-variants__fill input { width: 110px; }
.adm-variants__fill .aws-input-group { width: auto; }

/* ── Struck-through original price + "Save …" badge follow the chosen pack size; hidden when that size has no discount ── */
.aws-shop-price [data-pd-compare][hidden], .aws-shop-buy__price [hidden] { display: none; }

/* ── Product cards: name first, category right under it (pulled up 4px); the list-rows grid follows the same order ── */
.aws-shop-tile .aws-tile__meta { margin-top: -4px; }
.aws-shop-tile--row .aws-tile__body { grid-template-areas: "title price" "meta price" "rating price" "text actions" "low actions"; }

/* ── Inner page title / breadcrumb (band · light · minimal): text lines up with the page content and the logo at every
   screen width — the same box as .aws-container and .site-wrap (1320px including a 1.25rem gutter), not padding on the band ── */
.aws-hero, .aws-hero--light, .aws-hero--minimal { padding-left: 0; padding-right: 0; }
.aws-hero__inner { max-width: 1320px; padding: 0 1.25rem; }

/* ── Admin sidebar: folding groups (Sales · Catalogue · Website · Forms · Reports · Settings · Users & Access).
   A heading opens its group and closes the others; the group of the current page starts open; a folded group
   shows the sum of its badges (new orders, pending reviews…). Icon-only bar: headings show as icons. ── */
.adm-nav__group--fixed { padding-bottom: .35rem; margin-bottom: .35rem; border-bottom: 1px solid rgba(255,255,255,.06); }
.adm-nav__toggle {
    display: flex; align-items: center; gap: .75rem; width: 100%; margin: 2px 0; padding: .6rem .7rem; border: 0; border-radius: 10px;
    background: transparent; color: #94a3b8; font: inherit; font-size: .74rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase;
    text-align: left; white-space: nowrap; cursor: pointer; transition: background .15s, color .15s;
}
.adm-nav__toggle i:first-child { width: 20px; text-align: center; font-size: 1rem; flex-shrink: 0; letter-spacing: 0; }
.adm-nav__toggle:hover, .adm-nav__toggle:focus-visible { background: rgba(255,255,255,.06); color: #fff; } /* keeps the admin focus ring */
.adm-nav__group.is-open > .adm-nav__toggle { color: #e2e8f0; }
.adm-nav__chev { margin-left: auto; font-size: .75rem; transition: transform .2s; }
.adm-nav__badge--group + .adm-nav__chev { margin-left: .4rem; }
.adm-nav__group.is-open > .adm-nav__toggle .adm-nav__chev { transform: rotate(180deg); }
.adm-nav__group.is-open > .adm-nav__toggle .adm-nav__badge--group { display: none; } /* the links show their own */
.adm-nav__group:not(.adm-nav__group--fixed) > .adm-nav__items { margin: 0 0 .35rem .55rem; padding-left: .45rem; border-left: 1px solid rgba(255,255,255,.08); }
.adm-nav__group:not(.adm-nav__group--fixed) > .adm-nav__items .adm-nav__link.is-active::before { left: -.95rem; }
.adm-nav__items[hidden] { display: none; }
.adm-shell.is-collapsed .adm-nav__toggle { justify-content: center; padding: .65rem; }
.adm-shell.is-collapsed .adm-nav__toggle span, .adm-shell.is-collapsed .adm-nav__chev, .adm-shell.is-collapsed .adm-nav__badge--group { display: none; }
.adm-shell.is-collapsed .adm-nav__group:not(.adm-nav__group--fixed) > .adm-nav__items { margin-left: 0; padding-left: 0; border-left: 0; }
@media (prefers-reduced-motion: reduce) { .adm-nav__chev { transition: none; } }
.adm-shell.is-collapsed .adm-nav__toggle { color: #64748b; padding: .45rem; } /* icon-only bar: headings quieter than the links under them */
.adm-shell.is-collapsed .adm-nav__toggle i:first-child { font-size: .85rem; }

/* ── Checkout: note above "Place order" (Site Settings → Shop) — delivery times + a highlighted "check your address" line ── */
.aws-ck-note { margin: 1rem 0 .25rem; padding: .85rem .95rem; border: 1px solid var(--aws-border); border-radius: 12px; background: var(--aws-surface-muted); text-align: left; }
.aws-ck-note__title { display: flex; align-items: center; gap: .45rem; margin: 0 0 .55rem; font-size: .9rem; font-weight: 600; color: var(--aws-ink-900); }
.aws-ck-note__title i { color: var(--aws-shop-btn, var(--aws-primary)); }
.aws-ck-note__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.aws-ck-note__list li { display: flex; align-items: flex-start; gap: .5rem; font-size: .84rem; line-height: 1.5; color: var(--aws-ink-700); }
.aws-ck-note__list li > i { flex-shrink: 0; margin-top: .15rem; color: var(--aws-shop-btn, var(--aws-primary)); }
.aws-ck-note__list li.is-warning { padding: .5rem .6rem; border: 1px solid #fde68a; border-radius: 8px; background: var(--aws-warning-soft); color: #92400e; font-weight: 600; }
.aws-ck-note__list li.is-warning > i { color: var(--aws-warning); }
.aws-ck-aside .aws-ck-note { margin-top: .9rem; }

/* ── Admin → Order page: items editor (variation, quantity, special price), payment request, invoice ── */
:root { --aws-whatsapp: #1c9a4c; --aws-whatsapp-hover: #157a3c; } /* darker than --social-whatsapp so white text stays readable */
.aws-btn--whatsapp { background: var(--aws-whatsapp); border-color: var(--aws-whatsapp); color: #fff !important; }
.aws-btn--whatsapp:hover:not(:disabled) { background: var(--aws-whatsapp-hover); border-color: var(--aws-whatsapp-hover); }
.aws-btn--link { background: none; border: 0; box-shadow: none; min-height: 0; color: var(--aws-primary) !important; text-decoration: underline; text-underline-offset: 2px; }
.adm-order-items td { vertical-align: top; }
.adm-order-items input.adm-order-items__price { width: 108px; text-align: right; }
.adm-order-items input[readonly] { background: var(--aws-surface-muted); color: var(--aws-ink-600); }
.adm-order-items select { min-width: 220px; }
.adm-order-items__custom { display: flex; align-items: center; justify-content: flex-end; gap: .3rem; margin: .3rem 0 0; font-size: .75rem; font-weight: 500; color: var(--aws-ink-600); white-space: nowrap; cursor: pointer; }
.adm-order-items__remove { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: 0; border: 1px solid var(--aws-border); border-radius: var(--aws-radius-sm); background: #fff; color: var(--aws-ink-500); cursor: pointer; }
.adm-order-items__remove input { position: absolute; opacity: 0; pointer-events: none; }
.adm-order-items__remove:hover, .adm-order-items__remove:has(input:checked) { border-color: var(--aws-danger); color: var(--aws-danger); background: var(--aws-danger-soft); }
.adm-order-items__remove:has(input:focus-visible) { outline: 2px solid var(--aws-primary-ring); outline-offset: 2px; }
.adm-order-items tr.is-removed td:not(:last-child) { opacity: .45; text-decoration: line-through; }
.adm-order-items tr[data-new] td { background: var(--aws-surface-muted); }
.adm-order-items__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: 1rem; }
.adm-order-items__actions .aws-help { flex: 1 1 260px; }
.adm-stepper { display: inline-flex; align-items: center; border: 1px solid var(--aws-border-strong); border-radius: var(--aws-radius-sm); background: #fff; overflow: hidden; }
.adm-stepper__btn { width: 30px; height: 32px; border: 0; background: var(--aws-surface-muted); color: var(--aws-ink-700); cursor: pointer; }
.adm-stepper__btn:hover:not(:disabled) { background: var(--aws-primary-soft); color: var(--aws-primary); }
.adm-stepper__btn:disabled { opacity: .4; cursor: not-allowed; }
.adm-copy-field { display: flex; gap: .4rem; }
.adm-copy-field input { flex: 1; min-width: 0; font-size: .8rem; }
.adm-send-row { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.adm-send-row form { margin: 0; }

/* ── Order payment page (/pay/{token}) — final order, Razorpay "Pay now" or the UPI QR, invoice once paid ── */
.aws-pay { font-family: var(--aws-font-shop); }
.aws-pay__intro { margin: -.25rem 0 1rem; color: var(--aws-ink-600); font-size: .92rem; }
.aws-pay__items td.text-end, .aws-pay__items th { white-space: nowrap; }
.aws-pay__items td:first-child { overflow-wrap: anywhere; }
.aws-pay__totals { margin: .5rem 0 0; }
.aws-pay__totals > div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem .75rem; font-size: .92rem; }
.aws-pay__totals dt { font-weight: 400; color: var(--aws-ink-600); }
.aws-pay__totals dd { margin: 0; font-weight: 500; white-space: nowrap; }
.aws-pay__totals > .is-total { margin-top: .25rem; padding-top: .7rem; border-top: 2px solid var(--aws-border-strong); font-size: 1.05rem; }
.aws-pay__totals > .is-total dt, .aws-pay__totals > .is-total dd { font-weight: 600; color: var(--aws-ink-900); }
.aws-pay__ship { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--aws-border); font-size: .9rem; }
.aws-pay__ship h3 { margin: 0 0 .35rem; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-500); }
.aws-pay__box { text-align: center; position: sticky; top: 96px; }
.aws-pay__label { margin: 0; font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-500); }
.aws-pay__amount { margin: .15rem 0 1rem; font-size: 2rem; font-weight: 600; color: var(--aws-shop-btn); line-height: 1.2; }
.aws-pay__btn { background: var(--aws-shop-btn); border-color: var(--aws-shop-btn); color: #fff !important; font-weight: 500; }
.aws-pay__btn:hover { background: var(--aws-shop-btn-hover); border-color: var(--aws-shop-btn-hover); }
.aws-pay__hint { margin: .85rem 0 0; font-size: .82rem; color: var(--aws-ink-600); line-height: 1.5; }
.aws-pay__qr { display: block; width: 100%; max-width: 260px; height: auto; margin: 0 auto 1rem; padding: .6rem; border: 1px solid var(--aws-border); border-radius: var(--aws-radius); background: #fff; }
.aws-pay__upi { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .35rem .6rem; margin-bottom: .5rem; padding: .6rem .75rem; border-radius: var(--aws-radius-sm); background: var(--aws-surface-muted); }
.aws-pay__upi span { font-size: .78rem; color: var(--aws-ink-500); }
.aws-pay__upi strong { font-weight: 600; word-break: break-all; }
.aws-pay__note { margin: .5rem 0 0; padding: .6rem .75rem; border-radius: var(--aws-radius-sm); background: var(--aws-warning-soft); font-size: .84rem; text-align: left; }
.aws-pay__done { font-size: 3rem; line-height: 1; color: var(--aws-success); }
.aws-pay__heading { margin: .5rem 0 .35rem; font-size: 1.4rem; font-weight: 600; }
.aws-pay__lead { margin: 0 0 1rem; color: var(--aws-ink-600); }
.aws-pay__help { margin: 1.1rem 0 0; padding-top: .85rem; border-top: 1px solid var(--aws-border); font-size: .82rem; color: var(--aws-ink-500); }
.aws-pay__box .aws-alert { text-align: left; }
@media (max-width: 991.98px) { .aws-pay__box { position: static; } }

/* Order page items editor on phones: each line becomes a small card (name · remove / weight · qty / price · total), totals as rows. */
@media (max-width: 575.98px) {
    .adm-order-items thead { display: none; }
    .adm-order-items, .adm-order-items tbody, .adm-order-items tfoot { display: block; width: 100%; }
    .adm-order-items tbody tr { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "name remove" "weight qty" "price total"; gap: .6rem .75rem; padding: .85rem 0; border-bottom: 1px solid var(--aws-border); }
    .adm-order-items tbody td { display: block; padding: 0; border: 0; text-align: left !important; }
    .adm-order-items tbody td:nth-child(1) { grid-area: name; }
    .adm-order-items tbody td:nth-child(2) { grid-area: weight; }
    .adm-order-items tbody td:nth-child(3) { grid-area: qty; justify-self: end; }
    .adm-order-items tbody td:nth-child(4) { grid-area: price; }
    .adm-order-items tbody td:nth-child(5) { grid-area: total; justify-self: end; align-self: center; font-weight: 600; }
    .adm-order-items tbody td:nth-child(6) { grid-area: remove; }
    .adm-order-items tr[data-new] td { background: none; }
    .adm-order-items tr[data-new] { margin: 0 -.5rem; padding-left: .5rem; padding-right: .5rem; border-radius: var(--aws-radius-sm); background: var(--aws-surface-muted); }
    .adm-order-items select { min-width: 0; width: 100%; }
    .adm-order-items__custom { justify-content: flex-start; }
    .adm-order-items tfoot tr { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--aws-border); }
    .adm-order-items tfoot td { display: block; padding: .5rem 0; border: 0; text-align: left !important; }
    .adm-order-items tfoot td:empty { display: none; }
}
.aws-pay__totals > .is-due dt, .aws-pay__totals > .is-due dd { font-weight: 600; color: var(--aws-shop-btn); } /* part-paid orders: what is left */

/* Order page → Delivery charge → courier rates (switched-off couriers too): click one to fill the amount. */
.adm-courier-quotes { display: grid; gap: .4rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px dashed var(--aws-border); }
.adm-courier-quotes__head { display: flex; align-items: center; gap: .4rem; margin: 0 0 .15rem; font-size: .8rem; font-weight: 600; color: var(--aws-ink-600); }
.adm-courier-quote { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 0 .75rem; width: 100%; padding: .55rem .75rem; border: 1px solid var(--aws-border); border-radius: var(--aws-radius-sm); background: #fff; text-align: left; font: inherit; cursor: pointer; transition: border-color .15s, background .15s; }
.adm-courier-quote:hover { border-color: var(--aws-primary); background: var(--aws-primary-soft); }
.adm-courier-quote:focus-visible { outline: 2px solid var(--aws-primary-ring); outline-offset: 2px; }
.adm-courier-quote.is-picked { border-color: var(--aws-primary); box-shadow: inset 0 0 0 1px var(--aws-primary); background: var(--aws-primary-soft); }
.adm-courier-quote__name { font-size: .86rem; font-weight: 600; color: var(--aws-ink-900); }
.adm-courier-quote small { grid-column: 1; font-size: .74rem; color: var(--aws-ink-500); }
.adm-courier-quote strong { grid-column: 2; grid-row: 1 / span 2; font-size: .92rem; color: var(--aws-ink-900); white-space: nowrap; }
.adm-courier-quote .aws-pill { margin-left: .3rem; font-size: .66rem; vertical-align: middle; }

/* ── Order page once paid: a receipt the customer can't mistake for the payment page ── */
.aws-receipt { position: relative; margin-bottom: 1rem; padding: 1.5rem 1.25rem 1.25rem; text-align: center; overflow: hidden; border-top: 4px solid var(--aws-success); }
.aws-receipt::before { content: ""; position: absolute; inset: 0 0 auto; height: 160px; background: radial-gradient(ellipse at top, var(--aws-success-soft), transparent 70%); pointer-events: none; }
.aws-receipt > * { position: relative; }
.aws-receipt__mark { width: 58px; height: 58px; margin: 0 auto .7rem; border-radius: 50%; display: grid; place-items: center; background: var(--aws-success); color: #fff; font-size: 1.85rem; box-shadow: 0 0 0 7px var(--aws-success-soft); animation: aws-receipt-pop .5s ease-out both; }
.aws-receipt__mark.is-refunded { background: var(--aws-ink-500); box-shadow: 0 0 0 7px var(--aws-surface-sunken); }
@keyframes aws-receipt-pop { from { transform: scale(.4); opacity: 0; } 70% { transform: scale(1.08); opacity: 1; } to { transform: scale(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .aws-receipt__mark { animation: none; } }
.aws-receipt__title { margin: 0 0 .3rem; font-size: clamp(1.3rem, 2.6vw, 1.6rem); font-weight: 600; color: var(--aws-ink-900); }
.aws-receipt__lead { max-width: 600px; margin: 0 auto 1rem; color: var(--aws-ink-600); font-size: .95rem; line-height: 1.55; }
.aws-receipt__lead strong { color: var(--aws-ink-900); font-weight: 600; }
.aws-receipt__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem; max-width: 760px; margin: 0 auto 1.1rem; }
.aws-receipt__facts > div { padding: .5rem .75rem; border: 1px solid var(--aws-border); border-radius: var(--aws-radius); background: var(--aws-surface-muted); }
.aws-receipt__facts dt { margin-bottom: .1rem; font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-500); }
.aws-receipt__facts dd { margin: 0; font-size: .95rem; font-weight: 600; color: var(--aws-ink-900); }
.aws-receipt__facts dd.aws-receipt__ref { font-size: .88rem; word-break: break-all; }
.aws-receipt__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.aws-receipt__actions .aws-btn { min-width: 220px; }
.aws-receipt__progress { margin-bottom: 1rem; }
.aws-receipt__progress .aws-track__steps { margin-bottom: 0; }
.aws-receipt__address { font-style: normal; line-height: 1.7; color: var(--aws-ink-700); }
.aws-receipt__next { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.aws-receipt__next li { display: flex; gap: .75rem; align-items: flex-start; font-size: .9rem; line-height: 1.5; color: var(--aws-ink-600); }
.aws-receipt__next li > i { flex-shrink: 0; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--aws-success-soft); color: var(--aws-shop-btn); font-size: 1rem; }
.aws-receipt__next strong { font-weight: 600; color: var(--aws-ink-900); }
.aws-pay__stamp { margin-left: auto; display: inline-flex; align-items: center; gap: .3rem; padding: .2rem .65rem; border: 1.5px solid var(--aws-success); border-radius: 999px; color: var(--aws-success); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.aws-pay__stamp i { color: var(--aws-success) !important; }
.aws-pay__status { display: inline-flex; align-items: center; gap: .35rem; margin-bottom: .75rem; padding: .25rem .75rem; border-radius: 999px; background: var(--aws-warning-soft); color: var(--aws-warning); font-size: .78rem; font-weight: 600; }
@media (max-width: 575.98px) {
    .aws-receipt { padding: 1.25rem .9rem 1rem; }
    .aws-receipt__actions .aws-btn { min-width: 0; width: 100%; }
}

/* Admin → order history: the date / time line smaller and quieter than the event. */
.adm-timeline small { display: block; margin-top: .1rem; font-size: .7rem; color: var(--aws-ink-400); letter-spacing: .01em; }

/* Admin → order → WhatsApp preview: the message as a WhatsApp chat bubble before WhatsApp opens (WhatsApp’s own colours). */
.adm-wa { --wa-head: #075e54; --wa-green: #25d366; --wa-wall: #efeae2; --wa-bubble: #d9fdd3; --wa-ink: #111b21; --wa-meta: #667781; --wa-link: #027eb5; --wa-tick: #53bdeb; }
.adm-wa__to { display: flex; align-items: center; gap: .65rem; padding: .6rem .8rem; border-radius: var(--aws-radius-sm) var(--aws-radius-sm) 0 0; background: var(--wa-head); color: #fff; }
.adm-wa__to strong { display: block; font-size: .9rem; font-weight: 600; }
.adm-wa__to small { display: block; font-size: .75rem; opacity: .8; }
.adm-wa__avatar { width: 34px; height: 34px; flex-shrink: 0; border-radius: 50%; display: grid; place-items: center; background: var(--wa-green); font-weight: 600; }
.adm-wa__chat { max-height: 52vh; overflow-y: auto; padding: 1rem .8rem; border-radius: 0 0 var(--aws-radius-sm) var(--aws-radius-sm); background: var(--wa-wall); }
.adm-wa__bubble { position: relative; max-width: 92%; margin-left: auto; padding: .55rem .7rem 1.35rem; border-radius: 8px 0 8px 8px; background: var(--wa-bubble); box-shadow: 0 1px .5px rgba(11, 20, 26, .13); font-size: .86rem; line-height: 1.45; color: var(--wa-ink); overflow-wrap: anywhere; }
.adm-wa__bubble strong { font-weight: 600; }
.adm-wa__bubble a { color: var(--wa-link); }
.adm-wa__time { position: absolute; right: .55rem; bottom: .3rem; font-size: .66rem; color: var(--wa-meta); }
.adm-wa__time i { color: var(--wa-tick); }
/* Receipt: cards closer together (padding, titles, the gaps between them). */
.aws-pay--receipt .aws-card { padding: 1.15rem 1.25rem; }
.aws-pay--receipt .aws-card__title { margin-bottom: .75rem; }
.aws-pay--receipt .aws-pay__intro { margin-bottom: .6rem; }
.aws-pay--receipt .aws-receipt { padding: 1.5rem 1.25rem 1.25rem; }
.aws-pay--receipt .aws-receipt__actions .aws-btn { min-height: 44px; padding-top: .6rem; padding-bottom: .6rem; }
@media (max-width: 575.98px) { .aws-pay--receipt .aws-card { padding: 1rem; } .aws-pay--receipt .aws-receipt { padding: 1.25rem .9rem 1rem; } }
/* Order placed but not paid yet (checkout success / order request): the same receipt, in "waiting" amber. */
.aws-receipt.is-pending { border-top-color: var(--aws-warning); }
.aws-receipt.is-pending::before { background: radial-gradient(ellipse at top, var(--aws-warning-soft), transparent 70%); }
.aws-receipt__mark.is-pending { background: var(--aws-warning); box-shadow: 0 0 0 7px var(--aws-warning-soft); font-size: 1.55rem; }
.aws-receipt__contact { display: inline-flex; align-items: center; gap: .35rem; margin-top: .35rem; color: var(--aws-ink-600); }

/* Admin → order: total parcel weight row, carrier details under "Update status", and the printable items list. */
.adm-order-items__weight td { color: var(--aws-ink-600); }
.adm-carrier { margin-top: 1rem; padding-top: .9rem; border-top: 1px dashed var(--aws-border); }
.adm-carrier__head { display: flex; align-items: center; gap: .4rem; margin: 0 0 .6rem; font-size: .82rem; font-weight: 600; color: var(--aws-ink-700); }
.adm-carrier__head small { font-weight: 400; color: var(--aws-ink-500); }
.adm-pack { max-width: 760px; margin: 0 auto; color: var(--aws-ink-900); font-family: var(--aws-font); }
.adm-pack__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 2px solid var(--aws-ink-900); }
.adm-pack__head h1 { margin: 0; font-size: 1.35rem; font-weight: 700; }
.adm-pack__head p { margin: .2rem 0 0; color: var(--aws-ink-600); }
.adm-pack__items { width: 100%; border-collapse: collapse; font-size: .95rem; }
.adm-pack__items th { padding: .5rem .6rem; border-bottom: 1px solid var(--aws-border-strong); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-500); text-align: left; }
.adm-pack__items td { padding: .65rem .6rem; border-bottom: 1px solid var(--aws-border); vertical-align: top; }
.adm-pack__items td small { display: block; color: var(--aws-ink-500); }
.adm-pack__items tfoot td { border-bottom: 0; border-top: 2px solid var(--aws-ink-900); font-weight: 600; }
.adm-pack__items .text-end { text-align: right; }

/* Admin → Shop Design → display options: one card per group; every switch in its own box with its title and a short
   explanation (green when on), so it is clear which switch belongs to which option. */
.adm-opts { margin-bottom: 1rem; }
.adm-opts__title { display: flex; align-items: center; gap: .5rem; margin: 0 0 1rem; font-size: .95rem; font-weight: 600; color: var(--aws-ink-900); }
.adm-opts__title i { color: var(--aws-primary); }
.adm-opts__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .75rem; }
.adm-opt { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border: 1px solid var(--aws-border); border-radius: var(--aws-radius); background: var(--aws-surface); transition: border-color .15s, background .15s; }
.adm-opt:has(input[type="checkbox"]:checked) { border-color: #bbf7d0; background: var(--aws-success-soft); }
.adm-opt__text { flex: 1; margin: 0; cursor: pointer; }
.adm-opt__text strong { display: block; font-size: .9rem; font-weight: 600; color: var(--aws-ink-900); }
.adm-opt__text small { display: block; margin-top: .2rem; font-size: .78rem; line-height: 1.45; color: var(--aws-ink-500); }
.adm-opt__switch { display: flex; flex-direction: column; align-items: center; gap: .3rem; padding-top: .1rem; }
.adm-opt__state { font-size: .66rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-400); }
.adm-opt__state::after { content: "Off"; }
.adm-opt:has(input[type="checkbox"]:checked) .adm-opt__state { color: var(--aws-success); }
.adm-opt:has(input[type="checkbox"]:checked) .adm-opt__state::after { content: "On"; }
@media (max-width: 575.98px) { .adm-opts__grid { grid-template-columns: 1fr; } }

/* Admin → Orders: summary cards are links that filter the list; a coloured edge per card, the open filter outlined. */
.adm-stats--orders .adm-stat { position: relative; overflow: hidden; text-decoration: none; color: inherit; }
.adm-stats--orders .adm-stat::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: #4f46e5; }
.adm-stats--orders .adm-stat:has(.adm-stat__icon--sky)::before { background: #0284c7; }
.adm-stats--orders .adm-stat:has(.adm-stat__icon--amber)::before { background: #d97706; }
.adm-stats--orders .adm-stat:has(.adm-stat__icon--green)::before { background: #16a34a; }
.adm-stats--orders .adm-stat:focus-visible { outline: 2px solid var(--aws-primary-ring); outline-offset: 2px; }
.adm-stats--orders .adm-stat.is-active { border-color: var(--aws-primary); box-shadow: 0 0 0 1px var(--aws-primary), var(--aws-shadow-sm); }
.adm-stats--orders .adm-stat__value { font-size: 1.6rem; }
.adm-stats--orders .adm-stat__meta { margin-top: .1rem; }

/* Product card: "− 2 in cart +" in the place of "Add to cart" once that product / size is in the cart. */
.aws-shop-tile__btn[hidden], .aws-shop-tile__incart[hidden] { display: none !important; }
.aws-shop-tile__incart { display: flex; align-items: stretch; width: 100%; min-height: 44px; border-radius: 8px; background: var(--aws-shop-btn); color: #fff; overflow: hidden; }
.aws-shop-tile__incart button { flex: 0 0 44px; display: grid; place-items: center; border: 0; background: transparent; color: #fff; font-size: 1rem; cursor: pointer; transition: background .15s; }
.aws-shop-tile__incart button:hover { background: var(--aws-shop-btn-hover); }
.aws-shop-tile__incart button:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
.aws-shop-tile__incart span { flex: 1; display: flex; align-items: center; justify-content: center; gap: .3rem; font-size: .85rem; font-weight: 500; white-space: nowrap; border-left: 1px solid rgba(255, 255, 255, .2); border-right: 1px solid rgba(255, 255, 255, .2); }
.aws-shop-tile__incart strong { font-size: 1rem; font-weight: 600; }
.aws-shop-tile--compact .aws-shop-tile__incart { min-height: 36px; }
.aws-shop-tile--compact .aws-shop-tile__incart button { flex-basis: 36px; }

/* Admin console: 14px base text — page text, lists, tables, form fields and dropdowns. Headings, labels, badges and
   the sidebar keep their own (relative) sizes. */
body.aws-admin { font-size: 14px; }
.aws-admin .dt-table, .aws-admin .aws-table-simple { font-size: 14px; }
.aws-admin .aws-field input:not([type=checkbox]):not([type=radio]):not([type=file]), .aws-admin .aws-field select, .aws-admin .aws-field textarea,
.aws-admin .dt-select, .aws-admin .select2-container .select2-selection__rendered, .aws-admin .select2-results__option { font-size: 14px; }
/* Orders → items: each line's total weight (pack × quantity). */
.adm-order-items__kg { white-space: nowrap; color: var(--aws-ink-600); font-variant-numeric: tabular-nums; }
/* Orders → items editor (seven columns: Item · Variation · Qty − / + · Total weight · Price · Total · Remove): compact cells and
   controls so it fits the order card without scrolling sideways, also with an "Add product" row open. */
form[data-order-items] .adm-order-items th, form[data-order-items] .adm-order-items td { padding-left: .45rem; padding-right: .45rem; }
form[data-order-items] .adm-order-items th:first-child, form[data-order-items] .adm-order-items td:first-child { padding-left: .75rem; }
form[data-order-items] .adm-order-items select.adm-order-items__variant { min-width: 0; width: 114px; height: 34px; padding: 0 1.3rem 0 .4rem; background-position: right .3rem center; font-size: .76rem; }
form[data-order-items] .adm-order-items tr[data-new] select[data-product] { min-width: 0; width: 124px; }
form[data-order-items] .adm-order-items tr[data-new] td:first-child .select2-container { width: 124px !important; }
form[data-order-items] .adm-order-items input.adm-order-items__price { width: 82px; min-width: 82px; padding-left: .4rem; padding-right: .4rem;max-width: 100px;}
form[data-order-items] .adm-order-items__custom { white-space: normal; text-align: right; line-height: 1.25; }
form[data-order-items] .adm-order-items__remove { width: 30px; height: 30px; }
/* Quantity − / + (the number can still be typed). */
.adm-stepper--qty .adm-stepper__btn { width: 24px; }
.adm-stepper--qty input.adm-stepper__input { width: 36px; height: 32px; min-height: 0; padding: 0 .25rem; border: 0; border-radius: 0; box-shadow: none; text-align: center; font-weight: 600; font-size: .9rem; -moz-appearance: textfield; appearance: textfield; }
.adm-stepper--qty input.adm-stepper__input::-webkit-inner-spin-button, .adm-stepper--qty input.adm-stepper__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.adm-stepper--qty input.adm-stepper__input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--aws-primary-ring); }
/* Product edit → "Add variations" (feature variants_on_edit). */
.adm-addvar { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px dashed var(--aws-border-strong); }
.aws-card > .adm-addvar:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.adm-addvar__option + .adm-addvar__option { margin-top: 1rem; }
.adm-addvar__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .75rem; margin: 0 0 .5rem; }
.adm-addvar__head small { color: var(--aws-ink-500); }
.adm-addvar__table tr.is-on td { background: var(--aws-primary-soft); }
.adm-addvar__table input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--aws-primary); cursor: pointer; }
/* Orders → "Add product": the product box and its open list (<select data-list-class="adm-pick-compact">) in smaller type,
   the list a little wider than the 124px box so long names wrap less. */
form[data-order-items] .adm-order-items tr[data-new] .select2-selection__rendered { padding: .4rem 1.7rem .4rem .6rem; font-size: 12px; }
.adm-pick-compact .select2-dropdown { min-width: 220px; }
.adm-pick-compact .select2-results__option { padding: .32rem .6rem; font-size: 12px; line-height: 1.35; }
.adm-pick-compact .select2-search--dropdown .select2-search__field { padding: .35rem .55rem; font-size: 12px; }
/* Admin sidebar sizes: top-level links 13px, group headings (SALES, CATALOGUE…) 11px, the pages inside a group 12px. */
.adm-nav__link { font-size: 13px; }
.adm-nav__toggle { font-size: 11px; }
.adm-nav__group:not(.adm-nav__group--fixed) > .adm-nav__items .adm-nav__link { padding-top: .45rem; padding-bottom: .45rem; font-size: 12px; }
.adm-nav__group:not(.adm-nav__group--fixed) > .adm-nav__items .adm-nav__link i { font-size: .95rem; }
/* Payment page → UPI QR: bank details under the QR code and UPI ID (Payment Gateways → UPI QR Code → Configure). */
.aws-pay__bank { margin: .75rem 0 .5rem; padding: .7rem .85rem; border: 1px solid var(--aws-border); border-radius: var(--aws-radius-sm); text-align: left; }
.aws-pay__bank-title { display: flex; align-items: center; gap: .4rem; margin: 0 0 .5rem; font-size: .78rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--aws-ink-500); }
.aws-pay__bank dl { display: grid; grid-template-columns: auto 1fr; gap: .35rem 1rem; margin: 0; font-size: .9rem; }
.aws-pay__bank dt { font-weight: 400; color: var(--aws-ink-500); white-space: nowrap; }
.aws-pay__bank dd { display: flex; align-items: center; gap: .35rem; min-width: 0; margin: 0; font-weight: 500; color: var(--aws-ink-900); overflow-wrap: anywhere; }
.aws-pay__copy { flex-shrink: 0; padding: .1rem .3rem; border: 0; border-radius: 6px; background: none; color: var(--aws-primary); line-height: 1; cursor: pointer; }
.aws-pay__copy:hover { background: var(--aws-surface-muted); }
.aws-pay__bank dd a { color: inherit; text-decoration: none; }
