/* Estilos de la pantalla de servicio al cliente; los colores se heredan de style.css. */
.servicio-main {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(42px, 7vw, 84px) 0;
    color: var(--verde-oscuro);
}

.servicio-titulo { margin-bottom: 32px; }
.servicio-titulo h1 { margin: 8px 0 12px; font-size: clamp(2rem, 4.5vw, 3.4rem); line-height: 1.08; }
.servicio-titulo > p:last-child { color: var(--texto-suave); max-width: 640px; }

/* Dos columnas: navegación compacta y contenido principal más ancho. */
.marco-legal {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(0, 2.2fr);
    gap: 24px;
    align-items: start;
}
.marco-legal-menu,
.marco-legal-contenido {
    border: 1px solid #d8e4dc;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(18, 61, 42, .07);
}
.marco-legal-menu { display: grid; gap: 8px; padding: 12px; }
.marco-legal-tab {
    width: 100%;
    padding: 15px 16px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--verde-oscuro);
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}
.marco-legal-tab:hover,
.marco-legal-tab.activa { background: #e9f3ed; color: #123d2a; }
.marco-legal-tab:focus-visible { outline: 3px solid #17633c; outline-offset: 2px; }
.marco-legal-contenido { min-height: 390px; padding: clamp(24px, 4vw, 44px); }
.marco-legal-panel h2 { margin: 8px 0 16px; font-size: clamp(1.5rem, 3vw, 2.2rem); }
.marco-legal-panel > p:not(.etiqueta-seccion) { max-width: 760px; color: var(--texto-suave); line-height: 1.7; }
.pasos-reclamacion { display: grid; gap: 12px; margin: 24px 0; padding-left: 24px; line-height: 1.6; }
.pasos-reclamacion a { color: #17633c; font-weight: 700; }
.boton-descarga-reclamo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 18px;
    border-radius: 9px;
    background: #17633c;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}
.boton-descarga-reclamo:hover { background: #123d2a; }
.nota-servicio { margin-top: 18px; font-size: .92rem; }
.marco-legal-panel[hidden] { display: none; }

@media (max-width: 760px) {
    .marco-legal { grid-template-columns: 1fr; gap: 14px; }
    .marco-legal-menu { grid-template-columns: 1fr 1fr; }
    .marco-legal-tab { padding: 13px 12px; }
    .marco-legal-contenido { min-height: 340px; }
}
@media (max-width: 430px) {
    .marco-legal-menu { grid-template-columns: 1fr; }
}