/* Balneario Chicama: colores de marca y agregados sobre el tema */
/* Turquesa #279FB8 · Oliva #8A8B72 */

/* Fuentes servidas desde el sitio (subconjunto latino de Google Fonts), sin depender de fonts.googleapis.com */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url('../font/inter-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Pacifico';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../font/pacifico-latin.woff2') format('woff2');
}

/* Tipografía: todo en Inter salvo las cursivas (Pacifico).
   Escala pedida por el diseñador: títulos a 28pt y el resto en proporción 3:4. */
:root {
	--ch-sans: 'Inter', 'Helvetica Neue', Arial, sans-serif;
	--ch-t1: 28pt;      /* títulos (h1, h2) */
	--ch-t2: 21pt;      /* subtítulos */
	--ch-t3: 16pt;      /* títulos de tarjeta, bloques y pie */
	--ch-lead: 13.5pt;  /* bajadas */
	--ch-texto: 11.5pt; /* texto corrido */
	--ch-chico: 9.5pt;  /* etiquetas y datos menores */
	--ch-pie: calc(var(--ch-chico) + 2pt); /* texto del pie: 11,5pt */
}

/* Burbuja de WhatsApp */
#bubbleWhatsapp {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #25d366;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s;
}
#bubbleWhatsapp:hover { transform: scale(1.08); }
#bubbleWhatsapp .whatsapp-bubble { width: 38px; height: 38px; fill: #fff; }

