/* ================================
   TÍTULOS GENERALES DE SECCIÓN
   ================================ */

.section__title{
  text-align:center;
  font-size:2rem;
  font-weight:700;
  color:#00295E;
  margin:0 0 40px;
}

/* ================================
   HERO SERVICIOS
   ================================ */

.servicios-hero{
  background:linear-gradient(135deg,#f7f9fc,#e7f4ee);
  padding:70px 0 60px;
}

.servicios-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1.5fr);
  gap:32px;
  align-items:center;
}

.servicios-hero__subtitle{
  margin:12px 0 18px;
  font-size:1rem;
  line-height:1.6;
  color:#4a5670;
}

.servicios-hero__cta{
  display:inline-block;
  margin-top:4px;
  padding:10px 22px;
  border-radius:999px;
  font-weight:600;
  font-size:0.95rem;
  text-decoration:none;
  background:var(--navbar-accent);
  color:#ffffff;
  box-shadow:0 12px 26px rgba(0,0,0,0.18);
  transition:background .2s ease, transform .15s ease, box-shadow .15s ease;
}

.servicios-hero__cta:hover{
  background:#01852b;
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(0,0,0,0.22);
}

.servicios-hero__cta:active{
  transform:translateY(0);
  box-shadow:0 10px 20px rgba(0,0,0,0.2);
}

.servicios-hero__right{
  max-width:520px;
  justify-self:flex-end;
}

.servicios-hero__text{
  margin:0;
  font-size:0.98rem;
  line-height:1.7;
  color:#4a5670;
}

/* ================================
   SERVICIOS DÍA A DÍA (CARDS PREMIUM)
   ================================ */

.servicios-diaadia{
  padding:70px 0;
  background:#ffffff;
}

/* 3 columnas en desktop, centrado */
.servicios-diaadia__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
  max-width:1100px;
  margin:0 auto;
}

/* Card premium */
.srv-card{
  position:relative;
  background:#ffffff;
  border-radius:18px;
  padding:22px 20px 24px;
  box-shadow:0 18px 46px rgba(10,26,54,0.10);
  display:flex;
  flex-direction:column;
  gap:10px;
  border:1px solid rgba(0,0,0,0.04);
  overflow:hidden;
  transition:transform .15s ease, box-shadow .2s ease, border-color .15s ease;
}

/* Barra superior */
.srv-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,#00A033,#005aa1);
}

/* Icono (usa mask del HTML) */
.srv-card__icon{
  width:40px;
  height:40px;
  background:var(--navbar-accent);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-position:center;
  mask-position:center;
  display:inline-block;
}

.srv-card__icon--generic{
  background:linear-gradient(135deg,#00A033,#005aa1);
  border-radius:12px;
}

.srv-card__title{
  margin:6px 0 4px;
  font-size:1.05rem;
  font-weight:700;
  color:#00295E;
  text-align:center;
}

.srv-card__desc{
  margin:0;
  font-size:0.95rem;
  line-height:1.6;
  color:#4a5670;
}

/* Hover premium */
.srv-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 58px rgba(10,26,54,0.14);
  border-color:rgba(0,160,51,0.25);
}

/* ================================
   SERVICIOS EMPRESAS Y FLOTAS
   ================================ */

.servicios-empresas{
  padding:70px 0;
  background:#f2f5fb;
}

.servicios-empresas__inner{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1.4fr);
  gap:32px;
  align-items:flex-start;
}

.servicios-empresas__intro{
  margin:-10px 0 18px;
  font-size:0.98rem;
  line-height:1.7;
  color:#4a5670;
}

.servicios-empresas__list{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  font-size:0.95rem;
  line-height:1.6;
  color:#4a5670;
}

.servicios-empresas__list li{
  margin-bottom:10px;
}

.servicios-empresas__list strong{
  color:#00295E;
  font-weight:700;
}

.servicios-empresas__cta{
  display:inline-block;
  margin-top:4px;
  padding:10px 22px;
  border-radius:999px;
  font-weight:600;
  font-size:0.95rem;
  text-decoration:none;
  background:#00295E;
  color:#ffffff;
  box-shadow:0 12px 26px rgba(0,0,0,0.18);
  transition:background .2s ease, transform .15s ease, box-shadow .15s ease;
  text-align: center;
}

.servicios-empresas__cta:hover{
  background:#001835;
  transform:translateY(-1px);
  box-shadow:0 16px 34px rgba(0,0,0,0.22);
}

.servicios-empresas__cta:active{
  transform:translateY(0);
  box-shadow:0 10px 20px rgba(0,0,0,0.2);
}

/* Caja lateral */

.servicios-empresas__right{
  align-self:stretch;
}

.servicios-empresas__box{
  background:#ffffff;
  border-radius:16px;
  padding:22px 20px;
  box-shadow:0 18px 48px rgba(10,26,54,0.15);
}

.servicios-empresas__box-title{
  margin:0 0 10px;
  font-size:1.1rem;
  font-weight:700;
  color:#00295E;
  text-align:center;
}

