/* ================= RESET ================= */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
}

body {
    background: #f4f4f4;
    color: #333;

    overflow-x: hidden;     /* 🔑 proteção global */
    padding-top: 95px;      /* compensa header fixo */
}

/* ================= IMAGENS (FIX GLOBAL) ================= */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ================= VARIÁVEIS ================= */
:root {
    --azul-logo: #103855;
    --laranja-logo: #e75c3f;
}

/* ================= HEADER ================= */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 95px;

    display: flex;
    align-items: center;          /* 🔑 centra tudo verticalmente */
    justify-content: space-between;

    padding: 0 24px;
    background: #fff;
    z-index: 1000;
}

/* ===== LOGO NAV (GLOBAL) ===== */
.header .logo {
    height: 100%;                /* ocupa toda a altura do header */
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.header .logo img {
    height: 90px;                /* 🔑 AQUI é o ajuste fino do logo */
    width: auto;
    object-fit: contain;
    display: block;
}


/* ================= MENU ================= */
.header nav a {
    color: var(--azul-logo);
    margin-left: 30px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    transition: color 0.25s ease;
}

.header nav a:hover {
    color: var(--laranja-logo);
}
/* ================= HERO ================= */
.hero {
  position: relative;
  background: url("../images/hero-incendio.jpg") center/cover no-repeat;

  height: 70vh;           /* 🔑 antes era 90vh 75 */
  min-height: 420px;      /* 🔑 ligeiramente mais baixo 460 */

  width: 100%;
  max-width: 100%;
  overflow: visible;

  z-index: 1;
}


.hero-overlay {
  position: absolute;
  inset: 0;

  background: rgba(0,0,0,0.6);
  color: #fff;

  display: flex;
  flex-direction: column;
  align-items: center;

  justify-content: flex-start; /* 🔑 deixa de centrar verticalmente */
  padding-top: 28vh;           /* 🔑 puxa o texto para cima */

  text-align: center;
  padding-left: 20px;
  padding-right: 20px;
}

.hero h1 {
  font-size: 1.7em;
  font-weight: 700;
  margin-bottom: 12px;
}

.hero p {
  font-size: 0.95em;
  opacity: 0.95;
  margin-bottom: 18px;
}

/* ================= BADGES ================= */
.badges img {
  height: 90px;
  margin-bottom: 25px;
}

/* ================= BOTÃO ================= */
.btn {
    background: var(--laranja-logo);
    color: white;
    padding: 15px 35px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 16px;
    text-decoration: none;
}

.btn:hover {
    background: #d94e33;
}

/* ================= CARROSSEL ================= */

.carousel-section {
    position: relative;
    margin-top: -100px;   /* overlap visual */
    z-index: 20;
    overflow: visible;
}

/* TÍTULO DO CARROSSEL */
.carousel-section h2 {
    display: block;
    width: 100%;
    margin-bottom: 25px;

    color: #ffffff;
    font-weight: 700;
    text-align: center;

    text-shadow:
        0 2px 6px rgba(0, 0, 0, 0.6),
        0 0 20px rgba(0, 0, 0, 0.4);
}

/* WRAPPER — corta só o scroll horizontal */
.carousel-wrapper {
    position: relative;
    padding-top: 20px;    /* 🔑 espaço REAL para o hover */
    overflow-x: hidden;
    overflow-y: visible;
    width: 100%;
}


/* LISTA */
.carousel {
    display: flex;
    gap: 18px;
    width: fit-content;
    will-change: transform;
}

/* ================= JUSTIFICAÇÃO TEXTO MODAL ================= */

#modalDescription {
    text-align: justify;
    line-height: 1.6;
}

/* ================= SLIDE ================= */
.slide {
    min-width: 220px;
    max-width: 220px;
    height: 155px;
    padding: 18px 16px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    /* 🔑 REMOVIDO background daqui */
    border-radius: 18px;
    color: white;
    text-decoration: none;

    position: relative;
    z-index: 1;

    box-shadow: 0 10px 24px rgba(0,0,0,0.28);
    transition: transform 0.28s ease, box-shadow 0.28s ease;
}

