/* Generado desde templates/styles/approved.css. SHA-256: 0dd73b7ea124f72cbdf26a719badf5e34dd89068f2cabab48ebe7d6a5439db88 */
/*
 * Sistema visual aprobado por el propietario de OmeSport.
 * Fuente única: templates/design-system.json.
 * Conserva contenido; solo normaliza presentación y responsive.
 */

:root {
	--ome-ds-black: #050505;
	--ome-ds-ink: #111111;
	--ome-ds-charcoal: #242424;
	--ome-ds-gold: #d7aa46;
	--ome-ds-gold-light: #f1d878;
	--ome-ds-gold-ink: #8a6d1f;
	--ome-ds-white: #ffffff;
	--ome-ds-soft: #f5f4f0;
	--ome-ds-muted: #666666;
	--ome-ds-line: #deddd8;
	--ome-ds-radius: 18px;
	--ome-ds-shadow-card: 0 18px 55px rgba(0, 0, 0, .08);
	--ome-ds-shadow: 0 24px 70px rgba(0, 0, 0, .12);
	--ome-ds-announcement-height: 38px;
	--ome-ds-header-height: 72px;
	--ome-ds-trust-height: 74px;
	--ome-ds-hero-height: max(420px, calc(100svh - var(--ome-ds-announcement-height) - var(--ome-ds-header-height) - var(--ome-ds-trust-height)));
}

/* Tarjeta de contenido. Base aprobada: opción 2. */
.ome-ds-card,
.ome-card,
.is-style-omesport-card-list,
.is-style-omesport-card-cta,
.ome-prototype-page .card,
.ome-prototype-section .card {
	background: var(--ome-ds-charcoal);
	border: 1px solid #3a3a3a;
	border-radius: var(--ome-ds-radius);
	color: var(--ome-ds-white);
	min-height: 100%;
	overflow: hidden;
	padding: clamp(1.4rem, 3vw, 2.2rem);
}

.ome-card {
	background: var(--ome-ds-charcoal) !important;
	border-color: #3a3a3a !important;
	color: var(--ome-ds-white) !important;
}

.ome-ds-card :is(h2, h3),
.ome-card :is(h2, h3),
.is-style-omesport-card-list :is(h2, h3),
.is-style-omesport-card-cta :is(h2, h3),
.ome-prototype-page .card :is(h2, h3),
.ome-prototype-section .card :is(h2, h3) {
	color: var(--ome-ds-gold);
}

.ome-ds-card :is(p, li),
.ome-card :is(p, li),
.is-style-omesport-card-list :is(p, li),
.is-style-omesport-card-cta :is(p, li),
.ome-prototype-page .card :is(p, li),
.ome-prototype-section .card :is(p, li) {
	color: var(--ome-ds-white);
}

.ome-ds-card > :last-child,
.ome-card > :last-child,
.is-style-omesport-card-list > :last-child,
.is-style-omesport-card-cta > :last-child,
.ome-prototype-page .card > :last-child,
.ome-prototype-section .card > :last-child {
	margin-bottom: 0;
}