.servicios-empresas__box-text{
  margin:0 0 10px;
  font-size:0.95rem;
  line-height:1.6;
  color:#4a5670;
}

.servicios-empresas__box-list{
  margin:0 0 10px;
  padding-left:18px;
  font-size:0.95rem;
  line-height:1.6;
  color:#4a5670;
}

/* ================================
   SERVICIOS POR ESTACIÓN — PREMIUM + 3 COL
   ================================ */

.servicios-estaciones{
  padding:70px 0;
  background:#ffffff;
}

.servicios-estaciones__intro{
  max-width:700px;
  margin:0 auto 30px;
  text-align:center;
  font-size:0.98rem;
  line-height:1.6;
  color:#4a5670;
}

/* Grid: 3 columnas en desktop, centrado */
.servicios-estaciones__grid{
  display:grid;
  gap:28px;
  grid-template-columns:repeat(3, 1fr);
  max-width:1100px;
  margin:0 auto;
}

/* Tablet: 2 columnas */
@media (max-width:900px){
  .servicios-estaciones__grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

/* Mobile: 1 columna */
@media (max-width:600px){
  .servicios-estaciones__grid{
    grid-template-columns:1fr;
  }
}

/* Card estación premium */
.est-card{
  position:relative;
  background:#ffffff;
  border-radius:18px;
  padding:24px 20px 26px;
  box-shadow:0 22px 52px rgba(10,26,54,0.11);
  display:flex;
  flex-direction:column;
  gap:10px;
  border:1px solid rgba(0,0,0,0.05);
  overflow:hidden;
  transition:transform .15s ease, box-shadow .2s ease, border-color .15s ease;
}

/* Barra superior */
.est-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg,#00A033,#005aa1);
}

/* Título centrado */
.est-card__title{
  margin:10px 0 0;
  font-size:1.2rem;
  font-weight:700;
  color:#00295E;
  text-align:center;
}

.est-card__location{
  margin:2px 0 6px;
  font-size:0.9rem;
  color:#6c7690;
  text-align:center;
}

/* Lista alineada a la izquierda */
.est-card__list{
  list-style:none;
  padding:0;
  margin:10px 0 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:flex-start;
  font-size:0.95rem;
  color:#4a5670;
}

.est-card__list li{
  display:flex;
  align-items:flex-start;
  gap:6px;
}

/* CTA */
.est-card__cta{
  margin-top:auto;
  align-self:center;
  font-size:0.9rem;
  font-weight:600;
  text-decoration:none;
  color:var(--navbar-accent);
  padding:6px 0;
}

.est-card__cta:hover{
  text-decoration:underline;
}

/* Hover premium */
.est-card:hover{
  transform:translateY(-4px);
  box-shadow:0 26px 60px rgba(10,26,54,0.15);
  border-color:rgba(0,160,51,0.25);
}

/* ================================
   CTA FINAL
   ================================ */

.servicios-cta-final{
  background:#00295E;
  color:#ffffff;
  padding:50px 0;
}

.servicios-cta-final__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.servicios-cta-final__title{
  margin:0 0 6px;
  font-size:1.3rem;
  font-weight:700;
  text-align:center;
}

.servicios-cta-final__desc{
  margin:0;
  font-size:0.95rem;
  line-height:1.6;
  color:#e3e9f5;
  text-align:center;
}

.servicios-cta-final__btn{
  flex-shrink:0;
  display:inline-block;
  padding:10px 22px;
  border-radius:999px;
  font-weight:600;
  font-size:0.95rem;
  text-decoration:none;
  background:var(--navbar-accent);
  color:#ffffff;
  box-shadow:0 14px 32px rgba(0,0,0,0.35);
  transition:background .2s ease, transform .15s ease, box-shadow .15s ease;
}

.servicios-cta-final__btn:hover{
  background:#01852b;
  transform:translateY(-1px);
  box-shadow:0 18px 40px rgba(0,0,0,0.4);
}

.servicios-cta-final__btn:active{
  transform:translateY(0);
  box-shadow:0 10px 24px rgba(0,0,0,0.35);
}

/* ================================
   RESPONSIVE GENERAL
   ================================ */

@media (max-width:900px){

  .servicios-hero__inner{
    grid-template-columns:1fr;
  }

  .servicios-hero__right{
    justify-self:flex-start;
  }

  .servicios-diaadia__grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .servicios-empresas__inner{
    grid-template-columns:1fr;
  }

  .servicios-cta-final__inner{
    flex-direction:column;
    align-items:center;
  }

  .servicios-cta-final__btn{
    width:100%;
    text-align:center;
  }
}

@media (max-width:600px){
  .section__title{
    font-size:1.7rem;
    margin-bottom:30px;
  }

  .servicios-hero{
    padding:50px 0 40px;
  }

  .servicios-diaadia,
  .servicios-empresas,
  .servicios-estaciones{
    padding:50px 0;
  }

  .servicios-diaadia__grid{
    grid-template-columns:1fr;
  }
}
