/*
Theme Name: LojaEbooks

WooCommerce styles override
*/

/**
 * Shop tables
 */
table.shop_table_responsive thead {
	display: none;
}

table.shop_table_responsive tbody th {
	display: none;
}

table.shop_table_responsive tr td {
	display: block;
	text-align: right;
	clear: both;
}

table.shop_table_responsive tr td::before {
	content: attr(data-title) ": ";
	float: left;
}

table.shop_table_responsive tr td.product-remove a {
	text-align: left;
}

table.shop_table_responsive tr td.product-remove::before {
	display: none;
}

table.shop_table_responsive tr td.actions::before,
table.shop_table_responsive tr td.download-actions::before {
	display: none;
}

table.shop_table_responsive tr td.download-actions .button {
	display: block;
	text-align: center;
}

@media screen and (min-width: 48em) {

	table.shop_table_responsive thead {
		display: table-header-group;
	}

	table.shop_table_responsive tbody th {
		display: table-cell;
	}

	table.shop_table_responsive tr th,
	table.shop_table_responsive tr td {
		text-align: left;
	}

	table.shop_table_responsive tr td {
		display: table-cell;
	}

	table.shop_table_responsive tr td::before {
		display: none;
	}
}

/**
 * Products
 */
ul.products {
	margin: 0;
	padding: 0;
}

ul.products li.product {
	list-style: none;
	position: relative;
	margin-bottom: 2em;
}

ul.products li.product img {
	display: block;
}

ul.products li.product .button {
	display: block;
}

@media screen and (min-width: 48em) {

	ul.products li.product {
		width: 30.79667%;
		float: left;
		margin-right: 3.8%;
	}

	ul.products li.product.first {
		clear: both;
	}

	ul.products li.product.last {
		margin-right: 0;
	}

	ul.products.columns-1 li.product {
		float: none;
		width: 100%;
	}

	ul.products.columns-2 li.product {
		width: 48.1%;
	}

	ul.products.columns-3 li.product {
		width: 30.79667%;
	}

	ul.products.columns-4 li.product {
		width: 22.15%;
	}

	ul.products.columns-5 li.product {
		width: 16.96%;
	}

	ul.products.columns-6 li.product {
		width: 13.49333%;
	}
}

/**
 * Single product
 */
.single-product div.product {
	position: relative;
}

.single-product div.product .woocommerce-product-gallery {
	position: relative;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 2em;
	right: 1em;
	display: block;
	z-index: 99;
}

.single-product div.product .woocommerce-product-gallery .flex-viewport {
	margin-bottom: 1em;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	margin: 0;
	padding: 0;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	list-style: none;
	cursor: pointer;
	float: left;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
	opacity: 0.5;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
	opacity: 1;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
	width: 48.1%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
	width: 30.79667%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
	width: 22.15%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
	clear: both;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
	width: 16.96%;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
	margin-right: 0;
}

.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
	clear: both;
}

.stock:empty::before {
	display: none;
}

.stock.in-stock {
	color: #0f834d;
}

.stock.out-of-stock {
	color: #e2401c;
}

/**
 * Checkout
 */
@media screen and (min-width: 768px) {

	.col2-set .form-row-first {
		float: left;
		margin-right: 3.8%;
	}

	.col2-set .form-row-last {
		float: right;
		margin-right: 0;
	}

	.col2-set .form-row-first,
	.col2-set .form-row-last {
		width: 48.1%;
	}
}

/**
 * General WooCommerce components
 */

/**
 * Header cart
 */
.site-header-cart {
	position: relative;
	margin: 0;
	padding: 0;
}

.site-header-cart .cart-contents {
	text-decoration: none;
}

.site-header-cart .widget_shopping_cart {
	display: none;
}

.site-header-cart .product_list_widget {
	margin: 0;
	padding: 0;
}

/**
 * Star rating
 */
.star-rating {
	overflow: hidden;
	position: relative;
	height: 1.618em;
	line-height: 1.618;
	width: 5.3em;
	font-family: star;
	font-weight: 400;
}

.star-rating::before {
	content: "\53\53\53\53\53";
	opacity: 0.25;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
}

.star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

.star-rating span::before {
	content: "\53\53\53\53\53";
	top: 0;
	position: absolute;
	left: 0;
	color: #4169e1;
}

p.stars a {
	position: relative;
	height: 1em;
	width: 1em;
	text-indent: -999em;
	display: inline-block;
	text-decoration: none;
	margin-right: 1px;
	font-weight: 400;
}

p.stars a::before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	line-height: 1;
	font-family: star;
	content: "\53";
	color: #404040;
	text-indent: 0;
	opacity: 0.25;
}

p.stars a:hover ~ a::before {
	content: "\53";
	color: #404040;
	opacity: 0.25;
}

p.stars:hover a::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

p.stars.selected a.active::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

p.stars.selected a.active ~ a::before {
	content: "\53";
	color: #404040;
	opacity: 0.25;
}

p.stars.selected a:not(.active)::before {
	content: "\53";
	color: #4169e1;
	opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.woocommerce-tabs ul.tabs li {
	display: block;
	margin: 0;
	position: relative;
}

.woocommerce-tabs ul.tabs li a {
	padding: 1em 0;
	display: block;
}

.woocommerce-tabs .panel h2:first-of-type {
	margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
	text-align: right;
}

.woocommerce-password-strength.strong {
	color: #0f834d;
}

.woocommerce-password-strength.short {
	color: #e2401c;
}

.woocommerce-password-strength.bad {
	color: #e2401c;
}

.woocommerce-password-strength.good {
	color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
	box-shadow: inset 2px 0 0 #0f834d;
}

.form-row.woocommerce-invalid input.input-text {
	box-shadow: inset 2px 0 0 #e2401c;
}

.required {
	color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
	background-color: #f0f0fd !important;
	color: #1e293b !important;
	border: 1px solid #e0e0fb !important;
	border-left: 4px solid var(--accent) !important;
	border-radius: 8px !important;
	padding: 14px 20px !important;
    margin-bottom: 16px !important;
	clear: both;
}

.woocommerce-message a,
.woocommerce-info a {
	color: var(--accent) !important;
	font-weight: 600 !important;
}

.woocommerce-error {
	background-color: #fef2f2 !important;
	color: #7f1d1d !important;
	border: 1px solid #fecaca !important;
	border-left: 4px solid #e2401c !important;
	border-radius: 8px !important;
	padding: 14px 20px !important;
	clear: both;
}

.demo_store {
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	margin: 0;
	padding: 1em;
	background-color: #3d9cd2;
	z-index: 9999;
}

@media screen and (min-width: 48em) {

	/**
	 * Header cart
	 */
	.site-header-cart .widget_shopping_cart {
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 999999;
		left: -999em;
		display: block;
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	}

	.site-header-cart:hover .widget_shopping_cart,
	.site-header-cart.focus .widget_shopping_cart {
		left: 0;
		display: block;
	}
}

/**
 * WooCommerce widgets
 */

/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
	margin-bottom: 1.5em;
}

