/**
 * LBM PÁGINAS — Quiénes somos y Contacto con el Design System de La Barraca de maría.
 * Mismos tokens que Cannalogía. Titulares en title, texto en ink, naranja solo para
 * la acción, el foco y los subrayados. Sin cajas grises tras el texto, sin franjas
 * laterales ni degradados.
 */

.lbm-pag {
	--title: #445055;
	--ink: #20262a;
	--muted: #5f676b;
	--line: #dde2e4;
	--line-2: #c2c9cc;
	--paper: #fff;
	--paper-2: #f7f8f8;
	--plate: #f1f3f3;
	--well: #eef1f1;
	--orange: #ef7d00;
	--orange-hover: #f68a1a;
	--on-orange: #fff;
	--orange-soft: #fdf0e2;
	--stage: #0e1113;
	--stage-ink: #f3f2ef;
	--stage-muted: #a9b1b4;
	--stage-line: rgba(255, 255, 255, .13);
	--ok: #2f6b3a;
	--ok-soft: #e8f2ea;
	--err: #a3321f;
	--err-soft: #fbeae6;
	/* Paleta de apoyo (Design System, 07/11/2026): acompaña al naranja y al pizarra. */
	--hoja: #44702f;
	--hoja-soft: #eaf2e3;
	--hoja-luz: #9ccc7c;
	--agua: #2c6b7a;
	--agua-soft: #e3eff2;
	--agua-luz: #86c5d3;
	--teja: #a6492a;
	--teja-soft: #f8e6dd;
	--teja-luz: #f09a78;
	--miel: #e8a33a;
	--miel-soft: #fcf1dc;
	--miel-ink: #8f5c05;
	--arena: #f6efe4;
	--arena-line: #e6d9c4;
	--r-in: 4px;
	--r: 8px;
	--r-btn: 24px;
	--shell: 1248px;
	--gut: max(5vw, 18px);
	--sec: clamp(3.5rem, 7vw, 6rem);
	--ease: cubic-bezier(.2, .7, .2, 1);
	--f: "myriad_proregular", "LBM Myriad", "Segoe UI", system-ui, -apple-system, sans-serif;
	--f-semi: "myriad_prosemibold", "LBM Myriad", "Segoe UI", system-ui, -apple-system, sans-serif;
	--f-bold: "myriad_probold", "LBM Myriad", "Segoe UI", system-ui, -apple-system, sans-serif;

	display: block;
	font-family: var(--f);
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--ink);
	background: var(--paper);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

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

.lbm-pag :where(h1, h2, h3) {
	margin: 0;
	padding: 0;
	font-family: var(--f-bold);
	font-weight: 400;
	color: var(--title);
	text-wrap: balance;
}
.lbm-pag h1 { font-size: clamp(2.3rem, 5vw, 4.25rem); line-height: .98; letter-spacing: -.03em; }
.lbm-pag h2 { font-size: clamp(1.4rem, 2.2vw, 1.85rem); line-height: 1.15; letter-spacing: -.015em; }
.lbm-pag h3 { font-size: 1.25rem; line-height: 1.25; letter-spacing: -.01em; }
.lbm-pag :where(p, ul, ol, dl, dd, figure, blockquote) { margin: 0; padding: 0; }
.lbm-pag :focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }

.lbm-pag a:not(.pg-btn) {
	color: var(--title);
	text-decoration: underline;
	text-decoration-color: var(--orange);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	transition: color .15s var(--ease);
}
.lbm-pag a:not(.pg-btn):hover { color: var(--ink); }

.pg-shell {
	max-width: calc(var(--shell) + 2 * var(--gut));
	margin: 0 auto;
	padding: 0 var(--gut);
}

/* ---------- cabecera ---------- */

.pg-hero { background: var(--paper-2); padding: clamp(2.5rem, 6vw, 4.5rem) 0 var(--sec); }
.pg-hero__txt { max-width: 860px; }
.pg-entradilla {
	margin-top: 20px !important;
	max-width: 680px;
	font-size: clamp(1.1875rem, 1.6vw, 1.375rem);
	line-height: 1.5;
	color: var(--ink);
}
.pg-hero__foto { margin-top: clamp(2rem, 4vw, 3rem); }
.pg-hero__foto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;
	max-height: 560px;
	object-fit: cover;
	border-radius: var(--r);
	background: var(--well);
}

/* ---------- secciones ---------- */

.pg-sec { padding: var(--sec) 0; }
.pg-sec--plate { background: var(--plate); }
.pg-sec--pegada { padding-top: clamp(2.5rem, 5vw, 4rem); }
.pg-sec--stage { background: var(--stage); color: var(--stage-ink); }
.pg-sec--stage h2 { color: var(--stage-ink); }
.pg-sec--stage a:not(.pg-btn) { color: var(--stage-ink); }

