﻿/* Set padding to keep content from hitting the edges */
.body-content {
    margin-top: 15px;
    padding-left: 15px;
    padding-right: 15px;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    max-width: 350px;
}

/* -------- Junín theme helpers (mínimo) -------- */
:root {
    --js-bg: #0b0c10;
    --js-gradient: linear-gradient(180deg,#0a0c0f 0%,#0b0c10 60%,#0a0c0f 100%);
}

.hero-bg {
    background: var(--js-gradient);
    color: #eaf2f8;
}

.tracking {
    letter-spacing: .12em;
}

.kpi {
    padding: .35rem .25rem;
    border-radius: .5rem;
    background: rgba(255,255,255,.06);
}

.num-badge {
    width: 34px;
    height: 34px;
    border-radius: .6rem;
    display: grid;
    place-items: center;
    font-weight: 700;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(0,0,0,.04);
    color: #6c757d;
}
.num-badge2 {
    width: 234px;
    height: 34px;
    border-radius: .6rem;
    display: grid;
    place-items: center;
    font-weight: 700;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(0,0,0,.04);
    color: #6c757d;
}

.ph {
    border: 1px dashed rgba(0,0,0,.2);
    border-radius: .75rem;
    display: grid;
    place-items: center;
    color: #6c757d;
    background: rgba(0,0,0,.03);
}

.aspect-4-3 {
    aspect-ratio: 4 / 3;
}

html {
    scroll-behavior: smooth;
}
/* ===== Junín – Ajustes visuales ===== */

/* 1) Imágenes de servicios con misma altura (sin tocar archivos) */
.card-img-top {
    aspect-ratio: 3 / 2; /* mismas proporciones para todas */
    object-fit: cover; /* recorta sin deformar */
    width: 100%;
    height: auto;
}

/* 2) Hero más elegante (overlay + contraste) */
.hero-bg {
    background: linear-gradient(160deg, rgba(0,0,0,.42), rgba(11,12,16,.46)), url('/Images/hero.jpg') center/cover no-repeat;
    color: #f2f6f8;
    padding-top: 6rem;
    padding-bottom: 5rem;
}

    .hero-bg .lead {
        color: #dbe3e8 !important;
    }
    /* texto bajo el H1 más legible */
    .hero-bg .btn {
        box-shadow: 0 8px 24px rgba(0,0,0,.25);
    }

/* 3) Tarjetas de servicios consistentes */
.card.h-100 .card-body {
    min-height: 170px;
}
/* evita que una sea “más corta” */

/* 4) “Como funciona” – mismas alturas y limpieza de cortes */
#como-funciona .p-3 {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

#como-funciona .num-badge {
    width: 34px;
    height: 34px;
    border-radius: .6rem;
    display: grid;
    place-items: center;
    font-weight: 700;
    border: 1px solid rgba(0,0,0,.08);
    background: rgba(0,0,0,.04);
    color: #6c757d;
}

#como-funciona .text-body-secondary {
    color: #626d78 !important;
}

/* 5) Micro-ajustes tipográficos */
.tracking {
    letter-spacing: .12em;
}

/* 6) (Opcional) si tu navegador no soporta aspect-ratio,
      descomenta estas dos líneas para forzar altura fija:
.card-img-top{ height:220px; }
*/
/* ===== Contraste en fondos claros (cards, secciones blancas) ===== */

/* Forzamos colores más oscuros por defecto */
:root {
    --bs-body-color: #212529; /* texto principal */
    --bs-secondary-color: #495057; /* texto secundario legible */
    --bs-tertiary-color: #6c757d; /* aún más suave, pero legible */
}

/* Si un bloque tiene fondo blanco/clarito, asegura buen contraste */
.bg-white,
.bg-body,
.bg-body-tertiary,
.card {
    color: #212529;
    --bs-secondary-color: #495057;
    --bs-tertiary-color: #6c757d;
}

/* Override directo para cualquier uso existente */
.text-body-secondary {
    color: #495057 !important;
}

.text-muted {
    color: #6c757d !important;
}

small, .small {
    color: #6c757d !important;
}

/* (Opcional) párrafos dentro de cards más oscuros */
.card p {
    color: #343a40;
}
/* ===== Galería de Instagram ===== */
.insta-thumb {
    position: relative;
    overflow: hidden;
    display: block;
    border-radius: 1rem;
}

    .insta-thumb img {
        aspect-ratio: 1/1;
        object-fit: cover;
        transition: transform .4s ease, filter .4s ease;
    }

    .insta-thumb::after {
        content: ""; /* ícono Instagram (Font Awesome si lo tienes) */
        position: absolute;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        color: #fff;
        font-size: 2rem;
        opacity: 0;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        transition: opacity .4s ease;
    }

    .insta-thumb:hover img {
        transform: scale(1.08);
        filter: brightness(.7);
    }

    .insta-thumb:hover::after {
        opacity: 1;
    }
.insta-thumb {
    cursor: pointer;
    background: #000; /* Fondo negro para que no “salte” al cargar */
}

    .insta-thumb .insta-play-icon {
        font-size: 2rem;
        line-height: 1;
        color: rgba(255,255,255,.9);
        text-shadow: 0 2px 8px rgba(0,0,0,.6);
        opacity: 0;
        transition: opacity .2s ease;
        pointer-events: none;
    }

    .insta-thumb.paused .insta-play-icon {
        opacity: 1; /* Mostrar icono cuando está pausado */
    }

.insta-video {
    object-fit: cover; /* Relleno como foto cuadrada */
}

@media (hover:hover) and (pointer:fine) {
    /* En desktop: reproducir al pasar el ratón */
    .insta-thumb:hover .insta-play-icon {
        opacity: 0; /* Se oculta al reproducir */
    }
}
