/*
Theme Name: Virilo
Description: Discreet, sensual WooCommerce block theme. Colours, type and spacing live in theme.json; all copy lives in patterns.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: virilo
*/

/* Everything below only uses theme.json tokens, so colours change in one place. */
:root{--r:var(--wp--preset--color--red);--n:var(--wp--preset--color--night);--v:var(--wp--preset--color--velvet);--p:var(--wp--preset--color--plum);--c:var(--wp--preset--color--cream);--b:var(--wp--preset--color--blush);--s:var(--wp--preset--color--silver);--l:var(--wp--preset--color--line);--w:var(--wp--preset--color--wine)}
html{overscroll-behavior-x:none}
body{overflow-x:clip;-webkit-font-smoothing:antialiased}
::selection{background:var(--r);color:#fff}
em,.has-red-color em{font-family:var(--wp--preset--font-family--display);font-style:italic}
h1 em,h2 em,h3 em{color:var(--r)}


.vir-eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--wp--preset--font-size--xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--b)}
.vir-eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.vir-muted{color:var(--s)}
.is-style-outline .wp-block-button__link,.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent;border:1px solid var(--s);box-shadow:none;color:var(--c)}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{border-color:var(--c);background:var(--c);color:var(--n)}
.wp-block-button__link{transition:transform .2s,background .2s}
.wp-block-button__link:active{transform:scale(.97)}

