/* =========================================================
   Punta Caribbean Tours — estilos del tema
   ========================================================= */

:root {
	--pc-azul: #1668b0;
	--pc-azul-oscuro: #0d4a80;
	--pc-azul-pie: #0e63a8;
	--pc-azul-claro: #2e86c1;
	--pc-navy: #13303f;
	--pc-arena: #f7efe3;
	--pc-crema: #fdfaf5;
	--pc-tinta: #22303b;
	--pc-gris: #6b7a86;
	--pc-borde: #e4ebf1;
	--pc-blanco: #fff;

	--pc-display: 'Jost', 'Century Gothic', 'Futura', sans-serif;
	--pc-cuerpo: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	--pc-ancho: 1630px;
	--pc-radio: 6px;
	--pc-sombra: 0 20px 45px -30px rgba(13, 74, 128, .45);
}

/* =========================================================
   Base
   ========================================================= */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: var(--pc-cuerpo);
	font-size: 17px;
	line-height: 1.7;
	color: var(--pc-tinta);
	background: var(--pc-blanco);
	-webkit-font-smoothing: antialiased;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--pc-azul);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1,
h2,
h3,
h4 {
	margin: 0 0 .5em;
	font-family: var(--pc-display);
	font-weight: 700;
	letter-spacing: -.01em;
	color: var(--pc-tinta);
}

:focus-visible {
	outline: 3px solid var(--pc-azul-claro);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.pc-saltar {
	position: absolute;
	left: -9999px;
	z-index: 999;
	padding: 10px 16px;
	background: var(--pc-azul);
	color: #fff;
}

.pc-saltar:focus {
	top: 12px;
	left: 12px;
}

.pc-contenedor {
	width: 100%;
	max-width: var(--pc-ancho);
	margin: 0 auto;
	padding: 0 40px;
}


/* =========================================================
   Botones
   ========================================================= */

.pc-boton {
	display: inline-block;
	padding: 17px 40px;
	border: 0;
	border-radius: 6px;
	font-family: var(--pc-cuerpo);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	transition:
		background .18s ease,
		transform .18s ease,
		box-shadow .18s ease;
}

.pc-boton:hover {
	text-decoration: none;
	transform: translateY(-2px);
}

.pc-boton--primario {
	background: var(--pc-azul);
	color: #fff;
	box-shadow: 0 10px 24px -10px rgba(22, 104, 176, .7);
}

.pc-boton--primario:hover {
	background: var(--pc-azul-oscuro);
	color: #fff;
	box-shadow: 0 14px 30px -12px rgba(13, 74, 128, .8);
}

.pc-boton--secundario {
	background: transparent;
	color: var(--pc-azul);
	border: 2px solid var(--pc-azul);
}

.pc-boton--secundario:hover {
	background: var(--pc-azul);
	color: #fff;
}


/* =========================================================
   Cabecera
   ========================================================= */

.pc-cabecera {
	position: relative;
	z-index: 50;
	background: #fff;
	border-top: 3px solid var(--pc-azul);
}

.pc-cabecera__interior {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	max-width: var(--pc-ancho);
	min-height: 84px;
	margin: 0 auto;
	padding: 0 40px;
}


/* Logo */

.pc-logo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.pc-logo img,
.pc-logo .custom-logo {
	display: block;
	width: auto;
	height: 90px;
	max-height: 90px;
}

.pc-logo__texto {
	font-family: var(--pc-display);
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: .01em;
	color: var(--pc-azul-oscuro);
}


/* Navegación */

.pc-nav {
	display: flex;
	align-items: center;
	gap: 26px;
}

.pc-nav__lista {
	display: flex;
	align-items: center;
	gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-nav__lista li {
	margin: 0;
}

.pc-nav__lista a {
	display: block;
	padding: 6px 0;
	font-family: var(--pc-cuerpo);
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .005em;
	color: #3a4650;
	white-space: nowrap;
	transition: color .15s ease;
}

.pc-nav__lista a:hover,
.pc-nav__lista .current-menu-item > a {
	color: var(--pc-azul);
	text-decoration: none;
}


/* Idioma */

.pc-idioma {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding-left: 6px;
}

.pc-idioma__enlace {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 4px;
	color: #3a4650;
}

.pc-idioma__enlace:hover {
	color: var(--pc-azul);
	text-decoration: none;
}

.pc-idioma__bandera {
	display: inline-flex;
	overflow: hidden;
	border-radius: 2px;
	line-height: 0;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
}

.pc-idioma__texto {
	font-size: 16px;
	color: #3a4650;
}

.pc-idioma__flecha {
	font-size: 11px;
	opacity: .6;
}

.pc-idioma__cambiar {
	position: absolute;
	top: 100%;
	right: 0;
	padding: 8px 16px;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 8px;
	box-shadow: 0 16px 30px -20px rgba(13, 74, 128, .6);
	font-size: 15px;
	color: #3a4650;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-4px);
	transition:
		opacity .15s ease,
		transform .15s ease,
		visibility .15s ease;
}

.pc-idioma:hover .pc-idioma__cambiar {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(4px);
}


/* Menú móvil */

.pc-menu-boton {
	position: relative;
	display: none;
	width: 44px;
	height: 44px;
	margin-left: auto;
	background: none;
	border: 0;
	cursor: pointer;
	position:relative;
	z-index:9999;
}

.pc-menu-boton__barras,
.pc-menu-boton__barras::before,
.pc-menu-boton__barras::after {
	position: absolute;
	left: 11px;
	width: 22px;
	height: 2px;
	background: var(--pc-tinta);
	border-radius: 2px;
	transition:
		transform .2s ease,
		opacity .2s ease;
}

.pc-menu-boton__barras {
	top: 21px;
}

.pc-menu-boton__barras::before,
.pc-menu-boton__barras::after {
	content: '';
	left: 0;
}

.pc-menu-boton__barras::before {
	top: -7px;
}

.pc-menu-boton__barras::after {
	top: 7px;
}

.pc-menu-boton[aria-expanded="true"] .pc-menu-boton__barras {
	background: transparent;
}

.pc-menu-boton[aria-expanded="true"] .pc-menu-boton__barras::before {
	transform: translateY(7px) rotate(45deg);
}

.pc-menu-boton[aria-expanded="true"] .pc-menu-boton__barras::after {
	transform: translateY(-7px) rotate(-45deg);
}


/* =========================================================
   Hero principal
   ========================================================= */

.pc-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 560px;
	padding: 84px 0;
	overflow: hidden;
	background: var(--pc-navy) center / cover no-repeat;
	color: #fff;
}

.pc-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		95deg,
		rgba(11, 40, 58, .55) 0%,
		rgba(11, 40, 58, .28) 48%,
		rgba(11, 40, 58, .05) 100%
	);
}

.pc-hero__interior {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--pc-ancho);
	margin: 0 auto;
	padding: 0 40px;
}

.pc-hero__titulo {
	max-width: 16ch;
	margin: 0 0 20px;
	font-family: var(--pc-display);
	font-size: clamp(2.4rem, 5vw, 3.75rem);
	font-weight: 700;
	line-height: 1.08;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .28);
}

.pc-hero__texto {
	max-width: 480px;
	margin: 0 0 30px;
	font-size: 1.05rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, .95);
}


/* =========================================================
   Cabeceras de sección
   ========================================================= */

.pc-seccion-cabecera {
	margin-bottom: 44px;
	text-align: center;
}

.pc-eyebrow {
	display: block;
	margin-bottom: 10px;
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pc-azul-claro);
}

.pc-titulo {
	margin: 0;
	font-size: clamp(1.9rem, 3.6vw, 2.6rem);
	font-weight: 700;
	line-height: 1.2;
}

.pc-titulo--izq {
	max-width: 16ch;
	text-align: left;
}

.pc-subrayado {
	display: block;
	width: 46px;
	height: 2px;
	margin: 16px auto 0;
	background: var(--pc-tinta);
}

.pc-vacio {
	padding: 28px;
	background: rgba(255, 255, 255, .7);
	border: 1px dashed var(--pc-borde);
	border-radius: var(--pc-radio);
	color: var(--pc-gris);
	text-align: center;
}


/* =========================================================
   Tours
   ========================================================= */

.pc-tours {
	padding: 74px 0 96px;
	background: var(--pc-arena) bottom center / cover no-repeat;
}

.pc-carrusel {
	position: relative;
}

