/*
Theme Name: Close Loja CD Theme
Theme URI: https://close.marketing
Author: CLOSE
Author URI: https://close.marketing
Description: Tema block theme para Loja CD.
Version: 1.1.8
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: close-lojacd-theme
Tags: full-site-editing, block-patterns, custom-colors
*/

/* Global background */

body {
	background-color: var( --wp--preset--color--white );
	background-image: repeating-linear-gradient(
		45deg,
		var( --wp--preset--color--white ) 0,
		var( --wp--preset--color--white ) 100px,
		#F3F4F6 100px,
		#F3F4F6 300px
	);
	background-attachment: fixed;
}

/* ── HEADER ────────────────────────────────────────────────────────────────── */

.site-header {
	width: 100%;
	position: sticky;
	top: 0;
	z-index: 100;
	gap: 0;
}

/* Top bar */
.site-header__topbar-bg {
	background-color: #0B1F44;
	width: 100%;
}

.site-header__topbar {
	padding: 6px 0;
	width: 100%;
}

.site-header__sponsors {
	display: flex;
	align-items: center;
	gap: 20px;
}

.site-header__sponsors img {
	height: 20px;
	width: auto;
}

.site-header__social {
	display: flex;
	align-items: center;
	gap: 14px;
}

.site-header__social a {
	display: flex;
	align-items: center;
	opacity: 0.85;
	transition: opacity 0.2s;
}

.site-header__social a:hover {
	opacity: 1;
}

/* Main header */
.site-header__main-bg {
	background-color: #ffffff;
	border-bottom: 1px solid #e8e8e8;
	width: 100%;
}

.site-header__main {
	padding: 10px 0;
	width: 100%;
}

.site-header__logo img {
	display: block;
}

.site-header__nav a {
	font-family: 'Funnel Display', sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: #0B1F44;
	text-decoration: none;
	transition: color 0.2s;
}

.site-header__nav a:hover {
	color: #0061CF;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.site-header__icon-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
	color: #0B1F44;
	transition: opacity 0.2s;
}

.site-header__icon-btn img {
	height: 35.6px;
	width: auto;
}

.site-header__icon-btn:hover {
	opacity: 0.7;
}

.site-header__cta .wp-block-button__link {
	border-radius: 0;
	transition: background-color 0.2s;
}

.site-header__cta .wp-block-button__link.wp-element-button:hover {
	background-color: #0B1F44;
}

/* ── GLOBAL LAYOUT RESET ───────────────────────────────────────────────────── */

.wp-block-post-content > .wp-block-group {
	margin-top: 0;
	margin-bottom: 0;
}

/* ── BUTTONS ───────────────────────────────────────────────────────────────── */

:root :where(.wp-block-button.is-style-outline .wp-block-button__link) {
	padding-top: 7px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	border-radius: 0;
}

/* ── MATCH BAR ─────────────────────────────────────────────────────────────── */

.match-bar {
	background-color: #0B1F44;
}

.match-bar__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	padding: 28px 0;
	max-width: var(--wp--style--global--content-size);
	margin: 0 auto;
}

.match-bar__teams {
	display: flex;
	align-items: center;
	gap: 56px;
	flex-shrink: 0;
}

.match-bar__team {
	display: flex;
	align-items: center;
	gap: 10px;
}

.match-bar__escudo img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}

.match-bar__escudo--rival img {
	opacity: 0.85;
}

.match-bar__team-name {
	font-family: 'Agharti', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 19.38px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #ffffff;
	white-space: nowrap;
	margin: 0;
}

.match-bar__vs {
	font-family: 'Agharti', sans-serif;
	font-weight: 900;
	font-size: 28px;
	line-height: 26px;
	text-transform: uppercase;
	color: #ffffff;
	margin: 0;
}

.match-bar .wp-block-separator.match-bar__divider {
	width: 2px;
	height: 36px;
	background-color: #ffffff;
	border: none;
	flex-shrink: 0;
	align-self: center;
	margin: 0;
}

.match-bar__info {
	display: flex;
	align-items: center;
	gap: 40px;
}

.match-bar__info-item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.match-bar__info-label {
	font-family: 'Agharti', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 19.38px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #ffffff;
	margin: 0;
}

.match-bar__info-value {
	font-family: 'Funnel Display', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 18px;
	color: #ffffff;
	white-space: nowrap;
	margin: 0;
}

/* ── FOOTER ────────────────────────────────────────────────────────────────── */

.site-footer {
	background-color: #0B1F44;
}

.site-footer__top {
	padding-top: 64px;
	padding-bottom: 48px;
}

.site-footer__cols.wp-block-columns {
	gap: 40px;
	flex-wrap: nowrap;
	align-items: flex-start;
	margin-bottom: 0;
}

.site-footer__brand-col.wp-block-column {
	flex: 0 0 280px;
}

.site-footer__nav-col.wp-block-column {
	flex: 1;
}

/* Brand */
.site-footer__brand {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 20px;
}

.site-footer__logo-img {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
}

.site-footer__brand-text {
	display: flex;
	flex-direction: column;
}

.site-footer__brand-name {
	font-family: 'Agharti', sans-serif;
	font-weight: 900;
	font-size: 20px;
	line-height: 1;
	color: #ffffff;
	letter-spacing: 1px;
}

.site-footer__brand-sub {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.55);
}

.site-footer__desc {
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.6);
	margin: 0 0 24px;
}

/* Social */
.site-footer__social {
	display: flex;
	align-items: center;
	gap: 16px;
}

.site-footer__social-link {
	display: flex;
	align-items: center;
	opacity: 0.7;
	transition: opacity 0.2s;
}

.site-footer__social-link:hover {
	opacity: 1;
}

.site-footer__social-link img {
	width: 18px;
	height: 18px;
}

