/*
* ----------------------------------------------------------------------------------------
Author       : DuezaThemes
Author URL   : https://themeforest.net/user/duezathemes
Template Name: DIVE - Corporate Multi-Purpose Parallax Template
Version      : 2.0  (customizado)
* ----------------------------------------------------------------------------------------
*/

/*
* ----------------------------------------------------------------------------------------
* 01.GLOBAL CSS STYLE
* ----------------------------------------------------------------------------------------
*/

body {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 1px;
  height: 100%;
  font-family: 'Lato', sans-serif;
  background: #fff;
  color: #333;
}

html, body { height: 100% }

h1,h2,h3,h4,h5,h6 { font-family: "Roboto Condensed", sans-serif; }

a {
  text-decoration: none;
  transition: all 0.2s;
  font-family: "Roboto Condensed", sans-serif;
}

img { width: 100%; }

a:hover { color: #fff; text-decoration: none; }
a:focus { outline: none; text-decoration: none; }

p { line-height: 32px; }

ul,li { margin: 0; padding: 0; }

fieldset { border: 0 none; margin: 0 auto; padding: 0; }

.no-padding { padding: 0 }

.section-padding { padding-top: 70px; padding-bottom: 78px; }

.section-title { margin-bottom: 30px; }
.section-title h2{
  color:#ccab5c; font-size:20px; text-transform:uppercase; text-align:center;
  margin:0; font-weight:700; position:relative;
}
.section-title h2:before{
  position:absolute; content:""; left:50%; top:40px; height:2px; width:100px; background:#000; margin-left:-50px;
}
.section-title h2:after{
  position:absolute; content:""; left:50%; top:50px; height:2px; width:50px; background:#000; margin-left:-25px;
}
.section-title p { font-weight:300; }
.white-title{ color:#fff; }

a.read-more, a.white-read-more{
  margin-top:20px; display:inline-block; color:#fff; background:#ccab5c;
  padding:10px 25px; border:1px solid #ccab5c; border-radius:100px; text-transform:uppercase; font-size:12px;
}
a.read-more:hover{ color:#333; border:1px solid #ccab5c; background:transparent; }
a.white-read-more:hover{ background:transparent; color:#fff; }

.scrollup{
  border-radius:50%; height:60px; width:60px; font-size:30px; color:#333; text-align:center;
  position:fixed; bottom:30px; right:30px; line-height:55px; cursor:pointer; display:none; z-index:2;
}
.scrollup:hover{ box-shadow:0 3px 11px rgba(0,0,0,.18),0 4px 15px rgba(0,0,0,.15); transition:all .4s ease-out; }

/*
* ----------------------------------------------------------------------------------------
* 02.PRELOADER
* ----------------------------------------------------------------------------------------
*/
.preloader{
  background:#fff; bottom:0; left:0; position:fixed; right:0; top:0; z-index:99999;
}
.status-mes{
  width:80px; height:80px; position:absolute; top:50%; left:50%; margin:-40px 0 0 -40px;
  text-indent:-12345px; border:2px solid rgba(0,0,0,.08); border-left-color:#000; border-radius:50%;
  animation:spinner 700ms infinite linear; z-index:10000;
}
@keyframes spinner{ 0%{transform:rotate(0)} 100%{transform:rotate(360deg)} }

/*
* ----------------------------------------------------------------------------------------
* 03.HOMEPAGE / HEADER
* ----------------------------------------------------------------------------------------
*/
.welcome-area{ height:100%; }
.welcome-image-area{
  position:relative; height:100%; background:url(../images/bg/bg.jpg); background-size:cover; z-index:1;
}
.welcome-image-area:after{ /* eliminado con override abajo */ }
.display-table{ display:table; width:100%; height:100%; }
.display-table-cell{ display:table-cell; vertical-align:middle; }

.header-text{ margin-top:60px; }
.header-text h2{ color:#ccab5c; font-size:80px; letter-spacing:5px; margin:0; font-weight:300; }
.header-text p{ color:#fff; text-transform:uppercase; font-size:12px; letter-spacing:3px; margin-bottom:20px; }

.header-top-area{
  position:fixed; left:0; top:0; width:100%; z-index:9999; transition:all .4s ease-out;
}
.logo{ padding-top:18px; transition:all .3s ease-out; }
.logo a{ text-transform:uppercase; font-size:16px; font-weight:700; color:#ccab5c; letter-spacing:10px; }
	

.mainmenu .navbar-nav li a{
  color:#fff; text-transform:uppercase; font-size:12px; letter-spacing:1px; padding:30px 15px; transition:.3s;
}
.mainmenu .navbar-nav li a:hover{ background:none; color:#ccab5c; }
.nav li a:focus,.nav li a:hover{ background:none; color:#ccab5c; }
.navbar{ margin:0; }

.menu-bg{ background:#003a5d; transition:all .3s ease-out; }
.menu-bg .logo{ padding-top:14px; }
.menu-bg .mainmenu .navbar-nav li a{ color:#fff; padding:20px 15px; }

a.slide-btn{
  margin:0 5px; display:inline-block; color:#fff; background:#ccab5c; padding:10px 25px;
  border:1px solid rgba(204,171,92,.5); border-radius:100px; text-transform:uppercase; font-size:12px;
}
a.slide-btn:hover{ background:transparent; color:#fff; }

/* Slider (si se usa) */
.welcome-area,.welcome-slider-area,.welcome-slider-area div{ height:100%; }
.welcome-slider-area div.single-slide-item-tablecell,.welcome-slider-area div.single-slide-item-tablecell div{ height:auto; }
.single-slide-item-table{ display:table; width:100%; }
.single-slide-item-tablecell{ display:table-cell; vertical-align:middle; }
.single-slide-item{ position:relative; z-index:1; }
.single-slide-item:after{
  position:absolute; background:rgba(0,58,93,.3); left:0; top:0; width:100%; height:100%; content:""; z-index:-1;
}
.slide-1{ background:url(../images/bg/slide-1.jpg) 0 0; background-size:cover; }
.slide-2{ background:url(../images/bg/slide-2.jpg) 0 0; background-size:cover; }
.slide-3{ background:url(../images/bg/slide-3.jpg) 0 0; background-size:cover; }

/*
* ----------------------------------------------------------------------------------------
* VIDEO BACKGROUND
* ----------------------------------------------------------------------------------------
*/
.welcome-video-area{
  position:relative; height:100%; background-size:cover; z-index:1; background-position:center center;
}
.welcome-video-area:after{ position:absolute; background:rgba(0,0,0,.5); left:0; top:0; width:100%; height:100%; content:""; z-index:-1; }

/*
* ----------------------------------------------------------------------------------------
* 04.ABOUT
* ----------------------------------------------------------------------------------------
*/
.about-us-area{ }
.about-image,.about-video{ margin-top:30px; padding:10px; }
.about-text{ margin-top:30px; }
.about-text h2{
  margin-bottom:18px; font-size:18px; text-transform:uppercase; letter-spacing:3px; font-weight:900;
}
.about-text p{ margin-bottom:10px; }

.single-project-complete{
  margin-top:50px; border:1px solid rgba(51,51,51,.5); border-radius:10px; padding:25px; text-align:center;
  transition:.3s;
}
.single-project-complete:hover{ border:1px solid #ccab5c; }

/* ===== FUN FACTS (iconos y tipografías mejoradas) ===== */
.single-project-complete .fact-icon{
  width:60px; height:auto; display:block; margin:0 auto 10px;
}
.single-project-complete span.lnr{ font-size:36px; } /* por si usas LNR como fallback */
.single-project-complete h2.counter-num{
  font-size:28px; line-height:1.1; margin:12px 0 6px; font-weight:700; letter-spacing:.5px;
}
.single-project-complete h6{
  font-size:16px; line-height:1.3; letter-spacing:1px; margin:0; text-transform:none; color:#555;
}

/*
* ----------------------------------------------------------------------------------------
* 05.SERVICE
* ----------------------------------------------------------------------------------------
*/
.single-service{
  border:1px solid #ccc; border-radius:10px; margin-top:30px; padding:30px; transition:all .4s ease-out; color:#333; text-align:center;
}
.single-service:hover{ border:1px solid #ccab5c; }
.single-service h4{ font-size:12px; margin-top:30px; text-transform:uppercase; letter-spacing:3px; }
.single-service span{ color:#333; font-size:50px; }

/*
* ----------------------------------------------------------------------------------------
* 06.TEAM
* ----------------------------------------------------------------------------------------
*/
.single-team{ margin-top:30px; }
.single-team img{ border-radius:10px; width:100%; }
.single-team h4{ color:#ccab5c; margin:0; font-size:14px; text-transform:uppercase; }
.team-description{ margin-top:15px; }
.team-social ul{ list-style:none; }
.team-social ul li{ display:inline-block; margin:0 5px; }
.team-social ul li a{ display:block; color:#333; font-size:16px; }
.team-social ul li a:hover{ color:#ccab5c; }

/*
* ----------------------------------------------------------------------------------------
* 07.CALL TO ACTION
* ----------------------------------------------------------------------------------------
*/
.call-to-action-area{
  padding:100px 0; background:url(../images/bg/testi-bg.jpg); background-size:cover; position:relative; z-index:1;
}
.call-to-action-area:after{ position:absolute; background:rgba(0,0,0,.7); left:0; top:0; width:100%; height:100%; content:""; z-index:-1; }
.call-to-action-area h2, .call-to-action-area p{ color:#fff; }

/*
* ----------------------------------------------------------------------------------------
* 07.WHY CHOOSE US
* ----------------------------------------------------------------------------------------
*/
.single-about{ margin-top:30px; }
.single-about h4{ text-transform:uppercase; font-size:12px; letter-spacing:3px; }
.why-image{ margin-top:30px; }
.why-image img{ border-radius:10px; }

.about-icon{ float:left; margin:10px 20px 50px 0; }
.about-icon span{ font-size:30px; }
.single-about p{ margin-bottom:0; }

/*
* ----------------------------------------------------------------------------------------
* 08.KEY SKILL
* ----------------------------------------------------------------------------------------
*/
.skill-text p{ text-align:justify; }
.our-skill,.skill-text{ margin-top:30px; }
.progress-bar-text span{ float:right; }
.progress-bar-text{ text-transform:uppercase; font-size:12px; letter-spacing:3px; }
.progress-bar{
  background:#ccc; box-shadow:0 0 0; height:8px; margin:0 0 20px; position:relative; width:100%;
}
.progress-bar>span{ background:#ccab5c; display:block; height:100%; width:0; }

/*
* ----------------------------------------------------------------------------------------
* 09.WORK / AMENIDADES
* ----------------------------------------------------------------------------------------
*/
.work{ }
.work-inner .mix{ display:none; }

ul.work{
  list-style:none; margin-top:30px; margin-left:8px; text-align:center;
}
ul.work li{
  display:inline-block; padding:8px 12px; margin:0 8px; text-transform:uppercase;
  font-size:12px; font-weight:400; color:#333; border:none; cursor:pointer; letter-spacing:3px;
}
ul.work li:hover{ color:#ccab5c; }
ul.work li.active{ color:#ccab5c; }

.work .item{ margin-top:30px; position:relative; }
.work .item img{ border-radius:10px; width:100%; }
.item{ transition:.3s; }
.item:hover{ opacity:.5; transition:.3s; }

/* ===== Overlay azul y título centrado en Amenidades ===== */
.amenidad-figure{ position:relative; overflow:hidden; margin:0; }
.amenidad-figure img{ display:block; width:100%; height:auto; transition:transform .4s ease; }

/* tinte azul 003a5d */
.amenidad-figure::before{
  content:""; position:absolute; inset:0; background:rgba(0,58,93,.45); opacity:0; transition:opacity .3s ease;
}
.amenidad-caption{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:12px; text-align:center;
  color:#fff; font-weight:700; letter-spacing:.4px; font-size:18px; opacity:0; transform:translateY(6px);
  transition:opacity .3s ease, transform .3s ease; pointer-events:none;
}
.amenidad-caption span{
  display:inline-block; background:rgba(0,58,93,.9); padding:.45em .75em; border-radius:6px; line-height:1.1;
}
.amenidad-figure:hover::before{ opacity:1; }
.amenidad-figure:hover .amenidad-caption{ opacity:1; transform:translateY(0); }
.amenidad-figure:hover img{ transform:scale(1.02); }

/*
* ----------------------------------------------------------------------------------------
* 11.TESTIMONIAL
* ----------------------------------------------------------------------------------------
*/
.testimonial-area{
  background:url(../images/bg/testi-bg.jpg); background-size:cover; position:relative; z-index:1;
}
.testimonial-area .section-title h2::before,
.testimonial-area .section-title h2::after{ background:#fff; }
.testimonial-area:after{
  position:absolute; background:rgba(0,0,0,.7); left:0; top:0; width:100%; height:100%; content:""; z-index:-1;
}
.testimonial-list{ padding:30px; margin-top:30px; }
.single-testimonial img{ width:120px; }
.single-testimonial{ padding:0 100px; color:#fff; }
.single-testimonial h6{ color:#ccab5c; margin-top:20px; font-size:12px; text-transform:uppercase; letter-spacing:3px; }
.owl-theme .owl-controls{ margin-top:30px; }
.owl-theme .owl-controls .owl-page span{
  display:block; width:10px; height:10px; margin:5px 7px; opacity:.5; border-radius:50%; border:1px solid #ccc; background:none;
}

/*
* ----------------------------------------------------------------------------------------
* 12.PRICING
* ----------------------------------------------------------------------------------------
*/
.pricing-box{
  color:#333; padding:30px 0; text-align:center; margin-top:30px;
  border:1px solid rgba(204,204,204,.5); border-radius:10px; transition:.3s;
}
.pricing-box:hover{ border:1px solid #ccab5c; }
.pricing-box:hover .plan-features li{ color:#333; }
.pricing-box:hover .pricing-header .plan-price{ color:#ccab5c; }
.pricing-box:hover .pricing-header .plan-title{ color:#ccab5c; }
.pricing-box:hover .plan-month{ color:#ccab5c; }
.pricing-header .plan-title h4{ font-size:12px; margin-bottom:40px; text-transform:uppercase; letter-spacing:3px; }
.pricing-header .plan-price{
  font-size:40px; font-family:"Roboto Condensed", sans-serif; margin-bottom:10px; color:#ccab5c; font-weight:900;
}
.plan-features{ margin-top:40px; }
.plan-features li{ margin:8px 0; padding-bottom:15px; }

/*
* ----------------------------------------------------------------------------------------
* 13.NEWSLETTER
* ----------------------------------------------------------------------------------------
*/
.our-news-letter{
  padding:100px 0; background:url(../images/bg/testi-bg.jpg); background-size:cover; position:relative; z-index:1;
}
.our-news-letter:after{ position:absolute; background:rgba(0,0,0,.7); left:0; top:0; width:100%; height:100%; content:""; z-index:-1; }
.our-news-letter h2{
  font-size:18px; margin-bottom:30px; text-transform:uppercase; letter-spacing:3px; color:#fff;
}
.our-news-letter input[type='text']{
  display:block; width:35%; text-align:center; margin:0 auto; border-radius:5px; border:none; height:50px;
  background:none; border-bottom:1px solid #ccc; color:#fff;
}
.our-news-letter input[type='submit']{
  margin-top:20px; display:inline-block; color:#fff; background:#ccab5c; padding:10px 25px;
  border:1px solid rgba(204,171,92,.5); border-radius:100px; text-transform:uppercase; font-size:12px; width:100px;
}
.our-news-letter input[type='submit']:hover{ background:transparent; color:#fff; }

/*
* ----------------------------------------------------------------------------------------
* 14.BLOG
* ----------------------------------------------------------------------------------------
*/
.single-blog{ margin-top:30px; border-radius:3px; transition:all .4s ease-out; }
.single-blog img{ border-radius:10px; }
.blog-description{ padding-top:20px; }
.single-blog h4{
  color:#ccab5c; text-transform:uppercase; font-size:12px; letter-spacing:3px; transition:all .4s ease-out;
}
.single-blog h4:hover{ color:#ccab5c; }

/*
* ----------------------------------------------------------------------------------------
* 15.CONTACT
* ----------------------------------------------------------------------------------------
*/
.single-contact-details{
  margin-top:30px; margin-bottom:40px; border:1px solid rgba(204,204,204,.5); border-radius:10px; padding:40px;
}
.single-contact-details:hover{ border:1px solid rgba(204,171,92,.5); }
.single-contact-details h4{
  color:#333; margin-top:20px; text-transform:uppercase; letter-spacing:3px; font-size:12px;
}
.single-contact-details span{ font-size:30px; }

.contact-form p{ text-transform:uppercase; font-size:12px; letter-spacing:3px; margin:0; }
.form-control{
  display:block; border:0; width:100%; height:45px; padding:5px 0; font-size:16px; color:#333; background:#fff;
  border-radius:0; box-shadow:none; text-indent:10px; border:1px solid rgba(51,51,51,.5); border-radius:10px;
}
.form-control:focus{ border-color:#ccab5c; outline:0; box-shadow:none; }
.contact-form-design-area{ margin-top:30px; }
.contact-form button{
  margin-top:20px; display:inline-block; color:#fff; background:#ccab5c; padding:10px 25px;
  border:1px solid rgba(204,171,92,.5); border-radius:100px; text-transform:uppercase; font-size:12px;
}
.contact-form button:hover{ color:#333; background:transparent; }

/*
* ----------------------------------------------------------------------------------------
* 16.FOOTER
* ----------------------------------------------------------------------------------------
*/
.footer-area{ padding:50px 0; }
.footer-text h6{
  text-transform:uppercase; letter-spacing:3px; position:relative;
}
.footer-text h6:before{
  position:absolute; content:""; left:50%; top:30px; height:2px; width:100px; background:#333; margin-left:-50px;
}
.footer-text h6:after{
  position:absolute; content:""; left:50%; top:40px; height:2px; width:50px; background:#333; margin-left:-25px;
}
.footer-social-link{ margin-bottom:10px; }
.footer-social-link ul{ list-style:none; }
.footer-social-link ul li{ display:inline-block; margin:0 10px; }
.footer-social-link ul li a{ display:block; color:#333; }
.footer-social-link ul li a:hover{ color:#ccab5c; }

/*
* ----------------------------------------------------------------------------------------
* 19.SINGLE BLOG PAGE
* ----------------------------------------------------------------------------------------
*/
.single-blog-area{ background:#000; padding-top:100px; padding-bottom:50px; }
.single-blog-heading h2{ color:#fff; text-transform:uppercase; }
.single-blog-heading-text h4 a{ color:#f8f8f8; }
.comment-section{ margin-top:30px; }
.single-blog-details,.comment-section,.single-sidebar{ border-radius:3px; padding-top:30px; }
.search input{
  border:1px solid #e3e8f0; box-shadow:none; color:#333; height:50px; border-radius:10px; text-transform:uppercase; letter-spacing:2px; padding-left:10px;
}
.single-sidebar,.recent-single{ margin-bottom:30px; }
.recent-single img,.single-comment img,.single-blog-details img{ border-radius:10px; }
.recent-single a h4:hover,.single-blog-details h3 a:hover{ color:#ccab5c; }
.single-blog-details h3:hover{ color:#ccab5c; }
.single-blog-details p,.single-comment p{ text-align:justify; }
.single-blog-details p{ margin-top:10px; }
.single-blog-details h4{ margin:20px 0; }
.single-comment{ margin-bottom:20px; }
.single-comment h6{ color:#ccab5c; }
.single-comment img{ width:120px; }
.recent-single h4{ color:#333333; }
.categories ul{ list-style:none; }
.categories ul li{ margin-bottom:10px; color:#333; }
.categories ul li a{ color:#333; }
.categories ul li a:hover{ color:#ccab5c; }

/* =============================================================================
   OVERRIDES / PERSONALIZACIONES (LIMPIO)
   ========================================================================== */

/* 1) Héroe: quitar overlay global del tema y poner pleca azul detrás del texto */
.welcome-image-area:after{ background: transparent !important; content: none !important; }
.welcome-image-area .display-table-cell{ position:relative; }
.welcome-image-area .display-table-cell::before{
  content:""; position:absolute; left:0; right:0; top:30%; height:45%;
  background:rgba(0,58,93,.7); z-index:1; pointer-events:none;
}
.welcome-image-area .header-text{ position:relative; z-index:2; }
.welcome-image-area .header-text h2,
.welcome-image-area .header-text p{ color:#fff !important; }
@media (max-width:991px){ .header-text h2{ font-size:48px; } }
@media (max-width:767px){ .header-text h2{ font-size:36px; letter-spacing:2px; } }

/* 2) Amenidades: overlay/título centrado */
.amenidad-figure{ position:relative; overflow:hidden; margin:0; }
.amenidad-figure img{ display:block; width:100%; height:auto; transition:transform .4s ease; }
.amenidad-figure::before{
  content:""; position:absolute; inset:0; background:rgba(0,58,93,.45); opacity:0; transition:opacity .3s ease;
}
.amenidad-caption{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:12px; text-align:center;
  color:#fff; font-weight:700; letter-spacing:.4px; font-size:18px; opacity:0; transform:translateY(6px);
  transition:opacity .3s ease, transform .3s ease; pointer-events:none;
}
.amenidad-caption span{ display:inline-block; background:rgba(0,58,93,.9); padding:.45em .75em; border-radius:6px; }
.amenidad-figure:hover::before{ opacity:1; }
.amenidad-figure:hover .amenidad-caption{ opacity:1; transform:translateY(0); }
.amenidad-figure:hover img{ transform:scale(1.02); }

/* ============================================================================
   DEPARTAMENTOS (tarjetas) – versión consolidada
   ========================================================================== */

.departamentos .section-title h2{ color:#b99a4b; letter-spacing:.08em; }
.depto-grid{ margin-top:10px; }

/* Tarjeta base */
.departamentos .depto-card{
  position:relative; border-radius:22px; overflow:hidden; background:#0b0f13;
  box-shadow:0 25px 60px rgba(0,0,0,.18);
}

/* Imagen 100% sin bandas negras */
.departamentos .depto-card > img,
.departamentos .depto-image img{
  display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:16/10;
}

/* Título inicial (solo título visible) */
.departamentos .depto-title{
  position:absolute; left:24px; bottom:16px;
  margin:0; padding:0; color:#fff; font-weight:800; letter-spacing:.5px; font-size:28px;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
  transform:translateY(0); transition:transform .35s ease;
  z-index:2;
}

/* Overlay con specs + botón (oculto por defecto, aparece en hover) */
.departamentos .depto-overlay{
  position:absolute; left:0; right:0; bottom:-52%;
  background:linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,0));
  padding:26px 24px 24px; color:#fff; transition:bottom .35s ease; z-index:1;
}
.departamentos .depto-card:hover .depto-overlay{ bottom:0; }
.departamentos .depto-card:hover .depto-title{ transform:translateY(-120px); }

/* Specs en el overlay (desktop) */
.departamentos .depto-bullets{ list-style:none; padding:0; margin:0 0 14px; display:flex; gap:22px; align-items:center; color:#fff; }
.departamentos .depto-bullets li{ display:flex; align-items:center; gap:8px; font-size:16px; font-weight:600; }

/* Iconos chicos (PNG) */
.icon-bed::before, .icon-shower::before, .icon-bath::before, .icon-area::before{
  content:""; display:inline-block; width:20px; height:20px; background-size:contain; background-repeat:no-repeat;
  vertical-align:middle;
}
.icon-bed::before{   background-image:url('../images/icons/bed.png'); }
.icon-shower::before,
.icon-bath::before{  background-image:url('../images/icons/bath.png'); }
.icon-area::before{  background-image:url('../images/icons/area.png'); }

/* Botón */
.btn-depto{
  pointer-events:auto; border:0; border-radius:14px; padding:14px 22px;
  font-size:16px; font-weight:700; background:#113752; color:#fff;
  box-shadow:0 8px 30px rgba(12,52,80,.35);
}
.btn-depto:hover{ filter:brightness(1.05); }

/* ---------------- Móvil (<=991px) ----------------
   - Sin overlay ni hover
   - Título sobre la foto abajo-izq.
   - Info se muestra DEBAJO (sin fondo negro) */
@media (max-width:991px){
  .departamentos .depto-image img,
  .departamentos .depto-card > img{ aspect-ratio:auto; height:auto; }
  .departamentos .depto-overlay{ display:none !important; }
  .departamentos .depto-title{ left:18px; bottom:14px; font-size:26px; transform:none; }
  .departamentos .depto-mobile-info{
    display:block; padding:16px 18px 20px; background:#0b0f13; color:#fff;
  }
  .departamentos .depto-mobile-specs{ display:flex; gap:18px; align-items:center; margin:0 0 14px; }
  .departamentos .depto-mobile-specs .depto-spec{ display:inline-flex; align-items:center; gap:8px; font-weight:600; }
}

/* ============================================================================
   MODAL DE DEPARTAMENTOS (pantalla completa)
   ========================================================================== */

.depto-modal{ position:fixed; inset:0; background:rgba(0,0,0,.8); display:none; z-index:9999; }
.depto-modal.open{ display:block; }

/* Layout del modal */
.depto-dialog{
  width:100%; height:100%;
  display:grid; grid-template-columns:1fr 420px; gap:24px;
  padding:40px 56px; box-sizing:border-box;
}

/* Imagen grande a la izquierda */
.depto-figure{ display:flex; align-items:center; justify-content:center; min-height:0; }
.depto-figure img{
  max-width:100%; max-height:calc(100vh - 120px);
  object-fit:contain; border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.45); background:#1a1a1a;
}

/* Panel de texto a la derecha */
.depto-panel{ color:#fff; align-self:center; }
.depto-panel h3{ margin:0 0 14px; font-size:28px; font-weight:700; }

/* Tabla angosta, texto más pequeño y sin bold */
.depto-table{
  width:100%; max-width:340px; border-collapse:collapse;
  font-size:15px; font-weight:400; color:#fff;
}
.depto-table tr + tr td{ border-top:1px solid rgba(255,255,255,.25); }
.depto-table td{ padding:10px 0; }
.depto-table td:first-child{ opacity:.85; text-transform:uppercase; letter-spacing:.03em; }
.depto-table td:last-child{ text-align:right; }

/* Controles */
.depto-close{
  position:absolute; top:14px; right:18px; width:42px; height:42px; border-radius:50%; border:0;
  background:rgba(255,255,255,.15); color:#fff; font-size:28px; line-height:42px;
}
.depto-close:hover{ background:rgba(255,255,255,.25); }

.depto-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; border:0; color:#fff;
  background:rgba(255,255,255,.15); font-size:28px;
}
.depto-nav:hover{ background:rgba(255,255,255,.25); }
.depto-nav.prev{ left:16px; }
.depto-nav.next{ right:16px; }

/* Responsive modal */
@media (max-width:991px){
  .depto-dialog{ grid-template-columns:1fr; padding:22px 16px 28px; }
  .depto-panel{ align-self:start; }
  .depto-figure img{ max-height:60vh; }
  .depto-table{ max-width:100%; }
}
/* Íconos de departamentos usando Font Awesome */
.departamentos .depto-bullets { list-style:none; padding:0; margin:0 0 14px; display:flex; gap:22px; align-items:center; }
.departamentos .depto-bullets li { display:inline-flex; align-items:center; gap:8px; font-weight:600; }

/* tamaño fijo y alineación */
.departamentos .depto-bullets .fa {
  font-size:18px;        /* tamaño del icono */
  width:20px;            /* reserva ancho para alinear los números */
  text-align:center;
  line-height:1;
  color:#fff;            /* desktop: blanco sobre foto */
}

/* móvil: que se vea oscuro sobre fondo claro si lo prefieres */
@media (max-width: 991px){
  .departamentos .depto-bullets .fa{ color:#0b1f2e; }
}

/* seguridad: nunca poner fondos raros en los íconos/listas */
.departamentos .depto-bullets, 
.departamentos .depto-bullets *, 
.departamentos .depto-bullets .fa { background: transparent !important; }


/* ================== DEPARTAMENTOS (reset/override) ================== */
.departamentos .depto-card{
  position:relative; border-radius:26px; overflow:hidden;
  background:#000; box-shadow:0 18px 50px rgba(0,0,0,.16);
}
.departamentos .depto-image img{
  display:block; width:100%; height:360px; object-fit:cover;
}

/* Título: visible siempre sobre la foto (sin barra negra) */
.departamentos .depto-title{
  position:absolute; left:24px; bottom:22px; z-index:2;
  margin:0; color:#fff; font:700 32px/1 "Roboto Condensed", sans-serif;
  text-shadow:0 6px 22px rgba(0,0,0,.55);
  transform:none; transition:transform .35s ease;
}

/* Overlay: oculto por defecto; aparece al hover en desktop */
.departamentos .depto-overlay{
  position:absolute; left:0; right:0; bottom:-56%;
  padding:18px 22px 22px; z-index:1;
  color:#fff; opacity:0;
  background:linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,0));
  transition:bottom .35s ease, opacity .35s ease;
}
.departamentos .depto-card:hover .depto-overlay{ bottom:0; opacity:1; }
.departamentos .depto-card:hover .depto-title{ transform:translateY(-120px); }

/* Specs e iconos */
.depto-specs{ display:flex; gap:18px; align-items:center; margin:0 0 14px; }
.depto-spec{ display:inline-flex; align-items:center; gap:8px; font-weight:600; }
.depto-icon{ width:20px; height:20px; object-fit:contain; display:inline-block; }

/* Botón */
.btn-depto{
  pointer-events:auto; border:0; border-radius:14px;
  padding:14px 22px; font-size:16px; font-weight:700;
  background:#113752; color:#fff; box-shadow:0 10px 30px rgba(17,55,82,.35);
}
.btn-depto:hover{ filter:brightness(1.06); }

/* --------- MÓVIL (imagen a pantalla completa, sin franja) --------- */
@media (max-width: 991px){
  .departamentos .depto-image img{ height:auto; aspect-ratio:16/11; }
  .departamentos .depto-overlay{ display:none !important; }   /* sin barra negra */
  .depto-mobile-info{
    display:block; padding:14px 18px; background:#fff; color:#0b1f2e;
  }
  .departamentos .depto-title{
    left:16px; bottom:14px; font-size:26px;
    text-shadow:0 10px 26px rgba(0,0,0,.65);
  }
}

/* Por si algún estilo previo estaba forzando cosas raras */
#departamentos-grid .depto-overlay,
#departamentos-grid .depto-title,
#departamentos-grid .depto-image img,
#departamentos-grid .depto-mobile-info{ will-change: transform; }


/* ===========================
   DEPARTAMENTOS (FIX COMPLETO)
   =========================== */

/* Card base */
.depto-card{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  background:#000;
  box-shadow:0 22px 60px rgba(0,0,0,.18);
}

/* Imagen: llena la tarjeta sin bandas negras */
.depto-image img{
  display:block;
  width:100%;
  height:360px;              /* alto consistente en desktop */
  object-fit:cover;
}

/* Título inicial (visible siempre sobre la foto) */
.depto-title{
  position:absolute;
  left:24px;
  bottom:22px;
  margin:0;
  color:#fff;
  font-weight:800;
  font-size:32px;
  letter-spacing:.3px;
  text-shadow:0 3px 14px rgba(0,0,0,.55);
  transform:translateY(0);
  transition:transform .35s ease;
  z-index:2;                 /* por encima del overlay */
}

/* Overlay (especificaciones + botón): OCULTO por defecto */
.depto-overlay{
  position:absolute;
  left:0; right:0;
  bottom:-58%;               /* << oculta la franja bajo la tarjeta */
  padding:20px 24px 24px;
  color:#fff;
  background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,0));
  transition:bottom .35s ease;
  z-index:1;
}

/* Bullets e iconos pequeños */
.depto-specs{ display:flex; gap:22px; align-items:center; margin-bottom:14px; }
.depto-spec{ display:inline-flex; align-items:center; gap:8px; font-weight:600; }
.depto-icon{
  width:18px; height:18px; object-fit:contain; display:inline-block;
  filter:brightness(0) invert(1);  /* asegura iconos blancos */
}

/* Botón */
.btn-depto{
  border:0; border-radius:16px; padding:14px 22px;
  background:#113752; color:#fff; font-weight:700; letter-spacing:.02em;
  box-shadow:0 10px 30px rgba(17,55,82,.35);
  pointer-events:auto;
}
.btn-depto.gold{ background:#c9a34d; color:#0b1f2e; box-shadow:0 10px 30px rgba(201,163,77,.35); }

/* HOVER (sólo desktop): aparece overlay y sube el título */
@media (min-width: 992px){
  .depto-card:hover .depto-overlay{ bottom:0; }
  .depto-card:hover .depto-title{ transform:translateY(-120px); }
  .depto-mobile-info{ display:none !important; }  /* móvil no aplica en desktop */
}





/* ==== MAPA UBICACIÓN (responsive y grande) ==== */
.map-container{
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.map-container iframe{
  display: block;
  width: 100%;
  height: 420px;    /* alto en móvil */
  border: 0;
}
@media (min-width: 768px){
  .map-container iframe{ height: 480px; }
}
@media (min-width: 1200px){
  .map-container iframe{ height: 560px; }
}
/* === CONTACTO: tarjetas iguales === */
.contact-info .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;       /* fuerza todas las columnas a igual altura */
}

.contact-info .single-contact-info {
  flex: 1 1 33.33%;           /* las hace del mismo ancho */
  display: flex;
  flex-direction: column;
  justify-content: center;    /* centra verticalmente su contenido */
  align-items: center;
  text-align: center;
  height: 100%;
  min-height: 160px;          /* altura mínima uniforme */
  box-sizing: border-box;
}

.contact-info .single-contact-info p {
  margin: 0;
  line-height: 1.4;
}
.single-contact-details a {
  color: inherit;
  text-decoration: none;
}
.single-contact-details a:hover {
  text-decoration: underline;
}
.single-contact-details a { color: inherit; text-decoration: none; }
.single-contact-details a:hover { text-decoration: underline; }

/* ====== CORRECCIÓN DE COLOR DE MENÚ DESPLEGABLE ====== */
.navbar-collapse {
  background-color: #003a5d !important;
}

.menu-bg,
.navbar-collapse.collapse.in,
.navbar-collapse.show {
  background-color: #003a5d !important;
}

/* ====== LOGO CONFIGURACIÓN UNIFICADA ====== */
.logo img,
.logo-img {
  max-width: 185px;
  max-height: 49px;
  width: auto;
  height: auto;
  display: block;
}

.header-top-area .logo a {
  display: flex;
  align-items: center;
}

/* Asegura que el logo no se deforme ni se oculte en móvil */
@media (max-width: 991px) {
  .logo img,
  .logo-img {
    max-width: 160px;
    max-height: 45px;
  }
}

/* ====== FIX FLECHAS EN MÓVIL (SUBIRLAS) ====== */
@media (max-width: 991px) {
  .depto-nav {
    top: 35% !important;       /* antes 50% */
    transform: translateY(-35%) !important;
  }

  /* también reducimos su tamaño para que no tapen texto */
  .depto-nav {
    width: 42px !important;
    height: 42px !important;
    font-size: 22px !important;
  }
}

/* Desktop: header y menú TRANSPARENTES al cargar (pleca solo al hacer scroll) */
@media (min-width: 992px){
  .navbar-collapse,
  .navbar,
  .mainmenu{
    background: transparent !important;
  }
}

/* La pleca azul solo cuando aparece .menu-bg (scroll) — déjalo así */
.menu-bg{ background:#003a5d; }

/* Móvil: el desplegable sí debe tener azul */
@media (max-width: 991px){
  .navbar-collapse{ background-color:#003a5d !important; }
}


/* ====== Estilos específicos para AVANCE DE OBRA ====== */

.page-header-simple {
  background-color: #003a5d;
  padding: 100px 0 50px;   /* altura agradable: 100 arriba, 50 abajo */
  text-align: center;
  position: relative;
}

.page-header-simple h1 {
  color: #c9a34d;
  font-size: 52px;
  letter-spacing: 2px;
  margin: 0;
  text-transform: uppercase;
  font-weight: 600;
  position: relative;
  top: 15px;               /* pequeño descenso, mantiene equilibrio visual */
}

/* Ajuste responsive */
@media (max-width: 767px) {
  .page-header-simple {
    padding: 70px 0 40px;
  }
  .page-header-simple h1 {
    font-size: 36px;
    top: 10px;
  }
}

#about {
  padding-top: 40px !important;
  margin-top: 0 !important;
}
/* ====== Ajuste del header en Avance de Obra ====== */

.welcome-area {
  background: #003a5d;       /* azul institucional */
  height: 180px;             /* antes era como 500px */
  display: flex;
  align-items: flex-end;     /* coloca el título hacia abajo */
  justify-content: center;
  padding-bottom: 30px;      /* control visual del texto */
  position: relative;
  z-index: 1;
}

.welcome-area .header-text {
  margin: 0;
  padding: 0;
}

.welcome-area h2 {
  color: #d4af37;            /* dorado */
  font-size: 46px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0;
}

/* ===== CTA (sección media) – Parallax limpio ===== */
.call-to-action-area{
  background-position: center top !important; /* arranca arriba */
  background-size: cover;
  background-attachment: fixed;               /* se “descubre” al hacer scroll */
}

/* Quitar cualquier veladura/overlay en esa sección */
.call-to-action-area:after,
.call-to-action-area::before,
.call-to-action-area .display-table-cell::before{
  content: none !important;
  background: transparent !important;
}

/* Móvil: desactiva fixed para evitar saltos (iOS/Android) */
@media (max-width: 991px){
  .call-to-action-area{
    background-attachment: scroll;
    background-position: center top !important;
  }
}
