/* ==========================================================================
   Socarrat: lujo nocturno
   Negro de paellero, dorado del logo y luz de brasa.
   ========================================================================== */

/* Fuentes alojadas en el propio servidor (sin Google Fonts, por el RGPD). */
@font-face {
	font-family: "Cormorant Garamond";
	src: url("../fonts/cormorant-garamond-latin-wght-normal.woff2") format("woff2");
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Cormorant Garamond";
	src: url("../fonts/cormorant-garamond-latin-wght-italic.woff2") format("woff2");
	font-weight: 300 700;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Jost";
	src: url("../fonts/jost-latin-wght-normal.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--carbon: #0F0D0A;        /* fondo: hierro de paellero */
	--hierro: #1A1712;        /* fondo de fotos mientras cargan */
	--linea: #2D2922;         /* separadores */
	--linea-fuerte: #4A443A;  /* bordes de campos y etiquetas */
	--hueso: #EFE8DB;         /* texto principal */
	--arena: #BDB3A2;         /* texto secundario (9:1) */
	--ceniza: #9A907E;        /* texto terciario (6,2:1) */
	--azafran: #C9A567;       /* dorado del logo */
	--azafran-claro: #E2C48E;
	--brasa: #E8967A;         /* errores */

	--serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
	--sans: "Jost", "Avenir Next", "Segoe UI", system-ui, sans-serif;

	--gutter: clamp(20px, 6vw, 88px);
	--wrap: 1240px;
	--inline: max(var(--gutter), calc((100% - var(--wrap)) / 2));
	--section: clamp(64px, 9vw, 128px);
	--header-h: 76px;
}
@media (min-width: 1024px) {
	:root { --header-h: 88px; }
}

/* ---------- Base ---------- */

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

html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-h);
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--carbon);
	color: var(--hueso);
	font-family: var(--sans);
	font-weight: 350;
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}
body.nav-open { overflow: hidden; }

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

h1, h2, h3 {
	margin: 0;
	font-family: var(--serif);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -0.01em;
	color: var(--hueso);
	text-wrap: balance;
}
h2 { font-size: clamp(36px, 4.6vw, 58px); font-weight: 350; }

p { margin: 0; text-wrap: pretty; }

a { color: var(--azafran); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--hueso); }

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

::selection { background: var(--azafran); color: var(--carbon); }

.sc-skip {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 100;
	padding: 12px 18px;
	background: var(--azafran);
	color: var(--carbon);
	font-weight: 500;
}
.sc-skip:focus { top: 12px; color: var(--carbon); }

/* ---------- Botones y enlaces ---------- */

.sc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 30px;
	border: 1px solid var(--azafran);
	background: var(--azafran);
	color: var(--carbon);
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .03em;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.sc-btn:hover {
	background: var(--azafran-claro);
	border-color: var(--azafran-claro);
	color: var(--carbon);
}
.sc-btn--small { min-height: 44px; padding: 0 20px; font-size: 14px; }
.sc-btn--ghost { background: transparent; color: var(--azafran); }
.sc-btn--ghost:hover { background: transparent; border-color: var(--hueso); color: var(--hueso); }
.sc-btn[aria-busy="true"] { opacity: .7; cursor: progress; }

.sc-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--hueso);
	font-size: 16px;
	text-decoration: underline;
	text-decoration-color: var(--azafran);
	text-decoration-thickness: 1px;
	text-underline-offset: 7px;
}
.sc-link:hover { color: var(--azafran); }

/* ---------- Cabecera ---------- */

.sc-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 50;
	border-bottom: 1px solid transparent;
	transition: background-color .3s ease, border-color .3s ease;
}
.sc-header.is-scrolled,
.sc-header:not(.sc-header--over) {
	background: rgba(15, 13, 10, .92);
	border-bottom-color: var(--linea);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}
/* Barra de administración de WordPress (solo la ven los usuarios conectados). */
.admin-bar .sc-header { top: 32px; }
@media (max-width: 782px) {
	.admin-bar .sc-header { top: 46px; }
}
.sc-header.nav-open {
	background: var(--carbon);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.sc-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: var(--header-h);
	padding: 0 var(--gutter);
}

.sc-brand {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--hueso);
}
.sc-brand img { width: auto; height: clamp(44px, 4.4vw, 58px); }
.sc-brand span {
	font-size: 18px;
	font-weight: 450;
	letter-spacing: .3em;
	text-transform: uppercase;
}
.sc-brand:hover { color: var(--hueso); }

