/* Global */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Poppins',sans-serif; color:#333; line-height:1.6; overflow-x:hidden; }
.container { width:100%; max-width:1200px; margin:0 auto; padding:0 15px; }
h1,h2,h3 { font-family:'Playfair Display',serif; font-weight:700; color:#fff; }

/* Hero */
.hero-section{
  background-image: linear-gradient(to bottom, rgba(1,100,65,0) 70%, rgba(1,100,65,1) 100%), url('../images/banner-lote.png');
  background-size:cover; background-position:center; width:100%;
  position:relative; text-align:center; padding:120px 0; display:flex; align-items:center; justify-content:center;
}
.hero-section .container{ position:relative; z-index:2; }
.logo-container{ margin-bottom:40px; }
.logo{ width:80%; max-width:400px; height:auto; }
.hero-section h1{ font-size:3.8rem; line-height:1.1; margin-bottom:15px; color:#fff; font-family:'Playfair Display',serif; font-weight:400; }
.tagline{ font-size:1rem; color:#fff; margin-bottom:30px; font-weight:300; position:relative; }
.hero-divider{ width:80px; height:4px; background:#E69D00; margin:30px auto; position:relative; }
.hero-divider::before,.hero-divider::after{ content:''; position:absolute; top:50%; width:100px; height:1px; background:rgba(255,255,255,.5); }
.hero-divider::before{ left:-120px; } .hero-divider::after{ right:-120px; }

/* Pricing */
.pricing-section{ background:rgba(1,100,65,1); padding:0; text-align:center; position:relative; overflow:hidden; z-index:5; }
.pricing-section img{ width:80%; display:block; margin:0 auto; }
@media (max-width:768px){ .pricing-section img{ width:100%; margin-bottom:50px; } }
.transparent-logo{ position:absolute; top:50%; left:65%; transform:translate(-50%,-50%); z-index:2; opacity:.5; pointer-events:none; mix-blend-mode:overlay; }
.transparent-logo img{ width:700px; height:auto; max-width:95%; }
.pricing-section .container{ position:relative; z-index:3; padding:0 15px; display:flex; flex-direction:column; align-items:center; }

/* Gallery */
.gallery-section{ background:#E69D00; padding:60px 0 40px; text-align:center; overflow:hidden; position:relative; margin-top:-60px; z-index:10; box-shadow:0 -10px 20px rgba(0,0,0,.1); }
.gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:30px; max-width:100%; padding:0 15px; }
.gallery-item{ position:relative; overflow:hidden; border-radius:8px; box-shadow:0 8px 20px rgba(0,0,0,.15); transition:transform .3s ease; aspect-ratio:16/10; }
.gallery-item:hover{ transform:translateY(-5px); }
.gallery-item img{ width:110%; height:280px; object-fit:cover; display:block; object-position:center; margin-left:-5%; }

/* Features */
.section-title{ font-size:1.8rem; color:#006633; text-align:center; margin:20px 0; position:relative; font-family:'Playfair Display',serif; font-weight:600; }
.section-title::after{ content:''; position:absolute; bottom:-15px; left:50%; transform:translateX(-50%); width:100px; height:2px; background:#006633; }
.features-section{ background:#C98C2C; text-align:center; position:relative; overflow:hidden; padding-top:30px; }
.section-title{ color:#000; margin-bottom:30px; font-weight:500; }
.infra-title{ font-size:1.3rem; color:#000; margin-bottom:20px; font-weight:500; }
.features-section .container{ position:relative; z-index:2; }
.features-section h4{ font-size:1.5rem; color:#006633; margin-bottom:30px; text-align:center; font-family:'Playfair Display',serif; font-weight:600; }
.infrastructure-icons{ display:flex; justify-content:center; flex-wrap:wrap; gap:20px; margin-bottom:30px; max-width:800px; margin-left:auto; margin-right:auto; position:relative; z-index:2; }
.infra-item{ display:flex; flex-direction:column; align-items:center; width:120px; transition:transform .3s ease; }
.infra-item:hover{ transform:translateY(-5px); }
.icon-circle{ width:60px; height:60px; background:#fff; border-radius:50%; display:flex; justify-content:center; align-items:center; margin-bottom:10px; box-shadow:0 4px 10px rgba(0,0,0,.1); }
.icon-circle img{ width:28px; height:28px; object-fit:contain; }
.infra-item span{ font-size:.9rem; color:#000; text-align:center; font-weight:500; }
.highlights{ max-width:600px; margin:30px auto; background:transparent; padding:20px; text-align:center; position:relative; z-index:2; }
.highlights h4{ text-align:center; margin-bottom:20px; color:#000; font-size:1.3rem; font-weight:bold; }
.highlight-item{ margin-bottom:10px; font-size:1rem; color:#000; text-align:center; line-height:1.5; }

/* Panorama */
.panorama-section{ background:#0F5D43 url('../images/horizonte.png') center/cover no-repeat; position:relative; padding:80px 0; color:#fff; }
.panorama-overlay{ position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(15,93,67,.7); z-index:1; }
.panorama-section .container{ position:relative; z-index:2; }
.logo-container-footer{ display:flex; align-items:center; justify-content:center; }
.logo-footer{ width:300px; height:auto; }

/* Footer */
footer{ background:#4A2A0A; color:#fff; padding:20px 0; text-align:center; }
.footer-content{ display:flex; justify-content:space-between; align-items:center; }
footer .copyright, footer .rights{ margin:0; font-size:.9rem; font-weight:300; }
footer .phone{ display:flex; align-items:center; font-size:.9rem; font-weight:500; margin:0; }
.whatsapp-icon{ width:18px; height:18px; margin-right:5px; }

/* Responsive */
@media (max-width:768px){
  .hero-section h1{ font-size:2.5rem; }
  .gallery{ grid-template-columns:1fr; gap:20px; }
  .gallery-item{ width:100%; margin-bottom:20px; }
  .infrastructure-icons{ gap:10px; }
  .infra-item{ width:80px; }
  .hero-divider::before,.hero-divider::after{ width:50px; }
  .hero-divider::before{ left:-60px; } .hero-divider::after{ right:-60px; }
}

/* Floating WhatsApp (Safari-safe) */
html, body { transform:none !important; }
.wpp-fab{
  position:fixed !important;
  right:calc(10px + env(safe-area-inset-right));
  bottom:calc(10px + env(safe-area-inset-bottom));
  width:56px; height:56px; border-radius:50%; border:0; background:#25D366;
  box-shadow:0 8px 24px rgba(0,0,0,.2); cursor:pointer; z-index:2147483647; display:grid; place-items:center;
  -webkit-transform:translateZ(0); transform:translateZ(0);
}
.wpp-fab img{ width:40px; height:40px; }

/* Modal base */
.wpp-modal[aria-hidden="true"]{ display:none; }
.wpp-modal{
  position:fixed !important; top:0; right:0; bottom:0; left:0;
  display:flex; align-items:center; justify-content:center; z-index:2147483646;
}
.wpp-backdrop{ position:fixed; top:0; right:0; bottom:0; left:0; background:rgba(0,0,0,.45); }

/* Animations */
@keyframes wppFadeIn { from{ opacity:0 } to{ opacity:1 } }
@keyframes wppFadeOut { from{ opacity:1 } to{ opacity:0 } }
@keyframes wppSlideIn {
  from { transform:translateY(24px) scale(.98); opacity:0; }
  to   { transform:translateY(0) scale(1); opacity:1; }
}
@keyframes wppSlideOut {
  from { transform:translateY(0) scale(1); opacity:1; }
  to   { transform:translateY(24px) scale(.98); opacity:0; }
}

/* Dialog */
.wpp-dialog{
  position:relative; width:min(92vw,420px); margin:0;
  background:#fff; border-radius:14px; padding:20px 18px 18px; box-shadow:0 12px 32px rgba(0,0,0,.25);
  animation: wppSlideIn .24s ease-out both;
}
.wpp-modal.is-open .wpp-backdrop{ animation: wppFadeIn .18s ease-out both; }
.wpp-modal:not(.is-open)[aria-hidden="false"] .wpp-backdrop{ animation: wppFadeOut .18s ease-in both; }
.wpp-modal:not(.is-open)[aria-hidden="false"] .wpp-dialog{ animation: wppSlideOut .2s ease-in both; }

.wpp-close{ position:absolute; top:8px; right:10px; border:0; background:transparent; font-size:28px; line-height:1; cursor:pointer; }
#wppTitle{ margin:0 0 14px 0; font-family:'Playfair Display',serif; font-weight:600; color:#0F5D43; font-size:1.4rem; }
.wpp-field{ display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.wpp-field span{ font-size:.9rem; color:#333; }
.wpp-field input{ border:1px solid #e3e3e3; border-radius:10px; padding:10px 12px; font-size:1rem; outline:none; }
.wpp-field input:focus{ border-color:#0F5D43; box-shadow:0 0 0 3px rgba(15,93,67,.15); }
.wpp-submit{ width:100%; border:0; border-radius:10px; padding:12px 14px; font-weight:600; background:#25D366; color:#fff; cursor:pointer; }
.wpp-submit:hover{ filter:brightness(.95); }

@media (max-width:480px){
  .wpp-fab{ right:12px; bottom:12px; width:52px; height:52px; }
}