.pc-carrusel__pista {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc(25% - 18px);
	gap: 24px;
	padding: 4px 2px 18px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.pc-carrusel__pista::-webkit-scrollbar {
	display: none;
}

.pc-carrusel__flecha {
	position: absolute;
	top: 42%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	background: rgba(255, 255, 255, .85);
	border: 1px solid rgba(34, 48, 59, .25);
	border-radius: 50%;
	color: var(--pc-tinta);
	cursor: pointer;
	transition: background .18s ease;
}

.pc-carrusel__flecha:hover {
	background: #fff;
}

.pc-carrusel__flecha svg {
	width: 16px;
	height: 16px;
}

.pc-carrusel__flecha--izq {
	left: -18px;
	transform: rotate(180deg);
}

.pc-carrusel__flecha--der {
	right: -18px;
}


/* Tarjeta tour */

.pc-tarjeta {
	overflow: hidden;
	background: #fff;
	border-radius: var(--pc-radio);
	box-shadow: var(--pc-sombra);
	scroll-snap-align: start;
	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.pc-tarjeta:hover {
	transform: translateY(-4px);
	box-shadow: 0 26px 50px -28px rgba(13, 74, 128, .6);
}

.pc-tarjeta__enlace {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 10px 10px 16px;
	color: inherit;
}

.pc-tarjeta__enlace:hover {
	text-decoration: none;
}

.pc-tarjeta__figura {
	margin: 0;
	overflow: hidden;
	background: #dfe7ee;
	border-radius: 3px;
	aspect-ratio: 3 / 2;
}

.pc-tarjeta__figura img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.pc-tarjeta:hover .pc-tarjeta__figura img {
	transform: scale(1.04);
}

.pc-tarjeta__cuerpo {
	flex: 1;
	padding: 14px 8px 0;
	text-align: center;
}

.pc-tarjeta__cuerpo::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	margin: 10px 0 0;
	background: var(--pc-borde);
}

.pc-tarjeta__titulo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 2.6em;
	margin: 0 0 6px;
	font-family: var(--pc-cuerpo);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--pc-tinta);
}

.pc-tarjeta__precio {
	margin: 0;
	font-size: .95rem;
	color: var(--pc-gris);
}

.pc-tarjeta__precio .pc-precio-desde,
.pc-tarjeta__precio .pct-precio-desde {
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.pc-tarjeta__mas {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	margin: 14px auto 0;
	color: var(--pc-gris);
}

.pc-tarjeta__mas svg {
	width: 20px;
	height: 20px;
}


/* =========================================================
   Destacados
   ========================================================= */

.pc-destacados {
	padding: 66px 0 10px;
	background: #fff;
}

.pc-destacados__rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 26px;
}

.pc-destacado {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 260px;
	overflow: hidden;
	background: var(--pc-navy) center / cover no-repeat;
	border-radius: 3px;
	color: #fff;
}

.pc-destacado::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(8, 28, 42, .92) 0%,
		rgba(8, 28, 42, .55) 45%,
		rgba(8, 28, 42, .05) 100%
	);
}

.pc-destacado__contenido {
	position: relative;
	z-index: 2;
	padding: 24px 26px 22px;
}

.pc-destacado__titulo {
	margin: 0 0 8px;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
}

.pc-destacado__titulo a {
	color: inherit;
}

.pc-destacado__texto {
	max-width: 46ch;
	margin: 0 0 14px;
	font-size: .95rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, .88);
}

.pc-destacado__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.pc-tag {
	display: inline-block;
	padding: 7px 14px;
	background: rgba(255, 255, 255, .18);
	border-radius: 3px;
	backdrop-filter: blur(2px);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .04em;
	color: #fff;
}

.pc-tag--azul {
	background: var(--pc-azul);
}


/* =========================================================
   Confianza / Sobre nosotros home
   ========================================================= */

.pc-confianza {
	padding: 74px 0 60px;
	background: #fff;
}

.pc-confianza__rejilla {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 54px;
	align-items: center;
}

.pc-confianza__intro {
	max-width: 42ch;
	margin: 18px 0 26px;
	font-size: 1rem;
	font-style: italic;
	color: var(--pc-gris);
}

.pc-ventajas {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-ventajas li {
	display: grid;
	grid-template-columns: 24px 1fr;
	gap: 14px;
	align-items: start;
	font-size: .98rem;
	line-height: 1.55;
	color: #3c4a55;
}

.pc-ventajas__icono {
	margin-top: 2px;
	color: var(--pc-azul);
}

.pc-ventajas__icono svg {
	display: block;
	width: 18px;
	height: 18px;
}

.pc-confianza__imagen {
	margin: 0;
	overflow: hidden;
	border-radius: 3px;
	aspect-ratio: 4 / 3;
}

.pc-confianza__imagen img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


/* =========================================================
   Beneficios
   ========================================================= */

.pc-beneficios {
	padding: 34px 0 74px;
	background: #fff;
}

.pc-beneficios__caja {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding: 54px 40px 58px;
	overflow: hidden;
	background: var(--pc-navy) center / cover no-repeat;
	border-radius: 3px;
	color: #fff;
	text-align: center;
}

.pc-beneficios__caja::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(11, 35, 48, .82);
}

.pc-beneficio {
	position: relative;
	z-index: 2;
	padding: 0 14px;
}

.pc-beneficio__icono {
	display: block;
	margin-bottom: 14px;
	color: #fff;
}

.pc-beneficio__icono svg {
	width: 42px;
	height: 42px;
	margin: 0 auto;
	stroke-width: 1.3;
}

.pc-beneficio__titulo {
	margin: 0 0 10px;
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.pc-beneficio__texto {
	max-width: 30ch;
	margin: 0 auto;
	font-size: .95rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, .85);
}

@media (min-width: 861px) {
	.pc-beneficio + .pc-beneficio {
		border-left: 1px solid rgba(255, 255, 255, .2);
	}
}


/* =========================================================
   Reseñas
   ========================================================= */

.pc-resenas {
	padding: 20px 0 80px;
	background: #fff;
}

.pc-resenas__intro {
	max-width: 52ch;
	margin: 12px 0 26px;
	font-size: .84rem;
	color: var(--pc-gris);
}

.pc-resenas__barra {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
	padding: 14px 20px;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 10px;
	font-size: .85rem;
}

.pc-estrellas {
	display: inline-flex;
	gap: 2px;
	color: #f5a623;
}

.pc-estrellas svg {
	width: 15px;
	height: 15px;
}

.pc-estrellas--pequenas svg {
	width: 12px;
	height: 12px;
}

.pc-resenas__nota {
	font-weight: 700;
}

.pc-resenas__conteo {
	color: var(--pc-gris);
}

.pc-resenas__rejilla {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.pc-resena {
	padding: 16px 18px 18px;
	border: 1px solid var(--pc-borde);
	border-radius: 10px;
	box-shadow: 0 2px 10px -6px rgba(13, 74, 128, .3);
	font-size: .82rem;
}

.pc-resena__cabecera {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

.pc-resena__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
}

.pc-resena__fecha {
	display: block;
	font-size: .72rem;
	color: var(--pc-gris);
}

.pc-resena p {
	margin: 8px 0 0;
	color: #46545f;
}


/* =========================================================
   Pie
   ========================================================= */

.pc-pie {
	padding-top: 52px;
	background: var(--pc-azul-pie);
	color: rgba(255, 255, 255, .9);
	font-size: .92rem;
}

.pc-pie a {
	color: #fff;
}

.pc-pie__rejilla {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1.2fr 1.2fr;
	gap: 34px;
	padding-bottom: 40px;
}

.pc-pie__marca {
	margin-top: 0;
}

.pc-pie__titulo {
	margin: 0 0 8px;
	font-family: var(--pc-cuerpo);
	font-size: .78rem;
	font-weight: 700;
	color: #fff;
}

.pc-pie__col h3 + h3 {
	margin-top: 18px;
}

.pc-pie__menu {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-pie__redes {
	display: flex;
	gap: 8px;
	margin-top: 18px;
}

.pc-pie__red {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 50%;
	font-size: .8rem;
	font-weight: 600;
}

.pc-pie__red:hover {
	background: #fff;
	color: var(--pc-azul-pie);
	text-decoration: none;
}

.pc-pie__col--sellos .pc-widget {
	margin-bottom: 10px;
	padding: 12px 14px;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 2px 8px -4px rgba(0, 0, 0, .3);
	color: var(--pc-tinta);
}

.pc-pie__legal {
	padding: 14px 0;
	border-top: 1px solid rgba(255, 255, 255, .22);
	font-size: .74rem;
}

.pc-pie__legal p {
	margin: 0;
}


/* =========================================================
   Contenido general
   ========================================================= */

.pc-main--tienda,
.pc-main--pagina {
	padding: 48px 0 72px;
}

.pc-main--pagina {
	padding-top: 44px;
	padding-bottom: 66px;
}

.pc-contenido {
	max-width: 820px;
}

.pc-entrada__titulo {
	font-size: clamp(1.8rem, 4vw, 2.4rem);
}

.pc-entrada__contenido {
	font-size: 1.02rem;
	line-height: 1.75;
	color: #33404a;
}

.pc-entrada__contenido h2 {
	margin: 1.6em 0 .5em;
	font-size: 1.7rem;
}

.pc-entrada__contenido h3 {
	margin: 1.4em 0 .4em;
	font-size: 1.3rem;
}

.pc-entrada__contenido ul,
.pc-entrada__contenido ol {
	margin: 1em 0;
	padding-left: 1.4em;
}

.pc-entrada__contenido li {
	margin: .4em 0;
}

.pc-entrada__contenido a {
	color: var(--pc-azul);
	text-decoration: underline;
}

.pc-entrada__meta {
	margin: 0 0 18px;
	font-size: .85rem;
	color: var(--pc-gris);
}

.pc-entrada__imagen {
	margin: 0 0 24px;
	overflow: hidden;
	border-radius: 8px;
}

.pc-entrada__pie {
	margin-top: 28px;
	padding-top: 18px;
	border-top: 1px solid var(--pc-borde);
	font-size: .85rem;
}


/* Imagen destacada flotante */

.pc-entrada__destacada {
	float: right;
	width: 42%;
	max-width: 440px;
	margin: 6px 0 24px 32px;
	overflow: hidden;
	border-radius: 14px;
	box-shadow: 0 26px 54px -34px rgba(13, 74, 128, .55);
}

.pc-entrada__destacada img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.pc-main--pagina .pc-contenido::after {
	content: '';
	display: table;
	clear: both;
}


/* =========================================================
   Listado de entradas
   ========================================================= */

.pc-lista-entradas {
	display: grid;
	gap: 26px;
}

.pc-entrada-resumen {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 24px;
	align-items: center;
	padding: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 10px;
}

.pc-entrada-resumen__imagen {
	display: block;
	height: 100%;
}

.pc-entrada-resumen__imagen img {
	width: 100%;
	height: 100%;
	min-height: 180px;
	object-fit: cover;
}

.pc-entrada-resumen__cuerpo {
	padding: 20px 24px 22px 0;
}

.pc-entrada-resumen__titulo {
	margin: 0 0 6px;
	font-size: 1.35rem;
}

.pc-entrada-resumen__meta {
	margin: 0 0 8px;
	font-size: .82rem;
	color: var(--pc-gris);
}


/* =========================================================
   Hero interno
   ========================================================= */

.pc-hero-interno {
	position: relative;
	padding: 54px 0 46px;
	overflow: hidden;
	background: var(--pc-navy) center / cover no-repeat;
	color: #fff;
}

.pc-hero-interno::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		100deg,
		rgba(11, 40, 58, .82) 0%,
		rgba(11, 40, 58, .55) 60%,
		rgba(11, 40, 58, .35) 100%
	);
}

