/* ==========================================================================
   BLACK FRIDAY — TEMA ESCURO DA HOME
   --------------------------------------------------------------------------
   Aplica-se SOMENTE a elementos com a classe .bf-dark (index.php).
   Carregado depois de css/black-friday-home.css, sobrescreve a paleta
   azul/laranja com a mesma especificidade (sem !important, exceto onde
   indicado).

   PARA REVERTER: remova a linha
     <link rel="stylesheet" href="css/blackfriday-dark.css">
   do index.php. As classes .bf-dark podem ficar (sem este arquivo não
   fazem nada).
   ========================================================================== */

.bf-dark {
    --bf-bg: #0A0A0A;            /* fundo principal                 */
    --bf-surface: #141414;       /* cards / faixas                  */
    --bf-surface-2: #1C1C1C;     /* campos de formulário            */
    --bf-border: #2A2A2A;        /* bordas e divisórias             */
    --bf-text: #FFFFFF;          /* texto principal  (19.8:1)       */
    --bf-text-muted: #BDBDBD;    /* texto secundário (10.5:1)       */
    --bf-accent: #FFC400;        /* destaque único   (13.1:1)       */
    --bf-accent-hover: #FFD54D;  /* hover do destaque               */
    --bf-on-accent: #000000;     /* texto sobre o destaque (13.1:1) */
    --bf-ease: .2s ease;
}

/* ---------- Botões (compartilhados por todas as seções) ---------- */

/* Primário: fundo destaque + texto preto */
.bf-dark .bf-button-orange {
    background: var(--bf-accent);
    border-color: var(--bf-accent);
    color: var(--bf-on-accent);
    transition: background-color var(--bf-ease), border-color var(--bf-ease), color var(--bf-ease);
}

.bf-dark .bf-button-orange:hover,
.bf-dark .bf-button-orange:focus {
    background: var(--bf-accent-hover);
    border-color: var(--bf-accent-hover);
    color: var(--bf-on-accent);
}

/* Secundário: contorno branco, fundo transparente, texto branco */
.bf-dark .bf-button-outline {
    background: transparent;
    border-color: var(--bf-text);
    color: var(--bf-text);
    transition: background-color var(--bf-ease), border-color var(--bf-ease), color var(--bf-ease);
}

.bf-dark .bf-button-outline:hover,
.bf-dark .bf-button-outline:focus {
    background: var(--bf-text);
    border-color: var(--bf-text);
    color: var(--bf-on-accent);
}

.bf-dark .bf-button:focus-visible {
    outline: 2px solid var(--bf-accent);
    outline-offset: 3px;
}

/* Selos "Especial Black Friday" */
.bf-dark .bf-tag,
.bf-dark .bf-section-tag {
    background: var(--bf-accent);
    color: var(--bf-on-accent);
}

/* Tipografia genérica das seções escuras */
.bf-dark .title-section,
.bf-dark h5,
.bf-dark h6 {
    color: var(--bf-text);
}

.bf-dark .title-section span {
    color: var(--bf-accent);
}

.bf-dark .title-section-top {
    color: var(--bf-accent);
    font-weight: 700;
    letter-spacing: .08em;
}

.bf-dark p {
    color: var(--bf-text-muted);
}

.bf-dark .cws_divider {
    border-bottom-color: var(--bf-border);
}


/* ==========================================================================
   1. BARRA DO TOPO — "BLACK FRIDAY ACQUALINDA"
   ========================================================================== */

.bf-topbar.bf-dark {
    background: var(--bf-bg);
    color: var(--bf-text);
    border-top: 0;
    border-bottom: 1px solid var(--bf-border);
}

.bf-dark .bf-topbar-copy strong {
    color: var(--bf-accent);
    font-weight: 800;
}

.bf-dark .bf-topbar-copy span {
    color: var(--bf-text);
}


