/*
Theme Name: AL NIVEL
Theme URI: https://alnivel.com.co
Author: AL NIVEL
Author URI: https://alnivel.com.co
Description: Tema a la medida para AL NIVEL - Arquitectura, Ingeniería y Expansión. Incluye Inicio, Nosotros, Servicios, Propiedades (con tipo de contenido propio) y Contacto, con colores y textos editables desde el escritorio de WordPress sin necesidad de código. Compatible con Elementor.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: al-nivel-theme
*/

/* ==========================================================================
   VARIABLES DE MARCA
   (los colores se sobre-escriben en tiempo real desde functions.php si el
   usuario los cambia en Apariencia > Personalizar > Colores de marca)
   ========================================================================== */
:root{
  --anivel-azul:#0A2F4D;
  --anivel-amarillo:#F9F4B2;
  --anivel-blanco:#FFFFFF;
  --anivel-gris:#737373;
  --anivel-fondo-oscuro:#0B1A28;
  --anivel-tarjeta-oscura:#131D28;
  --anivel-acento-teal:#2DD4BF;
  --anivel-fondo-claro:#F5F6F8;
}

*{box-sizing:border-box;}
body{margin:0; font-family:'Verdana', Arial, sans-serif; color:#222; background:#fff; line-height:1.6;}
img{max-width:100%; height:auto; display:block;}
a{text-decoration:none; color:inherit;}
ul{margin:0;}
h1,h2,h3,h4,h5,h6{font-family:'Poppins','Arial Black',sans-serif; font-weight:800; margin:0 0 12px; color:var(--anivel-azul);}
.container{max-width:1200px; margin:0 auto; padding:0 40px;}
.center{text-align:center;}
.eyebrow{color:var(--anivel-amarillo); letter-spacing:3px; font-weight:700; font-size:13px; margin-bottom:10px;}
.eyebrow-dark{color:var(--anivel-azul); letter-spacing:2px; font-weight:700; font-size:13px; margin-bottom:10px;}
.lead{color:var(--anivel-gris); max-width:700px; margin:0 auto 20px; font-size:16px;}
.btn{display:inline-block; padding:13px 28px; border-radius:6px; font-weight:bold; font-size:14px; cursor:pointer; border:none;}
.btn-primary{background:var(--anivel-amarillo); color:var(--anivel-azul);}
.btn-primary:hover{background:#eee694;}
.btn-secondary{background:var(--anivel-azul); color:#fff; border:1px solid #fff;}
.btn-secondary:hover{background:#0d3a5f;}
.btn-outline{background:transparent; color:#fff; border:1px solid #fff;}
.section{padding:90px 0;}
.section.small-top{padding-top:40px;}

/* ---------------------------- HEADER ---------------------------- */
.site-header{background:var(--anivel-azul); position:sticky; top:0; z-index:999;}
.site-header .inner{display:flex; align-items:center; justify-content:space-between; padding:16px 40px; max-width:1300px; margin:0 auto; flex-wrap:wrap; gap:14px;}
.site-header .custom-logo-link img{height:42px; width:auto;}
.main-navigation ul{display:flex; gap:26px; list-style:none; margin:0; padding:0;}
.main-navigation a{color:#fff; font-size:15px; padding:6px 0; border-bottom:2px solid transparent; display:inline-block;}
.main-navigation a:hover, .main-navigation li.current-menu-item > a{border-color:var(--anivel-amarillo); color:var(--anivel-amarillo);}
.menu-toggle{display:none; background:none; border:none; color:#fff; font-size:26px; cursor:pointer;}
@media(max-width:900px){
  .main-navigation{position:absolute; top:100%; left:0; right:0; background:var(--anivel-azul); padding:10px 30px 20px; display:none;}
  .main-navigation ul{flex-direction:column; gap:0;}
  .main-navigation li{border-bottom:1px solid rgba(255,255,255,.08);}
  .main-navigation.is-open{display:block;}
  .menu-toggle{display:block;}
  .site-header .cta-desktop{display:none;}
}

/* ---------------------------- HERO ---------------------------- */
.hero{background:radial-gradient(1200px 600px at 70% 20%, #123a5c 0%, var(--anivel-fondo-oscuro) 60%); color:#fff; text-align:center; padding:130px 20px 140px; position:relative; background-size:cover; background-position:center;}
.hero.has-photo::before{content:"";position:absolute;inset:0;background:rgba(7,18,30,.72);}
.hero .hero-inner{position:relative; z-index:2;}
.hero h1{color:#fff; font-size:64px; margin:0 0 20px;}
.hero .divider{width:70px; height:3px; background:var(--anivel-amarillo); margin:0 auto 22px;}
.hero .kicker{color:#D7DEE5; font-size:18px; letter-spacing:2px; margin-bottom:35px;}
.hero .actions{display:flex; gap:18px; justify-content:center; flex-wrap:wrap;}
@media(max-width:700px){ .hero h1{font-size:40px;} }

.page-hero{background:radial-gradient(1200px 600px at 70% 20%, #123a5c 0%, var(--anivel-fondo-oscuro) 60%); color:#fff; text-align:center; padding:90px 20px; position:relative; background-size:cover; background-position:center;}
.page-hero.has-photo::before{content:"";position:absolute;inset:0;background:rgba(7,18,30,.72);}
.page-hero .hero-inner{position:relative; z-index:2;}
.page-hero h1{color:#fff; font-size:42px; margin-bottom:8px;}
.page-hero .crumb{color:#D7DEE5; font-size:14px;}

/* ---------------------------- NOSOTROS (bloque reusable) ---------------------------- */
.nosotros-grid{display:flex; gap:50px; align-items:center;}
.nosotros-grid .txt p{color:var(--anivel-gris); margin:14px 0;}
.cards-mv{display:flex; gap:20px; margin-top:24px; flex-wrap:wrap;}
.card-mv{flex:1; min-width:220px; background:#F4F5F7; padding:24px; border-radius:8px;}
.card-mv h4{font-size:17px; margin-bottom:8px;}
.card-mv p{color:var(--anivel-gris); font-size:14px; margin:0;}
.nosotros-grid .img-wrap{flex:1; position:relative; min-width:280px;}
.img-fake{width:100%; height:340px; border-radius:6px; background:linear-gradient(160deg,#2b4a63,#0e2233); display:flex; align-items:center; justify-content:center; color:#7d97ab; font-size:13px; text-align:center; padding:20px;}
.badge-exp{position:absolute; left:-20px; bottom:-25px; background:var(--anivel-azul); color:#fff; padding:22px 26px; width:170px; border-radius:6px;}
.badge-exp .num{color:var(--anivel-amarillo); font-size:40px; font-weight:800; font-family:'Poppins';}
.badge-exp .lbl{font-size:12px; letter-spacing:1px; margin-top:4px;}
@media(max-width:800px){ .nosotros-grid{flex-direction:column;} .badge-exp{left:10px;} }

/* ---------------------------- VALORES ---------------------------- */
.valores{background:var(--anivel-fondo-oscuro); color:#fff;}
.valores .eyebrow{color:var(--anivel-acento-teal);}
.valores h2{color:#fff;}
.valores-grid{display:flex; gap:20px; flex-wrap:wrap; justify-content:center; margin-top:40px;}
.valor-card{background:var(--anivel-tarjeta-oscura); border-radius:8px; padding:32px 24px; width:220px;}
.valor-card .icon{width:46px; height:46px; border-radius:8px; background:#0F3440; display:flex; align-items:center; justify-content:center; color:var(--anivel-acento-teal); font-size:20px; margin-bottom:16px;}
.valor-card h4{color:#fff; font-size:16px; margin-bottom:8px;}
.valor-card p{color:#9AA6B2; font-size:13px; margin:0;}

/* ---------------------------- CTA amarillo ---------------------------- */
.cta-yellow{background:var(--anivel-amarillo); text-align:center; padding:70px 20px;}
.cta-yellow h2{color:var(--anivel-azul);}

/* ---------------------------- SERVICIOS (tabs) ---------------------------- */
.servicios-wrap{display:flex; background:#fff; box-shadow:0 4px 24px rgba(10,47,77,.08); border-radius:6px; overflow:hidden;}
.servicios-tabs{width:280px; background:#fff; border-right:1px solid #eee; flex-shrink:0;}
.servicios-tabs .tab{padding:22px 24px; border-bottom:1px solid #f2f2f2; cursor:pointer; color:var(--anivel-gris); font-weight:600; display:flex; justify-content:space-between; align-items:center;}
.servicios-tabs .tab.active{background:var(--anivel-azul); color:#fff; border-left:4px solid var(--anivel-amarillo);}
.servicios-panel{flex:1; padding:45px; display:none;}
.servicios-panel.active{display:block;}
.servicios-panel h3{margin-bottom:12px;}
.servicios-panel .desc{color:var(--anivel-gris); margin-bottom:24px;}
.servicios-cols{display:flex; gap:40px; flex-wrap:wrap;}
.servicios-cols .col{flex:1; min-width:220px;}
.servicios-cols .col p.tit{color:var(--anivel-azul); font-weight:700; font-size:13px; border-left:3px solid var(--anivel-amarillo); padding-left:10px; margin-bottom:12px;}
.servicios-cols ul{padding-left:18px; color:var(--anivel-gris); font-size:14px; line-height:1.8; margin:0;}
.solicitar{margin-top:28px; font-weight:700; color:var(--anivel-azul);}
.solicitar a{color:inherit;}
@media(max-width:800px){ .servicios-wrap{flex-direction:column;} .servicios-tabs{width:100%;} }

/* ---------------------------- CONTACTO ---------------------------- */
.contacto-wrap{display:flex; gap:30px; flex-wrap:wrap;}
.contacto-info{flex:1; min-width:280px; background:var(--anivel-fondo-oscuro); color:#fff; padding:45px; border-radius:10px;}
.contacto-info h3{color:#fff;}
.contacto-info p.desc{color:#9AA6B2; margin-bottom:24px; font-size:14px;}
.info-item{display:flex; gap:14px; margin-bottom:20px;}
.info-item .ic{width:40px; height:40px; background:#1B2A38; border-radius:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:18px;}
.info-item strong{display:block; color:#fff;}
.info-item span{color:#9AA6B2; font-size:14px;}
.contacto-form{flex:1.4; min-width:300px; background:#fff; padding:45px; border-radius:10px; box-shadow:0 4px 24px rgba(0,0,0,.06);}
.contacto-form h3{color:#111;}
.form-row{display:flex; gap:16px; margin-bottom:16px; flex-wrap:wrap;}
.form-group{flex:1; min-width:200px;}
.form-group label{display:block; font-size:13px; margin-bottom:6px; color:#444;}
.form-group input, .form-group textarea, .form-group select{width:100%; padding:11px; border:1px solid #ddd; border-radius:5px; font-family:inherit; font-size:14px;}
.form-submit{background:var(--anivel-azul); color:#fff; padding:14px; width:100%; border-radius:5px; font-weight:bold; border:none; cursor:pointer; margin-top:8px;}
.form-msg{padding:14px 18px; border-radius:6px; margin-bottom:20px; font-size:14px;}
.form-msg.ok{background:#e5f8ee; color:#146c43;}
.form-msg.error{background:#fdecea; color:#a12622;}

/* ---------------------------- PROPIEDADES ---------------------------- */
.propiedades-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
@media(max-width:900px){ .propiedades-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:600px){ .propiedades-grid{grid-template-columns:1fr;} }
.prop-card{background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 4px 18px rgba(10,47,77,0.10); transition:.2s;}
.prop-card:hover{transform:translateY(-4px); box-shadow:0 10px 28px rgba(10,47,77,.16);}
.prop-foto{height:190px; background-size:cover; background-position:center; position:relative; background-color:#0A2F4D;}
.prop-badge{position:absolute; top:12px; right:12px; background:#fff; color:var(--anivel-azul); font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px;}
.prop-body{padding:20px;}
.prop-body h4{font-size:17px; margin-bottom:4px;}
.prop-body .loc{color:var(--anivel-gris); font-size:13px; margin-bottom:10px;}
.prop-body .precio{color:var(--anivel-azul); font-weight:800; font-size:19px; margin-bottom:8px; font-family:'Poppins';}
.prop-feats{display:flex; gap:12px; color:var(--anivel-gris); font-size:12px; margin-bottom:10px; flex-wrap:wrap;}
.prop-body .desc{color:var(--anivel-gris); font-size:13px; margin-bottom:14px;}
.pagination-wrap{margin-top:40px; text-align:center;}
.pagination-wrap a, .pagination-wrap span{display:inline-block; padding:8px 14px; margin:0 4px; border-radius:5px; background:#F4F5F7; color:var(--anivel-azul);}
.pagination-wrap .current{background:var(--anivel-azul); color:#fff;}

/* ---------------------------- SINGLE PROPIEDAD ---------------------------- */
.single-hero{height:420px; background-size:cover; background-position:center; background-color:#0A2F4D;}
.single-top{padding-top:40px;}
.single-meta{display:flex; gap:22px; color:var(--anivel-gris); font-size:14px; flex-wrap:wrap;}
.single-wrap{display:flex; gap:40px; padding:40px 0 80px; flex-wrap:wrap;}
.single-content{flex:2; min-width:280px;}
.single-content h3{margin-top:24px;}
.single-content ul{padding-left:20px; color:var(--anivel-gris);}
.single-side{flex:1; min-width:260px;}
.price-box{background:var(--anivel-azul); color:#fff; padding:26px; border-radius:10px; margin-bottom:20px;}
.price-box .lbl{color:var(--anivel-amarillo); font-size:12px; letter-spacing:1px;}
.price-box .val{font-size:28px; font-weight:800; font-family:'Poppins'; margin:6px 0;}
.price-box .estado{color:var(--anivel-amarillo); font-size:13px;}
.whatsapp-btn{background:#0A2F4D; color:#fff; padding:15px; border-radius:6px; text-align:center; font-weight:bold; display:block; margin-bottom:24px;}
.side-card{background:var(--anivel-fondo-claro); padding:22px; border-radius:10px;}
.side-card h4{margin-bottom:8px;}
.side-card p{color:var(--anivel-gris); font-size:14px; margin-bottom:12px;}
.mini-gallery{display:flex; gap:12px; flex-wrap:wrap;}
.mini-gallery img{flex:1; min-width:100px; height:120px; object-fit:cover; border-radius:6px;}

/* ---------------------------- FOOTER ---------------------------- */
.site-footer{background:var(--anivel-fondo-oscuro); color:#9AA6B2; padding-top:60px;}
.footer-top{display:flex; gap:40px; flex-wrap:wrap; padding-bottom:40px;}
.footer-col{flex:1; min-width:180px;}
.footer-col img{height:34px; margin-bottom:16px;}
.footer-col h4{color:#fff; margin-bottom:20px; font-size:19px;}
.footer-col p{font-size:14px; line-height:1.7;}
.footer-col a{display:block; color:#9AA6B2; margin-bottom:14px; font-size:15px;}
.footer-col a:hover{color:var(--anivel-amarillo);}
.footer-bottom{border-top:1px solid #22303E; padding:20px 0; display:flex; justify-content:space-between; font-size:13px; flex-wrap:wrap; gap:10px;}
.footer-bottom a{color:#9AA6B2;}

/* ---------------------------- Contenido genérico (page.php) ---------------------------- */
.generic-content{max-width:800px; margin:0 auto; padding:80px 40px;}
.generic-content h1{margin-bottom:20px;}
.generic-content p{color:var(--anivel-gris); margin-bottom:16px;}