/* header */
.vir-header-wrap{position:sticky;top:0;z-index:50}
.vir-header{position:relative;background:transparent;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s}
.vir-scrolled .vir-header,.vir-search-open .vir-header{background:color-mix(in srgb,var(--n) 82%,transparent);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-color:var(--l)}
.vir-bar{min-height:76px;gap:1.5rem}
.vir-brand{gap:.6rem!important;flex:1 1 0}
.vir-header .wp-block-site-logo img{width:34px;height:auto;transition:transform .5s}
.vir-brand:hover .wp-block-site-logo img{transform:rotate(-12deg) scale(1.08)}
.vir-header .wp-block-site-title{font-family:var(--wp--preset--font-family--display);font-style:italic;font-weight:600;font-size:1.6rem;letter-spacing:-.03em;margin:0}
.vir-header .wp-block-site-title a{text-decoration:none}
.vir-nav{flex:0 0 auto}
.vir-nav .wp-block-navigation__container{gap:2.25rem!important}
.vir-nav .wp-block-navigation-item{background:none!important}
.vir-nav .wp-block-navigation-item__content{position:relative;display:block;padding:.4rem 0!important;text-decoration:none;color:var(--s);font-size:.92rem;font-weight:500;letter-spacing:.01em;transition:color .2s}
.vir-nav .wp-block-navigation-item__content::after{content:"";position:absolute;left:50%;bottom:-4px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--r);opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.vir-nav .wp-block-navigation-item__content:hover,.vir-nav .current-menu-item>.wp-block-navigation-item__content{color:var(--c)}
.vir-nav .wp-block-navigation-item__content:hover::after,.vir-nav .current-menu-item>.wp-block-navigation-item__content::after{opacity:1;transform:none}
.vir-actions{flex:1 1 0;justify-content:flex-end!important;gap:.25rem!important}
.vir-search-toggle,.vir-actions .wc-block-mini-cart__button{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:transparent;border:0;color:var(--c);cursor:pointer;transition:background .2s;padding:0!important}
.vir-search-toggle:hover,.vir-actions .wc-block-mini-cart__button:hover{background:var(--p)}
.vir-search-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.vir-actions .wc-block-mini-cart__icon{width:23px;height:23px}
.vir-actions .wc-block-mini-cart__amount{display:none}
.wc-block-mini-cart__badge{background:var(--r)!important;color:#fff!important;border:0!important;font-weight:700}
.wc-block-mini-cart__drawer .components-modal__content,.wc-block-mini-cart__drawer{background:var(--v);color:var(--c)}
/* search drop-down */
.vir-searchbar{position:absolute!important;left:0;right:0;top:100%;margin:0!important;padding:2rem clamp(16px,4vw,40px) 2.25rem!important;background:var(--n);border-bottom:1px solid var(--l);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);opacity:0;visibility:hidden;translate:0 -6px;transition:opacity .25s,translate .25s,visibility .25s}
.vir-search-open .vir-searchbar{opacity:1;visibility:visible;translate:0 0}
.vir-searchbar .wp-block-search__inside-wrapper{border:0!important;border-bottom:1px solid var(--l)!important;border-radius:0;background:none;padding:0!important;transition:border-color .2s}
.vir-searchbar .wp-block-search__inside-wrapper:focus-within{border-color:var(--c)!important}
.vir-searchbar .wp-block-search__input{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B7AFB1' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") left center/22px no-repeat;border:0;color:var(--c);font-family:var(--wp--preset--font-family--body);font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:400;padding:.85rem 0 .85rem 2.4rem}
.vir-searchbar .wp-block-search__input::placeholder{color:var(--s);opacity:.7}
.vir-searchbar .wp-block-search__input:focus{outline:none}
.vir-searchbar .wp-block-search__button{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0;border:0}
.vir-quick{margin-top:1.1rem!important;font-size:var(--wp--preset--font-size--xs);text-transform:uppercase;letter-spacing:.14em;color:var(--s)}
.vir-quick a{margin-left:1.25rem;text-decoration:none;color:var(--c);text-transform:none;letter-spacing:0;font-size:var(--wp--preset--font-size--sm);transition:color .2s}
.vir-quick a:hover{color:var(--r)}
/* mobile menu */
@media (max-width:599px){.vir-nav .wp-block-navigation__responsive-container-open{width:46px;height:46px;display:grid;place-items:center;border-radius:50%}}
.wp-block-navigation__responsive-container.is-menu-open{background:radial-gradient(90% 60% at 100% 0%,color-mix(in srgb,var(--r) 35%,transparent),transparent 60%),var(--n)!important;color:var(--c)!important;padding:5.5rem 1.5rem 2rem!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{border:0;background:none;padding:0;gap:0!important;width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid var(--l)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-family:var(--wp--preset--font-family--display);font-size:2.4rem!important;font-style:italic;color:var(--c)!important;padding:.9rem 0!important;background:none!important}
@media (max-width:781px){
  .vir-bar{min-height:64px;gap:.5rem}
  .vir-header .wp-block-site-title{font-size:1.35rem}
  .vir-nav{order:3;flex:0 0 auto}
  .vir-actions{order:2;flex:0 0 auto}
  .vir-brand{flex:1 1 auto}
}

/* marquee */
.vir-marquee{overflow:hidden;border-block:1px solid var(--l);background:var(--v)}
.vir-marquee>.wp-block-group__inner-container,.vir-marquee>.vir-track{display:flex;flex-wrap:nowrap!important;gap:3rem;width:max-content;animation:vir-mq 32s linear infinite}
.vir-marquee p{margin:0;white-space:nowrap;font-family:var(--wp--preset--font-family--display);font-style:italic;font-size:var(--wp--preset--font-size--lg)}
.vir-marquee p::after{content:"✦";color:var(--r);margin-left:3rem;font-style:normal;font-size:.7em;vertical-align:.15em}
@keyframes vir-mq{to{transform:translateX(-50%)}}

/* hero */
.vir-hero{position:relative;isolation:isolate;min-height:min(88vh,860px);display:flex;flex-direction:column;justify-content:center}
/* one smooth glow behind header + hero: nothing to clip, nothing sticking out sideways */
body.home .wp-site-blocks{background:radial-gradient(70vmax 60vmax at 100% 0%,color-mix(in srgb,var(--r) 34%,transparent),transparent 70%),radial-gradient(55vmax 45vmax at 0% 95vh,color-mix(in srgb,var(--w) 40%,transparent),transparent 70%);background-repeat:no-repeat}
.vir-hero h1{font-size:var(--wp--preset--font-size--hero);font-weight:400;line-height:.95;max-width:12ch}
.vir-hero h1 em{font-weight:500}

/* category tiles */
.vir-cats{display:grid!important;grid-template-columns:1.3fr 1fr 1fr;grid-auto-rows:260px;gap:14px}
.vir-cat{position:relative;overflow:hidden;border-radius:var(--wp--custom--radius--md);background:var(--p);display:flex!important;flex-direction:column;justify-content:flex-end;padding:1.75rem!important;transition:transform .4s}
.vir-cat:hover{transform:translateY(-4px)}
.vir-cat::before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 70% 25%,color-mix(in srgb,var(--r) 70%,transparent),transparent 55%);transition:transform .8s,opacity .4s;opacity:.55}
.vir-cat:hover::before{transform:scale(1.25) rotate(8deg);opacity:.9}
.vir-cat:nth-child(1){grid-row:span 2}
.vir-cat:nth-child(2)::before{background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--b) 50%,transparent),transparent 55%)}
.vir-cat:nth-child(4){grid-column:span 2}
.vir-cat:nth-child(4)::before{background:radial-gradient(circle at 85% 40%,color-mix(in srgb,var(--w) 90%,transparent),transparent 60%)}
.vir-cat>*{position:relative;margin:0}
.vir-cat h3{font-style:italic;font-weight:400}
.vir-cat h3 a{text-decoration:none}
.vir-cat h3 a::after{content:"";position:absolute;inset:-100vmax}
.vir-cat p{color:var(--s);font-size:var(--wp--preset--font-size--sm)}
.vir-cat:nth-child(1) h3{font-size:var(--wp--preset--font-size--xxl)}

