/* Instituto Noosfera – tema */
@font-face { font-family: Futura; src: url(../fonts/futura_light.ttf) format('truetype'); font-weight: 300 400; font-display: swap; }
@font-face { font-family: Futura; src: url(../fonts/futura.ttf) format('truetype'); font-weight: 500 700; font-display: swap; }

:root {
	--noo-azul-noite: #0b3d7a;
	--noo-azul: #006ad5;
	--noo-celeste: #92d9fc;
	--bs-font-sans-serif: Futura, "Century Gothic", "Trebuchet MS", system-ui, sans-serif;
	--bs-primary: #0b4fb0; --bs-primary-rgb: 11, 79, 176;
	--bs-link-color: #0b4fb0; --bs-link-color-rgb: 11, 79, 176;
	--bs-link-hover-color: #000d63; --bs-link-hover-color-rgb: 0, 13, 99;
}
.btn-primary { --bs-btn-bg: #0b4fb0; --bs-btn-border-color: #0b4fb0; --bs-btn-hover-bg: #000d63; --bs-btn-hover-border-color: #000d63; --bs-btn-active-bg: #000d63; }
.btn-outline-primary { --bs-btn-color: #0b4fb0; --bs-btn-border-color: #0b4fb0; --bs-btn-hover-bg: #0b4fb0; --bs-btn-hover-border-color: #0b4fb0; }

body { background: #fff; display: flex; flex-direction: column; min-height: 100vh; }

/* topo */
.site-topo { background: rgba(0, 72, 128, .78); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid rgba(0, 160, 224, .35); box-shadow: 0 2px 12px rgba(6, 43, 76, .25); }
.site-topo .navbar-brand img { height: 52px; width: auto; }
.site-topo .nav-link { color: #dbefff; font-weight: 500; letter-spacing: .03em; text-transform: uppercase; font-size: .9rem; }
.site-topo .nav-link:hover, .site-topo .nav-link.active, .site-topo .nav-link.show { color: #fff; }
.site-topo .dropdown-menu { border: 0; box-shadow: 0 .75rem 2rem rgba(0, 0, 0, .25); }
.nav-icone { color: #dbefff; font-size: 1.15rem; text-decoration: none; }
.nav-icone:hover { color: #fff; }
@media (min-width: 1200px) {
	.site-topo .nav-link { padding-inline: .7rem !important; white-space: nowrap; font-size: .85rem; }
	.site-topo .dropdown:hover > .dropdown-menu { display: block; margin-top: 0; }
}

/* conteúdo */
.site-conteudo { flex: 1; background: #fff; }

.pagina-titulo { font-size: clamp(1.9rem, 3.8vw, 2.7rem); line-height: 1.2; text-align: center; margin: 1.75rem 0 1rem; color: var(--noo-azul-noite); }
.pagina-titulo + p, header .pagina-titulo ~ p { margin-bottom: 1.5rem; }
article.conteudo > header { border-bottom: 2px solid; border-image: linear-gradient(90deg, transparent, var(--noo-azul), var(--noo-celeste), transparent) 1; margin-bottom: 3.75rem; padding-bottom: 1.25rem; }
/* .entry-content h2 tem mais especificidade: repete o seletor para valer o espaço abaixo da linha azul */
.secao-titulo, .entry-content .secao-titulo { font-size: clamp(1.8rem, 3.2vw, 2.4rem); text-align: center; color: var(--noo-azul-noite); margin: 4.5rem 0 3.5rem; }
.secao-titulo::after { content: ""; display: block; width: 96px; height: 3px; margin: 1rem auto 0; background: linear-gradient(90deg, var(--noo-azul), var(--noo-celeste)); border-radius: 3px; }

.entry-content { font-size: 1.06rem; line-height: 1.75; }
.entry-content img { max-width: 100%; height: auto; border-radius: .5rem; }
.entry-content h2, .entry-content h3 { margin-top: 2.75rem; margin-bottom: 1.1rem; line-height: 1.25; color: var(--noo-azul-noite); }
.entry-content > h2:first-child, .entry-content > h3:first-child { margin-top: .5rem; }
.entry-content iframe { max-width: 100%; }
.entry-content .wp-block-embed iframe { width: 100%; aspect-ratio: 16/9; height: auto; }
.entry-content .wp-block-gallery { margin-top: 2rem; }
.entry-content .alignwide { margin-inline: 0; }
.destaque-imagem { border-radius: 1rem; overflow: hidden; margin-bottom: 2rem; }
.destaque-imagem img { width: 100%; height: auto; }

/* cartões de notícias */
.cartao { border: 0; border-radius: 1rem; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.cartao:hover { transform: translateY(-4px); box-shadow: 0 1rem 2rem rgba(0, 13, 99, .2) !important; }
.cartao .card-img-top { aspect-ratio: 16/10; height: auto; object-fit: cover; background: var(--noo-azul-noite); }
.cartao .card-title { color: var(--noo-azul-noite); }

/* vídeos */
.noo-videos .wp-block-embed { margin: 0; }

/* rodapé */
.site-rodape { background: #021a30; color: #dbefff; }
.site-rodape > .container { padding-top: 3.5rem !important; }
.site-rodape a { color: #fff; }
.site-rodape img { max-height: 48px; width: auto; }
.site-rodape .rodape-widget p { margin-bottom: .4rem; }

/* WooCommerce */
.woocommerce .button, .woocommerce button.button, .woocommerce a.button { border-radius: .5rem; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit.alt, .woocommerce input.button.alt { background: #0b4fb0; }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: #000d63; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .5rem .75rem; border-radius: .5rem; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #0b4fb0; color: #fff; }

@media (max-width: 575.98px) {
	.site-topo .navbar-brand img { height: 36px; }
	.site-topo .navbar-brand { margin-right: 0; }
	.site-topo .btn-outline-light { padding: .25rem .45rem; }
	.site-topo .btn-outline-light .rotulo { display: none; }
	.nav-icone { padding-inline: .35rem; }
}

.woocommerce button.button, .woocommerce a.button, .woocommerce input.button, .woocommerce #respond input#submit { background: #0b4fb0; color: #fff; }
.woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce input.button:hover { background: #000d63; color: #fff; }
.woocommerce div.product p.price, .woocommerce div.product span.price, .woocommerce ul.products li.product .price { color: #0b4fb0; }
.woocommerce-form-login__rememberme { display: none !important; } /* o login sempre dura 1 ano */

/* rodapé: selos/parceiros e crédito */
.site-rodape .icones { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin: 1.25rem 0 .5rem; }
.site-rodape .icones img { height: 56px; max-height: none; width: auto; background: #fff; padding: .4rem .75rem; border-radius: .75rem; box-shadow: 0 .4rem 1rem rgba(0, 0, 0, .35); transition: transform .2s, box-shadow .2s; }
.site-rodape .icones a:hover img { transform: translateY(-2px); box-shadow: 0 .6rem 1.4rem rgba(0, 0, 0, .45); }
.site-rodape img.icone { height: 1.6em; vertical-align: middle; }
.feito-por { margin: 1.25rem 0 .25rem; }
.feito-por a { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .8rem; border-radius: 999px; color: #dbefff; font-size: .88rem; text-decoration: none; transition: box-shadow .2s, background .2s; }
.feito-por strong { color: #f08a24; }
.feito-por a:hover { background: rgba(240, 138, 36, .08); box-shadow: 0 0 14px rgba(240, 138, 36, .35); }
.feito-por img { width: 20px; height: 20px; max-height: none; }
.site-rodape .icones img[src*="law_of_time"] { background: rgba(255, 255, 255, .08); box-shadow: 0 .4rem 1rem rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(146, 217, 252, .25); }

/* contador da cesta colado ao ícone */
.nav-icone.position-relative .carrinho-qtd { position: absolute; top: .15rem; right: .05rem; font-size: .62rem; line-height: 1; padding: .2rem .32rem; min-width: 1.05rem; box-shadow: 0 0 0 2px rgba(0, 72, 128, .9); }

/* vitrine: bloco do produto centralizado */
.woocommerce ul.products li.product { text-align: center; display: flex; flex-direction: column; align-items: center; }
.woocommerce ul.products li.product a img { margin-inline: auto; border-radius: .75rem; }
.woocommerce ul.products li.product .button { margin-top: .75rem; }
.woocommerce ul.products li.product .added_to_cart { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; margin-top: .75rem; }
.woocommerce a.added_to_cart { margin-top: .75rem; }

/* títulos na cor do rodapé */
.woocommerce-products-header__title, .woocommerce .page-title, .product_title, .woocommerce h2, .woocommerce h3,
.entry-content h1, .entry-content h4, .tutor-course-details-title, .tutor-fs-4, .tutor-course-details-page h3 { color: var(--noo-azul-noite); }
.woocommerce-products-header__title.page-title { font-size: clamp(1.9rem, 3.8vw, 2.7rem); line-height: 1.2; text-align: center; padding-bottom: 1.25rem; margin: 1.75rem 0 3.25rem; border-bottom: 2px solid; border-image: linear-gradient(90deg, transparent, var(--noo-azul), var(--noo-celeste), transparent) 1; }

/* ---------- formulários com a identidade do site ---------- */
:root {
	--noo-campo-borda: #b9cde0;
	--noo-campo-foco: rgba(0, 160, 224, .25);
	--noo-marcado: #0b4fb0;
}

/* campos de texto e selects */
:where(.site-conteudo) :where(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="date"], input[type="search"], input[type="url"], textarea, select):not(.form-control):not(.form-select),
.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
	border: 1px solid var(--noo-campo-borda);
	border-radius: .6rem;
	padding: .55rem .85rem;
	background-color: #fff;
	color: var(--noo-azul-noite);
	font: inherit;
	line-height: 1.4;
	transition: border-color .15s, box-shadow .15s;
}
:where(.site-conteudo) select:not(.form-select), .woocommerce form .form-row select, .form-select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 2.4rem !important;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%230b4fb0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3 6 5 5 5-5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .8rem center;
	background-size: 14px;
}
:where(.site-conteudo) :where(input, textarea, select):focus,
.form-control:focus, .form-select:focus {
	outline: none;
	border-color: var(--noo-azul);
	box-shadow: 0 0 0 .25rem var(--noo-campo-foco);
}
.form-control, .form-select { border-color: var(--noo-campo-borda); border-radius: .6rem; }
.woocommerce .woocommerce-ordering select { min-width: 220px; }

/* select2 (país/estado no checkout) */
.select2-container--default .select2-selection--single { height: auto; min-height: 42px; border: 1px solid var(--noo-campo-borda); border-radius: .6rem; display: flex; align-items: center; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--noo-azul-noite); padding-left: .85rem; line-height: 1.4; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; right: .5rem; }
.select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: #0b4fb0 transparent transparent; }
.select2-container--default.select2-container--open .select2-selection--single { border-color: var(--noo-azul); box-shadow: 0 0 0 .25rem var(--noo-campo-foco); }
.select2-dropdown { border-color: var(--noo-campo-borda); border-radius: .6rem; overflow: hidden; }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--noo-marcado); }

/* checkbox e radio */
:where(.site-conteudo) input[type="checkbox"]:not(.btn-check),
:where(.site-conteudo) input[type="radio"]:not(.btn-check) {
	appearance: none;
	-webkit-appearance: none;
	width: 1.2em;
	height: 1.2em;
	margin: 0 .45em 0 0;
	vertical-align: -.2em;
	border: 2px solid var(--noo-campo-borda);
	background: #fff center / 70% no-repeat;
	cursor: pointer;
	flex-shrink: 0;
	transition: background-color .15s, border-color .15s, box-shadow .15s;
}
:where(.site-conteudo) input[type="checkbox"]:not(.btn-check) { border-radius: .35em; }
:where(.site-conteudo) input[type="radio"]:not(.btn-check) { border-radius: 50%; }
:where(.site-conteudo) input[type="checkbox"]:not(.btn-check):checked {
	background-color: var(--noo-marcado);
	border-color: var(--noo-marcado);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m3.5 8.5 3 3 6-7'/%3E%3C/svg%3E");
}
:where(.site-conteudo) input[type="radio"]:not(.btn-check):checked {
	border-color: var(--noo-marcado);
	background-image: radial-gradient(circle, var(--noo-marcado) 0 45%, transparent 50%);
	background-size: 100%;
}
:where(.site-conteudo) input[type="checkbox"]:not(.btn-check):hover,
:where(.site-conteudo) input[type="radio"]:not(.btn-check):hover { border-color: var(--noo-azul); }
:where(.site-conteudo) input[type="checkbox"]:focus-visible,
:where(.site-conteudo) input[type="radio"]:focus-visible { box-shadow: 0 0 0 .25rem var(--noo-campo-foco); }
:where(.site-conteudo) input[type="checkbox"]:disabled,
:where(.site-conteudo) input[type="radio"]:disabled { opacity: .5; cursor: not-allowed; }
.form-check-input:checked { background-color: var(--noo-marcado); border-color: var(--noo-marcado); }

/* formas de pagamento / envio do checkout em cartões */
.woocommerce-checkout #payment { background: #f4f8fc; border-radius: .9rem; }
.woocommerce-checkout #payment ul.payment_methods li { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: .6rem; width: 100%; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce ul#shipping_method li { display: flex; align-items: center; }

/* quantidade */
.woocommerce .quantity .qty { width: 4.75rem; text-align: center; padding-inline: .5rem; -moz-appearance: textfield; }
.woocommerce .quantity .qty::-webkit-outer-spin-button, .woocommerce .quantity .qty::-webkit-inner-spin-button { opacity: 1; }

/* cupom nos totais da cesta */
.cart_totals .noo-cupom-campos { display: flex; gap: .5rem; align-items: stretch; justify-content: flex-start; max-width: 340px; }
.cart_totals .noo-cupom-campos .input-text { flex: 1 1 auto; min-width: 0; width: auto; }
.cart_totals .noo-cupom-campos .button { flex: 0 0 auto; white-space: nowrap; padding: .55rem 1.1rem; }
.woocommerce .cart_totals table.shop_table tr.noo-cupom th, .woocommerce .cart_totals table.shop_table tr.noo-cupom td { vertical-align: middle; }
@media (max-width: 768px) {
	.woocommerce .cart_totals table.shop_table_responsive tr.noo-cupom td { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
	.woocommerce .cart_totals table.shop_table_responsive tr.noo-cupom td::before { float: none; flex: 0 0 auto; }
	.cart_totals .noo-cupom-campos { flex: 1 1 auto; justify-content: flex-end; }
}

/* página da recompensa: quantidade + botões alinhados */
html { scroll-behavior: smooth; }
.noo-ancora { display: block; clear: both; scroll-margin-top: 100px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: .6rem; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .quantity { float: none; margin: 0; display: flex; }
.woocommerce div.product form.cart .quantity .qty { height: 100%; min-height: 46px; }
.woocommerce div.product form.cart .button { float: none; margin: 0; min-height: 46px; display: inline-flex; align-items: center; gap: .4rem; padding: .6rem 1.25rem; border-radius: .6rem; font-size: 1rem; line-height: 1.2; }
.woocommerce div.product form.cart .button.noo-mais-info { background: #fff; color: #0b4fb0; border: 1px solid #0b4fb0; }
.woocommerce div.product form.cart .button.noo-mais-info:hover { background: #0b4fb0; color: #fff; }

/* Pix copia e cola */
.noo-pix { max-width: 640px; margin: 0 auto 2rem; }
.noo-pix .form-control { font-size: .9rem; background: #f4f8fc; text-overflow: ellipsis; }
.noo-pix .btn { min-width: 8.5rem; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }

/* curso: parcelamento em destaque abaixo do valor */
.noo-parcelas { display: inline-flex; align-items: center; gap: .4rem; margin-top: .5rem; padding: .35rem .75rem; border-radius: 999px; background: #e7f6ec; color: #146c43; font-size: .95rem; }
.noo-parcelas strong { font-weight: 700; }
.noo-parcelas .woocommerce-Price-amount { color: inherit; }

/* EAD (Tutor): player e marca no azul do site */
:root { --plyr-color-main: #0b4fb0; }
.tutor-learning-area .plyr__control--overlaid { background: #0b4fb0; }
.tutor-learning-area .plyr__control--overlaid:hover { background: #0b3d7a; }

/* vitrine: produtos centralizados quando a linha não está completa (como no site antigo) */
.woocommerce ul.products { display: flex; flex-wrap: wrap; justify-content: center; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { float: none; margin: 0 1.9% 2.5em; }
.woocommerce ul.products.columns-4 li.product { width: 21.2%; }
.woocommerce ul.products.columns-3 li.product { width: 29.5%; }
@media (max-width: 768px) {
	.woocommerce ul.products li.product, .woocommerce-page ul.products li.product,
	.woocommerce ul.products[class*="columns-"] li.product { width: 46%; margin: 0 2% 2em; }
}

/* títulos de bloco do WooCommerce (Entrar, Cadastre-se, Total da contribuição...) */
.woocommerce h2, .woocommerce-account .u-column1 > h2, .woocommerce-account .u-column2 > h2, .cart_totals > h2, .woocommerce-billing-fields > h3, #order_review_heading { font-size: 1.6rem; margin: 1.25rem 0 1.5rem; }

/* home: título do curso no topo com menos espaço acima; botão da aula gratuita */
.entry-content.home > .secao-titulo:first-child { margin-top: 1rem; margin-bottom: 3rem; }
.noo-aula-gratis-home { margin: 0 0 2rem; }
.noo-aula-gratis-home .btn { display: inline-flex; align-items: center; padding: .7rem 1.6rem; border-radius: .75rem; box-shadow: 0 .4rem 1rem rgba(11, 79, 176, .25); }

/* cesta com atualização automática: o botão "Atualizar cesta" só aparece se o JavaScript não carregar */
.woocommerce-cart-form.noo-cesta-auto button[name="update_cart"] { display: none; }
