/* Custom CSS Overrides - Added directly to compiled CSS */

/* Highest specificity logo size enforcement - prevent any resizing - remove all border colors */
body .header .header-main .header-logo-wrapper,body .header .header-main .header-logo-link,body .header .header-main .header-logo-wrapper .header-logo-link,body .header .header-main .header-logo-wrapper .header-logo-link .header-logo,html body .header .header-main .header-logo-wrapper,html body .header .header-main .header-logo-link,html body .header .header-main .header-logo-wrapper .header-logo-link,html body .header .header-main .header-logo-wrapper .header-logo-link .header-logo{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;flex-basis:157px!important;box-sizing:border-box!important;object-fit:none!important;transform:none!important;zoom:1!important;border:none!important;border-width:0!important;border-color:transparent!important;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important;outline:none!important;box-shadow:none!important}@media screen and (min-width:1024px) and (max-width:1024px){body .header .header-main .header-logo-wrapper,body .header .header-main .header-logo-link,body .header .header-main .header-logo-wrapper .header-logo-link,body .header .header-main .header-logo-wrapper .header-logo-link .header-logo,html body .header .header-main .header-logo-wrapper,html body .header .header-main .header-logo-link,html body .header .header-main .header-logo-wrapper .header-logo-link,html body .header .header-main .header-logo-wrapper .header-logo-link .header-logo{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;flex-basis:157px!important;border-color:transparent!important;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;border-left-color:transparent!important}}

/* Site container padding - dynamic reduction */
.site-container{padding-left:100px;padding-right:100px;box-sizing:border-box}@media screen and (max-width:1400px) and (min-width:769px){.site-container{padding-left:calc(20px + (80px * ((100vw - 768px) / (1400px - 768px))));padding-right:calc(20px + (80px * ((100vw - 768px) / (1400px - 768px))))}}@media screen and (max-width:768px){.site-container{padding-left:20px!important;padding-right:20px!important}}

/* Product wrapper site-container - override any 1240px max-width below 1640px */
body.single-product .product-wrapper .site-container,html body.single-product .product-wrapper .site-container{max-width:none!important}@media screen and (max-width:1639px){body.single-product .product-wrapper .site-container,html body.single-product .product-wrapper .site-container{max-width:none!important}}@media screen and (max-width:1359px){body.single-product .product-wrapper .site-container,html body.single-product .product-wrapper .site-container{max-width:none!important}}@media screen and (min-width:1360px) and (max-width:1638px){body.single-product .product-wrapper .site-container,html body.single-product .product-wrapper .site-container{max-width:none!important}}@media screen and (min-width:769px) and (max-width:1638px){body.single-product .product-wrapper .site-container,html body.single-product .product-wrapper .site-container{max-width:none!important}}@media screen and (max-width:1400px) and (min-width:769px){body.single-product .product-wrapper .site-container,html body.single-product .product-wrapper .site-container{max-width:none!important}}

/* Header - ensure overflow visible for logo overlap */
.header{overflow:visible!important;position:relative!important;width:100%!important;height:auto!important;max-height:none!important}body .header,html .header{overflow:visible!important;height:auto!important;max-height:none!important}.site-wrapper{overflow:visible!important}

/* Header logo wrapper - transparent background, inline display, allow overflow - fixed 157x157px at all breakpoints - no shrinking - no border color */
.header-logo-wrapper{background-color:transparent!important;display:inline-block!important;overflow:visible!important;position:relative!important;z-index:101!important;width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;align-self:flex-start!important;border:none!important;border-width:0!important;border-color:transparent!important}@media screen and (max-width:1400px) and (min-width:1025px){.header-logo-wrapper{margin-left:calc(20px + (80px * ((100vw - 768px) / (1400px - 768px))));width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;align-self:flex-start!important;border-color:transparent!important}}@media screen and (min-width:769px) and (max-width:1040px){.header-logo-wrapper{margin-left:calc(20px + (80px * ((100vw - 768px) / (1400px - 768px))))!important;width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;align-self:flex-start!important;margin-top:0!important;border-color:transparent!important}}@media screen and (max-width:768px){.header-logo-wrapper{margin-left:20px!important;overflow:visible!important;width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;align-self:flex-start!important;border-color:transparent!important}}@media (min-width:1041px){.header-logo-wrapper{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;align-self:flex-start!important;border-color:transparent!important}}@media (min-width:1640px){.header-logo-wrapper{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;align-self:flex-start!important;border-color:transparent!important}}

