/*
 * AaME Storefront Design System — 2026-09-28
 * Shared visual contract for all customer-facing pages.
 * Brand: black / white. Wishlist hearts: AaME red. Semantic status colours
 * are reserved for success, warning and error feedback only.
 */
:root{
  --aame-black:#111111;
  --aame-black-strong:#000000;
  --aame-white:#ffffff;
  --aame-canvas:#ffffff;
  --aame-surface:#ffffff;
  --aame-soft:#f7f7f7;
  --aame-soft-neutral:#f5f5f5;
  --aame-line:#e7e7e7;
  --aame-line-strong:#d4d4d4;
  --aame-ink:#171717;
  --aame-muted:#666666;
  --aame-faint:#8a8a8a;
  --aame-accent:#111111;
  --aame-accent-strong:#000000;
  --aame-navy:#0a0a0a;
  --aame-gold:#111111;
  --aame-gold-soft:#f3f3f3;
  --aame-green:#111111;
  --aame-orange:#111111;
  --aame-purple:#111111;
  --aame-red:#e2231a;
  --aame-sale:#111111;
  --aame-sale-soft:#f3f3f3;
  --aame-success:#168447;
  --aame-warning:#9a6300;
  --aame-wishlist:#e2231a;

  --ink:#171717;
  --t:#171717;
  --text-dark:#171717;
  --muted:#666666;
  --t-muted:#666666;
  --text-muted:#666666;
  --faint:#8a8a8a;
  --line:#e7e7e7;
  --border:#e7e7e7;
  --border-strong:#d4d4d4;
  --line-strong:#d4d4d4;
  --surface:#ffffff;
  --paper:#ffffff;
  --bg:#ffffff;
  --canvas:#ffffff;
  --off-white:#f7f7f7;
  --gold:#111111;
  --gold-acc:#111111;
  --gold-soft:#f3f3f3;
  --or-gold:#111111;
  --or-gold-soft:#f3f3f3;
  --accent:#111111;
  --primary:#111111;
  --brand:#111111;
  --button:#111111;
  --cta:#111111;
  --sale:#111111;

  --font-body:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-disp:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --aame-font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --aame-display:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --profile-font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --profile-display:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --or-ui:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --or-display:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --aame-radius-xs:5px;
  --aame-radius-sm:8px;
  --aame-radius-md:12px;
  --aame-radius-lg:18px;
  --aame-shadow-xs:0 1px 2px rgba(0,0,0,.035);
  --aame-shadow-sm:0 5px 18px rgba(0,0,0,.06);
  --aame-shadow-md:0 16px 42px rgba(0,0,0,.10);
  --aame-focus:0 0 0 3px rgba(17,17,17,.16);
}

html{
  color-scheme:light;
  background:#fff;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

body,
body input,
body select,
body textarea,
body button{
  font-family:var(--font-body)!important;
}

body{
  background:#fff;
  color:var(--aame-ink);
}

body *,body *::before,body *::after{box-sizing:border-box}
body img{max-width:100%}

/* Shared focus treatment: visible, neutral and consistent. */
body :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:2px solid #111!important;
  outline-offset:3px!important;
  box-shadow:none;
}

/* Shared icon rhythm. Icons inherit the label colour instead of introducing
   unrelated page-specific accent colours. */
body :where(.bi,button svg,a svg){
  vertical-align:-.125em;
}
body :where(button,a)[class*="btn"] > :where(.bi,svg),
body :where(button,a)[class*="action"] > :where(.bi,svg){
  flex:0 0 auto;
}

/* Primary / secondary storefront controls. Scoped to action-like controls so
   icon-only navigation buttons retain their compact dimensions. */
body :where(button,a).pc__btn,
body :where(button,a).fs-btn-cart,
body :where(button,a).btn-atc,
body :where(button,a).btn-accent,
body :where(button,a).order-action,
body :where(button,a).pa-cta,
body :where(button,a).inv-mb,
body :where(button,a)[class*="checkout-btn"],
body :where(button,a)[class*="submit-btn"]{
  border-radius:var(--aame-radius-sm)!important;
  font-weight:750!important;
  letter-spacing:-.01em;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}

