/* Site público Mitra — identidade 100% angolana (vermelho, preto, amarelo) */

.site-angola {
    --ao-red: #ce1126;
    --ao-red-dark: #9f0f1e;
    --ao-black: #000000;
    --ao-yellow: #fcd116;
    --ao-yellow-soft: #fef9c3;
    --ao-cream: #fffbeb;
}

.site-angola {
    background-color: var(--ao-cream);
    color: #1c1917;
}

.site-angola .ao-eyebrow {
    color: var(--ao-red);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.site-angola .ao-text-accent {
    color: var(--ao-red);
}

.site-angola .ao-text-gold {
    color: #b45309;
}

.site-angola .ao-btn-primary {
    background-color: var(--ao-red);
    color: #fff;
}

.site-angola .ao-btn-primary:hover {
    background-color: var(--ao-red-dark);
}

.site-angola .ao-badge {
    border: 1px solid rgba(252, 209, 22, 0.45);
    background: rgba(206, 17, 38, 0.82);
    color: var(--ao-yellow);
}

.site-angola .ao-badge-light {
    border: 1px solid rgba(252, 209, 22, 0.35);
    background: rgba(0, 0, 0, 0.35);
    color: var(--ao-yellow);
}

.site-angola .ao-gradient-hero {
    background: linear-gradient(135deg, var(--ao-red) 0%, #1a1a1a 52%, #000 100%);
}

.site-angola .ao-gradient-cta {
    background: linear-gradient(135deg, var(--ao-red) 0%, #000 55%, #111 100%);
}

.site-angola .ao-icon-red {
    background: rgba(206, 17, 38, 0.1);
    color: var(--ao-red);
}

.site-angola .ao-icon-gold {
    background: rgba(252, 209, 22, 0.18);
    color: #92400e;
}

.site-angola .ao-icon-black {
    background: rgba(0, 0, 0, 0.08);
    color: #111;
}

.site-angola .ao-ring {
    box-shadow: 0 0 0 2px rgba(252, 209, 22, 0.45);
}

.site-angola .ao-flag-bar {
    height: 0.375rem;
    width: 100%;
    background: linear-gradient(to right, var(--ao-red) 0%, var(--ao-red) 33%, var(--ao-black) 33%, var(--ao-black) 66%, var(--ao-yellow) 66%, var(--ao-yellow) 100%);
}

.site-angola .landing-header {
    border-bottom-color: rgba(206, 17, 38, 0.12);
}

.site-angola .site-public-shell {
    --site-public-header-height: 4.5rem;
}

@media (min-width: 640px) {
    .site-angola .site-public-shell {
        --site-public-header-height: 4.75rem;
    }
}

.site-angola a.ao-link:hover {
    color: var(--ao-red);
}

.site-angola footer a:hover {
    color: var(--ao-yellow) !important;
}

.site-angola footer .material-symbols-outlined.text-blue-400,
.site-angola footer [class*="text-blue-"] {
    color: var(--ao-yellow) !important;
}

.site-angola .ao-tag {
    border-color: rgba(206, 17, 38, 0.18);
    background: rgba(252, 209, 22, 0.12);
    color: #7c2d12;
}

.site-angola .ao-carousel-dot-active {
    background: var(--ao-yellow) !important;
    width: 2rem;
}

.site-angola .activity-school-badge {
    background: rgba(0, 0, 0, 0.78);
    border: 1px solid rgba(252, 209, 22, 0.25);
}

/* ─── Telemóvel: tipografia do hero, benefícios e cartões PVC ───── */
@media (max-width: 639px) {
    /* Carrossel — slide cartões PVC (tag, título, descrição) */
    #welcome-carousel .carousel-slide h1 {
        font-size: 1.15rem !important;
        line-height: 1.28 !important;
        letter-spacing: -0.01em;
    }

    #welcome-carousel .carousel-slide p.text-slate-200,
    #welcome-carousel .carousel-slide p.text-stone-200 {
        font-size: 0.72rem !important;
        line-height: 1.5 !important;
    }

    #welcome-carousel .carousel-slide span.inline-block.text-xs,
    #welcome-carousel .carousel-slide .ao-badge-light {
        font-size: 0.58rem !important;
        letter-spacing: 0.12em !important;
        padding: 0.28rem 0.55rem !important;
    }

    /* Secção benefícios */
    #beneficios h2 {
        font-size: 1.05rem !important;
        line-height: 1.35 !important;
    }

    #beneficios .ao-eyebrow {
        font-size: 0.62rem !important;
        letter-spacing: 0.14em !important;
    }

    #beneficios > div > p.text-stone-600 {
        font-size: 0.78rem !important;
    }

    /* Pré-visualização cartões — tamanho real (scale do partial); só tipografia mais compacta */
    .hero-card-stage {
        padding: 0.25rem 0 0.5rem !important;
    }

    /* Cartão de estudante — cabeçalho mais compacto (nome da escola + título) */
    .mitra-id-card--student .mitra-id-card__header h3 {
        font-size: 6.5px !important;
        line-height: 1.1 !important;
        letter-spacing: 0.02em !important;
    }

    .mitra-id-card--student .mitra-id-card__header p {
        font-size: 5.5px !important;
        line-height: 1.1 !important;
    }

    .hero-card-stage .mitra-id-card__role {
        font-size: 4.25pt !important;
    }

    .hero-card-stage .mitra-id-card__name {
        font-size: 6.5pt !important;
        line-height: 1.12 !important;
    }

    .hero-card-stage .mitra-id-card__meta,
    .hero-card-stage .mitra-id-card__matricula-footer {
        font-size: 4.25pt !important;
        line-height: 1.3 !important;
    }

    .hero-card-stage .mitra-id-card__photo-placeholder {
        font-size: 13pt !important;
    }

    .mitra-id-card--employee .mitra-id-card__header h3 {
        font-size: 10px !important;
        line-height: 1.15 !important;
    }

    .mitra-id-card--employee .mitra-id-card__header p {
        font-size: 8px !important;
        line-height: 1.15 !important;
    }

    .feature-card .mitra-id-card__role {
        font-size: 4pt !important;
    }

    .feature-card .mitra-id-card__name {
        font-size: 6pt !important;
        line-height: 1.12 !important;
    }

    .feature-card .mitra-id-card__meta,
    .feature-card .mitra-id-card__matricula-footer {
        font-size: 4pt !important;
        line-height: 1.3 !important;
    }

    .feature-card .mitra-id-card__photo-placeholder {
        font-size: 12pt !important;
    }
}

@media (max-width: 399px) {
    #welcome-carousel .carousel-slide h1 {
        font-size: 1.02rem !important;
    }

    #beneficios h2 {
        font-size: 0.95rem !important;
    }
}
