/* Melvia refined polish — keep the original ivory, burgundy and gold palette.
   This layer adds small interaction and consistency improvements only. */
:root {
  --melvia-border-soft: rgba(110, 30, 58, .11);
  --melvia-shadow-soft: 0 10px 26px -21px rgba(78, 19, 41, .32);
  --melvia-shadow-hover: 0 16px 30px -22px rgba(78, 19, 41, .36);
  --melvia-focus: rgba(110, 30, 58, .18);
}

html { scroll-padding-top: 100px; }
:focus-visible { outline: 2px solid rgba(169, 129, 63, .82); outline-offset: 3px; }
::selection { background: rgba(201, 166, 107, .28); color: var(--primary-dark); }

/* Brand mark */
.logo { gap: 10px; }
.logo-mark {
  width: 42px; height: 42px; padding: 0; overflow: hidden;
  border-radius: 12px; background: transparent; box-shadow: var(--melvia-shadow-soft);
}
.logo-mark img { width: 100%; height: 100%; object-fit: contain; display: block; }
.logo-text { line-height: 1.22; }
.footer-brand .brand-lockup { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.footer-brand .footer-logo-mark { width: 36px; height: 36px; flex: 0 0 36px; }
.footer-brand .logo-text { margin: 0; }

/* Keep existing colors, refine interaction states */
.site-header { box-shadow: 0 5px 18px rgba(78, 19, 41, .045); }
.main-nav a { transition: color .16s ease, transform .16s ease; }
.main-nav a:hover { transform: translateY(-1px); }
.main-nav a.active::after { height: 3px; border-radius: 3px; }
.icon-btn {
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.icon-btn:hover { transform: translateY(-2px); box-shadow: 0 7px 15px rgba(78, 19, 41, .10); }
.btn { transition: transform .17s ease, box-shadow .17s ease, border-color .17s ease; }
.btn-primary { box-shadow: 0 8px 20px -15px rgba(78, 19, 41, .65); }
.btn-primary:hover { box-shadow: 0 13px 24px -15px rgba(78, 19, 41, .60); }
.btn:active, .icon-btn:active { transform: translateY(0) scale(.985); }

/* Product/category cards: warm white surfaces remain as in the original design */
.category-card, .product-card, .mini-card, .testimonial-card {
  border-color: var(--line);
  box-shadow: var(--melvia-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.category-card:hover, .product-card:hover, .mini-card:hover, .testimonial-card:hover {
  border-color: rgba(201, 166, 107, .60);
  box-shadow: var(--melvia-shadow-hover);
}
.category-icon { transition: transform .18s ease; }
.category-card:hover .category-icon { transform: translateY(-2px); }
.product-image img, .mini-img img { transition: transform .25s ease; }
.product-card:hover .product-image img, .mini-card:hover .mini-img img { transform: scale(1.025); }
.like-btn, .like-btn-lg { transition: transform .15s ease, color .15s ease, border-color .15s ease; }
.like-btn:hover, .like-btn-lg:hover { transform: scale(1.045); }

/* Form consistency across login, registration, search, checkout, and admin-facing forms */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),
select, textarea {
  transition: border-color .16s ease, box-shadow .16s ease;
}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):focus,
select:focus, textarea:focus {
  border-color: var(--accent-dark);
  box-shadow: 0 0 0 3px var(--melvia-focus);
}
input[type=checkbox], input[type=radio] { accent-color: var(--primary); }
.flash-message { border-radius: 12px; }

/* Gentle rhythm improvements on secondary pages */
.page-header { border-bottom-color: var(--line); }
.site-footer { border-top: 1px solid var(--line); }
.footer-col a { transition: color .15s ease, transform .15s ease; }
.footer-col a:hover { transform: translateX(-2px); }
.support-btn, .gift-fab, .promo-close { transition: transform .16s ease, box-shadow .16s ease; }
.support-btn:hover, .gift-fab:hover { transform: translateY(-2px); }

@media (max-width: 720px) {
  .logo-mark { width: 38px; height: 38px; }
  .header-inner { gap: 12px; }
  .category-card, .product-card, .mini-card { box-shadow: 0 7px 19px -18px rgba(78, 19, 41, .25); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* Melvia refinement round 2 — preserve the original cream / burgundy / gold palette. */
:root {
  --melvia-plum-soft: #F7EFF2;
  --melvia-plum-mid: #E7D0D9;
  --melvia-plum-line: rgba(110, 30, 58, .16);
  --melvia-card-highlight: rgba(201, 166, 107, .22);
}

/* Three-step shipping strip: lighter to deeper shades, with the existing brand colors. */
.topbar {
  background: linear-gradient(100deg, #C18F9D 0%, #603B4A 52%, #603B4A 100%);
  color: #fffaf7;
  border-bottom: 1px solid rgba(201, 166, 107, .28);
}
.topbar-inner { min-height: 34px; }
.topbar-message { gap: 8px; }
.topbar-text { font-weight: 700; letter-spacing: -.01em; }

/* Active navigation remains an underline, not a filled background. */
.main-nav a.active { background: transparent !important; color: var(--primary) !important; }
.main-nav a.active::after {
  bottom: -7px; height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--primary));
  box-shadow: 0 2px 8px rgba(110, 30, 58, .15);
}
.main-nav a:hover { background: transparent; }

/* Category cards: retain the circular icon and make the hover growth clearly visible. */
.category-card {
  position: relative;
  min-height: 150px;
  border-radius: 20px;
  border-color: rgba(110, 30, 58, .10);
  background: linear-gradient(155deg, #FAF6F2 0%, #fff 72%, #EBD9DA 100%);
  box-shadow: 0 9px 24px -22px rgba(78, 19, 41, .55);
}
.category-card:hover {
  transform: translateY(-4px);
  border-color: rgba(110, 30, 58, .24);
  box-shadow: 0 15px 30px -24px rgba(78, 19, 41, .48);
}
.category-icon {
  flex: 0 0 60px;
  transition: transform .24s cubic-bezier(.2,.75,.2,1), box-shadow .24s ease, background .24s ease;
  transform-origin: center;
  background: linear-gradient(145deg, #EBD9DA 0%, #EBD9DA 100%);
  box-shadow: inset 0 0 0 1px rgba(110, 30, 58, .13), 0 4px 12px -9px rgba(78, 19, 41, .3);
}
.category-card:hover .category-icon,
.category-card:focus-visible .category-icon {
  transform: scale(1.14);
  background: linear-gradient(145deg, #EBD9DA 0%, #EBD9DA 100%);
  box-shadow: inset 0 0 0 1px rgba(110, 30, 58, .21), 0 7px 16px -10px rgba(78, 19, 41, .42);
}
.category-photo { transition: transform .24s ease; }
.category-card:hover .category-photo { transform: scale(1.04); }
.category-name { line-height: 1.6; }
.category-description {
  display: block; max-width: 22ch; color: var(--muted); font-size: .76rem;
  line-height: 1.8; font-weight: 400;
}
.category-filter-name { display: block; }
.category-filter-description { display: block; font-size: .72rem; font-weight: 400; color: var(--muted); line-height: 1.7; margin-top: 2px; }

/* Product cards stay rectangular and outlined; the surface has a more deliberate frame. */
.product-card, .mini-card {
  border-radius: 20px;
  border-color: rgba(110, 30, 58, .13);
  box-shadow: 0 11px 28px -25px rgba(78, 19, 41, .55);
}
.product-card:hover, .mini-card:hover {
  border-color: rgba(201, 166, 107, .68);
  box-shadow: 0 17px 32px -24px rgba(78, 19, 41, .5);
}
.product-image { background: linear-gradient(145deg, #fff 0%, #FAF6F2 100%); }
.discount-badge { box-shadow: 0 4px 12px rgba(78, 19, 41, .16); }

/* Favorite icons use brand shades, never a yellow accent. */
.like-btn { color: var(--primary); border: 1px solid rgba(110, 30, 58, .10); }
.like-btn.liked { color: #B34C72; background: #EBD9DA; border-color: #C18F9D; }
.like-btn.liked .like-icon path { fill: currentColor; }

/* Product detail: an outlined porcelain frame with a subtle blush interior. */
.product-detail-image {
  aspect-ratio: auto;
  padding: 12px;
  overflow: visible;
  border-radius: 24px;
  background: linear-gradient(145deg, #FFFFFF 0%, #EBD9DA 100%);
  border: 1px solid rgba(110, 30, 58, .16);
  box-shadow: 0 18px 35px -28px rgba(78, 19, 41, .56), inset 0 0 0 4px rgba(255, 255, 255, .72);
}
.product-detail-image .gallery-main {
  border-radius: 16px;
  border-color: rgba(110, 30, 58, .13);
  background: #fff;
  box-shadow: inset 0 0 0 4px rgba(255,255,255,.86);
}
.product-detail-image .gallery-thumb {
  border-radius: 12px;
  border-color: rgba(110, 30, 58, .13);
}
.product-detail-image .gallery-thumb.is-active {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px rgba(110, 30, 58, .09);
}

/* Multi-tone promo treatment; restrained and consistent with the site palette. */
.promo-banner {
  position: relative;
  overflow: hidden;
  background: linear-gradient(112deg, #603B4A 0%, #603B4A 48%, #603B4A 100%);
  border-radius: 22px;
  margin: 6px auto;
  width: min(1180px, calc(100% - 36px));
}
.promo-banner::after {
  content: ""; position: absolute; left: -62px; bottom: -130px; width: 250px; height: 250px;
  border: 24px solid rgba(255,255,255,.095); border-radius: 50%; pointer-events: none;
}
.promo-inner { position: relative; z-index: 1; min-height: 110px; }

/* The about page gets the soft circular/arc motif without changing its main layout. */
.about-stats { position: relative; }
.stat-card { position: relative; overflow: hidden; border-color: rgba(110, 30, 58, .13); }
.stat-card::after {
  content: ""; position: absolute; width: 92px; height: 92px; border: 10px solid rgba(110, 30, 58, .055);
  border-radius: 50%; left: -48px; bottom: -53px; pointer-events: none;
}
.value-card { position: relative; overflow: hidden; }
.value-card::after {
  content: ""; position: absolute; width: 76px; height: 76px; border: 8px solid rgba(201, 166, 107, .10);
  border-radius: 50%; left: -42px; bottom: -44px; pointer-events: none;
}

/* Decorative crescent at the lower footer corner, behind footer contents. */
.site-footer { position: relative; overflow: hidden; isolation: isolate; }
.site-footer::before {
  content: ""; position: absolute; z-index: -1; left: -124px; bottom: -174px;
  width: 300px; height: 300px; border: 28px solid rgba(201, 166, 107, .12); border-radius: 50%;
  pointer-events: none;
}
.site-footer::after {
  content: ""; position: absolute; z-index: -1; left: -78px; bottom: -128px;
  width: 206px; height: 206px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%;
  pointer-events: none;
}

/* Floating actions align with the brand rather than the old bright orange gradient. */
.gift-fab, .support-btn {
  background: linear-gradient(140deg, #603B4A 0%, var(--primary) 62%, var(--primary-dark) 100%);
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 10px 24px rgba(78, 19, 41, .28);
}

/* The testimonial editor in Django controls these public quotes; cards get a quiet outline. */
.testimonial-card {
  border-radius: 20px;
  border-color: rgba(110, 30, 58, .13);
  box-shadow: 0 12px 26px -25px rgba(78, 19, 41, .55);
}
.testimonial-card span { color: var(--primary); }

@media (max-width: 720px) {
  .category-card { min-height: 130px; padding: 20px 12px; }
  .category-icon { width: 56px; height: 56px; flex-basis: 56px; }
  .category-card:hover .category-icon { transform: scale(1.08); }
  .product-detail-image { padding: 8px; border-radius: 18px; }
  .promo-banner { width: calc(100% - 24px); border-radius: 18px; }
  .site-footer::before { width: 230px; height: 230px; left: -128px; bottom: -142px; }
}
@media (prefers-reduced-motion: reduce) {
  .category-card:hover .category-icon, .category-card:focus-visible .category-icon,
  .category-card:hover .category-photo { transform: none; }
}

/* Product detail, genuine reviews and order trust components */
.product-detail-info-enhanced{gap:14px}
.product-detail-eyebrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.detail-brand{font-size:.84rem;color:var(--muted);background:var(--bg);border:1px solid var(--line);padding:5px 10px;border-radius:999px}
.product-short-desc{margin:-4px 0 0;color:var(--muted);line-height:1.9}
.product-rating-summary{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;color:var(--ink);text-decoration:none;font-size:.88rem}
.rating-stars,.review-stars{color:#C18B2D;letter-spacing:2px}
.product-no-rating{font-size:.82rem;color:var(--muted)}
.detail-price-box{display:flex;align-items:flex-start;gap:7px;flex-direction:column;padding:15px 16px;background:linear-gradient(135deg,#fffaf7,#fbf1f4);border:1px solid #efdee4;border-radius:18px}
.detail-saving{font-size:.78rem;color:var(--muted);text-decoration:line-through}
.detail-stock{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700}
.detail-stock.in-stock{background:#edf8f0;color:#256a3a}.detail-stock.out-stock{background:#fff0f0;color:#982e3b}
.product-purchase-form{margin-top:4px}
.product-trust-points{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:15px}
.product-trust-points span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:.8rem;color:var(--muted)}
.product-trust-points span span{padding:0;border:0;color:var(--primary);font-weight:800}
.product-trust-points .product-trust-link{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:.8rem;color:var(--primary);font-weight:700;text-decoration:none;transition:background .18s ease,border-color .18s ease}
.product-trust-points .product-trust-link:hover{background:#fbf1f4;border-color:#dcbac6}
.product-delivery-note{display:flex;align-items:flex-start;gap:9px;margin-top:8px;padding:12px 14px;background:var(--bg);border-radius:13px;color:var(--muted);font-size:.82rem;line-height:1.9}
.product-details-lower{display:grid;gap:25px;margin-top:34px;margin-bottom:40px}
.product-spec-card,.product-reviews{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:clamp(18px,3vw,28px);box-shadow:0 8px 28px rgba(70,35,50,.035)}
.product-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}
.product-spec{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--bg);border-radius:12px;min-width:0}
.product-spec span{font-size:.78rem;color:var(--muted)}.product-spec strong{font-size:.92rem;overflow-wrap:anywhere}
.product-detail-copy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.product-detail-copy{padding:16px;border:1px solid var(--line);border-radius:14px;line-height:1.95}
.product-detail-copy h3{font-size:.98rem;margin:0 0 8px;color:var(--primary)}.product-detail-copy p{font-size:.88rem;color:var(--muted);margin:0;overflow-wrap:anywhere}
.reviews-header{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.reviews-header h2{margin:0 0 6px}.reviews-header p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.9}
.reviews-score{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:12px;padding:12px 16px;background:#fff9ed;border:1px solid #f0e2c7;border-radius:16px}
.reviews-score strong{font-size:2rem;color:var(--primary);grid-row:span 2}.reviews-score small{font-size:.75rem;color:var(--muted)}.reviews-empty-label{font-size:.82rem;color:var(--muted);border:1px dashed var(--line);padding:9px 12px;border-radius:999px}
.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.review-card{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fffdfc;min-width:0}
.review-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.review-card-top strong{font-size:.95rem}.review-card-top time,.review-city{font-size:.75rem;color:var(--muted)}.review-city{display:block;margin-top:3px}
.review-stars{font-size:1rem;margin:9px 0}.review-stars .empty-star{color:#ded6cf}
.review-card h3{font-size:.96rem;margin:4px 0 8px}.review-card p{font-size:.88rem;line-height:1.95;color:var(--ink);margin:0 0 13px;overflow-wrap:anywhere}
.review-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px dashed var(--line);font-size:.75rem;color:var(--muted)}.review-card-foot a{color:var(--muted);text-decoration:none}.verified-purchase{color:#237947;font-weight:700;background:#edf8f0;padding:5px 8px;border-radius:999px}
.review-empty{grid-column:1/-1;text-align:center;padding:25px 16px;border:1px dashed var(--line);border-radius:15px;background:var(--bg)}.review-empty>span{font-size:2rem;color:var(--primary)}.review-empty strong{display:block;margin:8px 0}.review-empty p{margin:0;color:var(--muted);font-size:.86rem}
.review-form-shell{margin-top:22px;padding:19px;background:linear-gradient(135deg,#fffaf7,#fbf4f7);border:1px solid #efdee4;border-radius:16px}.review-form-shell h3{margin:0 0 7px}.review-form-shell>p{color:var(--muted);font-size:.86rem;line-height:1.85;margin:0 0 13px}
.product-review-form{display:grid;gap:13px;max-width:740px}.review-form-row{display:grid;gap:7px}.review-form-row label{font-size:.85rem;font-weight:700}.review-form-row input,.review-form-row select,.review-form-row textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff;font:inherit;color:var(--ink)}.review-form-row input:focus,.review-form-row select:focus,.review-form-row textarea:focus{outline:2px solid rgba(110,30,58,.14);border-color:var(--primary)}
.order-status-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:#f9eef3;color:var(--primary);font-size:.78rem;font-weight:800}
.order-tracking-box{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#f8f5f8;border:1px solid var(--line);padding:12px 14px;border-radius:13px;font-size:.86rem}
.order-tracking-box a{color:var(--primary);font-weight:700;text-decoration:none}
@media(max-width:760px){.product-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail-copy-grid{grid-template-columns:1fr 1fr}.review-list{grid-template-columns:1fr}}
@media(max-width:480px){.product-spec-grid,.product-detail-copy-grid{grid-template-columns:1fr}.reviews-score{margin-right:auto}.product-trust-points{justify-content:flex-start}.product-trust-points span{font-size:.73rem;padding:7px 9px}}
.real-review-grid .real-testimonial-card{display:flex;flex-direction:column;gap:9px;min-height:100%;border:1px solid var(--line);border-radius:16px;background:#fff;padding:18px;box-shadow:0 8px 24px rgba(70,35,50,.035)}
.real-review-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.real-testimonial-card h3{font-size:.98rem;margin:3px 0 0}.real-testimonial-card p{margin:0;line-height:1.95;color:var(--ink);overflow-wrap:anywhere}.real-review-author{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);font-size:.78rem;color:var(--muted)}.real-review-author a{color:var(--primary);text-decoration:none}.real-review-empty{grid-column:1/-1;padding:24px;text-align:center;background:var(--bg);border:1px dashed var(--line);border-radius:14px}.real-review-empty p{margin:7px 0 0;color:var(--muted);font-size:.85rem}
.order-invoice-summary{display:grid;gap:9px;padding:13px 14px;background:#fffaf8;border:1px solid var(--line);border-radius:13px;font-size:.86rem}.order-invoice-summary>div{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.order-invoice-summary>div:not(.invoice-total){color:var(--muted)}.order-invoice-summary .invoice-discount{color:#237947}.order-invoice-summary .invoice-total{padding-top:10px;margin-top:2px;border-top:1px dashed var(--line);font-size:.98rem;color:var(--primary)}.order-discount-note{display:block;color:var(--muted);font-size:.76rem;margin-top:3px}.order-discount-note del{margin-left:4px}


/* Melvia palette application: dusty rose, milk cream, deep plum, powder pink, champagne gold, white. */
:root {
  --bg: #FBD4F6;
  --surface: #FFFFFF;
  --primary: #603B4A;
  --primary-dark: #603B4A;
  --rose: #C18F9D;
  --accent: #C6A36A;
  --line: #EBD9DA;
  --melvia-border-soft: rgba(96, 59, 74, .12);
  --melvia-shadow-soft: 0 10px 26px -21px rgba(96, 59, 74, .28);
  --melvia-shadow-hover: 0 16px 30px -22px rgba(96, 59, 74, .34);
  --melvia-focus: rgba(193, 143, 157, .24);
}
body {
  background:
    radial-gradient(circle at 8% 0%, rgba(198,163,106,.12), transparent 45%),
    radial-gradient(circle at 100% 12%, rgba(193,143,157,.12), transparent 40%),
    radial-gradient(circle at 50% 100%, rgba(235,217,218,.28), transparent 55%),
    var(--bg);
}
.site-header, .categories { background-color: #FAF6F2; }
.product-card, .mini-card, .testimonial-card, .icon-btn { background-color: #FFFFFF; }
.product-image, .product-detail-image { background-color: #EBD9DA; }
.btn-primary, .btn-primary:hover, .btn-ghost:hover {
  background: linear-gradient(135deg, #603B4A 0%, #603B4A 100%);
}
.btn-ghost { border-color: #603B4A; color: #603B4A; }
.main-nav a.active, .main-nav a:hover, .section-link, .like-btn { color: #603B4A; }
.like-btn.liked { color: #C18F9D; background: #EBD9DA; border-color: #C18F9D; }
.topbar { background: linear-gradient(100deg, #C18F9D 0%, #603B4A 58%, #603B4A 100%); }
.promo-banner { background: linear-gradient(112deg, #C18F9D 0%, #603B4A 48%, #603B4A 100%); }
.site-footer { background-color: #603B4A; }
.hero-card { border-right-color: #C6A36A; }
.section-head h2::after, .main-nav a.active::after { background: linear-gradient(90deg, #C6A36A, #C18F9D); }
.category-icon { color: #603B4A; background: linear-gradient(145deg, #FAF6F2 0%, #EBD9DA 100%); }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):focus,
select:focus, textarea:focus { border-color: #C18F9D; box-shadow: 0 0 0 3px rgba(193,143,157,.20); }
input[type=checkbox], input[type=radio] { accent-color: #603B4A; }


/* Melvia palette test: sky blue #FFA3F4, espresso #281D1C, butter yellow #FFEDA2. */
:root {
  --bg: #FBD4F6;
  --surface: #FFFFFF;
  --ink: #281D1C;
  --muted: #625452;
  --primary: #281D1C;
  --primary-dark: #281D1C;
  --accent: #FFEDA2;
  --accent-dark: #E8CF72;
  --rose: #FFA3F4;
  --line: #FFA3F4;
  --melvia-border-soft: rgba(40,29,28,.12);
  --melvia-shadow-soft: 0 10px 26px -21px rgba(40,29,28,.26);
  --melvia-shadow-hover: 0 16px 30px -22px rgba(40,29,28,.33);
  --melvia-focus: rgba(255,163,244,.48);
  --melvia-blue: #FFA3F4;
  --melvia-espresso: #281D1C;
  --melvia-butter: #FFEDA2;
}
body {
  color: #281D1C;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,163,244,.24), transparent 45%),
    radial-gradient(circle at 100% 12%, rgba(255,237,162,.24), transparent 42%),
    #FFFFFF;
}
.site-header, .categories { background-color: #FFFFFF; }
.site-header { border-bottom-color: rgba(255,163,244,.72); box-shadow: 0 5px 18px rgba(40,29,28,.045); }
.main-nav a { color: #281D1C; }
.main-nav a.active, .main-nav a:hover, .section-link { color: #281D1C; }
.main-nav a.active::after, .section-head h2::after { background: #FFEDA2; }
.logo-text, h1, h2, h3, .product-price, .mini-price strong { color: #281D1C; }
.logo-mark { background: #FFA3F4; color: #281D1C; }
.topbar { background: #FFA3F4; color: #281D1C; border-bottom: 1px solid rgba(40,29,28,.10); }
.btn-primary, .btn-primary:hover, .btn-ghost:hover {
  background: #281D1C; color: #FFFFFF; border-color: #281D1C;
}
.btn-primary { box-shadow: 0 8px 20px -15px rgba(40,29,28,.65); }
.btn-ghost { border-color: #281D1C; color: #281D1C; }
.btn-light { background: #FFEDA2; color: #281D1C; }
.icon-btn { background: #FFFFFF; color: #281D1C; border-color: #FFA3F4; }
.cart-count { background: #FFEDA2; color: #281D1C; }
.category-card, .product-card, .mini-card, .testimonial-card, .page-content,
.contact-card, .about-card, .product-detail-panel { background-color: #FFFFFF; border-color: rgba(255,163,244,.9); }
.category-card:hover, .product-card:hover, .mini-card:hover, .testimonial-card:hover { border-color: #FFEDA2; }
.category-icon { color: #281D1C; background: linear-gradient(145deg, #FFA3F4 0%, #FFA3F4 100%); }
.product-image, .product-detail-image, .mini-img { background-color: #FFA3F4; }
.discount-badge, .discount-badge-inline { background: #FFEDA2; color: #281D1C; }
.stock-badge-low { background: #FFEDA2; color: #281D1C; }
.promo-banner { background: linear-gradient(112deg, #FFA3F4 0%, #FFA3F4 55%, #FFEDA2 100%); color: #281D1C; }
.promo-banner h2, .promo-banner p { color: #281D1C; }
.hero-kicker, .hero-badge, .hero-card-badge { background: #FFEDA2; color: #281D1C; }
.hero-blob { background: radial-gradient(circle, rgba(255,163,244,.72), rgba(255,163,244,0)); }
.hero-card { border-right-color: #FFEDA2; }
.filter-list li a.active, .filter-list li a:hover { background: #FFA3F4; color: #281D1C; }
.site-footer { background: #281D1C; color: #FFFFFF; border-top: 4px solid #FFA3F4; }
.footer-col h4 { color: #FFEDA2; }
.footer-col a, .footer-brand p { color: #FFFFFF; }
.footer-col a:hover { color: #FFA3F4; }
.footer-bottom { color: #FFA3F4; }
.page-header { border-bottom-color: #FFA3F4; }
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):focus,
select:focus, textarea:focus { border-color: #FFA3F4; box-shadow: 0 0 0 3px rgba(255,163,244,.38); }
input[type=checkbox], input[type=radio] { accent-color: #281D1C; }
:focus-visible { outline-color: #281D1C; }
::selection { background: #FFEDA2; color: #281D1C; }
.flash-message, .stock-warn { border-color: #FFA3F4; }
.stock-warn { background: #FFEDA2; color: #281D1C; }

/* Login and registration pages use embedded styles; align them with the same palette. */
.auth-page { background: radial-gradient(ellipse at 8% 20%, rgba(255,163,244,.65) 0, transparent 35%), linear-gradient(135deg, #FFA3F4, #FFFFFF 52%, #FFEDA2 140%) !important; }
.auth-card { background: #FFFFFF; border-color: #FFA3F4; box-shadow: 0 16px 50px rgba(40,29,28,.10); }
.auth-mark, .auth-brand-name, .auth-card h1, .auth-field label, .auth-step-title { color: #281D1C !important; }
.auth-brand-sub, .auth-intro, .auth-remember, .auth-foot, .auth-divider { color: #625452 !important; }
.auth-field input { border-color: #FFA3F4 !important; color: #281D1C; }
.auth-field input:focus { border-color: #281D1C !important; box-shadow: 0 0 0 3px rgba(255,163,244,.45) !important; }
.auth-primary { background: #281D1C !important; color: #FFFFFF !important; }
.auth-secondary { border-color: #FFA3F4 !important; background: #FFFFFF; color: #281D1C !important; }
.auth-link, .auth-link-row a { color: #281D1C !important; }
.auth-divider:before, .auth-divider:after { background: #FFA3F4 !important; }
.auth-notice { background: #FFA3F4 !important; border-color: #FFA3F4 !important; color: #281D1C !important; }
.auth-nonfield { background: #FFF8D6 !important; color: #281D1C !important; border: 1px solid #FFEDA2; }
.auth-error { color: #281D1C !important; }