/* Nav columns */
.site-footer__nav-title.wp-block-heading {
	font-family: 'Agharti', sans-serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #ffffff;
	margin: 0 0 16px;
}

.footer__nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer__nav-list a {
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.65);
	text-decoration: none;
	transition: color 0.2s;
}

.footer__nav-list a:hover {
	color: #ffffff;
}

/* Divider */
.site-footer__divider {
	border: none;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	margin: 0;
}

/* Bottom bar */
.site-footer__bottom {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.site-footer__copy {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.4);
	margin: 0;
}

.site-footer__legal {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	margin: 0;
	display: flex;
	gap: 20px;
}

.site-footer__legal a {
	color: rgba(255, 255, 255, 0.4);
	text-decoration: none;
	transition: color 0.2s;
}

.site-footer__legal a:hover {
	color: #ffffff;
}

/* ── LA GRADA ──────────────────────────────────────────────────────────────── */

.la-grada-section {
	padding: 64px 0;
}

.la-grada__title-orange {
	color: var(--wp--preset--color--accent);
}

.la-grada__title-blue {
	color: #0061CF;
}

.la-grada__grid.wp-block-columns {
	gap: 16px;
	flex-wrap: nowrap;
}

.la-grada__grid .wp-block-column {
	flex-basis: 0;
	flex-grow: 1;
}

.tweet-card {
	background: #ffffff;
	border: 1px solid #e4e6eb;
	border-radius: 12px;
	padding: 20px;
	height: 100%;
}

.tweet-card__header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.tweet-card__avatar {
	flex-shrink: 0;
	margin: 0;
}

.tweet-card__avatar img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	background-color: #0061CF;
	display: block;
}

.tweet-card__meta {
	min-width: 0;
}

.tweet-card__name {
	font-family: 'Funnel Display', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	color: #0B1F44;
	margin: 0;
}

.tweet-card__verified {
	color: #0061CF;
	font-size: 12px;
}

.tweet-card__handle {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	color: #8899a6;
	margin: 0;
}

.tweet-card__text {
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	line-height: 1.5;
	color: #0B1F44;
	margin: 0 0 16px;
}

.tweet-card__stats {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
}

.tweet-card__stat {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	color: #8899a6;
}

.tweet-card__date {
	margin-left: auto;
}

/* ── PALMARÉS Y CIFRAS ─────────────────────────────────────────────────────── */

.palmares-section {
	background-color: #0B1F44;
	padding: 64px 0;
}

.palmares__title {
	margin: 0 0 40px;
}

.palmares__title-orange {
	color: var(--wp--preset--color--accent);
}

.palmares__title-blue {
	color: #0061CF;
}

.palmares__grid.wp-block-columns {
	gap: 16px;
	flex-wrap: nowrap;
}

.palmares__col.wp-block-column {
	flex: 1;
	min-width: 0;
}

.palmares__card.wp-block-cover {
	aspect-ratio: 1;
	min-height: unset;
}

.palmares__number {
	color: var(--wp--preset--color--accent);
	margin: 0 0 8px;
	line-height: 1;
}

.palmares__label {
	color: #ffffff;
	margin: 0;
}

/* ── HITOS DEL CLUB ────────────────────────────────────────────────────────── */

.hitos-section {
	background-color: #ffffff;
	padding: 64px 0;
}

.hitos__title {
	margin: 0 0 48px;
}

.hitos__title-orange {
	color: var(--wp--preset--color--accent);
}

.hitos__title-blue {
	color: #0061CF;
}

.hitos__timeline-bar {
	display: flex;
	justify-content: space-around;
	align-items: center;
	position: relative;
	margin: 0 0 8px;
	padding: 12px 0;
}

.hitos__timeline-bar::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%);
	width: 100vw;
	height: 3px;
	background-color: #0061CF;
}

.hitos__timeline-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid #0061CF;
	background-color: #ffffff;
	position: relative;
	z-index: 1;
	flex-shrink: 0;
}

.hitos__grid.wp-block-columns {
	gap: 32px;
	align-items: flex-start;
}

.hitos__year {
	color: var(--wp--preset--color--accent);
	margin: 0 0 8px;
}

.hitos__event {
	color: #0061CF;
	margin: 0 0 12px;
}

.hitos__text {
	font-size: 14px;
	line-height: 1.6;
	color: #555;
	margin: 0;
}

/* ── NUESTRA HISTORIA ──────────────────────────────────────────────────────── */

.nuestra-historia__title {
	color: #ffffff;
	line-height: 0.94;
	margin: 0;
}

.nuestra-historia__title-accent {
	background: none;
	color: var(--wp--preset--color--accent);
}

.nuestra-historia .wp-block-heading:not(.nuestra-historia__title) {
	color: #ffffff;
	text-align: center;
}

.nuestra-historia__inner.wp-block-group {
	gap: 32px;
}

