/*
 Theme Name: Hello Elementor Child
 Template: hello-elementor
 Version: 1.0.0
 Description: Child theme do Hello Elementor para o projeto Emaudio Concursos.
*/

/* Contador — centralizar */
.contador .elementor-counter {
    text-align: center !important;
}

/* Contador — alinhar números */
.contador .elementor-counter-number-wrapper {
    margin-left: -15px !important;
}

/* Contador — gradiente nos números */
.contador .elementor-counter-number-prefix,
.contador .elementor-counter-number,
.contador .elementor-counter-number-suffix {
    background: linear-gradient(to right, #FF5403 0%, rgba(255,84,3,0.66) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    display: inline-block !important;
}

/* Contador — gradiente no título (alunos) */
.contador .elementor-counter-title {
    background: linear-gradient(to right, #FF5403 0%, rgba(255,84,3,0.66) 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 35px !important;
    font-weight: 400;
    font-family: 'DM Sans', sans-serif;
    letter-spacing: -0.04em;
    line-height: 1.1;
    margin-left: 0 !important;
}

/* Image box — espaçamento da imagem */
.elementor-image-box-img {
    margin-right: 10px !important;
}

/* DESATIVADO — Depoimentos stack effect (removido, usando carrossel padrão Elementor)
#secaoloopdep .depotextos {
    position: sticky;
    top: 80px;
    align-self: flex-start;
}
#secaoloopdep .elementor-loop-container {
    display: flex !important;
    flex-direction: column;
    gap: 0;
}
#secaoloopdep {
    padding-top: 200px !important;
    position: relative;
    z-index: 1;
}
#secaoloopdep .e-loop-item {
    position: sticky;
    padding-bottom: 0;
}
#secaoloopdep .e-loop-item:nth-of-type(1) { z-index: 1; }
#secaoloopdep .e-loop-item:nth-of-type(2) { z-index: 2; }
#secaoloopdep .e-loop-item:nth-of-type(3) { z-index: 3; }
#secaoloopdep .e-loop-item:nth-of-type(4) { z-index: 4; }
#secaoloopdep .e-loop-item:nth-of-type(1) > .e-con { transform: scale(0.91); transform-origin: top center; }
#secaoloopdep .e-loop-item:nth-of-type(2) > .e-con { transform: scale(0.94); transform-origin: top center; }
#secaoloopdep .e-loop-item:nth-of-type(3) > .e-con { transform: scale(0.97); transform-origin: top center; }
#secaoloopdep .e-loop-item:nth-of-type(4) > .e-con { transform: scale(1.0); transform-origin: top center; }
*/

/* Planos — centralizar grid quando há menos de 3 planos ativos */
.elementor-element-4198a3e .elementor-loop-container {
    grid-template-columns: repeat(auto-fit, 330px) !important;
    justify-content: center !important;
}

/* Planos — badge de destaque */
.plano-badge {
    position: absolute;
    top: -50px;
    left: 50%;
    transform: translateX(-50%);
    width: 155px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FF5403;
    border: 5px solid #FF651C;
    border-radius: 10px;
    color: #fff;
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    white-space: nowrap;
    z-index: 10;
    pointer-events: none;
}

.plano-badge:empty {
    display: none !important;
}

/* Planos — cards sem destaque (ajuste de espaçamento para compensar a falta do badge) */
.elementor-45307.e-loop-item:not(.tem-destaque) {
    margin-top: 50px;
}

@media (max-width: 767px) {
    .elementor-45307.e-loop-item.tem-destaque {
        margin-top: 20px;
    }
}

/* Planos — ocultar itens de icon list sem texto */
.elementor-icon-list-item:has(.elementor-icon-list-text:empty) {
    display: none !important;
}

/* Planos — borda degradê laranja em TODOS os cards (como padrão) */
/* Técnica double-background: background interno (card) clip em padding-box,
   gradiente externo clip em border-box — a diferença = borda visível.
   Sem ::before, sem gap, sem z-index. */
.elementor-45307.e-loop-item > .e-con {
    border: 5px solid transparent !important;
    border-style: solid !important;
    --border-style: solid;
    --border-top-width: 5px;
    --border-right-width: 5px;
    --border-bottom-width: 5px;
    --border-left-width: 5px;
    --border-color: transparent;
    background-image:
        linear-gradient(180deg, #1B1B1B 0%, #202020 100%),
        linear-gradient(180deg, #FF3A03 0%, rgba(255,84,3,0) 35%, rgba(255,84,3,0.4) 66%, rgba(255,84,3,0) 100%) !important;
    background-origin: padding-box, border-box !important;
    background-clip: padding-box, border-box !important;
}

/* Contador — título mobile */
@media (max-width: 767px) {
    .contador .elementor-counter-title.letter-gradient-applied {
        font-size: 22px !important;
        margin-left: 10px !important;
    }
}

/* Preço riscado */
.preco-riscado {
    position: relative;
    display: inline-block;
}

.preco-riscado::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 48%;
    height: 2.5px;
    background: #FF5403;
    transform: rotate(-6deg);
}

/* Footer — forçar full width quando dentro de container Boxed (bug Elementor Theme Builder) */
.e-con-boxed > .e-con-inner > .elementor-widget-theme-footer,
.e-con-boxed > .e-con-inner > .elementor-widget-theme-footer .elementor-location-footer,
.e-con-boxed > .e-con-inner > .elementor-widget-theme-footer .elementor-location-footer > .elementor-container {
    max-width: none !important;
    width: 100vw !important;
}
.e-con-boxed:has(.elementor-widget-theme-footer) > .e-con-inner {
    max-width: 100% !important;
    overflow: visible !important;
}
body {
    overflow-x: hidden;
}

/* ── Read More (audio-aula single) ── */
.emaudio-readmore-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 220px;
    background: linear-gradient(to bottom, transparent, #111111);
    pointer-events: none;
}

.emaudio-readmore-btnwrap {
    position: absolute;
    bottom: 24px;
    left: 0;
    right: 0;
    text-align: center;
    pointer-events: none;
    z-index: 10;
}

.emaudio-readmore-btn {
    pointer-events: all;
    background: #FF5403;
    border: 2px solid #FF5403;
    color: #ffffff;
    padding: 12px 40px;
    font-size: 16px;
    font-family: inherit;
    font-weight: 600;
    border-radius: 55px;
    cursor: pointer;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    transition: box-shadow 0.2s ease;
}

.emaudio-readmore-btn:hover {
    background: #FF5403;
    color: #ffffff;
    box-shadow: 0 0 18px 4px rgba(255, 84, 3, 0.6);
}

/* ── Hero Titles (audio-aula template) ── */
[class^="emaudio-hero-title"] {
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    color: #D2D2D3;
    margin: 0 auto;
}
[class^="emaudio-hero-title"] .bold { font-weight: 700; }
[class^="emaudio-hero-title"] .orange { color: #ff5403; font-weight: 700; }

.emaudio-hero-title  { font-size: 52px; line-height: 1;   letter-spacing: -0.02em; text-align: center; }
.emaudio-hero-title2 { font-size: 22px; line-height: 1;   letter-spacing: -0.02em; text-align: center; }
.emaudio-hero-title3 { font-size: 42px; line-height: 1.2; letter-spacing: 1.04px;  text-align: left; }
.emaudio-hero-title4 { font-size: 22px; line-height: 1.2; letter-spacing: 1.04px;  text-align: left; }

@media (max-width: 767px) {
    .emaudio-hero-title  { font-size: 32px; letter-spacing: 0.64px; }
    .emaudio-hero-title2 { font-size: 18px; letter-spacing: 0.64px; }
    .emaudio-hero-title4 { font-size: 18px; letter-spacing: 0.64px; }
}

/* Filtro aulas — ícones por categoria */
.filtroaulas .e-filter-item::before {
    content: '';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    background-color: #262626;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 13px 13px;
    border-radius: 3px;
    vertical-align: middle;
    margin-right: 8px;
    flex-shrink: 0;
}

.filtroaulas .e-filter-item[data-filter="__all"]::before {
    content: "\f00a";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 11px;
    color: white;
    background-image: none;
}

.filtroaulas .e-filter-item[data-filter="administrativa"]::before { background-image: url('/wp-content/uploads/2026/03/admin.svg'); }
.filtroaulas .e-filter-item[data-filter="bancaria"]::before { background-image: url('/wp-content/uploads/2026/03/bancaria.svg'); }
.filtroaulas .e-filter-item[data-filter="controle"]::before { background-image: url('/wp-content/uploads/2026/03/controle.svg'); }
.filtroaulas .e-filter-item[data-filter="cursos-regulares"]::before { background-image: url('/wp-content/uploads/2026/03/Cursos-regulares.svg'); }
.filtroaulas .e-filter-item[data-filter="educacao"]::before { background-image: url('/wp-content/uploads/2026/03/educao.svg'); }
.filtroaulas .e-filter-item[data-filter="fiscal"]::before { background-image: url('/wp-content/uploads/2026/03/fiscal.svg'); }
.filtroaulas .e-filter-item[data-filter="juridica"]::before { background-image: url('/wp-content/uploads/2026/03/juridica.svg'); }
.filtroaulas .e-filter-item[data-filter="jurisprudencia"]::before { background-image: url('/wp-content/uploads/2026/03/Jurispreudencia.svg'); }
.filtroaulas .e-filter-item[data-filter="legislativa"]::before { background-image: url('/wp-content/uploads/2026/03/legislativa.svg'); }
.filtroaulas .e-filter-item[data-filter="oab"]::before { background-image: url('/wp-content/uploads/2026/03/oab.svg'); }
.filtroaulas .e-filter-item[data-filter="policial"]::before { background-image: url('/wp-content/uploads/2026/03/policial.svg'); }
.filtroaulas .e-filter-item[data-filter="tribunais"]::before { background-image: url('/wp-content/uploads/2026/03/tribunais.svg'); }
.filtroaulas .e-filter-item[data-filter="vade-mecum"]::before { background-image: url('/wp-content/uploads/2026/03/vade-mecum.svg'); }

.filtroaulas .e-filter-item:hover::before,
.filtroaulas .e-filter-item[aria-pressed="true"]::before {
    background-color: #FF5403;
}



/* Banner App — fixed top banner */
#elementor-popup-modal-46533 {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 10000 !important;
    overflow: hidden;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    transition: height 0.35s ease, opacity 0.35s ease;
}

#elementor-popup-modal-46533 .dialog-widget-content {
    position: relative !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    animation: none !important;
}

#elementor-popup-modal-46533 .dialog-message {
    margin: 0 !important;
    padding: 0 !important;
}

#elementor-popup-modal-46533 .dialog-overlay {
    display: none !important;
}

