/**
 * Accessibility refinements for Smarters Media.
 *
 * This stylesheet loads after the theme and Elementor styles so that the
 * interactive controls retain their visual design while meeting a 44px touch
 * target, contrast, and keyboard-focus baseline.
 */

:root {
	--smarters-accessible-accent: #a16207;
	--smarters-focus-color: #1d4ed8;
	--smarters-touch-target: 44px;
}

/* A consistent, visible focus indicator for keyboard users. */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--smarters-focus-color) !important;
	outline-offset: 3px;
}

.elementor-13113 footer :where(a, button, input):focus-visible,
.bg-\[\#0B1437\] :where(a, button, input):focus-visible {
	outline-color: #facc15 !important;
}

/* Header actions and primary navigation. */
#site-header .main-navigation .nav-menu > li > a,
#site-header .main-navigation .menu-item-has-children .toggle-menu-children,
#site-header .site-branding .logo,
#site-header a.logo.logo-text,
#site-header .header-cart > a,
#site-header .header-account .account-icon,
#site-header .header-wishlist .wishlist-icon,
#site-header .header-compare .compare-icon,
.header-hamburger .header-hamburger-toggle,
.header-mobile .mobile-menu-toggle,
.header-mobile .mobile-search .search-icon,
.header-mobile .site-branding .logo,
.header-mobile a.logo.logo-text,
.mobile-logo.site-branding a.logo.logo-text,
.header-mobile .header-cart > a,
.header-mobile .header-account .account-icon,
.header-mobile .header-wishlist .wishlist-icon,
.header-mobile .header-compare .compare-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--smarters-touch-target);
	min-height: var(--smarters-touch-target);
}

#site-header .main-navigation .nav-menu > li > a {
	padding: 8px 10px;
}

.header-hamburger .header-hamburger-toggle,
.header-mobile .mobile-search .search-icon,
.header-mobile .mobile-menu-toggle {
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
}

.header-mobile .mobile-header-icons {
	gap: 8px;
}

.header-mobile .mobile-header-icons > * {
	margin-left: 0 !important;
}

/* Modal close controls, product actions and the back-to-top control. */
.rz-modal .button-close,
.offscreen-popup .button-close,
#gotop,
ul.products li.product .product-thumbnail .rz-loop_button,
.single-product div.product .product-share .social-share-link,
.single-product .woocommerce-tabs .wc-tabs li a,
.single-product #respond .comment-form-rating p.stars a,
.single-product #respond .form-submit #submit.submit,
.woocommerce .quantity .qty,
.woocommerce .quantity .razzi-qty-button,
.woocommerce-cart .product-remove a,
.wpcf7 input[type="submit"] {
	min-width: var(--smarters-touch-target);
	min-height: var(--smarters-touch-target);
}

.rz-modal .button-close,
.offscreen-popup .button-close {
	align-items: center;
	justify-content: center;
	width: var(--smarters-touch-target);
	height: var(--smarters-touch-target);
	border: 0;
	background: transparent;
	color: #4b5563;
}

#gotop {
	width: var(--smarters-touch-target);
	height: var(--smarters-touch-target);
}

ul.products li.product .product-thumbnail .rz-loop_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: var(--smarters-touch-target) !important;
	height: var(--smarters-touch-target) !important;
	margin: 4px !important;
}

@media (max-width: 767px) {
	ul.products li.product .product-inner .product-loop__buttons .rz-loop_button {
		width: var(--smarters-touch-target) !important;
		height: var(--smarters-touch-target) !important;
		margin: 4px 0 !important;
	}
}

/* Keep icon-only labels available to assistive technology. */
ul.products li.product .product-thumbnail .product-loop__buttons .loop_button-text,
.single-product div.product .product-share .after-text {
	display: block !important;
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.single-product div.product .product-share .social-share-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: var(--smarters-touch-target) !important;
	height: var(--smarters-touch-target) !important;
	margin: 4px !important;
	line-height: 1;
}