.nuestra-historia__body {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.nuestra-historia__text {
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 12px;
}

/* ── HERO SIEMPRE UNIDOS ───────────────────────────────────────────────────── */

.hero-siempre-unidos {
	min-height: 700px;
}

.hero-siempre-unidos__inner {
	padding-top: 80px;
	padding-bottom: 80px;
}

.hero-siempre-unidos__escudo img {
	height: 64px;
	width: auto;
}

.hero-siempre-unidos__title {
	color: #ffffff;
	line-height: 0.94;
	margin: 0;
}

.hero-siempre-unidos__title-accent {
	background: none;
	color: var(--wp--preset--color--accent);
}

.hero-siempre-unidos__subtitle {
	color: #ffffff;
	font-size: 16px;
	margin-top: 8px;
	margin-bottom: 20px;
}

.hero-siempre-unidos .hero-siempre-unidos__btn .wp-block-button__link {
	border-color: #ffffff;
	border-radius: 0;
	transition: background-color 0.2s, color 0.2s;
}

.hero-siempre-unidos .hero-siempre-unidos__btn .wp-block-button__link:hover {
	background-color: #ffffff;
	color: #0B1F44;
}

/* ── SPONSORS ──────────────────────────────────────────────────────────────── */

.sponsors-section {
	overflow: hidden;
	height: 600px;
}

.sponsors-section__inner {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: 80px;
}

.sponsors-section__text {
	flex: 0 0 70%;
	min-width: 0;
	padding: 48px 0;
}

.sponsors-section__title-line1 {
	color: #0061CF;
}

.sponsors-section__title-line2 {
	color: var(--wp--preset--color--accent);
}

.sponsors-section__desc {
	font-family: 'Funnel Display', sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: #444;
	margin: 0 0 12px;
	width: 60%
}

.sponsors-section__carousels {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	display: flex;
	flex-wrap: nowrap;
	gap: 40px;
}

.sponsors-carousel {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	justify-content: flex-end;
}

.sponsors-carousel__track {
	display: flex;
	flex-direction: column;
	gap: 32px;
	will-change: transform;
}


.sponsors-carousel__track .wp-block-image {
	background: #ffffff;
	border: 1px solid #e8e8e8;
	padding: 24px 32px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 80px;
}

.sponsors-carousel__track .wp-block-image img {
	max-height: 48px;
	width: auto;
	object-fit: contain;
	display: block;
}


/* ── HERO HOME ─────────────────────────────────────────────────────────────── */

.hero-home {
	min-height: 700px;
}

.hero-home__overlay {
	background: linear-gradient(to top, #0061CF 0%, rgba(0, 97, 207, 0) 100%);
}

.hero-home__inner {
	padding-top: 80px;
	padding-bottom: 80px;
}

.hero-home__title {
	color: #ffffff;
	line-height: 0.94;
	margin: 0;
}

.hero-home__title-accent {
	background: none;
	color: var(--wp--preset--color--accent);
}

.hero-home__subtitle {
	color: #ffffff;
	font-size: 16px;
	margin-top: 8px;
	margin-bottom: 20px;
}

.hero-home .hero-home__btn .wp-block-button__link {
	border-color: #ffffff;
	border-radius: 0;
	transition: background-color 0.2s, color 0.2s;
}

.hero-home .hero-home__btn .wp-block-button__link:hover {
	background-color: #ffffff;
	color: #0B1F44;
}

/* ── HERO TIENDA ───────────────────────────────────────────────────────────── */

.hero-tienda {
	min-height: 420px;
}

.hero-tienda__inner {
	padding-top: 64px;
	padding-bottom: 64px;
}

.hero-tienda__title {
	color: #ffffff;
	margin: 0;
}

.hero-tienda__subtitle {
	color: #ffffff;
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	max-width: 560px;
	margin: 12px auto 0;
	opacity: 0.9;
}

/* ── SHOP ARCHIVE (Tienda) ────────────────────────────────────────────────── */

.shop-filters {
	background-color: var(--wp--preset--color--secondary);
}

.shop-filters__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	max-width: var(--wp--style--global--content-size);
	margin: 0 auto;
	padding: 20px 24px;
}

.shop-filters__cats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shop-filters__cat {
	display: inline-block;
	font-family: 'Agharti', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #ffffff;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 8px 16px;
	transition: background-color 0.2s, border-color 0.2s;
}

.shop-filters__cat:hover {
	border-color: #ffffff;
}

.shop-filters__cat.is-active {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

.shop-filters__right {
	display: flex;
	align-items: center;
	gap: 20px;
}

.shop-filters__count {
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.6);
	white-space: nowrap;
}

.shop-filters__sort select {
	font-family: 'Agharti', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #ffffff;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 9px 6px;
	background-position: right 16px center;
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 8px 32px 8px 16px;
	appearance: none;
	cursor: pointer;
}

.shop-filters__sort select:hover {
	border-color: #ffffff;
}

.shop-filters__sort select option {
	color: var(--wp--preset--color--secondary);
}

.shop-archive {
	padding: 64px 0;
}

.shop-archive__grid .wp-block-post-template {
	gap: 24px;
}

.shop-archive__pagination.wp-block-query-pagination {
	justify-content: center;
	margin-top: 48px;
}

.shop-card {
	background-color: #ffffff;
	border: 1px solid #e8e8e8;
}

.shop-card__image {
	aspect-ratio: 4 / 3;
	background-color: #f0f2f5;
	overflow: hidden;
}

.shop-card__image .wp-block-post-featured-image {
	margin: 0;
	height: 100%;
}

.shop-card__image .wp-block-post-featured-image a {
	display: block;
	height: 100%;
}

.shop-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.shop-card__body {
	padding: 16px;
}

.shop-card__name.wp-block-post-title {
	margin: 0 0 4px;
}

.shop-card__name.wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.shop-card__meta {
	font-family: 'Funnel Display', sans-serif;
	font-size: 12px;
	color: rgba(11, 31, 68, 0.55);
	margin: 0 0 8px;
}

.shop-card__price.wp-block-woocommerce-product-price {
	font-family: 'Agharti', sans-serif;
	font-weight: 700;
	font-size: clamp(20px, calc(20px + 8 * ((100vw - 320px) / 1120)), 28px);
	line-height: 26px;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.shop-card__price.wp-block-woocommerce-product-price,
.shop-card__price.wp-block-woocommerce-product-price .price {
	color: var(--wp--preset--color--accent);
}

.shop-card__btn.wp-block-woocommerce-product-button {
	margin: 0;
}

.shop-card__btn .wp-block-button__link,
.shop-card__btn .add_to_cart_button,
.shop-card__btn .wc-block-components-product-button__button {
	display: block;
	width: 100%;
	text-align: center;
	font-family: 'Agharti', sans-serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: #ffffff;
	background-color: var(--wp--preset--color--primary);
	border: none;
	border-radius: 0;
	padding: 10px 12px;
}

.shop-card__btn .wp-block-button__link:hover,
.shop-card__btn .add_to_cart_button:hover,
.shop-card__btn .wc-block-components-product-button__button:hover {
	background-color: var(--wp--preset--color--secondary);
}

.wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	width: 100%;
}

@media (max-width: 991px) {
	.shop-archive__grid .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 599px) {
	.shop-archive__grid .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* ── SHOP PERKS ────────────────────────────────────────────────────────────── */

.shop-perks {
	background-color: var(--wp--preset--color--primary);
	padding: 32px 24px;
}

.shop-perks__inner {
	max-width: var(--wp--style--global--content-size);
	margin: 0 auto;
	gap: 0;
}

.shop-perks__item {
	align-items: center;
	text-align: center;
	gap: 8px;
	flex: 1;
	padding: 0 24px;
	border-left: 1px dashed rgba(255, 255, 255, 0.3);
}

.shop-perks__item:first-child {
	border-left: none;
}

.shop-perks__icon {
	display: block;
	width: 37px;
	height: 36px;
}

.shop-perks__title.wp-block-heading {
	color: #ffffff;
	margin: 4px 0 0;
}

.shop-perks__desc {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.75);
	margin: 2px 0 0;
}

@media (max-width: 781px) {
	.shop-perks__inner {
		flex-wrap: wrap;
	}

	.shop-perks__item {
		flex: 1 1 50%;
		border-left: none;
		padding: 16px;
	}
}

/* ===========================
   ÁLBUM DEL CLUB
   =========================== */

.album-section {
	background-color: #ffffff;
	padding: 0 0 62px 0;
}

.album-section__inner {
	padding-top: 0;
	padding-bottom: 0;
}

.album-section__title {
	margin-bottom: 32px;
}

.album-grid {
	position: relative;
}

.album-grid__item {
	overflow: hidden;
	cursor: pointer;
}

.album-grid__item img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.2s;
}

