/* Bassani's — WooCommerce brand layer.
   Restyles every piece of markup WooCommerce (classic templates, shortcodes and
   blocks) can print, so no default purple buttons, olive prices or pink links
   ever appear — even outside the custom Elementor sections. */
:root{--bsw-navy:#0f2c4a;--bsw-navy2:#1a3d63;--bsw-ink:#1d3350;--bsw-muted:#5b6b7e;--bsw-cream:#fbf6ef;--bsw-paper:#fffcf8;--bsw-sand:#f5ede1;--bsw-line:#e6dccd;--bsw-gold:#c49a55;--bsw-green:#3c5a45;--bsw-red:#9b3a2e;--bsw-serif:"Gilda Display",Georgia,"Times New Roman",serif;--bsw-sans:"Jost","Helvetica Neue",Arial,sans-serif;--bsw-ls:.14em}
html[lang=he]{--bsw-serif:"Frank Ruhl Libre",Georgia,serif;--bsw-sans:"Assistant",Arial,sans-serif;--bsw-ls:.03em}
html[lang=ar]{--bsw-serif:"Amiri",Georgia,serif;--bsw-sans:"Tajawal",Arial,sans-serif;--bsw-ls:0}

/* ---------- theme reset safety net: Hello Elementor paints bare buttons and links pink (#c36).
   Same specificity as the theme reset and loaded after it, so it wins there — while every
   section's own class-based button styles (inline, later in the document) still win over it. */
[type=button],[type=submit],button{color:var(--bsw-navy);border-color:var(--bsw-navy)}
[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{background-color:var(--bsw-navy);color:#fff}
body{font-family:var(--bsw-serif);color:var(--bsw-ink)}
a{color:var(--bsw-navy)}
a:active,a:hover{color:var(--bsw-navy2)}

/* ---------- base colours & type inside WooCommerce areas */
body.woocommerce-page,body.woocommerce{background:var(--bsw-cream)}
.woocommerce,.woocommerce-page .woocommerce,.wc-block-components-main,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{color:var(--bsw-ink);font-family:var(--bsw-serif)}
/* zero-specificity scopes: body.woocommerce wraps the whole page on shop/product/collection views, so these
   defaults must never outrank the header, footer or any section's own class-based styles */
:where(.woocommerce,.wc-block-components-main) a:where(:not(.button):not(.wc-block-components-button):not([class*="bs-"])){color:var(--bsw-navy)}
:where(.woocommerce) a:where(:not(.button):not([class*="bs-"])):hover{color:var(--bsw-navy2)}
:where(.woocommerce) :is(h1,h2,h3),:where(.woocommerce-page) h1.page-title,:where(.woocommerce) .product_title,.wc-block-components-title,.wc-block-components-checkout-step__title{font-family:var(--bsw-serif);font-weight:400;color:var(--bsw-navy);letter-spacing:0}

/* ---------- prices */
.woocommerce .price,.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce ul.products li.product .price,.woocommerce .woocommerce-variation-price .price,.woocommerce .amount,.woocommerce-Price-amount,.wc-block-components-product-price,.wc-block-formatted-money-amount,.wc-block-components-totals-item__value{color:var(--bsw-navy);font-family:var(--bsw-serif)}
.woocommerce .price ins,.woocommerce div.product p.price ins{text-decoration:none;color:var(--bsw-navy)}
.woocommerce .price del,.woocommerce div.product p.price del,.wc-block-components-product-price__regular{color:var(--bsw-muted);opacity:.8}
.woocommerce span.onsale,.wc-block-components-product-sale-badge{min-height:0;min-width:0;padding:6px 10px;line-height:1;border-radius:0;background:var(--bsw-navy);color:#fff;font-family:var(--bsw-sans);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:0}

/* ---------- buttons (classic + blocks) */
.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,.woocommerce .button.wc-forward,.woocommerce-page a.button,.woocommerce-page button.button,.woocommerce a.added_to_cart,.woocommerce .woocommerce-message .button,.wc-block-components-button:not(.is-link),.wp-block-button__link.wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.woocommerce .wp-element-button,.woocommerce-page .wp-element-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border:1px solid var(--bsw-navy);border-radius:1px;background:var(--bsw-navy);color:#fff;font-family:var(--bsw-sans);font-size:11.5px;font-weight:500;letter-spacing:var(--bsw-ls);text-transform:uppercase;line-height:1.2;text-decoration:none;box-shadow:0 14px 26px -18px rgba(15,44,74,.9);transition:background-color .3s,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;cursor:pointer}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce a.added_to_cart:hover,.wc-block-components-button:not(.is-link):hover,.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover,.woocommerce .wp-element-button:hover{background:var(--bsw-navy2);border-color:var(--bsw-navy2);color:#fff;transform:translateY(-2px);box-shadow:0 20px 32px -20px rgba(15,44,74,.95)}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce button.button.alt.disabled,.woocommerce button.button.alt:disabled,.wc-block-components-button:disabled{opacity:.55;cursor:not-allowed;transform:none;background:var(--bsw-navy);color:#fff}
.woocommerce a.button.loading:after,.woocommerce button.button.loading:after{top:auto;right:10px}
/* secondary / ghost buttons */
.woocommerce .woocommerce-message a.button.wc-forward,.woocommerce .cart .button[name="update_cart"],.woocommerce .coupon .button,.woocommerce .woocommerce-Addresses .edit,.woocommerce-MyAccount-content .button.view,.woocommerce .return-to-shop .button{background:transparent;color:var(--bsw-navy);box-shadow:none}
.woocommerce .woocommerce-message a.button.wc-forward:hover,.woocommerce .cart .button[name="update_cart"]:hover,.woocommerce .coupon .button:hover,.woocommerce-MyAccount-content .button.view:hover{background:var(--bsw-navy);color:#fff}
.wc-block-components-button.is-link,.woocommerce a.reset_variations,.woocommerce .woocommerce-remove-coupon,.wc-block-components-totals-coupon-link{color:var(--bsw-navy);font-family:var(--bsw-sans);font-size:12px;letter-spacing:.06em;text-decoration:underline}

/* ---------- forms */
.woocommerce form .form-row label,.woocommerce-page form .form-row label,:where(.woocommerce) form label:where(:not([class*="bs-"])),.wc-block-components-text-input label,.wc-block-components-combobox label{font-family:var(--bsw-sans);font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--bsw-navy)}
.woocommerce form .form-row .required,:where(.woocommerce) form .required{color:var(--bsw-red);text-decoration:none;border:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-page form .form-row input.input-text,.woocommerce table.variations select,.woocommerce .quantity .qty,.woocommerce #respond textarea,.woocommerce #respond input[type=text],.woocommerce #respond input[type=email],.woocommerce-cart table.cart td.actions .coupon .input-text,.woocommerce form.woocommerce-ordering select,.select2-container--default .select2-selection--single,.wc-block-components-text-input input,.wc-block-components-textarea,.wc-blocks-components-select .wc-blocks-components-select__select{min-height:48px;padding:11px 14px;border:1px solid #d9cdbb;border-radius:1px;background:#fffdf9;color:var(--bsw-navy);font-family:var(--bsw-serif);font-size:16px;line-height:1.4;box-shadow:none;outline:0;transition:border-color .25s,box-shadow .25s}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus,.woocommerce table.variations select:focus,.woocommerce .quantity .qty:focus,.wc-block-components-text-input input:focus,.select2-container--default.select2-container--focus .select2-selection--single{border-color:var(--bsw-navy);box-shadow:0 0 0 3px rgba(196,154,85,.25)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:24px;padding:0;color:var(--bsw-navy)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px}
.select2-dropdown{border-color:#d9cdbb;border-radius:1px;font-family:var(--bsw-serif)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--bsw-navy);color:#fff}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--bsw-red)}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:#a9b8a6}
.woocommerce form .form-row{margin-bottom:14px}
.woocommerce .quantity .qty{width:84px;text-align:center}
.woocommerce input[type=checkbox],.woocommerce input[type=radio],.wc-block-components-checkbox__input[type=checkbox],.wc-block-components-radio-control__input{accent-color:var(--bsw-navy)}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--bsw-navy);border-color:var(--bsw-navy)}
.wc-block-components-radio-control__input:checked:before{background:var(--bsw-navy)}

/* ---------- notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments,.wc-block-components-notice-banner{position:relative;margin:0 0 22px;padding:16px 20px 16px 52px;border:1px solid var(--bsw-line);border-top:0;border-inline-start:3px solid var(--bsw-navy);border-radius:0;background:var(--bsw-paper);color:var(--bsw-ink);font-family:var(--bsw-serif);font-size:15.5px;line-height:1.55;box-shadow:0 18px 34px -30px rgba(15,44,74,.6);list-style:none}
html[dir=rtl] .woocommerce-message,html[dir=rtl] .woocommerce-info,html[dir=rtl] .woocommerce-error{padding:16px 52px 16px 20px}
.woocommerce-message:before,.woocommerce-info:before,.woocommerce-error:before{position:absolute;top:50%;inset-inline-start:18px;left:auto;transform:translateY(-50%);color:var(--bsw-navy);font-size:18px}
.woocommerce-message{border-inline-start-color:var(--bsw-green)}
.woocommerce-message:before{color:var(--bsw-green)}
.woocommerce-info{border-inline-start-color:var(--bsw-gold)}
.woocommerce-info:before{color:var(--bsw-gold)}
.woocommerce-error{border-inline-start-color:var(--bsw-red)}
.woocommerce-error:before{color:var(--bsw-red)}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{float:none;margin-inline-start:14px;min-height:38px;padding:0 16px}
.wc-block-components-notice-banner{padding:14px 18px}
.wc-block-components-notice-banner>svg{fill:var(--bsw-navy);background:transparent}
.wc-block-components-notice-banner.is-success{border-inline-start-color:var(--bsw-green)}
.wc-block-components-notice-banner.is-error{border-inline-start-color:var(--bsw-red)}
.woocommerce-store-notice,p.demo_store{background:var(--bsw-navy);color:#fff;font-family:var(--bsw-sans);font-size:13px;letter-spacing:.04em}

/* ---------- tables (cart, order review, order details, account) */
.woocommerce table.shop_table,.woocommerce-page table.shop_table{border:1px solid var(--bsw-line);border-radius:0;border-collapse:collapse;background:var(--bsw-paper);font-family:var(--bsw-serif);color:var(--bsw-ink)}
.woocommerce table.shop_table th{font-family:var(--bsw-sans);font-size:11.5px;font-weight:500;letter-spacing:var(--bsw-ls);text-transform:uppercase;color:var(--bsw-navy);background:var(--bsw-sand)}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-top:1px solid var(--bsw-line);padding:14px 16px}
.woocommerce table.shop_table tfoot th,.woocommerce table.shop_table tfoot td{background:transparent}
.woocommerce table.shop_table .order-total .amount,.woocommerce table.shop_table .order-total th{font-size:18px}
.woocommerce a.remove{color:var(--bsw-muted);border:1px solid var(--bsw-line);font-weight:400;line-height:1.05}
.woocommerce a.remove:hover{background:var(--bsw-navy);color:#fff;border-color:var(--bsw-navy)}
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout #order_review_heading,.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3{font-family:var(--bsw-serif);font-weight:400;color:var(--bsw-navy)}
.woocommerce ul#shipping_method li label,.woocommerce-shipping-destination,.woocommerce-shipping-calculator .shipping-calculator-button{font-family:var(--bsw-serif);color:var(--bsw-ink)}
.woocommerce-checkout #payment,.woocommerce-checkout-payment{background:var(--bsw-sand);border:1px solid var(--bsw-line);border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--bsw-line)}
.woocommerce-checkout #payment div.payment_box{background:var(--bsw-paper);color:var(--bsw-ink);border:1px solid var(--bsw-line);font-family:var(--bsw-serif);font-size:15px}
.woocommerce-checkout #payment div.payment_box:before{border-bottom-color:var(--bsw-paper)}
.woocommerce-terms-and-conditions-wrapper,.woocommerce-privacy-policy-text{font-family:var(--bsw-serif);font-size:14px;color:var(--bsw-ink)}

/* ---------- product (default templates / widgets) */
.woocommerce .star-rating,.wc-block-components-product-rating__stars{color:var(--bsw-gold)}
.woocommerce .star-rating:before{color:#d9cdbb}
.woocommerce p.stars a,.woocommerce p.stars a:before{color:var(--bsw-gold)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border-color:var(--bsw-line);background:var(--bsw-sand);border-radius:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--bsw-paper);border-bottom-color:var(--bsw-paper)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--bsw-sans);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--bsw-navy)}
.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:before{border-color:var(--bsw-line)}
.woocommerce div.product form.cart .variations th,.woocommerce div.product form.cart .variations label{font-family:var(--bsw-sans);font-weight:500;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--bsw-navy)}
.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{background:transparent}
.woocommerce .product_meta,.woocommerce .product_meta a,.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb a{font-family:var(--bsw-sans);font-size:13px;color:var(--bsw-muted)}
.woocommerce .woocommerce-product-gallery__trigger{background:var(--bsw-paper);box-shadow:0 8px 20px -10px rgba(15,44,74,.5)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--bsw-serif);font-weight:400;color:var(--bsw-navy)}
.woocommerce nav.woocommerce-pagination ul{border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0 3px}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:40px;height:40px;display:inline-grid;place-items:center;border:1px solid var(--bsw-line);background:var(--bsw-paper);font-family:var(--bsw-sans);color:var(--bsw-navy)}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--bsw-navy);color:#fff}
.woocommerce .woocommerce-result-count{font-family:var(--bsw-sans);font-size:13px;color:var(--bsw-muted)}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border:1px solid var(--bsw-line);border-radius:0;background:var(--bsw-paper)}
.woocommerce #reviews #comments ol.commentlist li img.avatar{border:0;background:var(--bsw-sand);border-radius:50%}
.woocommerce #review_form #respond .comment-reply-title{font-family:var(--bsw-serif);font-size:22px;color:var(--bsw-navy)}