/* ==========================================================================
   2. HERO — "Especial Black Friday – Sua próxima diversão começa aqui!"
   Desktop: o bloco fica sobre o Slider Revolution; só o véu (overlay)
   passa de azul para preto — as imagens do slider não são alteradas.
   Celular: o bloco sai de cima do slider e vira faixa preta.
   ========================================================================== */

.tp-banner-container:has(> .bf-hero-content.bf-dark)::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .35) 68%, rgba(0, 0, 0, .15));
}

.bf-hero-content.bf-dark h1 {
    color: var(--bf-text);
}

.bf-hero-content.bf-dark p {
    color: var(--bf-text);
}

/* Contador Adultos / Crianças (form .search-tours-form, hoje oculto
   com .hidden — já fica pronto caso seja reativado) */
.bf-dark .search-tours-wrap .search-tours-content .tours-container .hotels-box .hotels-select,
.bf-dark .search-tours-wrap .search-tours-content .tours-container .tours-calendar,
.bf-dark .search-tours-wrap .search-tours-content .tours-container .selection-box {
    background: var(--bf-surface-2);
    border-color: var(--bf-border);
}

.bf-dark .search-tours-wrap .search-tours-content .tours-container .selection-box select,
.bf-dark .search-tours-wrap .search-tours-content .tours-container .tours-calendar input {
    background: var(--bf-surface-2);
    color: var(--bf-text);
    border: 1px solid var(--bf-border);
}

.bf-dark .search-tours-wrap .search-tours-content .tours-container .selection-box select option {
    background: var(--bf-surface-2);
    color: var(--bf-text);
}

.bf-dark .search-tours-wrap .search-tours-content .tours-container .tours-calendar input::placeholder {
    color: var(--bf-text-muted);
}

.bf-dark .search-tours-wrap .search-tours-content .tours-container .selection-box .box-icon,
.bf-dark .search-tours-wrap .search-tours-content .tours-container .tours-calendar .calendar-icon {
    color: var(--bf-accent);
}

.bf-dark .search-tours-wrap .button-search.fundo-bt {
    background: var(--bf-accent);
    color: var(--bf-on-accent);
}


/* ==========================================================================
   5. (Opcional) INGRESSOS — "Comprar Ingressos"
   ========================================================================== */

.bf-tickets.bf-dark {
    display: flow-root;            /* contém o .col-lg-12 flutuante do botão */
    background: var(--bf-bg);
    border-top: 0;
    padding-top: 48px;
}

/* Logo com subtítulo azul-escuro → versão clara (monocromática branca) */
.bf-dark.bf-tickets img {
    filter: brightness(0) invert(1);
}

.bf-dark.bf-tickets .bf-section-tag {
    background: var(--bf-accent);
}

.bf-dark.bf-tickets .title-section span {
    color: var(--bf-accent);
}

.bf-dark.bf-tickets h5,
.bf-dark.bf-tickets h6:not(.title-section-top) {
    color: var(--bf-text-muted);
    font-weight: 400;
}

.bf-dark.bf-tickets .bf-ticket-button {
    background: var(--bf-accent);
    border-color: var(--bf-accent);
    color: var(--bf-on-accent);
    box-shadow: none;
    transition: background-color var(--bf-ease), border-color var(--bf-ease), color var(--bf-ease);
}

.bf-dark.bf-tickets .bf-ticket-button:hover,
.bf-dark.bf-tickets .bf-ticket-button:focus {
    background: var(--bf-accent-hover);
    border-color: var(--bf-accent-hover);
    color: var(--bf-on-accent);
}


/* ==========================================================================
   3. OFERTAS — #ofertas-black-friday (cards Natal / Réveillon / Day Bed)
   ========================================================================== */

.bf-offers.bf-dark {
    background: var(--bf-bg);
    padding-top: 48px;
    /* !important necessário: .pb-0 do indent.css usa !important.
       Sem respiro, os cards encostariam na seção clara de hotéis. */
    padding-bottom: 48px !important;
}

.bf-dark.bf-offers .title-section {
    color: var(--bf-text);
}

