/* Telas Imperial: loja e página de produto (design "Telas Imperial Aço")
   Prefixo #timp-shop / #timp-product nas regras que tocam classes do WooCommerce,
   para vencer o CSS do Divi e do WooCommerce sem !important. */

.timp-shop, .timp-product { background: var(--ti-bg); }

/* ---------- Breadcrumb ---------- */
.timp-bc { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 18px 0 0; font-size: 13.5px; color: var(--ti-muted); }
.timp-bc a { color: var(--ti-muted); }
.timp-bc a:hover { color: var(--ti-ink); text-decoration: underline; text-underline-offset: 3px; }
.timp-bc__sep { color: #B4BAC2; }

/* ---------- Botões genéricos do WooCommerce dentro das páginas novas ---------- */
#timp-shop .button, #timp-product .button,
#timp-shop a.button, #timp-product a.button, #timp-product button.button, #timp-cart .button, #timp-cart a.button, #timp-cart button.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; margin: 0; padding: 0 18px;
	border: 0; border-radius: var(--ti-r-btn);
	background: var(--ti-ink); color: #fff;
	font-family: var(--ti-font); font-weight: 700; font-stretch: 88%; font-size: 14px; line-height: 1.1;
	letter-spacing: .02em; text-transform: uppercase; text-align: center;
	transition: background-color .2s var(--ti-ease);
}
#timp-shop .button:hover, #timp-product .button:hover, #timp-cart .button:hover { background: var(--ti-steel-2); color: #fff; padding: 0 18px; }
#timp-shop .button::after, #timp-product .button::after,
#timp-shop .button::before, #timp-product .button::before, #timp-cart .button::after, #timp-cart .button::before { display: none; content: none; }
#timp-shop .button.loading, #timp-product .button.loading, #timp-cart .button.loading { opacity: .65; }
#timp-shop .added_to_cart, #timp-product .added_to_cart, #timp-cart .added_to_cart {
	display: inline-block; margin-top: 8px; font-size: 13.5px; font-weight: 700; color: var(--ti-ink); text-decoration: underline; text-underline-offset: 3px;
}

/* ---------- Avisos do WooCommerce ---------- */
#timp-shop .woocommerce-message, #timp-shop .woocommerce-info, #timp-shop .woocommerce-error,
#timp-product .woocommerce-message, #timp-product .woocommerce-info, #timp-product .woocommerce-error, #timp-cart .woocommerce-message, #timp-cart .woocommerce-info, #timp-cart .woocommerce-error {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
	margin: 0 0 20px; padding: 14px 18px; list-style: none;
	background: #fff; color: var(--ti-ink); border: 1px solid var(--ti-line); border-left: 4px solid var(--ti-whatsapp-btn); border-radius: var(--ti-r);
	font-size: 15px; line-height: 1.45; box-shadow: none;
}
#timp-shop .woocommerce-info, #timp-product .woocommerce-info, #timp-cart .woocommerce-info { border-left-color: var(--ti-ink); }
#timp-shop .woocommerce-error, #timp-product .woocommerce-error, #timp-cart .woocommerce-error { border-left-color: var(--ti-accent); }
#timp-shop .woocommerce-message::before, #timp-shop .woocommerce-info::before, #timp-shop .woocommerce-error::before,
#timp-product .woocommerce-message::before, #timp-product .woocommerce-info::before, #timp-product .woocommerce-error::before, #timp-cart .woocommerce-message::before, #timp-cart .woocommerce-info::before, #timp-cart .woocommerce-error::before { display: none; }
#timp-product .woocommerce-message .button, #timp-cart .woocommerce-message .button { order: 2; }
.timp-product > .woocommerce-notices-wrapper { width: 100%; max-width: calc(var(--ti-wrap) + var(--ti-gutter) * 2); margin: 0 auto; padding: 18px var(--ti-gutter) 0; }

/* =========================================================
   LOJA
   ========================================================= */
.timp-shop-hero { background: #fff; border-bottom: 1px solid var(--ti-line); }
.timp-scope .timp-shop-hero__title {
	margin-top: 10px;
	font-weight: 800; font-stretch: var(--ti-cond); font-size: clamp(32px, 4vw, 48px); line-height: 1.02;
	text-transform: uppercase; color: var(--ti-ink);
}
.timp-shop-hero__desc { margin-top: 10px; color: var(--ti-muted); font-size: 16px; line-height: 1.6; }
.timp-shop-hero__desc p { margin: 0 0 .6em; }
.timp-shop-hero__desc p:last-child { margin: 0; }
.timp-shop-hero .timp-wrap:first-child { padding-bottom: 22px; }

.timp-chips { display: flex; gap: 8px; padding-bottom: 18px; overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
.timp-chips::-webkit-scrollbar { display: none; }
.timp-chip {
	flex: none; display: inline-flex; align-items: center; height: 38px; padding: 0 16px;
	border: 1px solid var(--ti-line); border-radius: 999px; background: var(--ti-bg);
	font-weight: 600; font-size: 14px; color: var(--ti-ink); white-space: nowrap;
	transition: border-color .2s, background-color .2s;
}
.timp-chip:hover { border-color: var(--ti-ink); }
.timp-scope .timp-chip.is-active { background: var(--ti-ink); border-color: var(--ti-ink); color: #fff; }

.timp-shop__layout { display: grid; grid-template-columns: 260px 1fr; gap: 36px; align-items: start; padding-top: 32px; padding-bottom: 72px; }
.timp-shop__main { min-width: 0; }

/* Filtros (widgets da sidebar-1) */
.timp-filters { position: static; }
.timp-filters__head, .timp-filters__foot { display: none; }
.timp-filters__backdrop { display: none; }
#timp-shop .timp-filters .et_pb_widget, #timp-shop .timp-filters .widget {
	float: none; width: 100%; margin: 0 0 14px; padding: 18px 18px 14px;
	background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r);
}
#timp-shop .timp-filters .widgettitle, #timp-shop .timp-filters .widget-title {
	margin: 0 0 10px; padding: 0;
	font-family: var(--ti-font); font-weight: 800; font-stretch: var(--ti-cond); font-size: 17px; line-height: 1.1;
	text-transform: uppercase; letter-spacing: .03em; color: var(--ti-ink);
}
#timp-shop .timp-filters ul { margin: 0; padding: 0; list-style: none; }
#timp-shop .timp-filters ul li { margin: 0; padding: 0; list-style: none; line-height: 1.3; }
#timp-shop .timp-filters ul li a {
	display: flex; align-items: center; gap: 10px; padding: 7px 0;
	color: var(--ti-ink); font-size: 15px;
}
#timp-shop .timp-filters ul li a:hover { color: var(--ti-accent); }
#timp-shop .timp-filters .count { margin-left: auto; color: var(--ti-muted); font-size: 13px; }
#timp-shop .timp-filters .product-categories .count { padding: 0; }
#timp-shop .timp-filters .product-categories > li + li { border-top: 1px solid var(--ti-line); }
#timp-shop .timp-filters .product-categories .children { padding: 0 0 6px 14px; }
#timp-shop .timp-filters .product-categories .children a { font-size: 14px; color: var(--ti-muted); padding: 5px 0; }
#timp-shop .timp-filters .current-cat > a, #timp-shop .timp-filters .current-cat-parent > a { font-weight: 700; color: var(--ti-accent); }
/* Atributos como caixas de seleção */
#timp-shop .timp-filters .woocommerce-widget-layered-nav-list__item > a::before {
	content: ""; flex: none; width: 18px; height: 18px; border: 1.5px solid #B4BAC2; border-radius: 4px; background: #fff;
}
#timp-shop .timp-filters .woocommerce-widget-layered-nav-list__item--chosen > a::before {
	border-color: var(--ti-ink); background: var(--ti-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
}
#timp-shop .timp-filters .woocommerce-widget-layered-nav-list__item--chosen > a { font-weight: 700; }
#timp-shop .timp-filters .woocommerce-widget-layered-nav-list__item--chosen > a::after { display: none; }