/* product grids (classic archive loop + product blocks) */
ul.products,.wc-block-grid__products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:14px!important;margin:0!important;padding:0!important;list-style:none}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product,.wc-block-grid__product{width:auto!important;margin:0!important;padding:0 0 1.25rem!important;float:none!important;background:var(--v);border:1px solid var(--l);border-radius:var(--wp--custom--radius--md);overflow:hidden;text-align:left!important;max-width:none!important;flex:none!important;transition:transform .35s,border-color .35s}
ul.products li.product:hover,.wc-block-grid__product:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--r) 60%,var(--l))}
ul.products li.product img,.wc-block-grid__product-image img{aspect-ratio:1;object-fit:cover;width:100%;margin:0 0 1rem!important;transition:transform .8s}
ul.products li.product:hover img,.wc-block-grid__product:hover img{transform:scale(1.05)}
ul.products li.product a{text-decoration:none}
.woocommerce-loop-product__title,.wc-block-grid__product-title{font-family:var(--wp--preset--font-family--display)!important;font-size:1.35rem!important;font-weight:500!important;padding:0 1.25rem!important;margin:0 0 .25rem!important}
ul.products li.product .price,.wc-block-grid__product-price{display:block;padding:0 1.25rem;color:var(--s)!important;font-size:.95rem!important;margin:0 0 1rem!important}
ul.products li.product .button,.wc-block-grid__product-add-to-cart .wp-block-button__link{margin:0 1.25rem!important;background:transparent!important;border:1px solid var(--l)!important;color:var(--c)!important;border-radius:999px!important;padding:.6rem 1.1rem!important;font-size:.85rem!important;box-shadow:none!important}
ul.products li.product .button:hover,.wc-block-grid__product-add-to-cart .wp-block-button__link:hover{background:var(--r)!important;border-color:var(--r)!important}
.onsale,.wc-block-grid__product-onsale{background:var(--r)!important;color:#fff!important;border:0!important;border-radius:999px!important;min-height:0!important;padding:.3rem .7rem!important;line-height:1!important;font-size:.75rem!important;top:12px!important;left:12px!important;right:auto!important}
.woocommerce-result-count{color:var(--s)}
.woocommerce-ordering select{background:var(--v);color:var(--c);border:1px solid var(--l);border-radius:999px;padding:.6rem 1rem}
.woocommerce-breadcrumb,.wc-block-breadcrumbs{color:var(--s);font-size:var(--wp--preset--font-size--xs)}
.woocommerce-breadcrumb a,.wc-block-breadcrumbs a{color:var(--s)}

/* single product */
.vir-pdp .woocommerce-product-gallery{border-radius:var(--wp--custom--radius--lg);overflow:hidden;background:var(--v)}
.vir-pdp .woocommerce-product-gallery img{border-radius:var(--wp--custom--radius--lg)}
.vir-pdp .flex-control-thumbs{display:flex;gap:8px;margin-top:8px!important}
.vir-pdp .flex-control-thumbs li{border-radius:10px;overflow:hidden;width:72px!important}
.vir-sticky{position:sticky;top:100px}
.vir-pdp .wc-block-components-product-price,.vir-pdp .price{font-family:var(--wp--preset--font-family--display);font-size:var(--wp--preset--font-size--xl)!important;color:var(--c)!important}
.vir-pdp form.cart{display:grid;gap:1rem;margin:0}
.vir-pdp table.variations{border:0;margin:0;width:100%}
.vir-pdp table.variations tr{display:block;margin-bottom:.8rem}
.vir-pdp table.variations th,.vir-pdp table.variations td{display:block;padding:0;text-align:left;border:0;background:none}
.vir-pdp table.variations label{font-size:var(--wp--preset--font-size--xs);text-transform:uppercase;letter-spacing:.14em;color:var(--s);font-weight:600}
.vir-pdp table.variations select{width:100%;background:var(--v);color:var(--c);border:1px solid var(--l);border-radius:12px;padding:.85rem 1rem;margin-top:.5rem}
.vir-pdp .reset_variations{font-size:.8rem;color:var(--s)}
.vir-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:.6rem}
.vir-chips button{font:inherit;cursor:pointer;background:transparent;color:var(--c);border:1px solid var(--l);border-radius:999px;padding:.7rem 1.2rem;font-weight:600;font-size:.9rem;transition:all .2s}
.vir-chips button:hover{border-color:var(--s)}
.vir-chips button.on{background:var(--c);color:var(--n);border-color:var(--c)}
.vir-chips button:disabled{opacity:.3;cursor:not-allowed}
.vir-chips+select{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px}
.vir-pdp .single_variation_wrap .woocommerce-variation-price .price{font-size:var(--wp--preset--font-size--lg)!important}
.vir-pdp .woocommerce-variation-add-to-cart,.vir-pdp form.cart:not(.variations_form){display:flex;gap:10px;align-items:stretch}
.vir-pdp .quantity input{width:72px;height:100%;min-height:52px;background:var(--v);color:var(--c);border:1px solid var(--l);border-radius:999px;text-align:center}
.vir-pdp .single_add_to_cart_button{flex:1;background:var(--r)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:1rem 1.5rem!important;font-weight:600!important;box-shadow:var(--wp--custom--glow);cursor:pointer}
.vir-pdp .single_add_to_cart_button:hover{background:var(--w)!important}
.vir-pdp .single_add_to_cart_button.disabled{opacity:.45}
.vir-perks{border:1px solid var(--l);border-radius:var(--wp--custom--radius--md);padding:1rem 1.25rem!important;background:var(--v)}
.vir-perks p{margin:0;font-size:var(--wp--preset--font-size--sm);display:flex;gap:.6rem}
.vir-perks p::before{content:"✦";color:var(--r)}