/* Banner ativo — CSS controla posicionamento (não JS) */
body.banner-active {
    padding-top: 190px !important;
}

body.banner-active [data-elementor-type="header"] > .e-con {
    position: fixed !important;
    top: 90px !important;
    width: 100% !important;
    z-index: 9999 !important;
}


@media (max-width: 767px) {
    body.banner-active {
        padding-top: 165px !important;
    }
}

/* Custom cursor nos botões CTA */
.custom-cursor {
    position: fixed;
    width: 39px;
    height: 39px;
    pointer-events: none;
    z-index: 99999;
    opacity: 0;
    transition: opacity 0.25s ease;
    transform: translate(-50%, -50%);
}
.custom-cursor.active {
    opacity: 1;
}
.baixeapp .elementor-button:hover,
.assinar .elementor-button:hover,
.planosbu .elementor-button:hover {
    cursor: none;
}

/* Ajax Search Lite — fundo transparente */
div[id*='ajaxsearchlite'].asl_m,
div[id*='ajaxsearchlite'].asl_m .probox {
    background-color: transparent !important;
    background-image: none !important;
}

/* Ajax Search Lite — cor e fonte do input */
#ajaxsearchlite1 .probox .proinput input.orig,
div.asl_w .probox .proinput input.orig {
    color: #D2D2D3 !important;
    font-family: "DM Sans", sans-serif !important;
}
#ajaxsearchlite1 .probox .proinput input.orig::placeholder,
div.asl_w .probox .proinput input.orig::placeholder {
    color: #D2D2D3 !important;
    font-family: "DM Sans", sans-serif !important;
}
#ajaxsearchlite1 .probox .proinput input.orig::-webkit-input-placeholder,
div.asl_w .probox .proinput input.orig::-webkit-input-placeholder {
    color: #D2D2D3 !important;
    font-family: "DM Sans", sans-serif !important;
}
#ajaxsearchlite1 .probox .proinput input.orig::-moz-placeholder,
div.asl_w .probox .proinput input.orig::-moz-placeholder {
    color: #D2D2D3 !important;
    font-family: "DM Sans", sans-serif !important;
}