.sc-nav { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 36px); }
.sc-nav ul { display: flex; margin: 0; padding: 0; list-style: none; }
.sc-nav__links { gap: clamp(20px, 2.4vw, 34px); }
.sc-nav__links a { color: var(--hueso); font-size: 15px; font-weight: 400; }
.sc-nav__links a:hover { color: var(--azafran); }

.sc-lang { gap: 2px; }
.sc-lang a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	color: var(--ceniza);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .08em;
}
.sc-lang a:hover { color: var(--hueso); }
.sc-lang a[aria-current] { background: var(--azafran); color: var(--carbon); }

.sc-nav-toggle {
	position: relative;
	z-index: 2;
	display: none;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 4px;
	background: none;
	border: 0;
	color: var(--hueso);
	font-family: var(--sans);
	font-size: 15px;
	cursor: pointer;
}
.sc-nav-toggle__close,
.sc-nav-toggle[aria-expanded="true"] .sc-nav-toggle__open { display: none; }
.sc-nav-toggle[aria-expanded="true"] .sc-nav-toggle__close { display: inline; }

@media (max-width: 1023px) {
	.sc-nav { flex-wrap: wrap; justify-content: flex-end; }

	.js .sc-nav-toggle { display: inline-flex; }
	.js .sc-nav {
		position: fixed;
		inset: 0;
		z-index: 1;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 40px;
		padding: calc(var(--header-h) + 32px) var(--gutter) 40px;
		background: var(--carbon);
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		transition: opacity .25s ease, visibility 0s linear .25s;
	}
	.js .sc-nav.is-open {
		opacity: 1;
		visibility: visible;
		transition: opacity .25s ease;
	}
	.js .sc-nav__links { flex-direction: column; gap: 6px; }
	.js .sc-nav__links a {
		display: block;
		padding: 6px 0;
		font-family: var(--serif);
		font-size: 38px;
		font-weight: 350;
		line-height: 1.15;
	}
	.js .sc-lang a { min-width: 52px; min-height: 48px; font-size: 14px; }
	.js .sc-nav .sc-btn--small { min-height: 52px; padding: 0 30px; font-size: 15px; }
}

/* ---------- Primera pantalla ---------- */

.sc-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 100vh;
	min-height: 100svh;
	padding: calc(var(--header-h) + 40px) var(--inline) 28px;
	overflow: hidden;
}

.sc-hero__video {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Sombra para leer el texto y un resplandor de brasa que sube desde abajo. */
.sc-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(110% 55% at 18% 100%, rgba(176, 98, 32, .22), transparent 62%),
		linear-gradient(90deg, rgba(15, 13, 10, .72) 0%, rgba(15, 13, 10, .25) 75%),
		linear-gradient(180deg, rgba(15, 13, 10, .6) 0%, rgba(15, 13, 10, .2) 32%, rgba(15, 13, 10, .7) 72%, var(--carbon) 100%);
}

.sc-hero__content { max-width: 920px; }

.sc-hero__eyebrow {
	margin-bottom: clamp(16px, 2.6vh, 26px);
	color: var(--azafran);
	font-size: 16px;
	font-weight: 400;
}

.sc-hero__title {
	max-width: 16ch;
	font-size: clamp(44px, min(7vw, 10svh), 112px);
	font-weight: 300;
	line-height: .98;
	letter-spacing: -.02em;
	hyphens: manual;
}

.sc-hero__sub {
	max-width: 50ch;
	margin-top: clamp(20px, 3vh, 30px);
	color: #D4CBBB;
	font-size: clamp(17px, 1.3vw, 19px);
	font-weight: 330;
	line-height: 1.7;
}

.sc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 30px;
	margin-top: clamp(26px, 4vh, 40px);
}

.sc-trust {
	display: grid;
	gap: 14px;
	margin-top: clamp(44px, 9vh, 96px);
	padding-top: 22px;
	border-top: 1px solid rgba(239, 232, 219, .14);
}
@media (min-width: 900px) {
	.sc-trust { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 40px; }
}
.sc-trust__title { color: var(--ceniza); font-size: 14px; }

