/*
 * SBS Essential IcoFont helpers.
 * Ultra build: uses the tiny local IcoFont subset on the critical path. Unknown dynamic classes trigger the full legacy sheet after DOM ready.
 */

.sbs-icon,
.sbs-wc-page .sbs-icon,
.sbs-wc-page [class^="icofont-"],
.sbs-wc-page [class*=" icofont-"] {
	font-style: normal !important;
	font-weight: normal !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-rendering: auto !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}

.sbs-icon-xs { font-size: 12px !important; }
.sbs-icon-sm { font-size: 14px !important; }
.sbs-icon-md { font-size: 18px !important; }
.sbs-icon-lg { font-size: 24px !important; }
.sbs-icon-xl { font-size: 32px !important; }

.sbs-icon-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	line-height: 1 !important;
}

.sbs-icon-circle {
	width: 36px !important;
	height: 36px !important;
	border-radius: 999px !important;
	border: 1px solid currentColor !important;
}

.sbs-social-icons {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.sbs-social-icons a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 38px !important;
	border: 1px solid var(--sbs-wc-border, #DBDBDB) !important;
	color: var(--sbs-wc-text, #101828) !important;
	text-decoration: none !important;
	transition: all .2s ease !important;
}

.sbs-social-icons a:hover,
.sbs-social-icons a:focus {
	border-color: var(--sbs-wc-primary, #56B947) !important;
	background: var(--sbs-wc-primary, #56B947) !important;
	color: #fff !important;
}

/* Useful aliases for common SBS icons. Use with IcoFont classes, for example:
 * <i class="sbs-icon icofont-arrow-right"></i>
 * <i class="sbs-icon icofont-facebook"></i>
 * <i class="sbs-icon icofont-shopping-cart"></i>
 */
.sbs-wc-page .sbs-qty-btn i,
.sbs-wc-page .sbs-single-action i,
.sbs-wc-page .sbs-request-price-button i,
.sbs-wc-page .sbs-wishlist-button i,
.sbs-wc-page .sbs-side-cart i {
	pointer-events: none !important;
}


/* v1.4.3 - reliable fallback for IcoFont arrows/icons when a CDN class does not render.
   The real IcoFont stylesheet still loads first; these rules only make empty <i> icons visible. */
.sbs-wc-page .sbs-icon,
.sbs-icon {
	min-width: 1em !important;
	min-height: 1em !important;
	font-family: IcoFont, icofont, Arial, sans-serif !important;
}

.sbs-icon::before,
.sbs-wc-page .sbs-icon::before {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1 !important;
}

/* Directional icons. Use readable fallback glyphs so arrows never disappear. */
.sbs-wc-page .icofont-rounded-left::before,
.icofont-rounded-left::before,
.sbs-wc-page .icofont-arrow-left::before,
.icofont-arrow-left::before {
	content: "‹" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.35em !important;
	font-weight: 700 !important;
}

.sbs-wc-page .icofont-rounded-right::before,
.icofont-rounded-right::before,
.sbs-wc-page .icofont-arrow-right::before,
.icofont-arrow-right::before {
	content: "›" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.35em !important;
	font-weight: 700 !important;
}

.sbs-wc-page .icofont-rounded-up::before,
.icofont-rounded-up::before {
	content: "⌃" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.15em !important;
	font-weight: 700 !important;
}

.sbs-wc-page .icofont-rounded-down::before,
.icofont-rounded-down::before {
	content: "⌄" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.15em !important;
	font-weight: 700 !important;
}

.sbs-wc-page .icofont-close::before,
.icofont-close::before {
	content: "×" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.2em !important;
	font-weight: 600 !important;
}

.sbs-wc-page .icofont-check::before,
.icofont-check::before {
	content: "✓" !important;
	font-family: Arial, sans-serif !important;
	font-weight: 700 !important;
}

.sbs-wc-page .icofont-shopping-cart::before,
.icofont-shopping-cart::before {
	content: "🛒" !important;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", Arial, sans-serif !important;
	font-size: .95em !important;
}

.sbs-wc-page .icofont-heart-alt::before,
.icofont-heart-alt::before {
	content: "♡" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.2em !important;
}

.sbs-wc-page .icofont-home::before,
.icofont-home::before {
	content: "⌂" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.05em !important;
}

.sbs-wc-page .icofont-link::before,
.icofont-link::before {
	content: "🔗" !important;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", Arial, sans-serif !important;
	font-size: .9em !important;
}

.sbs-wc-page .icofont-external-link::before,
.icofont-external-link::before {
	content: "↗" !important;
	font-family: Arial, sans-serif !important;
	font-weight: 700 !important;
}

/* Keep quantity arrows compact and centered. */
.sbs-wc-page .sbs-qty-btn .sbs-icon::before,
.sbs-wc-page .sbs-checkout-qty-btn .sbs-icon::before,
.sbs-wc-page .sbs-side-cart-qty-btn .sbs-icon::before {
	font-size: 18px !important;
	line-height: 1 !important;
}

.sbs-wc-page .swiper-button-prev::after,
.sbs-wc-page .swiper-button-next::after {
	font-family: swiper-icons !important;
}

/* Performance font subset: static SBS icons use the tiny local subset first.
 * Dynamic/unknown IcoFont glyphs still fall back to the untouched full font. */
@font-face {
	font-family: "SBS IcoFont";
	src: url("../vendor/icofont/icofont-sbs.woff2") format("woff2");
	font-style: normal;
	font-weight: normal;
}

.icofont,
[class^="icofont-"],
[class*=" icofont-"] {
	font-family: "SBS IcoFont", "icofont", Arial, sans-serif !important;
}


/* Static codebase IcoFont mappings not represented by the readable fallback aliases above. */
.icofont-facebook::before { content: "\ed37"; }
.icofont-listing-box::before { content: "\ef75"; }
.icofont-lock::before { content: "\ef7a"; }
.icofont-search-1::before { content: "\ed11"; }
.sbs-wc-page .icofont-simple-down::before,
.icofont-simple-down::before {
	content: "⌄" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.15em !important;
	font-weight: 700 !important;
}

.sbs-wc-page .icofont-simple-up::before,
.icofont-simple-up::before {
	content: "⌃" !important;
	font-family: Arial, sans-serif !important;
	font-size: 1.15em !important;
	font-weight: 700 !important;
}
.icofont-user-alt-3::before { content: "\ecfd"; }
