*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Helps prevent accidental horizontal scrollbars */
}

body {
    font-family: inherit;
}

.loader {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: url('../images/ajax-loader.gif') 50% 50% no-repeat rgb(249,249,249);
	opacity: .5;
}

/* Área fixa no topo */
.top-marquee-img {
    width: 100%;
    height: 60px;
    overflow: hidden;
    background: #000; /* ou #fff – mas preto evita micro-falhas de recorte */
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
    border: 0; /* remove linha branca */
}

.marquee-track-img {
    display: flex;
    white-space: nowrap;
    animation: marquee-img 60s linear infinite; /* velocidade ajustada */
}

.top-marquee-img img {
    height: 60px;
    margin: 0; /* sem espaço entre imagens */
    padding: 0;
    display: block;
}

/* Animação infinita */
@keyframes marquee-img {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/*Banner da página*/
.slider {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.slides {
    display: flex;
    transition: transform 0.6s ease;
}

.slide {
    min-width: 100%;
}

.slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.banner-mobile {
    display: none;
}

/* bolinhas */
.dots {
    position: absolute;
    bottom: 15px;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #fff;
    cursor: pointer;
}

.dot.active {
    background: #fff;
}

/*Termina banner da página*/

/*Títulos das páginas*/
.titulo-pagina {
    font-family: "Poppins", sans-serif;
    font-size: 26px;
    font-weight: 600;
    color: #222;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 15px;
}

/* Linhas */
.titulo-pagina::before,
.titulo-pagina::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #ccc;
}

/* Espaço entre texto e linhas */
.titulo-pagina::before {
    margin-right: 10px;
}

.titulo-pagina::after {
    margin-left: 10px;
}

/* Subtítulo */
.subtitulo-pagina {
    font-family: "Poppins", sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #555;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
    display: inline-block;
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
}

/* Animação leve nos emojis */
.emoji {
    display: inline-block;
    animation: pulse 1.8s infinite ease-in-out;
}

.emoji.delay {
    animation-delay: .4s;
}

/* Fade-in */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Pulse suave */
@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.18); }
}


.wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

input.is-invalid,
textarea.is-invalid,
select.is-invalid {
  border: 2px solid red !important;
  border-radius: 4px;
  background-color: #fff5f5;
}

.is-invalid {
    border-color: #dc3545 !important;
}

.invalid-feedback {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 4px;
}

.cart-icon {
  position: relative;
}

.cart-count {
  position: absolute;
  top: 2px;
  right: 0px;
  background-color: #e76409;
  color: white;
  font-size: 12px;
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 50%;
  line-height: 1;
}

/* Navbar customizado */
.navbar {
	background-color: #141412 !important;
}

.navbar-dark .navbar-toggler-icon{
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23fff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-nav .nav-link,
.navbar-brand,
.dropdown-item {
	color: #fff !important;
	font-size: 14px;
	font-weight: bold;
}

.dropdown-menu {
	background-color: #fff;
}

.dropdown-menu .dropdown-item {
	color: #000 !important;
}

/* Submenu */
.dropdown-submenu {
	position: relative;
}

.dropdown-submenu > .dropdown-menu {
	top: 0;
	left: 100%;
	margin-top: -1px;
	display: none;
	position: absolute;
}

.dropdown-submenu:hover > .dropdown-menu {
	display: block;
}

.dropdown-submenu > .dropdown-toggle::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    margin-left: 8px;
    border-top: 0.3em solid transparent;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid #000;
}

/* Exibe o dropdown principal ao passar o mouse */
.navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
    margin-top: 0; /* evita deslocamento ao abrir */
}

.mobile-search-bar {
  padding: 15px;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}

.mobile-search-bar form {
  position: relative;
}

.mobile-search-bar input[type="text"] {
  width: 100%;
  padding: 10px 40px 10px 15px; /* espaço à direita para o ícone */
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

.mobile-nav {
  background-color: #fff; /* fundo branco */
  color: #000; /* texto preto */
  position: fixed;
  top: 0;
  left: 0;
  width: 280px;
  height: 100vh;
  z-index: 1050;
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
  box-shadow: 2px 0 8px rgba(0,0,0,0.15);
}

.mobile-nav.show {
  transform: translateX(0);
}

.mobile-nav-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Exemplo de fundo semi-transparente */
    z-index: 999; /* Certifique-se que esteja acima de outros elementos */
    display: none; /* Por padrão oculto */
}

.mobile-nav-overlay.show {
    display: block; /* Ou visibility: visible; opacity: 1; etc. */
}