.sc-marquee {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.sc-marquee__track {
	display: flex;
	width: max-content;
	animation: sc-marquee 36s linear infinite;
}
.sc-marquee__list {
	display: flex;
	gap: 56px;
	margin: 0;
	padding: 0 56px 0 0;
	list-style: none;
}
.sc-marquee__list li {
	color: var(--arena);
	font-family: var(--serif);
	font-size: 22px;
	font-style: italic;
	white-space: nowrap;
}
@keyframes sc-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ---------- Cifras ---------- */

.sc-facts { padding: clamp(36px, 5vw, 64px) var(--inline) clamp(48px, 6vw, 80px); }
.sc-facts__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (min-width: 900px) {
	.sc-facts__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.sc-fact { padding-top: 22px; border-top: 1px solid var(--linea); }
.sc-fact img { width: 40px; height: 40px; }
.sc-fact strong {
	display: block;
	margin-top: 16px;
	font-family: var(--serif);
	font-size: clamp(30px, 3vw, 38px);
	font-weight: 400;
	line-height: 1.1;
}
.sc-fact span { display: block; margin-top: 6px; color: var(--ceniza); font-size: 15px; }

/* ---------- Secciones ---------- */

.sc-section {
	padding: var(--section) var(--inline);
	border-top: 1px solid var(--linea);
}

.sc-head {
	display: grid;
	gap: 16px 64px;
	margin-bottom: clamp(36px, 5vw, 64px);
}
@media (min-width: 900px) {
	.sc-head { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
}
.sc-head p { max-width: 46ch; color: var(--arena); }

.sc-note { max-width: 62ch; margin-top: 36px; color: var(--ceniza); font-size: 15px; }
.sc-tag { color: var(--azafran); font-size: 15px; font-weight: 400; }

/* ---------- Carta: carrusel ---------- */

.sc-tabs {
	position: relative;
	margin-bottom: clamp(28px, 4vw, 52px);
	border-bottom: 1px solid var(--linea);
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent);
	mask-image: linear-gradient(90deg, #000 calc(100% - 32px), transparent);
}
.sc-tabs::-webkit-scrollbar { display: none; }
.sc-tabs__row {
	display: flex;
	gap: clamp(26px, 3.2vw, 44px);
	width: max-content;
	padding-right: 32px;
}

.sc-tab {
	position: relative;
	min-height: 52px;
	padding: 14px 0;
	background: none;
	border: 0;
	color: var(--ceniza);
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 400;
	white-space: nowrap;
	cursor: pointer;
	transition: color .2s ease;
}
.sc-tab:hover,
.sc-tab[aria-selected="true"] { color: var(--hueso); }
.sc-tab:focus-visible { outline-offset: -2px; }

.sc-tab__bar {
	position: absolute;
	inset: auto 0 -1px;
	height: 2px;
	background: var(--azafran);
	transform: scaleX(0);
	transform-origin: left;
}
.sc-tab[aria-selected="true"] .sc-tab__bar { transform: scaleX(1); }
.sc-carousel.is-auto .sc-tab[aria-selected="true"] .sc-tab__bar {
	animation: sc-progress var(--interval, 4s) linear forwards;
}
.sc-carousel.is-paused .sc-tab[aria-selected="true"] .sc-tab__bar { animation-play-state: paused; }
@keyframes sc-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

.sc-slide {
	display: grid;
	gap: clamp(28px, 4vw, 64px);
	align-items: center;
}
@media (min-width: 760px) {
	.sc-slide { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
}

.sc-slide__media {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--hierro);
}
.sc-slide__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .6s ease;
}
.sc-slide__media img.is-active { opacity: 1; }

.sc-slide__text { display: grid; }
.sc-panel {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease, visibility 0s linear .5s;
}
.sc-panel.is-active { opacity: 1; visibility: visible; transition: opacity .5s ease; }
.sc-panel h3 { font-size: clamp(38px, 4.4vw, 58px); font-weight: 300; }
.sc-panel .sc-tag { margin: 14px 0 20px; }
.sc-panel p:last-child { max-width: 40ch; color: var(--arena); }

/* ---------- Carta completa ---------- */

.sc-menu { margin-top: clamp(40px, 5vw, 60px); }
.sc-menu summary { list-style: none; }
.sc-menu summary::-webkit-details-marker { display: none; }
.sc-menu__hide,
.sc-menu[open] .sc-menu__show { display: none; }
.sc-menu[open] .sc-menu__hide { display: inline; }

.sc-menu__list {
	max-width: 920px;
	margin: clamp(28px, 4vw, 48px) 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--linea);
}
.sc-dish {
	display: grid;
	grid-template-columns: clamp(88px, 15vw, 150px) minmax(0, 1fr);
	gap: clamp(18px, 3vw, 36px);
	align-items: center;
	padding: 24px 0;
	border-bottom: 1px solid var(--linea);
}
.sc-dish__photo { aspect-ratio: 1; overflow: hidden; background: var(--hierro); }
.sc-dish__photo img { width: 100%; height: 100%; object-fit: cover; }
.sc-dish__text { display: grid; gap: 6px 40px; }
@media (min-width: 700px) {
	.sc-dish__text { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: baseline; }
	.sc-dish__text p:last-child { grid-column: 2; grid-row: 1 / span 2; }
}
.sc-dish h3 { font-size: 28px; }
.sc-dish p:last-child { color: var(--arena); font-size: 16px; }

/* ---------- El chef ---------- */

.sc-chef {
	display: grid;
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
}
@media (min-width: 720px) {
	.sc-chef { grid-template-columns: clamp(240px, 28vw, 380px) minmax(0, 1fr); }
}
.sc-chef__photo { aspect-ratio: 3 / 2; overflow: hidden; background: var(--hierro); }
@media (min-width: 720px) {
	.sc-chef__photo { aspect-ratio: 4 / 5; }
}
.sc-chef__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.sc-chef__role { margin-bottom: 12px; color: var(--azafran); font-size: 16px; }
.sc-chef__text h2 { margin-bottom: 24px; }
.sc-chef__text p:not(.sc-chef__role) { max-width: 56ch; color: var(--arena); }
.sc-chef__text p + p { margin-top: 16px; }

/* ---------- Precios ---------- */

.sc-tiers {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: clamp(40px, 4vw, 56px);
	margin: 0;
	padding: 0;
	list-style: none;
}
.sc-tier__photo {
	aspect-ratio: 4 / 3;
	margin-bottom: 26px;
	overflow: hidden;
	background: var(--hierro);
}
.sc-tier__photo img { width: 100%; height: 100%; object-fit: cover; }
.sc-tier__range {
	padding-top: 20px;
	border-top: 1px solid var(--azafran);
	color: var(--ceniza);
	font-size: 15px;
}
.sc-tier h3 { margin-top: 10px; font-size: 30px; }
.sc-tier__price {
	margin: 8px 0 14px;
	color: var(--azafran);
	font-family: var(--serif);
	font-size: 40px;
	line-height: 1.1;
}
.sc-tier > p:not([class]) { color: var(--arena); }
.sc-tier__items {
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	color: var(--ceniza);
	font-size: 15px;
	line-height: 2;
}

/* ---------- Cómo funciona ---------- */

.sc-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: clamp(36px, 4vw, 56px);
	margin: 0;
	padding: 0;
	list-style: none;
}
.sc-step { padding-top: 22px; border-top: 1px solid var(--linea); }
.sc-step__n {
	display: block;
	margin-bottom: 18px;
	color: var(--azafran);
	font-family: var(--serif);
	font-size: 52px;
	font-style: italic;
	font-weight: 300;
	line-height: 1;
}
.sc-step h3 { margin-bottom: 12px; font-size: 26px; }
.sc-step p { color: var(--arena); font-size: 16px; }

