/* El Rey De Las Botas — Brand Guidelines v1.0, §7 "Soft Brutalism".
   Scoped to .page_content_wrap so the custom header (#er-header) and footer (#er-footer) are untouched. */

:root {
	--er-verde: #0B3D2C;
	--er-noche: #06231A;
	--er-linea: #D7E3D4;
	--er-oro: #F2B632;
	--er-oro-viejo: #D99A12;
	--er-rojo: #E23B2E;
	--er-rojo-t: #B8261B;
	--er-cal: #F4F5EF;
	--er-blanco: #FFFFFF;
	--er-negro: #121613;
	--er-grada: #5C655F;
	--er-ok: #1F8A4C;
	--er-info: #2B6CB0;
	--er-menta: #CFE6CF;
	--er-mantequilla: #FBE2A0;
	--er-coral: #F7C4BC;
	--er-salvia: #E3ECDF;

	--er-fd: 'Big Shoulders Display', Impact, 'Arial Narrow', sans-serif;
	--er-fb: Manrope, system-ui, -apple-system, 'Segoe UI', sans-serif;
	--er-fu: 'Barlow Condensed', 'Arial Narrow', sans-serif;

	--er-bw: 2.5px;
	--er-r: 14px;
	--er-r-sm: 8px;
	--er-r-pill: 999px;
	--er-sh: 5px 5px 0 var(--er-negro);
	--er-sh-sm: 3px 3px 0 var(--er-negro);
	--er-sh-lg: 8px 8px 0 var(--er-negro);
}

body {
	background-color: var(--er-cal);
}

/* ---------- Buttons ---------- */
html .page_content_wrap .button,
html .page_content_wrap button[type="submit"],
html .page_content_wrap input[type="submit"],
html .page_content_wrap .wp-block-button__link,
html .page_content_wrap .sc_button:not(.sc_button_simple),
html .page_content_wrap .woocommerce-button,
html .page_content_wrap .checkout-button,
html .page_content_wrap .single_add_to_cart_button {
	font-family: var(--er-fu) !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--er-cal) !important;
	background-color: var(--er-verde) !important;
	border: var(--er-bw) solid var(--er-negro) !important;
	border-radius: var(--er-r-sm) !important;
	box-shadow: var(--er-sh-sm) !important;
	transition: transform .08s ease, box-shadow .08s ease, background-color .15s ease !important;
}
html .page_content_wrap .button:hover,
html .page_content_wrap button[type="submit"]:hover,
html .page_content_wrap input[type="submit"]:hover,
html .page_content_wrap .wp-block-button__link:hover,
html .page_content_wrap .sc_button:not(.sc_button_simple):hover,
html .page_content_wrap .woocommerce-button:hover,
html .page_content_wrap .checkout-button:hover,
html .page_content_wrap .single_add_to_cart_button:hover {
	background-color: var(--er-noche) !important;
	color: var(--er-cal) !important;
}
/* "Pisar": the button drops 3px and loses its shadow. */
html .page_content_wrap .button:active,
html .page_content_wrap button[type="submit"]:active,
html .page_content_wrap input[type="submit"]:active,
html .page_content_wrap .wp-block-button__link:active,
html .page_content_wrap .sc_button:not(.sc_button_simple):active,
html .page_content_wrap .woocommerce-button:active,
html .page_content_wrap .checkout-button:active,
html .page_content_wrap .single_add_to_cart_button:active {
	transform: translate(3px, 3px);
	box-shadow: none !important;
}
html .page_content_wrap .button:focus-visible,
html .page_content_wrap button:focus-visible,
html .page_content_wrap a:focus-visible {
	outline: 3px solid var(--er-oro);
	outline-offset: 2px;
}