.widget_price_filter .price_slider_amount {
	text-align: right;
	line-height: 2.4;
}

.widget_price_filter .price_slider_amount .button {
	float: left;
}

.widget_price_filter .ui-slider {
	position: relative;
	text-align: left;
}

.widget_price_filter .ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1em;
	height: 1em;
	cursor: ew-resize;
	outline: none;
	background: #4169e1;
	box-sizing: border-box;
	margin-top: -0.25em;
	opacity: 1;
}

.widget_price_filter .ui-slider .ui-slider-handle:last-child {
	margin-left: -1em;
}

.widget_price_filter .ui-slider .ui-slider-handle:hover,
.widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
	box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	display: block;
	border: 0;
	background: #4169e1;
}

.widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: rgba(0, 0, 0, 0.1);
}

.widget_price_filter .ui-slider-horizontal {
	height: 0.5em;
}

.widget_price_filter .ui-slider-horizontal .ui-slider-range {
	height: 100%;
}

/* ============================================================
   PERSONALIZAÇÕES DA LOJA (WOOCOMMERCE)
   ============================================================ */

/* Remove sublinhados e oculta títulos */
body.woocommerce ul.products li.product a,
body.woocommerce ul.products li.product .button,
body.woocommerce ul.products li.product .price {
    text-decoration: none !important;
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product .woocommerce-loop-category__title,
body.woocommerce ul.products li.product h2,
body.woocommerce ul.products li.product h3 {
    display: none !important;
}

/* Container principal – grid de 4 colunas (sobrescreve o float padrão) */
body.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 25px !important;
    padding: 0 !important;
    margin: 20px 0 0 0 !important;
    list-style: none !important;
}

/* Cada produto */
body.woocommerce ul.products li.product {
    background: #ffffff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04) !important;
    border: 1px solid #f1f5f9 !important;
    padding: 0 0 12px 0 !important;
    margin: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 420px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    float: none !important; /* Remove float do Underscores */
}

/* Imagem – altura 350px */
body.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    padding: 8px !important;
    background: #fafafa !important;
    border-radius: 10px 10px 0 0 !important;
    box-sizing: border-box !important;
}

/* Preço – centralizado */
body.woocommerce ul.products li.product .price {
    font-size: 1.2em !important;
    font-weight: 700 !important;
    color: #2563eb !important;
    text-decoration: none !important;
    display: block !important;
    margin: 6px auto 6px auto !important;
    padding: 0 15px !important;
    text-align: center !important;
}

/* Link "Ver produto" (antigo botão) */
body.woocommerce ul.products li.product .button {
    background: #2563eb !important;
    color: #fff !important;
    padding: 8px 20px !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 0.9em !important;
    text-transform: none !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
    display: inline-block !important;
    width: auto !important;
    max-width: 180px !important;
    margin: 0 auto 4px auto !important;
    line-height: 1.4 !important;
    text-align: center !important;
}
body.woocommerce ul.products li.product .button:hover {
    background: #1d4ed8 !important;
}

/* ============================================================
   AJUSTES FINOS PARA A PÁGINA DA LOJA (ORDENAÇÃO E ESPAÇAMENTO)
   ============================================================ */

/* Desktop: ordenação e resultado lado a lado, sem ocupar toda largura */
.woocommerce-products-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    margin-bottom: 20px !important;
}

.woocommerce-products-header .woocommerce-ordering {
    flex: 0 0 auto !important;
    width: auto !important;
}

.woocommerce-products-header .woocommerce-result-count {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* Ordenação – estilo mais retangular (mantido) */
body.woocommerce-ordering {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 20px !important;
    float: none !important;
}
body.woocommerce-ordering label {
    font-weight: 600 !important;
    font-size: 0.95em !important;
    color: #1e293b !important;
}
body.woocommerce-ordering select {
    padding: 8px 35px 8px 16px !important;
    border-radius: 8px !important;
    border: 2px solid #d1d5db !important;
    background: #ffffff !important;
    font-size: 0.95em !important;
    font-weight: 500 !important;
    color: #1e293b !important;
    cursor: pointer !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 16px;
    transition: border-color 0.2s;
    width: auto !important;
    min-width: 180px !important;
}
body.woocommerce-ordering select:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}

body.woocommerce-result-count {
    font-size: 0.95em !important;
    color: #64748b !important;
    margin-bottom: 20px !important;
    float: none !important;
    display: inline-block !important;
    margin-right: 20px !important;
}

/* Espaçamento lateral uniforme nos produtos */
.woocommerce-shop .site-main,
.post-type-archive-product .site-main,
.tax-product_cat .site-main,
.tax-product_tag .site-main {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
}

.woocommerce ul.products {
    padding: 0 !important;
}

/* Mobile: ordenação ocupa 100% da largura */
@media (max-width: 768px) {
    .woocommerce-products-header {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .woocommerce-products-header .woocommerce-ordering {
        width: 100% !important;
    }
    .woocommerce-products-header .woocommerce-ordering select {
        width: 100% !important;
    }
}

/* Responsivo para a loja (ajuste do grid) */
@media (max-width: 992px) {
    body.woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px !important;
    }
    body.woocommerce ul.products li.product {
        min-height: 400px !important;
    }
    body.woocommerce ul.products li.product a img {
        height: 280px !important;
    }
}
@media (max-width: 768px) {
    body.woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
    body.woocommerce ul.products li.product {
        min-height: 340px !important;
    }
    body.woocommerce ul.products li.product a img {
        height: 200px !important;
    }
    body.woocommerce ul.products li.product .button {
        max-width: 140px !important;
        font-size: 0.8em !important;
        padding: 6px 14px !important;
    }
}
@media (max-width: 480px) {
    body.woocommerce ul.products {
        grid-template-columns: 1fr 1fr !important;
        gap: 12px !important;
    }
    body.woocommerce ul.products li.product {
        min-height: 290px !important;
    }
    body.woocommerce ul.products li.product a img {
        height: 150px !important;
    }
    body.woocommerce ul.products li.product .price {
        font-size: 1em !important;
        padding: 0 8px !important;
        margin: 4px auto 4px auto !important;
    }
    body.woocommerce ul.products li.product .button {
        font-size: 0.7em !important;
        padding: 5px 10px !important;
        max-width: 100px !important;
    }
}

/* ============================================================
   CHECKOUT (WOOCOMMERCE)
   ============================================================ */