/* Barra de resultados */
.timp-shop__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-bottom: 18px; }
#timp-shop .woocommerce-result-count { float: none; margin: 0 auto 0 0; color: var(--ti-muted); font-size: 14.5px; }
#timp-shop .woocommerce-ordering { float: none; margin: 0; }
#timp-shop .woocommerce-ordering select {
	height: 44px; padding: 0 40px 0 14px; border: 1px solid #CDD2D8; border-radius: var(--ti-r-btn);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2316181B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center / 16px no-repeat;
	font: 500 14.5px/1 var(--ti-font); color: var(--ti-ink); -webkit-appearance: none; appearance: none; cursor: pointer;
}
.timp-filters-toggle {
	display: none; align-items: center; gap: 8px; height: 44px; padding: 0 16px;
	border: 1px solid var(--ti-ink) !important; border-radius: var(--ti-r-btn); background: #fff !important;
	font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: .03em; color: var(--ti-ink);
}
.timp-filters-toggle .timp-ico { width: 20px; height: 20px; }
.timp-filters-toggle__n { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--ti-accent); color: #fff; font-size: 12px; }

.timp-active { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -4px 0 18px; }
.timp-active__chip { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 12px; border-radius: 999px; background: var(--ti-ink); color: #fff; font-size: 13.5px; font-weight: 600; }
.timp-scope .timp-active__chip { color: #fff; }
.timp-active__chip span { font-size: 18px; line-height: 1; }
.timp-active__chip:hover { background: var(--ti-accent); }
.timp-active__clear { font-size: 13.5px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Grade de produtos */
#timp-shop ul.products, #timp-product ul.products, #timp-cart ul.products {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px;
	margin: 0; padding: 0; list-style: none;
}
#timp-product ul.products, #timp-cart ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#timp-shop ul.products::before, #timp-shop ul.products::after,
#timp-product ul.products::before, #timp-product ul.products::after, #timp-cart ul.products::before, #timp-cart ul.products::after { display: none; content: none; }
#timp-shop ul.products li.product, #timp-product ul.products li.product, #timp-cart ul.products li.product {
	float: none; width: auto; margin: 0; padding: 0; clear: none;
	display: flex; flex-direction: column;
	background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r); overflow: hidden;
	transition: border-color .2s;
}
#timp-shop ul.products li.product:hover, #timp-product ul.products li.product:hover, #timp-cart ul.products li.product:hover { border-color: var(--ti-ink); }
.timp-pcard__media { position: relative; display: block; aspect-ratio: 1; background: #fff; border-bottom: 1px solid var(--ti-line); }
#timp-shop .timp-pcard__media img, #timp-product .timp-pcard__media img, #timp-cart .timp-pcard__media img { width: 100%; height: 100%; margin: 0; object-fit: contain; box-shadow: none; }
.timp-pcard__badge { position: absolute; left: 10px; top: 10px; padding: 4px 9px; border-radius: 4px; background: var(--ti-accent); color: #fff; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.timp-pcard__badge--muted { background: var(--ti-ink); }
.timp-pcard__body { display: flex; flex-direction: column; flex: 1; padding: 14px 16px 16px; }
.timp-pcard__cat { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ti-muted); }
#timp-shop .timp-pcard__title, #timp-product .timp-pcard__title, #timp-cart .timp-pcard__title {
	margin: 6px 0 0; padding: 0; font-family: var(--ti-font); font-weight: 600; font-size: 16px; line-height: 1.35; color: var(--ti-ink);
	display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.timp-pcard__title a:hover { color: var(--ti-accent); }
.timp-pcard__price { margin-top: 10px; font-weight: 800; font-size: 19px; color: var(--ti-ink); line-height: 1.25; }
#timp-shop .timp-pcard__price .amount, #timp-product .timp-pcard__price .amount, #timp-cart .timp-pcard__price .amount { color: var(--ti-ink); }
.timp-pcard__price del { margin-right: 6px; font-weight: 400; font-size: 14px; color: var(--ti-muted); }
.timp-pcard__price del .amount { color: var(--ti-muted) !important; }
.timp-pcard__price ins { text-decoration: none; }
.timp-pcard__price .wc-measurement-price-calculator-price, .timp-pcard__price small { font-weight: 500; font-size: 13.5px; color: var(--ti-muted); }
.timp-pcard__price .wc-measurement-price-calculator-price .amount { font-weight: 800; font-size: 19px; }
.timp-pcard__consult { font-weight: 600; font-size: 15px; color: var(--ti-muted); }
.timp-pcard__actions { margin-top: auto; padding-top: 14px; }
#timp-shop .timp-pcard__actions .button, #timp-product .timp-pcard__actions .button, #timp-cart .timp-pcard__actions .button { width: 100%; background: var(--ti-accent); }
#timp-shop .timp-pcard__actions .button:hover, #timp-product .timp-pcard__actions .button:hover,
#timp-shop .timp-pcard__actions .button:focus-visible, #timp-product .timp-pcard__actions .button:focus-visible,
#timp-shop .timp-pcard__actions .button:active, #timp-product .timp-pcard__actions .button:active, #timp-cart .timp-pcard__actions .button:hover, #timp-cart .timp-pcard__actions .button:focus-visible, #timp-cart .timp-pcard__actions .button:active { background: var(--ti-ink); color: #fff; }

/* Paginação */
#timp-shop .woocommerce-pagination { margin-top: 32px; text-align: center; }
#timp-shop .woocommerce-pagination ul.page-numbers { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; padding: 0; border: 0; }
#timp-shop .woocommerce-pagination ul.page-numbers li { float: none; margin: 0; border: 0; overflow: visible; }
#timp-shop .woocommerce-pagination ul.page-numbers li .page-numbers {
	display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px;
	border: 1px solid var(--ti-line); border-radius: var(--ti-r-btn); background: #fff; color: var(--ti-ink); font-weight: 700; font-size: 15px;
}
#timp-shop .woocommerce-pagination ul.page-numbers li a.page-numbers:hover { border-color: var(--ti-ink); background: #fff; }
#timp-shop .woocommerce-pagination ul.page-numbers li span.current { background: var(--ti-ink); border-color: var(--ti-ink); color: #fff; }