/* Header logo link - inline, overlap on mobile/tablet, ensure full size - fixed 157x157px at all breakpoints - no shrinking - no border color */
.header-logo-link{display:inline-block!important;text-decoration:none!important;border:none!important;border-width:0!important;border-color:transparent!important;outline:none!important;position:relative!important;z-index:101!important;margin-bottom:-40px!important;overflow:visible!important;width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important}@media screen and (max-width:768px){.header-logo-link{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;margin-bottom:-40px!important;border-color:transparent!important}}@media screen and (min-width:769px) and (max-width:1040px){.header-logo-link{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;margin-bottom:-40px!important;margin-top:0!important;align-self:flex-start!important;border-color:transparent!important}}@media (min-width:1041px){.header-logo-link{margin-bottom:-40px!important;width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;border-color:transparent!important}}@media (min-width:1640px){.header-logo-link{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;flex-shrink:0!important;flex-grow:0!important;border-color:transparent!important}}

/* Header logo - inline display, ensure it extends past header on all screen sizes - fixed 157x157px at all breakpoints - no scaling - no border color */
.header-logo{display:inline-block!important;border:none!important;border-width:0!important;border-color:transparent!important;outline:none!important;vertical-align:bottom!important;position:relative!important;z-index:101!important;width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;object-fit:none!important;flex-shrink:0!important}@media screen and (max-width:768px){.header-logo{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;object-fit:none!important;flex-shrink:0!important;border-color:transparent!important}}@media screen and (min-width:769px) and (max-width:1040px){.header-logo{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;object-fit:none!important;flex-shrink:0!important;border-color:transparent!important}}@media (min-width:1041px){.header-logo{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;object-fit:none!important;flex-shrink:0!important;border-color:transparent!important}}@media (min-width:1640px){.header-logo{width:157px!important;height:157px!important;min-width:157px!important;min-height:157px!important;max-width:157px!important;max-height:157px!important;object-fit:none!important;flex-shrink:0!important;border-color:transparent!important}}

/* Header title - reduced padding on mobile */
.header-title{margin-left:75px}@media screen and (max-width:1024px){.header-title{margin-left:15px}}@media screen and (max-width:768px){.header-title{margin-left:5px}.header-title h1{font-size:20px;letter-spacing:0.1em;line-height:24px}}

/* Header basket - ensure visible on mobile */
.header-basket{display:flex!important;visibility:visible!important}@media screen and (max-width:768px){.header-basket{display:flex!important;visibility:visible!important;margin-right:20px}}

/* Basket link - ensure visible on mobile */
.basket-link{display:flex!important;visibility:visible!important;opacity:1!important}@media screen and (max-width:768px){.basket-link{display:flex!important;visibility:visible!important;opacity:1!important;font-size:14px;gap:6px;flex-direction:row!important}.basket-link .basket-icon{display:block!important;visibility:visible!important;opacity:1!important}}

/* Basket icon - ensure visible on mobile - 30x25px */
.basket-icon{display:block!important;visibility:visible!important;opacity:1!important;width:30px!important;height:25px!important;max-width:30px!important;max-height:25px!important}@media screen and (max-width:768px){.basket-icon{width:30px!important;height:25px!important;display:block!important;visibility:visible!important;opacity:1!important;max-width:30px!important;max-height:25px!important}}

/* Header main - allow logo to extend past, maintain responsive sizing - prevent flex resizing on iPad Pro */
.header-main{overflow:visible!important;position:relative!important;max-height:none!important;align-items:flex-start!important;flex-wrap:nowrap!important}@media screen and (max-width:768px){.header-main{overflow:visible!important;flex-wrap:nowrap!important;align-items:flex-start!important;position:relative!important}}@media screen and (min-width:769px) and (max-width:1024px){.header-main{overflow:visible!important;position:relative!important;align-items:flex-start!important;flex-wrap:nowrap!important;min-width:0!important}}@media screen and (min-width:1024px) and (max-width:1024px){.header-main{overflow:visible!important;position:relative!important;align-items:flex-start!important;flex-wrap:nowrap!important;min-width:0!important}}@media (min-width:768px){.header-main{overflow:visible!important;position:relative!important;align-items:flex-start!important;flex-wrap:nowrap!important}}

/* Order total - remove top margin and padding */
.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total{margin-top:0!important;padding-top:0!important}.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total th,.shop_table.woocommerce-checkout-review-order-table tfoot tr.order-total td{margin-top:0!important}

