/* ===== VARIABLES CSS ===== */
:root {
	/* Colores principales */
	--color-primary: #ffff00;
	--color-primary-hover: #f8f8f8;
	--color-black: #000;
	--color-white: #fff;
	--color-gray-light: #f8f8f8;
	--color-gray-medium: #e5e5e5;
	--color-gray-dark: #8b8b8b;
	--color-gray-darker: #333;
	--color-text: #333;
	--color-text-light: #767676;

	/* Espaciados base fijos */
	--spacing-xs: 0.25rem;
	--spacing-sm: 0.5rem;
	--spacing-md: 1rem;

	/* Espaciados dinámicos */
	--spacing-lg: clamp(1rem, 0.5vw + 0.8rem, 1.5rem);
	--spacing-xl: clamp(1.5rem, 1vw + 1rem, 2.5rem);
	--spacing-xxl: clamp(2rem, 2vw + 1rem, 4rem);
	--spacing-xxxl: clamp(3rem, 3vw + 1rem, 6rem);

	/* Para casos efeatureses */
	--spacing-fluid-sm: clamp(0.5rem, 0.8vw + 0.3rem, 1rem);
	--spacing-fluid-md: clamp(1rem, 1.5vw + 0.5rem, 2rem);

	/* Bordes */
	--border-radius-sm: 3px;
	--border-radius-md: 4px;
	--border-radius-lg: 8px;
	--border-radius-xl: 24px;

	/* Sombras */
	--shadow-light: 0 3px 3px rgba(0, 0, 0, 0.1);
	--shadow-medium: 0 8px 25px rgba(0, 0, 0, 0.15);
	--shadow-heavy: 0 10px 30px rgba(0, 0, 0, 0.3);

	/* Transiciones */
	--transition-fast: 0.2s ease;
	--transition-normal: 0.3s ease;
	--transition-slow: 0.6s ease-out;

	/* Breakpoints (se mantienen como referencia) */
	--breakpoint-tablet: 768px;
	--breakpoint-desktop: 1024px;

	/* Alturas fijas para imágenes */
	--height-card-image: 200px;
	--height-list-image-mobile: auto;
	--height-list-image-desktop: 300px;
	--height-hero-mobile: 200px;
	--height-hero-tablet: 400px;
	--height-count-section: 400px;

	/* Tamaños de texto responsive para navegación */
	--nav-font-size: clamp(0.7rem, 0.19vi + 0.7rem, 1.2rem);
	--nav-gap: clamp(0.5rem, 1.5vw, 2rem);

	/* Tamaños de texto responsive generales */
	--font-size-xs: clamp(0.8rem, 0.15vi + 0.8rem, 1rem);
	--font-size-sm: clamp(1.1rem, 0.18vi + 1rem, 1.2rem);
	--font-size-base: clamp(1.2rem, 0.22vi + 1.1rem, 1.3rem);
	--font-size-md: clamp(1.3rem, 0.25vi + 1.2rem, 1.4rem);
	--font-size-lg: clamp(1.4rem, 0.3vi + 1.4rem, 2.2rem);
	--font-size-xl: clamp(1.6rem, 0.5vi + 2rem, 2.6rem);
	--font-size-2xl: clamp(2rem, 1.2vi + 2.2rem, 3.4rem);
	--font-size-3xl: clamp(2.5rem, 1.5vi + 2.2rem, 3.6rem);

	/* Botones y elementos interactivos */
	--btn-font-size-small: clamp(0.7rem, 0.15vi + 0.55rem, 0.8rem);
	--btn-font-size-medium: clamp(0.8rem, 0.18vi + 0.62rem, 0.9rem);
	--btn-font-size-large: clamp(0.9rem, 0.2vi + 0.7rem, 1rem);

	/* Padding responsive */
	--btn-padding-small: clamp(0.3rem, 0.2vi + 0.3rem, 0.5rem) clamp(0.4rem, 0.4vi + 0.2rem, 0.6rem);
	--btn-padding-medium: clamp(0.7rem, 0.3vi + 0.5rem, 0.9rem) clamp(1.2rem, 0.7vi + 0.9rem, 1.5rem);
	--btn-padding-large: clamp(0.9rem, 0.4vi + 0.7rem, 1.1rem) clamp(1.5rem, 1vi + 1rem, 2rem);

	/* Iconos y elementos pequeños */
	--icon-size-small: clamp(1rem, 0.3vi + 0.8rem, 1.3rem);
	--icon-size-medium: clamp(1.3rem, 0.5vi + 1rem, 1.7rem);
	--icon-size-large: clamp(2.5rem, 1vi + 2rem, 3.5rem);

	/* Gaps responsive */
	--gap-small: clamp(0.5rem, 0.5vw, 1rem);
	--gap-medium: clamp(1rem, 1.5vw, 2rem);
	--gap-large: clamp(1.5rem, 2vw, 3rem);

	/* Nuevas variables para line-height */
	--line-height-tight: 1.2;
	--line-height-normal: 1.4;
	--line-height-loose: 1.6;
}

/* ===== RESET Y ESTILOS BASE ===== */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	hanging-punctuation: first last;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	font-family: system-ui, sans-serif;
	line-height: var(--line-height-normal);
	color: var(--color-text);
	background-color: var(--color-white);
	font-size: var(--font-size-base);
}

main {
	position: relative;
	z-index: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	text-wrap: balance;
}

ul,
ol {
	list-style: none;
}

p,
li,
figcaption {
	text-wrap: pretty;
	max-width: 75ch;
}

header,
footer,
main,
section,
article {
	container-type: inline-size;
}

@media (prefers-reduced-motion: no-preference) {
	:has(:target) {
		scroll-behavior: smooth;
		scroll-padding-top: 3rem;
	}
}

section, div {
    display: block;
    unicode-bidi: isolate;
}


/* Coontainers */

.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--spacing-xl);
}

.section-container {
	padding: var(--spacing-xxl) 0;
}

.section-container--large {
	padding: var(--spacing-xxxl) 0;
}

img,
picture,
svg {
	display: block;
	width: 100%;
	object-fit: cover;
}

/* ===== TIPOGRAFIA ===== */

@font-face {
	font-family: "amnesty";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic.woff") format("woff");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "amnesty";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-Obl.woff") format("woff");
	font-weight: 400;
	font-style: italic;
}

@font-face {
	font-family: "amnesty";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-Bd2.woff") format("woff");
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: "amnesty";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-Bd2Obl.woff") format("woff");
	font-weight: 700;
	font-style: italic;
}