/* Vazio */
.timp-empty { padding: 48px 28px; background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r); text-align: center; }
.timp-scope .timp-empty h2 { font-weight: 800; font-stretch: var(--ti-cond); font-size: 28px; text-transform: uppercase; }
.timp-empty p { margin-top: 8px; color: var(--ti-muted); }
.timp-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 22px; }

/* Faixa de orçamento */
.timp-shop-cta { background: var(--ti-steel); color: var(--ti-on-dark); }
.timp-shop-cta__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 40px; padding-top: 40px; padding-bottom: 40px; }
.timp-scope .timp-shop-cta__title { color: #fff; font-weight: 800; font-stretch: var(--ti-cond); font-size: clamp(24px, 2.6vw, 32px); line-height: 1.05; text-transform: uppercase; }
.timp-shop-cta p { margin-top: 8px; max-width: 62ch; }

/* =========================================================
   PRODUTO
   ========================================================= */
#timp-product .timp-product__top {
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: start;
	margin: 20px 0 0; padding: 0 0 56px;
}
#timp-product .timp-product__top::before, #timp-product .timp-product__top::after { display: none; }

/* Galeria */
.timp-product__gallery { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 84px); min-width: 0; }
#timp-product div.product div.images, #timp-product .timp-product__gallery .woocommerce-product-gallery {
	float: none; width: 100%; margin: 0; opacity: 1;
}
#timp-product .woocommerce-product-gallery__wrapper { margin: 0; }
#timp-product .woocommerce-product-gallery .flex-viewport,
#timp-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r); overflow: hidden;
}
#timp-product .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; }
#timp-product .woocommerce-product-gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 12px 0 0; padding: 0; }
#timp-product .woocommerce-product-gallery .flex-control-thumbs li { float: none; width: auto; margin: 0; list-style: none; }
#timp-product .woocommerce-product-gallery .flex-control-thumbs li img {
	border: 1px solid var(--ti-line); border-radius: var(--ti-r-sm); opacity: .7; background: #fff; transition: opacity .2s, border-color .2s;
}
#timp-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
#timp-product .woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--ti-ink); }
#timp-product .woocommerce-product-gallery__trigger {
	top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; background: #fff; box-shadow: 0 2px 8px rgba(22,24,27,.15); z-index: 5;
}
#timp-product span.onsale {
	top: 14px; left: 14px; right: auto; min-width: 0; min-height: 0; margin: 0; padding: 6px 12px; z-index: 6;
	border-radius: 4px; background: var(--ti-accent); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.2; text-transform: uppercase;
}

/* Resumo e compra */
#timp-product div.product .summary, #timp-product .timp-product__summary { float: none; width: auto; margin: 0; padding: 0; }
#timp-product .product_title {
	margin: 0; padding: 0;
	font-family: var(--ti-font); font-weight: 800; font-stretch: var(--ti-cond); font-size: clamp(30px, 3.2vw, 42px); line-height: 1.04;
	text-transform: uppercase; color: var(--ti-ink);
}
#timp-product .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin: 12px 0 0; font-size: 14px; }
#timp-product .star-rating { float: none; margin: 0; color: var(--ti-crown); font-size: 15px; }
#timp-product .woocommerce-review-link { color: var(--ti-muted); text-decoration: underline; text-underline-offset: 3px; }
#timp-product div.product p.price, #timp-product div.product span.price {
	margin: 18px 0 0; color: var(--ti-ink); font-family: var(--ti-font); font-weight: 800; font-size: 30px; line-height: 1.15;
}
#timp-product div.product p.price .amount { color: var(--ti-ink); }
#timp-product div.product p.price .wc-measurement-price-calculator-price { font-size: 18px; font-weight: 500; color: var(--ti-muted); }
#timp-product div.product p.price .wc-measurement-price-calculator-price .amount { font-size: 30px; font-weight: 800; }
#timp-product div.product p.price del { font-size: 18px; font-weight: 400; color: var(--ti-muted); opacity: 1; }
#timp-product div.product p.price ins { text-decoration: none; }
#timp-product .woocommerce-product-details__short-description { margin-top: 16px; color: var(--ti-muted); font-size: 16px; line-height: 1.6; }
#timp-product .woocommerce-product-details__short-description p { margin: 0 0 .6em; padding: 0; }
#timp-product div.product .stock { margin: 14px 0 0; font-weight: 700; font-size: 14.5px; color: var(--ti-whatsapp-btn); }
#timp-product div.product .stock.out-of-stock { color: var(--ti-accent); }

#timp-product div.product form.cart {
	display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: stretch;
	margin: 22px 0 0; padding: 20px; background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r);
}
#timp-product div.product form.cart::before, #timp-product div.product form.cart::after { display: none; }
#timp-product div.product form.cart > * { margin: 0; }
#timp-product div.product form.cart .quantity { float: none; margin: 0; }
#timp-product div.product form.cart .quantity input.qty {
	width: 88px; height: 52px; padding: 0 8px; border: 1px solid #CDD2D8; border-radius: var(--ti-r-btn);
	background: #fff; color: var(--ti-ink); font: 700 17px/1 var(--ti-font); text-align: center;
}
#timp-product div.product form.cart .quantity:has(input[type="hidden"]) { display: none; }
#timp-product div.product form.cart .single_add_to_cart_button {
	float: none; width: 100%; min-height: 52px; padding: 0 24px;
	background: var(--ti-accent); color: #fff; font-size: 16px; border-radius: var(--ti-r-btn);
}
#timp-product div.product form.cart .single_add_to_cart_button:hover { background: var(--ti-accent-dark); padding: 0 24px; }
#timp-product div.product form.cart .single_add_to_cart_button.disabled,
#timp-product div.product form.cart .single_add_to_cart_button:disabled { opacity: .45; }
#timp-product div.product form.cart:has(.quantity input[type="hidden"]) { grid-template-columns: 1fr; }
#timp-product div.product form.cart > table, #timp-product div.product form.cart > .single_variation_wrap,
#timp-product div.product form.cart > .btn-encomendar, #timp-product div.product form.cart > .wc-measurement-price-calculator-input-wrapper { grid-column: 1 / -1; }