.album-grid__item:hover img,
.album-grid__item:focus img {
	transform: scale(1.04);
}

.album-grid__item:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* ===========================
   ALBUM LIGHTBOX
=========================== */

.album-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s;
}

.album-lightbox.is-open {
	opacity: 1;
	pointer-events: all;
}

.album-lightbox-open {
	overflow: hidden;
}

.album-lightbox__img {
	max-width: 90vw;
	max-height: 90vh;
	object-fit: contain;
	display: block;
	border-radius: 2px;
}

.album-lightbox__close,
.album-lightbox__prev,
.album-lightbox__next {
	position: absolute;
	background: rgba(255, 255, 255, 0.12);
	border: none;
	color: #ffffff;
	cursor: pointer;
	line-height: 1;
	transition: background 0.15s;
	border-radius: 2px;
}

.album-lightbox__close:hover,
.album-lightbox__prev:hover,
.album-lightbox__next:hover {
	background: rgba(255, 255, 255, 0.28);
}

.album-lightbox__close {
	top: 20px;
	right: 20px;
	font-size: 32px;
	padding: 4px 12px 8px;
}

.album-lightbox__prev,
.album-lightbox__next {
	top: 50%;
	transform: translateY(-50%);
	font-size: 48px;
	padding: 8px 16px 12px;
}

.album-lightbox__prev { left: 20px; }
.album-lightbox__next { right: 20px; }

/* ===========================
   NOTICIAS HERO
   =========================== */

.noticias-hero {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	aspect-ratio: 1920 / 471;
	max-height: 470px;
	display: flex;
	align-items: center;
}

.noticias-hero__title {
	margin: 0;
}

/* ===========================
   NOTICIAS ARCHIVE
   =========================== */

.noticias-archive {
	padding-top: 64px;
	padding-bottom: 64px;
}

/* ── Grid base ── */
.wp-block-post-template.news-grid {
	gap: 24px;
}

/* ── Card base (aplica a todos) ── */
.news-card {
	background-color: #ffffff;
	border: 1px solid #0060B5;
	overflow: hidden;
	height: 100%;
}

.news-card__image .wp-block-post-featured-image img,
.news-card__image a img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}

.news-card__body {
	padding: 40px;
}

.news-card__date {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	color: rgba(11, 31, 68, 0.5);
	margin-bottom: 10px;
}

.news-card__title.wp-block-post-title {
	margin-top: 0;
	color: var(--wp--preset--color--secondary);
	margin-bottom: 10px;
}

.news-card__title.wp-block-post-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.news-card__title.wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}

.news-card__excerpt {
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(11, 31, 68, 0.7);
	margin-bottom: 16px;
}

.news-card__btn.wp-block-read-more {
	display: inline-block;
	font-family: 'Agharti', sans-serif;
	font-weight: 600;
	font-size: 24px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--primary);
	padding: 7px 10px 10px;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.news-card__btn.wp-block-read-more:hover {
	background-color: var(--wp--preset--color--primary);
	color: #ffffff;
}

/* ── Primer post: full-width horizontal ── */
.wp-block-post-template.news-grid > .wp-block-post:first-child {
	grid-column: 1 / -1;
}

.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card {
	display: flex;
	flex-direction: row;
}

.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card__image {
	margin: 0;
	flex: 0 0 50%;
}

.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card__image .wp-block-post-featured-image,
.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card__image a {
	height: 100%;
	display: block;
}

.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card__image .wp-block-post-featured-image img,
.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card__image a img {
	height: 370px;
	aspect-ratio: unset;
}

