/*
 * DDC Responsive — maquetación de móvil y tablet de deportedecontacto.com
 *
 * REGLA DE ORO: escritorio (≥ 1025 px) no se toca. Todas las reglas de este
 * archivo viven dentro de @media (max-width: 1024px) o (max-width: 767px), y el
 * propio <link> se carga con media="(max-width: 1024px)": a partir de 1025 px el
 * navegador no lo aplica.
 *
 * Tampoco se toca el contenido: nada se oculta ni se reordena editorialmente.
 * Solo se cambia cómo se presenta (tamaños, rejillas, espaciados, zonas táctiles).
 *
 * Sobre los !important: solo donde el tema u otro plugin ya usa !important o
 * estilos en línea, y se anota al lado el motivo.
 *
 * Secciones:
 *   1. Sistema (variables, base, tipografía)
 *   2. Barra superior (lema, cuenta y redes)
 *   3. Cabecera compacta y fija
 *   4. Menú móvil a pantalla completa y buscador
 *   5. Formularios (sin zoom en iPhone)
 *   6. Aviso de cookies propio (DDC Cookies)
 *   7. Contenido de entradas y páginas (OceanWP)
 *   8. Cabecera de las entradas (OceanWP «estilo 6»)
 *   9. Archivos: categorías, etiquetas, autor y búsqueda
 *  10. Barra lateral y pie
 *  11. Anuncios
 *  12. Tienda (WooCommerce)
 *  13. Eventos (The Events Calendar)
 *  13 bis. Portada (DDC Portada)
 *  13 ter. Imágenes de Elementor que se salían por los lados
 *  14. Tablet: ajustes propios de 768–1024 px
 *  15–24. Aspecto de app (1.1.0): ver el índice al final del archivo
 */

/* ------------------------------------------------------------------ */
/* 1. Sistema                                                          */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	:root {
		--ddcr-rojo: #e10600;
		--ddcr-negro: #0a0808;
		--ddcr-texto: #3a3a3a;
		--ddcr-borde: #e6e6e6;
		--ddcr-gutter: 24px;
		--ddcr-cab: 64px;            /* alto de la cabecera compacta */
		--ddcr-tactil: 44px;         /* zona táctil mínima */
		--ddcr-radio: 10px;
		--ddcr-s1: 4px; --ddcr-s2: 8px; --ddcr-s3: 12px; --ddcr-s4: 16px; --ddcr-s5: 24px; --ddcr-s6: 32px;
	}

	/*
	 * El tema pone html,body{overflow-x:hidden!important}. «hidden» convierte a
	 * <body> en contenedor de scroll y rompe position:sticky. «clip» recorta
	 * igual sin crear contenedor. Lleva !important para ganar al del tema.
	 * Donde clip no exista (Safari < 16) se queda el hidden del tema.
	 */
	html, body { overflow-x: clip !important; }

	html {
		-webkit-text-size-adjust: 100%;
		text-size-adjust: 100%;
		scroll-padding-top: calc(var(--ddcr-cab) + 12px);
	}
	body { -webkit-tap-highlight-color: rgba(225, 6, 0, .15); }

	/* Imágenes, vídeos e iframes nunca más anchos que su caja (sin tocar su
	   altura: las landings y los Shorts verticales tienen la suya) */
	/* :where() deja la especificidad a cero: cualquier regla propia de una landing gana */
	:where(#main, #footer) :where(img, video, iframe) { max-width: 100%; }

	/* Estado de pulsación visible en botones y enlaces-botón */
	#main .button:active, #main button:active, .woocommerce .button:active,
	.blog-entry-readmore a:active, .elementor-button:active { transform: translateY(1px); filter: brightness(.92); }
}

@media (max-width: 767px) {
	:root { --ddcr-gutter: 16px; --ddcr-cab: 60px; }
}

/* ------------------------------------------------------------------ */
/* 2. Barra superior: lema + «Accede a tu cuenta» + redes              */
/*    Antes: 122 px de alto con iconos de 18 × 24 px.                  */
/*    Ahora: dos filas de 44 px, iconos de 44 × 44 px.                 */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	#top-bar-wrap #top-bar { padding: 0; width: auto; max-width: none; margin: 0; }
	#top-bar-wrap #top-bar-inner {
		display: flex;
		flex-direction: column;
		padding: 0 !important; /* OceanWP mete un padding-bottom en línea para colocar las redes */
		margin: 0 var(--ddcr-gutter);
	}
	#top-bar-wrap #top-bar-content {
		float: none; width: 100%; padding: 0; margin: 0; text-align: left;
	}
	#top-bar-wrap .topbar-content {
		display: flex; align-items: center; justify-content: space-between; gap: var(--ddcr-s3);
		min-height: var(--ddcr-tactil);
		font-size: 12px; line-height: 1.35; letter-spacing: .2px;
	}
	/* El CSS personalizado de la web lo coloca en absoluto con !important en
	   todas sus propiedades; aquí vuelve al flujo, también con !important. */
	#top-bar-wrap #ddc-account-links {
		position: static !important; transform: none !important;
		left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
		flex: none; margin: 0; text-align: right !important; white-space: nowrap !important;
	}
	#top-bar-wrap #ddc-account-links a {
		display: inline-flex; align-items: center; min-height: var(--ddcr-tactil);
		padding: 0 0 0 var(--ddcr-s2); margin-left: 0 !important;
		font-size: 12px !important; font-weight: 600; letter-spacing: .6px; white-space: nowrap;
	}
	#top-bar-wrap #top-bar-social {
		position: static !important; float: none; width: 100%; margin: 0; padding: 0;
		height: auto !important; /* el tema le da 20 px de alto: los iconos de 44 se salían por debajo */
		border-top: 1px solid rgba(255, 255, 255, .08);
	}
	#top-bar-wrap #top-bar-social ul {
		display: flex; justify-content: center; flex-wrap: nowrap; margin: 0; padding: 0;
	}
	#top-bar-wrap #top-bar-social li { display: block; flex: none; }
	#top-bar-wrap #top-bar-social li a {
		display: flex; align-items: center; justify-content: center;
		width: var(--ddcr-tactil); height: var(--ddcr-tactil); padding: 0; margin: 0; font-size: 16px;
	}
}
@media (max-width: 767px) {
	/* En móvil no caben 11 iconos de 44 px: se deslizan, con un fundido que lo indica */
	#top-bar-wrap #top-bar-social ul {
		justify-content: flex-start;
		overflow-x: auto; overscroll-behavior-x: contain;
		scroll-snap-type: x proximity; scrollbar-width: none;
		-webkit-mask-image: linear-gradient(90deg, #000 82%, transparent);
		mask-image: linear-gradient(90deg, #000 82%, transparent);
	}
	#top-bar-wrap #top-bar-social ul::-webkit-scrollbar { display: none; }
	#top-bar-wrap #top-bar-social li { scroll-snap-align: start; }
	#top-bar-wrap #top-bar-social li:last-child { margin-right: 40px; }
}

/* ------------------------------------------------------------------ */
/* 3. Cabecera compacta y fija tipo app                                */
/*    Se fija solo donde la página no trae su propia barra fija        */
/*    (landings, promotoras y disciplinas tienen la suya).             */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	#site-header #site-header-inner {
		height: var(--ddcr-cab) !important; /* el tema la fija en línea con data-height */
		width: auto; max-width: none;
		margin: 0 max(var(--ddcr-gutter), env(safe-area-inset-left));
		display: flex; align-items: center; justify-content: space-between;
	}
	#site-header #site-header-inner::after, #site-header #site-header-inner::before { display: none; }
	#site-header #site-logo { float: none; height: var(--ddcr-cab); display: flex; align-items: center; }
	#site-header #site-logo #site-logo-inner { display: flex; align-items: center; height: var(--ddcr-cab); }
	#site-header #site-logo img.responsive-logo { max-height: 34px; width: auto; }
	/* Solo el logo móvil: el de escritorio (a.custom-logo-link) lo oculta el tema y debe seguir oculto */
	#site-header #site-logo a.responsive-logo-link { display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); }
	#site-header .oceanwp-mobile-menu-icon { float: none; display: flex; align-items: center; margin-left: auto; }
	#site-header .oceanwp-mobile-menu-icon a {
		display: inline-flex; align-items: center; justify-content: center;
		min-width: var(--ddcr-tactil); height: var(--ddcr-tactil); line-height: 1; padding: 0 var(--ddcr-s1);
	}
	#site-header .oceanwp-mobile-menu-icon a.mobile-menu { padding: 0 var(--ddcr-s2); }

	/* html.ddcr-ancla-arriba: lo pone ddc-responsive.js cuando un anuncio ancla de AdSense
	   ocupa la parte de arriba; entonces la cabecera no se fija (quedaría tapada) */
	html:not(.ddc-landing):not(.ddcr-ancla-arriba) body:not(:has(#ddcpr, .ddc-di, header#nav, nav#nav, nav.nav)) #site-header {
		position: sticky; top: 0; z-index: 1001;
		background-color: #fff;
		box-shadow: 0 1px 0 rgba(0, 0, 0, .06), 0 6px 18px -12px rgba(0, 0, 0, .35);
	}
}
@media (max-width: 767px) {
	#site-header #site-logo img.responsive-logo { max-height: 30px; max-width: 150px; }
}

/* ------------------------------------------------------------------ */
/* 4. Menú móvil a pantalla completa y buscador                        */
/*    Mismos enlaces que el menú actual: solo cambia la presentación.  */
/*    --ddcr-menu-top lo pone ddc-responsive.js con el borde inferior  */
/*    de la cabecera, para que «Cerrar» quede siempre a la vista.      */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	#site-header #mobile-dropdown {
		position: fixed; left: 0; right: 0;
		top: var(--ddcr-menu-top, var(--ddcr-cab));
		bottom: 0;
		height: auto !important; /* jQuery slideToggle escribe una altura en línea durante la animación */
		max-height: none;
		overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
		background: #fff;
		padding: var(--ddcr-s2) max(var(--ddcr-gutter), env(safe-area-inset-left)) calc(var(--ddcr-s6) + env(safe-area-inset-bottom));
		border-top: 3px solid var(--ddcr-rojo);
		box-shadow: none;
		z-index: 1000;
	}
	#site-header #mobile-dropdown > nav { max-width: 640px; margin: 0 auto; }
	#site-header #mobile-dropdown ul li a {
		display: flex; align-items: center; gap: var(--ddcr-s3);
		min-height: 52px; padding: 0 56px 0 var(--ddcr-s1);
		font-size: 17px; line-height: 1.3; font-weight: 500; color: #1a1a1a;
		border-bottom: 1px solid var(--ddcr-borde);
	}
	#site-header #mobile-dropdown ul li a .icon { font-size: 18px; }
	#site-header #mobile-dropdown ul.sub-menu { background: #f6f6f6; border-radius: var(--ddcr-radio); margin: var(--ddcr-s1) 0 var(--ddcr-s2); padding: 0; }
	#site-header #mobile-dropdown ul.sub-menu li a { padding-left: var(--ddcr-s4); font-size: 16px; font-weight: 400; min-height: 48px; }
	#site-header #mobile-dropdown ul.sub-menu li:last-child > a { border-bottom: 0; }
	/* El «+» que abre cada submenú: zona táctil de 52 × 52 */
	#site-header #mobile-dropdown .dropdown-toggle {
		position: absolute; right: 0; top: 0;
		width: 52px; height: 52px; line-height: 52px; text-align: center;
		display: flex; align-items: center; justify-content: center;
		font-size: 20px; border: 0;
	}
	#site-header #mobile-dropdown li { position: relative; }
	/* Iconos sociales del final del menú, si los hay */
	#site-header #mobile-dropdown .oceanwp-social-menu ul,
	#site-header #mobile-dropdown .social-menu-inner ul { display: flex; flex-wrap: wrap; justify-content: center; }
	#site-header #mobile-dropdown .oceanwp-social-menu a { min-width: var(--ddcr-tactil); min-height: var(--ddcr-tactil); border: 0; justify-content: center; }

	/* Con el menú abierto, la página de detrás no se desplaza */
	html:has(#site-header .oceanwp-mobile-menu-icon a.mobile-menu[aria-expanded="true"]) body { overflow: hidden; }

	/* Buscador desplegable: a todo lo ancho, campo grande */
	#site-header #icon-searchform-dropdown {
		position: absolute; left: 0; right: 0; width: auto;
		padding: var(--ddcr-s3) var(--ddcr-gutter);
		border-top-color: var(--ddcr-rojo);
	}
	#site-header #icon-searchform-dropdown input:not([type="hidden"]):not([type="submit"]) {
		height: 48px; padding: 0 var(--ddcr-s4); border-radius: var(--ddcr-radio);
	}
}

/* ------------------------------------------------------------------ */
/* 5. Formularios: ningún campo por debajo de 16 px (iPhone hace zoom) */
/*    !important porque los campos llevan reglas con #id (MailPoet,    */
/*    buscadores de OceanWP) y estilos en línea.                       */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	:is(#site-header, #top-bar-wrap, #right-sidebar, #left-sidebar, #footer, .woocommerce, .woocommerce-page #main, .tribe-events, .tribe-events-single, .mailpoet_form, form.searchform, .search-results #main, .error404 #main, #ddc-ck, #busca)
		:is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="range"]):not([type="color"]):not([type="file"]), select, textarea),
	input#busca, input#not-busca, :is(#c-web, #c-nombre, #c-email, #c-club, #c-tel, #c-plan, #c-msg, #sp-round-min, #sp-rest-min, #sp-rounds),
	form.ddcn-soy-medio :is(input, select, textarea) {
		font-size: 16px !important;
	}
	/* No en landings, promotoras ni disciplinas: sus formularios tienen su propio diseño */
	html:not(.ddc-landing) body:not(:has(#ddcpr, .ddc-di)) #main :is(input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="password"], input[type="number"], select),
	#footer input[type="email"], #footer input[type="text"], #footer input[type="search"] {
		min-height: var(--ddcr-tactil);
	}
	.mailpoet_form .mailpoet_submit, #footer .mailpoet_submit, #main .mailpoet_submit {
		min-height: var(--ddcr-tactil) !important; /* MailPoet lo fija en línea */
		font-size: 15px !important;
	}
}

/* ------------------------------------------------------------------ */
/* 6. Aviso de cookies propio (#ddc-ck)                                */
/*    Sus tamaños van en rem sobre una raíz de 10 px: el texto queda   */
/*    a 9,5 px. Aquí pasan a px legibles y los botones a una fila.     */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	#ddc-ck {
		padding: 0 var(--ddcr-s2) calc(var(--ddcr-s2) + env(safe-area-inset-bottom));
	}
	#ddc-ck .ddc-ck-caja { max-width: 640px; margin: 0 auto; border-radius: 14px; }
	#ddc-ck .ddc-ck-cuerpo { padding: var(--ddcr-s4) var(--ddcr-s4) 0; }
	#ddc-ck .ddc-ck-titulo { font-size: 18px; line-height: 1.2; margin: 0 0 var(--ddcr-s2); }
	#ddc-ck .ddc-ck-texto { font-size: 14px; line-height: 1.45; margin: 0 0 var(--ddcr-s3); }
	#ddc-ck .ddc-ck-texto a { display: inline-block; padding: 2px 0; }
	#ddc-ck .ddc-ck-opciones { font-size: 14px; line-height: 1.45; max-height: 45dvh; overflow-y: auto; }
	#ddc-ck .ddc-ck-fila { padding: var(--ddcr-s2) 0; }
	#ddc-ck .ddc-ck-fila input { width: 22px; height: 22px; }
	/* Aceptar y Rechazar, iguales y lado a lado; Elegir (y Guardar) debajo */
	#ddc-ck .ddc-ck-botones {
		display: grid; grid-template-columns: 1fr 1fr; gap: var(--ddcr-s2);
		padding: 0 var(--ddcr-s4) var(--ddcr-s4);
	}
	#ddc-ck .ddc-ck-btn {
		width: auto; min-height: var(--ddcr-tactil); margin: 0; padding: 0 var(--ddcr-s2);
		font-size: 14px; line-height: 1.15; white-space: nowrap;
		display: flex; align-items: center; justify-content: center; text-align: center;
		border-radius: var(--ddcr-radio);
	}
	#ddc-ck .ddc-ck-btn:not(.ddc-ck-btn-si):not(.ddc-ck-btn-no) { grid-column: 1 / -1; }
	#ddc-ck .ddc-ck-btn[hidden] { display: none; } /* respetar los botones que el plugin oculta */
}
@media (min-width: 768px) and (max-width: 1024px) {
	/* En tablet caben los tres botones en una fila: el aviso tapa menos pantalla */
	#ddc-ck .ddc-ck-botones { grid-template-columns: repeat(3, 1fr); }
	#ddc-ck .ddc-ck-btn:not(.ddc-ck-btn-si):not(.ddc-ck-btn-no) { grid-column: auto; }
}

/* ------------------------------------------------------------------ */
/* 7. Contenido de entradas y páginas                                  */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* Cuerpo a 16–17 px con interlineado cómodo */
	.single-post article .entry-content > p, .single-post article .entry-content > ul li, .single-post article .entry-content > ol li,
	.single-page-article .entry > p, .single-page-article .entry > ul li, .single-page-article .entry > ol li,
	#content .entry > p {
		font-size: clamp(16px, 1.1rem + .4vw, 17px);
		line-height: 1.7;
	}
	/*
	 * El CSS personalizado de la web justifica los párrafos. En una columna
	 * estrecha deja huecos enormes entre palabras («Plataforma   para   el»).
	 * Se alinea a la izquierda respetando los párrafos centrados a propósito.
	 */
	article .entry-content p:not([class*="has-text-align"]):not([style*="text-align"]),
	article .entry-content ul li:not([class*="has-text-align"]):not([style*="text-align"]) {
		text-align: left;
		-webkit-hyphens: auto; hyphens: auto;
	}
	.single-post article .entry-content > h2 { font-size: clamp(22px, 5.4vw, 28px); line-height: 1.2; }
	.single-post article .entry-content > h3 { font-size: clamp(19px, 4.6vw, 23px); line-height: 1.25; }
	.single-post article .entry-content > figure, .single-post article .entry-content > .wp-block-image { margin-left: 0; margin-right: 0; }
	article .entry-content figcaption, article .entry-content .wp-element-caption { font-size: 13px; line-height: 1.45; }
	/* Tablas: desplazamiento horizontal limpio dentro de su caja, nunca de la página */
	article .entry-content .wp-block-table, .single-page-article .entry .wp-block-table {
		overflow-x: auto; -webkit-overflow-scrolling: touch;
		background:
			linear-gradient(90deg, #fff 30%, rgba(255,255,255,0)) left / 24px 100% no-repeat local,
			linear-gradient(270deg, #fff 30%, rgba(255,255,255,0)) right / 24px 100% no-repeat local,
			radial-gradient(farthest-side at 0 50%, rgba(0,0,0,.18), transparent) left / 10px 100% no-repeat scroll,
			radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.18), transparent) right / 10px 100% no-repeat scroll;
	}
	article .entry-content .wp-block-table table { min-width: 520px; }
	/*
	 * Vídeos de YouTube incrustados como bloque: el CSS personalizado de la web
	 * los pone a height:60vh !important. En un móvil son 500 px de marco para un
	 * vídeo 16:9 (franjas negras arriba y abajo). Dentro del bloque de WordPress,
	 * que ya reserva la proporción del vídeo (16:9 o 9:16 para los Shorts), el
	 * iframe ocupa justo esa caja. Lleva !important para ganar al de la web.
	 */
	.wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper iframe[src*="youtube.com"] {
		position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-height: none !important;
	}
	/* Botones dentro del texto: cómodos y en una línea */
	article .entry-content .wp-block-button__link { min-height: var(--ddcr-tactil); display: inline-flex; align-items: center; justify-content: center; }
	/* Etiquetas y navegación entre entradas */
	.single .post-tags { line-height: 1.6; }
	.single .post-tags a { display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); padding: 0 2px; }
	.single .post-author-name a, .single .post-author-avatar a { display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); }
	.single .blog-post-title ul.meta a, .single ul.meta li a { display: inline-block; padding: 6px 0; }
	.single nav.post-navigation .nav-links a { display: block; padding: var(--ddcr-s2) 0; }
	/* Compartir (AddToAny): iconos de 44 px */
	.addtoany_list a, .a2a_kit a { min-width: var(--ddcr-tactil); min-height: var(--ddcr-tactil); display: inline-flex !important; align-items: center; justify-content: center; }
}