/* Calculadora de medidas (WooCommerce Measurement Price Calculator) */
#timp-product table#price_calculator {
	width: 100%; margin: 0 0 4px; border: 0; border-collapse: separate; border-spacing: 0;
	background: transparent; font-size: 15px;
}
#timp-product table#price_calculator tbody { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
#timp-product table#price_calculator tr { display: flex; flex-direction: column; gap: 6px; border: 0; }
#timp-product table#price_calculator td { display: block; padding: 0; border: 0; background: none; text-align: left !important; }
#timp-product table#price_calculator label { font-weight: 700; font-size: 14px; color: var(--ti-ink); }
#timp-product table#price_calculator input.amount_needed, #timp-product table#price_calculator select {
	width: 100%; height: 52px; margin: 0; padding: 0 14px; border: 1px solid #CDD2D8; border-radius: var(--ti-r-btn);
	background: var(--ti-bg); color: var(--ti-ink); font: 600 17px/1 var(--ti-font); box-sizing: border-box;
}
#timp-product table#price_calculator input.amount_needed:focus { outline: none; border-color: var(--ti-ink); background: #fff; }
#timp-product table#price_calculator tr.total-amount, #timp-product table#price_calculator tr.calculated-price {
	flex-direction: row; justify-content: space-between; align-items: center; grid-column: 1 / -1;
	padding: 12px 14px; border-radius: var(--ti-r-btn); background: var(--ti-bg); color: var(--ti-muted); font-size: 14.5px;
}
#timp-product table#price_calculator tr.calculated-price { background: var(--ti-ink); color: var(--ti-on-dark); }
#timp-product table#price_calculator tr.calculated-price .product_price,
#timp-product table#price_calculator tr.calculated-price .amount { color: #fff; font-weight: 800; font-size: 22px; }
#timp-product table#price_calculator .wc-measurement-price-calculator-total-amount { font-weight: 800; color: var(--ti-ink); font-size: 17px; }
#timp-product table#price_calculator tr.calculated-price td:last-child, #timp-product table#price_calculator tr.total-amount td:last-child { text-align: right !important; }
#timp-product table#price_calculator tr.price-table-row.calculated-price td:first-child::before { content: ""; }
#timp-product .wc-measurement-price-calculator-input-wrapper { display: grid; gap: 6px; }

/* Variações */
#timp-product div.product form.cart table.variations { width: 100%; margin: 0; border: 0; }
#timp-product div.product form.cart table.variations tr { display: grid; gap: 6px; margin-bottom: 12px; }
#timp-product div.product form.cart table.variations th, #timp-product div.product form.cart table.variations td { display: block; padding: 0; border: 0; text-align: left; background: none; line-height: 1.3; }
#timp-product div.product form.cart table.variations label { font-weight: 700; font-size: 14px; color: var(--ti-ink); }
#timp-product div.product form.cart table.variations select {
	width: 100%; height: 52px; padding: 0 40px 0 14px; border: 1px solid #CDD2D8; border-radius: var(--ti-r-btn);
	background: var(--ti-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2316181B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center / 16px no-repeat;
	font: 600 16px/1 var(--ti-font); color: var(--ti-ink); -webkit-appearance: none; appearance: none;
}
#timp-product .reset_variations { display: inline-block; margin-top: 6px; font-size: 13.5px; text-decoration: underline; }
#timp-product .single_variation_wrap .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: auto 1fr; gap: 12px; }
#timp-product .single_variation_wrap .woocommerce-variation-price .price { margin: 0 0 12px; font-size: 24px; }

/* Botão "Comprar/Consultar pelo WhatsApp" */
#timp-product .btn-encomendar { margin: 0; }
#timp-product .summary > .btn-encomendar { margin-top: 18px; }
#timp-product .btn-encomendar .btn {
	display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; padding: 0 20px;
	border: 2px solid var(--ti-whatsapp-btn); border-radius: var(--ti-r-btn); background: #fff; color: var(--ti-whatsapp-btn);
	font-weight: 700; font-stretch: 88%; font-size: 15px; text-transform: uppercase; letter-spacing: .02em;
	transition: background-color .2s, color .2s;
}
#timp-product .btn-encomendar .btn::before, #timp-product .btn-encomendar .btn::after { display: none; content: none; }
#timp-product .btn-encomendar .btn:hover { background: var(--ti-whatsapp-btn); color: #fff; }
#timp-product .btn-encomendar .btn .timp-ico { width: 22px; height: 22px; }
#timp-product .summary > .btn-encomendar .btn { background: var(--ti-whatsapp-btn); color: #fff; }
#timp-product .summary > .btn-encomendar .btn:hover { background: var(--ti-whatsapp-dark); border-color: var(--ti-whatsapp-dark); }

/* Meta (código e categorias) */
#timp-product .product_meta { margin-top: 18px; display: grid; gap: 4px; font-size: 14px; color: var(--ti-muted); }
#timp-product .product_meta > span { display: block; }
#timp-product .product_meta a { color: var(--ti-ink); text-decoration: underline; text-underline-offset: 3px; }

.timp-product__terms { display: grid; gap: 10px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--ti-line); }
.timp-product__terms li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--ti-muted); }
.timp-product__terms .timp-ico { width: 22px; height: 22px; color: var(--ti-accent); }
.timp-product__terms strong { color: var(--ti-ink); }
.timp-product__quote { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; margin-top: 20px; padding: 18px 20px; background: var(--ti-steel); color: var(--ti-on-dark); border-radius: var(--ti-r); }
.timp-product__quote p { flex: 1 1 220px; font-size: 15px; line-height: 1.45; }
.timp-product__quote .timp-btn { min-height: 46px; }

