:root { --brand: #bf2633; --brand-dark: #981b29; --brand-soft: #fcf1f2; --gold: #bf2633; --gold-dark: #981b29; --paper: #f6f5f3; --ink: #29262b; --muted: #918b91; }
body { background: #efeeec; color: var(--ink); }
.app { background: #f6f5f3; box-shadow: 0 0 60px #2d202407; }
.topbar { background: #fffefcf5; border-color: #ece8e5; }
.wordmark .header-brand-name { color: #2d252b; }
.header-brand-name em { color: var(--brand); }
.wordmark .header-brand-caption { color: #9e9297; letter-spacing: 1.3px; }
.wordmark .header-logo { border-color: #3a2b23; box-shadow: 0 3px 10px #39212b14; }
.ribbon { background: #a82030; color: #fff8f6; font-size: 10px; font-weight: 600; letter-spacing: .45px; padding: 9px 12px; }
.reference-cover { background-color: #b12230; background-image: linear-gradient(115deg,#730f284d,#a21d2b1a),url('/assets/reference-banner.png'); background-blend-mode: normal,multiply; background-size: auto,340px; }
.reference-store { background: #fffefc; border-color: #fff; box-shadow: 0 10px 30px #4d29300a; }
.verified { background: var(--brand); }
.super-badge { color: #aa7335; background: #fcf5ea; border-color: #efdfc2; }
.hours-chip { color: var(--brand); background: #f9eff0; }
.store-features > div { background: #f7f6f4; border-color: #f0edea; }
.store-features strong { color: #3a3239; }
.store-features span { color: #9a9196; }
.store-features svg.icon { border-color: #eee9e5; box-shadow: 0 2px 6px #50312b06; }
.store-features > div:nth-child(2) svg { color: var(--brand); }
.store-features > div:nth-child(3) svg { color: #59856a; }
.store-tags span { background: #f2f0ee; color: #9a8e94; }
.delivery-note { background: #f2f7f1; border-color: #dbe7d8; color: #50795b; box-shadow: none; font-weight: 650; }
.delivery-note svg { color: #5b8566; }
.search { border-color: #e9e5e1; background: #fffefc; box-shadow: 0 2px 4px #3a272203; }
.search:focus-within { border-color: #ce8a94; box-shadow: 0 0 0 3px #bf263307; }
.search input { color: #51424d; }
.search input::placeholder { color: #aaa0a5; }
.categories { background: #f6f5f3f5; border-color: #eae6e2; }
.categories button { border-color: #e8e2df; background: #fffefc; color: #96868f; }
.categories button.active { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 3px 9px #9a213519; }
.section-heading h2,.catalog-directory h2 { color: #3a2e37; letter-spacing: -.65px; }
.category-caption,.catalog-directory > p { color: #a3969e; }
.section-heading .option-count { background: #ede8e5; color: #a18c96; }
.product-card { background: #fffefc; border-color: #eae4e0; box-shadow: 0 3px 12px #3b272302; }
.product-card:hover { border-color: #d9b6bc; box-shadow: 0 5px 18px #6b28350a; }
.product-card h3 { color: #3b3039; font-weight: 750; }
.product-card .description { color: #80757c; }
.product-price strong { color: #427659; font-weight: 800; }
.product-price del { color: #b3a5ae; }
.product-benefit { color: #72927c; }
.product-media { background: #f8f6f2; }
.discount-badge { background: #fffaf8; border-color: #ecd7d8; color: var(--brand); box-shadow: none; font-weight: 750; }
.add-circle { background: var(--brand); border-color: #fffefc; box-shadow: 0 2px 7px #70202b1c; }
.directory-grid button { border-color: #e9e3df; background: #fffefc; }
.directory-grid button:hover { border-color: #d6aeb4; background: #fdf7f7; }
.directory-grid button > svg { background: #fbf0f1; color: var(--brand); }
.directory-grid span { color: #5c4a56; }
.directory-grid small { color: #ac9ca5; }
.bottom-nav { background: #fffefcf5; border-color: #eae5e1; box-shadow: 0 -3px 18px #4a282b05; }
.bottom-nav button { color: #b0a1aa; }
.bottom-nav button.active { color: var(--brand); }
.bottom-nav button.active:before { background: var(--brand); }
.nav-count { background: var(--brand); }
.cart-float { background: linear-gradient(110deg,#a82030,#c12c38); box-shadow: 0 7px 20px #83233524; }
.btn,.btn.dark { background: var(--brand); color: #fff; box-shadow: 0 3px 10px #8d20331a; }
.btn.dark:hover { background: var(--brand-dark); box-shadow: 0 5px 14px #8d203326; }
.btn.secondary { color: #9a8894; background: #fffefc; border-color: #e8e1dd; box-shadow: none; }
.quantity button,.extra-counter button { color: var(--brand); background: #fcf3f3; border-color: #eddadd; }
.summary,.cart-line,.timeline,.order-card { background: #fffefc; border-color: #eae3e0; }
.summary-heading,.page-head h1 { color: #493443; }
.summary .total span:last-child,.order-card b { color: #48795d; }
.form fieldset { background: #fffefc; border-color: #e7dfdc; }
.form legend { color: #6b505f; }
.form label { color: #816b78; }
.form input,.form textarea { background: #faf8f6; border-color: #e9e1df; color: #57414f; }
.form .radio { background: #fffefc; border-color: #e8e0dd; color: #836375; }
.form .radio:has(input:checked) { background: #fcf3f3; border-color: #d89ea7; color: var(--brand); }
.radio input,.extra-option input { accent-color: var(--brand); }
input:focus,textarea:focus,select:focus { outline: 2px solid #bf263352; outline-offset: 1px; }
.payment-card > span { color: #b29aa7; }
.payment-dialog-icon { color: var(--brand); border-color: #ead2d7; background: #faf0f1; }
.modal-body,.modal-actions { background: #fffefc; }
.modal-category,.extra-option:has(input:checked) label { color: var(--brand); }
.extra-group-subtitle b.required-label { background: #faf0f1; color: var(--brand); }
.location-dialog { background: #faf8f7; }
.location-dialog svg { stroke: var(--brand); }
.location-pin svg { fill: var(--brand); stroke: #fff; }
.location-red,.city-pill span { color: var(--brand); }
.location-buttons button:first-child { background: var(--brand); border-color: var(--brand); }
.location-check { background: #f3e1e4; border-color: #e6c4cb; }
.location-delivery,.city-pill { background: #eee9e7; }
.footer { background: #fffefc; border-color: #e9e3df; }
.footer strong { color: #735464; }
@media(prefers-reduced-motion:no-preference) { .product-card,.directory-grid button { transition: border-color .18s,box-shadow .18s; } }
