/* ============================================================
   ALTALOMA RESIDENCIAL ECUESTRE — CSS Custom v2
   ============================================================ */

:root {
  --alt-verde:    #224212;
  --alt-bosque:   #2e3625;
  --alt-terra:    #a83318;
  --alt-beige:    #ebded0;
  --alt-arena:    #d3b07d;
  --alt-cafe:     #683817;
  --alt-verde-g:  #768064;
  --alt-carbon:   #413933;
  --alt-blanco:   #f8f4ef;
  --alt-negro:    #1a1612;
  --alt-nav-w:    100px;
  --alt-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* FUENTES */
@font-face {
  font-family: 'MyriadPro-Regular';
  src: url('../fonts/MyriadPro-Regular.otf') format('opentype');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'MyriadPro-Semibold';
  src: url('../fonts/MyriadPro-Semibold.otf') format('opentype');
  font-weight: 600; font-display: swap;
}
@font-face {
  font-family: 'MyriadPro-Cond';
  src: url('../fonts/MyriadPro-Cond.otf') format('opentype');
  font-weight: 400; font-display: swap;
}
@font-face {
  font-family: 'Montana Pictures';
  src: url('../fonts/MontanaPictures.otf') format('opentype');
  font-weight: 400; font-display: swap;
}

/* BASE */
body {
  font-family: 'MyriadPro-Regular', 'Trebuchet MS', sans-serif;
  background-color: var(--alt-blanco);
  color: var(--alt-carbon);
}
h1,h2,h3,h4,h5,h6 {
  font-family: 'MyriadPro-Cond', 'Trebuchet MS', sans-serif;
  font-weight: 600;
}

/* PRELOADER */
#rn-preloader-wrap { background: var(--alt-bosque); }
.preloader-brand {
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: 1rem; letter-spacing: 0.35em;
  color: var(--alt-arena); margin-top: 16px;
  text-transform: uppercase;
}
.rn-preloader-cont h3 { display: none; }

/* ============================================================
   NAV LATERAL — CORRECCIONES
   ============================================================ */
.left_menu {
  background: var(--alt-bosque) !important;
  border-right: 1px solid rgba(211,176,125,0.12);
}

/* Logo */
.alt-logo { display: flex; justify-content: center; }
.logo-img {
  width: 60px; height: auto;
  /*  filter: brightness(0) invert(1); */
  transition: opacity var(--alt-transition);
}
.logo-img:hover { opacity: 0.75; }

/* Items del menú — reducir top para dejar espacio a social icons */
.left_menu .menu_b .navbar-nav {
  top: 160px !important; /* era 200px — subimos para que no solapen social */
}

.left_menu .menu_b .navbar-nav li a {
  color: var(--alt-beige) !important;
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.left_menu .menu_b .navbar-nav li.active a,
.left_menu .menu_b .navbar-nav li:hover a {
  color: var(--alt-arena) !important;
}

/* Íconos sociales en nav — posición fija en la parte inferior */
.alt-social-nav {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100px;
  display: flex;
  /*flex-direction: column; */
  align-items: center;
  gap: 18px;
  z-index: 10;
}
.alt-social-nav a {
  color: rgba(235,222,208,0.45);
  font-size: 13px;
  transition: color var(--alt-transition);
  line-height: 1;
}
.alt-social-nav a:hover { color: var(--alt-arena); }

/* ============================================================
   HERO VIDEO
   ============================================================ */

/* El slider_f ocupa todo el viewport.
   El contenido (texto) debe estar desplazado 100px a la derecha
   para no quedar bajo el nav lateral */
.slider_f .text_s.alt-hero-text {
  left: 120px !important;
  text-align: left;
}

/* Video background */
.alt-slider-video {
  background: var(--alt-negro) !important;
  opacity: 1 !important;
}
.alt-slider-video::after {
  background: linear-gradient(
    135deg,
    rgba(34,66,18,0.72) 0%,
    rgba(65,57,51,0.55) 60%,
    rgba(26,22,18,0.7) 100%
  ) !important;
}
.hero-video-bg {
  position: absolute;
  top: 50%; left: 50%;
  min-width: 100%; min-height: 100%;
  width: auto; height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}

/* Texto hero */
.alt-eyebrow {
  display: block;
  font-family: 'MyriadPro-Regular', sans-serif;
  font-size: 0.7rem; letter-spacing: 0.3em;
  text-transform: uppercase; color: var(--alt-arena);
  margin-bottom: 18px;
  opacity: 0;
  animation: fadeInDown 1s 0.5s forwards;
}
.alt-hero-title {
  font-family: 'Montana Pictures', Georgia, serif !important;
  font-size: clamp(72px, 11vw, 150px) !important;
  line-height: 0.9 !important;
  color: #fff !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 22px;
  width: auto !important;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s 0.8s forwards;
}
.alt-hero-sub {
  font-family: 'MyriadPro-Regular', sans-serif;
  font-size: 1rem; color: var(--alt-beige);
  letter-spacing: 0.06em; margin-bottom: 38px;
  display: block;
  opacity: 0;
  animation: fadeInUp 1s 1.1s forwards;
}

/* ============================================================
   BOTONES
   ============================================================ */
.alt-btn-primary {
  background: var(--alt-terra) !important;
  color: #fff !important;
  border: 2px solid var(--alt-terra) !important;
  font-family: 'MyriadPro-Cond', sans-serif !important;
  letter-spacing: 0.1em; text-transform: uppercase;
}
.alt-btn-primary:hover {
  background: var(--alt-cafe) !important;
  border-color: var(--alt-cafe) !important;
}
.alt-btn-outline {
  background: transparent !important;
  color: var(--alt-verde) !important;
  border: 2px solid var(--alt-verde) !important;
  font-family: 'MyriadPro-Cond', sans-serif !important;
  letter-spacing: 0.1em; text-transform: uppercase;
}
.alt-btn-outline:hover {
  background: var(--alt-verde) !important;
  color: #fff !important;
}
.button_large:after,.button_medium:after,.button_small:after {
  background: var(--alt-arena) !important;
}

/* ============================================================
   SECCIONES
   ============================================================ */
.alt-section { padding: 100px 0; }

.alt-label {
  display: inline-block;
  font-family: 'MyriadPro-Regular', sans-serif;
  font-size: 0.68rem; letter-spacing: 0.3em;
  text-transform: uppercase; color: var(--alt-terra);
  margin-bottom: 14px; position: relative; padding-left: 26px;
}
.alt-label::before {
  content: ''; position: absolute; left: 0; top: 50%;
  transform: translateY(-50%); width: 16px; height: 1px;
  background: var(--alt-terra);
}
.alt-label-light { color: var(--alt-arena) !important; }
.alt-label-light::before { background: var(--alt-arena) !important; }

.alt-section-title {
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: clamp(26px, 3.2vw, 44px); font-weight: 600;
  color: var(--alt-verde); line-height: 1.2; margin-bottom: 0;
}
.alt-subsection-title {
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: clamp(20px, 2.6vw, 32px);
  color: var(--alt-bosque); line-height: 1.25; margin-bottom: 18px;
}
.alt-body-text {
  font-size: 1rem; line-height: 1.8;
  color: var(--alt-carbon); margin-bottom: 14px;
}

/* CONCEPTO */
.alt-concepto { background: var(--alt-blanco); }
.alt-concepto-intro { margin-bottom: 80px; }

/* PILARES */
.alt-pilares { background: var(--alt-bosque); padding: 70px 0; margin-bottom: 80px; }
.alt-pilar {
  padding: 28px 22px; height: 100%;
  border-left: 1px solid rgba(211,176,125,0.2);
  transition: border-color var(--alt-transition);
}
.alt-pilar:hover { border-left-color: var(--alt-arena); }
.alt-pilar-icon { color: var(--alt-arena); margin-bottom: 18px; }
.alt-pilar-title {
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: 0.95rem; font-weight: 600;
  color: var(--alt-beige); letter-spacing: 0.06em;
  text-transform: uppercase; margin-bottom: 8px;
}
.alt-pilar-text { font-size: 0.88rem; color: var(--alt-verde-g); line-height: 1.7; margin: 0; }

/* AVANCE */
.alt-avance-wrap { margin-bottom: 0; }
.alt-avance-img { position: relative; overflow: hidden; min-height: 420px; }
.alt-img-full { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.6s ease; }
.alt-avance-img:hover .alt-img-full { transform: scale(1.03); }
.alt-img-badge {
  position: absolute; bottom: 18px; left: 18px;
  background: var(--alt-terra); color: #fff;
  font-family: 'MyriadPro-Regular', sans-serif;
  font-size: 0.68rem; letter-spacing: 0.2em;
  text-transform: uppercase; padding: 5px 12px;
}
.alt-avance-texto {
  padding: 50px 40px; background: var(--alt-beige);
  display: flex; flex-direction: column; justify-content: center;
}

/* DATOS */
.alt-datos-strip { background: var(--alt-verde); padding: 60px 0; }
.alt-dato { text-align: center; padding: 18px; border-right: 1px solid rgba(211,176,125,0.18); }
.alt-dato:last-child { border-right: none; }
.alt-dato-num {
  display: block;
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: clamp(28px, 3.5vw, 48px); font-weight: 600;
  color: var(--alt-arena); line-height: 1; margin-bottom: 6px;
}
.alt-dato-label {
  display: block; font-size: 0.75rem; letter-spacing: 0.15em;
  text-transform: uppercase; color: rgba(235,222,208,0.65);
}

/* CTA */
.alt-cta-preventa { position: relative; padding: 120px 0; background-size: cover !important; background-position: center !important; }
.alt-cta-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(46,54,37,0.85), rgba(34,66,18,0.9)); }
.alt-cta-content { position: relative; z-index: 2; }
.alt-cta-title {
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: clamp(30px, 3.8vw, 54px); font-weight: 600;
  color: #fff; margin-bottom: 18px; line-height: 1.15;
}
.alt-cta-text { font-size: 1rem; color: var(--alt-beige); max-width: 500px; margin: 0 auto 32px; line-height: 1.8; }