.bf-dark.bf-offers .title-section span {
    color: var(--bf-accent);
}

/* Card: superfície #141414 + borda sutil */
.bf-dark.bf-offers .features-tours-item {
    background: var(--bf-surface);
    border: 1px solid var(--bf-border);
    padding: 8px;
    box-shadow: none;
}

.bf-dark.bf-offers .features-tours-full-width .features-tours-item .features-media::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, .15) 30%, rgba(0, 0, 0, .88));
}

.bf-dark.bf-offers .features-tours-full-width .features-tours-item .features-info-bot .title {
    color: var(--bf-text);
}

.bf-dark.bf-offers .features-tours-full-width .features-tours-item .features-info-bot .title span {
    color: var(--bf-accent);
}

/* Botão "Detalhes" = primário.
   !important necessário: inc=rodape.php (linha ~693) tem um <style> inline
   ".button { color: #fff !important }" que deixaria o texto branco sobre
   o amarelo (contraste 1.5:1). */
.bf-dark.bf-offers .features-tours-full-width .features-tours-item .features-info-top .detalhes {
    background: var(--bf-accent);
    border: 1px solid var(--bf-accent);
    color: var(--bf-on-accent) !important;
    transition: background-color var(--bf-ease), border-color var(--bf-ease), color var(--bf-ease);
}

.bf-dark.bf-offers .features-tours-full-width .features-tours-item .features-info-top .detalhes:hover,
.bf-dark.bf-offers .features-tours-full-width .features-tours-item .features-info-top .detalhes:focus {
    background: var(--bf-accent-hover);
    border-color: var(--bf-accent-hover);
    color: var(--bf-on-accent) !important;
}

/* Selo "BLACK FRIDAY" no canto de cada card (só CSS, sem HTML novo) */
.bf-dark.bf-offers .features-tours-item::after {
    content: 'BLACK FRIDAY';
    position: absolute;
    z-index: 3;
    top: 20px;
    right: 20px;
    padding: 4px 9px;
    border: 1px solid var(--bf-accent);
    border-radius: 3px;
    background: var(--bf-bg);
    color: var(--bf-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.3;
    pointer-events: none;
}


/* ==========================================================================
   4. CTA FINAL — "Planeje sua diversão nesta Black Friday!"
   ========================================================================== */

.bf-final-call.bf-dark {
    background: var(--bf-bg);
    border-top: 0;
    padding: 48px 0;
}

.bf-dark.bf-final-call h2 {
    color: var(--bf-text);
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.15;
    margin-bottom: 8px;
}

.bf-dark.bf-final-call p {
    color: var(--bf-text-muted);
}

.bf-dark.bf-final-call .bf-button {
    min-height: 52px;
    padding: 14px 28px;
    font-size: 16px;
}


/* ==========================================================================
   RESPONSIVO (tablet / celular)
   ========================================================================== */

@media (max-width: 767px) {
    .tp-banner-container:has(> .bf-hero-content.bf-dark)::after {
        background: none;
    }

    /* Hero sai de cima do slider e vira faixa preta */
    .bf-hero-content.bf-dark {
        background: var(--bf-bg);
    }

    .bf-hero-content.bf-dark h1,
    .bf-hero-content.bf-dark p {
        text-shadow: none;
    }

    .bf-tickets.bf-dark,
    .bf-offers.bf-dark {
        padding-top: 36px;
    }

    .bf-offers.bf-dark {
        padding-bottom: 36px !important;
    }

    /* black-friday-home.css zera as bordas laterais no celular */
    .bf-dark.bf-offers .features-tours-item {
        border-left-width: 1px;
        border-right-width: 1px;
    }

    .bf-dark.bf-offers .features-tours-item::after {
        top: 16px;
        right: 16px;
        font-size: 10px;
    }

    .bf-final-call.bf-dark {
        padding: 36px 0;
    }

    .bf-dark.bf-final-call h2 {
        font-size: 26px;
    }
}
