/* WordPress, Gutenberg and WooCommerce integration layer. */
.wp-site-blocks{overflow:clip}.wp-site-blocks>*,.site-main>*{margin-block-start:0}.wp-block-template-part{margin:0}.site-main{min-height:45vh}.admin-bar .site-header{top:32px}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:10000;background:var(--color-accent);color:var(--color-accent-ink);padding:.75rem 1rem;font-weight:800}.skip-link:focus{top:1rem}.wp-block-post-content{margin:0}.wp-block-post-content>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none;margin-left:0;margin-right:0}.wp-block-insightvault-header,.wp-block-insightvault-footer{margin:0!important}

.mobile-menu__links{display:contents}.mobile-menu__links li{display:contents}.product-visual{display:block;overflow:hidden;padding:0}.product-visual img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform var(--dur-long) var(--ease-out),filter var(--dur-short)}.product-card:hover .product-visual img{transform:scale(1.025);filter:saturate(1.08)}.product-card__meta{align-items:flex-start}.product-card__meta>div{width:100%}.product-card__meta h3 a:hover{color:var(--color-accent)}.iv-product-includes{display:grid;gap:.38rem;margin:.9rem 0 0;padding:0;list-style:none;color:var(--color-muted);font-size:var(--text-sm)}.iv-product-includes li{display:flex;gap:.55rem;align-items:flex-start}.iv-product-includes li::before{content:"↳";color:var(--color-accent);font-weight:800}.add-button{display:flex;align-items:center;justify-content:center;text-decoration:none}.add-button.added::after{content:none!important}.added_to_cart.wc-forward{display:block;margin:.65rem 0 0;color:var(--color-accent);font-size:var(--text-sm);font-weight:700}

.iv-page-intro{position:relative;min-height:62rem;padding:11rem var(--page-gutter) 8rem;display:grid;align-items:end;background:radial-gradient(circle at 75% 25%,var(--color-accent-soft),transparent 34%),var(--color-paper);border-bottom:1px solid var(--color-rule);overflow:hidden}.iv-page-intro::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 55%,color-mix(in oklch,var(--color-accent),transparent 88%));pointer-events:none}.iv-page-intro__signal{position:absolute;inset:8rem var(--page-gutter) auto;display:flex;align-items:center;gap:1rem;color:var(--color-muted);font:700 var(--text-xs)/1 var(--font-display);text-transform:uppercase;letter-spacing:.16em}.iv-page-intro__signal i{height:1px;flex:1;background:var(--color-rule)}.iv-page-intro__inner{position:relative;z-index:1;max-width:70rem}.iv-page-intro h1{max-width:13ch;margin:.75rem 0 1.75rem;font:700 clamp(3.75rem,8vw,9rem)/.9 var(--font-display);letter-spacing:-.065em}.iv-page-intro__inner>p:not(.scene-kicker){max-width:48rem;color:var(--color-ink-2);font-size:clamp(1.15rem,2vw,1.6rem)}

.iv-editorial-grid{padding:var(--space-4xl) var(--page-gutter);background:var(--color-paper-2);border-bottom:1px solid var(--color-rule)}.iv-editorial-grid>header{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(18rem,1fr);gap:var(--space-2xl);align-items:end;max-width:var(--page-max);margin:0 auto var(--space-3xl)}.iv-editorial-grid h2{max-width:15ch;font:700 clamp(2.7rem,5.5vw,6.2rem)/.95 var(--font-display);letter-spacing:-.055em}.iv-editorial-grid header p{color:var(--color-muted);font-size:var(--text-md)}.iv-editorial-grid__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:var(--page-max);margin:auto;border-top:1px solid var(--color-rule);border-left:1px solid var(--color-rule)}.iv-editorial-grid__items article{min-height:24rem;padding:var(--space-xl);border-right:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);display:flex;flex-direction:column}.iv-editorial-grid__items span,.iv-kicker{color:var(--color-accent);font:700 var(--text-xs)/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase}.iv-editorial-grid__items h3{margin:auto 0 1rem;font:700 var(--text-2xl)/1 var(--font-display);letter-spacing:-.04em}.iv-editorial-grid__items p{color:var(--color-muted)}