/* ---------- Inputs ---------- */
html .page_content_wrap input[type="text"],
html .page_content_wrap input[type="email"],
html .page_content_wrap input[type="password"],
html .page_content_wrap input[type="tel"],
html .page_content_wrap input[type="number"],
html .page_content_wrap input[type="search"],
html .page_content_wrap input[type="url"],
html .page_content_wrap select,
html .page_content_wrap textarea,
html .page_content_wrap .select2-container .select2-selection {
	font-family: var(--er-fb);
	color: var(--er-negro);
	background-color: var(--er-blanco) !important;
	border: var(--er-bw) solid var(--er-negro) !important;
	border-radius: var(--er-r-sm) !important;
	box-shadow: var(--er-sh-sm);
}
html .page_content_wrap input[type="search"],
html .page_content_wrap .widget_product_search input[type="search"] {
	border-radius: var(--er-r-pill) !important;
}
html .page_content_wrap input:focus,
html .page_content_wrap select:focus,
html .page_content_wrap textarea:focus {
	border-color: var(--er-verde) !important;
	outline: 3px solid var(--er-oro);
	outline-offset: 1px;
}
html .page_content_wrap input[type="checkbox"],
html .page_content_wrap input[type="radio"] {
	accent-color: var(--er-verde);
}

/* ---------- Prices: red is ONLY for discounts ---------- */
html .page_content_wrap .price,
html .page_content_wrap .woocommerce-Price-amount {
	font-family: var(--er-fu);
	font-weight: 700;
	color: var(--er-negro);
}
html .page_content_wrap .summary .price {
	font-size: 28px;
	line-height: 1;
}
html .page_content_wrap .price del,
html .page_content_wrap .price del .woocommerce-Price-amount {
	color: var(--er-grada) !important;
	font-weight: 600;
	opacity: 1;
}
html .page_content_wrap .price ins,
html .page_content_wrap .price ins .woocommerce-Price-amount {
	color: var(--er-rojo-t) !important;
	text-decoration: none;
	background: none;
}

/* Sale badge: Rojo Tarjeta pill. */
html .page_content_wrap .onsale,
html .woocommerce span.onsale {
	font-family: var(--er-fu) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 7px 12px !important;
	color: var(--er-blanco) !important;
	background-color: var(--er-rojo) !important;
	border: var(--er-bw) solid var(--er-negro) !important;
	border-radius: var(--er-r-pill) !important;
	box-shadow: var(--er-sh-sm) !important;
}

/* ---------- Single product ---------- */
html .page_content_wrap .woocommerce-product-gallery {
	border: var(--er-bw) solid var(--er-negro);
	border-radius: var(--er-r);
	box-shadow: var(--er-sh);
	overflow: hidden;
	background: var(--er-blanco);
}
html .page_content_wrap .product_title {
	font-family: var(--er-fd);
	font-weight: 900;
	text-transform: uppercase;
	line-height: 0.95;
}
html .page_content_wrap .variations select,
html .page_content_wrap .quantity .qty {
	border-radius: var(--er-r-sm) !important;
}
html .page_content_wrap .woocommerce-tabs ul.tabs li {
	border-radius: var(--er-r-sm) var(--er-r-sm) 0 0;
}
html .page_content_wrap .stock.in-stock { color: var(--er-ok); }
html .page_content_wrap .stock.out-of-stock { color: var(--er-rojo-t); }

/* ---------- Notices ---------- */
html .page_content_wrap .woocommerce-message,
html .page_content_wrap .woocommerce-info,
html .page_content_wrap .woocommerce-error,
html .woocommerce-notices-wrapper .woocommerce-message,
html .woocommerce-notices-wrapper .woocommerce-info,
html .woocommerce-notices-wrapper .woocommerce-error {
	font-family: var(--er-fb);
	color: var(--er-negro) !important;
	border: var(--er-bw) solid var(--er-negro) !important;
	border-radius: var(--er-r) !important;
	box-shadow: var(--er-sh-sm) !important;
}
.woocommerce-message { background-color: var(--er-menta) !important; }
.woocommerce-info    { background-color: var(--er-salvia) !important; }
.woocommerce-error   { background-color: var(--er-coral) !important; }
.woocommerce-message::before { color: var(--er-ok) !important; }
.woocommerce-info::before    { color: var(--er-info) !important; }
.woocommerce-error::before   { color: var(--er-rojo-t) !important; }