/* ------------------------------------------------------------------ */
/* 8. Cabecera de las entradas (OceanWP «single-header-ocean-6»)       */
/*    Antes: caja de 280 px con el título a 200 px de ancho: 7 líneas. */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.single-header-ocean-6 .sh-container.head-row {
		max-width: none; width: auto;
		margin: 0 var(--ddcr-gutter);
		padding: 0;
	}
	.single-header-ocean-6 .sh-container .col-xs-12 { width: 100%; padding: 0; }
	.single-header-ocean-6 .blog-post-title {
		max-width: none; width: auto;
		padding: var(--ddcr-s5) var(--ddcr-s5) var(--ddcr-s4);
		border-radius: var(--ddcr-radio);
	}
	.single-header-ocean-6 .blog-post-title .single-post-title {
		max-width: none; width: auto;
		font-size: clamp(24px, 6.2vw, 34px); line-height: 1.22; letter-spacing: -.2px;
		margin-bottom: var(--ddcr-s4);
	}
	/*
	 * Foto de cabecera: mientras carga, su hueco salía casi cuadrado y al llegar
	 * la foto todo subía ~180 px (CLS 0,11 en Lighthouse, ya antes del plugin).
	 * Se reserva su proporción 16:9 desde el primer pintado, pero solo cuando los
	 * atributos de la imagen dicen que es 16:9 (el 93 % de las destacadas): las
	 * de otra proporción se ven como siempre, sin recortar.
	 */
	.single-header-ocean-6 .post-thumbnail:has(> img:is([width="1280"][height="720"], [width="1920"][height="1080"], [width="1200"][height="675"], [width="1600"][height="900"], [width="1024"][height="576"], [width="800"][height="450"], [width="768"][height="432"], [width="640"][height="360"])) {
		aspect-ratio: 16 / 9; overflow: hidden; height: auto; min-height: 0;
	}
	.single-header-ocean-6 .post-thumbnail:has(> img:is([width="1280"][height="720"], [width="1920"][height="1080"], [width="1200"][height="675"], [width="1600"][height="900"], [width="1024"][height="576"], [width="800"][height="450"], [width="768"][height="432"], [width="640"][height="360"])) > img {
		width: 100%; height: 100%; object-fit: cover;
	}
	.single-header-ocean-6 .blog-post-author { gap: var(--ddcr-s3); align-items: center; }
	.single-header-ocean-6 ul.meta, .single-header-ocean-6 .meta-item { font-size: 13px; line-height: 1.5; }
}
@media (max-width: 767px) {
	.single-header-ocean-6 .blog-post-title { padding: var(--ddcr-s4); }
}

/* ------------------------------------------------------------------ */
/* 9. Archivos: categorías, etiquetas, autor y búsqueda                */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.blog-entry .blog-entry-summary p { font-size: 16px; line-height: 1.6; }
	.blog-entry ul.meta { font-size: 13px; line-height: 1.5; }
	.blog-entry ul.meta li { padding-bottom: var(--ddcr-s1); }
	.blog-entry .blog-entry-readmore a {
		display: inline-flex; align-items: center; min-height: var(--ddcr-tactil);
		padding: 0 var(--ddcr-s4); font-size: 13px; letter-spacing: .6px;
	}
	.blog-entry .blog-entry-header .entry-title { line-height: 1.15; }
	.blog-entry .thumbnail img { width: 100%; border-radius: var(--ddcr-radio); }
	.blog-entry .thumbnail .wp-caption-text, .blog-entry .thumbnail-caption { font-size: 13px; line-height: 1.45; }
	/* Paginación */
	.oceanwp-pagination ul.page-numbers li a, .oceanwp-pagination ul.page-numbers li span,
	.page-numbers a, .page-numbers span.current { min-width: var(--ddcr-tactil); min-height: var(--ddcr-tactil); display: inline-flex; align-items: center; justify-content: center; }
	/* Página de título de archivo y migas */
	.page-header .site-breadcrumbs, .page-header nav.site-breadcrumbs { font-size: 13px; line-height: 1.6; }
	.site-breadcrumbs a { display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); }
	.site-breadcrumbs .trail-begin a { min-width: var(--ddcr-tactil); }
}

/* ------------------------------------------------------------------ */
/* 10. Barra lateral y pie                                             */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* Listas de la barra lateral (categorías, archivos): filas de 44 px */
	.sidebar-box ul li a, .widget_categories ul li a, .widget_archive ul li a,
	.woocommerce-widget-layered-nav-list li a, .widget_product_categories ul li a {
		display: flex; align-items: center; min-height: var(--ddcr-tactil);
		font-size: 15px;
	}
	.sidebar-box ul li, .widget_categories ul li { padding-top: 0; padding-bottom: 0; }
	/* Artículos recientes de OceanWP */
	.oceanwp-recent-posts li { padding: var(--ddcr-s2) 0; }
	.oceanwp-recent-posts .recent-posts-title { font-size: 15px; line-height: 1.4; display: block; padding: var(--ddcr-s1) 0; }
	.oceanwp-recent-posts .recent-posts-date, .oceanwp-recent-posts .recent-posts-comments,
	.oceanwp-recent-posts .recent-posts-comments a { font-size: 12px; }
	.sidebar-box .widget-title, #footer-widgets .widget-title { font-size: 14px; letter-spacing: 1px; }
	/* Enlaces sueltos de widgets de texto («Anúnciate con nosotros», «Envíanos tu noticia») */
	.sidebar-box .textwidget a, #footer-widgets .textwidget a { display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); }
	/* Enlaces que envuelven una imagen: la zona táctil es la imagen entera */
	.widget_media_image a, .code-block > a, .textwidget > a:has(> img) { display: inline-block; max-width: 100%; }
	/* Insignias de App Store y Google Play: tamaño de insignia, no de cartel */
	#footer-widgets img[src*="app-store" i], #footer-widgets img[src*="appstore" i],
	#footer-widgets img[src*="google-play" i], #footer-widgets img[src*="googleplay" i] { max-width: 200px; }

	/* Pie inferior: enlaces legales con zona táctil */
	#footer-bottom { padding: var(--ddcr-s4) 0 calc(var(--ddcr-s4) + env(safe-area-inset-bottom)); }
	#footer-bottom #footer-bottom-inner { margin: 0 var(--ddcr-gutter); width: auto; }
	#footer-bottom #footer-bottom-menu, #footer-bottom #copyright { float: none; width: 100%; text-align: center; padding: 0; }
	#footer-bottom #footer-bottom-menu a, #footer-bottom #copyright a { display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); padding: 0 var(--ddcr-s1); }
	#footer-bottom, #footer-bottom #copyright { font-size: 13px; line-height: 1.6; }
	/* Botón de subir: lejos del borde y de la barra de gestos */
	#scroll-top { width: var(--ddcr-tactil); height: var(--ddcr-tactil); line-height: var(--ddcr-tactil); right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); }
}

/* ------------------------------------------------------------------ */
/* 11. Anuncios (AdSense / Ad Inserter): nunca más anchos que su caja  */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.code-block, .custom-html-widget, .textwidget:has(> ins.adsbygoogle) { max-width: 100%; overflow: hidden; }
	ins.adsbygoogle { max-width: 100% !important; /* AdSense pone el ancho en línea */ }
}

/* ------------------------------------------------------------------ */
/* 12. Tienda (WooCommerce)                                            */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* La rejilla de la tienda está en la sección 20 (1.1.0): dos columnas con el hueco de cada foto reservado */
	.woocommerce ul.products li.product .woocommerce-loop-category__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product li.title a { font-size: 16px; line-height: 1.3; }
	.woocommerce ul.products li.product .price { font-size: 17px; }
	.woocommerce ul.products li.product .button {
		display: inline-flex; align-items: center; justify-content: center;
		min-height: var(--ddcr-tactil); padding: 0 var(--ddcr-s3); font-size: 13px; line-height: 1.2; white-space: normal;
	}
	.woocommerce ul.products li.product .woo-entry-inner li.category, .woocommerce ul.products li.product .woo-entry-inner li.category a { font-size: 12px; }
	.woocommerce .oceanwp-toolbar { gap: var(--ddcr-s2); }
	.woocommerce .oceanwp-grid-list a { width: var(--ddcr-tactil); height: var(--ddcr-tactil); display: inline-flex; align-items: center; justify-content: center; }

	/* Ficha de producto */
	.single-product div.product .product_title { font-size: clamp(24px, 6vw, 32px); line-height: 1.15; }
	.single-product div.product .summary p.price, .single-product div.product .summary span.price { font-size: 26px; }
	.single-product div.product form.cart { display: flex; flex-wrap: wrap; gap: var(--ddcr-s3); align-items: stretch; }
	.single-product div.product form.cart.variations_form { display: block; }
	.single-product div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: var(--ddcr-s3); align-items: stretch; }
	.single-product div.product .quantity { margin: 0 !important; display: inline-flex; height: 48px; }
	.single-product div.product .quantity .qty { width: 52px; height: 48px; font-size: 16px; }
	.single-product div.product .quantity .minus, .single-product div.product .quantity .plus {
		width: var(--ddcr-tactil); height: 48px; line-height: 48px; display: inline-flex; align-items: center; justify-content: center; font-size: 18px;
	}
	/* En una sola línea; si no cabe junto a la cantidad, baja a su propia fila a todo el ancho */
	.single-product div.product .single_add_to_cart_button {
		flex: 1 1 auto; min-height: 48px; margin: 0 !important;
		padding: 0 var(--ddcr-s4) !important;
		font-size: 15px !important; /* OceanWP lo deja a 10 px con !important */
		letter-spacing: .5px; line-height: 1.2; white-space: nowrap;
	}
	.single-product div.product table.variations th, .single-product div.product table.variations td { display: block; width: 100%; padding: var(--ddcr-s1) 0; text-align: left; }
	.single-product div.product table.variations select, .single-product div.product .theme-select { width: 100% !important; min-height: 48px; }
	.single-product div.product .theme-selectInner { line-height: 46px; }
	.single-product div.product .reset_variations { display: inline-flex; min-height: var(--ddcr-tactil); align-items: center; }
	.single-product .tinv-wraper a, .single-product .tinvwl_add_to_wishlist_button { display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); }
	.single-product div.product .product_meta { font-size: 14px; line-height: 1.7; }
	.single-product div.product .product_meta a { display: inline-block; padding: 2px 0; }
	/* Sin tocar su display: en tablet el tema oculta los textos «Producto anterior/siguiente» */
	.single-product .owp-product-nav li a { padding-top: 12px; padding-bottom: 12px; }
	.single-product .owp-product-nav li .owp-nav-thumb { display: none; } /* miniatura flotante de hover: en táctil queda fuera de pantalla (-99981 px) y no se puede ver */
	/* Pestañas: zona táctil y texto legible */
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: flex; align-items: center; justify-content: center; min-height: var(--ddcr-tactil); font-size: 14px; padding: 0 var(--ddcr-s3); }
	.woocommerce div.product .woocommerce-tabs .panel { font-size: 16px; line-height: 1.65; }
	.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li { padding: 3px; }
	/* Botones de pago exprés (Woo Payments) y de carrito */
	.woocommerce .wc-proceed-to-checkout a.checkout-button, .woocommerce #payment #place_order { min-height: 52px; font-size: 16px !important; }
	/* Carrito: la tabla se apila en tarjetas */
	.woocommerce-cart table.shop_table td { font-size: 15px; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { width: 100% !important; margin: 0 0 var(--ddcr-s2) !important; }
	.woocommerce-cart table.cart td.actions .button { width: 100%; min-height: var(--ddcr-tactil); }
	.woocommerce .quantity .qty { font-size: 16px; }
	/* Mi cuenta */
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: flex; align-items: center; min-height: var(--ddcr-tactil); }
	.woocommerce form .form-row label { font-size: 15px; }
	.woocommerce form .form-row .input-text, .woocommerce form .form-row select { min-height: 48px; }
	.woocommerce form .woocommerce-form-login__submit, .woocommerce form .woocommerce-form-register__submit, .woocommerce button.button { min-height: var(--ddcr-tactil); font-size: 15px; }
}
@media (max-width: 767px) {
	/*
	 * Estabilidad al cargar (CLS): LiteSpeed pinta primero con un CSS mínimo y la
	 * hoja del tema llega después; la barra de vista y la rejilla de la tienda se
	 * recolocaban al llegar (CLS 0,07 ya antes del plugin). Aquí van sus valores
	 * finales, los mismos que pone el tema, para que estén desde el primer pintado.
	 * (La rejilla de productos ya no va aquí: ver la sección 20.)
	 */
	.woocommerce .oceanwp-toolbar { display: block; text-align: center; margin: 0 0 20px; padding: 10px 0; border-top: 1px solid #eaeaea; border-bottom: 1px solid #eaeaea; }
	.woocommerce .oceanwp-toolbar .oceanwp-grid-list { display: inline-block; float: none; margin: 0; }
	.woocommerce .oceanwp-toolbar .result-count { display: none; }
	.woocommerce ul.products li.product .button { font-size: 13px; letter-spacing: .3px; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; justify-content: center; }
}

/* ------------------------------------------------------------------ */
/* 13. Eventos (The Events Calendar)                                   */
/*     El tema hereda texto justificado y deja letras de 10–12 px.     */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.tribe-events .tribe-events-calendar-list__event-details,
	.tribe-events .tribe-events-calendar-list__event-details * ,
	.tribe-events .tribe-events-c-nav { text-align: left; }
	.tribe-events .tribe-events-calendar-list__event-datetime { font-size: 14px; }
	.tribe-events .tribe-events-calendar-list__event-title { font-size: 20px; line-height: 1.25; }
	.tribe-events .tribe-events-calendar-list__event-venue,
	.tribe-events .tribe-events-calendar-list__event-description p { font-size: 15px; line-height: 1.5; }
	.tribe-events .tribe-events-c-small-cta__price { font-size: 15px; }
	.tribe-events .tribe-events-c-nav__list-item a, .tribe-events .tribe-events-c-nav__today,
	.tribe-events .tribe-events-c-subscribe-dropdown__button { min-height: var(--ddcr-tactil); display: inline-flex; align-items: center; font-size: 14px; }
	.tribe-events .tribe-events-c-nav__prev-label, .tribe-events .tribe-events-c-nav__next-label { font-size: 13px; white-space: nowrap; }
	.tribe-events .tribe-events-c-nav__prev, .tribe-events .tribe-events-c-nav__next { white-space: nowrap; min-height: var(--ddcr-tactil); }
	.tribe-events .tribe-events-c-subscribe-dropdown__button-text { font-size: 14px; }
	.tribe-events .tribe-events-c-top-bar__datepicker-button, .tribe-events .tribe-events-c-events-bar__search-button,
	.tribe-events .tribe-events-c-view-selector__button { min-width: var(--ddcr-tactil); min-height: var(--ddcr-tactil); }
	/* Ficha de evento */
	.tribe-events-single .tribe-events-schedule { flex-wrap: wrap; gap: var(--ddcr-s1) var(--ddcr-s3); }
	.tribe-events-single .tribe-events-schedule .tribe-events-cost { margin-left: var(--ddcr-s2); display: inline-block; }
	.tribe-events-single .tribe-events-event-meta, .tribe-events-single .tribe-events-meta-list { font-size: 15px; line-height: 1.6; }
	.tribe-events-single .tribe-events-meta-group { width: 100% !important; float: none; padding: 0 0 var(--ddcr-s4); }
	.tribe-events-single .tribe-events-back a, .tribe-events-single .tribe-events-nav-pagination a { display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); font-size: 15px; }
	.tribe-events-single .tribe-events-content p { font-size: 16px; line-height: 1.7; }
}

/* ------------------------------------------------------------------ */
/* 13 bis. Portada (DDC Portada)                                       */
/*     Chips de categoría a 10 px y extractos a 13 px.                 */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.ddc-po .ddc-po-cats a { font-size: 12px; display: inline-flex; align-items: center; min-height: 28px; padding-top: 0; padding-bottom: 0; }
	.ddc-po p.ddc-po-ext { font-size: 15px; line-height: 1.55; }
	.ddc-po .ddc-po-mcats a, .ddc-po .ddc-po-autor a { display: inline-block; padding: 6px 0; }
}

/* ------------------------------------------------------------------ */
/* 13 ter. Imágenes de Elementor que se salían por los lados           */
/*     Tienen márgenes negativos (o un ancho fijo) puestos para        */
/*     escritorio que se heredan en móvil: la imagen se cortaba.       */
/*     Comprobado píxel a píxel: solo se tocan las que perdían imagen  */
/*     de verdad (el logo de Kickong solo pierde margen transparente). */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* Portada: el gorila del bloque Kickong (perdía un 4 % por lado en móvil y hasta 140 px en tablet) */
	.elementor-element-c6c0e4b > .elementor-widget-container { margin-left: 0 !important; margin-right: 0 !important; } /* Elementor los pone con !important en su CSS por página */
}
@media (max-width: 767px) {
	/* Colecciones Kamae y Koala: foto de cabecera (−15 px por cada lado) */
	.elementor-element-3ec7404 > .elementor-widget-container { margin-left: 0 !important; margin-right: 0 !important; } /* Elementor los pone con !important en su CSS por página */
}
@media (min-width: 768px) and (max-width: 1024px) {
	/* Veladas Dojo Arena 2024: el logo de la federación lleva 400 px de relleno
	   por cada lado (de escritorio); a 768 px no le quedaba sitio y desaparecía */
	body .elementor-element.elementor-element-407ee70.elementor-widget > .elementor-widget-container { padding-left: 25%; padding-right: 25%; }
}

/* ------------------------------------------------------------------ */
/* 14. Tablet (768–1024): rejillas de 2 columnas donde tiene sentido   */
/* ------------------------------------------------------------------ */
@media (min-width: 768px) and (max-width: 1024px) {
	/* Barra lateral bajo el contenido: sus widgets en dos columnas */
	#right-sidebar-inner, #left-sidebar-inner {
		display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--ddcr-s6);
	}
	.content-full-width #right-sidebar-inner { display: block; }
	/* Pie: los widgets en dos columnas */
	#footer-widgets .footer-widgets-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ddcr-s5) var(--ddcr-s6); }
	#footer-widgets .footer-widgets-inner > .footer-box { width: auto !important; float: none; padding: 0; } /* OceanWP fija el ancho de columna con !important */
	#footer-widgets .footer-widgets-inner::after, #footer-widgets .footer-widgets-inner::before { display: none; }
}

