﻿/*
Theme Name:  Tudo Casa
Description: Flatsome Child Theme - Tudo Casa Warm Lda
Author:      Webtech Informatica & Tecnologia
Template:    flatsome
Version:     1.0.0
Text Domain: flatsome-child
*/
@import url('../flatsome/style.css');

/* ===== TUDO CASA BRAND VARIABLES ===== */
:root {
  --tc-orange:  #FF740F;
  --tc-dark:    #1A1A1A;
  --tc-green:   #27AE60;
  --tc-light:   #F8F9FA;
  --tc-radius:  6px;
}

/* ===== PRIMARY COLOUR OVERRIDES ===== */
a, .color-primary { color: var(--tc-orange); }
.button.primary,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
#place_order,
.woocommerce .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  background-color: var(--tc-orange) !important;
  border-color:     var(--tc-orange) !important;
  color: #fff !important;
}
.button.primary:hover,
.woocommerce a.button.alt:hover { background-color: #e0650c !important; }

/* ===== TYPOGRAPHY ===== */
body { font-family: 'Fredoka', sans-serif; }

/* ===== HEADER ===== */
.header-main { border-bottom: 2px solid var(--tc-orange); }

/* ===== PRODUCT BADGES ===== */
.onsale { background-color: var(--tc-orange) !important; }

/* ===== FOOTER ===== */
.footer-bottom { background: var(--tc-dark); color: #ccc; }
.footer-bottom a { color: var(--tc-orange); }

/* ===== WHATSAPP BUTTON ===== */
.tc-whatsapp-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: #25D366; color: #fff !important;
  padding: 10px 20px; border-radius: var(--tc-radius);
  font-weight: 600; text-decoration: none;
  transition: background .2s;
}
.tc-whatsapp-btn:hover { background: #1ebe5d; color: #fff !important; }
.tc-whatsapp-btn svg { width: 20px; height: 20px; fill: #fff; }

/* ===== TC: Header Search — centrado + cor botão ===== */

/* Centra o search bar no espaço entre logo e conta */
.header-inner .flex-col.flex-grow .header-nav.nav-left {
    justify-content: center;
}

/* Largura máxima da caixa de pesquisa */
.header-search-form .searchform-wrapper {
    width: 100%;
    max-width: 520px;
}

/* Cor do botão de pesquisa */
.ux-search-submit,
.header-search-form button[type="submit"],
.submit-button.secondary.icon {
    background-color: #1843e2 !important;
    border-color: #1843e2 !important;
    color: #ffffff !important;
}
.ux-search-submit:hover,
.header-search-form button[type="submit"]:hover {
    background-color: #1232c0 !important;
    border-color: #1232c0 !important;
}
/* ===== fim TC header search ===== */

/* ===== TC: Header background color ===== */
#masthead.header-main {
    background-color: #ff740f !important;
}
/* ===== fim TC header background ===== */

/* ===== TC: Remove linha divisória header/nav ===== */
#masthead.header-main,
.header-main,
.header-bottom {
    border-bottom: none !important;
    border-top: none !important;
    box-shadow: none !important;
}
/* ===== fim ===== */


/* ===== TC: Cart icon color ===== */
.header-main .cart-icon strong,
.header-main .cart-icon strong:after {
    color: #1843e2 !important;
    border-color: #1843e2 !important;
}
/* ===== fim TC cart icon ===== */
/* ===== TC: Cart icon hover animation ===== */
.cart-img-icon {
    transition: transform 0.25s ease;
    display: block;
}
.header-cart-link:hover .cart-img-icon {
    transform: scale(1.25);
}

/* ===== TC: Mini-cart empty popup — substituir sacola pelo carrinho esmaecido ===== */
.ux-mini-cart-empty-icon svg {
    display: none !important;
}
.ux-mini-cart-empty-icon::before {
    content: "";
    display: block;
    width: 80px;
    height: 80px;
    margin: 0 auto;
    background-image: url("/wp-content/uploads/2026/05/carrinho.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    filter: grayscale(100%) opacity(0.15);
}
/* ===== fim TC cart extras ===== */

/* ===== TC: Botões de ação → #1843e2 ===== */
.button:not(.is-outline):not(.is-link):not(.is-underline):not(.ux-search-submit):not(.nav-top-link):not(.off-canvas-toggle):not(.icon.round),
input[type=submit]:not(.ux-search-submit),
.woocommerce a.button:not(.is-outline),
.woocommerce button.button:not(.is-outline),
.woocommerce input.button:not(.is-outline),
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.button#place_order {
    background-color: #1843e2 !important;
    border-color: rgba(0,0,0,.05) !important;
    color: #fff !important;
}
.button:not(.is-outline):not(.is-link):not(.is-underline):not(.ux-search-submit):not(.nav-top-link):not(.off-canvas-toggle):not(.icon.round):hover,
input[type=submit]:not(.ux-search-submit):hover,
.woocommerce a.button:not(.is-outline):hover,
.woocommerce button.button:not(.is-outline):hover,
.woocommerce input.button:not(.is-outline):hover,
.woocommerce #respond input#submit:hover,
.single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.button#place_order:hover {
    background-color: #1232c0 !important;
    border-color: rgba(0,0,0,.05) !important;
    color: #fff !important;
}
/* ===== fim TC botões ===== */



/* ===== TC: Newsletter section — altura reduzida ===== */
#section_2082445717 {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}
#section_2082445717 .section-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
#section_2082445717 .row {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ===== TC: Newsletter button → #1843e2 ===== */
#section_2082445717 button[type=submit] {
    background: #1843e2 !important;
    border-color: #1843e2 !important;
    color: #fff !important;
    transition: transform .22s ease, background .22s ease !important;
}
#section_2082445717 button[type=submit]:hover {
    background: #1232c0 !important;
    transform: scale(1.06) !important;
}

/* ===== TC: Hover animation em todos os botões #1843e2 ===== */
.button:not(.is-outline):not(.is-link):not(.is-underline):not(.ux-search-submit):not(.nav-top-link):not(.off-canvas-toggle):not(.icon.round),
input[type=submit]:not(.ux-search-submit),
.woocommerce a.button:not(.is-outline),
.woocommerce button.button:not(.is-outline),
.woocommerce input.button:not(.is-outline),
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.button#place_order {
    transition: transform .22s ease, background .25s ease !important;
}
.button:not(.is-outline):not(.is-link):not(.is-underline):not(.ux-search-submit):not(.nav-top-link):not(.off-canvas-toggle):not(.icon.round):hover,
input[type=submit]:not(.ux-search-submit):hover,
.woocommerce a.button:not(.is-outline):hover,
.woocommerce button.button:not(.is-outline):hover,
.woocommerce input.button:not(.is-outline):hover,
.woocommerce #respond input#submit:hover,
.single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.button#place_order:hover {
    transform: scale(1.04) !important;
}
/* ===== fim TC newsletter + animacoes ===== */

