:root { color-scheme: light; font-family: Inter, system-ui, sans-serif; color: #2d2529; background: #fbf7f4; }
* { box-sizing: border-box; }
body { max-width: 100%; margin: 0; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
.site-header { position: sticky; z-index: 100; top: 0; display: flex; min-height: 78px; justify-content: space-between; align-items: center; gap: 2rem; padding: .75rem max(calc((100vw - 1280px) / 2), 1.5rem); border-bottom: 1px solid rgba(139, 70, 96, .12); background: rgba(255, 253, 252, .94); box-shadow: 0 8px 30px rgba(72, 43, 54, .035); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: .7rem; color: #6f354b; }
.brand-mark { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50% 50% 50% .6rem; background: linear-gradient(145deg, #7c3d55, #ad627d); color: #fff; font-family: Georgia, serif; font-size: .9rem; font-weight: 700; box-shadow: 0 7px 18px rgba(120, 57, 81, .18); }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font-family: Georgia, serif; font-size: 1.35rem; letter-spacing: -.025em; }
.brand-copy small { margin-top: .28rem; color: #9b7b87; font-size: .58rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
nav { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.site-nav { justify-content: flex-end; gap: .18rem; flex-wrap: nowrap; }
.site-nav-link { position: relative; padding: .62rem .75rem; border-radius: .7rem; color: #65545b; font-size: .83rem; font-weight: 700; transition: color .15s ease, background .15s ease; white-space: nowrap; }
.site-nav-link:hover { background: #faf0f3; color: #843f5a; }
.site-nav-link.active { color: #843f5a; }
.site-nav-link.active::after { content: ""; position: absolute; right: .75rem; bottom: .25rem; left: .75rem; height: 2px; border-radius: 2px; background: #9a4b68; }
.header-auth { display: inline-flex; align-items: center; gap: .35rem; margin-left: .35rem; padding-left: .7rem; border-left: 1px solid #eadde2; }
.header-action { display: inline-flex; align-items: center; min-height: 36px; padding: .55rem .8rem; border-radius: .65rem; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.header-action.subtle { background: transparent; color: #765e67; }
.header-action.subtle:hover { background: #f8eef1; color: #843f5a; }
.header-action.primary { background: #8b4660; color: #fff; box-shadow: 0 5px 14px rgba(139, 70, 96, .16); }
.mobile-nav-toggle { display: none; }
.container { width: min(1100px, 90vw); margin: 3rem auto; }
.hero { padding: 4rem; border-radius: 2rem; background: linear-gradient(135deg, #f0dbe2, #f8eee7); margin-bottom: 3rem; }
.hero h1 { max-width: 650px; font-size: clamp(2.2rem, 6vw, 4.5rem); line-height: 1; margin: .4rem 0 1rem; }
.eyebrow { color: #8b4660; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.card, .form-card { display: flex; flex-direction: column; gap: .8rem; padding: 1.4rem; border-radius: 1rem; background: #fff; border: 1px solid #eadfe3; }
.button, button { border: 0; border-radius: .7rem; padding: .75rem 1rem; background: #8b4660; color: #fff; cursor: pointer; display: inline-block; width: fit-content; }
.form-card { max-width: 440px; }
.form-card label { display: flex; flex-direction: column; gap: .35rem; }
input { padding: .7rem; border: 1px solid #cdbfc4; border-radius: .5rem; }
select, textarea { padding: .7rem; border: 1px solid #cdbfc4; border-radius: .5rem; background: #fff; }
textarea { min-height: 7rem; resize: vertical; }
.inline { display: inline; }
.language-switcher { display: inline-flex; flex: 0 0 auto; gap: .12rem; margin-left: .5rem; padding: .2rem; border: 1px solid #eadfe3; border-radius: 2rem; background: #fff; }
.language-option { width: 2rem; height: 2rem; padding: 0; border-radius: 50%; background: transparent; color: #78666d; font-size: .64rem; font-weight: 850; }
.language-option.active { background: #8b4660; color: #fff; box-shadow: 0 3px 9px rgba(139, 70, 96, .18); }
.flash { padding: 1rem; margin-bottom: 1rem; border-radius: .6rem; background: #f0dbe2; }
.error { color: #a22; }
.balance { font-size: 2rem; font-weight: 800; }
.admin-container { width: min(1380px, calc(100vw - 2rem)); margin-top: 1.25rem; }
.admin-nav { position: sticky; z-index: 60; top: 90px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: .65rem; margin-bottom: 2rem; border: 1px solid #dfcdd4; border-radius: 1.15rem; background: rgba(255,253,252,.95); box-shadow: 0 12px 34px rgba(73,43,54,.07); backdrop-filter: blur(16px); }
.admin-nav-brand { display: flex; align-items: center; gap: .65rem; padding: 0 .55rem 0 .2rem; }
.admin-nav-brand > span { display: grid; width: 2.45rem; height: 2.45rem; place-items: center; border-radius: .7rem; background: linear-gradient(145deg, #74394f, #a85875); color: #fff; font-family: Georgia,serif; font-size: .76rem; box-shadow: 0 6px 15px rgba(116,57,79,.2); }
.admin-nav-brand div { display: flex; flex-direction: column; gap: .1rem; white-space: nowrap; }
.admin-nav-brand strong { color: #543743; font-size: .78rem; }
.admin-nav-brand small { color: #9a848d; font-size: .56rem; letter-spacing: .05em; text-transform: uppercase; }
.admin-nav-links { display: flex; min-width: 0; justify-content: center; gap: .22rem; overflow-x: auto; scrollbar-width: none; }
.admin-nav-links::-webkit-scrollbar { display: none; }
.admin-nav a { position: relative; display: inline-flex; min-height: 42px; flex: 0 0 auto; align-items: center; gap: .48rem; padding: .55rem .7rem; border-radius: .72rem; color: #725f67; font-size: .76rem; font-weight: 720; transition: color .15s ease, background .15s ease, box-shadow .15s ease; }
.admin-nav a i { display: grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: .42rem; background: #f5ecef; color: #8b4660; font-style: normal; font-size: .78rem; }
.admin-nav a:hover { background: #f8eef1; color: #6f3d50; }
.admin-nav a.active { background: #8b4660; color: #fff; box-shadow: 0 5px 14px rgba(139,70,96,.2); }
.admin-nav a.active i { background: rgba(255,255,255,.16); color: #fff; }
.admin-nav .storefront-nav-link { justify-content: center; color: #8b4660; border: 1px solid #eadde2; background: #fff; }
.admin-nav .storefront-nav-link b { font-size: 1rem; }
.page-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.page-heading h1 { margin: 0; }
.stats-grid strong { font-size: 2rem; }
.admin-dashboard-hero { position: relative; display: flex; min-height: 210px; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; padding: clamp(1.5rem, 4vw, 2.8rem); overflow: hidden; border-radius: 1.5rem; background: linear-gradient(125deg, #71384f, #934c68 58%, #c4869b); color: #fff; box-shadow: 0 18px 44px rgba(99,48,68,.16); }
.admin-dashboard-hero::after { content: ""; position: absolute; width: 300px; height: 300px; right: -70px; top: -170px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.02); }
.admin-dashboard-hero > div { position: relative; z-index: 1; }
.admin-dashboard-hero .store-eyebrow { color: #f3d8e2; }
.admin-dashboard-hero h1 { margin: .35rem 0 .6rem; font-family: Georgia,serif; font-size: clamp(2.1rem,4vw,3.4rem); font-weight: 500; }
.admin-dashboard-hero p:last-child { max-width: 650px; margin: 0; color: rgba(255,255,255,.76); line-height: 1.55; }
.admin-hero-actions { display: flex; flex: 0 0 auto; gap: .6rem; }
.admin-hero-actions .button { background: #fff; color: #71384f; }
.admin-hero-actions .button.secondary { border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.1); color: #fff; }
.admin-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; margin-bottom: 1rem; }
.admin-kpi-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .85rem; padding: 1rem; border: 1px solid #eadfe3; border-radius: 1rem; background: #fff; box-shadow: 0 8px 24px rgba(73,43,54,.04); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.admin-kpi-card:hover { transform: translateY(-2px); border-color: #d9bec8; box-shadow: 0 13px 28px rgba(73,43,54,.08); }
.admin-kpi-icon { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .75rem; background: #f2e6ea; color: #8b4660; font-weight: 900; }
.admin-kpi-card > div { display: grid; gap: .1rem; }
.admin-kpi-card small, .admin-kpi-card p { margin: 0; color: #88767d; font-size: .65rem; }
.admin-kpi-card strong { color: #4f3440; font-family: Georgia,serif; font-size: 1.65rem; font-weight: 500; }
.admin-kpi-card > b { color: #ad8191; }
.admin-kpi-card.warning .admin-kpi-icon { background: #fff0d2; color: #95601c; }
.admin-kpi-card.accent .admin-kpi-icon { background: #e3f3ea; color: #28704b; }
.admin-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(320px,.55fr); gap: 1rem; margin-bottom: 1rem; }
.admin-dashboard-panel { padding: 1.25rem; border: 1px solid #eadfe3; border-radius: 1.1rem; background: #fff; box-shadow: 0 8px 26px rgba(73,43,54,.035); }
.admin-panel-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-panel-heading h2 { margin: 0; font-size: 1.18rem; }
.admin-panel-heading .store-eyebrow { margin-bottom: .3rem; }
.admin-panel-heading > a { color: #8b4660; font-size: .75rem; font-weight: 800; }
.admin-quick-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.admin-quick-grid > a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; padding: .85rem; border: 1px solid #eee4e7; border-radius: .8rem; transition: background .15s ease, border-color .15s ease; }
.admin-quick-grid > a:hover { border-color: #dcbfca; background: #fdf7f9; }
.admin-quick-grid i { display: grid; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: .6rem; background: #f2e6ea; color: #8b4660; font-style: normal; font-weight: 900; }
.admin-quick-grid div { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.admin-quick-grid strong { font-size: .8rem; }
.admin-quick-grid small { overflow: hidden; color: #8b7a81; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.admin-quick-grid > a > b { color: #a26a7f; }
.admin-attention-panel > a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .7rem; padding: .85rem 0; border-top: 1px solid #f0e7ea; }
.admin-attention-panel > a:first-of-type { border-top: 0; }
.admin-attention-panel > a div { display: flex; min-width: 0; flex-direction: column; gap: .16rem; }
.admin-attention-panel strong { font-size: .76rem; }
.admin-attention-panel small { color: #8b7a81; font-size: .62rem; line-height: 1.4; }
.admin-attention-panel > a > b { display: grid; min-width: 1.75rem; height: 1.75rem; padding: 0 .35rem; place-items: center; border-radius: 2rem; background: #f2e8eb; color: #743b51; font-size: .72rem; }
.attention-dot { width: .55rem; height: .55rem; border-radius: 50%; background: #9c8e93; box-shadow: 0 0 0 4px #f2ecee; }
.attention-dot.amber { background: #d69a3a; box-shadow: 0 0 0 4px #fff1d5; }
.attention-dot.red { background: #bd4b57; box-shadow: 0 0 0 4px #fae5e7; }
.attention-dot.violet { background: #765a9a; box-shadow: 0 0 0 4px #eee8f5; }
.admin-recent-list { display: grid; }
.admin-recent-list > a { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: .85rem; padding: .78rem 0; border-top: 1px solid #f0e7ea; }
.admin-recent-list > a:first-child { border-top: 0; }
.admin-document-icon { display: grid; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: .6rem; background: #f2e6ea; color: #8b4660; }
.admin-recent-list > a > div { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.admin-recent-list small { color: #8b7a81; font-size: .64rem; }
.admin-recent-list > a > b { color: #543743; font-size: .8rem; white-space: nowrap; }
.admin-dashboard-empty { display: flex; min-height: 160px; flex-direction: column; align-items: center; justify-content: center; gap: .7rem; color: #83727a; }
.admin-dashboard-empty > span { font-size: 1.5rem; }
.admin-dashboard-empty p { margin: 0; }
@media (max-width: 1120px) { .admin-nav { grid-template-columns: auto minmax(0,1fr); }.admin-nav .storefront-nav-link { display: none; } .admin-nav-links { justify-content: flex-start; } .admin-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 850px) { .admin-container { width: min(100% - 1rem,1380px); margin-top: .75rem; } .admin-nav { position: static; grid-template-columns: 1fr; gap: .55rem; }.admin-nav-brand { display: none; }.admin-nav-links { justify-content: flex-start; }.admin-dashboard-hero { min-height: 0; align-items: flex-start; flex-direction: column; }.admin-dashboard-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .admin-nav a { min-height: 38px; padding: .48rem .58rem; }.admin-nav a i { display: none; }.admin-kpi-grid { grid-template-columns: 1fr; }.admin-quick-grid { grid-template-columns: 1fr; }.admin-hero-actions { width: 100%; flex-direction: column; }.admin-hero-actions .button { width: 100%; text-align: center; }.admin-recent-list > a { grid-template-columns: auto minmax(0,1fr) auto; }.admin-recent-list .status { display: none; }.admin-recent-list > a > b { grid-column: 2 / -1; } }
.admin-actions, .row-actions { display: flex; gap: .7rem; align-items: center; flex-wrap: wrap; }
.admin-actions { margin-top: 1.5rem; }
.button.secondary { background: #eee4e7; color: #563b45; }
.admin-form { max-width: 760px; }
.admin-form select[multiple] { min-height: 8rem; }
.table-wrap { overflow-x: auto; border: 1px solid #eadfe3; border-radius: 1rem; background: #fff; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .9rem 1rem; text-align: left; border-bottom: 1px solid #f0e8eb; white-space: nowrap; }
th { color: #715c64; font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.row-actions form { display: inline; }
.link-danger { padding: 0; background: none; color: #a22; }
.positive { color: #197447; font-weight: 700; }
.negative { color: #a22; font-weight: 700; }
del { color: #8d7e83; }
.status { display: inline-block; padding: .35rem .65rem; border-radius: 2rem; background: #eee4e7; font-weight: 700; }
.status-confirmed { background: #fff0bf; }
.status-received { background: #d9f2e5; color: #17623e; }
.document-meta { display: flex; gap: 2rem; flex-wrap: wrap; }
fieldset { border: 1px solid #eadfe3; border-radius: .8rem; padding: 1rem; }
fieldset legend { font-weight: 700; }
.signature-row { display: flex; justify-content: space-between; margin-top: 4rem; gap: 2rem; }
@media print { .site-header, .admin-nav, .no-print { display: none !important; } body { background: #fff; } .container { width: 100%; margin: 0; } .print-document { color: #000; } }
@media (max-width: 820px) { .site-header { position: static; align-items: center; flex-wrap: wrap; gap: .65rem; padding: .7rem 1rem; } .brand-copy small { display: none; } .site-nav { width: 100%; justify-content: flex-start; padding: .25rem 0; overflow-x: auto; order: 2; scrollbar-width: none; } .site-nav::-webkit-scrollbar { display: none; } .site-nav-link { flex: 0 0 auto; } .header-auth { margin-left: auto; } .language-switcher { margin-left: auto; } }
@media (max-width: 650px) { .hero { padding: 2rem; } .site-header { min-height: auto; } .brand-mark { width: 2.4rem; height: 2.4rem; } .brand-copy strong { font-size: 1.15rem; } .header-auth { gap: .1rem; padding-left: .4rem; } .header-action { padding: .5rem .6rem; font-size: .72rem; } .language-switcher { margin-left: 0; } .language-option { width: 1.75rem; height: 1.75rem; } }

.product-form-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-start; margin-bottom: 1.5rem; }
.product-form-heading h1 { margin: .45rem 0; }
.product-form-heading p, .section-heading p { margin: 0; color: #75666c; }
.back-link { color: #8b4660; font-weight: 700; font-size: .9rem; }
.status-pill { padding: .45rem .75rem; background: #f0e4e8; color: #754257; border-radius: 2rem; font-weight: 700; white-space: nowrap; }
.product-editor { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.25rem; align-items: start; }
.product-editor-main { display: grid; gap: 1.25rem; }
.editor-section { background: #fff; border: 1px solid #eadfe3; border-radius: 1rem; padding: 1.4rem; }
.editor-section h2 { margin: 0; font-size: 1.15rem; }
.section-heading { display: flex; gap: .8rem; align-items: flex-start; margin-bottom: 1.25rem; }
.section-number { display: grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 auto; border-radius: 50%; background: #8b4660; color: #fff; font-weight: 800; }
.form-grid { display: grid; gap: 1rem; }
.two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.product-editor label, .locale-panel label { display: flex; flex-direction: column; gap: .4rem; font-weight: 650; }
.product-editor label small { color: #8a7a80; font-weight: 400; min-height: 2.4em; }
.toggle-row { flex-direction: row !important; align-items: flex-start; margin-top: 1rem; padding: .8rem; background: #fbf7f4; border-radius: .7rem; }
.toggle-row input { margin-top: .2rem; }
.toggle-row span { display: flex; flex-direction: column; }
.locale-tabs { display: flex; gap: .4rem; border-bottom: 1px solid #eadfe3; margin-bottom: 1rem; }
.locale-tab { color: #725e66; background: transparent; border-radius: .6rem .6rem 0 0; }
.locale-tab.active { color: #fff; background: #8b4660; }
.locale-panel { display: none; gap: 1rem; }
.locale-panel.active { display: grid; }
.input-suffix { display: flex; align-items: center; border: 1px solid #cdbfc4; border-radius: .5rem; overflow: hidden; background: #fff; }
.input-suffix input { border: 0; flex: 1; min-width: 0; }
.input-suffix span { padding: 0 .8rem; color: #705f65; font-weight: 800; }
.price-preview { display: flex; justify-content: space-between; margin: 1rem 0; padding: 1rem; border-radius: .7rem; background: #f7edef; }
.price-preview strong { color: #8b4660; font-size: 1.25rem; }

.store-product-rating { display: inline-flex; align-items: center; gap: .32rem; width: fit-content; color: #715560; text-decoration: none; font-size: .78rem; }
.store-product-rating > span, .product-rating-summary > span, .review-total > span { color: #d79b34; }
.store-product-rating strong { color: #35292d; font-size: .82rem; }
.store-product-rating small { color: #8c7b81; }
.product-rating-summary { display: flex; align-items: center; gap: .55rem; width: fit-content; margin: -.2rem 0 .65rem; color: #7d6670; text-decoration: none; }
.product-rating-summary > span { letter-spacing: .08em; }
.product-rating-summary strong { color: #3b2b31; }
.product-rating-summary small { font-size: .78rem; }
.product-reviews { margin-top: 3rem; padding: clamp(1.15rem, 3vw, 2.2rem); border: 1px solid #ead9df; border-radius: 1.6rem; background: rgba(255, 255, 255, .8); box-shadow: 0 18px 45px rgba(76, 47, 58, .07); scroll-margin-top: 6rem; }
.review-heading { margin-bottom: 1.35rem; }
.review-total { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .05rem .65rem; min-width: 9rem; padding: .65rem .9rem; border: 1px solid #ead9df; border-radius: 1rem; background: linear-gradient(145deg,#fff,#f8edf1); }
.review-total strong { grid-row: 1 / 3; color: #633b4a; font-family: Georgia,serif; font-size: 1.65rem; font-weight: 500; }
.review-total-stars { color: #d79b34; font-size: .78rem; letter-spacing: .05em; white-space: nowrap; }
.review-total small { color: #876f78; font-size: .62rem; }
.reviews-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem); gap: 1.35rem; align-items: start; }
.reviews-layout.review-list-only { grid-template-columns: 1fr; }
.reviews-layout:has(.review-form-card[open]) { grid-template-columns: 1fr; }
.reviews-layout:has(.review-form-card[open]) .review-form-card { position: static; }
.review-list { display: grid; gap: .8rem; }
.review-card { padding: 1.2rem; border: 1px solid #eee0e5; border-radius: 1.1rem; background: linear-gradient(145deg,#fff,#fffafb); box-shadow: 0 10px 28px rgba(76,47,58,.045); }
.review-card header { display: grid; grid-template-columns: auto 1fr auto; gap: .7rem; align-items: center; }
.review-card-actions { display: grid; justify-items: end; gap: .45rem; }
.review-card-actions button { padding: .35rem .6rem; border: 1px solid #dfc8d1; border-radius: 999px; background: #fff8fa; color: #8b4660; font-size: .58rem; font-weight: 850; }
.review-card-actions button:hover { border-color: #b8738d; background: #f5e5eb; }
.review-card header div { display: grid; }
.review-card time { color: #9a878e; font-size: .75rem; }
.review-card p { margin: .8rem 0 0 3.3rem; color: #604f55; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
.review-avatar { display: grid; place-items: center; width: 2.55rem; aspect-ratio: 1; border-radius: 50%; background: #f2e2e7; color: #8b4660; font-weight: 800; }
.review-stars { color: #d79b34; letter-spacing: .08em; white-space: nowrap; }
.review-form-card { position: sticky; top: 6rem; overflow: hidden; border: 1px solid #ead9df; border-radius: 1.2rem; background: linear-gradient(145deg, #fbf2f5, #fff); box-shadow: 0 12px 32px rgba(76,47,58,.06); }
.review-form-card > summary { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem; cursor: pointer; list-style: none; }
.review-form-card > summary::-webkit-details-marker { display: none; }
.review-form-card > summary span { display: grid; gap: .2rem; }
.review-form-card > summary small { color: #aa6d84; font-size: .62rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.review-form-card > summary strong { color: #4c343d; font-family: Georgia,serif; font-size: 1.35rem; font-weight: 500; }
.review-form-card > summary i { display: grid; width: 2.3rem; height: 2.3rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #8b4660; color: #fff; font-size: 1.15rem; font-style: normal; transition: transform .22s ease,background .22s ease; }
.review-form-card[open] > summary { border-bottom: 1px solid #eadde2; }
.review-form-card[open] > summary i { background: #683548; transform: rotate(45deg); }
.review-form-body { padding: 1.1rem 1.2rem 1.25rem; }
.review-form-card[open] .review-form-body { width: min(100%,780px); margin-inline: auto; }
.review-form-body > p { margin: 0; color: #7f6971; font-size: .75rem; line-height: 1.55; }
.review-access-card { display: block; padding: 1.3rem; }
.review-access-card > span { display: grid; width: 2.7rem; height: 2.7rem; margin-bottom: .9rem; place-items: center; border-radius: 50%; background: #f0dce4; color: #8b4660; font-weight: 900; }
.review-form-card h3 { margin: .2rem 0 .4rem; font-size: 1.35rem; }
.review-form-card > p:not(.store-eyebrow) { color: #7f6971; line-height: 1.5; }
.review-form-card form { display: grid; gap: .75rem; margin-top: 1rem; }
.review-form-card textarea { width: 100%; resize: vertical; min-height: 7.5rem; }
.review-form-card form > small { color: #917c84; }
.review-submit { width: 100%; min-height: 48px; margin-top: .15rem; border: 0; border-radius: .75rem; background: linear-gradient(135deg,#7c3d55,#9b526d); color: #fff; box-shadow: 0 10px 24px rgba(124,61,85,.2); font-weight: 850; }
.review-submit:hover { background: linear-gradient(135deg,#6d3349,#89445f); color: #fff; transform: translateY(-1px); }
.star-rating { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: .2rem; padding: 0; border: 0; }
.star-rating legend { margin-bottom: .35rem; font-weight: 700; }
.star-rating input { position: absolute; opacity: 0; pointer-events: none; }
.star-rating label { color: #d9ced2; cursor: pointer; font-size: 1.8rem; transition: color .18s ease, transform .18s ease; }
.star-rating label:hover, .star-rating label:hover ~ label, .star-rating input:checked ~ label { color: #d79b34; }
.star-rating label:hover { transform: translateY(-2px) scale(1.08); }
.review-more { display: block; padding: .85rem; border: 1px solid #e3ccd4; border-radius: .9rem; color: #8b4660; text-align: center; text-decoration: none; font-weight: 800; background: #fff; }
.review-empty { display: grid; min-height: 190px; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1rem; padding: 1.5rem; border: 1px dashed #d9bdc8; border-radius: 1.15rem; background: linear-gradient(135deg,#fff,#fcf4f7); color: #806c73; text-align: left; }
.review-empty > span { display: grid; width: 3.4rem; height: 3.4rem; place-items: center; border-radius: 50%; background: #f3e5ea; color: #d79b34; font-size: 1.75rem; }
.review-empty h3 { margin: 0 0 .3rem; color: #3b2b31; font-family: Georgia,serif; font-size: 1.35rem; font-weight: 500; }
.review-empty p { margin: 0; line-height: 1.55; }
.review-empty .button { white-space: nowrap; }
.review-heading-actions { display: flex; align-items: center; gap: .7rem; }.review-heading-actions form label { display: grid; gap: .25rem; color: #8b747d; font-size: .62rem; font-weight: 750; }.review-heading-actions select { min-height: 38px; padding: .35rem 2rem .35rem .65rem; }
.verified-purchase { margin-top: .15rem; color: #2f7b53; font-size: .62rem; font-weight: 800; }.review-photo { display: block; width: min(260px,calc(100% - 3.3rem)); margin: .8rem 0 0 3.3rem; overflow: hidden; border-radius: .85rem; }.review-photo img { display: block; width: 100%; max-height: 260px; object-fit: cover; }.review-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; margin: .8rem 0 0 3.3rem; }.review-metrics div { display: grid; gap: .15rem; padding: .55rem .65rem; border-radius: .65rem; background: #faf3f6; }.review-metrics dt { color: #8c7780; font-size: .58rem; }.review-metrics dd { margin: 0; color: #683d4d; font-size: .72rem; font-weight: 850; }.review-rating-details { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .45rem; align-items: end; }.review-rating-details > label,.review-photo-field { display: grid; gap: .3rem; color: #735a64; font-size: .65rem; font-weight: 750; }.review-rating-details > label { grid-template-rows: minmax(2.5em,auto) 48px; align-items: end; }.review-rating-details > label > label { display: block; align-self: end; }.review-rating-details select { width: 100%; min-width: 0; height: 48px; }.review-photo-field { padding: .8rem; border: 1px dashed #d9bec8; border-radius: .8rem; background: #fff; cursor: pointer; }.review-photo-title { font-weight: 800; }.review-photo-control { position: relative; display: flex; min-width: 0; min-height: 52px; align-items: center; gap: .75rem; padding: .55rem; overflow: hidden; border: 1px solid #dfcbd2; border-radius: .7rem; background: #fffdfd; }.review-photo-action { flex: 0 0 auto; padding: .55rem .75rem; border-radius: .55rem; background: #f0dce4; color: #713d51; font-weight: 850; }.review-photo-name { min-width: 0; overflow: hidden; color: #806a73; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }.review-photo-input { position: absolute; width: 1px !important; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }.review-photo-field small,.review-remove-photo { color: #927d85; font-size: .6rem; }
.product-guidance { display: grid; gap: 1rem; padding: clamp(1.1rem,2vw,1.6rem); border: 1px solid #e8d8de; border-radius: 1.3rem; background: linear-gradient(135deg,#fff,#fff8fa); }.product-guidance-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }.product-guidance-grid article { display: grid; grid-template-columns: auto 1fr; gap: .75rem; padding: 1rem; border: 1px solid #eee1e5; border-radius: .9rem; background: #fff; }.product-guidance-grid article > span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: #f1e2e7; color: #8b4660; font-weight: 900; }.product-guidance-grid h3 { margin: 0 0 .3rem; color: #533943; font-size: .86rem; }.product-guidance-grid p { margin: 0; color: #7f6c74; font-size: .72rem; line-height: 1.6; white-space: pre-line; }.product-guidance-grid article.warning { border-color: #efd8a4; background: #fffaf0; }.product-guidance-grid article.warning > span { background: #edc15d; color: #fff; }
.professional-content-editor { grid-column: 1 / -1; padding: .75rem; border: 1px solid #ead9df; border-radius: .8rem; background: #fffaf8; }.professional-content-editor summary { color: #754257; cursor: pointer; font-weight: 800; }.professional-content-editor[open] { display: grid; gap: .8rem; }.professional-content-editor textarea { min-height: 6rem; }.profile-order-actions { display: flex !important; grid-auto-flow: column; align-items: center; gap: .45rem !important; }.profile-order-actions form { margin: 0; }.profile-order-actions .button { min-height: 34px; padding: .5rem .65rem; font-size: .65rem; }
@media (max-width: 700px) { .review-heading-actions { align-items: stretch; flex-direction: column-reverse; }.review-rating-details,.review-metrics,.product-guidance-grid { grid-template-columns: 1fr; }.review-photo,.review-metrics { width: 100%; margin-left: 0; }.review-empty { grid-template-columns: auto 1fr; }.review-empty .button { grid-column: 1 / -1; width: 100%; }.profile-order-actions { grid-auto-flow: row; justify-items: stretch; }.profile-order-actions .button { width: 100%; } }
.field-error { color: #b3344d !important; }

@media (max-width: 760px) {
  .reviews-layout { grid-template-columns: 1fr; }
  .review-form-card { position: static; order: -1; }
  .review-card header { grid-template-columns: auto 1fr; }
  .review-stars { grid-column: 2; }
  .review-card p { margin-left: 0; }
}
.category-picker p { margin-top: 0; color: #7c6b71; }
.category-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .55rem; }
.category-options label { flex-direction: row; padding: .7rem; border: 1px solid #eadfe3; border-radius: .6rem; cursor: pointer; }
.product-editor-side { position: sticky; top: 1rem; display: grid; gap: 1rem; }
.image-section h2 { margin-bottom: 1rem; }
.image-dropzone { position: relative; aspect-ratio: 1; border: 2px dashed #d8c5cc; border-radius: .85rem; overflow: hidden; background: #fbf7f4; }
.image-dropzone > div { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: .4rem; padding: 1rem; }
.image-dropzone img { width: 100%; height: 100%; object-fit: cover; }
.image-dropzone input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.upload-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: #f0dbe2; color: #8b4660; font-size: 1.6rem; }
.remove-image { flex-direction: row !important; margin-top: .8rem; font-size: .9rem; }
.sticky-actions { display: grid; gap: .6rem; padding: 1rem; background: #fff; border: 1px solid #eadfe3; border-radius: 1rem; }
.sticky-actions small { color: #7b6d72; text-align: center; }
.primary-wide { width: 100%; text-align: center; }
.product-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: .55rem; display: grid; place-items: center; background: #f4e9ed; }
.product-card { overflow: hidden; }
.product-card img, .catalog-image-placeholder { width: calc(100% + 2.8rem); height: 220px; object-fit: cover; margin: -1.4rem -1.4rem .5rem; }
.catalog-image-placeholder { display: grid; place-items: center; background: linear-gradient(135deg, #f0dbe2, #f8eee7); color: #a06b7f; font-size: 2rem; font-weight: 800; }
.product-detail { display: grid; grid-template-columns: minmax(280px, 1fr) 1fr; gap: 3rem; align-items: start; }
.product-detail img, .product-detail .catalog-image-placeholder { width: 100%; height: auto; aspect-ratio: 1; margin: 0; border-radius: 1.2rem; object-fit: cover; }
.profile-page { display: grid; gap: 1.25rem; }
.profile-hero { position: relative; display: flex; min-height: 220px; align-items: flex-end; justify-content: space-between; gap: 2rem; overflow: hidden; padding: clamp(1.5rem,4vw,2.6rem); border-radius: 1.6rem; background: linear-gradient(125deg,#6e374c,#92506a 58%,#c58b9f); color: #fff; box-shadow: 0 18px 46px rgba(94,47,64,.15); }
.profile-hero::after { content: ""; position: absolute; width: 320px; height: 320px; top: -210px; right: -40px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 52px rgba(255,255,255,.03),0 0 0 104px rgba(255,255,255,.02); }
.profile-identity { position: relative; z-index: 1; display: flex; align-items: center; gap: 1.2rem; }
.profile-identity h1 { margin: .3rem 0 .45rem; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.1rem); font-weight: 500; }
.profile-identity p:last-child { max-width: 570px; margin: 0; color: rgba(255,255,255,.72); line-height: 1.5; }
.profile-hero .store-eyebrow { color: #f2d5df; }
.profile-avatar { display: grid; width: 5rem; height: 5rem; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50% 50% 50% 1rem; background: rgba(255,255,255,.13); color: #fff; font-family: Georgia,serif; font-size: 1.35rem; box-shadow: inset 0 1px rgba(255,255,255,.18); backdrop-filter: blur(8px); }
.profile-hero-details { position: relative; z-index: 1; display: grid; min-width: 280px; gap: .55rem; }
.profile-hero-details > span { display: grid; grid-template-columns: auto 1fr; gap: .08rem .55rem; padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.17); border-radius: .75rem; background: rgba(65,26,41,.14); backdrop-filter: blur(7px); }
.profile-hero-details i { grid-row: 1 / 3; display: grid; width: 1.8rem; height: 1.8rem; place-items: center; align-self: center; border-radius: .5rem; background: rgba(255,255,255,.13); font-style: normal; }
.profile-hero-details small { color: rgba(255,255,255,.64); font-size: .57rem; }
.profile-hero-details strong { max-width: 230px; overflow: hidden; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.profile-workspace { display: grid; grid-template-columns: 260px minmax(0,1fr); align-items: start; gap: 1rem; }
.profile-navigation { position: sticky; top: 6.5rem; padding: 1rem; border: 1px solid #e8dce1; border-radius: 1.1rem; background: #fff; box-shadow: 0 8px 26px rgba(73,43,54,.04); }
.profile-navigation > p { padding: .25rem .35rem .75rem; }
.profile-navigation nav { display: grid; }
.profile-navigation a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .65rem; padding: .75rem .35rem; border-top: 1px solid #f1e8eb; }
.profile-navigation a > span { color: #b27a8e; font-family: Georgia,serif; font-size: .68rem; }
.profile-navigation a div { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.profile-navigation a strong { color: #513a43; font-size: .72rem; }
.profile-navigation a small { overflow: hidden; color: #938188; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.profile-navigation a b { color: #ad7589; }
.profile-content, .profile-details-form { display: grid; gap: 1rem; }
.profile-editor-section { scroll-margin-top: 7rem; }
.profile-form-grid, .additional-phone-grid { display: grid; gap: 1rem; }
.profile-form-grid label, .additional-phone-grid label { display: grid; gap: .4rem; color: #58454d; font-size: .82rem; font-weight: 700; }
.profile-form-grid input, .profile-form-grid textarea, .additional-phone-grid input { width: 100%; border-color: #e6d8dd; background: #fffdfc; transition: border-color .15s ease,box-shadow .15s ease; }
.profile-form-grid input:focus, .profile-form-grid textarea:focus, .additional-phone-grid input:focus { border-color: #a8637c; box-shadow: 0 0 0 3px rgba(139,70,96,.09); outline: 0; }
.profile-form-grid textarea { min-height: 110px; }
.primary-phone-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: .85rem 1rem; border-radius: .75rem; background: #f8eff2; }
.primary-phone-card span { color: #806d75; font-size: .75rem; }
.primary-phone-card strong { color: #6f354b; }
.additional-phone-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.profile-wide-error { grid-column: 1 / -1; }
.profile-save-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid #dfcbd3; border-radius: 1rem; background: linear-gradient(100deg,#fbf2f5,#fff); box-shadow: 0 8px 24px rgba(73,43,54,.035); }
.profile-save-bar > div { display: flex; flex-direction: column; gap: .15rem; }
.profile-save-bar strong { color: #5d3b48; font-size: .8rem; }
.profile-save-bar small { color: #8c7880; font-size: .64rem; }
.profile-security { scroll-margin-top: 7rem; }
.profile-orders { scroll-margin-top: 7rem; }
.profile-order-count { display: grid; min-width: 2.4rem; height: 2.4rem; place-items: center; border-radius: .75rem; background: #f3e5ea; color: #8b4660; font-weight: 800; }
.profile-order-list { display: grid; gap: .75rem; }
.profile-order-card { overflow: hidden; border: 1px solid #eadde2; border-radius: 1rem; background: #fff; }
.profile-order-card > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border-bottom: 1px solid #eee4e7; background: linear-gradient(100deg,#fff8fa,#fff); }
.profile-order-card > header div { display: grid; gap: .16rem; }.profile-order-card > header div span { color: #9b6d7e; font-size: .61rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.profile-order-card > header div strong { color: #503a43; font-size: .78rem; }
.profile-order-lines { display: grid; }.profile-order-lines > div { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 1rem; align-items: center; padding: .72rem 1rem; border-bottom: 1px solid #f2eaed; }.profile-order-lines > div:last-child { border-bottom: 0; }.profile-order-lines span { overflow: hidden; color: #4f3942; font-size: .75rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }.profile-order-lines small { color: #917d85; font-size: .64rem; }.profile-order-lines strong { color: #6e3d4f; font-size: .72rem; }
.profile-order-card > footer { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 1rem; align-items: center; padding: .85rem 1rem; border-top: 1px solid #eadde2; background: #faf5f7; }.profile-order-card > footer > div { display: grid; gap: .15rem; min-width: 0; }.profile-order-card > footer small { color: #9b858d; font-size: .58rem; }.profile-order-card > footer span { overflow: hidden; color: #604852; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }.profile-order-total { justify-items: end; }.profile-order-total strong { color: #63384a; font-family: Georgia,serif; font-size: 1.05rem; }.profile-order-card > footer a { padding: .55rem .7rem; border: 1px solid #dcbfc9; border-radius: .65rem; color: #8b4660; font-size: .65rem; font-weight: 800; white-space: nowrap; }
.profile-order-pagination { display: flex; align-items: center; justify-content: center; gap: .65rem; margin-top: .9rem; }.profile-order-pagination a,.profile-order-pagination span { display: grid; min-width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid #e4d2d9; border-radius: .65rem; color: #8b4660; font-size: .68rem; }.profile-order-pagination span { padding: 0 .7rem; background: #f8eef2; }
.profile-orders-empty { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 1rem; align-items: center; min-height: 120px; padding: 1rem; border: 1px dashed #dfcbd3; border-radius: 1rem; background: #fffafb; }.profile-orders-empty > span { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border-radius: .8rem; background: #8b4660; color: #fff; font-family: Georgia,serif; }.profile-orders-empty h3,.profile-orders-empty p { margin: 0; }.profile-orders-empty h3 { color: #513a43; font-family: Georgia,serif; font-weight: 500; }.profile-orders-empty p { margin-top: .2rem; color: #907b83; font-size: .68rem; }
.password-change-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 1rem; }
.password-change-form label { display: grid; gap: .4rem; color: #58454d; font-size: .82rem; font-weight: 700; }
.password-change-form input { width: 100%; background: #fffdfc; }
.password-change-form .auth-field-help { color: #8b7a81; font-size: .66rem; font-weight: 400; }
.password-change-submit { grid-column: 1 / -1; margin-top: .25rem; }
@media (max-width: 820px) { .product-editor { grid-template-columns: 1fr; } .product-editor-side { position: static; } .image-dropzone { max-width: 360px; } .product-detail { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .profile-hero { align-items: flex-start; flex-direction: column; }.profile-hero-details { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); }.profile-workspace { grid-template-columns: 1fr; }.profile-navigation { position: static; }.profile-navigation nav { grid-template-columns: repeat(3,minmax(0,1fr)); }.profile-navigation a { border-top: 0; border-left: 1px solid #f1e8eb; }.profile-navigation a:first-child { border-left: 0; }.password-change-form { grid-template-columns: 1fr; } }
@media (max-width: 650px) { .profile-hero { padding: 1.3rem; }.profile-identity { align-items: flex-start; flex-direction: column; }.profile-avatar { width: 3.8rem; height: 3.8rem; }.profile-hero-details { grid-template-columns: 1fr; }.profile-navigation nav { grid-template-columns: 1fr; }.profile-navigation a { border-top: 1px solid #f1e8eb; border-left: 0; }.additional-phone-grid { grid-template-columns: 1fr; }.primary-phone-card,.profile-save-bar { align-items: stretch; flex-direction: column; }.profile-save-bar .button { width: 100%; }.profile-order-card > footer { grid-template-columns: 1fr auto; }.profile-order-card > footer > div:first-child { grid-column: 1 / -1; }.profile-order-lines > div { grid-template-columns: minmax(0,1fr) auto; }.profile-order-lines strong { grid-column: 2; }.profile-orders-empty { grid-template-columns: auto 1fr; }.profile-orders-empty .button { grid-column: 1 / -1; width: 100%; } }
@media (max-width: 560px) { .two-columns { grid-template-columns: 1fr; } .product-form-heading { flex-direction: column; gap: .5rem; } .locale-tabs { overflow-x: auto; } }
.category-editor .editor-section > label:not(.toggle-row) { display: flex; flex-direction: column; gap: .4rem; font-weight: 650; }
.category-settings { margin-top: 1rem; align-items: end; }
.category-settings select, .category-settings input { width: 100%; height: 42px; }
.category-preview { text-align: center; display: flex; flex-direction: column; align-items: center; gap: .65rem; }
.category-preview .preview-label { align-self: flex-start; color: #8b4660; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 800; }
.category-preview-icon { display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 1rem; background: linear-gradient(135deg, #f0dbe2, #f8eee7); color: #8b4660; font-size: 2rem; font-weight: 800; }
.category-preview strong { font-size: 1.15rem; }
.category-preview code { padding: .35rem .55rem; background: #f8f2f4; color: #72515e; border-radius: .4rem; overflow-wrap: anywhere; }
.category-preview small { color: #7b6d72; }
.management-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 1.5rem; }
.management-heading h1 { margin: .35rem 0; font-size: 2.2rem; }
.management-heading p { margin: 0; color: #786970; }
.management-list-hero { position: relative; display: flex; min-height: 190px; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; padding: clamp(1.5rem,3vw,2.4rem); overflow: hidden; border-radius: 1.4rem; background: linear-gradient(125deg,#71384f,#934d68 60%,#bd8096); color: #fff; box-shadow: 0 18px 44px rgba(99,48,68,.14); }
.management-list-hero::after { content: ""; position: absolute; width: 280px; height: 280px; top: -205px; right: 5%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 48px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.018); }
.management-list-hero > * { position: relative; z-index: 1; }
.management-list-hero .eyebrow { color: #f1d3de; }
.management-list-hero h1 { margin: .35rem 0 .55rem; font-family: Georgia,serif; font-size: clamp(2.1rem,4vw,3.2rem); font-weight: 500; }
.management-list-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.72); line-height: 1.5; }
.management-list-hero > .button,.management-hero-actions .button { border: 1px solid rgba(255,255,255,.24); background: #fff; color: #71384f; white-space: nowrap; }
.management-hero-actions { display: flex; align-items: center; gap: .55rem; }
.management-hero-actions .button.secondary { background: rgba(255,255,255,.1); color: #fff; }
.category-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; margin-bottom: 2rem; }
.category-stats > div { display: flex; flex-direction: column; gap: .35rem; padding: 1rem 1.15rem; background: #fff; border: 1px solid #eadfe3; border-radius: .9rem; }
.category-stats span { color: #7c6d72; font-size: .82rem; }
.category-stats strong { font-size: 1.45rem; color: #583b46; }
.management-kpi-grid > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .1rem .75rem; box-shadow: 0 8px 24px rgba(73,43,54,.035); }
.management-kpi-grid i { grid-row: 1 / 3; display: grid; width: 2.55rem; height: 2.55rem; place-items: center; border-radius: .72rem; background: #f2e6ea; color: #8b4660; font-style: normal; font-weight: 900; }
.management-kpi-grid strong { line-height: 1; }
.management-kpi-grid .warning i { background: #fff0d2; color: #95601c; }
.management-kpi-grid .danger i { background: #fae5e7; color: #b34752; }
.category-list-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1rem; }
.category-list-heading h2 { margin: 0 0 .25rem; }
.category-list-heading p { margin: 0; color: #7c6d72; }
.category-list-heading > span { color: #8b4660; font-weight: 700; white-space: nowrap; }
.category-admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1rem; }
.category-admin-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #eadfe3; border-radius: 1rem; transition: transform .15s ease, box-shadow .15s ease; }
.category-admin-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(91, 57, 70, .08); }
.category-admin-card.muted { opacity: .72; }
.category-card-top { display: flex; justify-content: space-between; align-items: flex-start; padding: 1.15rem 1.15rem 0; }
.category-card-icon { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: .8rem; background: linear-gradient(135deg, #f0dbe2, #f8eee7); color: #8b4660; font-size: 1.2rem; font-weight: 800; }
.category-state { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .55rem; border-radius: 2rem; background: #f5f0f2; color: #796a70; font-size: .72rem; font-weight: 700; }
.category-state i { width: .45rem; height: .45rem; border-radius: 50%; background: #9c8e93; }
.category-state.active { background: #e6f5ed; color: #236443; }
.category-state.active i { background: #39a36c; }
.category-card-body { flex: 1; padding: 1rem 1.15rem; }
.category-card-body h3 { margin: 0 0 .35rem; font-size: 1.08rem; }
.category-card-body > code { color: #8b6b77; font-size: .78rem; }
.category-card-meta { display: grid; grid-template-columns: 1fr auto; gap: 1rem; margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid #f1e9ec; }
.category-card-meta div { display: flex; flex-direction: column; gap: .2rem; }
.category-card-meta span { color: #8a7c81; font-size: .72rem; }
.category-card-meta strong { font-size: .85rem; }
.child-category-note { margin-top: .75rem; padding: .45rem .6rem; border-radius: .5rem; background: #fbf5f7; color: #765864; font-size: .76rem; }
.category-admin-card footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .85rem 1.15rem; border-top: 1px solid #f1e9ec; background: #fdfafb; }
.category-edit-link { color: #8b4660; font-size: .85rem; font-weight: 750; }
.link-danger:disabled { color: #b7aaae; cursor: not-allowed; }
.category-empty-state { display: flex; flex-direction: column; align-items: center; padding: 4rem 1.5rem; text-align: center; background: #fff; border: 1px dashed #d8c5cc; border-radius: 1rem; }
.category-empty-state h2 { margin: 1rem 0 .35rem; }
.category-empty-state p { margin: 0 0 1.25rem; color: #7c6d72; }
.management-list-panel { padding: 1.2rem; border: 1px solid #e8dce1; border-radius: 1.1rem; background: #fff; box-shadow: 0 8px 26px rgba(73,43,54,.035); }
.management-table { border-radius: .8rem; box-shadow: none; }
.management-table th { color: #88747c; font-size: .62rem; letter-spacing: .045em; text-transform: uppercase; }
.management-table td { vertical-align: middle; }
.management-table tbody tr { transition: background .15s ease; }
.management-table tbody tr:hover { background: #fdf8f9; }
.purchase-list-document { display: flex; min-width: 230px; align-items: center; gap: .7rem; }
.purchase-list-document > span { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; place-items: center; border-radius: .65rem; background: #f2e6ea; color: #8b4660; }
.purchase-list-document > div { display: flex; flex-direction: column; gap: .12rem; }
.purchase-list-document small { color: #96848b; font-size: .62rem; }
.table-open-link { color: #8b4660; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.management-empty-state { display: flex; min-height: 300px; flex-direction: column; align-items: center; justify-content: center; gap: .65rem; border: 1px dashed #dfcdd4; border-radius: .85rem; text-align: center; }
.management-empty-state > span { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: #f2e6ea; color: #8b4660; font-size: 1.25rem; }
.management-empty-state h3,.management-empty-state p { margin: 0; }
.management-empty-state p { color: #89777e; }
@media (max-width: 760px) { .management-list-hero { min-height: 0; align-items: flex-start; flex-direction: column; }.management-list-hero > .button { width: 100%; text-align: center; }.management-hero-actions { width: 100%; flex-direction: column; }.management-hero-actions .button { width: 100%; text-align: center; }.category-stats { grid-template-columns: repeat(2, 1fr); } .management-heading { align-items: flex-start; flex-direction: column; gap: 1rem; } }
@media (max-width: 420px) { .category-stats { grid-template-columns: 1fr; } .category-list-heading { align-items: flex-start; flex-direction: column; } }
.product-admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.product-admin-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid #eadfe3; border-radius: 1rem; transition: transform .15s ease, box-shadow .15s ease; }
.product-admin-card:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(91, 57, 70, .09); }
.product-admin-card.muted { opacity: .75; }
.product-admin-image { position: relative; height: 220px; overflow: hidden; background: #f6edef; }
.product-admin-image img { width: 100%; height: 100%; object-fit: cover; }
.product-admin-image .catalog-image-placeholder { width: 100%; height: 100%; margin: 0; }
.product-admin-image .category-state { position: absolute; top: .8rem; left: .8rem; backdrop-filter: blur(8px); }
.discount-badge { position: absolute; top: .8rem; right: .8rem; padding: .35rem .55rem; border-radius: 2rem; background: #8b4660; color: #fff; font-size: .75rem; font-weight: 800; }
.product-admin-body { flex: 1; padding: 1.1rem; }
.product-admin-body > code { color: #8b6b77; font-size: .72rem; }
.product-admin-body h3 { margin: .35rem 0 .7rem; font-size: 1.08rem; }
.product-category-tags { display: flex; gap: .35rem; flex-wrap: wrap; min-height: 1.65rem; }
.product-category-tags span { padding: .25rem .45rem; border-radius: .4rem; background: #f7eff2; color: #765462; font-size: .68rem; }
.product-price-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #f1e9ec; }
.product-price-row > div { display: flex; flex-direction: column; gap: .15rem; }
.product-price-row span { color: #897a80; font-size: .7rem; }
.product-price-row strong { font-size: 1.05rem; }
.product-price-row del { color: #b4233f; font-size: .75rem; font-weight: 700; }
.stock-indicator { align-items: flex-end; padding: .4rem .55rem; border-radius: .55rem; background: #e7f5ed; color: #286747; }
.stock-indicator.low { background: #fff2cf; color: #8a6319; }
.stock-indicator.empty { background: #f8e4e5; color: #983e45; }
.product-admin-card footer { display: flex; justify-content: space-between; align-items: center; padding: .85rem 1.1rem; border-top: 1px solid #f1e9ec; background: #fdfafb; }
.storefront-link { color: #796970; font-size: .8rem; }
.inventory-hero { position: relative; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; padding: clamp(1.5rem,3vw,2.3rem); overflow: hidden; border-radius: 1.4rem; background: linear-gradient(125deg,#71384f,#934d68 60%,#be8096); color: #fff; box-shadow: 0 18px 44px rgba(99,48,68,.14); }
.inventory-hero::after { content: ""; position: absolute; width: 250px; height: 250px; top: -170px; right: 4%; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.025); }
.inventory-hero > div { position: relative; z-index: 1; }
.inventory-hero .store-eyebrow { color: #f3d8e2; }
.inventory-hero h1 { margin: .35rem 0 .55rem; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.1rem); font-weight: 500; }
.inventory-hero p { max-width: 680px; margin: 0; color: rgba(255,255,255,.72); line-height: 1.5; }
.inventory-hero-actions { display: flex; flex: 0 0 auto; align-items: flex-end; gap: .65rem; }
.inventory-hero-actions button { min-height: 44px; border: 1px solid rgba(255,255,255,.24); background: #fff; color: #71384f; }
.inventory-page-size { display: grid; gap: .3rem; }
.inventory-page-size label { color: rgba(255,255,255,.7); font-size: .58rem; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.inventory-page-size > div { display: flex; gap: .35rem; }
.inventory-page-size select { min-width: 82px; height: 44px; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.12); color: #fff; }
.inventory-page-size option { color: #3f3036; }
.inventory-stats > div { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .1rem .7rem; }
.inventory-stats i { grid-row: 1 / 3; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .7rem; background: #f3e7eb; color: #8b4660; font-style: normal; font-weight: 900; }
.inventory-stats strong { line-height: 1; }
.inventory-stats .warning i { background: #fae7e8; color: #b34953; }
.warehouse-section { margin-bottom: 1.2rem; padding: 1.3rem; background: #fff; border: 1px solid #eadfe3; border-radius: 1rem; }
.warehouse-section > .section-heading { margin-bottom: 1rem; }
.inventory-operation-form { display: grid; gap: 1rem; }
.inventory-operation-form label { display: flex; flex-direction: column; gap: .4rem; font-size: .82rem; font-weight: 700; }
.inventory-operation-form input, .inventory-operation-form select { width: 100%; min-width: 0; }
.inventory-purchase-notice { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; margin-bottom: 1rem; padding: .8rem 1rem; border: 1px solid #ead9bf; border-radius: .8rem; background: #fffaf0; }
.inventory-purchase-notice > span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #e5b95e; color: #fff; font-family: Georgia,serif; font-weight: 800; }
.inventory-purchase-notice p { display: grid; gap: .1rem; margin: 0; color: #79684d; font-size: .78rem; line-height: 1.35; }
.inventory-purchase-notice strong { color: #5e4a2b; }
.inventory-purchase-notice a { color: #8b5e25; font-size: .76rem; font-weight: 800; white-space: nowrap; }
.inventory-operation-step { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .85rem; padding: 1rem; border: 1px solid #eadfe3; border-radius: 1rem; background: #fff; }
.inventory-step-number { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: .65rem; background: #8b4660; color: #fff; font-size: .76rem; font-weight: 850; }
.inventory-step-content { display: grid; min-width: 0; gap: .85rem; }
.inventory-step-heading { display: grid; gap: .15rem; }
.inventory-step-heading strong { color: #4e3540; font-size: .95rem; }
.inventory-step-heading small { color: #8c7880; font-size: .74rem; }
.inventory-product-preview { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .7rem; padding: .75rem; border-radius: .8rem; background: #fbf5f7; }
.inventory-product-preview > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .7rem; background: #ead8df; color: #8b4660; font-weight: 850; }
.inventory-product-preview > div { display: grid; min-width: 0; gap: .1rem; }
.inventory-product-preview small { color: #917d85; font-size: .68rem; }
.inventory-product-preview strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.inventory-product-preview > div:last-child { justify-items: end; }
.inventory-product-preview b { color: #397456; font-size: 1.25rem; }
.inventory-mode-picker { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.inventory-mode-picker label { cursor: pointer; }
.inventory-mode-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.inventory-mode-picker label > span { display: grid; min-height: 88px; grid-template-columns: auto 1fr; align-content: center; gap: .15rem .65rem; padding: .85rem; border: 1px solid #e6d9de; border-radius: .85rem; background: #fff; transition: border-color .15s ease,background .15s ease,box-shadow .15s ease; }
.inventory-mode-picker i { grid-row: 1 / 3; display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .65rem; font-style: normal; font-size: 1.15rem; }
.inventory-mode-picker strong { align-self: end; color: #513842; }
.inventory-mode-picker small { color: #89787e; font-size: .7rem; }
.inventory-mode-picker .receipt i { background: #e5f4eb; color: #28704a; }
.inventory-mode-picker .write-off i { background: #fae8e8; color: #a53e4a; }
.inventory-mode-picker input:checked + span { border-color: #a8677f; background: #fff8fa; box-shadow: 0 0 0 2px rgba(139,70,96,.08); }
.inventory-mode-picker .write-off input:checked + span { border-color: #c86a72; background: #fff8f8; }
.inventory-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.inventory-detail-grid label > small { color: #8c7c82; font-size: .68rem; font-weight: 500; }
.inventory-detail-grid label[hidden] { display: none; }
.inventory-detail-grid .is-required > span:first-child::after { content: " *"; color: #ae3c4b; }
.inventory-operation-review { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(135deg,#f7ecef,#fff); }
.inventory-operation-review > div { display: grid; gap: .2rem; }
.inventory-operation-review small { color: #8b6f7a; font-size: .66rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.inventory-operation-review strong { display: flex; align-items: center; gap: .6rem; color: #4d3540; font-size: 1.45rem; }
.inventory-operation-review strong i { color: #b49da5; font-style: normal; }
.inventory-operation-review strong .receipt { color: #27704a; }
.inventory-operation-review strong .write_off { color: #a3434c; }
.inventory-operation-review strong .invalid { color: #c02f40; }
.inventory-operation-review p { margin: 0; color: #7f6d74; font-size: .74rem; }
.inventory-operation-submit { min-width: 230px; }
.inventory-operation-form[data-mode="write_off"] .inventory-operation-submit { background: #a6404c; }
.warehouse-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1rem; }
.warehouse-section-heading h2 { margin: 0 0 .25rem; font-size: 1.15rem; }
.warehouse-section-heading p { margin: 0; color: #7d6e74; font-size: .85rem; }
.warehouse-section-heading > a { color: #8b4660; font-size: .82rem; font-weight: 750; }
.table-subtext { display: block; margin-top: .2rem; color: #8c7f84; font-size: .7rem; }
.document-actions { display: flex; align-items: center; gap: .7rem; }
.document-actions > a { color: #76515f; font-size: .8rem; }
.download-link { padding: 0; background: transparent; color: #8b4660; font-size: .8rem; font-weight: 800; }
.warehouse-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.activity-list { display: grid; }
.activity-list article { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .75rem; padding: .8rem 0; border-bottom: 1px solid #f1e9ec; }
.activity-list article:last-child { border-bottom: 0; }
.activity-list article > div { display: flex; flex-direction: column; min-width: 0; }
.activity-list article strong, .activity-list article span, .activity-list article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-list article span { color: #766970; font-size: .78rem; }
.activity-list article small { color: #9a8d92; font-size: .68rem; }
.activity-icon { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .55rem; background: #f2e7eb; font-weight: 900; }
.activity-icon.positive { background: #e3f4eb; }
.activity-icon.negative { background: #fae8e8; }
.activity-icon.document { background: #eee8f8; color: #665287; }
.empty-note { color: #8a7d82; font-size: .85rem; }
.inventory-section-footer { display: flex; min-height: 42px; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid #f0e7ea; color: #8d7b82; font-size: .68rem; }
.inventory-section-footer nav { gap: .35rem; }
.inventory-section-footer a,.inventory-section-footer b { display: inline-flex; min-height: 30px; align-items: center; padding: .35rem .6rem; border: 1px solid #e5d8dd; border-radius: .55rem; background: #fff; color: #744358; font-size: .66rem; }
.inventory-section-footer b { background: #f5ebee; }
@media (max-width: 900px) { .inventory-hero { align-items: flex-start; flex-direction: column; }.inventory-hero-actions { width: 100%; }.warehouse-columns { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .inventory-hero-actions { align-items: stretch; flex-direction: column; }.inventory-page-size select,.inventory-hero-actions button { width: 100%; }.inventory-section-footer { align-items: flex-start; flex-direction: column; }.inventory-purchase-notice { grid-template-columns: auto 1fr; }.inventory-purchase-notice a { grid-column: 2; }.inventory-operation-step { grid-template-columns: 1fr; }.inventory-mode-picker,.inventory-detail-grid { grid-template-columns: 1fr; }.inventory-operation-review { align-items: stretch; flex-direction: column; }.inventory-operation-submit { width: 100%; min-width: 0; } }
.purchase-editor label { display: flex; flex-direction: column; gap: .4rem; font-weight: 650; }
.purchase-planning-grid { display: grid; grid-template-columns: minmax(180px, .6fr) 1.4fr; gap: 1rem; align-items: start; }
.purchase-planning-grid textarea { min-height: 9rem; }
.purchase-next-step { display: flex; gap: 1rem; align-items: flex-start; padding: 1.1rem 1.2rem; border: 1px solid #e4d3d9; border-radius: 1rem; background: linear-gradient(135deg, #fbf3f6, #fff); }
.purchase-next-step > span { display: grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 auto; border-radius: 50%; background: #8b4660; color: #fff; font-weight: 900; }
.purchase-next-step p { margin: .25rem 0 0; color: #796b70; font-size: .86rem; line-height: 1.5; }
.purchase-preview { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.purchase-preview .preview-label { align-self: flex-start; color: #8b4660; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 800; }
.receipt-heading { align-items: center; }
.receipt-scanner-card { display: grid; grid-template-columns: auto minmax(180px, .7fr) minmax(260px, 1fr); align-items: center; gap: 1rem; margin-bottom: 1rem; padding: 1rem 1.2rem; border: 1px solid #dec8d1; border-radius: 1rem; background: linear-gradient(135deg, #f6e9ee, #fff); }
.receipt-scanner-icon { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: .8rem; background: #8b4660; color: #fff; font-size: 1.5rem; }
.receipt-scanner-copy { display: flex; flex-direction: column; gap: .2rem; }
.receipt-scanner-copy small { color: #806f76; font-size: .72rem; line-height: 1.4; }
.receipt-scanner-field input { width: 100%; min-height: 46px; border-color: #cdaeb9; background: #fff; box-shadow: 0 7px 18px rgba(87,52,65,.06); }
.receipt-scanner-feedback { grid-column: 3; min-height: 1.2em; margin: -.45rem 0 0; font-size: .7rem; font-weight: 750; }
.receipt-scanner-feedback.success-state { color: #28704b; }
.receipt-scanner-feedback.error-state { color: #a43d48; }
.receipt-checkin { display: grid; gap: 1rem; }
.receipt-progress { display: grid; grid-template-columns: auto minmax(160px, 1fr) auto; align-items: center; gap: 1rem; padding: .8rem 1rem; border: 1px solid #eadfe3; border-radius: .85rem; background: #fff; }
.receipt-progress > div:first-child { display: flex; align-items: baseline; gap: .55rem; }
.receipt-progress span, .receipt-progress small { color: #7d6d74; font-size: .72rem; }
.receipt-progress strong { color: #60384a; }
.receipt-progress-track { height: .45rem; overflow: hidden; border-radius: 1rem; background: #eee5e8; }
.receipt-progress-track i { display: block; width: 0; height: 100%; border-radius: inherit; background: #39966a; transition: width .25s ease; }
.receipt-line-list { display: grid; gap: .75rem; }
.receipt-line { display: grid; grid-template-columns: minmax(220px, 1.25fr) 90px 160px minmax(260px, 1fr) auto; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid #ecc9cd; border-left: 4px solid #c44f5b; border-radius: 1rem; background: #fffafa; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.receipt-line.matched { border-color: #a8d8bf; border-left-color: #39966a; background: #f7fcf9; box-shadow: 0 7px 20px rgba(47,122,84,.06); }
.receipt-product { display: flex; min-width: 0; align-items: center; gap: .8rem; }
.receipt-product > img, .receipt-product > span { display: grid; width: 52px; height: 52px; flex: 0 0 auto; place-items: center; border-radius: .65rem; background: #f1e4e9; color: #8b4660; object-fit: cover; font-weight: 850; }
.receipt-product > div { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.receipt-product code, .receipt-product small { color: #8f727d; font-size: .65rem; }
.receipt-product strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.receipt-expected { display: flex; flex-direction: column; align-items: center; gap: .2rem; }
.receipt-expected span, .receipt-counter > span { color: #817078; font-size: .67rem; font-weight: 700; }
.receipt-expected strong { font-size: 1.25rem; }
.receipt-counter { display: grid; gap: .35rem; }
.receipt-counter > div { display: grid; grid-template-columns: 2rem minmax(60px, 1fr) 2rem; overflow: hidden; border: 1px solid #d8c5cc; border-radius: .55rem; background: #fff; }
.receipt-counter button { display: grid; width: 2rem; height: 2.35rem; padding: 0; place-items: center; border-radius: 0; background: #f2e7eb; color: #8b4660; }
.receipt-counter input { width: 100%; min-width: 0; padding: .35rem; border: 0; border-radius: 0; text-align: center; }
.receipt-batch-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.receipt-batch-fields label { display: grid; gap: .25rem; color: #7d6c73; font-size: .65rem; font-weight: 700; }
.receipt-batch-fields input { width: 100%; min-width: 0; padding: .55rem; }
.receipt-line-status { padding: .35rem .55rem; border-radius: 2rem; background: #f8e2e4; color: #9e3e48; font-size: .65rem; font-weight: 850; white-space: nowrap; }
.receipt-line.matched .receipt-line-status { background: #daf0e4; color: #256846; }
.receipt-submit-panel { position: sticky; z-index: 10; bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid #dac5cd; border-radius: 1rem; background: rgba(255,255,255,.96); box-shadow: 0 14px 35px rgba(73,43,54,.13); backdrop-filter: blur(12px); }
.receipt-submit-panel > div { display: flex; flex-direction: column; gap: .2rem; }
.receipt-submit-panel small { color: #806f76; font-size: .7rem; }
.receipt-submit-panel button:disabled { background: #b9acb1; cursor: not-allowed; }
@media (max-width: 1050px) { .receipt-line { grid-template-columns: minmax(220px, 1fr) 80px 150px; } .receipt-batch-fields { grid-column: 1 / 3; }.receipt-line-status { justify-self: end; } }
@media (max-width: 760px) { .receipt-scanner-card { grid-template-columns: auto 1fr; } .receipt-scanner-field, .receipt-scanner-feedback { grid-column: 1 / -1; } .receipt-progress { grid-template-columns: 1fr auto; } .receipt-progress-track { grid-column: 1 / -1; grid-row: 2; } .receipt-progress > small { grid-column: 1 / -1; } .receipt-line { grid-template-columns: 1fr auto; } .receipt-product { grid-column: 1 / -1; } .receipt-expected, .receipt-counter { align-items: start; } .receipt-batch-fields { grid-column: 1 / -1; } .receipt-submit-panel { align-items: stretch; flex-direction: column; } .receipt-submit-panel button { width: 100%; } }
@media (max-width: 480px) { .receipt-batch-fields { grid-template-columns: 1fr; } }
.purchase-preview-mark { display: grid; place-items: center; width: 4.2rem; height: 4.2rem; border-radius: 1.1rem; background: linear-gradient(135deg, #8b4660, #b9788f); color: #fff; font-weight: 900; letter-spacing: .06em; box-shadow: 0 8px 20px rgba(139, 70, 96, .2); }
.purchase-preview > strong { max-width: 100%; overflow-wrap: anywhere; font-size: 1.05rem; }
.purchase-preview dl { width: 100%; margin: .35rem 0 0; }
.purchase-preview dl > div { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .65rem 0; border-top: 1px solid #f0e7ea; }
.purchase-preview dt { color: #87787d; font-size: .75rem; }
.purchase-preview dd { margin: 0; text-align: right; font-size: .8rem; font-weight: 700; }
.purchase-detail-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1.25rem 2rem; margin-bottom: 1rem; padding: clamp(1.4rem,3vw,2.2rem); border: 1px solid #e5d7dc; border-radius: 1.4rem; background: linear-gradient(125deg,#fff,#fbf2f5); box-shadow: 0 12px 36px rgba(73,43,54,.055); }
.purchase-detail-title .back-link { display: inline-flex; margin-bottom: 1.4rem; }
.purchase-detail-title h1 { margin: .3rem 0 0; color: #4b333d; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3rem); font-weight: 500; overflow-wrap: anywhere; }
.purchase-detail-note { max-width: 680px; margin: .65rem 0 0; color: #806e75; line-height: 1.5; }
.purchase-detail-hero > .status { align-self: start; padding: .45rem .75rem; }
.purchase-detail-meta { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; overflow: hidden; border: 1px solid #eadde2; border-radius: .9rem; background: rgba(255,255,255,.75); }
.purchase-detail-meta > div { display: flex; min-width: 0; flex-direction: column; gap: .3rem; padding: .85rem 1rem; border-left: 1px solid #eee3e7; }
.purchase-detail-meta > div:first-child { border-left: 0; }
.purchase-detail-meta dt { color: #948087; font-size: .61rem; font-weight: 750; text-transform: uppercase; letter-spacing: .055em; }
.purchase-detail-meta dd { margin: 0; overflow: hidden; color: #553a45; font-size: .8rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.purchase-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; align-items: start; gap: 1rem; }
.purchase-lines-panel,.purchase-add-card,.purchase-action-card { border: 1px solid #e8dce1; border-radius: 1.1rem; background: #fff; box-shadow: 0 8px 26px rgba(73,43,54,.035); }
.purchase-lines-panel { min-width: 0; padding: 1.2rem; }
.purchase-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.purchase-panel-heading h2 { margin: .25rem 0 0; font-size: 1.15rem; }
.purchase-panel-heading > span { display: grid; min-width: 2.2rem; height: 2.2rem; padding: 0 .5rem; place-items: center; border-radius: .7rem; background: #f3e7eb; color: #8b4660; font-weight: 850; }
.purchase-lines-table { border-radius: .8rem; box-shadow: none; }
.purchase-lines-table th { color: #8a767e; font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; }
.purchase-lines-table td { vertical-align: middle; }
.purchase-lines-table tbody tr { transition: background .15s ease; }
.purchase-lines-table tbody tr:hover { background: #fdf8f9; }
.purchase-product-cell { display: flex; min-width: 210px; align-items: center; gap: .7rem; }
.purchase-product-cell > span { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; place-items: center; border-radius: .65rem; background: linear-gradient(145deg,#f4e8ec,#f9f1ea); color: #96566e; font-family: Georgia,serif; }
.purchase-product-cell > div { display: flex; flex-direction: column; gap: .16rem; }
.purchase-product-cell strong { color: #513a43; font-size: .76rem; }
.purchase-product-cell code { color: #a17f8b; font-size: .62rem; }
.purchase-quantity-editor { display: grid; grid-template-columns: 30px 48px 30px 30px; align-items: center; gap: .25rem; margin: 0; }
.purchase-quantity-editor button { display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 1px solid #e4d5db; border-radius: .5rem; background: #f7edf0; color: #8b4660; font-size: .85rem; font-weight: 850; }
.purchase-quantity-editor input { width: 48px; height: 30px; padding: .25rem; border: 1px solid #d9c9cf; border-radius: .5rem; background: #fff; text-align: center; font-weight: 800; appearance: textfield; }
.purchase-quantity-editor input::-webkit-inner-spin-button,.purchase-quantity-editor input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.purchase-quantity-editor .purchase-quantity-save { background: #8b4660; color: #fff; }
.purchase-line-delete { display: grid; width: 1.85rem; height: 1.85rem; padding: 0; place-items: center; border-radius: 50%; background: #f9e9eb; color: #b34c58; font-size: 1rem; }
.purchase-lines-empty { display: grid; min-height: 270px; place-items: center; align-content: center; gap: .55rem; border: 1px dashed #dfcdd4; border-radius: .85rem; color: #8c7880; text-align: center; }
.purchase-lines-empty > span { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: #f3e7eb; color: #8b4660; font-size: 1.2rem; }
.purchase-lines-empty small { color: #a08e95; }
.purchase-detail-sidebar { position: sticky; top: 10rem; display: grid; width: 360px; min-width: 0; max-width: 100%; justify-self: end; gap: 1rem; }
.purchase-add-card,.purchase-action-card { width: 100%; min-width: 0; padding: 1.15rem; }
.purchase-add-card { align-content: start; }
.purchase-add-card form { display: grid; min-width: 0; gap: .85rem; }
.purchase-add-card label { display: grid; min-width: 0; gap: .35rem; color: #5a454e; font-size: .74rem; font-weight: 750; }
.purchase-add-card input:not([type="submit"]),.purchase-add-card select { width: 100%; height: 50px; background: #fffdfc; }
.purchase-add-card .select2-container { width: 100% !important; min-width: 0; max-width: 100%; }
.purchase-add-card .select2-selection--single { height: 50px; }
.purchase-add-card .select2-selection--single .select2-selection__rendered { line-height: 28px; }
.purchase-add-card .select2-selection--single .select2-selection__arrow { height: 46px; }
.purchase-add-card .select2-selection__rendered { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.purchase-add-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.purchase-add-fields label { grid-template-rows: 2.5em 50px; align-content: start; }
.purchase-action-card { display: grid; gap: .7rem; background: linear-gradient(145deg,#fff,#fbf2f5); }
.purchase-action-card > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid #eadfe3; }
.purchase-action-card > div span { color: #89777e; font-size: .68rem; }
.purchase-action-card > div strong { color: #633b4a; font-family: Georgia,serif; font-size: 1.55rem; }
.purchase-action-card form { margin: 0; }
.purchase-action-card .button { text-align: center; }
@media (max-width: 980px) { .purchase-detail-layout { grid-template-columns: 1fr; }.purchase-detail-sidebar { position: static; width: 100%; justify-self: stretch; grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr); }.purchase-action-card { align-content: start; } }
@media (max-width: 700px) { .purchase-detail-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }.purchase-detail-meta > div:nth-child(3) { border-left: 0; }.purchase-detail-meta > div:nth-child(n+3) { border-top: 1px solid #eee3e7; }.purchase-detail-sidebar { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .purchase-detail-hero { grid-template-columns: 1fr; }.purchase-detail-hero > .status { justify-self: start; }.purchase-detail-meta { grid-template-columns: 1fr; }.purchase-detail-meta > div { border-top: 1px solid #eee3e7; border-left: 0; }.purchase-detail-meta > div:first-child { border-top: 0; }.purchase-lines-panel { padding: .8rem; }.purchase-add-fields { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .purchase-planning-grid { grid-template-columns: 1fr; } }
.select2-container { width: 100% !important; font-size: .9rem; }
.select2-container--default .select2-selection--single { height: 46px; border: 1px solid #cdbfc4; border-radius: .6rem; background: #fff; transition: border-color .15s ease, box-shadow .15s ease; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: .63rem 2.8rem .63rem .85rem; color: #392d32; line-height: 24px; }
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: #94868b; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 2px; right: .55rem; width: 2rem; height: 42px; }
.select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: #8b6c77 transparent transparent; border-width: 5px 4px 0; }
.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b { border-color: transparent transparent #8b4660; border-width: 0 4px 5px; }
.select2-container--default.select2-container--focus .select2-selection--single, .select2-container--default.select2-container--open .select2-selection--single { border-color: #8b4660; box-shadow: 0 0 0 3px rgba(139, 70, 96, .1); outline: 0; }
.select2-container--open .select2-selection--single { border-radius: .6rem .6rem .25rem .25rem; }
.select2-dropdown { overflow: hidden; margin-top: .2rem; border: 1px solid #d8c8ce; border-radius: .65rem; background: #fff; box-shadow: 0 12px 30px rgba(77, 47, 58, .14); }
.select2-search--dropdown { padding: .6rem; }
.select2-container--default .select2-search--dropdown .select2-search__field { height: 42px; padding: .65rem .75rem; border: 1px solid #cdbfc4; border-radius: .5rem; outline: 0; }
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: #8b4660; box-shadow: 0 0 0 3px rgba(139, 70, 96, .08); }
.select2-results__options { padding: .25rem; }
.select2-results__option { margin: .1rem 0; padding: .7rem .8rem; border-radius: .45rem; }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: #8b4660; }
.select2-container--default .select2-results__option--selected { background: #f3e7eb; color: #693e4e; }
.supplier-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 1.2rem; align-items: start; }
.supplier-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.supplier-card { padding: 1.1rem; background: #fff; border: 1px solid #eadfe3; border-radius: 1rem; transition: transform .15s ease, box-shadow .15s ease; }
.supplier-card:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(91, 57, 70, .08); }
.supplier-card.muted { opacity: .7; }
.supplier-card-heading { display: flex; justify-content: space-between; align-items: flex-start; }
.supplier-avatar { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .85rem; background: linear-gradient(135deg, #8b4660, #bd7c93); color: #fff; font-size: .9rem; font-weight: 900; letter-spacing: .03em; }
.supplier-card h3 { margin: .9rem 0; font-size: 1.08rem; }
.supplier-card dl { margin: 0; }
.supplier-card dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-top: 1px solid #f1e9ec; }
.supplier-card dt { color: #8a7c81; font-size: .72rem; }
.supplier-card dd { max-width: 60%; margin: 0; overflow-wrap: anywhere; text-align: right; font-size: .78rem; font-weight: 700; }
.supplier-create-panel { position: sticky; top: 1rem; }
.supplier-form { display: grid; gap: .9rem; }
.supplier-form label { display: flex; flex-direction: column; gap: .4rem; font-size: .82rem; font-weight: 700; }
.supplier-help { margin: .7rem .7rem 0; color: #84757b; text-align: center; font-size: .75rem; line-height: 1.45; }
.supplier-empty { display: flex; flex-direction: column; align-items: center; padding: 3rem 1rem; border: 1px dashed #d8c5cc; border-radius: 1rem; background: #fff; text-align: center; }
.supplier-empty h3 { margin: 1rem 0 .3rem; }
.supplier-empty p { margin: 0; color: #82747a; }
@media (max-width: 850px) { .supplier-layout { grid-template-columns: 1fr; } .supplier-create-panel { position: static; order: -1; } }

/* Public storefront */
.store-container { width: min(1280px, calc(100vw - 2rem)); margin-top: 1.5rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.store-eyebrow { margin: 0 0 .6rem; color: #9b4968; font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.store-home { display: grid; gap: 3rem; }
.store-home-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); min-height: 520px; overflow: hidden; border-radius: 2rem; background: linear-gradient(125deg, #f5e1e8 0%, #fbf1ec 58%, #e8d8de 100%); box-shadow: 0 20px 60px rgba(96, 57, 72, .09); }
.store-home-hero::before { content: ""; position: absolute; width: 420px; height: 420px; right: -100px; top: -160px; border: 1px solid rgba(139, 70, 96, .18); border-radius: 50%; }
.mobile-hero-decoration { display: none; }
.store-home-copy { position: relative; z-index: 1; align-self: center; padding: clamp(2rem, 6vw, 5rem); }
.store-home-copy h1 { max-width: 720px; margin: 0 0 1.2rem; font-family: Georgia, serif; font-size: clamp(2.8rem, 5.5vw, 5.4rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.store-home-copy > p:not(.store-eyebrow) { max-width: 650px; margin: 0 0 1.6rem; color: #6f5d64; font-size: 1.05rem; line-height: 1.65; }
.store-search { display: flex; width: min(100%, 620px); padding: .35rem; border: 1px solid rgba(130, 83, 100, .18); border-radius: .85rem; background: #fff; box-shadow: 0 10px 28px rgba(89, 55, 68, .08); }
.store-search input { flex: 1; min-width: 0; border: 0; padding: .8rem .9rem; background: transparent; outline: 0; font-size: .94rem; }
.store-search button { flex: 0 0 auto; min-width: 92px; padding: .75rem 1.1rem; }
.store-product-search .select2-container { flex: 1; min-width: 0; }
.store-product-search .select2-container--default .select2-selection--single { height: 46px; border: 0; background: transparent; box-shadow: none; }
.store-product-search .select2-container--default .select2-selection--single .select2-selection__rendered { padding: .68rem 2.4rem .68rem .9rem; line-height: 24px; }
.store-product-search .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.store-product-search .select2-container--open .select2-selection--single { border-radius: .6rem; }
.store-product-search + .select2-container { max-width: 620px; }
.store-search-result { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.store-search-result > img, .store-search-result > i { width: 3.1rem; height: 3.1rem; flex: 0 0 auto; border-radius: .65rem; object-fit: cover; }
.store-search-result > i { display: grid; place-items: center; background: linear-gradient(135deg, #f0dbe2, #f8eee7); color: #9b6479; font-size: .72rem; font-style: normal; font-weight: 850; }
.store-search-result > span { display: flex; min-width: 0; flex-direction: column; gap: .2rem; }
.store-search-result strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.store-search-result small { color: #8a777f; font-size: .7rem; }
.select2-results__option--highlighted .store-search-result small { color: rgba(255,255,255,.8); }
.store-product-search ~ .select2-container--open .select2-dropdown { min-width: 340px; }
.store-hero-actions { display: flex; align-items: center; gap: 1.2rem; margin-top: 1.2rem; }
.store-hero-actions > span { color: #796870; font-size: .8rem; }
.store-home-visual { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: 1rem; padding: 4rem 2rem 5rem; background: radial-gradient(circle at 50% 55%, rgba(255,255,255,.8), transparent 58%); }
.store-home-visual::after { content: ""; position: absolute; bottom: 3.5rem; width: 80%; height: 2rem; border-radius: 50%; background: rgba(97, 58, 73, .14); filter: blur(12px); }
.store-visual-label { position: absolute; top: 3rem; right: 3rem; display: grid; place-items: center; width: 4.5rem; height: 4.5rem; border: 1px solid rgba(139,70,96,.25); border-radius: 50%; color: #8b4660; font-family: Georgia, serif; font-size: 1.5rem; }
.store-bottle, .store-jar { position: relative; z-index: 1; border: 1px solid rgba(90, 56, 69, .14); background: linear-gradient(145deg, rgba(255,255,255,.95), #dfbdc9); box-shadow: inset -15px -10px 30px rgba(139,70,96,.1), 0 18px 30px rgba(83,50,63,.13); }
.store-bottle { width: 90px; border-radius: 1rem 1rem 1.4rem 1.4rem; }
.store-bottle::before { content: ""; position: absolute; left: 25%; top: -34px; width: 50%; height: 36px; border-radius: .35rem .35rem 0 0; background: #8b5d6e; }
.store-bottle::after { content: "LB"; position: absolute; inset: 45% 15% auto; padding: .55rem 0; border-top: 1px solid #a8798a; border-bottom: 1px solid #a8798a; color: #7b475a; text-align: center; font-family: Georgia, serif; }
.store-bottle.tall { height: 250px; }
.store-bottle.short { width: 74px; height: 190px; }
.store-jar { width: 120px; height: 90px; border-radius: 1.5rem; }
.store-jar::before { content: ""; position: absolute; left: -3px; right: -3px; top: -18px; height: 28px; border-radius: .55rem; background: #8b5d6e; }
.store-benefits { display: grid; grid-template-columns: repeat(3, 1fr); padding: .35rem 0; border-top: 1px solid #e9dce1; border-bottom: 1px solid #e9dce1; }
.store-benefits article { display: flex; min-width: 0; align-items: center; gap: .85rem; padding: .75rem 1.15rem; }
.store-benefits article + article { border-left: 1px solid #eadfe3; }
.store-benefits article > span { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #f3e4e9; color: #8b4660; font-size: .78rem; font-weight: 850; }
.store-benefits div { display: flex; min-width: 0; flex-direction: column; gap: .12rem; }
.store-benefits strong { color: #4f3841; font-size: .83rem; }
.store-benefits small { color: #8a777f; font-size: .68rem; }
.popular-showcase { position: relative; padding: clamp(1.25rem,2.5vw,2rem); overflow: hidden; border: 1px solid #e5d5db; border-radius: 1.45rem; background: linear-gradient(135deg,#fff 0%,#fbf0f3 100%); box-shadow: 0 18px 52px rgba(82,51,63,.07); }
.popular-showcase::before { position: absolute; width: 320px; height: 320px; top: -235px; right: 4%; border: 1px solid rgba(139,70,96,.12); border-radius: 50%; box-shadow: 0 0 0 48px rgba(139,70,96,.025); content: ""; pointer-events: none; }
.popular-showcase-heading { position: relative; z-index: 1; align-items: center; }
.popular-showcase-heading h2 { font-size: clamp(2rem,3.5vw,3rem); }
.popular-showcase-heading p:last-child { max-width: 560px; margin: .45rem 0 0; color: #7d6971; font-size: .78rem; line-height: 1.55; }
.popular-product-marquee { position: relative; z-index: 1; width: calc(100% + 4rem); margin-inline: -2rem; overflow: hidden; padding: .35rem 0 1rem; }
.popular-product-marquee::before, .popular-product-marquee::after { position: absolute; z-index: 3; top: 0; bottom: 0; width: clamp(28px,5vw,80px); content: ""; pointer-events: none; }
.popular-product-marquee::before { left: 0; background: linear-gradient(90deg,#fdf8f9,rgba(253,248,249,0)); }
.popular-product-marquee::after { right: 0; background: linear-gradient(270deg,#fbf0f3,rgba(251,240,243,0)); }
.popular-product-track { --popular-translate: -50%; --popular-duration: 30s; display: flex; width: max-content; will-change: transform; animation: popular-marquee var(--popular-duration) linear infinite; animation-play-state: paused; }
.popular-product-track.is-ready { animation-play-state: running; }
.popular-product-marquee:hover .popular-product-track, .popular-product-marquee:focus-within .popular-product-track { animation-play-state: paused; }
.popular-product-marquee.is-interacting .popular-product-track { animation-play-state: paused; }
.popular-product-group { display: flex; flex: none; gap: 1rem; padding-right: 1rem; }
.popular-product-card { width: clamp(220px,20vw,270px); flex: none; box-shadow: 0 12px 30px rgba(79,48,60,.07); }
.popular-product-card:hover { transform: translateY(-6px) rotate(-.35deg); }
.popular-rank { position: absolute; right: .75rem; bottom: .75rem; display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid rgba(255,255,255,.68); border-radius: 50%; background: rgba(255,253,252,.88); color: #8b4660; font-family: Georgia,serif; font-size: .72rem; font-weight: 800; box-shadow: 0 8px 20px rgba(70,42,52,.1); backdrop-filter: blur(8px); }
.popular-proof { display: block; margin-top: .55rem; color: #9a6679; font-size: .6rem; font-weight: 800; letter-spacing: .025em; }
@keyframes popular-marquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(var(--popular-translate),0,0); } }
.store-section { display: grid; gap: 1.2rem; }
.store-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.store-section-heading h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 500; }
.store-section-heading > a { color: #8b4660; font-size: .85rem; font-weight: 800; }
.category-showcase { padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid #eadfe3; border-radius: 1.45rem; background: rgba(255,255,255,.66); }
.new-arrivals-showcase { min-width: 0; padding: clamp(1.25rem, 2.5vw, 2rem); overflow: hidden; border: 1px solid #eadfe3; border-radius: 1.45rem; background: rgba(255,255,255,.66); box-shadow: 0 10px 30px rgba(73,43,54,.045); }
.category-showcase-heading { padding: 0 .15rem .3rem; }
.store-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.store-category-card { position: relative; display: grid; min-height: 124px; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.15rem; overflow: hidden; border: 1px solid #eadde2; border-radius: 1rem; background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.store-category-card::after { content: ""; position: absolute; width: 82px; height: 82px; right: -44px; bottom: -48px; border-radius: 50%; background: #f5e6eb; transition: transform .25s ease; }
.store-category-card:hover { transform: translateY(-3px); border-color: #d7b9c4; box-shadow: 0 12px 26px rgba(82,51,63,.08); }
.store-category-card:hover::after { transform: scale(1.16); }
.category-number { align-self: start; color: #bd8c9e; font-family: Georgia, serif; font-size: .78rem; letter-spacing: .08em; }
.category-card-copy { display: flex; min-width: 0; flex-direction: column; gap: .4rem; }
.category-card-copy strong { overflow-wrap: anywhere; color: #392c31; font-size: .95rem; line-height: 1.25; }
.category-card-copy small { color: #9a6277; font-size: .61rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.category-arrow { position: relative; z-index: 1; display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #f3e5ea; color: #8b4660; font-size: .9rem; transition: transform .2s ease, background .2s ease, color .2s ease; }
.store-category-card:hover .category-arrow { background: #8b4660; color: #fff; transform: translate(2px, -2px); }
.store-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.home-products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.store-product-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #eadfe3; border-radius: 1.15rem; background: #fff; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.store-product-card:hover { transform: translateY(-4px); border-color: #ddc4cd; box-shadow: 0 16px 36px rgba(79, 48, 60, .1); }
.store-product-image { position: relative; display: block; aspect-ratio: 1 / .86; overflow: hidden; background: #f4e9ed; }
.store-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.store-product-card:hover .store-product-image img { transform: scale(1.035); }
.store-product-image .catalog-image-placeholder { display: grid; width: 100%; height: 100%; margin: 0; place-items: center; background: linear-gradient(135deg, #f0dbe2, #f8eee7); color: #a06b7f; font-size: 2rem; font-weight: 800; }
.store-discount, .store-sold-out { position: absolute; top: .75rem; left: .75rem; padding: .38rem .55rem; border-radius: .5rem; background: #943e60; color: #fff; font-size: .7rem; font-weight: 850; }
.store-sold-out { right: .75rem; left: auto; background: rgba(53,42,46,.78); }
.store-product-content { display: flex; flex: 1; flex-direction: column; padding: 1rem; }
.store-product-categories { display: flex; min-height: 1.2rem; gap: .4rem; overflow: hidden; }
.store-product-categories span { overflow: hidden; color: #9b6479; font-size: .66rem; font-weight: 800; letter-spacing: .04em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.store-product-content h3 { min-height: 2.5em; margin: .45rem 0 .35rem; overflow: hidden; font-size: 1rem; line-height: 1.25; }
.store-product-content > p { min-height: 3.7em; margin: 0 0 .8rem; overflow: hidden; color: #82737a; font-size: .77rem; line-height: 1.55; }
.store-card-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: .7rem; margin-top: auto; }
.store-price { display: flex; min-width: 0; flex-direction: column; }
.store-price del { color: #b4233f; font-size: .73rem; font-weight: 700; }
.store-price strong { color: #4d303b; font-size: 1.15rem; }
.store-card-action { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #f1e2e8; color: #8b4660; font-weight: 900; transition: background .15s ease, color .15s ease; }
.store-card-action:hover { background: #8b4660; color: #fff; }
.store-stock { display: flex; align-items: center; gap: .35rem; margin-top: .8rem; color: #38815c; font-size: .68rem; font-weight: 750; }
.store-stock i { width: .42rem; height: .42rem; border-radius: 50%; background: #42a36e; }
.store-stock.low { color: #a06921; }.store-stock.low i { background: #d69a3a; }
.store-stock.empty { color: #918489; }.store-stock.empty i { background: #a99da1; }
.catalog-page { display: grid; gap: 1.5rem; }
.catalog-curations-shell { display: contents; }
.catalog-curations-cue { display: none; }
.catalog-curations { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .7rem; }
.catalog-curations a { display: grid; min-width: 0; grid-template-columns: 2.3rem 1fr; gap: .08rem .7rem; align-items: center; padding: .8rem; border: 1px solid #e7d9de; border-radius: .9rem; background: #fff; color: #56434b; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.catalog-curations a:hover { transform: translateY(-3px); border-color: #d6b8c3; box-shadow: 0 12px 25px rgba(75,44,56,.08); }
.catalog-curations a.active { border-color: #8b4660; background: linear-gradient(135deg,#8b4660,#a75f79); color: #fff; box-shadow: 0 12px 26px rgba(139,70,96,.2); }
.catalog-curations span { display: grid; width: 2.3rem; height: 2.3rem; grid-row: 1 / 3; place-items: center; border-radius: .7rem; background: #f4e7eb; color: #8b4660; font-weight: 850; }
.catalog-curations .active span { background: rgba(255,255,255,.15); color: #fff; }
.catalog-curations strong,.catalog-curations small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.catalog-curations strong { align-self: end; font-size: .75rem; }.catalog-curations small { align-self: start; color: #937f87; font-size: .61rem; }.catalog-curations .active small { color: rgba(255,255,255,.78); }
.catalog-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .65fr); align-items: end; gap: 2rem; padding: 2.4rem; border-radius: 1.5rem; background: linear-gradient(125deg, #f3dfe6, #fbf4ef); }
.catalog-hero h1 { margin: 0 0 .65rem; font-family: Georgia, serif; font-size: clamp(2.3rem, 4.5vw, 4rem); font-weight: 500; line-height: 1; }
.catalog-hero > div > p:last-child { max-width: 650px; margin: 0; color: #76656c; line-height: 1.55; }
.catalog-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 1.3rem; align-items: start; }
.catalog-sidebar { position: sticky; top: 94px; display: grid; gap: 1rem; }
.catalog-sidebar-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 .25rem; font-weight: 850; }
.catalog-sidebar-heading a { color: #9b4968; font-size: .72rem; }
.catalog-category-list { display: grid; gap: .25rem; padding: .45rem; border: 1px solid #eadfe3; border-radius: 1rem; background: #fff; }
.catalog-category-list a { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .72rem .75rem; border-radius: .65rem; color: #67575e; font-size: .83rem; font-weight: 650; }
.catalog-category-list a:hover { background: #fbf3f6; color: #8b4660; }
.catalog-category-list a.active { background: #8b4660; color: #fff; }
.catalog-category-list b { font-size: .8rem; }
.catalog-help-card { padding: 1rem; border-radius: 1rem; background: #eee0e5; }
.catalog-help-card strong { font-size: .82rem; }
.catalog-help-card p { margin: .35rem 0 0; color: #745f67; font-size: .72rem; line-height: 1.5; }
.catalog-filter-card { overflow: hidden; border: 1px solid #eadfe3; border-radius: 1rem; background: #fff; }
.catalog-filter-heading { display: flex; align-items: center; justify-content: space-between; padding: .9rem 1rem; border-bottom: 1px solid #eee3e7; color: #513c45; font-size: .8rem; font-weight: 850; }
.catalog-filter-heading b { padding: .25rem .45rem; border-radius: 1rem; background: #f2e3e8; color: #8b4660; font-size: .55rem; text-transform: uppercase; }
.catalog-filter-form { display: grid; gap: 1rem; padding: 1rem; }
.catalog-filter-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }.catalog-filter-form legend { margin-bottom: .6rem; color: #66535b; font-size: .68rem; font-weight: 800; }
.catalog-price-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }.catalog-price-fields label { display: grid; gap: .3rem; }.catalog-price-fields span { color: #9a858d; font-size: .6rem; }.catalog-price-fields input { width: 100%; min-width: 0; height: 42px; padding: 0 .6rem; }
.catalog-filter-options { display: grid; gap: .55rem; }.catalog-filter-options label { cursor: pointer; }.catalog-filter-options input { position: absolute; opacity: 0; pointer-events: none; }.catalog-filter-options label > span { display: flex; align-items: center; gap: .55rem; color: #66545b; font-size: .7rem; font-weight: 700; }.catalog-filter-options i { display: grid; width: 1.15rem; height: 1.15rem; flex: 0 0 auto; place-items: center; border: 1px solid #d8c4cc; border-radius: .35rem; background: #fff; }.catalog-filter-options input:checked + span i { border-color: #8b4660; background: #8b4660; box-shadow: inset 0 0 0 3px #fff; }.catalog-filter-options input:focus-visible + span i { outline: 2px solid #bd8298; outline-offset: 2px; }
.catalog-filter-actions { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .7rem; }.catalog-filter-actions button { min-height: 42px; padding: .65rem; font-size: .7rem; }.catalog-filter-actions a { color: #9a5d74; font-size: .66rem; font-weight: 800; }
.catalog-mobile-filters { display: none; }
.catalog-active-filters { display: flex; flex-wrap: wrap; gap: .45rem; margin: -.35rem 0 1rem; }.catalog-active-filters a { display: inline-flex; align-items: center; gap: .45rem; padding: .45rem .65rem; border: 1px solid #dfccd3; border-radius: 2rem; background: #fff; color: #6f5861; font-size: .64rem; font-weight: 750; }.catalog-active-filters a:hover { border-color: #bc899c; }.catalog-active-filters span { color: #9b4968; font-size: .85rem; }.catalog-active-filters .clear { border-color: transparent; background: #f2e5ea; color: #8b4660; }
.catalog-quick-add { display: flex; width: 100%; min-height: 40px; align-items: center; justify-content: center; gap: .45rem; margin-top: .8rem; padding: .55rem .7rem; border: 1px solid #e1cbd3; border-radius: .7rem; background: #fff8fa; color: #8b4660; font-size: .68rem; font-weight: 800; transition: background .18s ease,color .18s ease,transform .18s ease; }.catalog-quick-add:hover { transform: translateY(-1px); background: #8b4660; color: #fff; }.catalog-quick-add.in-cart { border-color: #c5dfd0; background: #edf8f1; color: #28734d; }.catalog-quick-add:disabled { cursor: not-allowed; opacity: .48; transform: none; }.catalog-quick-add span { font-size: 1rem; line-height: 1; }.catalog-quick-add.guest { text-align: center; }
.catalog-mobile-categories { display: none; }
.catalog-results { min-width: 0; }
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; margin-bottom: 1rem; }
.catalog-toolbar > div { display: flex; flex-direction: column; gap: .2rem; }
.catalog-toolbar > div span { color: #8d7c83; font-size: .75rem; }
.catalog-toolbar form { display: flex; align-items: center; gap: .55rem; }
.catalog-toolbar label { color: #7b6a71; font-size: .76rem; font-weight: 750; }
.catalog-toolbar select { min-width: 190px; }
.catalog-empty { display: flex; min-height: 350px; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; border: 1px dashed #d9c7ce; border-radius: 1.2rem; background: #fff; text-align: center; }
.catalog-empty > span { display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 50%; background: #f3e6eb; color: #8b4660; font-size: 2rem; }
.catalog-empty h2 { margin: 1rem 0 .35rem; }.catalog-empty p { margin: 0 0 1.1rem; color: #82747a; }
.cart-page > .catalog-empty[hidden] { display: none; }
@media (max-width: 1050px) { .home-products { grid-template-columns: repeat(3, minmax(0, 1fr)); } .store-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.catalog-curations { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 850px) { .store-home-hero { grid-template-columns: 1fr; min-height: auto; } .store-home-visual { min-height: 320px; } .store-benefits { grid-template-columns: 1fr; padding: 0; } .store-benefits article { padding: .8rem .4rem; } .store-benefits article + article { border-top: 1px solid #eadfe3; border-left: 0; } .catalog-hero { grid-template-columns: 1fr; align-items: start; } .catalog-layout { grid-template-columns: 1fr; } .catalog-sidebar { display: none; } .catalog-mobile-categories { display: block; overflow: hidden; border: 1px solid #e4d4da; border-radius: 1rem; background: #fff; box-shadow: 0 10px 28px rgba(73,43,54,.06); transition: box-shadow .2s ease,border-color .2s ease; } .catalog-mobile-categories[open] { border-color: #d9bdc7; box-shadow: 0 16px 38px rgba(73,43,54,.1); } .catalog-mobile-categories summary { display: grid; min-height: 58px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .15rem .75rem; padding: .7rem .85rem; cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; } .catalog-mobile-categories summary::-webkit-details-marker { display: none; } .catalog-mobile-categories summary span { color: #a66b81; font-size: .58rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; } .catalog-mobile-categories summary strong { grid-row: 2; overflow: hidden; color: #4f3841; font-size: .85rem; text-overflow: ellipsis; white-space: nowrap; } .catalog-mobile-categories summary i { grid-row: 1 / 3; grid-column: 2; color: #8b4660; font-size: 1.2rem; font-style: normal; transition: transform .24s cubic-bezier(.22,.8,.26,1); } .catalog-mobile-categories[open] summary i { transform: rotate(180deg); } .catalog-mobile-categories nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; padding: .7rem; border-top: 1px solid #eee3e7; background: #fdf9fa; } .catalog-mobile-categories nav a { display: flex; min-height: 46px; align-items: center; justify-content: center; padding: .6rem .45rem; border: 1px solid #eadde2; border-radius: .75rem; background: #fff; color: #6f5962; font-size: .7rem; font-weight: 800; line-height: 1.25; text-align: center; } .catalog-mobile-categories nav a.active { border-color: #8b4660; background: #8b4660; color: #fff; box-shadow: 0 6px 15px rgba(139,70,96,.16); } }
@media (max-width: 850px) { .catalog-mobile-filters { display: block; overflow: hidden; border: 1px solid #e4d4da; border-radius: 1rem; background: #fff; }.catalog-mobile-filters summary { display: grid; min-height: 58px; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: .15rem .75rem; padding: .7rem .85rem; cursor: pointer; list-style: none; }.catalog-mobile-filters summary::-webkit-details-marker { display: none; }.catalog-mobile-filters summary span { color: #a66b81; font-size: .58rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }.catalog-mobile-filters summary strong { grid-row: 2; font-size: .85rem; }.catalog-mobile-filters summary i { grid-row: 1 / 3; grid-column: 2; color: #8b4660; font-size: 1.2rem; font-style: normal; transition: transform .24s ease; }.catalog-mobile-filters[open] summary i { transform: rotate(180deg); }.catalog-mobile-filters .catalog-filter-form { border-top: 1px solid #eee3e7; }.catalog-mobile-filters .catalog-price-fields { max-width: 360px; }.catalog-curations { display: flex; flex-wrap: nowrap; margin-inline: -.5rem; padding: .15rem .5rem .7rem; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }.catalog-curations::-webkit-scrollbar { display: none; }.catalog-curations a { min-width: 155px; scroll-snap-align: start; } }
@media (max-width: 700px) { .store-container { width: min(100% - 1rem, 1280px); margin-top: .75rem; } .store-home { gap: 2.2rem; } .store-home-hero { border-radius: 1.3rem; } .store-home-copy { padding: 2rem 1.25rem; } .store-home-copy h1 { font-size: clamp(2.55rem, 13vw, 4.2rem); } .store-home-visual { display: none; } .store-product-grid, .home-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; } .store-product-content { padding: .75rem; } .store-product-content > p { display: none; } .store-product-content h3 { font-size: .88rem; } .store-price strong { font-size: 1rem; } .store-product-image { aspect-ratio: 1; } .catalog-hero { padding: 1.5rem 1rem; border-radius: 1.15rem; } .catalog-toolbar { align-items: flex-start; flex-direction: column; } .catalog-toolbar form { width: 100%; justify-content: space-between; } .catalog-toolbar select { flex: 1; min-width: 0; } }
@media (max-width: 700px) { .catalog-quick-add { min-height: 36px; padding-inline: .35rem; }.catalog-quick-add b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }
@media (max-width: 700px) { .category-showcase { padding: 1rem; border-radius: 1.2rem; } }
@media (max-width: 700px) { .popular-showcase { padding: 1rem; border-radius: 1.2rem; }.popular-showcase-heading { align-items: flex-start; }.popular-showcase-heading > a { display: none; }.popular-product-marquee { width: calc(100% + 2rem); margin-inline: -1rem; }.popular-product-group { gap: .65rem; padding-right: .65rem; }.popular-product-card { width: min(46vw,190px); }.popular-product-track { animation-duration: 24s; } }
@media (max-width: 520px) { .store-category-grid { grid-template-columns: 1fr; } .store-category-card { min-height: 104px; } }
@media (max-width: 480px) { .store-search button { min-width: auto; } .store-hero-actions { align-items: flex-start; flex-direction: column; gap: .65rem; } .store-section-heading { align-items: flex-start; flex-direction: column; } .store-product-grid, .home-products { grid-template-columns: repeat(2, minmax(0, 1fr)); } .store-product-categories { display: none; } .store-product-content h3 { margin-top: 0; min-height: 3.75em; } .store-stock { font-size: .62rem; } }

/* Authentication */
.auth-page { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); min-height: 650px; overflow: hidden; border: 1px solid #eadde2; border-radius: 1.6rem; background: #fff; box-shadow: 0 22px 65px rgba(74, 43, 55, .09); }
.auth-showcase { position: relative; display: flex; overflow: hidden; padding: clamp(2.2rem, 5vw, 4.5rem); background: linear-gradient(140deg, #f1dce4 0%, #faf0eb 58%, #e7ced8 100%); }
.auth-showcase::before, .auth-showcase::after { content: ""; position: absolute; border: 1px solid rgba(139, 70, 96, .14); border-radius: 50%; }
.auth-showcase::before { width: 420px; height: 420px; right: -190px; top: -170px; }
.auth-showcase::after { width: 260px; height: 260px; right: -110px; bottom: -100px; }
.auth-showcase-copy { position: relative; z-index: 2; display: flex; max-width: 560px; flex-direction: column; justify-content: center; }
.auth-back-link { position: absolute; top: 0; left: 0; color: #86526a; font-size: .78rem; font-weight: 800; }
.auth-showcase h1 { max-width: 540px; margin: .1rem 0 1rem; font-family: Georgia, serif; font-size: clamp(3rem, 4.6vw, 4.4rem); font-weight: 500; line-height: .98; letter-spacing: -.045em; }
.auth-showcase-copy > p:not(.store-eyebrow) { max-width: 500px; margin: 0; color: #725e66; line-height: 1.65; }
.auth-benefit-list { display: grid; gap: .75rem; margin-top: 2.2rem; }
.auth-benefit-list > div { display: flex; align-items: center; gap: .8rem; padding: .75rem 0; border-top: 1px solid rgba(139, 70, 96, .13); }
.auth-benefit-list > div > span { color: #a2677d; font-family: Georgia, serif; font-size: .9rem; }
.auth-benefit-list p { display: flex; margin: 0; flex-direction: column; gap: .18rem; }
.auth-benefit-list strong { font-size: .85rem; }.auth-benefit-list small { color: #8a747d; font-size: .72rem; }
.auth-decoration { position: absolute; right: 2rem; bottom: 2rem; width: 180px; height: 190px; opacity: .28; }
.auth-decoration i { position: absolute; bottom: 0; width: 46px; border: 1px solid #8b4660; border-radius: .7rem .7rem 1rem 1rem; background: rgba(255,255,255,.45); }
.auth-decoration i::before { content: ""; position: absolute; top: -18px; left: 30%; width: 40%; height: 20px; border-radius: .25rem .25rem 0 0; background: #8b4660; }
.auth-decoration i:nth-child(1) { right: 110px; height: 115px; }.auth-decoration i:nth-child(2) { right: 55px; height: 150px; }.auth-decoration i:nth-child(3) { right: 0; height: 85px; }
.auth-decoration b { position: absolute; top: 42%; right: 69px; color: #8b4660; font-family: Georgia, serif; }
.auth-panel { display: flex; justify-content: center; flex-direction: column; padding: clamp(2rem, 5vw, 4.5rem); }
.auth-panel-heading { display: flex; align-items: center; gap: .85rem; }
.auth-lock { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: #f3e6eb; color: #8b4660; font-size: 1.3rem; }
.auth-panel-heading h2 { margin: 0; font-family: Georgia, serif; font-size: 2.3rem; font-weight: 500; }
.auth-panel-heading .store-eyebrow { margin-bottom: .3rem; }
.auth-intro { margin: 1rem 0 1.6rem; color: #7d6b72; font-size: .85rem; line-height: 1.55; }
.auth-form { display: grid; gap: .55rem; }
.auth-form > label { display: flex; flex-direction: column; gap: .5rem; color: #55464c; font-size: .78rem; font-weight: 800; }
.auth-input { width: 100%; height: 50px; padding: .8rem .9rem; border: 1px solid #d7c8ce; border-radius: .7rem; background: #fefcfc; outline: none; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.auth-input:focus { border-color: #9b536e; background: #fff; box-shadow: 0 0 0 4px rgba(139, 70, 96, .09); }
.auth-password-field { position: relative; display: block; }
.auth-password-field .auth-input { padding-right: 5.2rem; }
.password-toggle { position: absolute; top: 50%; right: .45rem; padding: .45rem .55rem; transform: translateY(-50%); border-radius: .5rem; background: transparent; color: #8b4660; font-size: .68rem; font-weight: 850; }
.password-toggle:hover { background: #f5e9ed; }
.auth-error { margin: -.1rem 0 .25rem; color: #a33d46; font-size: .72rem; }
.auth-form-options { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .4rem 0 .65rem; }
.auth-checkbox { display: inline-flex; align-items: center; gap: .45rem; color: #6f5e65; font-size: .76rem; cursor: pointer; }
.auth-checkbox input { width: 1rem; height: 1rem; accent-color: #8b4660; }
.auth-security-note { display: inline-flex; align-items: center; gap: .35rem; color: #7b8b80; font-size: .68rem; font-weight: 750; }
.auth-security-note::before { content: "✓"; display: grid; width: 1.1rem; height: 1.1rem; place-items: center; border-radius: 50%; background: #e4f2e9; color: #3c7754; }
.auth-submit { width: 100%; min-height: 48px; text-align: center; font-weight: 850; box-shadow: 0 8px 20px rgba(139, 70, 96, .17); }
.auth-register-prompt { display: flex; align-items: center; justify-content: center; gap: .45rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #eee4e7; color: #85747b; font-size: .78rem; }
.auth-register-prompt a { color: #8b4660; font-weight: 850; }
.reauth-page { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.72fr); min-height: 560px; overflow: hidden; border: 1px solid #eadde2; border-radius: 1.6rem; background: #fff; box-shadow: 0 22px 65px rgba(74,43,55,.09); }
.reauth-visual { position: relative; display: flex; align-items: center; padding: clamp(2rem,5vw,4.5rem); overflow: hidden; background: linear-gradient(140deg,#6d354b,#934d68 62%,#bd8096); color: #fff; }
.reauth-visual::after { content: ""; position: absolute; width: 340px; height: 340px; top: -210px; right: -90px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.025),0 0 0 105px rgba(255,255,255,.018); }
.reauth-visual .auth-back-link { top: 2rem; left: clamp(2rem,5vw,4.5rem); color: rgba(255,255,255,.8); }
.reauth-visual-copy { position: relative; z-index: 1; max-width: 590px; }
.reauth-visual-copy > span { display: grid; width: 4rem; height: 4rem; margin-bottom: 1.4rem; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 1rem; background: rgba(255,255,255,.1); font-size: 1.5rem; }
.reauth-visual .store-eyebrow { color: #f3d8e2; }
.reauth-visual h1 { margin: .35rem 0 .8rem; font-family: Georgia,serif; font-size: clamp(2.7rem,5vw,4.3rem); font-weight: 500; line-height: 1; }
.reauth-visual-copy > p:last-child { max-width: 520px; margin: 0; color: rgba(255,255,255,.72); line-height: 1.6; }
.reauth-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,4vw,3.8rem); }
.reauth-user { display: flex; align-items: center; gap: .75rem; margin-top: 1.5rem; padding: .75rem; border: 1px solid #eadde2; border-radius: .8rem; background: #fbf4f6; }
.reauth-user > span { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; border-radius: .7rem; background: #8b4660; color: #fff; font-family: Georgia,serif; font-size: .72rem; }
.reauth-user > div { display: flex; min-width: 0; flex-direction: column; gap: .15rem; }
.reauth-user strong { font-size: .8rem; }.reauth-user small { overflow: hidden; color: #8d7b82; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.reauth-signout { width: 100%; margin-top: .7rem; border: 1px solid #eadde2; background: #fff; color: #825066; }
@media (max-width: 900px) { .auth-page { grid-template-columns: 1fr; } .auth-showcase { min-height: 360px; } .auth-showcase h1 { font-size: 3.5rem; } .auth-decoration { display: none; } }
@media (max-width: 850px) { .reauth-page { grid-template-columns: 1fr; }.reauth-visual { min-height: 310px; }.reauth-panel { min-height: 420px; } }
@media (max-width: 560px) { .auth-page { min-height: 0; border-radius: 1.15rem; } .auth-showcase { min-height: 250px; padding: 4.2rem 1.4rem 1.6rem; } .auth-showcase h1 { font-size: 2.8rem; } .auth-benefit-list { display: none; } .auth-panel { padding: 1.7rem 1.25rem; } .auth-form-options { align-items: flex-start; flex-direction: column; gap: .6rem; } .auth-register-prompt { flex-wrap: wrap; } }
@media (max-width: 560px) { .reauth-page { border-radius: 1.15rem; }.reauth-visual { min-height: 250px; padding: 4.2rem 1.3rem 1.5rem; }.reauth-visual .auth-back-link { top: 1.5rem; left: 1.3rem; }.reauth-visual-copy > span { display: none; }.reauth-visual h1 { font-size: 2.6rem; }.reauth-panel { min-height: 0; padding: 1.7rem 1.25rem; } }
.registration-page { grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr); min-height: 760px; }
.registration-showcase h1 { font-size: clamp(2.8rem, 4.4vw, 4.2rem); }
.registration-promise { display: grid; grid-template-columns: auto 1fr; gap: .85rem .7rem; margin-top: 2rem; }
.registration-promise > span { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.6); color: #8b4660; font-size: .7rem; font-weight: 900; }
.registration-promise > div { display: flex; flex-direction: column; gap: .15rem; }
.registration-promise strong { font-size: .8rem; }.registration-promise small { color: #856f78; font-size: .68rem; line-height: 1.4; }
.registration-panel { padding: clamp(2rem, 4vw, 3.6rem); }
.registration-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.registration-form-grid > label { display: flex; min-width: 0; flex-direction: column; gap: .42rem; color: #55464c; font-size: .76rem; font-weight: 800; }
.registration-wide { grid-column: 1 / -1; }
.auth-field-help { min-height: 1em; color: #98888e; font-size: .64rem; font-weight: 500; }
.registration-form-grid .auth-error { margin: 0; }
.registration-consent { display: flex; align-items: center; gap: .55rem; margin: .35rem 0; padding: .8rem .9rem; border: 1px solid #eadde2; border-radius: .8rem; background: #fffafb; }
.registration-consent > label { display: inline-flex; min-width: 0; align-items: center; gap: .6rem; color: #684f59; font-size: .74rem; font-weight: 750; cursor: pointer; }
.registration-consent input { width: 1.05rem; height: 1.05rem; flex: 0 0 auto; accent-color: #8b4660; }
.consent-tooltip { position: relative; display: inline-flex; flex: 0 0 auto; }
.consent-tooltip > button { display: grid; width: 1.35rem; height: 1.35rem; padding: 0; place-items: center; border: 1px solid #d9c4cc; border-radius: 50%; background: #f3e5ea; color: #8b4660; font-size: .68rem; font-weight: 900; }
.consent-tooltip > span { position: absolute; z-index: 20; right: -.45rem; bottom: calc(100% + .65rem); width: min(300px, calc(100vw - 3rem)); padding: .75rem .85rem; transform: translateY(.25rem); border: 1px solid #d8c2cb; border-radius: .75rem; background: #543743; color: #fff; box-shadow: 0 12px 28px rgba(51,29,38,.2); font-size: .66rem; font-weight: 500; line-height: 1.5; opacity: 0; pointer-events: none; transition: opacity .15s ease,transform .15s ease; }
.consent-tooltip > span::after { position: absolute; right: .75rem; top: 100%; border: .38rem solid transparent; border-top-color: #543743; content: ""; }
.consent-tooltip:hover > span,.consent-tooltip:focus-within > span { transform: translateY(0); opacity: 1; }
.registration-security { display: flex; align-items: center; gap: .5rem; margin: .25rem 0 .55rem; color: #78867d; font-size: .68rem; }
.registration-security span { display: grid; width: 1.2rem; height: 1.2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e4f2e9; color: #3c7754; font-weight: 900; }
@media (max-width: 950px) { .registration-page { grid-template-columns: 1fr; } .registration-showcase { min-height: 330px; } }
@media (max-width: 560px) { .registration-showcase { min-height: 270px; } .registration-promise { display: none; } .registration-form-grid { grid-template-columns: 1fr; } .registration-wide { grid-column: auto; } .registration-panel { padding: 1.7rem 1.25rem; } }
.phone-verification-page { display: grid; grid-template-columns: .8fr 1.2fr; max-width: 850px; min-height: 520px; margin: 1rem auto; overflow: hidden; border: 1px solid #eadde2; border-radius: 1.6rem; background: #fff; box-shadow: 0 22px 65px rgba(74, 43, 55, .09); }
.verification-visual { position: relative; display: grid; align-content: center; justify-items: center; gap: 1rem; overflow: hidden; background: linear-gradient(140deg, #f1dce4, #f9ece8); }
.verification-visual::before, .verification-visual::after { content: ""; position: absolute; border: 1px solid rgba(139,70,96,.15); border-radius: 50%; }
.verification-visual::before { width: 280px; height: 280px; top: -130px; left: -130px; }.verification-visual::after { width: 190px; height: 190px; right: -90px; bottom: -60px; }
.verification-visual span { display: grid; width: 5rem; height: 5rem; place-items: center; border-radius: 50%; background: rgba(255,255,255,.75); color: #8b4660; font-size: 2rem; box-shadow: 0 12px 32px rgba(91,53,68,.1); }
.verification-visual i { color: #8b6170; font-size: 1.3rem; font-style: normal; font-weight: 850; letter-spacing: .35em; }
.verification-card { display: flex; justify-content: center; flex-direction: column; padding: clamp(2rem, 5vw, 4rem); }
.verification-card h1 { margin: 0 0 .8rem; font-family: Georgia, serif; font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 500; line-height: 1; }
.verification-card > p:not(.store-eyebrow) { margin: 0 0 1.5rem; color: #796870; line-height: 1.55; }
.verification-form { max-width: 360px; }
.verification-code { height: 58px; font-size: 1.35rem; font-weight: 850; letter-spacing: .35em; text-align: center; }
.verification-note { display: flex; gap: .65rem; margin-top: 1.3rem; padding: .8rem; border-radius: .75rem; background: #f6f1f3; }
.verification-note > span { color: #48805e; font-weight: 900; }.verification-note p { display: flex; margin: 0; flex-direction: column; gap: .15rem; }.verification-note strong { font-size: .72rem; }.verification-note small { color: #83757a; font-size: .65rem; line-height: 1.4; }
.verification-back { margin-top: 1.1rem; color: #8b4660; font-size: .72rem; font-weight: 800; }
@media (max-width: 650px) { .phone-verification-page { grid-template-columns: 1fr; min-height: 0; border-radius: 1.15rem; } .verification-visual { min-height: 150px; } .verification-visual span { width: 3.8rem; height: 3.8rem; } .verification-card { padding: 1.8rem 1.25rem; } .verification-form { max-width: none; } }

/* Persistent shopping cart */
.nav-cart-count { display: inline-grid; min-width: 1.25rem; height: 1.25rem; margin-left: .2rem; padding: 0 .3rem; place-items: center; border-radius: 1rem; background: #8b4660; color: #fff; font-size: .62rem; }
.product-detail-page { display: grid; max-width: 1320px; gap: 1.5rem; margin: 1.2rem auto 3rem; }
.product-breadcrumb { display: flex; align-items: center; gap: .45rem; padding: 0 .25rem; overflow: hidden; color: #aa8996; font-size: .7rem; white-space: nowrap; }.product-breadcrumb a { color: #8b4660; }.product-breadcrumb b { overflow: hidden; color: #76636b; font-weight: 650; text-overflow: ellipsis; }
.product-purchase-detail { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(430px,.95fr); gap: clamp(1.8rem,3vw,3.5rem); align-items: stretch; padding: clamp(1rem, 2vw, 1.65rem); overflow: hidden; border: 1px solid #eadde2; border-radius: 1.7rem; background: linear-gradient(120deg,#fff 0%,#fff 62%,#fbf1f4 100%); box-shadow: 0 26px 75px rgba(76,45,56,.09); }.product-purchase-detail::after { position: absolute; right: -120px; bottom: -180px; width: 360px; height: 360px; border: 1px solid rgba(139,70,96,.08); border-radius: 50%; box-shadow: 0 0 0 55px rgba(139,70,96,.025); content: ""; pointer-events: none; }
.product-detail-media { position: relative; display: grid; min-height: 610px; overflow: hidden; place-items: center; border-radius: 1.25rem; background: linear-gradient(145deg, #f6e9ed, #fbf6f1); }
.product-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.product-detail-media .catalog-image-placeholder { min-height: 540px; font-size: 4rem; }
.product-detail-discount { position: absolute; top: 1rem; left: 1rem; padding: .55rem .7rem; border-radius: .65rem; background: #913e5d; color: #fff; font-size: .75rem; font-weight: 900; box-shadow: 0 8px 22px rgba(93,39,59,.2); }.product-detail-index { position: absolute; right: 1rem; bottom: 1rem; padding: .45rem .65rem; border: 1px solid rgba(255,255,255,.45); border-radius: 2rem; background: rgba(255,255,255,.78); color: #7f5565; font-size: .62rem; font-weight: 850; letter-spacing: .08em; backdrop-filter: blur(8px); }
.product-detail-copy { position: relative; z-index: 1; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(1rem,3vw,2.5rem) clamp(.3rem,2vw,1rem); }
.product-detail-copy h1 { max-width: 100%; margin: .55rem 0 1rem; overflow-wrap: break-word; font-family: Georgia, serif; font-size: clamp(2.35rem,3.15vw,3.65rem); font-weight: 500; line-height: 1.02; letter-spacing: -.025em; text-wrap: balance; hyphens: auto; }
.product-back-link { color: #8b4660; font-size: .78rem; font-weight: 800; }
.product-detail-categories { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.5rem; }.product-detail-categories a { padding: .34rem .55rem; border-radius: 2rem; background: #f2e3e8; color: #8b4660; font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.product-description { max-width: 540px; color: #78676e; line-height: 1.7; }
.product-price-line { display: flex; align-items: baseline; gap: .8rem; margin: 1.5rem 0 .65rem; }
.product-price-line strong { color: #5f3344; font-family: Georgia, serif; font-size: 2rem; }.product-price-line span { color: #9b6779; font-size: .75rem; }.product-price-line del { color: #b4233f; font-weight: 750; }
.product-availability { display: flex; align-items: center; gap: .45rem; color: #397d59; font-size: .75rem; font-weight: 800; }.product-availability i { width: .48rem; height: .48rem; border-radius: 50%; background: #3ca16a; }.product-availability.empty { color: #9b4d55; }.product-availability.empty i { background: #b64c57; }
.product-stock-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .85rem; border: 1px solid #eadde2; border-radius: .75rem; background: rgba(255,255,255,.72); }.product-stock-card .product-availability { margin: 0; }.product-stock-card small { color: #9b8990; font-size: .62rem; font-weight: 750; }
.product-stock-card.changed { animation: stock-card-update .8s ease; }.product-availability b { font: inherit; }.product-stock-notice { max-height: 0; margin: 0 .15rem; overflow: hidden; color: #9a642b; font-size: .68rem; font-weight: 750; opacity: 0; transition: max-height .25s ease, margin .25s ease, opacity .25s ease; }.product-stock-notice.visible { max-height: 3rem; margin-top: .65rem; opacity: 1; }@keyframes stock-card-update { 40% { border-color: #d79b54; background: #fff9ee; box-shadow: 0 0 0 4px rgba(215,155,84,.1); } }
.product-cart-controls { display: grid; grid-template-columns: auto minmax(190px, 1fr); gap: .65rem 1rem; align-items: center; margin-top: 1.7rem; padding-top: 1.3rem; border-top: 1px solid #eee3e7; }.product-cart-controls > label { grid-column: 1 / -1; color: #76636b; font-size: .72rem; font-weight: 850; }.product-cart-controls > small { grid-column: 1 / -1; color: #93838a; font-size: .66rem; }
.product-related { margin-top: 1.4rem; padding: 1.8rem clamp(1rem,2vw,1.4rem) 1.4rem; border: 1px solid #e9dce1; border-radius: 1.25rem; background: #fff; }.product-related-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.quantity-picker { display: grid; grid-template-columns: 42px 58px 42px; height: 48px; overflow: hidden; border: 1px solid #d8c8ce; border-radius: .8rem; background: #fff; }.quantity-picker button { background: #faf4f6; color: #8b4660; font-size: 1.15rem; }.quantity-picker button:hover { background: #f1e2e7; }.quantity-picker input { min-width: 0; padding: 0; border: 0; border-right: 1px solid #e5d8dd; border-left: 1px solid #e5d8dd; border-radius: 0; text-align: center; -moz-appearance: textfield; }.quantity-picker input::-webkit-outer-spin-button, .quantity-picker input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.product-add-button { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; border-radius: .8rem; background: #8b4660; color: #fff; font-size: .78rem; font-weight: 850; box-shadow: 0 10px 25px rgba(139,70,96,.2); transition: transform .18s ease, background .18s ease; }.product-add-button:hover { background: #74374e; color: #fff; transform: translateY(-1px); }.product-add-button:disabled { background: #cbbcc1; box-shadow: none; cursor: not-allowed; }.product-add-button b { white-space: nowrap; }
.floating-cart { position: fixed; z-index: 80; right: 1.25rem; bottom: 1.25rem; pointer-events: none; }
.floating-cart-trigger { position: relative; display: flex; min-width: 190px; align-items: center; gap: .7rem; padding: .65rem .75rem; border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; background: #8b4660; color: #fff; box-shadow: 0 18px 45px rgba(73,35,49,.3); opacity: 0; pointer-events: none; transform: translateY(25px) scale(.94); transition: opacity .28s ease, transform .28s ease, box-shadow .2s ease; }.floating-cart.has-items .floating-cart-trigger { opacity: 1; pointer-events: auto; transform: none; }.floating-cart-trigger:hover { box-shadow: 0 22px 55px rgba(73,35,49,.38); transform: translateY(-2px); }.floating-cart-trigger.cart-arrival { animation: cart-trigger-arrival .65s cubic-bezier(.2,.8,.3,1); }.floating-cart-trigger.cart-arrival .floating-cart-badge { animation: cart-badge-arrival .65s ease; }
.cart-add-toast { position: absolute; right: 0; bottom: calc(100% + .75rem); width: max-content; max-width: min(280px, calc(100vw - 1.4rem)); padding: .65rem .9rem .65rem 2rem; border: 1px solid #cde2d3; border-radius: .8rem; background: rgba(251,255,252,.96); color: #34724f; box-shadow: 0 12px 35px rgba(55,79,63,.16); font-size: .72rem; font-weight: 800; opacity: 0; pointer-events: none; transform: translateY(10px) scale(.96); transition: opacity .22s ease, transform .28s cubic-bezier(.2,.8,.3,1); }.cart-add-toast::before { position: absolute; left: .75rem; content: "✓"; }.cart-add-toast.visible { opacity: 1; transform: none; }.cart-add-toast.error { border-color: #efcdd1; background: #fff8f8; color: #9b3944; }.cart-add-toast.error::before { content: "!"; }
.cart-arrival-burst { position: absolute; z-index: -1; top: 50%; left: 50%; width: 1px; height: 1px; pointer-events: none; }.cart-arrival-burst i { --angle: 0deg; position: absolute; width: 6px; height: 6px; border-radius: 50%; background: #cf8aa3; animation: cart-particle .7s ease-out forwards; transform: rotate(var(--angle)) translateX(12px); }
.floating-cart-icon { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: .7rem; background: rgba(255,255,255,.16); font-size: 1.25rem; }.floating-cart-trigger-copy { display: flex; min-width: 74px; flex-direction: column; align-items: flex-start; }.floating-cart-trigger-copy strong { font-size: .78rem; }.floating-cart-trigger-copy small { margin-top: .12rem; color: #f3dfe6; font-size: .65rem; }.floating-cart-badge { display: grid; min-width: 1.7rem; height: 1.7rem; margin-left: auto; padding: 0 .35rem; place-items: center; border-radius: 2rem; background: #fff; color: #8b4660; font-size: .68rem; font-weight: 900; }
.cart-backdrop { position: fixed; z-index: 81; inset: 0; background: rgba(43,27,33,.32); opacity: 0; pointer-events: none; backdrop-filter: blur(3px); transition: opacity .3s ease; }.floating-cart.open .cart-backdrop { opacity: 1; pointer-events: auto; }
.cart-drawer { position: fixed; z-index: 82; top: 0; right: 0; display: flex; width: min(440px, 100vw); height: 100dvh; flex-direction: column; background: #fffdfa; box-shadow: -25px 0 65px rgba(51,30,38,.2); pointer-events: auto; transform: translateX(105%); transition: transform .38s cubic-bezier(.22,.8,.26,1); }.floating-cart.open .cart-drawer { transform: none; }
.cart-drawer-header { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 1.35rem; border-bottom: 1px solid #eadde2; background: linear-gradient(120deg, #f7e9ee, #fff9f4); }.cart-drawer-header span { color: #9b5d75; font-size: .62rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }.cart-drawer-header h2 { margin: .15rem 0 0; font-family: Georgia, serif; font-size: 1.9rem; font-weight: 500; }.cart-close { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: 50%; background: rgba(139,70,96,.1); color: #8b4660; font-size: 1.35rem; }.cart-close:hover { background: #8b4660; color: #fff; }
.cart-feedback { position: absolute; z-index: 2; top: 5.5rem; right: 1.2rem; left: 1.2rem; padding: .65rem .8rem; border-radius: .65rem; background: #e6f3ea; color: #34724f; font-size: .72rem; font-weight: 800; opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease; }.cart-feedback.visible { opacity: 1; transform: none; }.cart-feedback.error { background: #f9e6e8; color: #9b3944; }
.cart-drawer-items { display: grid; gap: .15rem; flex: 1; align-content: start; padding: .65rem 1.2rem; overflow-y: auto; }.cart-drawer-item { display: grid; grid-template-columns: 72px minmax(0,1fr) auto; gap: .8rem; align-items: center; padding: .85rem .1rem; border-bottom: 1px solid #eee4e7; }.cart-drawer-image { display: grid; width: 72px; height: 82px; overflow: hidden; place-items: center; border-radius: .75rem; background: #f2e6ea; color: #8b4660; font-family: Georgia,serif; }.cart-drawer-image img { width: 100%; height: 100%; object-fit: cover; }.cart-drawer-item-copy { min-width: 0; }.cart-drawer-item-name { display: block; overflow: hidden; color: #47383e; font-size: .78rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }.cart-drawer-item-copy small { display: block; margin-top: .28rem; color: #96858c; font-size: .62rem; }.cart-line-total { align-self: start; padding-top: .1rem; color: #673d4d; font-size: .75rem; white-space: nowrap; }
.cart-item-controls { display: flex; align-items: center; gap: .15rem; margin-top: .55rem; }.cart-item-controls > button:not(.cart-item-remove) { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: .45rem; background: #f4e9ed; color: #8b4660; }.cart-item-controls input { width: 2.1rem; height: 1.7rem; padding: 0; border: 0; background: transparent; text-align: center; }.cart-item-remove { margin-left: .35rem; background: transparent; color: #a8545d; font-size: .6rem; text-decoration: underline; }.cart-drawer-empty { display: grid; min-height: 50vh; align-content: center; justify-items: center; padding: 2rem; text-align: center; }.cart-drawer-empty > span { display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 50%; background: #f2e5ea; color: #8b4660; font-size: 2rem; }.cart-drawer-empty h3 { margin: 1rem 0 .3rem; font-family: Georgia,serif; font-size: 1.5rem; }.cart-drawer-empty p { margin: 0; color: #8d7c83; font-size: .75rem; }
.cart-drawer-footer { padding: 1rem 1.25rem 1.2rem; border-top: 1px solid #e7d9de; background: #fff; box-shadow: 0 -12px 30px rgba(74,43,55,.05); }.cart-summary-row, .cart-summary-total { display: flex; justify-content: space-between; }.cart-summary-row { color: #8a7880; font-size: .7rem; }.cart-summary-total { align-items: baseline; margin: .45rem 0 1rem; }.cart-summary-total span { font-weight: 850; }.cart-summary-total strong { color: #5d3242; font-family: Georgia,serif; font-size: 1.6rem; }.cart-checkout-button { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: .7rem; padding: .75rem 1rem; border-radius: .75rem; background: #8b4660; color: #fff; font-size: .75rem; font-weight: 850; text-align: center; }.cart-checkout-button:hover { background: #73354c; color: #fff; }.cart-footer-actions { display: flex; justify-content: space-between; margin-top: .75rem; }.cart-footer-actions button, .cart-page-summary > button { background: transparent; color: #8b6674; font-size: .65rem; text-decoration: underline; }.cart-footer-actions button:first-child { color: #a34a53; }.cart-drawer-open { overflow: hidden; }
.cart-drawer-footer > form, .cart-page-summary > form { margin: 0; }.cart-drawer-footer > form .cart-checkout-button, .cart-page-summary > form .cart-checkout-button { width: 100%; }
.cart-reservation-notice { display: grid; gap: .8rem; margin: .8rem 1.2rem 0; padding: 1rem; border: 1px solid #e7c876; border-radius: .9rem; background: #fff8df; color: #634f23; }.cart-reservation-notice strong { display: block; font-size: .82rem; }.cart-reservation-notice p { margin: .25rem 0 0; font-size: .68rem; line-height: 1.5; }.cart-reservation-actions { display: grid; gap: .5rem; }.cart-reservation-actions form { margin: 0; }.cart-cancel-reservation { width: 100%; padding: .65rem; border: 1px solid #d9bd70; border-radius: .65rem; background: #fffdf7; color: #8b4660; font-size: .68rem; font-weight: 800; }.cart-item-controls button:disabled, .cart-item-controls input:disabled, .cart-footer-actions button:disabled { cursor: not-allowed; opacity: .45; }.cart-reserved-badge { display: inline-flex; align-items: center; margin-top: .45rem; padding: .22rem .48rem; border-radius: 999px; background: #fff1c8; color: #7d5d13; font-size: .58rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.cart-reservation-notice[hidden] { display: none; }
.cart-flying-product { position: fixed !important; z-index: 120; object-fit: cover; overflow: hidden; border: 2px solid rgba(255,255,255,.85); border-radius: 1.2rem; box-shadow: 0 20px 55px rgba(75,39,53,.35); pointer-events: none; transform-origin: center; will-change: transform, opacity, filter; }
@keyframes cart-trigger-arrival { 0%, 100% { transform: none; } 35% { transform: translateY(-7px) scale(1.07) rotate(-1deg); box-shadow: 0 25px 65px rgba(139,70,96,.5); } 60% { transform: translateY(2px) scale(.98); } }
@keyframes cart-badge-arrival { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.55); background: #f7d9e3; color: #74354d; } }
@keyframes cart-particle { from { opacity: 1; transform: rotate(var(--angle)) translateX(8px) scale(1); } to { opacity: 0; transform: rotate(var(--angle)) translateX(58px) scale(.25); } }
.cart-page { display: grid; gap: 1.5rem; }.cart-page-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 1.4rem; align-items: start; }.cart-page-list { display: grid; gap: .75rem; }.cart-page-item { display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid #e9dce1; border-radius: 1rem; background: #fff; }.cart-page-image { display: grid; width: 90px; height: 90px; overflow: hidden; place-items: center; border-radius: .75rem; background: #f3e7eb; color: #8b4660; }.cart-page-image img { width: 100%; height: 100%; object-fit: cover; }.cart-page-item small { color: #9b8990; font-size: .62rem; }.cart-page-item h2 { margin: .2rem 0; font-size: .95rem; }.cart-page-item p { margin: 0; color: #836f77; font-size: .72rem; }.cart-page-item > strong { color: #633848; }.cart-page-summary { display: grid; gap: 1rem; padding: 1.2rem; border: 1px solid #e5d6dc; border-radius: 1rem; background: #fff; }.cart-page-summary > span { color: #8d7a82; font-size: .7rem; }.cart-page-summary > div { display: flex; align-items: baseline; justify-content: space-between; }.cart-page-summary > div strong { font-family: Georgia,serif; font-size: 1.5rem; }.checkout-placeholder { display: grid; max-width: 720px; min-height: 520px; margin: 2rem auto; align-content: center; justify-items: center; padding: 3rem; border: 1px solid #e6d8dd; border-radius: 1.5rem; background: linear-gradient(145deg,#fff,#f9eef1); text-align: center; box-shadow: 0 22px 65px rgba(73,42,54,.08); }.checkout-icon { display: grid; width: 4.5rem; height: 4.5rem; margin-bottom: 1rem; place-items: center; border-radius: 50%; background: #e4f1e8; color: #397657; font-size: 1.8rem; }.checkout-placeholder h1 { margin: .35rem 0 .7rem; font-family: Georgia,serif; font-size: 2.7rem; font-weight: 500; }.checkout-placeholder > p:not(.store-eyebrow) { max-width: 520px; color: #7f6c74; line-height: 1.6; }.checkout-placeholder > strong { margin: .8rem 0 1.4rem; color: #633848; font-size: 1.35rem; }.checkout-placeholder > div { display: flex; gap: .75rem; }
.cart-page-main { display: grid; gap: .9rem; min-width: 0; }
.cart-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 .15rem .25rem; }
.cart-list-heading > div { display: flex; align-items: center; gap: .75rem; }
.cart-list-heading h2,.cart-list-heading p { margin: 0; }
.cart-list-heading h2 { font-family: Georgia,serif; font-size: 1.35rem; font-weight: 500; }
.cart-list-heading p { margin-top: .18rem; color: #8b7880; font-size: .68rem; }
.cart-list-step { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; background: #8b4660; color: #fff; font-size: .7rem; font-weight: 850; }
.cart-clear-page { padding: .45rem .25rem; background: transparent; color: #a04b56; font-size: .67rem; font-weight: 800; text-decoration: underline; }
.cart-page-item { grid-template-columns: 112px minmax(0,1fr) auto; min-height: 150px; padding: 1rem 1.1rem; transition: opacity .15s ease,border-color .15s ease,box-shadow .15s ease; }
.cart-page-item:hover { border-color: #d9bcc7; box-shadow: 0 14px 35px rgba(75,43,55,.07); }
.cart-page-item.is-updating { opacity: .55; pointer-events: none; }
.cart-page-image { width: 112px; height: 118px; }
.cart-page-copy { display: grid; min-width: 0; align-content: center; justify-items: start; }
.cart-page-meta { display: flex; flex-wrap: wrap; gap: .35rem; }
.cart-page-meta span { padding: .25rem .42rem; border-radius: 999px; background: #f4e9ed; color: #8b5267; font-size: .56rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.cart-page-copy h2 { margin: .45rem 0 .3rem; font-size: 1.05rem; }
.cart-page-stock { display: flex; align-items: center; gap: .35rem; color: #4f8a67; font-size: .63rem; font-weight: 750; }
.cart-page-stock i { width: .42rem; height: .42rem; border-radius: 50%; background: #45a56e; }
.cart-page-controls { display: flex; align-items: center; gap: .75rem; margin-top: .8rem; }
.cart-page-quantity { display: grid; grid-template-columns: 36px 48px 36px; height: 38px; overflow: hidden; border: 1px solid #dbcbd1; border-radius: .65rem; }
.cart-page-quantity button { display: grid; width: 100%; padding: 0; place-items: center; border-radius: 0; background: #f5ebee; color: #8b4660; font-size: 1rem; }
.cart-page-quantity button:hover { background: #ead9df; }
.cart-page-quantity button:disabled { cursor: not-allowed; opacity: .4; }
.cart-page-quantity input { min-width: 0; padding: 0; border: 0; border-right: 1px solid #e6d8dd; border-left: 1px solid #e6d8dd; border-radius: 0; background: #fff; text-align: center; font-weight: 800; appearance: textfield; }
.cart-page-quantity input::-webkit-inner-spin-button,.cart-page-quantity input::-webkit-outer-spin-button { margin: 0; appearance: none; }
.cart-page-remove { padding: .45rem .2rem; background: transparent; color: #a34a53; font-size: .62rem; font-weight: 800; text-decoration: underline; }
.cart-page-price { display: grid; min-width: 105px; justify-items: end; gap: .2rem; }
.cart-page-price > small { color: #a14e5b; text-decoration: line-through; }
.cart-page-price > strong { color: #633848; font-family: Georgia,serif; font-size: 1.22rem; }
.cart-page-price > span { color: #9b858d; font-size: .6rem; }
.cart-confidence-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; margin-top: .35rem; }
.cart-confidence-row > div { display: grid; grid-template-columns: auto 1fr; gap: .55rem; align-items: center; padding: .8rem; border: 1px solid #eadde2; border-radius: .85rem; background: #fffafb; }
.cart-confidence-row > div > span { display: grid; width: 1.9rem; height: 1.9rem; place-items: center; border-radius: .55rem; background: #f0e3e8; color: #8b4660; font-weight: 900; }
.cart-confidence-row p { display: grid; gap: .12rem; margin: 0; }
.cart-confidence-row strong { color: #5c3d49; font-size: .65rem; }
.cart-confidence-row small { color: #917e86; font-size: .56rem; line-height: 1.35; }
.cart-page-summary { position: sticky; top: 92px; gap: 0; padding: 1.25rem; box-shadow: 0 18px 48px rgba(74,43,55,.08); }
.cart-summary-heading { display: grid !important; grid-template-columns: auto 1fr auto; align-items: center !important; gap: .7rem; padding-bottom: 1rem; border-bottom: 1px solid #eadde2; }
.cart-summary-heading > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .7rem; background: linear-gradient(145deg,#7c3d55,#ad627d); color: #fff; font-family: Georgia,serif; font-size: .68rem; }
.cart-summary-heading div { display: grid; gap: .1rem; }
.cart-summary-heading small { color: #a26379; font-size: .55rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.cart-summary-heading h2 { margin: 0; font-family: Georgia,serif; font-size: 1.35rem; font-weight: 500; }
.cart-summary-heading b { display: grid; min-width: 1.8rem; height: 1.8rem; padding: 0 .35rem; place-items: center; border-radius: 999px; background: #f3e6eb; color: #8b4660; font-size: .65rem; }
.cart-summary-details { display: grid !important; gap: .65rem; padding: 1rem 0; border-bottom: 1px solid #eadde2; }
.cart-summary-details > div { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; color: #88747c; font-size: .68rem; }
.cart-summary-details strong { color: #5d424c; font-family: inherit !important; font-size: .68rem !important; text-align: right; }
.cart-summary-details .cart-summary-discount { color: #2f8255; }
.cart-summary-final { display: flex !important; align-items: baseline !important; justify-content: space-between; padding: 1rem 0; }
.cart-summary-final span { font-size: .9rem; font-weight: 850; }
.cart-summary-final strong { color: #633848; font-family: Georgia,serif; font-size: 1.8rem !important; }
.cart-page-summary .cart-checkout-button { width: 100%; border: 0; }
.cart-summary-note { display: flex; align-items: center; justify-content: center; gap: .35rem; margin: .75rem 0 0; color: #8e7d84; font-size: .56rem; text-align: center; }
.cart-summary-note span { color: #39825a; font-weight: 900; }
.cart-lock-banner { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 1rem; align-items: center; padding: 1.2rem; border: 1px solid #e5c66e; border-radius: 1rem; background: linear-gradient(120deg,#fff8df,#fffdf6); box-shadow: 0 14px 35px rgba(107,82,25,.07); }.cart-lock-icon { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: #e2bd55; color: #fff; font-weight: 900; }.cart-lock-banner h2 { margin: .1rem 0 .25rem; font-family: Georgia,serif; font-size: 1.35rem; font-weight: 500; }.cart-lock-banner p:not(.store-eyebrow) { margin: 0; color: #786841; font-size: .75rem; }.cart-lock-actions { display: flex; gap: .55rem; align-items: center; }.cart-lock-actions form { margin: 0; }.cart-lock-actions .button { white-space: nowrap; }
@media (max-width: 1000px) { .product-related-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 850px) { .product-purchase-detail { grid-template-columns: 1fr; }.product-detail-media, .product-detail-media .catalog-image-placeholder { min-height: 520px; }.product-detail-copy { padding: 1.2rem .7rem; }.product-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.cart-page-layout { grid-template-columns: 1fr; }.cart-page-summary { position: static; }.cart-lock-banner { grid-template-columns: auto 1fr; }.cart-lock-actions { grid-column: 1 / -1; padding-left: 3.8rem; } }
@media (max-width: 560px) { .product-detail-page { margin-top: .6rem; }.product-breadcrumb { display: none; }.product-purchase-detail { gap: .7rem; padding: .65rem; border-radius: 1.1rem; }.product-detail-media, .product-detail-media .catalog-image-placeholder { min-height: 350px; }.product-detail-copy { padding: .75rem .4rem .6rem; }.product-detail-copy h1 { font-size: 2.2rem; line-height: 1.04; }.product-detail-categories { margin-top: 1rem; }.product-stock-card { align-items: flex-start; flex-direction: column; }.product-cart-controls { grid-template-columns: 1fr; }.product-cart-controls > * { grid-column: 1; }.quantity-picker { grid-template-columns: 1fr 58px 1fr; }.product-related { margin-top: .5rem; padding: 1.1rem .75rem 1rem; }.product-related-grid { gap: .65rem; }.floating-cart { right: .7rem; bottom: .7rem; }.floating-cart-trigger { min-width: 166px; }.cart-drawer-item { grid-template-columns: 62px minmax(0,1fr); }.cart-drawer-image { width: 62px; height: 72px; }.cart-line-total { grid-column: 2; padding: 0; }.cart-page-item { grid-template-columns: 70px minmax(0,1fr); }.cart-page-image { width: 70px; height: 70px; }.cart-page-item > strong { grid-column: 2; }.checkout-placeholder { min-height: 430px; padding: 1.5rem; }.checkout-placeholder > div { align-items: stretch; flex-direction: column; }.cart-lock-banner { grid-template-columns: 1fr; }.cart-lock-icon { display: none; }.cart-lock-actions { grid-column: auto; padding-left: 0; align-items: stretch; flex-direction: column; }.cart-lock-actions .button { width: 100%; text-align: center; } }
@media (prefers-reduced-motion: reduce) { .floating-cart-trigger, .cart-backdrop, .cart-drawer, .cart-flying-product, .cart-add-toast { transition-duration: .01ms !important; animation-duration: .01ms !important; }.cart-arrival-burst { display: none; } }
@media (prefers-reduced-motion: reduce) { .popular-product-marquee { overflow-x: auto; scrollbar-width: thin; }.popular-product-track { transform: none; animation: none; }.popular-product-group[aria-hidden="true"] { display: none; } }

/* Courier hub */
.courier-page { display: grid; gap: 1.35rem; }.courier-heading { align-items: end; }.courier-identity { display: grid; min-width: 190px; gap: .15rem; padding: .8rem 1rem; border: 1px solid #e5d7dc; border-radius: .8rem; background: #fff; }.courier-identity small { color: #9a7885; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.courier-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; }.courier-stats article { position: relative; display: grid; min-height: 125px; align-content: end; padding: 1rem; overflow: hidden; border: 1px solid #e8dce0; border-radius: 1rem; background: #fff; box-shadow: 0 12px 30px rgba(73,42,54,.05); }.courier-stats article > span { position: absolute; top: .8rem; right: .9rem; color: #d5b8c3; font-family: Georgia,serif; }.courier-stats small { color: #8b747d; font-size: .66rem; }.courier-stats strong { margin-top: .25rem; color: #5c3343; font-family: Georgia,serif; font-size: 1.7rem; }.courier-section { display: grid; gap: 1rem; }.courier-order-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; }.courier-order-card { display: grid; gap: .7rem; padding: 1rem; border: 1px solid #eadde1; border-radius: 1rem; background: linear-gradient(145deg,#fff,#fffafb); }.courier-order-top { display: flex; justify-content: space-between; align-items: center; }.courier-order-card code { color: #9a6b7c; font-size: .66rem; }.courier-order-card h3 { margin: .25rem 0 0; font-family: Georgia,serif; font-size: 1.35rem; font-weight: 500; }.courier-order-card p { min-height: 2.6em; margin: 0; color: #806e75; font-size: .7rem; line-height: 1.5; }.courier-order-meta { display: flex; align-items: baseline; justify-content: space-between; padding-top: .65rem; border-top: 1px solid #eee3e7; }.courier-order-meta span { color: #8b7880; font-size: .65rem; }.courier-order-card form,.courier-order-card button { width: 100%; margin: 0; }.courier-empty { min-height: 260px; }.courier-delivery-list { overflow: hidden; border: 1px solid #e9dce1; border-radius: 1rem; background: #fff; }.courier-delivery-list > a { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 1rem; align-items: center; padding: 1rem; border-bottom: 1px solid #eee4e7; color: inherit; }.courier-delivery-list > a:last-child { border-bottom: 0; }.courier-delivery-list > a:hover { background: #fff8fa; }.courier-delivery-list div { display: grid; gap: .18rem; }.courier-delivery-list code,.courier-delivery-list small { color: #987d87; font-size: .62rem; }.delivery-status { display: inline-flex; padding: .35rem .6rem; border-radius: 999px; font-size: .63rem; font-weight: 850; text-transform: uppercase; }.delivery-status.ready { background: #fff2c9; color: #7d5e18; }.delivery-status.accepted { background: #eee4f7; color: #654985; }.delivery-status.picked_up { background: #ddecf8; color: #326584; }.delivery-status.delivered { background: #ddf1e5; color: #286a49; }.delivery-status.paid,.delivery-status.awaiting_packing { background: #f5e6c9; color: #77561a; }.delivery-status.picking { background: #f2e3ec; color: #814b64; }
.courier-heading-actions { display: flex; align-items: center; gap: .65rem; }.courier-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 1rem; align-items: start; }.courier-contact-grid { display: grid; grid-template-columns: .6fr 1.4fr; gap: .75rem; }.courier-contact-grid > div { display: grid; gap: .3rem; padding: .9rem; border-radius: .75rem; background: #faf4f6; }.courier-contact-grid small,.courier-order-summary small,.courier-order-summary span { color: #8d7881; font-size: .65rem; }.courier-contact-grid a,.courier-contact-grid strong { color: #5d3846; }.courier-order-summary { display: grid; gap: .55rem; padding: 1rem; border: 1px solid #e5d7dc; border-radius: 1rem; background: #fff; }.courier-order-summary > strong { color: #633848; font-family: Georgia,serif; font-size: 1.8rem; }.courier-order-summary > a { margin-top: .3rem; color: #8b4660; font-size: .7rem; font-weight: 800; }.courier-picking { display: grid; gap: 1rem; }.courier-scanner { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .6rem; align-items: center; padding: .8rem; border: 1px solid #decbd2; border-radius: .85rem; background: #f8edf1; }.courier-scanner > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .65rem; background: #8b4660; color: #fff; }.courier-scanner input { min-height: 42px; background: #fff; }.courier-scanner small { grid-column: 2; }.courier-scanner small.success-state { color: #28704b; }.courier-scanner small.error-state { color: #a43d48; }.courier-pick-list { display: grid; gap: .65rem; }.courier-pick-line { display: grid; grid-template-columns: minmax(220px,1fr) 90px 160px auto; gap: .85rem; align-items: center; padding: .85rem; border: 1px solid #ecc9cd; border-left: 4px solid #c44f5b; border-radius: .85rem; background: #fffafa; }.courier-pick-line.matched { border-color: #abd8c0; border-left-color: #39966a; background: #f7fcf9; }.courier-pick-product { display: flex; min-width: 0; align-items: center; gap: .7rem; }.courier-pick-product > img,.courier-pick-product > span { display: grid; width: 52px; height: 52px; flex: 0 0 auto; place-items: center; border-radius: .6rem; background: #f2e6ea; color: #8b4660; object-fit: cover; }.courier-pick-product div { display: grid; min-width: 0; gap: .15rem; }.courier-pick-product strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.courier-pick-product small,.courier-expected small { color: #927b84; font-size: .62rem; }.courier-expected { display: grid; justify-items: center; gap: .2rem; }.courier-counter { display: grid; grid-template-columns: 2rem minmax(60px,1fr) 2rem; overflow: hidden; border: 1px solid #d8c5cc; border-radius: .55rem; }.courier-counter button { height: 2.35rem; padding: 0; border-radius: 0; background: #f2e7eb; color: #8b4660; }.courier-counter input { min-width: 0; padding: .35rem; border: 0; border-radius: 0; text-align: center; }.courier-line-status { padding: .35rem .55rem; border-radius: 999px; background: #f8e2e4; color: #9e3e48; font-size: .62rem; font-weight: 850; white-space: nowrap; }.courier-pick-line.matched .courier-line-status { background: #daf0e4; color: #256846; }.courier-confirm-pickup { width: 100%; margin-top: .85rem; }.courier-confirm-pickup:disabled { background: #b9acb1; cursor: not-allowed; }.courier-delivery-confirm,.courier-delivery-complete { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem; border: 1px solid #d6c1c9; border-radius: 1rem; background: linear-gradient(120deg,#f5e8ed,#fff); }.courier-delivery-confirm h2,.courier-delivery-complete h2 { margin: .15rem 0; font-family: Georgia,serif; font-weight: 500; }.courier-delivery-confirm p:not(.store-eyebrow),.courier-delivery-complete p { margin: 0; color: #806d75; font-size: .72rem; }.courier-delivery-complete { justify-content: flex-start; border-color: #b8dbc7; background: #f4fbf7; }.courier-delivery-complete > span { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: #39966a; color: #fff; font-size: 1.25rem; }
@media (max-width: 950px) { .courier-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }.courier-order-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.courier-detail-grid { grid-template-columns: 1fr; }.courier-order-summary { position: static; }.courier-pick-line { grid-template-columns: minmax(210px,1fr) 70px 150px; }.courier-line-status { grid-column: 1 / -1; justify-self: end; } }
@media (max-width: 650px) { .courier-heading,.courier-heading-actions,.courier-delivery-confirm { align-items: stretch; flex-direction: column; }.courier-heading-actions { display: grid; }.courier-stats,.courier-order-grid { grid-template-columns: 1fr; }.courier-delivery-list > a { grid-template-columns: 1fr auto; }.courier-delivery-list > a b { display: none; }.courier-contact-grid { grid-template-columns: 1fr; }.courier-pick-line { grid-template-columns: 1fr auto; }.courier-pick-product { grid-column: 1 / -1; }.courier-counter { min-width: 150px; }.courier-line-status { grid-column: 1 / -1; }.courier-identity { width: 100%; } }

/* Stable courier quantity control and account management. */
.courier-counter { width: 154px; min-width: 154px; grid-template-columns: 40px 72px 40px; background: #fff; }
.courier-counter button { display: grid; width: 40px; min-width: 40px; height: 42px; min-height: 42px; place-items: center; margin: 0; padding: 0; border: 0; border-radius: 0; font-size: 1.05rem; line-height: 1; box-shadow: none; }
.courier-counter button:hover:not(:disabled) { background: #ead8df; }
.courier-counter button:disabled { color: #b7a6ac; cursor: default; }
.courier-counter input { width: 72px; min-width: 72px; height: 42px; margin: 0; padding: .35rem .2rem; border-right: 1px solid #eadde2; border-left: 1px solid #eadde2; appearance: textfield; }
.courier-counter input::-webkit-outer-spin-button,.courier-counter input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.account-management-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); gap: 1.2rem; align-items: start; }
.account-create-panel { position: relative; padding: clamp(1.3rem,2vw,1.8rem); overflow: hidden; }
.account-create-panel::after { position: absolute; width: 240px; height: 240px; right: -145px; bottom: -155px; border: 1px solid #eedde3; border-radius: 50%; box-shadow: 0 0 0 38px rgba(139,70,96,.025); content: ""; pointer-events: none; }
.account-create-heading { position: relative; z-index: 1; margin-bottom: 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid #eee2e6; }
.account-create-heading .eyebrow,.account-team-panel .eyebrow { margin-bottom: .25rem; font-size: .62rem; }
.account-create-heading h2 { margin: .15rem 0 .3rem; font-family: Georgia,serif; font-size: clamp(1.65rem,2.2vw,2.15rem); font-weight: 500; }
.account-team-panel { position: sticky; top: 1rem; display: grid; gap: 1rem; padding: 1.2rem; border: 1px solid #e9dce1; border-radius: 1.2rem; background: linear-gradient(145deg,#fff,#fffafb); box-shadow: 0 14px 35px rgba(72,43,53,.05); }
.account-team-panel .category-list-heading { align-items: start; margin: 0; }
.account-team-panel .category-list-heading h2 { margin-top: .15rem; }
.account-card-grid,.account-create-form { display: grid; gap: .72rem; }
.account-card-grid { max-height: 550px; padding-right: .2rem; overflow-y: auto; }
.account-card { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .75rem; padding: .9rem; border: 1px solid #eadce1; border-radius: .9rem; background: #fff; box-shadow: 0 8px 24px rgba(72,43,53,.04); }
.account-avatar { display: grid; width: 48px; height: 48px; place-items: center; border-radius: .75rem; background: linear-gradient(145deg,#f5e7ec,#ead5dd); color: #8b4660; font-family: Georgia,serif; }
.account-card h3,.account-card p { margin: 0; }.account-card p,.account-card small { display: block; overflow: hidden; color: #8c7780; text-overflow: ellipsis; white-space: nowrap; }
.account-card .category-state { grid-column: 2; justify-self: start; }
.account-create-form label { display: grid; gap: .3rem; font-size: .75rem; font-weight: 700; }
.account-create-form input { min-height: 48px; background: #fff; }
.account-fields-grid,.account-password-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.account-field-wide { grid-column: 1 / -1; }
.account-password-panel { display: grid; gap: .65rem; margin-top: .15rem; padding: 1rem; border: 1px solid #eadce1; border-radius: .9rem; background: #faf4f6; }
.account-password-panel input { background: #fff; }
.account-password-panel .form-hint { margin: 0; }
.account-form-actions { position: relative; z-index: 1; display: flex; justify-content: flex-end; padding-top: .2rem; }
.account-form-actions .button { width: auto; min-width: 260px; margin: 0; }
.form-hint { margin: 0; color: #907b83; font-size: .68rem; line-height: 1.45; }
@media (max-width: 900px) { .account-management-layout { grid-template-columns: 1fr; }.account-team-panel { position: static; }.account-card-grid { max-height: none; } }
@media (max-width: 560px) { .account-fields-grid,.account-password-grid { grid-template-columns: 1fr; }.account-field-wide { grid-column: auto; }.account-form-actions .button { width: 100%; min-width: 0; }.account-card { grid-template-columns: auto 1fr; } }
.fulfillment-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }.fulfillment-order-list { display: grid; gap: .65rem; }.fulfillment-order-list article { display: grid; grid-template-columns: 120px minmax(190px,1fr) 100px auto 150px; gap: .85rem; align-items: center; padding: .9rem; border: 1px solid #eadde2; border-radius: .9rem; background: #fff; }.fulfillment-order-list article > div { display: grid; gap: .2rem; }.fulfillment-order-list small { color: #927d85; font-size: .65rem; }.fulfillment-order-list form,.fulfillment-order-list .button { width: 100%; margin: 0; text-align: center; }.delivery-status.awaiting_packing { background: #fff1d0; color: #765616; }.delivery-status.picking { background: #eee4f7; color: #654985; }.fulfillment-start { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }.fulfillment-start h2,.fulfillment-start p { margin: 0; }.fulfillment-start p { color: #88727b; }.fulfillment-start form { flex: 0 0 auto; }
@media (max-width: 950px) { .fulfillment-order-list article { grid-template-columns: 100px minmax(180px,1fr) auto; }.fulfillment-order-list article .delivery-status { justify-self: start; }.fulfillment-order-list article form,.fulfillment-order-list article > .button { grid-column: 2 / -1; } }
@media (max-width: 650px) { .fulfillment-stats { grid-template-columns: 1fr; }.fulfillment-order-list article { grid-template-columns: 1fr auto; }.fulfillment-order-code { grid-column: 1 / -1; }.fulfillment-order-list article form,.fulfillment-order-list article > .button { grid-column: 1 / -1; }.fulfillment-start { align-items: stretch; flex-direction: column; }.fulfillment-start .button { width: 100%; } }

/* Checkout confirmation */
.checkout-page { display: grid; max-width: 1240px; gap: 1rem; margin: 1.3rem auto 3rem; }
.checkout-delivery-alert { display: flex; align-items: center; gap: .85rem; padding: .85rem 1rem; border: 1px solid #edcf79; border-radius: 1rem; background: linear-gradient(90deg,#fff5d5,#fff9e9); color: #795810; }
.checkout-delivery-alert > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e1ac32; color: #fff; font-family: Georgia,serif; font-weight: 900; }
.checkout-delivery-alert div { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 1rem; }.checkout-delivery-alert strong { font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; }.checkout-delivery-alert p { margin: 0; font-size: .75rem; }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 1rem; align-items: start; }.checkout-details { display: grid; gap: 1rem; }.checkout-heading,.checkout-section,.checkout-order-summary { border: 1px solid #e7d9de; border-radius: 1.3rem; background: #fff; }.checkout-heading { padding: 1.5rem; }.checkout-heading h1 { margin: .2rem 0 .45rem; font-family: Georgia,serif; font-size: clamp(2.1rem,4vw,3.3rem); font-weight: 500; }.checkout-heading > p:last-child { margin: 0; color: #7d6971; font-size: .78rem; }
.checkout-section { position: relative; padding: 1.35rem; }.checkout-section-number { position: absolute; top: 1.25rem; right: 1.35rem; color: #c397a7; font-family: Georgia,serif; font-size: .78rem; }.checkout-section-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding-right: 2.5rem; }.checkout-section-heading h2 { margin: 0; font-size: 1rem; }.checkout-section-heading p { margin: .3rem 0 0; color: #89777e; font-size: .7rem; }.checkout-section-heading a { color: #8b4660; font-size: .68rem; font-weight: 800; white-space: nowrap; }
.checkout-phone-grid,.checkout-address-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-top: 1rem; }.checkout-choice input,.checkout-address-choice input,.checkout-save-options input { position: absolute; opacity: 0; pointer-events: none; }.checkout-choice > span,.checkout-address-choice > span { position: relative; display: grid; min-height: 82px; align-content: center; padding: .85rem .9rem .85rem 3rem; border: 1px solid #e4d6db; border-radius: .85rem; cursor: pointer; transition: border-color .15s ease,background .15s ease,box-shadow .15s ease; }.checkout-choice i,.checkout-address-choice i { position: absolute; top: 50%; left: .85rem; display: grid; width: 1.55rem; height: 1.55rem; place-items: center; transform: translateY(-50%); border-radius: .45rem; background: #f2e4e9; color: #8b4660; font-size: .68rem; font-style: normal; }.checkout-choice b,.checkout-address-choice b { font-size: .78rem; }.checkout-choice small,.checkout-address-choice small { margin-top: .25rem; overflow: hidden; color: #89777e; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }.checkout-choice input:checked + span,.checkout-address-choice input:checked + span { border-color: #9b526d; background: #fff8fa; box-shadow: 0 0 0 3px rgba(139,70,96,.08); }.checkout-address-choice em { position: absolute; top: .5rem; right: .55rem; color: #8b4660; font-size: .55rem; font-style: normal; font-weight: 850; text-transform: uppercase; }
.checkout-address-editor { display: grid; grid-template-columns: minmax(160px,.42fr) minmax(0,1fr); gap: .75rem; margin-top: 1rem; padding: 1rem; border-radius: .9rem; background: #f8f2f4; }.checkout-address-editor label { display: flex; flex-direction: column; gap: .4rem; color: #65535a; font-size: .68rem; font-weight: 800; }.checkout-address-editor input,.checkout-address-editor textarea { width: 100%; border: 1px solid #d9c8cf; border-radius: .65rem; background: #fff; }.checkout-address-editor textarea { resize: vertical; }.checkout-save-options { display: flex; grid-column: 1/-1; flex-wrap: wrap; gap: .55rem; }.checkout-save-options label span { display: block; padding: .55rem .75rem; border: 1px solid #dfcfd5; border-radius: 2rem; background: #fff; cursor: pointer; }.checkout-save-options input:checked + span { border-color: #8b4660; background: #8b4660; color: #fff; }.checkout-save-options label.is-disabled span { opacity: .5; cursor: not-allowed; }.checkout-missing { display: flex; grid-column: 1/-1; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .8rem; border-radius: .7rem; background: #fff3dd; color: #795918; font-size: .72rem; }.checkout-missing a { color: #8b4660; font-weight: 850; }
.checkout-order-summary { position: sticky; top: 92px; padding: 1.3rem; box-shadow: 0 20px 55px rgba(74,43,55,.08); }.checkout-summary-heading { display: flex; align-items: center; gap: .8rem; padding-bottom: 1rem; border-bottom: 1px solid #ebdfe3; }.checkout-summary-heading p { margin: 0; color: #9a6478; font-size: .62rem; font-weight: 850; text-transform: uppercase; }.checkout-summary-heading h2 { margin: .15rem 0 0; font-family: Georgia,serif; font-size: 1.65rem; font-weight: 500; }.checkout-summary-lines { display: grid; gap: .8rem; padding: 1rem 0; }.checkout-summary-lines > div { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }.checkout-summary-lines span { display: flex; min-width: 0; flex-direction: column; }.checkout-summary-lines b { overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }.checkout-summary-lines small { margin-top: .18rem; color: #99868d; font-size: .62rem; }.checkout-summary-lines strong { color: #664050; font-size: .72rem; white-space: nowrap; }.checkout-summary-total { display: flex; align-items: baseline; justify-content: space-between; padding: 1rem 0; border-top: 1px solid #eadde2; }.checkout-summary-total span { font-weight: 850; }.checkout-summary-total strong { color: #633748; font-family: Georgia,serif; font-size: 1.8rem; }.checkout-confirm-button { display: flex; width: 100%; min-height: 50px; align-items: center; justify-content: center; gap: .6rem; border-radius: .75rem; background: #8b4660; color: #fff; font-weight: 850; }.checkout-confirm-button:disabled { background: #c8b9bf; cursor: not-allowed; }.checkout-back { display: block; margin-top: .7rem; padding: .7rem; border-radius: .7rem; background: #f3e7eb; color: #8b4660; font-size: .72rem; font-weight: 800; text-align: center; }.checkout-security-copy { display: block; margin-top: .8rem; color: #9a898f; font-size: .6rem; line-height: 1.45; text-align: center; }
@media (max-width: 900px) { .checkout-layout { grid-template-columns: 1fr; }.checkout-order-summary { position: static; }.checkout-delivery-alert div { align-items: flex-start; flex-direction: column; gap: .2rem; } }
@media (max-width: 600px) { .checkout-phone-grid,.checkout-address-list { grid-template-columns: 1fr; }.checkout-address-editor { grid-template-columns: 1fr; }.checkout-save-options { grid-column: 1; }.checkout-section-heading { flex-direction: column; }.checkout-page { margin-top: .6rem; } }

/* Focused checkout flow */
.checkout-progress { display: grid; max-width: 680px; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; justify-self: center; gap: .7rem; padding: .65rem 1rem; border: 1px solid #eadde2; border-radius: 999px; background: rgba(255,255,255,.88); }
.checkout-progress a,.checkout-progress div { display: flex; align-items: center; gap: .4rem; color: #9a878e; font-size: .7rem; }
.checkout-progress span { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: 50%; background: #eee5e8; font-size: .65rem; }
.checkout-progress a span { background: #e3f2e9; color: #27704a; }.checkout-progress .active { color: #743f53; }.checkout-progress .active span { background: #8b4660; color: #fff; }
.checkout-progress > i { height: 1px; background: #e1d4d9; }
.checkout-heading { position: relative; overflow: hidden; background: linear-gradient(135deg,#fff,#fff8fa); }
.checkout-heading::after { content: ""; position: absolute; width: 150px; height: 150px; top: -100px; right: -45px; border: 1px solid #f0dfe5; border-radius: 50%; box-shadow: 0 0 0 28px rgba(139,70,96,.025); }
.checkout-heading h1 { max-width: 650px; font-size: clamp(2rem,3.5vw,2.8rem); }
.checkout-section { padding-left: 4.4rem; }
.checkout-section-icon { position: absolute; top: 1.25rem; left: 1.25rem; display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: .75rem; background: #f1e2e7; color: #8b4660; font-weight: 850; }
.checkout-section-heading { padding-right: 0; }
.checkout-section-heading > span { display: grid; min-width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; background: #f4e9ed; color: #9a6478; font-size: .72rem; font-weight: 900; }
.checkout-main-field { display: grid; gap: .4rem; margin-top: 1rem; color: #65535a; font-size: .72rem; font-weight: 800; }
.checkout-main-field input { width: 100%; height: 50px; border-color: #dccbd1; background: #fff; font-size: 1rem; }
.checkout-main-field > small { color: #8e7a82; font-size: .65rem; font-weight: 500; }
.checkout-phone-suggestions { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; margin-top: .7rem; }
.checkout-phone-suggestions > small { margin-right: .25rem; color: #907d84; font-size: .65rem; }
.checkout-phone-suggestions button { min-height: 34px; padding: .35rem .65rem; border: 1px solid #e0cfd5; border-radius: 999px; background: #fff; color: #744459; font-size: .68rem; }
.checkout-address-editor { background: #fbf7f8; }
.checkout-delivery-note { display: flex; align-items: center; gap: .65rem; margin-top: .75rem; padding: .7rem .8rem; border-radius: .75rem; background: #fff7df; color: #765c20; }
.checkout-delivery-note > span { display: grid; width: 1.55rem; height: 1.55rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e8b642; color: #fff; font-family: Georgia,serif; font-weight: 900; }
.checkout-delivery-note p { display: grid; gap: .1rem; margin: 0; font-size: .66rem; }.checkout-delivery-note strong { font-size: .7rem; }
.checkout-summary-heading { display: grid; grid-template-columns: auto 1fr auto; }.checkout-summary-heading > b { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #f3e7eb; color: #8b4660; font-size: .72rem; }
.checkout-summary-details > summary { display: flex; justify-content: space-between; padding: .8rem 0 0; color: #6c525c; cursor: pointer; font-size: .7rem; font-weight: 800; list-style: none; }.checkout-summary-details > summary::-webkit-details-marker { display: none; }.checkout-summary-details > summary span { color: #a0848f; font-size: .6rem; font-weight: 600; }
.checkout-summary-lines > div { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; }
.checkout-summary-lines img,.checkout-product-placeholder { display: grid; width: 42px; height: 42px; place-items: center; border-radius: .65rem; background: #f0e3e8; color: #8b4660; object-fit: cover; font-weight: 850; }
.checkout-confirm-button { min-height: 56px; padding: .7rem 1rem; background: #bcaeb3; transition: transform .15s ease,background .15s ease,box-shadow .15s ease; }
.checkout-confirm-button.ready { background: linear-gradient(135deg,#7c3d55,#9b526d); box-shadow: 0 10px 24px rgba(124,61,85,.2); }.checkout-confirm-button.ready:hover { transform: translateY(-1px); }
.checkout-confirm-button i { font-style: normal; }.checkout-trust-row { display: flex; justify-content: center; flex-wrap: wrap; gap: .4rem .8rem; margin-top: .65rem; color: #8f7d84; font-size: .56rem; }
@media (max-width: 900px) { .checkout-order-summary { order: 2; }.checkout-details { order: 1; } }
@media (max-width: 600px) { .checkout-progress { width: 100%; gap: .35rem; padding: .55rem .7rem; }.checkout-progress b { display: none; }.checkout-section { padding-left: 1rem; padding-top: 4.2rem; }.checkout-section-icon { top: 1rem; left: 1rem; }.checkout-section-heading { align-items: center; flex-direction: row; }.checkout-summary-lines > div { grid-template-columns: 38px minmax(0,1fr) auto; }.checkout-summary-lines img,.checkout-product-placeholder { width: 38px; height: 38px; } }

/* Demo payment provider */
.demo-payment-page { display: grid; max-width: 760px; gap: 1rem; margin: 1.5rem auto; }.demo-payment-banner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border: 1px solid #efd58d; border-radius: .8rem; background: #fff6da; color: #785a13; font-size: .72rem; }.demo-payment-banner strong { text-transform: uppercase; letter-spacing: .08em; }.demo-payment-card { padding: clamp(1.2rem,4vw,2.2rem); border: 1px solid #e5d7dc; border-radius: 1.5rem; background: #fff; box-shadow: 0 24px 70px rgba(69,39,50,.1); }.demo-payment-card > header { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid #eee3e7; }.demo-payment-card h1 { margin: .15rem 0 0; font-family: Georgia,serif; font-size: 2rem; font-weight: 500; }.demo-payment-card header small { color: #907d84; }.demo-payment-order { display: grid; grid-template-columns: auto 1fr; gap: .35rem 1rem; padding: 1rem 0; color: #8b787f; font-size: .7rem; }.demo-payment-order code, .demo-payment-order strong { justify-self: end; color: #544148; }.demo-payment-lines { display: grid; gap: .65rem; padding: 1rem 0; border-top: 1px solid #eee3e7; border-bottom: 1px solid #eee3e7; }.demo-payment-lines > div, .demo-payment-total { display: flex; justify-content: space-between; gap: 1rem; }.demo-payment-lines span { font-size: .78rem; font-weight: 750; }.demo-payment-lines small { display: block; margin-top: .2rem; color: #96858b; font-weight: 500; }.demo-payment-lines strong { font-size: .78rem; }.demo-payment-total { align-items: baseline; padding: 1.2rem 0; }.demo-payment-total strong { color: #66394a; font-family: Georgia,serif; font-size: 1.8rem; }.demo-payment-card form { margin: 0 0 .65rem; }.demo-pay-success, .demo-pay-cancel { width: 100%; min-height: 50px; border-radius: .75rem; font-weight: 850; }.demo-pay-success { background: #8b4660; color: #fff; }.demo-pay-cancel { background: #f4e9ed; color: #87455d; }.demo-payment-card > footer { margin-top: 1rem; color: #99888e; font-size: .64rem; text-align: center; }.payment-success-page { display: grid; max-width: 720px; min-height: 540px; margin: 1.5rem auto; align-content: center; justify-items: center; padding: 2rem; border: 1px solid #e4d6dc; border-radius: 1.5rem; background: linear-gradient(145deg,#fff,#f8edef); text-align: center; }.payment-success-page > span { display: grid; width: 5rem; height: 5rem; place-items: center; border-radius: 50%; background: #dfefe5; color: #367250; font-size: 2rem; }.payment-success-page h1 { margin: .35rem 0 .8rem; font-family: Georgia,serif; font-size: 3rem; font-weight: 500; }.payment-success-page > p:not(.store-eyebrow) { color: #7d6971; }.payment-success-page > strong { margin: .7rem 0 1.3rem; color: #633748; font-size: 1.5rem; }.payment-success-page > div { display: flex; gap: .7rem; }

/* Shared mobile hardening. Keep this layer last so every role gets the same safe viewport. */
img, video, svg { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }
.site-header > *, .container > *, .admin-container > *, .editor-section > *,
.checkout-page > *, .courier-page > * { min-width: 0; }

@media (max-width: 700px) {
  .container { width: calc(100% - 1rem); margin: 1rem auto 2rem; }
  .card, .form-card, .editor-section, .admin-dashboard-panel,
  .purchase-lines-panel, .purchase-add-card, .purchase-action-card,
  .checkout-heading, .checkout-section, .checkout-order-summary {
    padding: 1rem;
    border-radius: 1rem;
  }
  .button, button, .header-action, .site-nav-link { min-height: 44px; }
  .page-heading, .product-form-heading, .management-heading,
  .category-list-heading, .admin-panel-heading {
    align-items: stretch;
    flex-direction: column;
    gap: .75rem;
  }
  .page-heading .button, .product-form-heading .button,
  .management-heading .button, .category-list-heading .button {
    width: 100%;
    text-align: center;
  }
  .management-heading h1 { font-size: clamp(1.8rem, 9vw, 2.2rem); }
  .table-wrap { margin-right: -.15rem; border-radius: .85rem; }
  th, td { padding: .75rem; }

  .site-header {
    position: sticky;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: .5rem;
    padding: .6rem .75rem;
    isolation: isolate;
  }
  .site-header::before {
    position: fixed;
    z-index: 1;
    inset: 0;
    background: rgba(43,31,36,.42);
    backdrop-filter: blur(3px);
    content: "";
    opacity: 0;
    pointer-events: none;
    transition: opacity .28s ease;
  }
  .site-header.nav-open::before { opacity: 1; pointer-events: auto; }
  .brand { gap: .5rem; }
  .brand-mark { width: 2.25rem; height: 2.25rem; }
  .brand-copy strong { font-size: 1.05rem; }
  .mobile-nav-toggle {
    position: relative;
    z-index: 3;
    display: grid;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    border: 1px solid #eadde2;
    border-radius: 50%;
    background: #fff;
    box-shadow: none;
  }
  .mobile-nav-toggle span,
  .mobile-nav-toggle span::before,
  .mobile-nav-toggle span::after {
    width: 19px;
    height: 2px;
    border-radius: 2px;
    background: #8b4660;
    transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .18s ease;
  }
  .mobile-nav-toggle span { position: relative; }
  .mobile-nav-toggle span::before,
  .mobile-nav-toggle span::after { position: absolute; left: 0; content: ""; }
  .mobile-nav-toggle span::before { transform: translateY(-6px); }
  .mobile-nav-toggle span::after { transform: translateY(6px); }
  .nav-open .mobile-nav-toggle span { background: transparent; }
  .nav-open .mobile-nav-toggle span::before { transform: rotate(45deg); }
  .nav-open .mobile-nav-toggle span::after { transform: rotate(-45deg); }
  .site-nav {
    position: fixed;
    z-index: 2;
    top: .65rem;
    right: .65rem;
    display: flex;
    width: min(calc(100vw - 2rem),292px);
    max-height: calc(100dvh - 1.3rem);
    align-items: stretch;
    flex-direction: column;
    gap: .12rem;
    margin: 0;
    padding: 3.65rem .6rem .65rem;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(139,70,96,.16);
    border-radius: 1.15rem;
    background: rgba(255,253,252,.97);
    box-shadow: 0 20px 55px rgba(48,29,37,.22);
    opacity: 1;
    overscroll-behavior: contain;
    transform: translateX(0);
    transition: transform .36s cubic-bezier(.22,1,.36,1), opacity .22s ease;
    backdrop-filter: blur(22px);
  }
  .site-nav {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateX(calc(100% + 1rem));
    transition: transform .32s cubic-bezier(.55,0,1,.45), opacity .2s ease,
      visibility 0s linear .32s;
  }
  .site-header.nav-open .site-nav {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
    transition: transform .36s cubic-bezier(.22,1,.36,1), opacity .22s ease;
  }
  .site-nav-link {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-start;
    padding: .58rem 2.15rem .58rem .75rem;
    overflow: hidden;
    border-radius: .7rem;
    background: transparent;
    color: #5d454f;
    font-size: .78rem;
    text-align: left;
    text-overflow: ellipsis;
    transition: color .18s ease, background .18s ease, transform .18s ease;
  }
  .site-nav-link::before {
    position: absolute;
    right: .75rem;
    color: #b38193;
    content: "›";
    font-family: Georgia,serif;
    font-size: 1.15rem;
    line-height: 1;
  }
  .site-nav-link:hover { background: #f9eef2; transform: translateX(2px); }
  .site-nav-link.active { background: #f1dfe6; color: #7f3c55; }
  .site-nav-link.active::after {
    top: 50%;
    right: auto;
    bottom: auto;
    left: .15rem;
    width: 3px;
    height: 1.3rem;
    transform: translateY(-50%);
  }
  .site-nav > form.inline { margin: 0; }
  .site-nav > form.inline { margin-top: .45rem; padding-top: .65rem; border-top: 1px solid #eadde2; }
  .site-nav > form.inline .header-action {
    width: 100%;
    justify-content: flex-start;
    padding-inline: .85rem;
    background: transparent;
    color: #8b4660;
  }
  .header-auth { margin-left: 0; padding-left: 0; border-left: 0; }
  .header-auth {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .4rem;
    margin-top: .35rem;
    padding-top: .55rem;
    border-top: 1px solid #eadde2;
  }
  .header-auth .header-action {
    min-height: 42px;
    justify-content: center;
    padding: .5rem .55rem;
    border: 1px solid #e5d4db;
    border-radius: .7rem;
  }
  .header-auth .header-action.subtle { background: #fff; }
  .header-auth .header-action.primary { box-shadow: none; }
  .language-switcher { grid-column: 1 / -1; justify-self: center; margin-left: 0; }
  .language-option { min-height: 2rem; }

  html.mobile-nav-open { overflow: hidden; }
  html[data-theme="dark"] .site-nav {
    border-color: #503b45;
    background: rgba(32,25,30,.97);
    box-shadow: 0 24px 70px rgba(0,0,0,.52);
  }
  html[data-theme="dark"] .site-nav-link { color: #e4d3d9; }
  html[data-theme="dark"] .site-nav-link:hover { background: #392a31; color: #f9e7ed; }
  html[data-theme="dark"] .site-nav-link.active { background: #4a303b; color: #ffcadd; }
  html[data-theme="dark"] .header-auth { border-color: #493840; }
  html[data-theme="dark"] .header-auth .header-action { border-color: #493840; }
  html[data-theme="dark"] .header-auth .header-action.subtle { background: #271e24; }
  html[data-theme="dark"] .site-nav > form.inline { border-color: #493840; }
  html[data-theme="dark"] .site-nav > form.inline .header-action { color: #efb8cb; }

  .profile-navigation { margin-inline: -.15rem; padding: .5rem; overflow-x: auto; }
  .profile-navigation > p { display: none; }
  .profile-navigation nav { display: flex; width: max-content; min-width: 100%; }
  .profile-navigation a {
    min-width: 155px;
    flex: 1 0 auto;
    padding: .7rem;
    border-top: 0;
    border-left: 1px solid #f1e8eb;
  }
  .profile-navigation a:first-child { border-left: 0; }

  .admin-nav { margin-bottom: 1rem; padding: .45rem; overflow: hidden; }
  .admin-nav-links { margin-inline: -.1rem; scroll-padding-inline: .1rem; scroll-snap-type: x proximity; }
  .admin-nav a { min-height: 44px; scroll-snap-align: start; }
  .admin-dashboard-hero, .inventory-hero, .management-list-hero { padding: 1.25rem; border-radius: 1.1rem; }
  .admin-dashboard-panel { overflow: hidden; }
  .admin-kpi-card, .category-stats > div { min-height: 92px; }
  .product-admin-grid, .category-admin-grid, .supplier-grid { grid-template-columns: 1fr; }

  .purchase-detail-title .back-link { margin-bottom: .8rem; }
  .purchase-panel-heading { align-items: flex-start; }
  .purchase-quantity-editor { grid-template-columns: 36px 54px 36px 36px; }
  .purchase-quantity-editor button, .purchase-quantity-editor input {
    width: 36px;
    min-height: 36px;
  }
  .purchase-quantity-editor input { width: 54px; }

  .checkout-delivery-alert { align-items: flex-start; }
  .checkout-section-number { top: 1rem; right: 1rem; }
  .checkout-section-heading { padding-right: 1.5rem; }
  .checkout-missing { align-items: stretch; flex-direction: column; }
  .checkout-missing a { display: inline-flex; min-height: 44px; align-items: center; }

  .courier-scanner { grid-template-columns: 1fr; }
  .courier-scanner > span { display: none; }
  .courier-scanner small { grid-column: 1; }
  .courier-pick-line { grid-template-columns: minmax(0,1fr) auto; gap: .65rem; }
  .courier-pick-product strong { white-space: normal; overflow-wrap: anywhere; }
  .courier-delivery-list > a { gap: .55rem; padding: .85rem; }
  .courier-delivery-confirm form, .courier-delivery-confirm .button { width: 100%; }

  .demo-payment-banner { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .payment-success-page { min-height: 430px; padding: 1.25rem; }
  .payment-success-page h1 { font-size: clamp(2.1rem, 11vw, 3rem); }
  .payment-success-page > div { width: 100%; align-items: stretch; flex-direction: column; }
  .payment-success-page .button { width: 100%; text-align: center; }
}

@media (max-width: 820px) and (prefers-reduced-motion: reduce) {
  .site-header::before, .site-nav, .mobile-nav-toggle span,
  .mobile-nav-toggle span::before, .mobile-nav-toggle span::after {
    transition-duration: .01ms !important;
  }
}

@media (max-width: 480px) {
  .store-search { align-items: stretch; flex-direction: column; padding: .3rem; }
  .store-search button { width: 100%; }
  .store-product-search ~ .select2-container--open .select2-dropdown { min-width: 0; }
  .store-product-grid, .home-products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
  .store-product-card { border-radius: .9rem; }
  .store-product-content { padding: .65rem; }
  .store-product-content > p, .store-product-categories { display: none; }
  .store-product-content h3 { min-height: 3.75em; margin: 0 0 .35rem; font-size: .78rem; }
  .store-product-image { aspect-ratio: 1 / 1.08; }
  .store-price del { font-size: .62rem; }
  .store-price strong { font-size: .88rem; }
  .store-card-action { width: 2rem; height: 2rem; }
  .store-stock { margin-top: .55rem; font-size: .58rem; }
  .catalog-toolbar form { align-items: stretch; flex-direction: column; }
  .catalog-toolbar select { width: 100%; min-height: 44px; }
  .product-detail-copy h1 { font-size: clamp(1.9rem, 10vw, 2.2rem); overflow-wrap: anywhere; }
  .product-detail-media, .product-detail-media .catalog-image-placeholder { min-height: 280px; }
  .product-related-grid { grid-template-columns: 1fr; }

  .floating-cart { right: .5rem; bottom: .5rem; left: .5rem; }
  .floating-cart-trigger { width: 100%; min-width: 0; justify-content: center; }
  .cart-drawer { width: 100%; max-width: 100%; }
  .cart-drawer-header, .cart-drawer-footer { padding-inline: .85rem; }
  .cart-drawer-items { padding-inline: .85rem; }
  .cart-page-item { padding: .75rem; }

  .profile-order-card { padding: .85rem; }
  .profile-order-card > header { align-items: flex-start; flex-direction: column; }
  .profile-order-card > footer { grid-template-columns: 1fr; }
  .profile-order-card > footer > * { grid-column: 1 !important; }
  .profile-order-card .button { width: 100%; text-align: center; }

  .category-stats { grid-template-columns: 1fr; }
  .admin-recent-list > a { grid-template-columns: auto minmax(0,1fr); }
  .admin-recent-list > a > b { grid-column: 2; }
  .admin-recent-list .status { display: inline-flex; grid-column: 2; justify-self: start; }
  .courier-expected { justify-items: start; }
  .courier-counter { width: 146px; min-width: 146px; grid-template-columns: 40px 64px 40px; }
  .courier-counter input { width: 64px; min-width: 64px; }
  .courier-line-status { justify-self: start; }

  .checkout-summary-lines > div, .demo-payment-lines > div { gap: .6rem; }
  .checkout-summary-lines b { white-space: normal; overflow-wrap: anywhere; }
  .demo-payment-order { grid-template-columns: 1fr; }
  .demo-payment-order code, .demo-payment-order strong { justify-self: start; overflow-wrap: anywhere; }
}
.catalog-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.catalog-pagination a, .catalog-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; min-height: 2.5rem; padding: .55rem .8rem; border: 1px solid #ead6dd; border-radius: .75rem; background: #fff; color: #6f344a; text-decoration: none; }
.catalog-pagination a:hover, .catalog-pagination .active { border-color: #8b4660; background: #8b4660; color: #fff; }
.catalog-pagination .disabled { opacity: .45; }
.pagination-pages { display: flex; align-items: center; justify-content: center; gap: .4rem; }
.pagination-pages i { color: #9d7b87; font-style: normal; }
@media (max-width: 640px) { .catalog-pagination { align-items: stretch; flex-wrap: wrap; } .pagination-pages { order: -1; width: 100%; overflow-x: auto; } .pagination-direction { flex: 1; } }
.product-attribute-summary { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.product-attribute-summary[hidden] { display: none; }
.product-attribute-summary span { padding: .42rem .68rem; border: 1px solid #e3cbd4; border-radius: 999px; background: #fff8fa; color: #75485a; font-size: .76rem; font-weight: 750; }
.product-attribute-fields { display: grid; gap: 1rem; }
.product-attribute-group { overflow: hidden; border: 1px solid #e7d5dc; border-radius: 1rem; background: #fff; box-shadow: 0 6px 20px rgba(91,57,70,.045); }
.product-attribute-group > header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; padding: .85rem 1rem; border-bottom: 1px solid #f0e3e8; background: linear-gradient(135deg,#fff9f7,#faeff3); }
.product-attribute-group > header > span { display: grid; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: .65rem; background: #8b4660; color: #fff; font-size: .7rem; font-weight: 800; }
.product-attribute-group > header div { display: grid; gap: .1rem; }
.product-attribute-group > header small { color: #9a7583; font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.product-attribute-group > header strong { color: #533541; font-size: .98rem; }
.product-attribute-group > header b { padding: .3rem .55rem; border-radius: 999px; background: #fff; color: #8b4660; font-size: .7rem; white-space: nowrap; }
.product-attribute-group-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 1rem; }
.product-attribute-field { display: flex; min-width: 0; flex-direction: column; gap: .45rem; padding: .85rem; border: 1px solid #f0e3e8; border-radius: .8rem; background: #fffdfd; }
.product-attribute-field > span { color: #603547; font-weight: 750; }
.product-attribute-field > span small { display: inline-flex; padding: .18rem .42rem; border-radius: 999px; background: #f8e9ee; color: #964d67; font-size: .68rem; font-weight: 750; }
.product-attribute-field input, .product-attribute-field select { width: 100%; background: #fff; }
.product-attribute-unit { color: #8b747d; font-size: .72rem; font-weight: 700; }
.product-attribute-group-empty, .product-attributes-empty { margin: 0; padding: 1rem; border: 1px dashed #ddbfc9; border-radius: .8rem; color: #8b6b76; background: #fffaf8; }
.product-attribute-group-empty { margin: 1rem; }
@media (max-width: 760px) { .product-attribute-group-fields { grid-template-columns: 1fr; } }
@media (max-width: 460px) { .product-attribute-group > header { grid-template-columns: auto 1fr; } .product-attribute-group > header b { grid-column: 2; justify-self: start; } .product-attribute-field { padding: .7rem; } }
.product-characteristics { display: grid; gap: .55rem; margin: 1rem 0; padding: 1rem; border: 1px solid #ead6dd; border-radius: 1rem; background: #fffaf8; }
.product-characteristics div { display: flex; justify-content: space-between; gap: 1rem; }
.product-characteristics dt { color: #8b6b76; }
.product-characteristics dd { margin: 0; color: #603547; font-weight: 700; text-align: right; }
.catalog-characteristic-filters { display: grid; gap: .8rem; }
.catalog-characteristic-filters label { display: grid; gap: .35rem; }

.attribute-builder-section { overflow: hidden; }
.attribute-builder-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid #ead6dd; border-radius: 1rem; background: #fffaf8; }
.attribute-builder-toolbar div { display: grid; gap: .2rem; }
.attribute-builder-toolbar strong { color: #603547; }
.attribute-builder-toolbar small { color: #92737e; }
.attribute-builder { display: grid; gap: 1rem; }
.attribute-builder-empty { padding: 2rem 1rem; border: 1px dashed #d9b8c4; border-radius: 1rem; background: #fffaf8; color: #8b6b76; text-align: center; }
.attribute-builder-card { overflow: hidden; border: 1px solid #e6ccd5; border-radius: 1rem; background: #fff; box-shadow: 0 8px 22px rgba(100,48,68,.06); }
.attribute-builder-card > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border-bottom: 1px solid #f0dfe5; background: linear-gradient(135deg,#fffaf8,#f9eef2); }
.attribute-builder-card > header > div { display: grid; grid-template-columns: 2.3rem minmax(0,1fr) auto; align-items: center; gap: .7rem; min-width: 0; }
.attribute-builder-card > header > div > span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: .7rem; background: #8b4660; color: #fff; font-size: .72rem; font-weight: 800; }
.attribute-builder-card > header strong { overflow: hidden; color: #603547; text-overflow: ellipsis; white-space: nowrap; }
.attribute-builder-card > header small { padding: .25rem .55rem; border-radius: 999px; background: #e7f4eb; color: #287547; font-weight: 700; }
.attribute-builder-card.status-hidden > header small { background: #fff0cf; color: #8a6414; }
.attribute-builder-card.status-archived { opacity: .72; }
.attribute-builder-card.status-archived > header small { background: #eee8ea; color: #735d65; }
.attribute-card-actions { display: flex; align-items: center; gap: .4rem; }
.attribute-move-action, .attribute-archive-action { min-height: 2.2rem; border: 1px solid #dcbec9; border-radius: .65rem; background: #fff; color: #754054; font-weight: 700; cursor: pointer; }
.attribute-move-action { width: 2.2rem; padding: 0; font-size: 1rem; }
.attribute-archive-action { padding: .45rem .7rem; }
.attribute-move-action:hover:not(:disabled), .attribute-archive-action:hover { border-color: #8b4660; background: #fff7fa; }
.attribute-move-action:disabled { cursor: default; opacity: .35; }
.attribute-archive-action { border: 0; background: transparent; color: #9b4561; font-weight: 700; cursor: pointer; }
.attribute-builder-body { display: grid; gap: 1rem; padding: 1rem; }
.attribute-settings-grid, .attribute-locale-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .8rem; }
.attribute-locale-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.attribute-settings-grid label, .attribute-locale-grid label, .attribute-option-row label { display: grid; gap: .35rem; min-width: 0; color: #70505d; font-size: .78rem; font-weight: 700; }
.attribute-settings-grid input, .attribute-settings-grid select, .attribute-locale-grid input, .attribute-option-row input { width: 100%; min-width: 0; }
.attribute-toggle-grid { display: flex; flex-wrap: wrap; gap: .65rem; }
.attribute-toggle-grid label { display: inline-flex; align-items: center; gap: .5rem; padding: .65rem .8rem; border: 1px solid #ead6dd; border-radius: .75rem; background: #fffaf8; color: #603547; font-weight: 700; }
.attribute-toggle-grid input { width: 1rem; height: 1rem; accent-color: #8b4660; }
.attribute-options-editor { display: grid; gap: .7rem; padding: .9rem; border: 1px solid #ead6dd; border-radius: .9rem; background: #fcf8f6; }
.attribute-options-editor > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.attribute-options-editor > header button { border: 0; background: transparent; color: #8b4660; font-weight: 800; cursor: pointer; }
.attribute-option-row { display: grid; grid-template-columns: 2rem repeat(4,minmax(0,1fr)); align-items: end; gap: .65rem; padding: .7rem; border-radius: .75rem; background: #fff; }
.attribute-option-row > b { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; margin-bottom: .55rem; border-radius: 50%; background: #f1dfe5; color: #7b3d54; font-size: .72rem; }
.attribute-builder-error { display: block; margin-top: .8rem; }
@media (max-width: 900px) { .attribute-settings-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .attribute-option-row { grid-template-columns: 2rem repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .attribute-builder-toolbar { align-items: stretch; flex-direction: column; } .attribute-builder-toolbar .button { width: 100%; } .attribute-builder-card > header { align-items: flex-start; flex-direction: column; } .attribute-builder-card > header > div:first-child { grid-template-columns: 2.3rem minmax(0,1fr); } .attribute-builder-card > header small { grid-column: 2; justify-self: start; } .attribute-card-actions { align-self: stretch; } .attribute-archive-action { flex: 1; } .attribute-settings-grid, .attribute-locale-grid, .attribute-option-row { grid-template-columns: 1fr; } .attribute-option-row > b { display: none; } }

/* Theme controls and the dark LB.Shop palette. */
.header-preferences { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .38rem; margin-left: .35rem; }
.header-preferences .language-switcher { margin-left: 0; }
.theme-switcher { display: inline-grid; width: 3.25rem; min-width: 3.25rem; height: 2.4rem; padding: .22rem; place-items: center; border: 1px solid #eadfe3; border-radius: 2rem; background: #fff; color: #715560; box-shadow: none; }
.theme-switcher:hover { border-color: #d8bec8; background: #fff8fa; }
.theme-switcher:focus-visible { outline: 3px solid rgba(139,70,96,.22); outline-offset: 2px; }
.theme-switcher-track { position: relative; display: grid; width: 100%; height: 100%; grid-template-columns: 1fr 1fr; align-items: center; }
.theme-icon { position: relative; z-index: 2; display: grid; place-items: center; font-size: .68rem; transition: color .2s ease, opacity .2s ease; }
.theme-icon svg { width: .78rem; height: .78rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.theme-icon-sun { color: #8b4660; }
.theme-icon-moon { color: #9b8990; font-size: .58rem; }
.theme-switcher-thumb { position: absolute; z-index: 1; width: 1.55rem; height: 1.55rem; left: .02rem; border-radius: 50%; background: #f2e3e8; box-shadow: 0 3px 9px rgba(91,49,64,.16); transition: transform .22s cubic-bezier(.2,.8,.2,1), background .2s ease; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

html[data-theme="dark"] { color-scheme: dark; color: #f3e9ed; background: #171317; }
html[data-theme="dark"] body { min-height: 100vh; background: radial-gradient(circle at 18% -5%,rgba(129,60,86,.16),transparent 30rem),#171317; color: #f3e9ed; }
html[data-theme="dark"] .site-header { border-color: rgba(220,160,181,.14); background: rgba(27,22,27,.92); box-shadow: 0 12px 36px rgba(0,0,0,.28); }
html[data-theme="dark"] .brand { color: #f0cbd8; }
html[data-theme="dark"] .brand-copy small { color: #b99da8; }
html[data-theme="dark"] .site-nav-link,
html[data-theme="dark"] .header-action.subtle { color: #d4c0c7; }
html[data-theme="dark"] .site-nav-link:hover,
html[data-theme="dark"] .header-action.subtle:hover { background: #30232a; color: #f6dce5; }
html[data-theme="dark"] .site-nav-link.active { color: #efb8cb; }
html[data-theme="dark"] .header-auth { border-color: #493840; }
html[data-theme="dark"] .language-switcher,
html[data-theme="dark"] .theme-switcher { border-color: #493840; background: #241d22; }
html[data-theme="dark"] .language-option { color: #c8b5bc; }
html[data-theme="dark"] .theme-switcher:hover { border-color: #775265; background: #30232a; }
html[data-theme="dark"] .theme-switcher-thumb { transform: translateX(1.24rem); background: #8b4660; box-shadow: 0 4px 12px rgba(0,0,0,.35); }
html[data-theme="dark"] .theme-icon-sun { color: #917983; opacity: .55; }
html[data-theme="dark"] .theme-icon-moon { color: #fff1f6; opacity: 1; }

html[data-theme="dark"] :is(input,select,textarea) { border-color: #58434c; background-color: #211a1f; color: #f5ebee; caret-color: #e59ab5; }
html[data-theme="dark"] :is(input,select,textarea)::placeholder { color: #9e8991; }
html[data-theme="dark"] select option { background: #211a1f; color: #f5ebee; }
html[data-theme="dark"] :is(input,select,textarea):focus { border-color: #b06480; outline-color: rgba(176,100,128,.3); }
html[data-theme="dark"] hr,
html[data-theme="dark"] table :is(th,td) { border-color: #44343b; }
html[data-theme="dark"] th { color: #cbb4bd; }
html[data-theme="dark"] tr:hover td { background: rgba(110,66,83,.1); }

html[data-theme="dark"] :is(
  .card,.form-card,.editor-section,.sticky-actions,.table-wrap,.admin-nav,.admin-kpi-card,
  .admin-dashboard-panel,.account-card,.account-create-panel,.account-password-panel,
  .account-team-panel,.auth-panel,.reauth-panel,.verification-card,.profile-navigation,
  .profile-editor-section,.profile-order-card,.primary-phone-card,.store-section,
  .store-category-card,.store-product-card,.catalog-filter-card,.catalog-help-card,
  .catalog-toolbar,.product-detail-media,.product-stock-card,.review-card,.review-form-card,
  .product-guidance,.product-guidance-grid article,.cart-page-item,.cart-page-summary,
  .checkout-progress,.checkout-heading,.checkout-section,.checkout-order-summary,
  .demo-payment-card,.payment-success-page,.courier-section,.courier-order-card,
  .management-list-panel,.category-admin-card,.product-admin-card,.supplier-card,
  .supplier-create-panel,.purchase-lines-panel,.purchase-action-card,.receipt-scanner-card,
  .receipt-submit-panel,.inventory-operation-form,.attribute-builder-card,.attribute-builder-toolbar,
  .product-attribute-group,.attribute-option-row
) { border-color: #493840; background: #211a1f; color: #f3e9ed; box-shadow: 0 12px 35px rgba(0,0,0,.14); }

html[data-theme="dark"] :is(.store-home-hero,.store-hero,.catalog-hero,.hero,.checkout-heading,.payment-success-page,.review-form-card,.product-guidance) { background: linear-gradient(135deg,#2d2229,#211a1f 58%,#191519); }
html[data-theme="dark"] .product-reviews {
  border-color: #493840;
  background: linear-gradient(145deg,#251d22,#1c171b);
  box-shadow: 0 20px 52px rgba(0,0,0,.24);
}
html[data-theme="dark"] .store-home-hero::before { border-color: rgba(225,153,179,.18); }
html[data-theme="dark"] .store-home-visual { background: radial-gradient(circle at 50% 58%,rgba(173,91,121,.2),rgba(103,55,73,.08) 38%,transparent 68%); }
html[data-theme="dark"] .store-home-visual::after { background: rgba(8,5,7,.46); filter: blur(16px); }
html[data-theme="dark"] .store-benefits { border-color: rgba(201,129,155,.2); }
html[data-theme="dark"] .store-benefits article + article { border-color: rgba(201,129,155,.18); }
html[data-theme="dark"] .popular-showcase { border-color: #493840; background: linear-gradient(135deg,#211a1f,#1b161a); box-shadow: 0 18px 52px rgba(0,0,0,.2); }
html[data-theme="dark"] .popular-showcase::before { border-color: rgba(206,125,154,.12); box-shadow: 0 0 0 48px rgba(139,70,96,.025); }
html[data-theme="dark"] .popular-product-marquee::before { background: linear-gradient(90deg,#211a1f 5%,rgba(33,26,31,.7) 34%,rgba(33,26,31,0)); }
html[data-theme="dark"] .popular-product-marquee::after { background: linear-gradient(270deg,#1b161a 5%,rgba(27,22,26,.7) 34%,rgba(27,22,26,0)); }
html[data-theme="dark"] .popular-rank { border-color: rgba(213,154,175,.24); background: rgba(57,40,49,.92); color: #edb4c8; box-shadow: 0 8px 20px rgba(0,0,0,.24); }
html[data-theme="dark"] :is(.store-search,.store-search select,.store-search input) { border-color: #59434d; background: #271e24; color: #f3e9ed; }
html[data-theme="dark"] :is(.admin-nav,.checkout-progress) { background: rgba(33,26,31,.92); }
html[data-theme="dark"] :is(.cart-drawer,.cart-drawer-header,.cart-drawer-footer) { border-color: #493840; background: #211a1f; color: #f3e9ed; }
html[data-theme="dark"] .cart-drawer-backdrop { background: rgba(8,6,8,.7); }
html[data-theme="dark"] :is(.checkout-address-editor,.attribute-options-editor,.professional-content-editor) { border-color: #493840; background: #1b161a; }
html[data-theme="dark"] :is(.checkout-choice span,.checkout-address-choice span,.checkout-save-options label span,.review-photo-field,.catalog-pagination a,.catalog-pagination span,.product-attribute-summary span,.product-attribute-field,.attribute-toggle-grid label,.attribute-move-action) { border-color: #59434d; background: #271e24; color: #e9d8de; }
html[data-theme="dark"] .catalog-pagination .active {
  border-color: #b46682;
  background: #9b4968;
  color: #fff;
  box-shadow: 0 6px 16px rgba(155,73,104,.28);
}
html[data-theme="dark"] :is(.checkout-choice input:checked + span,.checkout-address-choice input:checked + span) { border-color: #c17892; background: #34242c; box-shadow: 0 0 0 3px rgba(193,120,146,.12); }
html[data-theme="dark"] :is(.checkout-section-icon,.checkout-section-heading > span,.checkout-summary-heading > b,.review-avatar,.admin-kpi-icon,.admin-quick-grid i,.admin-document-icon,.category-card-icon) { background: #382832; color: #efb2c8; }
html[data-theme="dark"] :is(.review-total,.review-metrics div,.checkout-back,.demo-pay-cancel,.admin-quick-grid > a:hover) { background: #30232a; }
html[data-theme="dark"] .review-total { border-color: #59434d; background: linear-gradient(145deg,#30232a,#271e24); }
html[data-theme="dark"] .review-form-card > summary { border-color: #493840; }
html[data-theme="dark"] .review-form-card > summary i { background: #9c4f6b; }
html[data-theme="dark"] .review-card-actions button { border-color: #5b414c; background: #2b2027; color: #efafc6; }
html[data-theme="dark"] .review-form-card[open] > summary i { background: #70384d; }
html[data-theme="dark"] .review-empty { border-color: #59434d; background: linear-gradient(135deg,#271e24,#211a1f); }
html[data-theme="dark"] .review-empty > span,html[data-theme="dark"] .review-access-card > span { background: #382832; }
html[data-theme="dark"] .review-photo-control { border-color: #59434d; background: #211a1f; }
html[data-theme="dark"] .review-photo-action { background: #e6cbd5; color: #633548; }
html[data-theme="dark"] .checkout-back { border: 1px solid #59434d; color: #e7a9bd; }
html[data-theme="dark"] :is(.checkout-delivery-note,.checkout-missing,.demo-payment-banner) { border-color: #6d582b; background: #312a1c; color: #e6c878; }
html[data-theme="dark"] :is(.product-guidance-grid article.warning) { border-color: #66532d; background: #2d271b; }
html[data-theme="dark"] :is(.flash) { background: #382832; color: #f1dce4; }

html[data-theme="dark"] :is(h1,h2,h3,h4,strong,b,dt) { color: #f6edf0; }
html[data-theme="dark"] :is(p,small,dd,.muted,.form-hint,.table-subtext,.store-product-content > p,.product-guidance-grid p,.checkout-security-copy) { color: #b9a5ad; }
html[data-theme="dark"] :is(.store-eyebrow,.eyebrow,.section-number,.checkout-summary-lines strong,.checkout-summary-total strong,.store-price strong,.product-guidance-grid h3,.review-metrics dd,.admin-panel-heading > a) { color: #e7a6bd; }
html[data-theme="dark"] :is(.store-product-rating strong,.admin-kpi-card strong,.admin-recent-list > a > b) { color: #f3e9ed; }
html[data-theme="dark"] :is(.store-product-card,.store-category-card,.review-card,.profile-order-card,.admin-kpi-card,.admin-dashboard-panel,.checkout-section,.checkout-order-summary) { box-shadow: 0 16px 40px rgba(0,0,0,.2); }
html[data-theme="dark"] :is(.store-product-card,.store-category-card,.admin-kpi-card,.profile-order-card):hover { border-color: #775265; box-shadow: 0 18px 44px rgba(0,0,0,.28); }
html[data-theme="dark"] .catalog-image-placeholder { background: linear-gradient(135deg,#382832,#2b2228); color: #d993ad; }
html[data-theme="dark"] .checkout-confirm-button:disabled { background: #574a50; color: #a99ba0; }
html[data-theme="dark"] :is(.admin-quick-grid > a,.admin-attention-panel > a,.admin-recent-list > a,.cart-drawer-item,.checkout-summary-heading,.checkout-summary-total,.demo-payment-lines) { border-color: #44343b; }
html[data-theme="dark"] .site-nav.is-open :is(.site-nav-link,.header-action.subtle) { border-color: #493840; background: #271e24; color: #ead9df; }

/* Surfaces with page-specific light backgrounds. */
html[data-theme="dark"] :is(
  .catalog-curations a:not(.active),.catalog-category-list,.catalog-mobile-categories,
  .catalog-mobile-filters,.catalog-empty,.product-purchase-detail,.auth-page,.reauth-page,
  .phone-verification-page,.checkout-placeholder,.warehouse-section,.inventory-operation-step,
  .inventory-mode-picker label > span,.inventory-operation-review,.inventory-section-footer a,
  .inventory-section-footer b,.purchase-next-step,.purchase-detail-hero,.purchase-add-card,
  .purchase-quantity-editor,.receipt-progress,.receipt-line,.receipt-counter > div,
  .supplier-empty,.courier-identity,.courier-stats article,.courier-delivery-list,
  .courier-order-summary,.courier-pick-line,.courier-counter,.courier-delivery-confirm,
  .account-team-panel,.fulfillment-order-list article,.profile-save-bar,.profile-order-card > header,
  .cart-lock-banner,.quantity-picker,.product-characteristics,.product-attribute-group > header,
  .attribute-builder-card > header
) { border-color: #493840; background: #211a1f; color: #f3e9ed; box-shadow: 0 12px 35px rgba(0,0,0,.14); }

html[data-theme="dark"] :is(.auth-showcase,.registration-showcase,.verification-visual) { background: linear-gradient(140deg,#30222b,#241c21 58%,#1b161a); }

/* Finish the dark theme on secondary surfaces shared by customer and admin pages. */
html[data-theme="dark"] .category-stats > div,
html[data-theme="dark"] .profile-order-card > footer,
html[data-theme="dark"] .profile-orders-empty,
html[data-theme="dark"] .category-empty-state,
html[data-theme="dark"] .toggle-row,
html[data-theme="dark"] .image-dropzone,
html[data-theme="dark"] .input-suffix,
html[data-theme="dark"] .review-more,
html[data-theme="dark"] .purchase-detail-meta,
html[data-theme="dark"] .checkout-phone-suggestions button,
html[data-theme="dark"] .reauth-signout {
  border-color: #4e3944;
  background: #241c21;
  color: #eadde2;
}

html[data-theme="dark"] .category-stats span,
html[data-theme="dark"] .profile-order-card > footer small,
html[data-theme="dark"] .profile-order-card > footer span,
html[data-theme="dark"] .profile-orders-empty p,
html[data-theme="dark"] .image-dropzone small {
  color: #bba8b0;
}

html[data-theme="dark"] .category-stats strong,
html[data-theme="dark"] .profile-order-total strong,
html[data-theme="dark"] .profile-orders-empty h3,
html[data-theme="dark"] .toggle-row strong,
html[data-theme="dark"] .image-dropzone strong {
  color: #fff6f8;
}

html[data-theme="dark"] .profile-order-card > footer a,
html[data-theme="dark"] .reauth-signout,
html[data-theme="dark"] .checkout-phone-suggestions button {
  border-color: #6c4a59;
  color: #e7a9bd;
}

html[data-theme="dark"] .profile-order-card > header div span,
html[data-theme="dark"] .profile-order-lines small {
  color: #b89ca7;
}

html[data-theme="dark"] .profile-order-lines span {
  color: #eadde2;
}

html[data-theme="dark"] .profile-order-lines strong {
  color: #f1b2c8;
}

html[data-theme="dark"] .profile-order-lines > div {
  border-color: #493840;
}

html[data-theme="dark"] .image-dropzone {
  background: linear-gradient(145deg,#2c2228,#211a1f);
}

html[data-theme="dark"] .purchase-detail-meta > div {
  border-color: #4e3944;
}

html[data-theme="dark"] .purchase-detail-meta dd {
  color: #f2e5ea;
}

html[data-theme="dark"] .verification-visual span {
  background: rgba(46,34,42,.86);
  color: #eba9bd;
  box-shadow: 0 12px 32px rgba(0,0,0,.24);
}
html[data-theme="dark"] :is(.auth-showcase,.registration-showcase) :is(h1,strong) { color: #f6edf0; }
html[data-theme="dark"] :is(.auth-showcase-copy > p:not(.store-eyebrow),.registration-promise small,.auth-benefit-list small) { color: #bca8b0; }
html[data-theme="dark"] .auth-benefit-list > div { border-color: #4b3740; }
html[data-theme="dark"] .auth-decoration i { border-color: #a9627d; background: rgba(141,75,99,.14); }
html[data-theme="dark"] :is(.auth-input,.profile-form-grid input,.profile-form-grid textarea,.additional-phone-grid input) { border-color: #58434c; background: #211a1f; color: #f5ebee; }
html[data-theme="dark"] :is(.auth-form > label,.registration-form-grid > label) { color: #cfb8c1; }
html[data-theme="dark"] :is(.auth-intro,.auth-checkbox,.auth-register-prompt,.auth-field-help) { color: #b9a3ac; }
html[data-theme="dark"] .registration-consent { border-color: #4d3942; background: #271e24; }
html[data-theme="dark"] .registration-consent > label { color: #d5c1c9; }
html[data-theme="dark"] .consent-tooltip > button { border-color: #624654; background: #382832; color: #efb2c8; }
html[data-theme="dark"] .consent-tooltip > span { border-color: #785063; background: #ead5dd; color: #3b2830; }
html[data-theme="dark"] .consent-tooltip > span::after { border-top-color: #ead5dd; }
html[data-theme="dark"] .auth-register-prompt { border-color: #493840; }
html[data-theme="dark"] .auth-register-prompt a { color: #e89eb9; }
html[data-theme="dark"] .auth-lock { background: #3b2932; color: #f0aec6; }
html[data-theme="dark"] .password-toggle { color: #e29ab4; }
html[data-theme="dark"] .password-toggle:hover { background: #382832; }
html[data-theme="dark"] .auth-submit {
  border: 1px solid #b86483;
  background: linear-gradient(135deg,#9b4968,#7f3954);
  color: #fff;
  box-shadow: 0 10px 26px rgba(139,70,96,.32);
}
html[data-theme="dark"] .auth-submit:hover {
  border-color: #d17d9b;
  background: linear-gradient(135deg,#ad5877,#91425f);
  box-shadow: 0 13px 32px rgba(139,70,96,.4);
}
html[data-theme="dark"] .auth-submit:focus-visible {
  outline: 3px solid rgba(225,145,174,.3);
  outline-offset: 3px;
}
html[data-theme="dark"] :is(input,textarea):-webkit-autofill,
html[data-theme="dark"] :is(input,textarea):-webkit-autofill:hover,
html[data-theme="dark"] :is(input,textarea):-webkit-autofill:focus { -webkit-text-fill-color: #f5ebee; box-shadow: 0 0 0 1000px #211a1f inset; caret-color: #f5ebee; }

html[data-theme="dark"] .product-purchase-detail { background: linear-gradient(120deg,#211a1f,#211a1f 62%,#291e24); }
html[data-theme="dark"] .product-purchase-detail::after { border-color: rgba(202,124,153,.12); box-shadow: 0 0 0 55px rgba(139,70,96,.035); }
html[data-theme="dark"] :is(.product-description,.product-breadcrumb b,.product-cart-controls > label,.product-cart-controls > small) { color: #bba7af; }
html[data-theme="dark"] :is(.product-detail-categories a,.catalog-curations span,.catalog-filter-heading b) { background: #382832; color: #edb0c6; }
html[data-theme="dark"] .product-cart-controls { border-color: #493840; }
html[data-theme="dark"] .quantity-picker button { background: #30232a; color: #efb0c7; }
html[data-theme="dark"] .quantity-picker input { border-color: #493840; }

html[data-theme="dark"] :is(.catalog-curations a:not(.active),.catalog-category-list a,.catalog-mobile-categories nav a,.catalog-filter-options label > span) { color: #dac8cf; }
html[data-theme="dark"] :is(.catalog-category-list a:hover,.catalog-mobile-categories nav,.catalog-mobile-filters .catalog-filter-form) { background: #2b2027; }
html[data-theme="dark"] :is(.catalog-mobile-categories nav,.catalog-mobile-filters .catalog-filter-form,.catalog-filter-heading) { border-color: #493840; }
html[data-theme="dark"] .catalog-mobile-categories nav a {
  border-color: #59434d;
  background: #271e24;
  color: #dcc8d0;
}
html[data-theme="dark"] .catalog-mobile-categories nav a:hover {
  border-color: #80566a;
  background: #382832;
  color: #f2dce4;
}
html[data-theme="dark"] .catalog-mobile-categories nav a.active {
  border-color: #b46682;
  background: #9b4968;
  color: #fff;
  box-shadow: 0 7px 18px rgba(155,73,104,.25);
}
html[data-theme="dark"] .catalog-filter-options i { border-color: #66505a; background: #271e24; }
html[data-theme="dark"] :is(.catalog-quick-add,.catalog-active-filters a) { border-color: #604652; background: #30232a; color: #ecb0c5; }

html[data-theme="dark"] :is(.select2-container--default .select2-selection--single,.select2-dropdown,.select2-search__field) { border-color: #58434c; background: #211a1f; color: #f3e9ed; }
html[data-theme="dark"] .select2-container--default .select2-selection--single .select2-selection__rendered { color: #e9dce1; }
html[data-theme="dark"] .select2-results__option { background: #211a1f; color: #dfccd3; }
html[data-theme="dark"] .select2-results__option--highlighted { background: #8b4660; color: #fff; }

html[data-theme="dark"] :is(.cart-drawer-header,.profile-order-card > header,.inventory-operation-review,.purchase-next-step,.purchase-detail-hero,.receipt-scanner-card,.account-team-panel,.courier-order-card,.courier-delivery-confirm) { background: linear-gradient(135deg,#2b2027,#211a1f); }
html[data-theme="dark"] :is(.cart-confidence-row > div,.cart-page-quantity,.cart-summary-heading,.cart-summary-details) { border-color: #493840; }
html[data-theme="dark"] .cart-confidence-row > div { background: #211a1f; }
html[data-theme="dark"] .cart-confidence-row > div > span,
html[data-theme="dark"] .cart-page-meta span,
html[data-theme="dark"] .cart-summary-heading b { background: #382832; color: #efb2c8; }
html[data-theme="dark"] :is(.cart-page-quantity button,.cart-page-quantity input) { border-color: #493840; background: #30232a; color: #efb0c7; }
html[data-theme="dark"] .cart-page-item:hover { border-color: #775265; box-shadow: 0 16px 40px rgba(0,0,0,.22); }
html[data-theme="dark"] :is(.cart-page-price > strong,.cart-summary-final strong,.cart-summary-details strong,.cart-confidence-row strong) { color: #f5e8ed; }
html[data-theme="dark"] :is(.cart-page-price > span,.cart-confidence-row small,.cart-list-heading p,.cart-summary-note) { color: #b7a2aa; }
html[data-theme="dark"] :is(.cart-item-controls > button:not(.cart-item-remove),.cart-drawer-image,.cart-page-image,.checkout-icon,.verification-note,.reauth-user,.courier-contact-grid > div,.courier-scanner) { border-color: #493840; background: #30232a; }
html[data-theme="dark"] :is(.cart-lock-banner,.cart-reservation-notice,.inventory-purchase-notice) { border-color: #6d582b; background: #312a1c; color: #e6c878; }
html[data-theme="dark"] :is(.courier-delivery-list > a:hover,.courier-pick-line.matched,.courier-delivery-complete) { background: #1e2b25; }
html[data-theme="dark"] :is(.receipt-line,.courier-pick-line) { background: #291e23; }
html[data-theme="dark"] :is(.attribute-builder-card > header,.product-attribute-group > header) { background: linear-gradient(135deg,#30232a,#271e24); }

@media (max-width: 900px) {
  .header-preferences { width: 100%; justify-content: center; margin: .35rem 0 0; padding-top: .65rem; border-top: 1px solid #eadde2; }
  html[data-theme="dark"] .header-preferences { border-color: #493840; }
}

@media (max-width: 700px) {
  .site-nav .header-preferences {
    width: auto;
    justify-content: flex-start;
    gap: .3rem;
    margin: .45rem 0 0;
    padding: .55rem .1rem 0;
  }
  .site-nav .theme-switcher { width: 3rem; min-width: 3rem; height: 2.25rem; }
  .site-nav .language-switcher { justify-self: auto; }
}

@media (max-width: 850px) {
  .cart-page-layout { grid-template-columns: 1fr; }
  .cart-page-summary { position: static; }
}

@media (max-width: 680px) {
  .cart-confidence-row { grid-template-columns: 1fr; }
  .cart-page-item { grid-template-columns: 84px minmax(0,1fr); min-height: 0; padding: .85rem; }
  .cart-page-image { width: 84px; height: 92px; align-self: start; }
  .cart-page-price { grid-column: 2; grid-row: 2; min-width: 0; justify-items: start; margin-top: .65rem; }
  .cart-page-controls { flex-wrap: wrap; }
}

@media (max-width: 480px) {
  .cart-list-heading { align-items: flex-start; }
  .cart-list-heading p { display: none; }
  .cart-page-item { grid-template-columns: 72px minmax(0,1fr); gap: .75rem; }
  .cart-page-image { width: 72px; height: 82px; }
  .cart-page-copy h2 { font-size: .9rem; }
  .cart-page-meta span:nth-child(n+2) { display: none; }
  .cart-page-controls { grid-column: 1 / -1; }
  .cart-page-quantity { grid-template-columns: 38px 48px 38px; }
  .cart-page-summary { padding-bottom: max(1.2rem,env(safe-area-inset-bottom)); }
}

@media print {
  html[data-theme="dark"], html[data-theme="dark"] body { color-scheme: light; background: #fff; color: #000; }
}

/* Favorites and recently viewed products. */
.store-product-card { position: relative; }
.favorite-button { position: absolute; z-index: 4; top: .75rem; right: .75rem; display: grid; width: 2.35rem; height: 2.35rem; padding: 0; place-items: center; border: 1px solid rgba(139,70,96,.14); border-radius: 50%; background: rgba(255,250,252,.92); color: #8b4660; font-size: 1.35rem; line-height: 1; box-shadow: 0 8px 22px rgba(77,41,55,.11); backdrop-filter: blur(8px); transition: transform .18s ease,background .18s ease,color .18s ease; }
.favorite-button:hover { transform: translateY(-2px) scale(1.04); background: #fff; }
.favorite-button.selected { background: #8b4660; color: #fff; }
.favorite-button.selected span { transform: translateY(-.03rem); }
.favorite-button.favorite-error { animation: favorite-error .35s ease 2; }
@keyframes favorite-error { 50% { transform: translateX(4px); } }
.nav-favorite-count { display: inline-grid; min-width: 1.2rem; height: 1.2rem; padding: 0 .25rem; place-items: center; border-radius: 999px; background: #f1dfe6; color: #8b4660; font-size: .58rem; font-weight: 900; }
.product-title-line { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.product-title-line h1 { margin-right: auto; }
.detail-favorite-button { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .45rem; margin-top: .35rem; padding: .6rem .8rem; border: 1px solid #e2d1d8; border-radius: 999px; background: #fff9fb; color: #8b4660; font-size: .66rem; font-weight: 800; }
.detail-favorite-button span { font-size: 1.15rem; line-height: 1; }
.detail-favorite-button.selected { border-color: #8b4660; background: #8b4660; color: #fff; }
.favorites-page { display: grid; gap: 1.5rem; }
.favorites-hero { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding: 2rem 2.2rem; border: 1px solid #eadde2; border-radius: 1.5rem; background: linear-gradient(135deg,#fff,#fbf1f4); box-shadow: 0 18px 50px rgba(77,42,55,.06); }
.favorites-hero h1 { margin: .3rem 0 .45rem; font-family: Georgia,serif; font-size: clamp(2.2rem,5vw,4rem); font-weight: 500; }
.favorites-hero p:not(.store-eyebrow) { max-width: 620px; margin: 0; color: #806b74; }
.favorites-section,.recently-viewed-section { padding: 1.4rem; border: 1px solid #eadde2; border-radius: 1.35rem; background: #fff; }
.favorites-count { padding: .45rem .7rem; border-radius: 999px; background: #f3e6eb; color: #8b4660; font-size: .66rem; font-weight: 800; }
.favorites-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.favorites-empty,.recently-viewed-empty { display: flex; min-height: 150px; align-items: center; gap: 1rem; padding: 1.2rem; border: 1px dashed #dbc8d0; border-radius: 1rem; background: #fffafb; }
.favorites-empty > span,.recently-viewed-empty > span { display: grid; width: 3.2rem; height: 3.2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #f0e1e7; color: #8b4660; font-size: 1.45rem; }
.favorites-empty h3,.favorites-empty p,.recently-viewed-empty h3,.recently-viewed-empty p { margin: 0; }
.favorites-empty p,.recently-viewed-empty p { margin-top: .25rem; color: #8b7780; font-size: .75rem; }
.favorites-empty .button { margin-left: auto; }
html[data-theme="dark"] :is(.favorites-hero,.favorites-section,.recently-viewed-section) { border-color: #493840; background: linear-gradient(135deg,#2b2027,#211a1f); color: #f3e9ed; }
html[data-theme="dark"] :is(.favorite-button,.detail-favorite-button) { border-color: #59434d; background: rgba(40,30,36,.94); color: #efb2c8; }
html[data-theme="dark"] :is(.favorite-button.selected,.detail-favorite-button.selected) { border-color: #a75a76; background: #9d516d; color: #fff; }
html[data-theme="dark"] :is(.favorites-empty,.recently-viewed-empty) { border-color: #59434d; background: #271e24; }
html[data-theme="dark"] :is(.favorites-count,.favorites-empty > span,.recently-viewed-empty > span,.nav-favorite-count) { background: #382832; color: #efb2c8; }
@media (max-width: 1000px) { .favorites-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) { .favorites-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.favorites-hero { align-items: flex-start; flex-direction: column; }.product-title-line { align-items: stretch; flex-direction: column; }.detail-favorite-button { align-self: flex-start; margin: 0 0 .4rem; } }
@media (max-width: 520px) { .favorites-grid { grid-template-columns: 1fr; }.favorites-hero,.favorites-section,.recently-viewed-section { padding: 1rem; }.favorites-empty { align-items: flex-start; flex-wrap: wrap; }.favorites-empty .button { width: 100%; margin-left: 0; } }

/* Smart search and product comparison. */
.smart-search-notice { display: flex; align-items: center; gap: .65rem; padding: .8rem 1rem; border: 1px solid #e1ced6; border-radius: .85rem; background: #fff8fa; color: #704354; }
.smart-search-notice > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #eddde3; color: #8b4660; }
.smart-search-notice p { display: grid; gap: .12rem; margin: 0; }
.smart-search-notice strong { font-size: .72rem; }
.smart-search-notice small { color: #88727b; font-size: .62rem; }
.compare-toggle { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; width: 100%; margin-top: .65rem; padding: .48rem .6rem; border: 1px solid #e2d2d8; border-radius: .65rem; background: #fffafb; color: #805468; font-size: .62rem; font-weight: 800; }
.compare-toggle:hover { border-color: #cdaeb9; background: #f8edf1; }
.compare-toggle.selected { border-color: #8b4660; background: #f1e0e7; color: #79374f; }
.store-card-utilities { display: contents; }
.product-title-actions { display: grid; flex: 0 0 auto; gap: .45rem; }
.product-title-actions .detail-favorite-button { margin-top: .35rem; }
.product-title-actions .detail-compare-button { width: auto; margin: 0; border-radius: 999px; }
.comparison-tray[hidden] { display: none; }
.comparison-tray { position: fixed; z-index: 28; right: 50%; bottom: 1.4rem; display: flex; min-width: min(560px,calc(100vw - 2rem)); align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem .8rem .75rem 1rem; border: 1px solid rgba(255,255,255,.2); border-radius: 1rem; background: rgba(75,38,53,.96); color: #fff; box-shadow: 0 18px 50px rgba(54,28,39,.3); transform: translateX(50%); backdrop-filter: blur(14px); }
.comparison-tray > div { display: flex; align-items: center; gap: .65rem; }
.comparison-tray-icon { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: .65rem; background: rgba(255,255,255,.12); font-size: 1rem; }
.comparison-tray p { display: grid; gap: .08rem; margin: 0; }
.comparison-tray strong { font-size: .7rem; }
.comparison-tray small { color: #dfc9d1; font-size: .58rem; }
.comparison-tray-actions { flex: 0 0 auto; }
.comparison-tray .button { padding: .65rem .85rem; background: #fff; color: #743d52; font-size: .65rem; }
.comparison-tray .button.disabled { cursor: not-allowed; opacity: .5; }
.comparison-clear { padding: .45rem; background: transparent; color: #f0d7e0; font-size: .6rem; text-decoration: underline; }
.comparison-page { display: grid; gap: 1.4rem; }
.comparison-hero { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 2rem; border: 1px solid #eadde2; border-radius: 1.5rem; background: linear-gradient(135deg,#fff,#fbf1f4); }
.comparison-hero h1 { margin: .3rem 0 .45rem; font-family: Georgia,serif; font-size: clamp(2rem,4.5vw,3.7rem); font-weight: 500; }
.comparison-hero p:not(.store-eyebrow) { margin: 0; color: #816d75; }
.comparison-table-wrap { overflow-x: auto; border: 1px solid #e5d7dc; border-radius: 1.2rem; background: #fff; box-shadow: 0 18px 50px rgba(74,42,55,.06); }
.comparison-table { width: 100%; min-width: 760px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.comparison-label-column { width: 165px; }
.comparison-table th,.comparison-table td { min-width: 0; padding: .9rem 1rem; border-right: 1px solid #eee2e6; border-bottom: 1px solid #eee2e6; text-align: left; vertical-align: middle; }
.comparison-table th:first-child { position: sticky; z-index: 2; left: 0; min-width: 165px; background: #fffafb; color: #71545f; font-size: .66rem; }
.comparison-table thead th { padding: 1rem; background: #fff; vertical-align: top; }
.comparison-table thead th:first-child { z-index: 3; padding-top: 1.5rem; }
.comparison-table tr:last-child :is(th,td) { border-bottom: 0; }
.comparison-table tr :is(th,td):last-child { border-right: 0; }
.comparison-table td { color: #66515a; font-size: .7rem; line-height: 1.5; }
.comparison-product { position: relative; display: grid; gap: .4rem; }
.comparison-product > button { position: absolute; z-index: 2; top: -.35rem; right: -.35rem; display: grid; width: 1.8rem; height: 1.8rem; padding: 0; place-items: center; border-radius: 50%; background: #f3e5ea; color: #8b4660; font-size: 1rem; }
.comparison-product a { display: grid; gap: .55rem; color: inherit; }
.comparison-product img,.comparison-product a > span { display: block; width: 100%; height: clamp(180px,18vw,240px); padding: .65rem; border: 1px solid #eadde2; border-radius: 1rem; background: linear-gradient(145deg,#fff,#f8edf1); object-fit: contain; object-position: center; }
.comparison-product a > span { display: grid; place-items: center; color: #8b4660; font-family: Georgia,serif; }
.comparison-product strong { max-width: 180px; font-size: .8rem; line-height: 1.25; }
.comparison-product small { color: #9b858e; font-size: .55rem; }
.comparison-product > b { color: #6e3e50; font-family: Georgia,serif; font-size: 1.05rem; }
.comparison-stock { display: inline-flex; align-items: center; gap: .35rem; color: #40815c; font-weight: 750; }
.comparison-stock i { width: .42rem; height: .42rem; border-radius: 50%; background: #45a56e; }
.comparison-stock.empty { color: #9b7e88; }
.comparison-stock.empty i { background: #b59ea6; }
.comparison-empty { display: grid; min-height: 360px; place-items: center; align-content: center; gap: .7rem; padding: 2rem; border: 1px dashed #d9c5cd; border-radius: 1.2rem; background: #fffafb; text-align: center; }
.comparison-empty > span { display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 50%; background: #f0e1e7; color: #8b4660; font-size: 1.5rem; }
.comparison-empty h2,.comparison-empty p { margin: 0; }
.comparison-empty p { max-width: 480px; color: #8a757d; }
html[data-theme="dark"] :is(.smart-search-notice,.comparison-hero,.comparison-table-wrap,.comparison-empty) { border-color: #493840; background: #211a1f; color: #f3e9ed; }
html[data-theme="dark"] .comparison-hero { background: linear-gradient(135deg,#2b2027,#211a1f); }
html[data-theme="dark"] :is(.compare-toggle,.comparison-table thead th,.comparison-table th:first-child) { border-color: #493840; background: #271e24; color: #e7ced7; }
html[data-theme="dark"] .compare-toggle.selected { border-color: #9f5b73; background: #472f3a; color: #f4c4d5; }
html[data-theme="dark"] .comparison-table :is(th,td) { border-color: #493840; }
html[data-theme="dark"] .comparison-table td { color: #d4c0c8; }
html[data-theme="dark"] .comparison-product > button { background: #382832; color: #efb2c8; }
html[data-theme="dark"] .comparison-product > b { color: #f2dce4; }
html[data-theme="dark"] .comparison-product img,html[data-theme="dark"] .comparison-product a > span { border-color: #493840; background: linear-gradient(145deg,#f8eef2,#ead8df); }
@media (max-width: 760px) { .comparison-hero { align-items: flex-start; flex-direction: column; }.comparison-tray { right: 1rem; bottom: 5.3rem; left: 1rem; min-width: 0; transform: none; }.comparison-table { width: max-content; table-layout: auto; }.comparison-table th,.comparison-table td { width: 230px; min-width: 230px; }.comparison-table th:first-child { width: 145px; min-width: 145px; }.comparison-product img,.comparison-product a > span { height: 190px; }.product-title-actions { align-self: flex-start; } }
@media (max-width: 520px) { .comparison-tray { align-items: stretch; flex-direction: column; }.comparison-tray-actions { justify-content: space-between; }.comparison-tray .button { flex: 1; }.comparison-hero { padding: 1.2rem; } }

/* Review photo moderation. */
.moderation-page { display: grid; gap: 1rem; }
.moderation-heading { position: relative; isolation: isolate; min-height: 188px; margin: 0; padding: clamp(1.5rem,3vw,2.35rem); overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 1.55rem; background: linear-gradient(125deg,#713149 0%,#924a65 55%,#b36c84 100%); color: #fff; box-shadow: 0 22px 48px rgba(91,42,61,.18); }
.moderation-heading::before,.moderation-heading::after { position: absolute; z-index: -1; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; content: ""; }
.moderation-heading::before { top: -155px; right: 6%; width: 310px; height: 310px; box-shadow: 0 0 0 38px rgba(255,255,255,.025); }
.moderation-heading::after { right: 28%; bottom: -85px; width: 145px; height: 145px; }
.moderation-heading-copy { display: grid; align-content: center; gap: .45rem; max-width: 760px; }
.moderation-heading h1 { margin: 0; font-size: clamp(2rem,4vw,3.45rem); line-height: .98; text-wrap: balance; }
.moderation-heading .eyebrow { width: fit-content; padding: .35rem .6rem; border-radius: 999px; background: rgba(255,255,255,.11); }
.moderation-heading :is(.eyebrow,p) { color: #f8e6ed; }
.moderation-heading p { max-width: 700px; margin: .15rem 0 0; line-height: 1.5; }
.moderator-identity { display: flex; min-width: 205px; align-items: center; gap: .7rem; padding: .72rem .85rem; border: 1px solid rgba(255,255,255,.26); border-radius: 1rem; background: rgba(53,18,31,.16); box-shadow: inset 0 1px rgba(255,255,255,.12); backdrop-filter: blur(12px); }
.moderator-identity > i { display: grid; width: 2.45rem; height: 2.45rem; flex: 0 0 auto; place-items: center; border-radius: .75rem; background: rgba(255,255,255,.92); color: #8b4660; font-family: Georgia,serif; font-size: 1rem; font-style: normal; font-weight: 800; }
.moderator-identity > span { display: grid; gap: .12rem; min-width: 0; }
.moderator-identity small { color: #f2cbd9; font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.moderator-identity strong { overflow-wrap: anywhere; }
.moderation-switch { position: relative; z-index: 1; display: inline-flex; min-height: 44px; align-items: center; padding: .7rem 1rem; border: 1px solid rgba(255,255,255,.3); border-radius: .8rem; background: rgba(255,255,255,.12); color: #fff; font-size: .68rem; font-weight: 850; backdrop-filter: blur(10px); }
.moderation-switch:hover { background: rgba(255,255,255,.2); color: #fff; }
.moderation-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.moderation-tabs a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; min-height: 66px; align-items: center; gap: .75rem; padding: .7rem .8rem; border: 1px solid #ead8df; border-radius: 1rem; background: #fff; color: #795462; font-size: .72rem; font-weight: 800; box-shadow: 0 8px 22px rgba(76,42,55,.045); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.moderation-tabs a:hover { border-color: #c892a6; box-shadow: 0 12px 26px rgba(76,42,55,.09); transform: translateY(-2px); }
.moderation-tabs a > i { color: #b6929f; font-size: .56rem; font-style: normal; letter-spacing: .08em; }
.moderation-tabs a.active { border-color: #8b4660; background: linear-gradient(125deg,#87405b,#a75d77); color: #fff; box-shadow: 0 12px 28px rgba(95,45,64,.18); }
.moderation-tabs a.active > i { color: #f3cfdb; }
.moderation-tabs strong { display: grid; min-width: 1.65rem; height: 1.65rem; place-items: center; border-radius: 50%; background: #f3e4e9; color: #8b4660; }
.moderation-tabs a.active strong { background: rgba(255,255,255,.16); color: #fff; }
.moderation-grid { display: grid; gap: 1rem; }
.moderation-text-grid { display: grid; gap: 1rem; }
.moderation-text-card { display: grid; gap: 1rem; padding: 1.2rem; border: 1px solid #e7d5dc; border-radius: 1.3rem; background: #fff; box-shadow: 0 16px 44px rgba(76,42,55,.07); }
.moderation-text-card > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid #eee1e6; }
.moderation-comment-preview { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .4rem .8rem; }
.moderation-comment-preview small { color: #9b7d88; font-size: .58rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.moderation-comment-preview blockquote { grid-row: 2; margin: 0; padding: 1rem; border-left: 3px solid #c47c96; border-radius: 0 .8rem .8rem 0; background: #fcf6f8; color: #604b53; font-size: .76rem; line-height: 1.65; }
.moderation-comment-preview blockquote.moderated { border-color: #6fa584; background: #f2faf5; }
.moderation-text-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; padding: 1rem; border-radius: 1rem; background: #fcf7f9; }
.moderation-text-form fieldset { grid-column: 1 / -1; margin: 0; padding: .8rem; border: 1px solid #ead9df; border-radius: .8rem; }
.moderation-text-form legend { padding: 0 .35rem; color: #735b64; font-size: .65rem; font-weight: 800; }
.moderation-text-actions { display: flex; grid-column: 1 / -1; flex-wrap: wrap; gap: .55rem; }
.moderation-text-actions .button { flex: 1 1 180px; }
.moderation-card { display: grid; grid-template-columns: minmax(260px,380px) minmax(0,1fr); overflow: hidden; border: 1px solid #e7d5dc; border-radius: 1.3rem; background: #fff; box-shadow: 0 16px 44px rgba(76,42,55,.07); }
.moderation-photo { display: grid; min-height: 360px; place-items: center; background: #f5edf0; }
.moderation-photo img { width: 100%; height: 100%; max-height: 520px; object-fit: contain; }
.moderation-content { display: grid; align-content: start; gap: 1rem; padding: 1.3rem; }
.moderation-product { display: flex; align-items: center; gap: .8rem; }
.moderation-product > :is(img,span) { display: grid; width: 58px; height: 58px; flex: 0 0 auto; place-items: center; border-radius: .75rem; background: #f5e9ed; object-fit: contain; }
.moderation-product div { display: grid; gap: .15rem; }
.moderation-product small { color: #9b7d88; font-size: .58rem; }
.moderation-product strong { font-size: .86rem; }
.moderation-review-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem 1rem; color: #836c75; font-size: .65rem; }
.moderation-review-meta span { color: #34242a; font-weight: 800; }
.moderation-review-meta b { margin-left: auto; color: #d79422; letter-spacing: .08em; }
.moderation-content blockquote { margin: 0; padding: 1rem; border-left: 3px solid #c47c96; border-radius: 0 .8rem .8rem 0; background: #fcf6f8; color: #604b53; font-size: .76rem; line-height: 1.65; }
.moderation-reason { margin: 0; padding: .75rem; border-radius: .75rem; background: #fff0ef; color: #91453f; font-size: .68rem; }
.moderation-actions { display: grid; gap: .85rem; padding-top: .25rem; border-top: 1px solid #eee1e6; }
.moderation-actions > form:first-child .button { width: 100%; }
.moderation-reject { display: grid; gap: .75rem; }
.moderation-reject fieldset { display: grid; gap: .55rem; margin: 0; padding: .8rem; border: 1px solid #ead9df; border-radius: .8rem; }
.moderation-reject legend { padding: 0 .35rem; color: #735b64; font-size: .65rem; font-weight: 800; }
.moderation-reason-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .45rem; }
.moderation-reason-options label { display: flex; align-items: flex-start; gap: .5rem; padding: .55rem; border: 1px solid #eee1e6; border-radius: .65rem; background: #fffafb; color: #634c55; font-size: .62rem; cursor: pointer; }
.moderation-reason-options input { width: 1rem; height: 1rem; flex: 0 0 auto; margin-top: .05rem; accent-color: #8b4660; }
.moderation-comment { display: grid; gap: .35rem; color: #735b64; font-size: .62rem; font-weight: 800; }
.moderation-reject textarea { min-height: 64px; resize: vertical; }
.moderation-reject .button { width: 100%; }
.button.danger { border-color: #c97972; color: #a3443d; }
.moderation-empty { position: relative; display: flex; min-height: 190px; align-items: center; justify-content: center; gap: 1rem; padding: clamp(1.5rem,4vw,2.5rem); overflow: hidden; border: 1px dashed #d9bec9; border-radius: 1.35rem; background: radial-gradient(circle at 50% 120%,#f5e7ec 0,transparent 44%),#fff; text-align: left; }
.moderation-empty::after { position: absolute; right: -60px; bottom: -100px; width: 220px; height: 220px; border: 1px solid #eddde3; border-radius: 50%; content: ""; }
.moderation-empty-icon { display: grid; width: 3.6rem; height: 3.6rem; flex: 0 0 auto; place-items: center; border: 6px solid #f2faf5; border-radius: 50%; background: #def1e5; color: #37825a; font-size: 1.25rem; box-shadow: 0 10px 24px rgba(55,130,90,.12); }
.moderation-empty :is(h2,p) { margin: 0; }
.moderation-empty h2 { font-size: 1.25rem; }
.moderation-empty p { margin-top: .3rem; color: #89737c; }
.review-photo-state { display: block; padding: .65rem .75rem; border-radius: .65rem; background: #fff4d8; color: #7d6021; }
.review-photo-state.rejected { background: #fff0ef; color: #964941; }
html[data-theme="dark"] .moderation-heading { border-color: #51333f; background: linear-gradient(125deg,#39242d 0%,#2a2026 58%,#211a1f 100%); box-shadow: 0 24px 55px rgba(0,0,0,.25); }
html[data-theme="dark"] :is(.moderation-tabs a,.moderation-card) { border-color: #4d3942; background: #211a1f; color: #f2e6eb; }
html[data-theme="dark"] .moderation-tabs a:hover { border-color: #785063; background: #281f24; }
html[data-theme="dark"] .moderation-tabs a.active { border-color: #aa627c; background: #944d67; }
html[data-theme="dark"] .moderation-tabs strong { background: #3a2932; color: #f3bfd1; }
html[data-theme="dark"] .moderation-tabs a.active strong { background: rgba(255,255,255,.16); color: #fff; }
html[data-theme="dark"] .moderation-empty { border-color: #543c47; background: radial-gradient(circle at 50% 120%,#30222a 0,transparent 45%),#211a1f; color: #f2e6eb; }
html[data-theme="dark"] .moderation-empty::after { border-color: #3e2d35; }
html[data-theme="dark"] .moderation-empty-icon { border-color: #263b31; background: #dff2e6; }
html[data-theme="dark"] .moderation-photo { background: #2b2127; }
html[data-theme="dark"] .moderation-text-card { border-color: #4d3942; background: #211a1f; color: #f2e6eb; }
html[data-theme="dark"] .moderation-text-card > header { border-color: #493640; }
html[data-theme="dark"] .moderation-comment-preview blockquote { background: #2b2027; color: #d9c7ce; }
html[data-theme="dark"] .moderation-comment-preview blockquote.moderated { border-color: #609076; background: #1d2b24; }
html[data-theme="dark"] .moderation-text-form { background: #271e24; }
html[data-theme="dark"] .moderation-text-form fieldset { border-color: #4d3942; }
html[data-theme="dark"] .moderation-product > :is(img,span) { background: #392a32; }
html[data-theme="dark"] .moderation-review-meta span { color: #f1e4e9; }
html[data-theme="dark"] .moderation-content blockquote { background: #2b2027; color: #d9c7ce; }
html[data-theme="dark"] .moderation-actions { border-color: #493640; }
html[data-theme="dark"] .moderation-reject fieldset,html[data-theme="dark"] .moderation-reason-options label { border-color: #4d3942; background: #271e24; color: #ddcad2; }
@media (max-width: 800px) { .moderation-card { grid-template-columns: 1fr; }.moderation-photo { min-height: 280px; }.moderation-heading { min-height: 0; align-items: flex-start; flex-direction: column; }.moderator-identity { width: 100%; }.moderation-reject { grid-template-columns: 1fr; }.moderation-reject .button { width: 100%; }.moderation-text-card > header { align-items: flex-start; flex-direction: column; }.moderation-comment-preview,.moderation-text-form { grid-template-columns: 1fr; }.moderation-comment-preview blockquote { grid-row: auto; }.moderation-text-form > * { grid-column: 1; } }
@media (max-width: 520px) { .moderation-tabs { grid-template-columns: 1fr; }.moderation-content { padding: 1rem; }.moderation-photo { min-height: 240px; }.moderation-empty { align-items: center; flex-direction: column; text-align: center; } }

/* Customer notifications. */
.nav-notification-count,.profile-navigation a > i { display: inline-grid; min-width: 1.25rem; height: 1.25rem; padding: 0 .25rem; place-items: center; border-radius: 999px; background: #a14f6d; color: #fff; font-size: .56rem; font-style: normal; font-weight: 900; }
.profile-notifications { scroll-margin-top: 7rem; }
.profile-notifications .section-heading form { margin-left: auto; }
.profile-notification-list { display: grid; gap: .7rem; }
.profile-notification-card { display: grid; grid-template-columns: auto minmax(0,1fr); gap: .85rem; padding: 1rem; border: 1px solid #eadde2; border-radius: 1rem; background: #fff; }
.profile-notification-card.unread { border-color: #c989a0; background: linear-gradient(110deg,#fff8fa,#fff); box-shadow: 0 8px 24px rgba(139,70,96,.08); }
.profile-notification-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .75rem; background: #f2e2e8; color: #8b4660; font-weight: 900; }
.profile-notification-card.unread .profile-notification-icon { background: #8b4660; color: #fff; }
.profile-notification-copy { display: grid; gap: .55rem; min-width: 0; }
.profile-notification-copy header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.profile-notification-copy header div { display: grid; gap: .1rem; }
.profile-notification-copy h3,.profile-notification-copy p { margin: 0; }
.profile-notification-copy h3 { color: #4f3942; font-size: .86rem; }
.profile-notification-copy header small,.profile-notification-copy time { color: #9b858e; font-size: .58rem; }
.profile-notification-copy > strong { color: #783f55; font-size: .74rem; }
.profile-notification-copy > p { color: #806c74; font-size: .68rem; line-height: 1.5; }
.profile-notification-copy blockquote { margin: 0; padding: .65rem .75rem; border-left: 3px solid #d5a1b3; border-radius: 0 .6rem .6rem 0; background: #fbf5f7; color: #69535b; font-size: .66rem; line-height: 1.5; }
.profile-notification-copy > a { width: fit-content; color: #8b4660; font-size: .64rem; font-weight: 800; }
.profile-notification-reasons { padding: .7rem .8rem; border-radius: .7rem; background: #fff1ef; color: #874741; font-size: .64rem; }
.profile-notification-reasons ul,.moderation-reason ul { margin: .35rem 0 0; padding-left: 1.1rem; }
.profile-notifications-empty { display: flex; min-height: 110px; align-items: center; gap: .85rem; padding: 1rem; border: 1px dashed #dfcbd3; border-radius: .9rem; background: #fffafb; }
.profile-notifications-empty > span { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: #f1e2e8; color: #8b4660; }
.profile-notifications-empty h3,.profile-notifications-empty p { margin: 0; }
.profile-notifications-empty p { margin-top: .2rem; color: #8e7981; font-size: .66rem; }
html[data-theme="dark"] :is(.profile-notification-card,.profile-notifications-empty) { border-color: #4d3942; background: #211a1f; }
html[data-theme="dark"] .profile-notification-card.unread { border-color: #8e586b; background: linear-gradient(110deg,#2d2028,#211a1f); }
html[data-theme="dark"] .profile-notification-copy h3 { color: #f1e5ea; }
html[data-theme="dark"] .profile-notification-copy :is(p,blockquote) { color: #d2bec6; }
html[data-theme="dark"] .profile-notification-copy blockquote { background: #2b2127; }
@media (max-width: 650px) { .moderation-reason-options { grid-template-columns: 1fr; }.profile-notifications .section-heading { align-items: flex-start; }.profile-notifications .section-heading form,.profile-notifications .section-heading .button { width: 100%; margin-left: 0; }.profile-notification-copy header { flex-direction: column; gap: .3rem; } }
/* Financial analytics */
.analytics-heading { align-items: flex-end; }
.analytics-period-summary { display: flex; flex-direction: column; gap: .3rem; padding: .85rem 1rem; border: 1px solid #eadde2; border-radius: .9rem; background: #fff; color: #8b4660; white-space: nowrap; }
.analytics-period-summary small { color: #927c85; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.analytics-filter { display: flex; align-items: flex-end; gap: .7rem; margin: 1.2rem 0; padding: .75rem; border: 1px solid #e8d9df; border-radius: 1rem; background: #fff; box-shadow: 0 8px 24px rgba(83,48,61,.05); }
.analytics-filter label { display: grid; gap: .3rem; color: #806b74; font-size: .72rem; font-weight: 750; }
.analytics-filter input { min-height: 42px; padding: .55rem .7rem; border: 1px solid #dfcdd4; border-radius: .7rem; color: #543743; background: #fffaf9; }
.analytics-presets { display: flex; gap: .25rem; padding: .25rem; border-radius: .8rem; background: #f7edef; }
.analytics-presets button { min-height: 42px; padding: 0 .9rem; border: 0; border-radius: .62rem; color: #765f68; background: transparent; font-weight: 750; cursor: pointer; }
.analytics-presets button.active { color: #fff; background: #8b4660; box-shadow: 0 5px 12px rgba(139,70,96,.2); }
.analytics-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; margin-bottom: .9rem; }
.analytics-kpi { position: relative; display: flex; min-height: 150px; flex-direction: column; justify-content: flex-end; padding: 1.1rem; overflow: hidden; border: 1px solid #eadde2; border-radius: 1.15rem; background: #fff; box-shadow: 0 10px 28px rgba(74,43,55,.06); }
.analytics-kpi > span { position: absolute; top: 1rem; right: 1rem; display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: .65rem; color: #8b4660; background: #f7eaee; font-weight: 800; }
.analytics-kpi > small { margin-bottom: .35rem; color: #8c747e; font-size: .72rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.analytics-kpi > strong { color: #4e303b; font: 700 clamp(1.45rem, 3vw, 2rem)/1.1 Georgia,serif; }
.analytics-kpi p { margin: .45rem 0 0; color: #9b858e; font-size: .78rem; }
.analytics-kpi.profit { border-color: #cce4d9; background: linear-gradient(145deg,#fff,#f1faf5); }
.analytics-kpi.profit > span { color: #2f7957; background: #dff2e8; }
.analytics-kpi.cost > span { color: #a76c27; background: #fbefd8; }
.analytics-inventory-card { display: grid; grid-template-columns: 1.1fr 1.4fr; gap: 2rem; align-items: center; margin-bottom: .9rem; padding: 1.35rem; border-radius: 1.2rem; color: #fff; background: linear-gradient(120deg,#623246,#8b4660 58%,#b86f88); box-shadow: 0 14px 34px rgba(111,55,76,.17); }
.analytics-inventory-card h2 { margin: .2rem 0 .45rem; font-family: Georgia,serif; }
.analytics-inventory-card p { margin: 0; color: rgba(255,255,255,.75); }
.analytics-inventory-card .store-eyebrow { color: #f2cedb; }
.analytics-inventory-card dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .6rem; margin: 0; }
.analytics-inventory-card dl div { padding: .9rem; border: 1px solid rgba(255,255,255,.16); border-radius: .85rem; background: rgba(255,255,255,.08); }
.analytics-inventory-card dt { color: rgba(255,255,255,.7); font-size: .7rem; }
.analytics-inventory-card dd { margin: .35rem 0 0; font-weight: 800; }
.analytics-inventory-card dl .highlight { background: rgba(255,255,255,.18); }
.analytics-chart-grid,.analytics-ranking-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(320px,1fr); gap: .9rem; margin-bottom: .9rem; }
.analytics-ranking-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.analytics-panel { padding: 1.25rem; border: 1px solid #eadde2; border-radius: 1.15rem; background: #fff; box-shadow: 0 10px 28px rgba(74,43,55,.055); }
.analytics-panel .section-heading { margin-bottom: 1rem; }
.analytics-chart-wrap { min-height: 310px; }
.analytics-chart-wrap canvas { display: block; max-width: 100%; }
.chart-legend { display: flex; gap: 1rem; color: #806b74; font-size: .72rem; }
.chart-legend span::before { display: inline-block; width: .55rem; height: .55rem; margin-right: .35rem; border-radius: 50%; background: #8b4660; content: ""; }
.chart-legend .profit::before { background: #3d8b68; }
.analytics-bars { display: grid; gap: .85rem; }
.analytics-bar > div { display: flex; justify-content: space-between; gap: 1rem; color: #5d414c; font-size: .8rem; }
.analytics-bar i { display: block; width: var(--value); height: .48rem; margin: .35rem 0; border-radius: 999px; background: linear-gradient(90deg,#8b4660,#c48199); }
.analytics-bar > small { color: #9a848d; font-size: .68rem; }
.ranking-panel ol { display: grid; gap: .3rem; margin: 0; padding: 0; list-style: none; }
.ranking-panel li { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; gap: .7rem; align-items: center; padding: .7rem; border-radius: .8rem; }
.ranking-panel li:hover { background: #fbf5f6; }
.ranking-panel li > b { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: .55rem; color: #8b4660; background: #f5e8ed; font-size: .75rem; }
.ranking-panel li div,.ranking-panel li > span { display: flex; flex-direction: column; }
.ranking-panel li strong { color: #573a45; font-size: .82rem; }
.ranking-panel li small { margin-top: .15rem; color: #9a858d; font-size: .67rem; }
.ranking-panel li > span { align-items: flex-end; color: #573a45; font-size: .8rem; font-weight: 800; }
.ranking-panel.weak li > b { color: #a46729; background: #fbefd8; }
.analytics-empty { display: grid; min-height: 220px; place-items: center; align-content: center; text-align: center; color: #917b84; }
.analytics-empty > span { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; border-radius: .75rem; color: #8b4660; background: #f5e8ed; }
.analytics-empty h3 { margin: .7rem 0 .2rem; color: #5d414c; }
.analytics-empty p { margin: 0; }
.analytics-empty.compact { min-height: 100px; }
html[data-theme="dark"] :is(.analytics-period-summary,.analytics-filter,.analytics-kpi,.analytics-panel) { border-color: #4d3942; background: #211a1f; color: #f2e6eb; box-shadow: 0 14px 34px rgba(0,0,0,.2); }
html[data-theme="dark"] .analytics-period-summary { color: #efb2c8; }
html[data-theme="dark"] .analytics-period-summary small,
html[data-theme="dark"] .analytics-filter label,
html[data-theme="dark"] .analytics-kpi > small,
html[data-theme="dark"] .analytics-kpi p,
html[data-theme="dark"] .analytics-bar > small,
html[data-theme="dark"] .ranking-panel li small,
html[data-theme="dark"] .chart-legend { color: #b9a5ad; }
html[data-theme="dark"] .analytics-filter input { border-color: #58434c; background: #1b161a; color: #f5ebee; }
html[data-theme="dark"] .analytics-presets { background: #30232a; }
html[data-theme="dark"] .analytics-presets button { color: #d4c0c7; }
html[data-theme="dark"] .analytics-presets button:hover { background: #3a2932; color: #f6edf0; }
html[data-theme="dark"] .analytics-presets button.active { background: #a85875; color: #fff; }
html[data-theme="dark"] .analytics-kpi > span,
html[data-theme="dark"] .ranking-panel li > b,
html[data-theme="dark"] .analytics-empty > span { background: #382832; color: #efb2c8; }
html[data-theme="dark"] .analytics-kpi > strong,
html[data-theme="dark"] .analytics-bar > div,
html[data-theme="dark"] .ranking-panel li strong,
html[data-theme="dark"] .ranking-panel li > span,
html[data-theme="dark"] .analytics-empty h3 { color: #f3e9ed; }
html[data-theme="dark"] .analytics-kpi.profit { border-color: #365f4d; background: linear-gradient(145deg,#211a1f,#1d2b24); }
html[data-theme="dark"] .analytics-kpi.profit > span { background: #263b31; color: #72c99b; }
html[data-theme="dark"] .analytics-kpi.cost > span,
html[data-theme="dark"] .ranking-panel.weak li > b { background: #3c3020; color: #e3b66d; }
html[data-theme="dark"] .analytics-inventory-card { border: 1px solid #6e4052; background: linear-gradient(120deg,#3a232d,#673448 58%,#82465c); box-shadow: 0 16px 40px rgba(0,0,0,.25); }
html[data-theme="dark"] .analytics-inventory-card :is(h2,dt,dd) { color: #fff; }
html[data-theme="dark"] .analytics-inventory-card p { color: rgba(255,255,255,.72); }
html[data-theme="dark"] .analytics-inventory-card dl div { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
html[data-theme="dark"] .analytics-inventory-card dl .highlight { background: rgba(255,255,255,.13); }
html[data-theme="dark"] .chart-legend span::before { background: #e59ab5; }
html[data-theme="dark"] .chart-legend .profit::before { background: #72c99b; }
html[data-theme="dark"] .analytics-bar i { background: linear-gradient(90deg,#b96382,#e59ab5); }
html[data-theme="dark"] .ranking-panel li:hover { background: #30232a; }
@media (max-width: 950px) { .analytics-kpis { grid-template-columns: repeat(2,1fr); } .analytics-inventory-card,.analytics-chart-grid { grid-template-columns: 1fr; } }
@media (max-width: 680px) { .analytics-heading { align-items: stretch; } .analytics-period-summary { white-space: normal; } .analytics-filter { align-items: stretch; flex-direction: column; } .analytics-presets { display: grid; grid-template-columns: 1fr 1fr; } .analytics-kpis,.analytics-ranking-grid { grid-template-columns: 1fr; } .analytics-inventory-card dl { grid-template-columns: 1fr; } .analytics-kpi { min-height: 130px; } }

/* Mobile storefront: compact, swipeable and product-first. */
@media (max-width: 700px) {
  body { padding-bottom: env(safe-area-inset-bottom); }
  .store-container { width: 100%; margin: 0 auto 1.5rem; }
  .store-home { gap: 1.15rem; padding: .65rem; }
  .store-home > .flash { margin: 0; }
  .flash { padding: .75rem .85rem; border-radius: .8rem; font-size: .78rem; }
  .store-home-hero { min-height: 0; border: 1px solid #ead9df; border-radius: 1.25rem; background: linear-gradient(145deg,#fff9fa 0%,#f8e9ee 52%,#f1dce4 100%); box-shadow: 0 12px 34px rgba(89,55,68,.08); }
  .store-home-hero::before { width: 210px; height: 210px; top: -108px; right: -78px; box-shadow: 0 0 0 34px rgba(139,70,96,.035),0 0 0 68px rgba(139,70,96,.018); animation: mobile-orbit-breathe 7s ease-in-out infinite; }
  .mobile-hero-decoration { position: absolute; z-index: 0; right: .7rem; bottom: 5.3rem; display: block; width: 5.4rem; height: 6.2rem; pointer-events: none; opacity: .72; }
  .mobile-beauty-orbit { position: absolute; width: 4.7rem; height: 4.7rem; right: -.8rem; bottom: -.7rem; border: 1px solid rgba(139,70,96,.18); border-radius: 50%; animation: mobile-orbit-drift 8s ease-in-out infinite; }
  .mobile-beauty-bottle { position: absolute; right: .65rem; bottom: 0; width: 1.8rem; height: 3.9rem; border: 1px solid rgba(139,70,96,.24); border-radius: .65rem .65rem .85rem .85rem; background: linear-gradient(145deg,rgba(255,255,255,.82),rgba(197,120,148,.24)); box-shadow: inset -.35rem -.35rem .8rem rgba(139,70,96,.08),0 .55rem 1.1rem rgba(91,49,64,.12); animation: mobile-bottle-float 5s ease-in-out infinite; }
  .mobile-beauty-bottle::before { position: absolute; width: .85rem; height: .55rem; top: -.55rem; left: .45rem; border-radius: .2rem .2rem 0 0; background: #a35b75; content: ""; }
  .mobile-beauty-drop { position: absolute; width: .65rem; height: .65rem; top: .35rem; left: .15rem; border-radius: 60% 40% 65% 35%; background: rgba(163,91,117,.28); box-shadow: 1.25rem -.25rem 0 -.12rem rgba(163,91,117,.2); transform: rotate(35deg); animation: mobile-drop-float 4.5s ease-in-out infinite reverse; }
  .store-home-copy { padding: 1.35rem 1.05rem 1.1rem; }
  .store-home-copy .store-eyebrow { margin-bottom: .45rem; font-size: .58rem; letter-spacing: .13em; }
  .store-home-copy h1 { max-width: 330px; margin-bottom: .65rem; font-size: clamp(2.15rem,10.7vw,3rem); line-height: .96; letter-spacing: -.04em; }
  .store-home-copy > p:not(.store-eyebrow) { display: -webkit-box; margin-bottom: 1rem; overflow: hidden; font-size: .82rem; line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .store-search { display: grid; width: 100%; grid-template-columns: minmax(0,1fr) auto; align-items: center; padding: .25rem; border-radius: .8rem; box-shadow: 0 7px 20px rgba(89,55,68,.08); }
  .store-search button { width: auto; min-width: 72px; min-height: 42px; padding: .6rem .85rem; border-radius: .65rem; font-size: .72rem; }
  .store-product-search .select2-container--default .select2-selection--single { height: 42px; }
  .store-product-search .select2-container--default .select2-selection--single .select2-selection__rendered { padding: .55rem 1.8rem .55rem .65rem; font-size: .76rem; }
  .store-product-search .select2-container--default .select2-selection--single .select2-selection__arrow { height: 38px; }
  .store-hero-actions { justify-content: space-between; gap: .7rem; margin-top: .85rem; }
  .store-hero-actions .button { min-height: 40px; padding: .62rem .78rem; border-radius: .65rem; font-size: .72rem; }
  .store-hero-actions > span { font-size: .64rem; text-align: right; }
  .store-benefits { display: flex; gap: .65rem; margin-inline: -.65rem; padding: .15rem .65rem .55rem; overflow-x: auto; border: 0; background: transparent; box-shadow: none; scroll-padding-inline: .65rem; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .store-benefits::-webkit-scrollbar { display: none; }
  .store-benefits article { position: relative; min-width: min(72vw,260px); min-height: 104px; align-items: center; flex-direction: row; gap: .8rem; padding: .85rem; overflow: hidden; border: 1px solid #eadde2; border-radius: 1rem; background: linear-gradient(145deg,#fff,#fff8fa); box-shadow: 0 10px 25px rgba(73,43,54,.07); text-align: left; scroll-snap-align: start; animation: mobile-benefit-reveal .55s both; }
  .store-benefits article:nth-child(2) { animation-delay: .08s; }
  .store-benefits article:nth-child(3) { animation-delay: .16s; }
  .store-benefits article::after { position: absolute; width: 4rem; height: 4rem; top: -2rem; right: -1.25rem; border: 1px solid rgba(139,70,96,.1); border-radius: 50%; content: ""; }
  .store-benefits article + article { border: 1px solid #eadde2; }
  .store-benefits article > span { width: 2.7rem; height: 2.7rem; font-size: .82rem; box-shadow: 0 7px 18px rgba(139,70,96,.13); }
  .store-benefits div { gap: .25rem; }
  .store-benefits strong { font-size: .76rem; line-height: 1.25; }
  .store-benefits small { display: block; font-size: .64rem; line-height: 1.4; }
  .store-section { gap: .75rem; }
  .store-section-heading { align-items: flex-end; flex-direction: row; padding-inline: .15rem; }
  .store-section-heading .store-eyebrow { margin-bottom: .25rem; font-size: .55rem; }
  .store-section-heading h2,.popular-showcase-heading h2 { font-size: 1.55rem; line-height: 1.05; }
  .store-section-heading > a { display: inline-flex; flex: 0 0 auto; min-height: 36px; align-items: center; font-size: .66rem; }
  .popular-showcase,.category-showcase { padding: 1rem .8rem .85rem; border-radius: 1.15rem; }
  .popular-showcase-heading { align-items: flex-end; }
  .popular-showcase-heading > div > p:last-child { display: none; }
  .popular-showcase-heading > a { display: inline-flex; }
  .popular-product-marquee { width: calc(100% + 1.6rem); margin-inline: -.8rem; padding: .2rem .8rem .55rem; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: none; touch-action: pan-x pan-y; }
  .popular-product-marquee::-webkit-scrollbar,.home-products::-webkit-scrollbar { display: none; }
  .popular-product-marquee::before,.popular-product-marquee::after { display: none; }
  .popular-product-track { width: max-content; transform: none; animation: none; }
  .popular-product-marquee:hover .popular-product-track,
  .popular-product-marquee:focus-within .popular-product-track { animation-play-state: running; }
  .popular-product-marquee.is-interacting .popular-product-track { animation-play-state: paused; }
  .popular-product-group { gap: .65rem; padding-right: .65rem; }
  .popular-product-card { width: min(43vw,180px); scroll-snap-align: start; box-shadow: 0 8px 20px rgba(79,48,60,.06); }
  .popular-proof { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .category-showcase-heading { padding-bottom: .25rem; }
  .store-category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; }
  .store-category-card {
    width: auto;
    min-width: 0;
    min-height: 82px;
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-rows: auto 1fr;
    gap: .18rem .45rem;
    align-content: center;
    padding: .72rem .7rem;
    border-radius: .9rem;
    background: linear-gradient(145deg,#fff,#fdf7f9);
    box-shadow: 0 6px 18px rgba(75,43,55,.045);
  }
  .store-category-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .store-category-card::after { width: 58px; height: 58px; right: -32px; bottom: -34px; }
  .category-number { grid-column: 1; align-self: end; font-size: .58rem; }
  .category-card-copy { grid-column: 1; gap: 0; align-self: start; }
  .category-card-copy strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: .76rem;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .category-card-copy small { display: none; }
  .category-arrow {
    grid-row: 1 / 3;
    grid-column: 2;
    width: 1.75rem;
    height: 1.75rem;
    align-self: center;
    border: 1px solid #ead3dc;
    font-size: .78rem;
    font-weight: 900;
  }
  .new-arrivals-showcase {
    min-width: 0;
    padding: 1rem .8rem .85rem;
    overflow: hidden;
    border: 1px solid #eadfe3;
    border-radius: 1.15rem;
    background: rgba(255,255,255,.66);
    box-shadow: 0 10px 30px rgba(73,43,54,.045);
  }
  .home-products {
    display: flex;
    gap: .65rem;
    margin-inline: 0;
    padding: .1rem 0 .35rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .home-products .store-product-card {
    width: min(43vw,180px);
    min-width: min(43vw,180px);
    margin-right: 0;
    scroll-snap-align: start;
  }
  .home-products .store-product-card:last-child { margin-right: .15rem; }
  .new-arrivals-showcase.motion-enhanced .store-section-heading,
  .new-arrivals-showcase.motion-enhanced .home-products .store-product-card {
    opacity: 0;
    transform: translateY(.75rem);
    transition: opacity .48s ease,transform .55s cubic-bezier(.22,.8,.26,1);
  }
  .new-arrivals-showcase.motion-enhanced.is-visible .store-section-heading,
  .new-arrivals-showcase.motion-enhanced.is-visible .home-products .store-product-card {
    opacity: 1;
    transform: translateY(0);
  }
  .new-arrivals-showcase.motion-enhanced.is-visible .home-products .store-product-card:nth-child(2) { transition-delay: .08s; }
  .new-arrivals-showcase.motion-enhanced.is-visible .home-products .store-product-card:nth-child(3) { transition-delay: .16s; }
  .new-arrivals-showcase.motion-enhanced.is-visible .home-products .store-product-card:nth-child(4) { transition-delay: .24s; }
  .store-benefits article { transition: border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
  .store-benefits article:active,.home-products .store-product-card:active { transform: scale(.985); }
  .store-product-card:hover,.popular-product-card:hover { transform: none; }
}

@media (max-width: 380px) {
  .store-home { padding: .5rem; }
  .store-home-copy { padding-inline: .9rem; }
  .store-home-copy h1 { font-size: 2rem; }
  .store-benefits { padding-inline: .25rem; }
  .store-benefits strong { font-size: .58rem; }
  .popular-product-card,.home-products .store-product-card { width: 46vw; min-width: 46vw; }
  .store-category-card { min-height: 76px; padding-inline: .6rem; }
}

html[data-theme="dark"] .store-benefits { border-color: #493840; background: #211a1f; box-shadow: 0 10px 28px rgba(0,0,0,.18); }
html[data-theme="dark"] .store-benefits article + article { border-color: #493840; }
@media (max-width: 700px) {
  html[data-theme="dark"] .store-home-hero { background: linear-gradient(145deg,#2d2229,#211a1f 58%,#191519); }
  html[data-theme="dark"] .store-benefits { border: 0; background: transparent; box-shadow: none; }
  html[data-theme="dark"] .store-benefits article,
  html[data-theme="dark"] .store-benefits article + article { border-color: #493840; background: linear-gradient(145deg,#282027,#211a1f); box-shadow: 0 10px 25px rgba(0,0,0,.2); }
  html[data-theme="dark"] .mobile-beauty-bottle { border-color: rgba(229,154,181,.3); background: linear-gradient(145deg,rgba(255,255,255,.1),rgba(173,91,121,.25)); }
}

@keyframes mobile-orbit-breathe { 50% { transform: scale(1.06); opacity: .72; } }
@keyframes mobile-orbit-drift { 50% { transform: translate(-.35rem,-.2rem) rotate(8deg); } }
@keyframes mobile-bottle-float { 50% { transform: translateY(-.35rem) rotate(1deg); } }
@keyframes mobile-drop-float { 50% { transform: translateY(.3rem) rotate(42deg); opacity: .6; } }
@keyframes mobile-benefit-reveal { from { opacity: 0; transform: translateY(.65rem); } to { opacity: 1; transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
  .store-home-hero::before,.mobile-beauty-orbit,.mobile-beauty-bottle,
  .mobile-beauty-drop,.store-benefits article { animation: none !important; }
  .new-arrivals-showcase .store-section-heading,
  .new-arrivals-showcase .home-products .store-product-card { opacity: 1 !important; transform: none !important; transition: none !important; }
}
html[data-theme="dark"] .store-category-card { background: linear-gradient(145deg,#251d22,#211a1f); }
html[data-theme="dark"] .category-arrow { border-color: #624653; background: #3a2932; color: #efb1c7; }
html[data-theme="dark"] .new-arrivals-showcase { border-color: #493840; background: #211a1f; box-shadow: 0 12px 32px rgba(0,0,0,.2); }

/* Storefront mobile shell: persistent destinations and reachable catalog controls. */
.mobile-tab-bar,.catalog-mobile-controls { display: none; }

@media (max-width: 850px) {
  .catalog-mobile-controls {
    display: block;
  }
  .catalog-mobile-controls-panel {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .65rem;
  }
  .catalog-mobile-controls-panel > details[open] { grid-column: 1 / -1; }
  .catalog-mobile-categories summary,.catalog-mobile-filters summary { position: relative; }
  .mobile-control-dot {
    position: absolute;
    top: .55rem;
    right: 2rem;
    width: .45rem;
    height: .45rem;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #a63f67;
    box-shadow: 0 0 0 1px rgba(139,70,96,.16);
  }
  .catalog-mobile-sort {
    display: grid;
    min-width: 0;
    align-content: center;
    gap: .18rem;
    padding: .6rem .75rem;
    border: 1px solid #e4d4da;
    border-radius: 1rem;
    background: #fff;
  }
  .catalog-mobile-sort label {
    color: #a66b81;
    font-size: .58rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
  }
  .catalog-mobile-sort select {
    width: 100%;
    min-width: 0;
    height: auto;
    padding: 0 1.1rem 0 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    color: #4f3841;
    font-size: .75rem;
    font-weight: 800;
    text-overflow: ellipsis;
  }
}

@media (max-width: 700px) {
  html,body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }
  html:has(body.has-mobile-tab-bar) { height: 100%; overflow: hidden; }
  body.has-mobile-tab-bar {
    display: grid;
    height: 100dvh;
    min-height: 100%;
    grid-template-rows: auto minmax(0,1fr) auto;
    padding-bottom: 0;
    overflow: hidden;
  }
  body.has-mobile-tab-bar > .site-header { position: relative; grid-row: 1; }
  body.has-mobile-tab-bar > main.container {
    width: min(100% - 1rem,1280px);
    height: 100%;
    min-height: 0;
    grid-row: 2;
    margin: 0 auto;
    padding-top: .75rem;
    padding-bottom: 1rem;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
    -webkit-overflow-scrolling: touch;
  }
  .mobile-tab-bar {
    position: relative;
    z-index: 78;
    right: auto;
    bottom: auto;
    left: auto;
    display: grid;
    width: auto;
    grid-template-columns: repeat(5,minmax(0,1fr));
    grid-row: 3;
    gap: .2rem;
    margin: .45rem max(.55rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.55rem,env(safe-area-inset-left));
    padding: .38rem;
    border: 1px solid rgba(218,190,200,.82);
    border-radius: 1.15rem;
    background: rgba(255,252,250,.92);
    box-shadow: 0 15px 42px rgba(62,34,45,.2);
    backdrop-filter: blur(18px) saturate(145%);
    transition: opacity .2s ease,transform .2s ease;
  }
  .mobile-tab-bar a {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 3.55rem;
    align-content: center;
    justify-items: center;
    gap: .18rem;
    border-radius: .85rem;
    color: #806c74;
    transition: background .18s ease,color .18s ease,transform .18s ease;
  }
  .mobile-tab-bar a:active { transform: scale(.96); }
  .mobile-tab-bar a > span { font-size: 1.2rem; line-height: 1; }
  .mobile-tab-bar a > b {
    max-width: 100%;
    overflow: hidden;
    font-size: .56rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mobile-tab-bar a.active { background: #f2e1e8; color: #823f59; }
  .mobile-tab-bar a.active::before {
    position: absolute;
    top: .18rem;
    width: 1.2rem;
    height: 2px;
    border-radius: 2px;
    background: #9b4968;
    content: "";
  }
  .mobile-tab-bar i {
    position: absolute;
    top: .28rem;
    right: calc(50% - 1.15rem);
    display: grid;
    min-width: 1rem;
    height: 1rem;
    padding-inline: .2rem;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 1rem;
    background: #9b4968;
    color: #fff;
    font-size: .48rem;
    font-style: normal;
    font-weight: 900;
  }
  .mobile-tab-bar i[hidden] { display: none; }
  html.mobile-nav-open .mobile-tab-bar {
    opacity: 0;
    pointer-events: none;
    transform: translateY(1rem);
  }
  .has-mobile-tab-bar .floating-cart { display: none; }
  .catalog-page > .catalog-mobile-controls { grid-column: 1 / -1; }
  .catalog-page > .catalog-curations-shell {
    position: relative;
    display: block;
    min-width: 0;
    grid-column: 1 / -1;
  }
  .catalog-page,.catalog-layout,.catalog-results,.store-product-grid {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .catalog-curations {
    max-width: 100%;
    gap: .5rem;
    margin-inline: -.25rem;
    padding: .05rem .25rem .45rem;
  }
  .catalog-curations a {
    min-width: 138px;
    min-height: 54px;
    grid-template-columns: 2rem minmax(0,1fr);
    gap: .02rem .55rem;
    padding: .55rem .6rem;
    border-radius: .8rem;
    box-shadow: none;
  }
  .catalog-curations span { width: 2rem; height: 2rem; border-radius: .62rem; }
  .catalog-curations strong { font-size: .7rem; }
  .catalog-curations small { font-size: .55rem; }
  .catalog-curations-cue {
    position: absolute;
    z-index: 3;
    top: calc(50% - .3rem);
    right: -.2rem;
    display: flex;
    width: 4.25rem;
    height: 3rem;
    align-items: center;
    justify-content: flex-end;
    padding-right: .75rem;
    border-radius: 0 .85rem .85rem 0;
    background:
      radial-gradient(circle at calc(100% - .9rem) 50%,#9b4968 0 1rem,transparent 1.04rem),
      linear-gradient(90deg,rgba(251,247,244,0),#fbf7f4 68%);
    color: #fff;
    font-size: .9rem;
    font-weight: 900;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) translateX(.35rem);
    transition: opacity .2s ease,transform .2s ease;
  }
  .catalog-curations-shell.is-scrollable:not(.at-end) .catalog-curations-cue {
    opacity: 1;
    transform: translateY(-50%);
  }
  .catalog-mobile-controls {
    position: sticky;
    z-index: 48;
    top: .45rem;
    margin: -.1rem 0 0;
    padding: .3rem;
    border: 1px solid rgba(223,202,210,.82);
    border-radius: .9rem;
    background: rgba(255,250,248,.9);
    box-shadow: 0 8px 24px rgba(64,35,46,.09);
    backdrop-filter: blur(16px);
    transition: opacity .2s ease,transform .24s cubic-bezier(.22,.8,.26,1),box-shadow .2s ease;
  }
  .catalog-mobile-controls.is-scroll-hidden:not([open]) {
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(-100% - .7rem));
  }
  .catalog-mobile-controls-summary {
    position: relative;
    display: grid;
    min-height: 42px;
    grid-template-columns: 2rem minmax(0,1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .3rem .48rem;
    cursor: pointer;
    list-style: none;
    border-radius: .68rem;
    background: rgba(255,255,255,.72);
    -webkit-tap-highlight-color: transparent;
  }
  .catalog-mobile-controls-summary::-webkit-details-marker { display: none; }
  .catalog-mobile-controls-summary > span:first-child {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    place-items: center;
    border-radius: .52rem;
    background: #f1dfe6;
    color: #8b4660;
    font-size: .72rem;
    font-weight: 900;
  }
  .catalog-mobile-controls-summary > span:nth-child(2) { display: grid; min-width: 0; gap: .08rem; }
  .catalog-mobile-controls-summary strong { color: #563943; font-size: .68rem; }
  .catalog-mobile-controls-summary small {
    overflow: hidden;
    color: #907b83;
    font-size: .54rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .catalog-mobile-controls-summary > i {
    color: #9b4968;
    font-size: 1rem;
    font-style: normal;
    transition: transform .2s ease;
  }
  .catalog-mobile-controls[open] > .catalog-mobile-controls-summary > i { transform: rotate(180deg); }
  .catalog-mobile-controls-summary .mobile-control-dot { top: .35rem; right: 1.65rem; }
  .catalog-mobile-controls-panel {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: .42rem;
    padding-top: .42rem;
  }
  .catalog-mobile-controls:not([open]) .catalog-mobile-controls-panel { display: none; }
  .catalog-mobile-controls-panel > details { box-shadow: none; }
  .catalog-mobile-controls-panel > details[open] { max-height: min(62dvh,520px); overflow-y: auto; }
  .catalog-mobile-categories,.catalog-mobile-filters { grid-column: auto; }
  .catalog-mobile-categories summary,.catalog-mobile-filters summary,
  .catalog-mobile-sort { min-height: 54px; padding: .5rem .58rem; border-radius: .78rem; }
  .catalog-mobile-categories summary span,.catalog-mobile-filters summary span,
  .catalog-mobile-sort label { font-size: .51rem; letter-spacing: .06em; }
  .catalog-mobile-categories summary strong,.catalog-mobile-filters summary strong,
  .catalog-mobile-sort select { font-size: .68rem; }
  .catalog-mobile-categories summary i,.catalog-mobile-filters summary i { font-size: .95rem; }
  .catalog-toolbar { display: block; min-height: 0; padding: .25rem .15rem 0; }
  .catalog-toolbar > div { gap: 0; }
  .catalog-toolbar > div strong { font-size: 1rem; }
  .catalog-toolbar > form { display: none; }
  .store-product-grid .store-product-card { box-shadow: 0 8px 24px rgba(67,37,49,.07); }
  .store-product-grid .store-product-content { padding: .7rem; }
  .store-product-grid .store-product-rating small { display: none; }
  .store-product-grid .store-product-content h3 {
    display: -webkit-box;
    min-height: 2.6em;
    margin-block: .18rem .35rem;
    line-height: 1.3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .store-product-grid .store-stock { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .store-product-grid .compare-toggle { margin-top: .45rem; }
  .comparison-tray { bottom: calc(5.25rem + env(safe-area-inset-bottom)); }

  .catalog-page .store-product-grid { gap: .7rem; align-items: stretch; }
  .catalog-page .store-product-card {
    height: 100%;
    border-color: #e5d6dc;
    border-radius: 1.05rem;
    background: #fffdfc;
    box-shadow: 0 10px 26px rgba(67,37,49,.08);
  }
  .catalog-page .store-product-image {
    aspect-ratio: 4 / 3;
    padding: .35rem;
    border-bottom: 1px solid #eee2e6;
    background: linear-gradient(145deg,#f8eff2,#fffaf7);
  }
  .catalog-page .store-product-image img {
    border-radius: .72rem .72rem .35rem .35rem;
    object-fit: contain;
    transform: none;
  }
  .catalog-page .store-discount,.catalog-page .store-sold-out {
    top: .65rem;
    padding: .32rem .48rem;
    font-size: .62rem;
    box-shadow: 0 5px 14px rgba(57,32,42,.13);
  }
  .catalog-page .store-discount { left: .65rem; }
  .catalog-page .store-sold-out { right: .65rem; }
  .catalog-page .store-product-content { padding: .75rem; }
  .catalog-page .store-product-content h3 {
    min-height: 2.7em;
    margin: 0 0 .35rem;
    font-size: .82rem;
    line-height: 1.35;
  }
  .catalog-page .store-product-rating { min-height: 1.25rem; font-size: .7rem; }
  .catalog-page .store-card-footer { margin-top: .55rem; }
  .catalog-page .store-price { min-height: 2.35rem; justify-content: flex-end; }
  .catalog-page .store-price strong { font-size: 1rem; }
  .catalog-page .store-card-action { width: 2.15rem; height: 2.15rem; }
  .catalog-page .store-stock { min-height: 1.2rem; margin-top: .45rem; }
  .catalog-page .store-card-utilities {
    display: grid;
    grid-template-columns: 2.25rem minmax(0,1fr);
    gap: .4rem;
    margin-top: auto;
    padding-top: .55rem;
  }
  .catalog-page .store-card-utilities .compare-toggle,
  .catalog-page .store-card-utilities .catalog-quick-add {
    width: 100%;
    min-width: 0;
    min-height: 2.25rem;
    margin: 0;
  }
  .catalog-page .store-card-utilities .compare-toggle { padding: .35rem; }
  .catalog-page .store-card-utilities .compare-toggle b { display: none; }
  .catalog-page .store-card-utilities .catalog-quick-add { padding: .4rem .35rem; }
}

html[data-theme="dark"] .mobile-tab-bar {
  border-color: rgba(91,66,77,.88);
  background: rgba(35,27,32,.94);
  box-shadow: 0 15px 42px rgba(0,0,0,.4);
}
html[data-theme="dark"] .mobile-tab-bar a { color: #bca8b0; }
html[data-theme="dark"] .mobile-tab-bar a.active { background: #4a303b; color: #ffd5e4; }
html[data-theme="dark"] .mobile-tab-bar i { border-color: #231b20; }
html[data-theme="dark"] .catalog-mobile-controls {
  border-color: rgba(79,57,67,.9);
  background: rgba(31,24,28,.92);
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
}
html[data-theme="dark"] .catalog-mobile-controls-summary { background: rgba(42,31,37,.82); }
html[data-theme="dark"] .catalog-mobile-controls-summary > span:first-child { background: #49303b; color: #f0aec5; }
html[data-theme="dark"] .catalog-mobile-controls-summary strong { color: #f3e9ed; }
html[data-theme="dark"] .catalog-mobile-controls-summary small { color: #b9a5ad; }
html[data-theme="dark"] .mobile-control-dot { border-color: #21191e; background: #e88eae; }
html[data-theme="dark"] .catalog-mobile-sort { border-color: #493840; background: #211a1f; }
html[data-theme="dark"] .catalog-mobile-sort select { color: #f0dce4; }
html[data-theme="dark"] .catalog-curations-cue {
  background:
    radial-gradient(circle at calc(100% - .9rem) 50%,#b45f7e 0 1rem,transparent 1.04rem),
    linear-gradient(90deg,rgba(24,18,23,0),#181217 68%);
}
html[data-theme="dark"] .catalog-page .store-product-card { border-color: #4d3942; background: #211a1f; }
html[data-theme="dark"] .catalog-page .store-product-image {
  border-color: #493840;
  background: linear-gradient(145deg,#30242a,#241c21);
}

@media (max-width: 520px) {
  .catalog-page { padding-inline: .4rem; }
  .catalog-page .store-product-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .6rem .5rem;
  }
  .catalog-page .store-product-card {
    display: flex;
    min-width: 0;
    width: 100%;
    height: auto;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
    border-radius: .95rem;
  }
  .catalog-page .store-product-image {
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-height: none;
    flex: 0 0 auto;
    aspect-ratio: 1 / .92;
    padding: .28rem;
    border-right: 0;
    border-bottom: 1px solid #eee2e6;
  }
  .catalog-page .store-product-image img {
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
    border-radius: .72rem .72rem .35rem .35rem;
    object-fit: contain;
  }
  .catalog-page .store-product-content {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    padding: .58rem .62rem .62rem;
    overflow: hidden;
  }
  .catalog-page .store-product-categories,
  .catalog-page .store-product-content > p { display: none; }
  .catalog-page .store-product-content > a:not(.store-product-rating) { order: 2; }
  .catalog-page .store-product-content h3 {
    min-height: 2.55em;
    margin: .28rem 0 .22rem;
    font-size: .76rem;
    line-height: 1.28;
    -webkit-line-clamp: 2;
  }
  .catalog-page .store-product-rating {
    order: 3;
    min-height: 1rem;
    margin: 0;
    gap: .22rem;
    font-size: .63rem;
  }
  .catalog-page .store-product-rating small {
    display: inline;
    overflow: hidden;
    color: #96828a;
    font-size: .54rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .catalog-page .store-card-footer {
    order: 1;
    min-height: 2rem;
    margin: 0;
    align-items: center;
  }
  .catalog-page .store-price {
    min-height: 0;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .15rem .3rem;
  }
  .catalog-page .store-price strong { order: 1; font-size: .98rem; line-height: 1; }
  .catalog-page .store-price del { order: 2; font-size: .56rem; }
  .catalog-page .store-card-action { display: grid; width: 1.85rem; height: 1.85rem; flex: 0 0 auto; }
  .catalog-page .store-stock {
    order: 4;
    min-height: .9rem;
    margin-top: .28rem;
    overflow: hidden;
    font-size: .52rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .catalog-page .store-card-utilities {
    order: 5;
    grid-template-columns: 1.9rem minmax(0,1fr);
    gap: .3rem;
    margin-top: .38rem;
    padding-top: .35rem;
  }
  .catalog-page .store-card-utilities .compare-toggle,
  .catalog-page .store-card-utilities .catalog-quick-add {
    min-height: 1.9rem;
    border-radius: .62rem;
    font-size: .56rem;
  }
  .catalog-page .store-card-utilities .compare-toggle span,
  .catalog-page .store-card-utilities .catalog-quick-add span { font-size: .78rem; }
  .catalog-page .store-card-utilities .catalog-quick-add { background: #8b4660; color: #fff; }
  .catalog-page .store-card-utilities .catalog-quick-add:disabled {
    border-color: #ded1d6;
    background: #eee7ea;
    color: #8d8186;
  }
  .catalog-page .store-discount { top: .6rem; left: .6rem; }
  .catalog-page .store-sold-out { top: .6rem; right: .45rem; max-width: calc(100% - .9rem); }
  html[data-theme="dark"] .catalog-page .store-product-image {
    border-right-color: transparent;
    border-bottom-color: #493840;
  }
  html[data-theme="dark"] .catalog-page .store-card-utilities .catalog-quick-add {
    border-color: #a65b77;
    background: #9c506c;
    color: #fff;
  }
  html[data-theme="dark"] .catalog-page .store-card-utilities .catalog-quick-add:disabled {
    border-color: #493840;
    background: #30262b;
    color: #88777e;
  }
  .catalog-page .catalog-pagination {
    display: grid;
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: .4rem;
    align-items: center;
    margin-top: 1.1rem;
  }
  .catalog-page .pagination-pages {
    order: 0;
    width: auto;
    min-width: 0;
    justify-content: center;
    gap: .3rem;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .catalog-page .pagination-pages::-webkit-scrollbar { display: none; }
  .catalog-page .catalog-pagination a,
  .catalog-page .catalog-pagination span {
    min-width: 2.25rem;
    min-height: 2.35rem;
    padding: .42rem .55rem;
    border-radius: .65rem;
  }
  .catalog-page .pagination-direction {
    min-width: 0;
    flex: none;
    font-size: .66rem;
    font-weight: 800;
    white-space: nowrap;
  }
}

@media (max-width: 360px) {
  .mobile-tab-bar { right: auto; bottom: auto; left: auto; margin: .3rem; padding-inline: .2rem; }
  .mobile-tab-bar a > b { font-size: .51rem; }
  .catalog-mobile-controls-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-mobile-sort { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-tab-bar,.mobile-tab-bar a,.catalog-mobile-controls { transition-duration: .01ms !important; }
}

/* Optional category photography on the storefront and in management. */
.category-card-image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.store-category-card.has-image::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg,rgba(33,21,27,.82),rgba(33,21,27,.25)); content: ""; }
.store-category-card.has-image::after { display: none; }
.store-category-card.has-image > :not(.category-card-image) { position: relative; z-index: 2; }
.store-category-card.has-image :is(.category-number,.category-card-copy small) { color: #f0cbd8; }
.store-category-card.has-image .category-card-copy strong { color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.25); }
.store-category-card.has-image .category-arrow { background: rgba(255,255,255,.88); }
.store-category-card.has-image:hover .category-card-image { transform: scale(1.045); }
.category-card-icon.has-image { overflow: hidden; }
.category-card-icon.has-image img { width: 100%; height: 100%; object-fit: cover; }

/* Mobile experience: faster access to products, forms and buying actions. */
@media (max-width: 700px) {
  :is(a,button,summary,label) { -webkit-tap-highlight-color: transparent; }

  .catalog-page {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .8rem;
  }
  .catalog-hero,.catalog-curations,.catalog-layout { grid-column: 1 / -1; }
  .catalog-hero { gap: .85rem; padding: 1.1rem .9rem; border-radius: 1rem; }
  .catalog-hero h1 { margin-bottom: .45rem; font-size: clamp(2rem,10vw,2.55rem); }
  .catalog-hero > div > p:last-child {
    display: -webkit-box;
    overflow: hidden;
    font-size: .8rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .catalog-mobile-categories,.catalog-mobile-filters { min-width: 0; border-radius: .85rem; }
  .catalog-mobile-categories[open],.catalog-mobile-filters[open] { grid-column: 1 / -1; }
  .catalog-mobile-categories summary,.catalog-mobile-filters summary {
    min-height: 54px;
    padding: .6rem .7rem;
  }
  .catalog-mobile-categories summary strong,.catalog-mobile-filters summary strong {
    font-size: .75rem;
  }
  .catalog-toolbar {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(145px,.85fr);
    align-items: end;
    gap: .7rem;
    margin-bottom: .75rem;
  }
  .catalog-toolbar form { width: 100%; gap: .25rem; }
  .catalog-toolbar label { font-size: .62rem; }
  .catalog-toolbar select { width: 100%; min-width: 0; min-height: 42px; }

  .auth-page,.registration-page {
    display: block;
    min-height: 0;
    border-radius: 1.1rem;
    box-shadow: 0 14px 38px rgba(74,43,55,.08);
  }
  .auth-showcase,.registration-showcase { display: none; }
  .auth-panel,.registration-panel { min-height: 0; padding: 1.35rem 1rem 1.1rem; }
  .auth-panel-heading { gap: .7rem; }
  .auth-lock { width: 2.5rem; height: 2.5rem; flex: 0 0 auto; font-size: 1rem; }
  .auth-panel-heading h2 { font-size: clamp(2rem,10vw,2.35rem); line-height: 1; }
  .auth-intro { margin: .8rem 0 1.15rem; }
  .auth-input { height: 48px; font-size: .84rem; }
  .registration-form-grid { grid-template-columns: 1fr; gap: .72rem; }
  .registration-wide { grid-column: auto; }

  .product-detail-page { gap: .8rem; margin-top: .55rem; }
  .product-purchase-detail { gap: .45rem; padding: .55rem; border-radius: 1rem; }
  .product-detail-media,.product-detail-media .catalog-image-placeholder {
    min-height: 0;
    aspect-ratio: 5 / 4;
  }
  .product-detail-copy { padding: .7rem .45rem .6rem; }
  .product-detail-copy h1 { margin: .45rem 0 .75rem; }
  .product-detail-categories { margin-top: .65rem; }
  .product-description { line-height: 1.55; }
}

@media (max-width: 380px) {
  .catalog-toolbar { grid-template-columns: minmax(0,.8fr) minmax(135px,1.2fr); }
  .catalog-toolbar label { display: none; }
  .auth-panel,.registration-panel { padding-inline: .85rem; }
}

/* Refined storefront shell: quieter surfaces, clearer hierarchy and tablet-friendly navigation. */
.site-header {
  min-height: 72px;
  gap: clamp(1rem,2.5vw,2.25rem);
  padding-block: .65rem;
  border-bottom-color: rgba(92,58,70,.1);
  background: rgba(255,253,251,.9);
  box-shadow: 0 10px 34px rgba(61,38,47,.055);
  backdrop-filter: blur(22px) saturate(130%);
}
.brand { gap: .72rem; }
.brand-mark {
  width: 2.65rem;
  height: 2.65rem;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: .82rem;
  background: linear-gradient(145deg,#74384f,#98536d);
  box-shadow: 0 9px 24px rgba(111,53,75,.2),inset 0 1px rgba(255,255,255,.24);
}
.brand-copy strong { color: #4c2e39; font-size: 1.28rem; }
.brand-copy small { color: #9a7e88; letter-spacing: .13em; }
.site-nav { gap: .16rem; }
.site-nav-link {
  min-height: 40px;
  padding: .68rem .82rem;
  border-radius: .72rem;
  color: #66555c;
  font-size: .8rem;
  font-weight: 760;
}
.site-nav-link:hover { background: rgba(139,70,96,.075); color: #73364d; }
.site-nav-link.active { background: rgba(139,70,96,.09); color: #73364d; }
.site-nav-link.active::after { right: 1rem; bottom: .32rem; left: 1rem; height: 1.5px; }
.header-action { min-height: 40px; padding: .62rem .88rem; border-radius: .72rem; }
.header-action.primary {
  background: linear-gradient(135deg,#7b3b53,#99526c);
  box-shadow: 0 8px 20px rgba(123,59,83,.18);
}
.header-preferences { display: inline-flex; align-items: center; gap: .25rem; }
.guest-menu-brand { display: none; }
.guest-navigation-links { display: contents; }

html[data-theme="dark"] .site-header {
  border-bottom-color: rgba(224,171,190,.1);
  background: rgba(24,18,22,.9);
  box-shadow: 0 12px 36px rgba(0,0,0,.3);
}
html[data-theme="dark"] .brand-copy strong { color: #f6edf0; }
html[data-theme="dark"] .site-nav-link.active { background: rgba(220,133,165,.11); }

@media (min-width: 901px) and (max-width: 1180px) {
  .site-header { gap: .8rem; padding-inline: 1rem; }
  .brand-copy small { display: none; }
  .site-nav-link { padding-inline: .58rem; font-size: .72rem; }
  .header-action { padding-inline: .68rem; }
  .language-switcher { margin-left: .15rem; }
}

@media (max-width: 900px) {
  .site-header {
    position: sticky;
    display: grid;
    min-height: 64px;
    grid-template-columns: minmax(0,1fr) auto;
    gap: .6rem;
    padding: .58rem max(.75rem,env(safe-area-inset-right)) .58rem max(.75rem,env(safe-area-inset-left));
    isolation: isolate;
  }
  .site-header::before {
    position: fixed;
    z-index: 1;
    inset: 0;
    background: rgba(30,21,25,.46);
    content: "";
    opacity: 0;
    pointer-events: none;
    transition: opacity .24s ease;
    backdrop-filter: blur(5px);
  }
  .site-header.nav-open::before { opacity: 1; pointer-events: auto; }
  .brand { gap: .58rem; }
  .brand-mark { width: 2.35rem; height: 2.35rem; border-radius: .72rem; }
  .brand-copy strong { font-size: 1.08rem; }
  .brand-copy small { display: none; }
  .mobile-nav-toggle {
    position: relative;
    z-index: 3;
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(139,70,96,.16);
    border-radius: .75rem;
    background: rgba(255,255,255,.9);
    color: #8b4660;
    box-shadow: 0 7px 20px rgba(69,40,51,.08);
  }
  .mobile-nav-toggle span,
  .mobile-nav-toggle span::before,
  .mobile-nav-toggle span::after {
    width: 18px;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
  }
  .site-nav {
    position: fixed;
    z-index: 2;
    top: .65rem;
    right: max(.65rem,env(safe-area-inset-right));
    display: flex;
    visibility: hidden;
    width: min(calc(100vw - 1.3rem),360px);
    max-height: calc(100dvh - 1.3rem);
    align-items: stretch;
    flex-direction: column;
    gap: .2rem;
    margin: 0;
    padding: 3.75rem .7rem .75rem;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(139,70,96,.15);
    border-radius: 1.2rem;
    background: rgba(255,253,251,.98);
    box-shadow: 0 28px 70px rgba(43,25,32,.27);
    opacity: 0;
    overscroll-behavior: contain;
    pointer-events: none;
    transform: translateX(calc(100% + 1rem));
    transition: transform .3s cubic-bezier(.55,0,1,.45),opacity .18s ease,visibility 0s linear .3s;
    backdrop-filter: blur(24px) saturate(130%);
  }
  .guest-site-nav {
    width: min(calc(100vw - 1.3rem),356px);
    gap: 0;
    padding: 4.55rem .75rem .75rem;
    border-radius: 1.35rem;
    background: #fffdfb;
  }
  .site-header.nav-open .site-nav {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateX(0);
    transition: transform .34s cubic-bezier(.22,1,.36,1),opacity .2s ease;
  }
  .guest-menu-brand {
    position: absolute;
    top: .75rem;
    left: .85rem;
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: .65rem;
    color: #4e323d;
  }
  .guest-menu-brand > span {
    display: grid;
    width: 2.1rem;
    height: 2.1rem;
    place-items: center;
    border-radius: .66rem;
    background: linear-gradient(145deg,#74384f,#9b5670);
    color: #fff;
    font-family: Georgia,serif;
    font-size: .64rem;
    font-weight: 800;
    box-shadow: 0 7px 17px rgba(111,53,75,.2);
  }
  .guest-menu-brand strong {
    font-family: Georgia,serif;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: -.02em;
  }
  .guest-navigation-links {
    display: grid;
    gap: .22rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid #eee2e6;
  }
  .site-nav-link {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: flex-start;
    padding: .7rem 2.2rem .7rem .85rem;
    border: 1px solid transparent;
    border-radius: .82rem;
    background: transparent;
    color: #553d46;
    font-size: .82rem;
  }
  .site-nav-link::before { right: .85rem; color: #a77788; }
  .site-nav-link:hover { background: #faf3f5; transform: none; }
  .site-nav-link.active {
    border-color: #ead8df;
    background: linear-gradient(135deg,#f5e7ec,#fbf7f8);
    color: #74394f;
  }
  .site-nav-link.active::after { left: .18rem; width: 3px; height: 1.35rem; }
  .guest-site-nav .site-nav-link {
    min-height: 47px;
    padding-inline: .85rem 2.2rem;
    border: 0;
    border-radius: .78rem;
  }
  .guest-site-nav .site-nav-link.active {
    background: linear-gradient(135deg,#f3e5ea,#faf5f7);
    box-shadow: inset 0 0 0 1px rgba(139,70,96,.1);
  }
  .guest-site-nav .site-nav-link.active::after {
    left: .08rem;
    width: 3px;
    height: 1.5rem;
    border-radius: 0 3px 3px 0;
  }
  .header-auth {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .45rem;
    margin: .35rem 0 0;
    padding: .7rem 0 0;
    border-top: 1px solid #ecdee3;
    border-left: 0;
  }
  .header-auth .header-action {
    min-height: 44px;
    justify-content: center;
    padding: .55rem;
    border: 1px solid #e5d4da;
    border-radius: .78rem;
  }
  .header-auth .header-action.subtle { background: #fff; }
  .guest-site-nav .header-auth {
    grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
    gap: .5rem;
    margin: 0;
    padding: .75rem 0;
    border-top: 0;
    border-bottom: 1px solid #eee2e6;
  }
  .guest-site-nav .header-auth .header-action {
    min-height: 46px;
    border-radius: .78rem;
    font-size: .76rem;
  }
  .guest-site-nav .header-auth .header-action.subtle {
    border-color: #e8dce1;
    background: transparent;
    color: #604852;
  }
  .guest-site-nav .header-auth .header-action.primary {
    border-color: transparent;
    background: linear-gradient(135deg,#7a3a52,#99516c);
    box-shadow: 0 8px 20px rgba(122,58,82,.18);
  }
  .site-nav .header-preferences {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    margin: .25rem 0 0;
    padding: .7rem .15rem 0;
    border-top: 1px solid #ecdee3;
  }
  .site-nav .language-switcher { margin: 0; }
  .guest-site-nav .header-preferences {
    min-height: 52px;
    gap: .5rem;
    margin: .7rem 0 0;
    padding: .35rem .4rem;
    border: 1px solid #eadde2;
    border-radius: .9rem;
    background: #fbf7f8;
  }
  .guest-site-nav .theme-switcher {
    width: 3.1rem;
    min-width: 3.1rem;
    height: 2.15rem;
    border: 0;
    background: transparent;
  }
  .guest-site-nav .language-switcher {
    gap: .08rem;
    padding: .12rem;
    border: 0;
    background: transparent;
  }
  .guest-site-nav .language-option {
    width: 1.95rem;
    height: 1.95rem;
  }
  html.mobile-nav-open { overflow: hidden; }
  html[data-theme="dark"] .mobile-nav-toggle {
    border-color: #4d3841;
    background: #2a2026;
    color: #efb0c7;
  }
  html[data-theme="dark"] .site-nav {
    border-color: #503a44;
    background: rgba(29,22,27,.98);
    box-shadow: 0 28px 75px rgba(0,0,0,.58);
  }
  html[data-theme="dark"] .guest-site-nav {
    border-color: rgba(190,119,145,.36);
    background: #1b1419;
  }
  html[data-theme="dark"] .guest-menu-brand { color: #f5e9ed; }
  html[data-theme="dark"] .guest-navigation-links,
  html[data-theme="dark"] .guest-site-nav .header-auth { border-color: #49343e; }
  html[data-theme="dark"] .site-nav-link.active {
    border-color: #5a3e4a;
    background: linear-gradient(135deg,#432d38,#35262e);
  }
  html[data-theme="dark"] .guest-site-nav .site-nav-link.active {
    background: linear-gradient(135deg,#3d2933,#30232a);
    box-shadow: inset 0 0 0 1px rgba(221,146,173,.16);
  }
  html[data-theme="dark"] .guest-site-nav .header-auth .header-action.subtle {
    border-color: #4e3943;
    background: transparent;
    color: #eadbe1;
  }
  html[data-theme="dark"] .guest-site-nav .header-preferences {
    border-color: #493740;
    background: #241c21;
  }
  html[data-theme="dark"] .guest-site-nav .theme-switcher,
  html[data-theme="dark"] .guest-site-nav .language-switcher { background: transparent; }
  html[data-theme="dark"] .site-nav .header-preferences,
  html[data-theme="dark"] .header-auth { border-color: #493840; }
}

@media (max-width: 700px) {
  .store-home { gap: 1.35rem; padding: .7rem; }
  .store-home-hero {
    border-color: rgba(139,70,96,.16);
    border-radius: 1.15rem;
    background: linear-gradient(145deg,#fffdfc,#f8eef1);
    box-shadow: 0 15px 42px rgba(74,44,55,.08);
  }
  .store-home-hero::before { opacity: .55; }
  .mobile-hero-decoration { opacity: .35; }
  .store-home-copy { padding: 1.55rem 1.15rem 1.25rem; }
  .store-home-copy h1 {
    max-width: 360px;
    margin-bottom: .75rem;
    font-size: clamp(2.25rem,10.8vw,3.2rem);
    line-height: .98;
    letter-spacing: -.035em;
  }
  .store-home-copy > p:not(.store-eyebrow) {
    max-width: 31rem;
    margin-bottom: 1.1rem;
    color: #715f66;
    font-size: .84rem;
    line-height: 1.55;
  }
  .store-search {
    border: 1px solid rgba(139,70,96,.14);
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 24px rgba(72,43,54,.07);
  }
  .store-search button { background: linear-gradient(135deg,#7b3b53,#9a526d); }
  .store-benefits { gap: .7rem; margin-inline: -.7rem; padding-inline: .7rem; }
  .store-benefits article {
    min-width: min(68vw,250px);
    min-height: 96px;
    border-color: rgba(139,70,96,.13);
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 28px rgba(73,43,54,.055);
  }
  .popular-showcase,.category-showcase,.new-arrivals-showcase {
    border-color: rgba(139,70,96,.13);
    background: rgba(255,255,255,.78);
    box-shadow: 0 12px 34px rgba(73,43,54,.05);
  }
  .store-category-card { border-color: #eadde1; background: #fff; }
  html[data-theme="dark"] .store-home-hero {
    border-color: #493640;
    background: linear-gradient(145deg,#281f25,#1f191d);
  }
  html[data-theme="dark"] .store-home-copy > p:not(.store-eyebrow) { color: #baa6ae; }
}

@media (min-width: 521px) and (max-width: 900px) {
  .store-container { width: min(100% - 1.5rem,1280px); margin-top: 1rem; }
  .store-home-hero { min-height: 0; grid-template-columns: minmax(0,1.15fr) minmax(260px,.85fr); }
  .store-home-copy { padding: clamp(2rem,5vw,3.25rem); }
  .store-home-copy h1 { font-size: clamp(2.8rem,7vw,4.2rem); }
  .store-home-visual { display: block; min-height: 360px; }
  .store-benefits { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .store-benefits article { min-width: 0; border-top: 0; }
  .store-benefits article + article { border-top: 0; border-left: 1px solid #eadfe3; }
  .home-products { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .catalog-page .store-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 850px) {
  .catalog-page { gap: 1rem; }
  .catalog-hero {
    gap: 1rem;
    padding: clamp(1.25rem,4vw,2rem);
    border: 1px solid rgba(139,70,96,.13);
    border-radius: 1.2rem;
    background: linear-gradient(140deg,#fbf5f2,#f5e7ec);
    box-shadow: 0 14px 38px rgba(72,43,54,.055);
  }
  .catalog-hero h1 { max-width: 580px; letter-spacing: -.03em; }
  .catalog-curations { gap: .55rem; }
  .catalog-curations a { border-color: rgba(139,70,96,.13); box-shadow: 0 7px 20px rgba(73,43,54,.045); }
  .catalog-mobile-controls {
    border-color: rgba(139,70,96,.14);
    background: rgba(255,253,251,.94);
    box-shadow: 0 10px 28px rgba(63,37,47,.08);
  }
  html[data-theme="dark"] .catalog-hero {
    border-color: #493840;
    background: linear-gradient(140deg,#2b2127,#211a1f);
  }
}

@media (max-width: 520px) {
  .catalog-page { padding-inline: .6rem; }
  .catalog-hero { padding: 1.25rem 1rem 1rem; border-radius: 1rem; }
  .catalog-hero .store-eyebrow { margin-bottom: .45rem; font-size: .58rem; letter-spacing: .12em; }
  .catalog-hero h1 { margin-bottom: .55rem; font-size: clamp(2.15rem,10.8vw,2.75rem); line-height: .96; }
  .catalog-hero > div > p:last-child { font-size: .8rem; line-height: 1.5; }
  .catalog-curations { gap: .45rem; padding-bottom: .55rem; }
  .catalog-curations a {
    min-width: 145px;
    min-height: 58px;
    border-radius: .82rem;
    background: #fffdfc;
  }
  .catalog-mobile-controls { top: .35rem; border-radius: .85rem; }
  .catalog-mobile-controls-summary { min-height: 46px; }
  .catalog-toolbar { margin-bottom: .65rem; padding-inline: .05rem; }
  .catalog-toolbar > div strong { font-size: .95rem; }
  .catalog-page .store-product-grid { gap: .65rem .55rem; }
  .catalog-page .store-product-card {
    border-color: #e7d9de;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 10px 28px rgba(67,37,49,.07);
  }
  .catalog-page .store-product-image { aspect-ratio: 1.06 / 1; padding: .36rem; }
  .catalog-page .store-product-content { padding: .72rem .7rem .75rem; }
  .catalog-page .store-product-content > a:not(.store-product-rating) { order: 1; }
  .catalog-page .store-product-content h3 {
    min-height: 2.6em;
    margin: 0 0 .32rem;
    color: #3f3036;
    font-size: .8rem;
    line-height: 1.3;
  }
  .catalog-page .store-product-rating { order: 2; min-height: 1.15rem; font-size: .66rem; }
  .catalog-page .store-card-footer { order: 3; min-height: 2.2rem; margin-top: .48rem; align-items: center; }
  .catalog-page .store-price { gap: .18rem .32rem; }
  .catalog-page .store-price strong { font-size: 1.02rem; line-height: 1.1; }
  .catalog-page .store-price del { font-size: .58rem; }
  .catalog-page .store-card-action { width: 2rem; height: 2rem; }
  .catalog-page .store-stock { order: 4; margin-top: .4rem; font-size: .57rem; }
  .catalog-page .store-card-utilities { order: 5; margin-top: .48rem; padding-top: .42rem; }
  .catalog-page .store-card-utilities .compare-toggle,
  .catalog-page .store-card-utilities .catalog-quick-add {
    min-height: 2.2rem;
    border-radius: .68rem;
    font-size: .59rem;
  }
  .catalog-page .store-card-utilities .catalog-quick-add {
    background: linear-gradient(135deg,#7c3d55,#98516b);
    box-shadow: 0 6px 15px rgba(124,61,85,.16);
  }
  .catalog-page .favorite-button { top: .58rem; right: .58rem; width: 2rem; height: 2rem; font-size: 1.05rem; }
  .catalog-page .store-discount,.catalog-page .store-sold-out { font-size: .58rem; }
  html[data-theme="dark"] .catalog-page .store-product-card { background: #221b20; }
  html[data-theme="dark"] .catalog-page .store-product-content h3 { color: #f1e6ea; }

  .comparison-tray {
    right: .65rem;
    bottom: max(.65rem,env(safe-area-inset-bottom));
    left: .65rem;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .65rem;
    border-radius: .9rem;
  }
  .has-mobile-tab-bar .comparison-tray {
    bottom: calc(5rem + env(safe-area-inset-bottom));
  }
  .comparison-tray > div:first-child { min-width: 0; gap: .55rem; }
  .comparison-tray-icon { width: 1.9rem; height: 1.9rem; border-radius: .55rem; }
  .comparison-tray p { min-width: 0; }
  .comparison-tray strong,.comparison-tray small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .comparison-tray-actions { gap: .35rem; }
  .comparison-clear { min-height: 38px; padding: .35rem; font-size: .58rem; }
  .comparison-tray .button { min-height: 38px; flex: none; padding: .55rem .68rem; white-space: nowrap; }
}

.mobile-tab-bar a > span { display: grid; width: 1.25rem; height: 1.25rem; place-items: center; }
.mobile-tab-bar svg {
  width: 1.18rem;
  height: 1.18rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mobile-tab-bar a:nth-child(2) svg { fill: currentColor; stroke: none; }

@media (prefers-reduced-motion: reduce) {
  .site-nav,.site-header::before { transition-duration: .01ms !important; }
}

/* Shared storefront footer and information pages. */
.store-benefits-cue { display: none; }
.site-footer { margin-top: 3rem; border-top: 1px solid #eadde2; background: linear-gradient(145deg,#6c344a,#8b4660 58%,#a85f79); color: #fff; }
.site-footer-main { display: grid; width: min(100% - 2rem,1200px); grid-template-columns: minmax(240px,1.35fr) repeat(3,minmax(150px,1fr)); gap: clamp(1.5rem,4vw,3.5rem); margin: 0 auto; padding: clamp(2.2rem,5vw,4rem) 0; }
.site-footer h2 { margin: .2rem 0 1rem; color: #fff; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer nav { display: grid; gap: .62rem; }
.site-footer a { color: rgba(255,255,255,.76); font-size: .72rem; }
.site-footer a:hover { color: #fff; }
.site-footer-brand { display: grid; align-content: start; gap: 1rem; }
.footer-brand { display: inline-flex; width: fit-content; align-items: center; gap: .7rem; color: #fff !important; }
.footer-brand .brand-mark { border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.14); color: #fff; box-shadow: none; }
.footer-brand > span:last-child { display: grid; gap: .1rem; }
.footer-brand strong { font-family: Georgia,serif; font-size: 1.25rem; }
.footer-brand small { color: rgba(255,255,255,.58); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.site-footer-brand > p { max-width: 330px; margin: 0; color: rgba(255,255,255,.64); font-size: .7rem; line-height: 1.65; }
.footer-social { display: flex !important; flex-wrap: wrap; gap: .45rem !important; }
.footer-social a { padding: .45rem .65rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.07); }
.footer-social > span { padding: .45rem .65rem; border: 1px dashed rgba(255,255,255,.15); border-radius: 999px; color: rgba(255,255,255,.48); font-size: .62rem; }
.site-footer-contacts { display: grid; align-content: start; gap: .7rem; }
.site-footer-contacts h2 { margin-bottom: .3rem; }
.site-footer-contacts a,.site-footer-contacts > p:not(.footer-contact-pending) { display: grid; gap: .15rem; margin: 0; }
.site-footer-contacts span { color: rgba(255,255,255,.48); font-size: .57rem; text-transform: uppercase; }
.site-footer-contacts strong { overflow-wrap: anywhere; color: #fff; font-size: .7rem; }
.footer-contact-pending { margin: 0; color: rgba(255,255,255,.62); font-size: .68rem; line-height: 1.55; }
.site-footer-bottom { display: flex; width: min(100% - 2rem,1200px); align-items: center; justify-content: space-between; gap: 1rem; margin: 0 auto; padding: 1rem 0 calc(1rem + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.48); font-size: .6rem; }
.information-page { display: grid; gap: 1rem; }
.information-hero { padding: clamp(1.6rem,5vw,3.5rem); border-radius: 1.6rem; background: linear-gradient(125deg,#f2dce4,#fbf3ee); }
.information-hero h1 { margin: .3rem 0 .7rem; font-family: Georgia,serif; font-size: clamp(2.4rem,5vw,4.5rem); font-weight: 500; }
.information-hero > p:last-child { max-width: 650px; margin: 0; color: #7c6870; line-height: 1.6; }
.information-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,.34fr); gap: 1rem; align-items: start; }
.information-card,.information-aside { padding: clamp(1.25rem,3vw,2rem); border: 1px solid #eadde2; border-radius: 1.2rem; background: #fff; box-shadow: 0 12px 34px rgba(75,44,56,.05); }
.information-card h2 { margin: 0 0 .55rem; color: #5c3b48; font-family: Georgia,serif; font-size: 1.45rem; font-weight: 500; }
.information-card h2:not(:first-child) { margin-top: 1.5rem; }
.information-card p,.information-aside p { color: #77656c; line-height: 1.7; }
.information-card a { color: #8b4660; font-weight: 750; }
.information-aside { position: sticky; top: 94px; }
.information-aside strong { color: #5c3b48; }
.information-aside .button { margin-top: .5rem; color: #fff; }
html[data-theme="dark"] .site-footer { border-color: #493840; background: linear-gradient(145deg,#241a20,#3a2630 58%,#50303d); }
html[data-theme="dark"] .information-hero { background: linear-gradient(125deg,#35242c,#211a1f); }
html[data-theme="dark"] :is(.information-card,.information-aside) { border-color: #493840; background: #211a1f; }
html[data-theme="dark"] :is(.information-card h2,.information-aside strong) { color: #f2e7eb; }

@media (max-width: 850px) {
  .site-footer { margin-top: 1.5rem; }
  .site-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer-brand { grid-column: 1 / -1; }
  .information-layout { grid-template-columns: 1fr; }
  .information-aside { position: static; }
}
@media (max-width: 700px) {
  .store-benefits-cue { display: flex; align-items: center; justify-content: center; gap: .28rem; margin-top: -.9rem; color: #987d87; }
  .store-benefits-cue span { width: .28rem; height: .28rem; border-radius: 50%; background: #d8bcc7; }
  .store-benefits-cue span:first-child { width: .8rem; border-radius: 999px; background: #8b4660; }
  .store-benefits-cue small { margin-left: .25rem; font-size: .56rem; }
  .site-footer { margin-bottom: 0; }
  .has-mobile-tab-bar .site-footer { margin-bottom: calc(4.3rem + env(safe-area-inset-bottom)); }
  .site-footer-main { width: min(100% - 2rem,1200px); grid-template-columns: 1fr 1fr; gap: 1.8rem 1rem; padding: 2rem 0; }
  .site-footer-contacts { grid-column: 1 / -1; }
  .site-footer-bottom { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 430px) {
  .site-footer-main { grid-template-columns: 1fr; }
  .site-footer-brand,.site-footer-contacts { grid-column: auto; }
  .site-footer-main > section:not(.site-footer-brand) { padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.1); }
}
