/* BRi Astra Child · ajustes de WordPress (se carga después de bri-maqueta.css).
   Aquí va todo lo que NO existe en la maqueta estática: páginas interiores, barra de administración,
   convivencia con Astra y diseño del plugin BRI Propiedades. */

/* ---------- Identidad para el plugin BRI Propiedades ----------
   El plugin lee estas variables (valores por defecto neutros si no existen). */
:root{
  --bri-accent:var(--plum);
  --bri-text:var(--plum);
  --bri-muted:var(--muted);
  --bri-line:var(--line);
  --bri-radius:0;
}

/* ---------- Convivencia con Astra ----------
   Astra fija el color de los títulos y el relleno de los botones directamente sobre h1-h6 y button;
   sin esto el titular del hero (blanco por herencia) saldría con el color de Astra y los botones de la maqueta se deformarían. */
body.bri-site :is(h1,h2,h3,h4,h5,h6){color:inherit}
.bri-site button{padding:0;border-radius:0;box-shadow:none}

/* ---------- Accesibilidad ---------- */
/* Textos pequeños de la maqueta con contraste insuficiente (WCAG AA pide 4,5:1): un gris algo más oscuro. */
.bri-site .disclaimer,.bri-site .footer-bottom,.bri-site .footer-bottom a{color:#665f67}
.bri-site .footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.bri-site .skip-link:focus{
  position:fixed;left:12px;top:12px;z-index:200;width:auto;height:auto;clip:auto;clip-path:none;
  padding:12px 18px;background:var(--plum);color:#fff;font-size:15px;
}

/* ---------- Barra de administración de WordPress ---------- */
.bri-site.admin-bar .bri-header{top:32px}
@media(max-width:782px){.bri-site.admin-bar .bri-header{top:46px}}

/* ---------- Páginas interiores (todo lo que no es la home) ---------- */
body.bri-site.bri-inner{padding-top:var(--head)}
.bri-site.bri-inner .site-content{background:var(--white)}
.bri-site.bri-inner .site-content > .ast-container{
  display:block;width:min(100% - 104px,1370px);max-width:none;margin-inline:auto;
  padding:clamp(40px,6vw,90px) 0 clamp(60px,8vw,120px);
}
.bri-site.bri-inner #primary{width:100%;margin:0;padding:0;border:0}
.bri-site.bri-inner #secondary{display:none}
.bri-site.bri-inner .entry-title,
.bri-site.bri-inner .page-title{
  font:400 clamp(44px,5vw,78px)/.95 var(--serif);letter-spacing:-.05em;margin:0 0 28px;color:var(--plum);
}
.bri-site.bri-inner .entry-content{font-size:17px;line-height:1.85;color:#625e62}
.bri-site.bri-inner .entry-content :is(p,li) a:not([class]){text-decoration:underline;text-underline-offset:3px}
.bri-site.bri-inner .entry-content h2,
.bri-site.bri-inner .entry-content h3{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;color:var(--plum)}
@media(max-width:700px){
  .bri-site.bri-inner .site-content > .ast-container{width:calc(100% - 38px)}
}

/* ---------- BRI Propiedades con la identidad de BRi ---------- */
.bri-site .bri-prop-listing,
.bri-site .bri-prop-single{font-family:var(--sans)}
.bri-site .bri-prop-filter select{
  border:0;border-bottom:1px solid #bfb6be;background:transparent;padding:12px 4px;font-size:15px;color:var(--plum);
}
.bri-site .bri-prop-card{border-color:var(--line);background:var(--white)}
.bri-site .bri-prop-card__media img{transition:transform .9s var(--ease)}
.bri-site .bri-prop-card:hover .bri-prop-card__media img{transform:scale(1.035)}
.bri-site .bri-prop-card__badge{border-radius:0;font-size:12px;letter-spacing:.16em;font-weight:600}
.bri-site .bri-prop-card__price{font:400 28px/1 var(--serif);letter-spacing:-.03em}
.bri-site .bri-prop-card__title{font:400 22px/1.15 var(--serif);letter-spacing:-.02em}
.bri-site .bri-prop-card__title a:hover{text-decoration:none;color:#8a6e94}
.bri-site .bri-prop-head__tags{font-size:12px;letter-spacing:.2em;font-weight:600}
.bri-site .bri-prop-head__price{font:400 clamp(40px,4vw,58px)/1 var(--serif);letter-spacing:-.04em}
.bri-site .bri-prop-head__stats{font-size:15px}
.bri-site .bri-prop-section h2{font:400 32px/1.05 var(--serif);letter-spacing:-.03em}
.bri-site .bri-prop-gallery__thumbs img,
.bri-site .bri-prop-planos img{border-radius:0}
.bri-site .bri-prop-btn{
  border-radius:0;font-size:14px;letter-spacing:.035em;padding:16px 28px;transition:background .3s,border-color .3s;
}
.bri-site .bri-prop-btn:hover{background:#75667f;border-color:#75667f}
.bri-site .bri-prop-btn--ghost:hover{background:#75667f;color:#fff !important}
.bri-site .bri-prop-pagination a{border-radius:0}
.bri-site .bri-prop-card__noimg{display:block;width:100%;height:100%;background:var(--cream)}

/* ---------- Menú móvil: cortina redonda ----------
   Un círculo que nace en la esquina superior derecha (donde está el botón) y crece hacia abajo a la izquierda con el borde curvo. 
   El panel va DETRÁS de la cabecera (z-index -1 dentro de su contexto): la cruz y el logo quedan siempre encima y pulsables,
   también con la barra de administración de WordPress (que desplaza la cabecera 32 px). */
@media(max-width:1020px){
  html body.bri-site .bri-header .bri-nav{
    top:0;left:0;right:0;bottom:0;z-index:-1;
    background:var(--plum);
    padding:calc(var(--head) + 24px) 9vw 40px;
    opacity:1;transform:none;visibility:hidden;
    clip-path:circle(0% at 100% 0);
    transition:clip-path 1.1s cubic-bezier(.65,0,.35,1),visibility 0s 1.1s;
  }
  html body.bri-site.nav-open .bri-header .bri-nav{
    visibility:visible;
    clip-path:circle(150% at 100% 0);
    transition:clip-path 1.1s cubic-bezier(.65,0,.35,1),visibility 0s;
  }
  html body.bri-site .bri-header .bri-nav a{
    color:#fff;opacity:0;transform:translateY(18px);
    transition:opacity .35s ease,transform .35s ease,color .3s;
  }
  html body.bri-site.nav-open .bri-header .bri-nav a{
    opacity:1;transform:none;
    transition:opacity .7s ease .5s,transform .7s cubic-bezier(.2,.8,.2,1) .5s,color .3s;
  }
  html body.bri-site.nav-open .bri-header .bri-nav a:nth-child(2){transition-delay:.58s}
  html body.bri-site.nav-open .bri-header .bri-nav a:nth-child(3){transition-delay:.66s}
  html body.bri-site.nav-open .bri-header .bri-nav a:nth-child(4){transition-delay:.74s}
  html body.bri-site.nav-open .bri-header .bri-nav a:nth-child(5){transition-delay:.82s}
  html body.bri-site.nav-open .bri-header .bri-nav a:nth-child(6){transition-delay:.9s}
  html body.bri-site .bri-header .bri-nav a:hover{color:#d8cfdf}

  /* Con el menú abierto la cabecera se vuelve transparente y en blanco sobre el morado. */
  html body.bri-site.nav-open .bri-header{
    background:transparent;border-color:rgba(255,255,255,.17);box-shadow:none;color:#fff;
    -webkit-backdrop-filter:none;backdrop-filter:none;
  }
  html body.bri-site.nav-open .bri-header .brand img{filter:brightness(0) invert(1)}
  html body.bri-site.nav-open .bri-header .quick-icon{color:#fff;background:transparent;border-color:rgba(255,255,255,.38)}
  html body.bri-site.nav-open .bri-header .bri-menu-toggle{color:#fff;background:transparent;border-color:rgba(255,255,255,.56)}
}
@media(prefers-reduced-motion:reduce){
  html body.bri-site .bri-header .bri-nav,
  html body.bri-site.nav-open .bri-header .bri-nav,
  html body.bri-site .bri-header .bri-nav a,
  html body.bri-site.nav-open .bri-header .bri-nav a{transition:none}
}

/* ---------- Etiqueta "Imagen generada con IA" ---------- */
.bri-site .img-wrap,.bri-site .silvia-photo,.bri-site .ai-wrap{position:relative}
.bri-site .ai-wrap{display:block}
.bri-site .ai-tag{
  position:absolute;top:10px;left:10px;z-index:3;max-width:calc(100% - 20px);
  padding:5px 9px;background:rgba(255,255,255,.93);color:#302b3d;
  font:600 12px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;pointer-events:none;
}

/* ---------- Tablas de las páginas legales ---------- */
.bri-site.bri-inner .entry-content table{width:100%;border-collapse:collapse;margin:0 0 28px;font-size:15px;line-height:1.7}
.bri-site.bri-inner .entry-content th,
.bri-site.bri-inner .entry-content td{padding:12px 14px 12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.bri-site.bri-inner .entry-content th{font-weight:600;color:var(--plum)}
@media(max-width:700px){.bri-site.bri-inner .entry-content table{display:block;overflow-x:auto}}

/* ---------- Selector de idioma (WPML) ---------- */
.bri-site .bri-lang ul{display:flex;gap:2px;margin:0;padding:0;list-style:none}
.bri-site .bri-lang li{margin:0}
html body.bri-site .bri-header .bri-lang a{
  display:block;padding:6px 7px;font:600 13px/1 var(--sans);letter-spacing:.14em;color:inherit;opacity:.78;
  text-decoration:none;transition:opacity .25s;
}
html body.bri-site .bri-header .bri-lang a:hover{opacity:1}
html body.bri-site .bri-header .bri-lang a[aria-current="true"]{opacity:1;box-shadow:inset 0 -1px 0 currentColor}
.bri-site .bri-lang--header{margin-right:4px}
.bri-site .bri-lang--menu{display:none}
@media(max-width:1020px){
  .bri-site .bri-lang--header{display:none}
  .bri-site .bri-lang--menu{display:block;margin-top:34px}
  html body.bri-site .bri-header .bri-nav .bri-lang a{font-size:15px;padding:8px 12px 8px 0;transform:none;color:#fff}
}

@media(min-width:1021px) and (max-width:1420px){
  .bri-site.bri-multilang .header-inner{gap:clamp(14px,1.6vw,30px)}
  .bri-site.bri-multilang .brand{min-width:auto}
  .bri-site.bri-multilang .bri-nav{gap:clamp(10px,1.2vw,22px)}
  .bri-site.bri-multilang .bri-nav a{font-size:13px}
  .bri-site.bri-multilang .header-cta{padding-inline:12px}
}

/* ---------- BRi · Sección libre (bloques de WordPress con el diseño de la marca) ---------- */
.bri-site .bri-free{background:var(--white)}
.bri-site .bri-free--crema{background:var(--cream)}
.bri-site .bri-free--ciruela{background:var(--plum);color:#fff}
.bri-site .bri-free__inner--estrecho{max-width:860px}
.bri-site .bri-free > .wrap > * + *{margin-top:0}
.bri-site .bri-free h1,.bri-site .bri-free h2{font:400 clamp(44px,5vw,78px)/.95 var(--serif);letter-spacing:-.055em;margin:16px 0 26px}
.bri-site .bri-free h3{font:400 clamp(28px,2.6vw,40px)/1.02 var(--serif);letter-spacing:-.04em;margin:0 0 14px}
.bri-site .bri-free h4{font:600 15px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px}
.bri-site .bri-free p,.bri-site .bri-free li{font-size:17px;line-height:1.85;color:#625e62}
.bri-site .bri-free p{margin:0 0 22px}
.bri-site .bri-free p.eyebrow{font-size:12px;line-height:1.6;color:inherit;margin:0}
.bri-site .bri-free--ciruela p,.bri-site .bri-free--ciruela li{color:#e9e4ec}
.bri-site .bri-free a:not(.wp-block-button__link){text-decoration:underline;text-underline-offset:3px}
.bri-site .bri-free .wp-block-columns{gap:clamp(40px,6vw,100px);align-items:center;margin:0}
.bri-site .bri-free .wp-block-image{margin:0}
.bri-site .bri-free .wp-block-image img{width:100%;height:auto}
.bri-site .bri-free figcaption{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#665f67;padding-top:12px;margin:0}
.bri-site .bri-free .wp-block-buttons{gap:14px;margin-top:10px}
.bri-site .bri-free .wp-block-button__link{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:14px 25px;border:1px solid var(--plum);border-radius:0;background:var(--plum);color:#fff;font:600 14px/1 var(--sans);letter-spacing:.035em;transition:background .3s,border-color .3s}
.bri-site .bri-free .wp-block-button__link:hover{background:#75667f;border-color:#75667f;color:#fff}
.bri-site .bri-free .is-style-bri-claro .wp-block-button__link{background:#fff;border-color:#fff;color:var(--plum)}
.bri-site .bri-free .is-style-bri-linea .wp-block-button__link{background:transparent;color:inherit;border-color:currentColor}
.bri-site .bri-free--ciruela .wp-block-button__link{border-color:#fff}
.bri-site .bri-free .wp-block-quote{border:0;border-left:1px solid var(--line);padding:0 0 0 30px;margin:18px 0 0}
.bri-site .bri-free .wp-block-quote p{font:400 clamp(30px,3vw,46px)/1.15 var(--serif);letter-spacing:-.03em;color:var(--plum)}
.bri-site .bri-free .wp-block-separator{border:0;border-top:1px solid var(--line);margin:40px 0}
/* Pie de página editable */
.bri-site .bri-footer .footer-top p{margin:0}
.bri-site .bri-footer .footer-top > *{min-width:0}

/* ---------- Páginas de servicios (bloques) ---------- */
.bri-site .bri-free.bri-page-head{padding-block:clamp(60px,7vw,110px)}
.bri-site .bri-free.bri-page-head h1{font-size:clamp(52px,6vw,96px);line-height:.92;letter-spacing:-.06em}
.bri-site .bri-free .bri-cols > .wp-block-column:last-child .wp-block-image img{aspect-ratio:4/5;object-fit:cover}
.bri-site .bri-free .wp-block-image{position:relative}
.bri-site .bri-free .bri-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3vw,48px);align-items:start;margin-top:clamp(30px,4vw,56px)}
.bri-site .bri-free .bri-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bri-site .bri-free .bri-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
.bri-site .bri-free.bri-band{text-align:center}
.bri-site .bri-free.bri-band .wp-block-buttons{justify-content:center}
.bri-site .bri-free .bri-silvia-photo img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto}
.bri-site .bri-free h3.bri-reviews-title{margin-top:clamp(40px,5vw,72px)}
.bri-site .bri-free .bri-review{border-left:2px solid var(--stone);margin:0 0 24px;padding:2px 0 2px 20px}
.bri-site .bri-free .bri-review cite{display:block;margin-top:8px;font:500 14px/1.5 var(--sans);letter-spacing:.04em;font-style:normal;color:var(--muted)}
.bri-site .bri-free .bri-grid > .wp-block-column{border-top:1px solid var(--line);padding-top:22px;margin:0}
.bri-site .bri-free .bri-grid h3{font-size:clamp(26px,2.2vw,34px)}
.bri-site .bri-free .bri-grid p{margin:0}
.bri-site .bri-free .bri-grid h3.bri-step,.bri-site .bri-free h3.bri-step{font:600 15px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--plum);margin:0 0 10px}
.bri-site .bri-free p.bri-note{font-size:14px;line-height:1.7;color:#665f67;max-width:760px;margin:clamp(30px,4vw,50px) 0 0}
.bri-site .bri-svc-list{display:grid;grid-template-columns:repeat(var(--bri-cols,4),minmax(0,1fr));gap:clamp(20px,2.4vw,36px);margin-top:26px}
.bri-site .bri-svc-card{display:flex;flex-direction:column;gap:10px;color:var(--plum);text-decoration:none!important}
.bri-site .bri-svc-card__img{position:relative;display:block;overflow:hidden;background:var(--cream)}
.bri-site .bri-svc-card__img img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .8s}
.bri-site .bri-svc-card:hover .bri-svc-card__img img{transform:scale(1.04)}
.bri-site .bri-svc-card__title{font:400 clamp(26px,2.2vw,34px)/1.02 var(--serif);letter-spacing:-.04em;margin-top:8px}
.bri-site .bri-svc-card__text{font-size:15px;line-height:1.7;color:#625e62}
.bri-site .bri-svc-card__more{font-size:14px;font-weight:600;border-bottom:1px solid #8a7d91;align-self:flex-start;padding-bottom:4px}
.bri-site .bri-svc-card__more::after{content:' →'}
.bri-site .bri-free .bri-site-form{margin-top:20px}
.bri-site .services .service-more{margin-top:26px}
@media(max-width:1020px){.bri-site .bri-free .bri-grid,.bri-site .bri-svc-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bri-site .bri-free .bri-grid,.bri-site .bri-svc-list{grid-template-columns:1fr}}
/* Preguntas frecuentes (bloque Detalles) */
.bri-site .bri-free .wp-block-details{border-top:1px solid var(--line);padding:22px 0;margin:0}
.bri-site .bri-free .wp-block-details:last-of-type{border-bottom:1px solid var(--line)}
.bri-site .bri-free .wp-block-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font:400 clamp(22px,2vw,30px)/1.15 var(--serif);letter-spacing:-.03em;color:var(--plum)}
.bri-site .bri-free .wp-block-details summary::-webkit-details-marker{display:none}
.bri-site .bri-free .wp-block-details summary::after{content:'+';font:300 26px/1 var(--sans);transition:transform .3s}
.bri-site .bri-free .wp-block-details[open] summary::after{transform:rotate(45deg)}
.bri-site .bri-free .wp-block-details summary:focus-visible{outline:2px solid var(--plum);outline-offset:4px}
.bri-site .bri-free .wp-block-details p{margin:14px 0 0}

/* ---------- Páginas de servicio: mismo estilo que la home (V9) ---------- */
/* Antetítulos numerados «01 / …» como en la home; el contador se reinicia en cada página. */
.bri-site.bri-inner main,.bri-site.bri-inner #primary{counter-reset:bri-sec}
.bri-site .bri-free p.eyebrow{font-size:12px;letter-spacing:.22em;font-weight:600;text-transform:uppercase;line-height:1.6}
.bri-site .bri-free:not(.bri-page-head) p.eyebrow::before{counter-increment:bri-sec;content:counter(bri-sec,decimal-leading-zero) " / ";color:var(--muted);font-weight:500}
/* Botón de contorno (WhatsApp, LinkedIn, reseñas): ciruela fino en lugar del azul de enlace (más específico que el estilo del núcleo). */
html body.bri-site .bri-free .wp-block-button.is-style-outline > .wp-block-button__link{background:transparent;color:var(--plum);border:1px solid var(--plum)}
html body.bri-site .bri-free .wp-block-button.is-style-outline > .wp-block-button__link:hover{background:var(--plum);border-color:var(--plum);color:#fff}
html body.bri-site .bri-free--ciruela .wp-block-button.is-style-outline > .wp-block-button__link,html body.bri-site .bri-free.bri-band .wp-block-button.is-style-outline > .wp-block-button__link{color:#fff;border-color:#fff}
html body.bri-site .bri-free--ciruela .wp-block-button.is-style-outline > .wp-block-button__link:hover,html body.bri-site .bri-free.bri-band .wp-block-button.is-style-outline > .wp-block-button__link:hover{background:#fff;color:var(--plum)}
.bri-site .bri-free .wp-block-button__link:focus-visible{outline:2px solid var(--stone);outline-offset:3px}
/* Ritmo vertical de la home: mismo relleno que .section y bordes finos entre bloques blancos. */
.bri-site .bri-free + .bri-free:not(.bri-free--crema):not(.bri-free--ciruela){border-top:1px solid var(--line)}
.bri-site .bri-free .wp-block-columns.bri-cols{align-items:center}
/* Rejillas: numeral en serif sobre el borde fino (como las tarjetas del recorrido de la home). */
.bri-site .bri-free .bri-grid{counter-reset:bri-item}
.bri-site .bri-free .bri-grid > .wp-block-column::before{counter-increment:bri-item;content:counter(bri-item,decimal-leading-zero);display:block;font:400 22px/1 var(--serif);color:var(--muted);margin-bottom:14px}
.bri-site .bri-free .bri-grid > .wp-block-column{border-top:1px solid var(--line)}
/* Tarjetas de servicios: título y texto con el interlineado de la home. */
.bri-site .bri-svc-card__text{font-size:15px;line-height:1.7}
.bri-site .bri-svc-card__more{font-size:14px;font-weight:600;letter-spacing:.02em}
/* Banda ciruela */
.bri-site .bri-free.bri-band h2{color:#fff}
.bri-site .bri-free.bri-band p{color:#e9e4ec}
/* Silvia y reseñas */
.bri-site .bri-free .bri-silvia-photo{position:relative}
.bri-site .bri-free .bri-review{border-left:1px solid var(--stone);padding:2px 0 2px 24px}
.bri-site .bri-free .bri-review p{font:400 clamp(24px,2.2vw,32px)/1.2 var(--serif);letter-spacing:-.025em;color:var(--plum);margin:0}
/* Preguntas frecuentes */
.bri-site .bri-free .wp-block-details summary{align-items:baseline}
.bri-site .bri-free .wp-block-details summary:hover{color:#75667f}
/* Aparición al hacer scroll (la pone bri-site.js solo en páginas interiores y sin movimiento reducido). */
.bri-site.bri-inner .reveal.bri-js-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.bri-site.bri-inner .reveal.bri-js-reveal.is-visible{opacity:1;transform:none}

/* ---------- Menú con submenú (Servicios) y pie con páginas legales ---------- */
.bri-site .bri-nav__item{position:relative;display:flex;align-items:center;gap:2px}
.bri-site .bri-sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;background:none;color:inherit;cursor:pointer}
.bri-site .bri-sub-toggle svg{width:10px;height:7px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .3s}
.bri-site .bri-nav__item.is-open .bri-sub-toggle svg{transform:rotate(180deg)}
.bri-site .bri-sub-toggle:focus-visible,.bri-site .bri-nav a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(min-width:1021px){
  .bri-site .bri-sub{position:absolute;top:100%;left:-22px;z-index:75;min-width:300px;padding:10px 0;border-top:20px solid transparent;background:#fff;background-clip:padding-box;box-shadow:0 18px 40px rgba(35,29,46,.12);outline:1px solid var(--line);outline-offset:-1px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s,transform .25s,visibility .25s}
  .bri-site .bri-nav__item:hover .bri-sub,.bri-site .bri-nav__item:focus-within .bri-sub,.bri-site .bri-nav__item.is-open .bri-sub{opacity:1;visibility:visible;transform:none}
  .bri-site .bri-nav__item:hover .bri-sub-toggle svg,.bri-site .bri-nav__item:focus-within .bri-sub-toggle svg{transform:rotate(180deg)}
  .bri-site .bri-header .bri-nav .bri-sub a{display:block;padding:11px 26px;white-space:normal;font-size:14px;line-height:1.35;color:var(--plum)}
  .bri-site .bri-header .bri-nav .bri-sub a:hover{background:var(--cream);color:#75667f}
}
@media(max-width:1020px){
  .bri-site .bri-nav{overflow-y:auto}
  .bri-site .bri-nav__item{display:block;width:100%}
  .bri-site .bri-nav__item > a{display:inline-block}
  .bri-site .bri-sub-toggle{width:44px;height:44px;margin-left:6px;vertical-align:middle}
  .bri-site .bri-sub-toggle svg{width:16px;height:11px}
  .bri-site .bri-sub{display:none;padding:2px 0 10px 18px;border-left:1px solid rgba(255,255,255,.35)}
  .bri-site .bri-nav__item.is-open .bri-sub{display:block}
  .bri-site .bri-header .bri-nav .bri-sub a{display:block;font:400 clamp(22px,4.4vw,30px)/1.25 var(--serif);padding:7px 0;color:#e9e4ec}
  .bri-site .bri-header .bri-nav .bri-sub a:hover{color:#fff}
  html body.bri-site .bri-nav a.is-ancestor,html body.bri-site .bri-nav a[aria-current="page"]:not([href^="#"]){box-shadow:none}
}
.bri-site .bri-nav a.is-ancestor,.bri-site .bri-nav a[aria-current="page"]:not([href^="#"]){box-shadow:inset 0 -1px 0 currentColor}
.bri-site .bri-nav .bri-sub a[aria-current="page"]{box-shadow:none;font-weight:600}
/* Pie: páginas legales visibles y crédito de HAS Studio */
.bri-site .footer-bottom{display:flex;flex-direction:column;gap:16px}
.bri-site .footer-bottom span{display:inline;margin:0}
.bri-site .footer-legal-row,.bri-site .footer-note-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 32px}
.bri-site .footer-copy{color:var(--plum)}
.bri-site .footer-legal{display:flex;flex-wrap:wrap;gap:8px 28px}
.bri-site .footer-bottom .footer-legal a{font-size:14px;color:var(--plum);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .3s,color .3s}
.bri-site .footer-bottom .footer-legal a:hover{border-color:var(--plum)}
.bri-site .footer-credit a{text-decoration:underline;text-underline-offset:3px}
/* Página «Propiedades»: dos accesos, Cataluña y Madrid */
.bri-site .bri-free .bri-zonas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(30px,4vw,64px);align-items:start}
.bri-site .bri-free .bri-zonas > .wp-block-column{margin:0}
.bri-site .bri-free .bri-zonas .wp-block-image img{aspect-ratio:4/3;object-fit:cover;transition:transform .9s var(--ease)}
.bri-site .bri-free .bri-zonas .wp-block-image{overflow:hidden;margin-bottom:22px}
.bri-site .bri-free .bri-zonas .wp-block-image:hover img{transform:scale(1.03)}
.bri-site .bri-free .bri-zonas h2,.bri-site .bri-free .bri-zonas h3{font-size:clamp(40px,4vw,62px);margin-bottom:10px}
@media(max-width:700px){.bri-site .bri-free .bri-zonas{grid-template-columns:1fr}}
/* Listado de propiedades dentro de una sección libre (páginas Cataluña y Madrid): las reglas de titulares y párrafos de la sección no aplican a las tarjetas */
.bri-site .bri-free:has(.bri-prop-listing){padding-top:clamp(50px,5vw,80px)}
.bri-site .bri-free .bri-prop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.4vw,36px)}
.bri-site .bri-free .bri-prop-card{border-radius:0}
.bri-site .bri-free .bri-prop-card__body{padding:22px 22px 26px}
.bri-site .bri-free .bri-prop-card .bri-prop-card__price{font:400 30px/1 var(--serif);letter-spacing:-.03em;color:var(--plum);margin:0 0 12px}
.bri-site .bri-free h2.bri-prop-card__title,.bri-site .bri-free .bri-prop-card__title{font:400 clamp(24px,1.9vw,29px)/1.12 var(--serif);letter-spacing:-.02em;margin:0 0 10px}
.bri-site .bri-free .bri-prop-card__title a{text-decoration:none;color:var(--plum)}
.bri-site .bri-free .bri-prop-card__title a:hover{color:#8a6e94}
.bri-site .bri-free .bri-prop-card .bri-prop-card__loc,.bri-site .bri-free .bri-prop-card .bri-prop-card__stats{font-size:14px;line-height:1.6;margin:0}
.bri-site .bri-free .bri-prop-card .bri-prop-card__stats{color:var(--muted);margin-top:6px}
.bri-site .bri-free .bri-prop-filter{margin-bottom:28px;max-width:320px}
@media(max-width:1020px){.bri-site .bri-free .bri-prop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bri-site .bri-free .bri-prop-grid{grid-template-columns:1fr}}
.bri-site .bri-prop-filter select{line-height:1.4;height:auto;min-height:48px}
/* Ficha de propiedad: sin autor ni fecha de Astra (no es una entrada de blog) */
.bri-site.single-propiedad .entry-meta{display:none}

/* LCP: Chrome ignora como LCP las imágenes que ocupan exactamente toda la pantalla (las trata como fondo) y entonces
   la foto del popup, que sale a los 14 s, pasaba a ser el LCP. Con 1 px menos, el póster del hero cuenta como LCP
   (primer pintado). El canvas del vídeo lo cubre igualmente; en modo fijo queda 1 px del fondo del hero, invisible. */
.bri-site .hero-media #hero-poster{height:calc(100% - 1px)}

/* Revisión 2026-11-05: contraste AA del texto pequeño de los formularios sobre blanco y crema (antes #867f87, 3,9:1)
   y descriptor de la marca legible en móvil. El selector de idioma inactivo pasa de opacidad .62 a .78 (arriba). */
.bri-site .form-small,.bri-site .form-small strong{color:#6a636c}
@media(max-width:700px){.bri-site .brand-descriptor{font-size:9.5px}}

/* Home · Barcelona y Madrid: una imagen por ciudad (editable en el bloque; provisionales generadas con IA). */
.bri-site .city-media{position:relative;overflow:hidden;aspect-ratio:16/10;margin:0 0 30px;background:var(--cream)}
.bri-site .city-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.bri-site .city:hover .city-media img{transform:scale(1.03)}
/* Mismo ancho de foto en las dos columnas (en la maqueta los márgenes eran asimétricos: 55 px a la derecha y 75 px a la izquierda). */
@media(min-width:701px){.bri-site .city{padding-right:75px}.bri-site .city+.city{padding-right:0}}
@media(max-width:700px){.bri-site .city-media{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.bri-site .city-media img{transition:none}}

/* Pie: iconos de Instagram y LinkedIn (zona táctil de 40 px). */
.bri-site .footer-social{display:flex;gap:6px;margin-left:auto}
.bri-site .footer-bottom .footer-social a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);color:var(--plum);text-decoration:none;transition:background .3s,border-color .3s}
.bri-site .footer-bottom .footer-social a:hover{background:var(--cream);border-color:var(--plum)}
.bri-site .footer-bottom .footer-social a:focus-visible{outline:2px solid var(--plum);outline-offset:2px}
.bri-site .footer-legal-row{align-items:center}
@media(max-width:700px){.bri-site .footer-social{margin-left:0;width:100%}}

/* Pie: «Configurar cookies» (vuelve a abrir el banner de Complianz) con el aspecto de los enlaces legales. */
.bri-site .footer-bottom .footer-legal .footer-cookies{font:inherit;font-size:14px;color:var(--plum);background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0 0 2px;margin:0;cursor:pointer;box-shadow:none;line-height:inherit;transition:border-color .3s}
.bri-site .footer-bottom .footer-legal .footer-cookies:hover{border-color:var(--plum);background:none;color:var(--plum)}
.bri-site .footer-bottom .footer-legal .footer-cookies:focus-visible{outline:2px solid var(--plum);outline-offset:3px}

/* ---------- Botón flotante de WhatsApp (abajo a la derecha) ---------- */
.bri-site .bri-wa{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:60;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#128c7e;color:#fff;text-decoration:none;box-shadow:0 8px 26px rgba(18,140,126,.38),0 2px 8px rgba(0,0,0,.18);transition:transform .3s var(--ease),background .25s,bottom .4s var(--ease),opacity .25s,visibility .25s}
.bri-site .bri-wa:hover{background:#0b6b5f;transform:translateY(-2px) scale(1.04);color:#fff}
.bri-site .bri-wa:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #302b3d}
.bri-site .bri-wa svg{display:block}
.bri-site .bri-wa__tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%) translateX(6px);white-space:nowrap;padding:9px 14px;background:#302b3d;color:#fff;font:600 14px/1 var(--sans);letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
@media(hover:hover){.bri-site .bri-wa:hover .bri-wa__tip,.bri-site .bri-wa:focus-visible .bri-wa__tip{opacity:1;transform:translateY(-50%)}}
/* En la portada, mientras se ve el hero, sube para no tapar el rótulo «Recreación ilustrativa» (lo gestiona bri-site.js). */
.bri-site .bri-wa.is-lifted{bottom:max(88px,calc(env(safe-area-inset-bottom) + 76px))}
/* Con el banner de cookies abierto no se muestra (ocuparía el mismo sitio). */
.bri-site:has(.cmplz-cookiebanner.cmplz-show) .bri-wa{opacity:0;visibility:hidden;pointer-events:none}
/* En la ficha, en móvil, sube sobre la barra fija del precio cuando está visible. */
@media(max-width:860px){.bri-site:has(.bri-prop-mbar:not(.is-hidden)) .bri-wa{bottom:calc(88px + env(safe-area-inset-bottom))}}
/* El pie deja sitio debajo para que el botón no tape «Diseñado por» ni los iconos al llegar al final. */
.bri-site .bri-footer{padding-bottom:calc(30px + 64px)}
@media(max-width:700px){.bri-site .bri-wa{width:54px;height:54px}.bri-site .bri-footer{padding-bottom:calc(30px + 60px)}}
@media(prefers-reduced-motion:reduce){.bri-site .bri-wa,.bri-site .bri-wa__tip{transition:none}}
