/* Loja IBETP — sobrescreve o CSS padrão do WooCommerce com a identidade do tema.
   Enfileirado DEPOIS de woocommerce-general. Usa apenas os tokens do :root. */

:root{
	--wc-primary: var(--green2);
	--wc-primary-text:#fff;
	--wc-secondary: var(--sky);
	--wc-secondary-text: var(--navy);
	--wc-highlight: var(--green2);
	--wc-highlight-text:#fff;
	--wc-content-bg:#fff;
	--wc-subtext: var(--muted);
	--wc-form-border-color: var(--line);
	--wc-form-border-radius:14px;
}

/* Botões: mesmo formato de pílula da home. */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .button,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt,.woocommerce input.button.alt{
	background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;
	border:0;border-radius:999px;font-weight:800;padding:12px 22px;min-height:48px;
	display:inline-flex;align-items:center;justify-content:center;transition:.2s;
	box-shadow:0 12px 28px rgba(22,163,103,.20);text-transform:none;letter-spacing:0}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce .button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
	transform:translateY(-2px);color:#fff;background:linear-gradient(135deg,var(--green2),var(--green))}

/* Preço. */
.woocommerce .price,.woocommerce div.product p.price,.woocommerce div.product span.price,
.woocommerce ul.products li.product .price{color:var(--green2);font-weight:800}
.woocommerce div.product p.price{font-size:1.8rem;letter-spacing:-.02em}
.woocommerce ul.products li.product .price del{color:var(--muted);font-weight:500}

/* Mensagens do Woo com a paleta do tema. */
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-message,.woocommerce-page .woocommerce-info{
	border-top:3px solid var(--green);border-radius:14px;background:var(--soft);color:var(--ink)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--green)}
.woocommerce-error{border-top-color:#e0564d}

/* Formulários. */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce .select2-container--default .select2-selection--single,
.woocommerce select,.woocommerce input[type=text],.woocommerce input[type=email],
.woocommerce input[type=tel],.woocommerce input[type=number],.woocommerce input[type=password]{
	border:1px solid var(--line);border-radius:var(--wc-form-border-radius);min-height:48px;padding:10px 14px;color:var(--ink)}
.woocommerce .select2-container--default .select2-selection--single{display:flex;align-items:center}

/* Abas do produto. */
.woocommerce div.product .woocommerce-tabs ul.tabs{border:0;padding:0;margin:0 0 24px;display:flex;gap:8px;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--soft);border:1px solid var(--line);border-radius:999px;margin:0;padding:0}
.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 a{color:var(--navy);font-weight:700;padding:10px 20px;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--navy);border-color:var(--navy)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff}
.woocommerce div.product .woocommerce-tabs .panel{padding:0}
.woocommerce div.product .woocommerce-tabs h2:first-child{display:none}

/* Paginação. */
.woocommerce nav.woocommerce-pagination ul{border:0;gap:8px;display:flex;justify-content:center;flex-wrap:wrap}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
	min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--line);padding:0 8px;color:var(--navy)}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--sky)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff;border-color:var(--navy)}

/* Notícia de resultado/ordenação. */
.woocommerce .woocommerce-result-count{color:var(--muted)}
.woocommerce .woocommerce-ordering select{min-height:44px}

/* ---- Listagem de cursos em GRID (2.1/2.2/2.3) ---- */
.woocommerce ul.products,.woocommerce-page ul.products{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
	gap:var(--sp-5,24px);margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none;display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product.first,.woocommerce ul.products li.product.last{
	float:none;width:auto;margin:0;padding:0;clear:none;
	display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
	border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(30,83,120,.06);transition:.2s}
/* Zera as larguras percentuais de columns-N do WooCommerce. */
.woocommerce ul.products[class*="columns-"] li.product{width:auto;margin:0}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(30,83,120,.12)}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;text-decoration:none}
.woocommerce ul.products li.product a img,.woocommerce ul.products li.product img{
	width:100%;aspect-ratio:4/3;object-fit:cover;margin:0;border-radius:0;background:var(--soft);display:block}
.woocommerce ul.products li.product .course-badge{
	display:inline-block;align-self:flex-start;margin:14px 14px 0;background:var(--sky);color:var(--blue);
	font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size:15px;line-height:1.35;font-weight:600;color:var(--ink);padding:8px 14px 0;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:calc(8px + 2 * 1.35em)}
/* preço + botão num rodapé de card que é filho DIRETO do li -> margin-top:auto funciona */
.woocommerce ul.products li.product .card-foot{margin-top:auto;display:flex;flex-direction:column}
.woocommerce ul.products li.product .price{padding:6px 14px 0;margin:0;font-size:1.2rem}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .ibetp-ver-curso{
	margin:12px 14px 16px;min-height:44px}
/* Mobile: cards menores. */
@media(max-width:560px){
	.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-4,16px)}
	.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px;padding:6px 10px 0}
	.woocommerce ul.products li.product .course-badge{margin:10px 10px 0;font-size:.66rem}
	.woocommerce ul.products li.product .price{padding:4px 10px 0}
	.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .ibetp-ver-curso{margin:10px 10px 12px}
}

/* ---- Página do curso (Fase 3) ---- */
/* 3.1 galeria sticky para preencher a coluna esquerda. */
@media(min-width:1000px){
	.woocommerce div.product .woocommerce-product-gallery{position:sticky;top:100px;align-self:flex-start}
}
/* Card "O que está incluso" abaixo da imagem. */
.course-included{margin-top:20px;border:1px solid var(--line);border-radius:18px;background:var(--soft);padding:20px 22px}
.course-included h3{margin:0 0 12px;font-size:1.05rem;color:var(--navy)}
.course-included-list{list-style:none;margin:0;padding:0}
.course-included-list li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--line);font-size:.9rem}
.course-included-list li:first-child{border-top:0}
.course-included-list span{color:var(--muted)}
.course-included-list b{color:var(--navy);text-align:right}
/* 3.6 barra fixa de matrícula no mobile. */
.course-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:58;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(18,52,91,.12)}
.course-sticky-cta[hidden]{display:none}
.course-sticky-cta:not([hidden]){display:flex}
.course-sticky-price{font-weight:800;color:var(--green2);font-size:1.05rem;white-space:nowrap}
.course-sticky-cta .button{min-height:46px;white-space:nowrap;flex:0 0 auto}
@media(min-width:1000px){.course-sticky-cta{display:none!important}}
