/* ===== vh-hero-redesign-css ===== */

/* VH Hero Redesign v1.0.1 — Opción A full-width */
.hero .hero-content { grid-template-columns: 1fr !important; }
.hero .hero-left { max-width: 62% !important; }
.vh-hero-accent { color: #75D1F2; }
.vh-hero-rule {
    display: inline-block;
    width: 36px;
    height: 2px;
    background: #75D1F2;
    vertical-align: middle;
    margin-right: 10px;
}
.hero-eyebrow { letter-spacing: .1em; font-size: .75rem; font-weight: 600; }
.vh-hero-ctas {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 32px;
}
.vh-cta-primary {
    background: #0575E0;
    color: #fff !important;
    padding: 16px 36px;
    border-radius: 8px;
    font-weight: 700;
    text-decoration: none;
    font-size: 1.1rem;
    letter-spacing: .01em;
    box-shadow: 0 4px 18px rgba(5,117,224,.35);
    transition: background .2s, box-shadow .2s, transform .15s;
    display: inline-block;
}
.vh-cta-primary:hover {
    background: #0460c0;
    color: #fff !important;
    box-shadow: 0 6px 24px rgba(5,117,224,.45);
    transform: translateY(-2px);
}
@media (max-width: 767px) {
    .hero .hero-left { max-width: 100% !important; }
    .vh-hero-ctas { flex-direction: column; }
    .vh-cta-primary { text-align: center; }
}

/* ===== vh-clientify-lazy-css ===== */

/* CLS reservations v1.0.2: PSI midio CLS 0.119 en .hero — subir generosamente */
.hero-form-card { min-height: 640px; }
.clientify-embed-hero { min-height: 460px; display: block; }
/* Reservar tambien la altura del hero left (h1 + sub + cta) para que no se mueva al cargar fonts */
.hero-left { min-height: 360px; }
/* Placeholder skeleton */
.vh-form-placeholder { padding: .5rem 0; }
.vh-form-placeholder .vh-ph-row { height: 44px; background: #f0f4f8; border-radius: 8px; margin-bottom: 12px; animation: vh-ph-pulse 1.4s ease-in-out infinite; }
.vh-form-placeholder .vh-ph-btn { height: 48px; background: #c5d9ed; border-radius: 8px; margin-top: 16px; animation: vh-ph-pulse 1.4s ease-in-out infinite; }
@keyframes vh-ph-pulse { 0%,100%{opacity:1} 50%{opacity:.55} }
@media (max-width: 768px) {
    .hero-form-card { min-height: 580px; }
    .clientify-embed-hero { min-height: 440px; }
    .hero-left { min-height: 320px; }
}

/* ===== vh-skip-link-css ===== */

.skip-link{position:absolute;top:-100%;left:1rem;background:#0575E0;color:#fff;padding:.5rem 1rem;border-radius:0 0 8px 8px;text-decoration:none;font-family:Poppins,Arial,sans-serif;font-weight:600;font-size:.92rem;z-index:10000;transition:top .2s ease;line-height:1.2}
.skip-link:focus,.skip-link:focus-visible{top:0;outline:2px solid #fff;outline-offset:2px;color:#fff}
.skip-link.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link.screen-reader-text:focus{clip:auto;width:auto;height:auto;top:0;left:1rem;background:#0575E0;color:#fff;padding:.5rem 1rem;border-radius:0 0 8px 8px;font-family:Poppins,Arial,sans-serif;z-index:10000}

/* ===== joinchat-button-style-inline-css ===== */

.wp-block-joinchat-button{align-items:center;display:flex;flex-flow:row nowrap}.wp-block-joinchat-button.is-vertical{flex-direction:column}.wp-block-joinchat-button.is-vertical.is-content-justification-left{align-items:flex-start}.wp-block-joinchat-button.is-vertical.is-content-justification-center{align-items:center}.wp-block-joinchat-button.is-vertical.is-content-justification-right{align-items:flex-end}.wp-block-joinchat-button:not(.is-vertical).is-content-justification-left{justify-content:flex-start}.wp-block-joinchat-button:not(.is-vertical).is-content-justification-center{justify-content:center}.wp-block-joinchat-button:not(.is-vertical).is-content-justification-right{justify-content:flex-end}.wp-block-joinchat-button:not(.is-vertical).is-content-justification-space-between{justify-content:space-between}.wp-block-joinchat-button figure{align-items:center;display:flex;flex-direction:column;flex-shrink:0;margin:0;padding:0}.wp-block-joinchat-button figcaption{font:normal normal 400 .6em/2em var(--wp--preset--font-family--system-font,sans-serif);margin:0;padding:0}.wp-block-joinchat-button .joinchat-button__qr{background-color:#fff;box-sizing:content-box;display:block;height:200px;overflow:hidden;padding:10px;width:200px}.wp-block-joinchat-button .joinchat-button__qr canvas,.wp-block-joinchat-button .joinchat-button__qr img{display:block;margin:auto}.wp-block-joinchat-button .wp-block-buttons{flex:1 1 auto;margin:0;max-width:100%;min-width:0;width:100%}.wp-block-joinchat-button .wp-block-button.wp-block-button__width-25{min-width:25%;width:calc(25% - var(--wp--style--block-gap, .5em)*.75)}.wp-block-joinchat-button .wp-block-button.wp-block-button__width-50{min-width:50%;width:calc(50% - var(--wp--style--block-gap, .5em)*.5)}.wp-block-joinchat-button .wp-block-button.wp-block-button__width-75{min-width:75%;width:calc(75% - var(--wp--style--block-gap, .5em)*.25)}.wp-block-joinchat-button .wp-block-button.wp-block-button__width-100{min-width:100%;width:100%}.wp-block-joinchat-button .joinchat-button__link,.wp-block-joinchat-button .wp-block-button__link{align-items:center;display:inline-flex;flex-flow:row nowrap;justify-content:center;width:100%}.wp-block-joinchat-button .joinchat-button__link:before,.wp-block-joinchat-button .wp-block-button__link:before{background:transparent var(--joinchat-ico) no-repeat center;background-size:100%;content:"";display:block;height:1.5em;margin:-.75em .75em -.75em 0;width:1.5em}.wp-block-joinchat-button .joinchat-button__link{width:auto}.wp-block-joinchat-button:has(.joinchat-button__link){border:none!important;display:flex;flex-direction:column}@media (orientation:landscape)and (height >= 481px),(orientation:portrait)and (width >= 481px){.wp-block-joinchat-button.joinchat-button--qr-only .wp-block-buttons{display:none}}@media (orientation:landscape)and (height <= 480px),(width <= 480px){.wp-block-joinchat-button figure{display:none}}

/*# sourceURL=https://vivenziahome.com/wp-content/plugins/creame-whatsapp-me/gutenberg/build/style-index.css */

/* ===== wpcode-VH-Zona-Pages-v1.0.0 ===== */
/* VH Zona Pages v1.0.0 */
.vh-zona-content{max-width:900px;margin:0 auto;padding:32px 20px 64px;font-family:Poppins,sans-serif;color:#1a1a2e}
.vh-zona-hero{margin-bottom:48px}
.vh-zona-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0575E0;margin:0 0 12px}
.vh-zona-h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;line-height:1.2;margin:0 0 16px;color:#0a1f44}
.vh-zona-intro{font-size:1.05rem;line-height:1.7;color:#333;margin:0 0 28px;max-width:720px}
.vh-zona-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.vh-btn-primary,.vh-btn-secondary{display:inline-block;padding:12px 24px;border-radius:6px;font-weight:600;font-size:.9rem;text-decoration:none;transition:opacity .15s}
.vh-btn-primary{background:#0575E0;color:#fff}
.vh-btn-primary:hover{opacity:.85;color:#fff}
.vh-btn-secondary{background:#f0f6ff;color:#0575E0;border:1.5px solid #0575E0}
.vh-btn-secondary:hover{background:#e0edff;color:#0575E0}
.vh-zona-section,.vh-zona-market,.vh-zona-services,.vh-zona-work,.vh-zona-ops,.vh-zona-faq-wrap,.vh-zona-search,.vh-zona-cta-final{margin-bottom:48px}
.vh-zona-h2{font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700;color:#0a1f44;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e8f0fb}
.vh-zona-table-wrap{overflow-x:auto;margin-bottom:20px}
.vh-zona-table{width:100%;border-collapse:collapse;font-size:.9rem}
.vh-zona-table th{background:#0575E0;color:#fff;text-align:left;padding:10px 14px;font-weight:600}
.vh-zona-table td{padding:9px 14px;border-bottom:1px solid #e8f0fb;color:#222}
.vh-zona-table tr:nth-child(even) td{background:#f7faff}
.vh-zona-list{padding-left:20px;margin:0 0 16px;line-height:1.8}
.vh-zona-list-num{padding-left:20px;margin:0 0 16px;line-height:1.8}
.vh-zona-list li,.vh-zona-list-num li{margin-bottom:6px}
.vh-zona-faq{display:flex;flex-direction:column;gap:8px}
.vh-faq-item{border:1px solid #e0e8f5;border-radius:8px;overflow:hidden}
.vh-faq-q{display:block;cursor:pointer;padding:14px 18px;font-weight:600;font-size:.95rem;background:#f7faff;list-style:none;user-select:none}
.vh-faq-q::marker,.vh-faq-q::-webkit-details-marker{display:none}
.vh-faq-item[open] .vh-faq-q{color:#0575E0;background:#edf4ff}
.vh-faq-a{padding:14px 18px;font-size:.93rem;line-height:1.65;border-top:1px solid #e0e8f5}
.vh-faq-a p:last-child{margin:0}
.vh-zona-search-ctas{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.vh-zona-search-note{font-size:.85rem;color:#666;margin-top:8px}
.vh-zona-search-note a{color:#0575E0}
.vh-zona-cta-final{background:#f0f6ff;border-radius:12px;padding:32px 28px;text-align:center}
.vh-cta-headline{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:700;color:#0a1f44;margin:0 0 10px}
.vh-cta-subtitle{color:#444;margin:0 0 20px;font-size:.95rem}
.vh-cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media(max-width:600px){
  .vh-zona-hero-ctas,.vh-zona-search-ctas,.vh-cta-buttons{flex-direction:column}
  .vh-btn-primary,.vh-btn-secondary{text-align:center}
}
/* Hide WP entry-title on zona pages (duplicate H1) */
body:has(.vh-zona-content) .entry-title,
body:has(.vh-zona-content) .entry-header,
body:has(.vh-zona-content) .page-header{display:none!important}
/* ===== wpcode-Home:-invertir-orden-—-BS70-(próxima) ===== */
.vh-on-bs70 .vh-on-bs70-grid,
#vh-on-bs70 .vh-on-bs70-grid{
grid-template-columns:1fr !important;
width:100% !important;
gap:16px !important;
}

/* Home: invertir orden — BS70 (próxima) primero, Huertas J34 (vendida) segundo */
.carousel-track .obra-card-bs70{order:1 !important}
.carousel-track .obra-card-link-wrap:not(.obra-card-bs70){order:2 !important}

/* Home: BS70 image cuadrada (1:1) — mostrar completa con contain (sin recorte) */
.carousel-track .obra-card-bs70 .obra-card-img{object-fit:cover !important;object-position:center 30% !important;background-color:transparent !important}

/* === BS70 card redesign — /obra-nueva/ === */
/* Imagen completa con fondo cream */
body.page-id-34 .on-listado .promo-card-bs70 .promo-img-wrap{
  background:oklch(0.96 0.012 80) !important;
  display:block !important;
  aspect-ratio:auto !important;
}
body.page-id-34 .on-listado .promo-card-bs70 .promo-img-wrap img.promo-img{
  object-fit:contain !important;
  width:100% !important;
  height:auto !important;
  max-height:480px !important;
  background:oklch(0.96 0.012 80) !important;
  display:block !important;
}
/* Badge LISTA PREFERENTE — fondo cream, texto carbón */
.promo-card-bs70 .promo-badge.badge-soon{
  background:oklch(0.96 0.012 80) !important;
  color:#1a1a1a !important;
  letter-spacing:0.08em;
  font-size:0.72rem;
  font-weight:600;
  text-transform:uppercase;
  padding:6px 12px;
  border-radius:6px;
}
/* Eyebrow uppercase */
.promo-card-bs70 .promo-zona{
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-size:0.78rem;
  color:#5a7088;
  font-weight:600;
  margin-bottom:8px;
}
/* Title Instrument Serif */
h3.promo-name-bs70{
  font-family:'Instrument Serif', Georgia, 'Times New Roman', serif !important;
  font-size:56px !important;
  line-height:1.05 !important;
  font-weight:400 !important;
  margin:8px 0 12px !important;
  color:#1A2A44 !important;
}
h3.promo-name-bs70 em{
  font-style:italic;
  color:oklch(0.55 0.13 65);
}
@media (max-width: 768px){
  h3.promo-name-bs70{font-size:40px !important;line-height:1.1 !important}
}
/* Meta */
.promo-card-bs70 .promo-details{
  font-size:0.95rem;
  color:#4A5670;
  margin:0;
}
/* Hover suave (sin link) */
.promo-card-bs70{
  display:block;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(7,117,224,.12);
  transition:box-shadow .25s ease;
}
.promo-card-bs70 .promo-body{padding:20px 24px}

/* ===== wpcode-VH-Sprint-#144-—-Bug-3-+-Bug-5-(2026-0 ===== */
/* VH Sprint #144 — Bug 3 + Bug 5 (2026-05-05) */

/* Bug 3 — H1 ficha controlado */
.vh-h1-ficha, h1.vh-h1-ficha, article h1.vh-h1-ficha, .entry-title.vh-h1-ficha, main h1.vh-h1-ficha {
  font-size: clamp(1.3rem, 2.2vw, 1.6rem) !important;
  line-height: 1.25 !important;
  color: #0575E0 !important;
  font-weight: 700 !important;
  margin: 0 0 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-word;
}
@media (max-width: 600px) {
  .vh-h1-ficha, h1.vh-h1-ficha { font-size: 1.15rem !important; line-height: 1.2 !important; }
}

/* Bug 5 — Logo legible en fichas (header blanco) */
body.single-post header img[src*='Vivenzia-Horizontal'],
body.single-post .site-logo img[src*='Vivenzia-Horizontal'],
body.single-post .header-logo img[src*='Vivenzia-Horizontal'],
body[class*='single'] header img[src*='Vivenzia-Horizontal-Negativo'],
body[class*='single'] header img[src*='Vivenzia-Horizontal-Blanco'],
body.elementor-page header img[src*='Vivenzia-Horizontal-Negativo'],
body.elementor-page header img[src*='Vivenzia-Horizontal-Blanco'] {
  filter: brightness(0) saturate(100%) invert(28%) sepia(96%) saturate(2050%) hue-rotate(199deg) brightness(96%) contrast(101%) !important;
}

/* ===== vh-on-blocks-css ===== */

/* ====== /obra-nueva/ — bloques estructurales ====== */
.vh-on-section { padding: 64px 24px; max-width: 1200px; margin: 0 auto; }
.vh-on-section h2 { font-size: clamp(28px, 4vw, 40px); color: #052F5C; font-weight: 800; margin: 0 0 16px; line-height: 1.15; }
.vh-on-section .vh-on-eyebrow { font-size: 13px; font-weight: 500; color: #0575E0; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 12px; }
.vh-on-section .vh-on-sub { font-size: 17px; color: #4789C4; line-height: 1.5; max-width: 720px; margin: 0 0 32px; }

/* Cómo trabajamos — 3 columnas */
.vh-on-howwework { background: #F5F9FE; }
.vh-on-howwework .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 24px; }
.vh-on-howwework .col { background: #fff; border-radius: 14px; padding: 28px 24px; box-shadow: 0 2px 14px rgba(5, 47, 92, 0.06); border-top: 4px solid #0575E0; }
.vh-on-howwework .col h3 { font-size: 20px; color: #0575E0; margin: 0 0 12px; font-weight: 700; }
.vh-on-howwework .col p { font-size: 15px; color: #1A2A44; line-height: 1.55; margin: 0; }
@media (max-width: 860px) { .vh-on-howwework .grid { grid-template-columns: 1fr; } }

/* BS70 teaser */
.vh-on-bs70 { background: linear-gradient(135deg, #EAF5FE 0%, #DCEAFA 100%); border-radius: 18px; padding: 48px 32px; margin: 48px auto; max-width: 1100px; }
.vh-on-bs70-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.vh-on-bs70 .badge-soon { display: inline-block; background: #0575E0; color: #fff; font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 999px; letter-spacing: 0.06em; margin-bottom: 14px; }
.vh-on-bs70 .placeholder-img { background: linear-gradient(135deg, #75D1F2 0%, #0575E0 100%); border-radius: 14px; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.7); font-size: 14px; font-style: italic; }
.vh-on-bs70 ul { list-style: none; padding: 0; margin: 16px 0 24px; }
.vh-on-bs70 ul li { padding: 6px 0 6px 26px; position: relative; font-size: 15px; color: #1A2A44; }
.vh-on-bs70 ul li:before { content: '✓'; position: absolute; left: 0; color: #0575E0; font-weight: 700; }
.vh-on-bs70 .cta { display: inline-flex; align-items: center; gap: 8px; padding: 14px 26px; background: #0575E0; color: #fff; border-radius: 8px; text-decoration: none; font-weight: 600; transition: background .15s; }
.vh-on-bs70 .cta:hover { background: #052F5C; }
@media (max-width: 860px) { .vh-on-bs70-grid { grid-template-columns: 1fr; gap: 24px; } }

/* ¿Eres promotor? expandido */
.vh-on-promotor { background: #fff; border: 2px solid #75D1F2; border-radius: 18px; padding: 48px 32px; margin: 48px auto; max-width: 1100px; }
.vh-on-promotor-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; align-items: center; }
.vh-on-promotor ul { list-style: none; padding: 0; margin: 16px 0 24px; }
.vh-on-promotor ul li { padding: 8px 0 8px 30px; position: relative; font-size: 16px; color: #1A2A44; line-height: 1.45; }
.vh-on-promotor ul li:before { content: '▸'; position: absolute; left: 0; color: #0575E0; font-weight: 700; }
.vh-on-promotor .ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.vh-on-promotor .cta-primary { padding: 14px 26px; background: #0575E0; color: #fff; border-radius: 8px; text-decoration: none; font-weight: 600; }
.vh-on-promotor .cta-secondary { padding: 14px 26px; background: transparent; color: #0575E0; border: 2px solid #0575E0; border-radius: 8px; text-decoration: none; font-weight: 600; }
.vh-on-promotor .placeholder-img { background: linear-gradient(135deg, #DCEAFA 0%, #75D1F2 100%); border-radius: 14px; aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center; color: rgba(5, 47, 92, 0.5); font-size: 13px; font-style: italic; padding: 20px; text-align: center; }
@media (max-width: 860px) { .vh-on-promotor-grid { grid-template-columns: 1fr; } }

/* FAQ acordeón */
.vh-on-faq { background: #fff; }
.vh-on-faq details { border-bottom: 1px solid #DCEAFA; padding: 18px 0; }
.vh-on-faq summary { font-size: 17px; color: #052F5C; font-weight: 600; cursor: pointer; list-style: none; padding-right: 30px; position: relative; transition: color .15s; }
.vh-on-faq summary::-webkit-details-marker { display: none; }
.vh-on-faq summary:after { content: '+'; position: absolute; right: 0; top: 0; font-size: 24px; color: #0575E0; font-weight: 300; transition: transform .2s; }
.vh-on-faq details[open] summary:after { content: '−'; }
.vh-on-faq summary:hover { color: #0575E0; }
.vh-on-faq .answer { padding-top: 14px; font-size: 15px; line-height: 1.6; color: #1A2A44; }

/* Card Huertas horizontal full-width — forzar cuando solo hay 1 .promo-card */
.elementor-34 [class*="promo-grid"]:has(> :only-child),
.elementor-34 .promociones-grid:has(> :only-child),
.elementor-34 [class*="grid"]:has(.promo-card:only-child) {
  grid-template-columns: 1fr !important;
}

/* Ocultar la línea vieja "¿Eres promotor?" duplicada con el bloque nuevo */
.elementor-34 [class*="promotor"]:not(#vh-on-promotor):not(.vh-on-promotor),
.elementor-34 [class*="hablamos"]:not(.vh-on-section *):not(#vh-on-promotor *) {
  display: none !important;
}

/* Banda azul compactada */
.elementor-34 [class*="banda-azul"], 
.elementor-34 [class*="proxima-promocion"] {
  max-height: 480px;
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

/* Ocultar línea vieja "¿Eres promotor?" duplicada */
.elementor-34 [class*="promotor-line"]:not(#vh-on-promotor):not(.vh-on-promotor),
.elementor-34 .vh-old-promotor { display: none !important; }

/* ===== vh-rgpd-css ===== */

.vh-rgpd-row { margin: 12px 0 6px; font-size: 13px; line-height: 1.4; display: flex; align-items: flex-start; gap: 8px; }
.vh-rgpd-row input[type="checkbox"] { margin-top: 2px; cursor: pointer; flex-shrink: 0; }
.vh-rgpd-row label { cursor: pointer; color: inherit; }
.vh-rgpd-row a { color: inherit; text-decoration: underline; }
.vh-rgpd-row a:hover { color: #0575E0; }
.vh-rgpd-note { font-size: 11px; opacity: 0.8; margin: 4px 0 8px 22px; }
/* Sobre fondos azules */
[class*="banda-azul"] .vh-rgpd-row, [style*="background"][style*="#0575E0"] .vh-rgpd-row {
  color: rgba(255,255,255,0.95);
}

/* ===== vh-sprint4-css ===== */

/* #11 — Microcopy 'OBRA NUEVA · SEVILLA' visible y con identidad */
.elementor-34 .epigrafe, .elementor-34 [class*="epigrafe"], .elementor-34 .pre-titulo,
.elementor-34 .hero-eyebrow, .elementor-34 .seccion-pre {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #0575E0 !important;
  letter-spacing: 0.16em !important;
}
/* #09 — "Sin compromiso" sobre fondo azul */
.elementor-34 .form-disclaimer, .elementor-34 .sin-compromiso,
.elementor-34 form + p, .elementor-34 form + small,
[class*="banda-azul"] small, [class*="banda-azul"] .compromiso {
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
/* #12 — Breadcrumb */
.vh-breadcrumb {
  font-size: 12px;
  color: #6b7280;
  margin: 14px 0 8px;
  letter-spacing: 0.02em;
}
.vh-breadcrumb a { color: inherit; text-decoration: none; }
.vh-breadcrumb a:hover { color: #0575E0; }
.vh-breadcrumb .sep { color: #75D1F2; margin: 0 6px; }
@media (max-width: 600px) { .vh-breadcrumb .sep, .vh-breadcrumb .home { display: none; } .vh-breadcrumb .back { display: inline; } }
.vh-breadcrumb .back { display: none; color: #0575E0; }
@media (max-width: 600px) { .vh-breadcrumb .back { display: inline; } }

/* ===== vh-lead-zone-css ===== */

.vh-lead-zone{margin:32px 0;display:flex;justify-content:center;}
.vh-lead-zone-inner{
  max-width:680px;width:100%;
  background:#EAF5FE;
  border-top:6px solid #0575E0;
  border-radius:14px;
  padding:32px 28px;
  text-align:center;
  box-shadow:0 4px 18px rgba(5,117,224,.08);
  font-family:Poppins,system-ui,sans-serif;
}
.vh-lead-zone h3{
  font-size:1.5rem;line-height:1.25;color:#0575E0;
  margin:0 0 12px;font-weight:700;
}
.vh-lead-zone-name{color:#0575E0;}
.vh-lead-zone p{
  color:#1A1A1A;font-size:1rem;line-height:1.55;
  margin:0 auto 22px;max-width:540px;
}
.vh-lead-zone-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.vh-lead-zone-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:8px;
  font-weight:600;font-size:.95rem;
  text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s;
}
.vh-lead-zone-btn:hover{transform:translateY(-1px);filter:brightness(1.05);}
.vh-lead-zone-primary{background:#0575E0;color:#fff;}
.vh-lead-zone-wa{background:#25D366;color:#fff;}
@media(max-width:520px){
  .vh-lead-zone h3{font-size:1.25rem;}
  .vh-lead-zone-inner{padding:26px 18px;}
}

/* ===== vh-sprint2-css ===== */

/* CTA bloque /nosotros/ y /servicios/ */
.vh-cta-block{background:#0575E0;color:#fff;padding:64px 24px;text-align:center;margin:48px 0 0;font-family:"Poppins",-apple-system,sans-serif;}
.vh-cta-block h2{color:#fff !important;font-size:2.4rem;margin:0 0 12px;font-weight:700;line-height:1.15;}
.vh-cta-block p{color:#fff;font-size:1.1rem;margin:0 auto 28px;max-width:620px;opacity:.95;line-height:1.5;}
.vh-cta-block .vh-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.vh-cta-block a{padding:14px 28px;border-radius:8px;text-decoration:none !important;font-weight:600;display:inline-block;transition:all .2s;font-size:1rem;}
.vh-cta-block a.vh-cta-primary{background:#fff;color:#0575E0 !important;}
.vh-cta-block a.vh-cta-primary:hover{background:#75D1F2;color:#0575E0 !important;}
.vh-cta-block a.vh-cta-secondary{background:transparent;color:#fff !important;border:2px solid #fff;}
.vh-cta-block a.vh-cta-secondary:hover{background:#fff;color:#0575E0 !important;}
@media(max-width:640px){.vh-cta-block{padding:44px 18px;}.vh-cta-block h2{font-size:1.8rem;}}

/* Narrativa /nosotros/ */
.vh-historia{padding:64px 24px;max-width:900px;margin:0 auto;font-family:"Poppins",-apple-system,sans-serif;text-align:left;}
.vh-historia .vh-section-tag{color:#0575E0;font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin:0 0 8px;}
.vh-historia h2{color:#0575E0;font-size:2.2rem;margin:0 0 24px;font-weight:700;line-height:1.2;}
.vh-historia p{color:#333;font-size:1.05rem;line-height:1.7;margin:0 0 16px;}
.vh-historia strong{color:#0575E0;}

.vh-principios{background:#f5fafe;padding:64px 24px;font-family:"Poppins",-apple-system,sans-serif;}
.vh-principios-inner{max-width:1100px;margin:0 auto;}
.vh-principios .vh-section-tag{color:#0575E0;font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin:0 0 8px;text-align:center;}
.vh-principios h2{color:#0575E0;font-size:2.2rem;margin:0 0 48px;font-weight:700;text-align:center;line-height:1.2;}
.vh-principios-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:32px;}
.vh-pri{background:#fff;border-radius:12px;padding:32px 24px;text-align:center;box-shadow:0 2px 12px rgba(5,117,224,.08);}
.vh-pri .vh-icon{width:48px;height:48px;border-radius:50%;background:#0575E0;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;margin:0 auto 16px;}
.vh-pri h3{color:#0575E0;font-size:1.2rem;margin:0 0 12px;font-weight:600;}
.vh-pri p{color:#555;font-size:.95rem;line-height:1.55;margin:0;}
@media(max-width:768px){.vh-principios-grid{grid-template-columns:1fr;gap:20px;}.vh-historia h2,.vh-principios h2{font-size:1.7rem;}}

/* #01 Bloque "En números" — extensión visual del hero /nosotros/ */
.vh-stats{background:#0575E0;color:#fff;padding:48px 24px;font-family:"Poppins",-apple-system,sans-serif;}
.vh-stats-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.vh-stat{padding:0 8px;}
.vh-stat .vh-num{font-size:3rem;font-weight:700;line-height:1;margin:0 0 6px;color:#fff;}
.vh-stat .vh-num small{font-size:1.5rem;opacity:.85;}
.vh-stat .vh-label{font-size:.95rem;color:#fff;opacity:.9;margin:0;line-height:1.3;}
@media(max-width:768px){.vh-stats-inner{grid-template-columns:repeat(2,1fr);gap:32px 16px;}.vh-stat .vh-num{font-size:2.4rem;}}
@media(max-width:420px){.vh-stats-inner{grid-template-columns:1fr;}}

/* Foto del equipo en /nosotros/ — ocupa columna derecha del hero (visualmente la cierra) */
.vh-team-photo{padding:48px 24px;max-width:1200px;margin:0 auto;font-family:"Poppins",-apple-system,sans-serif;}
.vh-team-photo figure{margin:0;border-radius:14px;overflow:hidden;box-shadow:0 8px 28px rgba(5,117,224,.15);}
.vh-team-photo img{display:block;width:100%;height:auto;}
.vh-team-photo figcaption{margin-top:14px;text-align:center;color:#666;font-size:.9rem;font-style:italic;}

/* ===== vivenzia-titulares-fix ===== */

/* Color de titulares según manual de marca Vivenzia
 * - Azul Vivenzia #0575E0 sobre fondos claros
 * - Blanco puro sobre fondos azules (hero, casos)
 */
h1, h2, h3, h4 {
  color: #0575E0 !important;
}
/* Hero principal: titular blanco sobre fondo azul saturado */
.hero h1,
.hero h2,
.hero h3,
.hero .h1,
.hero-left h1,
.hero-left h2 {
  color: #FFFFFF !important;
}
/* Sección casos de éxito (fondo azul Vivenzia) */
.casos-inner h1,
.casos-inner h2,
.casos-inner h3,
section[style*="background-color: #0575E0"] h1,
section[style*="background-color: #0575E0"] h2,
section[style*="background-color: #0575E0"] h3 {
  color: #FFFFFF !important;
}
/* CTA final azul */
.cta-final h1,
.cta-final h2,
.cta-final h3 {
  color: #FFFFFF !important;
}

/* Fix contraste textos sobre fondo azul Vivenzia y fallback elementor-invisible */
.elementor-element[style*="background-color:#0575E0"] *:not(a),
.elementor-element[style*="background-color: #0575E0"] *:not(a),
.elementor-element[style*="background-color:#0676e3"] *:not(a),
.elementor-element[style*="background-color: rgb(6, 118"] *:not(a),
.elementor-element[style*="background-color:rgb(5, 117"] *:not(a),
.elementor-element[style*="background-color: rgb(5, 117"] *:not(a) {
    color: #fff !important;
}
/* Fallback: nunca dejar texto invisible si JS de scroll no carga */
.elementor-invisible { visibility: visible !important; opacity: 1 !important; }

/* Excepción: heros con fondo azul corporativo deben pintar texto blanco */
.elementor-element-a691b98 .elementor-heading-title,
.elementor-element-88fa24c .elementor-heading-title,
.elementor-element-88fa24c h4,
.elementor-635 .elementor-element-e59fffb h1,
.elementor-635 .elementor-element-e59fffb h2,
.elementor-635 .elementor-element-e59fffb .elementor-heading-title,
.elementor-635 .elementor-element-e59fffb p { color: #fff !important; }

/* ===== wpcode-═════════════ ===== */
/* ═══════════════════════════════════════════════════
   VIVENZIA HOME — Estilos Globales de Marca
   Versión: 1.0 | Abril 2026
   ═══════════════════════════════════════════════════ */

/* ── Variables CSS de marca ── */
:root {
  --vz-azul: #0575E0;
  --vz-celeste: #75D1F2;
  --vz-hielo: #E8F1FC;
  --vz-profundo: #052F5C;
  --vz-blanco: #FFFFFF;
  --vz-gris-50: #F8FAFC;
  --vz-gris-100: #F1F5F9;
  --vz-gris-200: #E2E8F0;
  --vz-gris-300: #CBD5E1;
  --vz-gris-500: #64748B;
  --vz-gris-700: #334155;
  --vz-gris-900: #0F172A;
  --vz-verde: #10B981;
  --vz-rojo: #EF4444;
  --vz-naranja: #F59E0B;
  --vz-radius: 12px;
  --vz-radius-sm: 8px;
  --vz-shadow: 0 4px 24px rgba(5,117,224,0.08);
  --vz-shadow-lg: 0 8px 40px rgba(5,117,224,0.12);
  --vz-transition: 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* ── Tipografía Google Fonts ── */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ── Reset tipográfico global ── */
body,
.elementor-widget-text-editor,
.elementor-widget-heading .elementor-heading-title,
.elementor *,
.entry-content,
.page-content {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* ── Headings ── */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: 'Poppins', sans-serif !important;
  color: var(--vz-profundo);
  line-height: 1.2;
}

/* ── Botones de marca ── */
.vz-btn,
.elementor-button.vz-btn {
  background: var(--vz-azul) !important;
  color: var(--vz-blanco) !important;
  border: none !important;
  border-radius: var(--vz-radius) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  padding: 14px 32px !important;
  font-size: 15px !important;
  cursor: pointer;
  transition: var(--vz-transition);
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.vz-btn:hover,
.elementor-button.vz-btn:hover {
  background: var(--vz-profundo) !important;
  transform: translateY(-2px);
  box-shadow: var(--vz-shadow-lg);
}

.vz-btn-outline {
  background: transparent !important;
  color: var(--vz-azul) !important;
  border: 2px solid var(--vz-azul) !important;
  border-radius: var(--vz-radius) !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  padding: 12px 30px !important;
  transition: var(--vz-transition);
}
.vz-btn-outline:hover {
  background: var(--vz-azul) !important;
  color: var(--vz-blanco) !important;
}

/* ── Tarjetas ── */
.vz-card {
  background: var(--vz-blanco);
  border-radius: var(--vz-radius);
  box-shadow: var(--vz-shadow);
  overflow: hidden;
  transition: var(--vz-transition);
}
.vz-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--vz-shadow-lg);
}

/* ── Secciones alternas ── */
.vz-section {
  padding: 80px 0;
}
.vz-section-hielo {
  background: var(--vz-hielo);
}
.vz-section-azul {
  background: linear-gradient(135deg, var(--vz-profundo), var(--vz-azul));
  color: var(--vz-blanco);
}

/* ── Badge/Etiqueta ── */
.vz-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  background: var(--vz-hielo);
  color: var(--vz-azul);
}

/* ── Formularios ── */
.vz-input,
.vz-form input[type="text"],
.vz-form input[type="email"],
.vz-form input[type="tel"],
.vz-form select,
.vz-form textarea {
  width: 100%;
  padding: 14px 18px;
  border: 2px solid var(--vz-gris-200);
  border-radius: var(--vz-radius-sm);
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  transition: var(--vz-transition);
  background: var(--vz-blanco);
  color: var(--vz-gris-900);
}
.vz-input:focus,
.vz-form input:focus,
.vz-form select:focus,
.vz-form textarea:focus {
  border-color: var(--vz-azul);
  outline: none;
  box-shadow: 0 0 0 3px rgba(5,117,224,0.15);
}

/* ── Utilidades ── */
.vz-text-azul { color: var(--vz-azul) !important; }
.vz-text-profundo { color: var(--vz-profundo) !important; }
.vz-text-celeste { color: var(--vz-celeste) !important; }
.vz-bg-hielo { background: var(--vz-hielo) !important; }
.vz-bg-azul { background: var(--vz-azul) !important; }
.vz-text-center { text-align: center; }
.vz-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

/* ── Links de marca ── */
a.vz-link {
  color: var(--vz-azul);
  text-decoration: none;
  font-weight: 500;
  transition: var(--vz-transition);
}
a.vz-link:hover {
  color: var(--vz-profundo);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .vz-section { padding: 48px 0; }
  h1 { font-size: 28px !important; }
  h2 { font-size: 24px !important; }
  .vz-container { padding: 0 16px; }
}
/* /comprar/ ocultar buscador duplicado del listado (ya hay uno arriba) */
body.page-id-32 #vivenzia-inmuebles .viz-search { display:none !important; }


/* Sprint 2 — fixes auditoría */
/* #15 Contraste cards Zonas — texto blanco al 100% (no opacity) */
body.page-id-2114 .viz-zone-meta,
body.page-id-2114 .viz-zone-card small,
body.page-id-2114 [class*="zone"] [class*="meta"]{
    color: #ffffff !important;
    opacity: 1 !important;
}

/* #05 Cargo Joaquín — truncate elegante si se mantiene en 1 línea */
body.page-id-24 .elementor-element [data-cargo*="Director Oficina Nervi"],
body.page-id-24 .vh-team-card .role{
    overflow: hidden;
    text-overflow: ellipsis;
}


/* #14 Cards Zonas — gradient + icono + hover */
/* Aplicar a cards de la grid de Zonas */
.vh-zon-card{
    position:relative;
    display:flex !important;
    flex-direction:column;
    background:linear-gradient(135deg, #0575E0 0%, #2A8DE8 65%, #75D1F2 100%) !important;
    border-radius:14px !important;
    padding:32px 24px 24px !important;
    overflow:hidden;
    transition: transform .25s ease, box-shadow .25s ease;
    box-shadow:0 2px 10px rgba(5,117,224,.12);
}
.vh-zon-card::before{
    /* icono ubicación SVG en la esquina superior derecha */
    content:"";
    position:absolute;
    top:18px;
    right:18px;
    width:32px;
    height:32px;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/><circle cx='12' cy='10' r='3'/></svg>");
    background-size:contain;
    background-repeat:no-repeat;
    opacity:.4;
    transition:opacity .25s ease;
}
.vh-zon-card:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 28px rgba(5,117,224,.28);
    text-decoration:none;
}
.vh-zon-card:hover::before{ opacity:.85; }
.vh-zon-card-tag{
    display:inline-block;
    background:rgba(255,255,255,.22);
    color:#fff !important;
    font-size:.7rem !important;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
    padding:4px 10px;
    border-radius:20px;
    margin-bottom:14px;
    width:fit-content;
}
.vh-zon-card-h{
    color:#fff !important;
    font-size:1.4rem !important;
    font-weight:700 !important;
    margin:0 0 8px !important;
    line-height:1.2;
}
.vh-zon-card-t{
    color:#fff !important;
    opacity:1 !important;
    font-size:.92rem !important;
    line-height:1.5;
    margin:0 0 16px !important;
    flex-grow:1;
}
.vh-zon-card-link{
    display:inline-block;
    color:#fff !important;
    font-size:.9rem;
    font-weight:600;
    margin-top:auto;
    border-top:1px solid rgba(255,255,255,.25);
    padding-top:10px;
    transition:transform .2s;
}
.vh-zon-card:hover .vh-zon-card-link{ transform:translateX(4px); }


/* Sprint 3 — Cards /comprar/ */
/* #10/#13 Contraste de iconos m²/hab/baños y referencia */
.viz-op-card .viz-op-specs,
.viz-op-card .viz-specs,
.viz-op .specs{
    color: #0c1e3a !important;
    font-size: .92rem !important;
}
.viz-op-card .viz-op-specs svg,
.viz-op-card .viz-specs svg,
.viz-op .specs svg,
.viz-op-card .viz-op-specs i,
.viz-op-card .viz-specs i{
    color: #0575E0 !important;
    fill: #0575E0 !important;
    opacity: 1 !important;
}
.viz-op-card .viz-op-ref,
.viz-op-card .ref,
.viz-op .ref{
    color: #5b6b85 !important;
    font-size: .78rem !important;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
}

/* #15 Títulos largos: line-clamp 2 líneas + altura uniforme */
.viz-op-card .viz-op-title,
.viz-op-card h3.title,
.viz-op .title{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: calc(1.3em * 2);
    line-height: 1.3;
    font-size: 1.05rem !important;
}

/* #09 capitalización direcciones (cap inicial) — fallback CSS, no resuelve mayúsculas */
.viz-op-card .viz-op-loc,
.viz-op-card .address,
.viz-op .address{
    text-transform: lowercase !important;
}
.viz-op-card .viz-op-loc::first-letter,
.viz-op-card .address::first-letter,
.viz-op .address::first-letter{
    text-transform: uppercase !important;
}
/* Mejor: usar Title Case via CSS — no soportado por todos navegadores. La solución completa requiere limpiar Inmovilla back. */

/* #11 €/m² — necesita JS, no se puede sólo con CSS. Pendiente */

/* ===== vh-home-cleanup-css ===== */

/* === Sitewide: quitar teléfono del header === */
.nav-tel,
.mobile-nav-tel,
.cta-final-tel { display: none !important; }
header .nav-menu li a.nav-tel,
header a.nav-tel { display: none !important; }

/* === /obra-nueva/: hide cards Los Naranjos + Edificio Alameda (no comercializadas) === */
/* v1.11.1: usar specificity más alta para no ser pisado por la rule "same size" abajo */
html body.page-id-34 .promo-card[href*="los-naranjos"],
html body.page-id-34 .promo-card[href*="/alameda"],
html body.page-id-34 .promo-card[href*="alameda/"],
html body.page-id-34 .on-grid > a[href*="los-naranjos"],
html body.page-id-34 .on-grid > a[href*="alameda"] {
    display: none !important;
    visibility: hidden !important;
}
/* v1.11.1: Cards visibles BS70 + Huertas mismo tamaño en /obra-nueva/ */
/* Solo affecta cards visibles (excluye Naranjos+Alameda con :not()) */
/* v1.11.2: forzar .on-listado a 100% width (Elementor flex container lo limitaba a content-width) */
html body[class].page-id-34 .on-listado,
body.page-id-34 .on-listado {
    display: block !important;
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}
html body[class].page-id-34 .on-listado .on-grid,
body.page-id-34 .on-listado .on-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.5rem !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    align-items: stretch !important;
    width: 100% !important;
}
body.page-id-34 .on-listado .on-grid > .promo-card:not([href*="los-naranjos"]):not([href*="alameda"]),
body.page-id-34 .on-listado .on-grid > a.promo-card:not([href*="los-naranjos"]):not([href*="alameda"]) {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
body.page-id-34 .on-listado .promo-img-wrap {
    aspect-ratio: 16/10 !important;
    width: 100% !important;
    overflow: hidden !important;
}
/* Hide BS70 standalone wrapper (lo movemos al mismo grid de Huertas via JS) */
body.page-id-34 .vh-on-bs70.on-listado.vh-bs70-listado {
    display: none !important;
}
/* v1.12.1: BS70 card en /obra-nueva/ mismo alto que Huertas (ambas flex-column en grid stretch) */
body.page-id-34 .on-listado .on-grid > .promo-card-bs70 {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
body.page-id-34 .on-listado .on-grid > .promo-card-bs70 .promo-img-wrap {
    aspect-ratio: 16/10 !important;
    width: 100% !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}
body.page-id-34 .on-listado .on-grid > .promo-card-bs70 .promo-img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
/* v1.12.0: .lista-pref NO se oculta (Fernando quiere el formulario de inscripción visible) */

/* === v1.11.0: Footer tel links blancos sitewide (forzar :visited también) === */
html body[class] .footer-oficina-tel a,
html body[class] .footer-oficina-tel a:link,
html body[class] .footer-oficina-tel a:visited,
html body[class] .footer-oficina-tel a:hover,
html body[class] .footer-oficina-tel a:active {
    color: #FFFFFF !important;
    text-decoration: none !important;
}

/* === Home: buscador === */
/* Tab activo: azul */
body .buscador-tab.active,
body.home .buscador-tab.active,
body .buscador-tabs .buscador-tab.active {
    background: #0575E0 !important;
    color: #fff !important;
    border-bottom-color: #0575E0 !important;
    box-shadow: 0 2px 8px rgba(7,117,224,.25) !important;
}
body .buscador-tab.active:hover,
body.home .buscador-tab.active:hover { background: #0461b6 !important; }
/* Tab inactivo: blanco con texto azul */
body .buscador-tab:not(.active),
body.home .buscador-tab:not(.active),
body .buscador-tabs .buscador-tab:not(.active) {
    background: #fff !important;
    color: #0575E0 !important;
    border: 1px solid rgba(7,117,224,.20) !important;
    box-shadow: 0 1px 4px rgba(7,117,224,.08) !important;
}
body .buscador-tab:not(.active):hover,
body.home .buscador-tab:not(.active):hover {
    background: #f4f8fc !important;
    color: #0461b6 !important;
}

/* === Home: ocultar sección "Selección de esta semana" === */
.vh-hide-section { display: none !important; }

/* === Home: BS70 primero, Huertas J34 segundo === */
body.home .carousel-track {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
}
@media (max-width: 860px) {
    body.home .carousel-track { grid-template-columns: 1fr !important; }
}
body.home .carousel-track .obra-card-link-wrap[href*="bs70"] { order: 1 !important; }
body.home .carousel-track .obra-card-link-wrap[href*="huertas-j34"] { order: 2 !important; }

/* === Promociones: badges con colores legibles === */
/* Reservado/Cerrado: navy oscuro con texto blanco */
body.home .obra-badge.badge-reservado,
body .obra-badge.badge-reservado {
    background: #052F5C !important;
    color: #fff !important;
    border: 0 !important;
}

/* === BS70 card: redesign cream + Instrument Serif === */
body.home .obra-card-link-wrap[href*="bs70"] {
    background: #F5F0E6 !important; /* cream oklch(0.96 0.012 80) */
}
body.home .carousel-track .obra-card-bs70 {
    background: #F5F0E6 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
body.home .carousel-track .obra-card-bs70 .obra-card-img-wrap {
    background: #F5F0E6 !important;
    aspect-ratio: 16/10 !important; /* match Huertas J34 — same card height */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}
body.home .carousel-track .obra-card-bs70 .obra-card-img-wrap img.obra-card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    background: #F5F0E6 !important;
    display: block !important;
}
body.home .obra-card-bs70 .obra-card-body {
    background: #F5F0E6 !important;
    padding: 1.75rem !important;
}
/* Badge BS70: cream con texto carbón */
body.home .obra-card-bs70 .obra-badge.badge-cream {
    background: #F5F0E6 !important;
    color: #33312E !important; /* carbón */
    border: 0 !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-size: .72rem !important;
}
/* Eyebrow nogal */
body.home .obra-card-bs70 .obra-card-eyebrow {
    color: #8A7259 !important; /* nogal oklch(0.55 0.07 55) */
    font-size: .78rem !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    margin: 0 0 .75rem 0 !important;
}
/* Título Instrument Serif carbón con setenta. en ámbar italic */
body.home .obra-card-bs70 .obra-card-name {
    font-family: 'Instrument Serif', 'Georgia', serif !important;
    font-weight: 400 !important;
    font-size: clamp(2rem, 4.4vw, 3.5rem) !important; /* ~56px desktop / 40px mobile */
    line-height: 0.95 !important;
    letter-spacing: -0.02em !important;
    color: #33312E !important; /* carbón */
    margin: 0 0 1rem 0 !important;
}
body.home .obra-card-bs70 .obra-card-name em {
    font-style: italic !important;
    color: #B68142 !important; /* ámbar oklch(0.55 0.13 65) */
    font-weight: 400 !important;
}
/* Meta en nogal */
body.home .obra-card-bs70 .obra-card-meta {
    color: #8A7259 !important; /* nogal */
    font-size: .92rem !important;
    margin: 0 !important;
}


/* ===== vh-home-fixes-css ===== */
.buscador-tabs{display:flex;gap:4px;margin-bottom:1.5rem}.buscador-tab{position:relative;z-index:1}.buscador-tab.active{background:#fff !important;color:#0575E0 !important;border-bottom:2px solid #0575E0 !important;box-shadow:0 2px 8px rgba(7,117,224,0.15) !important;border-top-left-radius:6px !important;border-top-right-radius:6px !important;z-index:2}.mercado-distritos{margin-top:2.5rem !important;padding-top:1.5rem;border-top:1px solid rgba(7,117,224,0.10);position:relative}.mercado-distritos::before{content:"— O explora por barrio";display:block;font-family:"Poppins",sans-serif;font-size:.78rem;color:#5a7088;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem;font-weight:600}.dropdown-arrow{font-size:.85rem !important;margin-left:5px !important;opacity:1 !important;font-weight:700 !important}.footer-cif{font-size:.78rem;opacity:.75;letter-spacing:.02em}.oficina-map{width:100%;aspect-ratio:16/10;border:0;border-radius:6px;margin:.5rem 0;box-shadow:0 2px 8px rgba(7,117,224,.10);display:block}@media(max-width:600px){.oficina-map{aspect-ratio:4/3}}.carousel-track{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:1.5rem !important}@media(max-width:860px){.carousel-track{grid-template-columns:1fr !important}}.obra-card-img-placeholder{background:linear-gradient(135deg,#75D1F2 0%,#0575E0 100%) !important;aspect-ratio:16/9;display:flex !important;align-items:center;justify-content:center;border-radius:6px 6px 0 0;color:rgba(255,255,255,.85);position:relative;overflow:hidden}.obra-card-img-placeholder::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 25% 30%,rgba(255,255,255,.15) 0%,transparent 35%),radial-gradient(circle at 75% 70%,rgba(255,255,255,.10) 0%,transparent 40%);pointer-events:none}.obra-card-img-label{font-family:"Poppins",sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.04em;font-style:italic;text-shadow:0 1px 4px rgba(0,0,0,.15);position:relative;z-index:1}.badge-soon{display:inline-block;background:#052F5C !important;color:#75D1F2 !important;font-size:.72rem;font-weight:700;padding:5px 12px;border-radius:999px;letter-spacing:.06em;text-transform:uppercase}.obra-card-price-soon{color:#0575E0 !important;font-weight:600;font-style:italic;font-size:.95rem !important}.obra-card-bs70{display:flex;flex-direction:column}.carousel-track{align-items:stretch !important}.carousel-track .obra-card{display:flex !important;flex-direction:column !important;height:100% !important;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 12px rgba(7,117,224,.08)}.carousel-track .obra-card-img,.carousel-track .obra-card-img-placeholder{aspect-ratio:16/10 !important;width:100% !important;height:auto !important;object-fit:cover !important;display:block}.carousel-track .obra-card-body{flex:1 1 auto;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.carousel-track .obra-card-link{margin-top:auto}.carousel-track .obra-card-success-meta,.carousel-track .obra-card-success-meta strong{color:#0575E0 !important}.obra-card-link-wrap{display:block !important;text-decoration:none !important;color:inherit !important;cursor:pointer;transition:transform .25s ease, box-shadow .25s ease}.obra-card-link-wrap:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(7,117,224,.18) !important}.obra-card-link-wrap *{cursor:pointer}.obra-card-link-wrap .obra-card-link{display:inline-flex;align-items:center;gap:6px;color:#0575E0 !important;font-weight:600;margin-top:auto}.obra-card-bs70 .obra-card-img-wrap{aspect-ratio:16/10 !important;width:100% !important;overflow:hidden;border-radius:8px 8px 0 0;display:block;background:#f5f7fa}.obra-card-bs70 .obra-card-img-wrap img.obra-card-img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}.propuestas-header{text-align:center;max-width:780px;margin:0 auto 2.5rem;padding:0 1rem}.propuestas-header .section-eyebrow{color:#75D1F2;font-family:"Poppins",sans-serif;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem 0}.propuestas-header .propuestas-title{color:#0575E0;font-family:"Poppins",sans-serif;font-size:clamp(1.6rem,3.6vw,2.4rem);font-weight:700;line-height:1.2;letter-spacing:-.01em;margin:0}@media(max-width:600px){.propuestas-header{margin-bottom:1.75rem}}.hero-form-card .form-title,.hero-form-card .form-subtitle{display:none !important}.hero-form-card{padding:1.25rem 1.5rem 1.5rem !important}.hero-form-card .clientify-embed-hero{margin-top:0 !important}.hero-form-card .form-legal{font-size:.7rem !important;line-height:1.3 !important;margin-top:.75rem !important}.hero-form-card .form-alt{font-size:.78rem !important;margin-top:.75rem !important}
/* ===== vh-global-fixes-css ===== */
.vh-cta-primary,a.vh-cta-primary{background:rgba(255,255,255,.12) !important;color:#fff !important;border:1.5px solid rgba(255,255,255,.6) !important;padding:.7rem 1.4rem !important;border-radius:8px !important;font-weight:600 !important;font-size:.92rem !important;text-decoration:none !important;box-shadow:none !important;transition:all .25s ease !important;letter-spacing:.01em;}.vh-cta-primary:hover,a.vh-cta-primary:hover{background:#fff !important;color:#0575E0 !important;border-color:#fff !important;transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.18) !important;}.joinchat,.joinchat__button{display:none !important;visibility:hidden !important;pointer-events:none !important;}body .hero-form-card,body section .hero-form-card,body .elementor .hero-form-card{max-width:380px !important;padding:1.5rem 1.5rem !important;margin-left:auto !important;margin-right:0 !important;}@media(max-width:768px){body .hero-form-card,body section .hero-form-card,body .elementor .hero-form-card{max-width:100% !important;margin-left:0 !important;padding:1.25rem !important;}}.footer-rrss{list-style:none !important;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:1.25rem 0 0 0;}.footer-rrss li{margin:0}.footer-rrss a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:all .25s ease;}.footer-rrss a:hover{background:#75D1F2;color:#052F5C;transform:translateY(-2px);}.footer-rrss svg{width:18px;height:18px;display:block}.footer-oficinas{max-width:1200px;margin:2.5rem auto 0;padding:2rem 1.5rem 0;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;}.footer-oficina{padding:0}.footer-oficina-title{color:#75D1F2 !important;font-family:"Poppins",sans-serif;font-size:.92rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .85rem 0 !important;}@media(max-width:768px){.footer-oficinas{grid-template-columns:1fr;gap:1.5rem;padding:2rem 1.25rem 0}}.form-group input,.form-group select,.form-group textarea{background:#fff !important;border:1.5px solid #c5d9ed !important;border-radius:8px !important;padding:.85rem 1rem !important;transition:border-color .2s, box-shadow .2s !important;}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0575E0 !important;box-shadow:0 0 0 3px rgba(7,117,224,.15) !important;outline:none !important;}.form-group label{font-weight:600 !important;color:#1A2A44 !important;font-size:.82rem !important;margin-bottom:.45rem !important;}.form-group{margin-bottom:1.1rem !important}.form-submit{border-radius:8px !important;padding:1rem 1.5rem !important;font-weight:700 !important;box-shadow:0 4px 14px rgba(7,117,224,.25) !important;transition:all .25s ease !important;margin-top:.5rem;}.form-submit:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(7,117,224,.35) !important;}.form-title{font-size:1.35rem !important;font-weight:700 !important;margin-bottom:.5rem !important}
/* ===== vh-wa-bubble-css ===== */

.vh-wa-bubble{position:fixed;right:18px;bottom:22px;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff !important;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.22);z-index:9998;text-decoration:none !important;opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .25s ease,transform .25s ease,background .2s ease;}
.vh-wa-bubble.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.vh-wa-bubble:hover{background:#1ebe5d;}
.vh-wa-bubble svg{width:28px;height:28px;display:block;}
.vh-wa-bubble::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #25d366;opacity:.55;animation:vh-wa-pulse 2.2s ease-out infinite;pointer-events:none;}
@keyframes vh-wa-pulse{0%{transform:scale(.85);opacity:.55;}70%{transform:scale(1.35);opacity:0;}100%{transform:scale(1.35);opacity:0;}}
@media (max-width:768px){.vh-wa-bubble{right:14px;bottom:78px;}}
@media print{.vh-wa-bubble{display:none !important;}}

/* ===== vh-tb-header-azul-css ===== */

/* === HEADER FONDO AZUL === */
body header:not(.fusion-header-wrapper){background:#0575E0!important;box-shadow:0 2px 8px rgba(5,117,224,.18)!important;border-bottom:none!important}

/* === LOGO BLANCO (filter solo sobre <img>, NO sobre el header) === */
body header:not(.fusion-header-wrapper) img{filter:brightness(0) invert(1)!important}
/* Override WPCode #2193 "Bug 5 logo contraste" que aplica filter azul sobre azul
   (especificidad 0,2,3). Esta regla tiene especificidad 0,3,3 → gana post-lazyload. */
body.elementor-page header:not(.fusion-header-wrapper) img[src*="Vivenzia"],
body.elementor-page header:not(.fusion-header-wrapper) img[data-src*="Vivenzia"]{filter:brightness(0) invert(1)!important}
body header:not(.fusion-header-wrapper) .logo,body header:not(.fusion-header-wrapper) a.logo{color:#fff!important}

/* === MENÚ ITEMS BLANCOS === */
body header:not(.fusion-header-wrapper) .nav-menu li a,body header:not(.fusion-header-wrapper) nav a{color:#fff!important;font-weight:500!important}
body header:not(.fusion-header-wrapper) .nav-menu li a:hover,body header:not(.fusion-header-wrapper) nav a:hover{color:rgba(255,255,255,.78)!important}

/* === "Vender" — solo color blanco; el pill (cuando /vender/) lo pone JS === */
body header:not(.fusion-header-wrapper) .nav-menu li a.nav-destacado{color:#fff!important}
body header:not(.fusion-header-wrapper) .nav-menu li a.nav-destacado:hover{color:rgba(255,255,255,.78)!important}

/* === Dropdown arrow (Zonas, Servicios) === */
body header:not(.fusion-header-wrapper) .nav-menu li a .dropdown-arrow{color:#fff!important;opacity:.78!important}

/* === Teléfono === */
body header:not(.fusion-header-wrapper) .nav-tel{color:#fff!important}
body header:not(.fusion-header-wrapper) .nav-tel:hover{color:rgba(255,255,255,.85)!important}

/* === CTA "Valora tu casa" — texto plano blanco === */
body header:not(.fusion-header-wrapper) a.nav-cta[data-vh-fix="cta-header"]{background:transparent!important;color:#fff!important;border:none!important;box-shadow:none!important;padding:.7rem 0!important;font-weight:700!important;letter-spacing:.01em!important;display:inline-flex!important;align-items:center!important;gap:6px!important}
body header:not(.fusion-header-wrapper) a.nav-cta[data-vh-fix="cta-header"]::after{content:'\2192'!important;color:#fff!important;font-weight:700!important;font-size:1em!important;margin-left:6px!important;display:inline-block!important;transition:transform .2s ease!important}
body header:not(.fusion-header-wrapper) a.nav-cta[data-vh-fix="cta-header"] .arrow{display:none!important}
body header:not(.fusion-header-wrapper) a.nav-cta[data-vh-fix="cta-header"]:hover{background:transparent!important;color:rgba(255,255,255,.82)!important;border:none!important;box-shadow:none!important;transform:none!important}
body header:not(.fusion-header-wrapper) a.nav-cta[data-vh-fix="cta-header"]:hover::after{transform:translateX(3px)!important}

/* === Mobile: hamburger blanco === */
body header:not(.fusion-header-wrapper) .hamburger,body header:not(.fusion-header-wrapper) .hamburger span,body header:not(.fusion-header-wrapper) button.hamburger{color:#fff!important;background:transparent!important;border-color:#fff!important}
body header:not(.fusion-header-wrapper) .hamburger span,body header:not(.fusion-header-wrapper) .hamburger::before,body header:not(.fusion-header-wrapper) .hamburger::after{background:#fff!important}

/* ===== vh-buscar-ref-css ===== */

.vh-ref-search{
	display:flex;gap:8px;align-items:center;
	max-width:520px;margin:0 0 1.25rem;
	font-family:'Poppins',sans-serif;
}
.vh-ref-search label{
	font-size:.78rem;color:#5a7088;font-weight:600;
	text-transform:uppercase;letter-spacing:.06em;
	white-space:nowrap;
}
.vh-ref-search input[type="text"]{
	flex:1;min-width:0;padding:.55rem .8rem;
	border:1px solid #D1E3F3;border-radius:8px;
	font-size:.95rem;color:#1A2A44;background:#fff;
	transition:border-color .15s ease;
}
.vh-ref-search input[type="text"]:focus{outline:none;border-color:#0575E0;box-shadow:0 0 0 3px rgba(7,117,224,.15)}
.vh-ref-search button{
	padding:.55rem 1.1rem;background:#0575E0;color:#fff;
	border:0;border-radius:8px;font-weight:600;font-size:.9rem;
	cursor:pointer;transition:background .15s ease;
	white-space:nowrap;
}
.vh-ref-search button:hover{background:#0464c0}
.vh-ref-search button:disabled{background:#a8c7ec;cursor:not-allowed}
.vh-ref-search .vh-ref-error{color:#c62828;font-size:.85rem;margin-left:8px;display:none}
.vh-ref-search .vh-ref-error.is-visible{display:inline}
@media(max-width:600px){
	.vh-ref-search{flex-wrap:wrap}
	.vh-ref-search label{flex:1 0 100%}
	.vh-ref-search input,.vh-ref-search button{flex:1}
}