/* Textos e links */
.mobile-nav-inner,
.mobile-menu a {
  color: #000 !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

/* Itens do menu */
.mobile-menu > li {
  background-color: #fff; /* fundo tipo submenu */
  border-bottom: 1px solid #ddd;
  padding: 12px 20px;
}

/* Itens com submenu */
.mobile-menu .has-submenu > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mobile-menu li.has-submenu > a {
  position: relative;
  padding-right: 20px; /* espaço pra seta */
}

.mobile-menu li.has-submenu > a::after {
  content: "▸"; /* seta apontando para a direita */
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #000;
  pointer-events: none; /* evita que a seta interfira no clique */
}

.mobile-menu li.has-submenu.open > a::after {
  content: "▾"; /* seta para baixo quando aberto */
}
/* Submenu */
.mobile-menu .submenu {
  background-color: #fff; /* mesma cor do item */
  padding-left: 15px;
  display: none;
  list-style: none;
  margin: 0;
}

.mobile-menu,
.mobile-menu ul {
  list-style: none; /* remove as bolinhas */
  padding-left: 0;  /* remove o recuo padrão */
  margin-left: 0;   /* remove margem se houver */
}

.mobile-menu .has-submenu.open > .submenu {
  display: block;
}

/* Links submenu */
.mobile-menu .submenu li {
  padding: 10px 20px;
  border-bottom: 1px solid #ddd;
}

.mobile-menu .submenu li a {
  color: #000 !important;
}

.mobile-menu li.active,
.mobile-menu .submenu li.active {
  background-color: #f0f0f0; /* Fundo destacado */
  border-left: 4px solid #000; /* Barra indicadora à esquerda */
}

/* Botão fechar */
.close-btn {
  background: transparent;
  border: none;
  font-size: 30px;
  color: #000;
  padding: 10px 20px;
  cursor: pointer;
}

.img-topo {
    width: 100%;
    height: 204px;
    background: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}

.img-logo{
    width: 200px;
    height: 82px;
    background-image: url('../images/logo.png');
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
}

/* SEARCH NO CABEÇALHO */
.search-bar {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 700px;
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 7px;
    background-color: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    margin-left: 40px;
    z-index: 2; /* garante que fique acima do restante */
}

.search-input {
    flex: 1;
    border: none;
    padding: 12px 45px 12px 15px;
    font-size: 16px;
    outline: none;
    background: transparent;
    border-radius: 10px;
}

/* RESULTADOS DO SEARCH */
.search-results {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 10px 10px; /* 🔹 arredonda embaixo */
    padding: 12px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 1;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    max-height: 400px;
    overflow-y: auto;
    clip-path: inset(0 round 0 0 10px 10px); /* 🔥 garante o raio no overflow */
}

/*Mune filter celular */
.mobile-search-bar {
    position: relative; /* 🔹 necessário para a posição absoluta da lupa funcionar */
    display: flex;
    align-items: center;
}

#menuFilter {
    width: 100%;
    padding: 10px 38px 10px 12px; /* mais espaço à direita pra não sobrepor a lupa */
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 15px;
    outline: none;
}

#menuFilter:focus {
    border-color: #999;
}

.search-icon {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%); /* 🔹 centraliza verticalmente */
    font-size: 18px;
    color: #666;
    pointer-events: none; /* evita bloquear clique no campo */
}

/* ITEM INDIVIDUAL */
.result-item {
    display: flex;
    align-items: center;
    background: #fafafa;
    border-radius: 8px;
    padding: 8px;
    cursor: pointer;
    transition: background 0.2s;
}

.result-item:hover {
    background: #f0f0f0;
}

.result-item img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
    margin-right: 8px;
}

.result-info {
    flex: 1;
    font-size: 13px;
    color: #333;
    font-weight: bold;
}

.result-info .preco {
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.preco-original {
    text-decoration: line-through;
    color: rgba(0,0,0,0.4);
    font-size: 14px;
}

.preco-desconto {
    color: #e76409;
    font-weight: 600;
    font-size: 16px;
}

.preco-normal {
    color: #333;
    font-weight: 600;
    font-size: 15px;
}

/* LINHA FINAL — VER TODOS OS RESULTADOS */
.ver-todos {
    grid-column: 1 / -1; /* ocupa as 2 colunas */
    text-align: center;
    padding: 10px;
    background: #f8f8f8;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    color: #e76409;
    transition: background 0.2s;
}

.ver-todos:hover {
    background: #f0f0f0;
}

/*BREADCRUMBS*/
.breadcrumb-wrapper {
  flex: 1 1 auto;
  min-width: 0;
  margin-right: 0.5rem;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  display: flex;
  align-items: center;
  background-color: transparent !important;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: transparent !important;
}

.breadcrumb li {
  margin-right: 0.5rem;
  white-space: normal;
  word-break: break-word;
  display: flex;
  align-items: center;
  background-color: transparent !important;
}

.breadcrumb li:not(:last-child)::after {
  content: '/';
  margin: 0 8px;
  color: #ccc;
}

.breadcrumb a {
  text-decoration: none;
  color: #888;
  background-color: transparent !important;
  transition: color 0.2s ease;
}

.breadcrumb a:hover {
  color: #444;
}

.breadcrumb .current {
  color: #000;
  font-weight: bold;
  background-color: transparent !important;
}

/*PAGINAÇÃO CATEGORIA*/
/* Container da paginação */
.pagination-wrapper {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 20px;
}

/* Botões da paginação */
.pagination-wrapper .page-btn {
    background-color: #f5f5f5;
    color: #333;
    border: 1px solid #ddd;
    padding: 8px 14px;
    cursor: pointer;
    font-size: 14px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

/* Hover */
.pagination-wrapper .page-btn:hover {
    background-color: #e76409;
    color: #fff;
    border-color: #e76409;
}

/* Página ativa */
.pagination-wrapper .page-btn.active {
    background-color: #e76409;
    color: #fff;
    border-color: #e76409;
    font-weight: bold;
}

#mostruario .loading-wrapper {
    display: flex;
    justify-content: center; /* centraliza horizontal */
    width: 100%;
    min-height: 300px;       /* ou altura desejada da área de produtos */
    font-size: 20px;
    font-weight: 500;
    text-align: center;
}


/* Botões "Anterior" e "Próximo" podem ter estilo ligeiramente diferente */
.pagination-wrapper .page-btn:first-child,
.pagination-wrapper .page-btn:last-child {
    font-weight: bold;
}

#quickViewModal .modal-dialog {
    max-width: 1142px;      /* largura máxima */
    margin: 1.5rem auto;    /* espaçamento padrão em volta */
    width: calc(100% - 2rem); /* garante que nunca encoste nas bordas */
}