/* accordions (core/details) */
.wp-block-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--wp--preset--font-family--display);font-size:var(--wp--preset--font-size--lg)}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";color:var(--r);font-family:var(--wp--preset--font-family--body);font-size:1.6rem;line-height:1;transition:transform .3s}
.wp-block-details[open] summary::after{transform:rotate(45deg)}
.wp-block-details>:not(summary){color:var(--s);margin-top:.75rem}

/* discreet parcel */
.vir-parcel{position:relative;min-height:380px;perspective:1200px;display:grid!important;place-items:center}
.vir-parcel::before{content:"";width:280px;height:190px;border-radius:6px;background:linear-gradient(135deg,#C9A57B,#A9835A);box-shadow:0 60px 80px -30px #000,inset 0 0 0 1px rgba(255,255,255,.08);transform:rotateX(55deg) rotateZ(-30deg);animation:vir-box 10s ease-in-out infinite alternate}
.vir-parcel::after{content:"";position:absolute;width:56px;height:190px;background:rgba(255,255,255,.14);transform:rotateX(55deg) rotateZ(-30deg);animation:vir-box 10s ease-in-out infinite alternate}
@keyframes vir-box{to{transform:rotateX(55deg) rotateZ(-14deg) translateY(-10px)}}
.vir-check{list-style:none;padding:0!important;display:grid;gap:.9rem}
.vir-check li{display:flex;gap:.8rem}
.vir-check li::before{content:"✓";flex:none;width:24px;height:24px;border-radius:50%;background:var(--r);color:#fff;font-size:.8rem;display:grid;place-items:center;margin-top:.1rem}

/* glass card + band */
.vir-glass{background:linear-gradient(160deg,color-mix(in srgb,var(--p) 85%,transparent),var(--v));border:1px solid var(--l);border-radius:var(--wp--custom--radius--lg);position:relative;overflow:hidden}
.vir-band{position:relative;overflow:hidden;border-radius:var(--wp--custom--radius--lg);background:radial-gradient(120% 140% at 100% 0%,var(--r),var(--w) 45%,var(--v) 100%)}

/* checkout (classic shortcode) */
.woocommerce form .form-row label{font-size:var(--wp--preset--font-size--xs);text-transform:uppercase;letter-spacing:.12em;color:var(--s);font-weight:600}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{background:var(--v);color:var(--c);border:1px solid var(--l);border-radius:12px;padding:.95rem 1rem}
.woocommerce form .form-row input.input-text:focus{outline:none;border-color:var(--b)}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:100%;float:none}
.woocommerce-checkout #order_review,.woocommerce-checkout-review-order-table{background:var(--v);border-radius:var(--wp--custom--radius--md)}
.woocommerce table.shop_table{border:1px solid var(--l)!important;border-radius:var(--wp--custom--radius--md)}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--l)!important}
#payment{background:var(--p)!important;border-radius:var(--wp--custom--radius--md)!important}
#payment div.payment_box{background:var(--v)!important;color:var(--c)!important}
#payment div.payment_box::before{display:none}
#place_order{width:100%;background:var(--r)!important;color:#fff!important;border-radius:999px!important;padding:1.1rem!important;font-weight:600!important;box-shadow:var(--wp--custom--glow)}
.woocommerce form .woocommerce-terms-and-conditions-wrapper .form-row label{text-transform:none;letter-spacing:0;font-size:var(--wp--preset--font-size--sm);color:var(--c)}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:var(--v)!important;color:var(--c)!important;border-top-color:var(--r)!important}
.woocommerce-info::before,.woocommerce-message::before{color:var(--r)!important}
.woocommerce .button,.woocommerce a.button{background:var(--r);color:#fff;border-radius:999px}

/* reveal on scroll (added by theme.js, so no-JS shows everything) */
.vir-js .vir-rv{opacity:0;transform:translateY(28px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1)}
.vir-js .vir-rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}.vir-js .vir-rv{opacity:1;transform:none}}