.iv-contact{display:grid;grid-template-columns:minmax(18rem,.75fr) minmax(0,1.25fr);gap:clamp(3rem,8vw,9rem);padding:var(--space-4xl) var(--page-gutter);background:var(--color-paper);border-bottom:1px solid var(--color-rule)}.iv-contact__intro{position:sticky;top:8rem;align-self:start}.iv-contact__intro h2{margin:1rem 0 1.5rem;font:700 clamp(3rem,6vw,6rem)/.92 var(--font-display);letter-spacing:-.06em}.iv-contact__intro>p:not(.scene-kicker){max-width:36rem;margin-bottom:2rem;color:var(--color-muted);font-size:var(--text-md)}.iv-contact-form{padding:clamp(1.5rem,4vw,3.5rem);background:var(--color-paper-2);border:1px solid var(--color-rule)}.iv-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.iv-form-grid label,.iv-consent{display:grid;gap:.55rem;color:var(--color-ink-2);font-size:var(--text-sm);font-weight:650}.iv-form-wide{grid-column:1/-1}.iv-contact-form input,.iv-contact-form select,.iv-contact-form textarea,.woocommerce :is(input,select,textarea),.wc-block-components-text-input input{width:100%;border:1px solid var(--color-rule-2)!important;border-radius:0!important;background:var(--color-paper)!important;color:var(--color-ink)!important;padding:.9rem 1rem!important;outline:0}.iv-contact-form textarea{resize:vertical}.iv-contact-form :is(input,select,textarea):focus,.woocommerce :is(input,select,textarea):focus{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px color-mix(in oklch,var(--color-accent),transparent 72%)}.iv-contact-form [aria-invalid="true"]{border-color:var(--color-error)!important}.iv-consent{grid-template-columns:auto 1fr;align-items:start;margin:1.5rem 0}.iv-consent input{width:1.1rem!important;height:1.1rem;margin:.15rem 0 0;padding:0!important;accent-color:var(--color-accent)}.iv-honeypot{position:absolute!important;left:-9999px!important}.iv-form-message{margin-bottom:1.5rem;padding:1rem;border-left:3px solid}.iv-form-message--success{border-color:var(--color-success);background:var(--color-success-soft)}.iv-form-message--error{border-color:var(--color-error);background:var(--color-error-soft)}

.iv-shop-page,.iv-product-page,.iv-commerce-page,.iv-document{padding:12rem var(--page-gutter) var(--space-4xl);background:var(--color-paper);color:var(--color-ink)}.iv-shop-heading,.iv-product-hero,.iv-commerce-page>*{max-width:var(--content-max)!important}.iv-shop-heading{margin-bottom:var(--space-2xl)!important}.iv-shop-heading h1,.iv-commerce-title,.iv-document>h1{margin:.8rem 0 1.25rem;font:700 clamp(3.6rem,7vw,8rem)/.9 var(--font-display);letter-spacing:-.065em}.iv-shop-heading>p:last-child,.iv-commerce-intro{max-width:48rem;color:var(--color-muted);font-size:var(--text-md)}.iv-shop-page .wp-block-woocommerce-product-collection{margin-top:var(--space-2xl)}.iv-shop-page .wc-block-product-template{gap:1px!important;background:var(--color-rule);border:1px solid var(--color-rule)}.iv-shop-page .wc-block-product{margin:0!important;padding:0 0 1.25rem!important;background:var(--color-paper-2)}.iv-shop-page .wc-block-components-product-image{margin:0 0 1.5rem!important;overflow:hidden}.iv-shop-page .wc-block-components-product-image img{aspect-ratio:1;object-fit:cover}.iv-shop-page .wc-block-product>:not(.wc-block-components-product-image){margin-left:1.25rem!important;margin-right:1.25rem!important}.iv-shop-page .wp-block-post-title{font-family:var(--font-display);font-weight:700}.wc-block-components-product-price,.price{color:var(--color-accent)!important;font-weight:800}.wp-block-button__link,.wc-block-components-button,.single_add_to_cart_button,.checkout-button{border:1px solid var(--color-accent)!important;border-radius:0!important;background:var(--color-accent)!important;color:var(--color-accent-ink)!important;font-weight:800!important;transition:transform var(--dur-short),background var(--dur-short)}.wp-block-button__link:hover,.wc-block-components-button:hover,.single_add_to_cart_button:hover{transform:translateY(-2px);background:var(--color-ink)!important}

.iv-product-hero{gap:clamp(2.5rem,6vw,7rem);align-items:flex-start}.iv-product-page :is(.woocommerce-product-gallery,.iv-product-featured-image) img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--color-paper-2)}.iv-product-featured-image{margin:0}.iv-product-summary{position:sticky;top:8rem}.iv-product-summary h1{margin:1rem 0 1.25rem;font:700 clamp(3rem,5.5vw,6.5rem)/.9 var(--font-display);letter-spacing:-.06em}.iv-product-summary .iv-product-includes{margin:1.5rem 0;font-size:var(--text-base)}.iv-product-summary .wp-block-post-excerpt{color:var(--color-muted);font-size:var(--text-md)}.iv-product-trust{margin-top:1.5rem!important;padding:1rem!important;border:1px solid var(--color-rule);color:var(--color-muted);font-size:var(--text-sm)}.iv-product-page .wp-block-woocommerce-product-details{margin-top:var(--space-3xl)}.woocommerce-Tabs-panel{max-width:58rem;padding:2rem 0!important;color:var(--color-ink-2)}.woocommerce-Tabs-panel h2,.woocommerce-Tabs-panel h3{margin:2rem 0 1rem;font-family:var(--font-display);color:var(--color-ink)}.woocommerce-Tabs-panel ul{padding-left:1.2rem}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;border-bottom:1px solid var(--color-rule)}.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;border-radius:0!important;background:transparent!important;color:var(--color-muted)!important}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{color:var(--color-ink)!important;border-bottom:2px solid var(--color-accent)!important}