body :where(button,a).pc__btn:not(.pc__btn--muted),
body :where(button,a).fs-btn-cart:not(:disabled),
body :where(button,a).btn-atc:not(.btn-atc-outline),
body :where(button,a).btn-accent,
body :where(button,a).pa-cta,
body :where(button,a)[class*="submit-btn"]{
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}
body :where(button,a).pc__btn:not(.pc__btn--muted):hover,
body :where(button,a).fs-btn-cart:not(:disabled):hover,
body :where(button,a).btn-atc:not(.btn-atc-outline):hover,
body :where(button,a).btn-accent:hover,
body :where(button,a).pa-cta:hover{
  border-color:#000!important;
  background:#000!important;
  color:#fff!important;
  transform:translateY(-1px);
}

body :where(.pc__btn--muted,button:disabled,a[aria-disabled="true"]){
  box-shadow:none!important;
}

/* Wishlist contract: the heart is the only persistent brand-red action. */
body :where(.pc__wish,.fs-wish,.gal-wish,.btn-wish-lg,#wishBtn,[data-product-id][aria-label*="wishlist" i]){
  color:var(--aame-wishlist)!important;
}
body :where(.pc__wish,.fs-wish,.gal-wish){
  background:#fff!important;
  border-color:#dedede!important;
}
body :where(.pc__wish,.fs-wish,.gal-wish):hover{
  border-color:var(--aame-wishlist)!important;
  background:#fff5f4!important;
}
body :where(.pc__wish.is-on,.pc__wish.wishlisted,.fs-wish--on,.gal-wish.wishlisted,.btn-wish-lg.wishlisted,#wishBtn.wishlisted){
  color:var(--aame-wishlist)!important;
}

/* Product cards: clean white surfaces, no decorative template glow. */
body :where(.pc,.fs-card){
  border-color:var(--aame-line)!important;
  background:#fff!important;
  box-shadow:none!important;
}
body :where(.pc,.fs-card):hover{
  border-color:#cfcfcf!important;
  box-shadow:var(--aame-shadow-sm)!important;
}
body :where(.pc__cat,.fs-cat){color:var(--aame-muted)!important}
body :where(.pc__name,.fs-name){letter-spacing:-.015em}

