/*
 * SBS Essential IcoFont helpers.
 * Loads the public IcoFont CSS from CDN in functions.php and keeps local CSS to helper classes only.
 */

.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;
}
