body.lux-site { margin:0; background:#0B0F17; }
.lux-site a { color:#34d399; }
.lux-site a:hover { color:#6ee7b7; }

/* El template de página del tema deja margen/padding propios alrededor del core/post-title
   que ya suprimimos en PHP (components.php); sin esto queda un espacio en blanco arriba
   de nuestro header aunque el título ya no se imprima. */
body.lux-site main { margin-top:0 !important; }
body.lux-site .wp-block-group:has(> .entry-content) { padding-top:0 !important; padding-bottom:0 !important; }

@keyframes header-glow { 0%,100% { opacity:0.7 } 50% { opacity:1 } }
@keyframes pulse-dot { 0%,100% { opacity:0.5 } 50% { opacity:1 } }
@keyframes luxi-float { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-10px) } }
@keyframes chat-bob { 0%,100% { transform:translateY(0) } 50% { transform:translateY(-4px) } }

/* Header */
.lux-mobile-menu { display:none; }
.lux-mobile-menu.is-open { display:flex; flex-direction:column; }
@media (max-width: 880px) {
  .lux-desktop-nav { display:none !important; }
  .lux-mobile-toggle { display:flex !important; }
}

/* Footer */
.lux-footer-col-title { font-family:'Inter',sans-serif; font-weight:600; font-size:13px; color:#F5F7FA; letter-spacing:0.4px; text-transform:uppercase; margin-bottom:16px; }
.lux-footer-link { font-family:'Inter',sans-serif; font-size:14.5px; color:#8B98AC; text-decoration:none; display:block; padding:6px 0; }
.lux-footer-link:hover { color:#34d399; }
.lux-social-icon { width:38px; height:38px; border-radius:9px; background:rgba(148,163,184,0.06); border:1px solid rgba(148,163,184,0.14); display:flex; align-items:center; justify-content:center; color:#C4CDDA; text-decoration:none; }
.lux-social-icon:hover { border-color:rgba(16,185,129,0.5); color:#34d399; background:rgba(16,185,129,0.08); }
@media (max-width: 880px) {
  .lux-footer-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 560px) {
  .lux-footer-grid { grid-template-columns: 1fr !important; }
}

/* Chat widget */
.lux-chat-scroll::-webkit-scrollbar { width:5px; }
.lux-chat-scroll::-webkit-scrollbar-thumb { background:rgba(148,163,184,0.25); border-radius:4px; }
@keyframes lux-chat-dot-bounce { 0%,80%,100% { transform:translateY(0); opacity:0.5; } 40% { transform:translateY(-4px); opacity:1; } }
.lux-chat-typing-dot { width:6px; height:6px; border-radius:50%; background:#8B98AC; opacity:0.5; animation:lux-chat-dot-bounce 1.1s ease-in-out infinite; }
.lux-chat-typing-dot:nth-child(2) { animation-delay:0.15s; }
.lux-chat-typing-dot:nth-child(3) { animation-delay:0.3s; }
@media (prefers-reduced-motion: reduce) {
  .lux-chat-typing-dot { animation:none !important; }
}

/* Status pill (Proyectos) */
.lux-status {
  display:inline-flex; align-items:center; gap:6px; font-family:'Inter',sans-serif; font-weight:600;
  font-size:12px; letter-spacing:0.3px; padding:5px 12px; border-radius:100px;
}
.lux-status.live { background:rgba(16,185,129,0.12); color:#34d399; border:1px solid rgba(16,185,129,0.3); }
.lux-status.dev { background:rgba(148,163,184,0.1); color:#C4CDDA; border:1px solid rgba(148,163,184,0.25); }
.lux-status .dot { width:6px; height:6px; border-radius:50%; background:currentColor; }

/* Formulario (Contacto) */
.lux-field { display:flex; flex-direction:column; gap:7px; }
.lux-field label { font-family:'Inter',sans-serif; font-weight:600; font-size:13px; color:#C4CDDA; }
.lux-field input, .lux-field textarea, .lux-field select {
  font-family:'Inter',sans-serif; font-size:14.5px; color:#F5F7FA; background:#0D111A;
  border:1px solid rgba(148,163,184,0.18); border-radius:10px; padding:12px 14px; outline:none;
  width:100%; box-sizing:border-box;
}
.lux-field input:focus, .lux-field textarea:focus, .lux-field select:focus { border-color:rgba(16,185,129,0.5); }
.lux-field select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238B98AC'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }

/* Home */
@media (max-width: 900px) {
  .lux-hero-grid { grid-template-columns:1fr !important; }
  .lux-pillars-grid { grid-template-columns:1fr !important; }
  .lux-steps-grid { grid-template-columns:1fr 1fr !important; }
  .lux-metrics { gap:32px !important; }
}
@media (max-width: 560px) {
  .lux-steps-grid { grid-template-columns:1fr !important; }
}

/* Servicios */
@media (max-width: 900px) {
  .lux-svc-grid { grid-template-columns:1fr !important; }
  .lux-svc-grid-rev { grid-template-columns:1fr !important; }
  .lux-order-1 { order:1 !important; }
  .lux-order-2 { order:2 !important; }
}

/* Nosotros */
@media (max-width: 900px) {
  .lux-about-grid { grid-template-columns:1fr !important; }
  .lux-values-grid { grid-template-columns:1fr !important; }
}

/* Contacto */
@media (max-width: 900px) {
  .lux-contact-grid { grid-template-columns:1fr !important; }
}
@media (max-width: 560px) {
  .lux-form-row { grid-template-columns:1fr !important; }
}