/* Navegação por seções */
.timp-product__nav { background: #fff; border-top: 1px solid var(--ti-line); border-bottom: 1px solid var(--ti-line); }
.timp-product__nav .timp-wrap { display: flex; gap: 6px 28px; overflow-x: auto; scrollbar-width: none; }
.timp-product__nav a {
	flex: none; display: flex; align-items: center; height: 56px; border-bottom: 3px solid transparent;
	font-weight: 800; font-stretch: var(--ti-cond); font-size: 17px; letter-spacing: .03em; text-transform: uppercase; color: var(--ti-ink);
}
.timp-product__nav a:hover { border-bottom-color: var(--ti-accent); }

/* Seções */
.timp-product__sections { display: grid; gap: 22px; padding-top: 36px; padding-bottom: 56px; }
.timp-psec { scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 90px); padding: 32px clamp(18px, 3vw, 40px); background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r); }
.timp-scope .timp-psec__title { margin-bottom: 20px; font-weight: 800; font-stretch: var(--ti-cond); font-size: clamp(24px, 2.4vw, 30px); line-height: 1.05; text-transform: uppercase; color: var(--ti-ink); }
.timp-prose { font-size: 16.5px; line-height: 1.7; color: #2B3036; }
.timp-scope .timp-prose p, .timp-scope .timp-prose ul, .timp-scope .timp-prose ol { margin: 0 0 1em; }
.timp-scope .timp-prose ul { padding-left: 1.2em; list-style: disc; }
.timp-scope .timp-prose ol { padding-left: 1.4em; list-style: decimal; }
.timp-scope .timp-prose li { list-style: inherit; margin-bottom: .35em; }
.timp-scope .timp-prose h2, .timp-scope .timp-prose h3, .timp-scope .timp-prose h4 { margin: 1.4em 0 .5em; font-weight: 800; color: var(--ti-ink); line-height: 1.2; }
.timp-scope .timp-prose h2 { font-size: 22px; }
.timp-scope .timp-prose h3 { font-size: 18px; }
.timp-scope .timp-prose > :first-child { margin-top: 0; }
.timp-prose a { color: var(--ti-accent); text-decoration: underline; text-underline-offset: 3px; }
.timp-prose img { border-radius: var(--ti-r-sm); margin: 12px 0; }
.timp-prose table { width: 100%; border-collapse: collapse; margin: 0 0 1em; font-size: 15px; }
.timp-prose th, .timp-prose td { padding: 10px 12px; border: 1px solid var(--ti-line); text-align: left; }

/* Especificações */
#timp-product table.woocommerce-product-attributes { width: 100%; max-width: 760px; margin: 0; border: 1px solid var(--ti-line); border-radius: var(--ti-r); border-collapse: separate; border-spacing: 0; overflow: hidden; }
#timp-product table.woocommerce-product-attributes th, #timp-product table.woocommerce-product-attributes td {
	padding: 14px 18px; border: 0; border-bottom: 1px solid var(--ti-line); background: #fff; font-size: 15px; line-height: 1.4; font-style: normal; text-align: left;
}
#timp-product table.woocommerce-product-attributes tr:last-child th, #timp-product table.woocommerce-product-attributes tr:last-child td { border-bottom: 0; }
#timp-product table.woocommerce-product-attributes th { width: 34%; background: var(--ti-bg); font-weight: 700; color: var(--ti-ink); }
#timp-product table.woocommerce-product-attributes td p { margin: 0; padding: 0; }

/* Avaliações */
#timp-product #reviews { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px; align-items: start; }
#timp-product #reviews .woocommerce-Reviews-title { display: none; }
#timp-product #reviews #comments, #timp-product #reviews #review_form_wrapper { float: none; width: auto; margin: 0; }
#timp-product #reviews #comments ol.commentlist { margin: 0; padding: 0; display: grid; gap: 12px; }
#timp-product #reviews #comments ol.commentlist li { margin: 0; padding: 16px 18px; list-style: none; border: 1px solid var(--ti-line); border-radius: var(--ti-r); background: var(--ti-bg); }
#timp-product #reviews #comments ol.commentlist li .comment_container { display: block; }
#timp-product #reviews #comments ol.commentlist li img.avatar { display: none; }
#timp-product #reviews #comments ol.commentlist li .comment-text { margin: 0; padding: 0; border: 0; }
#timp-product #reviews #comments ol.commentlist li .comment-text p.meta { margin: 6px 0 8px; font-size: 13.5px; color: var(--ti-muted); }
#timp-product #reviews #comments ol.commentlist li .comment-text .woocommerce-review__author { color: var(--ti-ink); font-weight: 700; }
#timp-product #reviews #comments ol.commentlist li .description p { margin: 0; font-size: 15px; line-height: 1.55; }
#timp-product #reviews .woocommerce-noreviews { margin: 0; color: var(--ti-muted); }
#timp-product #review_form #respond { padding: 20px; background: var(--ti-bg); border-radius: var(--ti-r); }
#timp-product #review_form .comment-reply-title { display: block; margin-bottom: 12px; font-weight: 800; font-size: 18px; color: var(--ti-ink); }
#timp-product #review_form label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 14px; }
#timp-product #review_form input[type="text"], #timp-product #review_form input[type="email"], #timp-product #review_form textarea {
	width: 100%; padding: 12px 14px; border: 1px solid #CDD2D8; border-radius: var(--ti-r-btn); background: #fff; font: 400 15px/1.4 var(--ti-font); box-sizing: border-box;
}
#timp-product #review_form p { margin: 0 0 14px; padding: 0; }
#timp-product #review_form p.stars a { color: var(--ti-crown); }
#timp-product #review_form .form-submit input[type="submit"], #timp-product #review_form #submit {
	min-height: 46px; padding: 0 22px; border: 0; border-radius: var(--ti-r-btn); background: var(--ti-ink); color: #fff;
	font: 700 15px/1 var(--ti-font); text-transform: uppercase; letter-spacing: .02em; cursor: pointer;
}
#timp-product .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; }
#timp-product .comment-form-cookies-consent label { font-weight: 400; }

/* Dúvidas (plugin Telas Imperial – Perguntas do Produto) */
#timp-product .tip-section { gap: 32px; }
#timp-product .tip-item { border-color: var(--ti-line); border-radius: var(--ti-r); background: #fff; transition: border-color .2s; }
#timp-product .tip-item[open] { border-color: var(--ti-ink); }
#timp-product .tip-item > summary { padding: 18px 56px 18px 20px; color: var(--ti-ink); font-size: 16.5px; line-height: 1.4; }
#timp-product .tip-item > summary::after { content: ""; top: 50%; right: 20px; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; background: var(--ti-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2316181B' stroke-width='2.6' stroke-linecap='round' d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 13px no-repeat; transition: transform .2s; }
#timp-product .tip-item[open] > summary::after { transform: rotate(45deg); background-color: var(--ti-ink); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' d='M12 6v12M6 12h12'/%3E%3C/svg%3E"); }
#timp-product .tip-meta { color: var(--ti-muted); opacity: 1; }
#timp-product .tip-a { padding: 0 20px 18px; color: #2B3036; font-size: 15.5px; line-height: 1.65; }
#timp-product .tip-search input { height: 48px; border-radius: var(--ti-r-btn); background: var(--ti-bg); font-family: var(--ti-font); }
#timp-product .tip-empty { color: var(--ti-muted); }
#timp-product .tip-ask { padding: 24px; background: var(--ti-bg); border-radius: var(--ti-r); }
.timp-scope .tip-ask__title { margin-bottom: 16px; font-weight: 800; font-stretch: var(--ti-cond); font-size: 21px; line-height: 1.1; text-transform: uppercase; color: var(--ti-ink); }
#timp-product .tip-field input, #timp-product .tip-field textarea { border-radius: var(--ti-r-btn); font-family: var(--ti-font); font-size: 15.5px; }
#timp-product .tip-form .tip-field input[type="text"], #timp-product .tip-form .tip-field input[type="email"] { height: auto; min-height: 48px; padding: 12px 14px; line-height: 1.4; }
#timp-product .tip-field input:focus, #timp-product .tip-field textarea:focus { outline: none; border-color: var(--ti-ink); }
#timp-product .tip-submit { min-height: 48px; border-radius: var(--ti-r-btn); background: var(--ti-ink); font-family: var(--ti-font); font-stretch: 88%; font-size: 15px; text-transform: uppercase; letter-spacing: .02em; }
#timp-product .tip-submit:hover { background: var(--ti-steel-2); }
#timp-product .tip-note { color: var(--ti-muted); opacity: 1; }
#timp-product .tip-msg.is-ok { color: var(--ti-whatsapp-btn); }
#timp-product .tip-msg.is-error { color: var(--ti-accent-dark); }