/* 🔑 sobe e flutua sem ser cortado */
.slide:hover {
    transform: translateY(-10px);
    z-index: 10;
    box-shadow: 0 22px 48px rgba(0,0,0,0.38);
}

/* ÍCONE — altura fixa para alinhar todos */
.slide .icon {
    width: 52px;
    height: 52px;
    background: transparent;  /* ✅ remove fundo branco */
    border-radius: 0;          /* opcional */

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 12px;
}


/* TEXTO — cresce só para baixo */
.slide .text {
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1.25;
    min-height: 2.5em;
}


/* ================= CARROSSEL - CURSOS ================= */
.slide.course-slide {
    background: linear-gradient(135deg, var(--laranja-logo), #f06a4d);
}

.slide.course-slide .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}


/* ================= CARROSSEL - SERVIÇOS ================= */
.slide.service-slide {
    background: linear-gradient(135deg, var(--azul-logo), #1f4f73);
}

.slide.service-slide .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}


/* ================= ÍCONES (CONTROLO TOTAL) ================= */
/* 🔑 TODOS os ícones ficam exatamente do mesmo tamanho */
.slide .icon {
    width: 52px;
    height: 52px;
}

.slide .icon img {
    width: 52px;          /* 🔥 tamanho visual do ícone */
    height: 52px;
    object-fit: contain;
    display: block;
}


/* ================= LEGAL ================= */
.legal {
    position: relative;
    padding: 80px 40px;
    text-align: center;
    background: #f6f8fa;
    color: #1f2b36;
}

.legal h2 {
    color: var(--azul-logo);
    margin-bottom: 18px;
}

.legal p {
    max-width: 900px;
    margin: 0 auto 14px;
    line-height: 1.6;
}

.legal p.highlight {
    color: var(--laranja-logo);
    font-weight: 700;
    font-size: 18px;
    margin-top: 20px;
    line-height: 1.4;
}


/* ================= FORMAÇÃO ================= */
.training {
    position: relative;
    background: white;
    padding: 40px 40px 60px;
    text-align: center;
}

.training h2 {
    color: var(--azul-logo);
    margin-bottom: 10px;
}

.training-grid {
    margin-top: 25px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
    max-width: 1100px;
    margin-inline: auto;
}

.training-card {
    background: #f4f6f8;
    color: #1f2b36;
    border-radius: 18px;
    padding: 30px 25px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.training-card h3,
.training-card h4 {
    color: var(--azul-logo);
}

.training-card p {
    color: #444;
}

.training-icon {
    font-size: 38px;
    margin-bottom: 15px;
}

/* ================= FIX ÂNCORAS COM HEADER FIXO ================= */
#cursos {
    scroll-margin-top: 120px;
}

#servicos {
    scroll-margin-top: 120px;
}


/* ================= SERVIÇOS ================= */
.services {
    position: relative;          /* 🔑 defensivo */
    background: #f4f6f8;
    padding: 60px 40px;
    text-align: center;
}

.services h2 {
    color: var(--azul-logo);
    margin-bottom: 30px;
}

/* ================= SERVIÇOS - GRID ================= */
.services-grid {
    margin-top: 25px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 30px;
    max-width: 1100px;
    margin-inline: auto;
}

/* ================= SERVIÇOS - CARD ================= */
.services-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 30px 25px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);

    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* ================= ÍCONE DOS SERVIÇOS ================= */
.services-card img,
.services-card svg,
.services-card i,
.services-card .icon {
    display: block;
    margin: 0 auto 14px;
}

/* ================= POPUP CURSO (FINAL LIMPO) ================= */

.course-modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.65);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 3000;
}

.course-modal-content {
    width: 90%;
    max-width: 680px;
    background: linear-gradient(135deg, var(--azul-logo), var(--laranja-logo));
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 20px 40px rgba(0,0,0,0.35);
    animation: fadeUp 0.3s ease;
}