.woocommerce-billing-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px 25px !important;
}
.woocommerce-billing-fields__field-wrapper p.form-row {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: auto !important;
}
.woocommerce-billing-fields__field-wrapper #billing_email_field,
.woocommerce-billing-fields__field-wrapper #billing_country_field,
.woocommerce-billing-fields__field-wrapper #billing_address_1_field,
.woocommerce-billing-fields__field-wrapper #billing_address_2_field,
.woocommerce-billing-fields__field-wrapper #billing_postcode_field,
.woocommerce-billing-fields__field-wrapper #billing_phone_field {
    grid-column: 1 / -1 !important;
}
.woocommerce-billing-fields__field-wrapper #billing_city_field {
    grid-column: 1 / 2 !important;
}
.woocommerce-billing-fields__field-wrapper #billing_state_field {
    grid-column: 2 / 3 !important;
}
.woocommerce .input-text,
.woocommerce select {
    background: #ffffff !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 8px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    color: #1e293b !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.woocommerce form .form-row label {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--heading-color) !important;
    margin-bottom: 4px !important;
    display: block !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    background: #f8fafc !important;
    padding: 30px !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    margin-bottom: 20px !important;
}
.woocommerce-checkout .order_review {
    background: #f8fafc !important;
    padding: 30px !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
}
.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 12px 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-align: left !important;
}
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
    border-bottom: none !important;
    font-size: 1.3em !important;
    font-weight: 800 !important;
    padding-top: 15px !important;
}
#place_order {
    background: #2563eb !important;
    color: #fff !important;
    padding: 16px 35px !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    width: 100% !important;
    cursor: pointer !important;
    margin-top: 20px !important;
}
#place_order:hover {
    background: #1d4ed8 !important;
}
@media (max-width: 768px) {
    .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .woocommerce-billing-fields__field-wrapper #billing_city_field,
    .woocommerce-billing-fields__field-wrapper #billing_state_field {
        grid-column: 1 / -1 !important;
    }
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2 {
        padding: 15px !important;
    }
}

/* ============================================================
   AJUSTES FINAIS - PEDIDO DO USUÁRIO (BREADCRUMB, TÍTULO, ORDENAÇÃO)
   ============================================================ */

/* 1. Diminuir o espaço abaixo do breadcrumb ("Início / Loja") */
.woocommerce-breadcrumb {
    margin-bottom: 5px !important;
}

/* 2. Remover o título "Loja" */
.woocommerce-products-header__title {
    display: none !important;
}
/* Caso o título seja um h1 com classe diferente */
.woocommerce-products-header .page-title {
    display: none !important;
}

/* 3. Diminuir o tamanho do container "Ordenação padrão" */
.woocommerce-ordering {
    font-size: 0.85em !important;
}
.woocommerce-ordering select {
    padding: 4px 30px 4px 12px !important; /* mais compacto */
    font-size: 0.95em !important;
    min-width: 140px !important; /* reduz a largura mínima */
}
.woocommerce-ordering label {
    font-size: 0.9em !important;
}

/* Ajuste fino: reduzir a margem superior do cabeçalho da loja para aproximar do breadcrumb */
.woocommerce-products-header {
    margin-top: 0 !important;
}

/* ============================================================
   SINGLE PRODUCT - IMAGEM CENTRALIZADA (DEFINITIVO)
   ============================================================ */

/* Container principal */
.single-product div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 20px 20px 0 20px !important;
    align-items: flex-start !important;
}

/* Coluna da imagem – ocupa 45% da largura */
.single-product div.product .woocommerce-product-gallery {
    flex: 0 0 45% !important;
    max-width: 45% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: flex !important;          /* Torna o container flex */
    flex-direction: column !important; /* Organiza verticalmente */
    align-items: center !important;    /* Centraliza horizontalmente os filhos */
    background: transparent !important;
}

/* Viewport da imagem – também flex para centralizar */
.single-product div.product .woocommerce-product-gallery .flex-viewport {
    display: flex !important;
    justify-content: center !important; /* Centraliza horizontalmente */
    align-items: center !important;     /* Centraliza verticalmente (opcional) */
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Imagem – sem largura fixa, apenas máxima, para não ocupar todo o espaço */
.single-product div.product .woocommerce-product-gallery .flex-viewport img {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important; /* Fallback para navegadores sem flex */
}

/* Remover qualquer lupa (caso exista) */
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    display: none !important;
}

/* Coluna do resumo – ocupa o restante */
.single-product div.product .summary {
    flex: 0 0 calc(55% - 30px) !important;
    max-width: calc(55% - 30px) !important;
    float: none !important;
    padding-top: 0 !important;
}

/* Tabs (descrição completa) – ficam abaixo */
.single-product div.product .woocommerce-tabs {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-top: 30px !important;
}

/* Título do produto */
.single-product .product_title {
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}

/* Botão adicionar ao carrinho */
.single_add_to_cart_button {
    background: #2563eb !important;
    color: #ffffff !important;
    border: none !important;
    padding: 12px 30px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    transition: background 0.2s !important;
    cursor: pointer !important;
}
.single_add_to_cart_button:hover {
    background: #1d4ed8 !important;
}

/* Remove título duplicado da descrição */
.woocommerce-tabs .panel h2:first-of-type {
    display: none !important;
}

/* Meta (SKU, categorias, tags) */
.single-product .product_meta {
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px solid #e2e8f0 !important;
}