#quickViewModal .modal-body {
    padding: 0;      /* remove padding interno */
}

#quickViewModal .modal-content {
    border-radius: 10px; /* apenas cantos superiores */
}

/*_______________*/

#mostruario .col-6, 
#mostruario .col-md-4, 
#mostruario .col-lg-3 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.product-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    padding: 10px;
}

.product-grid-item {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
    transition: 0.3s ease-in-out;
    min-height: 330px; /* <-- altura mínima para igualar os cards */
}

.product-grid-item:hover {
    transform: scale(1.05);
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.15); /* Sombra mais intensa ao passar o mouse */
}

.product-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-element-bottom {
    margin-top: auto; /* empurra o conteúdo inferior para o fim */
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex-grow: 1;
}

.product-image-link img {
    width: 100%;
    border-radius: 10px; /* Arredonda as bordas da imagem */
}

.product-title {
    font-family: 'Poppins', sans-serif; /* Fonte moderna e harmoniosa */
    font-size: 14px;
    font-weight: bold;
    color: #333; /* Tom mais sofisticado */
    text-align: center;
    margin-bottom: 10px;
    min-height: 52px;        /* espaço fixo */
    line-height: 1.3;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;   /* máximo 2 linhas */
    -webkit-box-orient: vertical;
}

.image-wrapper {
	position: relative;
	overflow: hidden;
}

.image-wrapper img {
	width: 100%;
	transition: opacity 0.4s ease-in-out;
	display: block;
}

.image-wrapper .hover-image {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.image-wrapper:hover .hover-image {
	opacity: 1;
}

.image-wrapper:hover .main-image {
	opacity: 0;
}

.price del {
    color: #888; /* Cinza suave para diminuir destaque */
    font-size: 0.9rem; /* Reduz ligeiramente o tamanho */
    opacity: 0.6; /* Deixa mais discreto */
    text-decoration: line-through; /* Mantém o efeito de preço cortado */
}

.price ins {
    color: #e76409; /* vibrante para destaque */
    font-weight: 600;
    font-size: 16px; /* Aumenta um pouco o tamanho */
    padding: 2px 6px;
    border-radius: 5px;
}

.wrap-price {
  text-align: center;
  margin-top: 10px;
  font-size: 15px;
}

.wrap-price del {
  color: #555;
  font-size: 14px;
  margin-right: 5px;
  font-weight: 600;
}

.wrap-price ins {
  color: #222;
  font-weight: bold;
  text-decoration: none;
  font-size: 18px;
}

.fswp_calc {
  margin: 4px 0 0;
  font-size: 16px;
  color: #959595;
}

.fswp_in_cash_price .fswp_in_cash_prefix,
.fswp_in_cash_price .fswp_in_cash_suffix {
  color: #959595;       /* cor cinza para a descrição */
  font-weight: normal;  /* normal para o texto */
}

.fswp_in_cash_price .woocommerce-Price-amount {
  color: #e76409;      /* cor #e76409 (usei um tom próximo de verde, ajuste se quiser) */
  font-weight: bold;    /* negrito para o preço */
}

.wd-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 10px;
}

.wd-buttons a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px; /* Espaço entre ícone e texto */
    font-weight: bold;
    padding: 8px 12px;
    border-radius: 5px; /* Borda arredondada para suavidade */
    transition: all 0.3s ease-in-out;
}

.wd-buttons .wd-add-btn a {
    background-color: #e76409; /* Cor verde para "Ver Produto" */
    color: #fff;
}

.wd-buttons .quick-view a {
    background-color: #666666; /* Azul para "Visualização Rápida" */
    color: #fff;
}

.wd-buttons a:hover {
    transform: scale(1.05); /* Efeito de leve zoom no hover */
}

.wd-buttons .wd-action-btn {
  margin-right: 10px;
}

.wd-buttons .wd-action-btn:last-child {
  margin-right: 0; /* remove margem do último botão */
}

.wd-buttons a::after {
    content: attr(data-tooltip); /* Usa o atributo como texto do tooltip */
    position: absolute;
    bottom: 120%; /* Posiciona acima do botão */
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.8); /* Fundo escuro */
    color: #fff; /* Texto branco */
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 0.85rem;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none; /* Evita que interfira na interação */
}

.wd-buttons a::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 110%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 0.85rem;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
}

.wd-buttons a:hover::after {
    opacity: 1; /* Mostra o tooltip ao passar o mouse */
}

.wd-buttons i {
    font-size: 1.2rem; /* Ajusta o tamanho do ícone */
}

.quick-view a {
    font-weight: normal; /* Remove o negrito */
}

.wd-add-btn a{
  font-weight: normal; /* Remove o negrito */
}

.text-footer-principal{
  color: #e76409;
}