/* ================= SIGO - FORMAÇÃO CERTIFICADA (PÁGINA) ================= */

.training-badge img {
    max-width: 110px;
    height: auto;
    display: block;
    margin: 30px auto;
}

/* ================= SIGO - POPUP CURSO ================= */

.course-cert {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid #e6e6e6;
    text-align: center;
}

.course-cert img {
    height: 34px;       /* 🔑 só no popup */
    width: auto;
    max-width: none;
    display: block;
}

.course-cert span {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #1f2b36;
}

/* ================= HEADER ================= */

.course-modal-header {
    position: relative;
    padding: 36px 24px 30px;
    text-align: center;
    color: #ffffff;
}

/* ÍCONE DO POPUP (ÚNICO E DEFINITIVO) */
.modal-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 14px;

    background: rgba(255,255,255,0.18);
    border-radius: 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 42px;   /* ✅ AJUSTE FINAL – ÍCONE MAIOR */
    line-height: 1;

    box-shadow: 0 10px 25px rgba(0,0,0,0.25);
}

/* Se não houver ícone, não ocupa espaço */
.modal-icon:empty {
    display: none;
}


/* Se não houver ícone, não ocupa espaço */
.modal-icon:empty {
    display: none;
}

/* TÍTULO */
.course-modal-header h2 {
    font-size: 1.9rem;
    font-weight: 700;
    margin: 0;
}

/* BOTÃO FECHAR (X) */
.course-modal-close {
    position: absolute;
    top: 14px;
    right: 16px;

    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 22px;
    line-height: 1;

    background: rgba(255,255,255,0.18);
    border-radius: 50%;
    border: none;
    color: #ffffff;
    cursor: pointer;
    z-index: 10;
}

.course-modal-close:hover {
    background: rgba(255,255,255,0.3);
}

/* ================= CORPO ================= */

.course-modal-body {
    background: #ffffff;
    padding: 25px;
}

.course-details {
    list-style: none;
    margin: 20px 0;
    padding: 0;
}

.course-details li {
    margin-bottom: 8px;
}


/* ================= FOOTER ================= */
footer {
    background: #1f2933;
    color: white;
    text-align: center;
    padding: 25px;
}

/* ================= MOBILE (FIX ANDROID) ================= */
@media (max-width: 768px) {

    body {
        padding-top: 95px;
    }

    /* HERO — altura segura para Android */
    .hero {
        height: auto;
        min-height: calc(100svh - 95px);
        background-position: center center;
    }

    .hero-overlay {
        min-height: calc(100svh - 95px);
        transform: none;
        padding: 40px 20px;
    }

    .hero h1,
    .hero p {
        transform: none;
        text-align: center;
    }

    .hero h1 {
        font-size: 1.35em;
        margin-bottom: 12px;
    }

    .hero p {
        font-size: 0.9em;
    }

    /* CARROSSEL — ajuste mobile */
    .carousel-section {
        margin-top: -40px;
    }

    .slide {
        min-width: 210px;
        max-width: 210px;
        height: 170px;
    }
}

/* ================= SERVIÇOS - AJUSTES VISUAIS ================= */

.services .training-icon {
    font-size: 42px;
    margin-bottom: 18px;
}

.services .training-card {
    background: #ffffff;
}

/* ================= MENU MOBILE ================= */

/* desktop */
.nav-desktop {
    display: flex;
    align-items: center;
}

/* botão hamburger */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: var(--azul-logo);
}

/* menu lateral */
.mobile-menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100vh;
    background: #ffffff;
    box-shadow: -10px 0 30px rgba(0,0,0,0.25);
    padding: 30px 25px;

    display: flex;
    flex-direction: column;
    gap: 20px;

    z-index: 3000;
    transition: right 0.3s ease;
}

.mobile-menu a {
    color: var(--azul-logo);
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
}

/* botão fechar */
.mobile-close {
    align-self: flex-end;
    background: none;
    border: none;
    font-size: 32px;
    cursor: pointer;
    margin-bottom: 20px;
}

