/* "Weaver's Heritage" theme: the colours come from the theme catalogue (madder red, turmeric gold, unbleached cotton); this adds the textile
   touches that make the store look like it comes straight from the loom - a faint thread texture on the header and footer, a stitched edge on
   cards, a framed banner and the weaver's stamp (the store's name round a shuttle). Loaded only when the theme is chosen (body.theme-weaver). */

body.theme-weaver {
    --wv-thread: repeating-linear-gradient(90deg, rgba(255, 255, 255, .045) 0 1px, transparent 1px 4px), repeating-linear-gradient(0deg, rgba(0, 0, 0, .06) 0 1px, transparent 1px 4px);
}

/* ----- header: thread texture ----- */
body.theme-weaver .nh-top { background-image: var(--wv-thread); }
body.theme-weaver .nh-bar { background-image: var(--wv-thread), linear-gradient(135deg, var(--maroon-dark) 0%, var(--maroon) 55%, var(--maroon-dark) 100%); }
body.theme-weaver .nh-bar .navbar-brand.font-brand { text-shadow: 0 2px 0 rgba(0, 0, 0, .25); }

/* ----- footer: the thread texture and the stamp ----- */
body.theme-weaver .nf { background-image: var(--wv-thread), radial-gradient(110% 120% at 0% 0%, var(--maroon-dark, #5c1329) 0%, var(--maroon-darker, #3f0c1c) 62%); }
body.theme-weaver .nf::after { display: none; }
.nf .wv-seal-wrap { margin-top: 1.1rem; color: var(--gold-light, #e8c766); }
.wv-seal { width: 9.5rem; height: 9.5rem; display: block; overflow: visible; filter: drop-shadow(0 4px 14px rgba(0, 0, 0, .35)); }
.wv-seal text { font-family: var(--font-display, 'Playfair Display', Georgia, serif); font-weight: 700; fill: currentColor; }
.nf .wv-seal { opacity: .95; }

/* ----- the home page ----- */
body.theme-weaver .hero-banner { box-shadow: 0 0 0 5px var(--ivory, #f6efe2), 0 0 0 8px var(--gold), 0 0 0 10px var(--maroon-dark), 0 18px 40px rgba(60, 20, 10, .25); margin: 10px 10px 2rem !important; }
body.theme-weaver .product-card, body.theme-weaver .shelf { position: relative; }
body.theme-weaver .product-card::after { content: ""; position: absolute; inset: 5px; border: 1px dashed rgba(var(--maroon-rgb), .28); border-radius: .55rem; pointer-events: none; z-index: 1; }
body.theme-weaver .catbar { border-bottom-color: rgba(var(--maroon-rgb), .22); }

/* ----- the product page ----- */
body.theme-weaver .pd-pricecard { border-left: 4px solid var(--gold); }