.pg-sec__cab { max-width: 680px; margin-bottom: clamp(1.75rem, 3vw, 2.5rem); }
.pg-sec__cab p { margin-top: 10px; color: var(--muted); }

.pg-dos {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: clamp(1.25rem, 5vw, 5rem);
	align-items: start;
}
.pg-dos > div:first-child h2,
.pg-dos > h2 { position: sticky; top: 120px; }

.pg-texto { max-width: 720px; }
.pg-texto > * + * { margin-top: 1em; }

.pg-cita {
	margin: 1.75em 0 !important;
	font-family: var(--f-semi);
	font-size: clamp(1.3rem, 2vw, 1.6rem);
	line-height: 1.35;
	color: var(--title);
	text-wrap: balance;
}

.pg-galeria {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(12px, 1.6vw, 20px);
	margin-top: clamp(2.5rem, 5vw, 4rem);
}
.pg-galeria img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--r);
	background: var(--well);
}

/* ---------- equipo ---------- */

.pg-equipo {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: clamp(24px, 3vw, 48px);
	row-gap: 36px;
}
.pg-equipo li { padding-top: 20px; border-top: 1px solid var(--line-2); }
.pg-equipo__rol {
	margin: 4px 0 12px !important;
	font-family: var(--f-semi);
	font-size: .9375rem;
	color: var(--muted);
}
.pg-equipo li > p:last-child { font-size: 1rem; line-height: 1.55; }

/* ---------- visítanos ---------- */

.pg-visita {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: end;
}
.pg-visita__dir { margin-top: 16px !important; font-size: 1.25rem; line-height: 1.45; }
.pg-acciones {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 28px;
	margin-top: 28px !important;
}

.pg-horario > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
}
.pg-horario > div:first-child { border-top: 1px solid var(--line); }
.pg-horario dt { font-family: var(--f-semi); }
.pg-horario dd { text-align: right; color: var(--muted); }
.pg-sec--stage .pg-horario > div { border-color: var(--stage-line); }
.pg-sec--stage .pg-horario dd { color: var(--stage-muted); }

/* ---------- botón ---------- */

.pg-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 28px;
	border: 0;
	border-radius: var(--r-btn);
	background: var(--orange);
	color: var(--on-orange);
	font-family: var(--f-semi);
	font-size: 1rem;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s var(--ease), transform .15s var(--ease);
}
.pg-btn:hover { background: var(--orange-hover); color: var(--on-orange); }
.pg-btn:active { transform: translateY(1px); }

/* ---------- contacto ---------- */

.pg-contacto {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(2.5rem, 6vw, 6rem);
	align-items: start;
}
.pg-datos { display: grid; gap: 28px; }
.pg-dato h2 {
	margin-bottom: 8px;
	font-family: var(--f-semi);
	font-size: .9375rem;
	letter-spacing: 0;
	color: var(--muted);
}
.pg-dato p + p { margin-top: 6px; }
.pg-grande { font-family: var(--f-bold); font-size: clamp(1.6rem, 2.6vw, 2rem); line-height: 1.1; }
.pg-dato .pg-horario { font-size: 1rem; }

.pg-form h2 { margin-bottom: 20px; }
.pg-campos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
}
.pg-campo--ancho { grid-column: 1 / -1; }
.pg-campo label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--f-semi);
	font-size: .9375rem;
	color: var(--title);
}
.pg-campo label span { font-family: var(--f); color: var(--muted); }
.pg-campo input,
.pg-campo textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--line-2);
	border-radius: var(--r-in);
	background: var(--paper);
	color: var(--ink);
	font: inherit;
	font-size: 1rem;
	line-height: 1.4;
	transition: border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.pg-campo textarea { min-height: 150px; resize: vertical; }
.pg-campo input:hover,
.pg-campo textarea:hover { border-color: var(--muted); }
.pg-campo input:focus,
.pg-campo textarea:focus {
	outline: none;
	border-color: var(--orange);
	box-shadow: 0 0 0 3px var(--orange-soft);
}
.pg-trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.pg-check {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 20px 0 24px !important;
	font-size: 1rem;
}
.pg-check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--orange); }
.pg-nota { margin-top: 12px !important; font-size: .875rem; color: var(--muted); }

.pg-aviso { margin-bottom: 20px !important; padding: 14px 16px; border-radius: var(--r); font-size: 1rem; }
.pg-aviso--ok { background: var(--ok-soft); color: var(--ok); }
.pg-aviso--error { background: var(--err-soft); color: var(--err); }