.pc-hero-interno--liso {
	background: linear-gradient(
		120deg,
		var(--pc-azul-oscuro),
		var(--pc-azul)
	);
}

.pc-hero-interno--liso::after {
	background: rgba(11, 40, 58, .1);
}

.pc-hero-interno__interior {
	position: relative;
	z-index: 2;
}

.pc-hero-interno__supra {
	margin: 0 0 8px;
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .8);
}

.pc-hero-interno__supra a {
	color: #fff;
}

.pc-hero-interno__titulo {
	max-width: 22ch;
	margin: 0;
	font-family: var(--pc-display);
	font-size: clamp(2rem, 4.4vw, 3rem);
	font-weight: 700;
	line-height: 1.12;
	color: #fff;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .18);
}

.pc-hero-interno__desc {
	max-width: 62ch;
	margin: 12px 0 0;
	font-size: .92rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, .92);
}

.pc-hero-interno__desc p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   Breadcrumbs
   ========================================================= */

.pc-breadcrumbs {
	margin: 0 0 14px;
	font-size: .8rem;
}

.pc-breadcrumbs__lista {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	margin: 0;
	color: rgba(255, 255, 255, .82);
}

.pc-breadcrumbs__item a {
	color: rgba(255, 255, 255, .82);
	transition: color .15s ease;
}

.pc-breadcrumbs__item a:hover {
	color: #fff;
	text-decoration: none;
}

.pc-breadcrumbs__item [aria-current="page"] {
	color: #fff;
	font-weight: 500;
}

.pc-breadcrumbs__sep {
	margin: 0 8px;
	color: rgba(255, 255, 255, .5);
}

.pc-main .pc-breadcrumbs .pc-breadcrumbs__item,
.pc-main .pc-breadcrumbs .pc-breadcrumbs__item a {
	color: var(--pc-gris);
}


/* =========================================================
   Sobre nosotros
   ========================================================= */

.pc-nosotros__intro {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 56px;
	align-items: center;
	padding: 64px 40px;
}

.pc-nosotros__lema {
	margin: 0 0 20px;
	font-size: clamp(1.9rem, 3.6vw, 2.8rem);
	font-weight: 700;
	line-height: 1.15;
	color: var(--pc-tinta);
}

.pc-nosotros__intro-cuerpo {
	font-size: 1.08rem;
	line-height: 1.75;
	color: #3c4a54;
}

.pc-nosotros__intro-imagen {
	margin: 0;
	overflow: hidden;
	border-radius: 14px;
	box-shadow: 0 30px 60px -34px rgba(13, 74, 128, .6);
	aspect-ratio: 4 / 3;
}

.pc-nosotros__intro-imagen img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pc-nosotros__cifras {
	padding: 48px 0;
	background: var(--pc-navy);
	color: #fff;
}

.pc-nosotros__cifras-rejilla {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 28px;
	text-align: center;
}

.pc-cifra__numero {
	display: block;
	font-family: var(--pc-display);
	font-size: clamp(1.9rem, 3.2vw, 2.7rem);
	font-weight: 800;
	line-height: 1;
	color: #fff;
}

.pc-cifra__etiqueta {
	display: block;
	margin-top: 8px;
	font-size: .92rem;
	color: rgba(255, 255, 255, .82);
}

.pc-nosotros__valores {
	padding: 66px 40px;
}

.pc-nosotros__valores-titulo {
	margin-bottom: 40px;
	text-align: center;
}

.pc-nosotros__valores-rejilla {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
}

.pc-valor {
	position: relative;
	padding: 28px 28px 26px;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 12px;
	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.pc-valor:hover {
	transform: translateY(-3px);
	box-shadow: 0 24px 44px -30px rgba(13, 74, 128, .55);
}

.pc-valor__num {
	font-family: var(--pc-display);
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--pc-azul);
	opacity: .35;
}

.pc-valor__titulo {
	margin: 6px 0 8px;
	font-size: 1.2rem;
	font-weight: 700;
}

.pc-valor__texto {
	margin: 0;
	font-size: .98rem;
	line-height: 1.6;
	color: #4b5862;
}

.pc-nosotros__libre {
	padding: 0 40px 56px;
}

.pc-nosotros__cta {
	padding: 60px 0;
	background: var(--pc-arena);
	text-align: center;
}

.pc-nosotros__cta h2 {
	margin: 0 0 22px;
	font-weight: 700;
}


/* =========================================================
   Preguntas frecuentes
   ========================================================= */

.pc-faq__grid {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 48px;
	align-items: start;
	padding: 56px 40px 70px;
}

.pc-faq__intro {
	margin: 0 0 26px;
	font-size: 1.1rem;
	line-height: 1.65;
	color: #3c4a54;
}

.pc-acordeon-faq__item {
	margin-bottom: 12px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 10px;
	transition: box-shadow .18s ease;
}

.pc-acordeon-faq__item[open] {
	box-shadow: 0 14px 30px -22px rgba(13, 74, 128, .5);
}

.pc-acordeon-faq__pregunta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	font-size: 1.08rem;
	font-weight: 600;
	color: var(--pc-tinta);
	cursor: pointer;
	list-style: none;
}

.pc-acordeon-faq__pregunta::-webkit-details-marker {
	display: none;
}

.pc-acordeon-faq__icono {
	position: relative;
	flex: none;
	width: 18px;
	height: 18px;
}

.pc-acordeon-faq__icono::before,
.pc-acordeon-faq__icono::after {
	content: '';
	position: absolute;
	background: var(--pc-azul);
	transition:
		transform .2s ease,
		opacity .2s ease;
}

.pc-acordeon-faq__icono::before {
	top: 8px;
	left: 0;
	width: 18px;
	height: 2px;
}

.pc-acordeon-faq__icono::after {
	top: 0;
	left: 8px;
	width: 2px;
	height: 18px;
}

.pc-acordeon-faq__item[open] .pc-acordeon-faq__icono::after {
	opacity: 0;
	transform: rotate(90deg);
}

.pc-acordeon-faq__respuesta {
	padding: 0 24px 22px;
	font-size: 1rem;
	line-height: 1.7;
	color: #4b5862;
}

.pc-acordeon-faq__respuesta p:first-child {
	margin-top: 0;
}

.pc-faq__tarjeta {
	position: sticky;
	top: 24px;
	display: flex;
	align-items: flex-end;
	min-height: 340px;
	overflow: hidden;
	background: var(--pc-navy) center / cover no-repeat;
	border-radius: 14px;
}

.pc-faq__tarjeta-cont {
	position: relative;
	width: 100%;
	padding: 28px 26px;
	background: linear-gradient(
		to top,
		rgba(11, 40, 58, .92),
		rgba(11, 40, 58, .1)
	);
	color: #fff;
}

.pc-faq__tarjeta-cont h3 {
	margin: 0 0 8px;
	font-size: 1.5rem;
	font-weight: 700;
	color: #fff;
}

.pc-faq__tarjeta-cont p {
	margin: 0 0 18px;
	font-size: .95rem;
	color: rgba(255, 255, 255, .9);
}