.dropdown-login {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding-left: 40px;
}

.dropdown-login .dropdown-menu {
    min-width: 300px;
    padding: 20px;
    border-radius: 15px;
}

.dropdown-login:hover .dropdown-menu {
    display: block;
}

.dropdown-login .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
}

.dropdown-login input[type="text"],
.dropdown-login input[type="password"] {
    width: 100%;
}

.dropdown-login .form-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dropdown-login .form-footer label {
    margin-bottom: 0;
}

.dropdown-login .dropdown-menu a {
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease;
}

.dropdown-login .dropdown-menu a:hover {
    color: #e76409;
}

.btn-entrar-laranja {
    background-color: #e76409;
    border-color: #e76409;
    color: white;
    font-weight: 600;
}

.btn-entrar-laranja:hover {
    background-color: #CF5A08; /* tom mais escuro de #CF5A08 */
    border-color: #CF5A08;
    color: white;
}

.btn-verificar-laranja {
    background-color: #e76409;
    border-color: #e76409;
    color: white;
    font-weight: 600;
}

.btn-verificar-laranja:hover {
    background-color: #CF5A08; /* tom mais escuro de #e76409 */
    border-color: #CF5A08;
    color: white;
}

.btn-checkout {
  display: block;
  background-color: #e76409;
  color: white;
  text-align: center;
  border: none; 
  cursor: pointer;
  padding: 6px;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.btn-checkout:hover {
  background-color: #CF5A08;
  color: #fff;
  text-decoration: none;
}

.btn-adicionar-carrinho {
  display: block;
  background-color: #e76409;
  color: white;
  text-align: center;
  border: none; 
  cursor: pointer;
  padding: 6px;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.btn-adicionar-carrinho:hover {
  background-color: #CF5A08;
  color: #fff;
  text-decoration: none;
}

/* --- CARRINHO LATERAL --- */
.cart-widget-side {
  position: fixed;
  top: 0;
  right: 0;
  width: 350px;
  max-width: 100vw;
  height: 100vh;          /* fallback */
  height: 100dvh;         /* cobre até a barra de URL no mobile */
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
  z-index: 9999;
  transform: translateX(100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.5s ease, opacity 0.5s ease;
}

.cart-widget-side.open {
  transform: translateX(0);     /* <- Abre (entra na tela) */
  opacity: 1;
  pointer-events: auto;
}

.wd-heading {
  padding: 16px;
  background: #f5f5f5;
  border-bottom: 1px solid #ddd;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
}

.wd-heading .title {
  font-size: 18px;
  font-weight: bold;
}

.close-side-widget a {
  text-decoration: none;
  color: #888;
  font-size: 18px;
  cursor: pointer;
  transition: color 0.2s;
}

.close-side-widget a:hover { 
  color: #333; 
}

.widget_shopping_cart_content {
  display: flex;
  flex-direction: column;
  flex: 1; /* <- deixa o conteúdo crescer exatamente até o limite do carrinho */
  min-height: 0; /* previne quebra do flexbox + overflow */
}

/* --- CORPO COM ITENS OU VAZIO --- */
.shopping-cart-widget-body {
  flex: 1;
  overflow-y: auto;
  background: #fafafa;
  min-height: 0;           /* importante para flexbox e overflow funcionar */
}

.shopping-cart-widget-body::-webkit-scrollbar { width: 6px; }
.shopping-cart-widget-body::-webkit-scrollbar-thumb {
  background: #ccc; border-radius: 3px;
}

.wd-empty-mini-cart {
  text-align: center;
  margin-top: 50px;
  padding: 0 20px;
}

.woocommerce-mini-cart__empty-message {
  font-size: 16px;
  color: #555;
  margin-bottom: 20px;
}

.wc-backward {
  display: inline-block;
  background-color: #e76409;
  color: #fff;
  padding: 10px 20px;
  border-radius: 6px;
  text-decoration: none;
  font-size: 14px;
  transition: background-color 0.3s;
}

.wc-backward:hover {
  background-color: #CF5A08;
  color: #fff;
}

.cart_list.product_list_widget li,
.woocommerce-mini-cart-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  width: 100%;
  padding: 12px 16px;
  background: #fff;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}

.cart_list.product_list_widget li:hover {
  background-color: #f2f2f2;
  cursor: pointer;
}


/* Garante que todos os pais permitam 100% */
.cart_list,
.widget_shopping_cart_content,
.shopping-cart-widget-body {
  width: 100%;
  box-sizing: border-box;
}

/* --- LISTA DE PRODUTOS --- */
.cart_list.product_list_widget {
  margin: 0;
  padding: 0; /* Antes: padding: 16px 20px */
  list-style: none;
}

.cart_list li {
  padding: 16px;
  border-bottom: 1px solid #ddd;
}

.cart_list .cart-item-image img {
  border-radius: 6px;
  width: 70px;
  height: 70px;
  object-fit: cover;
}

.cart-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wd-entities-title {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.3;
}

.variation {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  padding: 0;
  list-style: none;
  margin: 0;
  font-size: 0.78rem;
  color: #6c757d;
  line-height: 1.25;
}

.variation li {
  display: flex;
  gap: 4px;
  align-items: center;
}

.quantity {
  margin-top: 6px;
  display: flex;
  gap: 1px;
  align-items: center;
}

.qty-input {
  width: 50px;
  height: 28px; /* Igual à altura dos botões */
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 5px; /* padding vertical zero para centralizar */
  font-size: 0.85rem;
  box-sizing: border-box;
}

.qty-input-produto {
  width: 50px;
  height: 38px; /* Igual à altura dos botões */
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 5px; /* padding vertical zero para centralizar */
  font-size: 0.85rem;
  box-sizing: border-box;
}

.qty-btn {
  width: 28px;
  height: 28px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fafafa;
  font-size: 1rem;
  color: #444;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1; /* ajuda no alinhamento vertical do texto */
  padding: 0;
  box-sizing: border-box;
}

.qty-btn:hover {
  background: #f0f0f0;
}

/* Preço (depois da quantidade visual) */
.cart-info > .quantity + .quantity {
  margin-top: 4px;
  font-weight: 500;
  color: #333;
  font-size: 0.9rem;
}

.cart-info .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: 600;
}

/* --- FOOTER CARRINHO LATERAL --- */
.shopping-cart-widget-footer {
  background: #fff;
  padding: 20px;
  padding-bottom: env(safe-area-inset-bottom, 20px); /* aqui! */
  border-top: 1px solid #ccc;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
  flex-shrink: 0;  
}

.woocommerce-mini-cart__total {
  font-size: 1rem;
  font-weight: 500;
  margin-bottom: 10px;
}

.woocommerce-mini-cart__total strong {
  font-weight: 600;
}

.woocommerce-mini-cart__buttons .button {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 12px 16px;
  font-weight: 600;
  border-radius: 6px;
  text-align: center;
  text-transform: uppercase;
  font-size: 0.9rem;
}

.button.btn-cart {
  background: #f8f9fa;
  color: #333;
  border: 1px solid #ddd;
}

.button.btn-cart:hover {
  background: #f1f3f5;
}

.button.checkout {
  background: #212529;
  color: #fff;
}

.button.checkout:hover {
  background: #14171a;
}

.wd-cart-empty {
  display: none;
}

/* --- PROGRESSO “LEVE 3” --- */
.wd-progress-bar {
  margin-top: 15px;
}

.progress-msg {
  font-size: 0.85rem;
  margin-bottom: 4px;
  color: #555;
}

.progress-area {
  height: 6px;
  background: #eee;
  border-radius: 4px;
}

.progress-bar {
  height: 100%;
  background: #e76409;
  border-radius: 4px;
  transition: width 0.3s ease-in-out;
}

.titulo {
  font-weight: bold;
}

.recuperar-senha {
  display: block;
  margin-top: 10px;
}

.modal-header .close {
  outline: none;
}

.remove-item-btn {
    background: transparent;
    border: none;
    color: #888; /* ou outra cor desejada */
    font-size: 18px;
    cursor: pointer;
    padding: 0;
    margin-right: 8px;
}

.remove-item-btn:hover {
    color: #e63946; /* vermelho ao passar o mouse */
}

.text-secondary {
    font-size: 28px; /* This will make the text 87.5% of its parent's font size */
    /* You can also use fixed pixel values, e.g., font-size: 14px; */
}

/* Header within the form */
.cabecalho-interno {
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee; /* Subtle separator */
}

.cabecalho-interno h1.titulo {
    font-size: 32px;
    color: #000; /* A vibrant blue, common for primary accents */
    margin: 0;
    padding: 0;
    font-weight: 600; /* Semi-bold */
}

.cabecalho-interno h1.titulo small {
    display: block;
    font-size: 16px;
    color: #777;
    margin-top: 5px;
    font-weight: normal;
}

/* Section Legends (Titles for fieldsets) */
legend.titulo {
    font-size: 22px;
    color: #000; /* Matching the main title blue */
    font-weight: 600;
    padding: 0 10px;
    margin-bottom: 20px;
    border-bottom: 2px solid #000; /* Accent border */
    width: auto; /* Shrink legend to content width */
    line-height: 1.2;
}

/* Generic Box Shadow/Border Style */
.caixa-sombreada {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05); /* Inner shadow for a "recessed" look */
}

.caixa-sombreada.borda-principal {
    border-color: #000; /* Highlight primary sections with blue border */
}

/* Grid System (Simplified Bootstrap-like) */
.row-fluid {
    margin-left: -15px; /* Compensate for column padding */
    margin-right: -15px;
    overflow: hidden; /* Clearfix for floated columns */
}

.row-fluid [class*="span"] {
    float: left;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}

.span12 { 
  width: 100%; 
}
.span6 { 
  width: 50%; 
}
.span3 { 
  width: 25%; 
}
.offset9 { 
  margin-left: 75%; 
}

/* Form Group Styling */
.control-group {
    margin-bottom: 18px;
    position: relative; /* For error messages positioning */
}

.control-group.required .control-label:after {
    content: ' *'; /* Asterisk for required fields */
    color: #dc3545; /* Red color */
    font-weight: bold;
}

.control-label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: #555;
    font-size: 15px;
}

