/**
 * Ofensiva SEO — estilos de las landings, hub, FAQ y bloques de enlazado.
 * Paleta del tema: --blue #37AD9F · --navy #092348 · --cream #F7F6FD.
 */

/* ---- Prosa de landing --------------------------------------------------- */
.pbf-prose .pbf-landing-intro {
	font-size: 1.12em;
	line-height: 1.6;
	color: var(--ink, #33405A);
}
.pbf-prose h2 {
	margin-top: 1.8em;
	color: var(--navy, #092348);
	font-family: var(--font-head, sans-serif);
}
.pbf-prose h3 { margin-top: 1.4em; color: var(--navy, #092348); }
.pbf-prose ul { padding-left: 1.15em; }
.pbf-prose ul li { margin: .35em 0; }

.pbf-landing-cta { margin: 1.6em 0; }
.pbf-landing-cta .pbf-btn { text-decoration: none; }

/* ---- FAQ (details/summary) -------------------------------------------- */
.pbf-faq {
	margin: 1.2em 0 0;
	border-top: 1px solid var(--line, #E7E4F5);
}
.pbf-faq details {
	border-bottom: 1px solid var(--line, #E7E4F5);
	padding: .2em 0;
}
.pbf-faq summary {
	cursor: pointer;
	list-style: none;
	padding: .85em 2em .85em 0;
	position: relative;
	font-weight: 600;
	color: var(--navy, #092348);
	font-family: var(--font-head, sans-serif);
}
.pbf-faq summary::-webkit-details-marker { display: none; }
.pbf-faq summary::after {
	content: "+";
	position: absolute;
	right: .2em;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.3em;
	color: var(--blue, #37AD9F);
	transition: transform .2s var(--ease, ease);
}
.pbf-faq details[open] summary::after { content: "\2013"; }
.pbf-faq__a { padding: 0 0 1em; color: var(--ink-soft, #4C5A72); }
.pbf-faq__a p { margin: .3em 0; }

/* ---- Bloque de enlazado interno (clúster) ---------------------------- */
.pbf-cluster {
	margin: 2.6em 0 0;
	padding: 1.4em 1.6em;
	background: var(--cream, #F7F6FD);
	border: 1px solid var(--line, #E7E4F5);
	border-radius: var(--radius-sm, 14px);
}
.pbf-cluster h2 {
	margin: 0 0 .6em;
	font-size: 1.05em;
	color: var(--navy, #092348);
}
.pbf-cluster ul {
	margin: 0 0 .8em;
	padding-left: 1.1em;
	columns: 2;
	column-gap: 2em;
}
.pbf-cluster li { margin: .3em 0; break-inside: avoid; }
.pbf-cluster p { margin: .4em 0 0; font-size: .95em; }

@media (max-width: 640px) {
	.pbf-cluster ul { columns: 1; }
}

/* ---- Portada: tira "por tipo de evento" ------------------------------- */
.pbf-eventos-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	margin-top: 22px;
}
.pbf-eventos-grid a {
	display: block;
	padding: 16px 18px;
	background: var(--paper, #fff);
	border: 1px solid var(--line, #E7E4F5);
	border-radius: var(--radius-sm, 14px);
	color: var(--navy, #092348);
	font-weight: 600;
	font-family: var(--font-head, sans-serif);
	text-decoration: none;
	box-shadow: var(--shadow-sm);
	transition: transform .18s var(--ease, ease), box-shadow .18s var(--ease, ease);
}
.pbf-eventos-grid a:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow);
	border-color: var(--blue, #37AD9F);
}
.pbf-eventos-grid a span {
	display: block;
	margin-top: 4px;
	font-weight: 400;
	font-size: .88em;
	color: var(--ink-mut, #7A8699);
	font-family: var(--font-body, sans-serif);
}

/* ---- Portada: tabla de precios orientativos ------------------------- */
.pbf-precios {
	width: 100%;
	border-collapse: collapse;
	margin-top: 18px;
	font-size: .97em;
}
.pbf-precios th,
.pbf-precios td {
	padding: 12px 14px;
	text-align: left;
	border-bottom: 1px solid var(--line, #E7E4F5);
}
.pbf-precios th { color: var(--navy, #092348); font-family: var(--font-head, sans-serif); }
.pbf-precios td:last-child { font-weight: 700; color: var(--blue-strong, #2C9384); white-space: nowrap; }
.pbf-precios caption { caption-side: bottom; margin-top: 10px; font-size: .85em; color: var(--ink-mut, #7A8699); text-align: left; }

/* ---- Footer: columnas extra ----------------------------------------- */
.pbf-footer__zonas ul { columns: 3; column-gap: 1.6em; }
@media (max-width: 720px) { .pbf-footer__zonas ul { columns: 2; } }
@media (max-width: 460px) { .pbf-footer__zonas ul { columns: 1; } }
