.boton {
	align-items:center;
	background:var(--aviso);
	border:0;
	border-radius:var(--radio-medio);
	color:var(--nube-0);
	cursor:pointer;
	display:inline-flex;
	font-family:var(--fuente-texto);
	font-size:1rem;
	font-weight:700;
	gap:0.6rem;
	min-height:48px;
	padding:0.85rem 1.5rem;
	text-decoration:none;
}

.boton:hover {
	background:#a5370a;
}

.nav-escritorio .boton,
.menu-movil .boton {
	color:var(--nube-0);
}

.boton .flecha {
	text-decoration:underline;
	text-underline-offset:4px;
}

.enlace-flecha {
	align-items:center;
	color:var(--berenjena);
	display:inline-flex;
	font-weight:700;
	gap:0.4rem;
	min-height:44px;
	text-decoration:none;
}

.enlace-flecha span {
	text-decoration:underline;
	text-underline-offset:4px;
}

.seccion-oscura .enlace-flecha,
.hero .enlace-flecha {
	color:var(--nube-0);
}

/* hero diagonal-veil */
.hero {
	background:var(--asfalto);
	min-height:90vh;
	overflow:hidden;
	position:relative;
}

.hero-foto {
	background-position:50% 38%;
	background-repeat:no-repeat;
	background-size:cover;
	inset:0;
	position:absolute;
}

.hero-velo {
	background:linear-gradient(118deg, rgba(20, 20, 24, 0.12) 0%, rgba(20, 20, 24, 0.45) 46%, rgba(20, 20, 24, 0.92) 78%);
	inset:0;
	position:absolute;
}

.hero-interna {
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	min-height:90vh;
	padding-block:7rem var(--space-xl);
	position:relative;
}

.hero-interna .etiqueta {
	color:var(--nube-2);
	margin-bottom:var(--space-md);
}

.hero-titulo {
	color:var(--nube-0);
	max-width:16ch;
}

.hero-sub {
	color:var(--nube-1);
	font-size:1.2rem;
	margin-top:var(--space-md);
	max-width:46ch;
}

.hero-acciones {
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-md);
	margin-top:var(--space-lg);
}

.hero-chips {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-2xs);
	margin-top:var(--space-lg);
}

.chip {
	background:rgba(255, 255, 255, 0.1);
	border:1px solid rgba(255, 255, 255, 0.22);
	border-radius:999px;
	color:var(--nube-0);
	font-size:0.85rem;
	font-weight:600;
	padding:0.4rem 0.9rem;
}

/* marquee-band */
.marquee {
	background:var(--berenjena);
	color:var(--nube-0);
	overflow:hidden;
	padding-block:var(--space-sm);
	white-space:nowrap;
}

.marquee-pista {
	animation:deslizar 34s linear infinite;
	display:inline-block;
	font-family:var(--fuente-display);
	font-size:1.1rem;
	font-weight:700;
	padding-left:100%;
}

.marquee-pista span {
	padding-inline:1.2rem;
}

.marquee-pista i {
	color:rgba(255, 255, 255, 0.55);
	font-style:normal;
}

@keyframes deslizar {
	from {
		transform:translateX(0);
	}

	to {
		transform:translateX(-100%);
	}
}

@media (prefers-reduced-motion:reduce) {
	.marquee-pista {
		animation:none;
		padding-left:0;
	}
}

/* interactive-map */
.mapa-envoltorio {
	align-items:start;
	display:grid;
	gap:var(--space-lg);
	grid-template-columns:1fr;
}

.mapa {
	background:var(--nube-0);
	box-shadow:var(--sombra-doble);
	overflow:hidden;
	position:relative;
}

.mapa > img {
	width:100%;
}

.mapa-punto {
	align-items:center;
	background:var(--aviso);
	border:3px solid var(--nube-0);
	border-radius:999px;
	box-shadow:var(--sombra-suave);
	color:var(--nube-0);
	cursor:pointer;
	display:flex;
	font-size:1.3rem;
	font-weight:700;
	height:44px;
	justify-content:center;
	line-height:1;
	padding:0;
	position:absolute;
	transform:translate(-50%, -50%);
	width:44px;
}

.mapa-punto.on {
	background:var(--berenjena);
}

.mapa-texto {
	background:var(--nube-1);
	border-radius:var(--radio-grande);
	padding:var(--space-lg);
}

.mapa-ficha {
	border-left:3px solid var(--berenjena);
	display:none;
	padding-left:var(--space-md);
}

.mapa-ficha.entered {
	display:block;
}

.mapa-ficha h3 {
	margin-bottom:var(--space-2xs);
}

/* catalog sticky-sidebar */
.catalogo {
	align-items:start;
	display:grid;
	gap:var(--space-xl);
	grid-template-columns:1fr;
}

.catalogo-lado {
	position:static;
}

.catalogo-lado .etiqueta {
	display:block;
	margin-bottom:var(--space-md);
}

.catalogo-filtros {
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-2xs);
	list-style:none;
}