/* ================================================================== */
/* 1.1.0 — ASPECTO DE APP                                              */
/* Todo lo de aquí abajo es nuevo en 1.1.0 y sigue la misma regla de   */
/* oro: solo dentro de @media (max-width: 1024px) o (max-width: 767px).*/
/*  15. Entradas: foto a todo lo ancho y cabecera tipo app             */
/*  16. Archivos: tarjetas de noticia                                  */
/*  17. Barra lateral: categorías en chips                             */
/*  18. Barra superior en una sola fila                                */
/* ================================================================== */

/* ------------------------------------------------------------------ */
/* 15. Entradas (OceanWP «estilo 6»)                                   */
/*     Antes: la foto salía dos veces (fondo y otra vez dentro del     */
/*     artículo), el título también, y la caja negra del título tapaba */
/*     la foto y ocupaba la pantalla entera con un avatar de 80 px.    */
/*     Ahora: foto 16:9 a todo lo ancho, debajo el título y una línea  */
/*     de autor y fecha, como en una app de noticias.                  */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.single-header-ocean-6 { display: flex; flex-direction: column; background: var(--ddcr-negro); }
	.single-header-ocean-6 .post-thumbnail { margin: 0; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #1a1a1a; }
	.single-header-ocean-6 .post-thumbnail > img { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; }
	.single-header-ocean-6 .sh-container.head-row { margin: 0; padding: 0; }
	/* La caja negra deja de subir 150 px sobre la foto */
	.single-header-ocean-6 .blog-post-title,
	.single-header-ocean-6.header-has-post-thumbnail .blog-post-title {
		margin: 0; max-width: none; border-radius: 0;
		padding: 20px var(--ddcr-gutter) 22px;
		background: var(--ddcr-negro);
	}
	.single-header-ocean-6 .blog-post-title .single-post-title {
		font-size: clamp(25px, 6.6vw, 36px); line-height: 1.18; letter-spacing: -.3px;
		margin: 0 0 14px; max-width: 760px;
	}
	/* Autor y fecha en una sola línea: avatar de 36 px, sin «Escrito por» repetido */
	.single-header-ocean-6 .blog-post-author { display: none; }
	.single-header-ocean-6 ul.meta-item, .single-header-ocean-6 ul.meta-style-2 {
		display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 0 12px;
		margin: 0; padding: 0; max-width: none; text-align: left;
		font-size: 13px; line-height: 1.4; color: rgba(255, 255, 255, .78);
	}
	.single-header-ocean-6 ul.meta-item li { display: inline-flex; align-items: center; margin: 0; padding: 0; float: none; }
	.single-header-ocean-6 ul.meta-item li::before, .single-header-ocean-6 ul.meta-item li::after { display: none; }
	.single-header-ocean-6 ul.meta-item li a { color: #fff; font-weight: 600; display: inline-flex; align-items: center; min-height: var(--ddcr-tactil); }
	.single-header-ocean-6 ul.meta-item li.meta-date { color: rgba(255, 255, 255, .7); }

	/* La misma foto y el mismo título, repetidos dentro del artículo: fuera */
	.single-header-ocean-6.header-has-post-thumbnail ~ #content-wrap article > .thumbnail,
	.single-header-ocean-6 ~ #content-wrap article > .entry-header { display: none; }
	/* De la segunda fila de datos quedan la categoría y los comentarios, en chips */
	.single-header-ocean-6 ~ #content-wrap article > ul.meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; border: 0; }
	.single-header-ocean-6 ~ #content-wrap article > ul.meta li.meta-author,
	.single-header-ocean-6 ~ #content-wrap article > ul.meta li.meta-date { display: none; }
	.single-header-ocean-6 ~ #content-wrap article > ul.meta li { margin: 0; padding: 0; float: none; display: inline-flex; align-items: center; }
	.single-header-ocean-6 ~ #content-wrap article > ul.meta li::after { display: none; }
	.single-header-ocean-6 ~ #content-wrap article > ul.meta li i { display: none; }
	.single-header-ocean-6 ~ #content-wrap article > ul.meta li a {
		display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px;
		border-radius: 999px; background: #f1f1f1; color: #1a1a1a; font-size: 13px; font-weight: 600; line-height: 1;
	}
	.single-header-ocean-6 ~ #content-wrap article > ul.meta li.meta-cat a { background: var(--ddcr-rojo); color: #fff; }
	.single-header-ocean-6 ~ #content-wrap article > ul.meta li.meta-cat { gap: 6px; flex-wrap: wrap; font-size: 0; }
	body.single-post #main #content-wrap { padding-top: 20px; }
	/* Subtítulos del texto: la Advent Pro a 500 se queda muy fina en una pantalla pequeña */
	.single-post article .entry-content > :is(h2, h3) { font-weight: 700; color: #111; margin-top: 1.6em; }

	/* Fotos dentro del texto: de borde a borde del texto, con esquinas suaves */
	.single-post article .entry-content figure.wp-block-image img,
	.single-post article .entry-content > p > img,
	.single-post article .entry-content .wp-block-image img { border-radius: 8px; height: auto; }
	.single-post article .entry-content .wp-block-embed iframe { border-radius: 8px; }
}
@media (max-width: 767px) {
	/* El texto pegado al borde no se lee bien: 16 px de margen como en una app */
	.single-post #content-wrap.container { width: auto; max-width: none; padding-left: var(--ddcr-gutter); padding-right: var(--ddcr-gutter); }
}

/* ------------------------------------------------------------------ */
/* 16. Archivos (categorías, etiquetas, autor, búsqueda): tarjetas     */
/*     Antes: foto suelta de alto variable, pie de foto centrado y     */
/*     botón «Continuar leyendo» de 10 px. Ahora: tarjeta con foto     */
/*     16:9 fija (no salta al cargar), titular, fecha y categoría,     */
/*     extracto de 3 líneas, y toda la tarjeta se puede pulsar.        */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	#blog-entries .blog-entry:is(.large-entry, .grid-entry) { margin: 0 0 18px; padding: 0; border: 0; }
	#blog-entries .blog-entry:is(.large-entry, .grid-entry) .blog-entry-inner {
		position: relative; display: flex; flex-direction: column;
		background: #fff; border: 1px solid #ececec; border-radius: 14px; overflow: hidden;
		box-shadow: 0 1px 2px rgba(0, 0, 0, .05), 0 8px 22px -14px rgba(0, 0, 0, .35);
		padding: 0 0 16px; text-align: left;
	}
	#blog-entries .blog-entry .thumbnail { margin: 0 0 14px; position: relative; }
	#blog-entries .blog-entry .thumbnail a.thumbnail-link { display: block; position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: #141414; }
	#blog-entries .blog-entry .thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
	#blog-entries .blog-entry .thumbnail .overlay { display: none; }
	#blog-entries .blog-entry .thumbnail-caption { margin: 6px 16px 0; font-size: 11.5px; line-height: 1.4; color: #8a8a8a; text-align: left; }
	#blog-entries .blog-entry :is(.blog-entry-header, ul.meta, .blog-entry-summary, .blog-entry-readmore) { margin-left: 16px; margin-right: 16px; padding-left: 0; padding-right: 0; }
	#blog-entries .blog-entry .blog-entry-header { margin-bottom: 8px; }
	#blog-entries .blog-entry .blog-entry-header .entry-title { font-size: clamp(21px, 5.6vw, 25px); line-height: 1.15; margin: 0; }
	/* Toda la tarjeta lleva a la noticia (los enlaces de categoría siguen funcionando encima) */
	#blog-entries .blog-entry .blog-entry-header .entry-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
	#blog-entries .blog-entry ul.meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0 12px; margin-bottom: 8px; font-size: 13px; color: #777; }
	#blog-entries .blog-entry ul.meta li { padding: 0; margin: 0; float: none; }
	#blog-entries .blog-entry ul.meta li::after { display: none; }
	#blog-entries .blog-entry ul.meta li a { position: relative; z-index: 2; display: inline-flex; align-items: center; min-height: 32px; }
	#blog-entries .blog-entry .blog-entry-summary { margin-bottom: 4px; }
	#blog-entries .blog-entry .blog-entry-summary p {
		margin: 0; font-size: 15px; line-height: 1.55; color: #444;
		display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
	}
	#blog-entries .blog-entry .blog-entry-readmore { margin-top: 6px; }
	#blog-entries .blog-entry .blog-entry-readmore a {
		position: relative; z-index: 2; border: 0; padding: 0; background: none;
		color: var(--ddcr-rojo); font-weight: 700; font-size: 13px; letter-spacing: .6px; text-transform: uppercase;
	}
	/* El texto de la categoría arriba del listado: legible y sin cajón gris */
	.tax-desc { font-size: 15px; line-height: 1.6; margin-bottom: 18px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	/* Tablet: dos tarjetas por fila */
	#blog-entries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	#blog-entries::before, #blog-entries::after { display: none; }
	#blog-entries .blog-entry:is(.large-entry, .grid-entry) { width: auto !important; float: none; margin: 0; } /* OceanWP fija el ancho de columna con !important */
	#blog-entries .blog-entry .blog-entry-inner { height: 100%; }
	#blog-entries > :not(.blog-entry) { grid-column: 1 / -1; }
}

