/* 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 { margin-bottom: 2rem; }
/* imagem em pé não pode tomar a tela inteira: cresce até a largura, mas com teto de altura */
.destaque-imagem img { max-width: 100%; width: auto; height: auto; max-height: 70vh; border-radius: 1rem; }

/* 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; }
.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 */
/* a cesta atualiza sozinha (tema.js); o botão continua no HTML porque é ele que dispara a atualização */
.woocommerce-cart-form td.actions { display: none !important; }

/* cadastro: cidade e UF na mesma linha */
.noo-cidade-uf { display: grid; grid-template-columns: 1fr 6rem; gap: 0 1rem; }
.noo-cep-aviso { display: block; color: #b02a37; }
.noo-cep-aviso:empty { display: none; }

/* Minha conta > Endereços: dois blocos alinhados */
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; max-width: none; margin: 0; padding: 1.25rem 1.5rem; border: 1px solid #dfe5ec; border-radius: .75rem; background: #fff; box-shadow: 0 .25rem .75rem rgba(11, 61, 122, .06); }
.woocommerce-account .woocommerce-Address-title { display: flex; flex-direction: column; gap: .35rem; margin-bottom: .75rem; padding-bottom: .75rem; border-bottom: 1px solid #e8edf3; }
.woocommerce-account .woocommerce-Address-title::before, .woocommerce-account .woocommerce-Address-title::after { display: none !important; }
.woocommerce-account .woocommerce-Address-title h2 { float: none; margin: 0; font-size: 1.25rem; }
.woocommerce-account .woocommerce-Address-title .edit { float: none; font-size: .95rem; align-self: flex-start; }
.woocommerce-account .woocommerce-Address address { margin: 0; font-style: normal; line-height: 1.7; }

/* EAD: preço centralizado, "Exibir mais" junto da descrição */
.tutor-sidebar-card .noo-parcelas { display: flex; width: fit-content; margin-inline: auto; }
.tutor-btn-show-more { margin-top: .25rem !important; box-shadow: none !important; }
.tutor-toggle-more-collapsed::before { height: 28px !important; background: linear-gradient(rgba(255, 255, 255, 0), #fff) !important; }

/* botão "Meus Cursos" no topo da aula; a conclusão do curso é automática (sem botão) */
.noo-meus-cursos { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .6rem; border-radius: .5rem; white-space: nowrap; color: var(--noo-azul-noite); font-weight: 500; text-decoration: none; }
.noo-meus-cursos:hover { background: #e9f1fb; color: var(--noo-azul-noite); }
.tutor-learning-sidebar .tutor-md-flex.tutor-flex-column.tutor-gap-2 { display: none !important; }
.tutor-course-sidebar-card-pricing { justify-content: center !important; text-align: center; }
.tutor-learning-header-back { width: auto !important; min-width: 0; flex: 0 0 auto; padding-inline: .5rem !important; overflow: visible; }

/* item da página atual nos menus: cores do site, no lugar do azul padrão do Bootstrap */
.site-topo .dropdown-item.active, .site-topo .dropdown-item:active { background: #e3eefb; color: var(--noo-azul-noite); font-weight: 500; }

/* botão da aula grátis: uma linha só no celular, com o ícone junto do texto */
@media (max-width: 575px) {
	.noo-aula-gratis-home .btn { display: flex; justify-content: center; align-items: center; padding: .7rem .75rem; font-size: clamp(.8rem, 4.1vw, 1.1rem); white-space: nowrap; }
}

/* notícias: título junto da própria foto e mais espaço até a notícia seguinte */
.entry-content .cartao .card-title { margin-top: 0; margin-bottom: .5rem; }
.cartao .card-body { padding-top: 1rem; }
.noo-noticias.row { --bs-gutter-y: 2.5rem; }

/* rodapé no celular: banners um abaixo do outro */
@media (max-width: 575px) {
	.site-rodape .icones { display: flex; flex-direction: column; align-items: center; gap: 1rem; }
	.site-rodape .icones a, .site-rodape .icones > img { display: block; margin: 0; }
}

/* cartão de curso no celular: preço em cima, botão em toda a largura embaixo */
@media (max-width: 575px) {
	.tutor-card-footer > .tutor-d-flex.tutor-justify-between { flex-direction: column; align-items: stretch; gap: .75rem; }
	.tutor-card-footer .list-item-price { justify-content: center; }
	.tutor-card-footer .list-item-button .tutor-btn { width: 100%; }
}
.tutor-card-footer > .tutor-d-flex.tutor-justify-between { gap: .75rem; }
.tutor-card-footer .list-item-price { flex-shrink: 0; white-space: nowrap; }
@media (max-width: 575px) {
	.tutor-sidebar-card .noo-parcelas { flex-wrap: nowrap; gap: .3rem; padding-inline: .6rem; font-size: clamp(.72rem, 3.55vw, .95rem); white-space: nowrap; }
	.tutor-sidebar-card .noo-parcelas strong { white-space: nowrap; }
	.tutor-sidebar-card .tutor-add-to-cart-button, .tutor-sidebar-card .single_add_to_cart_button { padding-inline: .4rem; font-size: clamp(.8rem, 3.9vw, 1rem); white-space: nowrap; }
}

/* loja no celular: quantidade de produtos e ordenação centralizadas */
@media (max-width: 575px) {
	.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { float: none; width: 100%; margin: 0 0 1rem; text-align: center; }
	.woocommerce .woocommerce-ordering select { display: block; width: 100%; max-width: 320px; margin-inline: auto; }
}

/* produto no celular: título e valor centralizados, botões alinhados e abas em uma linha */
@media (max-width: 575px) {
	.woocommerce div.product .product_title, .woocommerce div.product .summary > .price { text-align: center; }
	.woocommerce div.product form.cart .quantity { flex: 0 0 5rem; }
	.woocommerce div.product form.cart .quantity .qty { width: 100%; }
	.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 0; min-width: 0; justify-content: center; padding-inline: .5rem; text-align: center; }
	.woocommerce div.product form.cart .button.noo-mais-info { flex: 0 0 100%; justify-content: center; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; align-items: stretch; gap: .3rem; margin: 0 0 1.25rem; padding: 0; overflow: visible; }
	.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after,
	.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { display: flex; flex: 1 1 0; min-width: 0; margin: 0; padding: 0; border-radius: .5rem .5rem 0 0; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: flex; align-items: center; justify-content: center; width: 100%; padding: .55rem .2rem; font-size: .84rem; line-height: 1.15; text-align: center; }
	.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 1px solid #cfc8d8; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { margin-bottom: -1px; border-bottom: 1px solid #cfc8d8; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #fff; }
}

/* avaliação: aviso na própria página quando falta escolher as estrelas ou escrever */
.noo-aviso-avaliacao { margin: .25rem 0 .75rem; color: #b02a37; font-weight: 500; }

/* miniaturas das fotos do produto */
.woocommerce div.product div.images .flex-control-thumbs { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin: .85rem 0 0; padding: 0; }
.woocommerce div.product div.images .flex-control-thumbs::before, .woocommerce div.product div.images .flex-control-thumbs::after { display: none; }
.woocommerce div.product div.images .flex-control-thumbs li { flex: 0 0 72px; float: none; width: 72px; margin: 0; }
.woocommerce div.product div.images .flex-control-thumbs li img { display: block; width: 72px; height: 72px; object-fit: cover; padding: 2px; border: 2px solid #dfe5ec; border-radius: .6rem; background: #fff; opacity: .7; cursor: pointer; transition: opacity .15s, border-color .15s, box-shadow .15s; }
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: #92d9fc; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { opacity: 1; border-color: #0b4fb0; box-shadow: 0 .2rem .6rem rgba(11, 79, 176, .25); }
.noo-ja-avaliou { margin: 1rem 0 0; color: #146c43; font-weight: 500; }

/* Aviso da loja no celular: botão centralizado, abaixo do texto */
@media (max-width: 767.98px) {
	.woocommerce-message:has(> .button), .woocommerce-info:has(> .button) { display: flex; flex-direction: column; }
	.woocommerce-message:has(> .button)::after, .woocommerce-info:has(> .button)::after { display: none; }
	.woocommerce-message:has(> .button) > .button, .woocommerce-info:has(> .button) > .button { order: 1; float: none; align-self: center; margin: 1rem 0 0; position: relative; left: -.75em; }
}

/* Totais da cesta no celular: a tabela não passa da largura da tela */
@media (max-width: 768px) {
	.woocommerce .cart_totals table.shop_table { table-layout: fixed; width: 100%; }
	.cart_totals .noo-cupom-campos { min-width: 0; max-width: none; }
	.cart_totals .noo-cupom-campos .input-text { flex: 1 1 0; width: 0; padding-left: .6rem; padding-right: .4rem; }
	.cart_totals .noo-cupom-campos .button { padding-left: .75rem; padding-right: .75rem; }
	.woocommerce .cart_totals ul#shipping_method li { justify-content: flex-end; }
}

/* X de remover da cesta: cinza, sem destaque; à direita no celular */
.woocommerce table.cart td.product-remove a.remove { color: #8a8f98 !important; background: transparent; }
.woocommerce table.cart td.product-remove a.remove:hover { color: #565b63 !important; background: transparent; }
@media (max-width: 768px) {
	.woocommerce table.cart td.product-remove { text-align: right !important; }
	.woocommerce table.cart td.product-remove a.remove { margin-left: auto; }
}
.noo-aviso-entrega { display: block; margin-top: .75rem; font-style: normal; color: #565b63; }

/* Cesta no celular: "Mudar endereço" na linha de baixo */
@media (max-width: 768px) {
	.woocommerce-shipping-destination a { display: block; margin-top: 0; }
}
.rodape-legal { margin-top: 1rem; font-size: .88rem; }
.rodape-legal a { color: #dbefff; }

/* finalização: do resumo fica só o total; o restante continua no HTML porque o WooCommerce e o Mercado Pago dependem dele */
form.woocommerce-checkout #order_review_heading,
form.woocommerce-checkout .woocommerce-checkout-review-order-table thead,
form.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:not(.order-total) { display: none; }
.woocommerce form.woocommerce-checkout table.woocommerce-checkout-review-order-table { display: block; border: 0; margin: 0 0 1.5rem; padding: 1.1rem 1rem; background: #f4f8fc; border-radius: .9rem; text-align: center; }
form.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot, form.woocommerce-checkout tr.order-total { display: block; }
.woocommerce form.woocommerce-checkout tr.order-total th, .woocommerce form.woocommerce-checkout tr.order-total td { display: block; border: 0; padding: 0; background: none; text-align: center; }
.woocommerce form.woocommerce-checkout tr.order-total th { font-size: .95rem; font-weight: 400; color: #5b6673; }
.woocommerce form.woocommerce-checkout tr.order-total td, .woocommerce form.woocommerce-checkout tr.order-total td strong { font-size: 2rem; font-weight: 700; line-height: 1.2; color: var(--noo-azul-noite); }

.noo-observacoes { margin: 0 0 1.5rem; }
.noo-observacoes label, .noo-rotulo-pagamento { display: block; font-weight: 600; margin-bottom: .35rem; text-align: center; }
form.woocommerce-checkout .noo-rotulo-pagamento { margin: 2.5rem 0 .5rem; }
.noo-observacoes .optional { font-weight: 400; color: #6b7280; }
.noo-observacoes textarea { width: 100%; }

/* formas de pagamento em abas: continuam sendo os radios do WooCommerce, escondidos, e cada rótulo vira a aba */
.woocommerce-checkout #payment ul.payment_methods { display: flex; flex-wrap: wrap; gap: .5rem; padding: .75rem .75rem 0; border: 0; }
.woocommerce-checkout #payment ul.payment_methods > li { display: contents; }
.woocommerce-checkout #payment ul.payment_methods > li > input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.woocommerce-checkout #payment ul.payment_methods > li > label { flex: 1 1 0; min-width: max-content; order: 0; display: flex; align-items: center; justify-content: center; gap: .4rem; margin: 0; padding: .7rem .5rem; border: 1px solid #c9d6e4; border-radius: .6rem; background: #fff; font-size: 1.1rem; font-weight: 600; line-height: 1.2; text-align: center; white-space: nowrap; cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods > li > label img { display: none; }
.woocommerce-checkout #payment.noo-aba-aberta ul.payment_methods > li > input:checked + label { background: var(--bs-primary, #0d4fae); border-color: var(--bs-primary, #0d4fae); color: #fff; }
.woocommerce-checkout #payment ul.payment_methods > li > input:focus-visible + label { outline: 2px solid #0d4fae; outline-offset: 2px; }
.woocommerce-checkout #payment ul.payment_methods > li > div.payment_box { order: 1; flex: 0 0 100%; margin: 1.75rem 0 0; }
.woocommerce-checkout #payment ul.payment_methods > li > div.payment_box::before { display: none; }
.woocommerce-checkout #payment:not(.noo-aba-aberta) div.payment_box, .woocommerce-checkout #payment:not(.noo-aba-aberta) .place-order, .woocommerce-checkout #payment.noo-aba-pix .place-order { display: none !important; }
.woocommerce-checkout #payment ul.payment_methods > li > div.payment_method_woo-mercado-pago-pix > :not(#noo-pix) { display: none; }
#noo-pix { padding: .5rem 0 1rem; text-align: center; }
#noo-pix p { margin: 1rem 0; }
#noo-pix .noo-pix-erro { color: #b42318; }
#payment ul.payment_methods #noo-pix img.noo-pix-qr { display: block; float: none; width: 100%; max-width: 240px; height: auto; max-height: none; margin: 0 auto; }
/* a imagem do QR Code já traz uma margem branca, por isso não há espaço acima da nota */
#noo-pix p.noo-pix-nota { margin: 0 0 1rem; }
#noo-pix .noo-pix-copia { display: flex; gap: 0; max-width: 440px; margin: 0 auto; }
#payment ul.payment_methods #noo-pix .noo-pix-copia input { flex: 1 1 auto; min-width: 0; margin: 0; font-size: .9rem; border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; border-right: 0; }
#noo-pix .noo-pix-copia .button { flex: 0 0 auto; margin: 0; border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; }
.woocommerce-checkout #payment .mp-privacy-policy-footer { display: none !important; }

/* tela depois do pagamento: só o quadro com a situação */
.woocommerce-order-received article.conteudo > header { display: none; }
.noo-pagamento { max-width: 480px; margin: 2rem auto 3rem; padding: 2.25rem 1.5rem; border: 1px solid #e3e8ef; border-radius: .9rem; background: #fff; text-align: center; }
.noo-pagamento .bi { display: block; font-size: 3.5rem; line-height: 1; margin-bottom: 1rem; }
.noo-pagamento h1 { font-size: 1.7rem; margin: 0 0 .75rem; color: inherit; }
.noo-pagamento p { margin: 0 0 1.75rem; color: #4b5563; }
.noo-pagamento-aprovado .bi, .noo-pagamento-aprovado h1 { color: #15803d; }
.noo-pagamento-pendente .bi, .noo-pagamento-pendente h1 { color: #b45309; }
.noo-pagamento-recusado .bi, .noo-pagamento-recusado h1 { color: #b42318; }

/* nome no topo: respeita o nome de exibição escolhido, mas não deixa um nome longo esticar a barra */
@media (min-width: 576px) {
	.noo-conta-nome {
		display: inline-block !important;
		max-width: 11rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		vertical-align: bottom;
	}
}

/* cupom aplicado: código em cima, desconto embaixo, na mesma coluna */
.cart-discount .noo-cupom-codigo {
	display: block;
	font-weight: 600;
	margin-bottom: .15rem;
}
