/* Nec Ultra — Suite. Formularios y simuladores. */

.nu-bloque{
	--nu-tinta:#16150f; --nu-suave:#5d564d; --nu-tenue:#8b8377;
	--nu-linea:#e4ddd4; --nu-claro:#f6f4f1; --nu-azul:#00457a; --nu-acc:#17b0ef;
	--nu-verde:#25a866; --nu-ambar:#c98a12; --nu-rojo:#c0392b;
	font-family:inherit; color:var(--nu-tinta);
	border:1px solid var(--nu-linea); border-radius:12px; background:#fff;
	padding:26px 24px; margin:0 0 26px;
}
.nu-bloque *{box-sizing:border-box}
.nu-bloque .nu-h{font-size:20px; line-height:1.25; margin:0 0 6px; letter-spacing:-.01em; color:var(--nu-tinta)}
.nu-bloque .nu-intro{font-size:14.5px; line-height:1.55; color:var(--nu-suave); margin:0 0 18px}
.nu-bloque .nu-nota{font-size:12px; line-height:1.6; color:var(--nu-tenue); margin:16px 0 0; border-top:1px solid var(--nu-linea); padding-top:12px}

.nu-tarifa{
	font-size:13.5px; line-height:1.5; color:var(--nu-suave);
	background:var(--nu-claro); border-left:3px solid var(--nu-acc);
	padding:11px 14px; border-radius:0 8px 8px 0; margin:0 0 18px;
}

/* --------------------------------------------------------- campos ------ */
.nu-campo{margin:0 0 15px}
.nu-campo>label,.nu-campo .nu-etiqueta{
	display:block; font-size:13px; font-weight:600; color:var(--nu-tinta); margin:0 0 6px;
}
.nu-campo small{display:block; font-size:11.5px; color:var(--nu-tenue); margin-top:4px}
.nu-req{color:var(--nu-acc)}

.nu-bloque input[type=text],
.nu-bloque input[type=email],
.nu-bloque input[type=tel],
.nu-bloque input[type=number],
.nu-bloque select,
.nu-bloque textarea{
	width:100%; font:inherit; font-size:14.5px; color:var(--nu-tinta);
	padding:10px 12px; border:1px solid var(--nu-linea); border-radius:7px;
	background:#fff; transition:border-color .12s, box-shadow .12s;
}
.nu-bloque select{appearance:none; -webkit-appearance:none;
	background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235d564d' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat:no-repeat; background-position:right 12px center; background-size:11px; padding-right:34px;
}
.nu-bloque input:focus,.nu-bloque select:focus,.nu-bloque textarea:focus{
	outline:none; border-color:var(--nu-acc); box-shadow:0 0 0 3px rgba(23,176,239,.16);
}
.nu-bloque textarea{resize:vertical; min-height:56px}

.nu-canales{display:flex; gap:16px; flex-wrap:wrap; margin:0 0 8px}
.nu-canales label{display:flex; align-items:center; gap:6px; font-size:14px; color:var(--nu-suave); cursor:pointer; font-weight:400}
.nu-canales input{accent-color:var(--nu-azul); margin:0}

.nu-consent{display:flex; gap:9px; align-items:flex-start; font-size:12.5px; line-height:1.5; color:var(--nu-suave); margin:4px 0 16px; cursor:pointer}
.nu-consent input{margin-top:2px; accent-color:var(--nu-azul); flex:0 0 auto}
.nu-consent a{color:var(--nu-azul); text-decoration:underline}

.nu-trampa{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden}

