/* ============================================================
   EMPRESA.CSS — iT2Advise
   Página de Empresa: Disaster Recovery, Networking, Serviços,
   Comunicações e Segurança
   ============================================================ */

/* ---- Reset e base ---- */
.empresa-main {
    margin-top: 0;
    font-family: 'Inter', 'Poppins', sans-serif;
}

/* Override: Header container ocupa largura total */
.header .container {
    max-width: 100%;
    padding: 0 40px;
}

/* ---- Container ---- */
.emp-container {
    width: 100%;
    padding: 0 60px;
}

/* ---- Secção base ---- */
.emp-section {
    width: 100%;
}

/* ---- Bloco de texto ---- */
.emp-text-block {
    padding: 50px 0 40px 0;
}

/* ---- Títulos ---- */
.emp-title {
    font-size: 3.8rem;
    font-weight: 900;
    line-height: 1.1;
    margin: 0 0 20px 0;
    letter-spacing: -1px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.emp-title-dark   { color: #243a52; }
.emp-title-blue   { color: #537792; }
.emp-title-white  { color: #ffffff; }
.emp-title-lightblue { color: #5ab4e5; }

/* ---- Divisor ---- */
.emp-divider {
    height: 3px;
    background: linear-gradient(to right, #2a6db5 60%, transparent 100%);
    width: 100%;
    margin: 20px 0 40px 0;
}

.emp-divider-blue {
    background: linear-gradient(to right, #2a6db5 60%, transparent 100%);
}

.emp-divider-lightblue {
    background: linear-gradient(to right, #5ab4e5 60%, transparent 100%);
}

.emp-divider-short {
    width: 100%;
    margin: 15px 0 25px 0;
}

/* ---- 2 Colunas de texto ---- */
.emp-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
}

.emp-two-col p {
    font-size: 1rem;
    line-height: 1.85;
    text-align: justify;
    margin: 0;
}

.emp-two-col-dark p {
    color: #2a2a2a;
}

/* ---- Imagem hero (topo) — banner 1200x500 ---- */
.emp-hero-img {
    width: 100%;
    aspect-ratio: 16 / 7;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    overflow: hidden;
    position: relative;
    min-height: 300px;
}

/* Gradiente CSS sobre a imagem — fade suave para branco sem linha visível */
.emp-hero-img::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80%;
    background: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,0.2) 30%, rgba(255,255,255,0.5) 60%, rgba(255,255,255,0.8) 85%, #ffffff 100%);
    pointer-events: none;
}

/* ---- Imagem bottom (fundo) — banner 1200x500 ---- */
.emp-bottom-img {
    width: 100%;
    aspect-ratio: 12 / 5;
    overflow: hidden;
    background: #ffffff;
    position: relative;
}

.emp-bottom-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Gradiente no TOPO da imagem de networking — fade de #111 para transparente */
.emp-networking .emp-bottom-img {
    background: #111111;
    aspect-ratio: unset;
    height: 750px;
}

.emp-networking .emp-bottom-img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: linear-gradient(to bottom, #111111 0%, rgba(17,17,17,0.7) 30%, rgba(17,17,17,0.2) 70%, transparent 100%);
    pointer-events: none;
}

/* Gradiente no FUNDO da imagem de networking — fade para branco (módulo Serviços) */
.emp-networking .emp-bottom-img::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30%;
    background: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,0.5) 50%, rgba(255,255,255,0.95) 85%, #ffffff 100%);
    pointer-events: none;
    z-index: 1;
}

/* ============================================================
   DISASTER RECOVERY
   ============================================================ */
.emp-disaster {
    background: #ffffff;
    margin-top: 0;
    padding-top: 0;
}

.emp-disaster .emp-two-col p {
    color: #2a2a2a;
}

/* ============================================================
   NETWORKING
   ============================================================ */
.emp-networking {
    background: #111111;
    padding-bottom: 0;
    overflow: hidden;
}

.emp-networking .emp-text-block {
    padding-bottom: 40px;
}

/* Layout: texto esquerda + lista direita */
.emp-networking-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-top: 10px;
}

.emp-networking-text p {
    color: #e0e0e0;
    font-size: 0.95rem;
    line-height: 1.85;
    text-align: justify;
    margin-bottom: 20px;
}

.emp-networking-text p:last-child {
    margin-bottom: 0;
}

/* Lista de serviços */
.emp-networking-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.emp-networking-list li {
    padding: 13px 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    text-align: right;
}

.emp-networking-list li:last-child {
    border-bottom: none;
}

.emp-list-white { color: #ffffff; }
.emp-list-blue  { color: #4a9fd4; }

/* ============================================================
   SERVIÇOS
   ============================================================ */
.emp-servicos {
    background: #ffffff;
    padding-bottom: 0;
    margin-bottom: 0;
}

.emp-servicos > .emp-container {
    padding-bottom: 0;
}

.emp-servicos .emp-text-block {
    padding-top: 0;
    margin-top: -60px;
    position: relative;
    z-index: 2;
}

.emp-servicos .emp-two-col p {
    color: #2a2a2a;
}

/* Blocos de serviço: 3 linhas horizontais */
.emp-servicos-blocks {
    margin-bottom: 0 !important;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-top: 0;
    padding: 0;
}

.emp-servico-row {
    display: grid;
    grid-template-columns: 40% 60%;
    width: 100%;
    height: 320px;
    /* Altura fixa, responsivo */
}

.emp-servico-label {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 40px 50px;
    height: 100%;
    overflow: hidden;
}

.emp-servico-label span {
    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.6;
    letter-spacing: 0.5px;
    color: #ffffff;
    text-transform: uppercase;
    word-wrap: break-word;
    width: 100%;
}

.emp-label-dark { background: #1e3a5f; }
.emp-label-blue { background: #2a6db5; }

.emp-servico-img {
    overflow: hidden;
    background: #f5f5f5;
    /* Ocupa toda a altura e largura da faixa */
    height: 100%;
    width: 100%;
}

.emp-servico-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

/* Ajuste de posição por bloco */
.emp-servico-row:nth-child(1) .emp-servico-img img {
    object-position: center 25%;
}

.emp-servico-row:nth-child(2) .emp-servico-img img {
    object-position: center center;
}

.emp-servico-row:nth-child(3) .emp-servico-img img {
    object-position: center 35%;
}

/* ============================================================
   COMUNICAÇÕES
   ============================================================ */
.emp-comunicacoes {
    background: #f8f9fa;
    padding-bottom: 0;
}

.emp-comunicacoes .emp-bottom-img {
    background: #f8f9fa;
    aspect-ratio: unset;
    height: 750px;
}

/* Fade de cima — de #f8f9fa para transparente */
.emp-bottom-img-fade-both::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, #f8f9fa 0%, rgba(248,249,250,0.7) 40%, rgba(248,249,250,0.1) 80%, transparent 100%);
    pointer-events: none;
    z-index: 1;
}

/* Fade de baixo — para a cor da secção seguinte (#0d2137) */
.emp-bottom-img-fade-both::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, transparent 0%, rgba(13,33,55,0.2) 40%, rgba(13,33,55,0.7) 70%, #0d2137 100%);
    pointer-events: none;
    z-index: 1;
}

.emp-comunicacoes .emp-title-dark {
    color: #1a2a3a;
}

.emp-comunicacoes .emp-two-col p {
    color: #2a2a2a;
}

/* ============================================================
   SEGURANÇA
   ============================================================ */
.emp-seguranca {
    background: #0d2137;
    padding-bottom: 0;
}

.emp-seguranca .emp-bottom-img {
    background: #0d2137;
    aspect-ratio: unset;
    height: 750px;
}

/* Fade de cima — de #0d2137 para transparente */
.emp-seguranca-fade::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, #0d2137 0%, rgba(13,33,55,0.7) 40%, rgba(13,33,55,0.1) 80%, transparent 100%);
    pointer-events: none;
    z-index: 1;
}

/* Fade de baixo — para o footer (#111111) */
.emp-seguranca-fade::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: linear-gradient(to bottom, transparent 0%, rgba(17,17,17,0.2) 40%, rgba(17,17,17,0.7) 70%, #111111 100%);
    pointer-events: none;
    z-index: 1;
}

/* Layout: texto esquerda + lista direita */
.emp-seguranca-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-top: 10px;
}

.emp-seguranca-text p {
    color: #d0e8f5;
    font-size: 0.95rem;
    line-height: 1.85;
    text-align: justify;
    margin-bottom: 20px;
}

.emp-seguranca-text p:last-child {
    margin-bottom: 0;
}

.emp-seguranca-subtitle {
    font-size: 1.6rem;
    font-weight: 900;
    color: #ffffff;
    line-height: 1.3;
    margin: 0 0 5px 0;
    letter-spacing: 0.5px;
}

.emp-seguranca-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.emp-seguranca-list li {
    color: #d0e8f5;
    font-size: 0.95rem;
    line-height: 1.6;
    padding: 10px 0 10px 28px;
    position: relative;
    border-bottom: 1px solid rgba(90,180,229,0.15);
}

.emp-seguranca-list li:last-child {
    border-bottom: none;
}

.emp-seguranca-list li::before {
    content: "●";
    position: absolute;
    left: 0;
    top: 10px;
    color: #5ab4e5;
    font-size: 0.8rem;
}

/* ============================================================
   FOOTER
   ============================================================ */


/* ============================================================
   RESPONSIVO
   ============================================================ */
@media (max-width: 1024px) {
    .emp-title {
        font-size: 2.8rem;
    }

    .emp-two-col {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .emp-networking-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .emp-seguranca-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .emp-networking-list li {
        text-align: left;
    }
}

@media (max-width: 768px) {
    .header .container {
        padding: 0 15px;
    }
    
    .emp-container {
        padding: 0 20px;
    }
    
    /* Hero: aspect-ratio maior para mostrar mais da imagem em mobile */
    .emp-hero-img {
        aspect-ratio: 16 / 9;
        background-attachment: scroll;
    }

    .emp-title {
        font-size: 2.2rem;
    }

    /* Comunicações: altura reduzida em mobile */
    .emp-comunicacoes .emp-bottom-img {
        height: 280px;
    }

    /* Networking: altura reduzida em mobile */
    .emp-networking .emp-bottom-img {
        height: 280px;
    }

    /* Segurança: altura reduzida em mobile */
    .emp-seguranca .emp-bottom-img {
        height: 280px;
    }

    .emp-servico-row {
        grid-template-columns: 1fr;
        height: auto;
    }

    .emp-servico-label {
        padding: 20px 20px;
        min-height: 80px;
    }

    .emp-servico-img {
        height: 200px;
    }
}