/* =========================================================
   Contacto
   ========================================================= */

.pc-contacto__grid {
	display: grid;
	grid-template-columns: 360px 1fr;
	gap: 48px;
	align-items: start;
	padding: 56px 40px 60px;
}

.pc-contacto__intro {
	margin: 0 0 24px;
	font-size: 1.05rem;
	line-height: 1.65;
	color: #3c4a54;
}

.pc-contacto__lista {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pc-contacto__lista li {
	display: grid;
	gap: 3px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--pc-borde);
}

.pc-contacto__eti {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--pc-azul);
}

.pc-contacto__lista a {
	font-size: 1.05rem;
	color: var(--pc-tinta);
}

.pc-contacto__form {
	padding: 34px 36px;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 14px;
	box-shadow: 0 24px 50px -38px rgba(13, 74, 128, .5);
}

.pc-contacto__form-titulo {
	margin: 0 0 22px;
	font-weight: 700;
}

.pc-contacto__aviso {
	padding: 16px 18px;
	background: var(--pc-arena);
	border-radius: 8px;
	font-size: .92rem;
	color: #5c5138;
}


/* Contact Form 7 */

.pc-contacto__form .wpcf7-form-control-wrap {
	display: block;
}

.pc-contacto__form label {
	display: block;
	margin-bottom: 6px;
	font-size: .92rem;
	font-weight: 600;
	color: var(--pc-tinta);
}

.pc-contacto__form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.pc-contacto__form textarea,
.pc-contacto__form select {
	width: 100%;
	margin-bottom: 16px;
	padding: 13px 15px;
	background: #fdfdfd;
	border: 1px solid var(--pc-borde);
	border-radius: 8px;
	font-family: inherit;
	font-size: 1rem;
}

.pc-contacto__form input:focus,
.pc-contacto__form textarea:focus,
.pc-contacto__form select:focus {
	background: #fff;
	border-color: var(--pc-azul);
	outline: none;
	box-shadow: 0 0 0 3px rgba(22, 104, 176, .14);
}

.pc-contacto__form .wpcf7-submit {
	width: auto;
	padding: 15px 40px;
	background: var(--pc-azul);
	border: 0;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition:
		background .18s ease,
		transform .18s ease;
}

.pc-contacto__form .wpcf7-submit:hover {
	background: var(--pc-azul-oscuro);
	transform: translateY(-2px);
}

.pc-contacto__mapa {
	margin-top: 10px;
}

.pc-contacto__mapa iframe {
	display: block;
	width: 100%;
	height: 420px;
	border: 0;
}


/* =========================================================
   CTA final
   ========================================================= */

.pc-cta-final {
	margin-top: 56px;
	padding: 0 40px 20px;
}

.pc-cta-final__caja {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 40px 48px;
	background: linear-gradient(
		120deg,
		var(--pc-azul-oscuro),
		var(--pc-azul)
	);
	border-radius: 18px;
	box-shadow: 0 30px 60px -36px rgba(13, 74, 128, .7);
	color: #fff;
}

.pc-cta-final__texto h2 {
	margin: 0 0 8px;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 700;
	color: #fff;
}

.pc-cta-final__texto p {
	max-width: 60ch;
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, .9);
}

.pc-cta-final .pc-boton--primario {
	flex: none;
	background: #fff;
	color: var(--pc-azul-oscuro);
	box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .35);
}

.pc-cta-final .pc-boton--primario:hover {
	background: var(--pc-arena);
	color: var(--pc-azul-oscuro);
}


/* =========================================================
   WooCommerce — General
   ========================================================= */

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 1.4rem;
	color: var(--pc-azul-oscuro);
}

.woocommerce div.product .product_title {
	font-family: var(--pc-display);
	font-size: clamp(1.7rem, 4vw, 2.3rem);
	font-weight: 500;
}

.woocommerce .woocommerce-products-header__title,
.woocommerce-page h1.entry-title {
	font-family: var(--pc-display);
	font-size: clamp(1.8rem, 4vw, 2.4rem);
	font-weight: 700;
}


/* =========================================================
   WooCommerce — Catálogo de excursiones
   ========================================================= */

.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products.columns-3,
.woocommerce-page ul.products.columns-3 {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	clear: both;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	display: none !important;
	content: none !important;
}


/* Tarjeta */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products.columns-3 li.product,
.woocommerce-page ul.products.columns-3 li.product {
	position: relative;
	float: none !important;
	clear: none !important;
	display: flex;
	flex-direction: column;
	width: 100% !important;
	max-width: none !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 0 22px !important;
	background: #fff;
	border: 1px solid rgba(19, 48, 63, .08);
	border-radius: 16px;
	box-shadow:
		0 5px 16px rgba(13, 74, 128, .04),
		0 24px 45px -34px rgba(13, 74, 128, .45);
	text-align: center;
	overflow: hidden;
	transition:
		transform .22s ease,
		box-shadow .22s ease,
		border-color .22s ease;
}

.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.first,
.woocommerce-page ul.products li.product.last {
	float: none !important;
	clear: none !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-6px);
	border-color: rgba(22, 104, 176, .2);
	box-shadow:
		0 8px 22px rgba(13, 74, 128, .07),
		0 32px 58px -32px rgba(13, 74, 128, .45);
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: flex;
	flex: 1;
	flex-direction: column;
	width: 100%;
	color: inherit;
	text-decoration: none;
	overflow: hidden;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__link:hover {
	text-decoration: none;
}

.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
	display: block;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border-radius: 0 !important;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: center;
	background: #e9eef2;
	transition:
		transform .45s ease,
		filter .3s ease;
}

.woocommerce ul.products li.product:hover img {
	transform: scale(1.04);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 82px;
	margin: 0 !important;
	padding: 22px 24px 8px !important;
	font-family: var(--pc-cuerpo);
	font-size: 1.08rem !important;
	font-weight: 700 !important;
	line-height: 1.4;
	letter-spacing: -.015em;
	color: var(--pc-tinta);
	text-align: center;
	transition: color .18s ease;
}

.woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
	color: var(--pc-azul-oscuro);
}

.woocommerce ul.products li.product .star-rating,
.woocommerce-page ul.products li.product .star-rating {
	float: none !important;
	width: 5.4em;
	height: 1em;
	margin: 3px auto 11px !important;
	font-size: 15px;
	color: #f5a623;
}

.woocommerce ul.products li.product .star-rating::before {
	color: #d8e0e5;
}

.woocommerce ul.products li.product .star-rating span::before {
	color: #f5a623;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 3px;
	margin: 0 !important;
	padding: 0 20px 20px;
	font-family: var(--pc-cuerpo);
	font-size: 1.18rem !important;
	font-weight: 800 !important;
	line-height: 1.2;
	color: var(--pc-azul-oscuro) !important;
}

.woocommerce ul.products li.product
.price .woocommerce-Price-amount {
	font-weight: 800;
	color: var(--pc-azul-oscuro);
}

.woocommerce ul.products li.product
.price .woocommerce-Price-currencySymbol {
	margin-right: 2px;
	font-size: .82em;
	font-weight: 700;
}

.woocommerce ul.products li.product .price del {
	margin-right: 5px;
	font-size: .82em;
	color: var(--pc-gris);
	opacity: .65;
}

.woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: calc(100% - 44px);
	min-height: 50px;
	margin: auto 22px 0 !important;
	padding: 14px 20px !important;
	background: var(--pc-azul) !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-family: var(--pc-cuerpo);
	font-size: .82rem !important;
	font-weight: 700 !important;
	line-height: 1.2;
	letter-spacing: .055em;
	text-transform: uppercase;
	color: #fff !important;
	box-shadow:
		0 11px 24px -16px rgba(22, 104, 176, .75);
	cursor: pointer;
	transition:
		background .18s ease,
		transform .18s ease,
		box-shadow .18s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover {
	background: var(--pc-azul-oscuro) !important;
	color: #fff !important;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow:
		0 15px 28px -16px rgba(13, 74, 128, .75);
}

.woocommerce ul.products li.product .button:active {
	transform: translateY(0);
}

.woocommerce ul.products li.product .button.loading {
	padding-right: 42px !important;
	opacity: .8;
}

.woocommerce ul.products li.product .button.added {
	background: var(--pc-azul-oscuro) !important;
}

.woocommerce ul.products li.product .added_to_cart {
	display: block;
	margin: 10px 22px 0;
	font-size: .82rem;
	font-weight: 700;
	color: var(--pc-azul);
}

.woocommerce ul.products li.product .onsale {
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	z-index: 3;
	min-width: auto;
	min-height: auto;
	margin: 0 !important;
	padding: 7px 12px;
	background: var(--pc-azul);
	border-radius: 30px;
	font-size: .72rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff;
}

.woocommerce .woocommerce-result-count {
	margin: 8px 0 30px;
	font-size: .9rem;
	color: var(--pc-gris);
}

.woocommerce .woocommerce-ordering {
	margin: 0 0 30px;
}

