/* CARDVAULT R4: complete cart/checkout/verification UI + blog discoverability.
 * Scoped visual-only changes. No order math, payment methods, forms or API behavior modified.
 */
:root{--cv4-ink:#102238;--cv4-muted:#445a6f;--cv4-lime:#d7fc5b;--cv4-paper:#f6f8f5}
body.cv-body header.cv-header.header--glass .cv-desktop-nav a.cv-nav-blog{
 border-left:1px solid #dce3e8;padding-left:15px;color:#244c6d!important
}
body.cv-body header.cv-header.header--glass .cv-desktop-nav a.cv-nav-blog:hover{color:#165b8e!important}
body.cv-body header.cv-header.header--glass .cv-mobile-menu a.cv-nav-blog{color:#15547f!important}
body.cv-body header.cv-header.header--glass .cv-mobile-menu a.cv-nav-blog span{color:#648299!important}
@media(min-width:1051px) and (max-width:1240px){
 body.cv-body .cv-desktop-nav{display:none!important}
 body.cv-body header.cv-header.header--glass .cv-mobile-nav-trigger{display:grid;place-items:center;padding:6px;color:#102238}
 body.cv-body header.cv-header.header--glass .cv-header-tools{margin-left:auto}
}
/* Shared order funnel framing. */
body.cv-body .cv-main:has(>.cv-cart-page),
body.cv-body .cv-main:has(>.cv-checkout-page){max-width:1210px!important;padding-top:26px!important;padding-bottom:45px!important}
body.cv-body :is(.cv-cart-page,.cv-checkout-page){color:var(--cv4-ink);font-family:var(--cv-sans,system-ui,sans-serif);min-width:0}
body.cv-body :is(.cv-cart-page,.cv-checkout-page) *{box-sizing:border-box}
body.cv-body .cv-checkout-crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 17px;font-size:12px;font-weight:700;color:#61758a}
body.cv-body .cv-checkout-crumbs a{color:#405875!important;text-decoration:none!important}
body.cv-body .cv-checkout-crumbs a:hover{text-decoration:underline!important}
body.cv-body .cv-checkout-crumbs span[aria-current=page]{color:#163149;font-weight:900}
body.cv-body :is(.cv-cart-intro,.cv-checkout-intro){background:linear-gradient(110deg,#102238,#1b3859 75%,#2e5075)!important;position:relative;overflow:hidden;border:0!important;border-radius:14px!important;padding:28px 32px!important;box-shadow:0 15px 35px rgba(14,33,57,.12)}
body.cv-body :is(.cv-cart-intro,.cv-checkout-intro):after{content:'◈';position:absolute;right:32px;top:-35px;font-size:170px;line-height:1;color:rgba(213,251,93,.065);pointer-events:none}
body.cv-body :is(.cv-cart-intro,.cv-checkout-intro) h1{font:900 clamp(30px,4vw,46px)/1.1 var(--cv-display,system-ui)!important;color:#fff!important;letter-spacing:-.025em;max-width:740px;position:relative;z-index:1}
body.cv-body :is(.cv-cart-intro,.cv-checkout-intro)>div:first-child{color:var(--cv4-lime)!important}
body.cv-body :is(.cv-cart-intro,.cv-checkout-intro)>p{color:#dce8f5!important;max-width:680px;font-size:13px;line-height:1.7;position:relative;z-index:1}
body.cv-body .cv-checkout-steps{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;position:relative;z-index:1}
body.cv-body .cv-checkout-steps span{font-weight:800;color:#b9cbe0!important;font-size:10px;letter-spacing:.04em;padding:7px 12px;border:1px solid rgba(255,255,255,.24);border-radius:30px}
body.cv-body .cv-checkout-steps .is-current{background:var(--cv4-lime)!important;color:#173049!important;border-color:var(--cv4-lime)!important}
/* Cart: tidy tables and mobile cards while preserving forms/actions. */
body.cv-body .cv-cart-page .shadow-card{box-shadow:0 9px 30px rgba(11,29,47,.065)!important;border:1px solid #dce4ec!important}
body.cv-body .cv-cart-page .bg-white{background:#fff!important;color:#1e3449!important}
body.cv-body .cv-cart-page table{width:100%;border-collapse:collapse}
body.cv-body .cv-cart-page table thead{background:#edf2f5!important;color:#324860!important}
body.cv-body .cv-cart-page table tbody tr{border-color:#e2e9ed!important}
body.cv-body .cv-cart-page table td{font-size:14px;color:#20354c}
body.cv-body .cv-cart-page table td a{color:#142d48!important;font-weight:850}
body.cv-body .cv-cart-page table img,body.cv-body .cv-cart-page .lg\:hidden img{object-fit:contain!important;background:#f7f9fa!important}
body.cv-body .cv-cart-page form input[name=qty],body.cv-body .cv-cart-page form input[name=coupon]{background:#fff!important;color:#173048!important;border:1px solid #b7c8d7!important;box-shadow:none;min-width:0}
body.cv-body .cv-cart-page form input:focus-visible{outline:3px solid #a0d6e5!important;outline-offset:2px}
body.cv-body .cv-cart-page form button:not([style]){color:#166086!important;font-weight:850}
body.cv-body .cv-cart-page form button.text-red-600{color:#a72735!important}
body.cv-body .cv-cart-page form button[style],
body.cv-body .cv-cart-page a[href="/checkout"]{background:#d7fc5b!important;color:#14263c!important;text-shadow:none!important;box-shadow:none!important;border:1px solid #b7de44!important;border-radius:9px!important}
body.cv-body .cv-cart-page a[href="/checkout"]:hover,body.cv-body .cv-cart-page form button[style]:hover{background:#edffad!important}
body.cv-body .cv-cart-page a[href="/shop"]{color:#12618c}
body.cv-body .cv-cart-page .cv-cart-summary{background:#11263f!important;border-color:#11263f!important;color:#fff!important}
body.cv-body .cv-cart-page .cv-cart-summary h2,
body.cv-body .cv-cart-page .cv-cart-summary dd,
body.cv-body .cv-cart-page .cv-cart-summary .font-semibold,
body.cv-body .cv-cart-page .cv-cart-summary .font-extrabold{color:#fff!important}
body.cv-body .cv-cart-page .cv-cart-summary :is(dt,.text-slate-400){color:#bdcede!important}
body.cv-body .cv-cart-page .cv-cart-summary dd.text-cyan-700{color:#d7fc5b!important}
body.cv-body .cv-cart-page .cv-cart-summary .text-cyan-300{color:#d7fc5b!important}
body.cv-body .cv-cart-page .cv-cart-summary p{color:#e0eefb!important}
body.cv-body .cv-cart-page .cv-cart-summary p a{color:#d7fc5b!important}
body.cv-body .cv-cart-page .cv-cart-summary a[href="/checkout"]{display:block;background:#d7fc5b!important;color:#14263c!important;padding:15px 20px!important}
body.cv-body .cv-cart-page .cv-cart-summary a[href="/shop"]{color:#d7fc5b!important}
body.cv-body .cv-cart-page .lg\:hidden.fixed{background:#102238!important}
body.cv-body .cv-cart-page .lg\:hidden.fixed a[href="/checkout"]{background:#d7fc5b!important;color:#14263c!important}
/* Checkout: dark summaries must have LIGHT labels and DARK coupon fields. */
body.cv-body .cv-checkout-page .cv-order-summary{background:#11263f!important;border:1px solid #11263f!important;color:#fff!important;border-radius:14px!important;box-shadow:0 12px 34px rgba(11,29,47,.13)}
body.cv-body .cv-checkout-page .cv-order-summary :is(h2,summary,.font-black,.font-semibold){color:#fff!important}
body.cv-body .cv-checkout-page .cv-order-summary :is(.text-slate-300,.text-slate-400,.text-slate-500){color:#d4e1f0!important}
body.cv-body .cv-checkout-page .cv-order-summary :is(.text-cyan-200,.text-cyan-300){color:#d7fc5b!important}
body.cv-body .cv-checkout-page .cv-order-summary input[name="coupon"]{background:#203b59!important;color:#fff!important;border:1px solid #637b94!important;box-shadow:none!important}
body.cv-body .cv-checkout-page .cv-order-summary input[name="coupon"]::placeholder{color:#c6d7e6!important}
body.cv-body .cv-checkout-page .cv-order-summary button{background:#d7fc5b!important;color:#172b42!important;border:1px solid #c3ed4b!important;text-shadow:none!important}
body.cv-body .cv-checkout-page .cv-order-summary a{color:#d7fc5b!important}
body.cv-body .cv-checkout-page .cv-order-summary .bg-white\\/5{background:rgba(255,255,255,.07)!important;color:#dce8f4!important}
/* Checkout: high legibility fields, zero payment-flow changes. */
body.cv-body .cv-checkout-page .cv-checkout-form > .bg-white{background:#fff!important;border:1px solid #dee8ec!important;box-shadow:0 9px 27px rgba(14,34,56,.065)!important;border-radius:14px!important;padding:25px!important;color:#1a3047!important}
body.cv-body .cv-checkout-page .cv-checkout-form h2{color:#152a42!important;font-size:21px!important;font-weight:900!important;letter-spacing:-.015em}
body.cv-body .cv-checkout-page .cv-checkout-form label{color:#203b56}
body.cv-body .cv-checkout-page .cv-checkout-form label .text-slate-500{color:#586d83!important}
body.cv-body .cv-checkout-page .cv-checkout-form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea){background:#fff!important;color:#132f4a!important;border:1px solid #bacbd8!important;border-radius:8px;min-height:46px;max-width:100%}
body.cv-body .cv-checkout-page .cv-checkout-form input::placeholder{color:#63748a!important}
body.cv-body .cv-checkout-page .cv-checkout-form :is(input,select,textarea):focus-visible{outline:3px solid #afdcd1!important;outline-offset:1px;border-color:#297c8b!important}
body.cv-body .cv-checkout-page .cv-checkout-form :is(input[type="radio"],input[type="checkbox"]){accent-color:#163750;min-width:17px;min-height:17px;flex-shrink:0}
body.cv-body .cv-checkout-page .cv-checkout-form .bg-cyan-50{background:#edf9f7!important;border-color:#bcded9!important;color:#193e42!important}
body.cv-body .cv-checkout-page .cv-checkout-form .bg-slate-50{background:#f2f6f8!important;color:#223c55!important}
body.cv-body .cv-checkout-page .cv-checkout-form .text-slate-600{color:#445970!important}
body.cv-body .cv-checkout-page .cv-checkout-form :is(.text-red-600,.text-red-700){color:#a52a37!important}
body.cv-body .cv-checkout-page .cv-checkout-form a:not([class*="bg-"]){color:#125985!important}
body.cv-body .cv-checkout-page .cv-checkout-form #payment-recommended .text-slate-950{color:#142940!important}
body.cv-body .cv-checkout-page .cv-checkout-form #place-order,
body.cv-body .cv-checkout-page .cv-checkout-mobile-cta button[type="submit"]{background:#d7fc5b!important;color:#14263c!important;text-shadow:none!important;border:1px solid #b7de44!important;box-shadow:none!important;min-height:50px;letter-spacing:.01em}
body.cv-body .cv-checkout-page .cv-checkout-form #place-order:hover,
body.cv-body .cv-checkout-page .cv-checkout-mobile-cta button[type="submit"]:hover{background:#efffb6!important}
body.cv-body .cv-checkout-page .cv-checkout-form #checkout-safety-line{color:#455d76!important}
body.cv-body .cv-checkout-page .cv-checkout-mobile-cta{background:#11263f!important;color:white!important}
body.cv-body .cv-checkout-page .cv-checkout-mobile-cta .font-black{color:#fff!important}
/* Responsive form: avoid field and summary overflow at 320px. */
@media(max-width:700px){
 body.cv-body :is(.cv-cart-intro,.cv-checkout-intro){padding:22px 19px!important}
 body.cv-body .cv-checkout-steps{gap:5px}
 body.cv-body .cv-checkout-steps span{padding:6px 8px;font-size:9px}
 body.cv-body .cv-checkout-page .cv-checkout-form > .bg-white{padding:17px!important}
 body.cv-body .cv-checkout-page .cv-order-summary{width:100%}
 body.cv-body .cv-checkout-page .cv-order-summary form{min-width:0}
 body.cv-body .cv-checkout-page .cv-order-summary form>*{min-width:0}
 body.cv-body .cv-cart-page form[method=post]{max-width:100%}
 body.cv-body .cv-cart-page input[name=qty]{width:61px!important;padding:8px!important}
 body.cv-body .cv-cart-page form input[name=coupon]{width:100%;min-width:0}
 body.cv-body .cv-cart-page .lg\:hidden.fixed{padding-left:12px;padding-right:12px}
 body.cv-body .cv-checkout-page .cv-checkout-mobile-cta button{padding:11px 13px!important;font-size:12px!important;white-space:nowrap}
}
@media(max-width:360px){
 body.cv-body .cv-cart-page .lg\:hidden .flex.items-center.justify-between{flex-wrap:wrap;gap:8px}
 body.cv-body .cv-cart-page .lg\:hidden form{min-width:0}
 body.cv-body .cv-cart-page .lg\:hidden form button{font-size:11px}
}
/* Success + verification pages. */
body.cv-body .cv-main .cv-order-complete,
body.cv-body .cv-main .cv-payment-verify{max-width:1080px;margin-inline:auto;border:1px solid #dbe7ed!important;border-radius:14px!important;background:#fff!important;color:#233a50!important;box-shadow:0 13px 34px rgba(19,48,76,.085)!important;padding:clamp(19px,4vw,34px)!important}
body.cv-body .cv-main :is(.cv-order-complete,.cv-payment-verify) :is(h1,h2,h3){color:#10273f!important}
body.cv-body .cv-main :is(.cv-order-complete,.cv-payment-verify) :is(p,td,th){color:#32485d}
body.cv-body .cv-main .cv-order-complete table{width:100%;max-width:100%;display:block;overflow-x:auto}
body.cv-body .cv-main .cv-order-complete a.bg-accent{background:#112c47!important;color:#fff!important;text-decoration:none!important;display:inline-block}
body.cv-body .cv-main .cv-payment-verify #statusPill.bg-amber-100{color:#77410b!important}
/* Blog listing is an actual controller-rendered page, separate from blog_post.php. */
body.cv-body .cv-main .cv-blog-index{padding:14px 0 50px!important}
body.cv-body .cv-main .cv-blog-index h1{font:900 clamp(36px,5vw,56px)/1.06 var(--cv-display,system-ui)!important;color:#102239!important;letter-spacing:-.02em}
body.cv-body .cv-main .cv-blog-index>div:first-child{margin-bottom:25px!important}
body.cv-body .cv-main .cv-blog-index>div.grid>article{border:1px solid #dce5eb!important;border-radius:12px!important;box-shadow:0 6px 24px rgba(16,38,62,.055)!important;overflow:hidden}
body.cv-body .cv-main .cv-blog-index article h2>a{color:#112b44!important}
body.cv-body .cv-main .cv-blog-index article p{color:#3e536b!important;line-height:1.65}
body.cv-body .cv-main .cv-blog-index article a.inline-flex{background:#d7fc5b!important;color:#12263d!important;border:1px solid #b7de44!important;font-weight:900!important}
body.cv-body .cv-main .cv-blog-index article a.inline-flex:hover{background:#edffad!important}
body.cv-body .cv-main .cv-blog-index nav a.bg-accent{background:#16314d!important;color:#fff!important}
body.cv-body .cv-main .cv-blog-index .bg-gradient-to-br{background:#eaf0f4!important}

/* Mobile and desktop cart product titles: force strong contrast on white cards. */
body.cv-body .cv-main .cv-cart-page a[href^="/product/"]{color:#17334d!important;text-decoration:none!important;font-weight:800!important}
body.cv-body .cv-main .cv-cart-page a[href^="/product/"]:hover{color:#12618c!important;text-decoration:underline!important}

/* Search route and support form: complete the remaining public-facing layouts. */
body.cv-body .cv-main .cv-search-page{padding:8px 0 32px;color:#20364d!important}
body.cv-body .cv-main .cv-search-page h1{font:900 clamp(34px,4.3vw,50px)/1.12 var(--cv-display,system-ui)!important;color:#12253c!important}
body.cv-body .cv-main .cv-search-page>div:first-child p{color:#526981!important}
body.cv-body .cv-main .cv-search-page>form{padding:18px;background:#fff;border:1px solid #dce6ec;border-radius:12px;box-shadow:0 8px 28px rgba(16,39,64,.05)}
body.cv-body .cv-main .cv-search-page input#q{background:#fff!important;color:#112e48!important;border:1px solid #b8cad8!important;min-height:44px}
body.cv-body .cv-main .cv-search-page form button.btn-primary{background:#d7fc5b!important;color:#14273c!important;font-weight:900!important;border:1px solid #c0e547}
body.cv-body .cv-main .cv-search-page article.product-card{background:#fff!important;border:1px solid #dce5eb!important;border-radius:12px!important;overflow:hidden;box-shadow:0 5px 20px rgba(13,36,58,.055)}
body.cv-body .cv-main .cv-search-page article.product-card h3{color:#142b44!important}
body.cv-body .cv-main .cv-search-page article.product-card .product-price{color:#162d47!important}
body.cv-body .cv-main .cv-search-page article.product-card a.product-cta{background:#d7fc5b!important;color:#14263c!important;border-radius:8px!important;font-weight:900!important}
body.cv-body .tcg-page-shell--contact .tcg-contact-form{border:1px solid #dbe7ee!important;box-shadow:0 10px 29px rgba(15,40,64,.07)!important}
body.cv-body .tcg-page-shell--contact .tcg-contact-form label{color:#223f57!important}
body.cv-body .tcg-page-shell--contact .tcg-contact-form :is(input:not([type=checkbox]),textarea){background:#fff!important;color:#18334a!important;border:1px solid #b8cad9!important;min-height:44px}
body.cv-body .tcg-page-shell--contact .tcg-contact-form button.bg-accent{background:#d7fc5b!important;color:#14263c!important;font-weight:900!important;border:1px solid #bbdf4c}
body.cv-body .tcg-page-shell--contact .tcg-contact-form a.bg-slate-100{background:#edf2f5!important;color:#1f4059!important}