.catalogo-filtros button {
	background:var(--nube-1);
	border:0;
	border-radius:999px;
	color:var(--asfalto);
	cursor:pointer;
	font-family:var(--fuente-texto);
	font-size:0.92rem;
	font-weight:600;
	min-height:44px;
	padding:0.5rem 1.1rem;
}

.catalogo-filtros button.on {
	background:var(--berenjena);
	color:var(--nube-0);
}

.catalogo-nota {
	background:var(--berenjena-tenue);
	border-radius:var(--radio-medio);
	color:var(--asfalto);
	font-size:0.92rem;
	margin-top:var(--space-md);
	padding:var(--space-md);
}

.prendas {
	display:grid;
	gap:var(--space-lg);
	grid-template-columns:1fr;
}

.catalogo > *,
.mapa-envoltorio > *,
.prendas > * {
	min-width:0;
}

.prenda {
	background:var(--nube-1);
	display:flex;
	flex-direction:column;
	overflow:hidden;
}

.prenda-foto {
	aspect-ratio:4 / 3;
	overflow:hidden;
}

.prenda-foto img {
	height:100%;
	object-fit:cover;
	width:100%;
}

.prenda-muestra {
	align-items:flex-end;
	aspect-ratio:4 / 3;
	display:flex;
	padding:var(--space-md);
	position:relative;
}

.prenda-muestra::after {
	border:2px dashed rgba(255, 255, 255, 0.5);
	border-radius:var(--radio-medio);
	content:"";
	inset:var(--space-sm);
	position:absolute;
}

.prenda-muestra span {
	background:rgba(20, 20, 24, 0.55);
	border-radius:999px;
	color:var(--nube-0);
	font-size:0.8rem;
	font-weight:600;
	padding:0.3rem 0.8rem;
	position:relative;
}

.prenda-cuerpo {
	display:flex;
	flex-direction:column;
	flex:1;
	gap:var(--space-2xs);
	padding:var(--space-md) var(--space-md) var(--space-lg);
}

.prenda-cat {
	color:var(--niebla);
	font-size:0.74rem;
	font-weight:700;
	letter-spacing:0.14em;
	text-transform:uppercase;
}

.prenda h3 {
	font-size:1.25rem;
}

.prenda-datos {
	color:var(--niebla);
	font-size:0.92rem;
	margin:0;
}

.prenda-pie {
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-sm);
	justify-content:space-between;
	margin-top:auto;
	padding-top:var(--space-sm);
}

.prenda-precio {
	font-family:var(--fuente-display);
	font-size:1.6rem;
	font-weight:800;
}

.prenda-estado {
	color:var(--berenjena);
	font-size:0.82rem;
	font-weight:700;
}

/* owners block + quote */
.cita {
	background:var(--nube-0);
	border-left:4px solid var(--berenjena);
	border-radius:var(--radio-medio);
	box-shadow:var(--sombra-suave);
	color:var(--asfalto);
	padding:var(--space-lg);
}

.cita p {
	font-family:var(--fuente-display);
	font-size:1.2rem;
	font-weight:600;
	line-height:1.4;
}

.cita span {
	color:var(--niebla);
	font-size:0.88rem;
	font-weight:600;
}

/* CTA band */
.cta-banda {
	background:var(--asfalto);
	border-radius:var(--radio-grande);
	color:var(--nube-0);
	display:flex;
	flex-direction:column;
	gap:var(--space-md);
	padding:var(--space-xl);
}

.cta-banda h2 {
	color:var(--nube-0);
	max-width:18ch;
}

/* cookie privacy-tray */
.privacy-tray {
	background:var(--nube-0);
	border:1px solid var(--nube-2);
	border-radius:var(--radio-medio);
	bottom:var(--space-md);
	box-shadow:var(--sombra-doble);
	color:var(--asfalto);
	display:none;
	max-width:340px;
	padding:var(--space-sm) var(--space-md);
	position:fixed;
	right:var(--space-md);
	z-index:800;
}

.privacy-tray.on {
	display:block;
}

.privacy-tray p {
	font-size:0.84rem;
	margin-bottom:var(--space-2xs);
}

.privacy-tray a {
	color:var(--berenjena);
}

.privacy-tray-botones {
	display:flex;
	gap:var(--space-2xs);
}

.privacy-tray-botones button {
	border-radius:var(--radio-medio);
	cursor:pointer;
	flex:1;
	font-family:var(--fuente-texto);
	font-weight:700;
	min-height:44px;
	padding:0.5rem 1rem;
}

.tray-si {
	background:var(--aviso);
	border:0;
	color:var(--nube-0);
}

.tray-no {
	background:var(--nube-1);
	border:1px solid var(--nube-2);
	color:var(--asfalto);
}

/* contact form */
.formulario {
	background:var(--nube-1);
	border-radius:var(--radio-grande);
	display:flex;
	flex-direction:column;
	gap:var(--space-md);
	padding:var(--space-lg);
}

