/*
Theme Name: Meseta 2026
Theme URI: https://mesetaalttahomes.com
Author: Digital Mind
Description: Tema a medida para el rediseño 2026 de Meseta Altta Homes, basado en el diseño aprobado por el cliente.
Version: 0.1.0
License: Proprietary
Text Domain: meseta-2026
*/


/* ════════════════════════════════════════
   RESET & BASE
════════════════════════════════════════ */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;background:#fff;color:#1a1a2e;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{text-decoration:none;}

/* ════════════════════════════════════════
   TYPOGRAPHY SYSTEM
════════════════════════════════════════ */
.label{font-size:9px;font-weight:700;letter-spacing:4px;text-transform:uppercase;}
.label-pink{color:#D61765;}
.label-gray{color:rgba(255,255,255,0.4);}
.label-navy{color:#14406A;}
.eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px;}
.ey-line{width:28px;height:1px;background:#D61765;flex-shrink:0;}
.section-title{font-size:48px;font-weight:800;letter-spacing:-2px;text-transform:uppercase;line-height:1;}
.section-title-sm{font-size:36px;font-weight:800;letter-spacing:-1.5px;text-transform:uppercase;line-height:1;}
.section-sub{font-size:13px;font-weight:300;line-height:1.8;color:rgba(255,255,255,0.55);}
.section-sub-dark{color:#6B7280;}

/* ════════════════════════════════════════
   BUTTONS
════════════════════════════════════════ */
.btn{display:inline-block;font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;padding:14px 30px;border-radius:2px;border:none;cursor:pointer;font-family:'Montserrat',sans-serif;transition:all .2s;}
.btn-pink{background:#D61765;color:#fff;}
.btn-pink:hover{background:#b8114f;}
.btn-outline-white{background:transparent;border:1px solid rgba(255,255,255,0.5);color:#fff;}
.btn-outline-white:hover{background:rgba(255,255,255,0.08);}
.btn-outline-navy{background:transparent;border:1px solid #012F5F;color:#012F5F;}
.btn-outline-navy:hover{background:#012F5F;color:#fff;}
.btn-navy{background:#012F5F;color:#fff;}
.btn-navy:hover{background:#14406A;}
.btn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}

/* ════════════════════════════════════════
   NAVBAR
════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 6%;
  height:72px;
  background:#012F5F;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.nav-logo{height:36px;width:auto;}
.nav-links{display:flex;align-items:center;gap:36px;}
.nav-link{font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.6);transition:color .2s;}
.nav-link:hover{color:#fff;}
.nav-link-active{color:#fff;}
.nav-cta{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:10px 22px;background:#D61765;color:#fff;border-radius:2px;}
.nav-cta:hover{background:#b8114f;}
.nav-divider{width:1px;height:20px;background:rgba(255,255,255,0.15);}

/* ════════════════════════════════════════
   HERO SLIDER
════════════════════════════════════════ */
.hero{position:relative;width:100%;aspect-ratio:1672/941;overflow:hidden;margin-top:72px;background:#0a1a2f;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none;}
.hero-slide.active{opacity:1;pointer-events:auto;}
.hero-photo{width:100%;height:100%;object-fit:cover;display:block;}
.hero-hot{position:absolute;background:transparent;border:0;padding:0;cursor:pointer;z-index:6;display:block;}
@media(max-width:768px){.hero{margin-top:60px;}}

/* ════════════════════════════════════════
   STATS BAR
════════════════════════════════════════ */
.stats-bar{
  background:#012F5F;
  display:flex;align-items:stretch;
}
.stat-item{
  flex:1;padding:28px 0;text-align:center;
  border-right:1px solid rgba(255,255,255,0.06);
}
.stat-item:last-child{border-right:none;}
.stat-num{font-size:32px;font-weight:800;letter-spacing:-1px;color:#fff;line-height:1;margin-bottom:6px;}
.stat-num em{color:#D61765;font-style:normal;font-size:20px;font-weight:800;}
.stat-label{font-size:8px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.3);}

/* ════════════════════════════════════════
   ABOUT SECTION
════════════════════════════════════════ */
.about{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:560px;
}
.about-photo{position:relative;overflow:hidden;}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 6s ease;}
.about-photo:hover img{transform:scale(1.04);}
.about-content{
  background:#06090F;
  padding:80px 8%;
  display:flex;flex-direction:column;justify-content:center;
}
.about-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:24px;}
.about-title{font-size:42px;font-weight:800;letter-spacing:-1.5px;text-transform:uppercase;color:#fff;line-height:1.05;margin-bottom:20px;}
.about-title .pink{color:#D61765;}
.about-title em{font-style:italic;font-weight:300;}
.about-body{font-size:13px;font-weight:300;line-height:1.85;color:rgba(255,255,255,0.5);margin-bottom:36px;}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:40px;}
.about-pillar{padding:16px 0;border-top:1px solid rgba(255,255,255,0.05);}
.about-pillar:nth-child(odd){padding-right:20px;}
.ap-name{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:3px;}
.ap-desc{font-size:11px;font-weight:300;color:rgba(255,255,255,0.2);line-height:1.5;}

/* ════════════════════════════════════════
   MASTER PLAN
════════════════════════════════════════ */
.masterplan{position:relative;padding:74px 6% 88px;overflow:hidden;background:linear-gradient(155deg,#021a38 0%,#063163 52%,#0d4a8c 100%);}
.mp-head{text-align:center;margin-bottom:30px;}
.mp-title{font-size:46px;font-weight:300;letter-spacing:.5px;color:#fff;line-height:1;}
.mp-sub{font-size:13px;font-weight:300;color:rgba(255,255,255,0.65);margin-top:14px;}
.mp-plan{position:relative;max-width:1080px;margin:0 auto;line-height:0;}
.mp-map{width:100%;height:auto;display:block;transition:opacity .45s ease;}
.mp-map-hi{position:absolute;inset:0;opacity:0;}
.masterplan.hi .mp-map-hi{opacity:1;}
.masterplan.hi .mp-map-plain{opacity:0;}
.mp-toggle{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;cursor:pointer;z-index:3;}
.mp-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:4;font-size:11px;letter-spacing:1px;color:rgba(255,255,255,0.7);background:rgba(0,0,0,0.25);padding:6px 14px;border-radius:20px;pointer-events:none;transition:opacity .3s;}
.masterplan.hi .mp-hint{opacity:0;}
@media(max-width:768px){.masterplan{padding:48px 5% 60px;}.mp-title{font-size:30px;}}

/* ════════════════════════════════════════
   MODELS SECTION
════════════════════════════════════════ */
.models{background:#fff;padding:80px 6%;}
.models-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;}
.models-title{font-size:52px;font-weight:800;letter-spacing:-2px;text-transform:uppercase;color:#012F5F;line-height:1;}
.models-title span{color:#D61765;}
.models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.model-card-img{display:block;border-radius:6px;overflow:hidden;cursor:pointer;transition:transform .35s ease,box-shadow .35s ease;}
.model-card-img img{width:100%;height:auto;aspect-ratio:1086/1448;object-fit:cover;object-position:center;display:block;transition:transform .5s ease;}
.model-card-img:hover{box-shadow:0 18px 44px rgba(1,47,95,.28);transform:translateY(-4px);}
.model-card-img:hover img{transform:scale(1.04);}
@media(max-width:860px){.models-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;}}
.model-card{position:relative;overflow:hidden;cursor:pointer;}
.model-card-photo{
  aspect-ratio:3/4;object-fit:cover;width:100%;
  transition:transform .6s ease;filter:brightness(0.85);
}
.model-card:hover .model-card-photo{transform:scale(1.06);filter:brightness(0.7);}
.model-ov{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(1,47,95,0.9) 0%,rgba(1,47,95,0.4) 40%,transparent 100%);
}
.model-badge{
  position:absolute;top:16px;left:16px;
  font-size:7px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:4px 10px;border-radius:2px;
}
.badge-avail{background:#D61765;color:#fff;}
.badge-sold{background:rgba(255,255,255,0.15);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.2);}
.model-info{position:absolute;bottom:0;left:0;right:0;padding:24px 20px;}
.model-name{font-size:22px;font-weight:800;letter-spacing:-0.5px;text-transform:uppercase;color:#fff;margin-bottom:6px;}
.model-detail{font-size:9px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:14px;}
.model-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,0.7);
  opacity:0;transform:translateY(8px);transition:all .3s;
}
.model-card:hover .model-link{opacity:1;transform:translateY(0);}
.model-link-arrow{font-size:12px;}

/* ════════════════════════════════════════
   INTERIORS STRIP
════════════════════════════════════════ */
.interiors{
  display:grid;grid-template-columns:repeat(4,1fr);
  height:320px;
}
.int-photo{overflow:hidden;position:relative;}
.int-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:brightness(0.8);}
.int-photo:hover img{transform:scale(1.08);filter:brightness(1);}
.int-label{
  position:absolute;bottom:14px;left:14px;
  font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,0.7);
  opacity:0;transition:opacity .3s;
}
.int-photo:hover .int-label{opacity:1;}

/* ════════════════════════════════════════
   AMENIDADES
════════════════════════════════════════ */
.amenidades{
  background:#F5F7FA;
  padding:80px 6%;
}
.amen-header{margin-bottom:52px;}
.amen-title{font-size:52px;font-weight:800;letter-spacing:-2px;text-transform:uppercase;color:#012F5F;line-height:1;margin-bottom:12px;}
.amen-title span{color:#D61765;}
.amen-body-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.amen-photo{position:relative;overflow:hidden;}
.amen-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:brightness(0.85);}
.amen-photo:hover img{transform:scale(1.04);filter:brightness(0.7);}
.amen-photo-big{grid-row:span 2;}
.amen-photo-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(1,47,95,0.7) 0%,transparent 60%);}
.amen-tag{position:absolute;bottom:18px;left:18px;}
.amen-tag-name{font-size:9px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:#fff;}
.amen-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;}
.amen-icon{display:flex;align-items:center;gap:14px;padding:20px;background:#fff;border-radius:2px;border-bottom:2px solid transparent;transition:border-color .2s;}
.amen-icon:hover{border-bottom-color:#D61765;}
.ai-dot{width:8px;height:8px;border-radius:50%;background:#D61765;flex-shrink:0;}
.ai-name{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#012F5F;}

/* ════════════════════════════════════════
   PERFILES / CTA SECTION
════════════════════════════════════════ */
.profiles{
  background:#012F5F;
  padding:80px 6%;
}
.profiles-header{text-align:center;margin-bottom:60px;}
.profiles-title{font-size:48px;font-weight:800;letter-spacing:-2px;text-transform:uppercase;color:#fff;line-height:1;margin-bottom:16px;}
.profiles-title em{font-style:italic;font-weight:300;}
.profiles-sub{font-size:12px;font-weight:300;color:rgba(255,255,255,0.4);letter-spacing:1px;max-width:500px;margin:0 auto;}
.profiles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:60px;}
.profile-card{
  position:relative;overflow:hidden;
  cursor:pointer;
}
.profile-photo{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .6s;filter:brightness(0.6) saturate(0.8);}
.profile-card:hover .profile-photo{transform:scale(1.05);filter:brightness(0.5);}
.profile-ov{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,9,15,0.92) 0%,rgba(1,47,95,0.4) 60%,transparent 100%);
}
.profile-content{position:absolute;bottom:0;left:0;right:0;padding:32px 28px;}
.profile-num{font-size:9px;font-weight:700;letter-spacing:2px;color:#D61765;margin-bottom:10px;font-family:'Montserrat',sans-serif;}
.profile-name{font-size:22px;font-weight:800;letter-spacing:-0.5px;text-transform:uppercase;color:#fff;margin-bottom:8px;}
.profile-hook{font-size:12px;font-weight:300;line-height:1.6;color:rgba(255,255,255,0.6);margin-bottom:20px;}
.profile-cta{
  display:inline-flex;align-items:center;gap:6px;
  font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:rgba(255,255,255,0.5);
  opacity:0;transform:translateY(8px);
  transition:all .3s;
}
.profile-card:hover .profile-cta{opacity:1;transform:translateY(0);}

/* ════════════════════════════════════════
   CONTACT / FORM SECTION
════════════════════════════════════════ */
.contact{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:600px;
}
.contact-photo{position:relative;overflow:hidden;}
.contact-photo img{width:100%;height:100%;object-fit:cover;}
.contact-photo-ov{
  position:absolute;inset:0;
  background:linear-gradient(to right,rgba(1,47,95,0.5) 0%,transparent 100%);
}
.contact-content{
  background:#06090F;
  padding:80px 8%;
  display:flex;flex-direction:column;justify-content:center;
}
.contact-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:24px;}
.contact-title{font-size:40px;font-weight:800;letter-spacing:-1.5px;text-transform:uppercase;color:#fff;line-height:1.05;margin-bottom:12px;}
.contact-title .pink{color:#D61765;}
.contact-body{font-size:13px;font-weight:300;color:rgba(255,255,255,0.4);line-height:1.8;margin-bottom:40px;}
.form-field{margin-bottom:16px;}
.form-label{font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:6px;display:block;}
.form-input{
  width:100%;background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);border-radius:2px;
  padding:12px 16px;font-size:12px;font-family:'Montserrat',sans-serif;
  color:#fff;outline:none;transition:border-color .2s;
}
.form-input:focus{border-color:#D61765;}
.form-input::placeholder{color:rgba(255,255,255,0.2);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-disclaimer{font-size:10px;font-weight:300;color:rgba(255,255,255,0.2);margin-top:12px;line-height:1.6;}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
.footer{background:#012F5F;padding:60px 6% 32px;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.06);margin-bottom:32px;}
.footer-logo{height:32px;margin-bottom:20px;}
.footer-tagline{font-size:12px;font-weight:300;color:rgba(255,255,255,0.35);line-height:1.7;max-width:280px;}
.footer-col-title{font-size:8px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:16px;}
.footer-link{display:block;font-size:11px;font-weight:300;color:rgba(255,255,255,0.5);margin-bottom:10px;transition:color .2s;}
.footer-link:hover{color:#fff;}
.footer-contact-item{margin-bottom:12px;}
.fci-label{font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.25);margin-bottom:3px;}
.fci-val{font-size:12px;font-weight:400;color:rgba(255,255,255,0.6);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;}
.footer-copy{font-size:10px;color:rgba(255,255,255,0.2);letter-spacing:1px;}
.footer-social{display:flex;gap:16px;}
.social-link{font-size:9px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,0.3);transition:color .2s;}
.social-link:hover{color:#D61765;}
.footer-legal{font-size:9px;color:rgba(255,255,255,0.15);line-height:1.6;margin-top:24px;border-top:1px solid rgba(255,255,255,0.04);padding-top:20px;}

/* ════════════════════════════════════════
   COMMUNITY BANNER
════════════════════════════════════════ */
.community-banner{background:#ffffff;padding:64px 6%;display:flex;justify-content:center;}
.sec2-wrap{position:relative;width:100%;max-width:1160px;}
.sec2-wrap img{width:100%;height:auto;display:block;border-radius:8px;}
.sec2-hot{position:absolute;background:transparent;border:0;padding:0;cursor:pointer;z-index:3;display:block;}
@media(max-width:768px){.community-banner{padding:36px 5%;}}


/* Ajustes: categorías de amenidades */
.amen-intro{font-size:13px;font-weight:300;color:#6B7280;max-width:560px;margin-top:12px;line-height:1.8;}
.amen-category-grid{gap:14px;}
.amen-cat-card{display:block;border-radius:10px;overflow:hidden;cursor:pointer;transition:transform .35s ease,box-shadow .35s ease;}
.amen-cat-card img{width:100%;height:auto;display:block;transition:transform .5s ease;}
.amen-cat-card:hover{box-shadow:0 18px 44px rgba(1,47,95,.28);transform:translateY(-4px);}
.amen-cat-card:hover img{transform:scale(1.03);}

/* Ajustes: 3 razones estáticas */
.reasons-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-bottom:0;}
.reasons-mosaic img{width:100%;height:auto;display:block;border-radius:8px;}
.reasons-mosaic .r1{grid-column:1;grid-row:1;}
.reasons-mosaic .r2{grid-column:1;grid-row:2;}
.reasons-mosaic .r3{grid-column:2;grid-row:1 / span 2;align-self:center;}
@media(max-width:820px){.reasons-mosaic{grid-template-columns:1fr;}.reasons-mosaic .r1,.reasons-mosaic .r2,.reasons-mosaic .r3{grid-column:1;grid-row:auto;align-self:auto;}}
}

/* ==== VIDEO SECTION ==== */
.video-section{background:#012F5F;padding:50px 3% 58px;text-align:center;}
.video-eyebrow{font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:#D61765;margin-bottom:14px;}
.video-title{font-size:38px;font-weight:800;letter-spacing:-1.5px;text-transform:uppercase;color:#fff;line-height:1.05;margin-bottom:26px;}
.video-title em{font-style:italic;font-weight:300;}
.video-frame{position:relative;width:100%;max-width:1600px;margin:0 auto;aspect-ratio:16/9;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45);}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;background:#000;}
@media(max-width:768px){.video-section{padding:56px 6% 60px;}.video-title{font-size:26px;margin-bottom:26px;}}
/* ==== SELECT en formulario ==== */
select.form-input{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='white' stroke-width='1.6' fill='none' stroke-opacity='0.5'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;}
select.form-input option{color:#012F5F;background:#fff;}

/* ════════════════════════════════════════
   CONTACT FORM 7 — integración visual
════════════════════════════════════════ */
.wpcf7 form { display: contents; }
.wpcf7-form-control-wrap { display: block; position: relative; }
.wpcf7-spinner { display: none; }
.wpcf7-not-valid-tip {
  display: block;
  font-size: 10px;
  font-weight: 500;
  color: #ff8fae;
  margin-top: 6px;
}
.contact-content .wpcf7-response-output {
  border: none !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  font-size: 11px;
  color: rgba(255,255,255,0.5);
}
.meseta-trampa {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  pointer-events: none;
}
input.wpcf7-not-valid, select.wpcf7-not-valid { border-color: #D61765 !important; }
