* { box-sizing: border-box; }

body {
  margin:0;
  font-family:Inter, sans-serif;
  background:#0f172a;
  color:#f8fafc;
}

a { color:#38bdf8; text-decoration:none; }

header {
  background:#020617;
  padding:20px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:sticky;
  top:0;
  z-index:1000;
}

header img { height:60px; }

nav a {
  margin:0 12px;
  font-weight:500;
}

/* Slider Hero Full */
.slider-full {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: hidden;
}

.slides-full {
  display: flex;
  width: 300%;
  height: 100%;
  transition: transform 0.8s ease-in-out;
}

.slides-full img {
  min-width: calc(100% / 3);
  height: 100%;
  object-fit: cover;
}

.slider-overlay {
  position: absolute;
  inset: 0;
  background: rgba(2,6,23,0.65);
  z-index: 2;
}

.hero-content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
}

.hero-content h1 {
  font-size: 3.2rem;
  margin-bottom: 15px;
}

.hero-content p {
  max-width: 800px;
  font-size: 1.3rem;
  color: #cbd5f5;
}

/* Controles del slider */
.slider-controls {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  gap: 10px;
}

.slider-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: all 0.3s ease;
}

.slider-dot:hover {
  background: rgba(255, 255, 255, 0.7);
}

.slider-dot.active {
  background: #38bdf8;
  width: 16px;
  height: 16px;
}

/* Sections */
section {
  width:100%;
  margin:0;
  padding:0;
}

/* Contenedor interno para centrar contenido */
.section-inner{
  max-width:1200px;
  margin:auto;
  padding:60px 40px;
}

/* Colores alternos por sección */
#nosotros { background:#020617; }
#programas { background:#0f172a; }
#equipo { background:#020617; }
#etica { background:#0f172a; }
#contacto { background:#0f172a; }

/* Espacio superior específico para la sección de programas */
#programas .section-inner { padding-top: 40px; }

section h2 {
  text-align:center;
  margin:0 0 40px 0;
  padding-top:30px;
  font-size:2.2rem;
  border-top:2px solid rgba(255,255,255,0.1);
}

.grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:25px;
}

.card {
  background:#020617;
  padding:25px;
  padding-bottom:35px;
  border-radius:12px;
  box-shadow:0 0 15px rgba(0,0,0,.3);
}

.card h3 { margin-top:0; }

.card h3 i {
  color: #38bdf8;
  margin-right: 10px;
}

/* Equipo */
.team-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:25px;
}

.team-card {
  background:#020617;
  padding:20px;
  border-radius:12px;
  text-align:center;
}

.team-card img {
  width:110px;
  height:110px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:12px;
  border:3px solid #38bdf8;
}

/* Form */
form {
  max-width:100%;
  margin:auto;
  padding:0;
  border-radius:0;
  background:transparent;
}

input, textarea {
  width:100%;
  padding:12px;
  margin:10px 0;
  border:none;
  border-radius:6px;
  background:#1e293b;
  color:white;
}

button {
  background:#38bdf8;
  border:none;
  padding:12px 20px;
  font-weight:600;
  border-radius:6px;
  cursor:pointer;
}

button:hover { opacity:0.9; }

footer {
  background:#020617;
  padding:40px 30px 20px;
  color:#94a3b8;
  font-size:14px;
}

.footer-content {
  max-width:1200px;
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
  gap:40px;
}

.footer-column h4 {
  color:#f8fafc;
  font-size:16px;
  margin:0 0 15px 0;
  display:flex;
  align-items:center;
}

.footer-column h4 i {
  color:#38bdf8;
  margin-right:8px;
}

.footer-column p {
  margin:8px 0;
  line-height:1.6;
}

.footer-column a {
  color:#38bdf8;
  text-decoration:none;
  transition:opacity 0.3s;
}

.footer-column a:hover {
  opacity:0.8;
  text-decoration:underline;
}

.social-links {
  display:flex;
  gap:15px;
  font-size:24px;
}

.social-links a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  background:rgba(56, 189, 248, 0.1);
  border-radius:50%;
  transition:all 0.3s;
}

.social-links a:hover {
  background:rgba(56, 189, 248, 0.2);
  transform:translateY(-2px);
}

.footer-bottom {
  max-width:1200px;
  margin:0 auto;
  padding-top:20px;
  border-top:1px solid rgba(255, 255, 255, 0.1);
  text-align:center;
}

@media(max-width:768px){
  .hero-content h1{font-size:2.2rem}
  header{flex-direction:column; gap:10px}
  .slider-full{height:360px}
}

/* === Ajustes de secciones sin padding externo === */
section{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.section-inner{
  max-width:1200px;
  margin:0 auto;
  padding:70px 40px 80px;
}

.section-inner p {
  padding: 20px;
}

section h2{
  text-align:center;
  margin:0 0 45px 0;
  padding-top:25px;
  font-size:2.2rem;
  border-top:2px solid rgba(255,255,255,0.15);
}

.card ol li{ position: relative; padding-right:160px; }

.btn-curso{
  display:inline-block;
  position:absolute;
  right:0;
  top:0;
  margin:0;
  padding:0;
  background:transparent;
  color:#38bdf8;
  border-radius:0;
  font-weight:600;
  font-size:14px;
  text-decoration:underline;
}

.btn-curso:hover{ opacity:0.85; text-decoration:none }

@media(max-width:768px){
  .card ol li{ padding-right:0; }
  .btn-curso{ position:static; display:inline-block; margin-left:8px; }
}
