:root {
  --naranja: #E8500A;
  --naranja-claro: #FF6B1A;
  --gris: #000000;
  --gris-medio: #444444;
  --gris-claro: #000000;
  --blanco: #000000;
  --sombra: 0 4px 20px rgba(0,0,0,0.12);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:'Lato', sans-serif; color:#ffffff; background:#000000; overflow-x:hidden; }

/* NAV */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:#000000;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5%; height:85px;
}
nav img.nav-logo { height:70px; object-fit:contain; }
nav ul { list-style:none; display:flex; gap:30px; }
nav ul a { text-decoration:none; color:rgba(255,255,255,0.85); font-size:0.85rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; transition:color 0.2s; }
nav ul a:hover { color:var(--naranja); }
.nav-cta { background:var(--naranja); color:var(--blanco)!important; padding:10px 22px; border-radius:4px; transition:background 0.2s!important; }
.nav-cta:hover { background:var(--naranja-claro)!important; color:var(--blanco)!important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:5px; }
.hamburger span { width:25px; height:2px; background:#ffffff; border-radius:2px; transition:all 0.3s; display:block; }
.mobile-menu { display:none; position:fixed; top:85px; left:0; right:0; background:#000000; box-shadow:0 10px 30px rgba(0,0,0,0.1); z-index:999; padding:20px; }
.mobile-menu ul { list-style:none; display:flex; flex-direction:column; gap:15px; }
.mobile-menu ul a { text-decoration:none; color:rgba(255,255,255,0.85); font-weight:700; font-size:0.9rem; letter-spacing:1px; text-transform:uppercase; }
.mobile-menu.open { display:block; }

/* HERO */
.hero {
  margin-top:85px;
  height: calc(100vh - 85px);
  min-height:500px;
  position:relative;
  display:flex; align-items:center;
  overflow:hidden;
  background:#000000;
}
.hero-slider { position:absolute; inset:0; }
.hero-slide { position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease; }
.hero-slide.active { opacity:1; }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(to right, rgba(30,30,30,0.85) 40%, rgba(30,30,30,0.3) 100%); }
.hero-content { position:relative; z-index:2; padding:0 8%; max-width:700px; }
.hero-badge { display:inline-block; background:var(--naranja); color:var(--blanco); font-family:'Barlow Condensed', sans-serif; font-size:0.8rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; padding:6px 16px; border-radius:2px; margin-bottom:20px; animation: fadeUp 0.8s ease both; }
.hero h1 { font-family:'Barlow Condensed', sans-serif; font-size:clamp(2.8rem, 6vw, 5rem); font-weight:900; color:var(--blanco); line-height:1.05; text-transform:uppercase; letter-spacing:-1px; animation: fadeUp 0.8s ease 0.15s both; }
.hero h1 span { color:var(--naranja); }
.hero p { font-size:1.1rem; color:rgba(255,255,255,0.85); margin:20px 0 35px; line-height:1.7; max-width:500px; animation: fadeUp 0.8s ease 0.3s both; }
.hero-btns { display:flex; gap:15px; flex-wrap:wrap; animation: fadeUp 0.8s ease 0.45s both; }
.btn-primary { background:var(--naranja); color:var(--blanco); padding:14px 32px; border-radius:4px; text-decoration:none; font-weight:700; font-size:0.9rem; letter-spacing:1px; text-transform:uppercase; transition:all 0.2s; border:2px solid var(--naranja); display:inline-flex; align-items:center; gap:8px; }
.btn-primary:hover { background:var(--naranja-claro); border-color:var(--naranja-claro); transform:translateY(-2px); }
.btn-secondary { background:transparent; color:var(--blanco); padding:14px 32px; border-radius:4px; text-decoration:none; font-weight:700; font-size:0.9rem; letter-spacing:1px; text-transform:uppercase; transition:all 0.2s; border:2px solid rgba(255,255,255,0.5); display:inline-flex; align-items:center; gap:8px; }
.btn-secondary:hover { background:rgba(255,255,255,0.1); border-color:var(--blanco); }
.hero-dots { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:3; }
.hero-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.4); cursor:pointer; transition:all 0.3s; border:none; }
.hero-dot.active { background:var(--naranja); width:24px; border-radius:4px; }