/* Ajax Search Lite — cor do texto no proinput */
#ajaxsearchlite1 .probox .proinput,
#ajaxsearchlite1 .probox .proinput input,
#ajaxsearchlite2 .probox .proinput,
div.asl_w .probox .proinput {
    color: #D2D2D3 !important;
    font-family: "DM Sans", sans-serif !important;
}

/* Ajax Search Lite — items dos resultados */
div.asl_r .results .item {
    border-left: none !important;
    border-right: none !important;
    padding: 10px !important;
}

/* Ajax Search Lite — lupa sem sombra */
.promagnifier {
    box-shadow: none !important;
}

/* Ajax Search Lite — largura e borda */
div[id*="ajaxsearchlite"].asl_m {
    width: 95% !important;
}
div.asl_m.asl_w {
    border: 3px solid #242424 !important;
}

/* Ajax Search Lite — input font */
.probox .proinput input {
    color: #D2D2D3 !important;
    font-family: "DM Sans", sans-serif !important;
}

/* Ajax Search Lite — títulos dos resultados */
.asl_content h3,
.asl_content h3 a {
    color: #FF5403 !important;
    font-family: "DM Sans", sans-serif !important;
}
.asl_content {
    color: #D2D2D3 !important;
    font-family: "DM Sans", sans-serif !important;
}