/* Input Fields */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
select {
    display: block;
    width: 100%;
    padding: 10px 12px;
    font-size: 16px;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ced4da;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    box-sizing: border-box;
}

input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="password"]::placeholder,
input[type="tel"]::placeholder {
    color: #a0a0a0;
    opacity: 1; /* Firefox fix */
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
select:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); /* Focus blue glow */
}

/* Specific Input Sizes */
.input-block-level {
    width: 100%;
}

.input-big {
    width: 100%; /* For full width */
}

.input-medium {
    width: 100%; /* Default to full width in its column */
    max-width: 250px; /* Example: adjust as needed */
}

.input-small {
    width: 100%;
    max-width: 180px; /* Example: for phone numbers */
}

.input-mini {
    width: 80px; /* For number fields like house number */
}

/* Password Toggle Icon */
.field-icon {
    position: absolute;
    right: 25px; /* Adjust as needed */
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #888;
    z-index: 10;
}

/* Radio Buttons (Tipo de cadastro) */
ul#id_tipo {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex; /* Arrange radio options horizontally */
    gap: 20px; /* Space between options */
}

ul#id_tipo li label {
    font-weight: normal;
    cursor: pointer;
    display: flex;
    align-items: center;
    color: #333;
}

ul#id_tipo input[type="radio"] {
    width: auto;
    height: auto;
    margin-right: 8px;
    flex-shrink: 0; /* Prevent shrinking on smaller screens */
    margin-top: 0; /* Align with text */
    vertical-align: middle;
}