.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card__body {
	flex: 1;
	padding: 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card__title.wp-block-post-title {
	margin-top: 0;
	margin-bottom: 16px;
}

.wp-block-post-template.news-grid > .wp-block-post:first-child .news-card__excerpt {
	font-size: 15px;
	margin-bottom: 24px;
}

/* ── Botón VER TODAS LAS NOTICIAS ── */
.news-load-more.wp-block-query-pagination-next {
	display: inline-block;
	font-family: 'Agharti', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
	border: 1px solid var(--wp--preset--color--secondary);
	padding: 12px 32px;
	margin-top: 48px;
	transition: background-color 0.2s, color 0.2s;
}

.news-load-more.wp-block-query-pagination-next:hover {
	background-color: var(--wp--preset--color--secondary);
	color: #ffffff;
}

/* ── Tienda Home ── */
.tienda-home {
	background-color: var(--wp--preset--color--secondary);
}

.tienda-home .wp-block-cover__image-background {
	object-fit: cover;
}

.tienda-home__eyebrow {
	font-family: 'Agharti', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	opacity: 0.7;
	margin-bottom: 4px;
}

.tienda-home__title {
	margin-top: 0;
	margin-bottom: 40px;
}

.tienda-home__title-accent {
	background: none;
	color: var(--wp--preset--color--accent);
}

.tienda-home__grid .wp-block-post-template {
	gap: 24px;
}

.tienda-home__grid .wp-block-post {
	margin: 0;
}

.product-card {
	position: relative;
	overflow: hidden;
}

.product-card__image {
	margin: 0;
}

.product-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.product-card__footer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 24px;
	background-color: var(--wp--preset--color--secondary);
}

.product-card__info {
	min-width: 0;
}

.product-card__name.wp-block-post-title {
	margin: 0;
	font-weight: 700;
	letter-spacing: 1px;
}

.product-card__name.wp-block-post-title a {
	color: inherit;
}

.product-card__meta {
	font-family: 'Funnel Display', sans-serif;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.65);
	margin: 4px 0 0;
}

.product-card__footer .wp-block-woocommerce-product-price {
	font-family: 'Agharti', sans-serif;
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 1px;
	white-space: nowrap;
	margin: 0;
}

.product-card__footer .wp-block-woocommerce-product-price,
.product-card__footer .wp-block-woocommerce-product-price .price,
.product-card__footer .wp-block-woocommerce-product-price bdi {
	color: #ffffff;
}

