/* =========================================================
   SERVICIOS - AJUSTES TEMPORALES 2026
   Complementa estilos-final-ajustado.css
   I.E. Bosques de Pinares
   ========================================================= */

/* Encabezados auxiliares del submenu Servicios */
.submenu-servicios .submenu-seccion{
  padding:8px 14px 5px;
  margin-top:4px;
  border-top:1px solid rgba(10,94,49,.10);
  background:#f7faf8;
}

.submenu-servicios .submenu-seccion:first-of-type{
  margin-top:0;
}

.submenu-servicios .submenu-seccion span{
  display:block;
  color:#8d6a00;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  pointer-events:none;
}

/* =========================================================
   HOME - OFERTA EDUCATIVA
   ========================================================= */

.oferta-educativa-home{
  margin:30px 0 36px;
  padding:46px 34px 38px;
  position:relative;
  overflow:hidden;
  border:1px solid #dce7df;
  border-radius:24px;
  background:
    radial-gradient(circle at 96% 0,rgba(245,197,21,.12),transparent 22%),
    linear-gradient(180deg,#f7fbf8 0,#fff 100%);
}

.oferta-encabezado-home{
  max-width:850px;
  margin:0 auto 30px;
  text-align:center;
}

.oferta-encabezado-home h2{
  margin:5px 0 9px;
  color:#075b30;
  font-size:clamp(1.9rem,4vw,2.7rem);
  line-height:1.14;
}

.oferta-encabezado-home p{
  margin:0;
  color:#65736b;
  line-height:1.65;
}

.oferta-grid-home{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.oferta-card-home{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:330px;
  padding:25px 22px;
  overflow:hidden;
  border:1px solid #dce7df;
  border-radius:19px;
  background:#fff;
  box-shadow:0 7px 22px rgba(13,83,45,.06);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.oferta-card-home::after{
  content:"";
  position:absolute;
  width:95px;
  height:95px;
  right:-40px;
  bottom:-40px;
  border-radius:50%;
  background:rgba(245,197,21,.09);
}

.oferta-card-home:hover{
  transform:translateY(-5px);
  border-color:#e6c224;
  box-shadow:0 14px 30px rgba(13,83,45,.12);
}

.oferta-card-home.oferta-card-destacada{
  border-top:4px solid #f5c515;
}

.oferta-icono-home{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  border-radius:16px;
  color:#0b6b35;
  background:#edf7f0;
}

.oferta-icono-home svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.oferta-etiqueta-home{
  margin-bottom:5px;
  color:#937000;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.oferta-card-home h3{
  margin:0 0 10px;
  color:#075b30;
  font-size:1.27rem;
}

.oferta-card-home p{
  margin:0 0 18px;
  color:#66736b;
  font-size:.9rem;
  line-height:1.6;
}

.oferta-card-home a{
  margin-top:auto;
  color:#0b6b35;
  font-size:.86rem;
  font-weight:800;
  text-decoration:none;
  position:relative;
  z-index:1;
}

.oferta-card-home a:hover,
.oferta-card-home a:focus-visible{
  text-decoration:underline;
}

.oferta-acciones-home{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  margin-top:28px;
}

.boton-oferta-home{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 20px;
  border-radius:999px;
  background:#0b6b35;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(11,107,53,.16);
}

.boton-oferta-home:hover,
.boton-oferta-home:focus-visible{
  background:#075b30;
}

.enlace-media-home{
  color:#0b6b35;
  font-weight:800;
  text-decoration:none;
}

.enlace-media-home:hover,
.enlace-media-home:focus-visible{
  text-decoration:underline;
}

/* =========================================================
   PÁGINA SERVICIOS
   ========================================================= */

.pagina-servicios-final{
  padding:18px 0 54px;
}

.miga-servicios{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:7px 0 20px;
  color:#69766e;
  font-size:.88rem;
}

.miga-servicios a{
  color:#0b6b35;
  font-weight:700;
  text-decoration:none;
}

.miga-servicios a:hover,
.miga-servicios a:focus-visible{
  text-decoration:underline;
}

.hero-servicios-final{
  position:relative;
  overflow:hidden;
  padding:52px 46px 38px;
  margin-bottom:40px;
  border-radius:26px;
  background:
    radial-gradient(circle at 90% 10%,rgba(255,214,49,.22),transparent 27%),
    linear-gradient(135deg,#064d29 0,#0b6b35 62%,#128247 100%);
  color:#fff;
  box-shadow:0 16px 34px rgba(7,91,48,.15);
}

.hero-servicios-final::after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:-120px;
  bottom:-210px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
}

.etiqueta-servicios-final{
  display:inline-flex;
  padding:7px 12px;
  margin-bottom:14px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#fff;
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.hero-servicios-final h1{
  max-width:900px;
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(2.25rem,5vw,4rem);
  line-height:1.05;
}

.hero-servicios-final h1 span{
  color:#ffd633;
}

.hero-servicios-final p{
  max-width:880px;
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:1.02rem;
  line-height:1.7;
}

.ruta-hero-servicios{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-top:30px;
}

.ruta-hero-servicios span{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:.78rem;
  font-weight:700;
}

.ruta-hero-servicios b{
  color:#ffd633;
}

.bloque-oferta-servicios{
  scroll-margin-top:110px;
  margin-bottom:46px;
}

.bloque-oferta-servicios > .encabezado-seccion,
.apoyos-servicios-final > .encabezado-seccion{
  max-width:860px;
  margin:0 auto 28px;
  text-align:center;
}

.niveles-servicios-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.nivel-servicio-card{
  position:relative;
  scroll-margin-top:120px;
  min-height:330px;
  padding:30px 28px;
  overflow:hidden;
  border:1px solid #dce7df;
  border-radius:21px;
  background:#fff;
  box-shadow:0 9px 26px rgba(20,75,45,.07);
}

.nivel-servicio-card::after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  right:-65px;
  top:-65px;
  border-radius:50%;
  background:rgba(245,197,21,.10);
}

.nivel-servicio-card.nivel-media{
  border-top:5px solid #f5c515;
}

.numero-nivel{
  position:absolute;
  right:20px;
  top:14px;
  color:#e3ebe5;
  font-family:"Roboto Condensed",sans-serif;
  font-size:3rem;
  font-weight:800;
  line-height:1;
}

.icono-nivel{
  width:58px;
  height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  border-radius:16px;
  background:#edf7f0;
  color:#0b6b35;
}

.icono-nivel svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.nivel-servicio-card h3{
  margin:0 0 10px;
  color:#075b30;
  font-size:1.5rem;
}

.nivel-servicio-card p{
  margin:0 0 18px;
  color:#66736b;
  line-height:1.67;
}

.dato-nivel{
  display:inline-flex;
  padding:8px 11px;
  margin-top:2px;
  border-radius:9px;
  background:#f5f9f6;
  color:#4f6257;
  font-size:.78rem;
  font-weight:700;
}

.btn-nivel{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:18px;
  color:#0b6b35;
  font-weight:800;
  text-decoration:none;
}

.btn-nivel:hover,
.btn-nivel:focus-visible{
  text-decoration:underline;
}

.apoyos-servicios-final{
  margin:44px 0;
  padding:42px 34px;
  border-radius:24px;
  background:#f5f9f6;
  border:1px solid #dce7df;
}

.apoyos-grid-final{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.apoyo-card-final{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:15px;
  align-items:center;
  padding:20px;
  border:1px solid #dce7df;
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

.apoyo-card-final:last-child{
  grid-column:1 / -1;
}

.apoyo-card-final:hover,
.apoyo-card-final:focus-visible{
  transform:translateY(-3px);
  border-color:#e5c126;
  box-shadow:0 10px 22px rgba(20,75,45,.09);
}

.apoyo-icono-final{
  width:47px;
  height:47px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:#edf7f0;
  color:#0b6b35;
  font-size:1.25rem;
  font-weight:800;
}

.apoyo-card-final strong{
  display:block;
  margin-bottom:3px;
  color:#075b30;
}

.apoyo-card-final small{
  display:block;
  color:#6d7972;
  line-height:1.45;
}

.flecha-apoyo{
  color:#a07900;
  font-size:1.25rem;
  font-weight:800;
}

.cta-servicios-final{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  padding:30px 34px;
  border-radius:20px;
  background:#fff9df;
  border:1px solid #f0df8e;
}

.cta-servicios-final h2{
  margin:3px 0 5px;
  color:#075b30;
}

.cta-servicios-final p{
  margin:0;
  color:#6c756f;
}

.cta-servicios-final > a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  background:#0b6b35;
  color:#fff;
  font-weight:800;
  text-decoration:none;
}

.cta-servicios-final > a:hover,
.cta-servicios-final > a:focus-visible{
  background:#075b30;
}

@media (max-width:1050px){
  .oferta-grid-home{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:780px){
  .oferta-educativa-home{
    padding:36px 22px 30px;
  }

  .niveles-servicios-grid,
  .apoyos-grid-final{
    grid-template-columns:1fr;
  }

  .apoyo-card-final:last-child{
    grid-column:auto;
  }

  .hero-servicios-final{
    padding:40px 26px 32px;
  }

  .cta-servicios-final{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media (max-width:540px){
  .oferta-grid-home{
    grid-template-columns:1fr;
  }

  .oferta-card-home{
    min-height:auto;
  }

  .apoyos-servicios-final{
    padding:32px 18px;
  }

  .nivel-servicio-card{
    padding:26px 20px;
  }

  .ruta-hero-servicios b{
    display:none;
  }
}