.woocommerce .woocommerce-ordering select {
	min-height: 44px;
	padding: 9px 40px 9px 14px;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 8px;
	font-family: var(--pc-cuerpo);
	font-size: .9rem;
	color: var(--pc-tinta);
	outline: none;
	cursor: pointer;
}

.woocommerce .woocommerce-ordering select:focus {
	border-color: var(--pc-azul);
	box-shadow:
		0 0 0 3px rgba(22, 104, 176, .12);
}

.woocommerce nav.woocommerce-pagination {
	margin-top: 50px;
}

.woocommerce nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 0;
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 10px !important;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 8px;
	font-size: .9rem;
	font-weight: 600;
	color: var(--pc-tinta);
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--pc-arena);
	border-color: var(--pc-azul);
	color: var(--pc-azul);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--pc-azul);
	border-color: var(--pc-azul);
	color: #fff;
}


/* WooCommerce — botones generales */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-block;
	padding: 15px 34px;
	background: var(--pc-azul);
	border: 0;
	border-radius: 6px;
	font-family: var(--pc-cuerpo);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #fff;
	transition:
		background .18s ease,
		transform .18s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--pc-azul-oscuro);
	color: #fff;
	transform: translateY(-2px);
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	display: flex !important;
	padding: 14px 20px !important;
	border-radius: 8px !important;
	font-size: .82rem !important;
	font-weight: 700 !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce #place_order {
	padding: 16px 38px;
	background: var(--pc-azul);
	border-radius: 4px;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce #place_order:hover {
	background: var(--pc-azul-oscuro);
}


/* Catálogo responsive */

@media (max-width: 1100px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 26px 22px;
	}

	.woocommerce ul.products li.product
	.woocommerce-loop-product__title {
		padding-right: 18px !important;
		padding-left: 18px !important;
		font-size: 1rem !important;
	}
}

@media (max-width: 900px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 26px;
	}

	.woocommerce ul.products li.product
	.woocommerce-loop-product__title {
		min-height: 72px;
	}
}

@media (max-width: 600px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-3,
	.woocommerce-page ul.products.columns-3 {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product {
		width: 100% !important;
		max-width: 480px;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.woocommerce ul.products li.product img {
		aspect-ratio: 16 / 10;
	}

	.woocommerce ul.products li.product
	.woocommerce-loop-product__title {
		min-height: auto;
		padding: 20px 20px 8px !important;
		font-size: 1.06rem !important;
	}

	.woocommerce ul.products li.product .price {
		padding-bottom: 17px;
	}

	.woocommerce ul.products li.product .button {
		width: calc(100% - 36px);
		margin-right: 18px !important;
		margin-left: 18px !important;
	}
}

@media (max-width: 380px) {
	.woocommerce ul.products li.product
	.woocommerce-loop-product__title {
		font-size: 1rem !important;
	}

	.woocommerce ul.products li.product .button {
		font-size: .76rem !important;
	}
}


/* Formularios WooCommerce */

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection {
	min-height: 48px;
	padding: 13px 15px;
	background: #fdfdfd;
	border: 1px solid var(--pc-borde);
	border-radius: 8px;
	font-size: 1rem;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	background: #fff;
	border-color: var(--pc-azul);
	outline: none;
	box-shadow: 0 0 0 3px rgba(22, 104, 176, .14);
}

.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
	border-top-color: var(--pc-azul);
}

.woocommerce .woocommerce-info::before {
	color: var(--pc-azul);
}


/* =========================================================
   WooCommerce — carrito clásico
   ========================================================= */

.woocommerce-cart .pc-main,
.woocommerce-checkout .pc-main,
.woocommerce-account .pc-main {
	padding-top: 40px;
}

.woocommerce-cart .pc-main--tienda,
.woocommerce-checkout .pc-main--tienda,
.woocommerce-account .pc-main--tienda {
	padding-bottom: 70px;
}

.woocommerce table.shop_table {
	border-color: var(--pc-borde);
	border-radius: 8px;
}

.woocommerce table.shop_table th {
	font-family: var(--pc-cuerpo);
	color: var(--pc-tinta);
}

.woocommerce-cart table.shop_table {
	overflow: hidden;
	border: 1px solid var(--pc-borde);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 12px;
	box-shadow: 0 20px 44px -34px rgba(13, 74, 128, .4);
}

.woocommerce-cart table.shop_table thead th {
	padding: 16px 18px;
	background: var(--pc-navy);
	border: 0;
	font-family: var(--pc-cuerpo);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff;
}

.woocommerce-cart table.shop_table td {
	padding: 18px;
	border-top: 1px solid var(--pc-borde);
	vertical-align: middle;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
	width: 76px;
	height: 60px;
	border-radius: 8px;
	object-fit: cover;
}

.woocommerce-cart table.shop_table .product-name a {
	font-weight: 600;
	color: var(--pc-tinta);
}

.woocommerce-cart table.shop_table .product-name a:hover {
	color: var(--pc-azul);
}

/* Datos de reserva del carrito clásico en dos columnas */
.woocommerce-cart .shop_table dl.variation,
.woocommerce table.shop_table dl.variation {
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: 14px;
	row-gap: 4px;
	margin: 12px 0 0;
	font-size: .88rem;
	line-height: 1.4;
	color: var(--pc-gris);
}

.woocommerce-cart .shop_table dl.variation dt,
.woocommerce table.shop_table dl.variation dt {
	font-weight: 700;
	color: var(--pc-tinta);
	margin: 0;
	float: none;
	clear: none;
}

.woocommerce-cart .shop_table dl.variation dd,
.woocommerce table.shop_table dl.variation dd {
	margin: 0;
	color: var(--pc-gris);
}

.woocommerce-cart .shop_table dl.variation dd p,
.woocommerce table.shop_table dl.variation dd p {
	margin: 0;
}

.woocommerce-cart .actions {
	padding: 16px 18px;
	background: var(--pc-arena);
}

.woocommerce-cart .coupon input#coupon_code {
	min-width: 180px;
	padding: 12px 14px;
	border: 1px solid var(--pc-borde);
	border-radius: 6px;
}


/* Totales */

.cart_totals {
	padding: 26px 28px;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 12px;
	box-shadow: 0 20px 44px -34px rgba(13, 74, 128, .4);
}

.cart_totals h2 {
	margin-top: 0;
	font-weight: 700;
}

.cart_totals table {
	border: 0;
}

.cart_totals table th,
.cart_totals table td {
	padding: 12px 0;
	border-top: 1px solid var(--pc-borde);
}

.cart_totals .order-total .amount {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--pc-azul-oscuro);
}

.cart_totals .wc-proceed-to-checkout {
	padding-top: 18px;
}

.cart_totals .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	padding: 18px;
	font-size: 16px;
	text-align: center;
}


/* =========================================================
   WooCommerce — Checkout clásico
   ========================================================= */

.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-account h2 {
	font-family: var(--pc-display);
	font-weight: 500;
}

.woocommerce #payment,
.woocommerce-checkout #order_review {
	border-radius: 8px;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
	margin-bottom: 24px;
	padding: 28px 30px;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 12px;
	box-shadow: 0 20px 44px -34px rgba(13, 74, 128, .4);
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
	margin: 0 0 18px;
	font-family: var(--pc-display);
	font-size: 1.5rem;
	font-weight: 700;
}

.woocommerce-checkout form .form-row label {
	margin-bottom: 6px;
	font-size: .9rem;
	font-weight: 600;
	color: var(--pc-tinta);
}

.woocommerce-checkout #order_review table.shop_table {
	border: 0;
}

.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	padding: 12px 0;
	border-top: 1px solid var(--pc-borde);
}

.woocommerce-checkout #order_review .order-total .amount {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--pc-azul-oscuro);
}

/* Datos de reserva en el resumen del checkout clásico */
.woocommerce-checkout #order_review dl.variation {
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: 10px;
	row-gap: 2px;
	font-size: .8rem;
	margin: 6px 0 0;
}

.woocommerce-checkout #order_review dl.variation dt {
	font-weight: 700;
	margin: 0;
}

.woocommerce-checkout #order_review dl.variation dd {
	margin: 0;
	color: var(--pc-gris);
}

.woocommerce-checkout #order_review dl.variation dd p {
	margin: 0;
}

/* Cabecera Product / Subtotal del resumen */
.woocommerce-checkout #order_review table.shop_table thead th {
	padding: 0 0 12px;
	background: transparent;
	border: 0;
	border-bottom: 2px solid var(--pc-borde);
	font-family: var(--pc-cuerpo);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--pc-tinta);
}

/* Nombre del producto en el resumen */
.woocommerce-checkout #order_review .cart_item .product-name {
	font-weight: 700;
	color: var(--pc-tinta);
	line-height: 1.35;
}

.woocommerce-checkout #order_review .cart_item .product-total {
	font-weight: 700;
	color: var(--pc-tinta);
	white-space: nowrap;
	vertical-align: top;
}

/* Subtotal y total con más aire */
.woocommerce-checkout #order_review .cart-subtotal th,
.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
	padding: 14px 0;
	font-size: 1rem;
}

.woocommerce-checkout #order_review .order-total th {
	font-family: var(--pc-display);
	font-weight: 700;
}