.product-card__footer .wp-block-woocommerce-product-price .price {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.product-card__footer .wp-block-woocommerce-product-price del {
	font-size: 14px;
	font-weight: 400;
	opacity: 0.6;
}

.product-card__footer .wp-block-woocommerce-product-price ins {
	text-decoration: none;
}

.tienda-home__btn {
	margin-top: 40px;
}

@media (max-width: 599px) {
	.tienda-home__grid .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* ── SINGLE PRODUCT ────────────────────────────────────────────────────────── */

.product-single {
	padding: 32px 24px 64px;
}

.product-single__breadcrumbs {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	color: rgba(11, 31, 68, 0.6);
	margin-bottom: 24px;
}

.product-single__gallery-col .wc-block-product-image-gallery__main-image img {
	width: 100%;
	object-fit: cover;
}

.product-single__title.wp-block-post-title {
	color: #0061CF;
	margin: 0 0 8px;
}

.product-single__price.wp-block-woocommerce-product-price {
	display: block;
	font-family: 'Agharti', sans-serif;
	font-weight: 400;
	font-size: clamp(28px, calc(28px + 32 * ((100vw - 320px) / 1120)), 60px);
	line-height: 54px;
	letter-spacing: -0.44px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
	margin: 0 0 16px;
}

.product-single__summary {
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(11, 31, 68, 0.7);
	margin: 0 0 24px;
}

.product-single__add-to-cart {
	margin-bottom: 24px;
}

.product-single__add-to-cart .wc-block-add-to-cart-with-options__product-button,
.product-single__add-to-cart .wp-block-button__link {
	font-family: 'Agharti', sans-serif;
	font-weight: 700;
	font-size: 20px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	background-color: var(--wp--preset--color--primary);
	border-radius: 0;
}

.product-single__add-to-cart .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name {
	display: block;
	font-family: 'Agharti', sans-serif;
	font-weight: 700;
	font-size: clamp(20px, calc(20px + 8 * ((100vw - 320px) / 1120)), 28px);
	line-height: 26px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
	margin-bottom: 8px;
}

.product-single__add-to-cart .wc-block-product-filter-chips__items {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.product-single__add-to-cart .wc-block-product-filter-chips__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	font-weight: 400;
	color: var(--wp--preset--color--secondary);
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--secondary);
	border-radius: 0;
}

.product-single__add-to-cart .wc-block-product-filter-chips__item[aria-checked="true"] {
	color: #ffffff;
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

/* Personalización */
.product-customize {
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	border: 1px solid var(--wp--preset--color--primary);
	padding: 16px 20px;
	margin-top: 24px;
	margin-bottom: 16px;
}

.product-customize__label {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 12px;
}

.product-customize__fields {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 32px;
	margin-bottom: 24px;
}

.product-customize__fields[hidden] {
	display: none;
}

.product-customize__fields .form-field {
	flex: 1;
	margin: 0;
}

.product-customize__fields label {
	display: block;
	font-family: 'Funnel Display', sans-serif;
	font-size: 12px;
	color: rgba(11, 31, 68, 0.6);
	margin-bottom: 4px;
}

.product-customize__fields input {
	width: 100%;
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	color: var(--wp--preset--color--secondary);
	border: 1px solid #d0d5dd;
	padding: 8px 12px;
}

.product-customize__hint {
	font-weight: 400;
	text-transform: none;
	color: rgba(11, 31, 68, 0.45);
}

.product-customize__switch {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 22px;
	flex-shrink: 0;
}

.product-customize__switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.product-customize__slider {
	position: absolute;
	inset: 0;
	background-color: rgba(11, 31, 68, 0.2);
	border-radius: 999px;
	transition: background-color 0.2s;
	cursor: pointer;
}

.product-customize__slider::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 3px;
	width: 16px;
	height: 16px;
	background-color: #ffffff;
	border-radius: 50%;
	transition: transform 0.2s;
}

.product-customize__switch input:checked + .product-customize__slider {
	background-color: var(--wp--preset--color--primary);
}

.product-customize__switch input:checked + .product-customize__slider::before {
	transform: translateX(18px);
}

.product-customize__title.wp-block-heading {
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.product-customize__desc {
	font-family: 'Funnel Display', sans-serif;
	font-size: 12px;
	color: rgba(11, 31, 68, 0.55);
	margin: 2px 0 0;
}

.product-customize__price.wp-block-heading {
	color: var(--wp--preset--color--secondary);
	margin: 0;
	white-space: nowrap;
}

.product-single__lower {
	margin-top: 40px;
}

/* Beneficios (grid 2x2 en caja) */
.product-perks {
	margin: 0;
	height: 100%;
}

.product-perks__item {
	align-items: center;
	gap: 16px;
	border: 1px solid #e8e8e8;
	padding: 16px 20px;
}

.product-perks__icon {
	display: block;
	width: 37px;
	height: 36px;
	flex-shrink: 0;
}

.product-perks__title.wp-block-heading {
	font-size: 15px;
	color: var(--wp--preset--color--primary);
	margin: 0;
}

.product-perks__desc {
	font-family: 'Funnel Display', sans-serif;
	font-size: 12px;
	color: rgba(11, 31, 68, 0.55);
	margin: 2px 0 0;
}

/* Acordeón info producto */
.product-single__accordion-box {
	border: 1px solid var(--wp--preset--color--primary);
	padding: 0 20px;
}

.product-single__accordion.wp-block-details {
	border: none;
	border-bottom: 1px solid rgba(0, 97, 207, 0.2);
	padding: 16px 0;
}

.product-single__accordion.wp-block-details:last-child {
	border-bottom: none;
}

.product-single__accordion.wp-block-details summary {
	font-family: 'Agharti', sans-serif;
	font-weight: 700;
	font-size: clamp(20px, calc(20px + 8 * ((100vw - 320px) / 1120)), 28px);
	line-height: 26px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
	cursor: pointer;
	list-style: none;
}

.product-single__accordion.wp-block-details[open] summary {
	color: var(--wp--preset--color--primary);
}

.product-single__accordion.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.product-single__accordion.wp-block-details summary::after {
	content: "+";
	float: right;
	font-weight: 400;
}

.product-single__accordion.wp-block-details[open] summary::after {
	content: "\00d7";
}

.product-single__accordion.wp-block-details p {
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(11, 31, 68, 0.75);
	margin-top: 12px;
}

@media (max-width: 781px) {
	.wp-block-group.product-perks {
		grid-template-columns: 1fr;
	}
}

/* ── También te puede gustar ── */
.product-related {
	margin-top: 48px;
}

.product-related__title.wp-block-heading {
	margin: 0 0 24px;
}

.product-related__grid .wc-block-product-template {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

@media (max-width: 991px) {
	.product-related__grid .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 599px) {
	.product-related__grid .wc-block-product-template {
		grid-template-columns: 1fr;
	}
}

/* ── SINGLE POST — Entrada de blog ─────────────────────────────────────────── */

.single-post-hero {
	background-image: url("assets/fondo-escudos.png");
	background-size: cover;
	background-position: center;
	padding: 56px 24px 96px;
}

.single-post-hero__inner {
	max-width: 900px;
	margin-inline: auto;
}

.single-post-hero__meta {
	gap: 16px;
	margin-bottom: 24px;
}

.single-post-hero__badge {
	display: inline-block;
	background-color: var(--wp--preset--color--primary);
	color: #ffffff;
	font-family: 'Agharti', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	text-decoration: none;
	padding: 4px 10px;
	margin: 0;
}

.single-post-hero__badge a {
	color: #ffffff;
	text-decoration: none;
}

.single-post-hero__date {
	color: rgba(255, 255, 255, 0.85);
	font-size: 13px;
}

.single-post-hero__title {
	color: #ffffff;
	margin: 0 0 16px;
}

.single-post-hero__subtitle {
	color: rgba(255, 255, 255, 0.85);
	font-family: 'Funnel Display', sans-serif;
	font-size: 15px;
	line-height: 22px;
	max-width: 640px;
	margin: 0 auto;
}

.single-post-body {
	align-items: flex-start;
	gap: 40px;
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
	padding: 40px 24px;
}

.single-post-sidebar {
	flex: 0 0 200px;
	position: sticky;
	top: 24px;
	background-color: #ffffff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	padding: 20px;
	gap: 20px;
}

.single-post-meta__label {
	font-family: 'Funnel Display', sans-serif;
	color: var(--wp--preset--color--primary);
	font-weight: 400;
	margin: 0;
}

.single-post-meta__value {
	font-family: 'Funnel Display', sans-serif;
	color: var(--wp--preset--color--secondary);
	font-size: 13px;
	font-weight: 700;
	margin: 0;
}

.single-post-content {
	flex: 1;
	min-width: 0;
	font-family: 'Funnel Display', sans-serif;
}

.single-post-content > * + * {
	margin-top: 24px;
}

.single-post-content p {
	color: var(--wp--preset--color--secondary);
	line-height: 1.6;
}

@media (max-width: 782px) {
	.single-post-body {
		flex-direction: column;
	}

	.single-post-sidebar {
		flex-basis: auto;
		width: 100%;
	}
}

/* ── NUESTRO EQUIPO ────────────────────────────────────────────────────────── */

.team-section {
	padding: 64px 24px;
}

.team-section__title.wp-block-heading {
	color: var(--wp--preset--color--secondary);
	margin: 0 0 32px;
}

.team-rows {
	gap: 24px;
}

.team-row {
	align-items: stretch;
	background-color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(11, 31, 68, 0.08);
	overflow: hidden;
}

.team-row__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 180px;
	object-fit: cover;
}

.team-row__text-col {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px 40px;
}

.team-row__title.wp-block-heading {
	color: var(--wp--preset--color--secondary);
	margin: 0 0 12px;
}

.team-row__desc {
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(11, 31, 68, 0.65);
	margin: 0 0 20px;
}

@media (max-width: 781px) {
	.team-row__image {
		min-height: 220px;
	}

	.team-row__text-col {
		padding: 24px;
	}
}

/* ── CONTACTO ──────────────────────────────────────────────────────────────── */

.contacto {
	padding: 64px 24px;
}

.contacto-info {
	gap: 16px;
	margin-bottom: 24px;
}

.contacto-info__item {
	flex: 1 1 220px;
	align-items: center;
	gap: 12px;
	background-color: #ffffff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	padding: 16px;
}

.contacto-info__icon {
	flex: 0 0 auto;
	width: auto;
	height: 26px;
	margin: 0;
}

.contacto-info__body {
	gap: 2px;
}

.contacto-info__label {
	color: var(--wp--preset--color--accent);
	font-family: 'Agharti', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin: 0;
}

.contacto-info__text {
	font-family: 'Funnel Display', sans-serif;
	color: var(--wp--preset--color--secondary);
	font-size: 13px;
	line-height: 18px;
	margin: 0;
}

.contacto-body {
	align-items: stretch;
}

.contacto-form,
.contacto-photo {
	background-color: #ffffff;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 8px;
	overflow: hidden;
}

.contacto-form {
	padding: 24px 32px;
}

.contacto-form__title.wp-block-heading {
	color: var(--wp--preset--color--secondary);
	margin: 0 0 20px;
}

/* Gravity Forms skin */

.contacto-form .gform_wrapper {
	margin: 0;
}

.contacto-form .gform_wrapper .gform_fields {
	row-gap: 12px;
}

.contacto-form .gfield {
	margin-bottom: 0;
}

.contacto-form .gfield_label,
.contacto-form .gform-field-label {
	color: var(--wp--preset--color--secondary);
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;
}

.contacto-form .gfield_required {
	color: rgba(11, 31, 68, 0.4);
	font-weight: 400;
}

.contacto-form .gfield .ginput_container_text input[type="text"],
.contacto-form .gfield .ginput_container_date input[type="text"],
.contacto-form .gfield .ginput_container_email input[type="email"],
.contacto-form .gfield .ginput_container_phone input[type="tel"],
.contacto-form .gfield .ginput_container_number input[type="number"],
.contacto-form .gfield .ginput_container_select select,
.contacto-form .gfield .ginput_container_textarea textarea {
	width: 100%;
	background-color: #ffffff;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 0;
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	color: var(--wp--preset--color--secondary);
}

.contacto-form input::placeholder,
.contacto-form textarea::placeholder {
	color: rgba(11, 31, 68, 0.4);
}

.contacto-form input:focus,
.contacto-form select:focus,
.contacto-form textarea:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
}

.contacto-form .gchoice,
.contacto-form .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.contacto-form .gfield-choice-input,
.contacto-form .ginput_container_consent input[type="checkbox"] {
	accent-color: var(--wp--preset--color--primary);
	margin-top: 2px;
}

.contacto-form .gform-field-label--type-inline {
	color: var(--wp--preset--color--secondary);
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
}

.contacto-form .gform_footer {
	margin-top: 24px;
}

.contacto-form .gform_button {
	font-family: 'Agharti', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	background-color: var(--wp--preset--color--primary);
	border: none;
	border-radius: 0;
	padding: 10px 24px;
}

.contacto-form .gform_button:hover {
	background-color: var(--wp--preset--color--secondary);
}

.contacto-photo__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.contacto-map {
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	overflow: hidden;
	margin-top: 24px;
}

.contacto-map__iframe {
	display: block;
	width: 100%;
	min-height: 420px;
	border: none;
}

/* ── PREGUNTAS FRECUENTES ──────────────────────────────────────────────────── */

.faq-section {
	padding: 64px 24px;
}

.faq-section__title.wp-block-heading {
	color: var(--wp--preset--color--primary);
	margin: 0 0 32px;
}

.faq-list {
	border-top: 1px solid rgba(0, 97, 207, 0.25);
}

.faq-item.wp-block-details {
	border: none;
	border-bottom: 1px solid rgba(0, 97, 207, 0.25);
	padding: 20px 0;
}

.faq-item.wp-block-details summary {
	font-family: 'Agharti', sans-serif;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	cursor: pointer;
	list-style: none;
}

.faq-item.wp-block-details summary::-webkit-details-marker {
	display: none;
}

.faq-item.wp-block-details summary::after {
	content: "\25be";
	float: right;
	color: var(--wp--preset--color--secondary);
	font-size: 14px;
}

.faq-item.wp-block-details[open] summary::after {
	content: "\00d7";
}

.faq-item.wp-block-details p {
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(11, 31, 68, 0.7);
	margin-top: 10px;
}

/* ── HAZTE SOCIO ───────────────────────────────────────────────────────────── */

.hazte-socio .wp-block-cover__inner-container {
	max-width: 920px;
	margin-inline: auto;
	padding: 64px 24px 48px;
}

.hazte-socio__title.wp-block-heading {
	color: #ffffff;
	margin: 0;
}

.hazte-socio-steps {
	background-color: var(--wp--preset--color--secondary);
}

.hazte-socio-steps__inner {
	gap: 32px;
	padding: 32px 24px;
}

.hazte-socio-step {
	flex: 1 1 0;
	gap: 12px;
	align-items: center;
}

.hazte-socio-step__number {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary);
	color: #ffffff;
	font-family: 'Agharti', sans-serif;
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}

