/*
Theme Name: Edumall Child
Theme URI: https://edumall.thememove.com/
Author: ThemeMove
Author URI: https://thememove.com/
Version: 1.0.0
Template: edumall
Text Domain:  edumall-child
Tags: editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
*/
/* Reorganizar elementos na pÃƒÂ¡gina de prova */
.tutor-single-page-top-bar {
    display: flex;
    flex-direction: column;
}

/* Bloco de certificado em primeiro */
.certificate-success-message {
    order: 1;
    margin-bottom: 30px;
}

/* Tabela de tentativas em segundo */
.tutor-quiz-attempt-history {
    order: 2;
    margin-bottom: 30px;
}

/* BotÃƒÂ£o iniciar prova por ÃƒÂºltimo */
.tutor-quiz-btn-wrapper, 
.tutor-quiz-attempt-actions,
a.tutor-btn.tutor-btn-outline-primary {
    order: 3;
    margin-top: 30px !important;
}

/* Garantir que o container do botÃƒÂ£o fique centralizado */
.tutor-quiz-btn-wrapper {
    text-align: center;
    width: 100%;
}

/* Estilo adicional para o botÃƒÂ£o */
a.tutor-btn.tutor-btn-outline-primary {
    display: inline-block;
}

/* Ajuste para o tÃƒÂ­tulo da tabela de tentativas */
.tutor-quiz-attempt-history-title {
    order: 2;
    margin-top: 40px !important;
}

.tutor-dashboard-permalinks li.tutor-dashboard-menu-certificates a:before {
    content: "\f101";
}

.tutor-dashboard-permalinks li.tutor-dashboard-menu-contato a:before {
    content: "\f105";
}

/* Estilos para Content Drip */
.content-drip-message-wrap h4 {
    font-size: 18px !important;
    margin-bottom: 15px !important;
    color: #4e97fd !important;
}

.content-drip-message-wrap ul {
    margin-left: 20px !important;
    list-style-type: disc !important;
}

.content-drip-message-wrap ul li {
    margin-bottom: 5px !important;
    color: #333 !important;
}

/* Estilos para badge de duração dos cursos - Alta especificidade */
.edumall-courses .course-loop-badges .tutor-course-badge.duration,
.tutor-course-header .course-loop-badges .tutor-course-badge.duration,
.tutor-course-badge.duration {
    background-color: #6cbd7e !important;
    background: #6cbd7e !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 4px 8px !important;
    border-radius: 3px !important;
    position: absolute !important;
    top: 35px !important;
    left: 8px !important;
    z-index: 2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    min-width: auto !important;
    margin: 0 !important;
}

/* Ícone de relógio removido do ::before - agora está no HTML */

/* Ajuste para posicionamento quando há badge GRATUITO */
.course-loop-badges .tutor-course-badge.free + .tutor-course-badge.duration {
    top: 35px !important;
    left: 8px !important;
    right: auto !important;
}

/* Ajuste para posicionamento quando há badge Featured */
.course-loop-badges .tutor-course-badge.hot + .tutor-course-badge.duration {
    top: 35px !important;
    left: 8px !important;
    right: auto !important;
}

/* Ajuste para posicionamento quando há badge Featured e Free */
.course-loop-badges .tutor-course-badge.hot + .tutor-course-badge.free + .tutor-course-badge.duration {
    top: 62px !important;
    left: 8px !important;
    right: auto !important;
}

/* Forçar aplicação dos estilos do badge de duração - Máxima especificidade */
body .edumall-courses .course-loop-badges .tutor-course-badge.duration,
body .tutor-course-header .course-loop-badges .tutor-course-badge.duration,
body .tutor-course-badge.duration {
    background-color: #6cbd7e !important;
    background: #6cbd7e !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    top: 35px !important;
    left: 8px !important;
    right: auto !important;
}

/* ::before removido - ícone agora está no HTML */

.course-loop-badges .tutor-course-badge.duration {
	top: 34px !important;
	left: 8px !important;
	font-size: 10px !important;
	line-height: 1.2 !important;
	padding: 4px 6px !important;
}

/* Filtro horizontal de carga horária (categoria) */
.brasilead-hours-filter {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding: 0 0 10px;
	scrollbar-width: none;
}

.brasilead-hours-filter::-webkit-scrollbar {
	display: none;
}

.brasilead-hours-filter .hours-chip {
	flex: 0 0 auto;
	border: 1px solid #d1d5db;
	background: #fff;
	color: #374151;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
}