/* Relacionados e upsells */
.timp-product__more { padding: 8px 0 72px; }
#timp-product .related > h2, #timp-product .upsells > h2, #timp-cart .cross-sells > h2 {
	margin: 0 0 20px; padding: 0; font-family: var(--ti-font); font-weight: 800; font-stretch: var(--ti-cond); font-size: clamp(24px, 2.4vw, 30px);
	text-transform: uppercase; color: var(--ti-ink);
}
#timp-product .related, #timp-product .upsells { float: none; width: auto; margin: 0 0 40px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1080px) {
	.timp-shop__layout { grid-template-columns: 1fr; padding-top: 20px; }
	.timp-filters-toggle { display: inline-flex; }
	.timp-filters {
		position: fixed; left: 0; top: 0; bottom: 0; z-index: 100001; width: min(88vw, 360px); max-height: none; overflow-y: auto; overscroll-behavior: contain;
		padding: 0 16px 16px; background: var(--ti-bg); transform: translateX(-100%); transition: transform .3s var(--ti-ease);
		display: flex; flex-direction: column;
	}
	.timp-filters.is-open { transform: none; }
	.timp-filters__head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; justify-content: space-between; margin: 0 -16px 12px; padding: 14px 16px; background: #fff; border-bottom: 1px solid var(--ti-line); }
	.timp-scope .timp-filters__title { font-weight: 800; font-stretch: var(--ti-cond); font-size: 20px; text-transform: uppercase; }
	.timp-filters__close { width: 44px; height: 44px; display: grid; place-items: center; margin-right: -10px; }
	.timp-filters__close .timp-ico { width: 24px; height: 24px; }
	.timp-filters__body { flex: 1; }
	.timp-filters__foot { display: block; position: sticky; bottom: 0; padding-top: 12px; background: var(--ti-bg); }
	.timp-filters__backdrop { position: fixed; inset: 0; z-index: 100000; background: rgba(22, 24, 27, .55); opacity: 0; visibility: hidden; transition: opacity .25s, visibility 0s .25s; }
	.timp-filters.is-open + .timp-filters__backdrop { display: block; opacity: 1; visibility: visible; transition-delay: 0s; }
	#timp-shop .woocommerce-result-count { flex-basis: 100%; order: 3; }
	#timp-product ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#timp-product .timp-product__top { gap: 32px; }
}
@media (max-width: 1080px) and (min-width: 1px) {
	.timp-filters__backdrop { display: block; }
}
@media (max-width: 860px) {
	#timp-product .timp-product__top { grid-template-columns: 1fr; padding-bottom: 36px; }
	.timp-product__gallery { position: static; }
	#timp-product #reviews { grid-template-columns: 1fr; }
	.timp-psec { padding: 24px 18px; }
}
@media (max-width: 640px) {
	#timp-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.timp-pcard__body { padding: 10px 10px 12px; }
	#timp-shop .timp-pcard__title, #timp-product .timp-pcard__title { font-size: 14.5px; }
	.timp-pcard__price, .timp-pcard__price .wc-measurement-price-calculator-price .amount { font-size: 16px; }
	.timp-pcard__cat { font-size: 11px; }
	#timp-shop .timp-pcard__actions .button, #timp-product .timp-pcard__actions .button { min-height: 40px; padding: 0 8px; font-size: 12.5px; }
	#timp-shop .woocommerce-ordering { flex: 1; }
	#timp-shop .woocommerce-ordering select { width: 100%; }
	#timp-product table#price_calculator tbody { grid-template-columns: 1fr 1fr; }
	#timp-product div.product form.cart { padding: 14px; }
	.timp-product__quote { padding: 16px; }
	.timp-product__quote .timp-btn { width: 100%; }
	.timp-shop-cta .timp-btn { width: 100%; }
}

/* Contagem ao lado do item (o WooCommerce coloca o .count fora do link) */
#timp-shop .timp-filters ul li { display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; }
#timp-shop .timp-filters ul li > a { flex: 1 1 auto; min-width: 0; }
#timp-shop .timp-filters ul li > .count { margin-left: auto; }
#timp-shop .timp-filters ul li > ul { flex-basis: 100%; }

/* Avaliações: o Divi usa !important no recuo do avatar e no espaço entre itens */
#timp-product #reviews #comments ol.commentlist li { margin: 0 !important; }
#timp-product #reviews #comments ol.commentlist li .comment-text { margin: 0 !important; }

/* =========================================================================
 * Carrinho (#timp-cart)
 * ====================================================================== */