/* Responsivo: em telas menores, empilha */
@media (max-width: 768px) {
    .single-product div.product {
        gap: 15px !important;
    }
    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

/* ============================================================
   REMOVER APARÊNCIA DE LINK DA ABA "DESCRIÇÃO"
   ============================================================ */

/* Remove sublinhado, cor de link e cursor de link */
.woocommerce-tabs ul.tabs li a {
    text-decoration: none !important;
    color: var(--heading-color) !important;
    font-weight: 700 !important;
    font-size: 1.2em !important;
    cursor: default !important;
    pointer-events: none !important;
    border-bottom: none !important; /* Garante que não haja linha */
    padding-bottom: 8px !important;
}

/* Remove a cor de hover das abas */
.woocommerce-tabs ul.tabs li a:hover {
    color: var(--heading-color) !important;
}

/* Remove a linha da aba ativa */
.woocommerce-tabs ul.tabs li.active a {
    color: var(--heading-color) !important;
    border-bottom: none !important; /* SEM LINHA */
}

/* Ajusta o espaçamento acima do título "Descrição" para subir */
.woocommerce-tabs .panel {
    margin-top: -10px !important;
    padding-top: 5px !important;
}

/* ============================================================
   RESPONSIVIDADE - PÁGINA DE PRODUTO (MOBILE)
   ============================================================ */

@media (max-width: 768px) {
    /* Container principal com padding reduzido */
    .single-product div.product {
        padding: 10px 15px 0 15px !important;
        gap: 15px !important;
    }

    /* Imagem ocupa 100% mas com altura limitada para não dominar a tela */
    .single-product div.product .woocommerce-product-gallery {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }

    .single-product div.product .woocommerce-product-gallery .flex-viewport img {
        max-height: 300px !important; /* Limita a altura da imagem no mobile */
        width: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }

    /* Resumo ocupa 100% e ganha padding interno */
    .single-product div.product .summary {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding: 0 5px !important;
    }

    /* Título do produto com tamanho adequado */
    .single-product .product_title {
        font-size: 1.4em !important;
        line-height: 1.3 !important;
    }

    /* Preço com tamanho legível */
    .single-product .price {
        font-size: 1.2em !important;
    }

    /* Botão "Adicionar ao carrinho" ocupando toda a largura */
    .single_add_to_cart_button {
        width: 100% !important;
        text-align: center !important;
        padding: 14px !important;
        font-size: 1em !important;
    }

    /* Tabs (Descrição) com padding adequado */
    .woocommerce-tabs .panel {
        padding: 0 5px !important;
        margin-top: 5px !important;
    }

    /* Título "Descrição" centralizado ou alinhado à esquerda */
    .woocommerce-tabs ul.tabs li a {
        font-size: 1.1em !important;
        padding-bottom: 5px !important;
    }

    /* Meta (SKU, categorias, tags) com quebra de linha adequada */
    .single-product .product_meta {
        font-size: 0.9em !important;
        word-break: break-word !important;
    }

    /* Breadcrumb menor e com espaçamento */
    .woocommerce-breadcrumb {
        font-size: 0.8em !important;
        margin-bottom: 5px !important;
        padding: 0 10px !important;
    }
}

/* Ajuste para telas muito pequenas (celulares menores) */
@media (max-width: 480px) {
    .single-product div.product .woocommerce-product-gallery .flex-viewport img {
        max-height: 220px !important;
    }

    .single-product .product_title {
        font-size: 1.2em !important;
    }

    .single-product .price {
        font-size: 1em !important;
    }

    .single_add_to_cart_button {
        padding: 12px !important;
        font-size: 0.9em !important;
    }
}

/* ============================================================
   ÍCONE DO CARRINHO NO MENU
   ============================================================ */

.cart-icon-menu {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 5px !important;
}

.cart-icon-menu a {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #334155 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
    transition: background 0.2s !important;
}

.cart-icon-menu a:hover {
    background: #f1f5f9 !important;
    color: #2563eb !important;
}

.cart-icon-menu svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
}

.cart-badge {
    background: #2563eb !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 7px !important;
    border-radius: 50px !important;
    line-height: 1.4 !important;
    min-width: 20px !important;
    text-align: center !important;
}

/* Responsivo: centraliza o ícone do carrinho no mobile */
@media (max-width: 768px) {
    /* Força o item do carrinho a ter o mesmo alinhamento que os outros itens */
    .cart-icon-menu {
        float: none !important; /* Remove qualquer float */
        margin: 0 !important;
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }
    .cart-icon-menu a {
        display: inline-flex !important;
        margin: 0 auto !important;
        padding: 8px 10px !important;
        justify-content: center !important;
        width: auto !important;
    }
    /* Anula qualquer alinhamento esquerdo do container pai */
    .main-navigation ul li.cart-icon-menu {
        text-align: center !important;
    }
}

/* ============================================================
   PÁGINA DO CARRINHO - AJUSTES (SEM REMOVER O "EDIT")
   ============================================================ */

/* 1. Centraliza e dá espaçamento lateral */
.woocommerce-cart .site-main {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 20px 40px !important;
}

/* 2. Botão "Finalizar compra" - seletor exato do seu carrinho */
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-components-button.wp-element-button.wc-block-cart__submit-button,
.wc-block-cart__submit-button.contained,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
    background-color: #2563eb !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 30px !important;
    font-weight: 600 !important;
    font-size: 1em !important;
    transition: background 0.2s !important;
    box-shadow: none !important;
    text-decoration: none !important;
    display: inline-block !important;
    text-align: center !important;
    line-height: 1.5 !important;
}
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-components-button.wp-element-button.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button.contained:hover,
.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover {
    background-color: #1d4ed8 !important;
}

/* 3. Ajuste em telas menores */
@media (max-width: 768px) {
    .woocommerce-cart .wc-block-cart__submit-button,
    .woocommerce-cart .wc-block-components-button.wp-element-button.wc-block-cart__submit-button,
    .wc-block-cart__submit-button.contained,
    .wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
        width: 100% !important;
        padding: 14px !important;
        font-size: 1.1em !important;
    }
}

/* 4. Ajuste na tabela do carrinho para melhor espaçamento */
.woocommerce-cart table.shop_table {
    border-collapse: collapse !important;
    margin-bottom: 20px !important;
}
.woocommerce-cart table.shop_table td,
.woocommerce-cart table.shop_table th {
    padding: 12px 15px !important;
}

/* ============================================================
   PÁGINA DO CARRINHO (SHORTCODE CLÁSSICO) - RESPONSIVA
   ============================================================ */

/* 1. Centraliza e dá espaçamento lateral */
.woocommerce-cart .site-main {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 20px 40px !important;
}