.brasilead-hours-filter .hours-chip.is-active {
	background: #1d4ed8;
	border-color: #1d4ed8;
	color: #fff;
}

/* ===== Checkout - Melhorias de UX ===== */
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review {
	background-color: #ffffff;
	padding: 24px;
	border-radius: 12px;
	border: 1px solid #e1e7f0;
	box-shadow: 0 8px 24px rgba(31, 45, 61, 0.08);
}

body.woocommerce-checkout #order_review {
	margin-top: 24px;
}

body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #payment > h3 {
	margin-bottom: 24px;
	font-size: 22px;
	font-weight: 700;
	color: #0f172a;
}

body.woocommerce-checkout #payment {
	border: 1px solid #e1e7f0;
	border-radius: 12px;
	background: #f8fafc;
	padding: 24px;
}

body.woocommerce-checkout #payment ul.wc_payment_methods {
	display: grid;
	gap: 18px;
	margin: 0;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li {
	margin: 0;
	border-radius: 12px;
	border: 1px solid #d8e2ef;
	background: #ffffff;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li:hover,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment-method.rm-pagbank-pix.payment-selected,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-cc.payment-selected,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-boleto.payment-selected {
	border-color: #418fde;
	box-shadow: 0 10px 28px rgba(65, 143, 222, 0.18);
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li > label {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 20px 24px;
	margin: 0;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li > label .payment-title-icon {
	flex: 0 0 56px;
	max-width: 56px;
	min-height: 42px;
	background: #f1f5f9;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li > label .payment-title-icon img {
	display: none !important;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment-method.rm-pagbank-pix > label .payment-title-icon,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-pix > label .payment-title-icon {
	background: #f1f5f9 url('/wp-content/plugins/pagbank-connect/public/images/pix.svg') center/70% no-repeat;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment-method.rm-pagbank-cc > label .payment-title-icon,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-cc > label .payment-title-icon {
	background: #f1f5f9 url('/wp-content/plugins/pagbank-connect/public/images/cc.svg') center/70% no-repeat;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment-method.rm-pagbank-boleto > label .payment-title-icon,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-boleto > label .payment-title-icon {
	background: #f1f5f9 url('/wp-content/plugins/pagbank-connect/public/images/boleto.svg') center/70% no-repeat;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment-method.rm-pagbank-pix.payment-selected > label .payment-title-icon,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-cc.payment-selected > label .payment-title-icon,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-boleto.payment-selected > label .payment-title-icon {
	background: linear-gradient(135deg, rgba(65, 143, 222, 0.1), rgba(65, 143, 222, 0.2));
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment-method.rm-pagbank-pix.payment-selected > label .payment-title-icon,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-pix.payment-selected > label .payment-title-icon {
	background-image: url('/wp-content/plugins/pagbank-connect/public/images/pix.svg');
	background-size: 70%;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment-method.rm-pagbank-cc.payment-selected > label .payment-title-icon,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-cc.payment-selected > label .payment-title-icon {
	background-image: url('/wp-content/plugins/pagbank-connect/public/images/cc.svg');
	background-size: 70%;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment-method.rm-pagbank-boleto.payment-selected > label .payment-title-icon,
body.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_rm-pagbank-boleto.payment-selected > label .payment-title-icon {
	background-image: url('/wp-content/plugins/pagbank-connect/public/images/boleto.svg');
	background-size: 70%;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li > label .payment-title {
	font-size: 18px;
	font-weight: 600;
	color: #0f172a;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li > label .payment-title small {
	font-size: 13px;
	font-weight: 400;
	color: #475569;
}

body.woocommerce-checkout #payment ul.wc_payment_methods > li .payment_box {
	margin: 0;
	padding: 18px 24px 22px;
	border-top: 1px solid #e2e8f0;
	background: #f8fafc;
	color: #475569;
	line-height: 1.6;
}

body.woocommerce-checkout #payment .form-place-order {
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid #e2e8f0;
}

body.woocommerce-checkout .woocommerce-terms-notice {
	margin-top: 16px;
	font-size: 13px;
	line-height: 1.5;
	color: #475569;
}

body.woocommerce-checkout .site-content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout #primary {
	padding-bottom: 60px;
}

body.woocommerce-checkout .container,
body.woocommerce-checkout .edumall-container,
body.woocommerce-checkout .site-content .elementor-container {
 	padding-left: 24px;
 	padding-right: 24px;
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

body.woocommerce-checkout .site-content > .container,
body.woocommerce-checkout .site-content > .edumall-container,
body.woocommerce-checkout .site-content > .elementor-container,
body.woocommerce-checkout .site-content > .edumall-container > .container {
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.woocommerce-checkout #primary,
body.woocommerce-checkout .page-content,
body.woocommerce-checkout .site-content .page-content {
	max-width: 1180px;
	margin: 0 auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* Centralização do checkout - wrapper específico do tema Edumall */
body.woocommerce-checkout .checkout-content-wrap,
body.woocommerce-checkout .woocommerce .checkout-content-wrap,
body.woocommerce-checkout .site-content .checkout-content-wrap,
body.woocommerce-checkout #primary .checkout-content-wrap,
body.woocommerce-checkout .page-content .checkout-content-wrap {
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Mobile: aumentar padding lateral para evitar elementos cortados */
@media (max-width: 768px) {
	body.woocommerce-checkout .checkout-content-wrap,
	body.woocommerce-checkout .woocommerce,
	body.woocommerce-checkout form.checkout,
	body.woocommerce-checkout .woocommerce-billing-fields,
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	
	/* Campo de cupom e notificações */
	body.woocommerce-checkout .woocommerce-form-coupon-toggle,
	body.woocommerce-checkout .checkout_coupon,
	body.woocommerce-checkout .woocommerce-message,
	body.woocommerce-checkout .woocommerce-info,
	body.woocommerce-checkout .woocommerce-notices-wrapper {
		padding-left: 20px !important;
		padding-right: 20px !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}
	
	/* Garantir que inputs não ultrapassem */
	body.woocommerce-checkout .woocommerce form .form-row input[type="text"],
	body.woocommerce-checkout .woocommerce form .form-row input[type="email"],
	body.woocommerce-checkout .woocommerce form .form-row input[type="tel"],
	body.woocommerce-checkout .woocommerce form .form-row input[type="number"],
	body.woocommerce-checkout .woocommerce form .form-row select,
	body.woocommerce-checkout .woocommerce form .form-row textarea,
	body.woocommerce-checkout button,
	body.woocommerce-checkout .button {
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	
	/* Container do Select2 */
	body.woocommerce-checkout .select2-container {
		max-width: 100% !important;
		width: 100% !important;
	}
}

body.woocommerce-checkout .checkout-content-wrap .row,
body.woocommerce-checkout .woocommerce .checkout-content-wrap .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (max-width: 991px) {
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review {
		padding: 20px;
		border-radius: 10px;
	}

	body.woocommerce-checkout #payment {
		padding: 20px;
	}

	body.woocommerce-checkout #payment ul.wc_payment_methods > li > label {
		flex-direction: row;
		align-items: center;
		gap: 14px;
		padding: 18px 20px;
	}

	body.woocommerce-checkout #payment ul.wc_payment_methods > li .payment_box {
		padding: 16px 20px 20px;
	}

	body.woocommerce-checkout .container,
	body.woocommerce-checkout .edumall-container,
	body.woocommerce-checkout .site-content .elementor-container {
		padding-left: 20px;
		padding-right: 20px;
		max-width: 100%;
	}
	body.woocommerce-checkout .site-content > .container,
	body.woocommerce-checkout .site-content > .edumall-container,
	body.woocommerce-checkout .site-content > .elementor-container,
	body.woocommerce-checkout .site-content > .edumall-container > .container {
		max-width: 100% !important;
	}
	body.woocommerce-checkout #primary,
	body.woocommerce-checkout .page-content,
	body.woocommerce-checkout .site-content .page-content {
		max-width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	body.woocommerce-checkout .checkout-content-wrap {
		max-width: 100% !important;
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media (max-width: 600px) {
	body.woocommerce-checkout #customer_details,
	body.woocommerce-checkout #order_review,
	body.woocommerce-checkout #payment {
		padding: 12px;
		border-radius: 8px;
	}

	body.woocommerce-checkout #payment ul.wc_payment_methods {
		gap: 14px;
	}

	body.woocommerce-checkout #payment ul.wc_payment_methods > li > label {
		flex-direction: column;
		align-items: flex-start;
		padding: 16px 18px;
	}

	body.woocommerce-checkout #payment ul.wc_payment_methods > li > label .payment-title-icon {
		width: 54px;
		height: 54px;
	}

	body.woocommerce-checkout #payment ul.wc_payment_methods > li > label .payment-title {
		font-size: 17px;
	}

	body.woocommerce-checkout #payment ul.wc_payment_methods > li .payment_box {
		padding: 14px 18px 18px;
		font-size: 14px;
	}

	body.woocommerce-checkout .container,
	body.woocommerce-checkout .edumall-container,
	body.woocommerce-checkout .site-content .elementor-container {
		padding-left: 8px;
		padding-right: 8px;
		max-width: 100%;
	}
	body.woocommerce-checkout .site-content > .container,
	body.woocommerce-checkout .site-content > .edumall-container,
	body.woocommerce-checkout .site-content > .elementor-container,
	body.woocommerce-checkout .site-content > .edumall-container > .container {
		max-width: 100% !important;
	}
	body.woocommerce-checkout #primary,
	body.woocommerce-checkout .page-content,
	body.woocommerce-checkout .site-content .page-content {
		max-width: 100%;
		padding-left: 8px;
		padding-right: 8px;
	}
	body.woocommerce-checkout .checkout-content-wrap {
		max-width: 100% !important;
		padding-left: 8px;
		padding-right: 8px;
	}
}

/* Overrides focados em mobile para evitar corte do campo de cupom
   e reduzir o padding lateral dos blocos internos */
@media (max-width: 600px) {
	/* Reduzir padding lateral dos blocos internos para ganhar área útil */
	body.woocommerce-checkout .woocommerce-student-info,
	body.woocommerce-checkout .woocommerce-billing-fields {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	/* Cupom e notices 100% da largura, sem overflow lateral */
	body.woocommerce-checkout .woocommerce-form-coupon-toggle,
	body.woocommerce-checkout .checkout_coupon,
	body.woocommerce-checkout .woocommerce-message,
	body.woocommerce-checkout .woocommerce-info,
	body.woocommerce-checkout .woocommerce-notices-wrapper {
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		box-sizing: border-box !important;
	}

	/* Garantir que o input do cupom ocupe 100% sem “estourar” */
	body.woocommerce-checkout .checkout_coupon .form-row,
	body.woocommerce-checkout .checkout_coupon .form-group {
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		box-sizing: border-box !important;
		display: flex !important;
		gap: 8px;
		align-items: stretch;
	}
	body.woocommerce-checkout .checkout_coupon input[type="text"],
	body.woocommerce-checkout .checkout_coupon input.input-text {
		flex: 1 1 auto;
		min-width: 0;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	body.woocommerce-checkout .checkout_coupon .button {
		flex: 0 0 auto;
		white-space: nowrap;
		padding-left: 14px;
		padding-right: 14px;
	}

	/* Remover gutters do grid do tema dentro do wrapper do checkout */
	body.woocommerce-checkout .checkout-content-wrap .row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.woocommerce-checkout .checkout-content-wrap [class^="col-"],
	body.woocommerce-checkout .checkout-content-wrap [class*=" col-"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Harmonizar cartão de pagamento com os blocos superiores */
	body.woocommerce-checkout #order_review .woocommerce-checkout-payment,
	body.woocommerce-checkout #order_review #payment {
		background: #fff;
		border-radius: 12px;
	}
}

body.woocommerce-checkout #place_order {
	width: 100%;
	background-color: #00a234 !important;
	border-color: #00a234 !important;
	color: #ffffff !important;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-size: 17px;
	font-weight: 600;
	padding: 18px 24px;
	border-radius: 10px;
	text-transform: none;
	box-shadow: 0 12px 24px rgba(0, 162, 52, 0.25);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus {
	background-color: #00922f !important;
	border-color: #00922f !important;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(0, 130, 45, 0.28);
}

body.woocommerce-checkout #place_order:active {
	transform: translateY(0);
	box-shadow: 0 10px 22px rgba(0, 130, 45, 0.24);
}

/* ===== Barra azul de notificação do carrinho ===== */
.woocommerce-message,
.woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message {
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
}

/* ===== Checkout Compacto - Inputs e Espaçamentos (estilo Hotmart) ===== */
body.woocommerce-checkout .woocommerce form .form-row {
	margin-bottom: 16px;
}

body.woocommerce-checkout .woocommerce form .form-row label {
	font-size: 13px;
	font-weight: 500;
	color: #374151;
	margin-bottom: 6px;
	line-height: 1.4;
}

body.woocommerce-checkout .woocommerce form .form-row input[type="text"],
body.woocommerce-checkout .woocommerce form .form-row input[type="email"],
body.woocommerce-checkout .woocommerce form .form-row input[type="tel"],
body.woocommerce-checkout .woocommerce form .form-row input[type="number"],
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .woocommerce form .form-row textarea {
	font-size: 14px;
	padding: 10px 12px;
	height: 42px;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	line-height: 1.5;
	color: #111827;
	background-color: #ffffff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	width: 100%;
	box-sizing: border-box;
}

/* Select específico - garantir alinhamento */
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .woocommerce form .form-row select.select,
body.woocommerce-checkout .woocommerce form .form-row select#billing_person_type,
body.woocommerce-checkout .woocommerce form .form-row select[name*="person_type"] {
	font-size: 14px !important;
	padding: 10px 32px 10px 12px !important;
	height: 42px !important;
	border: 1px solid #d1d5db !important;
	border-radius: 6px !important;
	line-height: 1.5 !important;
	color: #111827 !important;
	background-color: #ffffff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23374151' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	background-size: 12px !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	display: block !important;
	position: relative !important;
	float: none !important;
	clear: both !important;
}

/* Garantir que o wrapper do select não tenha problemas */
body.woocommerce-checkout .woocommerce form .form-row .select-wrapper,
body.woocommerce-checkout .woocommerce form .form-row .select2-container {
	width: 100% !important;
	display: block !important;
	margin: 0 !important;
}

/* Ocultar select original quando Select2 estiver ativo (evitar duplicação) */
body.woocommerce-checkout .woocommerce form .form-row select.select2-hidden-accessible {
	display: none !important;
	visibility: hidden !important;
	position: absolute !important;
	left: -9999px !important;
	opacity: 0 !important;
	height: 0 !important;
	width: 0 !important;
	pointer-events: none !important;
}

/* Garantir que apenas o container do Select2 seja visível */
body.woocommerce-checkout .woocommerce form .form-row .select2-container {
	display: block !important;
	position: relative !important;
	z-index: 1 !important;
}

/* Ocultar qualquer select que não esteja com Select2 */
body.woocommerce-checkout .woocommerce form .form-row select:not(.select2-hidden-accessible) {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

/* Garantir que selects com Select2 não apareçam duplamente */
body.woocommerce-checkout .woocommerce form .form-row.woocommerce-validated select,
body.woocommerce-checkout .woocommerce form .form-row.woocommerce-invalid select {
	display: none !important;
}

body.woocommerce-checkout .woocommerce form .form-row input[type="text"]:focus,
body.woocommerce-checkout .woocommerce form .form-row input[type="email"]:focus,
body.woocommerce-checkout .woocommerce form .form-row input[type="tel"]:focus,
body.woocommerce-checkout .woocommerce form .form-row input[type="number"]:focus,
body.woocommerce-checkout .woocommerce form .form-row select:focus,
body.woocommerce-checkout .woocommerce form .form-row textarea:focus {
	border-color: #418fde;
	outline: none;
	box-shadow: 0 0 0 3px rgba(65, 143, 222, 0.1);
}

/* Select focus específico */
body.woocommerce-checkout .woocommerce form .form-row select:focus,
body.woocommerce-checkout .woocommerce form .form-row select.select:focus,
body.woocommerce-checkout .woocommerce form .form-row select#billing_person_type:focus,
body.woocommerce-checkout .woocommerce form .form-row select[name*="person_type"]:focus {
	border-color: #418fde !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(65, 143, 222, 0.1) !important;
}

body.woocommerce-checkout .woocommerce form .form-row textarea {
	height: auto;
	min-height: 80px;
	padding: 10px 12px;
	resize: vertical;
}

body.woocommerce-checkout .woocommerce form .form-row input::placeholder,
body.woocommerce-checkout .woocommerce form .form-row textarea::placeholder {
	color: #9ca3af;
	font-size: 14px;
}

/* Títulos de seção mais compactos */
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout #customer_details h3,
body.woocommerce-checkout .woocommerce-student-info h3 {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 16px;
	color: #111827;
	line-height: 1.3;
}

body.woocommerce-checkout .woocommerce-student-info {
	margin-bottom: 24px;
	padding: 16px;
}

body.woocommerce-checkout .student-info-note {
	font-size: 12px;
	margin-bottom: 12px;
	line-height: 1.5;
}

body.woocommerce-checkout .billing-info-note {
	font-size: 12px;
	margin-bottom: 16px;
	padding: 10px 12px;
	line-height: 1.5;
}

/* Campos readonly mais compactos */
body.woocommerce-checkout .student-readonly-field {
	font-size: 14px;
	padding: 10px 12px;
	height: 42px;
}

/* Seções com menos espaçamento */
body.woocommerce-checkout .woocommerce-billing-fields {
	padding: 16px;
	margin-bottom: 20px;
}

body.woocommerce-checkout .woocommerce-billing-fields h3 {
	margin-top: 0;
	margin-bottom: 12px;
	padding-bottom: 8px;
}

body.woocommerce-checkout .student-info-fields .form-row {
	margin-bottom: 12px;
}

/* Form-row-wide ajustado */
body.woocommerce-checkout .woocommerce form .form-row-wide {
	width: 100%;
}

body.woocommerce-checkout .woocommerce form .form-row-first,
body.woocommerce-checkout .woocommerce form .form-row-last {
	width: 48%;
}

/* Responsivo - inputs lado a lado em telas maiores */
@media (min-width: 768px) {
	body.woocommerce-checkout .woocommerce form .form-row-first {
		float: left;
		margin-right: 4%;
	}
	
	body.woocommerce-checkout .woocommerce form .form-row-last {
		float: right;
		margin-right: 0;
	}
}

@media (max-width: 767px) {
	.brasilead-course-archive-wrapper {
		gap: 10px;
	}

	.brasilead-course-archive-wrapper .edumall-courses .grid-item {
		margin-bottom: 10px;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-wrapper {
		display: flex;
		flex-direction: row;
		gap: 10px;
		padding: 0;
		border-radius: 10px;
		box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
	}

	.brasilead-course-archive-wrapper .edumall-courses .tutor-course-header {
		flex: 0 0 100px;
		width: 100px;
		min-width: 100px;
		position: relative;
		margin: 0;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-thumbnail {
		height: 80px;
		border-radius: 8px;
		overflow: hidden;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-thumbnail img {
		width: 100px;
		height: 80px;
		object-fit: cover;
		border-radius: 8px;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-badges .tutor-course-badge {
		font-size: 10px !important;
		padding: 2px 6px !important;
		border-radius: 6px !important;
		line-height: 1.2 !important;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-badges .tutor-course-badge.free {
		top: 6px !important;
		left: 6px !important;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-badges .tutor-course-badge.duration {
		top: 26px !important;
		left: 6px !important;
		max-width: 94px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-info {
		flex: 1 1 auto;
		padding: 4px 2px 4px 0;
		min-width: 0;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-category {
		margin: 0 0 4px;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-title {
		font-family: Montserrat, sans-serif;
		font-size: 15px;
		line-height: 1.25;
		margin: 0 0 4px;
		display: -webkit-box;
		line-clamp: 2;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-meta .course-loop-meta-list {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		overflow: hidden;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-meta .course-loop-meta-item {
		font-family: Inter, sans-serif;
		font-size: 12px;
		color: #666666;
		white-space: nowrap;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-meta .meta-label-icon {
		font-size: 12px;
		color: #666666;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-meta .meta-value {
		font-family: Inter, sans-serif;
		font-size: 12px;
		color: #666666;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-excerpt {
		display: none;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-footer {
		display: none;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-buttons {
		margin-top: 4px;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-buttons .tm-button-wrapper {
		margin: 0;
	}

	.brasilead-course-archive-wrapper .edumall-courses .course-loop-buttons .tm-button {
		padding: 6px 12px;
		font-size: 12px;
	}

	body.woocommerce-checkout .woocommerce form .form-row-first,
	body.woocommerce-checkout .woocommerce form .form-row-last {
		width: 100%;
		float: none;
		margin-right: 0;
	}
	
	body.woocommerce-checkout .woocommerce form .form-row {
		margin-bottom: 14px;
	}
	
	body.woocommerce-checkout .woocommerce form .form-row input[type="text"],
	body.woocommerce-checkout .woocommerce form .form-row input[type="email"],
	body.woocommerce-checkout .woocommerce form .form-row input[type="tel"],
	body.woocommerce-checkout .woocommerce form .form-row input[type="number"],
	body.woocommerce-checkout .woocommerce form .form-row select {
		font-size: 16px; /* Evita zoom no iOS */
	}
}

/* ===== Cursos - Layout macro (archive e categorias) ===== */
.brasilead-course-archive-wrapper {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.brasilead-course-archive-layout {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.brasilead-course-archive-topbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #ffffff;
}

.brasilead-course-archive-topbar-summary {
	font-size: 14px;
	font-weight: 600;
	color: #1f2937;
}

.brasilead-course-archive-topbar-filters {
	flex: 1 1 280px;
	min-width: 260px;
}

.brasilead-course-archive-topbar-filters > *:last-child {
	margin-bottom: 0;
}

.brasilead-course-archive-topbar-filters .archive-filter-bars {
	margin: 0;
}

.brasilead-course-archive-topbar-filters .archive-filter-bar {
	padding: 0;
}

.brasilead-course-archive-topbar-filters .archive-filter-bar-right {
	display: flex;
	justify-content: flex-end;
}

.brasilead-course-archive-topbar-filters .archive-filter-bar-right .inner {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
}

.brasilead-course-archive-topbar-filters .archive-orderby-select {
	margin: 0;
}

.brasilead-course-archive-topbar-filters .archive-orderby-select .edumall-nice-select-wrap {
	margin-bottom: 0;
}

.brasilead-course-archive-list {
	display: block;
}

.brasilead-course-archive-pagination {
	padding-top: 8px;
}

.brasilead-course-archive-wrapper .edumall-courses .grid-item {
	margin-bottom: 22px;
}

.brasilead-course-archive-wrapper .edumall-courses .course-loop-wrapper {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.brasilead-course-archive-wrapper .edumall-courses .course-loop-wrapper:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.brasilead-course-archive-wrapper .edumall-courses .course-loop-info {
	padding: 16px 16px 14px;
}

.brasilead-course-archive-wrapper .edumall-courses .course-loop-category {
	margin-bottom: 6px;
}

.brasilead-course-archive-wrapper .edumall-courses .course-loop-title {
	font-size: 17px;
	line-height: 1.35;
	margin-bottom: 10px;
}

.brasilead-course-archive-wrapper .edumall-courses .course-loop-excerpt {
	margin-bottom: 12px;
	font-size: 14px;
	line-height: 1.45;
}

.brasilead-course-archive-wrapper .edumall-courses .tutor-course-loop-price .price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.brasilead-course-archive-wrapper .edumall-courses .course-loop-rating-average {
	margin-top: 10px;
}

/* Segurança visual: esconder wishlist em qualquer variação do loop */
.brasilead-course-archive-wrapper .course-loop-wishlist-button,
.brasilead-course-archive-wrapper .edumall-course-wishlist-btn {
	display: none !important;
}

@media (max-width: 991px) {
	.brasilead-course-archive-topbar {
		align-items: flex-start;
	}
}

@media (max-width: 767px) {
	.brasilead-course-archive-topbar {
		padding: 12px;
	}

	.brasilead-course-archive-topbar-summary {
		width: 100%;
	}

	.brasilead-course-archive-topbar-filters {
		flex-basis: 100%;
		min-width: 100%;
	}

	.brasilead-course-archive-topbar-filters .archive-filter-bar-right .inner {
		justify-content: flex-start;
	}
}

/* Barra horizontal de carga horária */
.brasilead-hours-filter {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 10px;
	scrollbar-width: none;
}

.brasilead-hours-filter::-webkit-scrollbar {
	display: none;
}

.brasilead-hours-filter .hours-chip {
	flex: 0 0 auto;
	border: 1px solid #d1d5db;
	background: #fff;
	color: #374151;
	border-radius: 999px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
}

.brasilead-hours-filter .hours-chip.is-active {
	background: #2563eb;
	border-color: #2563eb;
	color: #fff;
}

.brasilead-hours-filter .hours-chip.hours-chip-more {
	background: #eef2ff;
	border-color: #c7d2fe;
	color: #3730a3;
}

.brasilead-calculadora-horas-wrap {
	margin-top: 18px;
}

/* Refatoracao mobile de card de curso (<768px) */
@media (max-width: 767px) {
	.brasilead-course-archive-list .edumall-courses .grid-item {
		margin-bottom: 8px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-wrapper {
		display: flex !important;
		flex-direction: row !important;
		align-items: flex-start !important;
		gap: 10px !important;
		padding: 8px !important;
		border-radius: 10px !important;
	}

	.brasilead-course-archive-list .edumall-courses .tutor-course-header {
		flex: 0 0 100px !important;
		width: 100px !important;
		min-width: 100px !important;
		position: relative !important;
		margin: 0 !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-thumbnail {
		width: 100px !important;
		height: 80px !important;
		border-radius: 8px !important;
		overflow: hidden !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-thumbnail a,
	.brasilead-course-archive-list .edumall-courses .course-thumbnail img {
		display: block !important;
		width: 100px !important;
		height: 80px !important;
		object-fit: cover !important;
		border-radius: 8px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-badges .tutor-course-badge {
		font-size: 10px !important;
		line-height: 1.1 !important;
		padding: 2px 6px !important;
		border-radius: 6px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-badges .tutor-course-badge.free {
		top: 6px !important;
		left: 6px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-badges .tutor-course-badge.duration {
		top: 24px !important;
		left: 6px !important;
		max-width: 94px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-info {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		padding: 0 !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-title {
		font-family: Montserrat, sans-serif !important;
		font-size: 14px !important;
		line-height: 1.25 !important;
		margin: 0 0 4px !important;
		display: -webkit-box !important;
		line-clamp: 2 !important;
		-webkit-line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-meta .course-loop-meta-list {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 8px !important;
		overflow: hidden !important;
	}

	/* Mantem licoes e horas em linha unica; remove nivel no mobile para compactar */
	.brasilead-course-archive-list .edumall-courses .course-loop-meta .course-loop-meta-level {
		display: none !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-meta .course-loop-meta-item,
	.brasilead-course-archive-list .edumall-courses .course-loop-meta .meta-value {
		font-family: Inter, sans-serif !important;
		font-size: 12px !important;
		color: #666666 !important;
		white-space: nowrap !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-meta .meta-label-icon {
		font-size: 12px !important;
		color: #666666 !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-excerpt,
	.brasilead-course-archive-list .edumall-courses .course-loop-footer {
		display: none !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-buttons {
		margin-top: 4px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-buttons .tm-button {
		padding: 6px 10px !important;
		font-size: 12px !important;
		line-height: 1.2 !important;
	}
}

/* Ajustes finais mobile - card horizontal compacto */
@media (max-width: 767px) {
	.brasilead-course-archive-list .edumall-courses .grid-item {
		margin-bottom: 16px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-wrapper {
		padding: 12px !important;
	}

	.brasilead-course-archive-list .edumall-courses .tutor-course-header,
	.brasilead-course-archive-list .edumall-courses .course-thumbnail {
		width: 110px !important;
		min-width: 110px !important;
		flex-basis: 110px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-thumbnail {
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-thumbnail a,
	.brasilead-course-archive-list .edumall-courses .course-thumbnail img {
		width: 110px !important;
		height: 110px !important;
		aspect-ratio: 1 / 1 !important;
		object-fit: cover !important;
	}

	/* Exibe só o selo GRATUITO sobre a imagem no mobile */
	.brasilead-course-archive-list .edumall-courses .course-loop-badges .tutor-course-badge.duration {
		display: none !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-title {
		font-family: Montserrat, sans-serif !important;
		font-weight: 700 !important;
		font-size: 14px !important;
		line-clamp: 2 !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-category,
	.brasilead-course-archive-list .edumall-courses .course-loop-category a {
		font-family: Inter, sans-serif !important;
		font-size: 12px !important;
		font-weight: 400 !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-meta .course-loop-meta-list {
		gap: 10px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-meta .course-loop-meta-lesson .meta-value,
	.brasilead-course-archive-list .edumall-courses .course-loop-meta .course-loop-meta-duration .meta-value {
		font-weight: 700 !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-meta .course-loop-meta-free .meta-value {
		font-weight: 600 !important;
		color: #16a34a !important;
	}

	/* Botao em outline azul para economizar espaço */
	.brasilead-course-archive-list .edumall-courses .course-loop-buttons .tm-button {
		background: #2563eb !important;
		color: #ffffff !important;
		border: 1px solid #2563eb !important;
		display: inline-flex !important;
		width: auto !important;
		max-width: max-content !important;
		padding: 2px 8px !important;
		min-height: 22px !important;
		line-height: 1 !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		border-radius: 8px !important;
	}

	.brasilead-course-archive-list .edumall-courses .course-loop-buttons .tm-button:hover,
	.brasilead-course-archive-list .edumall-courses .course-loop-buttons .tm-button:focus,
	.brasilead-course-archive-list .edumall-courses .course-loop-buttons .tm-button:active {
		background: #1d4ed8 !important;
		color: #ffffff !important;
		border-color: #1d4ed8 !important;
	}

	/* Pills com arredondamento 10 */
	.brasilead-hours-filter .hours-chip {
		border-radius: 10px !important;
	}
}