/* ---------- Sidebar widgets (shop filters) ---------- */
html .page_content_wrap .sidebar .widget {
	background-color: var(--er-blanco);
	border: var(--er-bw) solid var(--er-negro);
	border-radius: var(--er-r);
	box-shadow: var(--er-sh-sm);
	padding: 20px;
}
html .page_content_wrap .sidebar .widget .widget_title,
html .page_content_wrap .sidebar .widget .widgettitle {
	font-family: var(--er-fu);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 14px;
}
html .page_content_wrap .widget_price_filter .ui-slider .ui-slider-range { background-color: var(--er-verde); }
html .page_content_wrap .widget_price_filter .ui-slider .ui-slider-handle {
	background-color: var(--er-oro);
	border: var(--er-bw) solid var(--er-negro);
}
html .page_content_wrap .tagcloud a,
html .page_content_wrap .widget_product_tag_cloud a {
	font-family: var(--er-fu) !important;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--er-negro) !important;
	background-color: var(--er-cal) !important;
	border: 2px solid var(--er-negro) !important;
	border-radius: var(--er-r-pill) !important;
}
html .page_content_wrap .tagcloud a:hover,
html .page_content_wrap .widget_product_tag_cloud a:hover {
	background-color: var(--er-oro) !important;
}

/* ---------- Section label: gold pill (use class "er-pill" in Elementor) ---------- */
.er-pill {
	display: inline-block;
	font-family: var(--er-fu);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--er-negro);
	background-color: var(--er-oro);
	border: var(--er-bw) solid var(--er-negro);
	border-radius: var(--er-r-pill);
	box-shadow: var(--er-sh-sm);
	padding: 6px 14px;
}

/* ---------- Pagination ---------- */
html .page_content_wrap .woocommerce-pagination .page-numbers li > *,
html .page_content_wrap .nav-links .page-numbers {
	font-family: var(--er-fu);
	font-weight: 700;
	border: var(--er-bw) solid var(--er-negro) !important;
	border-radius: var(--er-r-sm) !important;
	background-color: var(--er-blanco);
	color: var(--er-negro);
}
html .page_content_wrap .woocommerce-pagination .page-numbers li > .current,
html .page_content_wrap .nav-links .page-numbers.current {
	background-color: var(--er-verde) !important;
	color: var(--er-cal) !important;
}