.pg-mapa {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
	gap: clamp(16px, 2vw, 24px);
}
.pg-mapa__foto img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--r);
}
.pg-mapa__foto figcaption { margin-top: 10px; font-size: .9375rem; color: var(--muted); }
.pg-mapa__marco { min-height: 360px; border-radius: var(--r); overflow: hidden; background: var(--well); }
.pg-mapa__marco iframe { display: block; width: 100%; height: 100%; min-height: 360px; border: 0; }

/* ---------- móvil ---------- */

@media (max-width: 980px) {
	.pg-equipo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.pg-dos,
	.pg-visita,
	.pg-contacto,
	.pg-mapa { grid-template-columns: minmax(0, 1fr); }
	.pg-dos > div:first-child h2,
	.pg-dos > h2 { position: static; }
	.pg-galeria { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.pg-galeria figure:first-child { grid-column: 1 / -1; }
	.pg-hero__foto img { aspect-ratio: 16 / 10; }
	.pg-campos { grid-template-columns: minmax(0, 1fr); }
	.pg-mapa__foto { max-width: 420px; }
}

@media (max-width: 520px) {
	.pg-equipo { grid-template-columns: minmax(0, 1fr); }
	.pg-horario > div { flex-direction: column; gap: 2px; }
	.pg-horario dd { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	.lbm-pag * { transition: none !important; }
}

/* ==== Quiénes somos v2 ==== */

.pg-hero--partida { padding-bottom: clamp(2.5rem, 5vw, 4rem); }
.pg-hero__rejilla {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.pg-hero--partida .pg-acciones { margin-top: 32px !important; }
.pg-hero__fachada img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border-radius: var(--r);
	background: var(--well);
}

.pg-cifras {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 clamp(16px, 3vw, 40px);
	margin-top: clamp(2.5rem, 5vw, 4rem) !important;
	padding-top: clamp(1.5rem, 3vw, 2rem) !important;
	border-top: 1px solid var(--line-2);
}
.pg-cifras strong {
	display: block;
	font-family: var(--f-bold);
	font-weight: 400;
	font-size: clamp(2rem, 4vw, 3.25rem);
	line-height: 1;
	letter-spacing: -.03em;
	color: var(--title);
}
.pg-cifras span { display: block; margin-top: 8px; font-size: 1rem; line-height: 1.35; color: var(--muted); }

.pg-servicios {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px clamp(24px, 3vw, 48px);
}
.pg-servicios li { display: flex; flex-direction: column; padding-top: 20px; border-top: 1px solid var(--line-2); }
.pg-servicios h3 { margin-bottom: 8px; }
.pg-servicios p { flex: 1; font-size: 1rem; line-height: 1.55; }
.pg-servicios a { align-self: flex-start; margin-top: 14px; font-family: var(--f-semi); font-size: 1rem; }

.pg-mosaico {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: clamp(12px, 1.6vw, 20px);
	margin-top: clamp(3rem, 6vw, 5rem);
	aspect-ratio: 2.4 / 1;
}
.pg-mosaico figure { min-height: 0; }
.pg-mosaico__grande { grid-row: 1 / 3; }
.pg-mosaico figure:nth-child(4) { grid-column: 2 / 4; }
.pg-mosaico img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--r);
	background: var(--well);
}

.pg-sec--stage .pg-sec__cab p { color: var(--stage-muted); }
.pg-etapas {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 40px clamp(24px, 3vw, 40px);
	counter-reset: etapa;
}
.pg-etapas li { position: relative; padding-top: 28px; border-top: 1px solid var(--stage-line); }
.pg-etapas li::before {
	content: "";
	position: absolute;
	top: -5px;
	left: 0;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--orange);
}
.pg-etapas__cuando {
	margin-bottom: 8px !important;
	font-family: var(--f-semi);
	font-size: .9375rem;
	color: var(--stage-muted);
}
.pg-etapas h3 { margin-bottom: 10px; color: var(--stage-ink); }
.pg-etapas li > p:last-child { font-size: 1rem; line-height: 1.6; color: var(--stage-ink); opacity: .86; }
.pg-cita--grande {
	max-width: 900px;
	margin: clamp(3rem, 6vw, 5rem) 0 0 !important;
	font-size: clamp(1.5rem, 2.8vw, 2.25rem);
	line-height: 1.3;
	color: var(--stage-ink);
}

.pg-equipo__ini {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-bottom: 18px;
	border-radius: 50%;
	background: var(--plate);
	font-family: var(--f-bold);
	font-size: 1.125rem;
	letter-spacing: .02em;
	color: var(--title);
}

