/* KÜVER — Single Property editorial template
   Fuentes: Cormorant Garamond (títulos) + Arapey (cuerpo)
   Color: overlays NEGRO · navy Küver solo en hover · sin magenta */

.kuver-sp{
  --kv-black:#0d0d10;
  --kv-navy:#20327F;      /* solo hover de botones */
  --kv-ink:#1d1d24;
  --kv-muted:#8a8a93;
  --kv-line:#e4e4e8;
  --kv-soft:#f6f5f2;
  --kv-serif:'Cormorant Garamond',Georgia,serif;
  --kv-body:'Arapey',Georgia,serif;
  color:var(--kv-ink);
  font-family:var(--kv-body);
  font-size:17px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
.kuver-sp *{box-sizing:border-box;}
.kuver-sp{overflow-x:hidden;overflow-x:clip;}
.kuver-sp img,.kuver-sp iframe{max-width:100%;}
.kuver-sp .kv-wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.kuver-sp .kv-wrap--narrow{max-width:920px;}

/* Eyebrows / labels */
.kuver-sp .kv-eyebrow{
  font-family:var(--kv-body);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:12px;
  color:var(--kv-ink);
  line-height:1.4;
}
.kuver-sp .kv-section-title{
  font-family:var(--kv-serif);
  font-weight:400;
  font-size:clamp(28px,4vw,40px);
  letter-spacing:.02em;
  line-height:1.15;
  margin:0;
}
.kuver-sp .kv-rule{width:56px;height:1px;background:var(--kv-ink);border:0;margin:20px auto;}

/* ============ GALERÍA ============ */
.kuver-gallery{position:relative;background:#fff;}
.kuver-gallery .kg-stage{position:relative;width:100%;height:68vh;min-height:420px;max-height:760px;overflow:hidden;background:var(--kv-black);}
.kuver-gallery .kg-track{display:flex;height:100%;transition:transform .6s cubic-bezier(.4,0,.15,1);}
.kuver-gallery .kg-slide{min-width:100%;height:100%;cursor:zoom-in;}
.kuver-gallery .kg-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.kuver-gallery .kg-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:52px;height:52px;border:1px solid rgba(255,255,255,.55);
  background:rgba(0,0,0,.18);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--kv-serif);font-size:26px;line-height:1;
  transition:background .3s,border-color .3s;z-index:3;backdrop-filter:blur(2px);
}
.kuver-gallery .kg-arrow:hover{background:var(--kv-navy);border-color:var(--kv-navy);}
.kuver-gallery .kg-prev{left:22px;}
.kuver-gallery .kg-next{right:22px;}
.kuver-gallery .kg-counter{
  position:absolute;right:24px;bottom:20px;z-index:3;
  color:#fff;font-family:var(--kv-body);letter-spacing:.15em;font-size:14px;
  background:rgba(0,0,0,.35);padding:6px 14px;
}
.kuver-gallery .kg-thumbs{
  display:flex;gap:10px;overflow-x:auto;padding:12px;background:#fff;
  scrollbar-width:thin;
}
.kuver-gallery .kg-thumbs::-webkit-scrollbar{height:6px;}
.kuver-gallery .kg-thumbs::-webkit-scrollbar-thumb{background:#cfcfd4;}
.kuver-gallery .kg-thumb{
  min-width:104px;width:104px;height:72px;cursor:pointer;opacity:.5;
  transition:opacity .3s;border:2px solid transparent;
}
.kuver-gallery .kg-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.kuver-gallery .kg-thumb.is-active{opacity:1;border-color:#0d0d10;}

/* ============ LIGHTBOX (fuera de .kuver-sp) ============ */
.kuver-lightbox{
  position:fixed;inset:0;z-index:99999;display:none;
  align-items:center;justify-content:center;background:rgba(8,8,10,.96);
}
.kuver-lightbox.is-open{display:flex;}
.kuver-lightbox .klb-img{max-width:92vw;max-height:86vh;object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.55);}
.kuver-lightbox .klb-close{
  position:absolute;top:20px;right:28px;background:none;border:0;color:#fff;
  font-size:42px;line-height:1;cursor:pointer;font-family:Georgia,serif;
}
.kuver-lightbox .klb-prev,.kuver-lightbox .klb-next{
  position:absolute;top:50%;transform:translateY(-50%);
  width:56px;height:56px;border:1px solid rgba(255,255,255,.5);
  background:rgba(0,0,0,.2);color:#fff;font-size:28px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .3s,border-color .3s;
}
.kuver-lightbox .klb-prev:hover,.kuver-lightbox .klb-next:hover{background:#20327F;border-color:#20327F;}
.kuver-lightbox .klb-prev{left:24px;}
.kuver-lightbox .klb-next{right:24px;}
.kuver-lightbox .klb-counter{
  position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  color:#fff;letter-spacing:.15em;font-family:Georgia,serif;font-size:14px;
}

/* ============ HERO META (título · dirección · precio) ============ */
.kuver-hero{text-align:center;padding:64px 0 8px;}
.kuver-hero .kv-eyebrow{margin-bottom:18px;}
.kuver-hero h1{
  font-family:var(--kv-serif);font-weight:400;
  font-size:clamp(34px,5vw,56px);line-height:1.08;letter-spacing:.02em;
  margin:0 0 14px;color:var(--kv-ink);
}
.kuver-hero .kv-address{
  font-family:var(--kv-body);font-style:italic;color:var(--kv-muted);
  font-size:19px;margin:0 0 26px;
}
.kuver-hero .kv-price{
  font-family:var(--kv-serif);font-weight:500;
  font-size:clamp(28px,3.4vw,38px);color:var(--kv-ink);letter-spacing:.01em;
}
.kuver-hero .kv-price .kv-price-note{
  font-family:var(--kv-body);font-size:15px;color:var(--kv-muted);
  letter-spacing:.18em;text-transform:uppercase;margin-left:10px;font-weight:400;
}

/* ============ HIGHLIGHTS + DESCRIPCIÓN ============ */
.kuver-overview{padding:48px 0 20px;}
.kuver-overview .kv-grid{display:grid;grid-template-columns:340px 1fr;gap:52px;align-items:start;}
.kuver-highlights{background:var(--kv-black);color:#fff;padding:40px 38px;}
.kuver-highlights h3{
  font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:400!important;
  text-transform:uppercase;letter-spacing:.14em;line-height:1.15;
  font-size:26px!important;color:#ffffff!important;margin:0 0 26px;
}
.kuver-highlights .kh-item{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);
}
.kuver-highlights .kh-item:last-child{border-bottom:0;}
.kuver-highlights .kh-label{
  font-family:var(--kv-body);font-size:15px;letter-spacing:.02em;color:rgba(255,255,255,.72);
}
.kuver-highlights .kh-value{font-family:var(--kv-serif);font-size:17px;line-height:1;color:#fff;}
.kuver-highlights .kh-value small{font-size:10px;color:rgba(255,255,255,.6);margin-left:4px;font-family:var(--kv-body);}

.kuver-description .kv-eyebrow{margin-bottom:14px;}
.kuver-description .kd-title{
  font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:400!important;
  font-size:30px;margin:0 0 18px;line-height:1.2;
  color:#000000!important;text-transform:uppercase;letter-spacing:.06em;
}
.kuver-description .kd-body{color:#4a4a52;}
.kuver-description .kd-body p{margin:0 0 16px;}
.kuver-description.is-clamped .kd-body{
  max-height:8.5em;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);
  mask-image:linear-gradient(180deg,#000 60%,transparent);
}
.kuver-description .kd-toggle{
  margin-top:14px;background:none!important;border:0!important;cursor:pointer;padding:0!important;
  font-family:var(--kv-body);text-transform:uppercase;letter-spacing:.2em;
  font-size:13px;color:#000000!important;box-shadow:none!important;
}
.kuver-description .kd-toggle:hover{background:none!important;color:#000000!important;text-decoration:underline;}

/* ============ CARACTERÍSTICAS Y AMENIDADES ============ */
.kuver-features{padding:60px 0;}
.kuver-features .kv-head{text-align:center;margin-bottom:44px;}
.kuver-features .kf-cols{
  display:grid;grid-template-columns:repeat(2,1fr);gap:48px 64px;
}
.kuver-features .kf-group h4{
  font-family:var(--kv-body);text-transform:uppercase;letter-spacing:.22em;
  font-size:13px;color:var(--kv-ink);margin:0 0 6px;font-weight:400;
  padding-bottom:14px;border-bottom:1px solid var(--kv-ink);
}
.kuver-features .kf-row{
  display:flex;justify-content:space-between;gap:20px;
  padding:12px 0;border-bottom:1px solid var(--kv-line);
}
.kuver-features .kf-row .kf-k{color:var(--kv-muted);font-size:15px;}
.kuver-features .kf-row .kf-v{color:var(--kv-ink);text-align:right;font-size:15px;}

/* ============ VECINDARIO ============ */
.kuver-neigh{padding:20px 0 60px;}
.kuver-neigh .kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.kuver-neigh .kn-text{background:var(--kv-soft);padding:56px 52px;display:flex;flex-direction:column;justify-content:center;}
.kuver-neigh .kn-text .kv-eyebrow{margin-bottom:16px;}
.kuver-neigh .kn-text h3{font-family:var(--kv-serif);font-weight:400;font-size:38px;margin:0 0 16px;line-height:1.1;}
.kuver-neigh .kn-text p{color:#4a4a52;margin:0;}
.kuver-neigh .kn-img{min-height:340px;background-size:cover;background-position:center;}

/* ============ MAPA ============ */
.kuver-map{padding:20px 0 60px;}
.kuver-map .kv-head{text-align:center;margin-bottom:36px;}
.kuver-map .km-frame{border:1px solid var(--kv-line);}
.kuver-map .es-property-map,.kuver-map #es-single-map,.kuver-map .es-single-map,.kuver-map .es-map,.kuver-map iframe{width:100%!important;max-width:100%!important;min-height:460px!important;}

/* ============ CONTACTO / TRABAJA CON NOSOTROS ============ */
.kuver-contact{background:var(--kv-black);color:#fff;padding:72px 0;}
.kuver-contact .kv-head{text-align:center;margin-bottom:14px;}
.kuver-contact .kv-eyebrow{color:rgba(255,255,255,.55);}
.kuver-contact h3{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:400!important;font-size:clamp(30px,4vw,44px);margin:0 0 10px;color:#ffffff!important;text-transform:uppercase;letter-spacing:.04em;}
.kuver-contact .kc-sub{text-align:center;color:rgba(255,255,255,.75);max-width:560px;margin:0 auto 36px;}
.kuver-contact .kc-form{max-width:720px;margin:0 auto;}
.kuver-contact .es-request-form{background:#0d0d10!important;box-shadow:none!important;}
.kuver-contact .es-widget__title{
  font-family:'Arapey',Georgia,serif!important;font-weight:400!important;
  color:#ffffff!important;text-transform:none;letter-spacing:.02em;
  text-align:center;font-size:22px;margin:0 0 26px;
}
/* Reestilizado del formulario Estatik */
.kuver-contact .es-form-row,.kuver-contact .es-field{margin-bottom:18px;}
.kuver-contact input[type=text],
.kuver-contact input[type=email],
.kuver-contact input[type=tel],
.kuver-contact textarea,
.kuver-contact select{
  width:100%!important;background:transparent!important;border:0!important;
  border-bottom:1px solid rgba(255,255,255,.35)!important;
  border-radius:0!important;color:#fff!important;
  font-family:var(--kv-body)!important;font-size:16px!important;
  padding:12px 2px!important;box-shadow:none!important;
}
.kuver-contact input::placeholder,.kuver-contact textarea::placeholder{color:rgba(255,255,255,.55)!important;}
.kuver-contact input:focus,.kuver-contact textarea:focus,.kuver-contact select:focus{
  outline:none!important;border-bottom-color:rgba(255,255,255,.8)!important;
}
.kuver-contact label{color:rgba(255,255,255,.8)!important;font-family:var(--kv-body)!important;letter-spacing:.04em;}
.kuver-contact .es-btn,.kuver-contact button[type=submit],.kuver-contact input[type=submit]{
  background:#fff!important;border:0!important;color:var(--kv-ink)!important;
  font-family:var(--kv-body)!important;text-transform:uppercase!important;letter-spacing:.22em!important;
  font-size:13px!important;line-height:1!important;height:auto!important;min-height:0!important;
  padding:20px 46px!important;border-radius:0!important;cursor:pointer;
  display:inline-block!important;vertical-align:middle;transition:background .3s,color .3s;
}
.kuver-contact .es-btn-wrapper{overflow:visible!important;}
.kuver-contact .es-btn:hover,.kuver-contact button[type=submit]:hover,.kuver-contact input[type=submit]:hover{background:var(--kv-navy)!important;color:#fff!important;}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .kuver-overview .kv-grid{grid-template-columns:1fr;gap:36px;}
  .kuver-features .kf-cols{grid-template-columns:1fr;gap:36px;}
  .kuver-neigh .kv-grid{grid-template-columns:1fr;}
  .kuver-neigh .kn-img{min-height:260px;order:-1;}
  .kuver-gallery .kg-stage{height:52vh;min-height:320px;}
  .kuver-lightbox .klb-prev{left:10px;} .kuver-lightbox .klb-next{right:10px;}
}
