/* =========================================================
   Estilo 6 — LUJO NOIR · negro, oro y serif. Propiedades exclusivas y alto standing.
   (estructura heredada de la hoja indicada en build; carácter propio al final)
   ========================================================= */

:root {
  --ip-bg: #0d0c0a;
  --ip-bg-alt: #15130f;
  --ip-text: #f2ede3;
  --ip-muted: #a39a89;
  --ip-line: rgba(201, 164, 92, .18);
  --ip-card: #17150f;
  --ip-shadow: 0 28px 70px rgba(0, 0, 0, .55);
  --ip-wrap: 1320px;
  --ip-header-h: 96px;
}

body.ip-style-lujo {
  background:
    radial-gradient(1100px 600px at 82% -10%, rgba(var(--ip-primary-rgb), .22), transparent 60%),
    radial-gradient(900px 500px at 5% 25%, rgba(var(--ip-secondary-rgb), .14), transparent 55%),
    var(--ip-bg);
  background-attachment: fixed;
}

.ip-style-lujo .ip-h1,
.ip-style-lujo .ip-h2,
.ip-style-lujo .ip-hero__title { letter-spacing: -.02em; font-weight: 700; }

/* ---------------------------------------------- Cabecera flotante */
.ip-style-lujo .ip-header {
  background: rgba(13, 12, 10, .6); backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid var(--ip-line);
}
.ip-style-lujo .ip-header.is-overlay { background: transparent; border-color: transparent; }
.ip-style-lujo.ip-scrolled .ip-header.is-overlay {
  background: rgba(13, 12, 10, .82); backdrop-filter: blur(18px) saturate(160%);
  border-color: var(--ip-line);
}
.ip-style-lujo .ip-brand__mark {
  background: linear-gradient(135deg, var(--ip-primary), var(--ip-secondary));
  box-shadow: 0 8px 26px rgba(var(--ip-primary-rgb), .5);
}
.ip-style-lujo .ip-nav > ul a { color: rgba(255, 255, 255, .82); }
.ip-style-lujo .ip-nav > ul a:hover { color: #fff; }
.ip-style-lujo .ip-btn--primary {
  background: linear-gradient(135deg, var(--ip-primary), var(--ip-secondary));
  box-shadow: 0 10px 30px rgba(var(--ip-primary-rgb), .38);
}
.ip-style-lujo .ip-btn--primary:hover { filter: brightness(1.12); box-shadow: 0 16px 40px rgba(var(--ip-primary-rgb), .5); }
.ip-style-lujo .ip-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .04); }
.ip-style-lujo .ip-btn--ghost:hover { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .4); color: #fff; }

