/* =========================================================
   Estilo 1 — MODERNO OSCURO
   Fondo oscuro, cristal, degradados y hero a pantalla completa.
   ========================================================= */

:root {
  --ip-bg: #0b0b14;
  --ip-bg-alt: #12121f;
  --ip-text: #f1f2f7;
  --ip-muted: #9599b3;
  --ip-line: rgba(255, 255, 255, .1);
  --ip-card: #16162a;
  --ip-shadow: 0 24px 60px rgba(0, 0, 0, .5);
  --ip-wrap: 1300px;
  --ip-header-h: 86px;
}

body.ip-style-moderno {
  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-moderno .ip-h1,
.ip-style-moderno .ip-h2,
.ip-style-moderno .ip-hero__title { letter-spacing: -.02em; font-weight: 700; }

/* ---------------------------------------------- Cabecera flotante */
.ip-style-moderno .ip-header {
  background: rgba(11, 11, 20, .6); backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid var(--ip-line);
}
.ip-style-moderno .ip-header.is-overlay { background: transparent; border-color: transparent; }
.ip-style-moderno.ip-scrolled .ip-header.is-overlay {
  background: rgba(11, 11, 20, .82); backdrop-filter: blur(18px) saturate(160%);
  border-color: var(--ip-line);
}
.ip-style-moderno .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-moderno .ip-nav > ul a { color: rgba(255, 255, 255, .82); }
.ip-style-moderno .ip-nav > ul a:hover { color: #fff; }
.ip-style-moderno .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-moderno .ip-btn--primary:hover { filter: brightness(1.12); box-shadow: 0 16px 40px rgba(var(--ip-primary-rgb), .5); }
.ip-style-moderno .ip-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .04); }
.ip-style-moderno .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-moderno .ip-hero { min-height: 100vh; display: flex; align-items: center; margin-top: calc(var(--ip-header-h) * -1); }
.ip-style-moderno .ip-hero__media { filter: saturate(1.05); }
.ip-style-moderno .ip-hero__media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(11, 11, 20, .55) 0%, rgba(11, 11, 20, .72) 45%, rgba(11, 11, 20, .96) 100%);
}
.ip-style-moderno .ip-hero__overlay {
  background: radial-gradient(900px 500px at 78% 22%, rgba(var(--ip-primary-rgb), .38), transparent 62%);
}
.ip-style-moderno .ip-hero__in { padding: calc(var(--ip-header-h) + 70px) 24px 90px; }
.ip-style-moderno .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-moderno .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-moderno .ip-hero__sub { color: rgba(255, 255, 255, .78); }
.ip-style-moderno .ip-hero__meta { color: rgba(255, 255, 255, .7); }
.ip-style-moderno .ip-hero__search { margin-top: 46px; }

/* Buscador de cristal */
.ip-style-moderno .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-moderno .ip-field input, .ip-style-moderno .ip-field select {
  background: rgba(255, 255, 255, .07); border-color: rgba(255, 255, 255, .14); color: #fff;
}
.ip-style-moderno .ip-field select option { background: #16162a; color: #fff; }
.ip-style-moderno .ip-field label, .ip-style-moderno .ip-field__legend { color: rgba(255, 255, 255, .55); }
.ip-style-moderno .ip-chip span { border-color: rgba(255, 255, 255, .18); color: rgba(255, 255, 255, .85); }
.ip-style-moderno .ip-buscador__submit { background: linear-gradient(135deg, var(--ip-primary), var(--ip-secondary)); }
.ip-style-moderno .ip-buscador__more { color: #fff; border-color: rgba(255, 255, 255, .2); }

/* ---------------------------------------------- Accesos rápidos */
.ip-style-moderno .ip-quick { margin-top: -46px; }
.ip-style-moderno .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-moderno .ip-quick__ico { background: rgba(var(--ip-primary-rgb), .18); color: #fff; }

/* ---------------------------------------------- Tarjetas superpuestas */
.ip-style-moderno .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-moderno .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-moderno .ip-card__media { padding-top: 74%; }
.ip-style-moderno .ip-card__media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(11, 11, 20, .92) 100%);
}
.ip-style-moderno .ip-card__price {
  display: inline-block; background: rgba(11, 11, 20, .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-moderno .ip-card__price2 { display: none; }
.ip-style-moderno .ip-badge { background: rgba(11, 11, 20, .6); color: #fff; border: 1px solid rgba(255, 255, 255, .16); }
.ip-style-moderno .ip-badge--op { background: linear-gradient(135deg, var(--ip-primary), var(--ip-secondary)); border-color: transparent; }
.ip-style-moderno .ip-card__title { font-size: 19px; }
.ip-style-moderno .ip-card__feats li { color: rgba(255, 255, 255, .62); }
.ip-style-moderno .ip-card__foot { border-top-color: rgba(255, 255, 255, .08); }
.ip-style-moderno .ip-card__link { color: var(--ip-secondary); }

/* ---------------------------------------------- Secciones */
.ip-style-moderno .ip-section { padding: 100px 0; }
.ip-style-moderno .ip-h2 { font-size: clamp(28px, 3.6vw, 44px); }
.ip-style-moderno .ip-eyebrow { color: var(--ip-secondary); }
.ip-style-moderno .ip-servicios { background: transparent; }
.ip-style-moderno .ip-servicio {
  background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .09); border-radius: 20px;
}
.ip-style-moderno .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-moderno .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-moderno .ip-stat strong {
  background: linear-gradient(120deg, #fff, rgba(255, 255, 255, .6));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ip-style-moderno .ip-cta { background: rgba(255, 255, 255, .03); border-top: 1px solid var(--ip-line); }
.ip-style-moderno .ip-cta__form, .ip-style-moderno .ip-contacto__form, .ip-style-moderno .ip-contactbox {
  background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .11); border-radius: 20px;
  backdrop-filter: blur(14px);
}
.ip-style-moderno .ip-form input, .ip-style-moderno .ip-form textarea {
  background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .13); color: #fff;
}
.ip-style-moderno .ip-form__msg.is-ok { background: rgba(16, 185, 129, .12); color: #6ee7b7; border-color: rgba(16, 185, 129, .3); }
.ip-style-moderno .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-moderno .ip-post { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .09); border-radius: 20px; }
.ip-style-moderno .ip-keyfact { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .09); border-radius: 16px; }
.ip-style-moderno .ip-hipoteca { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); border-radius: 20px; }
.ip-style-moderno .ip-hipoteca__result { background: rgba(0, 0, 0, .3); border-color: rgba(255, 255, 255, .1); }
.ip-style-moderno .ip-asidebox { background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .09); border-radius: 18px; }
.ip-style-moderno .ip-galeria__grid { border-radius: 22px; }
.ip-style-moderno .ip-galeria__more { background: rgba(11, 11, 20, .78); color: #fff; border: 1px solid rgba(255, 255, 255, .2); backdrop-filter: blur(10px); }
.ip-style-moderno .ip-specs li { border-bottom-color: rgba(255, 255, 255, .08); }
.ip-style-moderno .ip-prose blockquote { background: rgba(255, 255, 255, .04); }
.ip-style-moderno .ip-blogcat { border-color: rgba(255, 255, 255, .14); }
.ip-style-moderno .ip-footer { background: #07070d; border-top: 1px solid var(--ip-line); }
.ip-style-moderno .ip-empty__ico { background: rgba(var(--ip-primary-rgb), .16); color: var(--ip-secondary); }
.ip-style-moderno .ip-pager__p, .ip-style-moderno .ip-pager__nav { border-color: rgba(255, 255, 255, .14); }

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