.hazte-socio-step__title.wp-block-heading {
	color: #ffffff;
	margin: 0 0 4px;
}

.hazte-socio-step__text {
	font-family: 'Funnel Display', sans-serif;
	color: rgba(255, 255, 255, 0.7);
	font-size: 13px;
	line-height: 18px;
	margin: 0;
}

@media (max-width: 782px) {
	.hazte-socio-steps__inner {
		flex-direction: column;
	}
}

/* ── HAZTE SOCIO · FORMULARIO ──────────────────────────────────────────────── */

.abono {
	padding: 64px 24px;
}

.abono__inner {
	align-items: flex-start;
	gap: 32px;
	max-width: var(--wp--style--global--content-size);
	margin-inline: auto;
}

.abono__form {
	flex: 2 1 560px;
	background-color: #ffffff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	padding: 32px;
}

.abono__tabs {
	gap: 0;
	margin: 0 0 32px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid #e8e8e8;
}

.abono__tab {
	flex: 1 1 0;
	align-items: center;
	padding: 10px 12px;
	background-color: #f5f5f5;
	text-align: center;
	cursor: pointer;
}

.abono__panel {
	display: none;
}

.abono__panel--active {
	display: block;
}

.abono__tab--active {
	background-color: var(--wp--preset--color--primary);
}