/* Help text / Links */
.help-inline {
    display: inline-block;
    margin-left: 5px;
    font-size: 14px;
    color: #666;
}

.help-inline a {
    color: #000;
    text-decoration: none;
}

.help-inline a:hover {
    text-decoration: underline;
}

/* Action Buttons */
.acao-editar {
    padding-top: 20px;
    border-top: 1px solid #eee;
    margin-top: 20px;
    text-align: right; /* Align buttons to the right */
}

/* Error/Validation Styling (based on JS adding 'erro' or 'error' class) */
.control-group.erro .control-label,
.control-group.error .control-label {
    color: #dc3545; /* Red for error labels */
}

.control-group.erro input,
.control-group.error input,
.control-group.erro select,
.control-group.error select {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); /* Red glow for errors */
}

label.error {
  color: red;
  font-size: 0.9em;
}

.my-account-sidebar {
  background-color: #fcfcfc;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.my-account-sidebar h3 {
  font-size: 18px;
  margin-bottom: 20px;
}

.my-account-sidebar ul {
  list-style: none;
  padding: 0;
}

.my-account-sidebar ul li a {
  display: block;
  padding: 10px 12px;
  border-radius: 4px;
  color: #333;
  text-decoration: none;
}

.my-account-sidebar ul li a:hover,
.my-account-sidebar ul li a.active {
  background-color: #000;
  color: #fff;
}

.account-content {
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.dashboard-links {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}

.dashboard-link {
  flex: 1 1 200px;
  margin: 10px;
  background: #f1f1f1;
  padding: 20px;
  text-align: center;
  border-radius: 6px;
  transition: background-color 0.3s;
}

.dashboard-link:hover {
  background-color: #e0e0e0;
}

.dashboard-link a {
  text-decoration: none;
  color: #000;
  font-weight: 500;
}

/******************************
 * GALERIA (zoom + setas)     *
 ******************************/
.product-gallery {
  position: relative;
}

/* Imagem principal com zoom */
.zoom-container {
  overflow: hidden;
  position: relative;
  cursor: pointer;
  border-radius: 8px;
}

.zoom-container img {
  display: block;
  width: 100%;
  transition: transform 1s ease;
  transform-origin: center center;
  backface-visibility: hidden; /* ajuda a suavizar a animação */
}

.zoom-container img:hover {
  transform: scale(1.7);
}

/* Slider principal */
.product-gallery .main-slider .item img {
  border-radius: 8px;
}

/* Navegação do slider principal */
.product-gallery .main-slider .owl-nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 10;
}

.product-gallery .main-slider:hover .owl-nav {
  opacity: 1;
}

.product-gallery .main-slider .owl-nav button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: none;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  border-radius: 50%;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}

.product-gallery .main-slider .owl-nav .owl-prev {
  left: 10px;
}

.product-gallery .main-slider .owl-nav .owl-next {
  right: 10px;
}

.product-gallery .main-slider .owl-nav button:hover {
  background: rgba(0, 0, 0, 0.75);
}

/* Thumbnails */
.product-gallery .thumbnail-slider .item {
  cursor: pointer;
  padding: 2px;
  transition: transform 0.3s ease;
}

.product-gallery .thumbnail-slider .item img {
  width: 100%;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.product-gallery .thumbnail-slider .item:hover img {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
  opacity: 0.85;
}

.product-gallery .thumbnail-slider .active img {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

/* Navegação thumbnails */
.product-gallery #thumbCarousel .owl-nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 5;
  padding: 0 4px;
}

.product-gallery #thumbCarousel:hover .owl-nav {
  opacity: 1;
}

.product-gallery #thumbCarousel .owl-nav button {
  width: 28px;
  height: 28px;
  border: none;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}

.product-gallery #thumbCarousel .owl-nav button:hover {
  background: rgba(0, 0, 0, 0.75);
}

.product-additional-galleries {
  position: absolute;
  bottom: 15px;
  left: 15px;
  z-index: 10;
}

.wd-show-product-gallery-wrap {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 20px;
  padding: 6px 12px;
  transition: background 0.3s ease;
}

.wd-show-product-gallery-wrap:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

.woodmart-show-product-gallery {
  color: #fff !important;
  font-size: 13px;
  text-decoration: none !important;
}