/* ---------------------------------------------- Hero a pantalla completa */
.ip-style-lujo .ip-hero { min-height: 100vh; display: flex; align-items: center; margin-top: calc(var(--ip-header-h) * -1); }
.ip-style-lujo .ip-hero__media { filter: saturate(1.05); }
.ip-style-lujo .ip-hero__media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(13, 12, 10, .55) 0%, rgba(13, 12, 10, .72) 45%, rgba(13, 12, 10, .96) 100%);
}
.ip-style-lujo .ip-hero__overlay {
  background: radial-gradient(900px 500px at 78% 22%, rgba(var(--ip-primary-rgb), .38), transparent 62%);
}
.ip-style-lujo .ip-hero__in { padding: calc(var(--ip-header-h) + 70px) 24px 90px; }
.ip-style-lujo .ip-hero__eyebrow {
  padding: 7px 15px; border-radius: 100px; border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .06); backdrop-filter: blur(8px); color: #fff;
}
.ip-style-lujo .ip-hero__title {
  background: linear-gradient(120deg, #fff 20%, rgba(255, 255, 255, .62));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  max-width: 15ch;
}
.ip-style-lujo .ip-hero__sub { color: rgba(255, 255, 255, .78); }
.ip-style-lujo .ip-hero__meta { color: rgba(255, 255, 255, .7); }
.ip-style-lujo .ip-hero__search { margin-top: 46px; }

/* Buscador de cristal */
.ip-style-lujo .ip-buscador {
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .13);
  backdrop-filter: blur(22px) saturate(150%); border-radius: 22px; padding: 22px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, .45);
}
.ip-style-lujo .ip-field input, .ip-style-lujo .ip-field select {
  background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .14); color: #fff;
}
.ip-style-lujo .ip-field select option { background: #16162a; color: #fff; }
.ip-style-lujo .ip-field label, .ip-style-lujo .ip-field__legend { color: rgba(255, 255, 255, .55); }
.ip-style-lujo .ip-chip span { border-color: rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .85); }
.ip-style-lujo .ip-buscador__submit { background: linear-gradient(135deg, var(--ip-primary), var(--ip-secondary)); }
.ip-style-lujo .ip-buscador__more { color: #fff; border-color: rgba(255, 255, 255, .2); }

/* ---------------------------------------------- Accesos rápidos */
.ip-style-lujo .ip-quick { margin-top: -46px; }
.ip-style-lujo .ip-quick__item {
  background: rgba(255, 255, 255, .045); border-color: rgba(255, 255, 255, .1);
  backdrop-filter: blur(14px); border-radius: 16px;
}
.ip-style-lujo .ip-quick__ico { background: rgba(var(--ip-primary-rgb), .18); color: #fff; }

/* ---------------------------------------------- Tarjetas superpuestas */
.ip-style-lujo .ip-card {
  background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 20px; backdrop-filter: blur(10px);
}
.ip-style-lujo .ip-card:hover {
  border-color: rgba(var(--ip-primary-rgb), .55);
  box-shadow: 0 30px 60px rgba(0, 0, 0, .5), 0 0 0 1px rgba(var(--ip-primary-rgb), .2);
}
.ip-style-lujo .ip-card__media { padding-top: 74%; }
.ip-style-lujo .ip-card__media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(13, 12, 10, .92) 100%);
}
.ip-style-lujo .ip-card__price {
  display: inline-block; background: rgba(13, 12, 10, .55); backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, .18); color: #fff; font-family: var(--ip-font-head);
  border-radius: 100px; padding: 7px 16px; font-size: 17px;
}
.ip-style-lujo .ip-card__price2 { display: none; }
.ip-style-lujo .ip-badge { background: rgba(13, 12, 10, .6); color: #fff; border: 1px solid rgba(255, 255, 255, .16); }
.ip-style-lujo .ip-badge--op { background: linear-gradient(135deg, var(--ip-primary), var(--ip-secondary)); border-color: transparent; }
.ip-style-lujo .ip-card__title { font-size: 19px; }
.ip-style-lujo .ip-card__feats li { color: rgba(255, 255, 255, .62); }
.ip-style-lujo .ip-card__foot { border-top-color: rgba(255, 255, 255, .08); }
.ip-style-lujo .ip-card__link { color: var(--ip-secondary); }

/* ---------------------------------------------- Secciones */
.ip-style-lujo .ip-section { padding: 100px 0; }
.ip-style-lujo .ip-h2 { font-size: clamp(28px, 3.6vw, 44px); }
.ip-style-lujo .ip-eyebrow { color: var(--ip-secondary); }
.ip-style-lujo .ip-servicios { background: transparent; }
.ip-style-lujo .ip-servicio {
  background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .09); border-radius: 20px;
}
.ip-style-lujo .ip-servicio__ico {
  background: linear-gradient(135deg, rgba(var(--ip-primary-rgb), .3), rgba(var(--ip-secondary-rgb), .3));
  color: #fff; border-radius: 14px;
}
.ip-style-lujo .ip-stats {
  background: linear-gradient(120deg, rgba(var(--ip-primary-rgb), .22), rgba(var(--ip-secondary-rgb), .18));
  border-top: 1px solid var(--ip-line); border-bottom: 1px solid var(--ip-line);
}
.ip-style-lujo .ip-stat strong {
  background: linear-gradient(120deg, #fff, rgba(255, 255, 255, .6));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ip-style-lujo .ip-cta { background: rgba(255, 255, 255, .03); border-top: 1px solid var(--ip-line); }
.ip-style-lujo .ip-cta__form, .ip-style-lujo .ip-contacto__form, .ip-style-lujo .ip-contactbox {
  background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .11); border-radius: 20px;
  backdrop-filter: blur(14px);
}
.ip-style-lujo .ip-form input, .ip-style-lujo .ip-form textarea {
  background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .13); color: #fff;
}
.ip-style-lujo .ip-form__msg.is-ok { background: rgba(16, 185, 129, .12); color: #6ee7b7; border-color: rgba(16, 185, 129, .3); }
.ip-style-lujo .ip-form__msg.is-err { background: rgba(239, 68, 68, .12); color: #fca5a5; border-color: rgba(239, 68, 68, .3); }

/* ---------------------------------------------- Blog y ficha */
.ip-style-lujo .ip-post { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .09); border-radius: 20px; }
.ip-style-lujo .ip-keyfact { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .09); border-radius: 16px; }
.ip-style-lujo .ip-hipoteca { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); border-radius: 20px; }
.ip-style-lujo .ip-hipoteca__result { background: rgba(0, 0, 0, .3); border-color: rgba(255, 255, 255, .1); }
.ip-style-lujo .ip-asidebox { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); border-radius: 18px; }
.ip-style-lujo .ip-galeria__grid { border-radius: 22px; }
.ip-style-lujo .ip-galeria__more { background: rgba(13, 12, 10, .78); color: #fff; border: 1px solid rgba(255, 255, 255, .2); backdrop-filter: blur(10px); }
.ip-style-lujo .ip-specs li { border-bottom-color: rgba(255, 255, 255, .08); }
.ip-style-lujo .ip-prose blockquote { background: rgba(255, 255, 255, .04); }
.ip-style-lujo .ip-blogcat { border-color: rgba(255, 255, 255, .14); }
.ip-style-lujo .ip-footer { background: #07070d; border-top: 1px solid var(--ip-line); }
.ip-style-lujo .ip-empty__ico { background: rgba(var(--ip-primary-rgb), .16); color: var(--ip-secondary); }
.ip-style-lujo .ip-pager__p, .ip-style-lujo .ip-pager__nav { border-color: rgba(255, 255, 255, .14); }

@media (max-width: 860px) {
  .ip-style-lujo .ip-hero { min-height: auto; margin-top: 0; }
  .ip-style-lujo .ip-hero__in { padding: 70px 24px 60px; }
  .ip-style-lujo .ip-nav { background: #12121f; }
}


/* ---------------------------------------------- Carácter propio */
body.ip-style-lujo { background: var(--ip-bg); }
.ip-style-lujo .ip-h1, .ip-style-lujo .ip-h2, .ip-style-lujo .ip-hero__title, .ip-style-lujo .ip-pagehero__title { font-weight: 500; letter-spacing: -.005em; }
.ip-style-lujo .ip-hero__title { background: none; color: #fff; -webkit-background-clip: initial; background-clip: initial; max-width: 16ch; font-size: clamp(40px, 6vw, 78px); line-height: 1.02; }
.ip-style-lujo .ip-hero__overlay { background: none; }
.ip-style-lujo .ip-eyebrow, .ip-style-lujo .ip-hero__eyebrow { color: var(--ip-primary); letter-spacing: .34em; font-size: 11px; text-transform: uppercase; }
.ip-style-lujo .ip-hero__eyebrow { border: 0; background: none; backdrop-filter: none; padding: 0 0 0 48px; position: relative; }
.ip-style-lujo .ip-hero__eyebrow::before { content: ''; position: absolute; left: 0; top: 50%; width: 34px; height: 1px; background: var(--ip-primary); }
.ip-style-lujo .ip-btn { border-radius: 0; text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 600; padding: 16px 30px; }
.ip-style-lujo .ip-btn--primary { background: var(--ip-primary); color: #0d0c0a; box-shadow: none; }
.ip-style-lujo .ip-btn--primary:hover { background: #e0c07e; filter: none; box-shadow: 0 14px 34px rgba(201, 164, 92, .28); }
.ip-style-lujo .ip-btn--ghost { border-color: rgba(201, 164, 92, .55); color: var(--ip-primary); background: transparent; }
.ip-style-lujo .ip-btn--ghost:hover { background: var(--ip-primary); color: #0d0c0a; border-color: var(--ip-primary); }
.ip-style-lujo .ip-brand__mark { background: none; box-shadow: none; border: 1px solid var(--ip-primary); color: var(--ip-primary); border-radius: 0; }
.ip-style-lujo .ip-nav > ul a { text-transform: uppercase; letter-spacing: .16em; font-size: 12px; }
.ip-style-lujo .ip-nav > ul a::after { background: var(--ip-primary); }
.ip-style-lujo .ip-buscador { border-radius: 0; border-color: rgba(201, 164, 92, .28); }
.ip-style-lujo .ip-field input, .ip-style-lujo .ip-field select, .ip-style-lujo .ip-buscador__submit, .ip-style-lujo .ip-buscador__more { border-radius: 0; }
.ip-style-lujo .ip-buscador__submit { background: var(--ip-primary); color: #0d0c0a; }
.ip-style-lujo .ip-card, .ip-style-lujo .ip-card__media, .ip-style-lujo .ip-servicio, .ip-style-lujo .ip-opinion, .ip-style-lujo .ip-zona,
.ip-style-lujo .ip-persona__foto, .ip-style-lujo .ip-videobox, .ip-style-lujo .ip-cta__form, .ip-style-lujo .ip-form input, .ip-style-lujo .ip-form textarea { border-radius: 0; }
.ip-style-lujo .ip-card__price2, .ip-style-lujo .ip-card__price, .ip-style-lujo .ip-stat strong { color: var(--ip-primary); font-family: var(--ip-font-head); font-weight: 500; }
.ip-style-lujo .ip-servicio__ico { background: transparent; border: 1px solid var(--ip-primary); color: var(--ip-primary); border-radius: 50%; }
.ip-style-lujo .ip-section { padding: 110px 0; }
.ip-style-lujo .ip-sec-head { border-bottom: 1px solid var(--ip-line); padding-bottom: 26px; }
.ip-style-lujo .ip-bg-color { background: var(--ip-primary); color: #0d0c0a; }
.ip-style-lujo .ip-bg-color .ip-h2, .ip-style-lujo .ip-bg-color .ip-eyebrow { color: #0d0c0a; }
.ip-style-lujo .ip-footer { border-top: 1px solid var(--ip-line); }
.ip-style-lujo .ip-pagehero__overlay { background: linear-gradient(180deg, rgba(13, 12, 10, .45), rgba(13, 12, 10, .8)); }
.ip-style-lujo .ip-opinion__stars { color: var(--ip-primary); }
