/*
Theme Name: CIET Torquemada (Kadence)
Template: kadence
Description: Diseño del sitio de CIET Torquemada sobre Kadence. Kadence pone el constructor (cabecera y pie con arrastrar y soltar, colores y fuentes en Apariencia → Personalizar, secciones con controles visuales); este tema hijo agrega el diseño de la maqueta aprobada. La funcionalidad vive en el plugin «CIET Torquemada · Funciones».
Version: 0.1.0
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: ciet-diseno
*/


/* ═══════════════════════════════════════════════════════════════════
   Diseño portado desde la maqueta aprobada (2026-07-31). Todo el pulido
   visual vive acá, como clases sobre bloques nativos de WordPress: así
   Ricardo conserva la edición visual y el diseño no se rompe al editar.
   ═══════════════════════════════════════════════════════════════════ */

/* Contraste medido, no mirado. Todo texto sobre blanco o sobre --bg2 cumple
   4,5:1 (AA). El gris terciario original (#7d8b95) daba 3,5:1 y se oscureció;
   el verde de WhatsApp (#25d366) daba 1,98:1 con texto blanco: se usa el
   verde oscuro de la misma marca. */
:root{
  --rojo:#c8352c; --rojo2:#a82a22; --gris:#4a5560; --gris2:#7b8894;
  --tx:#16212b; --tx2:#4a5964; --tx3:#5b6975;
  --bg:#ffffff; --bg2:#f4f7f8; --linea:#dde4e8;
  --verde:#1a7a42; --ambar:#a15c08;
  --wa:#0b7a63; --wa2:#075e54;
}

body{ -webkit-font-smoothing:antialiased; overflow-x:hidden }
img{ max-width:100%; height:auto }

/* La cabecera fija taparía el inicio de cada sección al llegar por un enlace
   con ancla (#precios, #bodegas). Se le deja su altura de margen. */
html{ scroll-padding-top:88px }

/* ── CABECERA ─────────────────────────────────────────────────────
   El sticky va en el envoltorio de la parte de plantilla: si se pone
   en el grupo interior no tiene recorrido donde fijarse. */
header.wp-block-template-part{
  position:sticky; top:0; z-index:100;
  background:#fff; border-bottom:1px solid var(--linea);
  box-shadow:0 1px 8px rgba(0,0,0,.05);
}
.ciet-logo{ flex-shrink:0 }
.ciet-logo .wp-block-site-logo img{ height:44px; width:auto }
.ciet-logo .wp-block-site-title a{
  font-weight:850; font-size:20px; color:var(--tx);
  letter-spacing:-.4px; line-height:1.1; text-decoration:none;
}
.ciet-logo .wp-block-site-tagline{
  font-size:10.5px; color:var(--tx3); letter-spacing:.7px;
  text-transform:uppercase; font-weight:600; margin:0; line-height:1.3;
}
.ciet-nav{ flex-wrap:nowrap }
.ciet-nav .wp-block-navigation__container{ flex-wrap:nowrap }
.ciet-nav a{
  color:var(--tx2); text-decoration:none; font-size:14.5px;
  font-weight:600; padding:10px 11px; border-radius:7px; white-space:nowrap;
  min-height:44px; box-sizing:border-box; display:inline-flex; align-items:center;
}
.ciet-nav a:hover{ background:var(--bg2); color:var(--rojo) }
.ciet-nav .wp-block-navigation-item.ciet-wa a{
  background:var(--wa); color:#fff; padding:11px 19px;
  border-radius:8px; font-weight:700;
}
.ciet-nav .wp-block-navigation-item.ciet-wa a:hover{ background:var(--wa2) }

/* Menú móvil: el botón de abrir/cerrar del core mide 24px; el mínimo táctil
   es 44px. Se agranda el área sin agrandar el icono. */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close{
  width:44px; height:44px; padding:10px; margin:-10px; box-sizing:border-box;
  display:inline-flex; align-items:center; justify-content:center; border-radius:8px;
}
.wp-block-navigation__responsive-container-open:hover,
.wp-block-navigation__responsive-container-close:hover{ background:var(--bg2) }
/* Panel abierto: fondo sólido (el core lo deja translúcido y se ve el hero
   detrás), enlaces a la izquierda, a todo el ancho y con altura táctil. */