/* ---------- my account */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--bsw-line);background:var(--bsw-paper)}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{display:block;padding:13px 18px;border-bottom:1px solid var(--bsw-line);font-family:var(--bsw-sans);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--bsw-navy)}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{background:var(--bsw-navy);color:#fff}
.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon,.woocommerce form.lost_reset_password{border:1px solid var(--bsw-line);border-radius:0;background:var(--bsw-paper);padding:28px}
.woocommerce-account .addresses .title h3,.woocommerce-order-details__title,.woocommerce-column__title{font-family:var(--bsw-serif);font-weight:400;color:var(--bsw-navy)}
.woocommerce ul.order_details{border:1px dashed var(--bsw-line);background:var(--bsw-paper);padding:18px;font-family:var(--bsw-sans);color:var(--bsw-muted)}
.woocommerce ul.order_details li strong{font-family:var(--bsw-serif);color:var(--bsw-navy);text-transform:none}
.woocommerce .woocommerce-thankyou-order-received{font-family:var(--bsw-serif);font-size:22px;color:var(--bsw-navy)}

/* ---------- mini cart / widgets */
.widget_shopping_cart .total,.woocommerce.widget_shopping_cart .total{border-top:1px solid var(--bsw-line);color:var(--bsw-navy)}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{background:var(--bsw-navy)}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{background:var(--bsw-line)}

/* ---------- block cart / checkout (in case blocks are used) */
.wc-block-components-sidebar-layout .wc-block-components-main,.wc-block-components-sidebar{font-family:var(--bsw-serif)}
.wc-block-components-totals-wrapper,.wc-block-components-order-summary{border-color:var(--bsw-line)}
.wc-block-components-product-name{color:var(--bsw-navy);font-family:var(--bsw-serif)}
.wc-block-components-product-badge{border-radius:0;border-color:var(--bsw-navy);color:var(--bsw-navy);font-family:var(--bsw-sans)}
.wc-block-components-quantity-selector{border-radius:1px;border-color:#d9cdbb}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{color:var(--bsw-navy)}
.wc-block-components-panel__button,.wc-block-components-totals-item__label,.wc-block-components-order-summary-item__description{font-family:var(--bsw-serif);color:var(--bsw-ink)}

/* ---------- focus */
.woocommerce :focus-visible,.wc-block-components-main :focus-visible{outline:2px solid var(--bsw-gold);outline-offset:3px}

/* ---------- add-to-cart toast (bs-commerce.js) */
.bs-toast{position:fixed;z-index:2000;inset-inline-end:clamp(12px,3vw,32px);bottom:clamp(12px,3vw,32px);width:min(380px,calc(100vw - 24px));padding:18px 20px;background:var(--bsw-paper);border:1px solid var(--bsw-line);border-inline-start:3px solid var(--bsw-green);box-shadow:0 30px 60px -28px rgba(15,44,74,.55);font-family:var(--bsw-serif);color:var(--bsw-ink);opacity:0;visibility:hidden;transform:perspective(900px) translate3d(0,24px,0) rotateX(12deg);transform-origin:50% 100%;transition:opacity .35s,transform .6s cubic-bezier(.16,.84,.24,1),visibility .35s}
.bs-toast.is-on{opacity:1;visibility:visible;transform:none}
.bs-toast.is-error{border-inline-start-color:var(--bsw-red)}
.bs-toast__msg{margin:0;font-size:15.5px;line-height:1.45;color:var(--bsw-navy)}
.bs-toast__actions{display:flex;gap:10px;margin-top:14px}
.bs-toast__btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid var(--bsw-navy);font-family:var(--bsw-sans);font-size:11px;font-weight:500;letter-spacing:var(--bsw-ls);text-transform:uppercase;color:var(--bsw-navy);text-decoration:none;transition:background .3s,color .3s}
.bs-toast__btn:hover{background:var(--bsw-navy);color:#fff}
.bs-toast__btn--solid{background:var(--bsw-navy);color:#fff}
.bs-toast__btn--solid:hover{background:var(--bsw-navy2);color:#fff}
@media (prefers-reduced-motion:reduce){.bs-toast{transition:none}}