@media (max-width:1000px){ul.products,.wc-block-grid__products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:781px){
  .vir-hero{min-height:auto}
  .vir-cats{grid-template-columns:1fr 1fr;grid-auto-rows:180px}
  .vir-cat{padding:1.1rem!important}
  .vir-cat:nth-child(1){grid-column:span 2;grid-row:span 1;min-height:220px}
  .vir-cat h3{font-size:var(--wp--preset--font-size--lg)!important}
  .vir-cat:nth-child(1) h3{font-size:var(--wp--preset--font-size--xl)!important}
  .vir-sticky{position:static}
  .vir-parcel{min-height:260px}
  .vir-parcel::before,.vir-parcel::after{scale:.8}
  /* swipe row on phone */
  .vir-swipe ul.products,.vir-swipe .wc-block-grid__products{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * clamp(16px,4vw,40px))!important;padding:0 clamp(16px,4vw,40px) 8px!important;scrollbar-width:none}
  .vir-swipe li.product,.vir-swipe .wc-block-grid__product{flex:0 0 72%!important;scroll-snap-align:start}
}

/* footer */
.vir-footer{position:relative;overflow:hidden;isolation:isolate;background:var(--v);border-top:1px solid var(--l)}
.vir-footer::before{content:"";position:absolute;z-index:-1;left:50%;bottom:-40%;width:120%;height:90%;translate:-50% 0;background:radial-gradient(closest-side,color-mix(in srgb,var(--r) 55%,transparent),transparent);filter:blur(40px);animation:vir-breathe 9s ease-in-out infinite alternate}
@keyframes vir-breathe{to{opacity:.55;scale:1.08}}
.vir-foot-cta{margin-bottom:var(--wp--preset--spacing--40)!important}
.vir-foot-cta h2{font-size:var(--wp--preset--font-size--hero);font-weight:400;line-height:.9;margin:0}
.vir-pills{gap:8px!important;margin-bottom:var(--wp--preset--spacing--40)!important}
.vir-pills p{margin:0;border:1px solid var(--l);border-radius:999px;padding:.45rem .95rem;font-size:var(--wp--preset--font-size--xs);color:var(--s);background:color-mix(in srgb,var(--n) 50%,transparent)}
.vir-pills p::before{content:"●";color:var(--r);margin-right:.5rem;font-size:.6em;vertical-align:.2em}
.vir-footer .wp-block-columns{margin-block:var(--wp--preset--spacing--40)!important}
.vir-footer .wp-block-column p{margin:.35rem 0}
.vir-footer .wp-block-column a{color:var(--s);text-decoration:none;transition:color .2s,padding .2s}
.vir-footer .wp-block-column a:hover{color:var(--c);padding-left:.35rem}
.vir-footer h3{font-family:var(--wp--preset--font-family--body);font-size:var(--wp--preset--font-size--xs)!important;text-transform:uppercase;letter-spacing:.16em;color:var(--b);font-weight:600}
.vir-wordmark{max-width:none!important;margin:var(--wp--preset--spacing--30) 0 0!important;text-align:center;font-family:var(--wp--preset--font-family--display);font-style:italic;font-weight:500;font-size:clamp(5rem,24vw,22rem);line-height:1;padding-bottom:.08em;letter-spacing:-.04em;background:linear-gradient(180deg,var(--c) 20%,color-mix(in srgb,var(--c) 25%,transparent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;pointer-events:none}

/* bundle picker (single-attribute products whose options start with a number) */
.vir-bundles{display:grid;gap:10px;margin-top:.6rem}
.vir-bundle{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:var(--c);cursor:pointer;background:var(--v);border:1.5px solid var(--l);border-radius:16px;padding:16px 18px;transition:border-color .2s,background .2s,transform .15s}
.vir-bundle:hover{border-color:var(--s)}
.vir-bundle:active{transform:scale(.99)}
.vir-bundle.on{border-color:var(--r);background:linear-gradient(135deg,color-mix(in srgb,var(--r) 16%,var(--v)),var(--v))}
.vir-bundle i{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--s);display:grid;place-items:center}
.vir-bundle.on i{border-color:var(--r)}
.vir-bundle.on i::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--r)}
.vir-bundle b{display:block;font-size:1.05rem}
.vir-bundle small{color:var(--s);font-size:.82rem}
.vir-bundle .pr{text-align:right;line-height:1.25}
.vir-bundle .pr strong{display:block;font-family:var(--wp--preset--font-family--display);font-size:1.35rem;font-weight:600}
.vir-bundle .pr s{color:var(--s);font-size:.82rem;margin-right:.35rem}
.vir-bundle .save{display:inline-block;margin-top:4px;font-size:.72rem;font-weight:700;color:#fff;background:var(--r);border-radius:999px;padding:2px 8px}
.vir-bundle .tag{display:inline-block;margin-left:.6rem;vertical-align:2px;font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--r);border:1px solid var(--r);border-radius:999px;padding:2px 7px}
.vir-bundles+select{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px}
@media (max-width:781px){.vir-foot-cta h2{font-size:var(--wp--preset--font-size--xxl)}}
.vir-has-bundles .woocommerce-variation-price,.vir-has-bundles .reset_variations{display:none!important}