/* Product navigation and category links have the same usable target size. */
.single-product .woocommerce-breadcrumb a,
.single-product .summary-top-box .meta-cat,
.single-product .product_meta a {
	display: inline-flex;
	align-items: center;
	min-width: var(--smarters-touch-target);
	min-height: var(--smarters-touch-target);
	padding: 0 6px;
}

.single-product .woocommerce-tabs .wc-tabs {
	gap: 8px;
}

.single-product .woocommerce-tabs .wc-tabs li {
	padding-bottom: 0;
}

.single-product .woocommerce-tabs .wc-tabs li a {
	display: inline-flex !important;
	align-items: center;
	padding: 8px 10px;
}

.single-product #respond .comment-form-rating p.stars {
	gap: 8px;
}

.single-product #respond .comment-form-rating p.stars a {
	width: var(--smarters-touch-target);
	height: var(--smarters-touch-target);
	color: var(--smarters-accessible-accent);
}

.single-product #respond .comment-form-rating p.stars a:hover,
.single-product #respond .comment-form-rating p.stars a:focus-visible {
	background: var(--smarters-accessible-accent);
	color: #ffffff;
}

/* Contact links and footer controls retain a usable touch target on mobile. */
a[href^="tel:"],
a[href^="mailto:"] {
	display: inline-flex;
	align-items: center;
	min-height: var(--smarters-touch-target);
}

.elementor-13113 footer a,
.elementor-13113 footer button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--smarters-touch-target);
	min-height: var(--smarters-touch-target);
}

.elementor-13113 footer .flex.gap-6 {
	gap: 8px !important;
}

.elementor-13113 footer .flex.gap-6 > a {
	padding: 0 8px;
}

.elementor-13113 footer button[aria-label="Suscribirse al boletín"] {
	width: var(--smarters-touch-target);
	min-width: var(--smarters-touch-target);
	min-height: var(--smarters-touch-target);
}

/* Contrast on light surfaces: dark amber reaches at least 4.5:1. */
:root {
	--sm-color-accent: var(--smarters-accessible-accent) !important;
}

.single-product p.price,
.single-product .comment-text .star-rating,
.single-product .woocommerce-tabs .wc-tabs li.active a {
	color: var(--smarters-accessible-accent) !important;
}

.single-product .woocommerce-tabs .wc-tabs li.active a {
	border-color: var(--smarters-accessible-accent) !important;
}

.single-product .single_add_to_cart_button:hover,
.single-product #respond .form-submit #submit.submit:hover {
	background: var(--smarters-accessible-accent) !important;
	color: #ffffff !important;
}

.elementor-16 .bg-white .text-yellow-500,
.elementor-16 .bg-gray-50 .text-yellow-500,
.elementor-16 .hover\:text-yellow-500:hover,
.elementor-584 .text-yellow-600,
.elementor-584 .hover\:text-yellow-700:hover {
	color: var(--smarters-accessible-accent) !important;
}

.elementor-584 .text-gray-400,
.elementor-584 .text-gray-500 {
	color: #4b5563 !important;
}

.elementor-13113 footer .text-gray-400,
.elementor-13113 footer .text-gray-500 {
	color: #d1d5db !important;
}

.elementor-13113 footer .placeholder-gray-500::placeholder {
	color: #d1d5db !important;
	opacity: 1;
}

/* The newsletter email field sits on the dark footer surface. Explicitly set
 * both its entered text and placeholder colors so they retain accessible
 * contrast even when the utility CSS is delayed or unavailable. */
.elementor-13113 footer input[type="email"].bg-transparent {
	color: #ffffff !important;
}

.elementor-13113 footer input[type="email"].bg-transparent::placeholder {
	color: #d1d5db !important;
	opacity: 1;
}

/* The contact hero has a consistent dark background behind white text. */
.smarters-contact-hero-overlay {
	background: rgba(11, 20, 55, 0.86) !important;
}