.pg-sec--corta { padding: clamp(2.5rem, 5vw, 3.5rem) 0; }
.pg-resenas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px clamp(24px, 4vw, 56px);
}
.pg-resenas__nota {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-family: var(--f-bold);
	font-size: clamp(3.5rem, 6vw, 4.5rem);
	line-height: .9;
	letter-spacing: -.03em;
	color: var(--title);
}
.pg-resenas__estrellas { margin-top: 8px; font-size: 1.125rem; letter-spacing: 3px; color: var(--orange); }
.pg-resenas > div { flex: 1 1 280px; }
.pg-resenas h2 { margin-bottom: 4px; }
.pg-resenas > div p { color: var(--muted); }
.pg-resenas__enlace { font-family: var(--f-semi); }

.lbm-pag--quienes .pg-visita { align-items: center; }
.lbm-pag--quienes .pg-visita h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }

@media (max-width: 1080px) {
	.pg-etapas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pg-servicios { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.pg-hero__rejilla { grid-template-columns: minmax(0, 1fr); }
	.pg-hero__fachada { order: -1; }
	.pg-hero__fachada img { aspect-ratio: 16 / 10; }
	.pg-cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
	.pg-mosaico { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto; aspect-ratio: auto; }
	.pg-mosaico__grande { grid-row: auto; grid-column: 1 / -1; }
	.pg-mosaico figure:nth-child(4) { grid-column: 1 / -1; }
	.pg-mosaico img { aspect-ratio: 4 / 3; height: auto; }
	.pg-mosaico__grande img { aspect-ratio: 16 / 10; }
}

@media (max-width: 560px) {
	.pg-etapas,
	.pg-servicios { grid-template-columns: minmax(0, 1fr); }
}

/* ==== Quiénes somos v3: fotos a pantalla completa ==== */

.pg-portada {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(86vh, 860px);
	padding: clamp(6rem, 12vw, 10rem) 0 clamp(3rem, 6vw, 5rem);
	background: var(--stage);
	color: var(--stage-ink);
	overflow: hidden;
}
.pg-portada__foto { position: absolute; inset: 0; }
.pg-portada__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 60%;
}
.pg-portada__foto::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(14, 17, 19, .58);
}
.pg-portada__txt { position: relative; z-index: 1; width: 100%; }
.pg-portada h1 { max-width: 900px; color: var(--stage-ink); font-size: clamp(2.75rem, 7vw, 6rem); }
.pg-portada .pg-entradilla { max-width: 640px; color: var(--stage-ink); }
.pg-portada .pg-acciones { margin-top: 32px !important; }
.pg-portada a:not(.pg-btn) { color: var(--stage-ink); }

.pg-hero--cifras { padding: 0 0 clamp(2.5rem, 5vw, 3.5rem); }
.pg-hero--cifras .pg-cifras { margin-top: 0 !important; padding-top: clamp(2rem, 4vw, 3rem) !important; border-top: 0; }

.pg-banda { margin: 0; }
.pg-banda img {
	display: block;
	width: 100%;
	height: clamp(320px, 52vw, 820px);
	object-fit: cover;
	background: var(--well);
}

.pg-mitad {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	background: var(--paper-2);
}
.pg-mitad__foto { margin: 0; min-height: 100%; }
.pg-mitad__foto img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 560px;
	object-fit: cover;
}
.pg-mitad__txt {
	align-self: center;
	max-width: 620px;
	padding: var(--sec) var(--gut);
}
.pg-mitad__txt h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
.pg-mitad__txt .pg-horario { margin-top: 28px; }
.pg-mitad__txt .pg-acciones { margin-top: 32px !important; }

@media (max-width: 760px) {
	.pg-portada { min-height: 78vh; }
	.pg-mitad { grid-template-columns: minmax(0, 1fr); }
	.pg-mitad__foto img { min-height: 0; aspect-ratio: 4 / 3; }
}

/* Cabecera en móvil y tableta vertical: foto entera arriba y texto debajo, sin recortar la foto a lo alto. */
@media (max-width: 900px), (orientation: portrait) and (max-width: 1100px) {
	.pg-portada { display: block; min-height: 0; padding: 0; }
	.pg-portada__foto { position: relative; inset: auto; }
	.pg-portada__foto img { height: auto; aspect-ratio: 3 / 2; object-position: center; }
	.pg-portada__foto::after { display: none; }
	.pg-portada__txt { padding-top: 32px; padding-bottom: 44px; }
}

/* Sin franja lateral (07/11/2026): Divi pone border-left a blockquote; prohibido en todas las webs. */
.lbm-pag blockquote,
.lbm-pag .pg-cita { border: 0 !important; padding-left: 0; }
.lbm-pag--luz .lz-consejo { padding: 28px 30px !important; }
