/* Shared brand tokens apply to editorial pages as well as commerce. */
body {
	--migym-accent: #d0a66a;
	--migym-accent-hover: #e8c58f;
	--migym-surface: #121316;
	--migym-outline: rgba(255, 255, 255, 0.16);
	--wp--preset--color--primary: #d0a66a !important;
	--wp--preset--color--secondary: #947341 !important;
	--wp--preset--color--tertiary: #d0a66a !important;
	/* The theme's off-canvas menu must not enable horizontal page dragging. */
	overflow-x: clip;
}

body main .wp-block-button__link,
body main .added_to_cart,
body main a.button.wc-forward,
body main a.button.wc_forward,
body main .wc-block-components-notice-banner__content > a.button.wc-forward {
	align-items: center;
	border: 1px solid var(--migym-accent) !important;
	border-radius: 10px !important;
	box-sizing: border-box;
	display: inline-flex;
	font-family: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	letter-spacing: 0.04em;
	line-height: 1.4;
	min-height: 48px;
	padding: 13px 22px !important;
	text-align: center;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

body main .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body main .added_to_cart,
body main a.button.wc-forward,
body main a.button.wc_forward,
body main .wc-block-components-notice-banner__content > a.button.wc-forward {
	background: var(--migym-accent) !important;
	color: #090a0c !important;
}

body main .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--migym-accent) !important;
}

/* An outline button placed on the sand-coloured panel needs dark contrast. */
body main .has-primary-background-color .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: #090a0c !important;
	color: #090a0c !important;
}

body main .wp-block-button__link:hover,
body main .added_to_cart:hover,
body main a.button.wc-forward:hover,
body main a.button.wc_forward:hover,
body main .wc-block-components-notice-banner__content > a.button.wc-forward:hover {
	background: var(--migym-accent-hover) !important;
	border-color: var(--migym-accent-hover) !important;
	color: #090a0c !important;
}

body main .wp-block-button__link:focus-visible,
body main .added_to_cart:focus-visible,
body main a.button.wc-forward:focus-visible,
body main a.button.wc_forward:focus-visible {
	outline: 2px solid var(--migym-accent-hover);
	outline-offset: 4px;
}

/* WooCommerce notices may be outside the custom commerce container. */
body main .wc-block-components-notice-banner,
body main .woocommerce-message,
body main .woocommerce-info,
body main .woocommerce-error {
	background: var(--migym-surface) !important;
	border: 1px solid var(--migym-outline) !important;
	border-left: 3px solid var(--migym-accent) !important;
	border-radius: 14px;
	box-sizing: border-box;
	color: #fff !important;
	font-family: inherit;
	line-height: 1.6;
	margin: 0 0 24px;
	max-width: 100%;
	padding: 20px !important;
}

body main .wc-block-components-notice-banner > svg {
	background: var(--migym-accent) !important;
	fill: #090a0c !important;
	flex: 0 0 24px;
}

body main .woocommerce-message,
body main .woocommerce-info,
body main .woocommerce-error {
	padding-left: 52px !important;
}

body main .woocommerce-message::before,
body main .woocommerce-info::before {
	color: var(--migym-accent);
	left: 20px;
	top: 22px;
}

body main .wc-block-components-notice-banner__content {
	align-items: center;
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	gap: 16px;
	min-width: 0;
}

body main .wc-block-components-notice-banner__content > a.button {
	flex: 0 0 auto;
	float: none !important;
	margin: 0 0 0 auto !important;
	white-space: normal;
}

body main .wc-block-components-notice-banner.is-error,
body main .woocommerce-error {
	border-left-color: #e97676 !important;
}

body main .wc-block-components-notice-banner.is-error > svg {
	background: #e97676 !important;
}

body main .added_to_cart {
	margin-top: 12px;
}

