/* WC300 storefront: scoped to WooCommerce's catalogue/product content only. */
.wc300-storefront{--shop-ink:#193746;--shop-teal:#163e43;--shop-line:#dce4df;box-sizing:border-box;width:100%;max-width:1272px;margin:0 auto;padding:clamp(24px,4vw,48px) clamp(20px,4vw,56px) clamp(48px,6vw,80px);color:var(--shop-ink);font-family:Roboto,Arial,sans-serif;line-height:1.65}
.wc300-storefront *{box-sizing:border-box}
.wc300-storefront h1,.wc300-storefront h2:not(.woocommerce-loop-product__title){font-family:'Roboto Serif',Georgia,serif;font-weight:400;color:var(--shop-ink);letter-spacing:-.025em;line-height:1.2}
.wc300-storefront a{color:var(--shop-teal)}
.wc300-storefront a:focus-visible,.wc300-storefront button:focus-visible,.wc300-storefront input:focus-visible,.wc300-storefront select:focus-visible{outline:3px solid #67871a;outline-offset:4px}
.woocommerce .wc300-storefront .woocommerce-breadcrumb{font-size:13px;color:#5a6d70;margin:0 0 28px;line-height:1.7}
.wc300-shop-intro{background:#163e43;color:#fff;border-radius:24px;padding:clamp(28px,5vw,60px);margin:0 0 24px}
.wc300-shop-intro .wc300-shop-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:#d9e8b6;margin:0 0 18px}
.wc300-storefront .wc300-shop-intro h1{font-size:clamp(32px,4.4vw,54px);max-width:780px;color:#fff;margin:0 0 20px}
.wc300-shop-intro p{max-width:650px;font-size:17px;margin:0 0 24px}
.wc300-shop-intro .wc300-shop-basket{display:inline-flex;align-items:center;min-height:48px;color:#fff;border-bottom:1px solid #bdcfb4;font-weight:600;text-decoration:none}
.wc300-shop-categories{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px}
.wc300-shop-categories a{display:inline-flex;align-items:center;min-height:48px;border:1px solid var(--shop-line);border-radius:30px;padding:10px 18px;color:var(--shop-teal);font-size:14px;text-decoration:none}
.wc300-shop-categories a[aria-current],.wc300-shop-categories a:hover{background:var(--shop-teal);color:#fff;border-color:var(--shop-teal)}
.woocommerce .wc300-storefront div.product div.images{width:49%;margin-bottom:36px}
.woocommerce .wc300-storefront div.product div.summary{width:45%;margin:0 0 36px;padding:clamp(22px,3vw,36px);background:#f7f8f4;border:1px solid var(--shop-line);border-radius:24px;min-width:0}
.woocommerce .wc300-storefront div.product .product_title{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:0 0 16px;font-family:'Roboto Serif',Georgia,serif;font-weight:400;color:var(--shop-ink)}
.woocommerce .wc300-storefront div.product p.price,.woocommerce .wc300-storefront div.product span.price{color:var(--shop-ink);font-size:24px;font-weight:500;margin:0 0 24px}
.woocommerce .wc300-storefront div.product .woocommerce-product-gallery__wrapper{border-radius:20px;overflow:hidden}
.woocommerce .wc300-storefront div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.woocommerce .wc300-storefront div.product div.images .flex-control-thumbs li{width:auto;float:none;border:1px solid var(--shop-line);border-radius:12px;overflow:hidden}
.woocommerce .wc300-storefront div.product div.images .flex-control-thumbs li img{opacity:.7}
.woocommerce .wc300-storefront div.product div.images .flex-control-thumbs li img.flex-active{opacity:1}
.woocommerce .wc300-storefront div.product form.cart{margin:24px 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.woocommerce .wc300-storefront div.product form.variations_form{display:block}
.woocommerce .wc300-storefront div.product form.cart div.quantity{margin:0;float:none}
.woocommerce .wc300-storefront .quantity .qty{width:76px;min-height:50px;border:1px solid #b6c5bd;border-radius:12px;background:#fff;color:var(--shop-ink);font:inherit;padding:10px}
.woocommerce .wc300-storefront a.button,.woocommerce .wc300-storefront button.button,.woocommerce .wc300-storefront input.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;background:var(--shop-teal);color:#fff;border:1px solid var(--shop-teal);border-radius:999px;font-family:Roboto,Arial,sans-serif;font-size:15px;font-weight:600;line-height:1.3;text-decoration:none;text-align:center;white-space:normal;box-shadow:none}
.woocommerce .wc300-storefront button.single_add_to_cart_button{background:#95c11f;border-color:#95c11f;color:#173329;flex:1;min-height:50px}
.woocommerce .wc300-storefront .button:hover{background:#244e52;color:#fff}
.woocommerce .wc300-storefront button.single_add_to_cart_button:hover{background:#86ad1a;color:#173329}
.woocommerce .wc300-storefront .button:disabled,.woocommerce .wc300-storefront .button.disabled{opacity:.5;cursor:not-allowed}
.woocommerce .wc300-storefront div.product .variations select,.wc300-storefront .woocommerce-ordering select{max-width:100%;min-height:48px;border:1px solid #b6c5bd;border-radius:10px;padding:10px 32px 10px 12px;background-color:#fff;color:var(--shop-ink);font:inherit}
.woocommerce .wc300-storefront div.product .variations th,.woocommerce .wc300-storefront div.product .variations td{padding:8px 0;border:0;background:transparent}
.woocommerce .wc300-storefront .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.woocommerce .wc300-storefront .product_meta{border-top:1px solid var(--shop-line);padding-top:20px;margin-top:24px;font-size:12px;color:#596c69;overflow-wrap:anywhere}
.woocommerce .wc300-storefront .product_meta>span{display:block;margin-top:6px}
/* Stripe owns the wallet artwork; bound its host instead of overriding iframe contents. */
.wc300-storefront #wc-stripe-express-checkout-element,.wc300-storefront #wc-stripe-payment-request-wrapper{width:100%;max-width:100%;margin:18px 0 0;clear:both}
.woocommerce .wc300-storefront div.product .woocommerce-tabs{clear:both;padding-top:12px}
.woocommerce .wc300-storefront div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 24px;overflow:visible}
.woocommerce .wc300-storefront div.product .woocommerce-tabs ul.tabs:before,.woocommerce .wc300-storefront div.product .woocommerce-tabs ul.tabs li:before,.woocommerce .wc300-storefront div.product .woocommerce-tabs ul.tabs li:after{display:none}
.woocommerce .wc300-storefront div.product .woocommerce-tabs ul.tabs li{margin:0;padding:0;border:1px solid var(--shop-line);border-radius:999px;background:#fff}
.woocommerce .wc300-storefront div.product .woocommerce-tabs ul.tabs li a{display:block;padding:12px 20px;min-height:48px;color:var(--shop-teal);font-weight:500;font-size:14px}
.woocommerce .wc300-storefront div.product .woocommerce-tabs ul.tabs li.active{background:var(--shop-teal);border-color:var(--shop-teal)}
.woocommerce .wc300-storefront div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce .wc300-storefront div.product .woocommerce-tabs .panel{border:1px solid var(--shop-line);background:#f8f9f6;padding:clamp(22px,3vw,36px);border-radius:20px;margin:0 0 48px;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.woocommerce .wc300-storefront .woocommerce-tabs .panel>h2{font-size:28px;margin:0 0 20px}
.wc300-storefront .woocommerce-tabs .panel p{max-width:80ch;margin-bottom:18px}
.woocommerce .wc300-storefront section.related>h2,.woocommerce .wc300-storefront section.up-sells>h2{font-size:32px;margin:0 0 24px}
.woocommerce .wc300-storefront ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 32px;clear:both}
.woocommerce .wc300-storefront ul.products:before,.woocommerce .wc300-storefront ul.products:after{display:none}
.woocommerce .wc300-storefront ul.products li.product{width:auto;float:none;margin:0;padding:0 0 22px;border:1px solid var(--shop-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;background:#fff;box-shadow:0 4px 16px #19374606}
.woocommerce .wc300-storefront ul.products li.product a img{aspect-ratio:1;object-fit:contain;background:#fff;margin:0 0 18px}
.woocommerce .wc300-storefront ul.products li.product h2.woocommerce-loop-product__title{padding:0 20px 10px;color:var(--shop-ink);font:500 18px/1.4 Roboto,Arial,sans-serif}
.woocommerce .wc300-storefront ul.products li.product .price{padding:0 20px;color:var(--shop-ink);font-size:16px;font-weight:500}
.woocommerce .wc300-storefront ul.products li.product .button{align-self:flex-start;margin:16px 20px 0;font-size:14px;padding:12px 18px}
.woocommerce .wc300-storefront ul.products li.product .star-rating{margin-left:20px}
.wc300-shop-note{clear:both;background:#f2f5ee;border:1px solid var(--shop-line);border-radius:20px;padding:28px;margin:32px 0 0}
.wc300-shop-note h2{font-size:26px;margin:0 0 12px}.wc300-shop-note p{margin:0;max-width:80ch}
@media(max-width:767px){
 .woocommerce .wc300-storefront div.product div.images,.woocommerce .wc300-storefront div.product div.summary{width:100%;float:none;margin-bottom:24px}
 .wc300-storefront{padding:24px 20px 48px}
 .woocommerce .wc300-storefront div.product .product_title{font-size:30px}
 .woocommerce .wc300-storefront ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .woocommerce .wc300-storefront ul.products li.product h2.woocommerce-loop-product__title{padding:0 12px 8px;font-size:16px}
 .woocommerce .wc300-storefront ul.products li.product .price{padding:0 12px}
 .woocommerce .wc300-storefront ul.products li.product .button{margin:12px 12px 0;padding:10px 12px;font-size:13px}
 .woocommerce .wc300-storefront .woocommerce-ordering{float:none;margin:0 0 24px}
 .woocommerce .wc300-storefront .woocommerce-result-count{float:none}
 .wc300-shop-categories{gap:8px}.wc300-shop-categories a{padding:10px 14px;font-size:13px}
}
@media(max-width:359px){.woocommerce .wc300-storefront ul.products{grid-template-columns:1fr}}

/* Product specifications: aligned labels and values with equal breathing room. */
.woocommerce .wc300-storefront table.shop_attributes{width:100%;border-collapse:collapse;border:0;margin:0;text-align:left;table-layout:fixed}
.woocommerce .wc300-storefront table.shop_attributes th,.woocommerce .wc300-storefront table.shop_attributes td{padding:16px 20px;border:0;border-bottom:1px solid var(--shop-line);background:transparent;text-align:left;vertical-align:top;font-style:normal;font-size:16px;line-height:1.65;overflow-wrap:anywhere}
.woocommerce .wc300-storefront table.shop_attributes th{width:30%;font-weight:600;color:var(--shop-ink)}
.woocommerce .wc300-storefront table.shop_attributes tr:last-child th,.woocommerce .wc300-storefront table.shop_attributes tr:last-child td{border-bottom:0}
.woocommerce .wc300-storefront table.shop_attributes td p{padding:0;margin:0;max-width:none}
@media(max-width:767px){.woocommerce .wc300-storefront table.shop_attributes th,.woocommerce .wc300-storefront table.shop_attributes td{padding:12px 10px;font-size:14px}.woocommerce .wc300-storefront table.shop_attributes th{width:35%}}

/* Keep every catalogue action compact, centred and on its row's baseline. */
.woocommerce .wc300-storefront ul.products li.product > .woocommerce-loop-product__link{display:block;flex:1;padding-bottom:18px}
.woocommerce .wc300-storefront ul.products li.product > a.button{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto;height:44px;min-height:44px;max-width:calc(100% - 40px);margin:0 20px;padding:0 18px;line-height:1.2!important}
.woocommerce .wc300-storefront .product_meta .sku_wrapper{display:none}
.woocommerce .wc300-storefront .wc300-product-details{border-top:1px solid var(--shop-line);padding-top:22px;margin-top:24px}
.woocommerce .wc300-storefront .wc300-product-details h2{font-size:22px;margin:0 0 12px}
.woocommerce .wc300-storefront .wc300-product-details table.shop_attributes th,.woocommerce .wc300-storefront .wc300-product-details table.shop_attributes td{padding:10px 0;font-size:14px;line-height:1.6}
.woocommerce .wc300-storefront .wc300-product-details table.shop_attributes th{width:32%;padding-right:16px}
@media(max-width:767px){.woocommerce .wc300-storefront ul.products li.product > a.button{margin:0 12px;max-width:calc(100% - 24px);padding:0 12px;font-size:13px}}