@font-face {
	font-family: "amnesty";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-Li.woff") format("woff");
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: "amnesty";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-LiObl.woff") format("woff");
	font-weight: 100;
	font-style: italic;
}

@font-face {
	font-family: "amnesty-condensed";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-BdCn20.woff") format("woff");
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: "amnesty-condensed";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-BdCn20Obl.woff") format("woff");
	font-weight: 700;
	font-style: italic;
}

@font-face {
	font-family: "amnesty-condensed";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-Cn18.woff") format("woff");
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: "amnesty-condensed";
	src: url("/css/fonts/AmnestyTradeGothic/AmnestyTradeGothic-Cn18Obl.woff") format("woff");
	font-weight: 400;
	font-style: italic;
}

p,
a {
	font-family: "amnesty", sans-serif;
	font-weight: 400;
	line-height: var(--line-height-normal);
	font-size: var(--font-size-base);
	letter-spacing: -0.6px;
}

h1,
h2,
h3 {
	font-family: "amnesty-condensed", sans-serif;
	font-weight: 700;
	letter-spacing: -0.6px;
}

h4,
h5,
h6 {
	font-family: "amnesty-condensed", sans-serif;
	font-weight: 400;
	letter-spacing: -0.6px;
}

h1 {
	font-size: var(--font-size-3xl);
	line-height: var(--line-height-tight);
}
h2 {
	font-size: var(--font-size-2xl);
	line-height: var(--line-height-tight);
}
h3 {
	font-size: var(--font-size-xl);
	line-height: var(--line-height-tight);
}
h4 {
	font-size: var(--font-size-lg);
	line-height: var(--line-height-tight);
}
h5 {
	font-size: var(--font-size-md);
	line-height: var(--line-height-tight);
}
h6 {
	font-size: var(--font-size-base);
	line-height: var(--line-height-tight);
}

.section-title {
	font-size: var(--font-size-3xl);
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 3rem;
}
.news-title, .blogs-title {
	margin-bottom: 0;
}

/* ===== CLASE BASE PARA BOTONES ===== */

.btn {
	border: none;
	cursor: pointer;
	box-shadow: none;
}

.btn-primary {
	background-color: var(--color-primary);
	color: var(--color-black);
	font-weight: bold;
	text-transform: uppercase;
	border-radius: var(--border-radius-md);
	transition: all var(--transition-normal);
	text-decoration: none;
	/*font-family: system-ui, sans-serif;*/
	line-height: var(--line-height-normal);
	letter-spacing: normal;
	margin-top: auto;
	width: fit-content;
}

.btn-primary:hover {
	background-color: var(--color-primary-hover);
	transform: translateY(-2px);
}

.search-btn {
	background: none;
	font-size: var(--icon-size-medium);
	padding: var(--spacing-sm);
	color: var(--color-white);
}

.subscriber-btn {
	background: none;
	color: var(--color-gray-dark);
	padding: var(--btn-padding-small);
	border-radius: var(--border-radius-sm);
	font-size: var(--font-size-sm);
	transition: all var(--transition-normal);
}

.subscriber-btn:hover {
	background-color: var(--color-primary);
	color: var(--color-black);
}

.topnav-btn {
	padding: var(--btn-padding-medium);
	white-space: nowrap;
	font-size: var(--btn-font-size-small);
	min-height: 39px;
	text-decoration: none;
}

.cta-btn {
	padding: var(--btn-padding-medium);
	font-size: var(--btn-font-size-medium);
}

.read-more-btn {
	padding: var(--btn-padding-small);
	font-size: var(--btn-font-size-small);
}

.search-btn:focus,
.menu-toggle:focus {
	outline: none;
}

.btn-transparent {
	background-color: transparent;
	border-bottom: 2px solid #333;
	border-radius: 0;
	padding-bottom: 5px;
	padding-inline: 0;
	display: inline-block;
	transition: all var(--transition-normal);
	opacity: 1;
}

.btn-transparent:hover {
	opacity: 0.5;
}

/* ===== TOPBAR ===== */

.topbar svg {
	max-width: 20px;
}

.topbar {
	background-color: var(--color-white);
	border-bottom: 1px solid var(--color-gray-medium);
	font-size: var(--font-size-xs);
}

.topbar-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.topbar-date {
	color: var(--color-gray-dark);
	font-weight: 500;
}

.topbar-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-lg);
	justify-content: center;
}

.topbar-actions a {
	display: inline-flex;
	height: auto;
}

.social-icons {
	display: flex;
	gap: var(--spacing-sm);
}

.social-icons a {
	color: var(--color-gray-dark);
	text-decoration: none;
	font-size: var(--font-size-base);
	transition: color var(--transition-normal);
}

.social-icons a:hover {
	color: var(--color-primary);
}

/* ===== HEADER ===== */

.header {
	background-color: var(--color-black);
	position: sticky;
	top: 0;
	z-index: 1000;
	box-shadow: var(--shadow-light);
}

.header-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--spacing-md) 0;
}

.logo-img {
	height: 40px;
	width: auto;
}

.desktop-nav {
	display: none;
}

.nav-list {
	display: flex;
	list-style: none;
	gap: var(--nav-gap);
	flex-wrap: nowrap;
}

.nav-list a {
	text-decoration: none;
	color: var(--color-white);
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	transition: color var(--transition-normal);
	white-space: nowrap;
	padding: var(--spacing-sm) clamp(0.25rem, 0.4rem, 0.5rem);
	letter-spacing: 0.1px;
}

.nav-list a:hover {
	color: var(--color-primary);
}

.header-actions {
	display: flex;
	align-items: center;
	gap: var(--gap-small);
}

.menu-toggle {
	background: none;
	border: none;
	font-size: var(--icon-size-medium);
	cursor: pointer;
	display: block;
	color: var(--color-white);
}

/* ===== COLORES BG ===== */


.bg-primary {
	background-color: var(--color-primary) !important;
	
}
.bg-gray {
	background-color: var(--color-gray-light) !important;

}
.bg-white {
	background-color: var(--color-white) !important;

}

.bg-black {
	background-color: var(--color-black) !important;

}


/* ===== NAVEGACIÓN MÓVIL ===== */

.mobile-nav {
	background-color: var(--color-gray-darker);
	position: fixed;
	top: 120px;
	left: 0;
	right: 0;
	transform: translateY(-100%);
	transition: transform var(--transition-normal);
	z-index: 999;
	display: block;
}