.iv-commerce-page{max-width:100%!important}.iv-commerce-page .wp-block-post-content{max-width:var(--content-max);margin:var(--space-2xl) auto 0}.wc-block-cart,.wc-block-checkout{color:var(--color-ink)}.wc-block-components-sidebar-layout{gap:clamp(2rem,5vw,5rem)}.wc-block-cart-items,.wc-block-components-sidebar,.wc-block-checkout__main{border-color:var(--color-rule)!important}.wc-block-components-sidebar{padding:1.5rem!important;background:var(--color-paper-2)}.wc-block-components-product-name{color:var(--color-ink)!important;font-family:var(--font-display);font-weight:700}.wc-block-components-totals-wrapper,.wc-block-components-order-summary-item{border-color:var(--color-rule)!important}.wc-block-components-radio-control-accordion-option{border-color:var(--color-rule)!important;background:var(--color-paper-2)!important}.wc-block-components-checkout-step__heading{font-family:var(--font-display)}.wc-block-components-notice-banner{border-radius:0!important}.wc-block-components-validation-error{color:var(--color-error)!important}

.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--color-accent)!important;background:var(--color-paper-2)!important;color:var(--color-ink)!important}.woocommerce-message::before,.woocommerce-info::before{color:var(--color-accent)!important}.star-rating span::before,.stars a{color:var(--color-accent)!important}.woocommerce-Reviews{max-width:58rem}.woocommerce #review_form #respond textarea{min-height:9rem}.comment-form-rating{display:flex;gap:1rem;align-items:center}

/* Named WooCommerce review — mirrors the simple five-star proof pattern on the home page. */
.woocommerce #reviews #comments ol.commentlist{display:grid;gap:var(--space-md);margin:0;padding:0;list-style:none}.woocommerce #reviews #comments ol.commentlist li{margin:0}.woocommerce #reviews #comments ol.commentlist li .comment_container{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-md);align-items:start}.iv-review-avatar{display:grid;width:3.25rem;height:3.25rem;place-items:center;border-radius:50%;background:var(--color-accent-soft);color:var(--color-accent-deep);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700}.woocommerce #reviews #comments ol.commentlist li .comment-text{display:grid;gap:var(--space-sm);min-width:0;margin:0!important;padding:var(--space-lg)!important;border:var(--rule-hair) solid var(--color-rule)!important;border-radius:var(--radius-md)!important;background:var(--color-paper-raised)}.woocommerce #reviews .star-rating{position:static!important;float:none!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;color:var(--color-accent-deep)!important;line-height:1!important}.woocommerce #reviews .star-rating::before{content:none!important}.woocommerce #reviews .star-rating span{position:static!important;float:none!important;width:auto!important;height:auto!important;padding:0!important;overflow:visible!important;font-size:0!important}.woocommerce #reviews .star-rating span::before{position:static!important;content:"★★★★★"!important;font-family:var(--font-body)!important;font-size:var(--text-md)!important;letter-spacing:.14em!important;color:var(--color-accent-deep)!important}.woocommerce #reviews .meta{margin:0!important;color:var(--color-muted)!important}.woocommerce #reviews .woocommerce-review__author{color:var(--color-ink)!important;font-family:var(--font-display);font-size:var(--text-base)}.iv-review-role{display:block;margin-top:var(--space-3xs);color:var(--color-neutral);font-size:var(--text-sm)}.woocommerce #reviews .description p{margin:0;color:var(--color-ink-2);line-height:1.6}

@media(max-width:600px){.woocommerce #reviews #comments ol.commentlist li .comment_container{grid-template-columns:1fr}.iv-review-avatar{width:3rem;height:3rem}.woocommerce #reviews #comments ol.commentlist li .comment-text{padding:var(--space-md)!important}}

.iv-product-detail{display:grid;gap:var(--space-3xl);font-size:var(--text-md)}.iv-product-detail>section:first-child{max-width:54rem}.iv-product-detail h2{font:700 clamp(2.8rem,5vw,5.7rem)/.94 var(--font-display);letter-spacing:-.055em}.iv-product-detail h3{font:700 var(--text-xl)/1 var(--font-display);letter-spacing:-.035em}.iv-product-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--color-rule);border:1px solid var(--color-rule)}.iv-product-detail-grid>section{padding:clamp(1.5rem,4vw,3rem);background:var(--color-paper-2)}.iv-product-detail ul{display:grid;gap:.8rem;margin:1.25rem 0 0;padding:0;list-style:none}.iv-product-detail li{display:flex;gap:.7rem;color:var(--color-ink-2)}.iv-product-detail li::before{content:"↳";color:var(--color-accent);font-weight:800}.iv-product-workflow,.iv-product-support{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--color-rule)}.iv-product-support{border-left:4px solid var(--color-accent);background:var(--color-paper-2)}.iv-product-support a{color:var(--color-accent);text-decoration:underline}.iv-legal-section{max-width:58rem!important;margin:0 auto!important;padding:3rem 0;border-bottom:1px solid var(--color-rule)}.iv-legal-section:first-of-type{padding-top:6rem}.iv-legal-section:last-child{padding-bottom:7rem;border-bottom:0}.iv-legal-section h2{margin:0 0 1.25rem;font:700 clamp(2rem,4vw,3.4rem)/1 var(--font-display);letter-spacing:-.045em}.iv-legal-section p,.iv-legal-section li{color:var(--color-ink-2);font-size:1.06rem;line-height:1.75}.iv-legal-section ul{display:grid;gap:.65rem;padding-left:1.25rem}.iv-document{max-width:100%!important}.iv-document>*{max-width:var(--content-max);margin-inline:auto}