.timp-cart { background: var(--ti-bg); }
.timp-cart-hero .timp-wrap:first-child { padding-bottom: 26px; }
.timp-cart-hero__row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 32px; }
.timp-scope .timp-steps { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0; padding: 0; list-style: none; }
.timp-steps li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--ti-muted); }
.timp-steps li span { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #CDD2D8; font-size: 13px; font-weight: 700; color: var(--ti-muted); background: #fff; }
.timp-steps li + li::before { content: ""; width: 22px; height: 1px; margin-right: 6px; background: #CDD2D8; }
.timp-steps li.is-current { color: var(--ti-ink); }
.timp-steps li.is-current span { border-color: var(--ti-accent); background: var(--ti-accent); color: #fff; }

.timp-cart__body { padding-top: 32px; padding-bottom: 72px; }
#timp-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px 32px; align-items: start; }
#timp-cart .woocommerce > * { grid-column: 1 / -1; min-width: 0; }
#timp-cart .woocommerce > .woocommerce-cart-form { grid-column: 1; margin: 0; }
#timp-cart .woocommerce > .cart-collaterals { grid-column: 2; width: auto; float: none; }
#timp-cart .woocommerce-notices-wrapper:empty { display: none; }

/* Itens */
#timp-cart table.shop_table.cart { display: block; width: 100%; margin: 0; border: 0; border-radius: 0; background: transparent; border-collapse: separate; }
#timp-cart table.cart thead { display: none; }
#timp-cart table.cart tbody { display: grid; gap: 12px; }
#timp-cart table.cart tr { display: block; }
#timp-cart table.cart td { display: block; padding: 0; border: 0; background: none; text-align: left; }
#timp-cart table.cart td::before { display: none; }
#timp-cart table.cart tr.cart_item {
	position: relative; display: grid; align-items: center; gap: 6px 22px;
	grid-template-columns: 92px minmax(0, 1fr) 110px 104px 120px 36px;
	grid-template-areas: "thumb name price qty sub rm";
	padding: 16px; background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r);
}
#timp-cart table.cart td.product-thumbnail { grid-area: thumb; }
#timp-cart table.cart td.product-name { grid-area: name; }
#timp-cart table.cart td.product-price { grid-area: price; }
#timp-cart table.cart td.product-quantity { grid-area: qty; }
#timp-cart table.cart td.product-subtotal { grid-area: sub; text-align: right; }
#timp-cart table.cart td.product-remove { grid-area: rm; justify-self: end; }
#timp-cart table.cart td.product-thumbnail a { display: block; aspect-ratio: 1; border: 1px solid var(--ti-line); border-radius: var(--ti-r-sm); overflow: hidden; background: #fff; }
#timp-cart table.cart td.product-thumbnail img { display: block; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: contain; box-shadow: none; }
#timp-cart table.cart td.product-name > a { font-weight: 700; font-size: 16.5px; line-height: 1.35; color: var(--ti-ink); }
#timp-cart table.cart td.product-name > a:hover { color: var(--ti-accent); }
#timp-cart table.cart td.product-name dl.variation { display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; margin: 8px 0 0; font-size: 13.5px; color: var(--ti-muted); }
#timp-cart table.cart td.product-name dl.variation dt { margin: 0; font-weight: 600; float: none; }
#timp-cart table.cart td.product-name dl.variation dd { margin: 0; padding: 0; float: none; }
#timp-cart table.cart td.product-name dl.variation p { margin: 0; padding: 0; }
#timp-cart table.cart td.product-name .backorder_notification { margin: 6px 0 0; font-size: 13px; color: var(--ti-muted); }
#timp-cart table.cart td.product-price::before,
#timp-cart table.cart td.product-quantity::before,
#timp-cart table.cart td.product-subtotal::before {
	content: attr(data-title); display: block; float: none; margin-bottom: 4px;
	font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ti-muted);
}
#timp-cart table.cart td.product-price { font-size: 15px; color: var(--ti-muted); }
#timp-cart table.cart td.product-price .amount { color: var(--ti-muted); font-weight: 600; }
#timp-cart table.cart td.product-subtotal .amount { font-weight: 800; font-size: 18px; color: var(--ti-ink); }
#timp-cart table.cart td.product-quantity:has(input[type="hidden"]) { visibility: hidden; }
#timp-cart .quantity { display: inline-flex; margin: 0; float: none; }
#timp-cart .quantity .qty {
	width: 84px; height: 44px; margin: 0; padding: 0 8px;
	border: 1px solid #CDD2D8; border-radius: var(--ti-r-btn); background: #fff;
	font: 600 15.5px/1 var(--ti-font); color: var(--ti-ink); text-align: center;
}
#timp-cart .quantity .qty:focus { outline: none; border-color: var(--ti-ink); }
#timp-cart table.cart a.remove {
	display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
	background: var(--ti-bg); color: var(--ti-muted) !important; font-size: 22px; font-weight: 400; line-height: 1;
	transition: background-color .2s, color .2s;
}
#timp-cart table.cart a.remove:hover { background: var(--ti-accent); color: #fff !important; }

/* Linha de ações */
#timp-cart table.cart td.actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 0 0; }
#timp-cart table.cart td.actions .coupon { display: flex; gap: 8px; float: none; }
#timp-cart table.cart td.actions .coupon .input-text { width: 180px; height: 44px; padding: 0 12px; border: 1px solid #CDD2D8; border-radius: var(--ti-r-btn); font: 15px var(--ti-font); }
#timp-cart table.cart td.actions > .button { order: 3; margin-left: auto; float: none; background: #fff; color: var(--ti-ink); border: 1px solid var(--ti-ink); }
#timp-cart table.cart td.actions > .button:hover { background: var(--ti-ink); color: #fff; }
#timp-cart table.cart td.actions > .button:disabled, #timp-cart table.cart td.actions > .button[disabled] { opacity: .45; cursor: default; background: #fff; color: var(--ti-ink); padding: 0 18px; }
.timp-cart__continue { order: 1; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; color: var(--ti-ink); }
.timp-cart__continue:hover { color: var(--ti-accent); }
.timp-cart__continue .timp-ico { width: 18px; height: 18px; }
.timp-ico--flip { transform: rotate(180deg); }

/* Resumo */
#timp-cart .cart-collaterals .cart_totals { float: none; width: auto; padding: 24px; background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r); }
#timp-cart .cart_totals > h2 {
	margin: 0 0 14px; padding: 0; font-family: var(--ti-font); font-weight: 800; font-stretch: var(--ti-cond); font-size: 24px; line-height: 1.1; text-transform: uppercase; color: var(--ti-ink);
}
#timp-cart .cart_totals table.shop_table { display: block; width: 100%; margin: 0; border: 0; border-radius: 0; }
#timp-cart .cart_totals table.shop_table tbody { display: block; }
#timp-cart .cart_totals table.shop_table tr { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; padding: 14px 0; border-top: 1px solid var(--ti-line); }
#timp-cart .cart_totals table.shop_table th,
#timp-cart .cart_totals table.shop_table td { display: block; padding: 0; border: 0; background: none; font-size: 15px; line-height: 1.45; }
#timp-cart .cart_totals table.shop_table th { font-weight: 600; color: var(--ti-muted); }
#timp-cart .cart_totals table.shop_table td { text-align: right; color: var(--ti-ink); }
#timp-cart .cart_totals table.shop_table td::before { display: none; }
#timp-cart .cart_totals tr.shipping td, #timp-cart .cart_totals tr.woocommerce-shipping-totals td { flex-basis: 100%; text-align: left; }
#timp-cart .cart_totals #shipping_method { margin: 0; padding: 0; list-style: none; }
#timp-cart .cart_totals #shipping_method li { margin: 0 0 4px; padding: 0; font-weight: 600; text-indent: 0; }
#timp-cart .cart_totals #shipping_method li label { display: inline; margin: 0; }
#timp-cart .woocommerce-shipping-destination { margin: 6px 0 0; font-size: 13.5px; color: var(--ti-muted); }
#timp-cart .shipping-calculator-button { display: inline-flex; margin-top: 8px; font-weight: 700; font-size: 14px; color: var(--ti-ink); text-decoration: underline; text-underline-offset: 3px; }
#timp-cart .shipping-calculator-button::after { display: none; }
#timp-cart .shipping-calculator-form { margin-top: 10px; }
#timp-cart .shipping-calculator-form p { margin: 0 0 8px; padding: 0; }
#timp-cart .shipping-calculator-form label { display: block; margin-bottom: 4px; font-size: 13.5px; font-weight: 600; color: var(--ti-muted); }
#timp-cart .shipping-calculator-form .input-text,
#timp-cart .shipping-calculator-form select {
	width: 100%; height: 44px; padding: 0 12px; border: 1px solid #CDD2D8; border-radius: var(--ti-r-btn); background: #fff; font: 15px var(--ti-font); color: var(--ti-ink);
}
#timp-cart .cart_totals tr.order-total { align-items: center; }
#timp-cart .cart_totals tr.order-total th { font-weight: 800; font-size: 17px; color: var(--ti-ink); text-transform: uppercase; }
#timp-cart .cart_totals tr.order-total td .amount { font-weight: 800; font-size: 26px; color: var(--ti-ink); }
#timp-cart .cart_totals tr.order-total td small { display: block; font-size: 12.5px; font-weight: 400; color: var(--ti-muted); }
#timp-cart .wc-proceed-to-checkout { padding: 6px 0 0; }
#timp-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex; width: 100%; min-height: 56px; margin: 0; padding: 0 20px;
	background: var(--ti-accent); color: #fff; font-size: 16.5px;
}
#timp-cart .wc-proceed-to-checkout a.checkout-button:hover,
#timp-cart .wc-proceed-to-checkout a.checkout-button:focus-visible { background: var(--ti-ink); color: #fff; padding: 0 20px; }