/* SECTIONS */
section { padding:80px 5%; background:#000000; }
.section-header { text-align:center; margin-bottom:60px; }
.section-tag { display:inline-block; font-size:0.75rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--naranja); margin-bottom:12px; }
.section-title { font-family:'Barlow Condensed', sans-serif; font-size:clamp(2rem, 4vw, 3rem); font-weight:800; text-transform:uppercase; line-height:1.1; color:#ffffff; }
.section-title span { color:var(--naranja); }
.section-divider { width:50px; height:4px; background:var(--naranja); margin:16px auto 0; border-radius:2px; }

/* SERVICIOS */
#servicios { background:#080808; }
.servicios-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:20px; max-width:1200px; margin:0 auto; }
.servicio-card { background:#0a0a0a; border-top:1px solid #1a1a1a; border-right:1px solid #1a1a1a; border-bottom:1px solid #1a1a1a; border-radius:8px; padding:30px 25px; border-left:4px solid var(--naranja); box-shadow:0 4px 20px rgba(0,0,0,0.4); transition:all 0.3s; position:relative; overflow:hidden; }
.servicio-card::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:0; background:var(--naranja); transition:height 0.3s; z-index:0; opacity:0.05; }
.servicio-card:hover { transform:translateY(-5px); box-shadow:0 12px 40px rgba(232,80,10,0.15); }
.servicio-card:hover::after { height:100%; }
.servicio-icon { width:50px; height:50px; background:rgba(232,80,10,0.2); border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:18px; font-size:1.5rem; }
.servicio-card h3 { font-family:'Barlow Condensed', sans-serif; font-size:1.25rem; font-weight:700; text-transform:uppercase; color:#ffffff; margin-bottom:8px; position:relative; z-index:1; }
.servicio-card p { font-size:0.875rem; color:rgba(255,255,255,0.6); line-height:1.6; position:relative; z-index:1; }

/* NOSOTROS */
#nosotros { background:#000000; }
.nosotros-container { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; max-width:1200px; margin:0 auto; }
.nosotros-img { border-radius:8px; overflow:hidden; position:relative; box-shadow:0 20px 60px rgba(0,0,0,0.15); }
.nosotros-img img { width:100%; height:450px; object-fit:cover; display:block; }
.nosotros-img::before { content:''; position:absolute; bottom:-15px; right:-15px; width:100%; height:100%; border:3px solid var(--naranja); border-radius:8px; z-index:-1; }
.nosotros-text .section-tag { text-align:left; display:block; }
.nosotros-text .section-title { text-align:left; }
.nosotros-text .section-divider { margin-left:0; }
.nosotros-text p { margin-top:20px; line-height:1.8; color:rgba(255,255,255,0.7); font-size:1rem; }
.nosotros-features { margin-top:30px; display:flex; flex-direction:column; gap:15px; }
.feature-item { display:flex; align-items:flex-start; gap:15px; }
.feature-icon { width:36px; height:36px; min-width:36px; background:var(--naranja); border-radius:6px; display:flex; align-items:center; justify-content:center; color:var(--blanco); font-size:1rem; }
.feature-item h4 { font-weight:700; font-size:0.95rem; margin-bottom:2px; color:#ffffff; }
.feature-item p { font-size:0.85rem; color:rgba(255,255,255,0.6); }

/* GALERÍA */
#galeria { background:#000000; }
#galeria .section-title { color:var(--blanco); }
#galeria .section-tag { color:rgba(255,255,255,0.6); }
#galeria .section-divider { background:var(--naranja); }
.galeria-grid { display:grid; grid-template-columns:repeat(4, 1fr); grid-template-rows:repeat(3, 220px); gap:10px; max-width:1200px; margin:0 auto; }
.galeria-item { overflow:hidden; border-radius:6px; position:relative; cursor:pointer; }
.galeria-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; display:block; }
.galeria-item:hover img { transform:scale(1.06); }
.galeria-item.span2 { grid-column:span 2; }
.galeria-item.span2r { grid-row:span 2; }
.galeria-overlay { position:absolute; inset:0; background:rgba(232,80,10,0); display:flex; align-items:center; justify-content:center; transition:background 0.3s; }
.galeria-item:hover .galeria-overlay { background:rgba(232,80,10,0.3); }
.galeria-overlay span { color:var(--blanco); font-size:2rem; opacity:0; transition:opacity 0.3s; }
.galeria-item:hover .galeria-overlay span { opacity:1; }

/* LIGHTBOX */
.lightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.92); z-index:9999; align-items:center; justify-content:center; }
.lightbox.open { display:flex; }
.lightbox img { max-width:90vw; max-height:90vh; border-radius:6px; object-fit:contain; }
.lightbox-close { position:fixed; top:20px; right:30px; color:var(--blanco); font-size:2.5rem; cursor:pointer; background:none; border:none; line-height:1; transition:color 0.2s; }
.lightbox-close:hover { color:var(--naranja); }