/* estado aberto */
.mobile-menu.active {
    right: 0;
}

/* ================= MOBILE ================= */
@media (max-width: 768px) {

    /* MENU */
    .nav-desktop {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    /* FIX OVERFLOW ANDROID */
    html, body {
        width: 100%;
        overflow-x: hidden;
    }

    .carousel-wrapper {
        overflow-x: hidden;
        overflow-y: visible;
    }

    .carousel {
        width: auto;
        max-width: 100%;
    }

    /* HERO — NÃO cortar hover do carrossel */
    .hero {
        width: 100%;
        max-width: 100%;
        overflow: visible;   /* 🔑 MUITO IMPORTANTE */
    }
}
/* ================= PÁGINA CURSOS ================= */

body.page-cursos {
    background: #ffffff;      /* topo e header */
    padding-top: 95px;        /* 🔑 OBRIGATÓRIO */
}

/* ==== secção principal da página cursos (igual a Serviços) ==== */

body.page-cursos .training {
    background: #f4f6f8;
    padding: 60px 40px 80px;
}

/* cards com mais destaque */
body.page-cursos .training-card {
    background: #ffffff;
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.page-cursos .training-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 55px rgba(0,0,0,0.12);
}


/* ================= PÁGINA SERVIÇOS ================= */

body.page-servicos {
    background: #f4f6f8;
    padding-top: 120px;
}

.services-intro {
    max-width: 900px;
    margin: 0 auto 30px;
    text-align: center;
}

/* ================= PÁGINA CONTACTOS ================= */

body.page-contactos {
    background: #f4f6f8;
    padding-top: 120px;
}

.contactos {
    max-width: 600px;
    margin: 0 auto;
    padding: 40px 20px 60px;
    text-align: center;
}

.contactos-intro {
    margin-bottom: 30px;
    color: #555;
}
.contactos h2 {
    color: var(--azul-logo);
}

/* ================= LAYOUT BASE PARA PÁGINAS SIMPLES ================= */

body.page-contactos {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* faz o conteúdo empurrar o footer */
body.page-contactos main {
    flex: 1;
}

/* ================= FORMULÁRIO ================= */

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.contact-form input,
.contact-form textarea {
    padding: 14px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 15px;
    font-family: inherit;
}

.contact-form textarea {
    resize: none;          /* ❌ impede redimensionar */
    overflow-y: auto;      /* ✅ scroll vertical */
    min-height: 120px;
    max-height: 180px;

}

.contact-form button {
    background: var(--laranja-logo);
    color: #fff;
    border: none;
    padding: 14px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.contact-form button:hover {
    background: #d94e33;
}

/* ================= MENSAGEM SUCESSO ================= */

.contact-success {
    background: #e8f6ee;
    color: #1f7a4d;
    border: 1px solid #b6e3c9;
    padding: 16px;
    border-radius: 10px;
    margin-bottom: 25px;
    font-weight: 600;
}

/* ================= AGRADECIMENTO CONTACTOS ================= */

.contact-thanks {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 50vh;
    text-align: center;
    gap: 20px;
}

.thanks-logo {
    max-width: 180px;
    height: auto;
}

.contact-thanks h2 {
    color: var(--azul-logo);
}

.contact-thanks p {
    font-size: 16px;
    color: #444;
    max-width: 480px;
}


/* ================= FIX LOGOS (CURSOS) ================= */

/* protege apenas imagens dentro da página cursos */
body.cursos img {
    max-width: 100%;
    height: auto;
}

/* ================= WOW BUTTON - POPUP ================= */

/* Container centrado (reforço, caso já exista) */
.modal-info-btn {
    margin: 24px 0;
    text-align: center;
}

/* Botão base */
.info-btn-modal {
    display: inline-block;
    padding: 12px 34px;
    background: linear-gradient(135deg, #f15a29, #ff7a45);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 40px;
    text-decoration: none;
    letter-spacing: 0.5px;
    box-shadow: 0 8px 20px rgba(241, 90, 41, 0.35);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* Brilho animado (efeito premium) */
.info-btn-modal::before {
    content: "";
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: rgba(255, 255, 255, 0.35);
    transform: skewX(-25deg);
    animation: shine-wow 3s infinite;
}

/* Animação de brilho */
@keyframes shine-wow {
    0% { left: -75%; }
    50% { left: 120%; }
    100% { left: 120%; }
}

/* Hover premium */
.info-btn-modal:hover {
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 14px 30px rgba(241, 90, 41, 0.5);
}

/* Click feedback */
.info-btn-modal:active {
    transform: scale(0.97);
}
/* ================= WOW VISÍVEL POPUP CARROSSEL- ENTRADA AO ABRIR POPUP ================= */

/* Estado normal (visível) */
.info-btn-modal {
    opacity: 1;
    transform: translateY(0) scale(1);
    transition: all 0.4s ease;
}

/* WOW quando o popup abre */
.course-modal.wow-active .info-btn-modal {
    animation: wow-enter 0.6s ease forwards;
}

/* Animação de entrada */
@keyframes wow-enter {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


/* Estado WOW ativo */
.course-modal.wow-active .info-btn-modal {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* ================= WOW VISÍVEL POPUP CARROSSEL- PULSE ================= */

@keyframes pulse-soft {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(241, 90, 41, 0.6);
    }
    70% {
        transform: scale(1.04);
        box-shadow: 0 0 0 14px rgba(241, 90, 41, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(241, 90, 41, 0);
    }
}

.info-btn-modal {
    animation: pulse-soft 2.8s infinite;
}
/* ================= GRID CURSOS CLICÁVEIS ================= */

.course-grid {
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.course-grid:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}


/* ===== COMPORTAMENTO POR MODO ===== */

/* Carrossel → sem ícone */
.carousel-mode .modal-icon {
    display: none;
}

/* Cursos + Serviços → com ícone */
.grid-mode .modal-icon {
    display: flex;
}

/* ================= SERVIÇOS - HOVER + INTERAÇÃO ================= */

/* Tornar serviços visualmente clicáveis */
.services .training-card {
    cursor: pointer;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Hover igual aos cursos */
.services .training-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
}
/* ================= REDES SOCIAIS (WOW FINAL) ================= */

.socials-wow {
    background: #f6f7f9;
    text-align: center;
    padding: 70px 20px 60px; /* ⬅️ menos espaço antes do footer */
}

.socials-wow h2 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 6px;
}

.socials-wow p {
    font-size: 14px;
    color: #777;
    margin-bottom: 26px;
}

.socials-icons-wow {
    display: flex;
    justify-content: center;
    gap: 20px;
}
.socials-wow h2 {
    color: var(--azul-logo);
}


/* ÍCONES WOW (redondos e com cor) */
.socials-icons-wow a {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(0,0,0,0.18);
    transition: all 0.35s ease;
}

/* CORES OFICIAIS */
.socials-icons-wow .facebook { background: #1877f2; }
.socials-icons-wow .instagram {
    background: radial-gradient(circle at 30% 107%,
    #fdf497 0%, #fdf497 5%, #fd5949 45%,
    #d6249f 60%, #285aeb 90%);
}
.socials-icons-wow .linkedin { background: #0a66c2; }
.socials-icons-wow .whatsapp { background: #25d366; }

/* HOVER WOW */
.socials-icons-wow a:hover {
    transform: translateY(-5px) scale(1.12);
    box-shadow: 0 18px 32px rgba(0,0,0,0.28);
}
/* ================= INÍCIO PROMOÇÃO POPUP WOW – FORMAÇÃO ONLINE FLOATING (INDEX) ================= */

.promo-wow {
    position: fixed;
    bottom: 24px;
    right: 24px;

    display: none;
    z-index: 5000;

    /* NÃO bloqueia nada */
    background: none;
    pointer-events: none;
}

/* ================= CONTEÚDO (WOW PREMIUM) ================= */

.promo-wow-content {
    width: 380px;
    max-width: calc(100vw - 40px);

    background: linear-gradient(135deg, #ffffff, #f4f6f8);
    padding: 30px 28px 28px;
    border-radius: 24px;
    position: relative;
    text-align: left;

    border: 2px solid rgba(231, 92, 63, 0.25);

    box-shadow:
        0 25px 60px rgba(0,0,0,0.35),
        0 0 0 0 rgba(231,92,63,0.6);

    animation:
        wowFloatIn 0.7s cubic-bezier(.25,.8,.25,1),
        wowGlow 3.5s infinite;

    /* ativa cliques só aqui */
    pointer-events: auto;
}

/* ================= ENTRADA ================= */

@keyframes wowFloatIn {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.85);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ================= GLOW WOW ================= */

@keyframes wowGlow {
    0% {
        box-shadow:
            0 25px 60px rgba(0,0,0,0.35),
            0 0 0 0 rgba(231,92,63,0.45);
    }
    70% {
        box-shadow:
            0 25px 60px rgba(0,0,0,0.35),
            0 0 0 18px rgba(231,92,63,0);
    }
    100% {
        box-shadow:
            0 25px 60px rgba(0,0,0,0.35),
            0 0 0 0 rgba(231,92,63,0);
    }
}

/* ================= BADGE (CENTRADO) ================= */

.promo-wow-badge {
    display: block;
    width: fit-content;
    margin: 0 auto 12px;

    background: linear-gradient(135deg, var(--laranja-logo), #ff7a45);
    color: #ffffff;

    font-size: 13px;
    font-weight: 900;

    padding: 8px 18px;
    border-radius: 32px;
    letter-spacing: 1.2px;

    box-shadow: 0 10px 24px rgba(231,92,63,0.55);
}

/* ================= TEXTO ================= */

.promo-wow-content h2 {
    color: var(--azul-logo);
    font-size: 22px;
    margin-bottom: 6px;
    text-align: center;
}

.promo-wow-sub {
    color: var(--laranja-logo);
    font-weight: 700;
    margin-bottom: 14px;
    text-align: center;
    line-height: 1.4;
}

.promo-wow-text {
    color: #444;
    font-size: 13px;   /* ⬅️ 1 tamanho abaixo */
    line-height: 1.6;
    margin-bottom: 22px;
    text-align: justify;
}


/* ================= BOTÃO WOW (CENTRADO E MAIS PEQUENO) ================= */

.promo-wow-btn {
    display: block;              /* 🔑 */
    width: fit-content;          /* 🔑 */
    margin: 0 auto;              /* 🔑 centra o botão */

    padding: 9px 22px;
    border-radius: 36px;

    background: linear-gradient(135deg, #f15a29, #ff7a45);
    color: #ffffff;

    font-size: 13px;
    font-weight: 800;
    text-decoration: none;

    box-shadow:
        0 6px 16px rgba(241,90,41,0.4),
        0 0 0 0 rgba(241,90,41,0.45);

    animation: wowPulse 3s infinite;
    transition: transform 0.25s ease;
}

.promo-wow-btn:hover {
    transform: translateY(-1px) scale(1.03);
}

/* ================= PULSE BOTÃO ================= */

@keyframes wowPulse {
    0% {
        box-shadow:
            0 6px 16px rgba(241,90,41,0.4),
            0 0 0 0 rgba(241,90,41,0.45);
    }
    70% {
        box-shadow:
            0 6px 16px rgba(241,90,41,0.4),
            0 0 0 12px rgba(241,90,41,0);
    }
    100% {
        box-shadow:
            0 6px 16px rgba(241,90,41,0.4),
            0 0 0 0 rgba(241,90,41,0);
    }
}

/* ================= FECHAR ================= */

.promo-wow-close {
    position: absolute;
    top: 10px;
    right: 12px;
    border: none;
    background: none;
    font-size: 22px;
    cursor: pointer;
    color: #333;
}

.promo-wow-close:hover {
    color: var(--laranja-logo);
}

/* ========== FECHAR PROMOÇÃO POPUP WOW – FORMAÇÃO ONLINE FLOATING (INDEX) ==================== */





/* ================= MOBILE ================= */

@media (max-width: 768px) {
    .promo-wow {
        bottom: 16px;
        right: 50%;
        transform: translateX(50%);
    }

    .promo-wow-content {
        width: 94%;
    }
}
/* ================= SEO CONTENT (ESCONDER CORRETAMENTE) ================= */
.seo-content {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
/* Remove estilo padrão de links nos cards */
.training-card a,
.slide a,
.course-slide,
.service-slide {
    text-decoration: none;
    color: inherit;
}

/* Garante que o texto não muda ao passar o rato */
.training-card a:hover,
.slide a:hover {
    text-decoration: none;
    color: inherit;
}
/* ===== CARROSSEL – texto sempre branco ===== */
.course-slide,
.course-slide span,
.service-slide,
.service-slide span {
    color: #ffffff !important;
    text-decoration: none;
}

/* Hover sem mudar cor */
.course-slide:hover,
.course-slide:hover span,
.service-slide:hover,
.service-slide:hover span {
    color: #ffffff !important;
    text-decoration: none;
}
/* ================= ÍCONES DOS CARDS (CURSOS + SERVIÇOS) ================= */
.training-card img,
.services-card img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    display: block;
    margin: 0 auto 16px;

}
/* ================= ÍCONES DOS CARDS (EMOJI / TEXTO) ================= */
.training-card .training-icon,
.services-card .training-icon {
    font-size: 32px;   /* ⬅️ ajusta aqui */
    line-height: 1;
}
/* ================= ASSUNTO BLOQUEADO (CONTACTOS) ================= */

/* força o estilo mesmo em readonly */
.contact-form input.assunto-bloqueado {
    background-color: #f4f6f8 !important; /* igual ao fundo da página */
    color: #1f2b36 !important;
    border: 1px solid #d6dadd;
    cursor: not-allowed;
    font-weight: 600;
}

/* remove estilos nativos do browser */
.contact-form input.assunto-bloqueado:read-only {
    background-color: #f4f6f8 !important;
    color: #1f2b36 !important;
    -webkit-text-fill-color: #1f2b36 !important; /* Chrome/Safari FIX */
    opacity: 1 !important; /* Firefox FIX */
}

ul {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}
/* ================= LISTAS DE PROGRAMA ================= */

.programa-lista{
    max-width:420px;
    margin:0 auto 40px;
    padding-left:0;
    list-style:none;
    text-align:left;
}

.programa-lista li{
    position:relative;
    padding-left:20px;
    margin-bottom:8px;
}

.programa-lista li::before{
    content:"•";
    position:absolute;
    left:0;
    color:#0b3a5a;
    font-weight:bold;
}


/* ================= VISIBILIDADE SEO ================= */

.seo-visible{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    color:#222;
}
.highlight-formacao {
    background-color: #f7931e; /* laranja */
}
/* ================= Página formacao.html ================= */
.formacao-highlight {
    background-color: #f7931e !important;
}
/* ================= SIGO LOGO NO TÍTULO ================= */

.highlight-sigo h2{
    display: flex;
    align-items: center;
    gap: 12px;              /* espaço entre texto e logo */
}

.sigo-logo{
    height: 30px;      /* ⬅️ ligeiramente maior */
    width: auto;
    background: none;  /* ⬅️ remove fundo branco */
    padding: 0;        /* ⬅️ remove espaçamento extra */
}

/* ================= FIX REDES SOCIAIS ================= */

/* garante que os ícones sociais não herdam estilos globais */
.socials-icons-wow a {
    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 20px;
    line-height: 1;

    margin: 0;
}

/* força o ícone Font Awesome a comportar-se corretamente */
.socials-icons-wow i {
    display: block;
    line-height: 1;
}


.highlight-legal{
    font-size:20px;
    line-height:1.9;
    font-weight:500;
}


/* ================= ANIMAÇÃO ================= */

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(25px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
