/* Kaeviro — violet floating-pill storefront */
@import url('https://fonts.googleapis.com/css2?family=Figtree:wght@500;700&display=swap');
:root {
    --kv-font: "Figtree", "Helvetica Neue", sans-serif;
    --kv-violet: #5b2a86;
    --kv-lilac: #efe6f7;
    --kv-paper: #fbf7f2;
    --kv-ink: #24182e;
    --kv-max: 1080px;
}
body.kaeviro-theme { margin: 0; font-family: var(--kv-font); color: var(--kv-ink); background: var(--kv-paper); }
body.kaeviro-theme * { box-sizing: border-box; }
body.kaeviro-theme a { color: inherit; text-decoration: none; }
body.kaeviro-theme img { max-width: 100%; display: block; }
body.kaeviro-theme .container-wide { width: min(var(--kv-max), 100% - 32px); margin: 0 auto; }
body.kaeviro-theme .kv-shell { padding: 18px 16px 0; }
body.kaeviro-theme .kv-pill { max-width: var(--kv-max); margin: 0 auto; background: #fff; border-radius: 999px; min-height: 68px; display: flex; align-items: center; gap: 16px; padding: 8px 10px 8px 22px; box-shadow: 0 10px 30px rgba(91,42,134,.12); }
body.kaeviro-theme .kv-wordmark { font-weight: 700; font-size: 22px; color: var(--kv-violet); letter-spacing: -0.03em; }
body.kaeviro-theme .kv-nav { display: flex; gap: 14px; flex: 1; }
body.kaeviro-theme .kv-nav a { font-size: 14px; font-weight: 700; }
body.kaeviro-theme .kv-nav a.active { color: var(--kv-violet); }
body.kaeviro-theme .kv-search input { border: 0; background: var(--kv-lilac); border-radius: 999px; padding: 8px 14px; font: inherit; width: 120px; }
body.kaeviro-theme .kv-cart { border: 0; background: var(--kv-violet); color: #fff; border-radius: 999px; padding: 10px 16px; font: inherit; font-weight: 700; cursor: pointer; }
body.kaeviro-theme .kv-note { text-align: center; color: var(--kv-violet); font-size: 13px; margin: 10px 0 0; }
body.kaeviro-theme .menu-toggle { display: none; background: none; border: 0; color: var(--kv-violet); }
body.kaeviro-theme .kv-hero { width: min(var(--kv-max), 100% - 32px); margin: 28px auto 40px; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 14px; }
body.kaeviro-theme .kv-lead, body.kaeviro-theme .kv-card { background: #fff; border-radius: 28px; padding: 32px 26px; }
body.kaeviro-theme .kv-lead { background: var(--kv-violet); color: #fff; }
body.kaeviro-theme .kv-lead h1 { font-size: clamp(40px, 5vw, 58px); line-height: 0.95; letter-spacing: -0.04em; margin: 0 0 12px; }
body.kaeviro-theme .kv-card { display: flex; flex-direction: column; justify-content: flex-end; min-height: 220px; }
body.kaeviro-theme .kv-num { font-size: 13px; font-weight: 700; color: var(--kv-violet); letter-spacing: 0.12em; }
body.kaeviro-theme .kv-card h2 { margin: 8px 0; font-size: 26px; letter-spacing: -0.03em; }
body.kaeviro-theme .kv-btn { display: inline-flex; background: #fff; color: var(--kv-violet); border-radius: 999px; padding: 12px 18px; font-weight: 700; }
body.kaeviro-theme .collection-layout { display: block !important; width: 100%; }
body.kaeviro-theme .filter-panel { display: none !important; }
body.kaeviro-theme .product-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 16px !important; width: 100%; }
body.kaeviro-theme .product-card { border-radius: 20px; overflow: hidden; background: #fff; }
body.kaeviro-theme .product-price { color: var(--kv-violet); font-weight: 700; }
body.kaeviro-theme .page-title-bar h1 { letter-spacing: -0.03em; text-transform: none; }
body.kaeviro-theme .kv-footer { background: var(--kv-ink); color: #eadff5; padding: 40px 16px 18px; border-radius: 28px 28px 0 0; margin-top: 28px; }
body.kaeviro-theme .kv-footer-grid { max-width: var(--kv-max); margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
body.kaeviro-theme .kv-footer-grid h4 { color: #fff; margin: 0 0 10px; }
body.kaeviro-theme .kv-footer-grid a, body.kaeviro-theme .kv-footer-grid p { display: block; color: #d9cbe8; margin: 0 0 8px; font-size: 14px; }
body.kaeviro-theme .kv-footer-bottom { max-width: var(--kv-max); margin: 16px auto 0; padding-top: 12px; border-top: 1px solid #3d2c4c; font-size: 12px; }
body.kaeviro-theme .btn-shop, body.kaeviro-theme .add-to-cart-btn { background: var(--kv-violet) !important; border-radius: 999px !important; }
@media (max-width: 800px) {
    body.kaeviro-theme .kv-nav, body.kaeviro-theme .kv-search { display: none; }
    body.kaeviro-theme .menu-toggle { display: inline-flex; }
    body.kaeviro-theme .kv-hero, body.kaeviro-theme .kv-footer-grid { grid-template-columns: 1fr; }
    body.kaeviro-theme .kv-pill { border-radius: 24px; }
    body.kaeviro-theme .product-grid { grid-template-columns: 1fr 1fr !important; }
}