/* ===== TC: Footer bottom — fundo + espaçamento ===== */
.absolute-footer {
    background-color: #ff740f !important;
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}
.absolute-footer .footer-primary {
    margin-bottom: 14px !important;
    display: block !important;
    float: none !important;
    text-align: center !important;
}
.absolute-footer .copyright-footer {
    margin-top: 14px !important;
    display: block !important;
    clear: both !important;
    text-align: center !important;
}
/* ===== fim TC footer bottom ===== */



/* ===== TC: CATEGORIAS — dropdown vertical flyout ===== */

/* Forçar dropdown vertical — anular colunas do Flatsome */
.tc-mega-cats > ul.nav-dropdown {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    column-count: 1 !important;
    columns: 1 !important;
    min-width: 320px !important;
    max-width: 340px !important;
    max-height: 75vh !important;
    overflow-y: auto !important;
    overflow-x: visible !important;
    padding: 6px 0 !important;
    background: #fff !important;
    border-top: 3px solid #ff740f !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 8px 28px rgba(0,0,0,.15) !important;
}

/* Animar entrada */
.tc-mega-cats:hover > ul.nav-dropdown,
.tc-mega-cats.current-dropdown > ul.nav-dropdown {
    animation: tcCatIn .2s ease forwards !important;
}
@keyframes tcCatIn {
    from { opacity:0; transform:translateY(-6px); }
    to   { opacity:1; transform:translateY(0); }
}

/* Itens L1 — anular nav-dropdown-col (que força layout de coluna) */
.tc-mega-cats > ul.nav-dropdown > li,
.tc-mega-cats > ul.nav-dropdown > li.nav-dropdown-col {
    position: relative !important;
    float: none !important;
    width: 100% !important;
    display: block !important;
    border-bottom: 1px solid #f3f3f3 !important;
    padding: 0 !important;
    margin: 0 !important;
    break-inside: auto !important;
    column-span: none !important;
}

/* Link L1 */
.tc-mega-cats > ul.nav-dropdown > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 18px !important;
    color: #333 !important;
    font-size: .875em !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
    white-space: normal !important;
    transition: background .15s, color .15s !important;
    text-decoration: none !important;
}

.tc-mega-cats > ul.nav-dropdown > li:hover > a,
.tc-mega-cats > ul.nav-dropdown > li > a:hover {
    background: #fff6ee !important;
    color: #ff740f !important;
}

/* Seta › para itens com filhos */
.tc-mega-cats > ul.nav-dropdown > li.menu-item-has-children > a::after {
    content: 203A !important;
    font-size: 1.4em !important;
    line-height: 1 !important;
    padding-left: 8px !important;
    color: #bbb !important;
    transition: transform .15s, color .15s !important;
    flex-shrink: 0 !important;
}
.tc-mega-cats > ul.nav-dropdown > li.menu-item-has-children:hover > a::after {
    transform: translateX(3px) !important;
    color: #ff740f !important;
}

/* Painel L2 (flyout lateral) — anular nav-column do Flatsome */
.tc-mega-cats > ul.nav-dropdown > li > ul.nav-column,
.tc-mega-cats > ul.nav-dropdown > li > ul.sub-menu {
    display: none !important;
    position: absolute !important;
    top: -3px !important;
    left: 100% !important;
    min-width: 260px !important;
    max-width: 300px !important;
    max-height: 75vh !important;
    overflow-y: auto !important;
    padding: 6px 0 !important;
    background: #fff !important;
    border-top: 3px solid #ff740f !important;
    border-radius: 0 6px 6px 0 !important;
    box-shadow: 4px 8px 28px rgba(0,0,0,.12) !important;
    z-index: 99999 !important;
    column-count: 1 !important;
    columns: 1 !important;
    flex-direction: column !important;
}

.tc-mega-cats > ul.nav-dropdown > li:hover > ul.nav-column,
.tc-mega-cats > ul.nav-dropdown > li:hover > ul.sub-menu {
    display: block !important;
    animation: tcFlyIn .18s ease forwards !important;
}

@keyframes tcFlyIn {
    from { opacity:0; transform:translateX(-8px); }
    to   { opacity:1; transform:translateX(0); }
}