/* Ajax Search Lite — separador e fundo dos resultados */
div.asl_r.asl_w.vertical .results .item::after {
    background-color: #242424 !important;
}
div.asl_r.asl_w.vertical {
    background-color: #242424 !important;
}
div.asl_r.asl_w.vertical .results {
    border-radius: 15px !important;
    overflow: hidden !important;
}

/* ── Form de Comentários ── */
.comments-area .comment-form-comment,
.comments-area .comment-form-author,
.comments-area .comment-form-email,
.comments-area .comment-form-url {
    background-color: transparent;
    border-radius: 10px;
    padding: 0;
}

.comments-area #respond .comment-form textarea,
.comments-area #respond .comment-form input[type="text"],
.comments-area #respond .comment-form input[type="email"],
.comments-area #respond .comment-form input[type="url"],
#respond .comment-form textarea,
#respond .comment-form input[type="text"],
#respond .comment-form input[type="email"],
#respond .comment-form input[type="url"] {
    background-color: #F8F8F8 !important;
    background: #F8F8F8 !important;
    border: 1px solid #E0E0E0 !important;
    border-radius: 10px !important;
    color: #111111 !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 15px !important;
    padding: 14px 18px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
}

.comments-area .comment-form textarea {
    resize: vertical;
    min-height: 100px;
}

.comments-area .comment-form textarea::placeholder,
.comments-area .comment-form input::placeholder {
    color: #666666;
    opacity: 0.8;
}

.comments-area .comment-form textarea:focus,
.comments-area .comment-form input:focus {
    border-color: #FF5403;
    outline: none;
}

/* 3 colunas: Nome / Email / Site */
.comments-area .comment-form {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.comments-area .comment-form .comment-form-comment {
    width: 100%;
    margin: 0;
}

.comments-area .comment-form .comment-form-author,
.comments-area .comment-form .comment-form-email,
.comments-area .comment-form .comment-form-url {
    flex: 1 1 30%;
    min-width: 0;
    margin: 0;
}

.comments-area .comment-form .comment-form-cookies-consent {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #D2D2D3;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    order: 10;
}

.comments-area .comment-form .comment-form-cookies-consent label {
    color: #D2D2D3;
}

.comments-area .comment-form .form-submit {
    margin: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    order: 11;
}

.comments-area .comment-form .form-submit .submit {
    background: #FF5403;
    border: none;
    color: #fff;
    padding: 14px 32px;
    font-size: 15px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 600;
    border-radius: 55px;
    cursor: pointer;
    transition: box-shadow 0.2s ease;
    white-space: nowrap;
}

.comments-area .comment-form .form-submit .submit:hover {
    box-shadow: 0 0 18px 4px rgba(255, 84, 3, 0.6);
}

/* Mobile — empilhar campos */
@media (max-width: 767px) {
    .comments-area .comment-form .comment-form-author,
    .comments-area .comment-form .comment-form-email,
    .comments-area .comment-form .comment-form-url {
        flex: 1 1 100%;
    }

    .comments-area .comment-form .form-submit {
        width: 100%;
        justify-content: flex-end;
    }
}
/* Contador alunos (9dc57b7 + 232c785) — número em cima, milhão embaixo */
.elementor-element-9dc57b7 .elementor-counter-number-wrapper,
.elementor-element-232c785 .elementor-counter-number-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  text-align: center !important;
}
.elementor-element-9dc57b7 .elementor-counter-number-suffix,
.elementor-element-232c785 .elementor-counter-number-suffix {
  flex-basis: 100%;
  text-align: center !important;
  width: 100% !important;
  display: block;
}


