:root{
  --purple-1: #e9d7ff; /* claro */
  --purple-2: #8a4fe0; /* medio */
  --purple-3: #4a1e7f; /* oscuro */
  --accent: #ffffff;
  --max-width: 1000px;
}

*{box-sizing:border-box}
body{
  margin:0; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  color:#2b2140;
  background: linear-gradient(180deg,var(--purple-1),var(--purple-2));
  min-height:100vh;
}
.container{max-width:var(--max-width);margin:0 auto;padding:1rem}
.site-header{padding:1rem 0}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.logo{height:44px}
.header-inner nav a{color:var(--accent);margin-left:1rem;text-decoration:none;font-weight:600;opacity:0.95}

.hero{padding:4rem 0; background: linear-gradient(180deg, rgba(255,255,255,0.08), transparent);}
.hero-inner{background:rgba(255,255,255,0.06);padding:2rem;border-radius:16px}
.hero h1{font-size:2.2rem;margin:0 0 .5rem;color:var(--purple-3)}
.tagline{margin:0 0 1rem;color:rgba(43,33,64,0.85)}
.cta-row{margin:1.25rem 0}
.btn{display:inline-block;padding:.7rem 1.1rem;border-radius:10px;text-decoration:none;font-weight:700}
.btn.primary{background:linear-gradient(90deg,var(--purple-2),var(--purple-3));color:var(--accent);box-shadow:0 6px 18px rgba(74,30,127,0.18)}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,0.2);color:var(--accent);margin-left:.6rem}

.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}
.features article{background:rgba(255,255,255,0.9);padding:1rem;border-radius:10px}
.features h3{margin:0 0 .5rem;color:var(--purple-3)}

.content{padding:2rem;background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(255,255,255,0.98));border-radius:12px;margin:2rem 0}
.content h1{color:var(--purple-3)}
.content a{color:var(--purple-3);text-decoration:underline}

.site-footer{padding:1.5rem 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;color:rgba(43,33,64,0.8)}

@media (max-width:600px){
  .header-inner{flex-direction:column;gap:.75rem}
  .footer-inner{flex-direction:column;gap:.5rem}
  .hero h1{font-size:1.6rem}
}

/* Tracker styles */
.tracker{margin-top:1.5rem;background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.92));padding:1rem;border-radius:12px}
.tracker h2{color:var(--purple-3);margin-top:0}
.tracker-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem;align-items:end}
.tracker-form label{display:flex;flex-direction:column;font-size:.9rem;color:rgba(43,33,64,0.85)}
.tracker-form input[type="date"], .tracker-form input[type="text"]{padding:.5rem;border-radius:8px;border:1px solid rgba(74,30,127,0.08)}
.tracker .form-row{grid-column:1/-1;display:flex;gap:.6rem}
.cycle-list{margin-top:1rem;display:flex;flex-direction:column;gap:.6rem}
.cycle-item{background:linear-gradient(90deg, rgba(138,79,224,0.05), rgba(74,30,127,0.03));padding:.75rem;border-radius:8px;border:1px solid rgba(74,30,127,0.06)}
.cycle-item .notes{margin-top:.3rem;color:rgba(43,33,64,0.7)}
.cycle-item .meta{margin-top:.45rem;font-size:.8rem;color:rgba(43,33,64,0.5)}

@media (max-width:480px){
  .tracker-form{grid-template-columns:1fr}
  .tracker .form-row{flex-direction:column}
}

/* Centering for specific pages */
.centered-terms, .centered-wrapper{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:calc(100vh - 8rem);
  padding:2rem 1rem;
  box-sizing:border-box;
}
.centered-terms .content, .centered-wrapper .content{margin:0; text-align:left; max-width:900px; width:100%;}