/* Customer PO label - bold */
.customer-po-label{font-weight:700!important}

/* Form customer reference - fix width on iPad */
.form-customer-reference{width:893px!important;float:none!important;clear:both!important;max-width:100%}@media only screen and (max-width:1200px){.form-customer-reference{width:calc(893px * 0.85)!important}}@media only screen and (max-width:992px){.form-customer-reference{width:calc(893px * 0.75)!important}}@media only screen and (max-width:1024px) and (min-width:821px){.form-customer-reference{width:500px!important;max-width:calc(100% - 40px)}}@media only screen and (max-width:820px){.form-customer-reference{width:100%!important}}


/* Checkout form - 100px gap, responsive padding */
form.woocommerce-checkout{margin-top:100px;padding-left:100px;box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}@media screen and (max-width:1400px) and (min-width:769px){form.woocommerce-checkout{padding-left:calc(20px + (80px * ((100vw - 768px) / (1400px - 768px))))}}@media only screen and (max-width:768px){form.woocommerce-checkout{margin-top:80px;padding-left:20px;padding-right:20px;overflow-x:hidden}}

/* Form rows - mobile full width */
form.woocommerce-checkout .form-row.form-row-first,.form-row.form-row-first{box-sizing:border-box;max-width:100%}@media only screen and (max-width:1024px){.form-row.form-row-first{width:100%!important;margin-right:0!important;float:none!important;max-width:100%;padding-left:0;padding-right:0}.form-row.form-row-first .select2-container{max-width:100%!important;width:100%!important}.form-row.form-row-first select,.form-row.form-row-first .select2-container--default .select2-selection--single{max-width:100%!important;width:100%!important;box-sizing:border-box}.form-row.form-row-last{width:100%!important;float:none!important;max-width:100%;padding-left:0;padding-right:0}.form-row.form-row-wide{width:100%!important;max-width:100%;padding-left:0;padding-right:0}.form-row.form-row-half{width:100%!important;float:none!important;max-width:100%;padding-left:0;padding-right:0}}

/* Field wrapper - prevent overflow on mobile */
.woocommerce-billing-fields__field-wrapper{max-width:100%;box-sizing:border-box}@media only screen and (max-width:768px){.woocommerce-billing-fields__field-wrapper{overflow-x:hidden;padding-left:0;padding-right:0}}

/* Select2 clear button - hide */
.select2-container .select2-selection__clear,.select2-container--default .select2-selection__clear,.select2-container--default .select2-selection--single .select2-selection__clear{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;padding:0!important;margin:0!important}form.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__clear{display:none!important}@media only screen and (max-width:768px){.select2-container{max-width:100%!important;width:100%!important;box-sizing:border-box}.select2-container--default .select2-selection--single{max-width:100%!important;width:100%!important}}

/* Payment button and cards - responsive sizing */
#payment #place_order .paymentsense-logo{max-height:60px}@media only screen and (max-width:1024px){#payment #place_order .paymentsense-logo{max-height:50px;max-width:100%}}@media only screen and (max-width:768px){#payment #place_order .paymentsense-logo{max-height:40px;max-width:100%}}#payment .payment-card-logos img{width:500px;height:110px}@media only screen and (max-width:1024px){#payment .payment-card-logos img{width:400px;height:88px;max-width:100%}}@media only screen and (max-width:768px){#payment .payment-card-logos img{width:300px;height:66px;max-width:100%}}@media only screen and (max-width:480px){#payment .payment-card-logos img{width:250px;height:55px;max-width:100%}}#payment .place-order{flex-wrap:wrap}@media only screen and (max-width:768px){#payment .place-order{flex-direction:column;align-items:flex-start;gap:15px}}#payment .payment_method_paymentsense label img{max-height:40px}@media only screen and (max-width:1024px){#payment .payment_method_paymentsense label img{max-height:35px;max-width:100%}}@media only screen and (max-width:768px){#payment .payment_method_paymentsense label img{max-height:30px;max-width:100%}}

/* Direct payments form h2 - fix line height on mobile/iPad */
.direct-payments-form h2,.direct-payments-form h3{line-height:27px!important}@media only screen and (max-width:1024px) and (min-width:821px){.direct-payments-form h2,.direct-payments-form h3{line-height:1.2!important;margin-bottom:10px!important}}@media only screen and (max-width:820px){.direct-payments-form h2,.direct-payments-form h3{line-height:1.3!important;font-size:40px!important;margin-bottom:10px!important}}@media only screen and (max-width:480px){.direct-payments-form h2,.direct-payments-form h3{line-height:1.4!important;font-size:32px!important;margin-bottom:10px!important}}