/* FOOTER */
.alt-footer { background: var(--alt-carbon); color: var(--alt-beige); padding-top: 70px; }
.alt-footer-inner { padding-bottom: 50px; }
.alt-footer-logo { width: 80px; filter: brightness(0) invert(1); opacity: 0.8; margin-bottom: 18px; display: block; }
.alt-footer-brand p { font-size: 0.88rem; color: var(--alt-verde-g); line-height: 1.7; }
.alt-footer-nav h5, .alt-footer-contact h5 {
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: 0.68rem; letter-spacing: 0.25em;
  text-transform: uppercase; color: var(--alt-arena); margin-bottom: 18px;
}
.alt-footer-nav a {
  display: block; color: var(--alt-verde-g); font-size: 0.9rem;
  margin-bottom: 10px; transition: color var(--alt-transition); text-decoration: none;
}
.alt-footer-nav a:hover { color: var(--alt-beige); text-decoration: none; }
.alt-footer-contact p { font-size: 0.9rem; color: var(--alt-verde-g); margin-bottom: 10px; }
.alt-footer-contact i { color: var(--alt-arena); width: 16px; }
.alt-footer-social { margin-top: 18px; display: flex; gap: 14px; }
.alt-footer-social a { color: var(--alt-verde-g); font-size: 1rem; transition: color var(--alt-transition); }
.alt-footer-social a:hover { color: var(--alt-arena); }
.alt-footer-bottom { border-top: 1px solid rgba(211,176,125,0.1); padding: 18px 0; }
.alt-footer-bottom p { font-size: 0.7rem; letter-spacing: 0.1em; color: rgba(118,128,100,0.55); margin: 0; text-align: center; }

