/*
Theme Name: Greenlife Store
Author: VASUYASHII
Description: Greenlife Health retail design with native WooCommerce integration and an optional, repeat-safe starter setup. Existing products and orders are retained.
Version: 1.5.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: greenlife-store
Tags: e-commerce, custom-logo, custom-menu, featured-images, translation-ready
*/
:root{--green:#0a402e;--ink:#12372a;--cream:#fbfaf7;--sage:#e4e9d7;--line:#dce3d7;--muted:#48534a;--radius:7px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:17px/1.6 Arial,Helvetica,sans-serif;min-height:100vh;display:flex;flex-direction:column}main{flex:1}h1,h2,h3,h4{line-height:1.15;color:var(--ink);margin:0 0 24px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:600}h1{font-size:clamp(34px,4vw,56px)}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:22px}p{margin:0 0 22px}a{color:var(--green);text-underline-offset:3px}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #52813c;outline-offset:3px}button,input[type=submit]{cursor:pointer}input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea{max-width:100%;border:1px solid #b5c3b4;border-radius:4px;padding:10px 12px;color:var(--ink);background:#fff;min-height:44px}input::placeholder,textarea::placeholder{color:#647261}input[type=checkbox],input[type=radio]{accent-color:var(--green)}label{line-height:1.5}hr{border:0;border-top:1px solid var(--line);margin:28px 0}.container{width:min(1360px,calc(100% - 64px));margin-left:auto;margin-right:auto}.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt,button.wc-block-components-button.wp-element-button{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:var(--radius);padding:12px 24px;font:600 16px/1.4 Arial,sans-serif;text-decoration:none;min-height:46px;white-space:normal;text-align:center}.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:#14563e;color:#fff;text-decoration:none}.button-secondary{background:var(--cream);color:var(--green);border-color:var(--line)}.button-secondary:hover{background:var(--sage);color:var(--green)}.button-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.text-link{font-weight:600;text-decoration:none}.screen-reader-text,.skip-link{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;position:fixed;top:12px;left:12px;width:auto;height:auto;padding:12px 20px;z-index:100000;background:#fff;color:var(--green)}
.site-header{border-top:6px solid var(--green);background:#fff}.masthead{display:grid;grid-template-columns:minmax(0,1fr) 240px minmax(0,1fr);gap:32px;align-items:center;padding-top:22px;padding-bottom:20px}.masthead-contact{max-width:280px}.phone{display:block;text-decoration:none;font-size:21px;font-weight:700;white-space:nowrap;margin-bottom:8px}.brand{text-align:center}.brand img{display:block;width:190px;height:auto;margin:auto}.brand .custom-logo-link{display:block}.site-search{display:flex;gap:0;margin:0}.site-search input[type=search]{width:100%;min-width:0;flex:1;border-radius:2px 0 0 2px;font-size:14px;min-height:38px;height:38px;padding:7px 10px}.site-search button{border:1px solid #b5c3b4;border-left:0;background:#eef2e8;color:var(--green);font-size:13px;font-weight:600;padding:6px 10px;border-radius:0 2px 2px 0}.account-links{display:flex;justify-content:flex-end;align-items:center;gap:22px;flex-wrap:wrap;font-size:15px}.account-links>a{text-decoration:none;white-space:nowrap}.cart-count{font-size:12px;display:inline-flex;justify-content:center;align-items:center;min-width:22px;height:22px;border-radius:50%;background:var(--sage)}.nav-bar{border-top:1px solid #eef1eb;border-bottom:1px solid #e3e9df}.main-menu{list-style:none;display:flex;gap:30px;justify-content:center;align-items:center;padding:11px 0;margin:0;font-size:15px;font-weight:600}.main-menu li{position:relative}.main-menu a{text-decoration:none;display:block}.main-menu ul{display:none;list-style:none;position:absolute;top:100%;left:0;z-index:20;background:#fff;padding:16px;min-width:200px;box-shadow:0 8px 24px #12372a18;border:1px solid var(--line)}.main-menu li:hover>ul,.main-menu li:focus-within>ul{display:block}.main-menu ul li+li{margin-top:10px}.menu-toggle{display:none}
.delivery-banner{background:#f2f0e2}.banner-inner{max-width:1600px;margin:auto;display:grid;grid-template-columns:52% 48%;align-items:center}.hero-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.offer{text-align:center;padding:28px}.offer .offer-line{font-size:21px;margin-bottom:22px}.offer h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(42px,6.1vw,88px);line-height:1.12;font-weight:700;margin:0 0 26px}.offer>p:not(.offer-line){font-size:18px}.care-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding-top:30px;padding-bottom:14px}.care-strip strong{display:block;font-size:17px;margin-bottom:10px}.care-strip strong a{text-decoration:none}.care-strip span{display:block;font-size:14px;color:var(--muted)}.section{padding-top:48px;padding-bottom:24px}.section-intro{font-size:18px;color:var(--muted);margin-top:-6px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.category-tile{display:grid;grid-template-columns:46% minmax(0,1fr);gap:16px;align-items:center;background:#f5f5ed;padding:16px;text-decoration:none}.category-tile:nth-child(2){background:#eef2e7}.category-tile:nth-child(3){background:#f6f0e5}.category-tile img{display:block;aspect-ratio:1;object-fit:contain;width:100%;mix-blend-mode:multiply}.category-tile h3{font-size:clamp(18px,1.8vw,26px);margin:0;overflow-wrap:anywhere}.category-tile:hover{box-shadow:inset 0 0 0 1px #a7b69c;text-decoration:none}.home-products{padding-bottom:50px}.about-section{display:grid;grid-template-columns:48% 52%;align-items:center;background:var(--cream);margin-top:20px;margin-bottom:40px}.about-section>div{padding:34px}.about-section>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.about-section p{font-size:19px}
.site-footer{background:var(--green);color:#fff;padding:38px 0 26px;margin-top:auto}.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.3fr);gap:38px}.site-footer h2{font-size:29px;color:#fff;margin:0 0 24px}.site-footer h3{font:600 16px/1.5 Arial,sans-serif;color:#fff;margin:0 0 24px}.site-footer p{font-size:15px;color:#d5e1d6}.site-footer a{color:white;text-decoration:none;overflow-wrap:anywhere}.site-footer a:hover{text-decoration:underline}.site-footer a:focus-visible{outline-color:#fff}.footer-links{display:flex;flex-direction:column;font-size:15px;line-height:1.7}.copyright{border-top:1px solid #6a8a76;padding-top:24px;margin:28px 0 0!important;font-size:13px!important}
.page-main{padding-top:44px;padding-bottom:64px;min-height:52vh}.reading-page{max-width:980px}.entry-content{overflow-wrap:anywhere}.entry-content h2{font-size:30px;margin-top:38px;margin-bottom:18px}.entry-content h3{margin-top:28px}.entry-content li{margin-bottom:10px}.entry-content .alignwide{max-width:1200px}.entry-content .alignfull{max-width:none}.entry-content table{border-collapse:collapse;width:100%}.entry-content th,.entry-content td{border:1px solid var(--line);padding:12px;text-align:left}.post-summary+.post-summary{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}.comment-list{padding-left:24px}.comment-list .children{padding-left:24px}.comment-list .bypostauthor>.comment-body{border-left:3px solid var(--green);padding-left:16px}.comment-form textarea{width:100%}.comment-form input[type=submit]{background:var(--green);color:#fff;border:0;border-radius:7px;padding:12px 24px}.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{font-size:14px;color:var(--muted)}.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{display:block;margin-left:auto;margin-right:auto}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:24px 0 32px;padding:0}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{float:none!important;width:auto!important;clear:none!important;margin:0!important;padding:0 0 16px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0;background:#fff}.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:var(--ink)}.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1;object-fit:contain;margin:0 0 12px;background:#f6f7f2}.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 16px;font:600 19px/1.35 Arial,sans-serif;min-height:52px;margin:0 0 16px}.woocommerce ul.products li.product .price{color:#3b6d1b;font-size:21px;font-weight:600;padding:0 16px;margin:0;margin-top:auto}.woocommerce ul.products li.product .button{margin:16px 16px 0;width:calc(100% - 32px)}.woocommerce ul.products li.product .added_to_cart{display:block;margin:8px 16px 0;text-align:center;font-weight:600}.woocommerce ul.products li.product .star-rating{margin:0 16px 12px}.woocommerce span.onsale{background:var(--green);color:#fff;z-index:1}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#3b6d1b}.woocommerce div.product .product_title{font-size:clamp(30px,3.3vw,48px)}.woocommerce div.product div.images img{border-radius:8px}.woocommerce div.product div.summary{margin-bottom:36px}.woocommerce div.product form.cart .variations select{min-height:42px}.woocommerce div.product form.cart .button{min-height:46px}.woocommerce div.product form.cart div.quantity{margin-right:14px}.woocommerce div.product .woocommerce-tabs ul.tabs li{border-color:var(--line);background:#eef2e8}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff}.woocommerce div.product .woocommerce-tabs .panel h2{font-size:28px}.woocommerce .quantity .qty{width:5em;min-height:46px}.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#f4f6ef;color:var(--ink);border-top-color:var(--green)}.woocommerce-message:before,.woocommerce-info:before{color:var(--green)}.woocommerce .woocommerce-breadcrumb{font-size:14px;color:var(--muted);margin-bottom:24px}.woocommerce table.shop_table{border-color:var(--line);border-collapse:collapse}.woocommerce table.shop_table th{background:#f5f7f1}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{padding:11px;min-height:46px}.woocommerce-checkout #payment{background:#f3f5ed}.woocommerce-checkout #payment div.payment_box{background:#e4e9d7;color:var(--ink)}.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:#e4e9d7}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{float:none;width:100%}.woocommerce .col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.woocommerce .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;border:1px solid var(--line);margin:0}.woocommerce .woocommerce-MyAccount-navigation li a{display:block;padding:12px 18px;text-decoration:none;border-bottom:1px solid var(--line)}.woocommerce .woocommerce-MyAccount-navigation li.is-active a{background:var(--sage);font-weight:600}.woocommerce .cart-collaterals .cross-sells ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce .cart-collaterals .cart_totals h2{font-size:30px}.woocommerce .woocommerce-ordering{margin-bottom:24px}.woocommerce .woocommerce-ordering select{font-size:15px}.woocommerce .woocommerce-result-count{font-size:15px}.woocommerce nav.woocommerce-pagination ul{border-color:var(--line)}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--sage);color:var(--green)}.wc-block-components-product-name,.wc-block-components-checkout-step__title{color:var(--green)}
@media(max-width:1024px){.masthead{grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);gap:20px}.phone{font-size:18px}.account-links{gap:14px}.category-tile{grid-template-columns:1fr}.category-tile img{max-height:190px}.category-tile h3{font-size:22px}.woocommerce ul.products{gap:16px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:17px;min-height:70px}.footer-grid{gap:24px;grid-template-columns:1.1fr .8fr 1fr 1.2fr}.site-footer h2{font-size:26px}}
@media(max-width:781px){.container{width:calc(100% - 40px)}.masthead{grid-template-columns:1fr 1fr;gap:18px;padding-top:16px;padding-bottom:16px}.brand{grid-column:1;grid-row:1;text-align:left}.brand img{width:150px;margin:0}.account-links{grid-column:2;grid-row:1;font-size:13px;gap:12px}.account-links>a:first-child{display:none}.masthead-contact{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:16px;max-width:none}.phone{font-size:14px;margin:0}.site-search{flex:1;min-width:0}.site-search input[type=search]{font-size:13px}.site-search button{font-size:12px;padding:5px 7px}.nav-inner{padding:8px 0}.gls-js .menu-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;background:transparent;color:var(--green);padding:5px 0;font-weight:600}.menu-toggle span{margin-left:10px}.gls-js #site-navigation{display:none}.gls-js #site-navigation.is-open{display:block}.main-menu{flex-direction:column;align-items:stretch;gap:0;padding:8px 0}.main-menu>li>a{padding:9px 0}.main-menu ul{display:block;position:static;box-shadow:none;border:0;padding:6px 18px;min-width:0}.banner-inner{grid-template-columns:1fr}.hero-image{aspect-ratio:4/3}.offer{padding:28px 20px}.offer h1{font-size:clamp(40px,11vw,60px)}.offer .offer-line{font-size:19px}.offer>p:not(.offer-line){font-size:17px}.care-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.section{padding-top:36px}.category-grid{grid-template-columns:1fr;gap:16px}.category-tile{grid-template-columns:42% minmax(0,1fr)}.category-tile img{max-height:190px}.category-tile h3{font-size:26px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 10px;min-height:66px;font-size:16px}.woocommerce ul.products li.product .price{font-size:18px;padding:0 10px}.woocommerce ul.products li.product .button{padding:10px 8px;margin-left:10px;margin-right:10px;width:calc(100% - 20px);font-size:14px}.about-section{grid-template-columns:1fr}.about-section>div{padding:28px}.about-section>img{grid-row:1}.about-section h2{font-size:34px}.about-section p{font-size:17px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-grid>div:last-child{grid-column:1/-1}.site-footer h2{font-size:26px}.site-footer h3{margin-bottom:14px}.page-main{padding-top:32px}.woocommerce .col2-set{grid-template-columns:1fr;gap:24px}.woocommerce div.product .product_title{font-size:32px}.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none;display:block}.woocommerce .woocommerce-ordering select{width:100%}.woocommerce table.shop_table_responsive tr td{padding:12px}.woocommerce-cart table.cart td.actions .coupon .input-text{min-width:120px}.entry-content table{display:block;overflow-x:auto}}
@media(max-width:360px){.container{width:calc(100% - 28px)}.masthead-contact{gap:10px}.phone{font-size:12px}.brand img{width:130px}.offer .button-row{gap:10px}.button{padding:11px 18px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}.woocommerce ul.products{gap:10px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px;min-height:72px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Health-interest photo cards: client-approved collections, native WooCommerce links. */
.health-interests{padding-top:58px;padding-bottom:10px}
.health-heading h2{margin-bottom:12px}
.health-heading p{color:var(--muted);margin-bottom:30px}
.health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.health-card{display:block;overflow:hidden;border:1px solid #dce3d7;border-radius:18px;background:#f9faf6;color:var(--green);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}
.health-photo{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--sage)}
.health-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s cubic-bezier(.2,.65,.3,1)}
.health-card-content{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:116px;padding:23px 26px}
.health-card-text{min-width:0}
.health-card h3{font:700 clamp(22px,2vw,28px)/1.2 Arial,Helvetica,sans-serif;letter-spacing:-.025em;color:var(--ink);margin:0 0 9px}
.health-card-action{font-size:15px;color:#4a6354}
.health-arrow{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid #afc1ae;border-radius:50%;color:var(--green);transition:background .2s ease,color .2s ease,border-color .2s ease}
.health-arrow svg{display:block;width:23px;height:23px;fill:currentColor}
.health-card:hover{border-color:#87a286;box-shadow:0 9px 26px rgba(17,55,41,.08);text-decoration:none}
.health-card:hover .health-photo img{transform:scale(1.035)}
.health-card:hover .health-arrow{background:var(--green);border-color:var(--green);color:white}
.health-card:focus-visible{outline:3px solid var(--green);outline-offset:5px}
.health-all-link{display:inline-flex;align-items:center;gap:14px;margin-top:24px;font-size:15px;font-weight:600;text-decoration:none}
.health-browse{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 32px}
.health-browse>a{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;min-height:50px;padding:7px 14px;font-size:15px;line-height:1.4;font-weight:600;text-decoration:none;background:var(--cream)}
.health-browse>a[aria-current=page]{background:var(--green);border-color:var(--green);color:#fff}
.health-browse>a:hover{border-color:var(--green)}
.health-browse img{display:block;width:36px;height:36px;object-fit:cover;border-radius:5px;flex:none}
@media(max-width:1000px){.health-grid{gap:18px}.health-card-content{padding:20px;gap:12px;min-height:112px}.health-card h3{font-size:23px}.health-arrow{width:40px;height:40px}}
@media(max-width:700px){.health-interests{padding-top:36px}.health-heading p{margin-bottom:22px}.health-grid{grid-template-columns:1fr;gap:22px}.health-card{border-radius:16px}.health-card-content{min-height:102px;padding:20px 22px}.health-card h3{font-size:25px;margin-bottom:7px}.health-card-action{font-size:14px}.health-arrow{width:42px;height:42px}.health-browse{gap:8px;margin-bottom:24px}.health-browse>a{font-size:14px;padding:7px 10px}.health-browse img{width:30px;height:30px}}
@media(max-width:360px){.health-card-content{padding:18px;gap:12px;min-height:96px}.health-card h3{font-size:23px}.health-arrow{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.health-card,.health-photo img,.health-arrow{transition:none}.health-card:hover .health-photo img{transform:none}}

/* Product and catalogue design. Native WooCommerce controls remain in charge. */
.gls-eyebrow {
    font: 700 12px/1.5 Arial, sans-serif;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted);
    margin: 0 0 16px;
}
.gls-product-page, .gls-catalogue { padding-top: 26px; }
.woocommerce .woocommerce-breadcrumb { line-height: 1.7; margin-bottom: 28px; overflow-wrap: anywhere; }
.woocommerce .woocommerce-breadcrumb a { color: var(--muted); }
.gls-collection-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 34px 40px;
    margin-bottom: 26px;
    background: var(--cream);
    border-radius: 12px;
}
.gls-collection-heading .gls-eyebrow { margin-bottom: 12px; }
.gls-collection-heading h1 { margin: 0; }
.gls-collection-delivery { border-left: 1px solid #b9c7ae; padding-left: 28px; margin: 0; }
.gls-collection-delivery strong { display: block; font-size: 18px; margin-bottom: 4px; }
.gls-collection-delivery span { display: block; color: var(--muted); font-size: 14px; }
.gls-catalogue .term-description, .gls-catalogue .page-description { color: var(--muted); }
.gls-catalogue .health-browse { margin-top: 24px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.woocommerce .woocommerce-result-count { padding: 10px 0; margin-bottom: 20px; }
.woocommerce .woocommerce-ordering { margin-bottom: 20px; }
.woocommerce ul.products { clear: both; gap: 26px; }
.woocommerce ul.products li.product {
    border-radius: 12px;
    border-color: #e0e6db;
    padding-bottom: 18px;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.woocommerce ul.products li.product:hover { border-color: #a1b39a; box-shadow: 0 8px 22px #12372a0b; }
.woocommerce ul.products li.product a img { margin-bottom: 18px; }
.woocommerce ul.products li.product .gls-loop-category {
    display: block;
    padding: 0 18px;
    margin-bottom: 8px;
    color: var(--muted);
    font: 600 11px/1.5 Arial, sans-serif;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 18px; margin-bottom: 14px; min-height: 52px; }
.woocommerce ul.products li.product .price { padding: 0 18px; color: var(--ink); font-size: 22px; }
.woocommerce ul.products li.product .price del { font-size: .8em; opacity: .65; margin-right: 6px; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin: 16px 18px 0; width: calc(100% - 36px); }
.woocommerce span.onsale { min-height: 0; min-width: 0; line-height: 1.4; border-radius: 30px; padding: 7px 14px; font-size: 13px; }
.woocommerce ul.products li.product .onsale { top: 12px; right: 12px; margin: 0; }
.woocommerce .gls-product-overview {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    align-items: start;
    column-gap: clamp(32px, 5vw, 76px);
    margin-bottom: 48px;
}
.woocommerce .gls-product-overview > .onsale { left: 16px; top: 16px; z-index: 2; }
.woocommerce div.product .gls-product-overview div.images,
.woocommerce div.product .gls-product-overview div.summary { float: none; width: 100%; min-width: 0; margin: 0; }
.woocommerce div.product .gls-product-overview div.images .flex-viewport { border-radius: 16px; background: var(--cream); }
.woocommerce div.product .gls-product-overview div.images .woocommerce-product-gallery__image > a { display: block; }
.woocommerce div.product .gls-product-overview div.images .woocommerce-product-gallery__image > a > img { aspect-ratio: 1; object-fit: contain; border-radius: 16px; background: var(--cream); }
.woocommerce div.product .gls-product-overview div.images .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.woocommerce div.product .gls-product-overview div.images .flex-control-thumbs li { width: 78px; float: none; margin: 0; }
.woocommerce div.product .gls-product-overview div.images .flex-control-thumbs img { border: 2px solid transparent; border-radius: 8px; opacity: .65; padding: 3px; }
.woocommerce div.product .gls-product-overview div.images .flex-control-thumbs img.flex-active { border-color: var(--green); opacity: 1; }
.woocommerce div.product .gls-product-overview div.images .flex-control-thumbs img:focus-visible { outline: 3px solid #52813c; outline-offset: 3px; }
.woocommerce div.product .gls-product-overview div.images .woocommerce-product-gallery__trigger { top: 16px; right: 16px; }
.woocommerce div.product .gls-product-overview div.summary { padding: 14px 0 0; }
.woocommerce div.product .gls-product-overview .product_title { font-size: clamp(32px, 3.6vw, 52px); line-height: 1.12; letter-spacing: -.025em; margin: 0 0 22px; overflow-wrap: anywhere; }
.woocommerce div.product .gls-product-overview p.price { font-size: 30px; line-height: 1.4; font-weight: 600; color: var(--green); margin: 0 0 24px; }
.woocommerce div.product .gls-product-overview p.price del { font-size: .73em; opacity: .6; margin-right: 10px; }
.woocommerce div.product .gls-product-overview p.price ins { text-decoration: none; }
.gls-product-overview .woocommerce-product-details__short-description { color: var(--muted); font-size: 18px; line-height: 1.7; }
.gls-product-overview .woocommerce-product-details__short-description p:last-child { margin-bottom: 26px; }
.woocommerce div.product .gls-product-overview form.cart { margin: 0 0 24px; }
.woocommerce div.product .gls-product-overview form.cart::after { content: ''; display: block; clear: both; }
.woocommerce div.product .gls-product-overview form.cart div.quantity { margin: 0 12px 0 0; }
.woocommerce .gls-product-overview .quantity .qty { width: 88px; min-height: 54px; border-color: #acbba8; border-radius: 7px; }
.woocommerce div.product .gls-product-overview form.cart .single_add_to_cart_button { min-height: 54px; padding: 15px 26px; width: calc(100% - 100px); }
.woocommerce div.product .gls-product-overview form.cart .single_add_to_cart_button:only-child,
.woocommerce div.product .gls-product-overview .product_type_external { width: 100%; }
.woocommerce div.product .gls-product-overview form.cart .quantity:has(input[type=hidden]) + .single_add_to_cart_button { width: 100%; }
.woocommerce div.product .gls-product-overview form.cart .variations { margin-bottom: 16px; }
.woocommerce div.product .gls-product-overview form.cart .variations th { text-align: left; padding: 10px 12px 10px 0; }
.woocommerce div.product .gls-product-overview form.cart .variations select { width: 100%; max-width: 100%; min-width: 0; min-height: 48px; }
.woocommerce div.product .gls-product-overview .woocommerce-variation-price { margin-bottom: 18px; }
.woocommerce div.product .gls-product-overview form.grouped_form .single_add_to_cart_button { width: 100%; margin-top: 12px; }
.woocommerce div.product .gls-product-overview form.cart .group_table td { padding: 10px 8px; vertical-align: middle; }
.woocommerce div.product .gls-product-overview form.cart .group_table td:first-child { padding-left: 0; }
.woocommerce div.product .gls-product-overview .stock { font-size: 14px; }
.gls-product-support { margin-bottom: 22px; }
.gls-delivery-note { padding: 20px 22px; border-radius: 10px; background: #f0f3e9; }
.gls-delivery-note strong { font-size: 16px; }
.gls-delivery-note p { margin: 3px 0 0; font-size: 14px; color: var(--muted); }
.gls-policy-links { display: flex; flex-wrap: wrap; column-gap: 18px; row-gap: 6px; margin-top: 12px; font-size: 13px; }
.gls-product-help { border-bottom: 1px solid var(--line); padding: 18px 0; font-size: 14px; }
.gls-product-help summary { cursor: pointer; font-weight: 600; padding: 5px 0; min-height: 32px; }
.gls-product-help p { margin: 14px 0 10px; color: var(--muted); }
.gls-product-help > a { display: block; width: fit-content; padding: 4px 0; overflow-wrap: anywhere; }
.woocommerce div.product .gls-product-overview .product_meta { font-size: 13px; color: var(--muted); }
.gls-product-overview .product_meta > span { display: block; margin: 4px 0; }
.woocommerce div.product .woocommerce-tabs {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 24px 44px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 36px 0;
    margin-bottom: 48px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0; overflow: visible; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { display: block; padding: 0; margin: 0 0 8px; border: 0; border-radius: 6px; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 16px; font-size: 15px; color: var(--muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #eef2e6; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--green); }
.woocommerce div.product .woocommerce-tabs .panel { margin: 0; padding: 6px 0; min-width: 0; max-width: 870px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { margin: 0 0 20px; font-size: 28px; }
.woocommerce div.product .woocommerce-tabs .panel p { color: var(--muted); }
.woocommerce div.product .woocommerce-tabs .panel p:last-child { margin-bottom: 0; }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { font-size: 34px; margin-bottom: 24px; }

@media (max-width: 1024px) {
    .woocommerce .gls-product-overview { column-gap: 30px; }
    .woocommerce div.product .gls-product-overview .product_title { font-size: 36px; }
    .woocommerce ul.products { gap: 18px; }
}
@media (max-width: 781px) {
    .gls-product-page, .gls-catalogue { padding-top: 20px; }
    .woocommerce .woocommerce-breadcrumb { font-size: 12px; margin-bottom: 20px; }
    .gls-collection-heading { display: block; padding: 24px; margin-bottom: 20px; }
    .gls-collection-heading h1 { font-size: 38px; }
    .gls-collection-delivery { border: 0; border-top: 1px solid var(--line); padding: 18px 0 0; margin-top: 22px; }
    .gls-collection-delivery strong { font-size: 16px; }
    .woocommerce .gls-product-overview { grid-template-columns: minmax(0, 1fr); gap: 28px; margin-bottom: 32px; }
    .woocommerce div.product .gls-product-overview div.summary { padding: 0; }
    .woocommerce div.product .gls-product-overview .product_title { font-size: 36px; margin-bottom: 18px; }
    .woocommerce div.product .gls-product-overview p.price { font-size: 28px; margin-bottom: 18px; }
    .woocommerce div.product .gls-product-overview div.images .flex-control-thumbs li { width: 62px; }
    .gls-product-overview .woocommerce-product-details__short-description { font-size: 17px; }
    .woocommerce div.product .woocommerce-tabs { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 0; margin-bottom: 32px; }
    .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 13px; font-size: 14px; }
    .woocommerce ul.products { gap: 14px; }
    .woocommerce ul.products li.product .gls-loop-category { padding: 0 12px; font-size: 10px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0 12px; font-size: 16px; min-height: 65px; }
    .woocommerce ul.products li.product .price { padding: 0 12px; font-size: 19px; }
    .woocommerce ul.products li.product .button { margin-left: 12px; margin-right: 12px; width: calc(100% - 24px); padding: 10px 6px; font-size: 14px; }
    .woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2 { font-size: 30px; }
}
@media (max-width: 360px) {
    .woocommerce ul.products { gap: 10px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; }
    .woocommerce div.product .gls-product-overview .product_title { font-size: 32px; }
    .gls-delivery-note { padding: 18px; }
}

/* Existing Apicona headings/contact boxes; retain WPBakery and form plugin output. */
.entry-content .gls-legacy-heading { margin: 34px 0 24px; }
.entry-content .gls-legacy-heading h2 { margin: 0 0 12px; font-size: clamp(25px, 3vw, 34px); }
.entry-content .gls-legacy-heading p { color: var(--muted); margin: 0; font-size: 17px; }
.gls-legacy-service { background: var(--cream); border: 1px solid var(--line); border-radius: 12px; padding: 24px; margin-bottom: 24px; overflow-wrap: anywhere; }
.entry-content .gls-legacy-service h3 { font: 700 17px/1.45 Arial, sans-serif; margin: 0 0 16px; }
.gls-legacy-service-body { color: var(--muted); font-size: 16px; line-height: 1.75; }
.gls-legacy-service-body p:last-child { margin-bottom: 0; }
.gls-legacy-service-subtitle { font-size: 15px; color: var(--muted); }
.gls-legacy-content .wpcf7 { margin: 24px 0 0; }
.gls-legacy-content .wpcf7 label { display: block; font-size: 15px; font-weight: 600; }
.gls-legacy-content .wpcf7 input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),
.gls-legacy-content .wpcf7 select, .gls-legacy-content .wpcf7 textarea { width: 100%; margin-top: 8px; font-weight: 400; }
.gls-legacy-content .wpcf7 textarea { min-height: 150px; }
.gls-legacy-content .wpcf7 input[type=submit], .gls-legacy-content .wpcf7 button[type=submit] {
    background: var(--green); color: #fff; border: 1px solid var(--green); border-radius: 7px; padding: 13px 28px; min-height: 48px; font-weight: 600;
}
.gls-legacy-content .wpcf7 .wpcf7-response-output { margin: 24px 0; padding: 16px; }
.gls-legacy-content .wpcf7-not-valid-tip { margin-top: 6px; font-size: 14px; }
@media (max-width: 781px) {
    .gls-legacy-service { padding: 22px; }
    .entry-content .gls-legacy-heading { margin-top: 28px; }
}