/* Product image above details on mobile/tablet - full width and reduced top space */
body.single-product .product-wrapper{padding:120px 0 50px 0}@media only screen and (min-width:769px) and (max-width:1024px){body.single-product .product-wrapper{padding-top:40px!important;padding-bottom:50px!important}}@media only screen and (max-width:768px){body.single-product .product-wrapper{padding-top:30px!important;padding-bottom:30px!important}}.woocommerce #content div.product div.images,.woocommerce div.product div.images,.woocommerce-page #content div.product div.images,.woocommerce-page div.product div.images{float:left;width:auto!important}.woocommerce div.product{display:flex;flex-direction:row;flex-wrap:wrap;gap:87px}.woocommerce #content div.product div.summary,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.summary{width:auto!important;max-width:568.71px}@media only screen and (min-width:769px) and (max-width:1024px){.woocommerce div.product{flex-direction:column;gap:87px}.woocommerce div.product div.images{order:1;width:100%!important;float:none!important;margin-bottom:0!important;margin-top:0!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.woocommerce div.product div.summary{order:2;width:100%!important;float:none!important;max-width:100%!important}.payment-steps-guide{width:100%!important;max-width:100%}.woocommerce-product-gallery__wrapper{width:100%!important;max-width:100%}}@media only screen and (max-width:768px){.woocommerce div.product{flex-direction:column;gap:87px}.woocommerce div.product div.images{order:1;width:100%!important;float:none!important;margin-bottom:0!important;margin-top:0!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.woocommerce div.product div.summary{order:2;width:100%!important;float:none!important;max-width:568.71px}}@media only screen and (min-width:769px) and (max-width:1024px){.woocommerce-product-gallery-content{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important}.woocommerce-product-gallery-content img,.woocommerce-product-gallery-content .flex-viewport,.woocommerce-product-gallery-content .woocommerce-product-gallery__image{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.woocommerce-product-gallery-content .woocommerce-product-gallery__image img{width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important}}@media only screen and (max-width:768px){.woocommerce-product-gallery-content{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important}.woocommerce-product-gallery-content img,.woocommerce-product-gallery-content .flex-viewport,.woocommerce-product-gallery-content .woocommerce-product-gallery__image{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.woocommerce-product-gallery-content .woocommerce-product-gallery__image img{width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important}}

/* Payment steps guide - replaces product image */
.woocommerce-product-gallery__wrapper{width:528px}@media only screen and (min-width:769px) and (max-width:1024px){.woocommerce-product-gallery__wrapper{width:100%;max-width:100%}}@media only screen and (max-width:768px){.woocommerce-product-gallery__wrapper{width:100%;max-width:528px}}.payment-steps-guide{background:#F8F8F8;border:3px solid #CCCCCC;border-radius:20px;padding:30px;width:528px;height:361px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}@media only screen and (min-width:769px) and (max-width:1024px){.payment-steps-guide{width:100%!important;max-width:100%}}.payment-steps-title{color:#444;font-family:Gibson,sans-serif;font-weight:700;font-style:normal;font-size:28px;line-height:35px;letter-spacing:0;margin:0 0 25px 0;text-align:left}.payment-steps-list{display:flex;flex-direction:column;gap:20px}.payment-step{display:flex;align-items:center;gap:15px}.payment-step-number{background:#C1D82E;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Gibson,sans-serif;font-weight:600;font-style:normal;font-size:21px;line-height:35px;letter-spacing:0;text-align:center;flex-shrink:0}.payment-step-text{color:#444;font-family:Gibson,sans-serif;font-weight:300;font-style:normal;font-size:27px;line-height:35px;letter-spacing:0}@media only screen and (max-width:768px){.payment-steps-guide{padding:20px;width:100%;max-width:528px;height:auto;min-height:361px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.payment-steps-title{font-family:Gibson,sans-serif;font-weight:700;font-style:normal;font-size:28px;line-height:35px;letter-spacing:0;margin-bottom:20px;text-align:left}.payment-step-number{width:35px;height:35px;font-family:Gibson,sans-serif;font-weight:600;font-style:normal;font-size:21px;line-height:35px;letter-spacing:0;text-align:center}.payment-step-text{font-family:Gibson,sans-serif;font-weight:300;font-style:normal;font-size:27px;line-height:35px;letter-spacing:0}.payment-step{gap:12px}}