/* Opción 1: tarjeta con CTA. */
.ome-ds-card--cta,
.ome-card:has(a),
.ome-card--hover,
.is-style-omesport-card-cta,
.ome-prototype-page .card:has(.btn),
.ome-prototype-section .card:has(.btn) {
	transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

@media (hover: hover) {
	.ome-ds-card--cta:hover,
	.ome-card:has(a):hover,
	.ome-card--hover:hover,
	.is-style-omesport-card-cta:hover,
	.ome-prototype-page .card:has(.btn):hover,
	.ome-prototype-section .card:has(.btn):hover {
		background: var(--ome-ds-black);
		border-color: var(--ome-ds-gold);
		box-shadow: var(--ome-ds-shadow-card);
		transform: translateY(-6px);
	}
}

/* Opción 2: tarjeta de listado, estable y sin efecto CTA. */
.ome-ds-card--list,
.ome-card:not(:has(a)),
.is-style-omesport-card-list,
.ome-prototype-page .card:not(:has(.btn)),
.ome-prototype-section .card:not(:has(.btn)) {
	box-shadow: none;
	transform: none;
}

.ome-ds-card :is(.check-list, .steps),
.ome-card :is(.check-list, .steps),
.is-style-omesport-card-list :is(.check-list, .steps),
.ome-prototype-page .card :is(.check-list, .steps),
.ome-prototype-section .card :is(.check-list, .steps) {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

/* Tarjeta de producto aprobada: opción 1, cuatro columnas y formato panorámico. */
.ome-component-product-grid,
.grid:has(> .ome-ds-product-card),
.grid:has(> .product-card),
.woocommerce ul.products,
.wp-block-woocommerce-product-template {
	display: grid;
	gap: clamp(.75rem, 1.5vw, 1.25rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ome-ds-product-card,
.product-card,
.ome-component-product-card,
.woocommerce ul.products li.product,
.wp-block-woocommerce-product-template > li {
	background: var(--ome-ds-white);
	border: 1px solid var(--ome-ds-line);
	border-radius: 12px;
	box-sizing: border-box;
	color: inherit;
	overflow: hidden;
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.ome-ds-product-card,
.product-card,
.ome-component-product-card {
	display: block;
}

.ome-ds-product-card :is(.product-card__image, .ome-component-product-card__image),
.product-card__image,
.ome-component-product-card__image,
.woocommerce ul.products li.product a img,
.wp-block-woocommerce-product-template .wc-block-components-product-image img {
	aspect-ratio: 13 / 5;
	background: var(--ome-ds-white);
	border-radius: 0;
	display: block;
	margin-bottom: 0;
	overflow: hidden;
}

.ome-ds-product-card img,
.product-card__image img,
.ome-component-product-card__image img,
.woocommerce ul.products li.product a img,
.wp-block-woocommerce-product-template .wc-block-components-product-image img {
	display: block;
	height: 100%;
	max-width: none;
	object-fit: cover;
	transition: transform 240ms ease;
	width: 100%;
}

.ome-ds-product-card:hover,
.product-card:hover,
.ome-component-product-card:hover,
.woocommerce ul.products li.product:hover,
.wp-block-woocommerce-product-template > li:hover {
	border-color: var(--ome-ds-gold);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
	transform: translateY(-2px);
}

.ome-ds-product-card:hover img,
.product-card:hover img,
.ome-component-product-card:hover img,
.woocommerce ul.products li.product:hover a img,
.wp-block-woocommerce-product-template > li:hover .wc-block-components-product-image img {
	transform: scale(1.025);
}

.ome-ds-product-card h3,
.product-card h3,
.ome-component-product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wp-block-woocommerce-product-template > li > .wp-block-post-title {
	font-size: .78rem !important;
	font-weight: 650;
	line-height: 1.35 !important;
	margin: 0;
	overflow: hidden;
	padding: .65rem .75rem .15rem;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.ome-ds-product-card :is(.product-card__price, .ome-component-product-card__price),
.product-card__price,
.ome-component-product-card__price,
.woocommerce ul.products li.product .price,
.wp-block-woocommerce-product-template .wc-block-components-product-price {
	color: var(--ome-ds-ink);
	display: block;
	font-size: .8rem;
	font-weight: 700;
	padding: 0 .75rem .7rem;
}

/* Tarjeta de valor aprobada: opción 1. */
.ome-ds-value-card,
.value-card,
.ome-component-value-card {
	background: var(--ome-ds-white);
	border: 1px solid var(--ome-ds-line);
	border-radius: var(--ome-ds-radius);
	color: var(--ome-ds-ink);
	padding: clamp(1rem, 2vw, 1.5rem);
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.ome-ds-value-card:hover,
.value-card:hover,
.ome-component-value-card:hover {
	border-color: var(--ome-ds-gold);
	box-shadow: var(--ome-ds-shadow-card);
	transform: translateY(-4px);
}

.ome-ds-value-card h3,
.value-card h3,
.ome-component-value-card h3 {
	color: var(--ome-ds-ink);
	font-size: clamp(1rem, 1.25vw, 1.15rem);
}

.ome-ds-value-card p,
.value-card p,
.ome-component-value-card p {
	color: var(--ome-ds-muted);
	margin-bottom: 0;
}

/* Tarjeta de ubicación aprobada: opción 1. */
.ome-ds-location-card,
.local-card,
.ome-component-local-card,
.ome-local-card {
	background: var(--ome-ds-white);
	border-radius: 24px;
	box-shadow: var(--ome-ds-shadow);
	color: var(--ome-ds-ink);
	display: grid;
	grid-template-columns: 58% 42%;
	margin-inline: auto;
	max-width: 1080px;
	overflow: hidden;
}

.ome-ds-location-card :is(.local-card__info, .local-card__copy, .ome-component-local-card__info),
.local-card__info,
.local-card__copy,
.ome-component-local-card__info {
	background: var(--ome-ds-white);
	color: var(--ome-ds-ink);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.75rem, 3vw, 2.75rem);
}

.ome-ds-location-card :is(.local-card__map, .map-frame, .ome-component-local-card__map),
.local-card__map,
.local-card .map-frame,
.ome-component-local-card__map {
	align-self: center;
	background: var(--ome-ds-soft);
	border-radius: 14px;
	height: 240px;
	margin: 1.5rem 1.5rem 1.5rem 0;
	overflow: hidden;
}

.ome-ds-location-card iframe,
.local-card iframe,
.ome-component-local-card iframe {
	border: 0;
	display: block;
	height: 100%;
	min-height: 0;
	width: 100%;
}

/* Hero aprobado: opción 1. La imagen y el texto siguen siendo propios de cada página. */
.ome-ds-hero,
.hero,
.page-hero,
.wp-block-omesport-hero.ome-component-hero {
	background: var(--ome-ds-black);
	color: var(--ome-ds-white);
	height: var(--ome-ds-hero-height);
	max-height: var(--ome-ds-hero-height);
	min-height: var(--ome-ds-hero-height);
	overflow: hidden;
}

.hero.ome-ds-hero,
.wp-block-omesport-hero.ome-component-hero,
.page-hero__inner {
	display: grid;
	grid-template-columns: 52% 48%;
}

.ome-ds-hero :is(.hero__copy, .page-hero__copy, .ome-component-hero__copy),
.hero__copy,
.page-hero__copy,
.wp-block-omesport-hero.ome-component-hero .ome-component-hero__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(1.75rem, 3.5vw, 3.5rem) clamp(1.5rem, 6vw, 7rem);
}

.ome-ds-hero :is(h1, .ome-component-hero__title),
.hero h1,
.page-hero__copy h1,
.wp-block-omesport-hero.ome-component-hero .ome-component-hero__title {
	color: var(--ome-ds-gold);
	font-size: clamp(1.8rem, 2.8vw, 2.75rem);
	line-height: 1.14;
	max-width: none;
	overflow: visible;
	padding-bottom: .08em;
	width: 100%;
}

.ome-ds-hero :is(.hero__media, .page-hero__media, .ome-component-hero__media),
.hero__media,
.page-hero__media,
.wp-block-omesport-hero.ome-component-hero .ome-component-hero__media {
	align-self: stretch;
	min-height: 0;
	position: relative;
}

.ome-ds-hero :is(.hero__media, .page-hero__media, .ome-component-hero__media) img,
.hero__media img,
.page-hero__media img,
.wp-block-omesport-hero.ome-component-hero .ome-component-hero__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center 12%;
	width: 100%;
}

@media (max-width: 960px) {
	.ome-component-product-grid,
	.grid:has(> .ome-ds-product-card),
	.grid:has(> .product-card),
	.woocommerce ul.products,
	.wp-block-woocommerce-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	:root {
		--ome-ds-announcement-height: 48px;
		--ome-ds-header-height: 68px;
		--ome-ds-trust-height: 88px;
		--ome-ds-hero-height: max(540px, calc(100svh - var(--ome-ds-announcement-height) - var(--ome-ds-header-height) - var(--ome-ds-trust-height)));
	}

	.hero.ome-ds-hero,
	.wp-block-omesport-hero.ome-component-hero,
	.page-hero__inner {
		grid-template-columns: 1fr;
		grid-template-rows: minmax(0, 1fr) minmax(240px, .9fr);
	}

	.ome-ds-location-card,
	.local-card,
	.ome-component-local-card,
	.ome-local-card {
		grid-template-columns: 1fr;
	}

	.ome-ds-location-card :is(.local-card__map, .map-frame, .ome-component-local-card__map),
	.local-card__map,
	.local-card .map-frame,
	.ome-component-local-card__map {
		height: 200px;
		margin: 0 1rem 1rem;
	}
}

@media (max-width: 520px) {
	:root {
		--ome-ds-announcement-height: 52px;
		--ome-ds-header-height: 64px;
		--ome-ds-trust-height: 92px;
		--ome-ds-hero-height: max(500px, calc(100svh - var(--ome-ds-announcement-height) - var(--ome-ds-header-height) - var(--ome-ds-trust-height)));
	}

	.hero.ome-ds-hero,
	.wp-block-omesport-hero.ome-component-hero,
	.page-hero__inner {
		grid-template-rows: minmax(0, 1.15fr) minmax(220px, .85fr);
	}

	.ome-ds-product-card :is(.product-card__image, .ome-component-product-card__image),
	.product-card__image,
	.ome-component-product-card__image,
	.woocommerce ul.products li.product a img,
	.wp-block-woocommerce-product-template .wc-block-components-product-image img {
		aspect-ratio: 16 / 9;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ome-ds-card,
	.ome-ds-product-card,
	.ome-ds-value-card,
	.ome-prototype-page .card,
	.ome-prototype-page .product-card,
	.ome-prototype-page .value-card {
		transition-duration: .01ms !important;
	}
}