/* =========================================================
   Mi cuenta — Acceder / Registrarse
   ========================================================= */
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	max-width: 1040px;
	margin: 24px auto 48px;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login::before,
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login::after {
	display: none;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column1,
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 32px;
	border: var(--er-bw) solid var(--er-negro);
	border-radius: var(--er-r);
	box-shadow: var(--er-sh-lg);
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column1 {
	background-color: var(--er-blanco);
}
/* Registro: bloque verde con patrón "Placa de Tacos". */
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 {
	color: var(--er-linea);
	background-color: var(--er-verde);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='%23F2B632' fill-opacity='.13'%3E%3Ccircle cx='14' cy='14' r='5'/%3E%3Ccircle cx='42' cy='42' r='5'/%3E%3Ccircle cx='42' cy='14' r='2.5'/%3E%3Ccircle cx='14' cy='42' r='2.5'/%3E%3C/g%3E%3C/svg%3E");
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login h2 {
	font-family: var(--er-fd);
	font-weight: 900;
	font-size: 48px;
	line-height: 0.95;
	text-transform: uppercase;
	margin: 0 0 20px;
	color: var(--er-negro);
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 h2 {
	color: var(--er-cal);
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 h2::after {
	content: "Entra en la Corte";
	display: table;
	margin-top: 14px;
	font-family: var(--er-fu);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	color: var(--er-negro);
	background-color: var(--er-oro);
	border: var(--er-bw) solid var(--er-negro);
	border-radius: var(--er-r-pill);
	box-shadow: var(--er-sh-sm);
	padding: 6px 14px;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login form {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login label {
	font-family: var(--er-fu);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: inherit;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 label,
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 p,
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 .woocommerce-privacy-policy-text {
	color: var(--er-linea);
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 a {
	color: var(--er-oro);
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login .input-text {
	width: 100%;
	padding: 12px 14px;
	font-size: 16px;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login .button {
	width: 100%;
	padding: 14px 20px;
	font-size: 16px;
	margin-top: 8px;
}
/* Register CTA in gold on the green block. */
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 .button {
	color: var(--er-negro) !important;
	background-color: var(--er-oro) !important;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 .button:hover {
	background-color: var(--er-oro-viejo) !important;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 8px;
	text-transform: none;
	letter-spacing: 0;
	font-family: var(--er-fb);
	font-weight: 500;
	font-size: 14px;
}
html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login .lost_password a {
	color: var(--er-verde);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
@media (max-width: 767px) {
	html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-top: 8px;
	}
	html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column1,
	html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login > .u-column2 {
		padding: 22px;
		box-shadow: var(--er-sh);
	}
	html .woocommerce-account:not(.logged-in) .page_content_wrap #customer_login h2 {
		font-size: 36px;
	}
}

/* Mi cuenta (logged in): navigation as chips. */
html .woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li a {
	font-family: var(--er-fu);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--er-negro);
}
html .woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul li.is-active a {
	color: var(--er-verde);
	box-shadow: inset 4px 0 0 var(--er-oro);
	padding-left: 10px;
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	html .page_content_wrap * { transition: none !important; }
}

/* Legal pages now render inside the site header/footer: drop their own logo bar. */
.be-legal .be-site-header,
.be-privacy .be-site-header,
.be-cookies .be-site-header,
.be-withdrawal .be-site-header,
.be-shipping-returns .be-site-header {
	display: none !important;
}

/* Footer trust strip: keep 2 columns on the smallest phones too. */
@media (max-width: 380px) {
	html body #er-footer .er-trust-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Product page: size selector (variations) ---------- */
html body .variations,
html body .variations tbody,
html body .variations tr,
html body .variations td.value {
	display: block;
	width: 100%;
}
html body .variations th.label {
	display: block;
	padding: 0 0 8px !important;
	text-align: left;
}
html body .variations th.label label {
	font-family: var(--er-fu) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	color: var(--er-negro) !important;
}
/* Theme wraps selects in .select_container and draws its own arrow block: neutralize it. */
html body .variations .select_container {
	position: relative;
	display: block;
	width: 100% !important;
	max-width: 420px;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
}
html body .variations .select_container::before,
html body .variations .select_container::after {
	display: none !important;
	content: none !important;
}
html body .variations td.value select,
html body .variations .select_container select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	display: block;
	width: 100% !important;
	max-width: 420px;
	min-height: 52px;
	margin: 0 !important;
	padding: 12px 52px 12px 16px !important;
	font-family: var(--er-fb) !important;
	font-weight: 600 !important;
	font-size: 16px !important; /* 16px avoids iOS zoom on focus */
	line-height: 1.2 !important;
	text-overflow: ellipsis;
	color: var(--er-negro) !important;
	background-color: var(--er-blanco) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23121613' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 16px center !important;
	background-size: 20px 20px !important;
	border: var(--er-bw) solid var(--er-negro) !important;
	border-radius: var(--er-r-sm) !important;
	box-shadow: var(--er-sh-sm) !important;
	cursor: pointer;
}
html body .variations td.value select:hover { background-color: var(--er-salvia) !important; }
html body .variations td.value select:focus,
html body .variations td.value select:focus-visible {
	outline: 3px solid var(--er-oro) !important;
	outline-offset: 2px;
	border-color: var(--er-negro) !important;
}
html body .variations .reset_variations {
	display: inline-block;
	margin-top: 10px;
	font-family: var(--er-fu);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--er-verde) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Quantity + Al carrito row */
html body .single_variation_wrap .woocommerce-variation-add-to-cart,
html body form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
}
html body form.cart .quantity .qty {
	min-height: 52px;
	font-family: var(--er-fu) !important;
	font-weight: 700 !important;
	font-size: 20px !important;
}
html body form.cart .single_add_to_cart_button {
	min-height: 52px;
	flex: 1 1 200px;
}
/* Disabled until a size is chosen: faded brand green, not theme grey. */
html body form.cart .single_add_to_cart_button.disabled,
html body form.cart .single_add_to_cart_button:disabled,
html body form.cart .single_add_to_cart_button.wc-variation-selection-needed {
	color: var(--er-cal) !important;
	background-color: var(--er-verde) !important;
	opacity: 0.45 !important;
	cursor: not-allowed;
	box-shadow: var(--er-sh-sm) !important;
	transform: none !important;
}
@media (max-width: 767px) {
	html body .variations .select_container,
	html body .variations td.value select { max-width: none; }
}
