/* the shop's pages — generated by convert.py from tools/woocommerce.css and rules woocommerce.style */
:root{--gs-woo-font:'Montserrat',Arial,sans-serif;--gs-woo-font-display:'Marcellus',Georgia,serif;--gs-woo-brand:#8A014F;--gs-woo-brand-dark:#520130;--gs-woo-ink:#6E1741;--gs-woo-text:#5C4750;--gs-woo-paper:#FFFFFF;--gs-woo-sand:#F1EADE;--gs-woo-ivory:#FAF6EF;--gs-woo-rule:rgba(138,1,79,.2);--gs-woo-ok:#3E6B4F;}
/* The shop's pages (cart, checkout, order received, account) in the design's own voice. The prototype
   has no design for them, so this sheet dresses WooCommerce's and Elementor Pro's own markup with the
   project's tokens (rules woocommerce.style -> --gs-woo-*): font, font-display, brand, brand-dark, ink,
   text, paper, sand, ivory, rule, ok. convert.py prepends the :root block and ships the result as
   assets/css/woocommerce.css; the theme loads it on the shop's pages only. */
/* the page's box (its width, centring and padding) is the container's own setting (convert.py
   write_woocommerce_pages, rules woocommerce.layout): Elementor's container rules outrank a sheet */
.gs-woo{font-family:var(--gs-woo-font,inherit);color:var(--gs-woo-text,#333);font-size:15px;line-height:1.6}
/* the theme restores the prototype's box-sizing (content-box, as a rule) on every element; the boxed
   container's padding must stay inside its width, as Elementor lays it out */
.gs-woo.e-con,.gs-woo>.e-con-inner{box-sizing:border-box}
.gs-woo-page{background:var(--gs-woo-paper,#fff)}
.gs-woo *,.gs-woo *::before,.gs-woo *::after{box-sizing:border-box}
.gs-woo h1,.gs-woo h2,.gs-woo h3,.gs-woo h4{font-family:var(--gs-woo-font-display,inherit);font-weight:400;color:var(--gs-woo-ink,#222);margin:0 0 18px;line-height:1.2}
.gs-woo h3,.gs-woo .e-checkout__container h3,.gs-woo #order_review_heading{font-size:26px}
.gs-woo a{color:var(--gs-woo-brand,#700);text-decoration:none}
@media (hover: hover){.gs-woo a:hover{color:var(--gs-woo-brand-dark,#400)}}
.gs-woo p{margin:0 0 14px}

/* a notice ("added to your cart", a missing field) */
.gs-woo .woocommerce-notices-wrapper{margin:0 0 24px}
.gs-woo .woocommerce-error,.gs-woo .woocommerce-message,.gs-woo .woocommerce-info{margin:0 0 18px;padding:14px 18px;border:1px solid var(--gs-woo-rule,#ddd);border-radius:6px;background:var(--gs-woo-sand,#f5f5f5);color:var(--gs-woo-ink,#222);font-size:14px;list-style:none}
.gs-woo .woocommerce-error{border-color:#b3261e;background:#fff5f4;color:#8a1c16}
.gs-woo .woocommerce-error li,.gs-woo .woocommerce-message li{margin:0}
.gs-woo .woocommerce-error::before,.gs-woo .woocommerce-message::before,.gs-woo .woocommerce-info::before{display:none}
.gs-woo .cart-empty.woocommerce-info{font-family:var(--gs-woo-font-display,inherit);font-size:26px;padding:22px 26px}
.gs-woo .return-to-shop{margin:18px 0 32px}
.gs-woo .product-thumbnail img.woocommerce-placeholder{display:none}
.gs-woo .woocommerce-error a,.gs-woo .woocommerce-message a,.gs-woo .woocommerce-info a{font-weight:600}
.gs-woo .woocommerce-message .button,.gs-woo .woocommerce-info .button{float:right;margin:-4px 0 0 16px}

/* fields */
.gs-woo .form-row{margin:0 0 16px;padding:0}
.gs-woo .form-row label{display:block;margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gs-woo-text,#333)}
.gs-woo .form-row label .required{color:var(--gs-woo-brand,#700);text-decoration:none}
.gs-woo .form-row label .optional{font-weight:400;letter-spacing:0;text-transform:none;opacity:.7}
.gs-woo .input-text,.gs-woo select,.gs-woo textarea,.gs-woo .select2-container .select2-selection--single{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--gs-woo-rule,#ccc);border-radius:4px;background:#fff;font:inherit;font-size:15px;color:var(--gs-woo-ink,#222);transition:border-color .18s ease,box-shadow .18s ease}
.gs-woo .select2-container .select2-selection--single .select2-selection__rendered{line-height:22px;padding:0;color:inherit}
.gs-woo .select2-container .select2-selection--single .select2-selection__arrow{height:46px;right:8px}
.gs-woo textarea{min-height:120px;resize:vertical}
.gs-woo .input-text:focus,.gs-woo select:focus,.gs-woo textarea:focus,.gs-woo .select2-container--focus .select2-selection--single,.gs-woo .select2-container--open .select2-selection--single{outline:none;border-color:var(--gs-woo-brand,#700);box-shadow:0 0 0 3px color-mix(in srgb,var(--gs-woo-brand,#700) 16%,transparent)}
.gs-woo .woocommerce-invalid .input-text,.gs-woo .woocommerce-invalid .select2-selection--single{border-color:#b3261e}
.gs-woo .woocommerce-validated .input-text{border-color:var(--gs-woo-ok,#3a6)}
.gs-woo .woocommerce-input-wrapper{display:block}
.gs-woo .form-row-first,.gs-woo .form-row-last{width:calc(50% - 8px)}
.gs-woo .form-row-first{float:left}
.gs-woo .form-row-last{float:right}
.gs-woo .form-row-wide,.gs-woo .form-row-first + .form-row:not(.form-row-last){clear:both}
.gs-woo .woocommerce-billing-fields__field-wrapper::after,.gs-woo .woocommerce-shipping-fields__field-wrapper::after,.gs-woo .woocommerce-additional-fields__field-wrapper::after{content:"";display:table;clear:both}
@media (max-width:600px){.gs-woo .form-row-first,.gs-woo .form-row-last{width:100%;float:none}}

/* a button */
.gs-woo .button,.gs-woo button.button,.gs-woo input[type=submit],.gs-woo .checkout-button{display:inline-block;background:var(--gs-woo-brand,#700);color:var(--gs-woo-ivory,#fff);border:0;border-radius:4px;padding:14px 26px;font:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;text-decoration:none;transition:background .18s ease}
@media (hover: hover){.gs-woo .button:hover,.gs-woo button.button:hover,.gs-woo input[type=submit]:hover,.gs-woo .checkout-button:hover{background:var(--gs-woo-brand-dark,#400);color:var(--gs-woo-ivory,#fff)}}
.gs-woo .button:disabled,.gs-woo button.button:disabled{opacity:.5;cursor:default}
.gs-woo .button.alt,.gs-woo #place_order{width:100%;padding:16px 26px;font-size:15px}

/* the checkout and the cart: Elementor Pro's widgets paint their sections, fields and buttons from
   custom properties — set to the design's tokens, so nothing is painted twice */
.gs-woo .elementor-widget-woocommerce-checkout-page,.gs-woo .elementor-widget-woocommerce-cart{
  --sections-background-color:var(--gs-woo-sand,#f5f5f5);--sections-border-color:var(--gs-woo-rule,#ddd);--sections-border-type:solid;--sections-border-radius:6px;--sections-padding:26px 28px;--sections-margin:0 0 28px 0;
  --sections-title-color:var(--gs-woo-ink,#222);--sections-secondary-title-color:var(--gs-woo-ink,#222);--sections-descriptions-color:var(--gs-woo-text,#333);--sections-messages-color:var(--gs-woo-text,#333);
  --sections-radio-buttons-color:var(--gs-woo-brand,#700);--sections-checkboxes-color:var(--gs-woo-brand,#700);
  --forms-labels-color:var(--gs-woo-text,#333);--forms-label-spacing:6px;--forms-fields-normal-color:var(--gs-woo-ink,#222);--forms-fields-focus-color:var(--gs-woo-ink,#222);--forms-fields-border-radius:4px;--forms-fields-padding:12px 14px;--forms-rows-gap:16px;
  --forms-buttons-normal-text-color:var(--gs-woo-ivory,#fff);--forms-buttons-hover-text-color:var(--gs-woo-ivory,#fff);--forms-buttons-hover-background-color:var(--gs-woo-brand-dark,#400);--forms-buttons-border-type:solid;--forms-buttons-border-color:var(--gs-woo-brand,#700);--forms-buttons-hover-border-color:var(--gs-woo-brand-dark,#400);--forms-buttons-border-radius:4px;--forms-buttons-padding:13px 22px;
  --purchase-button-normal-text-color:var(--gs-woo-ivory,#fff);--purchase-button-hover-text-color:var(--gs-woo-ivory,#fff);--purchase-button-hover-border-color:var(--gs-woo-brand-dark,#400);--purchase-button-border-radius:4px;--purchase-button-padding:16px 26px;--purchase-button-width:100%;
  --checkout-button-normal-text-color:var(--gs-woo-ivory,#fff);--checkout-button-hover-text-color:var(--gs-woo-ivory,#fff);--checkout-button-hover-border-color:var(--gs-woo-brand-dark,#400);--checkout-button-border-radius:4px;--checkout-button-padding:16px 26px;--checkout-button-width:100%;
  --order-summary-items-color:var(--gs-woo-ink,#222);--order-summary-totals-color:var(--gs-woo-ink,#222);--order-summary-variations-color:var(--gs-woo-text,#333);--order-summary-items-divider-color:var(--gs-woo-rule,#ddd);--order-summary-totals-divider-color:var(--gs-woo-rule,#ddd);
  --order-summary-color:var(--gs-woo-ink,#222);--order-summary-title-color:var(--gs-woo-ink,#222);--totals-color:var(--gs-woo-ink,#222);--totals-divider-color:var(--gs-woo-rule,#ddd);--product-link-normal-color:var(--gs-woo-ink,#222);--product-link-hover-color:var(--gs-woo-brand,#700);
  --links-normal-color:var(--gs-woo-brand,#700);--links-hover-color:var(--gs-woo-brand-dark,#400)}
/* the widgets' own colours and sizes that are not properties (selectors as specific as Pro's) */
.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment #place_order,.gs-woo .elementor-widget-woocommerce-cart .woocommerce .checkout-button{background-color:var(--gs-woo-brand,#700);font-size:15px;font-weight:600;font-family:inherit}
@media (hover: hover){.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment #place_order:hover,.gs-woo .elementor-widget-woocommerce-cart .woocommerce .checkout-button:hover{background-color:var(--gs-woo-brand-dark,#400)}}
.gs-woo .elementor-widget-woocommerce-cart{--e-a-bg-default:var(--gs-woo-brand,#700)}
.gs-woo .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button{background-color:var(--gs-woo-brand,#700);color:var(--gs-woo-ivory,#fff)}
@media (hover: hover){.gs-woo .elementor-widget-woocommerce-cart .woocommerce .wc-proceed-to-checkout .checkout-button:hover{background-color:var(--gs-woo-brand-dark,#400)}}
@media (hover: hover){.gs-woo .elementor-widget-woocommerce-cart .woocommerce button.button:hover{background-color:var(--gs-woo-brand-dark,#400)}}
.gs-woo .elementor-widget-woocommerce-cart .woocommerce .return-to-shop .button{display:inline-block;padding:13px 24px;line-height:1.2;background:transparent;border:1.5px solid var(--gs-woo-brand,#700);color:var(--gs-woo-brand,#700)}
@media (hover: hover){.gs-woo .elementor-widget-woocommerce-cart .woocommerce .return-to-shop .button:hover{background:var(--gs-woo-brand,#700);color:var(--gs-woo-ivory,#fff)}}
.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce h3,.gs-woo .elementor-widget-woocommerce-cart .woocommerce h2{font-family:var(--gs-woo-font-display,inherit);font-size:26px;font-weight:400;line-height:1.2;margin:0 0 18px}
.gs-woo .elementor-widget-woocommerce-checkout-page .select2-container--default .select2-selection--single{background-color:#fff;border:1px solid var(--gs-woo-rule,#ccc);border-radius:4px;min-height:48px}
.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce .wc_payment_method > label{font-size:15px;font-weight:600;color:var(--gs-woo-ink,#222)}
.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row .input-text,.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row select,.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row textarea,.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce .e-coupon-box .form-row .input-text,.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce .e-woocommerce-login-anchor .form-row .input-text,.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-additional-fields .form-row textarea{background-color:#fff;border:1px solid var(--gs-woo-rule,#ccc);font-size:15px;font-family:inherit}
.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row .input-text:focus,.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row select:focus,.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce #customer_details .form-row textarea:focus,.gs-woo .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-additional-fields .form-row textarea:focus{background-color:#fff;border-color:var(--gs-woo-brand,#700);box-shadow:0 0 0 3px color-mix(in srgb,var(--gs-woo-brand,#700) 16%,transparent)}
.gs-woo .e-checkout__order_review .shop_table .product-name{font-weight:600}
.gs-woo .woocommerce-form-login-toggle .woocommerce-info,.gs-woo .woocommerce-form-coupon-toggle .woocommerce-info{margin:0;padding:0;border:0;background:transparent}
.gs-woo .payment_box{background:#fff;border:1px solid var(--gs-woo-rule,#ddd);border-radius:4px;font-size:13.5px}
.gs-woo .payment_box p:last-child{margin:0}
.gs-woo .woocommerce-privacy-policy-text{font-size:12.5px;line-height:1.55}
.gs-woo .woocommerce-terms-and-conditions-wrapper{font-size:13.5px}
.gs-woo .blockUI.blockOverlay{border-radius:6px}

/* the order received */
.gs-woo .woocommerce-order > p,.gs-woo .woocommerce-thankyou-order-received{font-family:var(--gs-woo-font-display,inherit);font-size:26px;line-height:1.3;color:var(--gs-woo-ink,#222);margin:0 0 22px}
.gs-woo .woocommerce-thankyou-order-failed{color:#8a1c16}
.gs-woo .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:12px 32px;list-style:none;margin:0 0 32px;padding:20px 24px;background:var(--gs-woo-sand,#f5f5f5);border:1px solid var(--gs-woo-rule,#ddd);border-radius:6px}
.gs-woo .woocommerce-order-overview li{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gs-woo-text,#333);margin:0;padding:0;border:0}
.gs-woo .woocommerce-order-overview li strong{display:block;margin-top:4px;font-size:16px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--gs-woo-ink,#222)}
.gs-woo .woocommerce-bacs-bank-details{margin:0 0 32px;padding:22px 24px;background:#fff;border:1px solid var(--gs-woo-rule,#ddd);border-radius:6px}
.gs-woo .woocommerce-bacs-bank-details h2,.gs-woo .woocommerce-bacs-bank-details h3{font-size:22px;margin-bottom:10px}
.gs-woo .wc-bacs-bank-details{list-style:none;margin:0;padding:0}
.gs-woo .wc-bacs-bank-details li{padding:6px 0;border-bottom:1px solid var(--gs-woo-rule,#ddd)}
.gs-woo .woocommerce-order-details,.gs-woo .woocommerce-customer-details{margin:0 0 32px}
.gs-woo .woocommerce-column--billing-address address{font-style:normal;line-height:1.7;padding:18px 22px;background:var(--gs-woo-sand,#f5f5f5);border:1px solid var(--gs-woo-rule,#ddd);border-radius:6px}
.gs-woo .woocommerce-customer-details .woocommerce-customer-details--phone,.gs-woo .woocommerce-customer-details .woocommerce-customer-details--email{margin:6px 0 0}
.gs-woo .gs-woo-extra{margin:12px 0 0;font-size:14.5px}
.gs-woo .gs-woo-extra strong{color:var(--gs-woo-ink,#222)}

/* the cart */
.gs-woo .woocommerce-cart-form .shop_table td{vertical-align:middle}
.gs-woo .woocommerce-cart-form .product-thumbnail,.gs-woo .woocommerce-cart-form .product-thumbnail img{width:64px}
.gs-woo .woocommerce-cart-form .product-remove a{display:inline-block;width:28px;height:28px;line-height:26px;text-align:center;border:1px solid var(--gs-woo-rule,#ddd);border-radius:50%;font-weight:600}
.gs-woo .woocommerce-cart-form .quantity .qty{width:72px;text-align:center;min-height:44px;padding:8px}
.gs-woo .woocommerce-cart-form .coupon{display:flex;gap:10px;align-items:center}
.gs-woo .woocommerce-cart-form .coupon .input-text{width:200px}
.gs-woo .cart-collaterals{display:flex;justify-content:flex-end;margin-top:28px}
.gs-woo .cart_totals{width:100%;max-width:420px}
.gs-woo .cart_totals h2{font-size:24px}
.gs-woo .cart_totals .shop_table th{width:40%}
.gs-woo .wc-proceed-to-checkout{padding-top:6px}
.gs-woo .wc-proceed-to-checkout .checkout-button{display:block;width:100%;text-align:center;padding:16px 26px;font-size:15px}
.gs-woo .cart-empty{font-family:var(--gs-woo-font-display,inherit);font-size:26px;color:var(--gs-woo-ink,#222)}
.gs-woo .return-to-shop .button{background:transparent;border:1.5px solid var(--gs-woo-brand,#700);color:var(--gs-woo-brand,#700)}
@media (hover: hover){.gs-woo .return-to-shop .button:hover{background:var(--gs-woo-brand,#700);color:var(--gs-woo-ivory,#fff)}}