/* ------------------------------------------------------------------ */
/* 17. Cabecera de página (título y migas) y barra lateral             */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* Título de página compacto: antes 34 px de relleno arriba y abajo y las migas en dos líneas */
	.page-header { padding: 18px 0 10px; }
	.page-header .page-header-inner { width: auto; max-width: none; margin: 0 var(--ddcr-gutter); }
	.page-header .page-header-title { font-size: clamp(26px, 7vw, 34px); line-height: 1.12; margin: 0 0 4px; }
	.page-header .page-subheading { font-size: 14px; line-height: 1.5; margin: 4px 0 0; }
	.page-header .site-breadcrumbs { position: static; float: none; width: auto; margin: 0; max-width: 100%; }
	/* Migas en una sola línea que se desliza si no cabe */
	.page-header .site-breadcrumbs ol.trail-items {
		display: flex; flex-wrap: nowrap; align-items: center; overflow-x: auto; white-space: nowrap;
		scrollbar-width: none; margin: 0; padding: 0;
	}
	.page-header .site-breadcrumbs ol.trail-items::-webkit-scrollbar { display: none; }
	.page-header .site-breadcrumbs .trail-item { display: inline-flex; align-items: center; flex: none; }
	.page-header .site-breadcrumbs .breadcrumb-sep { margin: 0 6px; opacity: .5; }

	/* Categorías de la barra lateral: chips que se pulsan con el dedo, no una lista de 30 filas */
	:is(#right-sidebar, #left-sidebar) .widget_categories > ul,
	:is(#right-sidebar, #left-sidebar) .widget_product_categories > ul {
		display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0;
	}
	:is(#right-sidebar, #left-sidebar) :is(.widget_categories, .widget_product_categories) li { display: contents; }
	:is(#right-sidebar, #left-sidebar) :is(.widget_categories, .widget_product_categories) ul.children { display: contents; }
	:is(#right-sidebar, #left-sidebar) :is(.widget_categories, .widget_product_categories) li .count { display: none; }
	:is(#right-sidebar, #left-sidebar) :is(.widget_categories, .widget_product_categories) li a {
		display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; margin: 0;
		border: 1px solid #e3e3e3; border-radius: 999px; background: #fff;
		font-size: 14px; line-height: 1; color: #1a1a1a; white-space: nowrap;
	}
	:is(#right-sidebar, #left-sidebar) :is(.widget_categories, .widget_product_categories) li a::before { display: none; }
	:is(#right-sidebar, #left-sidebar) :is(.widget_categories, .widget_product_categories) li.current-cat > a,
	:is(#right-sidebar, #left-sidebar) :is(.widget_categories, .widget_product_categories) li.current-cat-parent > a { background: var(--ddcr-negro); border-color: var(--ddcr-negro); color: #fff; }
	/* Widgets de la barra lateral como bloques separados */
	:is(#right-sidebar, #left-sidebar) .sidebar-box { margin-bottom: 28px; }
	:is(#right-sidebar, #left-sidebar) .sidebar-box img { border-radius: 10px; height: auto; }
}

/* ------------------------------------------------------------------ */
/* 18. Barra superior en una sola fila (antes dos: 90 px)              */
/*     Las redes se deslizan a la izquierda y «Accede a tu cuenta»     */
/*     queda fija a la derecha. El lema no se repite aquí: es el mismo */
/*     texto que lleva la portada y el logo ya dice qué es la web.     */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	#top-bar-wrap #top-bar-inner { flex-direction: row; align-items: stretch; }
	#top-bar-wrap #top-bar-social { order: 0; flex: 1 1 auto; min-width: 0; width: auto; border-top: 0; }
	#top-bar-wrap #top-bar-content { order: 1; flex: none; width: auto; }
	#top-bar-wrap .topbar-content { font-size: 0; gap: 0; }
	#top-bar-wrap #ddc-account-links { font-size: 12px; }
	#top-bar-wrap #ddc-account-links a { padding-left: 10px; border-left: 1px solid rgba(255, 255, 255, .14); }
	#top-bar-wrap #top-bar-social li a { width: 40px; }
	#top-bar-wrap #top-bar-social li:last-child { margin-right: 24px; }
}

/* ------------------------------------------------------------------ */
/* 19. Pie inferior: enlaces legales en dos columnas, sin las «|»      */
/*     que quedaban colgando al final de cada línea                    */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	#footer-bottom #footer-bottom-menu ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; text-align: left; }
	#footer-bottom #footer-bottom-menu li { float: none; }
	#footer-bottom #footer-bottom-menu li::after { display: none; }
	#footer-bottom #footer-bottom-menu a { width: 100%; justify-content: flex-start; padding: 0; border-bottom: 1px solid rgba(255, 255, 255, .08); }
	#footer-bottom #copyright { margin-top: 14px; font-size: 12px; opacity: .75; }
}

/* ------------------------------------------------------------------ */
/* 20. Tienda: escaparate en dos columnas, como una app de compras     */
/*     La 1.0.0 dejó una sola columna porque la rejilla de 2 subía el  */
/*     CLS (las fotos cambiaban de alto al cargar). Ahora cada foto    */
/*     tiene su hueco cuadrado reservado desde el primer pintado, así  */
/*     que no se mueve nada al llegar.                                 */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.woocommerce ul.products.oceanwp-row {
		display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px;
		margin: 0 0 28px; padding: 0;
	}
	.woocommerce ul.products.oceanwp-row::before, .woocommerce ul.products.oceanwp-row::after { display: none; }
	.woocommerce ul.products.oceanwp-row > li.product {
		width: auto !important; /* OceanWP: .products.mobile-1-col .product{width:100%!important} */
		float: none; clear: none; margin: 0; padding: 0;
	}
	.woocommerce ul.products > li.product .product-inner {
		height: 100%; display: flex; flex-direction: column;
		background: #fff; border: 1px solid #ececec; border-radius: 12px; overflow: hidden; padding: 0 0 12px;
		box-shadow: 0 6px 18px -14px rgba(0, 0, 0, .4);
	}
	.woocommerce ul.products > li.product .woo-entry-image { position: relative; aspect-ratio: 1 / 1; overflow: hidden; margin: 0 0 10px; background: #f6f6f6; }
	.woocommerce ul.products > li.product .woo-entry-image a:has(img) { display: block; height: 100%; }
	/* El HTML de las categorías trae un enlace vacío antes del de la foto: empujaba la foto fuera del hueco */
	.woocommerce ul.products > li.product .woo-entry-image > a:not(:has(img)) { display: none; }
	.woocommerce ul.products > li.product .woo-entry-image img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; }
	.woocommerce ul.products > li.product .woo-entry-image img.woo-entry-image-secondary { position: absolute; inset: 0; }
	.woocommerce ul.products > li.product .woo-entry-inner { padding: 0 10px; flex: 1; display: flex; flex-direction: column; }
	.woocommerce ul.products > li.product .woo-entry-inner > li, .woocommerce ul.products > li.product ul.woo-entry-inner > li { padding: 0; }
	.woocommerce ul.products li.product .woocommerce-loop-category__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product li.title a { font-size: 14px; line-height: 1.3; }
	.woocommerce ul.products li.product .woocommerce-loop-category__title { padding: 0 10px; margin: 0; font-weight: 600; }
	.woocommerce ul.products li.product .woocommerce-loop-category__title mark.count { background: none; color: #999; font-weight: 400; font-size: 12px; }
	.woocommerce ul.products li.product.product-category .woo-desc { display: none; }
	.woocommerce ul.products li.product .price { font-size: 16px; margin: 4px 0 8px; }
	.woocommerce ul.products li.product .woo-entry-inner li.category { margin-bottom: 4px; }
	.woocommerce ul.products li.product .woo-entry-inner li.btn-wrap { margin-top: auto; }
	.woocommerce ul.products li.product .button { width: 100%; padding: 0 6px; font-size: 12px; letter-spacing: .2px; border-radius: 8px; }
	.woocommerce ul.products li.product .star-rating { margin: 0 auto 6px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.woocommerce ul.products.oceanwp-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}

/* ------------------------------------------------------------------ */
/* 21. Ficha de producto: galería a todo lo ancho                      */
/*     Antes la foto ocupaba un 40 % de la pantalla con el título      */
/*     repetido arriba en la cabecera gris.                            */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product div.images { width: 100% !important; float: none; margin: 0 0 18px; } /* OceanWP fija el ancho de columna con !important */
	.single-product div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
	.single-product div.product div.images .woocommerce-product-gallery__image img { width: 100%; height: auto; border-radius: 12px; }
	.single-product div.product .summary { width: 100% !important; float: none; } /* idem */
	/*
	 * Estabilidad al cargar: hasta que arranca el carrusel, WooCommerce apila todas
	 * las fotos (la galería llegó a medir 10.900 px) y luego añade la tira de
	 * miniaturas; el precio y el botón entraban en pantalla de golpe (CLS 0,07).
	 * Se reserva desde el principio el hueco cuadrado de la foto y el de la tira.
	 */
	.single-product div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper,
	.single-product div.product .woocommerce-product-gallery > .flex-viewport { aspect-ratio: 1 / 1; overflow: hidden; }
	.single-product div.product .woocommerce-product-gallery:not(:has(.flex-control-thumbs)):has(.woocommerce-product-gallery__image + .woocommerce-product-gallery__image) { padding-bottom: 72px; }
	.single-product div.product .flex-control-thumbs { display: flex; gap: 8px; height: 64px; margin: 8px 0 0; overflow-x: auto; scrollbar-width: none; }
	.single-product div.product .flex-control-thumbs li { flex: 0 0 64px; width: 64px !important; padding: 0; float: none; } /* idem */
	.single-product div.product .flex-control-thumbs li img { border-radius: 8px; }
}

/* ------------------------------------------------------------------ */
/* 22. Fotos que no encajan en su hueco (carteles verticales, fotos    */
/*     cuadradas en un hueco 16:9): en vez de recortarlas, se ven      */
/*     enteras sobre un fondo hecho con la misma foto difuminada.      */
/*     La clase .ddcr-encaja y la variable --ddcr-fondo las pone       */
/*     ddc-responsive.js cuando la foto ya ha cargado y se sabe su     */
/*     proporción real. El hueco no cambia: no hay salto de diseño.    */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.ddcr-encaja { position: relative; isolation: isolate; overflow: hidden; }
	.ddcr-encaja::before {
		content: ""; position: absolute; inset: -30px; z-index: -1;
		background: var(--ddcr-fondo) center / cover no-repeat;
		filter: blur(24px) saturate(1.1) brightness(.5);
	}
	/* !important: gana a los object-fit:cover de las secciones 15 y 16 (selectores con #id) */
	.ddcr-encaja img { object-fit: contain !important; background: transparent; }
}

/* ------------------------------------------------------------------ */
/* 23. Huecos y desbordes sueltos                                      */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* 50 px en blanco entre la cabecera y el contenido de listados, tienda y entradas */
	body:is(.archive, .search, .blog, .woocommerce-page, .single-post) #main #content-wrap { padding-top: 20px; }
}
@media (max-width: 767px) {
	/* Portada, bloque de Leone y YouTube al final: márgenes negativos de escritorio
	   cortaban la foto 55 px por la izquierda y 65 por la derecha */
	.elementor-element-22b2558 > .elementor-widget-container,
	.elementor-element-0641a05 > .elementor-widget-container { margin-left: 0 !important; margin-right: 0 !important; } /* Elementor los pone con !important en su CSS por página */
	.elementor-element-22b2558 img, .elementor-element-0641a05 img { width: 100%; height: auto; }
}
@media (max-width: 1024px) {
	/* Pie de foto de las tarjetas: 12 px como mínimo */
	#blog-entries .blog-entry .thumbnail-caption { font-size: 12px; }
	/* Portada, rejilla de vídeos de YouTube: el titular iba a 9,5 px y la fecha a 8,5 */
	.ddcyt-ficha .ddcyt-txt { font-size: 13px; line-height: 1.35; }
	.ddcyt-ficha .ddcyt-fecha { font-size: 11.5px; }
}

/* ------------------------------------------------------------------ */
/* 24. Eventos: ficha con los datos en una tarjeta a todo lo ancho     */
/*     Antes «Detalles» y «Recinto» iban en dos columnas de 150 px y   */
/*     la dirección se partía letra a letra («MadridEs paña»).         */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.tribe-events-single .tribe-events-event-meta { flex-direction: column; gap: 0; background: #f6f6f6; border: 0; border-radius: 14px; padding: 16px; margin: 20px 0; }
	.tribe-events-single .tribe-events-event-meta .tribe-events-meta-group { flex: none; width: 100% !important; padding: 0 0 12px; margin: 0; } /* The Events Calendar fija el ancho con !important */
	.tribe-events-single .tribe-events-event-meta .tribe-events-meta-group + .tribe-events-meta-group { border-top: 1px solid #e4e4e4; padding-top: 14px; }
	.tribe-events-single .tribe-events-event-meta :is(dd, dt, a, .tribe-street-address, .tribe-locality) { overflow-wrap: anywhere; }
	.tribe-events-single .tribe-events-single-event-title { font-size: clamp(26px, 7vw, 34px); line-height: 1.12; }
	.tribe-events-single .tribe-events-event-image img { width: 100%; height: auto; border-radius: 12px; }
}
@media (max-width: 1024px) {
	/* Lista de eventos: carteles con esquinas suaves y a todo el ancho de su columna */
	.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper { width: 100%; }
	.tribe-events .tribe-events-calendar-list__event-featured-image { width: 100%; height: auto; border-radius: 12px; }
}

/* ------------------------------------------------------------------ */
/* 25. Portada en móvil y tablet (1.1.4, 18/10/2026, orden de Fredi)   */
/*     Solo por debajo de 1025 px: el escritorio no cambia.            */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* Cabecera: fuera «El lugar para los apasionados al deporte de contacto» */
	.ddc-po .ddc-po-cab .ddc-po-lema { display: none; }

	/* «ÚLTIMAS NOTICIAS» en grande y en rojo. El titular completo sigue en el
	   HTML (SEO); se pinta solo el corto. !important: el <h2> lleva el tamaño en línea. */
	.ddc-po #ddc-po-t-noticias {
		position: relative; display: block; text-align: center;
		font-size: 0 !important; line-height: 0; color: transparent;
		overflow: visible !important; margin-bottom: 22px;
	}
	.ddc-po #ddc-po-t-noticias::before {
		content: "Últimas noticias del deporte"; display: block; white-space: nowrap;
		font-size: min(calc((100vw - 32px) / 13.2), 48px); line-height: 1.05; font-weight: 800;
		letter-spacing: .01em; word-spacing: 0; color: #e10600; text-transform: uppercase;
	}

	/* Noticias destacadas: la foto arriba, pegada a la etiqueta («NOTICIAS»),
	   y aire entre la etiqueta y el titular */
	.ddc-po .ddc-po-banner { aspect-ratio: auto; min-height: 0; display: flex; flex-direction: column; border-radius: 14px; }
	.ddc-po .ddc-po-banner::after { display: none; }
	.ddc-po .ddc-po-banner-foto { position: relative; inset: auto; height: auto; aspect-ratio: 16 / 9; overflow: hidden; }
	.ddc-po .ddc-po-banner-foto img, .ddc-po .ddc-po-banner-foto .ddc-po-sinimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
	.ddc-po .ddc-po-banner-txt { position: relative; inset: auto; padding: 22px 16px 20px; }
	/* 1.1.6: que se vea dónde acaba una noticia y empieza la siguiente */
	.ddc-po .ddc-po-noticias .ddc-po-rejilla { gap: 30px; }
	.ddc-po .ddc-po-banner .ddc-po-cats { margin: 0 0 12px; }

	/* 1.1.7: el botón de noticias en dos líneas (el JS parte el texto en dos <span>) */
	.ddc-po .ddc-po-mas .ddcr-2l { display: inline-block; text-align: center; }
	.ddc-po .ddc-po-mas .ddcr-2l > span { display: block; white-space: nowrap; }
	/* 1.1.6: más aire entre «Ver todas las noticias» y «Promotoras y ligas…» */
	.ddc-po .ddc-po-promos { margin-top: 40px; }
	/* Promotoras: dos arriba (UFC y WOW) y después de tres en tres, todas las cajas iguales */
	.ddc-po .ddc-po-promos .ddc-po-in { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
	.ddc-po .ddc-po-promos .ddc-po-in > :not(.ddc-po-logos) { grid-column: 1 / -1; }
	.ddc-po .ddc-po-promos .ddc-po-logos { display: contents; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li { grid-column: span 2; flex: none; width: auto; margin: 0; }
	.ddc-po .ddc-po-promos .ddc-po-logos-top > li:nth-child(1) { grid-column: 2 / span 2; }
	.ddc-po .ddc-po-promos .ddc-po-logos-top > li:nth-child(2) { grid-column: 4 / span 2; }
	/* 1.1.6: VAR y EXF suben a la penúltima fila; Golden Boxing Nights y La Velada bajan a la última */
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/dogfight/"]) { order: 1; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/golden-boxing-nights/"]) { order: 2; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/la-velada-del-ano/"]) { order: 3; }

	/* Títulos de sección en una sola línea (el tamaño exacto lo ajusta el JS) */
	.ddc-po .ddc-po-articulos .ddc-po-h2-anton,
	.ddc-po .ddc-po-entrevistas .ddc-po-h2-gorda { white-space: nowrap; font-size: min(4vw, 34px); }
	.ddc-po .ddc-po-entrevistas .ddc-po-h2-gorda { font-size: min(7vw, 40px); text-align: center; }
	.ddc-po .ddc-po-entrevistas .ddc-po-h2-gorda::after { left: 50%; right: auto; margin-left: -60px; }

	/* Más aire entre los artículos y entre las entrevistas */
	.ddc-po .ddc-po-articulos .ddc-po-rejilla,
	.ddc-po .ddc-po-entrevistas .ddc-po-rejilla { gap: 28px; }

	/* Shorts: cabecera con más presencia */
	.ddc-po .ddc-po-shorts { padding-bottom: 76px; }
	.ddc-po .ddc-po-shorts-cab {
		position: relative; flex-direction: column; gap: 14px; text-align: center;
		margin: 0 0 26px; padding: 30px 20px 26px; border-radius: 22px; overflow: hidden;
		background: radial-gradient(120% 85% at 50% 0%, rgba(255, 0, 0, .34) 0%, rgba(255, 0, 0, .08) 45%, rgba(0, 0, 0, 0) 70%), linear-gradient(180deg, #160303 0%, #0a0a0a 100%);
		border: 1px solid rgba(255, 0, 0, .38);
		box-shadow: 0 0 0 1px rgba(255, 255, 255, .03) inset, 0 18px 50px rgba(255, 0, 0, .16);
	}
	.ddc-po .ddc-po-shorts-logo { display: block; line-height: 0; }
	.ddc-po .ddc-po-shorts-cab .ddc-po-logo-shorts {
		width: 84px; height: auto;
		filter: drop-shadow(0 0 22px rgba(255, 0, 0, .65));
		animation: ddcr-latido 2.4s ease-in-out infinite;
	}
	.ddc-po .ddc-po-shorts-cab .ddc-po-h2-shorts {
		margin: 0; color: #fff; font-size: clamp(26px, 7.4vw, 38px); line-height: 1.05;
		text-transform: uppercase; letter-spacing: .01em;
		text-shadow: 0 0 24px rgba(255, 0, 0, .45);
	}
	.ddc-po .ddc-po-shorts-cab .ddc-po-boton {
		min-width: 220px; min-height: 50px; justify-content: center; align-items: center; display: inline-flex; gap: 10px;
		background: #ff0000; border-color: #ff0000; color: #fff !important;
		font-size: 14px; letter-spacing: .2em; box-shadow: 0 10px 30px rgba(255, 0, 0, .45);
	}
	.ddc-po .ddc-po-shorts-cab .ddc-po-boton::before { background: #fff; box-shadow: 0 0 10px #fff; }

	/* Pódcast (YouTube Deporte de Contacto): carrusel con los cuatro últimos */
	body .ddcyt-ultimos .ddcyt-rejilla {
		display: flex; grid-template-columns: none; gap: 14px;
		overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
		margin: 0 calc(var(--ddcr-gutter, 16px) * -1); padding: 4px var(--ddcr-gutter, 16px) 14px;
		scrollbar-width: none;
	}
	body .ddcyt-ultimos .ddcyt-rejilla::-webkit-scrollbar { display: none; }
	body .ddcyt-ultimos .ddcyt-ficha { flex: 0 0 82%; max-width: 420px; scroll-snap-align: center; }
	body .ddcyt-ultimos .ddcyt-ficha .ddcyt-txt { font-size: 15px; line-height: 1.35; }
	body .ddcyt-ultimos .ddcyt-ficha .ddcyt-fecha { font-size: 12px; }

	/* App: insignias pequeñas, juntas y centradas; el móvil, más grande */
	.elementor-element-d1fa1f2 > .elementor-container { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 12px; }
	.elementor-element-d1fa1f2 > .elementor-container > .elementor-column { width: auto !important; flex: 0 0 auto; } /* Elementor fija el 100 % con !important en móvil */
	.elementor-element-d1fa1f2 .elementor-widget-wrap { padding: 0 !important; }
	.elementor-element-d31d1f9 img, .elementor-element-554a51d img { width: auto !important; height: 46px !important; max-width: none; }
	.elementor-element-fec5bc7 > .elementor-widget-container { overflow: hidden; margin: 18px calc(var(--ddcr-gutter, 16px) * -1) 0 !important; }
	.elementor-element-fec5bc7 img { width: 136% !important; max-width: none !important; height: auto; margin-left: -18%; }
	/* «¿Tienes una noticia, un evento o una velada?»: con aire */
	.elementor-element-qvwrdcl { padding: 26px 22px !important; }
	.elementor-element-qvwrdcl p { line-height: 1.4; margin: 0; }

	/* Kickong: todo centrado y «Únete a la tribu» como botón */
	.elementor-element-rejxuiu .elementor-container { flex-direction: column; align-items: center; }
	.elementor-element-rejxuiu .elementor-column { width: 100% !important; } /* Elementor: !important en su CSS */
	.elementor-element-jhvrfuj { display: none; }
	.elementor-element-qevarhe > .elementor-widget-wrap { padding-bottom: 0 !important; }
	.elementor-element-sybclyl > .elementor-widget-wrap { padding-top: 0 !important; }
	.elementor-element-c6c0e4b, .elementor-element-c6c0e4b > .elementor-widget-container { margin-bottom: 0 !important; }
	.elementor-element-22b2558 > .elementor-widget-container { margin: -6px auto 0 !important; max-width: 300px; }
	.elementor-element-22b2558 img { width: 100% !important; }
	.elementor-element-92f404d, .elementor-element-92f404d .elementor-heading-title { text-align: center !important; }
	.elementor-element-92f404d { margin: 4px 0 18px !important; }
	.elementor-element-92f404d .elementor-heading-title a {
		display: inline-block; padding: 14px 30px; border-radius: 999px;
		background: #e10600; color: #fff !important; font-size: 22px; line-height: 1; letter-spacing: .06em;
		text-transform: uppercase; box-shadow: 0 10px 26px rgba(225, 6, 0, .35);
	}

	/* Pie: «Configurar cookies» fuera y sin el hueco en blanco de debajo */
	#footer-widgets .ddc-cmp, [class*="fc-revocation"] { display: none !important; }
	#footer-widgets { padding-bottom: 18px !important; }
	#footer-widgets .footer-box:last-child, #footer-widgets .footer-widget:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }

	/* Insignias de las tiendas del pie: en la misma línea e idénticas */
	#footer-widgets .ddc-tiendas { flex-direction: row !important; align-items: center !important; justify-content: flex-start; flex-wrap: nowrap; gap: 10px !important; }
	#footer-widgets .ddc-tiendas a {
		display: flex !important; align-items: center; justify-content: center;
		width: 140px; height: 44px; overflow: hidden; border-radius: 9px;
		background: #000; border: 1px solid #a6a6a6; box-sizing: border-box;
	}
	#footer-widgets .ddc-tiendas img { width: 116% !important; height: 116% !important; max-width: none; object-fit: contain; }

	/* Enlaces legales: en una sola línea y en pequeño (el JS ajusta la letra) */
	#footer-bottom #footer-bottom-menu ul { display: flex !important; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 0; white-space: nowrap; }
	#footer-bottom #footer-bottom-menu li { float: none; }
	#footer-bottom #footer-bottom-menu li + li::before { content: "·"; padding: 0 .5em; opacity: .5; }
	#footer-bottom #footer-bottom-menu li::after { display: none; }
	#footer-bottom #footer-bottom-menu a { display: inline; width: auto; min-height: 0; padding: 0; border: 0; font-size: inherit; }
	#footer-bottom #footer-bottom-menu ul { font-size: 10px; line-height: 1.6; }
}
@media (max-width: 767px) {
	/* 1.1.5: «DEPORTE DE» / «CONTACTO» en dos líneas, las dos al mismo tamaño y más grandes */
	.ddc-po .ddc-po-cab .ddc-po-h1 { white-space: normal; text-wrap: balance; font-size: calc((100vw - 40px) / 6.4); line-height: .95; letter-spacing: 0; }
	.ddc-po .ddc-po-cab .ddc-po-sub { font-size: min(5.4vw, 22px); }
	/* El segundo «Visita nuestro canal oficial de YouTube» (bajo la foto de Creed): ya está en el pie */
	.elementor-element-8dd0651 { display: none !important; }
	/* Kickong: el logo trae aire transparente arriba */
	.elementor-element-22b2558 > .elementor-widget-container { margin-top: -46px !important; }
}
@keyframes ddcr-latido { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
@media (prefers-reduced-motion: reduce) { .ddc-po .ddc-po-shorts-cab .ddc-po-logo-shorts { animation: none; } }

/* ------------------------------------------------------------------ */
/* 26. Portada en móvil y tablet, segunda vuelta (1.1.8, 18/10/2026)   */
/*     Mandan sobre la sección 25 (van después y con el mismo peso).   */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* «Artículos recientes de nuestra revista de contacto» en dos líneas y más grande */
	.ddc-po .ddc-po-articulos .ddc-po-h2-anton { white-space: normal; text-wrap: balance; text-align: center; font-size: clamp(26px, 7.4vw, 40px) !important; line-height: 1.08; }

	/* Más aire entre artículos y entre entrevistas: que se vea dónde acaba cada una */
	.ddc-po .ddc-po-articulos .ddc-po-rejilla,
	.ddc-po .ddc-po-entrevistas .ddc-po-rejilla { gap: 48px; }

	/* Sello «EXCLUSIVA»: un poco más grande y abajo a la izquierda de la foto */
	.ddc-po .ddc-po-clasica-foto .ddc-po-sello { top: auto; bottom: 12px; left: 12px; padding: 6px 12px; font-size: 12px; }

	/* Shorts: la misma tarjeta, más baja (logo a la izquierda, título y botón a la derecha) */
	.ddc-po .ddc-po-shorts-cab {
		display: grid; grid-template-columns: auto 1fr; grid-template-areas: "logo titulo" "logo boton";
		align-items: center; justify-items: start; column-gap: 18px; row-gap: 10px;
		padding: 20px 20px; text-align: left;
	}
	.ddc-po .ddc-po-shorts-cab .ddc-po-shorts-logo { grid-area: logo; }
	.ddc-po .ddc-po-shorts-cab .ddc-po-logo-shorts { width: 66px; }
	.ddc-po .ddc-po-shorts-cab .ddc-po-h2-shorts { grid-area: titulo; font-size: clamp(21px, 5.6vw, 32px); align-self: end; }
	.ddc-po .ddc-po-shorts-cab .ddc-po-boton { grid-area: boton; align-self: start; min-width: 0; min-height: 42px; padding-left: 20px; padding-right: 20px; font-size: 12.5px; }

	/* Pódcast: cada vídeo a todo el ancho, letras en blanco y puntos para pasar */
	body .ddcyt-ultimos .ddcyt-rejilla { gap: 12px; padding-bottom: 6px; }
	body .ddcyt-ultimos .ddcyt-ficha { flex: 0 0 100%; max-width: none; scroll-snap-align: start; scroll-snap-stop: always; background: rgba(0, 0, 0, .55); }
	body .ddcyt-ultimos .ddcyt-ficha .ddcyt-txt { color: #fff; font-size: 17px; padding: 14px 16px 4px; }
	body .ddcyt-ultimos .ddcyt-ficha .ddcyt-fecha { color: #fff; opacity: .75; font-size: 13px; padding: 0 16px 16px; }
	.ddcr-puntos { display: flex; justify-content: center; gap: 10px; margin: 14px 0 0; padding: 0; }
	.ddcr-puntos button {
		width: 10px; height: 10px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 50%;
		background: rgba(255, 255, 255, .35); cursor: pointer; transition: width .25s, background .25s;
	}
	.ddcr-puntos button[aria-current="true"] { width: 26px; border-radius: 6px; background: #e10600; }

	/* App: las insignias, el doble de grandes (una debajo de otra, centradas) */
	.elementor-element-d1fa1f2 > .elementor-container { flex-direction: column; gap: 14px; }
	.elementor-element-d31d1f9 img, .elementor-element-554a51d img { height: 84px !important; }

	/* «¿Tienes una noticia, un evento o una velada?…» en dos líneas */
	.elementor-element-qvwrdcl { padding: 22px 14px !important; }
	.elementor-element-qvwrdcl .elementor-widget-wrap { padding: 0 !important; margin: 0 !important; } /* Elementor le pone −15 px arriba */
	.elementor-element-qvwrdcl .elementor-widget, .elementor-element-qvwrdcl .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; } /* 1.1.9: Elementor lo subía 25 px con un margen negativo */
	.elementor-element-qvwrdcl > .elementor-container, .elementor-element-qvwrdcl .elementor-column, .elementor-element-qvwrdcl .elementor-widget-wrap { display: block !important; height: auto !important; min-height: 0 !important; }
	.elementor-element-qvwrdcl .elementor-widget-container > p:last-child { margin-bottom: 0 !important; }
	.elementor-element-qvwrdcl p, .elementor-element-qvwrdcl p a { font-size: min(3.55vw, 18px) !important; line-height: 1.35; }

	/* Kickong, rediseñado: el gorila, debajo y pegado el nombre bien grande, y el botón */
	.elementor-element-rejxuiu .elementor-column > .elementor-widget-wrap { padding-top: 0 !important; padding-bottom: 0 !important; }
	.elementor-element-c6c0e4b > .elementor-widget-container { max-width: 80%; margin: 0 auto !important; }
	.elementor-element-c6c0e4b img { width: 100%; height: auto; display: block; }
	/* El logo de Kickong trae mucho margen transparente: se recorta a las letras (62 % × 48 % de la imagen) */
	.elementor-element-22b2558 > .elementor-widget-container { max-width: none; width: 92%; margin: -14px auto 0 !important; overflow: hidden; }
	.elementor-element-22b2558 img { display: block; width: 161.6% !important; max-width: none !important; height: auto; margin: -26.5% 0 -28.2% -30.9%; }
	.elementor-element-92f404d { margin: 14px 0 26px !important; }
	.elementor-element-92f404d .elementor-heading-title a { font-size: 24px; padding: 14px 34px; }

	/* Insignias del pie: Google Play con su margen (no se recorta tanto) */
	#footer-widgets .ddc-tiendas a { width: 156px; height: 46px; }
	#footer-widgets .ddc-tiendas a[href*="apple"] img { width: 106% !important; height: auto !important; }
	#footer-widgets .ddc-tiendas a[href*="google"] img { width: 103% !important; height: auto !important; }
}
@media (max-width: 767px) {
	/* La sección 25 lo subía 46 px; con el recorte nuevo ya no hace falta */
	.elementor-element-22b2558 > .elementor-widget-container { margin-top: -14px !important; }
}

/* ------------------------------------------------------------------ */
/* 27. Portada en móvil y tablet, tercera vuelta (1.2.0, 18/10/2026)   */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* Más aire entre las noticias destacadas */
	.ddc-po .ddc-po-noticias .ddc-po-rejilla { gap: 46px; }

	/* «Elige tu combate» solo en escritorio */
	.ddc-po .ddc-po-dz-sec { display: none !important; }

	/* Shorts: sin el marco de alrededor, el título más grande y «Suscríbete» pequeño y en el centro */
	.ddc-po .ddc-po-shorts-cab {
		border: 0; box-shadow: none;
		grid-template-areas: "logo titulo" "boton boton";
		row-gap: 14px; padding: 22px 20px 20px;
	}
	.ddc-po .ddc-po-shorts-cab .ddc-po-h2-shorts { font-size: clamp(25px, 7vw, 38px); align-self: center; }
	.ddc-po .ddc-po-shorts-cab .ddc-po-boton { justify-self: center; min-height: 34px; padding: 0 18px; font-size: 11px; letter-spacing: .22em; box-shadow: 0 6px 18px rgba(255, 0, 0, .4); }

	/* App: las dos insignias en la misma línea y grandes (cada una media pantalla) */
	.elementor-element-d1fa1f2 > .elementor-container { flex-direction: row !important; flex-wrap: nowrap; gap: 12px; }
	.elementor-element-d1fa1f2 > .elementor-container > .elementor-column { flex: 1 1 0 !important; width: auto !important; max-width: 50%; }
	.elementor-element-d31d1f9 img, .elementor-element-554a51d img { width: 100% !important; height: auto !important; max-height: 72px; object-fit: contain; }

	/* Pódcast: cada vídeo a todo el ancho de verdad (sin asomar el siguiente) y «Ir al pódcast» */
	body .ddcyt-ultimos .ddcyt-rejilla { margin: 0; padding: 0 0 6px; gap: 16px; }
	body .ddcyt-ultimos .ddcyt-ficha { flex: 0 0 100%; }
	body .ddcyt-ultimos .ddcyt-ficha .ddcyt-fecha { padding-bottom: 8px; }
	body .ddcyt-ultimos .ddcyt-ficha::after {
		content: "Ir al pódcast  →"; display: block; padding: 4px 16px 16px;
		color: #ff3b2f; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	}
	body .ddcyt-ultimos .ddcyt-foto.ddcr-sonando { background: #000; }
	body .ddcyt-ultimos .ddcyt-foto.ddcr-sonando iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
}
@media (max-width: 1024px) {
	/* Pie: Leone centrado y más grande */
	#media_image-29 { text-align: center; }
	#media_image-29 img { display: block; width: 92% !important; max-width: 340px !important; height: auto !important; margin: 6px auto 0; }
	/* «Descarga la app oficial» a la misma distancia que los otros enlaces, y las insignias debajo */
	#text-2 .ddc-tiendas { flex-wrap: wrap !important; margin-top: 0 !important; row-gap: 8px !important; }
	#text-2 .ddc-tiendas a { width: calc(50% - 5px); max-width: 156px; }
	#text-2 .ddc-tiendas::before {
		content: "Descarga la app oficial"; flex: 0 0 100%; display: block;
		font-family: "Hind Siliguri", sans-serif; font-size: 15px; line-height: 27px; padding: 8.5px 0; color: #333;
	}
}

/* Menú (1.2.0): Raleway Light, fina y elegante (elegida por Fredi). La fuente va dentro del plugin. */
@font-face {
	font-family: "DDCR Raleway"; font-style: normal; font-weight: 100 900; font-display: swap; /* 1.2.3: es variable (100–900); el menú va en 600 */
	src: url("fuentes/raleway-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@media (max-width: 1024px) {
	#mobile-dropdown .menu > li > a, #mobile-dropdown .menu > li > a span { font-family: "DDCR Raleway", Raleway, sans-serif !important; font-weight: 300 !important; font-size: 21px !important; letter-spacing: .06em; }
	#mobile-dropdown .menu .sub-menu a { font-family: "DDCR Raleway", Raleway, sans-serif !important; font-weight: 300 !important; font-size: 16px !important; }
}

/* Kickong (1.2.0): diseño «Arena» elegido por Fredi — focos, suelo rojo y «KICKONG» con relieve 3D.
   El nombre se escribe en Anton (el PNG del logo trae el dibujo descentrado y se oculta). */
@media (max-width: 1024px) {
 .elementor-element-rejxuiu { position: relative; overflow: hidden; padding: 34px 0 38px !important; }
 .elementor-element-rejxuiu > .elementor-shape, .elementor-element-rejxuiu > .elementor-background-overlay { display: none !important; }
 .elementor-element-rejxuiu .elementor-container { flex-direction: column; align-items: center; position: relative; z-index: 1; }
 .elementor-element-rejxuiu .elementor-column { width: 100% !important; }
 .elementor-element-rejxuiu .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
 .elementor-element-jhvrfuj { display: none !important; }
 .elementor-element-c6c0e4b { margin: 0 !important; position: relative; z-index: 1; }
 .elementor-element-c6c0e4b > .elementor-widget-container { width: 118% !important; max-width: none !important; margin: 0 0 0 -9% !important; }
 .elementor-element-c6c0e4b img { width: 100% !important; display: block; }
 .elementor-element-sybclyl { position: relative; z-index: 2; }
 .elementor-element-22b2558 > .elementor-widget-container { width: 100% !important; max-width: none !important; margin: -31% 0 0 !important; overflow: visible !important; }
 .elementor-element-22b2558 img { display: none !important; }
 .elementor-element-22b2558 a { display: block; text-decoration: none; }
 .elementor-element-22b2558 a::before { content: "KICKONG"; display: block; width: 100%; text-align: center; font-family: Anton, Impact, sans-serif; font-weight: 400; font-size: min(27vw, 150px); line-height: .92; letter-spacing: .01em; }
 .elementor-element-92f404d { margin: 18px 0 0 !important; text-align: center !important; }
 .elementor-element-92f404d .elementor-heading-title { text-align: center !important; }
 .elementor-element-92f404d .elementor-heading-title a { display: inline-block; font-family: Anton, Impact, sans-serif !important; font-size: 22px !important; letter-spacing: .12em !important; padding: 15px 34px !important; border-radius: 999px; }
}

@media (max-width: 1024px) {
 .elementor-element-rejxuiu { background: linear-gradient(104deg, transparent 38%, rgba(255,255,255,.13) 47%, transparent 56%), linear-gradient(76deg, transparent 44%, rgba(255,255,255,.13) 53%, transparent 62%), radial-gradient(70% 22% at 50% 0%, rgba(255,255,255,.45), transparent 75%), radial-gradient(90% 28% at 50% 100%, rgba(225,6,0,.65), transparent 75%), #060606 !important; }
 .elementor-element-c6c0e4b img { filter: drop-shadow(0 -6px 18px rgba(255,255,255,.18)) drop-shadow(0 24px 24px rgba(0,0,0,.8)); }
 .elementor-element-22b2558 a::before { color: #fff; text-shadow: 1px 1px 0 #ff2a1a, 2px 2px 0 #e10600, 3px 3px 0 #c80000, 4px 4px 0 #b00000, 5px 5px 0 #980000, 6px 6px 0 #800000, 7px 7px 0 #680000, 10px 14px 24px rgba(0,0,0,.9); }
 .elementor-element-92f404d .elementor-heading-title a { background: #e10600 !important; color: #fff !important; box-shadow: 0 6px 0 #7a0000, 0 14px 30px rgba(225,6,0,.5) !important; }
}
@media (max-width: 1024px) {
	/* La curva de la sección de Creed se monta encima: más aire abajo para el botón */
	.elementor-element-rejxuiu { padding-bottom: 78px !important; }
}

/* ------------------------------------------------------------------ */
/* 28. Animaciones de la portada en móvil y tablet (1.2.1)             */
/*     Solo transform/opacity; nada si el sistema pide menos movimiento. */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* Banderola «Última hora»: el hueco se reserva por CSS (sin saltos al cargar) */
	.ddc-po .ddc-po-noticias { position: relative; padding-top: 58px; }
	.ddcr-cinta {
		position: absolute; left: 0; right: 0; top: 0; height: 38px; overflow: hidden;
		display: flex; align-items: center; background: #e10600; color: #fff;
		box-shadow: 0 6px 20px rgba(225, 6, 0, .35);
	}
	.ddcr-cinta-etiqueta {
		position: relative; z-index: 2; flex: none; height: 100%; display: flex; align-items: center; gap: 7px;
		padding: 0 12px 0 14px; background: #0b0b0b; font-weight: 800; font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase;
		clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	}
	.ddcr-cinta-etiqueta::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #ff2a1a; box-shadow: 0 0 8px #ff2a1a; }
	.ddcr-cinta-ventana { flex: 1; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent); mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent); }
	.ddcr-cinta-pista { display: inline-flex; white-space: nowrap; will-change: transform; }
	.ddcr-cinta-pista a { color: #fff !important; text-decoration: none; font-weight: 700; font-size: 13px; letter-spacing: .02em; padding: 0 22px; position: relative; }
	.ddcr-cinta-pista a::after { content: "•"; position: absolute; right: -4px; opacity: .6; }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
	.ddcr-cinta-pista { animation: ddcr-cinta var(--ddcr-cinta-dur, 60s) linear infinite; }
	.ddcr-cinta:active .ddcr-cinta-pista { animation-play-state: paused; }
	.ddcr-cinta-etiqueta::before { animation: ddc-po-punto 1.3s ease-in-out infinite; }

	/* Brillo que cruza «Últimas noticias del deporte» */
	.ddc-po #ddc-po-t-noticias::before {
		background: linear-gradient(100deg, #e10600 0 42%, #ff8f80 50%, #e10600 58% 100%) 120% 0 / 260% 100% no-repeat;
		-webkit-background-clip: text; background-clip: text; color: transparent;
		animation: ddcr-brillo-texto 5.5s ease-in-out infinite;
	}

	/* Promotoras: un destello que va pasando de logo en logo */
	.ddc-po .ddc-po-promos .ddc-po-logo { overflow: hidden; }
	.ddc-po .ddc-po-promos .ddc-po-logo::before {
		content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 45%; z-index: 1; pointer-events: none;
		background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .16), transparent);
		transform: skewX(-18deg); animation: ddcr-destello 14s ease-in-out infinite;
	}
	.ddc-po .ddc-po-promos li:nth-child(2n) .ddc-po-logo::before { animation-delay: 1.4s; }
	.ddc-po .ddc-po-promos li:nth-child(3n) .ddc-po-logo::before { animation-delay: 2.8s; }
	.ddc-po .ddc-po-promos li:nth-child(5n) .ddc-po-logo::before { animation-delay: 4.2s; }

	/* «Ver todas…»: la flecha empuja */
	.ddc-po .ddc-po-mas a svg { animation: ddcr-empuja 2.4s ease-in-out infinite; }

	/* Pódcast: las fotos se mueven muy despacio */
	body .ddcyt-ultimos .ddcyt-foto img { animation: ddcr-kenburns 16s ease-in-out infinite alternate; transform-origin: 60% 40%; }

	/* App: el móvil flota */
	.elementor-element-fec5bc7 img { animation: ddcr-flota 5.5s ease-in-out infinite; }

	/* Entrada al aparecer de los bloques de Elementor (la clase la pone el JS) */
	html.ddcr-anim .ddcr-ap { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .9s cubic-bezier(.2, .7, .2, 1); }
	html.ddcr-anim .ddcr-ap.ddcr-visto { opacity: 1; transform: none; }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
	/* Kickong: los focos se mueven y «KICKONG» entra de golpe al aparecer */
	.elementor-element-rejxuiu::before {
		content: ""; position: absolute; left: -30%; right: -30%; top: -10%; height: 90%; z-index: 0; pointer-events: none;
		background: linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, .10) 47%, transparent 54%), linear-gradient(80deg, transparent 46%, rgba(255, 255, 255, .10) 53%, transparent 60%);
		transform-origin: 50% 0; animation: ddcr-focos 7s ease-in-out infinite alternate;
	}
	html.ddcr-anim .elementor-element-22b2558.ddcr-ap { opacity: 0; transform: scale(1.35); transition: opacity .35s ease, transform .5s cubic-bezier(.3, 1.6, .5, 1); }
	html.ddcr-anim .elementor-element-22b2558.ddcr-ap.ddcr-visto { opacity: 1; transform: none; }
}
@keyframes ddcr-cinta { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes ddcr-brillo-texto { 0%, 55% { background-position: 120% 0; } 85%, 100% { background-position: -20% 0; } }
@keyframes ddcr-destello { 0%, 88% { transform: translateX(0) skewX(-18deg); } 96%, 100% { transform: translateX(420%) skewX(-18deg); } }
@keyframes ddcr-empuja { 0%, 60%, 100% { transform: translateX(0); } 75% { transform: translateX(5px); } }
@keyframes ddcr-kenburns { from { transform: scale(1); } to { transform: scale(1.09); } }
@keyframes ddcr-flota { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes ddcr-focos { from { transform: rotate(-5deg); } to { transform: rotate(5deg); } }

/* ------------------------------------------------------------------ */
/* 29. Portada en móvil y tablet, cuarta vuelta (1.2.3, 18/10/2026)    */
/*     Manda sobre las secciones 25–28. Escritorio intacto.            */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* 1. Menú: un poco más pequeño, pero grueso y negro (con la Light fina apenas se leía) */
	#mobile-dropdown .menu > li > a, #mobile-dropdown .menu > li > a span { font-weight: 600 !important; font-size: 19px !important; color: #000 !important; letter-spacing: .04em; }
	#mobile-dropdown .menu .sub-menu a { font-weight: 500 !important; font-size: 15px !important; color: #000 !important; }

	/* 2 y 3. Aire: subtítulo → «Última hora» → «Últimas noticias del deporte» */
	.ddc-po .ddc-po-noticias { padding-top: 112px; }
	.ddcr-cinta { top: 28px; }

	/* 4. «Ver todas las noticias de deportes de contacto»: el botón, algo más grande */
	.ddc-po .ddc-po-noticias .ddc-po-mas a { padding: 17px 30px; font-size: 13.5px; gap: 14px; }

	/* 5. Más aire encima de «Artículos recientes de nuestra revista de contacto» */
	.ddc-po .ddc-po-articulos { padding-top: 84px; }

	/* 6 y 7. «Ver todos los artículos» y «Ver todas las entrevistas»: el mismo aire encima;
	   y las entrevistas, más separadas entre sí */
	.ddc-po .ddc-po-articulos .ddc-po-mas, .ddc-po .ddc-po-entrevistas .ddc-po-mas { margin-top: 60px; }
	.ddc-po .ddc-po-entrevistas .ddc-po-rejilla { gap: 72px; }

	/* 8. Shorts: fuera el resplandor rojo de detrás; la banderola de arriba la monta el JS
	   (su hueco se reserva aquí para que no salte nada al cargar) */
	.ddc-po .ddc-po-shorts { position: relative; padding-top: 136px; }
	.ddc-po .ddc-po-shorts-cab { background: none; border: 0; box-shadow: none; padding: 6px 4px 18px; }
	.ddc-po .ddc-po-shorts-cab .ddc-po-logo-shorts { filter: none; }
	.ddc-po .ddc-po-shorts-cab .ddc-po-h2-shorts { text-shadow: none; }
	.ddc-po .ddc-po-shorts-cab .ddc-po-boton { box-shadow: none; }
	.ddcr-shorts-cinta { position: absolute; left: 0; right: 0; top: 14px; height: 112px; overflow: hidden; pointer-events: none; }
	.ddcr-shorts-banda {
		position: absolute; left: -8%; right: -8%; height: 38px; overflow: hidden;
		display: flex; align-items: center; white-space: nowrap;
		font-family: Anton, Impact, sans-serif; font-size: 17px; letter-spacing: .08em; text-transform: uppercase;
	}
	.ddcr-shorts-banda-1 { top: 37px; z-index: 2; background: #ff0000; color: #fff; transform: rotate(-4.5deg); box-shadow: 0 10px 22px rgba(0, 0, 0, .7); }
	.ddcr-shorts-banda-2 { top: 37px; z-index: 1; background: #fff; color: #0b0b0b; transform: rotate(4.5deg); box-shadow: 0 8px 18px rgba(0, 0, 0, .55); }
	.ddcr-shorts-pista { display: inline-flex; will-change: transform; }
	.ddcr-shorts-pista span { padding: 0 14px; }
	.ddcr-shorts-pista span::after { content: "\25B6"; display: inline-block; margin-left: 28px; font-size: .62em; vertical-align: .22em; }

	/* 9. Pódcast: el reproductor de YouTube puesto desde el principio (lo monta el JS) */
	body .ddcyt-ultimos div.ddcyt-ficha::after { content: none; }
	body .ddcyt-ultimos .ddcr-ficha-enlace { display: block; color: inherit; text-decoration: none; }
	body .ddcyt-ultimos .ddcr-ficha-enlace .ddcyt-txt, body .ddcyt-ultimos .ddcr-ficha-enlace .ddcyt-fecha { display: block; }
	body .ddcyt-ultimos .ddcr-ficha-enlace::after {
		content: "Ir al pódcast  →"; display: block; padding: 4px 16px 16px;
		color: #ff3b2f; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	}

	/* 10. App: las dos insignias juntas en el centro, no una en cada punta */
	.elementor-element-d1fa1f2 > .elementor-container { justify-content: center !important; gap: 12px !important; }
	.elementor-element-d31d1f9 > .elementor-widget-container { text-align: right; }
	.elementor-element-554a51d > .elementor-widget-container { text-align: left; }
	.elementor-element-d31d1f9 img, .elementor-element-554a51d img { width: auto !important; max-width: 100% !important; height: 54px !important; max-height: none; }

	/* 11. Sin blanco entre la franja naranja, Kickong y Creed: Kickong pegado a la franja
	   (Elementor le daba 10 px de margen y asomaba el fondo blanco), fuera la curva blanca
	   de encima de Creed y la rayita blanca bajo la frase */
	.elementor-element-rejxuiu { margin-top: 0 !important; margin-bottom: 0 !important; padding-bottom: 44px !important; }
	.elementor-element-netyrzo { margin-top: 0 !important; }
	.elementor-element-netyrzo > .elementor-shape-top { display: none !important; }
	.elementor-element-ugnhujk { display: none !important; }

	/* 12. Leone: del ancho del logo de PayPal (la imagen trae 4 % de margen transparente a cada lado) */
	#media_image-29 img { width: 110% !important; max-width: none !important; margin: 10px -5% 0 !important; }

	/* 13. Insignias de abajo del todo: más aire antes de la franja negra */
	#footer-widgets { padding-bottom: 46px !important; }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
	/* 3. El brillo cruza el título de un lado a otro sin que se borre ninguna letra: el
	   degradado cubre siempre todo el texto (antes, a ratos, el final quedaba sin fondo) */
	.ddc-po #ddc-po-t-noticias::before {
		background: linear-gradient(100deg, #e10600 0 40%, #ffb3a8 50%, #e10600 60% 100%) 100% 0 / 250% 100% no-repeat;
		-webkit-background-clip: text; background-clip: text; color: transparent;
		animation: ddcr-brillo-cruza 4.5s ease-in-out infinite;
	}
	/* 8. Las dos banderolas de Shorts corren en sentidos contrarios */
	.ddcr-shorts-banda-1 .ddcr-shorts-pista { animation: ddcr-cinta 22s linear infinite; }
	.ddcr-shorts-banda-2 .ddcr-shorts-pista { animation: ddcr-cinta 28s linear infinite reverse; }
}
@keyframes ddcr-brillo-cruza { 0%, 35% { background-position: 100% 0; } 80%, 100% { background-position: 0% 0; } }

/* 1.2.4: más aire debajo de «Últimas noticias del deporte», antes de la primera noticia (antes 22 px) */
@media (max-width: 1024px) {
	.ddc-po #ddc-po-t-noticias { margin-bottom: 44px; }
}

/* 1.2.5: logo de la cabecera más grande SIN cambiar el alto de la barra.
   El PNG trae un 15 % de aire transparente arriba, un 18,4 % abajo y un 3,7 %
   a cada lado: con 30 px de alto solo se veían ~20 px de letras. Se pinta la
   imagen más alta y los márgenes negativos se comen ese aire, así que la caja
   que ocupa es la de las letras y la barra sigue midiendo lo mismo
   (--ddcr-cab: 60 px en móvil, 64 px en tablet). */
@media (max-width: 1024px) {
	#site-header #site-logo img.responsive-logo {
		height: 57px; width: 195px; max-height: none; max-width: none;
		margin: -8.6px -7px -10.5px -7.2px; /* letras: ~38 px de alto */
	}
}
@media (max-width: 767px) {
	#site-header #site-logo img.responsive-logo {
		height: 51px; width: 175px;
		margin: -7.7px -6.3px -9.4px -6.5px; /* letras: ~34 px de alto (antes ~20) */
	}
}
@media (max-width: 359px) {
	/* Móviles muy estrechos: que no empuje al carrito y al menú */
	#site-header #site-logo img.responsive-logo { height: 44px; width: 151px; margin: -6.6px -5.4px -8.1px -5.6px; }
}

/* 1.2.5: «Ver todos los artículos» más cerca de los artículos (antes 60 px de aire encima) */
@media (max-width: 1024px) {
	.ddc-po .ddc-po-articulos .ddc-po-mas { margin-top: 28px; }
}

/* 1.2.5: «Ver todas las entrevistas exclusivas» igual: más cerca de las entrevistas
   (antes 60 px encima) y más aire debajo, antes del bloque siguiente */
@media (max-width: 1024px) {
	.ddc-po .ddc-po-entrevistas .ddc-po-mas { margin-top: 28px; margin-bottom: 56px; }
}

/* 1.2.5: Shorts — las dos banderolas, más anchas, mucho más lentas y más sutiles,
   con el dibujo de las franjas de Free Dojo: fondo carbón, filo fino, letra perfilada
   y una palabra de cada dos en rojo. Casi rectas (antes ±4,5°, ahora ±2°). */
@media (max-width: 1024px) {
	.ddc-po .ddc-po-shorts { padding-top: 158px; }
	.ddcr-shorts-cinta { height: 134px; }
	.ddcr-shorts-banda {
		height: 54px; font-size: 26px; letter-spacing: .06em;
		background: #111 !important; color: transparent !important;
		border-block: 1px solid rgba(242, 239, 233, .16);
	}
	.ddcr-shorts-banda span { -webkit-text-stroke: 1px rgba(242, 239, 233, .42); }
	.ddcr-shorts-banda span:nth-child(2n) { color: #ff2a1a; -webkit-text-stroke: 0; text-shadow: 0 0 14px rgba(255, 42, 26, .45); }
	.ddcr-shorts-pista span { padding: 0 20px; }
	.ddcr-shorts-pista span::after { content: none; }
	.ddcr-shorts-banda-1 { top: 22px; z-index: 2; transform: rotate(-2deg); box-shadow: 0 10px 24px rgba(0, 0, 0, .55); }
	.ddcr-shorts-banda-2 { top: 58px; z-index: 1; transform: rotate(2deg); box-shadow: none; background: #191919 !important; }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
	/* Antes 22 y 28 s: casi mareaban. Ahora tardan cuatro veces más */
	.ddcr-shorts-banda-1 .ddcr-shorts-pista { animation-duration: 95s; }
	.ddcr-shorts-banda-2 .ddcr-shorts-pista { animation-duration: 120s; }
}

/* 1.2.5: la frase de Creed como franja que corre (la monta el JS: franjaCreed) */
@media (max-width: 1024px) {
	.ddcr-oculto-vista { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
	.ddcr-creed {
		overflow: hidden; margin: 6px calc(50% - 50vw) 0; width: 100vw; padding: 18px 0;
		border-block: 1px solid rgba(242, 239, 233, .16); background: rgba(10, 10, 10, .86); box-shadow: 0 14px 30px -14px rgba(0, 0, 0, .7);
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent);
		mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent);
	}
	.ddcr-creed-pista {
		display: inline-flex; align-items: baseline; gap: 26px; white-space: nowrap; will-change: transform;
		font-family: Anton, Impact, sans-serif; font-size: clamp(28px, 8.4vw, 46px); text-transform: uppercase; letter-spacing: .03em;
		color: transparent; -webkit-text-stroke: 1px rgba(242, 239, 233, .55);
	}
	.ddcr-creed-pista .ddcr-rojo { color: #ff2a1a; -webkit-text-stroke: 0; text-shadow: 0 0 16px rgba(255, 42, 26, .5); }
	.ddcr-creed-pista .ddcr-firma {
		font-family: inherit; font-size: .5em; letter-spacing: .3em; color: #f2efe9; -webkit-text-stroke: 0;
		padding: 0 34px 0 8px; position: relative;
	}
	.ddcr-creed-pista .ddcr-firma::before { content: "—"; margin-right: 10px; color: #ff2a1a; }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
	.ddcr-creed-pista { animation: ddcr-cinta 70s linear infinite; }
}

/* 1.2.5: insignias de App Store y Google Play junto al móvil, un poco más grandes
   (antes 54 px de alto); la colocación no cambia */
@media (max-width: 1024px) {
	.elementor-element-d31d1f9 img, .elementor-element-554a51d img { height: 64px !important; }
}

/* 1.2.5: Leone, patrocinador oficial, aún más grande (antes 110 % del ancho) */
@media (max-width: 1024px) {
	#media_image-29 img { width: 128% !important; margin: 12px -14% 0 !important; }
}

/* ------------------------------------------------------------------ */
/* 30. Remate 1.2.6: anuncio centrado, salmón neón y cinta de Creed    */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* El anuncio de entre Entrevistas y Shorts: el mismo aire arriba que abajo.
	   Antes 130 px encima (56 del botón + 56 de la sección + 18) y 32 debajo */
	.ddc-po .ddc-po-entrevistas { padding-bottom: 0 !important; }
	.ddc-po .ddc-po-entrevistas .ddc-po-mas { margin-bottom: 0 !important; }
	.elementor-element-bfb2796, .elementor-element-bfb2796 .elementor-container,
	.elementor-element-bfb2796 .elementor-column, .elementor-element-bfb2796 .elementor-widget-wrap,
	.elementor-element-bfb2796 .elementor-widget, .elementor-element-bfb2796 .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
	.elementor-element-bfb2796 { padding: 40px 0 12px !important; }
	/* El anuncio, en el centro aunque Google lo sirva más estrecho que la pantalla */
	.elementor-element-bfb2796 ins.adsbygoogle { margin-left: auto !important; margin-right: auto !important; text-align: center; }

	/* Salmón neón en las dos zonas que eran naranjas */
	.elementor-element-qvwrdcl {
		background-image: linear-gradient(290deg, #ff3b2f 0%, #ff5a45 55%, #ff6e55 100%) !important;
		box-shadow: 0 0 28px rgba(255, 83, 64, .55);
	}
	.elementor-element-netyrzo { background-color: #ff5340 !important; }
	/* Elementor le pone encima un velo beige al 30 %: apagaba el salmón */
	.elementor-element-netyrzo > .elementor-background-overlay { display: none !important; }

	/* La cinta de Creed, del color de su fondo: un salmón más hondo, letra blanca
	   y las palabras fuertes en blanco macizo (el rojo se perdía sobre el salmón) */
	.ddcr-creed {
		background: rgba(140, 18, 8, .22); box-shadow: none;
		border-block: 1px solid rgba(255, 255, 255, .35);
	}
	.ddcr-creed-pista { -webkit-text-stroke: 1px rgba(255, 255, 255, .85); }
	.ddcr-creed-pista .ddcr-rojo { color: #fff; text-shadow: 0 2px 0 rgba(120, 14, 6, .35); }
	.ddcr-creed-pista .ddcr-firma { color: #3a0a04; }
	.ddcr-creed-pista .ddcr-firma::before { color: #fff; }
}

/* ------------------------------------------------------------------ */
/* 31. 1.2.7: logo un poco más pequeño y aire de «Últimas noticias»    */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* El logo de la 1.2.5 quedaba demasiado grande: ~13 % menos (letras de 38 a 33 px en tablet) */
	#site-header #site-logo img.responsive-logo { height: 50px; width: 171px; margin: -7.5px -6.1px -9.2px -6.3px; }
	/* «ÚLTIMAS NOTICIAS DEL DEPORTE»: más separado de la banderola «Última hora» y
	   pegado a la primera foto (antes 44 px por debajo) */
	.ddc-po #ddc-po-t-noticias { margin-top: 34px !important; margin-bottom: 12px !important; }
}
@media (max-width: 767px) {
	/* Móvil: letras de 34 a ~29 px */
	#site-header #site-logo img.responsive-logo { height: 44px; width: 151px; margin: -6.6px -5.4px -8.1px -5.6px; }
}
@media (max-width: 359px) {
	#site-header #site-logo img.responsive-logo { height: 40px; width: 137px; margin: -6px -4.9px -7.4px -5.1px; }
}

/* ------------------------------------------------------------------ */
/* 32. 1.2.8: más aire alrededor del anuncio y orden de las promotoras */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* Anuncio entre Entrevistas y Shorts: 64 px arriba y abajo (en la 1.2.6 eran 40) */
	.elementor-element-bfb2796 { padding: 64px 0 36px !important; }

	/* Promotoras en móvil y tablet: GFC y AFL abren la segunda línea y PFL pasa
	   al hueco de GFC. Orden: GFC AFL ONE · GLORY PFL BKFC · NDL WAR EXF · eventos */
	.ddc-po .ddc-po-promos .ddc-po-logos > li { order: 0; }
	/* UFC y WOW siguen siendo la primera línea (las dos listas comparten rejilla) */
	.ddc-po .ddc-po-promos .ddc-po-logos-top > li { order: -30; }
	/* y el rótulo «Promotoras y ligas…», encima de todos */
	.ddc-po .ddc-po-promos .ddc-po-in > .ddc-po-h2 { order: -40; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/galicia-fight-championship/"]) { order: -20; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/afl/"]) { order: -19; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/one/"]) { order: -18; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/glory/"]) { order: -17; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/pfl/"]) { order: -16; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/bkfc/"]) { order: -15; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/noche-de-leyendas/"]) { order: -14; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/war-mma/"]) { order: -13; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/extreme-fighters/"]) { order: -12; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/dogfight/"]) { order: 1; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/golden-boxing-nights/"]) { order: 2; }
	.ddc-po .ddc-po-promos .ddc-po-logos > li:has(a[href*="/la-velada-del-ano/"]) { order: 3; }

	/* WOW tan grande a la vista como UFC: su PNG es muy apaisado (5:1) y con el
	   mismo ancho se quedaba en 19 px de alto frente a los 32 de UFC */
	.ddc-po .ddc-po-promos li:has(a[href*="/promotoras/wow/"]) img { width: 122% !important; max-width: none !important; height: auto !important; max-height: none !important; margin: 0 -11% !important; }
}

/* 1.2.8: el color que pidió el usuario es el rojo neón de fucka.es: #ff0000 puro */
@media (max-width: 1024px) {
	.elementor-element-qvwrdcl {
		background-image: none !important; background-color: #ff0000 !important;
		box-shadow: 0 0 40px rgba(255, 0, 0, .65);
	}
	.elementor-element-netyrzo { background-color: #ff0000 !important; }

	/* La frase de Creed ya no es una banda: solo letras blancas que van pasando
	   sobre la cabeza del luchador, sin fondo, sin rayas y sin sombra de caja */
	.ddcr-creed { background: none !important; border: 0 !important; box-shadow: none !important; padding: 8px 0; }
	.ddcr-creed-pista { color: #fff; -webkit-text-stroke: 0; text-shadow: 0 2px 14px rgba(120, 0, 0, .45); }
	.ddcr-creed-pista .ddcr-rojo { color: #fff; text-shadow: 0 0 18px rgba(255, 255, 255, .55); }
	.ddcr-creed-pista .ddcr-firma { color: #fff; opacity: .8; }
	.ddcr-creed-pista .ddcr-firma::before { color: #fff; }

	/* Leone, patrocinador oficial: un poco más pequeño (128 % → 114 %) */
	#media_image-29 img { width: 114% !important; margin: 12px -7% 0 !important; }
}

/* ------------------------------------------------------------------ */
/* 33. 1.2.9: logos de promotoras, Leone, Creed, «Última hora» y       */
/*     categorías en desplegable                                       */
/* ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	/* UFC y WOW: la primera fila, más ancha (tres columnas cada uno) y con la misma altura
	   de letra. El PNG de WOW es 5:1 y no tiene aire: con el ancho de antes se salía del recuadro */
	.ddc-po .ddc-po-promos .ddc-po-logos-top > li:nth-child(1) { grid-column: 1 / span 3; }
	.ddc-po .ddc-po-promos .ddc-po-logos-top > li:nth-child(2) { grid-column: 4 / span 3; }
	.ddc-po .ddc-po-promos li:has(a[href*="/promotoras/wow/"]) img { width: auto !important; max-width: 100% !important; height: 30px !important; max-height: none !important; margin: 0 auto !important; }
	.ddc-po .ddc-po-promos li:has(a[href*="/promotoras/ufc/"]) img { width: auto !important; max-width: 100% !important; height: 36px !important; max-height: none !important; margin: 0 auto !important; }

	/* AFL, a la altura de GFC y ONE (antes pesaba más que sus vecinos) */
	.ddc-po .ddc-po-promos li:has(a[href*="/afl/"]) img { width: auto !important; height: 25px !important; max-height: none !important; }
	/* PFL: la corona ocupa la parte de arriba del PNG y las letras quedaban bajas respecto a GLORY y BKFC */
	.ddc-po .ddc-po-promos li:has(a[href*="/pfl/"]) img { transform: translateY(-6px); }

	/* Leone: alineado con el recuadro de PayPal de encima (iba 4 px a la derecha) y 16 px más arriba */
	#media_image-29 img { margin: -4px -7% 0 !important; transform: translateX(-4px); }

	/* Frase de Creed: más grande y más arriba */
	.ddcr-creed { margin-top: -22px !important; }
	.ddcr-creed-pista { font-size: clamp(38px, 11.5vw, 60px) !important; color: #fff !important; }

	/* «Última hora»: el mismo rojo neón de Creed y la franja de noticias */
	.ddcr-cinta { background: #ff0000 !important; box-shadow: 0 0 22px rgba(255, 0, 0, .6), 0 6px 20px rgba(255, 0, 0, .35) !important; }

	/* Categorías: un desplegable que va con las pastillas de siempre */
	:is(#right-sidebar, #left-sidebar) .ddcr-cats > summary {
		list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px;
		min-height: 50px; padding: 0 18px; border: 1px solid #e3e3e3; border-radius: 999px; background: #fff;
		font-size: 15px; color: #1a1a1a; font-weight: 600;
	}
	:is(#right-sidebar, #left-sidebar) .ddcr-cats > summary::-webkit-details-marker { display: none; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats > summary::after {
		content: ""; flex: none; width: 9px; height: 9px; margin-top: -4px;
		border-right: 2px solid #e10600; border-bottom: 2px solid #e10600; transform: rotate(45deg); transition: transform .2s;
	}
	:is(#right-sidebar, #left-sidebar) .ddcr-cats[open] > summary { border-color: #1a1a1a; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats[open] > summary::after { transform: rotate(-135deg); margin-top: 4px; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats > ul { margin-top: 12px !important; padding: 14px !important; border: 1px solid #ececec !important; border-radius: 18px; background: #fafafa; }
}

/* ------------------------------------------------------------------ */
/* 34. 1.3.0: listados de noticias en el móvil = diseño 6 elegido      */
/*     (opciones/noticias-movil-10-disenos-completos.html), con los    */
/*     cambios del usuario: rectángulo rojo con la categoría mordiendo */
/*     la foto (en vez del sello de fecha), la fecha en rojo encima    */
/*     del titular y más aire entre noticias. Sin pie de foto ni botón */
/*     «Continuar leyendo»: toda la noticia es el enlace.              */
/*     Solo móvil: la tablet sigue con dos tarjetas por fila.          */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	#blog-entries .blog-entry:is(.large-entry, .grid-entry) { margin: 0 0 46px !important; }
	#blog-entries .blog-entry:is(.large-entry, .grid-entry):last-of-type { margin-bottom: 18px !important; }
	#blog-entries .blog-entry:is(.large-entry, .grid-entry) .blog-entry-inner {
		display: grid; grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "foto" "fecha" "titulo" "texto";
		border: 0; border-radius: 0; box-shadow: none; padding: 0; background: transparent; overflow: visible;
	}
	/* Foto 16:10 con esquinas de 18 px */
	#blog-entries .blog-entry .thumbnail { grid-area: foto; margin: 0; }
	#blog-entries .blog-entry .thumbnail a.thumbnail-link { aspect-ratio: 16 / 10; border-radius: 18px; background: #e9e9ec; }
	#blog-entries .blog-entry :is(.thumbnail-caption, .blog-entry-readmore) { display: none !important; }

	/* La categoría: rectángulo rojo que muerde la foto por abajo a la izquierda */
	#blog-entries .blog-entry ul.meta { display: contents; }
	#blog-entries .blog-entry ul.meta li:not(.meta-date):not(.meta-cat) { display: none; }
	#blog-entries .blog-entry ul.meta i { display: none; }
	#blog-entries .blog-entry ul.meta li.meta-cat {
		grid-area: foto; align-self: end; justify-self: start; position: relative; z-index: 3;
		margin: 0 0 -17px 14px; font-size: 0;
	}
	#blog-entries .blog-entry ul.meta li.meta-cat a { display: none; }
	#blog-entries .blog-entry ul.meta li.meta-cat a:first-of-type {
		display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; border-radius: 6px;
		background: #e10600; color: #fff !important; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
		box-shadow: 0 0 0 5px #fff, 0 10px 20px -6px rgba(225, 6, 0, .65);
	}
	/* La fecha, en rojo donde iba la disciplina */
	#blog-entries .blog-entry ul.meta li.meta-date {
		grid-area: fecha; margin: 30px 4px 6px; font-size: 12.5px; font-weight: 800; letter-spacing: .12em;
		text-transform: uppercase; color: #e10600;
	}
	#blog-entries .blog-entry ul.meta li.meta-date time { color: inherit; }
	/* Titular y entradilla de tres líneas */
	#blog-entries .blog-entry .blog-entry-header { grid-area: titulo; margin: 0 4px 8px; }
	#blog-entries .blog-entry .blog-entry-header .entry-title {
		font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; text-transform: none;
		font-size: 20px; line-height: 1.25; font-weight: 800; letter-spacing: -.01em;
	}
	#blog-entries .blog-entry .blog-entry-header .entry-title,
	#blog-entries .blog-entry .blog-entry-header .entry-title a {
		font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important;
		font-weight: 800 !important; text-transform: none !important; letter-spacing: -.01em !important;
	}
	#blog-entries .blog-entry .blog-entry-header .entry-title a { color: #0d0d0f !important; }
	/* Fecha, titular y entradilla alineados al mismo borde */
	#blog-entries .blog-entry :is(.blog-entry-header, .blog-entry-summary) { margin-left: 4px !important; margin-right: 4px !important; padding-left: 0 !important; padding-right: 0 !important; }
	#blog-entries .blog-entry .blog-entry-summary { grid-area: texto; margin: 0 4px; }
	#blog-entries .blog-entry .blog-entry-summary p { font-size: 15px; line-height: 1.55; color: #3d4047; -webkit-line-clamp: 3; line-clamp: 3; }
}

/* 1.3.1: portada (index). Las cajas de UFC y WOW, más anchas, heredaban la proporción 16:10 y
   medían 109 px de alto frente a los 71 de las demás: ahora todas la misma altura */
@media (max-width: 1024px) {
	.ddc-po .ddc-po-promos .ddc-po-logos-top > li .ddc-po-logo { aspect-ratio: auto !important; height: 71px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	/* En tablet las cajas de abajo son más altas: la fila de arriba las acompaña */
	.ddc-po .ddc-po-promos .ddc-po-logos-top > li .ddc-po-logo { height: auto; min-height: 0; aspect-ratio: 24 / 10 !important; }
}

/* 1.3.2: menú hamburguesa un poco más pequeño y más fino (antes 19 px en 600) */
@media (max-width: 1024px) {
	#mobile-dropdown .menu > li > a, #mobile-dropdown .menu > li > a span { font-weight: 500 !important; font-size: 17px !important; }
	#mobile-dropdown .menu .sub-menu a { font-weight: 400 !important; font-size: 15px !important; }
}

/* 1.3.3: listados de noticias en el móvil, un poco más de aire entre noticia y noticia (46 → 56 px) */
@media (max-width: 767px) {
	#blog-entries .blog-entry:is(.large-entry, .grid-entry) { margin-bottom: 56px !important; }
	#blog-entries .blog-entry:is(.large-entry, .grid-entry):last-of-type { margin-bottom: 18px !important; }
}
@media (max-width: 767px) {
	/* La entradilla, justificada (con guiones para que no queden huecos grandes) */
	#blog-entries .blog-entry .blog-entry-summary p { text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
}

/* 1.3.4: más aire entre la última noticia y los números de página */
@media (max-width: 767px) {
	.oceanwp-pagination { margin-top: 40px !important; padding-top: 0; }
}

/* 1.3.5: desplegable de categorías = diseño 1 elegido (opciones/categorias-desplegable-5-opciones.html):
   Temas y Promotoras en dos columnas iguales, con el número de artículos a la derecha */
@media (max-width: 1024px) {
	:is(#right-sidebar, #left-sidebar) .ddcr-cats > summary { border-radius: 14px; min-height: 54px; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats > summary > span { flex: 1; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats .ddcr-cats-tot { font-size: 12px; font-weight: 600; color: #70747c; margin-right: 4px; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-panel {
		margin-top: 10px; padding: 6px 14px 12px; border: 1px solid #ececee; border-radius: 16px; background: #fff;
		box-shadow: 0 14px 30px -22px rgba(0, 0, 0, .4);
	}
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-gt {
		display: flex; align-items: center; gap: 10px; margin: 16px 2px 6px;
		font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #e10600;
	}
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-gt::after { content: ""; flex: 1; height: 1px; background: #ececee; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-g { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-g a {
		display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 44px; padding: 0 2px;
		border-bottom: 1px solid #ececee; font-size: 14px; font-weight: 600; line-height: 1.2; color: #0d0d0f !important; text-decoration: none;
	}
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-g a.ddcr-cats-act { color: #e10600 !important; }
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-n:not(:empty) {
		flex: none; background: #f6f6f7; border-radius: 999px; padding: 2px 8px;
		font-size: 11.5px; font-weight: 700; color: #70747c; font-variant-numeric: tabular-nums;
	}
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-g a.ddcr-cats-act .ddcr-cats-n { background: #e10600; color: #fff; }
}

/* ------------------------------------------------------------------ */
/* 35. 1.3.6: newsletter entre noticias = diseño 7 «Campana del ring»  */
/*     (el formulario de MailPoet con esta ropa; solo móvil)           */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.ddcr-nl { margin: 0 -4px 56px; }
	.ddcr-nl-caja { position: relative; overflow: hidden; border-radius: 20px; padding: 22px 16px 16px; background: #0b0b0d; color: #fff; text-align: center; }
	.ddcr-nl-camp { position: relative; width: 110px; height: 110px; margin: 0 auto 6px; display: grid; place-items: center; }
	.ddcr-nl-onda { position: absolute; inset: 30px; border-radius: 50%; border: 3px solid #ff0000; opacity: 0; }
	.ddcr-nl-bola { position: relative; z-index: 2; width: 62px; height: 62px; border-radius: 50%; background: #ff0000; display: grid; place-items: center; box-shadow: 0 0 30px rgba(255, 0, 0, .8); }
	.ddcr-nl-tit { margin: 0; font-family: Anton, "Bebas Neue", Impact, sans-serif; font-size: 30px; line-height: 1; text-transform: uppercase; color: #fff; }
	.ddcr-nl-tit span { color: #ff0000; }
	.ddcr-nl-sub { margin: 8px 0 14px; font-size: 13.5px; line-height: 1.45; color: #c7c7cd; }
	.ddcr-nl-legal { margin: 10px 0 0; font-size: 11px; line-height: 1.4; color: #8d8d95; text-align: left; }
	.ddcr-nl-legal a { color: #c7c7cd; text-decoration: underline; }
	/* El formulario de MailPoet, vestido (sus reglas llevan #mailpoet_form_2: hace falta !important) */
	.ddcr-nl .mailpoet_form { padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; }
	.ddcr-nl .mailpoet_form form { display: grid; gap: 8px; margin: 0 !important; }
	.ddcr-nl .mailpoet_paragraph { margin: 0 !important; line-height: 1 !important; }
	.ddcr-nl .mailpoet_paragraph > *:not(.mailpoet_text):not(.mailpoet_submit):not([class^="mailpoet_error"]):not(.mailpoet_form_loading) { color: #c7c7cd; }
	.ddcr-nl input.mailpoet_text {
		height: 50px !important; padding: 0 14px !important; border-radius: 10px !important; border: 1px solid #333 !important;
		background: #18181b !important; color: #fff !important; font-size: 16px !important; box-shadow: none !important;
	}
	.ddcr-nl input.mailpoet_text::placeholder { color: #8d8d95; }
	.ddcr-nl input.mailpoet_text:focus { border-color: #ff0000 !important; outline: 0; box-shadow: 0 0 0 4px rgba(255, 0, 0, .2) !important; }
	.ddcr-nl input.mailpoet_submit {
		height: 52px !important; border: 0 !important; border-radius: 10px !important; background: #ff0000 !important; color: #fff !important;
		font-size: 14px !important; font-weight: 800 !important; letter-spacing: .08em; text-transform: uppercase; cursor: pointer;
		box-shadow: 0 0 22px rgba(255, 0, 0, .55) !important; -webkit-appearance: none; appearance: none;
	}
	.ddcr-nl input.mailpoet_submit:active { transform: scale(.97); }
	.ddcr-nl .parsley-errors-list { margin: 6px 0 0 !important; padding: 0 !important; list-style: none; text-align: left; font-size: 12px; color: #ff8a80 !important; }
	.ddcr-nl .mailpoet_message p { margin: 8px 0 0 !important; font-size: 13.5px; line-height: 1.45; text-align: center; }
	.ddcr-nl .mailpoet_validate_success { color: #fff !important; font-weight: 700; padding: 12px; border-radius: 10px; background: rgba(255, 0, 0, .18); border: 1px solid rgba(255, 0, 0, .5); }
	.ddcr-nl .mailpoet_validate_error { color: #ff8a80 !important; }
	.ddcr-nl .mailpoet_form_loading { display: none; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
	.ddcr-nl-onda { animation: ddcr-nl-onda 2.4s ease-out infinite; }
	.ddcr-nl-onda:nth-child(2) { animation-delay: .8s; }
	.ddcr-nl-onda:nth-child(3) { animation-delay: 1.6s; }
	.ddcr-nl-bola { animation: ddcr-nl-toca 2.4s ease-in-out infinite; }
	.ddcr-nl input.mailpoet_submit { background-image: linear-gradient(110deg, transparent 35%, rgba(255, 255, 255, .45) 50%, transparent 65%) !important; background-size: 250% 100% !important; animation: ddcr-nl-brillo 2.6s linear infinite; }
}
@keyframes ddcr-nl-onda { 0% { transform: scale(.6); opacity: 1; } 100% { transform: scale(2.1); opacity: 0; } }
@keyframes ddcr-nl-toca { 0%, 70%, 100% { transform: rotate(0); } 74% { transform: rotate(-16deg); } 80% { transform: rotate(14deg); } 86% { transform: rotate(-8deg); } 92% { transform: rotate(4deg); } }
@keyframes ddcr-nl-brillo { from { background-position: 150% 0; } to { background-position: -100% 0; } }

/* ------------------------------------------------------------------ */
/* 36. 1.3.7: bloque cinético EN BLANCO en los listados del móvil      */
/*     (opción 2). La cabecera de la página (título y migas) NO se     */
/*     toca: el bloque va debajo de ella, antes de las noticias.       */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.ddcr-kin-bloque { position: relative; overflow: hidden; background: #fff; margin: 0 0 30px; padding: 14px var(--ddcr-gutter, 16px) 0; }
	.ddcr-kin { position: relative; }
	.ddcr-kin-l { display: block; overflow: hidden; font-family: Anton, "Bebas Neue", Impact, sans-serif; font-size: clamp(42px, 13.5vw, 56px); line-height: .98; text-transform: uppercase; color: #0d0d0f; }
	.ddcr-kin-l > span { display: inline-block; }
	.ddcr-kin-hueco > span { color: transparent; -webkit-text-stroke: 1.6px #0d0d0f; }
	.ddcr-kin-neon > span { color: #ff0000; }
	.ddcr-kin-raya { height: 6px; margin-top: 12px; background: #ff0000; box-shadow: 0 0 16px rgba(255, 0, 0, .5); transform-origin: left; }
	.ddcr-kin-fila { margin: 10px 0 0; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; color: #70747c; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
	.ddcr-kin-l > span { animation: ddcr-kin-izq .9s cubic-bezier(.2, .9, .2, 1) both; }
	.ddcr-kin-l:nth-child(even) > span { animation-name: ddcr-kin-der; }
	.ddcr-kin-l:nth-child(2) > span { animation-delay: .12s; }
	.ddcr-kin-l:nth-child(3) > span { animation-delay: .24s; }
	.ddcr-kin-l:nth-child(4) > span { animation-delay: .36s; }
	.ddcr-kin-raya { animation: ddcr-kin-raya 1s .55s cubic-bezier(.2, .9, .2, 1) both; }
	.ddcr-kin-fila { animation: ddcr-kin-sube .6s .8s both; }
}
@keyframes ddcr-kin-raya { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes ddcr-kin-izq { from { transform: translateX(-112%); } to { transform: none; } }
@keyframes ddcr-kin-der { from { transform: translateX(112%); } to { transform: none; } }
@keyframes ddcr-kin-sube { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes ddcr-kin-late { 0%, 100% { opacity: .5; transform: scale(1); } 50% { opacity: 1; transform: scale(1.15); } }

/* 1.3.8: el bloque blanco, igual que la opción 2 (marca de agua roja y fila con el nombre de la sección) */
@media (max-width: 767px) {
	.ddcr-kin-agua {
		position: absolute; right: -8px; top: 26px; z-index: 0; pointer-events: none;
		font-family: Anton, "Bebas Neue", Impact, sans-serif; font-size: 150px; line-height: 1; color: rgba(255, 0, 0, .07);
	}
	.ddcr-kin, .ddcr-kin-raya, .ddcr-kin-fila { position: relative; z-index: 1; }
	.ddcr-kin-fila { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin-top: 12px; }
	.ddcr-kin-fila b { font-family: Anton, "Bebas Neue", Impact, sans-serif; font-weight: 400; font-size: 24px; line-height: 1; text-transform: uppercase; color: #0d0d0f; }
	.ddcr-kin-fila small { font-size: 12px; line-height: 1.35; font-weight: 600; color: #70747c; text-align: right; }

	/* Las migas de los listados: fuera «La revista online del deporte de contacto», que ya dice el
	   bloque de debajo (queda «Inicio › Noticias»). Solo se oculta a la vista: el marcado sigue */
	body:is(.category, .tag, .search, .blog, .date, .author) .page-header .site-breadcrumbs .trail-item:not(.trail-begin):not(.trail-end) { display: none !important; }
}

/* 1.3.9: en la página de la revista (/revista-deporte-de-contacto/, body.blog) la cabecera decía
   «La revista online del deporte de contacto» en el título y en las migas, y el bloque cinético
   lo repetía debajo. En el móvil se quita la cabecera a la vista (el <h1> sigue en el código para
   buscadores y lectores de pantalla) y queda solo el bloque. Las categorías no cambian. */
@media (max-width: 767px) {
	body.blog .page-header { padding: 0 !important; min-height: 0 !important; background: none !important; border: 0 !important; }
	body.blog .page-header .site-breadcrumbs { display: none !important; }
	body.blog .page-header .page-header-title {
		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; white-space: nowrap !important; border: 0 !important;
	}
	body.blog .ddcr-kin-bloque { padding-top: 22px; }
}

/* 1.4.0: la marca de agua «DDC» del bloque, más gorda. Anton solo tiene un grosor: se engorda con
   un contorno del mismo color. Va en un rosa claro opaco (no rojo transparente) para que el
   contorno y la letra no se monten y salgan dos tonos. */
@media (max-width: 767px) {
	.ddcr-kin-agua { color: #ffe9e9; -webkit-text-stroke: 9px #ffe9e9; paint-order: stroke fill; font-size: 158px; right: -4px; top: 22px; letter-spacing: .02em; }
}
@media (max-width: 767px) {
	/* «MMA, boxeo, kickboxing y muay thai», en grande y en mayúsculas */
	.ddcr-kin-fila { align-items: center; }
	.ddcr-kin-fila small {
		font-family: Anton, "Bebas Neue", Impact, sans-serif; font-weight: 400; font-size: 19px; line-height: 1.08;
		text-transform: uppercase; letter-spacing: .02em; color: #3d4047; text-align: right;
	}
}
@media (max-width: 767px) {
	/* En una fila no cabían: el nombre de la sección arriba y el subtítulo grande debajo, a lo ancho */
	.ddcr-kin-fila { flex-direction: column; align-items: flex-start; gap: 6px; }
	.ddcr-kin-fila b { white-space: nowrap; color: #ff0000; font-size: 20px; }
	.ddcr-kin-fila small { font-size: clamp(16px, 5.55vw, 24px); white-space: nowrap; text-align: left; color: #0d0d0f; }
}

/* 1.4.1: la marca de agua «DDC», un poco menos gorda (contorno de 9 a 5 px) */
@media (max-width: 767px) {
	.ddcr-kin-agua { -webkit-text-stroke-width: 5px; }
}

/* 1.4.2: un poco más de aire entre el bloque («MMA, BOXEO…») y la primera noticia (30 → 44 px) */
@media (max-width: 767px) {
	.ddcr-kin-bloque { margin-bottom: 44px; }
}

/* 1.4.3: el newsletter de la campana, en el sitio del de siempre (barra lateral, tras la paginación) */
@media (max-width: 767px) {
	:is(#right-sidebar, #left-sidebar) .ddcr-nl-widget { margin: 0 0 34px !important; padding: 0 !important; border: 0 !important; background: none !important; }
	:is(#right-sidebar, #left-sidebar) .ddcr-nl-widget .mailpoet_form_popup_overlay { display: none !important; }
}

/* 1.4.4: en Cursos y Seminarios, fuera la cabecera gris (título y migas a la vista; el <h1> sigue en
   el código) y queda solo el bloque «Cursos y seminarios del deporte de contacto» */
@media (max-width: 767px) {
	body:is(.category-cursos, .category-seminarios) .page-header { padding: 0 !important; min-height: 0 !important; background: none !important; border: 0 !important; }
	body:is(.category-cursos, .category-seminarios) .page-header .site-breadcrumbs { display: none !important; }
	body:is(.category-cursos, .category-seminarios) .page-header .page-header-title {
		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; white-space: nowrap !important; border: 0 !important;
	}
	body:is(.category-cursos, .category-seminarios) .ddcr-kin-bloque { padding-top: 22px; }
}

/* ------------------------------------------------------------------ */
/* 37. 1.4.5: calendario de eventos en el móvil                        */
/*     Bloque «Próximos eventos del deporte de contacto» arriba y todas*/
/*     las miniaturas del mismo tamaño (4:5, formato cartel)           */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	/* La cabecera vacía de la plantilla dejaba un hueco blanco arriba */
	body.post-type-archive-tribe_events #content > article > .entry-header { display: none !important; }
	body.post-type-archive-tribe_events .ddcr-kin-bloque { padding-left: 0; padding-right: 0; padding-top: 18px; margin-bottom: 24px; }
	/* Miniaturas: todas a todo el ancho de su columna y en el mismo marco 4:5, recortadas por igual
	   (la imagen va suelta dentro de su contenedor; los carteles estrechos salían más pequeños) */
	.tribe-events .tribe-events-calendar-list__event.tribe-common-g-row--gutters { margin-left: 0 !important; margin-right: 0 !important; }
	.tribe-events .tribe-events-calendar-list__event > .tribe-common-g-col { padding-left: 0 !important; padding-right: 0 !important; }
	.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
		position: relative; width: 100% !important; max-width: none !important; margin: 0 0 14px !important; padding: 0 !important; flex: none !important;
		aspect-ratio: 4 / 5; overflow: hidden; border-radius: 14px; background: #111;
	}
	.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper img {
		position: absolute; inset: 0; display: block; width: 100% !important; height: 100% !important; max-width: none !important;
		aspect-ratio: auto !important; object-fit: cover; object-position: center; border-radius: 0 !important;
	}
}

/* ------------------------------------------------------------------ */
/* 38. 1.4.7: lista de eventos en el móvil = «Fecha gigante» (diseño 2 */
/*     de opciones/eventos-blanco-10-disenos.html; sustituye a la      */
/*     «Entrada dorada» de la 1.4.6). Solo CSS sobre el marcado de The */
/*     Events Calendar + un JS mínimo que pone el día en data-dia para */
/*     el número grande de fondo (y lo repite al cambiar de mes).      */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row {
		position: relative; overflow: hidden; display: grid !important; grid-template-columns: minmax(0, 1fr) 128px;
		grid-template-areas: "fecha foto" "datos foto"; column-gap: 14px; align-items: end;
		margin: 0 !important; padding: 20px 0 24px !important; border-bottom: 1px solid #ececee;
	}
	/* El día, enorme y suave, de fondo */
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row::before {
		content: attr(data-dia); position: absolute; right: -10px; top: -14px; z-index: 0; pointer-events: none;
		font-family: Anton, "Bebas Neue", Impact, sans-serif; font-size: 190px; line-height: 1; color: #ffe9e9;
	}
	body.post-type-archive-tribe_events :is(.tribe-events-calendar-list__event-wrapper, .tribe-events-calendar-list__event) { display: contents !important; }
	/* El día en rojo, grande, con el día de la semana debajo */
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag {
		grid-area: fecha; position: relative; z-index: 1; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; text-align: left;
	}
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-datetime { display: flex; flex-direction: column-reverse; align-items: flex-start; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-daynum {
		font-family: Anton, "Bebas Neue", Impact, sans-serif !important; font-weight: 400 !important; font-size: 64px !important; line-height: .85 !important; color: #ff0000 !important;
	}
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-weekday {
		font-family: Anton, "Bebas Neue", Impact, sans-serif !important; font-size: 20px !important; line-height: 1.1 !important; color: #0d0d0f !important; text-transform: uppercase; letter-spacing: 0;
	}
	/* El cartel, inclinado, a la derecha */
	body.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
		grid-area: foto; position: relative; z-index: 1; width: 128px !important; margin: 0 !important; aspect-ratio: 4 / 5;
		border-radius: 12px; overflow: hidden; box-shadow: 0 18px 30px -16px rgba(0, 0, 0, .55); transform: rotate(3deg);
	}
	/* Título, hora y lugar */
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-details { grid-area: datos; position: relative; z-index: 1; width: auto !important; padding: 10px 0 0 !important; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-header { display: flex; flex-direction: column; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title { order: 1; margin: 0 0 6px !important; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link {
		color: #0d0d0f !important; font-family: Anton, "Bebas Neue", Impact, sans-serif !important; font-weight: 400 !important;
		font-size: 22px !important; line-height: 1.02 !important; text-transform: uppercase; border: 0 !important; -webkit-hyphens: none; hyphens: none;
	}
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link::after { content: ""; position: absolute; inset: 0; z-index: 2; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-datetime-wrapper { order: 2; margin: 0 !important; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-datetime { color: #70747c !important; font-size: 12.5px !important; font-weight: 600; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue { order: 3; color: #70747c !important; font-size: 12.5px !important; font-style: normal; margin: 2px 0 0 !important; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue-title { color: #3d4047 !important; font-weight: 700; }
	body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator-text { font-family: Anton, "Bebas Neue", Impact, sans-serif; font-size: 18px !important; text-transform: uppercase; color: #0d0d0f; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
	body.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper { animation: ddcr-ev-balan 5s ease-in-out infinite; }
}
@keyframes ddcr-ev-balan { 0%, 100% { transform: rotate(3deg); } 50% { transform: rotate(-2deg); } }

/* ------------------------------------------------------------------ */
/* 39. 1.4.8: eventos en el móvil. Fuera de la lista «¿Quieres anunciar*/
/*     tu velada?» (post 29519, no es un evento) y, debajo de la lista,*/
/*     el banner animado «Súbelo gratis» que lleva a su formulario.    */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
	body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row:has(.post-29519) { display: none !important; }
	.ddcr-sube { position: relative; display: block; overflow: hidden; margin: 26px 0 34px; padding: 92px 18px 20px; border-radius: 20px; background: #ff0000; color: #fff !important; text-decoration: none !important; box-shadow: 0 20px 36px -18px rgba(255, 0, 0, .8); }
	.ddcr-sube::after { content: "DDC"; position: absolute; right: -8px; bottom: -26px; font-family: Anton, Impact, sans-serif; font-size: 130px; line-height: 1; color: rgba(255, 255, 255, .12); pointer-events: none; }
	.ddcr-sube-bd { position: absolute; left: -30px; right: -30px; height: 34px; display: flex; align-items: center; overflow: hidden; white-space: nowrap; }
	.ddcr-sube-a { top: 14px; background: #0b0b0d; transform: rotate(-4deg); z-index: 2; box-shadow: 0 8px 16px rgba(0, 0, 0, .35); }
	.ddcr-sube-b { top: 40px; background: #fff; transform: rotate(3deg); }
	.ddcr-sube-p { display: inline-flex; align-items: center; gap: 16px; }
	.ddcr-sube-p span { font-family: Anton, Impact, sans-serif; font-size: 18px; text-transform: uppercase; letter-spacing: .04em; }
	.ddcr-sube-a .ddcr-sube-p span { color: #fff; } .ddcr-sube-a .ddcr-sube-p span:nth-of-type(odd) { color: #ff0000; }
	.ddcr-sube-b .ddcr-sube-p span { color: #0b0b0d; }
	.ddcr-sube-p i { font-style: normal; color: #ff0000; }
	.ddcr-sube-in { position: relative; z-index: 3; display: block; }
	.ddcr-sube-k { display: block; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #ffe0dd; }
	.ddcr-sube-t { display: block; margin: 6px 0 8px; font-family: Anton, Impact, sans-serif; font-size: 40px; line-height: .96; text-transform: uppercase; }
	.ddcr-sube-t em { font-style: normal; color: #0b0b0d; }
	.ddcr-sube-s { display: block; font-size: 13.5px; line-height: 1.45; color: #ffe8e6; margin-bottom: 14px; }
	.ddcr-sube-btn { position: relative; overflow: hidden; display: block; text-align: center; padding: 15px 12px; border-radius: 12px; background: #fff; color: #0b0b0d; font-weight: 900; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
	.ddcr-sube-a .ddcr-sube-p { animation: ddcr-cinta 40s linear infinite; }
	.ddcr-sube-b .ddcr-sube-p { animation: ddcr-cinta 48s linear infinite reverse; }
	.ddcr-sube-btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 40%; background: linear-gradient(90deg, transparent, rgba(255, 0, 0, .25), transparent); animation: ddcr-sube-brillo 2.6s ease-in-out infinite; }
	.ddcr-sube { animation: ddcr-sube-late 3s ease-in-out infinite; }
}
@keyframes ddcr-sube-brillo { 0% { transform: translateX(-160%) skewX(-20deg); } 55%, 100% { transform: translateX(280%) skewX(-20deg); } }
@keyframes ddcr-sube-late { 0%, 100% { box-shadow: 0 20px 36px -18px rgba(255, 0, 0, .8); } 50% { box-shadow: 0 20px 46px -12px rgba(255, 0, 0, 1); } }

/* 1.4.9: el banner «Súbelo gratis», con fondo blanco (borde y detalles en rojo) */
@media (max-width: 767px) {
	.ddcr-sube { background: #fff; color: #0d0d0f !important; border: 2px solid #ff0000; box-shadow: 0 20px 36px -22px rgba(255, 0, 0, .7); }
	.ddcr-sube::after { color: #ffe9e9; }
	.ddcr-sube-b { background: #ff0000; }
	.ddcr-sube-b .ddcr-sube-p span { color: #fff; }
	.ddcr-sube-b .ddcr-sube-p i { color: #0b0b0d; }
	.ddcr-sube-k { color: #e10600; }
	.ddcr-sube-t { color: #0d0d0f; }
	.ddcr-sube-t em { color: #ff0000; }
	.ddcr-sube-s { color: #3d4047; }
	.ddcr-sube-btn { background: #ff0000; color: #fff; box-shadow: 0 10px 20px -8px rgba(255, 0, 0, .7); }
}
@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
	.ddcr-sube-btn::after { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .5), transparent); }
	.ddcr-sube { animation: none; }
}
@media (max-width: 767px) {
	/* Pegado a «Suscribirse al calendario» (el calendario dejaba 80 px de relleno debajo) */
	body.post-type-archive-tribe_events .tribe-events-l-container { padding-bottom: 0 !important; }
	.ddcr-sube { margin-top: 14px; }
}
@media (max-width: 1024px) {
	/* Desplegable de categorías sin el número de artículos (ni el total de categorías) */
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-n, :is(#right-sidebar, #left-sidebar) .ddcr-cats .ddcr-cats-tot { display: none !important; }
}

/* 1.5.0: «Temas» y «Promotoras» del desplegable de categorías, un pelín más grandes (12 → 13,5 px) */
@media (max-width: 1024px) {
	:is(#right-sidebar, #left-sidebar) .ddcr-cats-gt { font-size: 13.5px; }
}

/* 1.5.1: el «Súbelo gratis» sin caja: sin borde, sin esquinas ni sombra, a todo el ancho de la pantalla */
@media (max-width: 767px) {
	.ddcr-sube { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important;
		margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; padding-left: max(16px, calc(50vw - 50% + 0px)); padding-right: 16px; width: 100vw; }
	.ddcr-sube { padding-left: 20px; padding-right: 20px; }
	.ddcr-sube-bd { left: -20px; right: -20px; }
	.ddcr-sube::after { right: 0; }
}

/* ── 1.5.4: buscador del menú del móvil a todo el ancho y más grande ──────────────────────────────
   Antes era una caja de 263 px con 40 px de aire a cada lado y una lupa pequeña: no se veía que se
   pudiera buscar. Ahora va de borde a borde del menú (las mismas rayas que los enlaces), más alto,
   con letra de 18 px (≥16 para que el iPhone no haga zoom al tocarla) y la lupa en un botón rojo. */
@media (max-width: 1024px) {
	#mobile-dropdown #mobile-menu-search { padding: 18px 0 26px !important; margin: 0 !important; }
	#mobile-dropdown #mobile-menu-search form.mobile-searchform { position: relative; width: 100% !important; max-width: none !important; margin: 0 !important; }
	#mobile-dropdown #mobile-menu-search input.field {
		width: 100% !important; height: 56px !important; box-sizing: border-box;
		padding: 0 68px 0 18px !important; font-size: 18px !important; line-height: 56px;
		color: #111 !important; background: #fff !important;
		border: 2px solid #111 !important; border-radius: 14px !important; box-shadow: none !important;
	}
	#mobile-dropdown #mobile-menu-search input.field::placeholder { color: #6b6b6b; opacity: 1; }
	#mobile-dropdown #mobile-menu-search input.field:focus { border-color: #ff0000 !important; outline: none; }
	#mobile-dropdown #mobile-menu-search button.searchform-submit {
		position: absolute !important; top: 6px !important; right: 6px !important; left: auto !important; bottom: auto !important;
		width: 44px !important; height: 44px !important; margin: 0 !important; padding: 0 !important;
		display: flex !important; align-items: center; justify-content: center; transform: none !important;
		background: #ff0000 !important; color: #fff !important; border: 0 !important; border-radius: 10px !important;
	}
	#mobile-dropdown #mobile-menu-search button.searchform-submit i { font-size: 19px !important; color: #fff !important; line-height: 1; }
}

/* ── 1.5.5: página de resultados de búsqueda en el móvil, por apartados (HTML en buscador.php) ── */
@media (max-width: 767px) {
	.ddcr-bus { --r: #ff0000; --t: #0d0d0f; --g: #70747c; --l: #ececef; background: #fff; padding: 0 16px 40px; }
	.ddcr-bus .ddcr-bus-cab { padding: 22px 0 0; margin: 0 0 22px; }
	.ddcr-bus .ddcr-bus-termino > span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
	.ddcr-bus .ddcr-kin-fila b { font-size: 22px; }

	/* Buscador */
	.ddcr-bus-form { position: relative; margin: 0 0 18px; }
	.ddcr-bus-form input[type=search] {
		width: 100%; height: 56px; box-sizing: border-box; margin: 0; padding: 0 66px 0 18px;
		font-size: 18px; color: var(--t); background: #fff; border: 2px solid var(--t); border-radius: 14px;
		-webkit-appearance: none; appearance: none; box-shadow: none;
	}
	.ddcr-bus-form input[type=search]:focus { border-color: var(--r); outline: none; }
	.ddcr-bus-form button {
		position: absolute; top: 6px; right: 6px; width: 44px; height: 44px; margin: 0; padding: 0;
		display: flex; align-items: center; justify-content: center;
		background: var(--r) !important; color: #fff !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important;
	}

	/* Apartados: fila que se desliza de lado */
	.ddcr-bus-tabs {
		display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px 26px; padding: 2px 16px 6px;
		scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.ddcr-bus-tabs::-webkit-scrollbar { display: none; }
	.ddcr-bus-tabs a {
		flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px;
		border: 1.5px solid var(--l); border-radius: 999px; background: #f6f6f8;
		font-size: 15px; font-weight: 700; color: var(--t) !important; text-decoration: none !important; white-space: nowrap;
	}
	.ddcr-bus-tabs a b { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #fff; font-size: 12.5px; text-align: center; color: var(--g); }
	.ddcr-bus-tabs a.activo { background: var(--r); border-color: var(--r); color: #fff !important; box-shadow: 0 6px 16px rgba(255, 0, 0, .28); }
	.ddcr-bus-tabs a.activo b { background: rgba(255, 255, 255, .22); color: #fff; }

	/* Cada apartado */
	.ddcr-bus-sec { margin: 0 0 34px; }
	.ddcr-bus-sec-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; padding: 0 0 10px; border-bottom: 3px solid var(--t); }
	.ddcr-bus-sec-cab h2 { margin: 0; font-family: Anton, "Bebas Neue", Impact, sans-serif; font-weight: 400; font-size: 26px; line-height: 1; text-transform: uppercase; letter-spacing: .01em; color: var(--t); }
	.ddcr-bus-sec-cab h2 span { font-size: 20px; margin-right: 2px; }
	.ddcr-bus-num { padding: 4px 10px; border-radius: 8px; background: var(--r); color: #fff; font-weight: 800; font-size: 13px; }
	.ddcr-bus a { text-decoration: none !important; }
	.ddcr-bus-tit { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-weight: 800; font-size: 16px; line-height: 1.28; color: var(--t); }
	.ddcr-bus-meta { display: block; font-size: 12.5px; font-weight: 600; color: var(--g); margin: 0 0 4px; }
	.ddcr-bus-meta b { color: var(--r); text-transform: uppercase; letter-spacing: .03em; }
	.ddcr-bus-filas { display: flex; flex-direction: column; }
	.ddcr-bus-filas > a { padding: 12px 0; border-bottom: 1px solid var(--l); }
	.ddcr-bus-filas > a:last-child { border-bottom: 0; }

	/* Noticias: la primera grande, las demás en fila */
	.ddcr-bus-not { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: center; }
	.ddcr-bus-not-foto { display: block; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #eee; }
	.ddcr-bus-not-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.ddcr-bus-not--g { grid-template-columns: 1fr; gap: 12px; padding-top: 0 !important; }
	.ddcr-bus-not--g .ddcr-bus-not-foto { aspect-ratio: 16 / 9; border-radius: 16px; }
	.ddcr-bus-not--g .ddcr-bus-tit { font-size: 20px; line-height: 1.2; }

	/* Tienda: dos columnas */
	.ddcr-bus-rejilla { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 12px; }
	.ddcr-bus-prod { display: flex; flex-direction: column; gap: 8px; }
	.ddcr-bus-prod-foto { display: block; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: #f3f3f5; }
	.ddcr-bus-prod-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.ddcr-bus-prod .ddcr-bus-tit { font-size: 14px; -webkit-line-clamp: 2; }
	.ddcr-bus-precio { font-weight: 800; font-size: 16px; color: var(--r); }
	.ddcr-bus-precio del { color: var(--g); font-weight: 600; font-size: 13px; margin-right: 4px; }
	.ddcr-bus-precio ins { text-decoration: none; }
	.ddcr-bus-precio .amount, .ddcr-bus-precio bdi, .ddcr-bus-precio ins .amount { color: var(--r) !important; }
	.ddcr-bus-precio del .amount, .ddcr-bus-precio del bdi { color: var(--g) !important; }

	/* Eventos: fecha grande */
	.ddcr-bus-ev { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; }
	.ddcr-bus-ev-fecha { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 70px; border-radius: 14px; background: #fff0f0; border: 2px solid var(--r); }
	.ddcr-bus-ev-fecha b { font-family: Anton, Impact, sans-serif; font-weight: 400; font-size: 30px; line-height: 1; color: var(--r); }
	.ddcr-bus-ev-fecha small { font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--t); }

	/* Luchadores */
	.ddcr-bus-lu { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: center; }
	.ddcr-bus-lu-foto { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; overflow: hidden; background: #f3f3f5; border: 3px solid var(--r); font-size: 28px; }
	.ddcr-bus-lu-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.ddcr-bus-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
	.ddcr-bus-chips i { font-style: normal; font-size: 11.5px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: var(--t); color: #fff; }

	/* Páginas */
	.ddcr-bus-pag { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
	.ddcr-bus-flecha { flex: 0 0 auto; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #f3f3f5; color: var(--r); font-weight: 800; }

	/* Ver todos */
	.ddcr-bus-ver { display: flex; align-items: center; justify-content: center; height: 50px; margin-top: 14px; border-radius: 12px; background: var(--t); color: #fff !important; font-weight: 800; font-size: 15px; }

	/* Sin resultados */
	.ddcr-bus-vacio { margin: 0 0 30px; padding: 22px 18px; border-radius: 16px; background: #fff0f0; border: 2px dashed var(--r); }
	.ddcr-bus-vacio b { display: block; font-size: 18px; color: var(--t); margin-bottom: 6px; }
	.ddcr-bus-vacio span { font-size: 15px; color: var(--g); }

	/* Explora la web */
	.ddcr-bus-explora h2 { margin: 6px 0 14px; font-family: Anton, "Bebas Neue", Impact, sans-serif; font-weight: 400; font-size: 26px; line-height: 1; text-transform: uppercase; color: var(--t); }
	.ddcr-bus-explora > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
	.ddcr-bus-explora a { display: flex; flex-direction: column; gap: 2px; padding: 14px; border-radius: 14px; background: var(--t); color: #fff !important; position: relative; overflow: hidden; }
	.ddcr-bus-explora a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--r); }
	.ddcr-bus-explora a span { font-size: 22px; margin-bottom: 4px; }
	.ddcr-bus-explora a b { font-family: Anton, Impact, sans-serif; font-weight: 400; font-size: 20px; line-height: 1.05; text-transform: uppercase; }
	.ddcr-bus-explora a small { font-size: 12.5px; color: #c8c9ce; }

	/* La paginación de siempre, cuando se ve (en un apartado) */
	body.search .oceanwp-pagination { padding: 0 16px; }
}