/* Contadores mobile — font-size uniforme + centralização */
@media (max-width: 767px) {
  .elementor-44734 .elementor-element.elementor-element-232c785 .elementor-counter-number-wrapper {
    display: block !important;
    font-size: 32px !important;
    text-align: center !important;
    -webkit-text-stroke-width: 0.59px !important;
  }
  .elementor-44734 .elementor-element.elementor-element-232c785 .elementor-counter-number-prefix,
  .elementor-44734 .elementor-element.elementor-element-232c785 .elementor-counter-number {
    display: inline !important;
  }
  .elementor-44734 .elementor-element.elementor-element-4c126d2 .elementor-counter-number-wrapper,
  .elementor-44734 .elementor-element.elementor-element-1121ac8 .elementor-counter-number-wrapper {
    font-size: 32px !important;
    text-align: center !important;
    -webkit-text-stroke-width: 0.59px !important;
  }
  .elementor-44734 .elementor-element.elementor-element-232c785 .elementor-counter-number-prefix,
  .elementor-44734 .elementor-element.elementor-element-232c785 .elementor-counter-number,
  .elementor-44734 .elementor-element.elementor-element-232c785 .elementor-counter-number-suffix,
  .elementor-44734 .elementor-element.elementor-element-4c126d2 .elementor-counter-number-prefix,
  .elementor-44734 .elementor-element.elementor-element-4c126d2 .elementor-counter-number,
  .elementor-44734 .elementor-element.elementor-element-1121ac8 .elementor-counter-number-prefix,
  .elementor-44734 .elementor-element.elementor-element-1121ac8 .elementor-counter-number {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }
  /* 232c785 — milhão em linha separada */
  .elementor-44734 .elementor-element.elementor-element-232c785 .elementor-counter-number-suffix {
    display: block !important;
    text-align: center !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
  }
}


/* Contadores mobile — IDs mobile (9dc57b7, 7294b80, 7eb3c0e) */
@media (max-width: 767px) {
  .elementor-44734 .elementor-element.elementor-element-9dc57b7 .elementor-counter-number-wrapper {
    display: block !important;
    font-size: 32px !important;
    text-align: center !important;
  }
  .elementor-44734 .elementor-element.elementor-element-9dc57b7 .elementor-counter-number-suffix {
    display: block !important;
    text-align: center !important;
    font-size: 32px !important;
    line-height: 1.2 !important;
  }
  .elementor-44734 .elementor-element.elementor-element-7294b80 .elementor-counter-number-wrapper,
  .elementor-44734 .elementor-element.elementor-element-7eb3c0e .elementor-counter-number-wrapper {
    font-size: 32px !important;
    text-align: center !important;
  }
  .elementor-44734 .elementor-element.elementor-element-9dc57b7 .elementor-counter-title,
  .elementor-44734 .elementor-element.elementor-element-7294b80 .elementor-counter-title,
  .elementor-44734 .elementor-element.elementor-element-7eb3c0e .elementor-counter-title {
    font-size: 22px !important;
    margin-left: 0 !important;
  }
}

/* ── Forçar RD Form a aparecer no mobile ── */
@media (max-width: 767px) {
    .elementor-hidden-mobile:has(div[id*="formulario-para-segmentacao"]),
    .elementor-widget-html:has(div[id*="formulario-para-segmentacao"]),
    .elementor-column-wrap:has(div[id*="formulario-para-segmentacao"]),
    .elementor-column:has(div[id*="formulario-para-segmentacao"]) {
        display: block !important;
    }
}

/* ── Forçar visibilidade preventiva contra erro do WP Rocket ── */
.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}

/* DESATIVADO — Depoimentos stack effect
#secaoloopdep .loopdep {
    align-self: flex-start;
}
*/
