/*
 Theme Name:   Hostinger AI Child
 Description:  Tema Filho para customizações avançadas.
 Author:       Daniel Costa
 Template:     hostinger-ai-theme
 Version:      1.0.0
*/

:root {
    --h1-max: 2.5rem !important;
    --h2-max: 1.8rem !important;
    --h3-max: 1.1rem !important;
    --h1-min: 1.8rem !important;
    --h2-min: 1.0rem !important;
    --h3-min: 0.8rem !important;
    --wp--style--block-gap: 1.0rem !important;
    --mp-txt-color-yellow-01: #FEF8E6;
    --mp-txt-color-yellow-02: #FAE49E;
    --mp-txt-color-yellow-03: #F6D260;
    --mp-txt-color-yellow-04: #F9A33C;
    --mp-txt-color-yellow-05: #A46A26;
    --mp-txt-color-green-01: #EAEFEC;
    --mp-txt-color-green-02: #A7BDAD;
    --mp-txt-color-green-03: #4F7B5B;
    --mp-txt-color-green-04: #3B5E45;
    --mp-txt-color-green-05: #243E2D;
    --mp-txt-title-font-01: 'Shine Bubble', sans-serif;
    --mp-txt-subtitle-font-01: "Varela Round", sans-serif;
    --mp-txt-body-font-01: "Varela Round", sans-serif;
}
:root :where(.is-layout-flex) {
    gap: 20px;
}
/*///////////////////////////  FONTS  ////////////////////////////////*/
.mp_font_varela {
    font-family: "Varela Round", sans-serif;
    font-weight: 600;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}
/*//////////////////////////////////*/
h1 {
    font-size: clamp(var(--h1-min), 1.8vw + 1rem, var(--h1-max));
    line-height: 1.1;
}

