/* Wovin — blush and plum storefront */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;1,500&family=Source+Sans+3:wght@400;600;700&display=swap');
:root {
    --wv-sans: "Source Sans 3", "Helvetica Neue", sans-serif;
    --wv-serif: "Playfair Display", Georgia, serif;
    --wv-blush: #f8eef1;
    --wv-plum: #6e2b45;
    --wv-rose: #c9899b;
    --wv-max: 980px;
}
body.wovin-theme { margin: 0; font-family: var(--wv-sans); color: #3a2430; background: var(--wv-blush); text-align: center; }
body.wovin-theme * { box-sizing: border-box; }
body.wovin-theme a { color: inherit; text-decoration: none; }
body.wovin-theme img { max-width: 100%; display: block; }
body.wovin-theme .container-wide { width: min(var(--wv-max), 100% - 36px); margin: 0 auto; text-align: left; }
body.wovin-theme .wv-tools { display: flex; justify-content: space-between; align-items: center; max-width: var(--wv-max); margin: 0 auto; padding: 14px 8px 0; }
body.wovin-theme .wv-search input { border: 0; border-bottom: 1px solid var(--wv-rose); background: transparent; font: inherit; padding: 6px 0; width: 140px; }
body.wovin-theme .wv-cart { border: 0; background: none; font: inherit; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; color: var(--wv-plum); }
body.wovin-theme .wv-logo { display: block; padding: 8px 0 4px; }
body.wovin-theme .wv-wordmark { font-family: var(--wv-serif); font-style: italic; font-size: 64px; color: var(--wv-plum); letter-spacing: -0.03em; }
body.wovin-theme .wv-nav { display: flex; justify-content: center; gap: 22px; flex-wrap: wrap; padding: 8px 16px 14px; }
body.wovin-theme .wv-nav a { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; }
body.wovin-theme .wv-nav a.active { color: var(--wv-plum); }
body.wovin-theme .wv-announce { background: var(--wv-plum); color: #fff; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; padding: 8px; }
body.wovin-theme .menu-toggle { display: none; background: none; border: 0; }
body.wovin-theme .wv-hero { padding: 64px 20px 28px; }
body.wovin-theme .wv-hero h1 { font-family: var(--wv-serif); font-weight: 500; font-size: clamp(42px, 6vw, 68px); margin: 0 0 12px; color: var(--wv-plum); }
body.wovin-theme .wv-hero p { max-width: 460px; margin: 0 auto 22px; font-size: 18px; }
body.wovin-theme .wv-btn { display: inline-flex; border: 1px solid var(--wv-plum); color: var(--wv-plum); padding: 12px 22px; letter-spacing: 0.12em; text-transform: uppercase; font-size: 13px; font-weight: 700; }
body.wovin-theme .wv-btn:hover { background: var(--wv-plum); color: #fff; }
body.wovin-theme .wv-notes { display: flex; justify-content: center; gap: 28px; padding: 10px 16px 40px; color: var(--wv-plum); font-size: 14px; }
body.wovin-theme .collection-layout { display: block !important; width: 100%; text-align: left; }
body.wovin-theme .filter-panel { display: none !important; }
body.wovin-theme .product-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 20px !important; width: 100%; text-align: left; }
body.wovin-theme .page-title-bar h1 { font-family: var(--wv-serif); font-style: italic; text-transform: none; }
body.wovin-theme .product-price { color: var(--wv-plum); font-weight: 700; }
body.wovin-theme .wv-footer { background: #fff; color: #5c4450; padding: 40px 16px 18px; border-top: 1px solid #eddde3; text-align: left; }
body.wovin-theme .wv-footer-grid { max-width: var(--wv-max); margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
body.wovin-theme .wv-footer-grid h4 { font-family: var(--wv-serif); color: var(--wv-plum); margin: 0 0 10px; font-weight: 500; }
body.wovin-theme .wv-footer-grid a, body.wovin-theme .wv-footer-grid p { display: block; margin: 0 0 8px; font-size: 14px; }
body.wovin-theme .wv-footer-bottom { max-width: var(--wv-max); margin: 16px auto 0; padding-top: 12px; border-top: 1px solid #eddde3; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; }
body.wovin-theme .btn-shop, body.wovin-theme .add-to-cart-btn { background: var(--wv-plum) !important; border-radius: 0 !important; }
@media (max-width: 800px) {
    body.wovin-theme .wv-nav, body.wovin-theme .wv-search { display: none; }
    body.wovin-theme .menu-toggle { display: inline-flex; }
    body.wovin-theme .wv-footer-grid { grid-template-columns: 1fr 1fr; }
    body.wovin-theme .product-grid { grid-template-columns: 1fr 1fr !important; }
    body.wovin-theme .wv-notes { flex-direction: column; gap: 8px; }
}