.mobile-nav.active {
	transform: translateY(0);
}

.mobile-nav-list {
	list-style: none;
	padding: var(--spacing-md) 0;
}

.mobile-nav-list li {
	border-bottom: 1px solid #555;
}

.mobile-nav-list a {
	display: block;
	color: var(--color-white);
	text-decoration: none;
	padding: var(--spacing-md) var(--spacing-xl);
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--font-size-md);
}

.mobile-nav-list a:hover {
	background-color: var(--color-primary);
	color: var(--color-black);
}

/* ===== HERO SECTION ===== */

.hero {
	background-color: var(--color-gray-light);
	padding: var(--spacing-xl) 0;
	min-height: var(--height-hero-mobile);
}

.hero--bottom-strap {
	position: relative;
	box-shadow: 0 200px 0 0 var(--color-gray-light);
}

.hero-content {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	background-color: var(--color-primary);
	border-radius: var(--border-radius-xl);
}

.hero-image {
	height: 100%;
}

.hero-image img {
	height: 100%;
	border-radius: var(--border-radius-xl);
}

@media (min-width: 768px) {
	.hero-image img {
		border-radius: var(--border-radius-xl) 0 0 var(--border-radius-xl);
	}
}

@media (max-width: 767px) {
	.hero-image img {
		border-radius: var(--border-radius-xl) var(--border-radius-xl) 0 0;
	}
}

.hero-text {
	padding: var(--spacing-xl);
}

.hero-text h1 {
	font-size: var(--font-size-2xl);
	font-weight: 700;
	letter-spacing: -1.4px;
	margin-bottom: var(--spacing-md);
	line-height: var(--line-height-tight);
}

/* ===== NEWS GRID ===== */

.grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-large);
}

.card, .card-theme {
	background-color: var(--color-gray-medium);
	border-radius: var(--border-radius-xl);
	overflow: hidden;
	transition: transform var(--transition-normal);
	display: flex;
	flex-direction: column;
	min-height: 300px;
}

.card-content {
	padding: var(--spacing-lg);
	display: flex;
	flex: 1;
}

.card-wrap {
	padding: var(--spacing-lg);
	background-color: var(--color-white);
	border-radius: var(--border-radius-xl);
	display: flex;
	flex-direction: column;
	flex: 1;
	margin-top: -100px;
	align-items: center;
}

.card-wrap .btn {
	margin-top: auto;
	width: fit-content;
}

.card:hover {
	transform: translateY(-5px);
}

.card-image {
	height: var(--height-card-image);
	overflow: hidden;
}

.card-image img {
	height: 100%;
	min-height: 280px;
}

.card-content h3, .card-content h3 a {
	font-size: var(--font-size-md);
	font-weight: 700;
	margin-bottom: var(--spacing-md);
	line-height: var(--line-height-tight);
}
.card-content h3 a {
	font-family: "amnesty-condensed", sans-serif;
	letter-spacing: -0.6px;
	color: var(--color-text) !important;
	text-decoration:none;
}

/* ===== HOME ::: COUNT WITH US SECTION ===== */

.count-bg-image {
	width: 100%;
	height: var(--height-count-section);
	border-radius: var(--border-radius-xl);
	object-fit: cover;
	display: block;
}

.count-content {
	margin-top: -120px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.count-text {
	background-color: var(--color-black);
	color: var(--color-white);
	padding: var(--spacing-xxl);
	border-radius: var(--border-radius-xl);
	width: 75%;
	text-align: center;
}

.count-text h2 {
	font-size: var(--font-size-3xl);
	font-weight: bold;
	margin-bottom: var(--spacing-md);
	color: var(--color-white);
}

.count-text p {
	font-size: var(--font-size-md);
	line-height: var(--line-height-normal);
	margin-bottom: var(--spacing-xl);
}


@media (max-width: 767px) {
.count-text {
	width: 90%;
}
}


/* =====  HOME ::: NEWS WITH SIDEBAR ===== */

.news-sidebar-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-large);
}

.news-main {
	display: flex;
	flex-direction: column;
	gap: var(--gap-large);
}

.list-card {
	display: flex;
	flex-direction: column;
	background-color: var(--color-white);
	border-radius: var(--border-radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-light);
	transition: transform var(--transition-normal);
	height: auto;
}

.list-card:hover {
	transform: translateY(-3px);
}

.list-image {
	height: var(--height-list-image-desktop);
}

.list-image img {
	height: 100%;
}

.list-content {
	padding: var(--spacing-lg);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.news-category {
	font-size: var(--font-size-sm);
	font-family: "amnesty-condensed";
	font-weight: 700;
	color: var(--color-gray-dark);
	text-transform: uppercase;
	margin-bottom: var(--spacing-sm);
}

.list-content h3, .list-content h3 a {
	font-size: var(--font-size-xl);
	font-weight: 700;
	margin-bottom: var(--spacing-md);
	line-height: var(--line-height-tight);
	text-align: center;
}
.list-content h3 a {
	font-family: "amnesty-condensed", sans-serif;
	letter-spacing: -0.6px;
	color: var(--color-text) !important;
	text-decoration:none;
}



/* =====  HOME ::: SIDEBAR top-stories ===== */

.sidebar-top-stories {
	background-color: var(--color-gray-light);
	padding: var(--spacing-xl);
	border-radius: var(--border-radius-xl);
	height: 100%;
}

.sidebar-top-stories h3 {
	font-size: var(--font-size-lg);
	font-weight: bold;
	margin-bottom: var(--spacing-lg);
	text-transform: uppercase;
}

.top-stories-list {
	list-style: none;
	counter-reset: item;
	margin-bottom: var(--spacing-xl);
}

.top-stories-list li {
	counter-increment: item;
	margin-bottom: var(--spacing-md);
	position: relative;
	padding-left: 35px;
	min-height: 2rem;
	display: flex;
	align-items: flex-start;
}

.top-stories-list li::before {
	content: counter(item);
	position: absolute;
	left: 0;
	top: 0.1rem;
	background-color: var(--color-primary);
	color: var(--color-black);
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: var(--font-size-xs);
	line-height: 1;
}

.top-stories-list a {
	font-family: "amnesty-condensed";
	text-wrap: balance;
	color: var(--color-text);
	text-decoration: none;
	font-size: var(--font-size-md);
	line-height: var(--line-height-tight);
	display: block;
	padding: 0.1rem 0;
	margin: 0;
	font-weight: 100;
}

.top-stories-list a:hover {
	color: var(--color-gray-dark);
}

.sidebar-today {
	background-color: var(--color-primary);
	border-radius: var(--border-radius-xl);
}

.sidebar-today img {
	aspect-ratio: 1 / 1;
	border-radius: var(--border-radius-xl);
}

.card-content {
	padding-block: var(--spacing-lg);
	padding-inline: var(--spacing-xl);
	text-align: center;
	gap: 1rem;
	display: flex;
	flex-direction: column;
}

.card-content h5 {
	font-family: Amnesty;
	text-transform: uppercase;
	font-size: var(--font-size-xs);
	font-weight: 700;
}

.card-content h4 {
	font-size: var(--font-size-lg);
	font-weight: 700;
	margin-bottom: var(--spacing-sm);
	line-height: var(--line-height-tight);
}

/* =====  HOME ::: SQUARE-CARD - DEFENDEMOS SECTION ===== */

.square-card .card, .square-card .card-theme {
	background-color: var(--color-primary);
}

.square-card .card-image {
	aspect-ratio: 6 / 5;
	height: auto;
}

.square-card .card-wrap {
	aspect-ratio: 3 / 2;
	justify-content: center;
}

@media (max-width: 767px) {
	.square-card .card-wrap {
		aspect-ratio: 5 / 2;
		justify-content: center;
	}
}

.square-card h3 {
	font-size: var(--font-size-lg);
	font-weight: 700;
	text-align: center;
}

/* =====  HOME ::: ESPECIALES WITH SIDEBAR ===== */

.features-sidebar-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--gap-large);
}

