/* =========================================================
   Avisos y Convocatorias Obimasa — Widget Elementor
   Autor: DonDigital · Diseño base: 1400px
   ========================================================= */

.odd-av {
	--odd-av-green: #16342c;
	--odd-av-dark: #12332b;
	--odd-av-col-gap: 90px;
	width: 100%;
}

/* ---------------------------------------------------------
   Cabecera
   --------------------------------------------------------- */
.odd-av__header {
	margin-bottom: 64px;
}

.odd-av__title {
	margin: 0 0 10px;
	font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 500;
	line-height: 1.1;
	color: var(--odd-av-green);
}

.odd-av__subtitle {
	margin: 0;
	font-size: clamp(18px, 2vw, 27px);
	font-weight: 400;
	line-height: 1.35;
	color: var(--odd-av-green);
}

/* ---------------------------------------------------------
   Carrusel (Swiper)
   --------------------------------------------------------- */
.odd-av__slider {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.odd-av__slider .swiper-wrapper {
	display: flex;
	width: 100%;
	box-sizing: content-box;
	transition-property: transform;
}

.odd-av__slider .swiper-slide {
	flex-shrink: 0;
	height: auto;
	position: relative;
}

/* Respaldo sin Swiper: scroll horizontal nativo */
.odd-av__slider:not(.odd-av-swiper-on) {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

.odd-av__slider:not(.odd-av-swiper-on) .swiper-wrapper {
	column-gap: var(--odd-av-col-gap);
}

.odd-av__slider:not(.odd-av-swiper-on) .swiper-slide {
	scroll-snap-align: start;
	width: calc((100% - var(--odd-av-col-gap)) / 2);
}

.odd-av-cols-1 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: 100%; }
.odd-av-cols-3 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: calc((100% - var(--odd-av-col-gap) * 2) / 3); }
.odd-av-cols-4 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: calc((100% - var(--odd-av-col-gap) * 3) / 4); }

/* Controles del carrusel */
.odd-av__controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
	margin-top: 44px;
}

.odd-av__nav {
	display: flex;
	align-items: center;
	gap: 12px;
}

.odd-av__nav-btn {
	border: none;
	padding: 0;
	appearance: none;
	-webkit-appearance: none;
}

.odd-av__nav-btn.swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}

.odd-av__circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 51px;
	height: 51px;
	border-radius: 50%;
	background-color: var(--odd-av-dark);
	color: #ffffff;
	flex: 0 0 auto;
	cursor: pointer;
	transition: background-color 0.25s ease;
}

.odd-av__circle svg {
	width: 20px;
	height: 20px;
	transition: transform 0.25s ease;
}

.odd-av__circle:hover {
	background-color: #2c5a4b;
	color: #ffffff;
}

.odd-av__nav-next:hover svg {
	transform: translateX(3px);
}

.odd-av__nav-prev:hover svg {
	transform: translateX(-3px);
}

.odd-av__dots {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-right: auto;
}

.odd-av__dots .swiper-pagination-bullet {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: var(--odd-av-green);
	opacity: 0.3;
	cursor: pointer;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.odd-av__dots .swiper-pagination-bullet-active {
	opacity: 1;
	transform: scale(1.15);
}

/* ---------------------------------------------------------
   Item / aviso
   --------------------------------------------------------- */
.odd-av__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.odd-av__eyebrow {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 4px;
	color: var(--odd-av-green);
}

.odd-av__numrow {
	display: flex;
	align-items: flex-end;
	gap: 26px;
	width: 100%;
}

.odd-av__number {
	font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	font-size: clamp(64px, 8vw, 112px);
	font-weight: 400;
	line-height: 0.9;
	color: var(--odd-av-green);
	white-space: nowrap;
}

.odd-av__numline {
	flex: 1 1 auto;
	height: 1px;
	background-color: var(--odd-av-green);
	margin-bottom: 0.6em;
	min-width: 40px;
}

.odd-av__item-title {
	margin: 12px 0 22px;
	font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 400;
	line-height: 1.1;
	color: var(--odd-av-green);
}

.odd-av__date {
	display: inline-block;
	padding: 7px 20px;
	border-radius: 999px;
	background-color: #93a28f;
	color: #ffffff;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 36px;
}

.odd-av__text {
	margin: 0 0 34px;
	font-size: clamp(16px, 1.4vw, 20px);
	font-weight: 400;
	line-height: 1.45;
	color: #1f2321;
}

.odd-av__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: auto;
}

.odd-av__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 26px;
	border-radius: 6px;
	background-color: var(--odd-av-dark);
	color: #ffffff;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.odd-av__btn:hover,
.odd-av__btn:focus {
	background-color: #2c5a4b;
	color: #ffffff;
}

/* ---------------------------------------------------------
   Responsive — Tablet (≤1024px, breakpoint por defecto de Elementor)
   --------------------------------------------------------- */
@media (max-width: 1024px) {

	.odd-av-cols-tablet-1 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: 100%; }
	.odd-av-cols-tablet-2 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: calc((100% - var(--odd-av-col-gap)) / 2); }
	.odd-av-cols-tablet-3 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: calc((100% - var(--odd-av-col-gap) * 2) / 3); }
	.odd-av-cols-tablet-4 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: calc((100% - var(--odd-av-col-gap) * 3) / 4); }

	.odd-av__header {
		margin-bottom: 48px;
	}
}

/* ---------------------------------------------------------
   Responsive — Móvil (≤767px)
   --------------------------------------------------------- */
@media (max-width: 767px) {

	.odd-av-cols-mobile-1 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: 100%; }
	.odd-av-cols-mobile-2 .odd-av__slider:not(.odd-av-swiper-on) .swiper-slide { width: calc((100% - var(--odd-av-col-gap)) / 2); }

	.odd-av__header {
		margin-bottom: 36px;
	}

	.odd-av__date {
		margin-bottom: 26px;
	}

	.odd-av__text {
		margin-bottom: 26px;
	}

	.odd-av__btn {
		padding: 14px 22px;
		font-size: 16px;
	}

	.odd-av__controls {
		margin-top: 32px;
	}
}