.abono__panel-title.wp-block-heading {
	color: var(--wp--preset--color--secondary);
	margin: 0 0 20px;
}

.abono__tab-title {
	font-family: 'Agharti', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secondary);
	margin: 0;
}

.abono__tab--active .abono__tab-title {
	color: #ffffff;
}

.abono__tab-subtitle {
	font-family: 'Funnel Display', sans-serif;
	font-size: 11px;
	color: rgba(11, 31, 68, 0.6);
	margin: 0;
}

.abono__tab--active .abono__tab-subtitle {
	color: rgba(255, 255, 255, 0.75);
}

.abono__sidebar {
	flex: 1 1 320px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.abono-cuota {
	background-color: var(--wp--preset--color--secondary);
	padding: 24px;
	border-radius: 8px;
}

.abono-cuota__label {
	color: var(--wp--preset--color--accent);
	font-family: 'Agharti', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin: 0 0 4px;
}

.abono-cuota__price {
	color: var(--wp--preset--color--accent);
	font-family: 'Agharti', sans-serif;
	font-size: 40px;
	font-weight: 700;
	margin: 0 0 12px;
}

.abono-cuota__text {
	font-family: 'Funnel Display', sans-serif;
	color: rgba(255, 255, 255, 0.8);
	font-size: 13px;
	line-height: 20px;
	margin: 0;
}

.abono-doc,
.abono-dudas {
	background-color: #ffffff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	padding: 24px;
}

.abono-doc__title.wp-block-heading,
.abono-dudas__title.wp-block-heading {
	color: var(--wp--preset--color--secondary);
	margin: 0 0 16px;
}

.abono-doc__item {
	align-items: flex-start;
}

.abono-doc__num {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary);
	color: #ffffff;
	font-family: 'Agharti', sans-serif;
	font-size: 12px;
	font-weight: 700;
	margin: 2px 0 0;
}

.abono-doc__text {
	font-family: 'Funnel Display', sans-serif;
	color: var(--wp--preset--color--secondary);
	font-size: 14px;
	margin: 0;
}

.abono-dudas__link {
	color: var(--wp--preset--color--accent);
	font-family: 'Agharti', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.abono-dudas__contact {
	font-family: 'Funnel Display', sans-serif;
	color: var(--wp--preset--color--secondary);
	font-size: 14px;
	line-height: 20px;
	margin: 0;
}

.abono__form .gform_wrapper {
	margin: 0;
}

.abono__form .gform_wrapper .gform_fields {
	row-gap: 12px;
}

.abono__form .gfield {
	margin-bottom: 0;
}

.abono__form .gfield_label,
.abono__form .gform-field-label {
	color: var(--wp--preset--color--secondary);
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;
}

.abono__form .gfield_required {
	color: rgba(11, 31, 68, 0.4);
	font-weight: 400;
}

.abono__form .gfield .ginput_container_text input[type="text"],
.abono__form .gfield .ginput_container_date input[type="text"],
.abono__form .gfield .ginput_container_email input[type="email"],
.abono__form .gfield .ginput_container_phone input[type="tel"],
.abono__form .gfield .ginput_container_number input[type="number"],
.abono__form .gfield .ginput_container_select select,
.abono__form .gfield .ginput_container_textarea textarea {
	width: 100%;
	background-color: #ffffff;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 0;
	font-family: 'Funnel Display', sans-serif;
	font-size: 14px;
	color: var(--wp--preset--color--secondary);
}

.abono__form input::placeholder,
.abono__form textarea::placeholder {
	color: rgba(11, 31, 68, 0.4);
}

.abono__form input:focus,
.abono__form select:focus,
.abono__form textarea:focus {
	border-color: var(--wp--preset--color--primary);
	outline: none;
}

.abono__form .gchoice,
.abono__form .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.abono__form .gfield-choice-input,
.abono__form .ginput_container_consent input[type="checkbox"] {
	accent-color: var(--wp--preset--color--primary);
	margin-top: 2px;
}

.abono__form .gform-field-label--type-inline {
	color: var(--wp--preset--color--secondary);
	font-family: 'Funnel Display', sans-serif;
	font-size: 13px;
}

.abono__form .gform_footer {
	margin-top: 24px;
}

.abono__form .gform_button {
	font-family: 'Agharti', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	background-color: var(--wp--preset--color--primary);
	border: none;
	border-radius: 0;
	padding: 10px 24px;
}

.abono__form .gform_button:hover {
	background-color: var(--wp--preset--color--secondary);
}

@media (max-width: 782px) {
	.abono__inner {
		flex-direction: column;
	}
}