.features-ver-mas {
	color: var(--color-gray-dark);
	text-decoration: none;
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	font-weight: 700;
}

.features-ver-mas:hover {
	color: var(--color-primary);
}

.features-list {
	display: flex;
	flex-direction: column;
	gap: var(--gap-large);
}

.features-list-item {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
	background-color: var(--color-gray-light);
	padding: var(--spacing-lg);
	border-radius: var(--border-radius-xl);
}

.features-list-content {
	flex: 1;
}

.features-list-content h3 {
	font-family: "amnesty", sans-serif;
	font-size: var(--font-size-lg);
	line-height: var(--line-height-normal);
	font-weight: 100;
	margin-bottom: var(--spacing-md);
}

.features-list-image {
	aspect-ratio: 1 / 1;
}

.features-list-image img {
	height: 100%;
	border-radius: var(--border-radius-xl);
}

/* ===== BLACK SIDEBAR ===== */

.sidebar-black {
	background-color: var(--color-black);
	color: var(--color-white);
	padding: var(--spacing-xl);
	border-radius: var(--border-radius-xl);
	text-align: center;
}

.sidebar-black h5 {
	font-family: "amnesty", sans-serif;
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	font-weight: 100;
}

.sidebar-black h3 {
	font-size: var(--font-size-md);
	text-transform: uppercase;
}

.sidebar-black-content h3 {
	color: var(--color-primary);
	font-size: var(--font-size-lg);
	font-weight: bold;
	margin-bottom: var(--spacing-lg);
	text-transform: uppercase;
	text-align: center;
}

.publication-preview {
	text-align: center;
}

.publication-preview img {
	aspect-ratio: 3 / 4;
	border-radius: var(--border-radius-md);
}

/* ===== FOOTER ===== */

.footer {
	background-color: var(--color-black);
	color: var(--color-white);
	padding: var(--spacing-lg) 0 var(--spacing-xl);
}

.footer a {
	font-size: var(--font-size-xs);
	color: var(--color-white);
	text-decoration: none;
	display: block;
}

.footer-content {
	font-size: 1rem;
	color: var(--color-white);
	display: flex;
	flex-direction: column;
	gap: var(--gap-large);
	padding: 0;
}

.footer h6 {
	color: var(--color-primary);
}

.footer-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gap-medium);
}

.footer-logo-col img {
	height: 150px;
	width: auto;
}

.footer-column h4 {
	color: var(--color-white);
	font-weight: bold;
	margin-bottom: var(--spacing-md);
	text-transform: uppercase;
	font-size: var(--font-size-sm);
}

.footer-column p {
	font-size: var(--font-size-xs);
	line-height: var(--line-height-normal);
	color: var(--color-white);
}

.footer-social {
	border-top: 1px solid var(--color-gray-darker);
	padding-top: var(--spacing-xl);
	text-align: center;
	margin-top: var(--spacing-xl); /* DO NOT REMOVE */
}

@media (max-width: 767px) {
	.footer-logo-col img {
		height: 100px;
	}
}

.social-links-footer {
	display: flex;
	gap: var(--spacing-lg);
	justify-content: center;
}

.social-links-footer a {
	color: var(--color-white);
	text-decoration: none;
	font-size: var(--icon-size-medium);
	transition: color var(--transition-normal);
	display: inline-flex;
	height: auto;
}

.social-links-footer svg {
	max-width: 25px;
}

.social-links-footer a:hover {
	color: var(--color-primary);
}

/* ===== MEDIA QUERIES ===== */

/* Ocultar topbar en móvil */
@media (max-width: 767px) {
	.topbar {
		display: none;
	}

	.mobile-nav {
		top: 60px;
	}
}

/* Ocultar navegación móvil en escritorio */

@media (min-width: 768px) {
	.mobile-nav {
		display: none !important;
	}
}

/* Diseño responsive - Tablet */

