/* Custom Taekwondo Enhancements for Porto Medical Demo */

.object-fit-cover {
    object-fit: cover !important;
}

.letter-spacing-1 {
    letter-spacing: 1px !important;
}

.letter-spacing-2 {
    letter-spacing: 2px !important;
}

.font-8 {
    font-size: 0.8rem !important;
}

.min-h-250 {
    min-height: 250px;
}

.line-height-lg {
    line-height: 1.8 !important;
}

.schedule-card-item {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.schedule-card-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08) !important;
}

.gallery-item img {
    transition: transform 0.4s ease;
}

.gallery-item:hover img {
    transform: scale(1.06);
}

.box-shadow-custom {
    box-shadow: 10px 10px 74px -15px rgba(0, 0, 0, 0.33);
}

.custom-button {
    border-radius: 30px !important;
    padding: 10px 28px;
    font-weight: 700;
}

.medical-schedules .box-one,
.medical-schedules .box-two,
.medical-schedules .box-three,
.medical-schedules .box-four {
    transition: all 0.3s ease;
}

.medical-schedules .box-one:hover,
.medical-schedules .box-two:hover,
.medical-schedules .box-three:hover,
.medical-schedules .box-four:hover {
    filter: brightness(1.08);
}

/* ===================================================
   OTIMIZAÇÕES GLOBAIS DE TIPOGRAFIA E LEITURA
   =================================================== */
body {
    font-size: 1rem;
    line-height: 1.68;
    color: #374151;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    color: #111827;
    font-weight: 700;
    line-height: 1.28;
}

.text-dark {
    color: #111827 !important;
}

.lead {
    font-size: 1.15rem !important;
    line-height: 1.7 !important;
    color: #4b5563 !important;
}

/* Badges estilizadas e com fonte nítida */
.section-badge {
    display: inline-block;
    background: rgba(220, 38, 38, 0.1);
    color: #dc2626;
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 6px 16px;
    border-radius: 50px;
    margin-bottom: 12px;
}

/* Card hover lift e sombras refinadas */
.card-hover-lift {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.card-hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
}