.woodmart-show-product-gallery span::before {
  content: "\f065"; /* Font Awesome zoom-in */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 6px;
}

/*SE QUISER LENTE NA IMAGEM DESCOMENTE ESSA PARTE ABAIXO*/
/*.zoom-lens {
  position: absolute;
  border: 3px solid rgba(0,0,0,0.3);
  border-radius: 50%;
  cursor: none;
  width: 200px;
  height: 200px;
  display: none;
  box-shadow: 0 0 8px rgba(0,0,0,0.3);
  background-repeat: no-repeat;
  z-index: 9999;
}*/


/******************************
 * DETALHES DO PRODUTO         
 ******************************/
.summary-inner{font-family:"Poppins",Arial,sans-serif;}
.summary-inner .product_title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;}
.summary-inner .price del{color:#dc3545;margin-right:.25rem;}
.summary-inner .price ins{color:#28a745;text-decoration:none;font-weight:600;}
.summary-inner .fswp_installments_price .price{color:#333;font-size:.95rem;}
.summary-inner .fswp_in_cash_price .price{color:#28a745;font-size:.95rem;}
.summary-inner .quantity{gap:4px;margin-top:.75rem;display:flex;align-items:center;}
.summary-inner .quantity input[type="number"]{width:70px;height:38px;text-align:center;border:1px solid #ced4da;border-radius:.25rem;}
.summary-inner .quantity-btn{width:38px;height:38px;line-height:34px;padding:0;font-weight:bold;}

/* Visitas */
.wd-visits-count{display:flex;align-items:center;font-size:.85rem;border-radius:4px;margin-top:1rem;}
.wd-visits-count-icon:before{content:"\f06e";font-family:"Font Awesome 5 Free";font-weight:900;margin-right:6px;}

/* Size guide modal */
#sizeGuide .modal-dialog{max-width:800px;}
#sizeGuide img{width:100%;}

/* Ajuste no formulário: campo Personalizar embaixo do Tamanho */
form.cart .form-row {
  flex-direction: column;
}
form.cart .form-group {
  width: 100% !important;
  max-width: 100%;
}

/* ================================
  LINHA DO TEMPO FINALIZAÇÃO
   ================================ */
.checkout-steps {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 30px 0;
  border-bottom: 2px solid #eee;
}

.checkout-steps .step {
  position: relative;
  flex: 1;
  text-align: center;
  color: #999;
  font-weight: 600;
  padding-bottom: 10px;
}

.checkout-steps .step i {
  display: block;
  font-size: 22px;
  margin-bottom: 6px;
  color: #ccc;
  transition: color 0.3s ease;
}

.checkout-steps .step span {
  display: block;
  font-size: 14px;
}

/* Etapa ativa */
.checkout-steps .step-active {
  color: #e76409;
}

.checkout-steps .step-active i {
  color: #e76409;
}

/* Etapas concluídas */
.checkout-steps .step-completed {
  color: #4CAF50;
}

.checkout-steps .step-completed i {
  color: #4CAF50;
}

/* Linha indicadora inferior */
.checkout-steps .step::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 25%;
  width: 50%;
  height: 3px;
  background: transparent;
}

.checkout-steps .step-active::after {
  background-color: #e76409;
}

.checkout-steps .step-completed::after {
  background-color: #4CAF50;
}

.codigo-digit {
    width: 50px;
    font-size: 1.5rem;
    text-align: center;
    margin: 0 5px;
}

/* Guia de Tamanho*/
#sizeGuide table th,
#sizeGuide table td {
    vertical-align: middle;
}

/* Cor padrão das abas */
#sizeGuide .nav-tabs .nav-link {
    color: #222;
    font-weight: 600;
    transition: 0.2s;
}

/* Hover: muda para #e76409 */
#sizeGuide .nav-tabs .nav-link:hover {
    color: #e76409;
}

/* Aba ativa */
#sizeGuide .nav-tabs .nav-link.active {
    color: #e76409;
    font-weight: 700;
    border-color: #e76409 #e76409 #fff;
}

.guia-tamanho{
  color: #222;
  font-weight: 600;
  cursor: pointer;
}

.guia-tamanho:hover{
  color: #e76409;
  font-weight: 600;
  text-decoration: none;
}

.btn-cart-action.disabled {
    pointer-events: none;
    opacity: 0.5;
    cursor: not-allowed;
}

.recaptcha-container {
    display: flex;
    justify-content: flex-end;
}