/* ------------------------------------------------------- dias/horas ---- */
.nu-dias{display:flex; gap:8px; overflow-x:auto; padding:2px 2px 6px; scrollbar-width:thin}
.nu-dia{
	flex:0 0 auto; min-width:66px; text-align:center; cursor:pointer;
	border:1.5px solid var(--nu-linea); border-radius:9px; padding:9px 10px; background:#fff;
	transition:border-color .12s, background .12s;
}
.nu-dia input{position:absolute; opacity:0; pointer-events:none}
.nu-dia-sem{display:block; font-size:10.5px; letter-spacing:.08em; color:var(--nu-tenue); font-weight:700}
.nu-dia-num{display:block; font-size:14px; font-weight:600; margin-top:3px; color:var(--nu-tinta)}
.nu-dia:hover{border-color:var(--nu-tenue)}
.nu-dia:has(input:checked){border-color:var(--nu-azul); background:#f0f6fb}
.nu-dia:has(input:checked) .nu-dia-sem{color:var(--nu-azul)}

/* ---------------------------------------------------------- botones ---- */
.nu-boton{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	font:inherit; font-size:15px; font-weight:600; line-height:1.2;
	padding:13px 22px; border:none; border-radius:7px; cursor:pointer;
	text-decoration:none; transition:background .12s, opacity .12s;
}
.nu-boton svg{width:18px; height:18px; flex:0 0 auto}
.nu-boton-1{background:var(--nu-acc); color:#fff; width:100%}
.nu-boton-1:hover{background:#0f97cf; color:#fff}
.nu-boton-2{background:var(--nu-tinta); color:#f2ede6}
.nu-boton-2:hover{background:#2b2920; color:#f2ede6}
.nu-boton[disabled]{opacity:.6; cursor:default}
.nu-descarga{margin-top:12px}

/* ----------------------------------------------------------- avisos ---- */
.nu-aviso{font-size:14px; line-height:1.55; margin-top:12px}
.nu-aviso:empty{margin:0}
.nu-ok{color:var(--nu-verde); font-weight:600}
.nu-mal{color:var(--nu-rojo); font-weight:600}

/* ------------------------------------------------------------ modal ---- */
.nu-modal{position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:20px}
.nu-modal[hidden]{display:none}
.nu-modal-fondo{position:absolute; inset:0; background:rgba(10,18,26,.62); backdrop-filter:blur(2px)}
.nu-modal-caja{
	position:relative; background:#fff; border-radius:14px; padding:30px 28px 26px;
	width:100%; max-width:440px; max-height:92vh; overflow-y:auto;
	box-shadow:0 24px 60px rgba(0,0,0,.28);
	--nu-tinta:#16150f; --nu-suave:#5d564d; --nu-tenue:#8b8377;
	--nu-linea:#e4ddd4; --nu-claro:#f6f4f1; --nu-azul:#00457a; --nu-acc:#17b0ef;
	--nu-verde:#25a866; --nu-rojo:#c0392b;
	font-family:inherit; color:var(--nu-tinta);
}
.nu-modal-caja *{box-sizing:border-box}
.nu-modal-caja .nu-h{font-size:20px; margin:0 0 6px}
.nu-modal-caja .nu-intro{font-size:14px; line-height:1.55; color:var(--nu-suave); margin:0 0 18px}
.nu-modal-caja input[type=text],.nu-modal-caja input[type=email],.nu-modal-caja select,.nu-modal-caja textarea{
	width:100%; font:inherit; font-size:14.5px; padding:10px 12px;
	border:1px solid var(--nu-linea); border-radius:7px; background:#fff;
}
.nu-cerrar{
	position:absolute; top:10px; right:12px; background:none; border:none;
	font-size:28px; line-height:1; color:var(--nu-tenue); cursor:pointer; padding:4px 8px;
}
.nu-cerrar:hover{color:var(--nu-tinta)}
body.nu-sin-scroll{overflow:hidden}

/* ------------------------------------------------------ simuladores ---- */
.nu-calc-rejilla{display:grid; grid-template-columns:1fr 1fr; gap:0 18px}
.nu-calc-rejilla .nu-ancho{grid-column:1 / -1}
.nu-calc .nu-check label{display:flex; align-items:center; gap:8px; font-weight:400; font-size:14px; color:var(--nu-suave); cursor:pointer}
.nu-calc .nu-check input{accent-color:var(--nu-azul)}

.nu-input-euro{position:relative}
.nu-input-euro input{padding-right:30px}
.nu-input-euro span{position:absolute; right:12px; top:50%; transform:translateY(-50%); color:var(--nu-tenue); font-size:14px; pointer-events:none}

.nu-calc input[type=range]{width:100%; accent-color:var(--nu-azul); margin-top:6px}
.nu-calc label b{float:right; font-weight:700; color:var(--nu-azul)}

.nu-calc-salida{margin-top:18px}
.nu-tabla{width:100%; border-collapse:collapse; font-size:14px}
.nu-tabla td{padding:9px 0; border-bottom:1px solid var(--nu-linea); color:var(--nu-suave); vertical-align:top}
.nu-tabla td:last-child{text-align:right; white-space:nowrap; color:var(--nu-tinta); font-weight:600; padding-left:14px}
.nu-tabla td small{font-weight:400; color:var(--nu-tenue); display:block; font-size:11.5px}
.nu-tabla .nu-destaca td{color:var(--nu-tinta)}
.nu-tabla tfoot .nu-sub td{border-top:1px solid var(--nu-linea); border-bottom:none; padding-top:12px; font-weight:600; color:var(--nu-tinta)}
.nu-tabla tfoot .nu-total td{border:none; padding-top:4px; font-size:17px; font-weight:700; color:var(--nu-azul)}

.nu-cifras{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px; margin-bottom:18px}
.nu-cifra{background:var(--nu-claro); border-radius:10px; padding:16px 14px; text-align:center}
.nu-cifra b{display:block; font-size:22px; font-weight:700; letter-spacing:-.02em; color:var(--nu-tinta)}
.nu-cifra span{display:block; font-size:11.5px; color:var(--nu-tenue); margin-top:4px; line-height:1.4}
.nu-cifra-fuerte{background:var(--nu-azul)}
.nu-cifra-fuerte b{color:#fff; font-size:26px}
.nu-cifra-fuerte span{color:#bcd3e4}

.nu-semaforo{font-size:13.5px; line-height:1.55; padding:11px 14px; border-radius:8px; margin:16px 0 0}
.nu-verde{background:#eaf7f0; color:#1b7a4b; border-left:3px solid var(--nu-verde)}
.nu-ambar{background:#fdf5e5; color:#8a5f0a; border-left:3px solid var(--nu-ambar)}
.nu-rojo{background:#fbeceb; color:#93291e; border-left:3px solid var(--nu-rojo)}

/* ---------------------------------------------- páginas legales ------- */
.nu-legal{
	--nu-tinta:#16150f; --nu-suave:#4a453d; --nu-tenue:#8b8377;
	--nu-linea:#e4ddd4; --nu-claro:#f6f4f1; --nu-azul:#00457a;
	max-width:760px; color:var(--nu-suave); font-size:16px; line-height:1.7;
}
.nu-legal-entrada{
	background:var(--nu-claro); border-left:3px solid #17b0ef; border-radius:0 10px 10px 0;
	padding:16px 20px; margin:0 0 30px; font-size:16.5px;
}
.nu-legal h2{font-size:21px; line-height:1.3; margin:34px 0 10px; color:var(--nu-tinta); letter-spacing:-.01em}
.nu-legal h2:first-child{margin-top:0}
.nu-legal p{margin:0 0 14px}
.nu-legal ul{margin:0 0 16px; padding-left:22px}
.nu-legal li{margin-bottom:7px}
.nu-legal strong{color:var(--nu-tinta)}
.nu-legal a{color:var(--nu-azul)}
.nu-legal code{background:var(--nu-claro); padding:1px 6px; border-radius:4px; font-size:.86em}
.nu-legal-pie{margin-top:34px; padding-top:14px; border-top:1px solid var(--nu-linea); font-size:13px; color:var(--nu-tenue)}

.nu-legal-tabla{width:100%; border-collapse:collapse; margin:0 0 20px; font-size:14px; display:block; overflow-x:auto}
.nu-legal-tabla th,.nu-legal-tabla td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--nu-linea); vertical-align:top}
.nu-legal-tabla th{background:var(--nu-claro); color:var(--nu-tinta); font-size:12.5px; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap}

/* ------------------------------------------------ aviso de cookies ---- */
.nu-cookies{
	position:fixed; left:16px; right:16px; bottom:16px; z-index:99998;
	max-width:760px; margin:0 auto; padding:18px 20px;
	background:#0d2233; color:#dfe9f1; border-radius:12px;
	box-shadow:0 14px 40px rgba(0,0,0,.3);
	display:flex; align-items:center; gap:18px; flex-wrap:wrap;
	font-family:inherit; font-size:13.5px; line-height:1.55;
	--nu-tinta:#16150f; --nu-acc:#17b0ef;
}
.nu-cookies[hidden]{display:none}
.nu-cookies strong{color:#fff; display:block; margin-bottom:2px}
.nu-cookies-txt{flex:1; min-width:240px}
.nu-cookies-txt a{color:var(--nu-acc); text-decoration:underline}
.nu-cookies-btns{display:flex; gap:10px; flex-wrap:wrap}
.nu-cookies .nu-boton{width:auto; font-size:14px; padding:11px 18px; white-space:nowrap}
.nu-cookies .nu-boton-2{background:transparent; color:#dfe9f1; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.nu-cookies .nu-boton-2:hover{background:rgba(255,255,255,.1); color:#fff}

@media (max-width:560px){
	.nu-cookies{flex-direction:column; align-items:stretch; gap:14px}
	.nu-cookies .nu-boton{flex:1}
}

/* ------------------------------------- contacto en la cabecera -------- */
.nu-cabecera-contacto{
	display:flex; align-items:center; gap:14px; margin-left:auto; padding-left:18px;
	font-family:inherit; font-size:13.5px; line-height:1;
}
.nu-cabecera-contacto[hidden]{display:none}
.nu-cabecera-contacto a{
	display:inline-flex; align-items:center; gap:7px;
	color:inherit; opacity:.82; text-decoration:none; transition:opacity .12s;
}
.nu-cabecera-contacto a:hover{opacity:1; color:inherit}
.nu-cabecera-contacto svg{width:19px; height:19px; flex:0 0 auto}
.nu-correo svg{width:17px; height:17px}
.nu-correo span{white-space:nowrap}

@media (max-width:1100px){ .nu-correo span{display:none} }
@media (max-width:782px){ .nu-cabecera-contacto{gap:10px; padding-left:10px} }

/* ------------------------------------------------- zona en el mapa ---- */
.nu-zona-icono{background:none; border:0}
.nu-zona-halo{
	display:block; width:46px; height:46px; border-radius:50%;
	background:radial-gradient(circle, rgba(23,176,239,.30) 0%, rgba(23,176,239,.16) 55%, rgba(23,176,239,0) 72%);
	box-shadow:0 0 0 1.5px rgba(0,69,122,.45) inset;
	cursor:pointer;
}
.nu-zona-icono:hover .nu-zona-halo{
	background:radial-gradient(circle, rgba(23,176,239,.44) 0%, rgba(23,176,239,.24) 55%, rgba(23,176,239,0) 72%);
}

/* El tema ya coloca el mapa a la izquierda (.half-map-left-wrap). */

/* ------------------------------------------- retoques sobre Houzez ---- */
/* «Actualizada el …»: el tema lo pone junto al título de Detalles y con el
   tiempo delata cuánto lleva el inmueble en venta. */
body.nu-sin-fecha #property-detail-wrap .block-title-wrap span.small-text.text-secondary{display:none}

/* Referencia en la tarjeta del listado, donde el tema ponía la fecha. */
.item-date.nu-ref-tarjeta{font-variant-numeric:tabular-nums; letter-spacing:.01em; opacity:.75}

/* -------------------------------------------------- barra del tour ---- */
.nu-tour-barra{
	--nu-tinta:#16150f; --nu-suave:#5d564d; --nu-acc:#17b0ef; --nu-linea:#e4ddd4;
	display:flex; align-items:center; gap:16px;
	max-width:1170px; margin:0 auto 26px; padding:16px 20px;
	background:#0d2233; border-radius:12px; color:#eef3f7;
	font-family:inherit;
}
.nu-tour-barra[hidden]{display:none}
.nu-tour-barra>svg{width:34px; height:34px; flex:0 0 auto; color:var(--nu-acc)}
.nu-tour-txt{flex:1; min-width:0}
.nu-tour-txt strong{display:block; font-size:16px; line-height:1.3; color:#fff}
.nu-tour-txt span{display:block; font-size:13px; line-height:1.45; color:#b3c7d6; margin-top:2px}
.nu-tour-barra .nu-boton{width:auto; flex:0 0 auto; white-space:nowrap}

/* ------------------------------------------------------- valoración ---- */
.nu-desplegable summary{list-style:none; display:inline-flex; margin-bottom:0}
.nu-desplegable summary::-webkit-details-marker{display:none}
.nu-desplegable[open] summary{margin-bottom:18px}
.nu-val-compacto .nu-desplegable summary{cursor:pointer}
.nu-fila-botones{margin:0 0 22px}

@media (max-width:700px){
	.nu-tour-barra{flex-wrap:wrap; gap:12px}
	.nu-tour-barra .nu-boton{width:100%}
}

@media (max-width:600px){
	.nu-bloque{padding:22px 18px}
	.nu-calc-rejilla{grid-template-columns:1fr}
	.nu-modal-caja{padding:26px 20px 22px}
	.nu-cifra b{font-size:19px}
	.nu-cifra-fuerte b{font-size:22px}
}
