/*
Theme Name: Aquitania
Theme URI: https://aquitania.net
Author: Aquitania Mobles
Description: Tema a medida para Aquitania Mobles · Interiorismo en Baleares. Al activarlo crea todas las páginas de la web.
Version: 2.6.6
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aquitania
*/

/* Fuente mínima con una sola letra: la flecha de los botones (Descubrir, Contactar...). Va incluida aquí
   para que se vea igual en todos los móviles: muchos no tienen esa flecha en sus fuentes y mostraban un rectángulo. */
@font-face { font-family: "Aquitania Flecha"; src: url(data:font/woff;base64,d09GRgABAAAAAAKQAAoAAAAAAsQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABZAAAADIAAABgSldLsWNtYXAAAAGgAAAAOQAAAFAAHvF7Z2x5ZgAAAeQAAAAuAAAALmyUv6xoZWFkAAAA9AAAADYAAAA2MxtcMWhoZWEAAAEsAAAAIAAAACQNfAS9aG10eAAAAZgAAAAIAAAACAnsALRsb2NhAAAB3AAAAAYAAAAGABcAAG1heHAAAAFMAAAAFgAAACAABAALbmFtZQAAAhQAAABhAAAAe5u25n5wb3N0AAACeAAAABgAAAAtzmtpzgABAAAAAQAAzgE+L18PPPUAAwgAAAAAAOb7iLYAAAAA5vuItgC0AJEFWgU8AAAAAwACAAAAAAAAeJxjYGRgYM/5x8PAwMbCsIVhFWsUAyMDKmACAFOeA0l4nGNgZGBgYGLgZADRIBYaAAABjwAQAAB4nGNgZvnGOIGBlYGFgQjAhMS2t7e3Z2D4////f/acfzwMDOw5jF/QlCswMAAAdAUJlwAAA+gAAAYEALR4nC3KsQ3AIBADwHtIhTJACsZgJPav0xHxpDhblozq6Kr4u2G4PCgKrJX2495bzyTEOxPxActQB4UAAAAAAAAAABcAAAABALQAkQVaBTwACAAAEyEXIQEHAREntAQQlvxUA6xp/FSRBTyW/FRpA6z8VJEAAHicLcYxCoMwAEDRFyuULsWtq6doZxcP4A2CBA0EQTH3L5a+4fPRegsuQffrpXHXuQntQ9B7/b/x9Bn2ms+45diPJc1rnNJSSzwMdlV2ijZZ1BsVyWwVTZJFVUTHFyP3EqwAAAB4nGNgYsAPmBgYGJnY0nJSkzMSAQlOAnE=) format("woff"); unicode-range: U+1F864; font-display: block; }


/* =========================================================
   COLORES Y MEDIDAS GLOBALES
   ========================================================= */
:root {
	--ink: #1a1a1a;
	--btn: #484847;
	--line: 1px solid var(--ink);
	--gutter: clamp(16px, 1.4vw, 24px);
	--pad: clamp(16px, 3.1vw, 45px);
	--display: "Wix Madefor Display", system-ui, sans-serif;
	--text: "Wix Madefor Text", system-ui, sans-serif;
}

body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, p, figure, ul, ol { margin: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Imágenes ---------- */
.wp-block-image { margin: 0; }
.wp-block-image img { display: block; width: 100%; height: auto; }
.wp-block-image a { display: block; }

/* ---------- Botones ---------- */
.wp-block-buttons { gap: 0; }
.wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 180px; height: 41px; padding: 0;
	background: var(--btn); color: #fff; border-radius: 0;
	font-family: var(--text); font-size: 17.8px; text-transform: uppercase; line-height: 1;
	transition: background .25s;
}
.wp-block-button .wp-block-button__link:hover { color: #fff; }
.btn--tall .wp-block-button__link { height: 56px; }

/* ---------- Portadas con texto encima (bloque Portada) ---------- */
.wp-block-cover.hero, .wp-block-cover.p-hero, .wp-block-cover.s-hero { padding: 0; }
.wp-block-cover .wp-block-cover__inner-container { width: 100%; }

/* =========================================================
   CABECERA
   ========================================================= */
.site-header {
	position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; background: #fff;
	transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease;
}
.site-header.is-scrolled { box-shadow: 0 1px 0 rgba(26, 26, 26, .12); }
.site-header.is-hidden { transform: translateY(-110%); }

/* Subrayado que se dibuja al pasar el ratón */
.header .wp-block-navigation-item__content span,
.header .wp-block-navigation-item__content:not(:has(span)),
.footer-pro a, .discover a {
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
	transition: background-size .45s cubic-bezier(.2, .7, .2, 1);
	text-decoration: none;
	padding-bottom: 1px;
}
.header .wp-block-navigation-item__content:hover span,
.header .wp-block-navigation-item__content:not(:has(span)):hover,
.footer-pro a:hover, .discover a:hover { background-size: 100% 1px; }
.header {
	height: 45px;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
	padding: 0 var(--gutter);
}
.header .wp-block-navigation { font-size: 13.5px; gap: 0; }
.header .wp-block-navigation .wp-block-navigation-item__content { padding: 6px 11px; }
.header .wp-block-navigation__container > .wp-block-navigation-item:first-child > .wp-block-navigation-item__content { padding-left: 0; }
.header .wp-block-navigation [aria-current="page"] { text-decoration: underline; text-underline-offset: 3px; }
.header .wp-block-navigation .wp-block-navigation__submenu-icon { margin-left: 2px; width: 9px; height: 9px; }
.header .wp-block-navigation .wp-block-navigation__submenu-container {
	border: var(--line) !important; padding: 6px 0; min-width: 160px !important; background: #fff;
}
.header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 14px; }
.header .wp-block-site-logo { justify-self: center; }
.header .wp-block-site-logo img { height: auto; }
/* Selector de idioma */
.lang-switch { justify-self: end; }
.lang-switch ul { list-style: none; display: flex; gap: 2px; margin: 0; padding: 0; font-size: 12px; letter-spacing: .08em; }
.lang-switch a { display: block; padding: 6px; opacity: .4; transition: opacity .25s; }
.lang-switch a:hover, .lang-switch .is-current { opacity: 1; }
.lang-switch .is-current { text-decoration: underline; text-underline-offset: 4px; }

/* Hueco del logo mientras no se suba ninguno */
.logo-ph a {
	display: flex; align-items: center; justify-content: center;
	width: 147px; height: 32px; border: 1px dashed #b9b8b4;
	color: #8a8985; font-size: 11px; letter-spacing: .04em; text-transform: uppercase;
}

/* =========================================================
   PIE
   ========================================================= */
.footer-pro {
	background: var(--ink); color: #f1efeb;
	padding: 80px var(--pad) 28px; overflow: hidden;
}
.footer-top {
	display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 40px;
	padding-bottom: 56px;
}
.footer-logo { display: inline-block; }
.footer-logo img { width: 64px; height: 64px; display: block; }
.logo-ph-pie {
	display: flex; align-items: center; justify-content: center; width: 180px; height: 64px;
	border: 1px dashed rgba(255, 255, 255, .4); color: rgba(255, 255, 255, .7);
	font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
}
.footer-claim { font-family: var(--display); font-size: 26px; line-height: 1.15; margin-top: 28px; }
.footer-text { margin-top: 10px; max-width: 300px; font-size: 14px; color: rgba(241, 239, 235, .6); }
.footer-h {
	font-family: var(--text); font-weight: 400; font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
	color: rgba(241, 239, 235, .5); margin-bottom: 20px;
}
.footer-col p { font-size: 15.5px; line-height: 1.85; }
.footer-store { margin-bottom: 8px; line-height: 1.45 !important; }
.footer-tel { font-size: 13.5px; color: rgba(241, 239, 235, .55); }
.footer-word { border-top: 1px solid rgba(241, 239, 235, .16); padding-top: 48px; margin-bottom: 40px; }
/* El logo trae margen transparente: este marco muestra solo las letras, al mismo tamaño que la palabra anterior. */
.footer-word-marco { width: min(80vw, 1150px); margin: 0 auto; aspect-ratio: 1724 / 258; overflow: hidden; }
.footer-word img { display: block; width: 116.01%; max-width: none; height: auto; margin: -6.79% 0 0 -7.95%; }
.footer-bottom {
	display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap;
	font-size: 13px; color: rgba(241, 239, 235, .6);
	border-top: 1px solid rgba(241, 239, 235, .16); padding-top: 20px;
}
.footer-bottom .legal { display: flex; gap: 24px; }
.footer-pro a:hover { color: #fff; }



/* =========================================================
   TÍTULOS COMUNES
   ========================================================= */
.section-title { font-size: clamp(36px, 4.38vw, 62px); line-height: 1.1; padding: 0 var(--gutter); }
.mega { font-size: clamp(52px, 8.22vw, 117px); line-height: 1; }

/* =========================================================
   INICIO
   ========================================================= */
.wp-block-cover.hero { height: min(792px, calc(100vh - 45px)); min-height: 460px; }
.hero .wp-block-cover__inner-container { color: var(--ink); text-align: center; }
.hero-title { font-family: var(--display); font-size: clamp(18px, 1.6vw, 23px); line-height: 1; }

.integral { border-top: var(--line); }
.integral .section-title { padding-top: 28px; padding-bottom: 14px; }
.integral-grid { display: grid; grid-template-columns: minmax(0, 478fr) minmax(0, 947fr); border-top: var(--line); border-bottom: var(--line); }
.integral-img { border-right: var(--line); }
.integral-img img { height: 100%; }
.steps { display: flex; flex-direction: column; }
.step {
	display: grid; grid-template-columns: 50px minmax(0, 418px) minmax(0, 1fr); align-items: center;
	border-bottom: var(--line); padding: 16px 20px 16px 22px; min-height: 84px;
}
.step h3 { font-size: clamp(24px, 2.5vw, 35.6px); line-height: 1.2; }
.steps-cta { flex: 1; display: flex; justify-content: flex-end; align-items: center; padding: 22px 18px; }

.stores .section-title { padding-top: 34px; padding-bottom: 14px; }
.stores-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: var(--line); }
.store { display: flex; flex-direction: column; border-bottom: var(--line); }
.store:nth-child(odd) { border-right: var(--line); }
.store-head {
	display: flex; justify-content: space-between; align-items: center;
	padding: 18px 58px 18px var(--gutter); border-top: var(--line); border-bottom: var(--line);
}
.store-head h3 { font-size: clamp(26px, 2.5vw, 35.6px); line-height: 1.2; }
.discover { font-size: 17.8px; }
.discover a { text-decoration: underline; text-underline-offset: 3px; }
.discover a:hover { opacity: .6; }
.store-desc { padding: 22px var(--gutter) 28px; max-width: 560px; }

.essence { padding-top: 56px; }
.essence .mega { text-transform: uppercase; padding: 0 var(--gutter); }
.essence-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding: 22px var(--gutter); }
.essence-row p { font-size: 17.8px; max-width: 300px; }
.essence-row .wp-block-buttons { margin-right: 16px; }

/* =========================================================
   PROYECTOS (listado)
   ========================================================= */
.wp-block-cover.p-hero { aspect-ratio: 1425 / 721; max-height: calc(100vh - 45px); min-height: 380px; border-bottom: var(--line); align-items: flex-start; }
.p-hero .wp-block-cover__inner-container { color: #fff; padding: 34px 41px; }
.p-hero h1 { font-size: clamp(40px, 5.7vw, 81px); line-height: 1; }
.p-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: var(--line); min-height: 459px; }
.p-col { padding: 20px 30px; }
.p-num { font-size: 18px; }
.p-row h2 { font-size: clamp(34px, 3.75vw, 53px); text-transform: uppercase; margin-top: 18px; }
.p-img { padding: 17px 6px; }
.p-text { display: flex; flex-direction: column; gap: 32px; padding-top: 21px; }
.p-text p { font-size: 18px; max-width: 340px; }

/* =========================================================
   PROYECTO (detalle)
   ========================================================= */
.pd { padding: 0 var(--pad) 90px; }
.pd-head { border-bottom: var(--line); min-height: 205px; }
.pd-head h1 { font-size: clamp(56px, 8.22vw, 117px); line-height: 1; padding-top: 63px; }
.pd-cover { border-bottom: var(--line); }
.pd-grid { display: grid; grid-template-columns: minmax(0, 657fr) minmax(0, 656fr); column-gap: 23px; margin-top: 64px; align-items: start; }
.pd-stack { display: flex; flex-direction: column; gap: 21px; }
.pd-full { margin-top: 61px; }
.pd-pair { display: grid; grid-template-columns: minmax(0, 633fr) minmax(0, 214fr) minmax(0, 532fr); margin-top: 59px; align-items: start; }
.pd-pair .a { margin-top: 95px; }
.pd-pair .b { grid-column: 3; }

/* =========================================================
   TIENDA
   ========================================================= */
.wp-block-cover.s-hero { aspect-ratio: 1425 / 646; max-height: calc(100vh - 45px); min-height: 420px; align-items: flex-end; }
.s-hero .wp-block-cover__inner-container { color: #fff; padding: 0 var(--gutter) 58px 51px; }
.s-hero h1 { font-size: clamp(64px, 8.22vw, 117px); line-height: 1; }
.s-hero p { max-width: 502px; font-size: 16px; margin-top: 9px; padding-left: 6px; }
.s-info { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px; padding: 0 var(--pad); }
.s-col { border-bottom: var(--line); padding: 39px 27px 45px; }
.s-col h2 { font-size: clamp(28px, 2.5vw, 36px); line-height: 1.2; margin-bottom: 20px; }
.hours { display: flex; flex-direction: column; gap: 10px; max-width: 575px; }
.hours-row { display: flex; justify-content: space-between; gap: 16px; border: var(--line); border-radius: 6px; padding: 9px 21px; font-size: 18px; }
.s-img { max-width: 590px; margin-top: 34px; }
.contact-lines { display: flex; flex-direction: column; gap: 22px; font-size: 18px; }
.contact-lines a { text-decoration: underline; text-underline-offset: 3px; }
.s-gallery { display: grid; grid-template-columns: minmax(0, 665fr) minmax(0, 664fr); column-gap: 6px; padding: 15px var(--pad) 90px; align-items: start; }
.s-gallery .g2 { grid-row: span 2; }
.s-gallery .g-text { padding: 40px 0 0 1px; max-width: 445px; font-size: 16px; }
.s-gallery .g3, .s-gallery .g4 { margin-top: 176px; }
.s-gallery .g5 { grid-column: 1 / -1; width: 73%; margin-top: 32px; }
.s-pair { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 514fr) minmax(0, 82fr) minmax(0, 739fr); margin-top: 49px; align-items: start; }
.s-pair .g6 { margin-top: 81px; }
.s-pair .g7 { grid-column: 3; margin-top: -32px; }

/* =========================================================
   FIRMAS
   ========================================================= */
.f-title { font-size: clamp(34px, 3.75vw, 53px); padding: 75px 0 0 121px; }
.carousel { position: relative; margin-top: 70px; }
.carousel-track {
	display: flex; flex-wrap: nowrap; gap: 25px; overflow-x: auto;
	scroll-snap-type: x mandatory; padding: 0 101px; scroll-padding-inline: 101px; scrollbar-width: none;
}
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-track .wp-block-image { flex: none; scroll-snap-align: start; }
.carousel-track .wp-block-image img { width: auto; height: 276px; }
.c-btn {
	position: absolute; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; border-radius: 50%;
	background: #fff; color: var(--ink); border: 0; cursor: pointer; display: grid; place-items: center;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
}
.c-btn svg { width: 12px; height: 12px; }
.c-prev { left: 45px; }
.c-next { right: 45px; }
.brands { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px 0; padding: 70px 45px 110px 49px; }
.brands .wp-block-image { padding: 10px 14px; transition: opacity .2s; }
.brands .wp-block-image:hover { opacity: .6; }

/* =========================================================
   CONTACTO
   ========================================================= */
.contact {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: start;
	max-width: 1320px; margin: 0 auto; padding: 72px var(--pad) 96px;
}
.contact h1 { font-family: var(--text); font-size: clamp(28px, 2.5vw, 36px); line-height: 1.15; max-width: 460px; margin-bottom: 16px; }
.contact-intro { max-width: 440px; margin-bottom: 44px; font-size: 17px; line-height: 1.55; color: #3a3a39; }
.contact-img { position: sticky; top: 80px; }
.form { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 36px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field--full { grid-column: 1 / -1; }
.field label { font-size: 16px; }
.field input, .field select, .field textarea {
	font: inherit; font-size: 16px; color: var(--ink); background: transparent;
	border: 0; border-bottom: 1px solid rgba(26, 26, 26, .6); border-radius: 0; padding: 8px 0; outline: none; width: 100%;
}
.field input:focus, .field select:focus, .field textarea:focus { border-bottom-color: var(--ink); }
.field select {
	appearance: none; -webkit-appearance: none; cursor: pointer; color: #444;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%231a1a1a' stroke-width='1.2'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") right 4px center / 12px no-repeat;
}
.field textarea { height: 75px; resize: vertical; }
.form-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; }
.form-check input { margin-top: 2px; accent-color: var(--ink); }
.form-check a { text-decoration: underline; }
.form-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-submit { grid-column: 1 / -1; display: flex; justify-content: center; margin-top: 7px; }
.form-submit button {
	width: 313px; height: 41px; background: var(--ink); color: #fff; border: 0; border-radius: 3px;
	font: inherit; font-size: 14px; cursor: pointer; transition: opacity .2s;
}
.form-submit button:hover { opacity: .85; }
.form-aviso { padding: 12px 16px; margin-bottom: 24px; border: var(--line); font-size: 15px; }
.form-aviso--error { border-color: #a33; color: #a33; }

/* =========================================================
   PÁGINAS LEGALES
   ========================================================= */
.legal-page { max-width: 980px; margin: 0 auto; padding: 80px var(--gutter) 110px; font-size: 15.5px; line-height: 1.6; }
.legal-page h1 { font-size: clamp(40px, 4.38vw, 62px); margin-bottom: 48px; }
.legal-page h2 { font-family: var(--text); font-weight: 500; font-size: 15.5px; letter-spacing: .04em; text-transform: uppercase; margin: 40px 0 14px; }
.legal-page p, .legal-page ul { margin-bottom: 14px; }
.legal-page ul { padding-left: 20px; }
.legal-page a { text-decoration: underline; }
.legal-page .wp-block-table { margin: 20px 0 30px; overflow-x: auto; }
.legal-page .wp-block-table table { border-collapse: collapse; font-size: 13.5px; line-height: 1.4; }
.legal-page .wp-block-table th, .legal-page .wp-block-table td { border: var(--line); padding: 10px; text-align: left; vertical-align: top; }
.legal-page .wp-block-table th { font-weight: 500; }
.legal-page .data-table td:first-child { font-weight: 500; font-size: 13.5px; letter-spacing: .04em; width: 220px; }
.legal-page .wide-table table { min-width: 900px; }
.legal-page .updated { margin-top: 40px; font-size: 13.5px; letter-spacing: .04em; }

/* =========================================================
   MOVIMIENTO Y DETALLES
   (todo se desactiva si la persona tiene «reducir movimiento» activado)
   ========================================================= */

/* Fotos con enlace: zoom lento al pasar el ratón */
.wp-block-image a { overflow: hidden; }
.wp-block-image a img { transition: transform 1.1s cubic-bezier(.2, .7, .2, 1), opacity .4s; }
.wp-block-image a:hover img { transform: scale(1.035); }
.store:hover .store-img img, .p-row:hover .p-img img { transform: scale(1.035); }
.p-img a, .store-img a { display: block; overflow: hidden; }

/* Botones: el color de relleno entra deslizándose */
.wp-block-button .wp-block-button__link {
	background-image: linear-gradient(var(--ink), var(--ink));
	background-repeat: no-repeat; background-size: 0 100%; background-position: 0 0;
	transition: background-size .5s cubic-bezier(.2, .7, .2, 1), letter-spacing .5s;
}
.wp-block-button .wp-block-button__link:hover { background-color: var(--btn); background-size: 100% 100%; letter-spacing: .04em; }
.form-submit button { transition: opacity .2s, letter-spacing .5s; }
.form-submit button:hover { letter-spacing: .06em; }

@media (prefers-reduced-motion: no-preference) {
	/* Aparición al hacer scroll */
	.js-anim .rv {
		opacity: 0; transform: translateY(26px);
		transition: opacity 1s cubic-bezier(.2, .7, .2, 1), transform 1s cubic-bezier(.2, .7, .2, 1);
		transition-delay: var(--d, 0s);
	}
	.js-anim .rv.in { opacity: 1; transform: none; }
	.js-anim .rv-img { opacity: 0; transition: opacity 1.2s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--d, 0s); overflow: hidden; }
	.js-anim .rv-img img { transform: scale(1.08); transition: transform 1.6s cubic-bezier(.2, .7, .2, 1); }
	.js-anim .rv-img.in { opacity: 1; }
	.js-anim .rv-img.in img { transform: none; }
	.js-anim .rv-img.in a:hover img { transform: scale(1.035); }
	.js-anim .store:hover .rv-img.in img, .js-anim .p-row:hover .rv-img.in img { transform: scale(1.035); }

	/* Portadas: la foto se asienta y el texto sube al cargar */
	.wp-block-cover .wp-block-cover__image-background { animation: aq-settle 2.4s cubic-bezier(.2, .7, .2, 1) both; }
	.wp-block-cover .wp-block-cover__inner-container > * { animation: aq-rise 1.2s cubic-bezier(.2, .7, .2, 1) both; }
	.wp-block-cover .wp-block-cover__inner-container > *:nth-child(1) { animation-delay: .25s; }
	.wp-block-cover .wp-block-cover__inner-container > *:nth-child(2) { animation-delay: .4s; }
	.site-main { animation: aq-fade .6s ease both; }
}
@keyframes aq-settle { from { transform: scale(1.06); } to { transform: none; } }
@keyframes aq-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes aq-fade { from { opacity: 0; } to { opacity: 1; } }

/* Cursor personalizado */
.cursor { display: none; }
.has-cursor .cursor {
	display: block; position: fixed; inset: 0; pointer-events: none; z-index: 9999;
	mix-blend-mode: difference; opacity: 0; transition: opacity .3s;
}
.has-cursor .cursor.is-visible { opacity: 1; }
.has-cursor, .has-cursor a, .has-cursor button, .has-cursor select, .has-cursor label { cursor: none; }
.has-cursor input, .has-cursor textarea { cursor: text; }
.cursor-dot, .cursor-ring { position: absolute; top: 0; left: 0; border-radius: 50%; will-change: transform; }
.cursor-dot { width: 4px; height: 4px; margin: -2px 0 0 -2px; background: #fff; transition: opacity .2s, transform .1s; }
.cursor-ring {
	width: 22px; height: 22px; margin: -11px 0 0 -11px; border: 1px solid rgba(255, 255, 255, .85);
	display: grid; place-items: center;
	transition: width .35s cubic-bezier(.2, .7, .2, 1), height .35s cubic-bezier(.2, .7, .2, 1), margin .35s cubic-bezier(.2, .7, .2, 1), background-color .35s;
}
.cursor-ring em {
	font-style: normal; font-family: var(--text); font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase;
	color: #000; opacity: 0; transition: opacity .25s;
}
.cursor.is-link .cursor-ring { width: 38px; height: 38px; margin: -19px 0 0 -19px; background-color: rgba(255, 255, 255, .08); }
.cursor.is-link .cursor-dot { opacity: 0; }
.cursor.is-view .cursor-ring { width: 58px; height: 58px; margin: -29px 0 0 -29px; background: #fff; }
.cursor.is-view .cursor-ring em { opacity: 1; }
.cursor.is-view .cursor-dot, .cursor.is-text .cursor-dot, .cursor.is-text .cursor-ring { opacity: 0; }
.cursor.is-down .cursor-ring { width: 16px; height: 16px; margin: -8px 0 0 -8px; }

/* =========================================================
   ACABADOS (versión 1.4): rótulos, aire entre secciones y detalles
   ========================================================= */
:root { --suave: #77756f; --texto2: #3a3a39; --piedra: #f1efeb; }

/* Rótulo pequeño encima de los títulos */
.eyebrow {
	display: flex; align-items: center; gap: 14px; margin-bottom: 18px;
	font-family: var(--text); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--suave);
}
.eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .7; flex: none; }
.p-hero .eyebrow, .s-hero .eyebrow { color: inherit; opacity: .85; }

/* Titulares algo más compactos y textos más legibles */
.section-title, .mega, .pd-head h1, .s-hero h1, .p-hero h1, .f-title { letter-spacing: -.02em; }
.store-desc, .p-text p, .s-gallery .g-text, .step p, .contact-lines, .essence-row p { line-height: 1.55; }

/* ---------- Inicio ---------- */
.integral { padding-top: 96px; }
.integral .eyebrow, .stores .eyebrow { padding: 0 var(--gutter); }
.integral .section-title, .stores .section-title { padding-top: 0; padding-bottom: 32px; }
.stores { padding-top: 112px; }
.step-n { font-size: 13px; letter-spacing: .12em; color: var(--suave); }
.step h3 { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.step:hover h3 { transform: translateX(8px); }
.essence { padding-top: 120px; }

/* Franja de marcas en movimiento */
.marcas-home { padding: 104px 0 8px; }
.marcas-head { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; padding: 0 var(--gutter) 28px; }
.marcas-head .eyebrow { margin: 0; }
.marcas-link { font-size: 14px; }
.marcas-link a { background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; padding-bottom: 2px; transition: background-size .45s; }
.marcas-link a:hover { background-size: 0 1px; }
.marquee {
	overflow: hidden; border-top: 1px solid rgba(26, 26, 26, .12); border-bottom: 1px solid rgba(26, 26, 26, .12);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	        mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track { display: flex; flex-wrap: nowrap; width: max-content; }
.marquee-track .wp-block-image { flex: none; width: 210px; padding: 18px 26px; filter: grayscale(1); opacity: .7; transition: opacity .3s; }
.marquee-track .wp-block-image:hover { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
	.marquee-track.is-running { animation: aq-marquee 50s linear infinite; }
	.marquee:hover .marquee-track { animation-play-state: paused; }
}
@keyframes aq-marquee { to { transform: translateX(-50%); } }

/* ---------- Proyectos ---------- */
.p-row { transition: background-color .5s ease; }
.p-row:hover { background-color: var(--piedra); }
.p-num { font-size: 13px; letter-spacing: .12em; color: var(--suave); }
.p-row h2 { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.p-row:hover h2 { transform: translateX(8px); }

/* ---------- Página de cada proyecto ---------- */
.pd { padding-bottom: 0; }
.pd-head {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); column-gap: 48px; align-items: end;
	min-height: 0; padding: 72px 0 40px;
}
.pd-head .eyebrow { grid-column: 1 / -1; }
.pd-head h1 { padding-top: 0; }
.pd-intro { font-size: 17px; line-height: 1.6; color: var(--texto2); padding-bottom: 8px; }
.pd-grid--dos { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pd-nav {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 24px;
	margin-top: 96px; padding: 32px 0 96px; border-top: var(--line);
}
.pd-back a { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.pd-back a:hover { opacity: .6; }
.pd-next { text-align: right; }
.pd-next a { font-family: var(--display); font-size: clamp(28px, 3vw, 44px); line-height: 1.15; display: inline-block; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.pd-next a:hover { transform: translateX(-8px); }
.pd-next em { font-style: normal; font-family: var(--text); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--suave); }

/* ---------- Tiendas ---------- */
.s-gallery { padding-bottom: 96px; }
.s-cta {
	display: flex; justify-content: space-between; align-items: flex-end; gap: 32px;
	margin: 0 var(--pad) 104px; padding-top: 48px; border-top: var(--line);
}
.s-cta h2 { font-size: clamp(44px, 5.5vw, 80px); line-height: 1; letter-spacing: -.02em; }
.s-cta-text p:not(.eyebrow) { max-width: 440px; margin-top: 18px; font-size: 17px; line-height: 1.55; color: var(--texto2); }
.s-cta .wp-block-buttons { gap: 12px; flex-wrap: nowrap; }
.btn--line .wp-block-button__link { background-color: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.btn--line .wp-block-button__link:hover { background-color: transparent; color: #fff; }

/* ---------- Firmas ---------- */
.f-head { padding: 75px var(--gutter) 0 121px; }
.f-title { padding: 0; }
.f-intro { margin-top: 20px; max-width: 520px; font-size: 17px; line-height: 1.55; color: var(--texto2); }

/* ---------- Contacto: las cuatro tiendas ---------- */
.contact-stores { max-width: 1320px; margin: 0 auto; padding: 0 var(--pad) 112px; }
.cs-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: var(--line); }
.cs-item { padding: 28px 24px 8px 0; }
.cs-item + .cs-item { padding-left: 24px; border-left: 1px solid rgba(26, 26, 26, .15); }
.cs-item h3 { font-size: 28px; line-height: 1.1; margin-bottom: 14px; }
.cs-item h3 a:hover { opacity: .6; }
.cs-item p { font-size: 14.5px; line-height: 1.65; color: var(--texto2); }
.cs-item p + p { margin-top: 10px; }
.cs-item p a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Franja antes del pie ---------- */
.pre-footer { background: var(--piedra); padding: 104px var(--pad); text-align: center; }
.pre-footer .eyebrow { justify-content: center; }
.pre-footer-title {
	font-family: var(--display); font-size: clamp(36px, 4.4vw, 62px); line-height: 1.1; letter-spacing: -.02em;
	max-width: 900px; margin: 0 auto 36px;
}
.pre-footer-btn {
	display: inline-flex; align-items: center; gap: 10px; height: 50px; padding: 0 30px;
	background: var(--ink); color: #fff; font-size: 13px; letter-spacing: .14em; text-transform: uppercase;
	transition: gap .35s cubic-bezier(.2, .7, .2, 1), background-color .3s;
}
.pre-footer-btn:hover { gap: 18px; background-color: #000; color: #fff; }

/* =========================================================
   TABLET Y MÓVIL
   ========================================================= */
@media (max-width: 1100px) {
	.step { grid-template-columns: 36px minmax(0, 1fr); row-gap: 6px; }
	.step p:last-child { grid-column: 2; }
	.contact { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; padding-left: var(--pad); }
	.contact-img { grid-column: 2; }
	.brands { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 48px; }
}

@media (max-width: 781px) {
	.header { grid-template-columns: auto 1fr auto; gap: 8px; }
	.header .wp-block-site-logo { order: -1; justify-self: start; }
	.lang-switch { order: 1; }
	.lang-switch ul { font-size: 11px; gap: 0; }
	.lang-switch a { padding: 6px 4px; }
	.header .wp-block-navigation { order: 2; justify-self: end; }
	.header .wp-block-navigation__responsive-container.is-menu-open {
		background: #fff !important; color: var(--ink) !important; padding: 24px var(--gutter);
	}
	.header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { font-size: 22px; gap: 14px; padding-top: 40px; }
	.header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 4px 0 !important; font-size: 22px; }
	.header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 18px; }
	.header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		border: 0 !important; padding: 6px 0 0 18px !important; font-size: 18px; gap: 6px;
	}
	.hours-row { flex-direction: column; gap: 2px; }

	.footer-pro { padding: 56px var(--gutter) 24px; }
	.footer-top { grid-template-columns: 1fr 1fr; gap: 40px 24px; padding-bottom: 40px; }
	.footer-brand { grid-column: 1 / -1; }
	.footer-word { padding-top: 28px; margin-bottom: 24px; }
	.footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }

	.integral-grid { grid-template-columns: 1fr; }
	.integral-img { border-right: 0; border-bottom: var(--line); }
	.steps-cta { justify-content: flex-start; padding: 20px var(--gutter); }
	.step { padding: 16px var(--gutter); }
	.stores-grid { grid-template-columns: 1fr; }
	.store:nth-child(odd) { border-right: 0; }
	.store-head { padding-right: var(--gutter); }
	.essence-row { flex-direction: column; align-items: flex-start; }
	.essence-row .wp-block-buttons { margin-right: 0; }

	.wp-block-cover.p-hero { aspect-ratio: auto; height: 70vh; }
	.p-hero .wp-block-cover__inner-container { padding: 28px var(--gutter); }
	.p-row { grid-template-columns: 1fr; min-height: 0; padding-bottom: 24px; }
	.p-col { padding: 18px var(--gutter) 0; }
	.p-row h2 { margin-top: 8px; }
	.p-img { padding: 16px var(--gutter) 0; }
	.p-text { gap: 20px; }

	.pd-head { min-height: 0; padding-bottom: 24px; }
	.pd-head h1 { padding-top: 40px; }
	.pd-grid, .pd-pair { grid-template-columns: 1fr; row-gap: 16px; margin-top: 16px; }
	.pd-stack { gap: 16px; }
	.pd-full { margin-top: 16px; }
	.pd-pair .a { margin-top: 0; }
	.pd-pair .b { grid-column: 1; }

	.wp-block-cover.s-hero { aspect-ratio: auto; height: 80vh; }
	.s-hero .wp-block-cover__inner-container { padding: 0 var(--gutter) 32px; }
	.s-info { grid-template-columns: 1fr; padding: 0; }
	.s-col { padding: 32px var(--gutter); }
	.hours-row { font-size: 16px; padding: 9px 14px; }
	.s-gallery { grid-template-columns: 1fr; row-gap: 16px; padding: 16px var(--gutter) 60px; }
	.s-gallery .g2 { grid-row: auto; }
	.s-gallery .g-text { padding: 8px 0; }
	.s-gallery .g3, .s-gallery .g4, .s-gallery .g5 { margin-top: 0; }
	.s-gallery .g5 { width: 100%; }
	.s-pair { grid-template-columns: 1fr; row-gap: 16px; margin-top: 0; }
	.s-pair .g6, .s-pair .g7 { margin-top: 0; grid-column: 1; }

	.f-title { padding: 48px var(--gutter) 0; }
	.carousel { margin-top: 36px; }
	.carousel-track { padding: 0 var(--gutter); scroll-padding-inline: var(--gutter); gap: 12px; }
	.carousel-track .wp-block-image img { height: 220px; }
	.c-btn { display: none; }
	.brands { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 40px var(--gutter) 70px; gap: 10px; }

	.contact { grid-template-columns: 1fr; padding: 48px var(--gutter) 70px; }
	.contact-img { grid-column: 1; }
	.form { grid-template-columns: 1fr; }
	.form-submit button { width: 100%; }

	.legal-page { padding-top: 48px; }
	.legal-page .data-table td:first-child { width: auto; }
}

/* ---------- Acabados 1.4: tablet y móvil ---------- */
@media (max-width: 1100px) {
	.cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cs-item:nth-child(3) { border-left: 0; padding-left: 0; }
	.cs-item:nth-child(n+3) { border-top: 1px solid rgba(26, 26, 26, .15); }
	.contact { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 781px) {
	.integral, .stores { padding-top: 64px; }
	.essence { padding-top: 72px; }
	.marcas-home { padding-top: 64px; }
	.marcas-head { flex-direction: column; align-items: flex-start; gap: 10px; }
	.marquee-track .wp-block-image { width: 150px; padding: 14px 18px; }
	.pd-head { grid-template-columns: 1fr; row-gap: 16px; padding: 44px 0 28px; }
	.pd-nav { flex-direction: column; align-items: flex-start; margin-top: 56px; padding-bottom: 64px; }
	.pd-next { text-align: left; }
	.s-cta { flex-direction: column; align-items: flex-start; margin: 0 var(--gutter) 64px; }
	.s-cta .wp-block-buttons { flex-wrap: wrap; }
	.f-head { padding: 48px var(--gutter) 0; }
	.contact { grid-template-columns: 1fr; padding: 48px var(--gutter) 56px; }
	.contact-img { position: static; }
	.contact-stores { padding: 0 var(--gutter) 72px; }
	.cs-grid { grid-template-columns: 1fr; }
	.cs-item, .cs-item + .cs-item { padding: 22px 0 18px; border-left: 0; }
	.cs-item + .cs-item { border-top: 1px solid rgba(26, 26, 26, .15); }
	.pre-footer { padding: 72px var(--gutter); }
}

/* =========================================================
   MAQUETACIÓN EDITORIAL (versión 1.5)
   Sin líneas divisorias, más aire, numeración «01.» y un único
   estilo de botón: enlace subrayado con flecha (🡤Descubrir).
   Solo blanco y negro.
   ========================================================= */
:root { --aire: clamp(72px, 9vw, 140px); --lado: clamp(16px, 3.1vw, 45px); --suave: rgba(26, 26, 26, .62); --texto2: rgba(26, 26, 26, .82); }

/* ---------- Sin líneas ---------- */
.integral, .integral-grid, .integral-img, .step, .stores-grid, .store, .store:nth-child(odd), .store-head,
.p-row, .wp-block-cover.p-hero, .pd-head, .pd-cover, .s-col, .hours-row, .cs-grid, .cs-item, .cs-item + .cs-item,
.cs-item:nth-child(n+3), .s-cta, .pd-nav, .marquee, .footer-word, .footer-bottom { border: 0 !important; }

/* ---------- Rótulos y numeración ---------- */
.eyebrow { color: var(--ink); font-size: 12px; letter-spacing: .14em; margin-bottom: 20px; }
.eyebrow::before { content: none; }
.p-hero .eyebrow, .s-hero .eyebrow { color: #fff; }
.num, .step-n, .p-num { font-size: 13px; letter-spacing: .02em; color: var(--ink); margin: 0 0 10px; }

/* ---------- Un único estilo de botón ---------- */
.wp-block-buttons { gap: 32px; }
.wp-block-button .wp-block-button__link, .btn--tall .wp-block-button__link, .btn--line .wp-block-button__link,
.enlace, .form-submit button, .discover a {
	display: inline; width: auto; height: auto; padding: 0; border: 0; border-radius: 0;
	background: none !important; box-shadow: none !important; color: var(--ink) !important;
	font-family: var(--text); font-size: 17.8px; line-height: 1.4; letter-spacing: 0; text-transform: none;
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
	cursor: pointer; transition: opacity .25s ease;
}
.wp-block-button .wp-block-button__link::before, .enlace::before, .form-submit button::before, .discover a::before { content: "\1F864"; font-family: "Aquitania Flecha", var(--text); }
.wp-block-button .wp-block-button__link:hover, .enlace:hover, .form-submit button:hover, .discover a:hover {
	opacity: .55; letter-spacing: 0; background-size: 0 0 !important;
}
.form-submit { justify-content: flex-start; }

/* ---------- Cabecera: logo algo más grande ---------- */
.header .wp-block-site-logo img { height: auto !important; }
.logo-ph a { width: 168px; height: 36px; }

/* ---------- Portadas siempre de lado a lado ---------- */
.wp-block-cover.hero, .wp-block-cover.p-hero, .wp-block-cover.s-hero { width: 100%; }
.wp-block-cover.p-hero { aspect-ratio: auto; height: min(50.6vw, calc(100vh - 45px)); }
.wp-block-cover.s-hero { aspect-ratio: auto; height: min(45.3vw, calc(100vh - 45px)); }

/* ---------- Inicio ---------- */
.integral, .stores, .essence { padding-top: var(--aire); }
.integral .eyebrow, .stores .eyebrow { padding: 0 var(--lado); }
.integral .section-title, .stores .section-title { padding: 0 var(--lado) 48px; }
.integral-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); padding: 0 var(--lado); align-items: start; }
.integral-img img { height: auto; }
.steps { gap: 40px; }
.step { grid-template-columns: 56px minmax(0, 1fr); row-gap: 10px; align-items: baseline; min-height: 0; padding: 0; }
.step-n { grid-row: span 2; margin: 0; }
.step h3 { grid-column: 2; font-size: clamp(26px, 2.4vw, 34px); }
.step p:last-child { grid-column: 2; max-width: 460px; color: var(--texto2); }
.steps-cta { flex: none; justify-content: flex-start; padding: 8px 0 0 56px; }
.stores-grid { gap: 72px 24px; padding: 0 var(--lado); }
.store-head { padding: 22px 0 10px; }
.store-head h3 { font-size: clamp(28px, 2.6vw, 38px); }
.store-desc { padding: 0; max-width: 520px; color: var(--texto2); }
.marcas-home { padding: var(--aire) 0 0; }
.marcas-head { padding: 0 var(--lado) 24px; }
.marquee-track .wp-block-image { padding: 10px 26px; }
.essence .mega { padding: 0 var(--lado); }
.essence-row { padding: 28px var(--lado) 48px; }
.essence-img { padding: 0 var(--lado); }

/* ---------- Proyectos (listado) ---------- */
.p-row {
	grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr); gap: clamp(24px, 4vw, 64px);
	min-height: 0; padding: 0 var(--lado); margin-top: var(--aire); background: none !important;
}
.p-row:last-of-type { margin-bottom: var(--aire); }
.p-col, .p-img { padding: 0; }
.p-row h2 { margin-top: 6px; }
.p-text { padding-top: 0; gap: 24px; }
.p-text p { color: var(--texto2); }

/* ---------- Proyecto (detalle) ---------- */
.pd { padding: 0 var(--lado); }
.pd-head { padding: var(--aire) 0 56px; }
.pd-nav { margin-top: var(--aire); padding: 0 0 var(--aire); }

/* ---------- Tienda ---------- */
.s-info { padding: var(--aire) var(--lado) 0; gap: clamp(32px, 5vw, 80px); }
.s-col { padding: 0; }
.hours { gap: 0; max-width: 520px; }
.hours-row { padding: 12px 0; border-radius: 0; font-size: 17px; }
.s-gallery { padding: var(--aire) var(--lado); }
.s-cta { margin: 0 var(--lado) var(--aire); padding-top: 0; }

/* ---------- Firmas ---------- */
.f-title { padding: 75px var(--lado) 0 121px; }
.f-head { padding: 75px var(--lado) 0 121px; }
.f-head .f-title { padding: 0; }
.brands { padding: 72px var(--lado) var(--aire) 49px; }
.brands .wp-block-image img, .marquee-track .wp-block-image img { object-fit: contain !important; }

/* ---------- Contacto ---------- */
.contact-stores { padding-bottom: var(--aire); }
.contact-stores .eyebrow { margin-bottom: 28px; }
.cs-grid { gap: 32px 24px; }
.cs-item, .cs-item + .cs-item { padding: 0; }

/* ---------- Franja antes del pie (solo Inicio y Proyectos) ---------- */
.pre-footer {
	background: #fff; text-align: left; padding: var(--aire) var(--lado);
	display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: 24px; align-items: start;
}
.pre-footer .eyebrow { justify-content: flex-start; grid-column: 1; grid-row: 1; margin-top: 18px; }
.pre-footer-title { grid-column: 2; grid-row: 1; margin: 0 0 32px; max-width: 16ch; font-size: clamp(40px, 5.2vw, 76px); text-align: left; }
.pre-footer .enlace { grid-column: 2; grid-row: 2; justify-self: start; }

/* ---------- Pie ---------- */
.footer-word { padding-top: 24px; }

@media (max-width: 1100px) {
	.p-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.p-row > .p-col:first-child { grid-column: 1 / -1; }
}
@media (max-width: 781px) {
	.integral-grid { grid-template-columns: 1fr; }
	.stores-grid { grid-template-columns: 1fr; gap: 56px; }
	.p-row { grid-template-columns: 1fr; gap: 16px; margin-top: 64px; }
	.wp-block-cover.p-hero { height: 70vh; }
	.wp-block-cover.s-hero { height: 80vh; }
	.s-info { grid-template-columns: 1fr; padding-top: 56px; }
	.s-gallery { padding: 56px var(--gutter); }
	.pre-footer { grid-template-columns: 1fr; }
	.pre-footer .eyebrow, .pre-footer-title, .pre-footer .enlace { grid-column: 1; grid-row: auto; }
	.f-title, .f-head { padding: 48px var(--gutter) 0; }
	.f-head .f-title { padding: 0; }
	.brands { padding: 40px var(--gutter) 72px; }
	.cs-grid { grid-template-columns: 1fr; gap: 32px; }
}

.cs-item p { overflow-wrap: anywhere; }

/* =========================================================
   AJUSTES (versión 1.6)
   ========================================================= */

/* Textos pequeños: solo la primera letra en mayúscula */
.eyebrow, .footer-h, .pd-back a, .pd-next em, .marcas-link {
	text-transform: none; letter-spacing: .01em;
}
.eyebrow { font-size: 13px; }
.footer-h { font-size: 13px; }

/* Logo de la cabecera: su ancho se elige en el editor (bloque Logo del sitio). */
.logo-ph a { width: 171px; }

/* Cursor: solo un aro fino, sin punto central */
.cursor-dot { display: none; }
.cursor-ring { width: 14px; height: 14px; margin: -7px 0 0 -7px; border-color: rgba(255, 255, 255, .9); }
.cursor.is-link .cursor-ring { width: 28px; height: 28px; margin: -14px 0 0 -14px; background-color: rgba(255, 255, 255, .06); }
.cursor.is-view .cursor-ring { width: 46px; height: 46px; margin: -23px 0 0 -23px; }
.cursor-ring em { font-size: 8.5px; letter-spacing: .1em; }
.cursor.is-down .cursor-ring { width: 10px; height: 10px; margin: -5px 0 0 -5px; }

/* Inicio: «Interiorismo integral» más compacto */
.integral { padding-top: clamp(56px, 6vw, 88px); }
.integral .section-title { padding-bottom: 32px; }
.integral-grid { gap: clamp(28px, 4vw, 56px); align-items: center; }
.steps { gap: 24px; }
.step h3 { font-size: clamp(22px, 2vw, 28px); }
.step p:last-child { font-size: 15px; }
.steps-cta { padding-top: 4px; }

/* Ningún bloque pegado al pie: WordPress anula el margen inferior del último bloque,
   así que el espacio final se hace con relleno. */
.s-cta { margin-bottom: 0; padding-bottom: var(--aire); }
.wp-block-post-content > :last-child { margin-bottom: 0; }

/* ---------- Tiendas: cabecera e información, más editorial ---------- */
.wp-block-cover.s-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to top, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .15) 45%, rgba(0, 0, 0, 0) 70%);
}
.s-hero .wp-block-cover__inner-container { position: relative; z-index: 1; padding: 0 var(--lado) clamp(40px, 5vw, 72px); }
.s-hero h1 { font-size: clamp(64px, 9vw, 140px); line-height: .95; }
.s-hero p { max-width: 460px; margin-top: 18px; padding-left: 4px; font-size: 16px; line-height: 1.55; opacity: .92; }

.s-info {
	display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: 24px;
	align-items: start; padding: var(--aire) var(--lado) 0;
}
.s-col { display: contents; }
.s-col h2 { font-size: clamp(22px, 1.9vw, 28px); line-height: 1.2; margin: 0; grid-row: 1; }
.s-col:first-child h2 { grid-column: 1 / span 3; }
.s-col:first-child .hours { grid-column: 1 / span 3; grid-row: 2; max-width: none; }
.s-col:last-child h2 { grid-column: 4 / span 3; }
.s-col:last-child .contact-lines { grid-column: 4 / span 3; grid-row: 2; }
.s-col:first-child .s-img { grid-column: 7 / -1; grid-row: 1 / span 3; max-width: none; margin: 0; }
.hours-row { display: grid; grid-template-columns: 1fr; gap: 2px; padding: 0 0 18px; font-size: 15.5px; }
.hours-row p:first-child { color: var(--suave); font-size: 13.5px; }
.contact-lines { gap: 18px; font-size: 15.5px; line-height: 1.55; }

@media (max-width: 1100px) {
	.s-col:first-child h2, .s-col:first-child .hours { grid-column: 1 / span 6; }
	.s-col:last-child h2 { grid-column: 7 / -1; grid-row: 1; }
	.s-col:last-child .contact-lines { grid-column: 7 / -1; grid-row: 2; }
	.s-col:first-child .s-img { grid-column: 1 / -1; grid-row: 3; margin-top: 24px; }
}
@media (max-width: 781px) {
	.s-info { grid-template-columns: 1fr; row-gap: 16px; padding-top: 56px; }
	.s-col h2, .s-col .hours, .s-col .contact-lines, .s-col .s-img { grid-column: 1 !important; grid-row: auto !important; }
	.s-col:first-child h2 { order: 1; }
	.s-col:first-child .hours { order: 2; margin-bottom: 16px; }
	.s-col:last-child h2 { order: 3; }
	.s-col:last-child .contact-lines { order: 4; margin-bottom: 16px; }
	.s-col:first-child .s-img { order: 5; margin-top: 8px; }
	.s-hero .wp-block-cover__inner-container { padding: 0 var(--gutter) 32px; }
}

/* =========================================================
   VERSIÓN 1.7
   ========================================================= */

/* ---------- Una sola tipografía (Wix Madefor Display) con distintos grosores y cuerpos ---------- */
:root { --text: var(--display); --aire: clamp(56px, 6.5vw, 104px); }
body, input, select, textarea, button { font-family: var(--display); }
.eyebrow, .footer-h, .num, .step-n, .p-num, .s-dato h2 { font-weight: 500; }
.eyebrow { font-size: 13px; letter-spacing: .01em; }

/* ---------- Espacios más ajustados ---------- */
.carousel { margin-top: 56px; }
.brands { padding-top: 64px; }
.pre-footer { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
.pre-footer-title { margin-bottom: 24px; }
.marcas-home { padding-top: var(--aire); }
.essence-row { padding-bottom: 40px; }

/* ---------- Idiomas: discretos en el móvil (dentro del menú y en el pie) ---------- */
.nav-lang { display: none !important; }
.footer-lang { display: flex; gap: 14px; font-size: 13px; letter-spacing: .02em; }
.footer-lang a { opacity: .55; background: none !important; }
.footer-lang a:hover, .footer-lang a[aria-current] { opacity: 1; }
@media (max-width: 781px) {
	.header .lang-switch { display: none; }
	.header { grid-template-columns: auto 1fr; }
	.header .wp-block-navigation__responsive-container.is-menu-open .nav-lang { display: flex !important; }
	.header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		flex-direction: row !important; flex-wrap: wrap; align-items: baseline; column-gap: 18px;
	}
	.header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li { flex-basis: 100%; }
	.header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.nav-lang { flex-basis: auto; margin-top: 28px; }
	.header .wp-block-navigation__responsive-container.is-menu-open .nav-lang .wp-block-navigation-item__content { font-size: 13px !important; opacity: .5; }
	.header .wp-block-navigation__responsive-container.is-menu-open .nav-lang--actual .wp-block-navigation-item__content { opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
}

/* ---------- Tiendas: foto de lado a lado + maquetación editorial ---------- */
.s-portada { margin: 0; }
.s-portada img { width: 100%; height: min(45.3vw, calc(100vh - 45px)) !important; aspect-ratio: auto !important; object-fit: cover; }
.s-intro {
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(24px, 4vw, 64px);
	align-items: end; padding: var(--aire) var(--lado) 0;
}
.s-intro h1 { font-size: clamp(64px, 8vw, 128px); line-height: .95; letter-spacing: -.03em; }
.s-intro-text { display: grid; gap: 16px; max-width: 640px; }
.s-lead { font-size: clamp(18px, 1.5vw, 22px); line-height: 1.45; }
.s-intro-text p:not(.s-lead) { color: var(--texto2); line-height: 1.6; }
.s-datos {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px clamp(24px, 4vw, 64px);
	padding: clamp(48px, 5vw, 72px) var(--lado) 0;
}
.s-dato h2 { font-family: var(--display); font-size: 13px; letter-spacing: .01em; margin: 0 0 16px; }
.s-dato p { font-size: 15.5px; line-height: 1.6; }
.s-dato p a { text-decoration: underline; text-underline-offset: 3px; }
.s-dato .wp-block-buttons { margin-top: 18px; }
.s-dato .hours { display: block; max-width: none; }
.s-dato .hours-row { display: flex; justify-content: space-between; gap: 16px; padding: 0 0 8px; font-size: 15.5px; }
.s-dato .hours-row p:first-child { color: var(--suave); font-size: 15.5px; }
.s-galeria { display: grid; gap: 24px; padding: var(--aire) var(--lado); }
.sg-fila { display: grid; gap: 24px; }
.sg-a { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.sg-b { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sg-c { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.s-galeria .wp-block-image img { aspect-ratio: auto !important; object-fit: cover; }
.sg-a img, .sg-c img { height: clamp(320px, 40vw, 680px) !important; }
.sg-b img { height: clamp(220px, 24vw, 420px) !important; }
.sg-ancha img { height: clamp(320px, 46vw, 820px) !important; }

/* ---------- Firmas: movimiento continuo, se para al pasar el ratón; clic = foto grande ---------- */
.carousel { overflow: hidden; }
.carousel-track { width: max-content; overflow: visible; gap: 0; padding: 0; scroll-snap-type: none; }
.carousel-track .wp-block-image { margin-right: 24px; cursor: zoom-in; }
.c-btn { display: none; }
@media (prefers-reduced-motion: no-preference) {
	.carousel-track.is-running { animation: aq-marquee 90s linear infinite; }
	.carousel:hover .carousel-track { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) {
	.carousel { overflow-x: auto; }
}
.visor {
	position: fixed; inset: 0; z-index: 10000; background: rgba(255, 255, 255, .98);
	display: grid; grid-template-columns: 72px minmax(0, 1fr) 72px; align-items: center;
	opacity: 0; transition: opacity .3s ease;
}
.visor.is-open { opacity: 1; }
.visor-foto { margin: 0; height: 100vh; padding: 56px 0; display: flex; align-items: center; justify-content: center; }
.visor-foto img { max-width: 100%; max-height: calc(100vh - 112px); object-fit: contain; }
.visor button { width: 72px; height: 72px; background: none; border: 0; color: var(--ink); font: 300 26px var(--display); cursor: pointer; }
.visor button:hover { opacity: .5; }
.visor-cerrar { position: absolute; top: 8px; right: 12px; }
.visor-abierto, .visor-abierto body { overflow: hidden; }

@media (max-width: 1100px) {
	.s-datos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.s-portada img { height: 62vh !important; }
	.s-intro, .s-datos { grid-template-columns: 1fr; }
	.sg-a, .sg-b, .sg-c { grid-template-columns: 1fr; }
	.s-galeria .sg-a img, .s-galeria .sg-b img, .s-galeria .sg-c img, .s-galeria .sg-ancha img { height: auto !important; aspect-ratio: 4 / 3 !important; }
	.carousel-track .wp-block-image { margin-right: 12px; }
	.visor { grid-template-columns: 44px minmax(0, 1fr) 44px; }
	.visor button { width: 44px; }
}

/* ---------- Logos más grandes (versión 1.7.1) ---------- */
.header { height: 60px; }
.logo-ph a { width: 210px; height: 46px; }
.footer-logo img { width: 96px; height: 96px; }
@media (max-width: 781px) {
	.header { height: 56px; }
	.header .wp-block-site-logo img { max-width: 140px !important; }
	.footer-logo img { width: 80px; height: 80px; }
}

/* Cabecera más delgada manteniendo el logo (1.7.2) */
.header { height: 54px; }
@media (max-width: 781px) { .header { height: 48px; } }

/* ---------- Tiendas: nombre sobre la foto principal y un solo texto (1.8) ---------- */
.wp-block-cover.s-hero { width: 100%; }
.s-hero .eyebrow { margin-bottom: 10px; }
.s-hero h1 { font-size: clamp(56px, 7.5vw, 120px); line-height: .95; letter-spacing: -.03em; }
.s-intro { display: block; padding: var(--aire) var(--lado) 0; }
.s-intro .s-lead { max-width: 860px; font-size: clamp(20px, 1.9vw, 28px); line-height: 1.4; }

/* Foto de «Tu espacio, tu esencia» de lado a lado (1.8.1) */
.essence-img { padding: 0; }

/* Portada de Inicio: más alta, recorte equilibrado (1.8.3) */
/* Sin !important: el «punto focal» que se elija en el editor de WordPress siempre manda. */
.wp-block-cover.hero { height: calc(100vh - 54px); max-height: 1100px; min-height: 520px; }
.wp-block-cover.hero .wp-block-cover__image-background { object-position: 50% 68%; transform-origin: 50% 68%; }

/* =========================================================
   VERSIÓN 1.9: todo alineado a la misma línea izquierda (--lado)
   ========================================================= */
.header { padding: 0 var(--lado); }
.p-hero .wp-block-cover__inner-container { padding: 34px var(--lado); }
.contact { max-width: none; margin: 0; padding-left: var(--lado); padding-right: var(--lado); }
.contact-stores { max-width: none; margin: 0; padding-left: var(--lado); padding-right: var(--lado); }
.f-head, .f-title { padding-left: var(--lado); }
.f-head .f-title { padding-left: 0; }
.brands { padding-left: var(--lado); padding-right: var(--lado); }
.brands .wp-block-image { padding-left: 0; padding-right: 28px; }
.legal-page { margin: 0; max-width: calc(980px + 2 * var(--lado)); padding-left: var(--lado); padding-right: var(--lado); }

/* «Interiorismo integral»: foto grande a la izquierda, pasos repartidos a su altura */
.integral-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch; gap: clamp(32px, 4vw, 72px); }
.integral-img { height: 100%; }
.integral-img img { height: 100% !important; min-height: clamp(380px, 40vw, 680px); aspect-ratio: auto !important; object-fit: cover; }
.steps { display: flex; flex-direction: column; justify-content: space-between; gap: 32px; padding: 6px 0 2px; }
.step { grid-template-columns: 48px minmax(0, 1fr); }
.step p:last-child { max-width: none; }
.steps-cta { padding-left: 48px; }

@media (max-width: 781px) {
	.integral-grid { grid-template-columns: 1fr; }
	.integral-img img { min-height: 0; height: auto !important; aspect-ratio: 4 / 3 !important; }
	.steps { gap: 28px; }
}

/* =========================================================
   VERSIÓN 1.10
   ========================================================= */

/* Alineación óptica: las letras grandes traen margen interno; se compensa para que
   los títulos grandes queden en la misma línea que los textos pequeños. */
.section-title, .mega, .p-hero h1, .pd-head h1, .s-hero h1, .f-title, .p-row h2,
.pre-footer-title, .contact h1, .store-head h3, .cs-item h3, .legal-page h1, .step h3 {
	margin-left: -0.065em;
}

/* «Interiorismo integral» menos alto y más compacto */
.integral-img img { min-height: 0 !important; height: clamp(320px, 28vw, 520px) !important; }
.integral-grid { align-items: center; }
.steps { justify-content: center; gap: 28px; padding: 0; }
.steps-cta { padding-top: 0; }

/* ---------- Tiendas: ficha con presentación + datos ---------- */
.s-ficha {
	display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: clamp(40px, 7vw, 140px);
	align-items: start; padding: var(--aire) var(--lado) 0;
}
.s-ficha .s-intro { padding: 0; }
.s-ficha .s-lead { max-width: 760px; font-size: clamp(22px, 2.1vw, 32px); line-height: 1.35; letter-spacing: -.01em; }
.s-ficha .s-datos { grid-template-columns: 1fr; gap: 32px; padding: 0; }
.s-ficha .s-dato h2 { margin-bottom: 10px; }
.s-ficha .s-dato .wp-block-buttons { margin-top: 10px; }
.s-ficha .s-dato .hours-row { padding-bottom: 4px; }
.s-galeria { padding-top: clamp(56px, 6vw, 96px); }

@media (max-width: 1100px) {
	.s-ficha { grid-template-columns: 1fr; row-gap: 48px; }
	.s-ficha .s-datos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
}
@media (max-width: 781px) {
	.s-ficha .s-datos { grid-template-columns: 1fr; }
	.integral-img img { height: auto !important; aspect-ratio: 4 / 3 !important; }
}

/* ---------- Tiendas: ficha más legible (1.10.1) ---------- */
.s-ficha { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(40px, 6vw, 120px); }
.s-ficha .s-lead { max-width: 560px; font-size: clamp(18px, 1.35vw, 21px); line-height: 1.55; letter-spacing: 0; }
.s-ficha .s-datos { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px clamp(24px, 3vw, 56px); }
.s-ficha .s-dato h2 { font-size: 15px; font-weight: 500; margin-bottom: 14px; }
.s-ficha .s-dato p { font-size: 15px; line-height: 1.6; }
.s-ficha .s-dato .hours-row { display: block; padding: 0 0 12px; }
.s-ficha .s-dato .hours-row p:first-child { font-size: 13.5px; line-height: 1.4; }
.s-ficha .s-dato .wp-block-button__link { font-size: 15px; }
.s-ficha .s-dato .wp-block-buttons { margin-top: 14px; }

@media (max-width: 1100px) {
	.s-ficha { grid-template-columns: 1fr; row-gap: 48px; }
}
@media (max-width: 781px) {
	.s-ficha .s-datos { grid-template-columns: 1fr; gap: 32px; }
}

/* =========================================================
   1.11 · Aviso de cookies (mismo lenguaje: blanco, negro, enlaces subrayados)
   ========================================================= */
.ck {
	position: fixed; left: var(--lado, 45px); bottom: 24px; z-index: 9000;
	width: min(420px, calc(100vw - 32px)); padding: 26px 28px 24px;
	background: #fff; color: var(--ink); box-shadow: 0 12px 48px rgba(0, 0, 0, .14);
	font-family: var(--display); font-size: 14px; line-height: 1.55;
	opacity: 0; transform: translateY(12px); transition: opacity .3s ease, transform .3s ease;
}
.ck.is-visible { opacity: 1; transform: none; }
.ck[hidden] { display: none; }
.ck p { margin: 0; }
.ck-titulo { font-size: 15px; font-weight: 500; margin-bottom: 8px !important; }
.ck-texto a { text-decoration: underline; text-underline-offset: 3px; color: inherit; }
.ck-opciones { display: grid; gap: 10px; margin-top: 18px; }
.ck-opciones[hidden] { display: none; }
.ck-op { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.ck-op input { width: 15px; height: 15px; margin: 0; accent-color: var(--ink); }
.ck-op em { font-style: normal; opacity: .55; margin-left: 6px; }
.ck-botones { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 20px; }
.ck-botones button {
	padding: 0; border: 0; background: none; color: var(--ink); cursor: pointer;
	font: inherit; font-size: 15px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
	transition: opacity .25s ease;
}
.ck-botones button[hidden] { display: none; }
.ck-botones button:hover { opacity: .55; }
.ck-botones button:focus-visible, .ck-op input:focus-visible { outline: 1px solid var(--ink); outline-offset: 3px; }
@media (max-width: 781px) {
	.ck { left: 16px; right: 16px; bottom: 16px; width: auto; padding: 22px 20px 20px; }
}

/* =========================================================
   OCULTAR UN BLOQUE SOLO EN ORDENADOR O SOLO EN MÓVIL
   (panel «Ordenador y móvil» del editor). En el editor no se ocultan.
   ========================================================= */
@media (min-width: 782px) {
	body:not(.editor-styles-wrapper) .ocultar-ordenador { display: none !important; }
}
@media (max-width: 781px) {
	body:not(.editor-styles-wrapper) .ocultar-movil { display: none !important; }
}

/* =========================================================
   CABECERAS CON FOTO (Proyectos y tiendas): rótulo pegado al título
   y la primera letra del título alineada con la del rótulo.
   ========================================================= */
.p-hero .eyebrow, .s-hero .eyebrow { margin-bottom: 4px; }
.p-hero h1 { margin-left: -0.05em; }

/* =========================================================
   LO QUE SE ELIGE EN EL EDITOR MANDA SOBRE EL TEMA
   - Portadas con foto: si en el editor se pone una «Altura mínima»,
     se usa esa altura en lugar de la automática del tema.
   ========================================================= */
.wp-block-cover.hero[style*="min-height"],
.wp-block-cover.p-hero[style*="min-height"],
.wp-block-cover.s-hero[style*="min-height"] { height: auto; max-height: none; aspect-ratio: auto; }

/* Logo de la cabecera sin espacio extra alrededor (para que quede centrado en altura). */
.header .wp-block-site-logo, .header .wp-block-site-logo a { display: block; line-height: 0; }

/* Portada de móvil (Inicio): el texto en la parte de arriba de la foto, con aire bajo la cabecera. */
.wp-block-cover.hero.is-position-top-center .wp-block-cover__inner-container { padding-top: 14vh; }

/* Portada de Proyectos: sombra suave arriba para que el título blanco se lea sobre cualquier foto. */
.wp-block-cover.p-hero::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(to bottom, rgba(0, 0, 0, .42) 0%, rgba(0, 0, 0, .18) 38%, rgba(0, 0, 0, 0) 62%);
}
.p-hero .wp-block-cover__inner-container { position: relative; z-index: 1; }

/* Móvil con la barra de WordPress (sesión iniciada): en pantallas de hasta 600 px esa barra
   no se queda fija, así que la cabecera debe pegarse arriba del todo (si no, queda un hueco). */
@media screen and (max-width: 600px) {
	.site-header { top: 0; }
}

/* Contacto: más aire a la izquierda del bloque del formulario (título, texto y campos alineados). */
@media (min-width: 782px) {
	.contact .contact-form { padding-left: clamp(24px, 4.5vw, 80px); }
}

/* =========================================================
   RÓTULOS SOBRE LOS TÍTULOS («Firmas», «Contacto», «Nuestros servicios»…):
   un poco más grandes y pegados al título grande.
   ========================================================= */
.eyebrow { font-size: 15px; }
.integral > .eyebrow, .stores > .eyebrow, .f-head .eyebrow, .contact-form .eyebrow, .pd-head .eyebrow { margin-bottom: 4px; }
.pd-head h1 { align-self: start; }
@media (max-width: 781px) {
	.eyebrow { font-size: 14px; }
	.pd-head .eyebrow { margin-bottom: -12px; } /* compensa el espacio entre filas de la cabecera del proyecto */
}

/* Firmas: logos que en su imagen original ocupan más que el resto, a un tamaño parecido a los demás. */

/* Cursor sobre fotos: negativo de luz pero con los colores reales (sin el tono azulado de «rayos X»).
   El fundido «difference» se aplica solo al aro fino; sobre las fotos el círculo invierte
   lo que hay debajo y le devuelve su color con un giro de tono de 180°. */
.has-cursor .cursor { mix-blend-mode: normal; }
.has-cursor .cursor-ring, .has-cursor .cursor-dot { mix-blend-mode: difference; }
.has-cursor .cursor.is-view .cursor-ring {
	mix-blend-mode: normal; background: transparent; border-color: rgba(255, 255, 255, .35);
	-webkit-backdrop-filter: invert(1) hue-rotate(180deg); backdrop-filter: invert(1) hue-rotate(180deg);
}
.has-cursor .cursor.is-view .cursor-ring em { color: #fff; mix-blend-mode: difference; }

/* Cursor: el fundido «difference» va en el contenedor (si no, el aro desaparece sobre fondo claro);
   sobre las fotos se desactiva para que funcione el negativo con colores reales. */
.has-cursor .cursor { mix-blend-mode: difference; }
.has-cursor .cursor-ring, .has-cursor .cursor-dot { mix-blend-mode: normal; }
.has-cursor .cursor.is-view { mix-blend-mode: normal; }
.cursor-ring { transition: width .25s ease, height .25s ease, margin .25s ease, background-color .25s; }

/* Tiendas: fila extra de tres fotos verticales (galería de Maó). */
.sg-v { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sg-v img { height: clamp(420px, 44vw, 760px) !important; }
@media (max-width: 781px) {
	.sg-v { grid-template-columns: 1fr; }
	.s-galeria .sg-v img { height: auto !important; aspect-ratio: 3 / 4 !important; }
}
.sg-v2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sg-v2 img { height: clamp(520px, 62vw, 980px) !important; }
@media (max-width: 781px) {
	.sg-v2 { grid-template-columns: 1fr; }
}

/* Portada de móvil (Inicio): foto vertical, texto en el centro exacto, foto algo subida y halo claro para que se lea. */
@media (max-width: 781px) {
	.wp-block-cover.hero.ocultar-ordenador { min-height: 0 !important; height: auto !important; max-height: none !important; aspect-ratio: 375 / 500 !important; }
	.wp-block-cover.hero.ocultar-ordenador .wp-block-cover__image-background { object-position: 50% 30% !important; }
	.wp-block-cover.hero.ocultar-ordenador .hero-title { text-shadow: 0 0 14px rgba(255, 255, 255, .95), 0 0 28px rgba(255, 255, 255, .8); }
	.wp-block-cover.hero.ocultar-ordenador .wp-block-cover__inner-container { padding-top: 0 !important; padding-bottom: 0 !important; }
}

/* Franja «Hablemos de tu próximo espacio» en móvil: letra más pequeña para que no ocupe tantas líneas. */
@media (max-width: 781px) {
	.pre-footer { grid-template-columns: 1fr; }
	.pre-footer-title { font-size: clamp(28px, 8vw, 40px); max-width: 20ch; margin-bottom: 24px; }
}

/* Tiendas en móvil: datos (horarios, dirección, contacto) en bloques bien separados y botones claros. */
@media (max-width: 781px) {
	.s-ficha .s-datos { gap: 0; }
	.s-ficha .s-dato { border-top: 1px solid rgba(26, 26, 26, .14); padding: 24px 0 28px; }
	.s-ficha .s-dato h2 { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 16px; }
	.s-ficha .s-dato p { font-size: 16px; }
	.s-ficha .s-dato .hours-row { display: flex; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 16px; padding: 0 0 10px; }
	.s-ficha .s-dato .hours-row p { margin: 0; }
	.s-ficha .s-dato .hours-row p:first-child { font-size: 15px; color: var(--suave, #6b6b6b); }
	.s-ficha .s-dato .hours-row p:last-child { text-align: right; white-space: nowrap; }
	.s-ficha .s-dato .hours-row p:first-child { flex: 1 1 auto; min-width: 0; }
	.s-ficha .s-dato .wp-block-buttons { margin-top: 20px; }
	.s-ficha .s-dato .wp-block-button { width: 100%; }
	.s-ficha .s-dato .wp-block-button .wp-block-button__link {
		display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 50px;
		border: 1px solid var(--ink); font-size: 15px; text-decoration: none;
	}
	.s-ficha .s-dato:last-child .wp-block-button .wp-block-button__link { background: var(--ink) !important; color: #fff !important; }
}

/* Firmas: cuadrícula de logos con celdas iguales, mismo aire entre todos y cada logo centrado
   y a un tamaño visual parecido (escala y centrado calculados midiendo el dibujo de cada archivo). */
.brands { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(8px, 1.5vw, 24px) clamp(16px, 3vw, 48px); align-items: center; }
.brands .wp-block-image { margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; }
.brands .wp-block-image a { display: block; width: 100%; }
.brands .wp-block-image img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 268 / 129 !important; object-fit: contain !important; mix-blend-mode: multiply; transform: var(--ajuste, none) !important; }
@media (max-width: 1100px) {
	.brands { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.brands > :last-child:nth-child(4n + 1) { grid-column: 1 / -1; width: calc((100% - 3 * clamp(16px, 3vw, 48px)) / 4); justify-self: center; }
}
@media (max-width: 781px) {
	.brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 24px; }
	.brands > :last-child:nth-child(4n + 1) { width: auto; }
	.brands > :last-child:nth-child(odd) { grid-column: 1 / -1; width: calc((100% - 24px) / 2); justify-self: center; }
}
	.brands .wp-block-image img[src*="marca-andreu-world"] { --ajuste: scale(0.857) translate(-0.62%, -0.43%); }
	.brands .wp-block-image img[src*="marca-andtradition"] { --ajuste: scale(0.789) translate(-1.45%, 2.16%); }
	.brands .wp-block-image img[src*="marca-artemide"] { --ajuste: scale(0.682) translate(-0.83%, 0.86%); }
	.brands .wp-block-image img[src*="marca-atemporal"] { --ajuste: scale(0.720) translate(-0.21%, 0.43%); }
	.brands .wp-block-image img[src*="marca-barbara-osorio"] { --ajuste: scale(0.560) translate(0.00%, -0.43%); }
	.brands .wp-block-image img[src*="marca-bover"] { --ajuste: scale(0.675) translate(-1.45%, 0.00%); }
	.brands .wp-block-image img[src*="marca-casual"] { --ajuste: scale(0.692) translate(-0.83%, -2.16%); }
	.brands .wp-block-image img[src*="marca-ethimo"] { --ajuste: scale(0.900) translate(0.62%, 1.29%); }
	.brands .wp-block-image img[src*="marca-ethnicraft"] { --ajuste: scale(0.711) translate(-0.21%, -0.43%); }
	.brands .wp-block-image img[src*="marca-fama"] { --ajuste: scale(0.850) translate(0.00%, 2.59%); }
	.brands .wp-block-image img[src*="marca-fermob"] { --ajuste: scale(0.716) translate(-0.21%, 4.31%); }
	.brands .wp-block-image img[src*="marca-flos"] { --ajuste: scale(0.712) translate(0.00%, -2.16%); }
	.brands .wp-block-image img[src*="marca-foscarini"] { --ajuste: scale(0.693) translate(-1.04%, -0.43%); }
	.brands .wp-block-image img[src*="marca-gervasoni"] { --ajuste: scale(0.700) translate(-0.62%, -4.31%); }
	.brands .wp-block-image img[src*="marca-houe"] { --ajuste: scale(0.719) translate(-1.24%, -0.43%); }
	.brands .wp-block-image img[src*="marca-joquer"] { --ajuste: scale(0.721) translate(0.62%, -3.88%); }
	.brands .wp-block-image img[src*="marca-kartell"] { --ajuste: scale(0.748) translate(-0.21%, 0.43%); }
	.brands .wp-block-image img[src*="marca-linatura"] { --ajuste: scale(0.614) translate(-0.42%, 1.31%); }
	.brands .wp-block-image img[src*="marca-marset"] { --ajuste: scale(0.673) translate(0.41%, 0.00%); }
	.brands .wp-block-image img[src*="marca-mdf-italia"] { --ajuste: scale(0.889) translate(0.00%, 0.43%); }
	.brands .wp-block-image img[src*="marca-normann-copenhagen"] { --ajuste: scale(0.772) translate(-0.62%, -5.17%); }
	.brands .wp-block-image img[src*="marca-qeeboo"] { --ajuste: scale(0.959) translate(0.00%, 0.00%); }
	.brands .wp-block-image img[src*="marca-treku"] { --ajuste: scale(0.928) translate(-0.41%, -0.86%); }
	.brands .wp-block-image img[src*="marca-tribu"] { --ajuste: scale(0.872) translate(1.04%, 0.86%); }
	.brands .wp-block-image img[src*="marca-yutes"] { --ajuste: scale(0.781) translate(-1.24%, -2.16%); }

/* Texto solo para Google y lectores de pantalla (no se ve). */
.aq-oculto { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Pie: idiomas legibles (contraste suficiente); el idioma actual se marca en blanco y subrayado. */
.footer-lang a { opacity: 1; color: rgba(241, 239, 235, .7) !important; text-decoration: none; }
.footer-lang a:hover, .footer-lang a[aria-current] { color: #f1efeb !important; }
.footer-lang a[aria-current] { text-decoration: underline; text-underline-offset: 4px; }

/* Pie: mismo gris antracita que el logo de Aquitania (#484847). Los textos secundarios se aclaran
   un poco para que sigan leyéndose bien sobre este fondo (contraste suficiente). */
.footer-pro { background: #484847; }
.footer-text, .footer-h, .footer-tel, .footer-bottom, .footer-bottom a { color: rgba(241, 239, 235, .78); }
.footer-lang a { color: rgba(241, 239, 235, .78) !important; }
.footer-lang a:hover, .footer-lang a[aria-current] { color: #f1efeb !important; }
.footer-word, .footer-bottom { border-top-color: rgba(241, 239, 235, .22); }

/* Firmas: carrusel que avanza solo, se arrastra con el ratón o el dedo y tiene flechas. */
.carousel.carousel--vivo { overflow: hidden; }
.carousel--vivo .carousel-track { animation: none !important; touch-action: pan-y; cursor: grab; will-change: transform; user-select: none; -webkit-user-select: none; }
.carousel--vivo.is-arrastrando .carousel-track { cursor: grabbing; }
.carousel--vivo.is-arrastrando .carousel-track .wp-block-image { cursor: grabbing; }
.c-flecha {
	position: absolute; top: 50%; z-index: 2; width: 48px; height: 48px; margin-top: -24px; padding: 0;
	display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%;
	background: rgba(255, 255, 255, .92); color: var(--ink); font: 300 30px/1 var(--display); cursor: pointer;
	box-shadow: 0 1px 6px rgba(26, 26, 26, .15); opacity: 0; transition: opacity .25s ease, transform .2s ease;
}
.c-flecha--ant { left: var(--lado, 24px); }
.c-flecha--sig { right: var(--lado, 24px); }
.carousel--vivo:hover .c-flecha, .c-flecha:focus-visible { opacity: 1; }
.c-flecha:hover { transform: scale(1.06); }
@media (hover: none) {
	.c-flecha { opacity: 1; width: 40px; height: 40px; margin-top: -20px; font-size: 26px; }
}

/* Flechas del carrusel: solo la flecha, sin círculo (blanca con sombra suave para verse sobre cualquier foto). */
.c-flecha { width: 44px; height: 64px; margin-top: -32px; background: none; box-shadow: none; border-radius: 0; color: #fff; font-size: 46px; text-shadow: 0 1px 8px rgba(0, 0, 0, .45); }
.c-flecha:hover { transform: scale(1.12); }
@media (hover: none) {
	.c-flecha { width: 36px; height: 56px; margin-top: -28px; font-size: 38px; }
}

/* Proyectos: la línea pequeña es el H1 para Google y la frase grande es un párrafo; se ven igual que antes. */
.p-hero h1.eyebrow { font-family: var(--display); font-size: 15px; font-weight: 500; line-height: 1.3; letter-spacing: .01em; text-transform: none; margin: 0 0 4px; }
.p-hero .p-hero-frase { margin: 0; font-family: var(--display); font-weight: 400; font-size: clamp(40px, 5.7vw, 81px); line-height: 1; letter-spacing: -.02em; color: inherit; }
@media (max-width: 781px) {
	.p-hero h1.eyebrow { font-size: 14px; }
}

/* =========================================================
   Página «Tiendas» (enlace de Instagram): mapa de las islas y las cuatro tiendas.
   ========================================================= */
.tm {
	display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); grid-template-rows: auto 1fr;
	grid-template-areas: "cabeza mapa" "lista mapa"; column-gap: clamp(40px, 5vw, 96px);
	padding: clamp(48px, 6vw, 96px) var(--lado) var(--aire);
}
.tm-cabeza { grid-area: cabeza; margin-bottom: 32px; }
.tm-cabeza .eyebrow { margin-bottom: 14px; }
.tm-titulo { font-family: var(--display); font-weight: 400; font-size: clamp(40px, 4.4vw, 64px); line-height: 1; letter-spacing: -.02em; }
.tm-mapa {
	grid-area: mapa; position: sticky; top: 88px; align-self: start;
	aspect-ratio: 1000 / 628; background: var(--piedra, #f1efeb); overflow: hidden;
}
.tm-mapa svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.tm-mapa path { fill: #fff; }
.tm-pin {
	position: absolute; width: 44px; height: 44px; margin: -22px 0 0 -22px; padding: 0;
	border: 0; background: none; color: var(--ink); font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.tm-punto {
	position: absolute; left: 50%; top: 50%; width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px;
	border-radius: 50%; background: var(--ink); transition: transform .25s ease, box-shadow .25s ease;
}
.tm-pin.is-activa { z-index: 2; }
.tm-pin.is-activa .tm-punto { transform: scale(1.3); box-shadow: 0 0 0 8px rgba(26, 26, 26, .12); }
.tm-pin:focus-visible { outline: none; }
.tm-pin:focus-visible .tm-punto { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--ink); }
.tm-nombre {
	position: absolute; white-space: nowrap; font-family: var(--text); font-size: 13.5px; line-height: 1;
	color: var(--suave); pointer-events: none; transition: color .25s ease;
}
.tm-pin.is-activa .tm-nombre { color: var(--ink); }
.tm-pin--l .tm-nombre { right: calc(50% + 14px); top: 50%; transform: translateY(-50%); }
.tm-pin--r .tm-nombre { left: calc(50% + 14px); top: 50%; transform: translateY(-50%); }
.tm-pin--b .tm-nombre { top: calc(50% + 14px); left: 50%; transform: translateX(-50%); }
.tm-lista { grid-area: lista; list-style: none; margin: 0 -20px; padding: 0; display: grid; gap: 4px; }
.tm-tienda { padding: 24px 20px; transition: background-color .25s ease; }
.tm-tienda.is-activa { background: var(--piedra, #f1efeb); }
.tm-isla { font-size: 13px; font-weight: 500; letter-spacing: .01em; color: var(--suave); }
.tm-ciudad { margin-top: 6px; font-family: var(--display); font-weight: 400; font-size: clamp(30px, 2.6vw, 38px); line-height: 1.1; letter-spacing: -.02em; }
.tm-dir { margin: 12px 0 0; font-style: normal; font-size: 15.5px; line-height: 1.55; color: var(--texto2); }
.tm-tel { margin-top: 4px; font-size: 15.5px; }
.tm-tel a { color: var(--texto2); text-decoration: none; }
.tm-tel a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tm-acciones { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 28px; margin-top: 20px; }
.tm-enlace { font-size: 15.5px; color: var(--ink); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; transition: text-decoration-color .2s ease; }
.tm-enlace:hover { text-decoration-color: currentColor; }
@media (max-width: 1100px) {
	.tm { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: "cabeza" "mapa" "lista"; }
	.tm-mapa { position: relative; top: auto; margin-bottom: 24px; }
	.tm-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.tm { padding: 36px var(--gutter) 72px; }
	.tm-cabeza { margin-bottom: 24px; }
	.tm-mapa { margin: 0 calc(var(--gutter) * -1) 16px; }
	.tm-lista { grid-template-columns: minmax(0, 1fr); margin: 0 calc(var(--gutter) * -1); }
	.tm-tienda { padding: 20px var(--gutter) 22px; }
	.tm-nombre { font-size: 12.5px; }
	.tm-acciones .enlace { font-size: 16.5px; }
}

/* Selector de idioma discreto: solo el idioma actual («ES ⌄»); los demás se despliegan debajo. */
.lang-switch { position: relative; }
.lang-actual {
	display: flex; align-items: center; gap: 5px; padding: 8px 0 8px 8px; border: 0; background: none;
	color: var(--ink); font: 500 12px/1 var(--text); letter-spacing: .08em; cursor: pointer;
}
.lang-actual::after { content: ""; width: 5px; height: 5px; margin-top: -3px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(45deg); opacity: .6; transition: transform .2s ease; }
.lang-switch ul {
	position: absolute; top: 100%; right: -8px; z-index: 60; display: flex; flex-direction: column; gap: 0;
	min-width: 64px; padding: 6px 0; background: #fff; box-shadow: 0 6px 24px rgba(26, 26, 26, .1);
	opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .2s ease, transform .2s ease, visibility 0s .2s;
}
.lang-switch a { padding: 7px 16px; text-align: right; opacity: .55; }
.lang-switch .is-current { text-decoration: none; opacity: 1; }
.lang-switch.is-abierto ul, .lang-switch:has(a:focus-visible) ul { opacity: 1; visibility: visible; transform: none; transition: opacity .2s ease, transform .2s ease; }
@media (hover: hover) { .lang-switch:hover ul { opacity: 1; visibility: visible; transform: none; transition: opacity .2s ease, transform .2s ease; } }
.lang-switch.is-abierto .lang-actual::after { transform: rotate(225deg); margin-top: 3px; }

/* Pantallas medianas (tableta en horizontal, portátil pequeño): menú más compacto para que no choque con el logo. */
@media (min-width: 782px) and (max-width: 1100px) {
	.header .wp-block-navigation { font-size: 12.5px; }
	.header .wp-block-navigation .wp-block-navigation-item__content { padding: 6px 7px; }
	.header .wp-block-site-logo img { max-width: 150px !important; }
}

/* Portada de Inicio (ordenador): «Designed Around You» igual que el título de Proyectos:
   arriba a la izquierda, en blanco y grande, con la misma sombra suave arriba para que se lea. */
@media (min-width: 782px) {
	.wp-block-cover.hero.ocultar-movil { align-items: flex-start; justify-content: flex-start; }
	.wp-block-cover.hero.ocultar-movil::after {
		content: ""; position: absolute; inset: 0; pointer-events: none;
		background: linear-gradient(to bottom, rgba(0, 0, 0, .42) 0%, rgba(0, 0, 0, .18) 38%, rgba(0, 0, 0, 0) 62%);
	}
	.wp-block-cover.hero.ocultar-movil .wp-block-cover__inner-container {
		position: relative; z-index: 1; width: 100%; max-width: none; margin: 0; padding: 34px var(--lado); color: #fff; text-align: left;
	}
	.wp-block-cover.hero.ocultar-movil .hero-title {
		margin-left: -0.05em; font-family: var(--display); font-weight: 400; font-size: clamp(40px, 5.7vw, 81px); line-height: 1; letter-spacing: -.02em; color: #fff; text-align: left;
	}
}

/* Portada de Inicio (móvil): también como Proyectos, arriba a la izquierda, en blanco y con la sombra suave arriba. */
@media (max-width: 781px) {
	.wp-block-cover.hero.ocultar-ordenador { align-items: flex-start !important; justify-content: flex-start !important; }
	.wp-block-cover.hero.ocultar-ordenador::after {
		content: ""; position: absolute; inset: 0; pointer-events: none;
		background: linear-gradient(to bottom, rgba(0, 0, 0, .42) 0%, rgba(0, 0, 0, .18) 38%, rgba(0, 0, 0, 0) 62%);
	}
	.wp-block-cover.hero.ocultar-ordenador .wp-block-cover__inner-container {
		position: relative; z-index: 1; width: 100%; max-width: none; margin: 0; padding: 28px var(--gutter) !important; color: #fff; text-align: left;
	}
	.wp-block-cover.hero.ocultar-ordenador .hero-title {
		margin-left: -0.05em; font-family: var(--display); font-weight: 400; font-size: clamp(40px, 11vw, 56px); line-height: 1; letter-spacing: -.02em;
		color: #fff; text-align: left; text-shadow: none;
	}
}

/* Pie: los enlaces legales nunca se parten en dos líneas (en francés o alemán son más largos);
   si no caben, pasan enteros a la línea siguiente. En el móvil van uno debajo de otro. */
.footer-bottom .legal { flex-wrap: wrap; gap: 8px 24px; }
.footer-bottom .legal a, .footer-lang a, .to-top a { white-space: nowrap; }
@media (max-width: 781px) {
	.footer-bottom .legal { flex-direction: column; gap: 10px; }
}

/* Pie: «Enviar un email» bajo el teléfono de cada tienda (abre el formulario con esa tienda elegida). */
.footer-mail { font-size: 13.5px; color: rgba(241, 239, 235, .78); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(241, 239, 235, .35); }
.footer-mail:hover { color: #fff; text-decoration-color: currentColor; }
#formulario { scroll-margin-top: 90px; }

/* Firmas en tableta (4 columnas): si la última fila tiene 2 logos, van centrados. */
@media (min-width: 782px) and (max-width: 1100px) {
	.brands > :nth-child(4n + 1):nth-last-child(2) { grid-column: 2; }
}

/* Proyectos (listado), versión 2.6.5: a la izquierda número, título y, debajo, texto y «Descubrir»;
   a la derecha la foto, más ancha y horizontal (3:2). En el móvil sigue título → foto → texto. */
@media (min-width: 782px) {
	.p-row {
		grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
		grid-template-rows: auto 1fr;
		grid-template-areas: "titulo foto" "texto foto";
		column-gap: clamp(40px, 5vw, 96px); row-gap: 28px; align-items: start;
	}
	.p-row > .p-col:first-child { grid-area: titulo; grid-column: auto; }
	.p-row > .p-img { grid-area: foto; }
	.p-row > .p-text { grid-area: texto; }
	.p-row .p-img img { aspect-ratio: 3 / 2 !important; width: 100% !important; height: auto !important; object-fit: cover; }
	.p-text p { max-width: 420px; }
}