/* 2. Tabela do carrinho - desktop */
.woocommerce-cart table.shop_table {
    border-collapse: collapse !important;
    width: 100% !important;
    margin-bottom: 20px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td {
    padding: 15px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-align: left !important;
    vertical-align: middle !important;
}
.woocommerce-cart table.shop_table thead th {
    background: #f8fafc !important;
    font-weight: 700 !important;
    color: var(--heading-color) !important;
    border-bottom: 2px solid #e2e8f0 !important;
}
.woocommerce-cart table.shop_table td.product-remove {
    text-align: center !important;
    width: 40px !important;
}
.woocommerce-cart table.shop_table td.product-thumbnail img {
    max-width: 80px !important;
    height: auto !important;
    border-radius: 4px !important;
}
.woocommerce-cart table.shop_table td.product-name a {
    color: var(--heading-color) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
    font-weight: 600 !important;
    color: var(--heading-color) !important;
}

/* 3. Linha de ações (cupom e atualizar) - separada em dois containers */
.woocommerce-cart table.shop_table td.actions {
    padding: 15px 20px !important;
    background: #f8fafc !important;
}

/* Container do cupom - com estilo de "card" */
.woocommerce-cart .coupon {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 12px 15px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.02) !important;
}
.woocommerce-cart .coupon label {
    display: none !important;
}
.woocommerce-cart .coupon input#coupon_code {
    flex: 1 !important;
    padding: 10px 15px !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 0.95em !important;
    min-width: 150px !important;
    background: #ffffff !important;
}
.woocommerce-cart .coupon input#coupon_code:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.15) !important;
    outline: none !important;
}
.woocommerce-cart .coupon .button {
    background: #2563eb !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    font-size: 0.95em !important;
    transition: background 0.2s !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.woocommerce-cart .coupon .button:hover {
    background: #1d4ed8 !important;
}

/* 4. Botão "Atualizar carrinho" - destacado */
.woocommerce-cart .actions .button[name="update_cart"] {
    display: inline-block !important;
    background: #2563eb !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 30px !important;
    font-weight: 700 !important;
    font-size: 1em !important;
    transition: background 0.2s !important;
    cursor: pointer !important;
    margin-left: 0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}
.woocommerce-cart .actions .button[name="update_cart"]:hover {
    background: #1d4ed8 !important;
}

/* 5. Totais do carrinho (subtotal, total) */
.woocommerce-cart .cart-collaterals {
    margin-top: 30px !important;
}
.woocommerce-cart .cart-collaterals .cart_totals {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 20px 30px !important;
    max-width: 400px !important;
    margin-left: auto !important;
}
.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-size: 1.3em !important;
    font-weight: 700 !important;
    color: var(--heading-color) !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
    border: none !important;
    margin-bottom: 0 !important;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
    border: none !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table .order-total td {
    border-bottom: none !important;
    font-size: 1.2em !important;
    font-weight: 800 !important;
    padding-top: 15px !important;
    color: var(--heading-color) !important;
}

/* 6. Botão "Finalizar compra" (dentro do total) */
.woocommerce-cart .wc-proceed-to-checkout {
    padding: 0 !important;
    margin-top: 15px !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: block !important;
    background: #2563eb !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 30px !important;
    font-weight: 700 !important;
    font-size: 1.1em !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #1d4ed8 !important;
}

/* ============================================================
   RESPONSIVO - MOBILE (ATÉ 768px)
   ============================================================ */
@media (max-width: 768px) {
    .woocommerce-cart .site-main {
        padding: 10px 15px !important;
    }

    /* Tabela responsiva - empilha as células */
    .woocommerce-cart table.shop_table_responsive {
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }
    .woocommerce-cart table.shop_table_responsive thead {
        display: none !important;
    }
    .woocommerce-cart table.shop_table_responsive tbody tr {
        display: block !important;
        border-bottom: 1px solid #e2e8f0 !important;
        padding: 15px 0 !important;
        background: #ffffff !important;
    }
    .woocommerce-cart table.shop_table_responsive tbody tr:last-child {
        border-bottom: none !important;
    }
    .woocommerce-cart table.shop_table_responsive td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 8px 15px !important;
        border: none !important;
        border-bottom: 1px solid #f1f5f9 !important;
        text-align: right !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .woocommerce-cart table.shop_table_responsive td:last-child {
        border-bottom: none !important;
    }
    .woocommerce-cart table.shop_table_responsive td::before {
        content: attr(data-title) !important;
        font-weight: 600 !important;
        color: var(--heading-color) !important;
        float: left !important;
        text-align: left !important;
    }
    .woocommerce-cart table.shop_table_responsive td.product-remove {
        justify-content: flex-end !important;
    }
    .woocommerce-cart table.shop_table_responsive td.product-remove::before {
        display: none !important;
    }
    .woocommerce-cart table.shop_table_responsive td.product-thumbnail {
        justify-content: center !important;
    }
    .woocommerce-cart table.shop_table_responsive td.product-thumbnail::before {
        display: none !important;
    }
    .woocommerce-cart table.shop_table_responsive td.product-thumbnail img {
        max-width: 60px !important;
    }
    .woocommerce-cart table.shop_table_responsive td.actions {
        flex-direction: column !important;
        align-items: stretch !important;
        background: #f8fafc !important;
        padding: 15px !important;
        gap: 10px !important;
    }
    .woocommerce-cart table.shop_table_responsive td.actions::before {
        display: none !important;
    }

    /* Cupom e botão "Atualizar" no mobile */
    .woocommerce-cart .coupon {
        flex-direction: column !important;
        align-items: stretch !important;
        padding: 10px !important;
        margin-bottom: 0 !important;
    }
    .woocommerce-cart .coupon input#coupon_code {
        width: 100% !important;
        min-width: auto !important;
        font-size: 0.9em !important;
    }
    .woocommerce-cart .coupon .button {
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
        padding: 12px !important;
        font-size: 0.9em !important;
    }
    .woocommerce-cart .actions .button[name="update_cart"] {
        width: 100% !important;
        text-align: center !important;
        padding: 14px !important;
        font-size: 0.95em !important;
    }

    /* Totais no mobile */
    .woocommerce-cart .cart-collaterals .cart_totals {
        max-width: 100% !important;
        padding: 15px 20px !important;
        margin-left: 0 !important;
        margin-top: 20px !important;
    }
    .woocommerce-cart .cart-collaterals .cart_totals h2 {
        font-size: 1.2em !important;
    }
    .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
        padding: 14px !important;
        font-size: 1em !important;
    }
}

/* Ajuste para telas muito pequenas (celulares menores) */
@media (max-width: 480px) {
    .woocommerce-cart .site-main {
        padding: 8px 10px !important;
    }
    .woocommerce-cart table.shop_table_responsive td {
        padding: 6px 10px !important;
        font-size: 0.9em !important;
    }
    .woocommerce-cart table.shop_table_responsive td.product-thumbnail img {
        max-width: 50px !important;
    }
    .woocommerce-cart .coupon input#coupon_code {
        font-size: 0.85em !important;
        padding: 8px 12px !important;
    }
    .woocommerce-cart .coupon .button {
        font-size: 0.85em !important;
        padding: 10px !important;
    }
    .woocommerce-cart .actions .button[name="update_cart"] {
        font-size: 0.9em !important;
        padding: 12px !important;
    }
}

/* ============================================================
   CORREÇÃO: CENTRALIZAR ÍCONE DO CARRINHO NO MOBILE
   ============================================================ */

@media (max-width: 768px) {
    /* Força o menu pai a centralizar tudo */
    .main-navigation.toggled ul {
        align-items: center !important;
        justify-content: center !important;
    }
    /* Centraliza cada item do menu */
    .main-navigation.toggled ul li {
        text-align: center !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }
    /* Especificamente o item do carrinho */
    .main-navigation.toggled ul li.cart-icon-menu {
        justify-content: center !important;
        text-align: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .main-navigation.toggled ul li.cart-icon-menu a {
        margin: 0 auto !important;
        display: inline-flex !important;
        width: auto !important;
    }
}

/* ============================================================
   ÍCONE DE LIXEIRA SVG NO CARRINHO
   ============================================================ */

/* Esconde o "×" */
.woocommerce-cart .product-remove .remove {
    font-size: 0 !important;
    display: inline-block !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 1 !important;
    text-align: center !important;
    border-radius: 50% !important;
    padding: 0 !important;
    background: #f1f5f9 !important;
    transition: background 0.2s !important;
    position: relative !important;
}

/* Adiciona o SVG da lixeira via pseudo-elemento */
.woocommerce-cart .product-remove .remove::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    margin: 5px auto 0 auto !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* Efeito hover */
.woocommerce-cart .product-remove .remove:hover {
    background: #fee2e2 !important; /* Fundo vermelho claro */
}
.woocommerce-cart .product-remove .remove:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e2401c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cline x1='10' y1='11' x2='10' y2='17'/%3E%3Cline x1='14' y1='11' x2='14' y2='17'/%3E%3C/svg%3E") !important;
}