@media(max-width:900px){.iv-page-intro{min-height:48rem}.iv-editorial-grid>header,.iv-contact{grid-template-columns:1fr}.iv-editorial-grid__items{grid-template-columns:1fr}.iv-editorial-grid__items article{min-height:17rem}.iv-contact__intro,.iv-product-summary{position:static}.iv-form-grid{grid-template-columns:1fr}.iv-form-wide{grid-column:auto}.iv-product-hero{flex-direction:column}.iv-product-hero>.wp-block-column{flex-basis:auto!important;width:100%}.iv-product-detail-grid{grid-template-columns:1fr}}
@media(max-width:782px){.admin-bar .site-header{top:46px}.iv-shop-page,.iv-product-page,.iv-commerce-page,.iv-document{padding-top:9rem}}
@media(max-width:600px){.iv-page-intro{min-height:42rem;padding-top:9rem;padding-bottom:5rem}.iv-page-intro__signal{top:7rem}.iv-editorial-grid,.iv-contact{padding-block:5rem}.iv-contact-form{padding:1rem}.iv-commerce-page,.iv-shop-page,.iv-product-page{padding-left:1rem;padding-right:1rem}}

/* Native-block markup compatibility and narrow-screen hardening. */
:root{--page-max:var(--page-width);--content-max:72rem;--color-rule-2:var(--color-rule-strong);--text-xl:1.55rem;--text-2xl:2.2rem;--color-success:oklch(49% .13 151);--color-success-soft:oklch(94% .04 151);--color-error-soft:oklch(95% .045 28)}
.product-card__visual{display:block;overflow:hidden;padding:0}.product-card__visual img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;transition:transform var(--dur-long) var(--ease-out),filter var(--dur-short)}.product-card:hover .product-card__visual img{transform:scale(1.025);filter:saturate(1.08)}.product-card__button{display:flex;align-items:center;justify-content:center;text-decoration:none}.product-card__button.added::after{content:none!important}
.iv-page-intro{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.iv-page-intro>*{position:relative;z-index:1}.iv-page-intro>p:not(.iv-kicker){max-width:48rem;color:var(--color-ink-2);font-size:clamp(1.15rem,2vw,1.6rem)}
.iv-editorial-grid>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:var(--page-max);margin:auto;border-top:1px solid var(--color-rule);border-left:1px solid var(--color-rule)}.iv-editorial-grid>div article{min-height:24rem;padding:var(--space-xl);border-right:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);display:flex;flex-direction:column}.iv-editorial-grid>div span{color:var(--color-accent);font:700 var(--text-xs)/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase}.iv-editorial-grid>div h3{margin:auto 0 1rem;font:700 var(--text-2xl)/1 var(--font-display);letter-spacing:-.04em}.iv-editorial-grid>div p{color:var(--color-muted)}
.iv-contact>header{position:sticky;top:8rem;align-self:start}.iv-contact>header h2{margin:1rem 0 1.5rem;font:700 clamp(3rem,6vw,6rem)/.92 var(--font-display);letter-spacing:-.06em}.iv-contact>header>p:not(.iv-kicker){max-width:36rem;margin-bottom:2rem;color:var(--color-muted);font-size:var(--text-md)}.iv-contact>form{min-width:0;padding:clamp(1.5rem,4vw,3.5rem);background:var(--color-paper-2);border:1px solid var(--color-rule)}.iv-contact :is(input,select,textarea),.woocommerce :is(input,select,textarea),.wc-block-components-text-input input{width:100%;border:1px solid var(--color-rule-2)!important;border-radius:0!important;background:var(--color-paper)!important;color:var(--color-ink)!important;padding:.9rem 1rem!important;outline:0}.iv-contact textarea{resize:vertical}.iv-contact :is(input,select,textarea):focus{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px color-mix(in oklch,var(--color-accent),transparent 72%)}.iv-form-status{margin:0 0 1.5rem;padding:1rem;border-left:3px solid;align-self:start}.iv-form-status.is-success{border-color:var(--color-success);background:var(--color-success-soft)}.iv-form-status.is-error{border-color:var(--color-error);background:var(--color-error-soft)}.iv-contact>form>button{margin-top:1.5rem;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink);padding:1rem 1.3rem;font-weight:800;cursor:pointer}
.cart-line .remove,.cart-dialog__total>a,.cart-dialog__empty a{display:flex;align-items:center;justify-content:center;text-decoration:none}.cart-dialog__total>a{width:100%;border:0;background:var(--color-accent);color:var(--color-accent-ink);padding:1rem;font-weight:800}.contact-trigger{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.iv-cart-page .woocommerce-cart-form,.iv-checkout-page form.checkout{margin-top:2rem}.iv-cart-page table.shop_table,.iv-checkout-page table.shop_table{border-collapse:collapse;border:1px solid var(--color-rule);border-radius:0;background:var(--color-paper-raised)}.iv-cart-page table.shop_table th,.iv-cart-page table.shop_table td,.iv-checkout-page table.shop_table th,.iv-checkout-page table.shop_table td{padding:1rem;border-color:var(--color-rule)}.iv-cart-page .product-thumbnail img{width:6rem;aspect-ratio:1;object-fit:cover}.iv-cart-page .cart-collaterals{margin-top:3rem;padding:clamp(1.25rem,3vw,2.5rem);background:var(--color-paper-2);border:1px solid var(--color-rule)}.iv-cart-page .cart_totals{float:none!important;width:100%!important}.iv-checkout-page .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;width:100%}.iv-checkout-page .col2-set .col-1,.iv-checkout-page .col2-set .col-2{float:none;width:auto}.iv-checkout-page #order_review_heading{margin-top:3rem}.iv-checkout-page #payment{border-radius:0;background:var(--color-paper-2)}.iv-checkout-page #payment div.payment_box{background:var(--color-accent-soft)}.iv-checkout-page #payment div.payment_box::before{border-bottom-color:var(--color-accent-soft)}
.iv-commerce-page .woocommerce-info::before,.iv-commerce-page .woocommerce-message::before,.iv-commerce-page .woocommerce-error::before{content:none!important;display:none!important}.iv-commerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){display:block;margin:2rem 0!important;padding:1rem 1.25rem!important;border:1px solid var(--color-rule)!important;border-left:4px solid var(--color-accent)!important;background:var(--color-paper-raised)!important;color:var(--color-ink)!important;list-style:none}.iv-commerce-page :is(.woocommerce-info,.woocommerce-message) a{font-weight:800;text-decoration:underline;text-underline-offset:.18em}.iv-commerce-page .woocommerce form .form-row{display:grid;gap:.45rem;margin:0 0 1rem;padding:0}.iv-commerce-page .woocommerce form .form-row label{font-size:var(--text-sm);font-weight:700}.iv-commerce-page .woocommerce form .form-row .required{color:var(--color-secondary)}.iv-commerce-page .woocommerce :is(input[type=checkbox],input[type=radio]){width:auto!important;height:auto!important;padding:0!important;accent-color:var(--color-accent)}.iv-commerce-page .woocommerce :is(.button,button.button,input.button){display:inline-flex!important;align-items:center;justify-content:center;border:1px solid var(--color-accent)!important;border-radius:0!important;background:var(--color-accent)!important;color:var(--color-accent-ink)!important;padding:.9rem 1.2rem!important;font-weight:800!important;cursor:pointer}.iv-commerce-page .woocommerce .quantity .qty{width:5rem!important}.iv-commerce-page .woocommerce table.shop_table{width:100%;text-align:left}.iv-commerce-page .woocommerce table.shop_table th{font-family:var(--font-display)}.iv-commerce-page .woocommerce a.remove{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--color-rule);border-radius:50%;color:var(--color-error)!important;text-decoration:none}.iv-commerce-page .woocommerce .cart-collaterals .wc-proceed-to-checkout{padding:1rem 0 0}.iv-commerce-page .woocommerce .checkout-button{display:flex!important;justify-content:center;padding:1rem!important;text-decoration:none}.iv-checkout-page .woocommerce-billing-fields h3,.iv-checkout-page .woocommerce-additional-fields h3,.iv-checkout-page #order_review_heading,.iv-cart-page .cart_totals h2{margin:0 0 1.25rem;font:700 clamp(1.8rem,3vw,2.6rem)/1 var(--font-display);letter-spacing:-.04em}.iv-checkout-page .woocommerce-additional-fields textarea{min-height:10rem}.iv-checkout-page #order_review{padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--color-rule);background:var(--color-paper-raised)}.iv-checkout-page #payment{margin-top:1.5rem;padding:1.25rem;border:1px solid var(--color-rule);border-radius:0;background:var(--color-paper-2)}.iv-checkout-page #payment ul.payment_methods{margin:0;padding:0 0 1rem;list-style:none}.iv-checkout-page #payment li{display:grid;grid-template-columns:auto 1fr;gap:.4rem .75rem;align-items:center}.iv-checkout-page #payment li>div{grid-column:1/-1}.iv-checkout-page #payment div.payment_box{padding:1rem;background:var(--color-accent-soft)}.iv-checkout-page #payment div.payment_box::before{content:none}.iv-checkout-page .place-order{display:grid!important;gap:1rem}.iv-checkout-page #place_order{width:100%}
.iv-checkout-page .woocommerce-form-coupon-toggle{display:none!important}
@media(max-width:900px){.iv-editorial-grid>div{grid-template-columns:1fr}.iv-editorial-grid>div article{min-height:17rem}.iv-contact>header{position:static}}
@media(max-width:760px){.iv-checkout-page .col2-set{grid-template-columns:1fr}.iv-cart-page table.shop_table_responsive td{padding:.9rem}.iv-cart-page .product-thumbnail{display:none}}
@media(max-width:600px){.iv-contact>form{padding:1rem}.iv-page-intro h1,.iv-shop-heading h1,.iv-commerce-title,.iv-document>h1{overflow-wrap:anywhere}.iv-editorial-grid>header{gap:1.5rem}.iv-product-detail{font-size:1rem}}