/* Íconos de servicios destacados en el inicio */
.chicama-icono {
	display: block;
	width: 110px;
	height: 110px;
	line-height: 110px;
	margin: 0 auto 10px;
	border-radius: 50%;
	background: #279FB8;
	color: #fff;
	font-size: 48px;
	text-align: center;
}
.chicama-icono.oliva { background: #8A8B72; }

/* Mapa de Google */
.chicama-mapa iframe { display: block; width: 100%; height: 450px; border: 0; }

/* Listado de servicios */
.services-list li i.marine-icon-color { color: #279FB8; }
.chicama-bloque h2 { color: #279FB8; }

/* Tipografía manuscrita propia (el Ocean usa Nella Sue) */
.cursive-style,
.cursive-style-blanco,
.tp-caption.cursive-style-blanco { font-family: 'Pacifico', cursive; font-weight: 400; }
.cursive-style-blanco,
.tp-caption.cursive-style-blanco { font-size: 72px; line-height: 1.2; color: #fff; text-shadow: 1px 2px 8px rgba(0, 0, 0, .35); }
h3.cursive-style { font-size: 36px; line-height: 1.3; }

/* Formulario de consultas (form_consulta.asp) */
.chicama-form { text-align: left; }
.chicama-form h3.cursive-style { text-align: center; margin-bottom: 4px; }
.chicama-form-intro { text-align: center; color: #73848e; margin: 0 0 18px; }
.chicama-campo { margin-bottom: 14px; }
.chicama-campo label {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #23323a;
}
.chicama-form input[type=text],
.chicama-form input[type=email],
.chicama-form input[type=tel],
.chicama-form select,
.chicama-form textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 14px;
	border: 1px solid #dae2e7;
	border-radius: 4px;
	background: #fff;
	color: #23323a;
	font-size: 15px;
	line-height: 1.4;
	transition: border-color .2s, box-shadow .2s;
}
.chicama-form select { height: 45px; }
.chicama-form textarea { min-height: 110px; resize: vertical; }
.chicama-form input:focus,
.chicama-form select:focus,
.chicama-form textarea:focus {
	outline: none;
	border-color: #279FB8;
	box-shadow: 0 0 0 3px rgba(39, 159, 184, .18);
}
.chicama-campo-doble { display: flex; gap: 14px; }
.chicama-campo-doble .chicama-campo { flex: 1; min-width: 0; }
.chicama-campo.con-error input,
.chicama-campo.con-error textarea { border-color: #dd6356; }
.chicama-error { display: block; min-height: 0; margin-top: 4px; font-size: 13px; color: #dd6356; }
.chicama-error:empty { display: none; }
.chicama-trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.chicama-form input.chicama-enviar {
	display: block;
	width: 100%;
	height: auto;
	margin-top: 6px;
	padding: 15px 20px;
	border: 0;
	border-radius: 4px;
	background: #279FB8;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s;
}
.chicama-form input.chicama-enviar:hover { background: #1f8aa0; }
.chicama-form input.chicama-enviar:disabled { background: #8A8B72; cursor: wait; }
.chicama-form-estado { margin-top: 12px; font-size: 14px; }
.chicama-form-estado.error { color: #dd6356; }
.chicama-form-alt { margin: 14px 0 0; text-align: center; font-size: 14px; color: #73848e; }
.chicama-form-alt a, .chicama-form-estado a { color: #279FB8; font-weight: 700; }
.chicama-form-ok { padding: 40px 30px; text-align: center; background: #fff; }
.chicama-form-ok .icons { font-size: 56px; color: #279FB8; }
.chicama-form-ok p { color: #23323a; font-size: 16px; }

/* En consultas.asp, caja propia; en el pie del inicio, la caja blanca del tema */
.chicama-form-caja { padding: 30px; border: 1px solid #eceded; border-radius: 6px; background: #fff; box-shadow: 0 6px 24px rgba(11, 43, 51, .06); }
.footer-contact-form > form.chicama-form { position: relative; top: auto; left: auto; right: auto; margin: -140px 0 30px; box-shadow: 0 10px 30px rgba(0, 0, 0, .15); border-radius: 6px; }
.footer-contact-form > .chicama-form-ok { margin: -140px 0 30px; border-radius: 6px; }

@media (max-width: 767px) {
	.chicama-campo-doble { display: block; }
	.footer-contact-form > form.chicama-form,
	.footer-contact-form > .chicama-form-ok { margin: 30px 0; }
	.chicama-form-caja { padding: 20px; }
}

/* Placas de servicios (servicios.asp), con el estilo de las placas de Chicama */
#marine-content-wrapper { overflow-x: hidden; }
.placa {
	position: relative;
	width: 100vw;
	left: 50%;
	margin-left: -50vw;
	padding: 70px 20px 100px;
	text-align: center;
	color: #fff;
}
.placa-turquesa { background: #279FB8; }
.placa-oliva { background: #8A8B72; }
.placa h2 {
	margin: 0 0 12px;
	color: #fff;
	font-family: var(--ch-sans);
	font-size: var(--ch-t1);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.01em;
	text-transform: none;
}
.placa-bajada { max-width: 640px; margin: 0 auto 40px; color: #fff; font-size: var(--ch-lead); line-height: 1.5; opacity: .95; }
.placa-grilla {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
	max-width: 980px;
	margin: 0 auto;
}
.placa-item {
	display: flex;
	flex: 0 0 calc(50% - 9px);
	min-height: 104px;
	text-align: center;
	filter: drop-shadow(0 3px 6px rgba(0, 0, 0, .12));
}
.placa-icono {
	display: flex;
	flex: 0 0 104px;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
	border-radius: 4px;
	color: #fff;
}
.placa-turquesa .placa-icono { background: #8A8B72; }
.placa-oliva .placa-icono { background: #279FB8; }
.placa-icono .chicama-svg { width: 58px; height: 58px; }
.placa-texto {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	padding: 14px 18px;
	border-radius: 4px;
	background: #fff;
}
.placa-texto h3 {
	margin: 0;
	font-family: var(--ch-sans);
	font-size: var(--ch-t3);
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}
.placa-turquesa .placa-texto h3 { color: #5f5f55; }
.placa-oliva .placa-texto h3 { color: #279FB8; }
.placa-texto p { margin: 6px 0 0; color: #23292c; font-size: var(--ch-texto); line-height: 1.35; }
/* Guarda griega al pie de cada placa */
.placa::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 28px;
	height: 26px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M0 23H26M4 23V3H22V17H10V9H16V13' fill='none' stroke='white' stroke-opacity='.4' stroke-width='2.5'/%3E%3C/svg%3E") repeat-x center;
}

@media (max-width: 767px) {
	.placa { padding: 50px 16px 80px; }
	.placa-bajada { margin-bottom: 28px; }
	.placa-item { flex-basis: 100%; min-height: 88px; }
	.placa-icono { flex-basis: 88px; }
	.placa-icono .chicama-svg { width: 48px; height: 48px; }
}
.footer-contact-form > form.chicama-form .chicama-campo { text-align: left; }

/* Mapa Leaflet (mapa.asp) */
#chicamaMapa { height: 450px; background: #f2f2f0; z-index: 0; }
.chicama-pin { background: none; border: 0; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .3)); }
.chicama-popup { min-width: 170px; text-align: center; font-family: var(--ch-sans); }
.chicama-popup img { display: block; margin: 4px auto 8px; }
.chicama-popup p { margin: 0 0 8px !important; color: #23323a; font-size: 13px; line-height: 1.45; }
.chicama-popup a { color: #279FB8; font-weight: 700; }
.chicama-popup a.chicama-popup-btn { display: inline-block; margin-top: 2px; padding: 7px 16px; border-radius: 4px; background: #279FB8; color: #fff; }
.chicama-popup a.chicama-popup-btn:hover { background: #1f8aa0; }
.chicama-mapa .leaflet-container a.leaflet-popup-close-button { color: #8A8B72; }
@media (max-width: 767px) { #chicamaMapa { height: 340px; } }
.chicama-popup a.chicama-popup-btn { font-size: 13px; line-height: 1.3; }
.leaflet-tooltip.chicama-etiqueta {
	padding: 4px 10px;
	border: 0;
	border-radius: 4px;
	background: #279FB8;
	color: #fff;
	font-family: var(--ch-sans);
	font-size: 13px;
	font-weight: 700;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
}
.leaflet-tooltip.chicama-etiqueta::before { border-right-color: #279FB8; }

/* Barra superior (cabecera.asp): turquesa con íconos, distinta a la del Ocean */
#upper-header.chicama-barra { background: #279FB8 !important; color: #fff; }
#upper-header.chicama-barra > .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: auto;
	min-height: 40px;
	padding-top: 0;
	background: transparent;
}
.chicama-barra a { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: 13px; text-decoration: none; opacity: .92; transition: opacity .2s; }
.chicama-barra a:hover { color: #fff; opacity: 1; }
.chicama-barra svg { width: 17px; height: 17px; flex: 0 0 auto; }
.chicama-barra-datos { display: flex; flex-wrap: wrap; gap: 6px 26px; }
.chicama-barra-redes { display: flex; gap: 14px; }
.chicama-barra-redes svg { width: 19px; height: 19px; }
@media (max-width: 767px) {
	#upper-header.chicama-barra > .container { justify-content: center; padding: 8px 16px; }
	.chicama-barra-datos { justify-content: center; }
	.chicama-barra-redes { display: none; }
	.chicama-barra a { font-size: 12px; }
}

/* Slider del inicio: tipografías propias (el Ocean usa Intro Inline + Nella Sue) */
.tp-caption.chicama-slide-script {
	color: #fff;
	font-family: 'Pacifico', cursive;
	font-size: 84px;
	line-height: 1.2;
	white-space: nowrap;
	text-shadow: 0 3px 14px rgba(0, 0, 0, .45);
}
.tp-caption.chicama-slide-titulo {
	color: #fff;
	font-family: var(--ch-sans);
	font-size: 96px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
	text-transform: uppercase;
	white-space: nowrap;
	text-shadow: 0 4px 18px rgba(0, 0, 0, .45);
}
.tp-caption.chicama-slide-bajada {
	padding: 9px 22px;
	border-radius: 3px;
	background: rgba(12, 52, 62, .45);
	color: #fff;
	font-family: var(--ch-sans);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .18em;
	text-transform: uppercase;
	white-space: nowrap;
}
.chicama-slide-btn,
.tp-caption a.chicama-slide-btn {
	display: inline-block;
	padding: 15px 38px;
	border-radius: 40px;
	background: #279FB8;
	color: #fff;
	font-family: var(--ch-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
	transition: background .2s, transform .2s;
}
.chicama-slide-btn:hover,
.tp-caption a.chicama-slide-btn:hover { background: #8A8B72; color: #fff; transform: translateY(-2px); }
/* Centrado vertical fino de los íconos de la barra superior */
.chicama-barra a { line-height: 1; padding: 11px 0; }
.chicama-barra a span { display: inline-block; line-height: 17px; }
.chicama-barra svg { display: block; position: relative; top: -1px; }
/* El tema le da 7px de padding y alto fijo al #upper-header: se anula para centrar */
body #upper-header.chicama-barra { height: auto !important; padding: 0 !important; line-height: 1; }
#upper-header.chicama-barra > .container { min-height: 40px; }
.chicama-barra a { padding: 0; min-height: 40px; }
@media (max-width: 767px) { .chicama-barra a { min-height: 26px; } }

/* Migración a Inter: pisa las familias del tema (Open Sans, Lato, Montserrat...).
   Los íconos van en ::before con su propia fuente, así que no se ven afectados. */
body,
body *:not(.cursive-style):not(.cursive-style-blanco):not(.chicama-slide-script):not(.fa) { font-family: var(--ch-sans); }
body { font-size: var(--ch-texto); }
h1, h2, h3, h4, h5, h6 { letter-spacing: -.01em; }

/* Títulos: 28pt */
h1,
h2,
h2.big,
.placa h2 { font-size: var(--ch-t1); line-height: 1.2; }
/* Título de página interna (Servicios, etc.): más chico para no competir con el logo */
.page-heading.style3 h1 { font-size: var(--ch-t2); line-height: 1.3; }
/* Aire arriba y abajo del logo en la cabecera */
#header:not(.sticky-header) #main-header img.logo { margin: 10px 0; }
/* Subtítulos */
h3.special-text.marine-header5-special-h3,
h3.special-text.services-special-h3 { font-size: var(--ch-t2); line-height: 1.3; }
/* Títulos de tarjeta, bloques y pie */
h3.marine-header4-h3-style1,
.placa-texto h3,
h3.white { font-size: var(--ch-t3); line-height: 1.3; }
/* Bajadas bajo los títulos */
h4,
h6,
h6.marine-header4-h6 { font-size: var(--ch-lead); line-height: 1.45; }
/* Texto corrido */
p { font-size: var(--ch-texto); }
.chicama-campo label,
.project-category,
.breadcrumbs { font-size: var(--ch-chico); }
/* Pie: 2pt más que las etiquetas, a pedido del cliente */
#footer p,
#footer li,
#footer li a,
#footer .iconic-list li a,
.copyright,
.copyright strong { font-size: var(--ch-pie); }