.campo {
	display:flex;
	flex-direction:column;
	gap:var(--space-3xs);
}

.campo label {
	font-weight:600;
}

.campo input,
.campo textarea {
	background:var(--nube-0);
	border:1px solid var(--nube-2);
	border-radius:var(--radio-medio);
	color:var(--asfalto);
	font-family:var(--fuente-texto);
	font-size:1rem;
	padding:0.8rem 1rem;
	width:100%;
}

.campo textarea {
	min-height:120px;
	resize:vertical;
}

.campo input:focus,
.campo textarea:focus {
	border-color:var(--berenjena);
	outline:none;
}

.consentimiento {
	align-items:flex-start;
	display:flex;
	font-size:0.9rem;
	gap:var(--space-2xs);
}

.consentimiento input {
	margin-top:0.25rem;
}

.campo-error {
	color:var(--aviso);
	font-size:0.85rem;
	font-weight:600;
}

.aviso-form {
	border-radius:var(--radio-medio);
	font-weight:600;
	padding:var(--space-sm) var(--space-md);
}

.aviso-form.es-error {
	background:#fbe7de;
	color:#8a2c07;
}

.aviso-form.es-ok {
	background:#e4f0e6;
	color:#1f5c2b;
}

/* legal pages */
.legal-cabecera {
	background:var(--nube-1);
	padding-block:var(--space-xl) var(--space-lg);
}

.legal-cabecera h1 {
	font-size:clamp(2.2rem, 4vw, 3.4rem);
	max-width:20ch;
}

.indice {
	background:var(--nube-0);
	border-radius:var(--radio-grande);
	box-shadow:var(--sombra-suave);
	list-style:none;
	padding:var(--space-lg);
}

.indice li {
	border-bottom:1px solid var(--nube-2);
}

.indice li:last-child {
	border-bottom:0;
}

.indice a {
	display:block;
	font-weight:600;
	padding:0.7rem 0;
	text-decoration:none;
}

.bloque-legal {
	margin-bottom:var(--space-xl);
}

.bloque-legal h2 {
	margin-bottom:var(--space-md);
}

.tarjeta {
	background:var(--nube-1);
	border-radius:var(--radio-grande);
	padding:var(--space-lg);
}

.tarjeta-borde {
	background:var(--nube-0);
	border-left:4px solid var(--berenjena);
	border-radius:var(--radio-medio);
	box-shadow:var(--sombra-suave);
	padding:var(--space-lg);
}

.tabla-datos {
	overflow-wrap:anywhere;
	table-layout:fixed;
}

.tabla-datos th,
.tabla-datos td {
	border-bottom:1px solid var(--nube-2);
	padding:0.7rem var(--space-sm);
	text-align:left;
	vertical-align:top;
}

.tabla-datos th[scope="row"] {
	color:var(--niebla);
	font-weight:600;
	width:38%;
}

.tabla-cookies {
	display:block;
	overflow-x:auto;
}

/* contact data */
.datos-contacto {
	background:var(--asfalto);
	border-radius:var(--radio-grande);
	color:var(--nube-1);
	padding:var(--space-lg);
}

.datos-contacto h2 {
	color:var(--nube-0);
	font-size:1.4rem;
}

.datos-contacto a {
	color:var(--nube-0);
}

.datos-contacto dl {
	display:grid;
	gap:var(--space-2xs) var(--space-md);
	grid-template-columns:auto 1fr;
	margin:var(--space-md) 0 0;
}

.datos-contacto dt {
	color:var(--nube-2);
	font-weight:600;
}

.datos-contacto dd {
	margin:0;
}

/* generic */
.plomo {
	color:var(--niebla);
	font-size:1.15rem;
	max-width:60ch;
}

.pila-md > * + * {
	margin-top:var(--space-md);
}

.servicio-pagina {
	min-height:60vh;
	padding-block:var(--space-3xl) var(--space-2xl);
}

.servicio-cola {
	min-height:30vh;
}

.seccion-contacto {
	padding-block:var(--space-lg) var(--space-2xl);
}

.form-centro {
	margin-inline:auto;
	max-width:560px;
}

.prenda[hidden] {
	display:none;
}

html:not(.oc-js) .mapa-punto,
html:not(.oc-js) .catalogo-filtros,
html:not(.oc-js) #cambiar-cookies {
	display:none;
}

html:not(.oc-js) .mapa-ficha {
	display:block;
}

@media (min-width:860px) {
	.mapa-envoltorio {
		grid-template-columns:1.4fr 1fr;
	}

	.catalogo {
		grid-template-columns:260px 1fr;
	}

	.catalogo-lado {
		position:sticky;
		top:6rem;
	}

	.prendas {
		grid-template-columns:1fr 1fr;
	}

	.cta-banda {
		align-items:center;
		flex-direction:row;
		justify-content:space-between;
	}

	.hero-interna {
		padding-bottom:var(--space-2xl);
	}
}

@media (min-width:1160px) {
	.prendas {
		grid-template-columns:repeat(4, 1fr);
	}
}