/* WooCommerce feedback, product-action spacing and checkout layout hardening. */
.woocommerce-notices-wrapper{
  width:100%;
  max-width:var(--content-max);
  margin:0 auto 2rem;
}
.wc-block-components-notice-banner{
  display:flex!important;
  align-items:flex-start!important;
  gap:.8rem!important;
  min-height:0!important;
  margin:0 0 2rem!important;
  padding:1rem 1.2rem!important;
  border:1px solid var(--color-rule)!important;
  border-left:4px solid var(--color-accent)!important;
  border-radius:0!important;
  background:var(--color-paper-raised)!important;
  color:var(--color-ink)!important;
}
.wc-block-components-notice-banner.is-success{
  border-left-color:var(--color-success)!important;
  background:var(--color-success-soft)!important;
}
.wc-block-components-notice-banner>svg{
  display:block!important;
  flex:0 0 1.35rem!important;
  width:1.35rem!important;
  min-width:1.35rem!important;
  max-width:1.35rem!important;
  height:1.35rem!important;
  min-height:1.35rem!important;
  max-height:1.35rem!important;
  margin:.1rem 0 0!important;
  fill:currentColor!important;
  stroke:none!important;
}
.wc-block-components-notice-banner__content{
  display:flex!important;
  flex:1 1 auto!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.65rem 1.25rem!important;
  min-width:0!important;
  line-height:1.5!important;
}
.wc-block-components-notice-banner__content .button{
  flex:0 0 auto;
  margin:0!important;
  padding:.4rem 0!important;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  background:transparent!important;
  color:inherit!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.iv-product-page :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{
  content:none!important;
  display:none!important;
}
.iv-product-page :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){
  margin:0 auto 2rem!important;
  padding:1rem 1.2rem!important;
  border:1px solid var(--color-rule)!important;
  border-left:4px solid var(--color-accent)!important;
  background:var(--color-paper-raised)!important;
  color:var(--color-ink)!important;
}
.iv-product-summary .wp-block-post-excerpt{
  margin-bottom:1.35rem!important;
}
.iv-product-summary .wp-block-woocommerce-add-to-cart-form{
  margin-top:0!important;
  margin-bottom:0!important;
}
.iv-product-summary form.cart{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:.75rem!important;
  margin:0!important;
}
.iv-product-summary form.cart .quantity{
  float:none!important;
  margin:0!important;
}
.iv-product-summary .single_add_to_cart_button{
  min-height:3.25rem;
  padding:.85rem 1.4rem!important;
}
.iv-cart-page .woocommerce-cart-form table.shop_table td,
.iv-cart-page .woocommerce-cart-form table.shop_table th{
  vertical-align:middle!important;
}
.iv-cart-page .woocommerce-cart-form tr.cart_item{
  height:auto!important;
}
.iv-cart-page .product-remove{
  width:3rem!important;
  text-align:center;
}
.iv-cart-page .product-remove :is(a,button){
  display:grid!important;
  width:2rem!important;
  height:2rem!important;
  margin:auto!important;
  place-items:center!important;
  border:1px solid var(--color-rule)!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--color-error)!important;
  line-height:1!important;
  cursor:pointer;
}
.iv-cart-page .product-thumbnail{
  width:7.5rem!important;
}
.iv-cart-page .product-thumbnail img{
  display:block!important;
  width:6rem!important;
  min-width:6rem!important;
  max-width:6rem!important;
  height:6rem!important;
  min-height:6rem!important;
  max-height:6rem!important;
  aspect-ratio:1!important;
  object-fit:cover!important;
}
.iv-cart-page tr.cart_item .product-quantity .quantity{
  display:none!important;
}
.iv-cart-page tr.cart_item .product-quantity::after{
  content:"1";
  display:inline-flex;
  min-width:2.5rem;
  min-height:2.5rem;
  align-items:center;
  justify-content:center;
  border:1px solid var(--color-rule);
  background:var(--color-paper);
  font-weight:700;
}
.iv-cart-page td.actions{
  padding-top:1.5rem!important;
  text-align:right!important;
}
.iv-checkout-page .woocommerce,
.iv-checkout-page form.checkout,
.iv-checkout-page #customer_details,
.iv-checkout-page #order_review,
.iv-checkout-page #order_review_heading{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.iv-checkout-page #customer_details{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  gap:clamp(2rem,5vw,4rem)!important;
}
.iv-checkout-page #customer_details>.col-1,
.iv-checkout-page #customer_details>.col-2{
  float:none!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.iv-checkout-page .woocommerce-billing-fields__field-wrapper{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.25rem;
}
.iv-checkout-page .woocommerce-billing-fields__field-wrapper .form-row{
  float:none!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
.iv-checkout-page .woocommerce-billing-fields__field-wrapper .form-row-wide{
  grid-column:1/-1;
}
.iv-checkout-page #order_review_heading{
  margin-top:3.5rem!important;
}
.woocommerce .blockUI.blockOverlay{
  background:color-mix(in oklch,var(--color-paper),transparent 18%)!important;
  opacity:.7!important;
}
.woocommerce .blockUI.blockOverlay::before,
.woocommerce .loader::before{
  width:1.25rem!important;
  height:1.25rem!important;
  margin:-.625rem 0 0 -.625rem!important;
  border:2px solid var(--color-rule-2)!important;
  border-top-color:var(--color-accent)!important;
  border-radius:50%!important;
  background:none!important;
  font-size:0!important;
  animation:iv-woo-spin .7s linear infinite!important;
}
@keyframes iv-woo-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){
  .iv-checkout-page #customer_details{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  .iv-checkout-page .woocommerce-billing-fields__field-wrapper{grid-template-columns:1fr}
  .iv-checkout-page .woocommerce-billing-fields__field-wrapper .form-row{grid-column:1/-1}
  .wc-block-components-notice-banner__content{display:block!important}
  .wc-block-components-notice-banner__content .button{display:inline-block!important;margin-top:.5rem!important}
  .iv-cart-page .woocommerce-cart-form table.shop_table{width:100%!important;min-width:0!important;table-layout:fixed!important}
  .iv-cart-page .woocommerce-cart-form :is(.product-thumbnail,.product-price,.product-quantity){display:none!important}
  .iv-cart-page .woocommerce-cart-form .product-remove{width:2.75rem!important;padding-inline:.35rem!important}
  .iv-cart-page .woocommerce-cart-form .product-name{width:auto!important;overflow-wrap:anywhere}
  .iv-cart-page .woocommerce-cart-form .product-subtotal{width:5.5rem!important;text-align:right!important}
  .iv-cart-page .woocommerce-cart-form td.actions{display:none!important}
}

