/* Shared shape and alignment tokens across the storefront. */
:root{--radius:10px;--control-height:50px}
body :is(a.button,button.button,input.button,.wp-element-button,.wp-block-button__link,.shop-link,.inv-shop-tools button,.inv-contact-form button,button[type=submit],input[type=submit],input[type=button],input[type=reset]){
 border-radius:var(--radius)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;vertical-align:middle;min-height:var(--control-height)!important;height:auto!important;padding:12px 20px!important;line-height:24px!important;gap:10px;box-sizing:border-box;font-family:var(--font-body);font-weight:600;white-space:normal;text-decoration:none;text-indent:0
}
body :is(input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],input[type=datetime-local],input[type=time],textarea,select,.select2-container .select2-selection){border-radius:var(--radius)!important}
body :is(.category-card,.about-stamp,.info-grid article,.company-cta,.inv-category-list,.empty-help,.woocommerce ul.products li.product,.woocommerce form.login,.woocommerce form.register,.woocommerce table.shop_table,.woocommerce .cart_totals,#customer_details,#order_review,.inv-order-success,.inv-mini-cart,.woocommerce ul.order_details,.woocommerce-customer-details address,.woocommerce-message,.woocommerce-info,.woocommerce-error,.inv-form-error,.inv-form-success,.inv-quantity-error,.woocommerce-checkout #payment div.payment_box){border-radius:var(--radius)!important}
body :is(.category-image,.category-image img,.about-visual>img,.gallery img,.company-split>img,.offer-detail img,.woocommerce-product-gallery__image,.woocommerce-product-gallery img,.woocommerce ul.products li.product img,.woocommerce-cart .product-thumbnail img,.inv-mini-content img){border-radius:var(--radius)!important}
.category-image{overflow:hidden}.category-card{overflow:hidden}.category-card .category-image,.category-card .category-image img{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}
body :is(.inv-shop-categories a,.mobile-menu summary,.inv-mini-close,.woocommerce a.remove){border-radius:var(--radius)!important}
body .woocommerce form.checkout #order_review_heading{border-radius:var(--radius) var(--radius) 0 0}
body .woocommerce form.checkout #order_review{border-top-left-radius:0!important;border-top-right-radius:0!important}
.shop-link span{margin-left:0}.hero-buttons{align-items:stretch}.hero-buttons .button{min-width:160px}
.inv-shop-tools form{align-items:stretch}.inv-shop-tools button{flex-shrink:0}.inv-category-filter{align-items:center}
body .woocommerce .woocommerce-message .button,body .woocommerce .woocommerce-info .button{display:inline-flex!important}
body .woocommerce .button:after{position:static;margin:0;line-height:1}.woocommerce a.added_to_cart{font-size:12px;text-align:center;display:block;padding:10px}
.inv-mini-close,.woocommerce a.remove{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1}
.woocommerce .quantity .qty{text-align:center}.woocommerce .form-row input.input-text{width:100%;min-width:0}
@media(max-width:580px){body :is(a.button,button.button,.wp-element-button,.shop-link,.inv-shop-tools button){padding-left:14px!important;padding-right:14px!important}.hero-buttons{flex-wrap:wrap}.hero-buttons .button{flex:1;min-width:130px}.inv-mini-content .buttons .button{font-size:12px;padding-left:8px!important;padding-right:8px!important}.woocommerce form.checkout .form-row-first,.woocommerce form.checkout .form-row-last{float:none;width:100%}.woocommerce .woocommerce-message .button{margin-left:0}}
body :is(button,input[type=button],input[type=reset],input[type=submit],a[role=button],.woocommerce-product-gallery__trigger){border-radius:var(--radius)!important}
body .woocommerce div.product div.images .woocommerce-product-gallery__trigger{display:flex;align-items:center;justify-content:center}
body .inv-contact-form button{width:auto}
body .woocommerce-product-gallery__image{position:relative}
body.single-product div.product > section.related.products{clear:both;display:flow-root;width:100%;padding-top:32px}
body.single-product div.product > section.related.products > h2{margin:0 0 28px}
.inv-photo-label{position:absolute;bottom:14px;left:14px;z-index:2;pointer-events:none;padding:5px 10px;border-radius:var(--radius);background:rgba(255,255,255,.94);color:var(--green);font-size:11px;font-weight:600;line-height:1.5;box-shadow:0 1px 6px #19352812}
body.woocommerce div.product div.images .flex-control-thumbs{display:flex;gap:12px;margin-top:14px}
body.woocommerce div.product div.images .flex-control-thumbs li{float:none;width:82px;flex:0 0 82px}
body.woocommerce div.product div.images .flex-control-thumbs li img{height:82px;object-fit:contain;background:var(--cream);border:2px solid transparent;padding:3px;opacity:.7}
body.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color:var(--green);opacity:1}
@media(max-width:580px){body .header-actions .shop-link{display:none!important}.header-actions{flex-shrink:0}.mobile-menu{flex-shrink:0}.header-inner .brand{min-width:0}.header-inner .brand img{max-width:100%}}
.woocommerce .price .inv-net-price{display:block;font-size:12px;line-height:1.6;color:var(--muted);font-weight:400;margin-top:5px}.woocommerce .price .inv-net-price .amount{font-size:inherit;color:inherit}

/* Delivery date stays between the AJAX-replaced review table and payment. */
.woocommerce-checkout #order_review .inv-delivery-date-panel{padding:20px;margin:8px 0 20px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.woocommerce-checkout #order_review .inv-delivery-date-panel h3{font-size:26px;line-height:1.15;margin:0 0 16px;color:var(--green)}
.woocommerce-checkout #order_review .inv-delivery-date-panel .form-row{padding:0;margin:0}
.woocommerce-checkout #order_review .inv-delivery-date-panel label{font-size:12px;font-weight:600;line-height:1.6;margin-bottom:8px;display:block}
.woocommerce-checkout #order_review .inv-delivery-date-panel input[type=date]{display:block;width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid #ced8cc;background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:24px;box-sizing:border-box;accent-color:var(--green);color-scheme:light}
.woocommerce-checkout #order_review .inv-delivery-date-panel input[type=date]:focus{outline:2px solid var(--green);outline-offset:2px;border-color:var(--green)}
.woocommerce-checkout #order_review .inv-delivery-date-panel input::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;width:20px;height:20px}
.woocommerce-checkout #order_review .inv-delivery-date-panel .description{display:block;background:none;color:var(--muted);font-size:12px;line-height:1.6;margin:10px 0 0;padding:0;border-radius:0}
.woocommerce-checkout #order_review .inv-delivery-date-panel .description:before{display:none}
.woocommerce-checkout #order_review .inv-delivery-date-panel .woocommerce-invalid input{border-color:#a33f35}
@media(max-width:580px){.woocommerce-checkout #order_review .inv-delivery-date-panel{padding:16px}.woocommerce-checkout #order_review .inv-delivery-date-panel h3{font-size:24px}}

body .inv-secondary-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:12px 20px;border:1px solid var(--green);border-radius:var(--radius);font-family:var(--font-body);font-size:14px;font-weight:600;line-height:24px;color:var(--green);text-align:center}
body .inv-secondary-cta:hover{background:var(--green);color:#fff}
.offer-detail>.offer-image-link{display:block;min-width:0;overflow:hidden;border-radius:var(--radius)}
.offer-detail>.offer-image-link img{width:100%;height:100%;min-height:300px;object-fit:cover}
.offer-detail h2 a:hover{color:var(--gold)}
body.woocommerce .related.products ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:24px;align-items:stretch}
body.woocommerce .related.products ul.products:before,body.woocommerce .related.products ul.products:after{display:none}
body.woocommerce .related.products ul.products li.product{float:none;width:auto!important;margin:0!important;height:100%;display:flex;flex-direction:column;min-width:0}
body.woocommerce .related.products ul.products li.product>a.woocommerce-LoopProduct-link{display:block}
body.woocommerce .related.products ul.products li.product>a.button,body.woocommerce .related.products ul.products li.product>.inv-quick-buy{margin-top:auto}
body.woocommerce .related.products ul.products li.product img{width:100%;aspect-ratio:1;object-fit:contain}
body.woocommerce .related.products .woocommerce-loop-product__title{min-height:2.6em}
body.woocommerce-checkout form.checkout_coupon{max-width:650px;padding:24px;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 28px}
body.woocommerce-checkout form.checkout_coupon>p:first-child{font-size:14px;color:var(--ink)}
body.woocommerce-checkout form.checkout_coupon .form-row-first{width:58%;margin:0}
body.woocommerce-checkout form.checkout_coupon .form-row-last{width:39%;margin:0}
body.woocommerce-checkout form.checkout_coupon input{min-height:50px;width:100%;padding:12px 14px;border:1px solid var(--line);background:#fff;font:inherit}
body.woocommerce-checkout form.checkout_coupon button{width:100%}
body.woocommerce-checkout #payment #place_order,body.woocommerce-checkout form.checkout_coupon button{background:var(--green)!important;border-color:var(--green)!important;color:#fff!important;opacity:1}
body.woocommerce-checkout #payment #place_order:hover,body.woocommerce-checkout form.checkout_coupon button:hover{background:var(--dark)!important;border-color:var(--dark)!important;color:#fff!important}
body.woocommerce-checkout #payment #place_order:disabled{opacity:.55;cursor:wait}
.inv-legal-draft{max-width:900px;line-height:1.85}
.inv-legal-draft>p:first-child{padding:22px;background:#fff6dc;border:1px solid #e3cd91;border-radius:var(--radius)}
.inv-legal-draft h2{font-size:30px;margin-top:36px}
.inv-legal-draft mark{display:block;background:#fff6dc;color:#584519;padding:16px;border-left:3px solid var(--gold);border-radius:6px}
@media(max-width:1000px){body.woocommerce .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:580px){body.woocommerce-checkout form.checkout_coupon{padding:18px}body.woocommerce-checkout form.checkout_coupon .form-row-first,body.woocommerce-checkout form.checkout_coupon .form-row-last{float:none;width:100%;margin-bottom:10px}.offer-detail>.offer-image-link img{min-height:0;height:240px}}


/* Align the offer contact and shop actions on the same vertical axis. */
body .company-cta > :is(.button,.inv-secondary-cta){vertical-align:middle;min-height:var(--control-height);line-height:24px}

/* Main navigation: a soft colour transition and an expanding underline. */
.desktop-nav > a{position:relative;transition:color .2s ease}
.desktop-nav > a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--green);border-radius:2px;transform:scaleX(0);transform-origin:left center;transition:transform .22s ease;pointer-events:none}
.desktop-nav > a:hover,.desktop-nav > a:focus-visible{color:var(--green)}
.desktop-nav > a:hover::after,.desktop-nav > a:focus-visible::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.desktop-nav > a,.desktop-nav > a::after{transition:none}}

/* Quantity controls shared by product, catalogue and basket. */
body .inv-quantity-control{display:inline-flex;align-items:stretch;vertical-align:middle;flex-shrink:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-height:var(--control-height);overflow:hidden}
body .inv-quantity-control:focus-within{border-color:var(--green);box-shadow:0 0 0 2px #23483120}
body .inv-quantity-control input:is(.qty,.inv-pack-count){appearance:textfield;-moz-appearance:textfield;width:52px!important;min-width:0!important;height:48px!important;min-height:48px!important;padding:0 3px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none;text-align:center;background:#fff}
.inv-quantity-control input::-webkit-inner-spin-button,.inv-quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
body .inv-quantity-control .inv-quantity-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;min-height:48px;margin:0;padding:0;border:0;border-radius:0!important;background:var(--cream);color:var(--green);font:500 22px var(--font-body);cursor:pointer;transition:background .18s,color .18s}
body .inv-quantity-control .inv-quantity-button:hover:not(:disabled){background:var(--green);color:white}
body .inv-quantity-control .inv-quantity-button:focus-visible{outline:2px solid var(--green);outline-offset:-4px}
body .inv-quantity-control .inv-quantity-button:disabled{opacity:.4;cursor:default}
body .inv-quick-controls{flex-wrap:wrap}
body .inv-quick-controls .inv-quantity-control{flex:1;justify-content:space-between}
body .inv-quick-controls .inv-quantity-control input{flex:1;width:36px!important}
@media(prefers-reduced-motion:reduce){body .inv-quantity-control .inv-quantity-button{transition:none}}

/* Category navigation and mobile opening motion. */
.inv-nav-group{position:relative;display:flex;align-items:center;gap:2px}
body .inv-nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:44px;padding:0;border:0;background:transparent;color:var(--green);cursor:pointer}
.inv-nav-toggle svg{transition:transform .2s ease}
.inv-nav-group.is-open .inv-nav-toggle svg{transform:rotate(180deg)}
.inv-nav-dropdown{position:absolute;top:100%;left:-16px;width:260px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 32px #19352818;visibility:hidden;opacity:0;transform:translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:30}
.inv-nav-group.is-open .inv-nav-dropdown{visibility:visible;opacity:1;transform:translateY(0)}
body .desktop-nav .inv-nav-dropdown a{white-space:normal;min-height:44px;padding:10px 12px;border-radius:7px;font-size:14px;line-height:1.5;transition:background .18s,color .18s}
body .desktop-nav .inv-nav-dropdown a:hover,body .desktop-nav .inv-nav-dropdown a:focus-visible{background:var(--cream);color:var(--green)}
body .mobile-menu nav a.inv-mobile-category{padding-left:30px;font-size:14px;color:var(--green);border-bottom:0;gap:10px}
.mobile-menu nav a.inv-mobile-category:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0}
.mobile-menu[open] nav{animation:inv-mobile-reveal .24s ease-out both;transform-origin:top}
@keyframes inv-mobile-reveal{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mobile-menu[open] nav{animation:none}.inv-nav-dropdown,.inv-nav-toggle svg,body .desktop-nav .inv-nav-dropdown a{transition:none}}

/* Field help stays readable beneath inputs, without the default blue tooltip. */
body .woocommerce form .form-row .woocommerce-input-wrapper .description{display:block!important;position:static;clear:both;margin:8px 0 0;padding:10px 13px;background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-body);font-size:12px;line-height:1.65;box-shadow:none;max-width:100%;overflow-wrap:anywhere}
body .woocommerce form .form-row .woocommerce-input-wrapper .description::before{display:none;content:none}
body .woocommerce form .form-row .woocommerce-input-wrapper .description a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
body .woocommerce form .form-row.woocommerce-validated :is(input.input-text,select,textarea){border-color:var(--green)}
@media(max-width:580px){body .woocommerce form .form-row .woocommerce-input-wrapper .description{font-size:13px;padding:10px 12px}}

/* Match WordPress toolbar positioning: it scrolls away on phones. */
@media screen and (min-width:601px) and (max-width:782px){body.admin-bar .site-header{top:46px}}
@media screen and (max-width:600px){body .site-header,body.admin-bar .site-header{top:0}}
.inv-seo-intro{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 24px;max-width:850px}.inv-seo-intro a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