/* Pago */

.woocommerce-checkout #payment {
	margin-top: 16px;
	padding: 20px 22px 22px;
	background: var(--pc-arena);
	border-radius: 12px;
	border: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

/* Cada método de pago como una tarjeta */
.woocommerce-checkout #payment ul.payment_methods li {
	margin: 0 0 10px;
	padding: 0;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 10px;
	list-style: none;
	overflow: hidden;
	transition: border-color .16s ease, box-shadow .16s ease;
}

/* Fila del radio + etiqueta, alineados verticalmente al centro */
.woocommerce-checkout #payment ul.payment_methods li > label,
.woocommerce-checkout #payment ul.payment_methods li > input + label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 15px 16px;
	font-size: .95rem;
	font-weight: 600;
	color: var(--pc-tinta);
	cursor: pointer;
	line-height: 1.3;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	flex: none;
	accent-color: var(--pc-azul);
	cursor: pointer;
}

/* Logo (CardNet) alineado a la derecha de la etiqueta */
.woocommerce-checkout #payment ul.payment_methods li img {
	max-height: 24px;
	width: auto;
	margin: 0 0 0 auto;
	vertical-align: middle;
}

/* Método seleccionado: se resalta */
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
	border-color: var(--pc-azul);
	box-shadow: 0 0 0 2px rgba(22, 104, 176, .12);
}

/* Caja de descripción del método (aparece bajo la etiqueta) */
.woocommerce-checkout #payment div.payment_box {
	margin: 0;
	padding: 14px 16px 16px;
	background: #f7fafd;
	border-top: 1px solid var(--pc-borde);
	border-radius: 0;
	font-size: .88rem;
	line-height: 1.5;
	color: var(--pc-gris);
}

.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

.woocommerce-checkout #payment div.payment_box p {
	margin: 0;
}

/* Aviso de privacidad */
.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
	margin: 16px 2px 0;
	font-size: .82rem;
	line-height: 1.5;
	color: var(--pc-gris);
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text p {
	margin: 0;
}

/* Botón final: bloque propio, ancho completo, sin encimarse */
.woocommerce-checkout #payment .place-order {
	margin-top: 18px;
	padding: 0;
}

.woocommerce-checkout #place_order {
	display: block;
	width: 100%;
	padding: 17px;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-align: center;
}

/* Sello de compra segura: debajo del botón, centrado, sin solaparse */
.pc-checkout-seguro {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 14px 0 0;
	padding: 0;
	font-size: .82rem;
	line-height: 1.3;
	text-align: center;
	color: var(--pc-gris);
}

.pc-checkout-seguro svg {
	flex: none;
}

.woocommerce-checkout .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
	border-top-width: 3px;
	border-radius: 8px;
}

/* Nota de conversión CardNet */
.cardnet-dollar-price {
	margin-top: 6px;
	color: var(--pc-gris);
}


/* Checkout desktop — dos columnas: datos (izq) + resumen (der) */

@media (min-width: 981px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: 1fr 400px;
		gap: 40px;
		align-items: start;
	}

	.woocommerce-checkout #customer_details {
		grid-column: 1;
		width: 100% !important;
		float: none !important;
	}

	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout #order_review {
		grid-column: 2;
		width: 100% !important;
		float: none !important;
	}

	.woocommerce-checkout #order_review_heading {
		margin-top: 0;
	}

	.woocommerce-checkout #order_review {
		position: sticky;
		top: 24px;
	}

	/* El col2-set interno de WooCommerce se apila (Billing arriba,
	   Additional debajo) para no romper la rejilla de dos columnas */
	.woocommerce-checkout #customer_details .col2-set {
		display: block !important;
		width: 100% !important;
	}

	.woocommerce-checkout #customer_details .col2-set .col-1,
	.woocommerce-checkout #customer_details .col2-set .col-2 {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 0 24px !important;
		padding: 0 !important;
	}

	.woocommerce-checkout #customer_details .col2-set .col-2 {
		margin-bottom: 0 !important;
	}
}


/* =========================================================
   Pedido recibido
   ========================================================= */

.woocommerce-order {
	margin: 46px auto 70px;
}

.woocommerce-notice--success,
.woocommerce-thankyou-order-received {
	margin-bottom: 28px;
	padding: 20px 24px;
	background: #e9f7ef;
	border: 1px solid #9ad9b7;
	border-left: 5px solid #2f7a4f;
	border-radius: 10px;
	font-size: 1.15rem;
	font-weight: 600;
	color: #1c5637;
}

.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 0;
	margin: 0 0 34px;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--pc-borde);
	border-radius: 12px;
	box-shadow: 0 20px 44px -34px rgba(13, 74, 128, .4);
	list-style: none;
}

.woocommerce-order-overview li {
	margin: 0;
	padding: 18px 20px;
	border-right: 1px solid var(--pc-borde);
	border-bottom: 1px solid var(--pc-borde);
	font-size: .78rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--pc-gris);
}

.woocommerce-order-overview li strong {
	display: block;
	margin-top: 6px;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--pc-tinta);
}

.woocommerce-order-details__title,
.woocommerce-column__title {
	margin: 34px 0 16px;
	font-family: var(--pc-display);
	font-size: 1.5rem;
	font-weight: 700;
}

.woocommerce-table--order-details {
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--pc-borde);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 12px;
	box-shadow: 0 20px 44px -34px rgba(13, 74, 128, .4);
}

.woocommerce-table--order-details thead th {
	padding: 15px 18px;
	background: var(--pc-navy);
	font-family: var(--pc-cuerpo);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: left;
	color: #fff;
}

.woocommerce-table--order-details td,
.woocommerce-table--order-details tfoot th {
	padding: 14px 18px;
	border-top: 1px solid var(--pc-borde);
}

.woocommerce-table--order-details .product-name a {
	font-weight: 600;
	color: var(--pc-tinta);
}

.woocommerce-table--order-details .product-name a:hover {
	color: var(--pc-azul);
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td {
	font-size: 1.15rem;
	font-weight: 800;
	color: var(--pc-azul-oscuro);
}

.woocommerce-customer-details address {
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--pc-borde);
	border-radius: 12px;
	box-shadow: 0 20px 44px -34px rgba(13, 74, 128, .4);
	font-style: normal;
	line-height: 1.7;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
	margin: 8px 0 0;
	color: var(--pc-gris);
}


/* =========================================================
   Logo posicionado en cabecera
   ========================================================= */

.pc-cabecera .custom-logo-link {
    position: absolute;
    background: #FFF;
    width: 190px;
    margin-top: 80px;
    padding: 0 20px 20px;
    overflow: hidden;
    border-radius: 0 0 15px 15px;
	z-index:9999;
}


/* =========================================================
   Responsive general
   ========================================================= */

@media (max-width: 1180px) {
	.pc-carrusel__flecha--izq {
		left: 2px;
	}

	.pc-carrusel__flecha--der {
		right: 2px;
	}
}