/* Hallmark · component: add-to-cart CTA · genre: modern-minimal · theme: studied-DNA
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass (46–50) · pre-emit critique: P5 H5 E5 S5 R5 V4
 */
.product-card__button,
.iv-shop-page .wc-block-components-product-button__button,
.iv-product-summary .single_add_to_cart_button{
  position:relative;
  display:inline-flex!important;
  min-width:0;
  min-height:3.25rem;
  align-items:center;
  justify-content:space-between!important;
  gap:var(--space-md);
  padding:var(--space-sm) var(--space-lg)!important;
  border:var(--rule-hair) solid var(--color-ink)!important;
  border-radius:var(--radius-pill)!important;
  background:var(--color-ink)!important;
  box-shadow:var(--shadow-whisper);
  color:var(--color-paper-raised)!important;
  cursor:pointer;
  font-family:var(--font-body);
  font-size:var(--text-base)!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:start!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out),opacity var(--dur-short) var(--ease-out);
}
.product-card__button,
.iv-shop-page .wc-block-components-product-button__button{
  width:100%!important;
}
.iv-shop-page .wc-block-components-product-button{
  width:auto!important;
}
.iv-product-summary .single_add_to_cart_button{
  flex:1 1 13rem;
  width:auto!important;
}
.product-card__button::after,
.iv-shop-page .wc-block-components-product-button__button::after,
.iv-product-summary .single_add_to_cart_button::after{
  content:"→"!important;
  position:static!important;
  display:inline-grid!important;
  width:1.75rem!important;
  height:1.75rem!important;
  flex:0 0 1.75rem;
  place-items:center;
  margin:0!important;
  border:var(--rule-hair) solid currentColor!important;
  border-radius:50%!important;
  background:transparent!important;
  font-size:var(--text-sm)!important;
  line-height:1!important;
  opacity:.92!important;
  transform:none;
}
@media (hover:hover) and (pointer:fine){
  .product-card__button:hover,
  .iv-shop-page .wc-block-components-product-button__button:hover,
  .iv-product-summary .single_add_to_cart_button:hover{
    border-color:var(--color-accent)!important;
    background:var(--color-accent)!important;
    color:var(--color-accent-ink)!important;
    transform:translateY(calc(var(--rule-hair) * -1));
  }
}
.product-card__button.is-hover,
.iv-shop-page .wc-block-components-product-button__button.is-hover,
.iv-product-summary .single_add_to_cart_button.is-hover{
  border-color:var(--color-accent)!important;
  background:var(--color-accent)!important;
  color:var(--color-accent-ink)!important;
  transform:translateY(calc(var(--rule-hair) * -1));
}
.product-card__button:focus-visible,
.product-card__button.is-focus,
.iv-shop-page .wc-block-components-product-button__button:focus-visible,
.iv-shop-page .wc-block-components-product-button__button.is-focus,
.iv-product-summary .single_add_to_cart_button:focus-visible,
.iv-product-summary .single_add_to_cart_button.is-focus{
  outline:var(--rule-strong) solid var(--color-accent)!important;
  outline-offset:var(--space-2xs)!important;
}
.product-card__button:active,
.product-card__button.is-active,
.iv-shop-page .wc-block-components-product-button__button:active,
.iv-shop-page .wc-block-components-product-button__button.is-active,
.iv-product-summary .single_add_to_cart_button:active,
.iv-product-summary .single_add_to_cart_button.is-active{
  transform:translateY(var(--rule-hair));
}
.product-card__button:is(.disabled,[aria-disabled="true"]),
.iv-shop-page .wc-block-components-product-button__button:is(.disabled,[aria-disabled="true"],:disabled),
.iv-product-summary .single_add_to_cart_button:is(.disabled,[aria-disabled="true"],:disabled){
  cursor:not-allowed!important;
  opacity:.5!important;
  pointer-events:none;
}
.product-card__button.loading,
.iv-shop-page .wc-block-components-product-button__button.loading,
.iv-product-summary .single_add_to_cart_button.loading{
  cursor:progress!important;
}
.product-card__button.loading::after,
.iv-shop-page .wc-block-components-product-button__button.loading::after,
.iv-product-summary .single_add_to_cart_button.loading::after{
  content:""!important;
  width:1rem!important;
  height:1rem!important;
  flex-basis:1rem;
  border:var(--rule-strong) solid currentColor!important;
  border-inline-end-color:transparent!important;
  animation:iv-woo-spin .8s linear infinite!important;
}
.product-card__button:is(.is-error,[data-state="error"]),
.iv-shop-page .wc-block-components-product-button__button:is(.is-error,[data-state="error"]),
.iv-product-summary .single_add_to_cart_button:is(.is-error,[data-state="error"]){
  border-color:var(--color-error)!important;
  background:var(--color-paper-raised)!important;
  color:var(--color-error)!important;
}
.product-card__button:is(.is-error,[data-state="error"])::after,
.iv-shop-page .wc-block-components-product-button__button:is(.is-error,[data-state="error"])::after,
.iv-product-summary .single_add_to_cart_button:is(.is-error,[data-state="error"])::after{
  content:"!"!important;
}
.product-card__button:is(.added,.is-success,[data-state="success"]),
.iv-shop-page .wc-block-components-product-button__button:is(.added,.is-success,[data-state="success"]),
.iv-product-summary .single_add_to_cart_button:is(.added,.is-success,[data-state="success"]){
  border-color:var(--color-success)!important;
  background:var(--color-success-soft)!important;
  color:var(--color-ink)!important;
}
.product-card__button:is(.added,.is-success,[data-state="success"])::after,
.iv-shop-page .wc-block-components-product-button__button:is(.added,.is-success,[data-state="success"])::after,
.iv-product-summary .single_add_to_cart_button:is(.added,.is-success,[data-state="success"])::after{
  content:"✓"!important;
  border-color:var(--color-success)!important;
  color:var(--color-success)!important;
}
.product-card .added_to_cart.wc-forward{
  display:inline-flex!important;
  width:100%;
  min-height:2.75rem;
  align-items:center;
  justify-content:center;
  margin:calc(var(--space-xs) * -1) 0 0!important;
  padding:var(--space-xs) var(--space-lg)!important;
  border:var(--rule-hair) solid var(--color-rule-strong);
  border-radius:var(--radius-pill);
  background:var(--color-paper-raised);
  color:var(--color-ink)!important;
  font-size:var(--text-sm);
  font-weight:700;
  line-height:1.2;
  text-decoration:none!important;
  white-space:nowrap;
}
.product-card .added_to_cart.wc-forward:focus-visible{
  outline:var(--rule-strong) solid var(--color-focus);
  outline-offset:var(--space-2xs);
}
@media (prefers-reduced-motion:reduce){
  .product-card__button,
  .iv-shop-page .wc-block-components-product-button__button,
  .iv-product-summary .single_add_to_cart_button{
    transition-property:background-color,color,border-color,opacity!important;
  }
  .product-card__button.loading::after,
  .iv-shop-page .wc-block-components-product-button__button.loading::after,
  .iv-product-summary .single_add_to_cart_button.loading::after{
    animation-duration:1.2s!important;
    animation-iteration-count:infinite!important;
  }
}