/* SCROLL BUTTON */
#button_scroll { background: var(--alt-terra) !important; }

/* ANIMACIONES */
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* --- Footer firmas arquitectónicas --- */
.alt-footer-firmas {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(211,176,125,0.15);
}
.alt-footer-firmas p {
  font-family: 'MyriadPro-Cond', sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #768064;
  margin: 0 0 6px;
}
.alt-footer-firmas-logos {
  display: flex;
  align-items: center;
  gap: 10px;
}
.alt-footer-firmas-logos span {
  font-family: 'MyriadPro-Semibold', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #d3b07d;
}
.alt-footer-firmas-sep {
  color: #683817 !important;
  opacity: 0.6;
}
.alt-hero-sub em {
  font-style: italic;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.35em;
  color: var(--alt-beige);
  letter-spacing: 0.02em;
}
.alt-hero-sub strong {
  font-style: normal;
  font-family: 'MyriadPro-Cond', sans-serif;
  font-weight: 600;
  font-size: 0.95em;
  letter-spacing: 0.25em;
  color: var(--alt-arena);
}
.alt-hero-logo {
  display: block;
  width: clamp(160px, 20vw, 280px);
  margin: 0 0 22px;
  filter: brightness(0) invert(1);
}
/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 991px) {
  .alt-section { padding: 60px 0; }
  .alt-pilares { padding: 50px 0; }
  .alt-pilar { border-left: none; border-bottom: 1px solid rgba(211,176,125,0.15); }
  .alt-avance-texto { padding: 36px 22px; }
  .alt-dato { border-right: none; border-bottom: 1px solid rgba(211,176,125,0.15); }
  .alt-concepto-intro { margin-bottom: 50px; }
  .alt-social-nav { display: none; } /* En mobile el nav colapsa, ocultar */
}
@media (max-width: 575px) {
  .alt-hero-title { font-size: 64px !important; }
  .slider_f .text_s.alt-hero-text { left: 0 !important; }
}