@media (min-width: 768px) {
	.menu-toggle {
		display: none;
	}

	.desktop-nav {
		display: block;
	}

	.topbar {
		display: block;
	}

	.hero-content {
		grid-template-columns: 1fr 1fr;
	}

	.grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.news-sidebar-grid {
		grid-template-columns: 2fr 1fr;
	}

	.list-card {
		flex-direction: row;
		min-height: var(--height-list-image-desktop);
		text-align: center;
	}

	.list-image {
		width: 50%;
		height: 100%;
		aspect-ratio: unset;
	}

	.list-content {
		width: 50%;
	}

	.features-sidebar-grid {
		grid-template-columns: 2fr 1fr;
	}

	.features-list-item {
		flex-direction: row;
		align-items: center;
	}

	.features-list-image {
		width: 150px;
		flex-shrink: 0;
	}

	.grid-2-3 {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--gap-large);
		margin-bottom: var(--spacing-xxl);
	}

	.footer-columns {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Diseño responsive - Escritorio */

@media (min-width: 768px) {
	.grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.footer-columns {
		grid-template-columns: repeat(5, 1fr);
	}

	.count-text {
		width: 75%;
	}
	.grid-2-3 {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ===== ANIMACIONES ===== */

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.card,
.defend-card,
.list-card,
.features-list-item {
	animation: fadeInUp var(--transition-slow);
}

/* ===== MEJORAS DE ACCESIBILIDAD ===== */

html {
	scroll-behavior: smooth;
}

button:focus,
a:focus,
.using-keyboard button:focus,
.using-keyboard a:focus {
	outline: 0;
}

/* ===== Optimización para preferencias de movimiento reducido ===== */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.card:hover,
	.defend-card:hover,
	.list-card:hover,
	.features-list-item:hover {
		transform: none;
	}

	.join-btn:hover,
	.read-more-btn:hover,
	.card-btn:hover,
	.join-movement-btn:hover,
	.list-btn:hover,
	.today-btn:hover,
	.features-list-btn:hover,
	.see-all-btn:hover {
		transform: none;
	}
}

/* ===== Mejoras de rendimiento para elementos animados ===== */

@media (prefers-reduced-motion: no-preference) {
	.card,
	.list-card,
	.features-list-item {
		will-change: transform;
	}
}

/* SUBHOMES Y ARTICULOS */

.breadcrumb {
	margin: 10px 0 15px;
	text-transform: uppercase;
}

.breadcrumb a {
	font-family: "amnesty-condensed";
	font-size: 17px;
	text-decoration: none;
	color: var(--color-gray-dark);
	letter-spacing: 0px;
}

.breadcrumb a:hover {
	text-decoration: underline;
}

.breadcrumb span {
	font-family: "amnesty-condensed";
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0px;
	color: var(--color-gray-dark);
}

.separator {
	margin: 0 8px;
	color: var(--color-text-light);
}

.hero-article ul,.hero-article picture{
margin-top: 1rem;
}

.hero-article li {
	list-style: circle;
	font-family: "amnesty";
	font-size: var(--font-size-sm);
	font-weight: 500;
	color: var(--color-gray-dark);
}

/* ARTICLE */

.article-author {
	font-family: "amnesty";
	padding-block: 0 2rem;
}

.article-author a {
	font-weight: 700;
	text-transform: uppercase;
}

.article-info-author-wrap span {
margin-right: 1rem;
}

.article-author button {
	padding: .5rem 1rem;
	background-color: var(--color-white);
	box-shadow: none;
    text-shadow: none;
	outline: none;
	border: 1px solid var(--color-black);
	border-radius: var(--border-radius-md);
	cursor: pointer;
}

.article-info-time {
	margin-top: .5rem;
	font-size: 16px;
}

.container-article {
	margin-top: -4rem;
	margin-bottom: 4rem;
}

.container-article picture {
	margin-bottom: 3rem;
}

.article-info h4 {
	margin-block: 1rem 0.5rem;
	font-weight: 800;
}



/* SUSCRIPCION */

.suscripcion {
margin-top: -4rem;
margin-bottom: 4rem;
}


.container-suscripcion {
			font-family: "amnesty";
            max-width: 676px;
            margin: 0 auto;
            padding: 40px;
            box-sizing: border-box;
			background-color: var(--color-gray-medium);
			border-radius: var(--border-radius-xl);
        }


.container-suscripcion .intro {
            margin-bottom: 30px;
        }

.container-suscripcion .intro p {
            margin: 0 0 15px 0;
            font-size: 20px;
            line-height: 1.5;
			font-weight: 100 ;
        }

.container-suscripcion .intro p:last-child {
            margin: 0;
        }

.container-suscripcion form {
            margin: 0;
        }

.container-suscripcion .form-row {
            display: flex;
            gap: 20px;
            margin-bottom: 25px;
        }

 .container-suscripcion .form-group {
            margin-bottom: 25px;
        }

.container-suscripcion .form-group-half {
            flex: 1;
        }

.container-suscripcion label {
            display: block;
            margin-bottom: 8px;
            font-size: 16px;
            font-weight: bold;
        }

.container-suscripcion input[type="text"],
.container-suscripcion input[type="email"],
.container-suscripcion input[type="password"],
.container-suscripcion input[type="tel"] {
            width: 100%;
            padding: 12px;
            border: none;
            border-radius: 4px;
            font-size: 16px;
            box-sizing: border-box;
        }

.container-suscripcion select {
            width: 100%;
            padding: 12px;
            border: none;
            border-radius: 4px;
            font-size: 16px;
            background-color: var(--color-white);
            box-sizing: border-box;
            appearance: none;
            background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2212%22 height=%228%22 viewBox=%220 0 12 8%22%3E%3Cpath fill=%22%23000%22 d=%22M6 8L0 0h12z%22/%3E%3C/svg%3E');
            background-repeat: no-repeat;
            background-position: right 12px center;
        }

.container-suscripcion select.placeholder {
            color: var(--color-gray-dark);
        }

.container-suscripcion .password-note {
            margin: 0 0 25px 0;
            font-size: 14px;
            color: var(--color-gray-dark);
            line-height: 1.4;
        }

.container-suscripcion .password-row {
            display: flex;
            gap: 20px;
            margin-bottom: 15px;
        }

.container-suscripcion .gender-label {
            display: block;
            margin-bottom: 12px;
            font-size: 16px;
            font-weight: bold;
        }

.container-suscripcion .gender-options {
            display: flex;
            gap: 30px;
        }

.container-suscripcion .gender-option {
            display: flex;
            align-items: center;
            font-size: 16px;
            cursor: pointer;
        }

.container-suscripcion input[type="radio"] {
            margin-right: 8px;
            width: 18px;
            height: 18px;
            cursor: pointer;
        }

.container-suscripcion .checkbox-container {
            margin-bottom: 30px;
        }

.container-suscripcion .checkbox-label {
            display: flex;
            align-items: flex-start;
            font-size: 16px;
            cursor: pointer;
        }

.container-suscripcion input[type="checkbox"] {
            margin-right: 10px;
            margin-top: 4px;
            width: 18px;
            height: 18px;
            cursor: pointer;
            flex-shrink: 0;
        }

.container-suscripcion .submit-container {
            text-align: center;
        }

.container-suscripcion  button[type="submit"] {
            background-color: var(--color-black);
            color: var(--color-white);
            border: none;
            padding: 15px 50px;
            font-size: 16px;
            font-weight: bold;
            border-radius: 4px;
            cursor: pointer;
            letter-spacing: 1px;
        }

.submit-container input {
	background-color: var(--color-black);
	color: var(--color-white);
	border: none;
	padding: 15px 50px;
	font-size: 16px;
	font-weight: bold;
	border-radius: 4px;
	cursor: pointer;
	letter-spacing: 1px;
}
.forgot-password {
	padding-bottom: 1rem;
	padding-top: 1.5rem;
}

.login-warning, .remember-me {
	font-size: 1rem;
}

.suscripcion strong {
	display: block;
	margin-bottom: 8px;
	font-size: 16px;
	font-weight: bold;
}
.username {
	margin-bottom: 25px;
}
.password {
	margin-bottom: 10px;
}
/* ===== LISTADO DE NOTICIAS (sin sidebar) ===== */
.news-list--full {
	display: flex;
	flex-direction: column;
	gap: var(--gap-large);
}

.news-list-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--spacing-md);
	margin-bottom: var(--spacing-xl);
}