/* CTA BAND */
.cta-band { background:linear-gradient(135deg, var(--naranja) 0%, #c4400a 100%); padding:60px 5%; text-align:center; }
.cta-band h2 { font-family:'Barlow Condensed', sans-serif; font-size:clamp(1.8rem, 4vw, 3rem); font-weight:800; color:var(--blanco); text-transform:uppercase; margin-bottom:10px; }
.cta-band p { color:rgba(255,255,255,0.9); font-size:1.05rem; margin-bottom:30px; }
.btn-white { background:#000000; color:var(--naranja); padding:14px 36px; border-radius:4px; text-decoration:none; font-weight:700; font-size:0.9rem; letter-spacing:1px; text-transform:uppercase; transition:all 0.2s; display:inline-flex; align-items:center; gap:8px; }
.btn-white:hover { background:#000000; color:var(--blanco); transform:translateY(-2px); }

/* CONTACTO */
#contacto { background:#080808; }
.contacto-container { display:grid; grid-template-columns:1fr 1fr; gap:60px; max-width:1100px; margin:0 auto; }
.contacto-info h3 { font-family:'Barlow Condensed', sans-serif; font-size:1.5rem; font-weight:800; text-transform:uppercase; margin-bottom:25px; color:#ffffff; }
.contacto-items { display:flex; flex-direction:column; gap:20px; }
.contacto-item { display:flex; gap:15px; align-items:flex-start; padding:20px; background:#0f0f0f; border-radius:8px; box-shadow:0 4px 20px rgba(0,0,0,0.4); transition:transform 0.2s; }
.contacto-item:hover { transform:translateY(-3px); }
.contacto-icon { width:44px; height:44px; min-width:44px; background:var(--naranja); border-radius:8px; display:flex; align-items:center; justify-content:center; color:var(--blanco); font-size:1.1rem; }
.contacto-item h4 { font-weight:700; font-size:0.9rem; margin-bottom:4px; text-transform:uppercase; letter-spacing:0.5px; color:#ffffff; }
.contacto-item a { text-decoration:none; color:rgba(255,255,255,0.75); font-size:0.9rem; display:block; line-height:1.8; }
.contacto-item a:hover { color:var(--naranja); }
.contacto-item p { color:rgba(255,255,255,0.6); font-size:0.9rem; line-height:1.6; }
.contacto-form h3 { font-family:'Barlow Condensed', sans-serif; font-size:1.5rem; font-weight:800; text-transform:uppercase; margin-bottom:25px; color:#ffffff; }
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:0.8rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:6px; color:rgba(255,255,255,0.6); }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:12px 16px; border:2px solid #333; border-radius:6px; font-family:'Lato', sans-serif; font-size:0.95rem; transition:border-color 0.2s; outline:none; background:#0f0f0f; color:#ffffff; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--naranja); }
.form-group textarea { resize:vertical; min-height:120px; }
.btn-submit { width:100%; padding:14px; background:var(--naranja); color:var(--blanco); border:none; border-radius:6px; font-family:'Lato', sans-serif; font-size:0.9rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:all 0.2s; }
.btn-submit:hover { background:var(--naranja-claro); transform:translateY(-2px); }
.whatsapp-btns h4 { font-weight:700; font-size:0.85rem; letter-spacing:1px; text-transform:uppercase; margin-bottom:12px; }
.wa-btn { display:flex; align-items:center; gap:12px; background:#25D366; color:var(--blanco); padding:12px 20px; border-radius:8px; text-decoration:none; margin-bottom:10px; font-weight:700; font-size:0.9rem; transition:all 0.2s; }
.wa-btn:hover { background:#1ebe5e; transform:translateY(-2px); }

/* FOOTER */
footer { background:#000000; color:rgba(255,255,255,0.7); padding:40px 5%; text-align:center; }
footer img { height:60px; object-fit:contain; margin-bottom:15px; filter:none; }
footer p { font-size:0.85rem; line-height:1.8; }
footer a { color:var(--naranja); text-decoration:none; }
.footer-divider { width:50px; height:2px; background:var(--naranja); margin:15px auto; }
.footer-emails { margin-top:10px; font-size:0.8rem; }

/* ANIMATIONS */
@keyframes fadeUp { from { opacity:0; transform:translateY(25px); } to { opacity:1; transform:translateY(0); } }
.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* WA FLOAT */
.wa-float { position:fixed; bottom:30px; right:30px; z-index:999; width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.4); text-decoration:none; transition:all 0.3s; animation:pulse 2.5s infinite; }
.wa-float:hover { transform:scale(1.1); }
.wa-float svg { width:30px; height:30px; fill:white; }
@keyframes pulse { 0%,100% { box-shadow:0 4px 20px rgba(37,211,102,0.4); } 50% { box-shadow:0 4px 35px rgba(37,211,102,0.7); } }

/* CF7 STYLES */
.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select { width:100%; padding:12px 16px; border:2px solid #e0e0e0; border-radius:6px; font-family:'Lato', sans-serif; font-size:0.95rem; transition:border-color 0.2s; outline:none; background:#000000; margin-bottom:15px; }
.wpcf7-form input:focus, .wpcf7-form textarea:focus { border-color:var(--naranja); }
.wpcf7-form textarea { min-height:120px; resize:vertical; }
.wpcf7-submit { width:100%; padding:14px; background:var(--naranja); color:var(--blanco); border:none; border-radius:6px; font-size:0.9rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:all 0.2s; }
.wpcf7-submit:hover { background:var(--naranja-claro); }
.wpcf7-not-valid-tip { color:#e00; font-size:0.8rem; }
.wpcf7-response-output { margin-top:15px; padding:10px; border-radius:6px; font-size:0.9rem; }

/* RESPONSIVE */
@media(max-width:900px) {
  nav ul { display:none; }
  .hamburger { display:flex; }
  .nosotros-container, .contacto-container { grid-template-columns:1fr; gap:40px; }
  .nosotros-img::before { display:none; }
  .galeria-grid { grid-template-columns:repeat(2,1fr); grid-template-rows:auto; grid-auto-rows:180px; }
  .galeria-item.span2, .galeria-item.span2r { grid-column:span 1; grid-row:span 1; }
}
@media(max-width:500px) {
  .galeria-grid { grid-template-columns:1fr; grid-auto-rows:200px; }
  .hero-btns { flex-direction:column; }
  section { padding:60px 5%; }
}

/* FORCE BLACK EVERYWHERE */
html, body { background:#000000 !important; }
nav, .mobile-menu { background:#000000 !important; }
section, #servicios, #nosotros, #galeria, #contacto, footer { background:#000000 !important; }
.servicio-card { background:#0d0d0d !important; }
.contacto-item { background:#0d0d0d !important; }
.form-group input, .form-group textarea, .form-group select { background:#0d0d0d !important; }

.servicio-card img { width:100%; height:180px; object-fit:cover; display:block; border-radius:6px; margin-top:16px; }

/* FORCE WHITE TEXT */
.section-title, .servicio-card h3, .contacto-info h3,
.contacto-form h3, .nosotros-text .section-title,
.feature-item h4, .contacto-item h4, .whatsapp-btns h4 {
  color: #ffffff !important;
}
nav ul a { color: rgba(255,255,255,0.85) !important; }
nav ul a:hover { color: #E8500A !important; }


/* ============================================
   FORCE WHITE TEXT - OVERRIDE WORDPRESS/THEME
   ============================================ */
.hero h1,
.hero h1 *,
.hero-content h1,
h1.hero-title,
.section-title,
.section-title *,
#servicios .section-title,
#nosotros .section-title,
#galeria .section-title,
#contacto .section-title,
.contacto-info h3,
.contacto-form h3,
.servicio-card h3,
.feature-item h4,
.contacto-item h4,
.whatsapp-btns h4,
.nosotros-text h2,
.nosotros-text h3,
.cta-band h2 {
  color: #ffffff !important;
}

/* Hero H1 específico */
.hero h1 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.hero h1 span,
.hero h1 em {
  color: #E8500A !important;
  -webkit-text-fill-color: #E8500A !important;
}

/* Section titles */
.section-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.section-title span,
.section-title em {
  color: #E8500A !important;
  -webkit-text-fill-color: #E8500A !important;
}

/* Galeria section title override */
#galeria .section-title {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* WordPress block editor overrides */
.wp-block-heading,
.wp-block-heading *,
.entry-title,
.page-title,
h1, h2, h3, h4, h5, h6 {
  color: #ffffff !important;
}