/* ============================================================
   PÁGINA DE CHECKOUT - CENTRALIZAÇÃO E ESPAÇAMENTO
   ============================================================ */

/* Container principal do checkout */
.woocommerce-checkout .site-main {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 20px 30px !important;
}

/* Ajuste dos campos de formulário para não encostarem nas bordas */
.woocommerce-checkout form .form-row {
    max-width: 100% !important;
    padding: 0 0 15px 0 !important;
}

/* Os campos de texto e selects ocupam 100% da largura disponível, mas com padding interno */
.woocommerce-checkout .input-text,
.woocommerce-checkout select {
    width: 100% !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    border: 1.5px solid #d1d5db !important;
    background: #ffffff !important;
    font-size: 1em !important;
    box-sizing: border-box !important;
}

/* Labels com espaçamento */
.woocommerce-checkout label {
    font-weight: 600 !important;
    margin-bottom: 4px !important;
    display: block !important;
    color: var(--heading-color) !important;
}

/* Botão finalizar compra */
.woocommerce-checkout #place_order {
    background: #2563eb !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    padding: 14px 30px !important;
    font-weight: 700 !important;
    font-size: 1.1em !important;
    width: 100% !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}
.woocommerce-checkout #place_order:hover {
    background: #1d4ed8 !important;
}

/* Centraliza o conteúdo do checkout (resumo do pedido) */
.woocommerce-checkout .col2-set {
    margin: 0 auto !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order {
    margin-top: 20px !important;
}

/* Responsivo: em telas menores, mantém o padding */
@media (max-width: 768px) {
    .woocommerce-checkout .site-main {
        padding: 15px !important;
        max-width: 100% !important;
    }
    .woocommerce-checkout .input-text,
    .woocommerce-checkout select {
        padding: 10px 12px !important;
    }
}

/* ============================================================
   CHECKOUT - UNIFORMIZA ALTURA DOS CAMPOS (INPUTS E SELECTS)
   ============================================================ */

/* Define altura fixa para inputs e selects */
.woocommerce-checkout .input-text,
.woocommerce-checkout select {
    padding: 6px 10px !important;       /* Reduz padding vertical */
    min-height: 30px !important;        /* Altura mínima consistente */
    height: 30px !important;            /* Força altura fixa (inputs) */
    font-size: 0.9em !important;
    line-height: 1.2 !important;        /* Centraliza o texto verticalmente */
    border-radius: 6px !important;      /* Bordas ligeiramente menores */
}

/* Ajuste específico para selects (para não ficarem mais altos que os inputs) */
.woocommerce-checkout select {
    padding: 4px 10px !important;       /* Ajuste fino para selects */
    height: 30px !important;
    min-height: 30px !important;
}

/* Ajuste para os campos de texto (nome, rua, etc.) */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"] {
    height: 34px !important;
    min-height: 34px !important;
    padding: 6px 10px !important;
}

/* Ajuste do grid de campos (gap vertical) */
.woocommerce-billing-fields__field-wrapper {
    gap: 4px 20px !important;           /* Reduz ainda mais o gap vertical */
}

/* Labels mais compactas */
.woocommerce-checkout label {
    font-size: 0.85em !important;
    margin-bottom: 2px !important;
}

/* Responsivo: mantém ajuste em telas menores */
@media (max-width: 768px) {
    .woocommerce-checkout .input-text,
    .woocommerce-checkout select,
    .woocommerce-checkout input[type="text"],
    .woocommerce-checkout input[type="email"],
    .woocommerce-checkout input[type="tel"] {
        height: 30px !important;
        min-height: 30px !important;
        padding: 4px 8px !important;
        font-size: 0.85em !important;
    }
}

/* ============================================================
   CHECKOUT - CENTRALIZAR MERCADO PAGO E BOTÃO MENOR
   ============================================================ */

/* Centraliza a área de pagamento (Mercado Pago) */
.woocommerce-checkout #payment {
    max-width: 600px !important;        /* Largura máxima para não ficar enorme */
    margin: 0 auto !important;          /* Centraliza horizontalmente */
    padding: 0 !important;
    background: transparent !important;
}

/* Centraliza os campos e opções de pagamento */
.woocommerce-checkout .payment_methods {
    text-align: left !important;        /* Mantém o texto alinhado à esquerda dentro do container */
    padding: 0 !important;
}

/* Remove largura forçada dos campos de pagamento (se houver) */
.woocommerce-checkout .payment_box {
    max-width: 100% !important;
    padding: 10px 0 !important;
}

/* Botão "Finalizar pedido" - menor e mais arredondado */
.woocommerce-checkout #place_order {
    background: #2563eb !important;
    color: #fff !important;
    border: none !important;
    border-radius: 30px !important;      /* Bordas arredondadas (já tem, mas garantimos) */
    padding: 8px 24px !important;        /* Menor que antes (14px 30px) */
    font-weight: 600 !important;
    font-size: 0.95em !important;        /* Fonte ligeiramente menor */
    width: auto !important;              /* Largura automática, não ocupa 100% */
    min-width: 160px !important;         /* Largura mínima para não ficar muito pequeno */
    cursor: pointer !important;
    transition: background 0.2s !important;
    margin: 10px auto 0 auto !important; /* Centraliza embaixo */
    display: block !important;           /* Centraliza com margin auto */
}
.woocommerce-checkout #place_order:hover {
    background: #1d4ed8 !important;
}

/* Ajuste responsivo: em telas menores, mantém centralizado */
@media (max-width: 768px) {
    .woocommerce-checkout #payment {
        max-width: 100% !important;
        padding: 0 10px !important;
    }
    .woocommerce-checkout #place_order {
        width: 100% !important;
        padding: 12px !important;
        font-size: 1em !important;
    }
}

/* ============================================================
   MINHA CONTA - CENTRALIZAÇÃO E MENU HORIZONTAL
   ============================================================ */

/* 1. Centraliza e dá espaçamento lateral */
.woocommerce-account .site-main {
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 20px 30px !important;
}

/* 2. Remove o layout de duas colunas (navegação vertical + conteúdo) */
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}