.news-list-header h2 {
	font-size: var(--font-size-xl);
	font-weight: 700;
	line-height: var(--line-height-tight);
}

.news-results-count {
	font-family: "amnesty-condensed", sans-serif;
	color: var(--color-text-light);
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.news-empty-state {
	grid-column: 1 / -1;
	text-align: center;
	padding: var(--spacing-xxl) var(--spacing-md);
	color: var(--color-text-light);
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--font-size-md);
	background-color: var(--color-gray-light);
	border-radius: var(--border-radius-xl);
}

/* ===== FILTRO POR TEMAS ===== */

.news-filter {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
	margin-bottom: var(--spacing-xl);
}

.news-filter-search {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	background-color: var(--color-gray-light);
	border-radius: var(--border-radius-xl);
	padding: var(--spacing-sm) var(--spacing-lg);
	max-width: 480px;
	border: 1px solid transparent;
	transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.news-filter-search:focus-within {
	border-color: var(--color-black);
	background-color: var(--color-white);
}

.news-filter-search svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.news-filter-search input {
	flex: 1;
	border: none;
	background: transparent;
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--font-size-sm);
	padding: var(--spacing-sm) 0;
	outline: none;
	color: var(--color-text);
	width: 100%;
}

.news-filter-search input::placeholder {
	color: var(--color-text-light);
}

.news-filter-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-sm);
}

.news-filter-tag {
	border: 1px solid var(--color-gray-medium);
	background: var(--color-white);
	color: var(--color-text);
	padding: 0.5rem 1rem;
	border-radius: var(--border-radius-xl);
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--btn-font-size-small);
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background-color var(--transition-fast),
		color var(--transition-fast),
		border-color var(--transition-fast),
		transform var(--transition-fast);
	white-space: nowrap;
	line-height: 1.2;
}

.news-filter-tag:hover {
	border-color: var(--color-black);
	transform: translateY(-1px);
}

.news-filter-tag.is-active {
	background-color: var(--color-black);
	border-color: var(--color-black);
	color: var(--color-white);
}

/* ===== PAGINADOR ===== */

.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--spacing-sm);
	margin-top: var(--spacing-xxl);
	list-style: none;
}

.pagination li {
	margin: 0;
	padding: 0;
}

.pagination-item {
	min-width: 2.5rem;
	height: 2.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 var(--spacing-sm);
	border-radius: 50%;
	border: 1px solid var(--color-gray-medium);
	background: var(--color-white);
	color: var(--color-text);
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--font-size-sm);
	font-weight: 700;
	cursor: pointer;
	transition: background-color var(--transition-fast),
		color var(--transition-fast),
		border-color var(--transition-fast),
		transform var(--transition-fast);
	text-decoration: none;
	line-height: 1;
}

.pagination-item:hover {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
	color: var(--color-black);
	transform: translateY(-1px);
}

.pagination-item.is-active {
	background-color: var(--color-black);
	border-color: var(--color-black);
	color: var(--color-white);
	pointer-events: none;
}

.pagination-item.is-disabled {
	opacity: 0.4;
	pointer-events: none;
}