/* ---------- Zonas ---------- */

.sc-zones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.sc-zones li {
	padding: 12px 20px;
	border: 1px solid var(--linea-fuerte);
	color: var(--arena);
	font-size: 15px;
}

/* ---------- Contacto ---------- */

.sc-contact {
	display: grid;
	gap: clamp(40px, 6vw, 96px);
}
@media (min-width: 900px) {
	.sc-contact { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
}
.sc-contact__intro h2 { font-size: clamp(38px, 4.8vw, 62px); }
.sc-contact__intro > p { max-width: 42ch; margin-top: 22px; color: var(--arena); }
.sc-contact__direct {
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	line-height: 2.1;
}
.sc-contact__direct a { color: var(--hueso); text-decoration: underline; text-decoration-color: var(--linea-fuerte); text-underline-offset: 5px; }
.sc-contact__direct a:hover { color: var(--azafran); text-decoration-color: var(--azafran); }
.sc-contact__direct li:last-child { color: var(--ceniza); }

.sc-form { display: grid; gap: 24px; align-content: start; }
.sc-form__pair { display: grid; gap: 24px; }
@media (min-width: 560px) {
	.sc-form__pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sc-field label {
	display: block;
	margin-bottom: 4px;
	color: var(--arena);
	font-size: 15px;
}
.sc-field input,
.sc-field textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 10px 0 12px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--linea-fuerte);
	border-radius: 0;
	color: var(--hueso);
	font-family: var(--sans);
	font-size: 17px;
	font-weight: 350;
	color-scheme: dark;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.sc-field textarea { resize: vertical; line-height: 1.5; }
.sc-field input:focus,
.sc-field textarea:focus {
	outline: none;
	border-bottom-color: var(--azafran);
	box-shadow: 0 1px 0 0 var(--azafran);
}
.sc-field [aria-invalid="true"] { border-bottom-color: var(--brasa); }
.sc-field__error { margin-top: 8px; color: var(--brasa); font-size: 14px; }

.sc-check {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 4px 12px;
	align-items: start;
}
.sc-check input {
	display: grid;
	place-content: center;
	width: 22px;
	height: 22px;
	margin: 2px 0 0;
	border: 1px solid var(--arena);
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease;
}
.sc-check input::after {
	content: "";
	width: 11px;
	height: 6px;
	margin-top: -3px;
	border: solid var(--carbon);
	border-width: 0 0 2px 2px;
	transform: rotate(-45deg) scale(0);
	transition: transform .15s ease;
}
.sc-check input:checked { background: var(--azafran); border-color: var(--azafran); }
.sc-check input:checked::after { transform: rotate(-45deg) scale(1); }
.sc-check input[aria-invalid="true"] { border-color: var(--brasa); }
.sc-check label { color: var(--arena); font-size: 15px; line-height: 1.55; cursor: pointer; }
.sc-check label a { text-decoration: underline; text-underline-offset: 4px; }
.sc-check .sc-field__error { grid-column: 2; margin-top: 0; }

.sc-form__submit { justify-self: start; margin-top: 6px; }

.sc-form__status:empty { display: none; }
.sc-form__status { padding-left: 16px; border-left: 2px solid var(--azafran); color: var(--hueso); }
.sc-form__status.is-error,
.sc-form__status.is-fail { border-left-color: var(--brasa); color: var(--brasa); }

.sc-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Pie ---------- */

.sc-footer { border-top: 1px solid var(--linea); }
.sc-footer__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px 32px;
	padding: 28px var(--inline);
	color: var(--ceniza);
	font-size: 14px;
}
.sc-footer__links { display: flex; flex-wrap: wrap; gap: 4px 28px; margin: 0; padding: 0; list-style: none; }
.sc-footer__links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ceniza); }
.sc-footer__links a:hover { color: var(--hueso); }

