/* Szmutka – favourites, account, login / registration, search */

/* ---------- heart buttons ---------- */
button.sz-fav { cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; padding: 0; background: none; color: var(--szw-ink); font-family: 'Jost', sans-serif; text-transform: none; letter-spacing: normal; box-shadow: none; }
button.sz-fav svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; transition: fill .2s, transform .2s; }
button.sz-fav.is-active svg { fill: #C8473A; stroke: #C8473A; }
button.sz-fav.is-pop svg { transform: scale(1.25); }
button.sz-fav:focus-visible { outline: 3px solid var(--szw-focus); outline-offset: 2px; }

li.product button.sz-fav--icon { position: absolute; top: 10px; right: 10px; z-index: 3; width: 40px; height: 40px; border-radius: 999px; background: rgb(255 255 255 / .92) !important; color: var(--szw-ink) !important; }
li.product button.sz-fav--icon:hover { background: #fff !important; color: #C8473A !important; }

button.sz-fav--text { min-height: 48px; padding: 0 18px; border: 1px solid var(--szw-field); border-radius: 999px; background: #fff !important; color: var(--szw-ink) !important; font-size: 15px; font-weight: 500; }
button.sz-fav--text:hover { border-color: #C8473A; color: #C8473A !important; }
button.sz-fav--text.is-active { border-color: #C8473A; }
.sz-addtocart .woocommerce-variation-add-to-cart button.sz-fav--text,
.sz-addtocart form.cart:not(.variations_form) button.sz-fav--text { flex: none; }
.single-product .summary > button.sz-fav--text, .sz-summary > .elementor-widget > button.sz-fav--text { margin-top: 8px; }

/* header heart with counter */
.sz-fav-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; color: var(--szw-ink) !important; text-decoration: none !important; transition: background .2s; }
.sz-fav-link:hover { background: var(--szw-paper); }
.sz-fav-link svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.sz-fav-count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #C8473A; color: #fff; font: 600 11px/18px 'Jost', sans-serif; text-align: center; }
.sz-fav-count[hidden] { display: none; }

/* ---------- favourites list ---------- */
.sz-wishlist-count { font-family: 'Jost', sans-serif; color: var(--szw-ink-2); margin: 0 0 24px; }
.sz-wishlist ul.products li.product.sz-removed { opacity: .35; pointer-events: none; transition: opacity .3s; }
.sz-wishlist-empty { max-width: 520px; margin: 24px auto; padding: 48px 32px; text-align: center; background: var(--szw-paper); border: 1px solid #F0E1CA; border-radius: 8px; font-family: 'Jost', sans-serif; color: var(--szw-ink-2); }
.sz-wishlist-empty__icon svg { width: 44px; height: 44px; fill: none; stroke: #C8473A; stroke-width: 1.4; }
.sz-wishlist-empty__title { font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif; font-size: 24px; color: var(--szw-ink); margin: 12px 0 8px; }
.sz-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 26px; margin-top: 12px; border-radius: 999px; background: var(--szw-teal); color: #fff !important; font: 500 15px/1 'Jost', sans-serif; text-decoration: none !important; }
.sz-btn:hover { background: var(--szw-teal-dark); }

/* ---------- account ---------- */
.sz-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid var(--szw-line); border-radius: 8px; }
.sz-account .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.sz-account .woocommerce-MyAccount-navigation li a { display: flex; align-items: center; min-height: 46px; padding: 0 16px !important; border-radius: 6px; color: var(--szw-ink) !important; font-family: 'Jost', sans-serif; font-size: 15px; text-decoration: none; }
.sz-account .woocommerce-MyAccount-navigation li a:hover { background: var(--szw-paper); color: var(--szw-teal) !important; }
.sz-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--szw-paper); color: var(--szw-teal) !important; font-weight: 500; }
.sz-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--szw-ink-2) !important; }

.sz-dash { display: flex; flex-direction: column; gap: 32px; font-family: 'Jost', sans-serif; color: var(--szw-ink); }
.sz-dash__title { font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif; font-size: 32px; line-height: 1.1; margin: 0 0 6px; }
.sz-dash__lead { margin: 0; color: var(--szw-ink-2); }
.sz-dash__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.sz-dash__card { display: flex; flex-direction: column; gap: 6px; padding: 22px; background: var(--szw-paper); border: 1px solid #F0E1CA; border-radius: 8px; text-decoration: none !important; color: var(--szw-ink) !important; }
a.sz-dash__card:hover { border-color: var(--szw-teal); }
.sz-dash__num { font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif; font-size: 29px; line-height: 1; color: var(--szw-teal); }
.sz-dash__num .amount { font-family: inherit; }
.sz-dash__label { font-size: 14px; color: var(--szw-ink-2); }
.sz-dash__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.sz-dash__subtitle { font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif; font-size: 22px; margin: 0; }
.sz-dash__head a, .sz-dash__empty a, .sz-dash__links a { color: var(--szw-teal); font-weight: 500; text-underline-offset: 4px; }
.sz-dash__orders { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--szw-line); }
.sz-dash__orders li a { display: grid; grid-template-columns: 90px 1fr auto auto; gap: 16px; align-items: center; padding: 14px 4px; border-bottom: 1px solid var(--szw-line); color: var(--szw-ink) !important; text-decoration: none; font-size: 15px; }
.sz-dash__orders li a:hover { background: var(--szw-paper); }
.sz-dash__order-no { font-weight: 600; }
.sz-dash__order-date { color: var(--szw-ink-2); }
.sz-dash__order-status { padding: 3px 10px; border-radius: 999px; background: #F6E6D0; font-size: 13px; }
.sz-dash__order-status.sz-status--completed { background: #EAF3F5; color: var(--szw-teal-dark); }
.sz-dash__order-total { font-weight: 500; text-align: right; }
.sz-dash__empty { color: var(--szw-ink-2); }
.sz-dash__links { display: flex; flex-wrap: wrap; gap: 12px 28px; }

/* login + registration */
.sz-account .woocommerce .u-columns, .sz-account #customer_login { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.sz-account #customer_login .u-column1, .sz-account #customer_login .u-column2 { width: auto !important; float: none !important; margin: 0 !important; }
.sz-account #customer_login h2 { font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif; font-size: 26px; font-weight: 500; margin: 0 0 16px; }
.sz-account .woocommerce-form-login, .sz-account .woocommerce-form-register { margin: 0 !important; }
.sz-account .woocommerce-form-login .woocommerce-form-login__rememberme { display: flex !important; align-items: center; gap: 8px; margin: 4px 0 12px; }
.sz-account .woocommerce-form button.button { width: 100%; min-height: 50px; border-radius: 999px !important; }
.sz-account .woocommerce-LostPassword a { color: var(--szw-teal); }
.sz-account .woocommerce-privacy-policy-text { font-size: 13px; color: var(--szw-ink-2); }
.sz-login-intro { margin-bottom: 24px; padding: 22px 26px; background: var(--szw-paper); border: 1px solid #F0E1CA; border-radius: 8px; font-family: 'Jost', sans-serif; color: var(--szw-ink-2); }
.sz-login-intro__title { font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif; font-size: 22px; color: var(--szw-ink); margin: 0 0 8px; }
.sz-login-intro ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }

/* ---------- search ---------- */
.sz-search-empty { padding: 40px 32px; text-align: center; background: var(--szw-paper); border-radius: 8px; font-family: 'Jost', sans-serif; color: var(--szw-ink-2); }

@media (max-width: 760px) {
	.sz-dash__cards { grid-template-columns: minmax(0, 1fr); }
	.sz-dash__orders li a { grid-template-columns: 1fr auto; }
	.sz-dash__order-date { grid-column: 1; }
	.sz-account .woocommerce .u-columns, .sz-account #customer_login { grid-template-columns: minmax(0, 1fr); }
	.sz-dash__title { font-size: 32px; }
}
.sz-search-title { font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif; font-size: 42px; font-weight: 500; line-height: 1.08; color: var(--szw-ink); margin: 0; overflow-wrap: anywhere; }
.sz-search-sub { margin: 10px 0 0; font-family: 'Jost', sans-serif; color: var(--szw-ink-2); }
@media (max-width: 760px) { .sz-search-title { font-size: 36px; } }
.sz-account #customer_login::before, .sz-account #customer_login::after { display: none !important; content: none !important; }
.sz-account .woocommerce-form button.button, .sz-account .woocommerce-Button.button, .sz-account button.woocommerce-Button { background: var(--szw-teal) !important; border: 1.5px solid var(--szw-teal) !important; color: #fff !important; border-radius: 999px !important; font-family: 'Jost', sans-serif !important; font-weight: 500 !important; }
.sz-account .woocommerce-form button.button:hover, .sz-account .woocommerce-Button.button:hover { background: var(--szw-teal-dark) !important; border-color: var(--szw-teal-dark) !important; }
.sz-account .woocommerce-form-row input.input-text { border: 1px solid var(--szw-field) !important; border-radius: 6px !important; background: #fff !important; min-height: 46px; }

/* ---------- WooCommerce notices (info / success / error) ---------- */
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-noreviews, p.no-comments,
.elementor-widget-woocommerce-my-account .woocommerce-info, .elementor-widget-woocommerce-my-account .woocommerce-message, .elementor-widget-woocommerce-my-account .woocommerce-error,
.elementor-widget-woocommerce-cart .woocommerce-info, .elementor-widget-woocommerce-checkout-page .woocommerce-info {
	position: relative; display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
	margin: 0 0 24px !important; padding: 16px 20px 16px 60px !important; list-style: none;
	background: var(--szw-paper) !important; border: 1px solid #F0E1CA !important; border-radius: 8px !important;
	font-family: 'Jost', sans-serif !important; font-size: 15px !important; line-height: 1.5; color: var(--szw-ink) !important; box-shadow: none !important;
}
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before {
	content: 'i' !important; font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif !important; font-style: italic; font-weight: 600; font-size: 18px !important; line-height: 28px !important;
	position: absolute !important; left: 18px !important; top: 50% !important; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 999px; text-align: center;
	background: var(--szw-teal); color: #fff !important; display: block !important; margin: 0 !important;
}
.woocommerce-message { background: #EEF6F2 !important; border-color: #CFE5D9 !important; }
.woocommerce-message::before { content: '✓' !important; font-family: 'Jost', sans-serif !important; font-style: normal; font-size: 15px !important; background: #2F6B45; }
.woocommerce-error { background: #FBF0EE !important; border-color: #EBCFC9 !important; flex-direction: column; align-items: flex-start; }
.woocommerce-error::before { content: '!' !important; font-family: 'Jost', sans-serif !important; font-style: normal; font-size: 16px !important; background: #A3402F; top: 16px !important; transform: none; }
.woocommerce-error li { margin: 0 !important; padding: 0 !important; list-style: none; }
.woocommerce-info a:not(.button), .woocommerce-message a:not(.button), .woocommerce-error a:not(.button) { color: var(--szw-teal) !important; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-info .button, .woocommerce-message .button, .woocommerce-error .button,
.woocommerce-info a.wc-forward, .woocommerce-message a.wc-forward {
	order: 2; float: none !important; margin: 0 !important; display: inline-flex !important; align-items: center; min-height: 40px; padding: 0 18px !important;
	border-radius: 999px !important; border: 1.5px solid var(--szw-teal) !important; background: #fff !important; color: var(--szw-teal) !important;
	font-family: 'Jost', sans-serif !important; font-size: 14px !important; font-weight: 500 !important; text-decoration: none !important; box-shadow: none !important;
}
.woocommerce-info .button:hover, .woocommerce-message .button:hover, .woocommerce-info a.wc-forward:hover, .woocommerce-message a.wc-forward:hover { background: var(--szw-teal) !important; color: #fff !important; }

/* block-based notices (WooCommerce blocks) */
.wc-block-components-notice-banner { border-radius: 8px !important; border: 1px solid #F0E1CA !important; background: var(--szw-paper) !important; font-family: 'Jost', sans-serif; color: var(--szw-ink) !important; }
.wc-block-components-notice-banner > svg { background: var(--szw-teal) !important; }
.wc-block-components-notice-banner.is-success { background: #EEF6F2 !important; border-color: #CFE5D9 !important; }
.wc-block-components-notice-banner.is-success > svg { background: #2F6B45 !important; }
.wc-block-components-notice-banner.is-error { background: #FBF0EE !important; border-color: #EBCFC9 !important; }
.wc-block-components-notice-banner.is-error > svg { background: #A3402F !important; }

/* ---------- account menu (beats the widget's own tab styles) ---------- */
.elementor-widget-woocommerce-my-account.sz-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px !important; display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid var(--szw-line); border-radius: 8px; }
.elementor-widget-woocommerce-my-account.sz-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li { display: block; width: 100%; margin: 0 !important; }
.elementor-widget-woocommerce-my-account.sz-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li::after { display: none !important; }
.elementor-widget-woocommerce-my-account.sz-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li a { display: flex; align-items: center; min-height: 46px; padding: 0 16px !important; margin: 0; background: transparent; border: 0; border-radius: 6px; color: var(--szw-ink); font-family: 'Jost', sans-serif; font-size: 15px; font-weight: 400; line-height: 1.3; text-align: left; text-decoration: none; transition: background .2s, color .2s; }
.elementor-widget-woocommerce-my-account.sz-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li a:hover { background: var(--szw-paper); color: var(--szw-teal); }
.elementor-widget-woocommerce-my-account.sz-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--szw-paper); color: var(--szw-teal); font-weight: 500; }
.elementor-widget-woocommerce-my-account.sz-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 6px !important; padding-top: 6px; border-top: 1px solid var(--szw-line); }
.elementor-widget-woocommerce-my-account.sz-account .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--szw-ink-2); }

/* addresses */
.sz-account .woocommerce-Addresses { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.sz-account .woocommerce-Addresses::before, .sz-account .woocommerce-Addresses::after { display: none !important; }
.sz-account .woocommerce-Addresses .woocommerce-Address { width: auto !important; float: none !important; margin: 0 !important; padding: 22px; border: 1px solid var(--szw-line); border-radius: 8px; background: #fff; }
.sz-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 10px; }
.sz-account .woocommerce-Address-title h2, .sz-account .woocommerce-Address-title h3 { font-family: var(--e-global-typography-primary-font-family), 'Open Sans', sans-serif; font-size: 20px; font-weight: 500; margin: 0; }
.sz-account .woocommerce-Address-title::before, .sz-account .woocommerce-Address-title::after { display: none !important; }
.sz-account .woocommerce-Address-title a.edit { float: none !important; color: var(--szw-teal); font-weight: 500; font-size: 14px; }
.sz-account .woocommerce-Address address { font-style: normal; line-height: 1.6; color: var(--szw-ink-2); border: 0 !important; padding: 0 !important; background: none !important; }
.sz-account .woocommerce-MyAccount-content > p:first-child { color: var(--szw-ink-2); }
@media (max-width: 760px) { .sz-account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); } }
.elementor-widget-woocommerce-my-account.sz-account .woocommerce-Address-title { display: flex !important; flex-direction: column; align-items: flex-start; gap: 4px; position: static !important; }
.elementor-widget-woocommerce-my-account.sz-account .woocommerce-Address-title h2 { margin: 0 !important; padding: 0 !important; }
.elementor-widget-woocommerce-my-account.sz-account .woocommerce-Address-title a.edit { position: static !important; top: auto !important; left: auto !important; right: auto !important; display: inline-block; margin: 0 !important; color: var(--szw-teal) !important; font-size: 14px; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
.elementor-widget-woocommerce-my-account.sz-account .woocommerce-Address address { margin-top: 10px; }