.pagination-arrow {
	border-radius: var(--border-radius-xl);
	padding: 0 var(--spacing-md);
	gap: var(--spacing-xs);
	min-width: auto;
	font-size: var(--btn-font-size-small);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.pagination-ellipsis {
	border: none;
	background: transparent;
	cursor: default;
	color: var(--color-text-light);
}

.pagination-ellipsis:hover {
	background: transparent;
	border: none;
	transform: none;
	color: var(--color-text-light);
}

@media (max-width: 480px) {
	.pagination-arrow span {
		display: none;
	}
	.pagination-arrow {
		min-width: 2.5rem;
		padding: 0;
		border-radius: 50%;
	}
}


/* ===== GRID MODIFIER: máximo 3 columnas ===== */

@media (min-width: 768px) {
	.grid.grid--3 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.grid.grid--3 {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ===== LISTADO ::: tarjetas con altura uniforme ===== */

.news-list--full .list-content h3, .news-list--full .list-content h3 a {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (min-width: 768px) {
	.news-list--full .list-card {
		height: var(--height-list-image-desktop);
		min-height: var(--height-list-image-desktop);
	}

	.news-list--full .list-image {
		height: 100%;
	}

	.news-list--full .list-image img {
		height: 100%;
		width: 100%;
		object-fit: cover;
	}

	.news-list--full .list-content {
		overflow: hidden;
	}
}

/* ===== TOOLBAR COMPACTA: buscador + dropdown multi-select ===== */

.news-toolbar {
	display: flex;
	align-items: stretch;
	gap: var(--spacing-sm);
	margin-bottom: var(--spacing-md);
	flex-wrap: wrap;
}

.news-toolbar-search {
	flex: 1 1 280px;
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	background-color: var(--color-gray-light);
	border-radius: var(--border-radius-xl);
	padding: 0 var(--spacing-lg);
	border: 1px solid transparent;
	transition: border-color var(--transition-fast),
		background-color var(--transition-fast);
	min-height: 2.75rem;
}

.news-toolbar-search:focus-within {
	border-color: var(--color-black);
	background-color: var(--color-white);
}

.news-toolbar-search svg {
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
}

.news-toolbar-search input {
	flex: 1;
	border: none;
	background: transparent;
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--font-size-sm);
	padding: var(--spacing-sm) 0;
	outline: none;
	color: var(--color-text);
	width: 100%;
	min-width: 0;
}

.news-toolbar-search input::placeholder {
	color: var(--color-text-light);
}

.news-toolbar-filter {
	position: relative;
}

.news-toolbar-trigger {
	display: inline-flex;
	align-items: center;
	gap: var(--spacing-sm);
	background: var(--color-white);
	border: 1px solid var(--color-gray-medium);
	border-radius: var(--border-radius-xl);
	padding: 0 var(--spacing-lg);
	min-height: 2.75rem;
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.5px;
	cursor: pointer;
	color: var(--color-text);
	transition: border-color var(--transition-fast),
		background-color var(--transition-fast);
	white-space: nowrap;
}

.news-toolbar-trigger:hover {
	border-color: var(--color-black);
}

.news-toolbar-trigger[aria-expanded="true"] {
	border-color: var(--color-black);
	background-color: var(--color-gray-light);
}

.news-toolbar-trigger-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.4rem;
	height: 1.4rem;
	padding: 0 0.4rem;
	border-radius: 999px;
	background: var(--color-primary);
	color: var(--color-black);
	font-size: var(--font-size-xs);
	font-weight: 700;
	line-height: 1;
}

.news-toolbar-trigger-count[hidden] {
	display: none;
}

.news-toolbar-chevron {
	width: 0.7rem;
	height: 0.7rem;
	transition: transform var(--transition-fast);
	flex-shrink: 0;
}

.news-toolbar-trigger[aria-expanded="true"] .news-toolbar-chevron {
	transform: rotate(180deg);
}

.news-toolbar-panel {
	position: absolute;
	top: calc(100% + 0.5rem);
	/*right: 0;*/
	width: min(380px, 90vw);
	background: var(--color-white);
	border: 1px solid var(--color-gray-medium);
	border-radius: var(--border-radius-lg);
	box-shadow: var(--shadow-medium);
	z-index: 100;
	display: flex;
	flex-direction: column;
	max-height: 26rem;
	overflow: hidden;
}

.news-toolbar-panel[hidden] {
	display: none;
}

.news-toolbar-panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--spacing-md) var(--spacing-lg);
	border-bottom: 1px solid var(--color-gray-medium);
	gap: var(--spacing-md);
}

.news-toolbar-panel-header h4 {
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	font-weight: 700;
	margin: 0;
}

.news-toolbar-clear {
	background: none;
	border: none;
	color: var(--color-text-light);
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--font-size-xs);
	text-transform: uppercase;
	font-weight: 700;
	cursor: pointer;
	letter-spacing: 0.5px;
	padding: 0.25rem 0.5rem;
	border-radius: var(--border-radius-sm);
}

.news-toolbar-clear:hover {
	color: var(--color-black);
	background-color: var(--color-gray-light);
}

.news-toolbar-clear:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.news-toolbar-options {
	padding: var(--spacing-xs) var(--spacing-sm);
	overflow-y: auto;
	flex: 1;
	margin: 0;
}

.news-toolbar-options li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.news-toolbar-option {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	padding: var(--spacing-sm) var(--spacing-md);
	border-radius: var(--border-radius-md);
	cursor: pointer;
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--font-size-sm);
	color: var(--color-text);
	transition: background-color var(--transition-fast);
	user-select: none;
}

.news-toolbar-option:hover {
	background: var(--color-gray-light);
}

.news-toolbar-option input[type="checkbox"] {
	accent-color: var(--color-black);
	width: 1rem;
	height: 1rem;
	flex-shrink: 0;
	cursor: pointer;
	margin: 0;
}

.news-toolbar-option-label {
	flex: 1;
	line-height: var(--line-height-tight);
}

/* Chips de selección activas */
.news-toolbar-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-xs);
	margin-bottom: var(--spacing-xl);
}

.news-toolbar-chips:empty {
	display: none;
}

.news-toolbar-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--color-black);
	color: var(--color-white);
	border: none;
	border-radius: var(--border-radius-xl);
	padding: 0.35rem 0.75rem;
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--btn-font-size-small);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background-color var(--transition-fast);
}

.news-toolbar-chip:hover {
	background: var(--color-gray-darker);
}

.news-toolbar-chip-close {
	font-size: 1rem;
	line-height: 1;
	display: inline-block;
	transform: translateY(-1px);
}

/* === CUSTOM RULES === */
.no-text-decoration {	
    text-decoration: none;
}

.default-text-color {
    color: var(--color-text);
}

form > div.text-center {
    justify-content: center;
}

form > div.error-message {
    color: red;
    font-size: 1rem;
}

form .field-validation-error {
	color: red;
	font-size: 1rem;
}

form > div.form-footnotes > p {
	font-size: 1rem;
}

/* ===== TOOLBAR ::: variante con confirmación ===== */

.news-toolbar-search.has-submit {
	padding-right: 0.35rem;
}

.news-toolbar-search-submit {
	background: var(--color-black);
	color: var(--color-white);
	border: none;
	border-radius: var(--border-radius-xl);
	padding: 0.45rem 1.1rem;
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--btn-font-size-small);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background-color var(--transition-fast),
		transform var(--transition-fast);
	flex-shrink: 0;
	white-space: nowrap;
}

.news-toolbar-search-submit:hover {
	background: var(--color-gray-darker);
	transform: translateY(-1px);
}

.news-toolbar-panel-footer {
	display: flex;
	gap: var(--spacing-sm);
	padding: var(--spacing-md) var(--spacing-lg);
	border-top: 1px solid var(--color-gray-medium);
	background: var(--color-gray-light);
}

.news-toolbar-apply {
	flex: 1;
	background: var(--color-black);
	color: var(--color-white);
	border: none;
	border-radius: var(--border-radius-xl);
	padding: 0.7rem 1rem;
	font-family: "amnesty-condensed", sans-serif;
	font-size: var(--font-size-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background-color var(--transition-fast),
		transform var(--transition-fast);
}

.news-toolbar-apply:hover {
	background: var(--color-gray-darker);
	transform: translateY(-1px);
}

.news-toolbar-apply:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}


/* Indicador visual de borrador (cambios sin aplicar) en el trigger */
.news-toolbar-trigger.has-pending {
	border-color: var(--color-black);
	border-style: dashed;
}

.card-inner-wrap h2 {
	font-size: var(--font-size-lg) !important;
}