body .tarifas__listado {
	align-items: stretch !important;
	display: grid !important;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body .tarifa-tarjeta {
	background: var(--migym-surface) !important;
	border: 1px solid var(--migym-outline);
	border-radius: 18px !important;
	min-width: 0;
}

@media (max-width: 1000px) {
	body .tarifas__listado {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 600px) {
	body main .wc-block-components-notice-banner__content > a.button {
		margin-left: 0 !important;
		width: 100%;
	}

	body main .wp-block-buttons {
		flex-wrap: wrap !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body main .wp-block-button__link,
	body main .added_to_cart {
		transition: none;
	}
}

.logo-web {
	text-shadow: none !important;
}

.logo-web a {
	background: url("../images/migym-logo-2026.png") center / contain no-repeat;
	color: transparent !important;
	display: block;
	font-size: 0 !important;
	height: 76px;
	margin: 0 auto;
	/* Preserve the original bitmap; black cannot cover the dark page surface. */
	mix-blend-mode: lighten;
	text-shadow: none !important;
	width: 110px;
}

/* Visual black-background removal uses the original artwork, not an AI redraw.
   Limit blending to this approved logo; future product photographs are untouched. */
body img[src*="/migym-logo-2026"] {
	background-color: transparent !important;
	mix-blend-mode: lighten;
}

.logo-web a:focus-visible {
	outline: 2px solid #d0a66a;
	outline-offset: 4px;
}

.cabecera .wp-block-button__link,
.cabecera .boton-menu > a,
#cabecera .boton-menu > a,
body header #cabecera nav.wp-block-navigation .wp-block-navigation-item.boton-menu > a,
.boton-menu > .wp-block-navigation-item__content {
	background-color: #d0a66a !important;
	color: #090a0c !important;
}

.cabecera .wp-block-social-link {
	color: #d0a66a !important;
}

.cabecera__derecha {
	min-width: 118px;
	width: auto !important;
}

.sci-migym-header-account {
	align-items: center;
	background: rgba(208, 166, 106, 0.08);
	border: 1px solid rgba(208, 166, 106, 0.7);
	border-radius: 999px;
	box-sizing: border-box;
	color: #d0a66a;
	display: inline-flex;
	flex: 0 0 42px;
	height: 42px;
	justify-content: center;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
	width: 42px;
}

.sci-migym-header-account svg {
	fill: currentcolor;
	height: 21px;
	width: 21px;
}

.sci-migym-header-account:hover,
.sci-migym-header-account:focus-visible {
	background: #d0a66a;
	border-color: #d0a66a;
	box-shadow: 0 0 0 4px rgba(208, 166, 106, 0.18);
	color: #000;
	transform: translateY(-1px);
}

.sci-migym-header-account:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}

@media (max-width: 782px) {
	.logo-web a {
		height: 60px;
		width: 82px;
	}

	.cabecera__derecha {
		min-width: 114px;
	}

	.sci-migym-header-account {
		flex-basis: 38px;
		height: 38px;
		width: 38px;
	}

	.sci-migym-header-account svg {
		height: 19px;
		width: 19px;
	}
}
/* The map is an explicit external link, never an automatic third-party embed. */
.sci-migym-map-link {
	box-sizing: border-box;
	width: 100%;
	padding: clamp(32px, 6vw, 72px) 24px;
	background: #191715;
	border-block: 1px solid #d0a66a;
	color: #f8f5ef;
	text-align: center;
}
.sci-migym-map-link h3 { margin: 12px 0; font-size: clamp(26px, 4vw, 42px); }
.sci-migym-map-link p { max-width: 620px; margin: 12px auto; }
.sci-migym-map-link__eyebrow { color: #d0a66a; font-size: 13px; letter-spacing: .16em; }
.sci-migym-map-link a.wp-element-button {
	display: inline-block;
	margin: 18px 0;
	padding: 14px 24px;
	border-radius: 8px;
	background: #d0a66a;
	color: #171513;
	font-weight: 700;
	text-decoration: none;
}
.sci-migym-map-link a:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.sci-migym-map-link__privacy { color: #d4cabe; font-size: 14px; line-height: 1.6; }
.sci-migym-professional { box-sizing: border-box; width: 100%; max-width: 900px; margin: 40px auto; padding: clamp(20px,4vw,48px); border: 1px solid #d0a66a; border-radius: 16px; background: #191715; color: #f8f5ef; overflow-wrap: anywhere; }
.sci-migym-professional__form { display: grid; gap: 24px; }
.sci-migym-professional__form label { display: grid; gap: 10px; }
.sci-migym-professional__form input:not([type=checkbox]) { box-sizing: border-box; min-width: 0; width: 100%; max-width: 100%; padding: 12px; border: 1px solid #81766b; border-radius: 8px; background: #24211e; color: #fff; font-size: 16px; }
.sci-migym-professional a { color: #e4be88; }
.sci-migym-professional .button { display: inline-block; padding: 14px 22px; margin: 6px 6px 6px 0; border-radius: 8px; border: 0; background: #d0a66a; color: #171513; font-size: 16px; font-weight: 700; text-decoration: none; white-space: normal; }
.sci-migym-professional__form .sci-migym-professional__consent { display: flex; align-items: flex-start; gap: 12px; }
.sci-migym-professional__consent input { flex: 0 0 20px; height: 20px; margin-top: 4px; }
.sci-migym-professional :focus-visible { outline: 3px solid #e4be88; outline-offset: 4px; }
.wp-site-blocks footer nav[aria-label="Menú legal"] .wp-block-navigation__container {
	flex-wrap: wrap;
	justify-content: center;
	max-width: 100%;
	gap: 12px 20px;
}
.wp-site-blocks footer nav[aria-label="Menú legal"] .wp-block-navigation-item {
	min-width: 0;
	max-width: 100%;
	text-align: center;
	overflow-wrap: anywhere;
}
@media (max-width: 600px) {
	.wp-site-blocks footer nav[aria-label="Menú legal"] .wp-block-navigation__container {
		flex-direction: column;
	}
	.tarifas__listado_profesionales { flex-wrap: wrap !important; }
	.tarifas__listado_profesionales > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
}