/* Product-page premium treatment. */
body.aame-product-page .gallery-stage{
  border-color:#e2e2e2!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.015);
}
body.aame-product-page .prod-brand{color:#111!important}
body.aame-product-page .stars{color:#111!important}
body.aame-product-page .si{color:#111!important}
body.aame-product-page .flash-timer{background:#f5f5f5!important;color:#111!important}
body.aame-product-page #main [aria-pressed="true"].opt-color,
body.aame-product-page #main [aria-pressed="true"].opt-swatch{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.aame-product-page #main .btn-atc-outline{
  border-color:#111!important;
  background:#fff!important;
  color:#111!important;
}
body.aame-product-page #main .btn-atc-outline:hover:not(:disabled){
  background:#f4f4f4!important;
  color:#111!important;
}

/* Header: strict black / white hierarchy. */
.aame-header-root .site-header{background:#fff!important;border-bottom-color:#e8e8e8!important}
.aame-header-root .search-box,
.aame-header-root .mob-inline-search{background:#f7f7f7!important;border-color:#e5e5e5!important}
.aame-header-root .search-box:focus-within,
.aame-header-root .mob-inline-search:focus-within{border-color:#111!important;box-shadow:var(--aame-focus)!important}
.aame-header-root .menu-hdr-band{background:#111!important}
.aame-header-root .menu-av{background:#fff!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:none!important}
.aame-header-root .menu-av-inner{background:#111!important;color:#fff!important}
.aame-header-root .menu-name{color:#fff!important}
.aame-header-root .menu-email{color:rgba(255,255,255,.68)!important}
.aame-header-root .acct-menu.is-guest .menu-hdr-band{background:#fff!important}
.aame-header-root .acct-menu.is-guest .menu-name{color:#111!important}
.aame-header-root .acct-menu.is-guest .menu-email{color:#666!important}
.aame-header-root .acct-menu.is-guest .menu-av{border-color:#111!important}
.aame-header-root .acct-menu.is-guest .menu-av-inner{background:#fff!important;color:#111!important}
.aame-header-root .menu-stat-card:hover{border-color:#111!important}

/* Flash-sale page: remove gold/amber template accents from primary UI. */
body.aame-flash-page .fs-hero{background:#0b0b0b!important}
body.aame-flash-page .fs-crown{background:#111!important;color:#fff!important}
body.aame-flash-page .fs-crown-pct,
body.aame-flash-page .fs-crown-save{color:#fff!important}
body.aame-flash-page .fs-btn-page{border-color:#111!important;background:#fff!important;color:#111!important}
body.aame-flash-page .fs-btn-page:hover{background:#f3f3f3!important;color:#000!important}
body.aame-flash-page .badge-live{background:#111!important;color:#fff!important;border-color:#111!important}

body.aame-flash-page :where(.fs-hero-eyebrow,.fs-global-cd-label,.fs-saving,.fs-stock-lbl){color:#e7e7e7!important}
body.aame-flash-page .badge-upcoming{border-color:#d8d8d8!important;background:#f3f3f3!important;color:#111!important}
body.aame-flash-page .fs-crown--upcoming{background:#262626!important}



/* Legacy branded action variants collapse into the same monochrome control
   language. Semantic success/error states remain intentionally coloured. */
body :where(.tile-gold,.tile-primary,.tile-shop,.btn-primary,.btn-dark,.checkout-btn,.order-primary-action){
  border-color:#111!important;
  background:#111!important;
  color:#fff!important;
}
body :where(.tile-gold,.tile-primary,.tile-shop,.btn-primary,.btn-dark,.checkout-btn,.order-primary-action):hover{
  border-color:#000!important;
  background:#000!important;
  color:#fff!important;
}
body :where(.badge-upcoming,.fs-btn-coming){
  border-color:#d7d7d7!important;
  background:#f3f3f3!important;
  color:#111!important;
}

/* Shared alert/error language. */
body :where(.page-alert,.product-option-error,.purchase-feedback.is-error,.fs-error-state,[class*="error-message"],[class*="form-error"]){
  border:1px solid #e8b5b1!important;
  border-radius:var(--aame-radius-sm)!important;
  background:#fff6f5!important;
  color:#9c211a!important;
}
body :where(.alert-success,[class*="success-message"]){
  border-color:#bddbc9!important;
  background:#f5fbf7!important;
  color:#176b3b!important;
}

/* SweetAlert2: one storefront treatment on every page. */
body .swal2-container{
  z-index:30000!important;
  font-family:var(--font-body)!important;
}
body .swal2-container.swal2-backdrop-show{background:rgba(0,0,0,.32)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
body .swal2-popup{
  border:1px solid #dedede!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#171717!important;
  box-shadow:0 26px 70px rgba(0,0,0,.20)!important;
}
body .swal2-title{font-family:var(--font-display)!important;color:#171717!important;font-weight:800!important;letter-spacing:-.025em!important}
body .swal2-html-container{font-family:var(--font-body)!important;color:#606060!important;line-height:1.6!important}
body .swal2-actions{gap:9px!important}
body .swal2-confirm{
  border:1px solid #111!important;
  border-radius:8px!important;
  background:#111!important;
  color:#fff!important;
  font-family:var(--font-body)!important;
  font-weight:750!important;
  box-shadow:none!important;
}
body .swal2-cancel,
body .swal2-deny{
  border:1px solid #cfcfcf!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#111!important;
  font-family:var(--font-body)!important;
  font-weight:750!important;
  box-shadow:none!important;
}
body .swal2-close{color:#666!important}
body .swal2-timer-progress-bar{background:#111!important}
body .swal2-toast{border-radius:10px!important;border-color:#dedede!important}
body .swal2-icon.swal2-error{border-color:#e2231a!important;color:#e2231a!important}

/* Order success + invoice controls: retain readable white-on-black contrast
   after the global black/white token normalization. */
body.aame-order-success-page .tile i{color:#fff!important;border-color:#444!important;background:#202020!important}
body.aame-order-success-page .inv-modal-info strong{color:#fff!important}
body.aame-order-success-page .inv-modal-topbar{background:#111!important}
body.aame-order-success-page .inv-mb{border-color:#fff!important;background:#fff!important;color:#111!important}
body.aame-order-success-page .poll-dot{background:#fff!important}

/* Payment-success legacy page. */
body .success-card{border:1px solid #e3e3e3!important;box-shadow:var(--aame-shadow-md)!important}
body .success-icon{border-color:#111!important}
body .success-icon i{color:#111!important}
body .btn-accent{background:#111!important;border-color:#111!important;color:#fff!important}

/* Footer follows the same monochrome hierarchy. */
.aame-footer-root a,
.aame-footer-root button{text-underline-offset:3px}

@media (max-width:767px){
  body .swal2-popup{width:calc(100vw - 24px)!important;padding:22px 18px!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
