
/* === SowerTec / Godo Technology – sitio profesional modo dark === */
:root{
  --bg:#0f172a; /* slate-900 */
  --bg-secondary:#1e293b; /* slate-800 */
  --card:#334155; /* slate-700 */
  --card-hover:#475569; /* slate-600 */
  --muted:#94a3b8; /* slate-400 */
  --text:#e2e8f0; /* slate-200 */
  --white:#ffffff; /* slate-50 */
  --text-bright:#f8fafc; /* slate-50 */
  --brand:#92ca00; /* verde del logo */
  --brand2:#64748b; /* slate-500 - gris azulado elegante */
  --accent:#92ca00;
  --success:#22c55e; /* green-500 */
  --warning:#f59e0b; /* amber-500 */
  --danger:#ef4444; /* red-500 */
  --shadow:0 25px 50px -12px rgba(0,0,0,.4);
  --shadow-lg:0 35px 60px -12px rgba(0,0,0,.6);
  --border:rgba(146,202,0,.15);
  --gradient-primary:linear-gradient(135deg, var(--brand) 0%, #6b9500 100%);
  --gradient-card:linear-gradient(145deg, rgba(51,65,85,.9) 0%, rgba(30,41,59,.95) 100%);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

.container{width:min(1200px, 92%); margin-inline:auto}

/* Header / Navbar */
.navbar{
  position:sticky; top:0; z-index:1000;
  backdrop-filter: saturate(180%) blur(20px);
  background:linear-gradient(180deg, rgba(10,15,28,.95), rgba(10,15,28,.8));
  border-bottom:1px solid var(--border);
  transition:all 0.3s ease;
}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:16px 0}
.brand{display:flex; align-items:center; gap:.75rem; text-decoration:none; transition:transform 0.2s ease}
.brand:hover{transform:scale(1.02)}
.brand img{height:42px; width:auto; display:block}
.brand span{font-weight:800; letter-spacing:.5px; font-size:1.2rem; color:var(--text-bright)}
.nav-links{display:flex; gap:2rem; align-items:center}
.nav-links a{
  color:var(--text); text-decoration:none; font-weight:600; 
  position:relative; transition:all 0.3s ease;
}
.nav-links a::after{
  content:''; position:absolute; bottom:0; left:0; width:0; height:2px;
  background:var(--gradient-primary); transition:width 0.3s ease;
}
.nav-links a:hover{color:var(--white); transform:translateY(-2px)}
.nav-links a:hover::after{width:100%}
.nav-cta{
  padding:.8rem 1.5rem; border-radius:8px; 
  background:var(--gradient-primary); color:#000; 
  font-weight:700; border:none; text-decoration:none;
  transition:all 0.3s ease; box-shadow:var(--shadow);
}
.nav-cta:hover{transform:translateY(-2px); box-shadow:var(--shadow-lg)}
.menu-toggle{
  display:none; background:none; border:none; 
  color:var(--text); cursor:pointer;
  padding:8px; border-radius:8px;
  transition:all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position:relative; z-index:10000;
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
}

.menu-toggle:hover{
  background:rgba(146,202,0,.1);
  transform:scale(1.1);
}

.hamburger{
  width:24px; height:18px;
  position:relative;
  transform:rotate(0deg);
  transition:0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hamburger span{
  display:block; position:absolute;
  height:3px; width:100%;
  background:var(--text);
  border-radius:2px;
  opacity:1; left:0;
  transform:rotate(0deg);
  transition:0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hamburger span:nth-child(1){top:0px}
.hamburger span:nth-child(2){top:7px}
.hamburger span:nth-child(3){top:14px}

.mobile-open .hamburger span:nth-child(1){
  top:7px; transform:rotate(135deg);
}

.mobile-open .hamburger span:nth-child(2){
  opacity:0; left:-60px;
}

.mobile-open .hamburger span:nth-child(3){
  top:7px; transform:rotate(-135deg);
}

/* Hero */
.hero{
  position:relative;
  min-height:85vh;
  display:grid;
  align-items:center;
  overflow:hidden;
  background: 
    radial-gradient(ellipse 1400px 800px at -20% -20%, rgba(146,202,0,.12), transparent 60%),
     radial-gradient(ellipse 1400px 800px at 120% 120%, rgba(100,116,139,.08), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-secondary) 100%);
}

.hero::before{
  content:""; position:absolute; inset:0;
  background:url('../img/hero-bg.svg') center/cover no-repeat;
  opacity:.7; pointer-events:none;
}
.hero-content{position:relative; z-index:1; padding:5rem 0}
.badge{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem 1rem; border-radius:50px;
  background:rgba(146,202,0,.08); color:var(--brand); 
  font-weight:700; letter-spacing:.5px; font-size:.85rem;
  border:1px solid rgba(146,202,0,.2);
  backdrop-filter:blur(10px);
}
h1.hero-title{
  font-size: clamp(2.5rem, 5vw, 4.5rem); 
  margin:1rem 0 .6rem; line-height:1.1; 
  font-weight:800; color:var(--text-bright);
  background:var(--gradient-primary);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-sub{
  font-size: clamp(1.1rem, 2vw, 1.4rem); 
  color:var(--muted); max-width:900px; 
  line-height:1.6; margin-bottom:2rem;
}
.hero-cta{margin-top:2rem; display:flex; gap:1rem; flex-wrap:wrap}
.btn{
  padding:1rem 1.8rem; border-radius:10px; border:1px solid transparent;
  background:var(--gradient-card); color:var(--text); text-decoration:none; 
  font-weight:600; font-size:.95rem; display:inline-flex; align-items:center; gap:.5rem;
  box-shadow:var(--shadow); transition:all .3s ease; cursor:pointer;
  border:1px solid var(--border);
}
.btn:hover{
  transform:translateY(-3px); 
  box-shadow:var(--shadow-lg);
  background:var(--card-hover);
  border-color:rgba(146,202,0,.3);
}
.btn-primary{
  background:var(--gradient-primary); color:#000; 
  border:1px solid transparent; font-weight:700;
}
.btn-primary:hover{
  background:linear-gradient(135deg, rgba(146,202,0,.9) 0%, rgba(107,149,0,.9) 100%);
  transform:translateY(-3px) scale(1.02);
}
.btn-outline{
  background:transparent; border-color:var(--border);
  color:var(--brand);
}
.btn-outline:hover{
  background:rgba(146,202,0,.05);
  border-color:var(--brand);
}

/* Feature grid */
.section{padding:80px 0}
.section h2{
  font-size: clamp(1.8rem, 3.5vw, 2.5rem); 
  margin:.5rem 0 1.5rem; font-weight:700;
  color:var(--text-bright);
}
.lead{color:var(--muted); max-width:900px; font-size:1.1rem; line-height:1.7}
.grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); 
  gap:2rem; margin-top:2rem;
}
.card{
  background:var(--gradient-card); 
  border:1px solid var(--border); 
  border-radius:20px; padding:2rem;
  box-shadow:var(--shadow);
  transition:all .3s ease;
  position:relative;
  overflow:hidden;
}
.card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--gradient-primary); opacity:0; transition:opacity .3s ease;
}
.card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(146,202,0,.3);
}
.card:hover::before{opacity:1}
.card h3{margin:.5rem 0 1rem; font-size:1.3rem; color:var(--text-bright)}
.card p{color:var(--muted); line-height:1.6}
.card-body{padding:0}
.card-title{color:var(--text-bright); font-weight:600}
.card-text{color:var(--muted)}