/* ---- clean pass ---- */
.vir-shop-hd{padding-bottom:var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--40)!important;border-bottom:1px solid var(--l)}
.vir-shop-hd h1{font-size:var(--wp--preset--font-size--xxl);line-height:1.1;margin:.5rem 0 1.25rem}
.vir-shop-hd .vir-pills{margin:0!important}
.woocommerce-breadcrumb a,.wc-block-breadcrumbs a{text-decoration:none}
.woocommerce-breadcrumb a:hover,.wc-block-breadcrumbs a:hover{color:var(--c)}
.vir-pdp h1{margin:.5rem 0 .75rem}
.vir-pdp .wp-block-woocommerce-product-price{text-align:left;margin:0 0 .5rem}
.vir-pdp .wp-block-column:has(.vir-has-bundles) .wp-block-woocommerce-product-price{display:none}
.vir-pdp table.variations,.vir-pdp table.variations tbody,.vir-pdp table.variations tr,.vir-pdp table.variations td{display:block;width:100%}
.vir-pdp .quantity{display:none!important}
.vir-pdp .single_add_to_cart_button{width:100%;min-height:56px;font-size:1rem!important}
.vir-pdp .woocommerce-variation-add-to-cart{margin-top:.5rem}
.vir-pdp .single_variation_wrap{margin-top:.25rem}
.vir-pdp .woocommerce-product-gallery{background:none}
.vir-pdp .wp-block-post-excerpt{margin:0 0 1.5rem}
.vir-pdp .vir-perks{margin-top:1.25rem}
.vir-bundle{padding:18px 20px}
.woocommerce-product-gallery__trigger,.zoomImg{display:none!important}
/* archive: our header replaces WooCommerce's own title, breadcrumb and result count */
.woocommerce-products-header,.wp-block-woocommerce-legacy-template .woocommerce-breadcrumb,.woocommerce-result-count{display:none!important}
.woocommerce-ordering{float:none!important;display:flex;justify-content:flex-end;margin:0 0 1.25rem!important}
.woocommerce-ordering select{font-size:.85rem}
body.tax-product_cat .woocommerce-breadcrumb,body.post-type-archive-product .woocommerce-breadcrumb,body.search .woocommerce-breadcrumb{display:none!important}