/* 3. Transforma o menu em horizontal */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;  /* Centraliza os itens */
    gap: 10px 20px !important;           /* Espaçamento entre itens */
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding-bottom: 10px !important;
}

/* 4. Estilo dos links do menu */
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 6px 16px !important;
    color: #334155 !important;
    font-weight: 600 !important;
    font-size: 0.95em !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    transition: background 0.2s, color 0.2s !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #f1f5f9 !important;
    color: #2563eb !important;
}

/* 5. Item ativo do menu */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #2563eb !important;
    color: #ffffff !important;
    border-radius: 6px !important;
}

/* 6. Conteúdo da conta - com padding e espaçamento */
.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
    padding: 20px 0 !important;
    clear: both !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
    margin-bottom: 10px !important;
}

/* 7. Remove o link "Edit" (opcional) */
.woocommerce-account .post-edit-link {
    display: none !important;
}

/* 8. Ajuste para telas menores (mobile) */
@media (max-width: 768px) {
    .woocommerce-account .site-main {
        padding: 15px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        gap: 8px 12px !important;
        justify-content: flex-start !important; /* Alinha à esquerda no mobile */
        border-bottom: 2px solid #e2e8f0 !important;
        padding-bottom: 8px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        font-size: 0.85em !important;
        padding: 4px 10px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        gap: 5px 8px !important;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        font-size: 0.8em !important;
        padding: 3px 8px !important;
    }
}

/* ============================================================
   MINHA CONTA - DETALHES DA CONTA (CAMPOS UNIFORMIZADOS)
   ============================================================ */

/* Largura máxima do formulário */
.woocommerce-account .woocommerce-EditAccountForm {
    max-width: 600px !important;
    margin: 0 auto !important;
}

/* Altura e padding dos campos (mesmo padrão do checkout) */
.woocommerce-account .woocommerce-EditAccountForm .input-text,
.woocommerce-account .woocommerce-EditAccountForm input[type="text"],
.woocommerce-account .woocommerce-EditAccountForm input[type="email"],
.woocommerce-account .woocommerce-EditAccountForm input[type="password"],
.woocommerce-account .woocommerce-EditAccountForm select {
    padding: 6px 10px !important;
    min-height: 34px !important;
    height: 34px !important;
    font-size: 0.9em !important;
    line-height: 1.2 !important;
    border-radius: 6px !important;
    border: 1.5px solid #d1d5db !important;
    background: #ffffff !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Reduz espaçamento entre as linhas do formulário */
.woocommerce-account .woocommerce-EditAccountForm .form-row {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
}

/* Labels mais compactas */
.woocommerce-account .woocommerce-EditAccountForm label {
    font-size: 0.85em !important;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
    display: block !important;
    color: var(--heading-color) !important;
}

/* Botão "Salvar" */
.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
    background: #2563eb !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 8px 24px !important;
    font-weight: 600 !important;
    font-size: 0.95em !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    margin-top: 10px !important;
}
.woocommerce-account .woocommerce-EditAccountForm button[type="submit"]:hover {
    background: #1d4ed8 !important;
}

/* Responsivo: em telas menores, ajusta */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce-EditAccountForm {
        max-width: 100% !important;
        padding: 0 10px !important;
    }
    .woocommerce-account .woocommerce-EditAccountForm .input-text,
    .woocommerce-account .woocommerce-EditAccountForm input[type="text"],
    .woocommerce-account .woocommerce-EditAccountForm input[type="email"],
    .woocommerce-account .woocommerce-EditAccountForm input[type="password"],
    .woocommerce-account .woocommerce-EditAccountForm select {
        height: 30px !important;
        min-height: 30px !important;
        padding: 4px 8px !important;
        font-size: 0.85em !important;
    }
    .woocommerce-account .woocommerce-EditAccountForm .form-row {
        margin-bottom: 6px !important;
    }
}

/* ============================================================
   AJUSTES NO BLOCO DE TOTAIS E BOTÃO DE FINALIZAÇÃO (CARRINHO)
   ============================================================ */

/* 1. Reduz o padding interno do bloco de totais */
.woocommerce-cart .cart-collaterals .cart_totals {
    padding: 15px 20px !important;   /* antes: 20px 30px */
}

/* 2. Reduz a margem superior e o espaçamento interno da tabela */
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
    margin-bottom: 0 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
    padding: 6px 0 !important;       /* antes: 10px 0 */
}

/* 3. Botão "Continuar para Finalização" – menor e mais compacto */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    padding: 10px 20px !important;   /* antes: 14px 30px */
    font-size: 0.95em !important;    /* ligeiramente menor */
    border-radius: 6px !important;   /* arredondamento suave */
}

/* 4. (Opcional) Ajusta o espaçamento acima do botão */
.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 10px !important;     /* reduz o espaço acima do botão */
}

/* ============================================================
   CHECKOUT - REDUZIR ALTURA DO CONTAINER "INFORMAÇÃO ADICIONAL"
   ============================================================ */

.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 5px !important;
    padding: 0 !important;
}
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 1em !important;
    margin-bottom: 3px !important;
    font-weight: 600 !important;
}
.woocommerce-checkout #order_comments_field {
    margin-bottom: 0 !important;
}
.woocommerce-checkout #order_comments_field textarea {
    min-height: 40px !important;      /* Antes 60px */
    padding: 4px 10px !important;
    height: auto !important;
    font-size: 0.9em !important;
    resize: vertical !important;
}

/* ============================================================
   CHECKOUT - REDUZIR LARGURA DOS CAMPOS CEP, TELEFONE E EMAIL
   ============================================================ */

.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #billing_email_field {
    max-width: 60% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ============================================================
   CHECKOUT - FEEDBACK DE VALIDAÇÃO DO CPF
   ============================================================ */

#billing_cpf.valid {
    border-color: #0f834d !important;
}
#billing_cpf.invalid {
    border-color: #e2401c !important;
}
.cpf-validation-error {
    color: #e2401c;
    font-size: 0.85em;
    margin-top: 4px;
}

/* ============================================================
   AJUSTE DE ALTURA DOS PRODUTOS NA PÁGINA DA LOJA (DESKTOP)
   ============================================================ */

/* Reduz a altura mínima do card para 380px (antes 420px) */
body.woocommerce ul.products li.product {
    min-height: 380px !important;
}

/* Define altura fixa de 320px para a imagem (antes sem altura fixa) */
body.woocommerce ul.products li.product a img {
    height: 320px !important;
    object-fit: contain !important;
}

/* ============================================================
   CARROSSEL DE PRODUTOS NA HOME
   ============================================================ */

.products-carousel-wrapper {
    max-width: 1200px;
    margin: 20px auto 10px auto;
    padding: 0 40px;
}

.carousel-title {
    font-size: 1.8em;
    font-weight: 800;
    color: var(--heading-color);
    text-align: center;
    margin-bottom: 25px;
}