.icon{
  width:48px; height:48px; display:inline-grid; place-items:center; 
  border-radius:12px; font-size:1.5rem;
  background:var(--gradient-primary);
  color:#000; margin-bottom:1rem;
  box-shadow:0 8px 25px rgba(146,202,0,.2);
}

/* Pricing */
.pricing{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); 
  gap:2rem; margin-top:2rem;
}
.price-card{
  padding:2.5rem; position:relative;
  background:var(--gradient-card);
  border:1px solid var(--border);
  border-radius:20px;
  transition:all .3s ease;
}
.price-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
  border-color:rgba(146,202,0,.4);
}
.price-card.featured{
  border-color:var(--brand);
  box-shadow:0 0 40px rgba(146,202,0,.15);
}
.price{
  font-size:2.5rem; font-weight:800; 
  background:var(--gradient-primary);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.pill{
  display:inline-block; padding:.4rem .8rem; border-radius:50px; 
  background:rgba(146,202,0,.1); color:var(--brand); 
  border:1px solid rgba(146,202,0,.2); font-size:.85rem; font-weight:600;
}

/* Utilities */
.text-center{text-align:center}
.text-success{color:var(--success)}
.text-primary{color:var(--brand)}
.text-warning{color:var(--warning)}
.list-unstyled{list-style:none; padding:0}
.list-unstyled li{padding:.5rem 0; display:flex; align-items:center; gap:.75rem}
.row{display:flex; flex-wrap:wrap; gap:2rem}
.col-md-6{flex:1; min-width:300px}
.col-md-8{flex:2; min-width:400px}
.mx-auto{margin-left:auto; margin-right:auto}

/* Footer */
footer{
  background:linear-gradient(180deg, var(--bg-secondary) 0%, #050a14 100%); 
  border-top:1px solid var(--border); padding:60px 0 30px; margin-top:40px;
}
.footer-grid{
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; 
  gap:3rem; margin-bottom:2rem;
}
footer h4{color:var(--text-bright); margin-bottom:1rem}
footer a{
  color:var(--muted); text-decoration:none; 
  transition:color .3s ease; display:block; padding:.25rem 0;
}
footer a:hover{color:var(--brand)}
footer p{color:var(--muted); line-height:1.6}

/* Responsive */
@media (max-width: 1024px){
  .container{width:95%}
  .grid,.pricing{grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-content{padding:3rem 0}
  .section{padding:60px 0}
}

@media (max-width: 768px){
  .nav-links{display:none}
  .menu-toggle{display:block}
  
  /* Menú móvil de pantalla completa */
  .mobile-open .nav-links{
    display:flex;
    position:fixed;
    top:0; left:0; right:0; bottom:0;
    background:linear-gradient(135deg, rgba(15,23,42,.98) 0%, rgba(30,41,59,.95) 100%);
    backdrop-filter:blur(20px);
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:2.5rem;
    z-index:9999;
    animation:slideInFromTop 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    width: 100vw;
    height: 100vh;
  }
  
  .mobile-open .nav-links a{
    font-size:1.5rem;
    font-weight:700;
    color:var(--text);
    text-decoration:none;
    padding:1rem 2rem;
    border-radius:12px;
    transition:all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform:translateY(20px);
    opacity:0;
    animation:fadeInUp 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  }
  
  .mobile-open .nav-links a:nth-child(1){animation-delay:0.1s}
  .mobile-open .nav-links a:nth-child(2){animation-delay:0.2s}
  .mobile-open .nav-links a:nth-child(3){animation-delay:0.3s}
  .mobile-open .nav-links a:nth-child(4){animation-delay:0.4s}
  .mobile-open .nav-links a:nth-child(5){animation-delay:0.5s}
  
  .mobile-open .nav-links a:hover{
    background:var(--gradient-primary);
    color:#000;
    transform:translateY(-5px) scale(1.05);
    box-shadow:var(--shadow-lg);
  }
  
  .mobile-open .nav-links .nav-cta{
    background:var(--gradient-primary);
    color:#000;
    font-size:1.3rem;
    padding:1.2rem 2.5rem;
    border-radius:50px;
    box-shadow:var(--shadow);
  }
  
  .mobile-open .nav-links .nav-cta:hover{
    transform:translateY(-5px) scale(1.1);
    box-shadow:var(--shadow-lg);
  }
  .hero{min-height:70vh}
  .hero-content{padding:2rem 0}
  .hero-cta{flex-direction:column; align-items:flex-start}
  .btn{width:100%; justify-content:center}
  .grid,.pricing{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .row{flex-direction:column}
  .col-md-6,.col-md-8{min-width:auto}
}

@media (max-width: 480px){
  .container{width:90%}
  .hero-content{padding:1.5rem 0}
  .section{padding:40px 0}
  .card{padding:1.5rem}
  .price-card{padding:2rem}
  .nav-inner{padding:12px 0}
  .brand span{font-size:1rem}
  .footer-grid{gap:2rem}
}

/* Dark mode enhancements */
@media (prefers-color-scheme: dark) {
  :root {
    --shadow: 0 25px 50px -12px rgba(0,0,0,.4);
    --shadow-lg: 0 35px 60px -12px rgba(0,0,0,.6);
  }
}

/* Animaciones para menú móvil */
@keyframes slideInFromTop {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeInUp {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes hamburgerToX {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(90deg);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Print styles */
@media print {
  .navbar, .hero-cta, .btn, footer {
    display: none !important;
  }
  body {
    background: white !important;
    color: black !important;
  }
}