/* ---------- Páginas de texto (Impressum, Datenschutz…) ---------- */

.sc-page { padding: calc(var(--header-h) + clamp(48px, 8vw, 96px)) var(--gutter) clamp(72px, 10vw, 128px); }
.sc-prose { max-width: 70ch; margin: 0 auto; }
.sc-prose h1 { margin-bottom: 32px; font-size: clamp(42px, 5.4vw, 68px); font-weight: 300; }
.sc-prose h2 { margin: 2em 0 .6em; font-size: clamp(28px, 3vw, 36px); }
.sc-prose h3 { margin: 1.6em 0 .5em; font-size: 24px; }
.sc-prose p,
.sc-prose li { color: var(--arena); }
.sc-prose p + p { margin-top: 1em; }
.sc-prose ul,
.sc-prose ol { padding-left: 1.2em; }
.sc-prose a:not(.sc-btn) { text-decoration: underline; text-underline-offset: 4px; }
.sc-prose .sc-btn { margin-top: 24px; }
.sc-entry + .sc-entry { margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--linea); }

/* ---------- Movimiento reducido ---------- */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
	.sc-marquee { -webkit-mask-image: none; mask-image: none; }
	.sc-marquee__track { width: auto; animation: none; }
	.sc-marquee__list { flex-wrap: wrap; gap: 8px 40px; padding: 0; }
	.sc-marquee__list[aria-hidden] { display: none; }
}