.wp-block-navigation__responsive-container.is-menu-open{
  padding:88px 24px 24px !important; background:#fff !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
  align-items:stretch !important; justify-content:flex-start !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  align-items:stretch !important; justify-content:flex-start !important; width:100%; gap:4px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
  width:100%; justify-content:flex-start;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  display:block !important; width:100%; box-sizing:border-box; text-align:left;
  font-size:18px !important; line-height:1.3; padding:14px 12px !important;
  border-radius:8px; color:var(--tx) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{
  background:var(--bg2);
}
.wp-block-navigation__responsive-container.is-menu-open .ciet-wa .wp-block-navigation-item__content{
  margin-top:12px; text-align:center; background:var(--wa) !important; color:#fff !important;
  font-weight:700; padding:16px 12px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .ciet-wa .wp-block-navigation-item__content:hover{
  background:var(--wa2) !important;
}

/* ── PORTADA ─────────────────────────────────────────────────────── */
.ciet-hero h1{
  font-size:clamp(30px,4.6vw,50px); line-height:1.1;
  letter-spacing:-1.3px; font-weight:850; max-width:800px;
}
.ciet-hero h1 em{ font-style:normal; color:#ffc4bd }
.ciet-hero .ciet-hero-sub{
  font-size:clamp(17px,2.1vw,21px); color:#dbe4ea;
  max-width:660px; line-height:1.55;
}
.ciet-chips{ display:flex; gap:9px; flex-wrap:wrap; margin:24px 0 30px }
.ciet-chip{
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.28);
  border-radius:100px; padding:8px 16px; font-size:14.5px;
  font-weight:600; color:#fff; margin:0;
}

/* ── BARRA DE CIFRAS ──────────────────────────────────────────────── */
.ciet-cifras .ciet-cifra-n{
  font-size:28px; font-weight:850; letter-spacing:-1px; line-height:1.1; margin:0;
}
.ciet-cifras .ciet-cifra-l{
  font-size:13.5px; color:#9fb0bc; margin-top:5px; line-height:1.4;
}
/* La barra va pegada a la portada, sin franja blanca entre las dos (Cris, 22-sep-2026). Igual en las
   barras de mini bodegas y construcción, y entre la barra y la franja con foto de «Nosotros». */
.ciet-cifras,.mb-cifras,.cm-cifras{ margin-block-start:0 }
.ciet-cifras + .v3-banda{ margin-block-start:0 }
/* Los números suben desde cero al entrar en pantalla (assets/ciet.js); con cifras tabulares no bailan. */
.ciet-cifra-n,.mb-cifras-rej b,.cm-cifras-rej b{ font-variant-numeric:tabular-nums }
/* Seis cifras en una fila; en tablet van de a tres y en el teléfono de a dos (mismos cortes que Kadence). */
.ciet-cifras .wp-block-columns.ciet-cifras-rej{ gap:22px }
/* El separador va centrado en el espacio entre columnas, como línea aparte (no como borde de la caja):
   así las seis columnas miden exactamente lo mismo, igual que en la fila de Kadence. */
.ciet-cifras .wp-block-columns.ciet-cifras-rej > .wp-block-column{ position:relative }
.ciet-cifras .wp-block-columns.ciet-cifras-rej > .wp-block-column + .wp-block-column::before{ content:""; position:absolute; left:-11.5px; top:0; bottom:0; width:1px; background:rgba(255,255,255,.14) }
@media (max-width:1024px){
  .ciet-cifras .wp-block-columns.ciet-cifras-rej{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) }
  .ciet-cifras .wp-block-columns.ciet-cifras-rej > .wp-block-column:nth-child(3n+1)::before{ display:none }
}
@media (max-width:767px){
  .ciet-cifras .wp-block-columns.ciet-cifras-rej{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .ciet-cifras .wp-block-columns.ciet-cifras-rej > .wp-block-column:nth-child(odd)::before{ display:none }
  .ciet-cifras .wp-block-columns.ciet-cifras-rej > .wp-block-column:nth-child(even)::before{ display:block }
}

/* ── ENCABEZADOS DE SECCIÓN ───────────────────────────────────────── */
.ciet-eyebrow{
  color:var(--rojo); font-size:12.5px; font-weight:800; letter-spacing:2px;
  text-transform:uppercase; margin-bottom:12px;
}
.ciet-sd{ color:var(--tx2); font-size:18.5px; line-height:1.6 }

/* ── CALCULADORA ──────────────────────────────────────────────────── */
.ciet-busc{
  background:#fff; border:1px solid var(--linea); border-radius:16px;
  padding:30px; box-shadow:0 6px 30px rgba(20,35,50,.09);
  max-width:900px; margin:0 auto;
}
.ciet-busc .bl{ font-weight:750; font-size:16px; margin-bottom:14px; display:block }
.ciet-tabs{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px; margin-bottom:22px;
}
.ciet-tab{
  background:var(--bg2); border:2px solid var(--linea); border-radius:11px;
  padding:16px 12px; cursor:pointer; text-align:center;
  transition:.14s; font-family:inherit;
}
.ciet-tab:hover{ border-color:var(--gris2) }
.ciet-tab.on{ border-color:var(--rojo); background:#fdf4f3 }
.ciet-tab .tm{ font-weight:800; font-size:16.5px; color:var(--tx); margin-bottom:3px }
.ciet-tab .tp{ font-size:13px; color:var(--tx3) }
.ciet-tab.on .tp{ color:var(--rojo); font-weight:650 }
.ciet-res{ background:var(--bg2); border-radius:12px; padding:24px; text-align:center }
.ciet-res .rl{ font-size:14.5px; color:var(--tx3); margin-bottom:7px }
.ciet-res .rn{
  font-size:clamp(28px,4vw,40px); font-weight:850; color:var(--rojo);
  letter-spacing:-1.4px; line-height:1.1;
}
.ciet-res .ru{ font-size:15px; color:var(--tx2); margin-top:8px }
.ciet-res .rd{
  font-size:13.5px; color:var(--tx3); margin-top:12px;
  padding-top:12px; border-top:1px solid var(--linea);
}
/* Cotización rápida bajo la calculadora: lleva los metros y el valor elegidos, sin volver a escribirlos. */
.ciet-rapida{ margin-top:14px; background:#fff; border:1px solid var(--linea); border-radius:12px; padding:20px 22px 16px; text-align:left }
.ciet-rapida-t{ font-size:15.5px; color:var(--tx2); margin:0 0 14px; line-height:1.5 }
.ciet-rapida-t b{ color:var(--tx) }
.ciet-rapida-f{ display:grid; grid-template-columns:1fr 1fr auto; gap:10px }
.ciet-rapida label{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.ciet-rapida input[type="text"], .ciet-rapida input[type="tel"]{ width:100%; box-sizing:border-box; min-height:46px; padding:10px 13px; border:1px solid var(--gris2); border-radius:8px; font:inherit; font-size:15.5px; background:#fff; color:var(--tx) }
.ciet-rapida input[type="text"]:focus, .ciet-rapida input[type="tel"]:focus{ outline:none; border-color:var(--rojo); box-shadow:0 0 0 3px rgba(200,53,44,.15) }
.ciet-rapida button{ min-height:46px; padding:10px 20px; background:var(--rojo); color:#fff; border:0; border-radius:8px; font:inherit; font-weight:700; font-size:15.5px; cursor:pointer; white-space:nowrap }
.ciet-rapida button:hover{ background:var(--rojo2) }
.ciet-rapida button:disabled{ opacity:.6; cursor:default }
.ciet-rapida-o{ font-size:14.5px; color:var(--tx2); margin:12px 0 0 }
.ciet-rapida-o a{ color:var(--rojo); font-weight:700; text-decoration:none; display:inline-block; padding:8px 0; margin:-8px 0 }
.ciet-rapida-o a:hover{ text-decoration:underline }
.ciet-rapida .ciet-fnote{ margin:10px 0 0 }
@media(max-width:640px){ .ciet-rapida-f{ grid-template-columns:1fr } .ciet-rapida button{ width:100% } }
.ciet-slider input{ width:100%; accent-color:var(--rojo); height:44px; background:transparent; cursor:pointer }
/* La pista se dibuja fina; el área que recibe el dedo mide 44 px */
.ciet-slider input::-moz-range-track{ height:6px; border-radius:3px; background:var(--linea) }
.ciet-slider input::-moz-range-thumb{ width:22px; height:22px; border-radius:50%; background:var(--rojo); border:3px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.3) }
.ciet-slider{ margin:20px 0 8px }
.ciet-slider input::-webkit-slider-runnable-track{ height:6px; border-radius:3px; background:var(--linea) }
.ciet-slider input::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; margin-top:-8px; border-radius:50%; background:var(--rojo); border:3px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.3) }
.ciet-slabels{
  display:flex; justify-content:space-between;
  font-size:13px; color:var(--tx3); margin-top:7px;
}

/* ── TABLA DE PRECIOS ─────────────────────────────────────────────── */
.ciet-tabla{ max-width:860px; margin:30px auto 0 }
.ciet-tabla figure{ overflow:hidden; border:1px solid var(--linea); border-radius:13px }
.ciet-tabla table{ border-collapse:collapse; font-size:16px; background:#fff; width:100% }
.ciet-tabla th{
  background:var(--tx); color:#fff; text-align:left; padding:15px 19px;
  font-size:13px; letter-spacing:.6px; text-transform:uppercase;
  font-weight:700; border:0;
}
.ciet-tabla td{
  padding:15px 19px; border:0; border-bottom:1px solid var(--linea); color:var(--tx2);
}
.ciet-tabla tr:last-child td{ border-bottom:none }
.ciet-tabla tbody tr:hover{ background:var(--bg2) }
.ciet-tabla figcaption{ font-size:13.5px; color:var(--tx3); text-align:center; margin-top:12px }

/* ── LISTADO DE BODEGAS ───────────────────────────────────────────── */
.ciet-ordbar{
  display:flex; align-items:center; justify-content:flex-end;
  gap:11px; margin-bottom:18px;
}
.ciet-ordbar label{ font-size:13.5px; color:var(--tx3); font-weight:600 }
.ciet-ordbar select{
  font:600 14px/1 inherit; color:var(--tx); background:#fff;
  border:1px solid var(--linea); border-radius:8px;
  padding:9px 32px 9px 13px; cursor:pointer; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237d8b95' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:15px;
}
.ciet-ordbar select:focus{ outline:2px solid var(--rojo); outline-offset:1px }

.ciet-tarjeta-modulo{
  position:relative; background:#fff; border:1px solid var(--linea);
  border-radius:14px; overflow:hidden; box-shadow:0 3px 16px rgba(20,35,50,.07);
}
/* WordPress marca los grupos "constrained" como position:relative, lo que
   rompería el enlace estirado de la tarjeta: se anula en los hijos directos. */
.ciet-tarjeta-modulo > .wp-block-group{ position:static }
.ciet-tarjeta-modulo .wp-block-post-featured-image{ margin:0 }
.ciet-tarjeta-modulo .wp-block-post-featured-image img{
  height:190px; width:100%; object-fit:cover; border-radius:0;
}
.ciet-tarjeta-modulo .wp-block-post-title{
  font-size:20px; font-weight:800; letter-spacing:-.3px; margin:0 0 5px;
}
.ciet-tarjeta-modulo .wp-block-post-title a{ text-decoration:none; color:var(--tx) }
.ciet-modulo-m2{
  font-size:14px; color:var(--tx3); margin:0;
  white-space:nowrap;
}
.ciet-modulo-m2::before{ content:"· "; }
.ciet-modulo-sub{ font-size:14px; color:var(--tx3); margin:0 0 14px }
.ciet-modulo-sub p{ margin:0 }
.ciet-modulo-precio{
  font-size:25px; font-weight:850; color:var(--rojo);
  letter-spacing:-.9px; line-height:1.1; margin:0;
}
.ciet-modulo-uf{ font-size:13.5px; color:var(--tx3); margin:3px 0 15px }

/* Características del módulo: lista con visto bueno, como en la maqueta */
ul.ciet-caracteristicas{
  list-style:none; margin:0 0 4px; padding:0;
  font-size:14.5px; color:var(--tx2);
}
ul.ciet-caracteristicas li{ padding-left:20px; position:relative; margin-bottom:6px }
ul.ciet-caracteristicas li::before{
  content:""; position:absolute; left:0; top:.42em; width:11px; height:11px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C0342A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* Toda la tarjeta es pulsable a través del enlace del título estirado, y
   además hay un botón visible encima. Van juntos: el ::after cubre la
   tarjeta por debajo, el botón queda por arriba con su propio z-index. */
.ciet-tarjeta-modulo .wp-block-post-title a::after{
  content:""; position:absolute; inset:0; z-index:1;
}
.ciet-tarjeta-modulo .wp-block-read-more{
  display:block; width:100%; box-sizing:border-box; text-align:center;
  background:var(--tx); color:#fff; text-decoration:none; font-weight:700;
  padding:13px; border-radius:9px; margin-top:17px; font-size:15.5px;
  position:relative; z-index:2; transition:background .18s ease-out;
}
.ciet-tarjeta-modulo .wp-block-read-more:hover{ background:var(--rojo) }
.ciet-tarjeta-modulo .wp-block-post-featured-image a{ position:relative; z-index:2 }

/* Etiqueta de estado: el texto lo pone el desplegable del panel, el color
   sale de la clase que el tema agrega a cada tarjeta. */
.ciet-badge{
  position:absolute; top:13px; left:13px; z-index:3;
  background:var(--verde); color:#fff; font-size:12px; font-weight:750;
  padding:6px 12px; border-radius:100px; letter-spacing:.3px; margin:0;
}
.ciet-estado-proximamente .ciet-badge{ background:var(--rojo) }
.ciet-estado-a-medida     .ciet-badge{ background:var(--ambar) }

/* ── COMPARATIVA ARRENDAR / CONSTRUIR ─────────────────────────────── */
.ciet-comp{
  display:flex; align-items:center; gap:22px; margin-top:36px;
  padding:26px 30px; background:var(--bg2); border-radius:14px;
}
.ciet-comp .wp-block-column{ flex:1 }
.ciet-compk{
  font-size:11.5px; font-weight:800; letter-spacing:1.3px;
  text-transform:uppercase; color:var(--tx3); margin:0 0 6px;
}
.ciet-comp h3, .ciet-comp .ciet-comp-h3{ font-size:18px; font-weight:800; letter-spacing:-.3px; margin:0 0 5px }
.ciet-comp p{ font-size:14.5px; color:var(--tx2); line-height:1.5; margin:0 }

/* ── SERVICIOS ────────────────────────────────────────────────────── */
.ciet-srv{
  background:#fff; border:1px solid var(--linea);
  border-radius:13px; padding:25px; height:100%;
}
.ciet-srv-ic{
  display:flex; align-items:center; justify-content:flex-start;
  color:#C0342A; margin-bottom:12px; line-height:1;
}
.ciet-srv h3{ font-size:19px; font-weight:750; margin:0 0 7px }
.ciet-srv p{ font-size:14.5px; color:var(--tx2); line-height:1.55; margin:0 }

/* ── PREGUNTAS FRECUENTES ─────────────────────────────────────────── */
.ciet-faq{ max-width:760px; margin:0 auto }
.ciet-faq .wp-block-details{
  background:#fff; border:1px solid var(--linea); border-radius:12px;
  padding:18px 22px; margin-bottom:12px;
}
.ciet-faq summary{
  font-weight:750; font-size:16.5px; cursor:pointer; list-style:none;
  display:flex; justify-content:space-between; align-items:center; gap:14px;
}
.ciet-faq summary::-webkit-details-marker{ display:none }
.ciet-faq summary::after{
  content:"+"; font-size:22px; font-weight:400; color:var(--rojo); flex-shrink:0;
}
.ciet-faq .wp-block-details[open] summary::after{ content:"–" }
.ciet-faq .wp-block-details p{
  margin-top:11px; font-size:15px; line-height:1.6; color:var(--tx2);
}

/* ── GALERÍA ──────────────────────────────────────────────────────── */
.ciet-galeria img{
  border-radius:11px; height:210px; width:100%;
  object-fit:cover; border:1px solid var(--linea);
}

/* ── PRUEBA SOCIAL ────────────────────────────────────────────────── */
.ciet-cl{
  background:#fff; border:1px solid var(--linea); border-radius:14px;
  padding:32px; max-width:840px; margin:0 auto; text-align:center;
}
.ciet-cl .ciet-q{ font-size:19px; color:var(--tx); line-height:1.6; margin-bottom:18px }
.ciet-cl .ciet-qa{ font-size:15px; color:var(--tx3) }
.ciet-logos{
  display:flex; gap:14px; justify-content:center; flex-wrap:wrap;
  margin-top:26px; padding-top:24px; border-top:1px solid var(--linea);
}
.ciet-logo-chip{
  background:var(--bg2); border:1px solid var(--linea); border-radius:8px;
  padding:11px 19px; font-weight:750; font-size:14.5px; color:var(--gris); margin:0;
}

/* ── CONTACTO ─────────────────────────────────────────────────────── */
.ciet-form{
  background:#fff; border:1px solid var(--linea); border-radius:15px;
  padding:32px; box-shadow:0 5px 24px rgba(20,35,50,.08);
}
.ciet-form .fr{ margin-bottom:16px }
.ciet-form label{
  display:block; font-size:14px; font-weight:700; margin-bottom:6px; color:var(--tx);
}
.ciet-form input, .ciet-form select, .ciet-form textarea{
  width:100%; border:1.5px solid var(--linea); border-radius:9px;
  padding:13px 15px; font-size:16px; font-family:inherit;
  color:var(--tx); background:#fff; box-sizing:border-box;
}
.ciet-form input:focus, .ciet-form select:focus, .ciet-form textarea:focus{
  outline:none; border-color:var(--rojo);
}
.ciet-form textarea{ resize:vertical; min-height:88px }
.ciet-form .f2{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
.ciet-form button{
  width:100%; background:var(--rojo); color:#fff; border:none; border-radius:9px;
  padding:16px; font-size:17px; font-weight:750; cursor:pointer;
  font-family:inherit; margin-top:6px;
}
.ciet-form button:hover{ background:var(--rojo2) }
.ciet-fnote{
  font-size:13px; color:var(--tx3); text-align:center; margin-top:13px; line-height:1.5;
}
.ciet-ci{ background:var(--tx); color:#fff; border-radius:15px; padding:30px }
.ciet-ci h3{ font-size:20px; margin-bottom:20px; font-weight:800; color:#fff }
.ciet-cit{
  margin-bottom:19px; padding-bottom:19px;
  border-bottom:1px solid rgba(255,255,255,.13);
}
.ciet-cit:last-of-type{ border:none; margin-bottom:0; padding-bottom:0 }
.ciet-cit .cl2{
  font-size:12.5px; color:#93a5b1; text-transform:uppercase;
  letter-spacing:.8px; margin:0 0 5px; font-weight:650;
}
.ciet-cit .cv{ font-size:17px; font-weight:600; margin:0; color:#fff }
.ciet-cit .cv a{ color:#fff; text-decoration:none }
.ciet-mapa{
  border-radius:13px; overflow:hidden; border:1px solid var(--linea);
  margin-top:22px; height:250px; background:var(--bg2);
}
.ciet-mapa iframe{ width:100%; height:100%; border:0; display:block }

/* ── FICHA DE MÓDULO ──────────────────────────────────────────────── */
.ciet-migas{ font-size:13.5px; color:var(--tx3); margin:0 0 22px }
.ciet-migas a{ color:var(--tx3); text-decoration:none }
.ciet-migas a:hover{ color:var(--rojo) }
.ciet-ficha-foto{ position:relative }
.ciet-ficha-foto .wp-block-post-featured-image{ margin:0 }
.ciet-ficha-foto .wp-block-post-featured-image img{
  width:100%; height:420px; object-fit:cover; border-radius:14px; display:block;
}
.ciet-ficha-foto .ciet-badge{ top:16px; left:16px; font-size:13px }
.ciet-ficha-cuerpo h1{
  font-size:clamp(28px,3.4vw,38px); letter-spacing:-.9px; font-weight:850;
  line-height:1.15; margin:0 0 6px;
}
.ciet-ficha-sub{ font-size:17px; color:var(--tx3); margin:0 0 18px }
.ciet-ficha-sub p{ margin:0 }
.ciet-ficha-cuerpo .wp-block-post-content{ font-size:17px; color:var(--tx2); line-height:1.65 }
.ciet-ficha-h2{ font-size:20px; font-weight:800; letter-spacing:-.3px; margin:30px 0 12px }
.ciet-ficha-cuerpo ul.ciet-caracteristicas{ font-size:16px }
.ciet-ficha-cuerpo ul.ciet-caracteristicas li{ margin-bottom:9px }

.ciet-ficha-precio{
  background:#fff; border:1px solid var(--linea); border-radius:15px; padding:28px;
  box-shadow:0 5px 24px rgba(20,35,50,.08); position:sticky; top:96px;
}
.ciet-ficha-monto{ font-size:clamp(32px,3.6vw,42px); margin:4px 0 0 }
.ciet-ficha-precio .ciet-modulo-uf{ margin-bottom:22px }
.ciet-ficha-datos{
  border-top:1px solid var(--linea); border-bottom:1px solid var(--linea);
  padding:14px 0; margin-bottom:16px;
}
.ciet-ficha-dato{
  font-size:12.5px; color:var(--tx3); text-transform:uppercase;
  letter-spacing:.8px; font-weight:650; margin:8px 0 2px;
}
.ciet-ficha-valor{ font-size:16px; font-weight:600; color:var(--tx); margin:0 0 6px }
.ciet-ficha-nota{ font-size:13px; color:var(--tx3); line-height:1.5; margin:0 0 18px }
/* Los dos botones van a todo el ancho de la caja, como en la maqueta: el
   atributo width:100 del bloque no manda dentro del layout vertical. */
.ciet-ficha-precio .wp-block-buttons.is-layout-flex{
  gap:10px; display:flex; flex-direction:column; align-items:stretch;
}
/* El CSS de layout que genera WordPress (.wp-block-buttons.is-layout-flex > *)
   gana en especificidad y deja el botón al ancho del texto: se fuerza. */
.ciet-ficha-precio .wp-block-buttons.is-layout-flex > .wp-block-button{
  width:100% !important; max-width:none !important; margin:0 !important; flex:0 0 auto;
}
.ciet-ficha-precio .wp-block-button .wp-block-button__link{
  display:block; width:100%; box-sizing:border-box; text-align:center;
  padding:15px; font-size:16px; font-weight:750; border-radius:9px;
}
.ciet-ficha-wa .wp-block-button__link:hover{ background:var(--wa) !important }

@media(max-width:900px){
  .ciet-ficha-precio{ position:static }
  .ciet-ficha-foto .wp-block-post-featured-image img{ height:260px }
}

/* ── NOSOTROS ─────────────────────────────────────────────────────── */
.ciet-nosotros-intro{ font-size:19px; color:var(--tx2); line-height:1.65 }
.ciet-nosotros-intro strong{ color:var(--tx) }

/* ── ESTADOS DE FOCO Y MOVIMIENTO ─────────────────────────────────
   Todo lo pulsable tiene foco visible para teclado (no solo :focus, que
   también salta con el ratón), y las transiciones se apagan si la persona
   pidió menos movimiento en su sistema. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible,
.wp-block-button__link:focus-visible, .ciet-tab:focus-visible{
  outline:3px solid var(--rojo); outline-offset:3px; border-radius:6px;
}
.ciet-wa-flotante:focus-visible{ outline-offset:4px; border-radius:50% }
.ciet-tarjeta-modulo .wp-block-post-title a:focus-visible::after{
  outline:3px solid var(--rojo); outline-offset:-3px; border-radius:14px;
}
.ciet-nav a, .wp-block-button__link, .ciet-tab, .ciet-tarjeta-modulo,
.ciet-wa-flotante, .ciet-form button, .ciet-srv{
  transition:background-color .18s ease-out, color .18s ease-out,
             border-color .18s ease-out, box-shadow .18s ease-out, transform .18s ease-out;
}
.ciet-tarjeta-modulo:hover{ box-shadow:0 8px 28px rgba(20,35,50,.12); transform:translateY(-2px) }
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ transition-duration:.01ms !important; animation-duration:.01ms !important; scroll-behavior:auto !important }
  .ciet-tarjeta-modulo:hover{ transform:none }
}

/* ── ÁREAS DE TOQUE ≥ 44 px (auditoría 01-09) ─────────────────────
   Logo, miga de pan, selector de orden y enlaces del pie quedaban entre
   16 y 38 px de alto. Se amplía el área sin cambiar el tamaño visual. */
.ciet-logo .wp-block-site-logo a,
.ciet-logo .wp-block-site-title a{ display:inline-block; min-height:44px; display:inline-flex; align-items:center }
.ciet-migas a{ display:inline-block; padding:12px 0; margin:-12px 0 }
.ciet-ordbar select{ min-height:44px }
.ciet-ordbar label{ padding:10px 0 }
footer .wp-block-navigation-item__content,
footer a[href^="tel:"], footer a[href^="mailto:"]{
  display:inline-block; padding:11px 0; margin:-11px 0; min-height:44px; box-sizing:border-box;
}
footer .wp-block-navigation{ gap:0 !important }
footer .wp-block-navigation-item{ margin:2px 0 }

/* ── HERO: legibilidad sobre cualquier foto ───────────────────────
   El velo uniforme del bloque no garantiza 4,5:1 en las zonas claras de la
   foto (medido: 3,51:1 en el peor punto). Un degradado anclado a la mitad
   inferior, donde vive el texto, lo asegura sea cual sea la imagen. */


.ciet-hero .wp-block-cover__background{
  background:linear-gradient(180deg, rgba(22,33,43,.55) 0%, rgba(22,33,43,.72) 45%, rgba(22,33,43,.88) 100%) !important;
  opacity:1 !important;
}

/* ── CTA de proyectos a medida (tabla y calculadora) ──────────────── */
.ciet-cta-medida{ color:var(--rojo); font-weight:750; text-decoration:none; white-space:nowrap; display:inline-block; padding:9px 0; margin:-9px 0 }
.ciet-cta-medida:hover{ text-decoration:underline }
.ciet-res-cta{
  margin:14px 0 0; padding:12px 14px; background:#fdf4f3; border:1px solid #f3d3cf;
  border-radius:9px; font-size:15px; color:var(--tinta);
}
.ciet-res-cta[hidden]{ display:none }

/* Título de tarjeta: el enlace real cubre toda la tarjeta (::after), pero el
   propio <a> también alcanza 44 px para lectores de pantalla y teclado. */
.wp-block-post-title a{ display:inline-block; padding:6px 0; margin:-6px 0 }
/* Teléfonos y correo del bloque de contacto */
.ciet-ci a{ display:inline-block; padding:12px 0; margin:-12px 0 }

/* Enlaces dentro de párrafos gris ("Ver todos los servicios del condominio →"):
   Lighthouse los marcaba "parcialmente obstruidos" por la línea vecina. */
p.has-gris-color a{ display:inline-block; padding:6px 0; margin:-6px 0 }

/* Enlaces de cierre de sección ("Construimos a su medida…", "Ver los ocho…") */
.ciet-enlace-seccion{ display:inline-block; padding:12px 0; margin:-12px 0 }

/* En móvil el formulario va ANTES de la columna de datos: es lo que la persona
   vino a hacer, y medido quedaba a 2.065 px del borde superior. */
@media(max-width:781px){
  .ciet-contacto-cols{ flex-direction:column-reverse !important }
}

/* ── Ficha: prueba social junto al precio ─────────────────────────── */
.ciet-ficha-prueba{
  font-size:13.5px; color:var(--tx2); margin:0 0 18px; padding:10px 12px;
  background:var(--bg2); border-radius:8px; border-left:3px solid var(--verde);
}

/* ── Formulario en móvil: llegar antes al botón de enviar ─────────── */
@media(max-width:640px){
  .ciet-form{ padding:20px 16px }
  .ciet-form h3{ font-size:19px; margin:0 0 4px }
  .ciet-form > p{ font-size:14px !important; margin-bottom:14px !important }
  .ciet-form .fr{ margin-bottom:11px }
  .ciet-form input, .ciet-form select, .ciet-form textarea{ padding:11px 13px; min-height:44px; box-sizing:border-box }
  .ciet-form textarea{ min-height:68px }
  .ciet-form label{ margin-bottom:4px; font-size:13.5px }
}

/* ── Página "construcción a medida": pasos numerados ─────────────── */
.ciet-paso{ background:#fff; border:1px solid var(--linea); border-radius:13px; padding:24px; height:100% }
.ciet-paso-n{
  width:38px; height:38px; border-radius:50%; background:var(--rojo); color:#fff;
  font-weight:850; font-size:17px; display:flex; align-items:center; justify-content:center; margin:0 0 10px;
}
.ciet-paso h3{ font-size:18px; font-weight:800; margin:0 0 4px }
.ciet-paso p{ font-size:14.5px; margin:0 }

/* ── Fachada del mapa: el iframe de Google pesa ~450 KB de JS y solo
   carga si la persona lo pide. Antes hay un bloque con la dirección. ── */
.ciet-mapa-fachada{
  width:100%; height:100%; border:0; cursor:pointer; font:inherit;
  /* background-color y background-image separados: con el abreviado + imagen,
     los auditores de contraste no leen el fondo y marcan el texto como ilegible */
  background-color:#16212b; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8352c' stroke-width='1.6'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 1116 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center 26%; background-size:56px;
  color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:flex-end;
  padding:22px; gap:6px; text-align:center;
}
.ciet-mapa-fachada b{ font-size:16px }
.ciet-mapa-fachada span{ font-size:13px; color:#9fb0bc }
.ciet-mapa-fachada em{
  font-style:normal; margin-top:8px; background:var(--rojo); padding:10px 16px;
  border-radius:8px; font-weight:700; font-size:14px;
}
.ciet-mapa-fachada:hover em{ background:var(--rojo2) }

/* ── Que el viewport móvil no se ensanche ─────────────────────────
   Un elemento con white-space:nowrap más ancho que la pantalla hace que el
   navegador del celular agrande el viewport completo (innerWidth 410–644) y
   toda la página se vea más chica, sin que el chequeo de desborde lo delate.
   Medido el 8-sep con Playwright a 390 px. */
@media (max-width:781px){
  .ciet-cta-medida, .ciet-nav a, .ciet-chip, .wp-block-button__link{ white-space:normal }
  .wp-block-button{ max-width:100% }
  .wp-block-button__link{ text-align:center }
  .ciet-tabla td, .ciet-tabla th{ white-space:normal }
}

/* ── PIE DE PÁGINA ────────────────────────────────────────────────── */
/* Sobre fondo tinta, el gris del cuerpo (#4a5964) da 2,26:1 y el rojo 3,11:1.
   El pie usa el gris claro de la maqueta (#93a5b1 → 6,3:1) para texto y
   enlaces, con blanco al pasar el cursor. */
footer.wp-block-template-part{ font-size:14.5px }
footer h3{ color:#fff; font-size:15px; margin-bottom:13px; font-weight:750 }
footer p, footer .has-gris-color{ color:#93a5b1 !important }
footer a, footer .wp-block-navigation a{ color:#93a5b1; text-decoration:none }
footer a:hover, footer .wp-block-navigation a:hover{ color:#fff }
footer .wp-block-separator{ width:100% !important; opacity:.12 }

/* ── WHATSAPP FLOTANTE ────────────────────────────────────────────── */
.ciet-wa-flotante{
  position:fixed; bottom:22px; right:22px; background:var(--wa); color:#fff;
  width:58px; height:58px; border-radius:50%; display:flex;
  align-items:center; justify-content:center;
  box-shadow:0 5px 20px rgba(0,0,0,.28); text-decoration:none; z-index:200;
}
.ciet-wa-flotante:hover{ background:var(--wa2) }
.ciet-wa-flotante svg{ width:30px; height:30px; fill:currentColor }

@media(max-width:900px){
  .ciet-contacto-grid{ grid-template-columns:1fr }
}

/* ── Tabla de precios en móvil ────────────────────────────────────
   Comprimida a 342px las celdas quedan en 123/86/136px y el texto se
   parte en tres líneas: el dato que más importa queda ilegible. En
   pantalla chica cada fila pasa a ser una tarjeta con su etiqueta.
   Las etiquetas salen por posición de columna, no por un atributo en
   el HTML, para que sigan funcionando si se agregan filas desde el
   editor. */
@media(max-width:640px){
  .ciet-tabla thead{
    position:absolute; width:1px; height:1px;
    overflow:hidden; clip-path:inset(50%); white-space:nowrap;
  }
  /* border-collapse:collapse descarta los bordes de las filas: en móvil,
     donde cada fila es una tarjeta, hay que separarlos. */
  .ciet-tabla figure{ border:0; border-radius:0; overflow:visible }
  .ciet-tabla table{ border:0; background:transparent; border-collapse:separate }
  .ciet-tabla tbody tr{
    display:block; background:#fff; border:1px solid var(--linea);
    border-radius:11px; margin-bottom:12px; padding:4px 0;
    box-shadow:0 2px 10px rgba(20,35,50,.05);
  }
  .ciet-tabla td{
    display:flex; justify-content:space-between; align-items:baseline;
    gap:16px; padding:10px 16px; text-align:right; border:0;
    border-bottom:1px solid var(--linea);
  }
  .ciet-tabla tr td:last-child{ border-bottom:0 }
  .ciet-tabla td::before{
    font-size:13px; font-weight:700; color:var(--tx3);
    text-align:left; flex-shrink:0;
  }
  .ciet-tabla td:nth-child(1)::before{ content:"Superficie" }
  .ciet-tabla td:nth-child(2)::before{ content:"Valor por m²" }
  .ciet-tabla td:nth-child(3)::before{ content:"Arriendo mensual" }
  /* La fila "Más de 3.000 m²" tiene una celda combinada: sin etiqueta */
  .ciet-tabla td[colspan]::before{ content:"" }
  .ciet-tabla td[colspan]{ text-align:left }
}
@media(max-width:768px){
  .ciet-comp{ flex-direction:column; align-items:stretch; text-align:center }
  .ciet-form{ padding:24px }
  .ciet-form .f2{ grid-template-columns:1fr }
  .ciet-busc{ padding:22px }
  .ciet-wa-flotante{ width:52px; height:52px; bottom:16px; right:16px }
  .ciet-logo .wp-block-site-tagline{ display:none }
  .ciet-logo .wp-block-site-logo img{ height:38px }
  .ciet-logo .wp-block-site-title a{ font-size:17px }
}