.products-carousel .carousel-item {
    padding: 0 10px;
    text-align: center;
}

.products-carousel .carousel-product-link {
    display: block;
    text-decoration: none;
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #f1f5f9;
    padding: 12px 10px 16px 10px;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}

.products-carousel .carousel-product-link:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.products-carousel .carousel-product-image {
    width: 100%;
    height: 260px;
    object-fit: contain;
    background: #fafafa;
    border-radius: 8px;
}

.products-carousel .no-cover-carousel {
    height: 260px;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    border-radius: 8px;
}

.products-carousel .carousel-product-title {
    font-size: 0.95em;
    font-weight: 700;
    color: var(--heading-color);
    margin: 12px 0 6px 0;
    line-height: 1.3;
    height: 2.6em;
    overflow: hidden;
}

.products-carousel .carousel-product-price {
    font-size: 1.1em;
    font-weight: 700;
    color: #2563eb;
}

/* Setas do Slick */
.slick-prev:before,
.slick-next:before {
    color: #2563eb !important;
    font-size: 30px !important;
}

.slick-prev,
.slick-next {
    z-index: 10 !important;
}

.slick-dots {
    bottom: -35px !important;
}

.slick-dots li button:before {
    color: #2563eb !important;
}

/* Responsivo do carrossel */
@media (max-width: 768px) {
    .products-carousel-wrapper {
        padding: 0 15px;
        margin-top: 15px;
    }
    .products-carousel .carousel-product-image {
        height: 200px;
    }
    .carousel-title {
        font-size: 1.4em;
    }
}

@media (max-width: 480px) {
    .products-carousel .carousel-product-image {
        height: 160px;
    }
}

/* Mensagem final do carregamento */
.load-more-end {
    text-align: center;
    color: #94a3b8;
    padding: 20px;
    font-size: 0.95em;
    margin: 0;
    display: block;
}

.ver-mais-btn.is-hidden {
    display: none !important;
}

/* ============================================================
   SINGLE PRODUCT - CENTRALIZA O SITE-MAIN (BREADCRUMB INCLUÍDO)
   ============================================================ */
.single-product .site-main {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
}

/* ============================================================
   BOTÃO "SALVAR ENDEREÇOS" - COR CONFORME ESTADO
   ============================================================ */
button[name="save_address"] {
    border-radius: 10px !important;
    font-weight: 600 !important;
    transition: background 0.2s !important;
    padding: 10px 24px !important;
}

/* Ainda não há endereço salvo — botão de destaque (azul) */
body.no-saved-address button[name="save_address"] {
    background: var(--accent) !important;
    color: #ffffff !important;
    border: none !important;
}
body.no-saved-address button[name="save_address"]:hover {
    background: var(--accent-hover) !important;
}

/* Endereço já salvo — botão neutro (cinza claro) */
body.has-saved-address button[name="save_address"] {
    background: #f1f5f9 !important;
    color: #1e293b !important;
    border: 1.5px solid #d1d5db !important;
}
body.has-saved-address button[name="save_address"]:hover {
    background: #e2e8f0 !important;
}

/* ============================================================
   PÁGINA DE LOGIN / CADASTRO (MINHA CONTA - DESLOGADO)
   ============================================================ */

/* Centraliza o container geral da página */
.pagina-login-conta .woocommerce {
    max-width: 420px !important;
    margin: 20px auto 0 auto !important;
}

/* Quando login e cadastro aparecem lado a lado (colunas), empilha centralizado */
.pagina-login-conta .u-columns {
    display: block !important;
}
.pagina-login-conta .u-column1,
.pagina-login-conta .u-column2 {
    width: 100% !important;
    float: none !important;
    max-width: 420px !important;
    margin: 0 auto 40px auto !important;
}

/* Títulos "Entrar" e "Cadastre-se" centralizados */
.pagina-login-conta .woocommerce-form-login h2,
.pagina-login-conta .woocommerce-form-register h2 {
    text-align: center !important;
}

/* Campos do formulário - mesmo padrão compacto do contato/checkout */
.pagina-login-conta .woocommerce-form-login input.input-text,
.pagina-login-conta .woocommerce-form-register input.input-text {
    padding: 6px 10px !important;
    min-height: 34px !important;
    height: 34px !important;
    font-size: 0.9em !important;
    line-height: 1.2 !important;
    border-radius: 6px !important;
    border: 1.5px solid #d1d5db !important;
    background: #ffffff !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s !important;
}
.pagina-login-conta .woocommerce-form-login input.input-text:focus,
.pagina-login-conta .woocommerce-form-register input.input-text:focus {
    border-color: var(--accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15) !important;
}

/* Labels compactas */
.pagina-login-conta .woocommerce-form-login label,
.pagina-login-conta .woocommerce-form-register label {
    font-size: 0.85em !important;
    font-weight: 600 !important;
    margin-bottom: 2px !important;
    display: block !important;
    color: var(--heading-color) !important;
}

/* Espaçamento entre campos */
.pagina-login-conta .woocommerce-form-login p,
.pagina-login-conta .woocommerce-form-register p {
    margin-bottom: 14px !important;
}

/* Botões "Acessar" e "Cadastrar" */
.pagina-login-conta .woocommerce-form-login .button,
.pagina-login-conta .woocommerce-form-register .button {
    background: var(--accent) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 10px 24px !important;
    font-weight: 600 !important;
    font-size: 0.95em !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    width: 100% !important;
}
.pagina-login-conta .woocommerce-form-login .button:hover,
.pagina-login-conta .woocommerce-form-register .button:hover {
    background: var(--accent-hover) !important;
}

/* Checkbox "Lembre-me" alinhado */
.pagina-login-conta .woocommerce-form-login .woocommerce-form-login__rememberme {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 0.9em !important;
}

/* Link "Perdeu sua senha?" */
.pagina-login-conta .woocommerce-LostPassword {
    text-align: center !important;
    margin-top: 12px !important;
    font-size: 0.9em !important;
}

/* Responsivo: em telas menores, ajusta padding lateral */
@media (max-width: 480px) {
    .pagina-login-conta .woocommerce {
        max-width: 100% !important;
        padding: 0 20px !important;
    }
}

/* ============================================================
   ÍCONE DO TÍTULO DO CARROSSEL
   ============================================================ */
.carousel-title {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}
.carousel-title-icon {
    color: var(--accent);
    flex-shrink: 0;
}

/* ============================================================
   SPINNER DE CARREGAMENTO ELEGANTE
   ============================================================ */
.loading-spinner-container {
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 24px 0;
}

.loading-spinner {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    border: 2px solid #e2e8f0;
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    vertical-align: middle;
}

.loading-text {
    font-size: 0.95em;
    color: #64748b;
    font-weight: 500;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}