@media (max-width: 1024px) {
	.pc-carrusel__pista {
		grid-auto-columns: calc(33.333% - 16px);
	}

	.pc-pie__rejilla {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 980px) {
	.woocommerce-checkout #order_review,
	.woocommerce-checkout .woocommerce-billing-fields {
		padding: 22px 20px;
	}
}

@media (max-width: 900px) {
	.pc-menu-boton {
		display: block;
	}

	.pc-logo img,
	.pc-logo .custom-logo {
		height: 60px;
		max-height: 60px;
	}

	.pc-nav {
		position: absolute;
		top: 100%;
		right: 16px;
		left: 16px;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px 6px 12px;
		background: #fff;
		border: 1px solid var(--pc-borde);
		border-radius: var(--pc-radio);
		box-shadow: 0 24px 40px -24px rgba(0, 0, 0, .45);
	}

	.pc-nav.esta-abierto {
		display: flex;
	}

	.pc-nav__lista {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.pc-nav__lista a {
		display: block;
		padding: 12px 16px;
		border-bottom: 1px solid #f2f5f7;
	}

	.pc-idioma {
		padding: 12px 16px 4px;
	}

	.pc-idioma__cambiar {
		display: none;
	}

	.pc-carrusel__pista {
		grid-auto-columns: calc(50% - 12px);
	}

	.pc-confianza__rejilla,
	.pc-nosotros__intro,
	.pc-faq__grid,
	.pc-contacto__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.pc-confianza__rejilla {
		gap: 30px;
	}

	.pc-nosotros__intro-imagen {
		order: -1;
	}

	.pc-nosotros__cifras-rejilla {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	.pc-nosotros__valores-rejilla {
		grid-template-columns: 1fr;
	}

	.pc-faq__tarjeta {
		position: static;
	}

	.pc-titulo--izq {
		max-width: none;
	}

	.pc-beneficios__caja {
		grid-template-columns: 1fr;
		gap: 34px;
		padding: 40px 24px;
	}

	.pc-hero {
		min-height: 420px;
		padding: 64px 0;
	}
}

@media (max-width: 720px) {
	.pc-entrada__destacada {
		float: none;
		width: 100%;
		max-width: none;
		margin: 0 0 24px;
	}

	.pc-cta-final {
		padding: 0 20px 10px;
	}

	.pc-cta-final__caja {
		flex-direction: column;
		align-items: flex-start;
		padding: 30px 26px;
		text-align: left;
	}

	.woocommerce-order-overview {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 680px) {
	.pc-hero-interno {
		padding: 40px 0 34px;
	}

	.pc-entrada-resumen {
		grid-template-columns: 1fr;
	}

	.pc-entrada-resumen__imagen img {
		min-height: 200px;
	}

	.pc-entrada-resumen__cuerpo {
		padding: 0 22px 24px;
	}
}

@media (max-width: 640px) {
	.pc-contenedor,
	.pc-hero__interior,
	.pc-cabecera__interior,
	.pc-hero-interno__interior {
		padding-left: 20px;
		padding-right: 20px;
	}

	.pc-boton {
		padding: 15px 28px;
		font-size: 14px;
	}

	.pc-nosotros__intro,
	.pc-nosotros__valores,
	.pc-faq__grid,
	.pc-contacto__grid {
		padding-left: 20px;
		padding-right: 20px;
	}

	.pc-contacto__form {
		padding: 24px 22px;
	}
}

@media (max-width: 560px) {
	.pc-cabecera__interior {
		min-height: 60px;
		padding-right: 16px;
		padding-left: 16px;
	}

	.pc-cabecera .custom-logo-link{
		width: 125px;
    	margin-top: 60px;
    	padding: 0 10px 10px;
	}

	.pc-logo img,
	.pc-logo .custom-logo {
		height: 50px;
		max-height: 50px;
	}

	.pc-hero {
		min-height: 380px;
		padding: 52px 0;
	}

	.pc-hero__titulo {
		font-size: clamp(1.8rem, 8vw, 2.4rem);
	}

	.pc-carrusel__pista {
		grid-auto-columns: 82%;
	}

	.pc-pie__rejilla {
		grid-template-columns: 1fr;
	}

	.woocommerce-order-overview {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   Accesibilidad
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}


/* =========================================================
   Mobile UX / UI refinado
   ========================================================= */

.pc-cabecera {
	position: relative;
	z-index: 100;
	background: #fff;
	border-top: 4px solid var(--pc-azul);
	box-shadow: 0 1px 0 rgba(19, 48, 63, .06);
}

.pc-cabecera__interior {
	min-height: 86px;
}

.pc-logo {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.pc-logo .custom-logo-link {
	display: flex;
	align-items: center;
	line-height: 0;
}

.pc-logo .custom-logo {
	display: block;
	width: auto;
	height: 82px;
	max-height: 82px;
	margin: 0;
	object-fit: contain;
}

.pc-hero {
	min-height: 590px;
	background-position: center center;
}

.pc-hero::after {
	background:
		linear-gradient(
			90deg,
			rgba(8, 36, 48, .75) 0%,
			rgba(8, 36, 48, .58) 38%,
			rgba(8, 36, 48, .22) 72%,
			rgba(8, 36, 48, .12) 100%
		);
}

.pc-hero__titulo {
	max-width: 700px;
	margin-bottom: 22px;
	font-size: clamp(2.8rem, 5vw, 4.3rem);
	line-height: 1.03;
	letter-spacing: -.035em;
}

.pc-hero__texto {
	max-width: 650px;
	margin-bottom: 34px;
	font-size: 1.08rem;
	line-height: 1.65;
}

.pc-hero .pc-boton {
	min-width: 245px;
	text-align: center;
}

.pc-tours {
	padding-top: 82px;
	padding-bottom: 92px;
}

.pc-seccion-cabecera {
	margin-bottom: 42px;
}

.pc-eyebrow {
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .22em;
}

.pc-subrayado {
	width: 58px;
	height: 3px;
	border-radius: 10px;
}

.pc-tarjeta {
	border: 1px solid rgba(19, 48, 63, .07);
	border-radius: 12px;
	box-shadow:
		0 8px 25px -20px rgba(13, 74, 128, .35),
		0 25px 50px -40px rgba(13, 74, 128, .45);
}

.pc-tarjeta__enlace {
	padding: 9px 9px 17px;
}

.pc-tarjeta__figura {
	border-radius: 8px;
}

.pc-tarjeta__cuerpo {
	padding: 16px 10px 0;
}

.pc-tarjeta__titulo {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
}

.pc-tarjeta__precio {
	margin-top: 7px;
	font-weight: 700;
	color: var(--pc-azul-oscuro);
}

.pc-tarjeta__mas {
	width: 30px;
	height: 30px;
	margin-top: 12px;
	color: var(--pc-azul);
}

.pc-destacados {
	padding: 76px 0 18px;
}

.pc-destacados__rejilla {
	gap: 24px;
}

.pc-destacado {
	min-height: 390px;
	border-radius: 12px;
	box-shadow: 0 20px 50px -38px rgba(13, 74, 128, .55);
}

.pc-destacado::after {
	background:
		linear-gradient(
			to top,
			rgba(7, 29, 43, .92) 0%,
			rgba(7, 29, 43, .64) 52%,
			rgba(7, 29, 43, .15) 100%
		);
}

.pc-destacado__contenido {
	padding: 34px;
}

.pc-destacado__titulo {
	max-width: 20ch;
	font-size: 1.65rem;
	line-height: 1.25;
	letter-spacing: -.02em;
}

.pc-destacado__texto {
	max-width: 54ch;
	font-size: .94rem;
	line-height: 1.6;
}

.pc-destacado__tags {
	gap: 8px;
}

.pc-tag {
	padding: 7px 12px;
	border-radius: 30px;
	font-size: .68rem;
	font-weight: 700;
}


/* MOBILE */

@media (max-width: 900px) {
	.pc-cabecera {
		position: relative;
	}

	.pc-cabecera__interior {
		min-height: 78px;
		padding: 0 22px;
	}

	.pc-logo .custom-logo {
		width: auto;
		height: 68px;
		max-height: 68px;
	}

	.pc-menu-boton {
		display: block;
		flex: 0 0 46px;
		width: 46px;
		height: 46px;
		margin: 0;
		padding: 0;
		border-radius: 50%;
		background: transparent;
	}

	.pc-menu-boton:hover {
		background: #f6f8fa;
	}

	.pc-nav {
		position: fixed;
		top: 82px;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 999;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		height: calc(100dvh - 82px);
		margin: 0;
		padding: 18px 24px 30px;
		background: rgba(255, 255, 255, .985);
		border: 0;
		border-radius: 0;
		box-shadow: none;
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(-8px);
		transition:
			opacity .2s ease,
			transform .2s ease,
			visibility .2s ease;
	}

	.pc-nav.esta-abierto {
		display: flex;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateY(0);
	}

	.pc-nav__lista {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
		margin: 60px 0 0;
		padding: 0;
	}

	.pc-nav__lista li {
		width: 100%;
	}

	.pc-nav__lista a {
		position: relative;
		display: flex;
		align-items: center;
		min-height: 62px;
		padding: 10px 6px;
		border-bottom: 1px solid #edf1f4;
		font-size: 1.08rem;
		font-weight: 600;
		color: var(--pc-tinta);
	}

	.pc-nav__lista a::after {
		content: '›';
		position: absolute;
		right: 6px;
		font-size: 1.45rem;
		font-weight: 300;
		color: #a5b0b8;
	}

	.pc-nav__lista .current-menu-item > a {
		color: var(--pc-azul);
	}

	.pc-nav__lista .current-menu-item > a::before {
		content: '';
		position: absolute;
		left: -24px;
		width: 4px;
		height: 26px;
		background: var(--pc-azul);
		border-radius: 0 8px 8px 0;
	}

	.pc-idioma {
		display: flex;
		width: 100%;
		margin-top: 18px;
		padding: 0;
	}

	.pc-idioma__enlace {
		display: flex;
		align-items: center;
		width: 100%;
		min-height: 58px;
		padding: 10px 6px;
		font-size: 1rem;
		color: var(--pc-tinta);
	}

	.pc-idioma__bandera svg {
		width: 28px;
		height: 19px;
	}

	.pc-idioma__texto {
		font-size: 1rem;
		font-weight: 600;
	}

	.pc-idioma__flecha {
		margin-left: auto;
	}

	.pc-idioma__cambiar {
		display: none;
	}

	.pc-hero {
		min-height: 590px;
		padding: 60px 0 64px;
		align-items: center;
		background-position: 60% center;
	}

	.pc-hero::after {
		background:
			linear-gradient(
				90deg,
				rgba(7, 35, 46, .78) 0%,
				rgba(7, 35, 46, .65) 58%,
				rgba(7, 35, 46, .36) 100%
			);
	}

	.pc-hero__interior {
		padding-right: 28px;
		padding-left: 28px;
	}

	.pc-hero__titulo {
		max-width: 11.5ch;
		margin-bottom: 22px;
		font-size: clamp(2.35rem, 8.5vw, 3.2rem);
		line-height: 1.04;
		letter-spacing: -.035em;
	}

	.pc-hero__texto {
		max-width: 31ch;
		margin-bottom: 30px;
		font-size: 1.02rem;
		line-height: 1.58;
	}

	.pc-hero .pc-boton {
		min-width: 0;
		padding: 17px 25px;
		font-size: .79rem;
		border-radius: 8px;
	}

	.pc-tours {
		padding-top: 68px;
		padding-bottom: 72px;
	}

	.pc-seccion-cabecera {
		margin-bottom: 36px;
	}

	.pc-titulo {
		font-size: clamp(2rem, 8vw, 2.6rem);
	}

	.pc-carrusel {
		margin-right: -20px;
	}

	.pc-carrusel__pista {
		grid-auto-columns: min(78vw, 360px);
		gap: 16px;
		padding: 5px 20px 22px 0;
		scroll-padding-left: 0;
	}

	.pc-carrusel__flecha {
		display: none;
	}

	.pc-tarjeta {
		border-radius: 12px;
	}

	.pc-tarjeta__enlace {
		padding: 8px 8px 15px;
	}

	.pc-tarjeta__figura {
		aspect-ratio: 16 / 10;
		border-radius: 8px;
	}

	.pc-tarjeta__titulo {
		min-height: auto;
		font-size: .98rem;
	}

	.pc-tarjeta__precio {
		font-size: .92rem;
	}

	.pc-destacados {
		padding: 56px 0 10px;
	}

	.pc-destacados__rejilla {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.pc-destacado {
		min-height: 440px;
		border-radius: 12px;
		align-items: flex-end;
		background-position: center;
	}

	.pc-destacado::after {
		background:
			linear-gradient(
				to top,
				rgba(6, 25, 38, .94) 0%,
				rgba(6, 25, 38, .76) 42%,
				rgba(6, 25, 38, .24) 77%,
				rgba(6, 25, 38, .08) 100%
			);
	}

	.pc-destacado__contenido {
		width: 100%;
		padding: 28px 24px;
	}

	.pc-destacado__titulo {
		max-width: 18ch;
		margin-bottom: 12px;
		font-size: clamp(1.55rem, 6vw, 1.9rem);
		line-height: 1.22;
	}

	.pc-destacado__texto {
		display: -webkit-box;
		max-width: 34ch;
		margin-bottom: 18px;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
		font-size: .92rem;
		line-height: 1.55;
	}

	.pc-destacado__tags {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.pc-tag {
		width: auto;
		padding: 7px 11px;
		border-radius: 30px;
		font-size: .64rem;
		line-height: 1.25;
		white-space: normal;
	}

	.pc-confianza {
		padding: 68px 0 58px;
	}

	.pc-confianza__rejilla {
		gap: 36px;
	}

	.pc-confianza__intro {
		max-width: none;
		font-size: .96rem;
	}

	.pc-ventajas {
		gap: 15px;
	}

	.pc-ventajas li {
		font-size: .92rem;
	}

	.pc-confianza__imagen {
		border-radius: 12px;
	}

	.pc-beneficios {
		padding: 20px 0 62px;
	}

	.pc-beneficios__caja {
		gap: 0;
		padding: 12px 24px;
		border-radius: 12px;
		text-align: left;
	}

	.pc-beneficio {
		display: grid;
		grid-template-columns: 46px 1fr;
		column-gap: 16px;
		padding: 24px 0;
		border-bottom: 1px solid rgba(255,255,255,.14);
	}

	.pc-beneficio:last-child {
		border-bottom: 0;
	}

	.pc-beneficio__icono {
		grid-row: 1 / 3;
		margin: 0;
	}

	.pc-beneficio__icono svg {
		width: 38px;
		height: 38px;
		margin: 0;
	}

	.pc-beneficio__titulo {
		margin: 0 0 5px;
		font-size: 1.12rem;
	}

	.pc-beneficio__texto {
		max-width: none;
		margin: 0;
		font-size: .87rem;
	}

	.pc-resenas {
		padding: 54px 0 70px;
	}

	.pc-resenas__barra {
		padding: 14px 16px;
		border-radius: 10px;
	}

	.pc-resenas__rejilla {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.pc-resena {
		padding: 18px;
		border-radius: 12px;
	}

	.pc-pie {
		padding-top: 44px;
	}

	.pc-pie__rejilla {
		grid-template-columns: 1fr;
		gap: 30px;
		padding-bottom: 36px;
	}

	.pc-pie__col {
		padding-bottom: 24px;
		border-bottom: 1px solid rgba(255,255,255,.16);
	}

	.pc-pie__col:last-child {
		border-bottom: 0;
	}

	.pc-pie__marca {
		font-size: 1.1rem;
	}

	.pc-pie__titulo {
		margin-bottom: 12px;
		font-size: .75rem;
		letter-spacing: .1em;
		text-transform: uppercase;
	}

	.pc-pie__menu {
		gap: 10px;
	}

	.pc-pie__menu a {
		font-size: .95rem;
	}

	.pct-wa-flotante {
		right: 18px !important;
		bottom: 18px !important;
		display: grid !important;
		place-items: center;
		width: 58px !important;
		height: 58px !important;
		padding: 0 !important;
		border-radius: 50% !important;
		box-shadow:
			0 10px 28px rgba(0,0,0,.18) !important;
	}

	.pct-wa-flotante__texto {
		display: none !important;
	}

	.pct-wa-flotante__icono {
		display: grid;
		place-items: center;
	}
}


/* MOBILE PEQUEÑO */

@media (max-width: 560px) {
	.pc-cabecera__interior {
		min-height: 72px;
		padding-right: 18px;
		padding-left: 18px;
	}

	.pc-logo .custom-logo {
		height: 62px;
		max-height: 62px;
	}

	.pc-nav {
		top: 76px;
		height: calc(100dvh - 76px);
		padding-right: 20px;
		padding-left: 20px;
	}

	.pc-nav__lista .current-menu-item > a::before {
		left: -20px;
	}

	.pc-hero {
		min-height: 550px;
		padding-top: 54px;
		padding-bottom: 54px;
	}

	.pc-hero__interior {
		padding-right: 22px;
		padding-left: 22px;
	}

	.pc-hero__titulo {
		max-width: 10.8ch;
		font-size: clamp(2.15rem, 10vw, 2.85rem);
	}

	.pc-hero__texto {
		max-width: 30ch;
		font-size: .96rem;
	}

	.pc-hero .pc-boton {
		width: 100%;
		max-width: 330px;
		padding: 17px 20px;
	}

	.pc-tours {
		padding-top: 60px;
		padding-bottom: 62px;
	}

	.pc-titulo {
		font-size: 2.1rem;
	}

	.pc-carrusel__pista {
		grid-auto-columns: min(82vw, 330px);
	}

	.pc-destacado {
		min-height: 410px;
	}

	.pc-destacado__contenido {
		padding: 24px 20px;
	}

	.pc-destacado__titulo {
		font-size: 1.55rem;
	}

	.pc-destacado__texto {
		font-size: .88rem;
	}
}


/* PANTALLAS MUY PEQUEÑAS */

@media (max-width: 380px) {
	.pc-logo .custom-logo {
		height: 56px;
		max-height: 56px;
	}

	.pc-hero__titulo {
		font-size: 2rem;
	}

	.pc-hero__texto {
		font-size: .9rem;
	}

	.pc-carrusel__pista {
		grid-auto-columns: 86vw;
	}
}


/* =========================================================
   Selector de idioma desplegable (multi-idioma)
   ========================================================= */

.pc-idioma {
	position: relative;
}

.pc-idioma__enlace {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: none;
	border: 1px solid var(--pc-borde, #e2e8ec);
	border-radius: 8px;
	padding: 7px 12px;
	cursor: pointer;
	font: inherit;
	font-size: 15px;
	color: var(--pc-tinta, #1a2b3c);
	transition: border-color .18s ease, background .18s ease;
}

.pc-idioma__enlace:hover {
	border-color: var(--pc-azul, #1668b0);
	background: #f6fafd;
}

.pc-idioma__bandera {
	font-size: 18px;
	line-height: 1;
}

.pc-idioma__flecha {
	font-size: 11px;
	opacity: .6;
	transition: transform .2s ease;
}

.pc-idioma__enlace[aria-expanded="true"] .pc-idioma__flecha {
	transform: rotate(180deg);
}

.pc-idioma__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 190px;
	background: #fff;
	border: 1px solid var(--pc-borde, #e2e8ec);
	border-radius: 10px;
	box-shadow: 0 18px 44px -20px rgba(13, 74, 128, .5);
	padding: 6px;
	margin: 0;
	list-style: none;
	z-index: 200;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.pc-idioma__menu.esta-abierto,
.pc-idioma:hover .pc-idioma__menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pc-idioma__opcion {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 7px;
	text-decoration: none;
	color: var(--pc-tinta, #1a2b3c);
	font-size: 15px;
	transition: background .15s ease;
}

.pc-idioma__opcion:hover {
	background: #f0f6fc;
	color: var(--pc-azul-oscuro, #0d4a80);
}

.pc-idioma__opcion.es-activo {
	font-weight: 700;
	background: #eaf3fb;
}