.recaptcha-fale-conosco {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

.promo-info-nao-elegivel {
    background: #f8f9fa;
    border-left: 4px solid #e76409;
    padding: 10px 12px;
    font-size: 14px;
    color: #555;
    border-radius: 6px;
}

/*FOOTER*/
.footer {
  background-color: #000;
  color: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  margin-top: auto;
  position: relative;
  z-index: 1;
}

.footer-collapse-section {
  margin-top: 10px;
  padding: 0 20px;
}

.footer-collapse-item {
  padding: 0;
}

.footer-collapse-header {
  width: 100%;
  background: none;
  border: none;
  color: #fff;
  font-weight: 600;
  font-size: 14.5px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0 8px 0;
  cursor: pointer;
  outline: none;
}

.footer-collapse-header .icon-left {
  margin-right: 8px;
  font-size: 16px;
}

.footer-collapse-header .arrow {
  transition: transform 0.3s ease;
  font-size: 11px;
  margin-left: auto;
}

.footer-collapse-item.active .arrow {
  transform: rotate(180deg);
}

.footer-collapse-content {
  display: none;
  font-size: 13px;
  padding: 0 0 10px 26px; /* alinhado com ícone */
}

.footer-collapse-content a {
  color: #ccc;
  text-decoration: none;
  display: block;
  padding: 3px 0;
}

.footer-collapse-content a:hover {
  color: #fff;
}

.footer-collapse-header:hover,
.footer-collapse-header:focus,
.footer-collapse-header:active {
  background: none;
  color: #fff;
  outline: none;
  box-shadow: none;
}

.footer-bandeiras img {
  width: 600px;     /* Ajuste conforme sua imagem */
  max-width: 100%;
  height: auto;
  display: inline-block;
  vertical-align: middle;
}

.footer-bandeiras {
  display: inline-block;
}

.copyright-text {
  font-size: 14px;
  color: #ccc;
  margin-bottom: 0;
}

.footer-separator {
  height: 1px;
  border: none;
  background-color: rgba(255, 255, 255, 0.3);
  width: 100vw;
  margin: 30px 0 20px 0;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

@media (min-width: 1169px) and (max-width: 1299px) {
  
  .search-bar {
    max-width:600px;
    margin-left: 20px;
  }
  
}

@media (min-width: 768px) and (max-width: 1168px) {

  .img-topo {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 90px; /* espaço reservado para topo (logo + user/cart) */
    gap: 10px;
  }

  .img-logo {
    position: absolute;
    top: 10px;
    left: 20px;
    margin: 0;
  }

  .user-cart-group {
    position: absolute;
    top: 10px;
    right: 20px;
    margin-top: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .dropdown-login .dropdown-menu {
    display: none !important;
  }

  .texto-entrar-registrar {
    display: none;
  }

  .search-bar {
    width: calc(100vw - 40px); /* força 20px de cada lado, mesmo se pai for limitado */
    margin: 10px 20px;
    max-width: none; /* caso algum max-width esteja herdado */
    box-sizing: border-box;
  }

  /* --- ESTILOS DO FORMULÁRIO PARA MOBILE --- */

  .row-fluid {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  .span6 {
    width: 100% !important;
  }

  .control-group {
    margin-bottom: 15px;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"],
  select {
    width: 100% !important;
    box-sizing: border-box;
  }

  .form-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap; /* opcional, para quebrar em telas muito pequenas */
  }

  .slider {
      height: auto;
  }

}

@media (max-width: 767px) {

  .img-topo {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 90px; /* espaço reservado para topo (logo + user/cart) */
    gap: 10px;
  }

  .img-logo {
    position: absolute;
    top: 10px;
    left: 20px;
    margin: 0;
  }

  .user-cart-group {
    position: absolute;
    top: 10px;
    right: 20px;
    margin-top: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .dropdown-login .dropdown-menu {
    display: none !important;
  }

  .texto-entrar-registrar {
    display: none;
  }

  .search-bar {
    width: calc(100vw - 40px); /* força 20px de cada lado, mesmo se pai for limitado */
    margin: 10px 20px;
    max-width: none; /* caso algum max-width esteja herdado */
    box-sizing: border-box;
  }

  .search-results {
      grid-template-columns: 1fr;
      gap: 10px;
  }

  .ver-todos {
      padding: 12px;
      font-size: 15px;
  }

  .pagination-wrapper .page-btn {
      padding: 6px 10px;
      font-size: 13px;
  }

  .product-grid-item {
    min-height: 300px; /* <-- altura mínima para igualar os cards */
  }  

  .product-title {
    font-size: 14px;
  }

  .wd-buttons .wd-add-cart-icon.w-100 {
    background-color: #e76409;
    color: #fff;
    font-weight: bold;
    padding: 10px 12px;
    border-radius: 5px;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease-in-out;
  }

  .wd-buttons .wd-add-cart-icon.w-100:hover {
    background-color: #e68100;
    color: #fff;
  }
  /* --- ESTILOS DO FORMULÁRIO PARA MOBILE --- */

  .row-fluid {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }

  .span6 {
    width: 100% !important;
  }

  .control-group {
    margin-bottom: 15px;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"],
  select {
    width: 100% !important;
    box-sizing: border-box;
  }

  .form-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap; /* opcional, para quebrar em telas muito pequenas */
  }
  
  .botoes-container {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap; /* caso não caibam lado a lado, eles descem com espaço */
    margin-top: 20px;
  }

  .botoes-container .btn {
    flex: 1 1 auto;
    min-width: 130px;
    text-align: center;
  }

  .my-account-sidebar{
    margin-bottom: 20px;
  }

  .dashboard-links {
    flex-direction: column;
    
  }

  .dashboard-link {
    flex: 1 1 50px;
  }

  .fswp_calc {
    font-size: 14px;
  }

  .banner-desktop {
        display: none;
  }

  .banner-mobile {
      display: block;
      width: 100%;
  }

  #sizeGuide .nav-tabs .nav-link {
      font-size: 14px;
      padding: 6px 10px;
  }

  .acao-editar {
      padding-top: 0px;
  }

  .recaptcha-container {
      display: flex;
      justify-content: center;
  }
}