/* ============================================================
   IMPSR - Ajuste de paleta para "Pago de los Arroyos" (Hotel)
   Se carga DESPUÉS de style.css. No modifica el archivo original,
   solo pisa colores puntuales para acercarlo al azul IMPSR.
   ============================================================ */

:root {
	--impsr-blue: #1565A0;
	--impsr-blue-dark: #0d4a7a;
}

/* Títulos: de bordó (#800606) a azul IMPSR */
h2,
h3,
h4,
h5,
h6 {
	color: var(--impsr-blue-dark);
}

/* Título grande de sección (era casi negro #0a0a0a) */
.section-title h2 {
	color: var(--impsr-blue-dark);
}

/* Botón primario: de gris (#888786) a azul IMPSR */
.primary-btn {
	background: var(--impsr-blue);
}

.primary-btn:hover {
	background-color: var(--impsr-blue-dark);
	color: #ffffff;
}

/* Azules ya existentes del template -> azul exacto IMPSR */
.bg-blue,
.header__nav__option {
	background-color: var(--impsr-blue) !important;
}

.header__top__widget li span,
.header__top__auth ul li a:hover {
	color: var(--impsr-blue);
}

.owl-next:hover,
.owl-prev:hover {
	background-color: var(--impsr-blue);
}

/* Sección "Nuestra Historia" (history) - fechas y detalles */
.history__item h4 {
	color: var(--impsr-blue-dark);
}

/* Sección "Habitaciones" (habitaciones.php) */
.room__text h3 {
	color: var(--impsr-blue-dark);
}
.room__text h2 {
	color: var(--impsr-blue);
}

/* Sección "Contacto" (contacto.php) */
.contact__widget__item h4,
.contact__widget__time h4,
.contact__form h2 {
	color: var(--impsr-blue);
}
.contact__form form button::before {
	background: var(--impsr-blue);
}
.contact__form form button:hover {
	background-color: var(--impsr-blue);
}

/* ---------------------------------------------
   Footer: se mantiene oscuro (imagen de fondo),
   solo se ajustan los acentos interactivos a azul IMPSR
   --------------------------------------------- */

.footer__widget ul li a:hover {
	background-color: var(--impsr-blue);
}

.footer__newslatter form button {
	background: var(--impsr-blue);
}

.footer__newslatter form button:hover {
	background-color: var(--impsr-blue-dark);
}

.footer__about .footer__social a:hover {
	color: var(--impsr-blue);
}

.footer__copyright__links li a:hover {
	color: var(--impsr-blue);
}

/* ============================================================
   LAVADO DE CARA 10/08 — capa de modernizacion visual.
   Todo aditivo, carga al final. Si algo no gusta, se borra
   este bloque y queda como antes. No toca logica ni markup.
   ============================================================ */

/* --- Tipografia (fuentes ya cargadas en el <head>) --- */
body {
	font-family: 'DM Sans', system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	color: #33414f;
}
h1, h2, h3, h4, h5, .section-title h2, .hero__text h1 {
	font-family: 'Barlow Condensed', 'DM Sans', sans-serif;
	letter-spacing: .3px;
}

/* --- Acento bajo el titulo de seccion (centrado por defecto) --- */
.section-title h2 { position: relative; padding-bottom: 14px; }
.section-title h2::after {
	content: "";
	position: absolute; bottom: 0; left: 50%;
	transform: translateX(-50%);
	width: 64px; height: 4px; border-radius: 4px;
	background: linear-gradient(90deg, var(--impsr-blue), #4a97d6);
}
/* Titulos alineados a la izquierda -> acento a la izquierda */
.home__about__text .section-title h2::after,
.gallery__text .section-title h2::after {
	left: 0; transform: none;
}
/* chooseus: titulo blanco -> acento claro */
.chooseus__text .section-title h2::after {
	background: rgba(255,255,255,.85);
}

/* --- HERO: overlay para contraste + tipografia --- */
.hero { position: relative; }
.hero::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(13,74,122,.35) 0%, rgba(8,18,28,.72) 100%);
	z-index: 1;
}
.hero .container { position: relative; z-index: 2; }
.hero__text h1 {
	color: #fff;
	font-size: clamp(30px, 6vw, 58px);
	line-height: 1.08;
	font-weight: 700;
	text-shadow: 0 2px 18px rgba(0,0,0,.45);
	max-width: 900px; margin: 0 auto;
}
.hero__text h2 { display: none; } /* era solo un "." */
.hero__text::after {
	content: "";
	display: block; width: 90px; height: 4px;
	margin: 22px auto 0; border-radius: 4px;
	background: rgba(255,255,255,.9);
}

/* --- Botones primarios: gradiente + transicion --- */
.primary-btn {
	background: linear-gradient(135deg, var(--impsr-blue) 0%, var(--impsr-blue-dark) 100%);
	border: none; border-radius: 8px;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
	box-shadow: 0 4px 14px rgba(21,101,160,.28);
}
.primary-btn:hover {
	background: linear-gradient(135deg, var(--impsr-blue) 0%, var(--impsr-blue-dark) 100%);
	filter: brightness(1.07);
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(21,101,160,.36);
	color: #fff;
}

