/* =========================================================
   Estilo 2 — ELEGANTE CLÁSICO
   Serif, dorado, marfil y composición señorial.
   ========================================================= */

:root {
  --ip-bg: #fbfaf7;
  --ip-bg-alt: #f2efe8;
  --ip-text: #1c2b3a;
  --ip-muted: #7a7469;
  --ip-line: #e2ddd2;
  --ip-card: #ffffff;
  --ip-shadow: 0 18px 44px rgba(28, 43, 58, .1);
  --ip-wrap: 1200px;
  --ip-header-h: 92px;
}

body.ip-style-elegante { letter-spacing: .01em; }

.ip-style-elegante .ip-h1, .ip-style-elegante .ip-h2,
.ip-style-elegante .ip-h3, .ip-style-elegante .ip-hero__title { font-weight: 500; letter-spacing: -.01em; }

.ip-style-elegante .ip-eyebrow {
  color: var(--ip-secondary); letter-spacing: .3em; font-size: 11px; position: relative; padding-left: 34px;
}
.ip-style-elegante .ip-eyebrow::before {
  content: ''; position: absolute; left: 0; top: 50%; width: 24px; height: 1px; background: var(--ip-secondary);
}

/* ---------------------------------------------- Cabecera dividida */
.ip-style-elegante .ip-header { background: rgba(251, 250, 247, .96); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ip-line); }
.ip-style-elegante .ip-header__in { min-height: var(--ip-header-h); }
.ip-style-elegante .ip-brand__mark { background: var(--ip-secondary); border-radius: 0; }
.ip-style-elegante .ip-brand__text strong { font-size: 22px; letter-spacing: .04em; }
.ip-style-elegante .ip-brand__text em { text-transform: uppercase; letter-spacing: .22em; font-size: 9.5px; color: var(--ip-secondary); }
.ip-style-elegante .ip-nav { margin-left: auto; }
.ip-style-elegante .ip-nav > ul { gap: 34px; }
.ip-style-elegante .ip-nav > ul a { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 500; }
.ip-style-elegante .ip-nav > ul a::after { background: var(--ip-secondary); }
.ip-style-elegante .ip-btn { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 500; padding: 15px 28px; }
.ip-style-elegante .ip-btn--primary { background: var(--ip-secondary); }
.ip-style-elegante .ip-btn--primary:hover { background: var(--ip-primary); transform: none; }
.ip-style-elegante .ip-btn--ghost { border-color: var(--ip-primary); color: var(--ip-primary); }
.ip-style-elegante .ip-btn--ghost:hover { background: var(--ip-primary); color: #fff; border-color: var(--ip-primary); }

/* ---------------------------------------------- Hero con marco */
.ip-style-elegante .ip-hero { padding: 26px 0 0; background: var(--ip-bg); }
.ip-style-elegante .ip-hero__media {
  inset: 26px 26px 0; height: 620px; border-radius: 0;
}
.ip-style-elegante .ip-hero__media::after {
  content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28, 43, 58, .42), rgba(28, 43, 58, .62));
}
.ip-style-elegante .ip-hero__overlay { display: none; }
.ip-style-elegante .ip-hero__in { padding: 130px 24px 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.ip-style-elegante .ip-hero__text { color: #fff; max-width: 760px; padding-bottom: 90px; }
.ip-style-elegante .ip-hero__eyebrow { color: #e8d3ab; padding-left: 0; }
.ip-style-elegante .ip-hero__eyebrow::before { display: none; }
.ip-style-elegante .ip-hero__title { font-size: clamp(36px, 5vw, 60px); }
.ip-style-elegante .ip-hero__sub { margin: 0 auto; color: rgba(255, 255, 255, .88); }
.ip-style-elegante .ip-hero__actions { justify-content: center; }
.ip-style-elegante .ip-hero__actions .ip-btn--ghost { border-color: rgba(255, 255, 255, .6); color: #fff; }
.ip-style-elegante .ip-hero__actions .ip-btn--ghost:hover { background: #fff; color: var(--ip-primary); }
.ip-style-elegante .ip-hero__meta { color: rgba(255, 255, 255, .8); justify-content: center; }

/* Buscador en caja flotante */
.ip-style-elegante .ip-hero__search { width: 100%; max-width: 1060px; }
.ip-style-elegante .ip-buscador {
  border-radius: 0; border: 1px solid var(--ip-line); border-top: 3px solid var(--ip-secondary);
  padding: 26px 28px; box-shadow: 0 24px 60px rgba(28, 43, 58, .16);
}
.ip-style-elegante .ip-field label, .ip-style-elegante .ip-field__legend { letter-spacing: .16em; font-size: 10px; }
.ip-style-elegante .ip-field input, .ip-style-elegante .ip-field select { border-radius: 0; border-color: var(--ip-line); }
.ip-style-elegante .ip-buscador__submit { background: var(--ip-secondary); border-radius: 0; text-transform: uppercase; letter-spacing: .14em; font-size: 12px; }
.ip-style-elegante .ip-buscador__more { border-radius: 0; }
.ip-style-elegante .ip-chip span { border-radius: 0; }

/* ---------------------------------------------- Accesos */
.ip-style-elegante .ip-quick { margin-top: 60px; }
.ip-style-elegante .ip-quick__item { border-radius: 0; box-shadow: none; border-color: var(--ip-line); }
.ip-style-elegante .ip-quick__item:hover { border-color: var(--ip-secondary); transform: none; box-shadow: var(--ip-shadow); }
.ip-style-elegante .ip-quick__ico { background: var(--ip-bg-alt); color: var(--ip-secondary); border-radius: 0; }

/* ---------------------------------------------- Tarjetas clásicas */
.ip-style-elegante .ip-section { padding: 92px 0; }
.ip-style-elegante .ip-sec-head { border-bottom: 1px solid var(--ip-line); padding-bottom: 22px; }
.ip-style-elegante .ip-card { border-radius: 0; border-color: var(--ip-line); }
.ip-style-elegante .ip-card:hover { transform: none; box-shadow: var(--ip-shadow); border-color: var(--ip-secondary); }
.ip-style-elegante .ip-card__media { padding-top: 72%; }
.ip-style-elegante .ip-card__body { padding: 26px 24px; }
.ip-style-elegante .ip-card__title { font-size: 21px; font-weight: 500; }
.ip-style-elegante .ip-card__loc { text-transform: uppercase; letter-spacing: .14em; font-size: 10.5px; }
.ip-style-elegante .ip-card__price2 { color: var(--ip-secondary); font-size: 24px; font-weight: 500; }
.ip-style-elegante .ip-badge { border-radius: 0; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; padding: 6px 12px; font-weight: 500; }
.ip-style-elegante .ip-badge--op { background: var(--ip-primary); }
.ip-style-elegante .ip-badge--exc { background: var(--ip-secondary); }
.ip-style-elegante .ip-card__link { color: var(--ip-secondary); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; }
.ip-style-elegante .ip-card__photos { border-radius: 0; }

/* ---------------------------------------------- Bloques */
.ip-style-elegante .ip-stats { background: var(--ip-primary); }
.ip-style-elegante .ip-stat strong { color: #e8d3ab; font-weight: 400; }
.ip-style-elegante .ip-servicios { background: var(--ip-bg-alt); }
.ip-style-elegante .ip-servicio { border-radius: 0; background: transparent; border: 1px solid var(--ip-line); }
.ip-style-elegante .ip-servicio:hover { transform: none; background: #fff; box-shadow: var(--ip-shadow); }
.ip-style-elegante .ip-servicio__ico { background: transparent; color: var(--ip-secondary); border: 1px solid var(--ip-secondary); border-radius: 50%; }
.ip-style-elegante .ip-about__media img { border-radius: 0; }
.ip-style-elegante .ip-about__media { position: relative; }
.ip-style-elegante .ip-about__media::after {
  content: ''; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid var(--ip-secondary); z-index: -1;
}
.ip-style-elegante .ip-cta { background: var(--ip-primary); color: #fff; }
.ip-style-elegante .ip-cta .ip-h2 { color: #fff; }
.ip-style-elegante .ip-cta__list .ip-ico { color: var(--ip-secondary); }
.ip-style-elegante .ip-cta__form { border-radius: 0; color: var(--ip-text); }
.ip-style-elegante .ip-form input, .ip-style-elegante .ip-form textarea { border-radius: 0; }
.ip-style-elegante .ip-pasos li { border-radius: 0; }
.ip-style-elegante .ip-paso__n { border-radius: 0; background: var(--ip-secondary); }

/* ---------------------------------------------- Ficha */
.ip-style-elegante .ip-galeria__grid { border-radius: 0; }
.ip-style-elegante .ip-galeria__more { border-radius: 0; text-transform: uppercase; letter-spacing: .12em; font-size: 11px; }
.ip-style-elegante .ip-keyfact { border-radius: 0; }
.ip-style-elegante .ip-keyfact__ico { color: var(--ip-secondary); }
.ip-style-elegante .ip-ficha__precio strong { color: var(--ip-secondary); font-weight: 500; }
.ip-style-elegante .ip-contactbox { border-radius: 0; border-top: 3px solid var(--ip-secondary); }
.ip-style-elegante .ip-contactbox__precio { color: var(--ip-secondary); font-weight: 500; }
.ip-style-elegante .ip-asidebox { border-radius: 0; }
.ip-style-elegante .ip-hipoteca { border-radius: 0; }
.ip-style-elegante .ip-hipoteca__result { border-radius: 0; }
.ip-style-elegante .ip-hipoteca__result strong { color: var(--ip-secondary); font-weight: 500; }
.ip-style-elegante .ip-post { border-radius: 0; }
.ip-style-elegante .ip-blogcat { border-radius: 0; text-transform: uppercase; letter-spacing: .1em; font-size: 11px; }
.ip-style-elegante .ip-pager__p, .ip-style-elegante .ip-pager__nav { border-radius: 0; }
.ip-style-elegante .ip-empty__ico { border-radius: 0; background: var(--ip-bg-alt); color: var(--ip-secondary); }

/* ---------------------------------------------- Pie */
.ip-style-elegante .ip-footer { background: var(--ip-primary); }
.ip-style-elegante .ip-footer h4 { color: var(--ip-secondary); letter-spacing: .22em; font-size: 11px; }
.ip-style-elegante .ip-footer__name { color: #fff; letter-spacing: .05em; }

@media (max-width: 860px) {
  .ip-style-elegante .ip-hero__media { inset: 0; height: 100%; }
  .ip-style-elegante .ip-hero__in { padding: 80px 24px 0; }
  .ip-style-elegante .ip-hero__text { padding-bottom: 50px; }
  .ip-style-elegante .ip-about__media::after { display: none; }
}