h2 {
    font-size: clamp(var(--h2-min), 1.5vw + 1rem, var(--h2-max));
    line-height: 1.2;
}
.atv-tax-block-dark {
	flex-basis: 40% !important;
}
.site-footer {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important; 
    z-index: 9999 !important;
    padding-top: 15px !important;
}
footer {
	position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important; 
    z-index: 9999 !important;
	padding-top: 15px !important;
}
body.hostinger-ai-builder-gutenberg { 
	padding-top: 0px; 
}
.hostinger-ai-menu-wrapper {
    grid-template-columns: auto 1fr !important;
}
.tutor-dashboard-menu-wishlist {
    display: none !important;
}
.tutor-dashboard-menu-purchase_history {
    display: none !important;
}
/* ////////////// ENIGMATICO QUIZ - BOTAO VERIFICAR*/
.chained-quiz-action input {
	box-shadow: 0px 0px 0px 0px #3dc21b;
	background:linear-gradient(to bottom, #6da07c 5%, #385b43 100%);
	background-color:#6da07c;
	border-radius:28px;
	border:1px solid #18ab29;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Arial;
	font-size:17px;
	padding:16px 31px;
	text-decoration:none;
	text-shadow:0px 1px 0px #2f6627;
}
.chained-quiz-action input:hover {
	background:linear-gradient(to bottom, #385b43 5%, #6da07c 100%);
	background-color:#385b43;
}
.chained-quiz-action input:active {
	position:relative;
	top:1px;
}
/*TEXT AREA*/
textarea.chained-quiz-frontend {
    width: 300px !important;
    height: 60px;
    text-align: center;
    font-size: 2em;
    font-weight: bold;
    color: #385B43; 
    background-color: rgba(255, 255, 255, 0.7);
	line-height: 60px;
    white-space: nowrap;
    overflow-x: hidden !important;
    overflow-y: hidden !important; 
    resize: none;
	font-family: 'Varela Round', sans-serif !important; 
}
.chained-quiz-question p img {
	border: 2px solid #385B43; 
	border-radius: 20px;
}
.chained-quiz-action {
	display: flex !important;
    justify-content: center !important;
}
.page-id-310 .page-id-334 .entry-title {
	display:none;
}
.elementor-invisible {
    visibility: visible;
}
/*//////////////////////////////////////////*/
@media (max-width: 600px) {
	.wp-block-navigation__responsive-container {
	    background-image: linear-gradient(to bottom, #507E5D, #274230);
	}
	.site-header {
		position: fixed !important;
		left: 0 !important;
		width: 100% !important;
		z-index: 9999 !important;
	}
}
@media (min-width: 601px) {
	body { 
		padding-top: 0px !important;
	}
}
.tutor-wrap {
    margin-top: 20px !important;
    margin-bottom: 40px !important;
}
/*///////////////////////// CHAT BOT AI ////////////////////*/
.chat-message-markdown img {
    max-width: 50%;
    display: block !important;
    justify-self: center !important;
}
.chat-header p {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}
.chat-header {
	gap: 0em !important;
	padding-bottom: 10px !important;
	padding-top: 10px !important;
}
.chat-header h1 {
	margin-top: 0px !important;
	margin-bottom: 5px !important;
}
/*///// PAGE ATIVIDADES //////////////*/
/* --- ESTILO DOS FILTROS (Dropdown com Checkboxes) --- */
.filtro-atividades-wrapper {
    margin-bottom: 30px !important
}
#filtro-atividades {
    display: flex;
    gap: 15px;
    align-items: flex-end;
    flex-wrap: wrap; /* Permite quebrar em telas menores */
}
.filtro-campo {
    display: inline;
    flex-direction: column;
}
.dropdown-checkbox-container {
    position: relative;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
    min-width: 200px;
    user-select: none;
	height: -webkit-fill-available;
}
#btn-filtrar {
    font-size: 17px;
    padding: 8px 12px;
    font-weight: 500;
    background: #517F5F;
    color: white;
    border: none;
    position: relative;
    overflow: hidden;
    border-radius: 4px;
    cursor: pointer;
	height: -webkit-fill-available;
}
.dropdown-checkbox-header {
    padding: 8px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#filtro_ramos {
	position: relative;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fff;
	cursor: pointer;
	display: -webkit-inline-box;
	justify-content: space-between;
	align-items: center;
	line-height: 1.5;
	height: 42px;
	margin-left: 10px;
	min-width: min-content;
	padding: 8px 12px;
}
.dropdown-checkbox-header span:first-child {
    font-weight: 500;
}
.dropdown-arrow {
    transition: transform 0.3s;
}
/* Gira a seta quando ativo */
.dropdown-checkbox-container.is-active .dropdown-arrow {
    transform: rotate(180deg);
}
.dropdown-checkbox-content {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 10;
    width: -webkit-fill-available;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    padding: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    display: none; /* Oculto por padrão, controlado pelo JS */
    max-height: 200px;
    overflow-y: auto;
}
.dropdown-checkbox-content .checkbox-label {
    display: block;
    padding: 5px 0;
}
/* --- ESTILO DA TABELA DE RESULTADOS --- */
.resultado-atividades-tabela table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.resultado-atividades-tabela th {
    background-color: #E5ECE7;
    text-align: left;
    padding: 10px;
    border-bottom: 2px solid #ddd;
    font-weight: bold;
}
.post-row {
    cursor: pointer;
    transition: background-color 0.2s, box-shadow 0.2s;
}
.post-row:nth-child(even) {
    background-color: #f9f9f9;
}
.post-row:hover,
.post-row.is-active {
    background-color: #B9CCBF; /* Cor de destaque ao clicar/hover */
    box-shadow: inset 3px 0 0 #0073aa; /* Borda lateral para destaque */
}

.post-row td {
    padding: 10px;
    border-bottom: 1px solid #eee;
}

/* Larguras das colunas */
.col-num { width: 5%; text-align: center; }
.col-duracao { width: 15%; }
.col-titulo { width: 80%; }
/* ///////////////////////////////////////////////LINHA DE CONTEÚDO OCULTO */
.post-content-row {
    display: none; /* Controlado pelo JS */
}
.post-content-cell {
    padding: 0;
    border-bottom: 2px solid #0073aa; /* Borda para demarcar o conteúdo expandido */
}
.post-content-inner {
  line-height: 1.6;
	background-color: #B9CCBF;
}
.filtro-atividades-wrapper {
	margin-top: 30px;
}
.resultado-atividades-tabela th.col-titulo { 
    width: auto; 
}
.resultado-atividades-tabela td.col-titulo-texto { 
    width: auto; 
}
.resultado-atividades-tabela td.col-abrir { 
    width: 100px; /* Largura para o botão */
    text-align: right;
}
.btn-abrir-post {
    display: inline-block;
    padding: 5px 10px;
    background-color: #517F5F;
    color: white !important;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.9em;
    font-weight: 600;
}
.btn-abrir-post:hover {
    background-color: #233C2B;
}
/* --- ESTILO DO DETALHE EXPANDIDO (post-content-inner) --- */
.atv-header-pai {
    padding: 10px;
}

.atv-header-title {
    margin-top: 0;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
}
/* Divs 1 e 2 Lado a Lado (Flexbox para layout responsivo) */
.atv-header-row-1-2 {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}
/* Estilo para todas as "cards" (Divs 1 a 4) */
.atv-header-card {
    padding: 15px;
	  background-color: whitesmoke;
    border-radius: 15px; /* Border Radius solicitado */
}
/* Larguras específicas */
.atv-header-div-1 {
    flex: 1 1 40%; /* Ocupa 40% do espaço */
    max-width: 40%;
}
.atv-header-div-2 {
    flex: 1 1 60%; /* Ocupa 60% do espaço */
    max-width: 60%;
}
/* Divs 3, 4 e 5: Largura total (100%) */
.atv-header-div-3,
.atv-header-div-4,
.atv-header-div-5 {
    margin-top: 15px;
}

/* Estilo de Itens de Meta Dados */
.atv-meta-item {
    margin-bottom: 8px;
    line-height: 1.4;
}
.atv-meta-label {
    font-weight: 600;
    margin-right: 5px;
    color: #333;
}
.atv-meta-label-block {
    display: block;
    font-weight: 700;
    margin-bottom: 5px;
}
.atv-meta-block-content {
    padding-left: 10px;
}

/* Estilo dos Ícones (DIV 5) */
.atv-icons-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top: 10px;
		justify-content: center;
}
.atividade-icon-fixed,
.atividade-icon-term {
    width: 50px; /* Tamanho solicitado */
    height: 50px; /* Tamanho solicitado */
    object-fit: contain;
}
/*/////////////////////////////////////// Responsividade Básica */
@media (max-width: 768px) {
    .atv-header-row-1-2 {
        flex-direction: column;
    }
    .atv-header-div-1,
    .atv-header-div-2 {
        max-width: 100%;
        width: 100%;
    }
}
/*/////////////////////////// --- animacao drop resultado atividades --- */
.post-content-row {
    vertical-align: top;
}
.post-content-cell {
    padding: 0;
}
.post-content-row .post-content-inner {
    display: none; 
    overflow: hidden;
    padding: 15px 20px; 
}
.atv-block-details-border-rad {
	border-radius: 15px !important;
}
.atv-tax-block a {
    background-color: ghostwhite;
    padding: 5px;
    padding-top: 0px !important;
    border-radius: 10px;
    padding-bottom: 0px !important;
    text-align: center;
    border: 1px solid #bfbebe;
    text-decoration: none !important;
	white-space: nowrap;
    display: inline-block;
    margin-bottom: 5px;
}
.atv-tax-block-dark a {
	background-color: #285f3d;
    padding: 5px;
    padding-top: 0px !important;
    border-radius: 10px;
    padding-bottom: 0px !important;
    text-align: center;
    border: 1px solid #2e573d;
    text-decoration: none !important;
	white-space: nowrap;
    display: inline-block;
    margin-bottom: 5px;
}
.atv-label-icons a {
	text-decoration: none !important;
	margin: 5px;
}
.atv-label-icons {
	padding-right: 0;
    padding-left: 0;
	margin-top: 0px !important;
}
.atv-icon-container {
	margin-top: 0px !important;
}
div .atv-tax-block-dark {
	justify-items: anchor-center;
}
.wp-block-details {
    overflow: hidden !important; 
    transition: max-height 0.4s ease-out, opacity 0.3s ease-in-out !important; 
}
.details-content-wrapper > * {
    opacity: 0 !important;
    transition: opacity 0.3s ease-in-out !important;
}
.wp-block-details.is-open .details-content-wrapper > * {
    opacity: 1 !important;
}
.wp-block-details[open] {
    overflow: hidden !important;
}
.wp-block-details {
    overflow: hidden;
}
.details-content-wrapper {
    opacity: 0; 
    transition: opacity 0.3s ease-in-out;
    padding-top: 10px;
}
.wp-block-details.is-open > .details-content-wrapper {
    opacity: 1; 
}
.sonaar-grid {
    flex-direction: column;
}
/*///////////////////////////  H1 H2 H3 STYLE GRADIENT AND BORDER  ////////////////////////////////*/
/* Registro da Fonte */
@font-face {
    font-family: 'Shine Bubble';
    src: url('/wp-content/uploads/fonts/melhorpossivel_title.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* 1. Estrutura Base Comum */
.title_mp h1, .title_mp h2, .title_mp h3,
.title_mp h1 a, .title_mp h2 a, .title_mp h3 a {
    font-family: 'Shine Bubble', sans-serif !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    position: relative;
    margin: 0;
}

.title_mp h1, .title_mp h2, .title_mp h3 {
    display: inline-block;
    z-index: 10;
}

/* 2. Hierarquia de Tamanhos (Mantida) */
.title_mp h1 { font-size: clamp(var(--h1-min), 1.8vw + 1rem, var(--h1-max)) !important; }
.title_mp h2 { font-size: clamp(var(--h2-min, 1.5rem), 1.5vw + 1rem, var(--h2-max, 3.5rem)) !important; }
.title_mp h3 { font-size: clamp(var(--h3-min, 1.2rem), 1.2vw + 1rem, var(--h3-max, 2.5rem)); font-weight: 400; }

/* 3. Camadas (Correção do Clipping) */
.title_mp h1::before, .title_mp h1::after,
.title_mp h2::before, .title_mp h2::after,
.title_mp h3::before, .title_mp h3::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /* Garante que o pseudo-elemento se comporte como texto para o clipping */
    display: flex; 
    align-items: center;
    pointer-events: none;
}

/* Bloco Reforçado para a Borda (Camada Inferior) */
.title_mp.title_mp h1, 
.title_mp.title_mp h2, 
.title_mp.title_mp h3,
.title_mp.title_mp h1 a,
.title_mp.title_mp h2 a,
.title_mp.title_mp h3 a {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

.title_mp.title_mp h1::before, 
.title_mp.title_mp h2::before, 
.title_mp.title_mp h3::before { 
    z-index: 1;
    /* Mantém a cor da borda visível mesmo com o texto transparente */
    -webkit-text-fill-color: initial !important; 
}

/* Bloco Reforçado para o Gradiente (Camada Superior - Anti-Retângulo) */
.title_mp.title_mp h1::after, 
.title_mp.title_mp h2::after, 
.title_mp.title_mp h3::after { 
    z-index: 2;
    display: block !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}

/* --- 4. VARIAÇÃO: LIGHT --- */
.title_mp_light h1, .title_mp_light h2, .title_mp_light h3 { letter-spacing: 0.04em !important; }
.title_mp_light h1::before, .title_mp_light h2::before, .title_mp_light h3::before {
    color: #934B14 !important;
    -webkit-text-stroke: 0.08em #934B14;
}
.title_mp_light h1::after, .title_mp_light h2::after, .title_mp_light h3::after {
    background: linear-gradient(to bottom, #FEF4DB 0%, #FACA5A 50%, #F99D33 100%) !important;
}

/* --- 5. VARIAÇÃO: DARK --- */
.title_mp_dark h1, .title_mp_dark h2, .title_mp_dark h3 { letter-spacing: 0.02em !important; }
.title_mp_dark h1::before, .title_mp_dark h2::before, .title_mp_dark h3::before {
    color: #DBE7DD !important;
    -webkit-text-stroke: 0.04em #DBE7DD;
}
.title_mp_dark h1::after, .title_mp_dark h2::after, .title_mp_dark h3::after {
    background: linear-gradient(to bottom, #304e3a 0%, #4E7A5A 60%, #233C2B 100%) !important;
}
/*///////////////////////////  HEADER SEARCH BAR  ////////////////////////////////*/
.header-row {
    display: flex;
    align-items: center;
    max-width: 850px;	
    gap: 0px 10px !important;
	justify-content: space-between !important;
    padding-left: 0px;
    padding-right: 0px;
}
.header-logo,
.header-search,
.header-menu {
    flex: 0 0 auto;
}
.header-search.e-con.e-flex {
	flex: 1;
}
.header-menu {
    order: 3;
}
.header-logo {
    width: 200px !important;
    z-index: 9999;
    order: 1;
}
.header-search {
    flex: 1;
	max-width: 575px;
    min-width: 306px;
    z-index: 9999;
    order: 2;
    padding-top: 0px;
    padding-bottom: 0px;
}
.mp-header-search-bar {
	width: -webkit-fill-available;
}
.wp-block-search__inside-wrapper {
	height: 40px;
}
.wp-block-search__button {
	width: 30px !important;
	height: 30px !important;
	padding: 0px !important;
}
.wp-block-search__input {
	margin-left: 15px;
}
/*/////////////// Responsividade do HEADER mobile ///////////*/
@media (max-width: 600px) {
    .header-row {
        flex-wrap: wrap;
    }
    .header-logo {
        order: 1;
    }
    .header-menu {
        order: 2;
    }
    .header-search {
        order: 3;
        flex: 0 0 100%;
        margin-top: 8px;
    }
    main {
        padding-top: 137px !important;
    }
}

/* //////////// PROTECAO DE SELECAO E IMG /////////////// */
body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/* Permite seleção apenas em campos de formulário */
input, textarea { user-select: text; }
/* Bloqueio global de arraste e seleção para tags de imagem */
img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-select: none;
    -webkit-touch-callout: none; /* Desabilita o menu de contexto ao segurar o toque no iOS/Android */
}

/* Proteção para imagens de fundo (Background Images) e containers */
.elementor-background-overlay, 
.elementor-section, 
.elementor-container,
.scout-icon-item {
    user-select: none;
    -webkit-user-drag: none;
}

/* Garante que o cursor de seleção não apareça sobre imagens */
img, .elementor-widget-image {
    pointer-events: auto; /* Permite cliques (para links), mas as regras acima impedem o arraste */
}
/*///////////////////////////*/
.text-align-center {
	text-align: center;
}
.align-self-center {
	align-self: center
}
/* //////////// RESULTADO DE BUSCA /////////////// */
@media (max-width: 600px) {

  /* FLEX PAI DO ITEM (neutraliza o nowrap do tema) */
  .wp-block-query
  .wp-block-post-template
  .wp-block-group.is-layout-flex.is-nowrap {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }

  /* COLUNA 2 (conteúdo) VEM PRIMEIRO */
  .wp-block-query
  .wp-block-post-template
  .wp-block-group.is-layout-flex.is-nowrap
  > .wp-block-group.is-layout-flex {
    order: 1;
    width: 100%;
  }
/* COLUNA 2 (conteúdo) SOBRESCRE DISPLAY BLOCK PARA PERMITIR ORDEM */
  .mp-search-result-coluna-2 {
    display: contents !important;
}
  /* COLUNA 1 (imagem) VEM DEPOIS */
  .wp-block-post-featured-image {
    order: 2;
    width: 50% !important;
  }

  /* ORDEM INTERNA DA COLUNA 2 */
  .wp-block-post-title {
    order: 1;
    text-align: center;
  }

  .wp-block-post-excerpt {
    order: 3;
    text-align: justify;
  }

  /* META (preparados, mesmo disabled) */
  .wp-block-post-author,
  .wp-block-post-date,
  .wp-block-post-terms {
    order: 4;
  }

}
