/*
Theme Name:   Cruise In Galapagos
Theme URI:    https://cruiseingalapagos.com/
Description:  Child theme de GeneratePress para Cruise In Galapagos. Barcos, listados, consultas y WhatsApp sin plugins.
Author:       Harmon 360
Template:     generatepress
Version:      1.0.0
Requires PHP: 7.4
Text Domain:  cig
License:      GNU General Public License v2 or later
*/

/* ===== Fuente Outfit (local, sin Google Fonts) ===== */
@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("assets/fonts/outfit-latin-wght-normal.woff2") format("woff2-variations");
	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;
}
@font-face {
	font-family: "Outfit";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("assets/fonts/outfit-latin-ext-wght-normal.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ===== Variables de marca ===== */
:root {
	--cig-verde: #405c4f;
	--cig-verde-osc: #2c4238;
	--cig-verde-claro: #e6ece8;
	--cig-arena: #f4f1ea;
	--cig-tinta: #1c2622;
	--cig-gris: #55625c;
	--cig-linea: #dfe5e1;
	--cig-rojo: #c8412e;
	--cig-wa: #1f9e57;
	--cig-ancho: 1240px;
	--cig-margen: clamp(20px, 4vw, 40px);
	--cig-radio: 6px;
	--cig-sombra: 0 1px 2px rgba(28, 38, 34, .06), 0 8px 24px rgba(28, 38, 34, .08);
}

/* ===== Base: tipografía y colores ===== */
body,
button,
input,
select,
textarea {
	font-family: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
}
body {
	color: var(--cig-tinta);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
	color: var(--cig-tinta);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.015em;
}
h1 { font-size: clamp(2.2rem, 4.6vw, 3.6rem); }
h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
h3 { font-size: 1.2rem; }
a { color: var(--cig-verde); }
a:hover, a:focus { color: var(--cig-tinta); }
:focus-visible { outline: 2px solid var(--cig-verde); outline-offset: 3px; }
::selection { background: var(--cig-verde); color: #fff; }

.cig-icono { flex: none; display: block; }
.cig-contenedor {
	max-width: var(--cig-ancho);
	margin-inline: auto;
	padding-inline: var(--cig-margen);
}
.cig-centrado { text-align: center; margin-top: 40px; }
.cig-antetitulo {
	margin: 0 0 12px;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--cig-verde);
}

/* ===== Botones ===== */
.cig-boton,
.entry-content .wp-block-button__link,
button,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 26px;
	border: 1px solid var(--cig-verde);
	border-radius: var(--cig-radio);
	background: var(--cig-verde);
	color: #fff;
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .02em;
	text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s;
}
.cig-boton:hover,
.cig-boton:focus,
.entry-content .wp-block-button__link:hover,
button:hover,
input[type="submit"]:hover {
	background: var(--cig-verde-osc);
	border-color: var(--cig-verde-osc);
	color: #fff;
}
.cig-boton--claro { background: #fff; border-color: #fff; color: var(--cig-tinta); }
.cig-boton--claro:hover, .cig-boton--claro:focus { background: var(--cig-arena); border-color: var(--cig-arena); color: var(--cig-tinta); }
.cig-boton--borde { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff; }
.cig-boton--borde:hover, .cig-boton--borde:focus { background: #fff; border-color: #fff; color: var(--cig-tinta); }
.cig-boton--borde-oscuro { background: transparent; color: var(--cig-verde); }
.cig-boton--borde-oscuro:hover, .cig-boton--borde-oscuro:focus { background: var(--cig-verde); color: #fff; }
.cig-boton--whatsapp { width: 100%; background: var(--cig-wa); border-color: var(--cig-wa); }
.cig-boton--whatsapp:hover, .cig-boton--whatsapp:focus { background: #17824a; border-color: #17824a; }
.cig-botones { display: flex; flex-wrap: wrap; gap: 12px; }

/* ===== Header ===== */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	border-bottom: 1px solid var(--cig-linea);
}
.admin-bar .site-header { top: 32px; }
.inside-header { padding-block: 14px; }
.site-logo img { max-height: 64px; width: auto; }
.main-title { font-size: 1.25rem; font-weight: 600; letter-spacing: -.01em; }
.main-title a { color: var(--cig-tinta); }
.main-navigation,
.main-navigation ul ul { background: transparent; }
.main-navigation .main-nav ul li a {
	font-size: .95rem;
	font-weight: 500;
	color: var(--cig-tinta);
	line-height: 64px;
	padding-inline: 16px;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li[class*="current-menu-"] > a { color: var(--cig-verde); }
.main-navigation .main-nav ul ul { background: #fff; box-shadow: var(--cig-sombra); border-radius: var(--cig-radio); }
.main-navigation .main-nav ul ul li a { line-height: 1.4; padding-block: 12px; }
.main-navigation .menu-bar-items { align-items: center; padding-left: 12px; }
.main-navigation .menu-bar-items .cig-boton--header {
	padding: 10px 20px;
	color: #fff;
	line-height: 1.2;
}
.menu-toggle,
button.menu-toggle { background: transparent; border: 0; color: var(--cig-tinta); padding-inline: 12px; }
button.menu-toggle:hover, button.menu-toggle:focus { background: transparent; color: var(--cig-verde); }

/* ===== Header transparente sobre la foto (home, barcos y listados) ===== */
.cig-con-cabecera .site-header {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	background: transparent;
	border-bottom-color: rgba(255, 255, 255, .18);
}
.admin-bar.cig-con-cabecera .site-header { top: 32px; }
.cig-con-cabecera .main-title a,
.cig-con-cabecera .main-navigation .main-nav > ul > li > a,
.cig-con-cabecera .menu-toggle { color: #fff; }
.cig-con-cabecera .main-navigation .main-nav > ul > li > a:hover,
.cig-con-cabecera .main-navigation .main-nav > ul > li[class*="current-menu-"] > a { color: #fff; opacity: .75; }
.cig-con-cabecera .main-navigation .menu-bar-items .cig-boton--header { background: #fff; border-color: #fff; color: var(--cig-tinta); }

/* al bajar: header blanco fijo */
.cig-scroll .cig-con-cabecera .site-header {
	position: fixed;
	background: #fff;
	border-bottom-color: var(--cig-linea);
	box-shadow: 0 2px 16px rgba(28, 38, 34, .08);
	animation: cig-baja .25s ease-out;
}
.cig-scroll .cig-con-cabecera .main-title a,
.cig-scroll .cig-con-cabecera .main-navigation .main-nav > ul > li > a,
.cig-scroll .cig-con-cabecera .menu-toggle { color: var(--cig-tinta); }
.cig-scroll .cig-con-cabecera .main-navigation .main-nav > ul > li > a:hover { color: var(--cig-verde); opacity: 1; }
.cig-scroll .cig-con-cabecera .main-navigation .menu-bar-items .cig-boton--header { background: var(--cig-verde); border-color: var(--cig-verde); color: #fff; }
.cig-scroll .cig-con-cabecera .site-logo img { max-height: 52px; }
@keyframes cig-baja { from { transform: translateY(-100%); } to { transform: none; } }

/* ===== Cabecera con foto (home, ficha y listados) ===== */
.cig-hero,
.cig-cabecera {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: flex-end;
	background: var(--cig-verde-osc);
	color: #fff;
	overflow: hidden;
}
.cig-hero__foto,
.cig-cabecera__foto {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cig-hero::after,
.cig-cabecera::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(20, 30, 26, .45) 0%, rgba(20, 30, 26, .05) 35%, rgba(20, 30, 26, .65) 100%);
}
.cig-hero h1,
.cig-cabecera h1,
.cig-hero .cig-antetitulo,
.cig-cabecera .cig-antetitulo { color: #fff; }

.cig-hero { min-height: min(92vh, 860px); }
.cig-hero__in {
	width: 100%;
	max-width: var(--cig-ancho);
	margin-inline: auto;
	padding: 160px var(--cig-margen) 170px;
}
.cig-hero h1 { max-width: 13ch; margin-bottom: 20px; }
.cig-hero__texto { max-width: 46ch; margin-bottom: 32px; font-size: 1.15rem; font-weight: 300; }

.cig-cabecera { min-height: 520px; }
.cig-cabecera--baja { min-height: 380px; }
.cig-cabecera__in {
	width: 100%;
	max-width: var(--cig-ancho);
	margin-inline: auto;
	padding: 140px var(--cig-margen) 48px;
}
.cig-cabecera h1 { margin: 0; }

/* ===== Migas de pan ===== */
.cig-migas ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	font-size: .85rem;
}
.cig-migas li + li::before { content: "/"; margin-right: 6px; opacity: .6; }
.cig-migas a { color: inherit; text-decoration: none; opacity: .85; }
.cig-migas a:hover { opacity: 1; text-decoration: underline; color: inherit; }

/* ===== Home: atajos con íconos ===== */
.cig-atajos {
	position: relative;
	z-index: 2;
	max-width: var(--cig-ancho);
	margin: -110px auto 0;
	padding-inline: var(--cig-margen);
}
.cig-atajos__lista {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cig-atajo {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 26px 16px 22px;
	background: var(--cig-verde);
	border-radius: var(--cig-radio);
	color: rgba(255, 255, 255, .82);
	text-align: center;
	transition: background-color .2s, transform .2s;
}
.cig-atajo:hover { background: var(--cig-verde-osc); transform: translateY(-3px); }
.cig-atajo .cig-icono { color: #fff; margin-bottom: 14px; }
.cig-atajo__titulo { margin: 0 0 8px; font-size: 1.02rem; color: #fff; }
.cig-atajo__titulo a { color: #fff; text-decoration: none; }
.cig-atajo__titulo a::after { content: ""; position: absolute; inset: 0; }
.cig-atajo p { margin: 0; font-size: .86rem; line-height: 1.45; }

/* ===== Secciones ===== */
.cig-seccion { padding-block: clamp(64px, 9vw, 110px); }
.cig-seccion--arena { background: var(--cig-arena); }
.cig-seccion__cabeza { max-width: 640px; margin: 0 auto 48px; text-align: center; }
.cig-seccion__cabeza h2 { margin-bottom: 14px; }
.cig-seccion__cabeza p:last-child { margin-bottom: 0; color: var(--cig-gris); }

/* ===== Home: charters privados ===== */
.cig-charter { background: var(--cig-arena); margin-top: clamp(64px, 8vw, 96px); }
.cig-charter__in {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: center;
}
.cig-charter__texto p { color: var(--cig-gris); margin-bottom: 28px; }
.cig-charter__puntos { margin: 0; padding: 0; list-style: none; }
.cig-charter__puntos li {
	display: flex;
	gap: 20px;
	padding: 24px 0;
	border-top: 1px solid rgba(64, 92, 79, .2);
}
.cig-charter__puntos li:last-child { border-bottom: 1px solid rgba(64, 92, 79, .2); }
.cig-charter__puntos .cig-icono { color: var(--cig-verde); margin-top: 2px; }
.cig-charter__puntos h3 { margin: 0 0 4px; }
.cig-charter__puntos p { margin: 0; color: var(--cig-gris); font-size: .95rem; }

/* ===== Home: por qué nosotros ===== */
.cig-porque { border-top: 1px solid var(--cig-linea); }
.cig-porque__in {
	display: grid;
	grid-template-columns: 1fr 1.25fr;
	gap: clamp(32px, 6vw, 96px);
	align-items: start;
}
.cig-porque__texto h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); font-weight: 500; }
.cig-porque__texto p { color: var(--cig-gris); }
.cig-porque__lista {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cig-porque__lista .cig-icono { color: var(--cig-verde); margin-bottom: 14px; }
.cig-porque__lista h3 { margin: 0 0 6px; }
.cig-porque__lista p { margin: 0; color: var(--cig-gris); font-size: .95rem; }

/* ===== Tarjetas de barcos ===== */
.cig-grilla {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 28px 24px;
}
.cig-tarjeta {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--cig-linea);
	border-radius: var(--cig-radio);
	overflow: hidden;
	transition: box-shadow .25s, transform .25s;
}
.cig-tarjeta:hover { box-shadow: var(--cig-sombra); transform: translateY(-3px); }
.cig-tarjeta__foto {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--cig-verde-claro);
	overflow: hidden;
}
.cig-tarjeta__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.cig-tarjeta:hover .cig-tarjeta__foto img { transform: scale(1.04); }
.cig-tarjeta__clase,
.cig-tarjeta__descuento {
	position: absolute;
	top: 12px;
	padding: 4px 10px;
	border-radius: 3px;
	font-size: .75rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.cig-tarjeta__clase { left: 12px; background: rgba(255, 255, 255, .94); color: var(--cig-verde-osc); }
.cig-tarjeta__descuento { right: 12px; background: var(--cig-rojo); color: #fff; }
.cig-tarjeta__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 18px 20px 20px;
}
.cig-tarjeta__titulo { margin: 0 0 8px; font-size: 1.2rem; }
.cig-tarjeta__titulo a { color: var(--cig-tinta); text-decoration: none; }
.cig-tarjeta__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.cig-tarjeta__datos {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
	font-size: .85rem;
	color: var(--cig-gris);
}
.cig-tarjeta__datos li { display: flex; align-items: center; gap: 6px; }
.cig-tarjeta__texto {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 16px;
	font-size: .92rem;
	line-height: 1.5;
	color: var(--cig-gris);
}
.cig-tarjeta__pie {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--cig-linea);
}
.cig-tarjeta__ir {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: none;
	font-size: .88rem;
	font-weight: 500;
	color: var(--cig-verde);
}
.cig-tarjeta:hover .cig-tarjeta__ir .cig-icono { transform: translateX(3px); }
.cig-tarjeta__ir .cig-icono { transition: transform .2s; }

/* ===== Precios ===== */
.cig-precio { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; line-height: 1.2; }
.cig-precio__desde { width: 100%; font-size: .78rem; color: var(--cig-gris); }
.cig-precio strong { font-size: 1.1rem; font-weight: 600; color: var(--cig-tinta); }
.cig-precio s { font-size: .85rem; color: var(--cig-gris); }
.cig-precio--grande strong { font-size: 1.9rem; }
.cig-precio__ahorro {
	padding: 2px 8px;
	border-radius: 3px;
	background: var(--cig-rojo);
	color: #fff;
	font-size: .75rem;
	font-weight: 600;
}

/* ===== Listados: filtros ===== */
.cig-listado__texto { max-width: 720px; margin-bottom: 32px; color: var(--cig-gris); font-size: 1.05rem; }
.cig-listado__texto p:last-child { margin-bottom: 0; }
.cig-filtros { margin-bottom: 28px; }
.cig-filtros__fila {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}
.cig-filtros a {
	display: block;
	padding: 8px 16px;
	border: 1px solid var(--cig-linea);
	border-radius: 999px;
	font-size: .9rem;
	color: var(--cig-tinta);
	text-decoration: none;
	transition: border-color .2s, background-color .2s;
}
.cig-filtros a:hover { border-color: var(--cig-verde); color: var(--cig-verde); }
.cig-filtros a[aria-current] { background: var(--cig-verde); border-color: var(--cig-verde); color: #fff; }
.cig-filtros__fila--clases a { padding: 5px 12px; font-size: .82rem; }
.cig-filtros__fila--clases a[aria-current] { background: var(--cig-verde-claro); border-color: var(--cig-verde-claro); color: var(--cig-verde-osc); }
.cig-listado__total { margin: 0 0 16px; font-size: .85rem; color: var(--cig-gris); }

/* ===== Ficha del barco ===== */
.cig-ficha {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
	padding-block: 56px 96px;
}
.cig-ficha__intro { font-size: 1.25rem; font-weight: 300; line-height: 1.55; margin-bottom: 32px; }
.cig-datos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 0 40px;
	border-top: 1px solid var(--cig-linea);
	border-left: 1px solid var(--cig-linea);
}
.cig-datos div { padding: 14px 18px; border-right: 1px solid var(--cig-linea); border-bottom: 1px solid var(--cig-linea); }
.cig-datos dt { margin: 0 0 2px; font-size: .78rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--cig-gris); }
.cig-datos dd { margin: 0; font-weight: 500; }

/* índice de secciones (reemplaza las pestañas) */
.cig-indice {
	position: sticky;
	top: 84px;
	z-index: 5;
	margin: 0 0 40px;
	padding: 10px 0;
	background: #fff;
	border-bottom: 1px solid var(--cig-linea);
}
.admin-bar .cig-indice { top: 116px; }
.cig-indice ul {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}
.cig-indice a {
	display: block;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: .88rem;
	white-space: nowrap;
	color: var(--cig-tinta);
	text-decoration: none;
}
.cig-indice a:hover { background: var(--cig-verde-claro); color: var(--cig-verde-osc); }
.cig-ficha__contenido h2 { scroll-margin-top: 150px; margin: 56px 0 20px; font-size: 1.7rem; }
.cig-ficha__contenido > h2:first-child { margin-top: 0; }

/* precio + botones arriba (solo móvil/tablet) */
.cig-ficha__movil { display: none; }

/* lateral: precio + consulta */
.cig-ficha__lateral { position: sticky; top: 100px; }
.admin-bar .cig-ficha__lateral { top: 132px; }
.cig-reserva {
	padding: 28px;
	background: #fff;
	border: 1px solid var(--cig-linea);
	border-radius: var(--cig-radio);
	box-shadow: var(--cig-sombra);
}
.cig-reserva .cig-precio { margin-bottom: 20px; }
.cig-reserva__o {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 14px;
	font-size: .82rem;
	color: var(--cig-gris);
}
.cig-reserva__o::before,
.cig-reserva__o::after { content: ""; flex: 1; height: 1px; background: var(--cig-linea); }

/* ===== Contenido del editor (bloques nativos, sin clases propias) ===== */
.entry-content table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.entry-content th,
.entry-content td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--cig-linea); text-align: left; vertical-align: top; }
.entry-content tr:nth-child(odd) td { background: #fafbfa; }
.entry-content td:first-child { width: 34%; font-weight: 500; }
.entry-content th { background: var(--cig-verde); color: #fff; font-weight: 500; }
.entry-content .wp-block-table { margin-bottom: 32px; }

/* itinerarios y FAQ: bloque "Detalles" */
.entry-content details {
	margin: 0 0 12px;
	border: 1px solid var(--cig-linea);
	border-radius: var(--cig-radio);
	background: #fff;
}
.entry-content details > summary {
	position: relative;
	padding: 18px 56px 18px 22px;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
}
.entry-content details > summary::-webkit-details-marker { display: none; }
.entry-content details > summary::after {
	content: "";
	position: absolute;
	right: 24px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 2px solid var(--cig-verde);
	border-bottom: 2px solid var(--cig-verde);
	transform: translateY(-70%) rotate(45deg);
	transition: transform .2s;
}
.entry-content details[open] > summary::after { transform: translateY(-30%) rotate(-135deg); }
.entry-content details[open] > summary { border-bottom: 1px solid var(--cig-linea); }
.entry-content details > :not(summary) { margin-inline: 22px; }
.entry-content details > :nth-child(2) { margin-top: 18px; }
.entry-content details > :last-child { margin-bottom: 20px; }

/* listas de incluye / no incluye (solo en la ficha del barco) */
.cig-ficha__contenido ul { padding-left: 0; margin-left: 0; list-style: none; }
.cig-ficha__contenido ul li { position: relative; padding-left: 26px; margin-bottom: 8px; }
.cig-ficha__contenido ul li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .55em;
	width: 12px;
	height: 7px;
	border-left: 2px solid var(--cig-verde);
	border-bottom: 2px solid var(--cig-verde);
	transform: rotate(-45deg);
}
.cig-ficha__contenido ul.cig-lista-no li::before {
	content: "\00d7";
	top: -.05em;
	left: 1px;
	width: auto;
	height: auto;
	border: 0;
	transform: none;
	color: var(--cig-rojo);
	font-size: 1.35em;
	line-height: 1.2;
}
.entry-content .wp-block-gallery { gap: 10px; }
.entry-content .wp-block-gallery img { border-radius: 4px; }
.entry-content blockquote { margin: 32px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--cig-verde); font-style: normal; font-size: 1.1rem; }

/* ===== Formulario de consulta ===== */
.cig-form p { margin: 0 0 14px; }
.cig-form label { display: block; margin-bottom: 5px; font-size: .85rem; font-weight: 500; }
.cig-form input[type="text"],
.cig-form input[type="email"],
.cig-form select,
.cig-form textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--cig-linea);
	border-radius: 4px;
	background: #fff;
	font-size: .95rem;
	color: var(--cig-tinta);
}
.cig-form input:focus,
.cig-form select:focus,
.cig-form textarea:focus { border-color: var(--cig-verde); outline: 0; box-shadow: 0 0 0 3px rgba(64, 92, 79, .15); }
.cig-form__dos { display: grid; grid-template-columns: 1.5fr 1fr; gap: 12px; }
.cig-form__enviar .cig-boton { width: 100%; }
.cig-form__nota { font-size: .78rem; color: var(--cig-gris); }
.cig-form__trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cig-form__aviso { padding: 12px 14px; border-radius: 4px; font-size: .9rem; }
.cig-form__aviso--ok { background: var(--cig-verde-claro); color: var(--cig-verde-osc); }
.cig-form__aviso--error { background: #fbe9e6; color: #8a2a1c; }

/* ===== Páginas y blog (plantillas de GeneratePress) ===== */
body:not(.cig-con-cabecera) .site-content { padding-top: 56px; padding-bottom: 80px; }
.entry-title { font-size: clamp(2rem, 4vw, 3rem); }
.entry-content { font-size: 1.05rem; }
.entry-content > * { max-width: 760px; }
.entry-content > .alignwide { max-width: 1100px; }
.entry-content > .alignfull { max-width: none; }

/* ===== Footer ===== */
.site-footer { background: var(--cig-verde-osc); }
.cig-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--cig-verde-osc);
	color: rgba(255, 255, 255, .8);
}
.cig-footer__fondo {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .35;
	mix-blend-mode: luminosity;
}
.cig-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(44, 66, 56, .6), rgba(44, 66, 56, .92));
}
.cig-footer__in {
	max-width: var(--cig-ancho);
	margin-inline: auto;
	padding: 72px var(--cig-margen) 32px;
	text-align: center;
}
.cig-footer a { color: #fff; text-decoration: none; }
.cig-footer__marca img { max-height: 96px; width: auto; margin-inline: auto; }
.cig-footer__nombre { font-size: 1.5rem; font-weight: 600; }
.cig-footer__menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 28px;
	margin: 28px 0 40px;
	padding: 18px 0;
	list-style: none;
	border-block: 1px solid rgba(255, 255, 255, .2);
}
.cig-footer__menu a:hover { text-decoration: underline; }
.cig-footer__contactos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 14px;
}
.cig-contacto {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 28px 18px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--cig-radio);
	background: rgba(255, 255, 255, .06);
	transition: background-color .2s;
}
.cig-contacto:hover { background: rgba(255, 255, 255, .14); }
.cig-contacto .cig-icono { margin-bottom: 8px; }
.cig-contacto strong { font-weight: 500; font-size: 1.02rem; overflow-wrap: anywhere; }
.cig-contacto span { font-size: .82rem; opacity: .75; }
.cig-footer__base { margin-top: 40px; font-size: .85rem; }
.cig-footer__redes { display: flex; justify-content: center; gap: 20px; margin: 0 0 14px; padding: 0; list-style: none; }
.cig-footer__pagos { margin: 0 0 6px; opacity: .75; }
.cig-footer__copy { margin: 0; opacity: .6; }