.timp-scope .timp-cart__assure { display: grid; gap: 10px; margin: 16px 0 0; padding: 0 4px; list-style: none; }
.timp-cart__assure li { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--ti-muted); }
.timp-cart__assure .timp-ico { flex: none; width: 22px; height: 22px; color: var(--ti-accent); }
.timp-cart__assure strong { color: var(--ti-ink); }
.timp-cart__quote { display: grid; gap: 12px; margin-top: 16px; padding: 18px 20px; background: var(--ti-steel); color: var(--ti-on-dark); border-radius: var(--ti-r); }
.timp-cart__quote p { margin: 0; padding: 0; font-size: 14.5px; line-height: 1.45; }
.timp-cart__quote .timp-btn { width: 100%; min-height: 46px; }

/* Sugestões */
#timp-cart .cross-sells { float: none; width: auto; margin: 32px 0 0; }

/* Carrinho vazio */
#timp-cart .return-to-shop { display: none; }
.timp-cart-empty { max-width: 720px; margin: 8px auto 0; padding: 44px 28px; text-align: center; background: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-r); }
.timp-cart-empty__ico { display: inline-grid; place-items: center; width: 72px; height: 72px; margin-bottom: 14px; border-radius: 50%; background: var(--ti-bg); color: var(--ti-ink); }
.timp-cart-empty__ico .timp-ico { width: 34px; height: 34px; }
.timp-scope .timp-cart-empty__title { margin: 0 0 8px; padding: 0; font-family: var(--ti-font); font-weight: 800; font-stretch: var(--ti-cond); font-size: 28px; text-transform: uppercase; color: var(--ti-ink); }
.timp-cart-empty > p { max-width: 46ch; margin: 0 auto; padding: 0; color: var(--ti-muted); font-size: 15.5px; line-height: 1.55; }
.timp-cart-empty__cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 22px; }
.timp-cart-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }

@media (max-width: 1080px) {
	#timp-cart .woocommerce { grid-template-columns: 1fr; }
	#timp-cart .woocommerce > .woocommerce-cart-form, #timp-cart .woocommerce > .cart-collaterals { grid-column: 1; }
	#timp-cart .cart-collaterals { max-width: 560px; width: 100%; margin-left: auto; }
}
@media (max-width: 860px) {
	#timp-cart ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	#timp-cart .cart-collaterals { max-width: none; }
}
@media (max-width: 760px) {
	.timp-cart__body { padding-top: 20px; padding-bottom: 48px; }
	.timp-steps li { font-size: 12.5px; }
	.timp-steps li + li::before { width: 10px; margin-right: 2px; }
	#timp-cart table.cart tr.cart_item {
		grid-template-columns: 76px minmax(0, 1fr) 34px;
		grid-template-areas: "thumb name rm" "thumb price price" "qty qty sub";
		gap: 8px 14px; padding: 14px;
	}
	#timp-cart table.cart td.product-price { display: flex; gap: 6px; align-items: baseline; font-size: 14px; }
	#timp-cart table.cart td.product-price::before { display: inline; margin: 0; }
	#timp-cart table.cart td.product-price::after { content: none; }
	#timp-cart table.cart td.product-quantity, #timp-cart table.cart td.product-subtotal { padding-top: 10px; border-top: 1px solid var(--ti-line); }
	#timp-cart table.cart td.product-quantity:has(input[type="hidden"]) { visibility: visible; }
	#timp-cart table.cart td.product-quantity:has(input[type="hidden"])::before { visibility: hidden; }
	#timp-cart table.cart td.product-name > a { font-size: 15px; }
	#timp-cart table.cart td.actions { justify-content: space-between; }
	#timp-cart table.cart td.actions > .button { margin-left: 0; }
	#timp-cart .cart_totals { padding: 20px 18px; }
	#timp-cart .timp-pcard__body { padding: 10px 10px 12px; }
	#timp-cart .timp-pcard__title { font-size: 14.5px; }
	#timp-cart .timp-pcard__actions .button { min-height: 40px; padding: 0 8px; font-size: 12.5px; }
	.timp-cart-empty { padding: 32px 18px; }
	.timp-cart-empty__actions .timp-btn { width: 100%; }
}
#timp-cart table.cart td { text-align: left !important; }
#timp-cart table.cart td.product-subtotal { text-align: right !important; }
#timp-cart table.cart tr.cart_item { gap: 6px 18px; grid-template-columns: 92px minmax(0, 1fr) 100px 96px 116px 34px; }
@media (max-width: 760px) {
	#timp-cart table.cart tr.cart_item {
		grid-template-columns: 72px minmax(0, 1fr) minmax(0, 1fr) 34px;
		grid-template-areas: "thumb name name rm" "thumb price price price" "qty qty sub sub";
		gap: 8px 12px;
	}
	#timp-cart table.cart td.product-remove { align-self: start; }
	#timp-cart table.cart td.product-thumbnail { align-self: start; }
	#timp-cart table.cart td.product-quantity, #timp-cart table.cart td.product-subtotal { align-self: stretch; }
}