.card-theme a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  height: 100%;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.card-outer-wrap {
 display: flex;
  flex-direction: column;
  height: 100%;}

.card-inner-wrap {
  flex-grow: 1; 
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.card-theme .card-wrap {
justify-content: center;
}

/*Ajuste parrafos detalle*/
.article-info p, .article-info h3{
	margin-bottom: 1rem;
}


/*SLIDER*/
.slider {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	margin: auto;
}

.slider-track-container {
	overflow: hidden;
	width: 100%;
}

.slider-track {
	display: flex;
	transition: transform 0.5s ease;
	gap: 2rem;
	will-change: transform;
	list-style: none;
	padding-inline: 0;
	margin: 0;
}

.slider-slide {
	min-width: 100%;
	box-sizing: border-box;
	text-align: center;
	user-select: none;
	min-height: 200px;
	touch-action: pan-y;
}

.slider-control {
	position: absolute;
	top: 50%;
	color: white;
	background-color: black;
	border: none;
	padding: 5px 5px 15px;
	cursor: pointer;
	transform: translateY(-50%);
	z-index: 10;
	font-size: 2rem;
	line-height: 1.4;
	border-radius: 4px;
	transition: opacity 0.2s ease;
}

.slider-control:hover,
.slider-control:focus {
	opacity: 1;
}

.slider-control.prev {
	left: 0px;
}

.slider-control.next {
	right: 0px;
}

.slider-control.disabled {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

.slider-dots {
	display: flex;
	justify-content: center;
	margin-top: 10px;
	gap: 8px;
}

.dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: #bbb;
	cursor: pointer;
	border: none;
	padding: 0;
	transition: background-color 0.2s ease;
}

.dot:hover,
.dot:focus {
	background-color: #666;
}

.dot.active {
	background-color: #333;
}

.wrapper {
	width: min(100% - 4rem, 85rem);
	margin-inline: auto;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border-width: 0;
}

/*Publicaciones*/
/* Reemplazo de section.module */
.section-gallery {
	padding: 0;
	width: 100%;
}

/* Reemplazo de .container */
.gallery-wrapper {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

/* Reemplazo de .row / .multi-columns-row (Grilla Responsive) */
.gallery-grid {
	display: grid;
	grid-template-columns: 1fr; /* 1 columna por defecto en móviles pequeños */
	gap: 20px; /* Espaciado entre elementos */
}

/* Pantallas pequeñas (sm-6 -> 2 columnas) */
@media (min-width: 576px) {
	.gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Pantallas medianas y grandes (md-4 / lg-4 -> 3 columnas) */
@media (min-width: 768px) {
	.gallery-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Reemplazo de .col-sm-6... y .gallery-itemx */
.gallery-card {
	display: flex;
	flex-direction: column;
}

.gallery-card-content {
	width: 100%;
	height: 100%;
}

.gallery-card-link {
	display: block;
	width: 100%;
	margin-bottom: 30px;
}

.gallery-card-img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}


.module {
	position: relative;
	padding: 2% 0;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}


.shop-item {
	text-align: center;
	margin: 0 0 40px;
}
.shop-item-image {
	position: relative;
	overflow: hidden;
}

.shop-item-image img {
	width: 100%;
}

.shop-item-detail, .shop-item-image::after {
	transition: all 0.4s ease-in-out 0s;
}
.shop-item-detail {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 100%;
	padding: 20px;
	opacity: 0;
	z-index: 2;
	text-align: center;
	font-size: 12px;
	color: #aaa;
}
.btn.btn-b {
	background: #111111;
	color: #fff;
}
.btn.btn-b {
	border-radius: 0;
	font-family: "Roboto Condensed",sans-serif;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-size: 11px;
	padding: 8px 37px;
}
.btn.btn-b:hover, .btn.btn-b:focus {
	background: rgba(17,17,17,0.8);
}
.btn.btn-b.focus, .btn.btn-b:focus, .btn.btn-b:hover {
	color: #fff;
	text-decoration: none !important;
}
.btn.btn-round {
	border-radius: 2px;
	text-decoration: none;
}


.shop-item-detail, .shop-item-image::after {
	transition: all 0.4s ease-in-out 0s;
}
.shop-item-image::after {
	position: absolute;
	display: block;
	content: "";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.shop-item:hover .shop-item-detail {
	opacity: 1;
	bottom: 50%;
	-webkit-transform: translateY(50%);
	-ms-transform: translateY(50%);
	transform: translateY(50%);
}

.shop-item-title {
	font-weight: 400;
	font-size: 14px;
	color: #111;
	margin: 15px 0 5px;
}

.font-alt {
	font-family: "Roboto Condensed",sans-serif;
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 1.4;
}
.shop-item-title a {
	color: #111;
	text-decoration: none;
}


.shop-item-title a:hover,.shop-item-title a:focus {
	text-decoration: none;
	color: #aaa;
	outline: 0;
}

.shop-item-title a:focus,.shop-item-title a:hover {
	/*color: #23527c;*/
	/*text-decoration: underline;*/
}

.shop-item:hover .shop-item-image::after {
	background: rgba(255,255,255,0.7);
}

.shop-item:hover .shop-item-detail {
	opacity: 1;
	bottom: 50%;
	-webkit-transform: translateY(50%);
	-ms-transform: translateY(50%);
	transform: translateY(50%);
}

/* Reemplazo de .row / .multi-columns-row */
.catalog-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px 20px;
	width: 100%;
	margin-top: 30px;
}

/* 2 columnas en pantallas pequeñas (col-sm-6) */
@media (min-width: 576px) {
	.catalog-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* 3 columnas en pantallas medianas y grandes (col-md-4 / col-lg-4) */
@media (min-width: 768px) {
	.catalog-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Reemplazo de col-sm-6 col-md-4 col-lg-4 */
.catalog-card {
	display: flex;
	flex-direction: column;
	width: 100%;
}

/* Reemplazo de col-sm-12 (separador) */
.catalog-divider {
	grid-column: 1 / -1;
	width: 100%;
	color: transparent;
	user-select: none;
	line-height: 0;
	margin: 10px 0;
}

/*Pagina simple*/
.container-simple-page {
	margin-top: -4rem;
	margin-bottom: 4rem;
}
	.container-simple-page picture {
		margin-bottom: 3rem;
	}

/*Grid de blogs*/
.grid--opinion {
	grid-template-columns: repeat(auto-fit, minmax(clamp(260px, 30vw, 320px), 1fr));
}