/* ===== Botón flotante de WhatsApp ===== */
.cig-whatsapp {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px 12px 14px;
	border-radius: 999px;
	background: var(--cig-wa);
	color: #fff;
	font-size: .92rem;
	font-weight: 500;
	text-decoration: none;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .2);
	transition: transform .2s, background-color .2s;
}
.cig-whatsapp:hover,
.cig-whatsapp:focus { background: #17824a; color: #fff; transform: translateY(-2px); }

/* ===== Responsive: tablet ===== */
@media (max-width: 1100px) {
	.cig-atajos__lista { grid-template-columns: repeat(3, 1fr); }
	.cig-ficha { grid-template-columns: minmax(0, 1fr); }
	.cig-ficha__lateral { position: static; }
	.cig-ficha__movil {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		margin: 0 0 32px;
		padding: 18px 20px;
		background: var(--cig-arena);
		border-radius: var(--cig-radio);
	}
	.cig-ficha__movil .cig-precio strong { font-size: 1.5rem; }
	.cig-ficha__movil .cig-boton { width: auto; padding: 12px 20px; }
	.cig-reserva { max-width: 560px; }
	.cig-datos { grid-template-columns: repeat(2, 1fr); }
}

/* ===== Responsive: móvil ===== */
@media (max-width: 768px) {
	body { font-size: 16px; }
	.site-logo img { max-height: 48px; }
	.main-navigation .main-nav ul li a { line-height: 1.4; padding-block: 14px; }

	/* menú desplegado en móvil: header blanco y texto oscuro */
	.site-header:has(.main-navigation.toggled) { background: #fff; }
	#site-navigation.toggled,
	#mobile-menu-control-wrapper.toggled { background: transparent; }
	.site-header:has(.main-navigation.toggled) .main-title a,
	.site-header:has(.main-navigation.toggled) .menu-toggle,
	.main-navigation.toggled .main-nav > ul > li > a,
	.cig-con-cabecera .main-navigation.toggled .main-nav > ul > li > a { color: var(--cig-tinta); }
	.cig-con-cabecera .site-header:has(.main-navigation.toggled) .menu-bar-items .cig-boton--header { background: var(--cig-verde); border-color: var(--cig-verde); color: #fff; }
	.main-navigation.toggled .main-nav > ul { padding-bottom: 12px; }
	.main-navigation.toggled .main-nav > ul > li { border-top: 1px solid var(--cig-linea); }

	.cig-hero { min-height: 640px; }
	.cig-hero__in { padding: 130px var(--cig-margen) 80px; }
	.cig-hero__texto { font-size: 1.05rem; }
	.cig-atajos { margin-top: 24px; }
	.cig-atajos__lista { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.cig-atajo { padding: 20px 12px 18px; }
	.cig-atajo p { display: none; }
	.cig-charter__in,
	.cig-porque__in { grid-template-columns: 1fr; }
	.cig-porque__lista { gap: 28px 20px; }
	.cig-cabecera { min-height: 420px; }
	.cig-cabecera--baja { min-height: 300px; }
	.cig-cabecera__in { padding: 120px var(--cig-margen) 32px; }
	.cig-indice { top: 72px; }
	.cig-form__dos { grid-template-columns: 1fr; gap: 0; }
	.cig-whatsapp span { display: none; }
	.cig-whatsapp { padding: 14px; }
}

@media (max-width: 782px) {
	.admin-bar .site-header,
	.admin-bar.cig-con-cabecera .site-header { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after { animation: none !important; transition: none !important; }
}