/* --- Tarjetas de SERVICIOS (WiFi, TV, desayuno, SUM) --- */
.services__item {
	background: #fff;
	border: 1px solid #eef2f7;
	border-radius: 14px;
	padding: 32px 22px;
	text-align: center;
	box-shadow: 0 6px 20px rgba(21,101,160,.07);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.services__item:hover {
	transform: translateY(-6px);
	box-shadow: 0 14px 30px rgba(21,101,160,.16);
	border-color: #d7e6f4;
}
.services__item img { height: 56px; width: auto; object-fit: contain; }
.services__item h4 { color: var(--impsr-blue-dark); margin-top: 20px; }
.services__item p { color: #64748b; font-size: 15px; }

/* --- Tarjetas de HABITACIONES del home --- */
.home__room__item {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(13,74,122,.14);
	transition: transform .25s ease, box-shadow .25s ease;
}
.home__room__item:hover {
	transform: translateY(-6px);
	box-shadow: 0 16px 38px rgba(13,74,122,.24);
}
.home__room__item::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(6,20,33,.78) 0%, rgba(6,20,33,.15) 45%, rgba(6,20,33,0) 70%);
	z-index: 1; border-radius: inherit; pointer-events: none;
}
.home__room__title, .home__room__item a { position: relative; z-index: 2; }
.home__room__item a {
	background: linear-gradient(135deg, var(--impsr-blue) 0%, var(--impsr-blue-dark) 100%);
	border-radius: 8px; padding: 10px 22px;
	font-weight: 600; letter-spacing: .3px;
	box-shadow: 0 6px 16px rgba(0,0,0,.25);
}

/* --- Imagenes about + galeria: esquinas redondeadas --- */
.home__about__pic img { border-radius: 14px; }
.gallery__item { border-radius: 12px; }

/* --- Nav: leve hover en los links --- */
.navbar-nav .nav-link { transition: background-color .15s ease; }
.navbar-nav .nav-link:hover { background-color: rgba(255,255,255,.12); }

/* --- Formulario de contacto: inputs modernos --- */
.contact__form form input,
.contact__form form textarea {
	border: 1px solid #dbe3ec; border-radius: 10px;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.contact__form form input:focus,
.contact__form form textarea:focus {
	border-color: var(--impsr-blue);
	box-shadow: 0 0 0 3px rgba(21,101,160,.14);
	outline: none;
}

/* --- Newsletter del footer --- */
.footer__newslatter form input { border-radius: 10px 0 0 10px; }
.footer__newslatter form button { border-radius: 0 10px 10px 0; transition: filter .18s ease; }
.footer__newslatter form button:hover { filter: brightness(1.08); }

/* --- Ajustes para celular --- */
@media (max-width: 767px) {
	.spad { padding-top: 60px; padding-bottom: 60px; }
	.hero { padding-top: 110px; padding-bottom: 130px; }
	.section-title h2 { font-size: 30px; }
	.home__room__item { margin-right: 0; }
	.services__item { margin-bottom: 20px; }
}

/* ============================================================
   CONTACTO estilo IMPSR (mas delicado) + MAPA mas chico — 10/08
   ============================================================ */

/* Tarjetas claritas para las dos columnas (info + formulario) */
.contact__form,
.contact__widget {
	background: #fff;
	border: 1px solid #eef2f7;
	border-radius: 16px;
	padding: 30px 30px;
	box-shadow: 0 8px 24px rgba(21,101,160,.08);
}
.contact__form h2 { font-weight: 600; margin-bottom: 26px; }

/* Campos suaves y redondeados (antes eran solo una linea inferior dura) */
.contact__form form input,
.contact__form form textarea {
	border: 1px solid #dbe3ec !important;
	border-radius: 10px;
	background: #f8fbff;
	padding: 12px 14px;
	margin-bottom: 18px;
	color: #33414f;
	font-size: 15px;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.contact__form form textarea { min-height: 130px; }
.contact__form form input::placeholder,
.contact__form form textarea::placeholder { color: #9db0c4; }
.contact__form form input:focus,
.contact__form form textarea:focus {
	border-color: var(--impsr-blue) !important;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(21,101,160,.14);
	outline: none;
}

/* Boton: de subrayado tosco a pill IMPSR */
.contact__form form button {
	background: linear-gradient(135deg, var(--impsr-blue) 0%, var(--impsr-blue-dark) 100%) !important;
	color: #fff !important;
	border-radius: 10px;
	padding: 12px 30px !important;
	font-weight: 600;
	box-shadow: 0 6px 16px rgba(21,101,160,.28);
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.contact__form form button::before { display: none !important; }
.contact__form form button:hover {
	filter: brightness(1.07);
	transform: translateY(-2px);
	box-shadow: 0 9px 22px rgba(21,101,160,.36);
	color: #fff !important;
	background: linear-gradient(135deg, var(--impsr-blue) 0%, var(--impsr-blue-dark) 100%) !important;
	padding: 12px 30px !important;
}

/* Mapa: era un bloque de 600px de alto. Lo dejamos chico, contenido y redondeado */
.map {
	height: auto !important;
	max-width: 1100px;
	margin: 0 auto 10px;
	padding: 0 15px;
}
.map iframe {
	height: 300px;
	border-radius: 14px;
	box-shadow: 0 6px 20px rgba(21,101,160,.10);
	display: block;
	border: 0 !important;
}

@media (max-width: 767px) {
	.map iframe { height: 210px; }
	.contact__form, .contact__widget { padding: 22px 18px; }
}

/* ============================================================
   HABITACIONES (habitaciones.php) — fotos que LLENAN la tarjeta 10/08
   Las fotos de habitación llenan una tarjeta 4:3 (recorta un
   poco arriba/abajo = piso y techo), así se ven grandes y no
   "finitas". Para verlas ENTERAS (con margen a los costados):
   cambiá "cover" por "contain" y sumá background-color: #f3f4f6;
   ============================================================ */
.rooms .room__pic__slider .room__pic__item {
	height: auto !important;
	aspect-ratio: 4 / 3;
	background-size: cover !important;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 12px;
}
@media (max-width: 767px) {
	.rooms .room__pic__slider .room__pic__item { aspect-ratio: 16 / 10; }
}
