/* Every rule is scoped. With the class absent, the original design is unchanged. */
body.cvnav-active { --cvnav-red:#ed1b34; --cvnav-ink:#111; --cvnav-paper:#fff; }
body.cvnav-active .cvnav-ribbon { display:block; position:relative; margin:0; padding:19px 24px 16px; color:var(--cvnav-ink); background:var(--cvnav-paper); border-bottom:1px solid #e8e8e8; isolation:isolate; }
body.cvnav-active .cvnav-ribbon::before { content:""; position:absolute; inset:0 0 auto; height:16px; pointer-events:none; background:center top / 160px 16px repeat-x url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='16' viewBox='0 0 160 16'%3E%3Cpath d='M0 0Q40 14 80 0Q120 14 160 0' fill='none' stroke='%23d2d2d2'/%3E%3Cpath d='M20 5v4m40-4v4m40-4v4m40-4v4' stroke='%23111'/%3E%3Cellipse cx='20' cy='11' rx='2.5' ry='4' fill='%23ed1b34'/%3E%3Cellipse cx='60' cy='11' rx='2.5' ry='4' fill='%23fff' stroke='%23ed1b34'/%3E%3Cellipse cx='100' cy='11' rx='2.5' ry='4' fill='%23ed1b34'/%3E%3Cellipse cx='140' cy='11' rx='2.5' ry='4' fill='%23fff' stroke='%23ed1b34'/%3E%3C/svg%3E"); }
body.cvnav-active .cvnav-ribbon-inner { max-width:1218px; margin:auto; display:flex; align-items:center; gap:16px; }
body.cvnav-active .cvnav-gift { color:var(--cvnav-red); display:flex; flex:0 0 auto; }
body.cvnav-active .cvnav-eyebrow { display:block; margin-bottom:1px; color:var(--cvnav-red); font-size:10px; font-weight:800; letter-spacing:1.6px; line-height:1.5; }
body.cvnav-active .cvnav-ribbon strong { font:700 21px/1.3 Arial,sans-serif; letter-spacing:-.4px; }
body.cvnav-active .cvnav-ribbon-small { font-size:13px; margin-left:16px; color:#555; }
body.cvnav-active .cvnav-ribbon-link { margin-left:auto; display:inline-flex; align-items:center; min-height:44px; color:var(--cvnav-ink); font-size:14px; font-weight:700; border-bottom:1px solid var(--cvnav-red); text-decoration:none; white-space:nowrap; }
body.cvnav-active .cvnav-ribbon-link:hover { text-decoration:underline; text-underline-offset:4px; }
body.cvnav-active .cvnav-ribbon-link:focus-visible,
body.cvnav-active .cvnav-ideas a:focus-visible { outline:3px solid var(--cvnav-ink); outline-offset:4px; }
body.cvnav-active .cvh-hero { position:relative; }
body.cvnav-active .cvh-hero::before { content:""; position:absolute; top:0; right:0; width:47%; height:100%; pointer-events:none; opacity:.5; background:0 0 / 44px 44px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cpath d='M22 18v8m-4-4h8' stroke='%23dedede'/%3E%3C/svg%3E"); }
body.cvnav-active .cvnav-hero-tag { display:flex; align-items:center; gap:8px; margin:0 0 14px; color:var(--cvnav-red); font-size:11px; line-height:1.5; font-weight:800; letter-spacing:1.2px; }
body.cvnav-active .cvh-hero-grid { position:relative; }
body.cvnav-active .cvh-window { position:relative; border-radius:16px; }
body.cvnav-active .cvh-window::before { content:""; position:absolute; top:-29px; right:27px; width:78px; height:40px; pointer-events:none; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 44'%3E%3Cpath d='M44 37C16 39 2 7 16 4c11-3 28 33 28 33ZM46 37C74 39 88 7 74 4 63 1 46 37 46 37Z' fill='none' stroke='%23ed1b34' stroke-width='5'/%3E%3Ccircle cx='45' cy='37' r='5' fill='%23ed1b34'/%3E%3C/svg%3E"); }
body.cvnav-active .cvh-window-head { border-radius:12px 12px 0 0; }
body.cvnav-active .cvh-window-grid { border-radius:0 0 9px 9px; }
body.cvnav-active .cvh-window-item { position:relative; }
body.cvnav-active .cvh-window-item::after { content:""; position:absolute; top:12px; right:13px; width:8px; height:8px; border:1px solid var(--cvnav-red); transform:rotate(45deg); pointer-events:none; }
body.cvnav-active .cvh-product { border-radius:14px; }
body.cvnav-active .cvnav-ideas { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:20px 0; }
body.cvnav-active .cvnav-ideas > span { flex:1 1 220px; font-size:15px; font-weight:700; }
body.cvnav-active .cvnav-ideas a { display:inline-flex; align-items:center; min-height:44px; padding:9px 17px; border:1px solid #d9d9d9; border-radius:100px; color:var(--cvnav-ink); background:var(--cvnav-paper); font-size:14px; font-weight:700; text-decoration:none; }
body.cvnav-active .cvnav-ideas a:hover { border-color:var(--cvnav-red); }
body.cvnav-active .cvnav-footer-note { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; padding:22px 24px; border-top:3px solid var(--cvnav-red); border-bottom:1px solid #ddd; color:var(--cvnav-ink); background:var(--cvnav-paper); font-size:15px; font-weight:700; }
body.cvnav-active .cvnav-footer-note svg { color:var(--cvnav-red); }
body.cvnav-active .woocommerce-info,
body.cvnav-active .woocommerce-message,
body.cvnav-active .wc-block-components-notice-banner { border-radius:10px; }
/* Keep purchase and account screens calm. Never place ornaments inside a form. */
body.cvnav-active.cvnav-compact .cvnav-ribbon { padding-top:15px; padding-bottom:10px; }
body.cvnav-active.cvnav-compact .cvnav-gift svg { width:28px; height:28px; }
body.cvnav-active.cvnav-compact .cvnav-ribbon strong { font-size:16px; }
body.cvnav-active.cvnav-compact .cvnav-ribbon-small { display:none; }
body.cvnav-active.cvnav-compact .cvnav-eyebrow { display:none; }
@media (max-width:960px) {
    body.cvnav-active .cvnav-ribbon-small { display:none; }
    body.cvnav-active .cvnav-ribbon { padding-right:20px; padding-left:20px; }
}
@media (max-width:600px) {
    body.cvnav-active .cvnav-ribbon-inner { gap:10px; flex-wrap:wrap; }
    body.cvnav-active .cvnav-ribbon { padding:18px 18px 12px; }
    body.cvnav-active .cvnav-ribbon strong { font-size:18px; }
    body.cvnav-active .cvnav-gift svg { width:32px; height:32px; }
    body.cvnav-active .cvnav-ribbon-link { font-size:12px; min-height:44px; }
    body.cvnav-active .cvnav-hero-tag { font-size:10px; letter-spacing:.7px; margin-bottom:12px; }
    body.cvnav-active .cvh-hero::before { display:none; }
    body.cvnav-active .cvnav-ideas { gap:8px; }
    body.cvnav-active .cvnav-ideas > span { flex-basis:100%; }
    body.cvnav-active .cvnav-ideas a { padding:9px 13px; }
}
@media (max-width:360px) {
    body.cvnav-active .cvnav-ribbon-link { margin-left:42px; }
}
@media print {
    body.cvnav-active .cvnav-ribbon, body.cvnav-active .cvnav-hero-tag, body.cvnav-active .cvnav-ideas, body.cvnav-active .cvnav-footer-note { display:none; }
    body.cvnav-active .cvh-hero::before, body.cvnav-active .cvh-window::before, body.cvnav-active .cvh-window-item::after { display:none; }
}
