/* site-polish.css — consolidation batch 3 (12 Sep 2026). Sources: aureum-checkout-login-polish, aureum-premium-polish, aureum-a11y-fixes, aureum-a11y-contrast (mu-plugins, retired). Load after style.css. */

/* ===== checkout login polish (checkout only; scoped by body class) ===== */

/* --- Aureum checkout login: match v7 design tokens --- */
/* v7 checkout grid is max-width:1280px centred; keep the login block inside it. */
body.woocommerce-checkout .woocommerce-form-login-toggle{max-width:1280px;margin:0 auto 12px;padding:0 24px;box-sizing:border-box;}
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{
	background:#F4EFE7;color:#4A4540;font-family:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,sans-serif;
	font-size:13px;line-height:1.5;padding:12px 18px;border:0;border-radius:8px;margin:0;list-style:none;
}
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before{content:none;}
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a.showlogin{
	color:#8A6D1F;font-weight:500;text-decoration:underline;text-underline-offset:2px;
}
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a.showlogin:hover{color:#B8962E;}

body.woocommerce-checkout form.woocommerce-form-login.login{
	background:#FFFFFF;border:1px solid rgba(31,27,23,.10);border-radius:18px;
	box-shadow:0 2px 20px rgba(31,27,23,.04);padding:32px;
	max-width:680px;margin:0 auto 28px;box-sizing:border-box;
	font-family:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,sans-serif;
}
body.woocommerce-checkout form.woocommerce-form-login.login > p:first-of-type{
	font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:400;color:#1A1816;
	line-height:1.4;margin:0 0 20px;
}
body.woocommerce-checkout form.woocommerce-form-login.login .form-row{margin:0 0 16px;padding:0;}
body.woocommerce-checkout form.woocommerce-form-login.login label:not(.woocommerce-form-login__rememberme){
	display:block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:1.54px;
	color:#5F594F;margin:0 0 8px;
}
body.woocommerce-checkout form.woocommerce-form-login.login input[type=text],
body.woocommerce-checkout form.woocommerce-form-login.login input[type=email],
body.woocommerce-checkout form.woocommerce-form-login.login input[type=password]{
	width:100%;box-sizing:border-box;background:#FDFCFA;color:#1A1816;
	border:1px solid rgba(31,27,23,.18);border-radius:9999px;padding:14px 18px;
	font-size:14px;font-family:inherit;transition:border-color .18s ease,box-shadow .18s ease;
}
body.woocommerce-checkout form.woocommerce-form-login.login input:focus{outline:none;border-color:#B8962E;box-shadow:0 0 0 3px rgba(184,150,46,.22);}
body.woocommerce-checkout form.woocommerce-form-login.login input:focus-visible{outline:2px solid #8A6D1F;outline-offset:2px;}

body.woocommerce-checkout form.woocommerce-form-login.login button[name=login]{
	background:#B8962E;color:#1A1816;border:0;border-radius:9999px;
	padding:16px 32px;font-family:inherit;font-size:14px;font-weight:500;
	letter-spacing:1.96px;text-transform:uppercase;cursor:pointer;
	transition:background .18s ease,transform .18s ease;
}
body.woocommerce-checkout form.woocommerce-form-login.login button[name=login]:hover{background:#A6851F;}
body.woocommerce-checkout form.woocommerce-form-login.login button[name=login]:active{transform:translateY(1px);}
body.woocommerce-checkout form.woocommerce-form-login.login button[name=login]:focus-visible{outline:2px solid #1A1816;outline-offset:3px;}

body.woocommerce-checkout form.woocommerce-form-login.login .woocommerce-form-login__rememberme{
	display:flex;align-items:center;gap:8px;margin:4px 0 20px;
	font-size:13px;font-weight:400;letter-spacing:normal;text-transform:none;
	color:#4A4540;cursor:pointer;
}
body.woocommerce-checkout form.woocommerce-form-login.login .woocommerce-form-login__rememberme input{
	width:auto;margin:0;flex:0 0 auto;accent-color:#B8962E;
}
body.woocommerce-checkout form.woocommerce-form-login.login .woocommerce-form-login__submit{display:block;margin:0;}
body.woocommerce-checkout form.woocommerce-form-login.login .lost_password{margin:16px 0 0;font-size:13px;}
body.woocommerce-checkout form.woocommerce-form-login.login .lost_password a{
	color:#5F594F;text-decoration:underline;text-underline-offset:2px;
}
body.woocommerce-checkout form.woocommerce-form-login.login .lost_password a:hover{color:#8A6D1F;}

@media (max-width:700px){
	.woocommerce-form-login-toggle{padding:0 16px;}
	form.woocommerce-form-login.login{margin-left:16px;margin-right:16px;}
}
@media (max-width:600px){
	form.woocommerce-form-login.login{padding:24px;border-radius:14px;}
	form.woocommerce-form-login.login button[name=login]{width:100%;}
}
@media (prefers-reduced-motion:reduce){
	form.woocommerce-form-login.login input,
	form.woocommerce-form-login.login button[name=login]{transition:none;}
}

/* ===== premium polish ===== */

/* ===== BOTTOM-RIGHT DECLUTTER: My Rewards -> bottom-LEFT, Tidio stays right ===== */
/* The actual pill is .wll-launcher-button-container (position:fixed itself) */
#wll-site-launcher .wll-launcher-button-container,
.wll-launcher-button-container,
#wll-site-launcher .wll-container {
    left: 24px !important;
    right: auto !important;
    bottom: 24px !important;
    z-index: 997 !important;
}
.wll-launcher-button-container {
    background: var(--au-ink, #1F1B17) !important;
    color: var(--au-bone, #FBF8F2) !important;
    border: 1px solid var(--au-gold-line, rgba(184,150,46,.4)) !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 30px rgba(31,27,23,.22) !important;
    font-family: 'Inter Tight', sans-serif !important;
    letter-spacing: .04em !important;
}
/* Float POSITIONING removed 2026-09-08. It lived here AND in three other places,
 * all with !important, and whichever loaded last won by accident — that is how a
 * 217px pill ended up sitting on the product grid. Position is now owned by exactly
 * one block: "FLOATING UI LAYER" in theme assets/css/au-v7-nav-upgrades.css.
 * Do not reintroduce left/right/bottom for .aureum-pr-float or
 * .wll-launcher-button-container here. Site Patrol's no_new_css_conflicts check
 * will flag it if you do. Cosmetic styling of the pill above is still fine. */

/* ===== EXIT-INTENT POPUP: above all overlays, readable, premium ===== */
#aureum-exit-popup { z-index: 1000001 !important; background: rgba(26,24,22,.72) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
#aureum-exit-popup > div {
    background: var(--au-bone, #FBF8F2) !important;
    border: 1px solid var(--au-gold-line, rgba(184,150,46,.35)) !important;
    box-shadow: 0 40px 110px rgba(0,0,0,.45) !important;
    opacity: 1 !important;
}
#aureum-exit-popup h3 { color: var(--au-ink, #1F1B17) !important; }
#aureum-exit-popup p { color: var(--au-ink-soft, #4A4540) !important; }
#aureum-exit-popup [style*="dashed"] { background: #fff !important; }

/* ===== CHECKOUT / CART NOTICE UNIFY: one slim atelier language ===== */
.woocommerce-cart .wlr_points_rewards_earn_points,
.woocommerce-checkout .wlr_points_rewards_earn_points {
    border: 1px solid var(--au-gold-line, rgba(184,150,46,.28)) !important;
    background: var(--au-gold-soft, rgba(184,150,46,.05)) !important;
    color: var(--au-ink, #1F1B17) !important;
    border-radius: 8px !important;
    font-family: 'Inter Tight', sans-serif !important;
    font-size: 13px !important; font-weight: 500 !important;
    padding: 12px 18px !important; margin: 12px 0 !important;
}
.woocommerce-cart .wlr_points_rewards_earn_points i,
.woocommerce-checkout .wlr_points_rewards_earn_points i {
    color: var(--au-gold, #B8962E) !important; font-size: 20px !important; margin: 0 14px 0 0 !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-cart .woocommerce-info {
    background: var(--au-cream, #F4EFE7) !important;
    border: 1px solid var(--au-hairline, rgba(31,27,23,.1)) !important;
    border-left: 3px solid var(--au-gold, #B8962E) !important;
    color: var(--au-ink-soft, #4A4540) !important;
    border-radius: 8px !important;
    font-family: 'Inter Tight', sans-serif !important;
    font-size: 13px !important;
    padding: 12px 18px !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-cart .woocommerce-info a { color: var(--au-gold, #B8962E) !important; }
/* PEPTIDE ENCYCLOPEDIA HERO correction moved 2026-09-08 into the component that
 * owns it: aureum-peptide-encyclopedia.php. One selector, one owner. */
/* PEPTIDE-FINDER HERO correction moved 2026-09-08 into the component that owns it:
 * aureum-peptide-quiz-fix.php. One selector, one owner. */

/* Trim the oversized cart/checkout hero so content sits higher */
body.woocommerce-cart section[style*="padding:96px 24px 64px"],
body.woocommerce-checkout section[style*="padding:96px 24px 64px"] { padding: 56px 24px 40px !important; }
/* Secure-strip: slimmer, less shouty */
.au-checkout-secure { padding: 12px 20px !important; gap: 20px !important; }

/* ===== CHECKOUT DE-CLUTTER: 3 trust displays + a cart-duplicate loyalty bar -> keep ONE trust block near the CTA ===== */
/* Drop the top secure strip (a second trust block sits right by Place Order) */
body.woocommerce-checkout .au-checkout-secure { display: none !important; }
/* Loyalty "earn points" bar already shows on the cart page; hide the checkout duplicate */
body.woocommerce-checkout .wlr_points_rewards_earn_points { display: none !important; }
/* Trailing 2x2 SSL/RUO/COA grid in the summary duplicates the encrypted-payment trust box above it */
body.woocommerce-checkout aside div[style*="grid-template-columns:repeat(2,1fr)"][style*="border-top:1px solid var(--au-hairline)"] { display: none !important; }

/* ===== a11y fixes ===== */

/* === Focus indicator (visible, AA-compliant) === */
*:focus-visible {
    outline: 2px solid var(--au-bronze, #8F6E1F);
    outline-offset: 3px;
    border-radius: 4px;
}

/* === Touch targets >= 44x44 minimum === */
button, a.button, .single_add_to_cart_button,
.quantity button, .quantity .plus, .quantity .minus,
.aureum-icon-btn, .aureum-search-btn,
nav a, .menu a,
.aureum-mobile-nav a {
    min-height: 44px;
    min-width: 44px;
}

/* PDP qty stepper plus/minus visibility */
.quantity { display: inline-flex; align-items: stretch; }
.quantity .qty { min-width: 56px; text-align: center; }

/* === Body text contrast: bronze instead of gold === */
body, p, li, dd, dt, td, th, label, input, textarea {
    color: var(--au-ink, #1A1816);
}

/* gold reserved for headings >= 18pt only */
.text-au-gold, .au-gold-text {
    color: var(--au-gold, #C9A227);
    font-size: 1.125rem !important;
    font-weight: 500;
}

/* === Body links: distinguishable beyond color === */
.entry-content a:not(.button):not(.wp-block-button__link),
.au-content a:not(.button) {
    color: var(--au-ink, #1A1816);
    border-bottom: 1px solid var(--au-bronze, #8F6E1F);
    text-decoration: none;
    padding-bottom: 1px;
}
.entry-content a:hover:not(.button) {
    border-bottom-color: var(--au-ink, #1A1816);
}

/* === Skip-to-content link === */
.skip-to-content {
    position: absolute;
    top: -100px;
    left: 0;
    background: var(--au-ink, #1A1816);
    color: var(--au-bone, #F5F3EE);
    padding: 0.75rem 1.5rem;
    z-index: 9999;
    text-decoration: none;
    font-size: 0.9rem;
    border-radius: 0 0 8px 0;
}
.skip-to-content:focus {
    top: 0;
}

/* ===== a11y contrast (was priority 20, after tokens) ===== */

:root{
	/* tertiary text gray #8A847A (2.9:1) -> accessible on light */
	--au-ink-muted:#5F594F !important;
	/* accessible gold for TEXT only (display gold --au-gold stays #B8962E for decoration) */
	--au-gold-text:#7C5E12 !important;
}
/* gold text on light backgrounds -> accessible deep-gold. High specificity (body + chained
   classes) to beat the theme's own !important gold rules regardless of stylesheet load order. */
body .au-eyebrow,
body .au-card .au-card__purity, body .au-card__purity,
body .au-card .au-card__category, body .au-card__category,
body [class*="au-card__cat"],
body .au-tile__title em, body .au-tile em,
body .au-atelier__legal, body .au-atelier__title em,
body .au-footer h3 em, body .au-footer__brand h3 em,
body .wlr-product-message,
body [id^="au-panel"] h2, body .au-tab-panel h2, body .au-tabs h2,
body h2:not(.au-gate__title) em, body h3 em[style*="au-gold"],
body [style*="color:var(--au-gold)"]:not(.au-btn):not([class*="btn"]){
	color:var(--au-gold-text) !important;
}
/* Checkout: gold-bright/gold links, gray small text, and orange notice strongs on light. */
body.woocommerce-checkout a.showcoupon,
body.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon,
body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-checkout .woocommerce-message a,
body.woocommerce-checkout .aureum-checkout-notice a,
body.woocommerce-checkout a[href*="shipping-restrictions"],
body.woocommerce-checkout a[rel~="nofollow"]:not(.au-btn){
	color:var(--au-gold-text) !important;
	text-decoration:underline !important;
}
body.woocommerce-checkout small,
body.woocommerce-checkout .woocommerce small{
	color:#5F594F !important;
}
body.woocommerce-checkout .woocommerce-info strong,
body.woocommerce-checkout .woocommerce-message strong,
body.woocommerce-checkout .woocommerce-error strong,
body.woocommerce-checkout [style*="#fff8e1" i] strong,
body.woocommerce-checkout [style*="#FFF8E1" i] strong{
	color:#A5330A !important;
}
/* Gold CTA buttons: dark ink on gold instead of white text -> ~7:1 (keeps the gold bg). */
.au-btn--gold, .au-btn--gold *,
#place_order, #place_order *,
body.woocommerce-checkout #place_order{
	color:#1A1816 !important;
}
.au-btn--gold svg, #place_order svg{ stroke:#1A1816 !important; fill:none !important; }

/* dark bands (bg #1A1816): low-opacity legal/nav text -> readable */
#au-main > div[style*="#1A1816"],
#au-main > div[style*="#1A1816"] a,
#au-main > div[style*="#1A1816"] span{
	color:#D8CBA6 !important;
}

/* One floater (12 Sep 2026): the WPLoyalty launcher lives on the account page only; Tidio keeps the corner everywhere else. */
body:not(.woocommerce-account) #wll-site-launcher, body:not(.woocommerce-account) .wll-launcher-button-container { display: none !important; }

/* =====================================================================================
   Desktop visual pass — 19 Sep 2026. Every rule here answers something seen in a real
   1440px screenshot and confirmed against the DOM, not guessed from code.
   ===================================================================================== */
:root{ --au-nav-h:69px; }

/* ---- Shop grid: ragged card bottoms.
   Cards with three size chips wrapped to a second row, so their ADD button sat ~46px lower
   than their neighbours'. The row read as misaligned. Stretch every card to the row height
   and pin the buy controls to the bottom edge, so ADD lines up across the row regardless
   of how many sizes a compound comes in. */
.au-grid-4{ align-items:stretch; }
.au-grid-4 > .au-card{ display:flex; flex-direction:column; height:100%; }
.au-grid-4 > .au-card > .au-card__body{ display:flex; flex-direction:column; flex:1 1 auto; }
.au-grid-4 > .au-card > .au-card__body > :last-child{ margin-top:auto; }

/* ---- Back-to-top sat at bottom-left, 44x44, directly over the quantity stepper of the
   first card in every row (measured: button 24,720 over .au-qty--tile). Bottom-right,
   clear of the Tidio launcher and of any card control. */
/* au-v7-nav-upgrades.css puts this in the left float rail with the same specificity, loaded later, so it
   won on source order. Adding the body ancestor settles it. Bottom-right is where a back-to-top is
   expected, and the left gutter on the shop grid is 24px from the first column of quantity steppers. */
body #aureum-back-to-top{ left:auto !important; right:24px !important; bottom:100px !important; }
/* The chat launcher shares that left rail and overlaps the same controls on the catalogue. Right side there. */
body.post-type-archive-product #tidio-chat, body.tax-product_cat #tidio-chat,
body.post-type-archive-product #tidio-chat-iframe, body.tax-product_cat #tidio-chat-iframe{ left:auto !important; right:24px !important; }

/* ---- Category chip bar: sticky at top:0 with a translucent background, so it slid under the
   sticky nav and hovered over the bottoms of the card row above it. Sit it under the nav,
   on the paper colour, with a hairline so it reads as a shelf rather than a ghost. */
section:has(> .au-catfilter){
  top:var(--au-nav-h) !important;
  background:var(--au-paper) !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  box-shadow:0 1px 0 var(--au-hairline), 0 10px 24px -18px rgba(26,24,22,.22);
}

/* Checkout method layout: direct children only, so hosted card fields and
   their labels retain their own layout. Brands get a dedicated wrapping row. */
body.woocommerce-checkout #payment ul.payment_methods { border:0 !important; display:grid; gap:12px; padding:4px 0 10px !important; background:transparent !important; overflow:visible !important; }
body.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method { display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; align-items:start; padding:16px !important; margin:0 !important; border:1px solid var(--au-hairline) !important; border-radius:10px; background:var(--au-paper) !important; transition:border-color .18s,box-shadow .18s; min-width:0; }
body.woocommerce-checkout #payment ul.payment_methods > li:has(> input:checked) { border-color:var(--au-gold) !important; box-shadow:0 0 0 2px rgba(184,150,46,.1),0 6px 16px -12px rgba(26,24,22,.22); }
body.woocommerce-checkout #payment ul.payment_methods > li > label { display:flex !important; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:7px 8px; padding:0 !important; margin:0 !important; min-width:0; font-family:var(--au-body); font-weight:600; font-size:14px; letter-spacing:0; line-height:1.45; text-transform:none; grid-column:2; cursor:pointer; }
body.woocommerce-checkout #payment ul.payment_methods > li > label:hover { background:transparent; }
body.woocommerce-checkout #payment ul.payment_methods > li > input[type=radio] { position:static !important; float:none !important; grid-column:1; grid-row:1; align-self:start; appearance:none; -webkit-appearance:none; width:20px !important; height:20px !important; margin:1px 0 0 !important; border:1.5px solid var(--au-hairline-strong); border-radius:50%; background:#fff; display:grid; place-items:center; cursor:pointer; }
body.woocommerce-checkout #payment ul.payment_methods > li > input[type=radio]::after { content:""; width:10px; height:10px; border-radius:50%; background:var(--au-gold); transform:scale(0); transition:transform .18s var(--au-ease); }
body.woocommerce-checkout #payment ul.payment_methods > li > input[type=radio]:checked { border-color:var(--au-gold); }
body.woocommerce-checkout #payment ul.payment_methods > li > input[type=radio]:checked::after { transform:scale(1); }
body.woocommerce-checkout #payment ul.payment_methods > li > input[type=radio]:focus-visible { outline:2px solid var(--au-gold-text,#6E5417); outline-offset:3px; }
body.woocommerce-checkout #payment ul.payment_methods > li > label .au-rail__name { flex:0 0 100%; display:flex; align-items:center; gap:8px; color:var(--au-ink); min-width:0; }
.au-rail__name svg { width:18px; height:18px; flex:none; color:var(--au-gold-text,#6E5417); }
body.woocommerce-checkout #payment ul.payment_methods > li > label .au-rail__sub { flex:0 0 100%; font-weight:400; font-size:12.5px; line-height:1.5; color:var(--au-ink-muted); }
body.woocommerce-checkout #payment ul.payment_methods > li > label > img { display:block !important; float:none !important; flex:0 0 34px; width:34px !important; height:22px !important; max-height:none !important; margin:4px 0 0 !important; transform:none !important; object-fit:contain; }
.au-rail__badge { font-family:var(--au-mono); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#3F5D3A; background:#EEF4EC; padding:5px 9px; border-radius:3px; }
body.woocommerce-checkout #payment ul.payment_methods > li > .payment_box { grid-column:1 / -1; width:100% !important; min-width:0; box-sizing:border-box; margin:0 !important; padding:16px !important; border:1px solid var(--au-hairline); border-radius:8px !important; }
body.woocommerce-checkout #payment ul.payment_methods > li > .payment_box::before { display:none; }
body.woocommerce-checkout #payment .payment_box p { overflow-wrap:anywhere; }
body.woocommerce-checkout #payment .payment_box input, body.woocommerce-checkout #payment .payment_box iframe { max-width:100%; box-sizing:border-box; }
@media (prefers-reduced-motion:reduce) { body.woocommerce-checkout #payment ul.payment_methods > li, body.woocommerce-checkout #payment ul.payment_methods > li > input[type=radio]::after { transition:none; } }

/* The "ship to a different address" tick was a bare 13px native checkbox on a line of its own.
   Match the other checkboxes on the page. */
body.woocommerce-checkout #ship-to-different-address label{ display:flex; align-items:center; gap:10px; cursor:pointer; }
body.woocommerce-checkout #ship-to-different-address input[type=checkbox]{ width:18px; height:18px; accent-color:var(--au-gold); margin:0; }
/* Order page: the invoice download reads as a secondary action beside the order, not a second CTA. */
.au-invoice-link{ margin:18px 0 0; }
.au-btn.au-btn--ghost{ display:inline-block; background:transparent; color:var(--au-ink); border:1px solid var(--au-hairline); border-radius:3px; padding:12px 18px; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; text-decoration:none; transition:border-color .18s, background .18s; }
.au-btn.au-btn--ghost:hover{ border-color:var(--au-ink); background:var(--au-bone); }
/* The SMS consent line is a sentence, not a field label; the form's uppercase label style made it shout. */
body.woocommerce-checkout .au-sms-consent label{ text-transform:none !important; letter-spacing:0 !important; font-size:13.5px !important; line-height:1.5; display:flex; align-items:flex-start; gap:10px; }
body.woocommerce-checkout .au-sms-consent input[type=checkbox]{ width:18px; height:18px; accent-color:var(--au-gold); margin:2px 0 0; flex:none; }