/* Itens L2 */
.tc-mega-cats > ul.nav-dropdown > li > ul > li {
    position: relative !important;
    float: none !important;
    display: block !important;
    width: 100% !important;
    border-bottom: 1px solid #f3f3f3 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.tc-mega-cats > ul.nav-dropdown > li > ul > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 9px 16px !important;
    color: #444 !important;
    font-size: .85em !important;
    font-weight: 400 !important;
    text-transform: none !important;
    transition: background .15s, color .15s, padding-left .15s !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.tc-mega-cats > ul.nav-dropdown > li > ul > li:hover > a,
.tc-mega-cats > ul.nav-dropdown > li > ul > li > a:hover {
    background: #fff6ee !important;
    color: #ff740f !important;
    padding-left: 22px !important;
}

/* Seta L2 com filhos */
.tc-mega-cats > ul.nav-dropdown > li > ul > li.menu-item-has-children > a::after {
    content: 203A !important;
    font-size: 1.3em !important;
    padding-left: 6px !important;
    color: #bbb !important;
    transition: transform .15s, color .15s !important;
    flex-shrink: 0 !important;
}
.tc-mega-cats > ul.nav-dropdown > li > ul > li.menu-item-has-children:hover > a::after {
    transform: translateX(3px) !important;
    color: #ff740f !important;
}

/* Painel L3 */
.tc-mega-cats > ul.nav-dropdown > li > ul > li > ul {
    display: none !important;
    position: absolute !important;
    top: -3px !important;
    left: 100% !important;
    min-width: 220px !important;
    max-height: 75vh !important;
    overflow-y: auto !important;
    padding: 6px 0 !important;
    background: #fff !important;
    border-top: 3px solid #ff740f !important;
    border-radius: 0 6px 6px 0 !important;
    box-shadow: 4px 8px 28px rgba(0,0,0,.12) !important;
    z-index: 99999 !important;
    column-count: 1 !important;
}

.tc-mega-cats > ul.nav-dropdown > li > ul > li:hover > ul {
    display: block !important;
    animation: tcFlyIn .18s ease forwards !important;
}

/* Itens L3 */
.tc-mega-cats > ul.nav-dropdown > li > ul > li > ul > li {
    float: none !important;
    display: block !important;
    border-bottom: 1px solid #f3f3f3 !important;
}
.tc-mega-cats > ul.nav-dropdown > li > ul > li > ul > li > a {
    display: block !important;
    padding: 9px 16px !important;
    color: #555 !important;
    font-size: .84em !important;
    transition: background .15s, color .15s, padding-left .15s !important;
    text-decoration: none !important;
}
.tc-mega-cats > ul.nav-dropdown > li > ul > li > ul > li > a:hover {
    background: #fff6ee !important;
    color: #ff740f !important;
    padding-left: 22px !important;
}

/* Scrollbar discreta */
.tc-mega-cats ul::-webkit-scrollbar { width: 4px !important; }
.tc-mega-cats ul::-webkit-scrollbar-thumb { background: #ff740f !important; border-radius: 4px !important; }

/* ===== fim TC cats flyout ===== */

/* ===== TC: Fix overflow no header-bottom — impede corte do dropdown ===== */
.header-bottom,
.header-bottom .container,
.header-bottom .header-bottom-nav,
.header-bottom-nav > li {
    overflow: visible !important;
}
/* Dropdown principal — largura e wrap corrigidos */
.tc-mega-cats > ul.nav-dropdown {
    min-width: 320px !important;
    max-width: 360px !important;
    white-space: normal !important;
}
.tc-mega-cats > ul.nav-dropdown > li > a {
    white-space: normal !important;
    word-break: break-word !important;
}
/* Flyout L2 — garantir que não é cortado */
.tc-mega-cats > ul.nav-dropdown > li > ul,
.tc-mega-cats > ul.nav-dropdown > li > ul.nav-column,
.tc-mega-cats > ul.nav-dropdown > li > ul.sub-menu {
    overflow: visible !important;
    min-width: 260px !important;
}
/* ===== fim fix overflow ===== */

/* ===== TC: Botão CATEGORIAS ===== */
.header-bottom-nav > li.tc-mega-cats > a.nav-top-link {
    background-color: #1843e2 !important;
    color: #fff !important;
    padding: 6px 16px 6px 12px !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: background .2s !important;
}
.header-bottom-nav > li.tc-mega-cats > a.nav-top-link:hover {
    background-color: #1232c0 !important;
}
/* Ícone hamburger antes do texto */
.header-bottom-nav > li.tc-mega-cats > a.nav-top-link::before {
    content: 2261 !important;
    font-size: 1.3em !important;
    line-height: 1 !important;
    font-style: normal !important;
    font-weight: 400 !important;
}
/* Ocultar a seta angle-down do Flatsome no botão CATEGORIAS */
.header-bottom-nav > li.tc-mega-cats > a.nav-top-link .icon-angle-down {
    display: none !important;
}

/* ===== TC: Ícones sociais no menu ===== */
.header-bottom-nav > li.tc-social-icon {
    margin-left: 2px !important;
}
.header-bottom-nav > li.tc-social-icon > a {
    padding: 0 6px !important;
    font-size: 1.1em !important;
    color: #fff !important;
    transition: opacity .2s, transform .2s !important;
    display: flex !important;
    align-items: center !important;
}
.header-bottom-nav > li.tc-social-icon > a:hover {
    opacity: .75 !important;
    transform: scale(1.15) !important;
}
/* Separador visual antes dos ícones sociais */
.header-bottom-nav > li.tc-social-facebook {
    margin-left: 12px !important;
    padding-left: 12px !important;
    border-left: 1px solid rgba(255,255,255,.35) !important;
}
/* ===== fim TC menu extras ===== */

/* TC: hamburger fix */
.header-bottom-nav > li.tc-mega-cats > a.nav-top-link::before {
    content: "☰" !important;
    font-size: 1.2em !important;
    font-family: sans-serif !important;
    font-weight: 400 !important;
    margin-right: 4px !important;
}

/* ===== TC: Cart icon color filter → #1843e2 ===== */
.cart-img-icon {
    filter: brightness(0) saturate(100%) invert(22%) sepia(93%) saturate(1500%) hue-rotate(218deg) brightness(95%) contrast(105%) !important;
}
/* ===== fim ===== */

/* ===== TC: Cart icon color filter v2 → #1843e2 ===== */
.cart-img-icon {
    filter: brightness(0) saturate(100%) invert(14%) sepia(92%) saturate(2765%) hue-rotate(221deg) brightness(94%) contrast(103%) !important;
}
/* ===== fim ===== */

/* ===== TC: Mini-cart popup — carrinho3 cor natural ===== */
.ux-mini-cart-empty-icon::before {
    background-image: url('/wp-content/uploads/2026/05/carrinho3.png') !important;
    filter: none !important;
    opacity: 1 !important;
}
/* ===== fim ===== */

/* ===== TC: Cart icon — cor branca ===== */
.cart-img-icon {
    filter: brightness(0) invert(1) !important;
}
/* ===== fim ===== */

/* ===== TC: Product cards — cantos arredondados + altura uniforme ===== */
.product-small .col-inner {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.07) !important;
    background: #fff !important;
    transition: box-shadow .25s, transform .25s !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.product-small .col-inner:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,.13) !important;
    transform: translateY(-3px) !important;
}
.product-small .box-image {
    border-radius: 12px 12px 0 0 !important;
    background: #f8f8f8 !important;
}
.product-small .box-image img {
    height: 200px !important;
    width: 100% !important;
    object-fit: contain !important;
    padding: 12px !important;
    background: #f8f8f8 !important;
}
.product-small .box-text {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 12px 14px 16px !important;
    border-top: 1px solid #f2f2f2 !important;
}
.image-tools.top.right {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    padding: 8px !important;
    align-items: flex-end !important;
}
.tc-wish-btn, .tc-cmp-btn {
    background: rgba(255,255,255,.92) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 34px !important; height: 34px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.18) !important;
    transition: background .2s, color .2s, transform .2s !important;
    padding: 0 !important;
    color: #999 !important;
}
.tc-wish-btn svg, .tc-cmp-btn svg { width: 15px !important; height: 15px !important; }
.tc-wish-btn:hover { color: #e74c3c !important; background: #fff !important; transform: scale(1.12) !important; }
.tc-wish-btn.tc-active svg { fill: #e74c3c !important; stroke: #e74c3c !important; color: #e74c3c !important; }
.tc-wish-btn.tc-active { color: #e74c3c !important; }
.tc-wish-btn.tc-pop { transform: scale(1.28) !important; }
.tc-cmp-btn:hover { color: #1843e2 !important; background: #fff !important; transform: scale(1.12) !important; }
.tc-cmp-btn.tc-active { color: #1843e2 !important; background: #eef2ff !important; }
.tc-cmp-btn.tc-active svg { stroke: #1843e2 !important; }
#tc-cmp-bar {
    position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 99999 !important;
    background: #fff !important; border-top: 2px solid #1843e2 !important;
    padding: 10px 24px !important;
    display: none; align-items: center !important; flex-wrap: wrap !important; gap: 8px !important;
    box-shadow: 0 -3px 18px rgba(0,0,0,.12) !important;
    transform: translateY(100%) !important;
    transition: transform .3s ease !important;
}
.tc-cmp-label { font-weight: 700; font-size: .88em; color: #1a1a1a; margin-right: 4px; white-space: nowrap; }
.tc-cmp-tag { background: #f0f4ff; border-radius: 20px; padding: 4px 10px 4px 14px; font-size: .82em; color: #1a1a1a; display: flex; align-items: center; gap: 6px; }
.tc-cmp-rm { background: none; border: none; cursor: pointer; color: #aaa; font-size: 1.1em; padding: 0; line-height: 1; }
.tc-cmp-rm:hover { color: #e74c3c; }
.tc-cmp-go { background: #1843e2; color: #fff !important; border-radius: 6px; padding: 8px 18px; text-decoration: none !important; font-size: .88em; font-weight: 700; margin-left: auto; transition: background .2s; }
.tc-cmp-go:hover { background: #1232c0 !important; }
.tc-cmp-hint { font-size: .82em; color: #999; margin-left: auto; }
#tc-cmp-clear { background: none; border: 1px solid #ddd; border-radius: 50%; width: 30px; height: 30px; cursor: pointer; color: #aaa; font-size: .85em; transition: border-color .2s, color .2s; }
#tc-cmp-clear:hover { border-color: #e74c3c; color: #e74c3c; }
/* ===== fim TC product cards ===== */

/* ===== TC: Product cards — correcção tamanho ===== */
/* Cartão com altura mínima igual à dos testemunhos */
.product-small .col-inner {
    border-radius: 14px !important;
    min-height: 420px !important;
}
/* Imagem mais alta para preencher o cartão proporcionalmente */
.product-small .box-image img {
    height: 240px !important;
}
/* Botões maiores */
.tc-wish-btn, .tc-cmp-btn {
    width: 38px !important;
    height: 38px !important;
}
/* Ícones SVG maiores */
.tc-wish-btn svg, .tc-cmp-btn svg {
    width: 18px !important;
    height: 18px !important;
}
/* ===== fim correcção ===== */

/* ===== TC: Product cards v2 — reset + apresentação profissional ===== */

/* Cartão base */
.product-small .col-inner {
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.07) !important;
    background: #fff !important;
    transition: box-shadow .25s, transform .25s !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
}
.product-small .col-inner:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,.13) !important;
    transform: translateY(-3px) !important;
}

/* Área da imagem — fundo branco limpo */
.product-small .box-image {
    border-radius: 14px 14px 0 0 !important;
    background: #fff !important;
    overflow: hidden !important;
}
.product-small .box-image img {
    height: 220px !important;
    width: 100% !important;
    object-fit: contain !important;
    padding: 18px !important;
    background: #fff !important;
    display: block !important;
}

/* Ocultar sobreposições da imagem (Quick View + ferramentas top-right) */
.product-small .image-tools.top.right,
.product-small .image-tools.bottom.left {
    display: none !important;
}
/* Manter apenas badges (Outlet, Novidade) e stock */
.product-small .image-tools:not(.top.right):not(.bottom.left):not([class*="badge"]) .quick-view {
    display: none !important;
}

/* Área de texto */
.product-small .box-text {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 14px 16px 16px !important;
    border-top: 1px solid #f0f0f0 !important;
}

/* Marca do produto */
.tc-brand-label {
    display: block !important;
    font-size: .7em !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
    color: #FF740F !important;
    margin-bottom: 5px !important;
    line-height: 1.2 !important;
}

/* Título */
.product-small .box-text .title-wrapper {
    flex: 1 !important;
}
.product-small .box-text .name.product-title a {
    font-size: .9em !important;
    color: #1a1a1a !important;
    line-height: 1.45 !important;
}

/* Preço */
.product-small .box-text .price-wrapper {
    margin-top: 6px !important;
}
.product-small .price {
    font-size: .95em !important;
    font-weight: 700 !important;
    color: #e63b1f !important;
}

/* Linha de ações — Favoritos + Comparar */
.tc-card-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
    padding-top: 10px !important;
    border-top: 1px solid #f0f0f0 !important;
}
.tc-wish-btn,
.tc-cmp-btn {
    background: #f5f5f5 !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: background .18s, border-color .18s, color .18s !important;
    padding: 0 !important;
    color: #999 !important;
    flex-shrink: 0 !important;
}
.tc-wish-btn svg,
.tc-cmp-btn svg {
    width: 16px !important;
    height: 16px !important;
}
.tc-wish-btn:hover {
    background: #fff0f0 !important;
    border-color: #e74c3c !important;
    color: #e74c3c !important;
    transform: none !important;
}
.tc-wish-btn.tc-active {
    background: #fff0f0 !important;
    border-color: #e74c3c !important;
    color: #e74c3c !important;
}
.tc-wish-btn.tc-active svg {
    fill: #e74c3c !important;
    stroke: #e74c3c !important;
}
.tc-wish-btn.tc-pop {
    transform: scale(1.18) !important;
}
.tc-cmp-btn:hover {
    background: #f0f4ff !important;
    border-color: #1843e2 !important;
    color: #1843e2 !important;
    transform: none !important;
}
.tc-cmp-btn.tc-active {
    background: #eef2ff !important;
    border-color: #1843e2 !important;
    color: #1843e2 !important;
}
.tc-cmp-btn.tc-active svg {
    stroke: #1843e2 !important;
}

/* Barra de comparação flutuante */
#tc-cmp-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    background: #fff !important;
    border-top: 2px solid #1843e2 !important;
    padding: 10px 24px !important;
    display: none;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    box-shadow: 0 -3px 18px rgba(0,0,0,.12) !important;
    transform: translateY(100%) !important;
    transition: transform .3s ease !important;
}
.tc-cmp-label { font-weight: 700; font-size: .88em; color: #1a1a1a; margin-right: 4px; white-space: nowrap; }
.tc-cmp-tag { background: #f0f4ff; border-radius: 20px; padding: 4px 10px 4px 14px; font-size: .82em; color: #1a1a1a; display: flex; align-items: center; gap: 6px; }
.tc-cmp-rm { background: none; border: none; cursor: pointer; color: #aaa; font-size: 1.1em; padding: 0; line-height: 1; }
.tc-cmp-rm:hover { color: #e74c3c; }
.tc-cmp-go { background: #1843e2; color: #fff !important; border-radius: 6px; padding: 8px 18px; text-decoration: none !important; font-size: .88em; font-weight: 700; margin-left: auto; transition: background .2s; }
.tc-cmp-go:hover { background: #1232c0 !important; }
.tc-cmp-hint { font-size: .82em; color: #999; margin-left: auto; }
#tc-cmp-clear { background: none; border: 1px solid #ddd; border-radius: 50%; width: 30px; height: 30px; cursor: pointer; color: #aaa; font-size: .85em; transition: border-color .2s, color .2s; flex-shrink: 0; }
#tc-cmp-clear:hover { border-color: #e74c3c; color: #e74c3c; }

/* ===== fim TC product cards v2 ===== */

/* ===== TC: Product cards v3 — alturas uniformes + botão carrinho ===== */

/* Grid: força todos os itens a esticarem para a mesma altura */
ul.products,
.woocommerce ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}
ul.products .product-small,
.woocommerce ul.products .product-small {
    display: flex !important;
    flex-direction: column !important;
}
ul.products .product-small .col-inner,
.woocommerce ul.products .product-small .col-inner {
    flex: 1 !important;
    min-height: 0 !important;
    height: auto !important;
}

/* Área de texto: título ocupa espaço disponível, preço e acções ficam no fundo */
.product-small .box-text {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
}
.product-small .box-text .title-wrapper {
    flex: 1 !important;
}
.product-small .box-text .price-wrapper {
    margin-top: 6px !important;
}

/* Botão de carrinho */
.tc-cart-btn {
    background: #FF740F !important;
    border: 1px solid #FF740F !important;
    border-radius: 8px !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    text-decoration: none !important;
    color: #fff !important;
    transition: background .18s, border-color .18s, transform .15s !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
}
.tc-cart-btn svg {
    width: 16px !important;
    height: 16px !important;
    stroke: #fff !important;
}
.tc-cart-btn:hover {
    background: #e06200 !important;
    border-color: #e06200 !important;
    transform: scale(1.1) !important;
    color: #fff !important;
}
/* Estado "adicionado" (WooCommerce adiciona classe após AJAX) */
.tc-cart-btn.added svg {
    fill: #fff !important;
}

/* ===== fim TC product cards v3 ===== */

/* ===== TC: Product cards v4 — altura fixa imagem + reset completo ===== */

/* Caixa da imagem: altura FIXA, esconde tudo o que extravasa */
.product-small .box-image {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    overflow: hidden !important;
    position: relative !important;
    flex-shrink: 0 !important;
    background: #fff !important;
}
/* Imagem principal ocupa toda a caixa */
.product-small .box-image img {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 16px !important;
    background: #fff !important;
}
/* Link dentro da box-image preenche tudo */
.product-small .box-image > a,
.product-small .box-image .product-image-link {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}
/* ===== fim v4 ===== */

/* ===== TC: Product cards v5 — neutralizar regras conflituosas de altura ===== */

/* Remover qualquer height fixo anterior no col-inner para o JS ter controlo total */
.product-small .col-inner {
    height: auto;
    min-height: 0;
}
ul.products .product-small .col-inner,
.woocommerce ul.products .product-small .col-inner {
    height: auto;
    min-height: 0;
    flex: unset;
}

/* ===== fim v5 ===== */

/* ===== TC: Setas de carousel — fora do conteúdo, estilo subtil ===== */

/* Permitir que as setas apareçam fora do limite do row/slider */
.slider > .row-inner,
.row.slider > .row-inner,
.flickity-enabled.slider {
    overflow: visible !important;
}
/* O viewport do flickity mantém overflow:hidden (não alterar — quebra o slider) */

/* Reposicionar setas para fora dos produtos */
.slider .flickity-prev-next-button.previous {
    left: -20px !important;
    transform: translateY(-50%) !important;
}
.slider .flickity-prev-next-button.next {
    right: -20px !important;
    transform: translateY(-50%) !important;
}
.slider:hover .flickity-prev-next-button.previous {
    transform: translateY(-50%) !important;
}
.slider:hover .flickity-prev-next-button.next {
    transform: translateY(-50%) !important;
}

/* Estilo — círculo escuro subtil, igual ao banner */
.slider .flickity-prev-next-button {
    width: 40px !important;
    height: 40px !important;
    top: 50% !important;
    background: rgba(30,30,30,.65) !important;
    border-radius: 50% !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.22) !important;
    opacity: 1 !important;
    transition: background .2s, box-shadow .2s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.slider .flickity-prev-next-button:hover {
    background: rgba(10,10,10,.85) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.3) !important;
    transform: translateY(-50%) !important;
}

/* Ícone SVG branco */
.slider .flickity-prev-next-button svg {
    fill: #fff !important;
    width: 14px !important;
    height: 14px !important;
}

/* Garantir que as setas ficam centradas verticalmente (ignorar top:40% do tema) */
.slider .flickity-prev-next-button {
    top: 50% !important;
    bottom: auto !important;
    margin-top: 0 !important;
}

/* ===== fim setas ===== */

/* ===== TC: Setas carousel v2 — completamente fora dos produtos ===== */

/* Criar espaço lateral no wrapper do slider para as setas não tocarem nos produtos */
.slider.row,
.row.slider {
    padding-left: 48px !important;
    padding-right: 48px !important;
    box-sizing: border-box !important;
}

/* Posicionar setas no espaço criado (0 = borda do padding, fora dos produtos) */
.slider .flickity-prev-next-button.previous {
    left: 4px !important;
    transform: translateY(-50%) !important;
}
.slider .flickity-prev-next-button.next {
    right: 4px !important;
    transform: translateY(-50%) !important;
}
.slider:hover .flickity-prev-next-button.previous,
.slider:hover .flickity-prev-next-button.next {
    transform: translateY(-50%) !important;
}

/* Estilo idêntico às setas das categorias — círculo cinzento subtil */
.slider .flickity-prev-next-button {
    width: 38px !important;
    height: 38px !important;
    top: 50% !important;
    bottom: auto !important;
    background: rgba(80,80,80,.55) !important;
    border-radius: 50% !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.18) !important;
    opacity: 1 !important;
    transition: background .2s !important;
}
.slider .flickity-prev-next-button:hover {
    background: rgba(30,30,30,.8) !important;
    transform: translateY(-50%) !important;
}
.slider .flickity-prev-next-button svg {
    fill: #fff !important;
    width: 13px !important;
    height: 13px !important;
}

/* ===== fim setas v2 ===== */

/* ===== TC: Setas carousel v3 — fundo claro, seta escura visível ===== */
.slider .flickity-prev-next-button {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,.10) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
}
.slider .flickity-prev-next-button:hover {
    background: #f5f5f5 !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.18) !important;
}
.slider .flickity-prev-next-button svg {
    fill: #444 !important;
}
/* ===== fim v3 ===== */

/* ===== TC: Setas carousel v5 — fix definitivo ===== */

/* Botão: fundo branco, seta escura via currentColor */
.slider .flickity-prev-next-button {
    background: #fff !important;
    border: 1px solid rgba(0,0,0,.10) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.14) !important;
    color: #444 !important;
}
.slider .flickity-prev-next-button:hover {
    background: #f5f5f5 !important;
    color: #111 !important;
}

/* SVG: resetar fill/stroke para currentColor — NÃO mexer no tamanho ou posição */
.slider .flickity-prev-next-button svg,
.slider .flickity-prev-next-button svg path,
.slider .flickity-prev-next-button .flickity-button-icon {
    fill: currentColor !important;
    stroke: none !important;
    color: inherit !important;
    /* remover overrides de tamanho anteriores */
    width: unset !important;
    height: unset !important;
    position: absolute !important;
    left: 20% !important;
    top: 20% !important;
}

/* ===== fim v5 ===== */

/* ===== TC: Ocultar botão add-to-cart da imagem (grid-tools) ===== */
.product-small .image-tools.grid-tools {
    display: none !important;
}
/* ===== fim ===== */

/* ===== TC: Ocultar dots de paginação do slider de produtos ===== */
.slider .flickity-page-dots,
.products .flickity-page-dots {
    display: none !important;
}
/* ===== fim ===== */

/* ===== TC: Setas slider — correcção definitiva ===== */

/* Remover o círculo branco do SVG interno (slider-nav-circle) */
.slider-nav-circle .flickity-prev-next-button svg,
.slider-nav-circle .flickity-prev-next-button .flickity-button-icon,
.slider .flickity-prev-next-button svg,
.slider .flickity-prev-next-button .flickity-button-icon {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    fill: currentColor !important;
    width: 60% !important;
    height: 60% !important;
    position: absolute !important;
    left: 20% !important;
    top: 20% !important;
}

/* Botão: círculo branco limpo com seta visível */
.slider .flickity-prev-next-button {
    width: 38px !important;
    height: 38px !important;
    background: #fff !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,.12) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.14) !important;
    color: #444 !important;
    opacity: 1 !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
}
.slider:hover .flickity-prev-next-button {
    transform: translateY(-50%) !important;
}
.slider .flickity-prev-next-button:hover {
    background: #f5f5f5 !important;
    color: #111 !important;
    transform: translateY(-50%) !important;
}
.slider .flickity-prev-next-button.previous {
    left: 4px !important;
}
.slider .flickity-prev-next-button.next {
    right: 4px !important;
}

/* ===== fim ===== */

/* ===== TC: Setas carousel v6 — eliminar duplicados do .slider interno ===== */

/* Esconder os botões gerados dentro do .slider (duplicados) */
.slider > .flickity-prev-next-button {
    display: none !important;
}

/* Estilizar apenas os botões do .row exterior (os correctos) */
.row:not(.slider) > .flickity-prev-next-button {
    width: 38px !important;
    height: 38px !important;
    background: #fff !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,.12) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.13) !important;
    color: #444 !important;
    opacity: 1 !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    padding: 0 !important;
}
.row:not(.slider) > .flickity-prev-next-button:hover {
    background: #f0f0f0 !important;
    color: #111 !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.2) !important;
}
.row:not(.slider) > .flickity-prev-next-button svg,
.row:not(.slider) > .flickity-prev-next-button .flickity-button-icon {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    fill: currentColor !important;
    width: 60% !important;
    height: 60% !important;
    position: absolute !important;
    left: 20% !important;
    top: 20% !important;
}
.row:not(.slider) > .flickity-prev-next-button.previous {
    left: 4px !important;
    transform: translateY(-50%) !important;
}
.row:not(.slider) > .flickity-prev-next-button.next {
    right: 4px !important;
    transform: translateY(-50%) !important;
}

/* ===== fim v6 ===== */

/* ===== TC: Setas slider — reset total + estilo definitivo ===== */

/* 1. Cancelar o display:none anterior */
.slider > .flickity-prev-next-button {
    display: flex !important;
}

/* 2. Estilo do botão — círculo branco subtil */
.slider .flickity-prev-next-button {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    background: #fff !important;
    border-radius: 50% !important;
    border: 1px solid rgba(0,0,0,.13) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,.12) !important;
    color: #555 !important;
    opacity: 1 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .2s, box-shadow .2s !important;
}
.slider .flickity-prev-next-button:hover {
    background: #f0f0f0 !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.18) !important;
    color: #111 !important;
    transform: translateY(-50%) !important;
}
.slider:hover .flickity-prev-next-button {
    opacity: 1 !important;
    transform: translateY(-50%) !important;
}

/* 3. Posição fora dos produtos (dentro do padding de 48px) */
.slider .flickity-prev-next-button.previous {
    left: 4px !important;
    right: auto !important;
}
.slider .flickity-prev-next-button.next {
    right: 4px !important;
    left: auto !important;
}

/* 4. Ícone SVG — seta escura visível */
.slider .flickity-prev-next-button svg,
.slider .flickity-prev-next-button .flickity-button-icon {
    position: absolute !important;
    left: 20% !important;
    top: 20% !important;
    width: 60% !important;
    height: 60% !important;
    fill: currentColor !important;
    color: inherit !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* 5. Remover o círculo extra do slider-nav-circle */
.slider-nav-circle .flickity-prev-next-button svg {
    border: none !important;
    border-radius: 0 !important;
}

/* ===== fim ===== */

/* ===== Eliminar TODOS os botões nativos do Flickity — máxima especificidade ===== */
button.flickity-button.flickity-prev-next-button.previous,
button.flickity-button.flickity-prev-next-button.next {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}
/* ===== fim ===== */

/* ===== Restaurar botões Flickity nos sliders NÃO-produto (banner, etc.) ===== */
/* Anular o display:none global — apenas sliders sem produtos ficam visíveis */
.slider:not(:has(.product-small)):not(:has(.products)) button.flickity-button.flickity-prev-next-button.previous,
.slider:not(:has(.product-small)):not(:has(.products)) button.flickity-button.flickity-prev-next-button.next {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 36px !important;
    height: 36px !important;
}
/* ===== fim ===== */

/* ===== TC: Setas v7 — design limpo laranja, pontinhos centralizados ===== */

/* 1. Remover padding que comprimia os produtos */
.slider.row,
.row.slider {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 2. Anular o kill global anterior — restaurar TODOS os botões Flickity */
button.flickity-button.flickity-prev-next-button.previous,
button.flickity-button.flickity-prev-next-button.next {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 44px !important;
    height: 44px !important;
    overflow: visible !important;
}

/* 3. Esconder apenas os duplicados do .slider interior (Flatsome init duplo) */
.slider > .flickity-prev-next-button {
    display: none !important;
}

/* 4. Estilo clean: sem fundo, sem borda, seta laranja */
.flickity-prev-next-button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: #FF740F !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    padding: 0 !important;
    transition: color .15s !important;
}
.flickity-prev-next-button:hover {
    background: transparent !important;
    color: #cc5500 !important;
    box-shadow: none !important;
    transform: translateY(-50%) !important;
}
.flickity-prev-next-button:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* 5. SVG icon — laranja, sem artefactos de border-radius */
.flickity-prev-next-button svg,
.flickity-prev-next-button .flickity-button-icon {
    fill: currentColor !important;
    color: inherit !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    width: 60% !important;
    height: 60% !important;
    position: absolute !important;
    left: 20% !important;
    top: 20% !important;
}

/* 6. Posição das setas nas margens do carrossel */
.flickity-prev-next-button.previous {
    left: 2px !important;
    right: auto !important;
}
.flickity-prev-next-button.next {
    right: 2px !important;
    left: auto !important;
}

/* 7. Page dots — pontinhos centralizados, activo laranja */
.flickity-page-dots {
    display: flex !important;
    position: relative !important;
    bottom: auto !important;
    margin-top: 14px !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 !important;
    list-style: none !important;
    line-height: 1 !important;
}
.flickity-page-dots .dot {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    margin: 0 4px !important;
    background: #ccc !important;
    border-radius: 50% !important;
    opacity: 1 !important;
    cursor: pointer !important;
    border: none !important;
    box-shadow: none !important;
    transition: background .2s !important;
}
.flickity-page-dots .dot.is-selected {
    background: #FF740F !important;
    opacity: 1 !important;
}

/* ===== fim v7 ===== */

/* ===== TC: Setas v7b — override slider-nav-reveal (Flatsome) ===== */

/* 1. Permitir que as setas fiquem visíveis fora do container do carrossel */
.row.slider.slider-nav-reveal {
    overflow: visible !important;
}

/* 2. Estilo definitivo — especificidade 0,2,0 igual à do Flatsome, carregado depois = vence */
.row.slider .flickity-prev-next-button,
.row.slider .flickity-prev-next-button:hover,
.slider-nav-reveal .flickity-prev-next-button,
.slider-nav-reveal .flickity-prev-next-button:hover,
.slider-nav-push .flickity-prev-next-button {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    color: #FF740F !important;
    opacity: 1 !important;
    padding: 0 !important;
    top: 50% !important;
    bottom: auto !important;
    width: 44px !important;
    height: 44px !important;
}

/* 3. Transformação — manter centrado verticalmente, anular o translate lateral do reveal */
.row.slider .flickity-prev-next-button,
.row.slider .flickity-prev-next-button:hover,
.slider-nav-reveal .flickity-prev-next-button,
.slider-nav-reveal .flickity-prev-next-button:hover {
    transform: translateY(-50%) !important;
}

/* 4. Posições corretas */
.row.slider .flickity-prev-next-button.previous,
.slider-nav-reveal .flickity-prev-next-button.previous {
    left: 2px !important;
    right: auto !important;
    transform: translateY(-50%) !important;
}
.row.slider .flickity-prev-next-button.next,
.slider-nav-reveal .flickity-prev-next-button.next {
    right: 2px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
}

/* 5. SVG — laranja puro, sem artefactos do slider-nav-circle */
.row.slider .flickity-prev-next-button svg,
.row.slider .flickity-prev-next-button .flickity-button-icon,
.slider-nav-reveal .flickity-prev-next-button svg,
.slider-nav-reveal .flickity-prev-next-button .flickity-button-icon,
.slider-nav-circle .flickity-prev-next-button svg,
.slider-nav-circle .flickity-prev-next-button .flickity-button-icon {
    fill: currentColor !important;
    color: inherit !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}

/* ===== fim v7b ===== */

/* ===== TC: Setas v7c — maiores, posicionadas em baixo fora das imagens ===== */

/* Mover setas para baixo do carrossel e aumentar tamanho */
.row.slider .flickity-prev-next-button,
.row.slider .flickity-prev-next-button:hover,
.slider-nav-reveal .flickity-prev-next-button,
.slider-nav-reveal .flickity-prev-next-button:hover {
    top: auto !important;
    bottom: -28px !important;
    transform: none !important;
    width: 56px !important;
    height: 56px !important;
}

.row.slider .flickity-prev-next-button.previous,
.slider-nav-reveal .flickity-prev-next-button.previous {
    left: 0 !important;
    right: auto !important;
    transform: none !important;
}
.row.slider .flickity-prev-next-button.next,
.slider-nav-reveal .flickity-prev-next-button.next {
    right: 0 !important;
    left: auto !important;
    transform: none !important;
}

/* ===== fim v7c ===== */

/* ===== TC: KILL ALL — eliminar TODAS as setas de todos os carrosséis ===== */
.flickity-prev-next-button,
button.flickity-button.flickity-prev-next-button,
button.flickity-button.flickity-prev-next-button.previous,
button.flickity-button.flickity-prev-next-button.next,
.row.slider .flickity-prev-next-button,
.slider-nav-reveal .flickity-prev-next-button,
.slider-nav-push .flickity-prev-next-button,
.tc-fl-prev,
.tc-fl-next {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}
/* ===== fim kill all ===== */

/* ===== TC: KILL ALL v2 — especificidade máxima para todos os seletores Flatsome ===== */
.slider .flickity-prev-next-button,
.slider:hover .flickity-prev-next-button,
.slider-nav-reveal .flickity-prev-next-button,
.slider-nav-circle .flickity-prev-next-button,
.slider-nav-normal .flickity-prev-next-button,
.slider-nav-light .flickity-prev-next-button,
.slider-nav-push .flickity-prev-next-button,
.row.slider .flickity-prev-next-button,
.slider-wrapper .flickity-prev-next-button,
.slider-nav-outside .flickity-prev-next-button,
.slider .flickity-prev-next-button.previous,
.slider .flickity-prev-next-button.next,
.slider:hover .flickity-prev-next-button.previous,
.slider:hover .flickity-prev-next-button.next {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}
/* ===== fim kill all v2 ===== */

/* ===== TC: KILL ALL v3 — botões customizados (Marcas, Testemunhos, Categorias) ===== */
.tc-cat-btn,
.tc-ts-btn,
.tc-ts-prev,
.tc-ts-next,
.tc-fl-prev,
.tc-fl-next {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -9999px !important;
}
/* ===== fim kill all v3 ===== */

/* ===== TC: Eliminar pontos nativos Flickity (usamos os nossos) ===== */
.flickity-page-dots,
.slider .flickity-page-dots,
.slider-wrapper .flickity-page-dots {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    overflow: hidden !important;
}
/* ===== fim ===== */

/* ===== TC: Arredondar cantos — Search, Cart buttons, Newsletter ===== */

/* 1. Barra de pesquisa — dobro do comprimento + cantos arredondados */
.searchform-wrapper {
    min-width: 420px !important;
    width: 420px !important;
}
.search-field,
.searchform-wrapper input[type=search],
.searchform-wrapper input[type=text] {
    border-radius: 10px 0 0 10px !important;
    min-width: 340px !important;
}
.ux-search-submit,
.searchform-wrapper .submit-button {
    border-radius: 0 10px 10px 0 !important;
}

/* 2. Botões do mini-carrinho — cantos arredondados */
.woocommerce-mini-cart__buttons a.button,
.woocommerce-mini-cart__buttons a.checkout,
.woocommerce-mini-cart__buttons .button {
    border-radius: 10px !important;
}

/* 3. Botão Newsletter SUBSCREVER */
.tc-nl-form button,
.tc-nl-form input[type=submit],
.tc-nl button[type=submit],
#tc-nl-form button,
section .tc-nl button {
    border-radius: 10px !important;
}

/* ===== fim ===== */

/* ===== TC: Newsletter — alinhar altura botão com input ===== */
#tc-nl-form button[type=submit],
.tc-nl button[type=submit].button {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    line-height: 1 !important;
    font-size: .9em !important;
}
/* ===== fim ===== */

/* ===== TC: Product image — fix altura da cadeia wrapper para evitar corte ===== */

/* Garantir que todos os wrappers dentro de box-image têm altura 100% */
.product-small .box-image .image-fade_in_back,
.product-small .box-image .image-fade_in_back > a,
.product-small .box-image > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}

/* Imagem principal — object-fit:contain garante sem corte, em qualquer proporção */
.product-small .box-image img.attachment-woocommerce_thumbnail,
.product-small .box-image img:first-of-type,
.product-small .box-image .wp-post-image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding: 14px !important;
    background: #fff !important;
}

/* ===== fim fix imagem produto ===== */

/* ===== TC: Product image v8 — abordagem flex, sem position:absolute ===== */

/* Caixa da imagem: flex container */
.product-small .box-image {
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
    padding: 12px !important;
    box-sizing: border-box !important;
}

/* Toda a cadeia de wrappers: flex, sem altura fixa que corte */
.product-small .box-image .image-fade_in_back {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    position: static !important;
}

.product-small .box-image .image-fade_in_back > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
}

/* Imagem principal: tamanho automático, contida sem corte */
.product-small .box-image img.attachment-woocommerce_thumbnail,
.product-small .box-image img.wp-post-image,
.product-small .box-image .image-fade_in_back > a > img:first-child {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 194px !important;
    object-fit: contain !important;
    padding: 0 !important;
    display: block !important;
}

/* Esconder a imagem de hover (back-image) no estado normal */
.product-small .box-image img.back-image {
    display: none !important;
}

/* ===== fim v8 ===== */

/* ===== TC: Product image v9 — centralização por line-height, sem flex ===== */

/* Caixa: bloco simples, altura fixa */
.product-small .box-image {
    display: block !important;
    height: 220px !important;
    min-height: 220px !important;
    max-height: 220px !important;
    overflow: hidden !important;
    position: relative !important;
    background: #fff !important;
    padding: 0 !important;
    text-align: center !important;
}

/* Wrapper e link: altura explícita + line-height para centrar verticalmente */
.product-small .box-image .image-fade_in_back {
    display: block !important;
    width: 100% !important;
    height: 220px !important;
}

.product-small .box-image .image-fade_in_back > a {
    display: block !important;
    width: 100% !important;
    height: 220px !important;
    line-height: 220px !important;
    text-align: center !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Imagem principal: inline-block para beneficiar do line-height */
.product-small .box-image img.attachment-woocommerce_thumbnail,
.product-small .box-image img.wp-post-image {
    display: inline-block !important;
    vertical-align: middle !important;
    max-height: 196px !important;
    max-width: calc(100% - 24px) !important;
    width: auto !important;
    height: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    padding: 0 !important;
    object-fit: contain !important;
}

/* Esconder TODAS as imagens secundárias (back-image, hover, aria-hidden) */
.product-small .box-image img.back-image,
.product-small .box-image img[aria-hidden=true],
.product-small .box-image img.show-on-hover {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
}

/* ===== fim v9 ===== */

/* ===== TC: Product image v10 — fix corte lateral ===== */

/* Imagem principal: width 100% com object-fit:contain para não cortar */
.product-small .box-image img.attachment-woocommerce_thumbnail,
.product-small .box-image img.wp-post-image {
    display: block !important;
    width: 100% !important;
    height: 196px !important;
    max-width: 100% !important;
    max-height: 196px !important;
    object-fit: contain !important;
    object-position: center center !important;
    vertical-align: middle !important;
    position: relative !important;
    top: auto !important; left: auto !important;
    padding: 12px !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
}

/* ===== fim v10 ===== */

/* ===== TC: Botões páginas produto — cantos arredondados ===== */
.single_add_to_cart_button,
#review_form #submit,
.woocommerce-review-link,
.woocommerce .single_add_to_cart_button.button,
p.cart .button {
    border-radius: 10px !important;
}
/* ===== fim ===== */

/* ===== TC: Badge Esgotado — cor laranja da marca ===== */
.product-small .badge-sold-out,
.product-small .sold-out,
.woocommerce span.onsale,
.product .out-of-stock,
.out-of-stock,
.badge-sold-out,
.stock.out-of-stock,
mark.sold-out,
.product-label.sold-out,
[class*=sold-out],
[class*=esgotado] {
    color: #ff740f !important;
    border-color: #ff740f !important;
}
/* ===== fim ===== */

/* ===== TC: Badge Esgotado — selector correcto, cor laranja ===== */
.out-of-stock-label {
    color: #ff740f !important;
    border-color: #ff740f !important;
    background: rgba(255, 116, 15,0.08) !important;
}
/* ===== fim ===== */

/* ===== TC: Badge Esgotado — fundo laranja, texto azul ===== */
.out-of-stock-label {
    background: #ff740f !important;
    color: #1843e2 !important;
    border-color: #ff740f !important;
}
/* ===== fim ===== */

/* ===== TC: Carimbo Produto Esgotado — substituir badge por imagem ===== */

/* Esconder o badge de texto anterior */
.out-of-stock-label {
    display: none !important;
}

/* Carimbo sobreposto na imagem do produto esgotado */
.out-of-stock .product-small .box-image::after,
li.out-of-stock .box-image::after,
.product-small.out-of-stock .box-image::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 75% !important;
    max-width: 180px !important;
    aspect-ratio: 238 / 153 !important;
    background-image: url('http://185.166.39.17/wp-content/uploads/2026/05/produto-esgotado.png') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    z-index: 5 !important;
    pointer-events: none !important;
    opacity: 0.92 !important;
}

/* ===== fim carimbo esgotado ===== */


/* hide duplicate absolute-footer */
.absolute-footer { display: none !important; }