/* servicios.css – compartida por servicios_personales y servicios_empresa */

.servicios-hero { min-height: 50vh; }
.servicios-hero::after { background: linear-gradient(135deg, rgba(0,0,0,0.45), rgba(0,0,0,0.2)); }
.servicios-hero .hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.hero-label {
    font-family: 'Oblik', 'Montserrat', sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
    padding: 0.3rem 1rem;
    border: 1px solid rgba(255,255,255,0.4);
    border-radius: 20px;
}
.servicios-hero .hero-content img { max-width: 480px; }

/* Bloques */
.srv-block { padding: 5rem 1.5rem; }
.srv-block.bg-cream { padding: 5rem 0; }
.srv-block.bg-cream > .container { padding: 0 1.5rem; }

.srv-section-title {
    max-width: 600px;
    margin-bottom: 3rem;
}

/* Intro grid */
.srv-intro { margin-bottom: 4rem; }
.srv-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 3rem;
    align-items: center;
}
.srv-intro-img img { border-radius: var(--radius); box-shadow: var(--shadow); }
.srv-p {
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.8;
    color: #374151;
}
.srv-note-img { max-width: 100%; margin-top: 2rem; }

/* Cards row */
.srv-cards-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 2.5rem;
}
.srv-card {
    background: var(--cream);
    border-radius: var(--radius);
    padding: 2.5rem;
    box-shadow: var(--shadow);
    transition: transform var(--trans), box-shadow var(--trans);
}
.srv-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.10);
}
.srv-card-title { max-width: 280px; margin-bottom: 1.2rem; }

/* Foto strip */
.srv-photo-strip { border-radius: var(--radius); overflow: hidden; margin-bottom: 2rem; }
.srv-photo-strip img { width: 100%; height: 280px; object-fit: cover; object-position: center; }

/* Coaches grid */
.srv-coaches-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}
.srv-coach-item { display: flex; flex-direction: column; gap: 1.5rem; }
.srv-coach-photo {
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    width: 100%;
    height: 280px;
    object-fit: cover;
}

/* Individuo hero */
.srv-individuo-hero {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 3rem;
    align-items: center;
}
.srv-individuo-hero img:first-child {
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

/* Empresa hero banner */
.empresa-hero-banner {
    border-radius: var(--radius);
    overflow: hidden;
    margin-bottom: 4rem;
}
.empresa-hero-banner img {
    width: 100%;
    height: 480px;
    object-fit: cover;
    object-position: center top;
}

/* Empresa programas */
.empresa-programa {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 3rem;
    align-items: center;
    margin-bottom: 4rem;
    background: var(--cream);
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
}
.empresa-programa.reverse {
    grid-template-columns: 1.5fr 1fr;
    direction: rtl;
}
.empresa-programa.reverse > * { direction: ltr; }
.empresa-programa-img img {
    width: 100%;
    height: 100%;
    min-height: 320px;
    object-fit: cover;
    display: block;
}
.empresa-programa-text {
    padding: 2.5rem;
}

/* Responsive */
@media (max-width: 1024px) {
    .empresa-hero-banner img {
        height: 320px;
    }
}

@media (max-width: 900px) {
    .srv-intro-grid   { grid-template-columns: 1fr; }
    .srv-intro-img    { display: none; }
    .srv-coaches-grid { grid-template-columns: 1fr; }
    .srv-individuo-hero { grid-template-columns: 1fr; }
    .srv-individuo-hero img:first-child { max-height: 240px; object-fit: cover; }
}
@media (max-width: 680px) {
    .srv-cards-row      { grid-template-columns: 1fr; }
    .empresa-programa,
    .empresa-programa.reverse {
        grid-template-columns: 1fr;
        direction: ltr;
    }
    .empresa-hero-banner img {
        height: 220px;
    }
}

@media (max-width: 480px) {
    .srv-block          { padding: 3rem 1.5rem; }
    .srv-block.bg-cream { padding: 3rem 0; }
    .srv-block.bg-cream > .container { padding: 0 1.2rem; }
    .srv-card           { padding: 1.8rem 1.5rem; }
    .srv-coach-photo    { height: 200px; }
    .empresa-programa-text { padding: 1.5rem; }
    .srv-photo-strip img { height: 180px; }
}
