:root {
  --primary: #000;
  --secondary: #ff2c2c;
  --bg: #f9f9f9;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}

body {
  background: #f9f9f9;
}

/* CONTAINER */
.container {
  max-width: 1200px;
  margin: auto;
  padding: 20px;
}

/* HEADER */
header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  transition: 0.3s;
}

header.scrolled {
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(10px);
}

/* NAV */
.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: white;
}

.logo {
  font-size: 22px;
  font-weight: bold;
}

.menu {
  list-style: none;
  display: flex;
  gap: 25px;
}

.menu a {
  text-decoration: none;
  color: white;
}

.menu-mobile {
  display: none;
  font-size: 28px;
  cursor: pointer;
}

/* BANNER */
.banner-nike {
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(0,0,0,0.78), rgba(0,0,0,0.35)),
    url('../img/banner.jpg') center/cover no-repeat;
  display: flex;
  align-items: center;
  padding: 120px 10% 60px;
  color: white;
  position: relative;
  overflow: hidden;
}

.banner-nike-content {
  max-width: 620px;
  animation: entradaSuave 1s ease forwards;
}

.banner-nike-content span {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  font-weight: 600;
  opacity: 0.9;
}

.banner-nike-content h1 {
  font-size: clamp(46px, 8vw, 96px);
  line-height: 0.95;
  font-weight: 900;
  letter-spacing: -3px;
  text-transform: uppercase;
  letter-spacing: -2px;

}

.banner-nike-content p {
  margin-top: 20px;
  font-size: 20px;
  max-width: 430px;
  line-height: 1.5;
  color: #eee;
}

.banner-nike-content button {
  margin-top: 30px;
  padding: 15px 36px;
  border: none;
  border-radius: 50px;
  background: white;
  color: black;
  font-weight: 800;
  cursor: pointer;
  transition: 0.3s ease;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.banner-nike-content button:hover {
  transform: translateY(-3px);
  background: #f1f1f1;
}

@keyframes entradaSuave {
  from {
    opacity: 0;
    transform: translateY(35px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* MOBILE PERFEITO */
@media (max-width: 768px) {
  .banner-nike {
    min-height: 90vh;
    padding: 120px 25px 50px;
    align-items: flex-end;
    background:
      linear-gradient(to top, rgba(0,0,0,0.85), rgba(0,0,0,0.25)),
      url('../img/banner.jpg') center/cover no-repeat;
  }

  .banner-nike-content {
    max-width: 100%;
  }

  .banner-nike-content h1 {
    font-size: 48px;
    letter-spacing: -2px;
  }

  .banner-nike-content p {
    font-size: 16px;
  }

  .banner-nike-content button {
    width: 100%;
    padding: 16px;
    font-size: 15px;
  }
}

/* PRODUTOS */
.produtos h2 {
  text-align: center;
  margin-bottom: 30px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

.card {
  background: white;
  border-radius: 14px;
  overflow: hidden;
  transition: 0.3s;
  box-shadow: none;
}

.card:hover {
  transform: translateY(-8px);
  box-shadow: none;
}

/* ÁREA FIXA DA IMAGEM */
.card img {
  width: 100%;
  height: 320px; /* controla o tamanho */
  object-fit: cover; /* corta sem distorcer */
}

/* CONTEÚDO */
.card-info h3 {
  font-size: 16px;
  font-weight: 500;
}

.card-info p {
  font-size: 18px;
  font-weight: 700;
  margin-top: 5px;
}

.card:hover {
  transform: translateY(-5px);
}

.card img {
  width: 100%;
}

.card-info {
  padding: 15px;
}

.btn-whatsapp {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;

  margin-top: 10px;
  padding: 11px;

  background: #25D366;
  color: white;

  border: none;
  border-radius: 6px;

  font-weight: 700;
  cursor: pointer;

  transition: all 0.25s ease;
}

/* Glow leve */
.btn-whatsapp:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
  box-shadow: none;
}


/* RESPONSIVO */
@media (max-width: 768px) {
  .menu {
    display: none;
    flex-direction: column;
    position: absolute;
    right: 0;
    top: 60px;
    background: black;
    width: 200px;
  }

  .menu.active {
    display: flex;
  }

  .menu-mobile {
    display: block;
  }

  .banner h2 {
    font-size: 2rem;
  }
}

.btn-vermais {
  margin: 30px auto;
  display: block;
  padding: 12px 25px;
  border: none;
  background: black;
  color: white;
  cursor: pointer;
  border-radius: 50px;
  font-weight: 600;
  transition: 0.3s;
}

.btn-vermais:hover {
  background: #222;
}

select {
  width: 100%;
  margin-top: 5px;
  padding: 5px;
}

.card img {
  height: 350px;
  object-fit: cover;
  transition: 0.3s;
}

.card:hover img {
  transform: scale(1.05);
}

@media (max-width: 1024px) {
  .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .grid {
    grid-template-columns: 1fr;
  }
}

.produto-img {
  position: relative;
  width: 100%;
  height: 350px;
  overflow: hidden;
}

.produto-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.img-principal {
  opacity: 1;
}

.img-hover {
  opacity: 0;
}

.card:hover .img-principal {
  opacity: 0;
}

.card:hover .img-hover {
  opacity: 1;
  transform: scale(1.05);
}

.variacoes p {
  margin-top: 10px;
  font-size: 14px;
}

/* TAMANHOS */
.tamanhos {
  display: flex;
  gap: 8px;
  margin-top: 5px;
}

.btn-tamanho {
  padding: 6px 10px;
  border: 1px solid #ccc;
  background: white;
  cursor: pointer;
  border-radius: 5px;
  transition: 0.3s;
}

.btn-tamanho:hover {
  border-color: black;
}

.btn-tamanho.ativo {
  background: black;
  color: white;
  border-color: black;
}

/* CORES */
.cores {
  display: flex;
  gap: 8px;
  margin-top: 5px;
}

.cor {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #ccc;
  cursor: pointer;
  transition: 0.3s;
}

.cor:hover {
  transform: scale(1.1);
}

.cor.ativo {
  border: 2px solid black;
  transform: scale(1.2);
}

.badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: red;
  color: white;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 5px;
  z-index: 2;
  letter-spacing: 1px;
}

/* VARIAÇÕES */
.badge-novo {
  background: #28a745;
}

.badge-promoção {
  background: #ff2c2c;
}

.badge-esgotando {
  background: #ff9800;
}
/* CARRINHO */
.btn-carrinho-topo {
  border: none;
  background: white;
  color: black;
  padding: 8px 14px;
  border-radius: 50px;
  font-weight: 800;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}

#contador-carrinho {
  background: #ff2c2c;
  color: white;
  min-width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}

.btn-adicionar-carrinho {
  width: 100%;
  display: block;
  margin-top: 14px;
  padding: 11px;
  background: #000;
  color: white;
  border: none;
  text-align: center;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}

.btn-adicionar-carrinho:hover {
  background: #222;
  transform: translateY(-2px);
}

.carrinho-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 1998;
}

.carrinho-overlay.ativo {
  opacity: 1;
  visibility: visible;
}

.carrinho-lateral {
  position: fixed;
  top: 0;
  right: -420px;
  width: 390px;
  max-width: 92%;
  height: 100vh;
  background: white;
  z-index: 1999;
  transition: 0.35s ease;
  display: flex;
  flex-direction: column;
  box-shadow: none;
}

.carrinho-lateral.ativo {
  right: 0;
}

.carrinho-header {
  padding: 20px;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.carrinho-header h2 {
  font-size: 22px;
}

.carrinho-header button {
  border: none;
  background: black;
  color: white;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
}

.itens-carrinho {
  flex: 1;
  overflow-y: auto;
  padding: 18px;
}

.carrinho-vazio {
  text-align: center;
  color: #777;
  margin-top: 30px;
}

.item-carrinho {
  display: grid;
  grid-template-columns: 74px 1fr 28px;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  align-items: center;
}

.item-carrinho img {
  width: 74px;
  height: 92px;
  object-fit: cover;
  border-radius: 10px;
}

.item-carrinho-info h3 {
  font-size: 15px;
  margin-bottom: 4px;
}

.item-carrinho-info p {
  font-size: 13px;
  color: #555;
}

.item-carrinho-info strong {
  display: block;
  margin-top: 5px;
  font-size: 14px;
}

.btn-remover {
  border: none;
  background: #ff2c2c;
  color: white;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-size: 18px;
  cursor: pointer;
}

.carrinho-footer {
  padding: 18px;
  border-top: 1px solid #eee;
  background: #fafafa;
}

.carrinho-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
  font-size: 18px;
}

.btn-finalizar {
  width: 100%;
  border: none;
  padding: 14px;
  border-radius: 50px;
  background: #25D366;
  color: white;
  font-weight: 800;
  cursor: pointer;
  font-size: 15px;
}

@media (max-width: 768px) {
  .btn-carrinho-topo {
    padding: 7px 11px;
  }

  .carrinho-lateral {
    width: 100%;
    max-width: 100%;
    right: -100%;
  }
}

.modal-dados {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 3000;
  padding: 20px;
}

.modal-dados.ativo {
  display: flex;
}

.modal-box {
  background: white;
  width: 100%;
  max-width: 420px;
  padding: 25px;
  border-radius: 18px;
  position: relative;
  box-shadow: none;
}

.modal-box h2 {
  margin-bottom: 5px;
}

.modal-box p {
  font-size: 14px;
  color: #666;
  margin-bottom: 18px;
}

.modal-box input {
  width: 100%;
  padding: 13px;
  margin-bottom: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  outline: none;
  font-size: 14px;
}

.modal-box input:focus {
  border-color: #25D366;
}

.fechar-modal {
  position: absolute;
  top: 12px;
  right: 12px;
  border: none;
  background: #000;
  color: white;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 22px;
  cursor: pointer;
}

.btn-enviar-whatsapp {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 50px;
  background: #25D366;
  color: white;
  font-weight: 800;
  cursor: pointer;
  font-size: 15px;
  transition: 0.3s;
}

.btn-enviar-whatsapp:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
}

/* CAMPOS BLOQUEADOS APÓS BUSCAR CEP */
.modal-box input.campo-bloqueado {
  background: #f3f3f3;
  color: #555;
  cursor: not-allowed;
  border-color: #e0e0e0;
}

/* FOOTER */
.footer-loja {
  background: #f9f9f9;
  color: #000;
  padding: 55px 20px;
  border-top: 1px solid #eee;
}

.footer-container {
  max-width: 1400px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1.4fr 1.2fr;
  gap: 70px;
  align-items: flex-start;
}

.footer-logo {
  font-size: 42px;
  font-weight: 800;
  font-family: cursive;
  margin-bottom: 35px;
}

.footer-sobre p {
  max-width: 180px;
  color: #555;
  line-height: 1.6;
  font-size: 15px;
}

.footer-col h3 {
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 16px;
}

.footer-col ul {
  list-style: none;
}

.footer-col ul li {
  margin-bottom: 12px;
}

.footer-col ul li a {
  text-decoration: none;
  color: #111;
  font-size: 14px;
  transition: 0.3s;
}

.footer-col ul li a:hover {
  color: #ff2c2c;
}

.footer-social {
  display: flex;
  gap: 22px;
  margin-top: 28px;
}

.footer-social a {
  text-decoration: none;
  font-size: 24px;
  color: #111;
  font-weight: 700;
}

.footer-info {
  display: flex;
  gap: 14px;
  align-items: center;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px solid #eee;
}

.footer-info span {
  font-size: 24px;
  color: #000;
}

.footer-info p {
  font-size: 13px;
  color: #555;
  margin: 0;
}

.footer-info strong {
  font-size: 15px;
  color: #000;
}

.footer-horario {
  margin-top: 10px;
}

.pagamentos,
.selos {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.pagamentos span,
.selos span {
  background: #f5f5f5;
  border: 1px solid #e5e5e5;
  padding: 7px 10px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 800;
}

.selos {
  flex-direction: column;
  align-items: flex-start;
}

@media (max-width: 1024px) {
  .footer-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}

@media (max-width: 600px) {
  .footer-loja {
    padding: 40px 20px;
  }

  .footer-container {
    grid-template-columns: 1fr;
    gap: 35px;
  }

  .footer-logo {
    font-size: 36px;
    margin-bottom: 20px;
  }

  .footer-sobre p {
    max-width: 100%;
  }
}

/* ALINHAR COLUNAS À ESQUERDA */
.footer-col,
.footer-atendimento {
  text-align: left;
}

/* GARANTE QUE LISTAS E TEXTOS NÃO CENTRALIZEM */
.footer-col ul,
.footer-col li,
.footer-info,
.footer-info div {
  text-align: left;
  align-items: flex-start;
}

/* CORRIGE BLOCO DE ATENDIMENTO */
.footer-atendimento .footer-info {
  justify-content: flex-start;
}

/* GARANTE QUE TÍTULOS TAMBÉM FIQUEM À ESQUERDA */
.footer-col h3,
.footer-atendimento h3 {
  text-align: left;
}

.selo-img {
  width: 120px; /* pode ajustar */
  height: auto;
  cursor: pointer;
  transition: 0.3s;
}

.selo-img:hover {
  transform: scale(1.05);
}

/* SUB FOOTER COM ANIMAÇÃO + ÍCONES */
.sub-footer {
  background: #111;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding: 16px 20px;
}

.sub-footer-container {
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #aaa;
  font-size: 13px;
  animation: subFooterUp 0.8s ease forwards;
}

.sub-left,
.sub-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sub-footer i {
  color: #ff2c2c;
  font-size: 14px;
}

.sub-footer .fa-code {
  animation: pulseCode 1.6s ease-in-out infinite;
  filter: none;
}

@keyframes pulseCode {
  0%, 100% {
    transform: scale(1);
    opacity: 0.85;
  }

  50% {
    transform: scale(1.22);
    opacity: 1;
  }
}

.sub-footer a {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  position: relative;
  transition: 0.3s ease;
}

.sub-footer a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 0;
  height: 1px;
  background: #ff2c2c;
  transition: 0.3s ease;
}

.sub-footer a:hover {
  color: #ff2c2c;
}

.sub-footer a:hover::after {
  width: 100%;
}

@keyframes subFooterUp {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* RESPONSIVO */
@media (max-width: 600px) {
  .sub-footer-container {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .sub-left,
  .sub-right {
    justify-content: center;
  }
}

/* GALERIA DE FOTOS - MODERNA SEM ESPAÇO */
.galeria-fotos {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #111;
  overflow: hidden;
}

.galeria-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
}

.galeria-item {
  display: block;
  position: relative;
  height: 320px;
  overflow: hidden;
  text-decoration: none;
  isolation: isolate;
  animation: galeriaEntrada 0.8s ease both;
}

.galeria-item:nth-child(2) { animation-delay: 0.06s; }
.galeria-item:nth-child(3) { animation-delay: 0.12s; }
.galeria-item:nth-child(4) { animation-delay: 0.18s; }
.galeria-item:nth-child(5) { animation-delay: 0.24s; }
.galeria-item:nth-child(6) { animation-delay: 0.30s; }
.galeria-item:nth-child(7) { animation-delay: 0.36s; }
.galeria-item:nth-child(8) { animation-delay: 0.42s; }

.galeria-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.05) 0%,
    rgba(0,0,0,0.25) 45%,
    rgba(0,0,0,0.78) 100%
  );
  opacity: 0;
  transition: 0.45s ease;
  z-index: 1;
}

.galeria-item::after {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(255,255,255,0.45);
  opacity: 0;
  transform: scale(0.92);
  transition: 0.45s ease;
  z-index: 2;
}

.galeria-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.65s ease, filter 0.65s ease;
}

.galeria-overlay {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  z-index: 3;
  color: #fff;
  opacity: 0;
  transform: translateY(18px);
  transition: 0.45s ease;
}

.galeria-overlay small {
  display: block;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
}

.galeria-overlay strong {
  font-size: 24px;
  font-weight: 800;
  text-transform: uppercase;
}

.galeria-item:hover img {
  transform: scale(1.12);
  filter: brightness(0.82) contrast(1.08) saturate(1.08);
}

.galeria-item:hover::before,
.galeria-item:hover::after,
.galeria-item:hover .galeria-overlay {
  opacity: 1;
}

.galeria-item:hover::after {
  transform: scale(1);
}

.galeria-item:hover .galeria-overlay {
  transform: translateY(0);
}

@keyframes galeriaEntrada {
  from {
    opacity: 0;
    transform: scale(1.04);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 1024px) {
  .galeria-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .galeria-item {
    height: 280px;
  }
}

@media (max-width: 600px) {
  .galeria-grid {
    grid-template-columns: 1fr;
  }

  .galeria-item {
    height: 360px;
  }

  .galeria-overlay {
    opacity: 1;
    transform: translateY(0);
  }

  .galeria-item::before {
    opacity: 1;
  }
}

/* FORÇAR FOOTER CENTRALIZADO NO MOBILE */
@media (max-width: 600px) {
  .footer-loja,
  .footer-container,
  .footer-col,
  .footer-sobre,
  .footer-atendimento {
    text-align: center !important;
  }

  .footer-col h3,
  .footer-atendimento h3,
  .footer-col ul,
  .footer-col li {
    text-align: center !important;
  }

  .footer-sobre p {
    margin: 0 auto !important;
    text-align: center !important;
  }

  .footer-social,
  .pagamentos,
  .selos {
    justify-content: center !important;
    align-items: center !important;
  }

  .footer-info {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 6px !important;
  }

  .footer-info div,
  .footer-info p,
  .footer-info strong {
    text-align: center !important;
  }
}

/* GALERIA MOBILE COM SETAS */
.galeria-mobile-wrapper {
  position: relative;
}

.galeria-seta {
  display: none;
}

@media (max-width: 600px) {
  .galeria-grid {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
  }

  .galeria-grid::-webkit-scrollbar {
    display: none;
  }

  .galeria-item {
    min-width: 100%;
    scroll-snap-align: start;
  }

  .galeria-seta {
    display: flex;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 42px;
    height: 42px;
    border: none;
    border-radius: 50%;
    background: rgba(0,0,0,0.65);
    color: white;
    font-size: 34px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .seta-esquerda {
    left: 12px;
  }

  .seta-direita {
    right: 12px;
  }
}

/* GALERIA PREMIUM: SWIPE + AUTOPLAY */
.galeria-mobile-wrapper {
  position: relative;
  overflow: hidden;
}

.galeria-grid {
  background: #111;
}

.galeria-dots {
  display: none;
}

@media (max-width: 600px) {
  .galeria-fotos {
    background: #111;
  }

  .galeria-grid {
    display: flex !important;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .galeria-grid::-webkit-scrollbar {
    display: none;
  }

  .galeria-item {
    flex: 0 0 100%;
    min-width: 100%;
    height: 390px;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .galeria-item img {
    object-fit: cover;
  }

  .galeria-seta {
    display: flex !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 50%;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(8px);
    color: white;
    font-size: 34px;
    line-height: 1;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: 0.3s ease;
  }

  .galeria-seta:active {
    transform: translateY(-50%) scale(0.92);
  }

  .seta-esquerda {
    left: 12px;
  }

  .seta-direita {
    right: 12px;
  }

  .galeria-dots {
    display: flex;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    z-index: 25;
    justify-content: center;
    gap: 8px;
  }

  .galeria-dot {
    width: 8px;
    height: 8px;
    border: none;
    border-radius: 999px;
    background: rgba(255,255,255,0.45);
    cursor: pointer;
    transition: 0.3s ease;
  }

  .galeria-dot.ativo {
    width: 24px;
    background: #fff;
  }

  .galeria-overlay {
    bottom: 48px;
  }
}

.frete-info {
  display: block;
  font-size: 11px;
  color: #777;
  margin-top: 4px;
  opacity: 0;
  transform: translateY(5px);
  transition: 0.3s ease;
}

.card:hover .frete-info {
  opacity: 1;
  transform: translateY(0);
}

.frete-carrinho {
  font-size: 12px;
  color: #777;
  margin-bottom: 12px;
  text-align: center;
  opacity: 0.85;
}

/* =====================================================
   CA BOUTIQUE — VISUAL PREMIUM / EDITORIAL
   Estilos finais do site
===================================================== */
:root {
  --primary: #050505;
  --secondary: #d81818;
  --bg: #f3f0eb;
  --cream: #f7f3ed;
  --text: #111;
  --muted: #777;
  --line: rgba(0,0,0,0.08);
  --shadow-soft: 0 18px 55px rgba(0,0,0,0.10);
  --shadow-strong: 0 28px 80px rgba(0,0,0,0.18);
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--cream);
  color: var(--text);
  font-family: 'Inter', 'Poppins', sans-serif;
  letter-spacing: -0.01em;
}

body::selection {
  background: #111;
  color: #fff;
}

.container {
  max-width: 1320px;
}

/* HEADER PREMIUM */
header {
  padding: 10px 0;
}

header.scrolled {
  background: rgba(10,10,10,0.72);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.navbar {
  padding: 14px 22px;
}

.logo {
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -1px;
  text-transform: uppercase;
}

.logo span {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #000;
  border-radius: 50%;
  margin-right: 8px;
  font-family: 'Playfair Display', serif;
}

.menu a {
  position: relative;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  opacity: 0.92;
}

.menu a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 0;
  height: 1px;
  background: #fff;
  transition: 0.3s ease;
}

.menu a:hover::after {
  width: 100%;
}

.btn-carrinho-topo {
  height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,0.35);
  background: rgba(255,255,255,0.94);
  box-shadow: none;
  transition: 0.3s ease;
}

.btn-carrinho-topo:hover {
  transform: translateY(-2px);
}

/* HERO EDITORIAL */
.banner-nike {
  min-height: 100vh;
  background:
    radial-gradient(circle at 75% 45%, rgba(255,255,255,0.16), transparent 28%),
    linear-gradient(90deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.52) 42%, rgba(0,0,0,0.10) 100%),
    url('../img/banner.jpg') center/cover no-repeat;
  isolation: isolate;
}

.banner-nike::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.55), transparent 72%);
  z-index: -1;
}

.banner-nike::after {
  content: "CA BOUTIQUE";
  position: absolute;
  right: -40px;
  bottom: 28px;
  font-size: clamp(58px, 14vw, 210px);
  font-weight: 900;
  letter-spacing: -10px;
  color: rgba(255,255,255,0.045);
  pointer-events: auto;
}

.banner-nike-content {
  max-width: 760px;
}

.hero-kicker,
.banner-nike-content span {
  letter-spacing: 4px;
  font-size: 12px;
}

.banner-nike-content h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(58px, 9.6vw, 128px);
  line-height: 0.86;
  letter-spacing: -5px;
  text-transform: uppercase;
  text-wrap: balance;
}

.banner-nike-content p {
  max-width: 520px;
  color: rgba(255,255,255,0.84);
  font-weight: 400;
}

.hero-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 30px;
}

.banner-nike-content button,
.btn-editorial {
  margin-top: 0;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.btn-editorial {
  border: 1px solid rgba(255,255,255,0.48);
  color: #fff;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(12px);
  transition: 0.3s ease;
}

.btn-editorial:hover {
  background: #fff;
  color: #000;
  transform: translateY(-3px);
}

.hero-mini-info {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}

.hero-mini-info span {
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  background: rgba(255,255,255,0.07);
  backdrop-filter: blur(12px);
  font-size: 11px;
  letter-spacing: 1.2px;
}

/* FAIXA TIPO MARCA */
.brand-strip {
  overflow: hidden;
  background: #050505;
  color: #fff;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.brand-strip-track {
  display: flex;
  width: max-content;
  gap: 42px;
  padding: 16px 0;
  animation: marqueeWStore 22s linear infinite;
}

.brand-strip span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 3px;
  white-space: nowrap;
}

@keyframes marqueeWStore {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* PRODUTOS PREMIUM */
.produtos {
  padding-top: 40px;
  padding-bottom: 70px;
}

.section-kicker {
  display: block;
  text-align: center;
  color: var(--secondary);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.produtos h2,
.editorial-intro h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(38px, 5vw, 72px);
  letter-spacing: -2px;
  line-height: 0.98;
  margin-bottom: 12px;
}

.section-subtitle {
  max-width: 560px;
  margin: 0 auto 38px;
  text-align: center;
  color: #666;
  line-height: 1.7;
}

.grid {
  gap: 30px;
}

.card {
  position: relative;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  transform: translateY(0);
  transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}

.card:hover {
  transform: translateY(-12px);
  box-shadow: none;
  border-color: rgba(0,0,0,0.14);
}

.produto-img {
  height: 420px;
  background: #ece7df;
}



.card:hover 

.produto-img img {
  filter: saturate(0.96) contrast(1.03);
}

.card:hover .img-hover {
  transform: scale(1.08);
}

.card-info {
  padding: 20px 20px 22px;
}

.card-info h3 {
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.card-info p {
  font-size: 19px;
  font-weight: 900;
  letter-spacing: -0.5px;
}

.frete-info {
  opacity: 1;
  transform: none;
  display: inline-flex;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f4f1ec;
  color: #6b6258;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.4px;
}

.variacoes {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.variacoes p {
  color: #555;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.btn-tamanho {
  min-width: 36px;
  height: 34px;
  border-radius: 999px;
  border-color: #ded8cf;
  font-size: 12px;
  font-weight: 800;
}

.btn-tamanho.ativo {
  background: #050505;
  color: #fff;
  border-color: #050505;
  transform: scale(1.06);
}

.cor {
  width: 24px;
  height: 24px;
  border: 2px solid #fff;
  box-shadow: none;
}

.cor.ativo {
  box-shadow: none;
}

.badge {
  top: 16px;
  left: 16px;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 10px;
  letter-spacing: 1.4px;
  backdrop-filter: blur(10px);
  box-shadow: none;
}

.btn-adicionar-carrinho,
.btn-whatsapp,
.btn-finalizar,
.btn-enviar-whatsapp,
.btn-vermais {
  border-radius: 999px;
  min-height: 46px;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.btn-adicionar-carrinho {
  background: #050505;
}

.btn-whatsapp,
.btn-finalizar,
.btn-enviar-whatsapp {
  background: #111;
  color: #fff;
}

.btn-whatsapp:hover,
.btn-finalizar:hover,
.btn-enviar-whatsapp:hover {
  background: #25D366;
  box-shadow: none;
}

.btn-vermais {
  padding: 14px 34px;
  box-shadow: none;
}

/* EDITORIAL / GALERIA */
.editorial-intro {
  text-align: center;
  padding: 78px 20px 34px;
  background: #050505;
  color: #fff;
}

.editorial-intro span {
  display: block;
  margin-bottom: 10px;
  color: rgba(255,255,255,0.62);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.galeria-fotos {
  background: #050505;
}

.galeria-item {
  height: 420px;
}

.galeria-overlay strong {
  font-family: 'Playfair Display', serif;
  font-size: 31px;
  letter-spacing: -1px;
}

/* CARRINHO / MODAL */
.carrinho-lateral,
.modal-box {
  border-radius: 24px 0 0 24px;
}

.carrinho-header h2,
.modal-box h2 {
  font-family: 'Playfair Display', serif;
  font-size: 30px;
}

.modal-box {
  max-width: 460px;
  border-radius: 26px;
}

.modal-box input {
  min-height: 48px;
  border-radius: 14px;
  background: #faf8f4;
}

/* FOOTER PREMIUM */
.footer-loja {
  background: #f7f3ed;
  border-top: 1px solid rgba(0,0,0,0.08);
}

.footer-logo {
  font-family: 'Playfair Display', serif;
}

.pagamentos span,
.selos span {
  border-radius: 999px;
  background: #fff;
}

/* MOBILE PREMIUM */
@media (max-width: 768px) {
  .navbar {
    padding: 12px 18px;
  }

  .menu.active {
    right: 18px;
    top: 76px;
    width: 230px;
    padding: 18px;
    border-radius: 18px;
    background: rgba(0,0,0,0.88);
    backdrop-filter: blur(16px);
    box-shadow: none;
  }

  .banner-nike {
    min-height: 92vh;
    padding: 120px 22px 46px;
    background:
      linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.50) 50%, rgba(0,0,0,0.12) 100%),
      url('../img/banner.jpg') center/cover no-repeat;
  }

  .banner-nike-content h1 {
    font-size: clamp(54px, 18vw, 82px);
    letter-spacing: -3px;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .btn-editorial {
    width: 100%;
  }

  .hero-mini-info {
    gap: 8px;
  }

  .hero-mini-info span {
    font-size: 10px;
    padding: 9px 11px;
  }

  .produtos {
    padding-top: 58px;
  }

  .produto-img {
    height: 470px;
  }

  .card {
    border-radius: 24px;
  }

  .grid {
    gap: 24px;
  }

  .galeria-item {
    height: 420px;
  }
}

@media (max-width: 430px) {
  .produto-img {
    height: 410px;
  }

  .banner-nike-content p {
    font-size: 15px;
  }

  .logo {
    font-size: 19px;
  }

  .logo span {
    width: 30px;
    height: 30px;
  }
}

.reveal-card {
  opacity: 0;
  transform: translateY(34px);
}

.reveal-card.apareceu {
  opacity: 1;
  transform: translateY(0);
}

.reveal-card.apareceu:hover {
  transform: translateY(-12px);
}


/* QUANTIDADE NO PRODUTO E NO CARRINHO */
.quantidade-produto,
.quantidade-carrinho {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 999px;
  background: #f8f8f8;
  padding: 4px;
}

.quantidade-produto button,
.quantidade-carrinho button {
  width: 30px;
  height: 30px;
  border: none;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  transition: 0.25s ease;
}

.quantidade-produto button:hover,
.quantidade-carrinho button:hover {
  transform: scale(1.06);
  background: #222;
}

.quantidade-produto input,
.quantidade-carrinho input {
  width: 44px;
  border: none;
  background: transparent;
  text-align: center;
  font-weight: 800;
  color: #111;
  outline: none;
}

.quantidade-produto input::-webkit-outer-spin-button,
.quantidade-produto input::-webkit-inner-spin-button,
.quantidade-carrinho input::-webkit-outer-spin-button,
.quantidade-carrinho input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.quantidade-produto input[type="number"],
.quantidade-carrinho input[type="number"] {
  -moz-appearance: textfield;
}

.quantidade-carrinho {
  margin: 7px 0 4px;
}

.item-carrinho-info strong {
  color: #111;
}


/* PÁGINA TODOS OS PRODUTOS */
.pagina-produtos {
  padding-top: 96px;
}

.produtos-pagina {
  padding-top: 70px;
  padding-bottom: 70px;
  min-height: 70vh;
}

.pagina-produtos header {
  background: rgba(10,10,10,0.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pagina-produtos .produtos h2 {
  font-size: clamp(34px, 5vw, 64px);
  margin-bottom: 10px;
}

.pagina-produtos .section-subtitle {
  margin-bottom: 34px;
}

/* FILTROS DA PÁGINA TODOS OS PRODUTOS */
.barra-filtros-produtos {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(260px, 1.4fr) 190px 220px auto;
  gap: 16px;
  align-items: end;
  margin: 28px 0 12px;
  padding: 18px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 22px;
  box-shadow: none;
  backdrop-filter: blur(12px);
}

.grupo-filtro label {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #111;
}

.grupo-filtro select {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-weight: 700;
  outline: none;
}

.campo-busca-produto {
  height: 46px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 15px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 999px;
  background: #fff;
  transition: 0.25s ease;
}

.campo-busca-produto:focus-within {
  border-color: #111;
  box-shadow: none;
}

.campo-busca-produto i {
  color: #ff2c2c;
  font-size: 14px;
}

.campo-busca-produto input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #111;
  font-weight: 700;
  font-size: 14px;
}

.campo-busca-produto input::placeholder {
  color: #999;
  font-weight: 600;
}

.filtro-cores {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.filtro-cor {
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.25s ease;
}

.filtro-cor span {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,0.16);
  display: block;
}

.filtro-cor:hover,
.filtro-cor.ativo {
  border-color: #111;
  transform: translateY(-2px);
  box-shadow: none;
}

.btn-limpar-filtros {
  height: 46px;
  border: none;
  border-radius: 999px;
  background: #111;
  color: #fff;
  padding: 0 20px;
  font-weight: 900;
  cursor: pointer;
  transition: 0.25s ease;
}

.btn-limpar-filtros:hover {
  transform: translateY(-2px);
  background: #222;
}

.resultado-produtos {
  margin: 8px 0 24px;
  color: #666;
  font-size: 14px;
  font-weight: 700;
}

.sem-produtos {
  grid-column: 1 / -1;
  padding: 35px;
  text-align: center;
  background: #fff;
  border-radius: 18px;
  color: #777;
  font-weight: 700;
}

@media (max-width: 900px) {
  .barra-filtros-produtos {
    grid-template-columns: 1fr 1fr;
  }

  .grupo-filtro-busca,
  .grupo-filtro-cores {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .pagina-produtos {
    padding-top: 86px;
  }

  .produtos-pagina {
    padding-top: 42px;
  }

  .barra-filtros-produtos {
    grid-template-columns: 1fr;
    padding: 14px;
    border-radius: 18px;
  }

  .btn-limpar-filtros {
    width: 100%;
  }
}

.footer-social a:hover .fa-whatsapp {
  color: #25D366;
  transform: scale(1.2);
  text-shadow: 0 0 10px rgba(37, 211, 102, 0.6);
}

.footer-social a:hover .fa-instagram {
  background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af, #515bd4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transform: scale(1.2);
  filter: none;
}

/* MODAL ACESSO RESTRITO - APPLE STYLE */
.modal-restrito {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  padding: 20px;
}

.modal-restrito.ativo {
  display: flex;
}

body.modal-restrito-aberto {
  overflow: hidden;
}

.modal-restrito-box {
  width: 100%;
  max-width: 390px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 28px;
  padding: 34px 28px 28px;
  text-align: center;
  position: relative;
  box-shadow: none;
  animation: modalRestritoEntrada 0.35s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes modalRestritoEntrada {
  from {
    opacity: 0;
    transform: translateY(28px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.fechar-modal-restrito {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  transition: 0.25s ease;
}

.fechar-modal-restrito:hover {
  transform: rotate(90deg) scale(1.05);
  background: #ff2c2c;
}

.icone-restrito {
  width: 62px;
  height: 62px;
  margin: 0 auto 16px;
  border-radius: 20px;
  background: linear-gradient(135deg, #111, #333);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  box-shadow: none;
}

.modal-restrito-box h2 {
  font-size: 26px;
  margin-bottom: 8px;
  color: #111;
  font-weight: 900;
}

.modal-restrito-box p {
  color: #666;
  font-size: 14px;
  margin-bottom: 22px;
}

.campo-senha-restrita {
  position: relative;
  margin-bottom: 8px;
}

.campo-senha-restrita input {
  width: 100%;
  height: 52px;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  padding: 0 52px 0 16px;
  font-size: 15px;
  outline: none;
  background: #f7f7f7;
  transition: 0.25s ease;
}

.campo-senha-restrita input:focus {
  background: #fff;
  border-color: #111;
  box-shadow: none;
}

.campo-senha-restrita button {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #444;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.erro-acesso-restrito {
  display: block;
  min-height: 18px;
  color: #ff2c2c;
  font-size: 13px;
  font-weight: 700;
  margin: 4px 0 10px;
}

.btn-entrar-restrito {
  width: 100%;
  height: 52px;
  border: none;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 900;
  font-size: 15px;
  cursor: pointer;
  transition: 0.25s ease;
}

.btn-entrar-restrito:hover {
  background: #ff2c2c;
  transform: translateY(-2px);
  box-shadow: none;
}

.btn-entrar-restrito:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}


/* Correção extra: garante que o modal não apareça no final da página */
#modal-restrito.modal-restrito { display: none !important; }
#modal-restrito.modal-restrito.ativo { display: flex !important; }


/* =====================================================
   HOME — CARROSSEL DE PRODUTOS + BOTÃO VER TODOS
===================================================== */
.produtos-home-carousel {
  position: relative;
  overflow: visible;
}

.produtos-carousel-shell {
  position: relative;
  margin-top: 34px;
}

.produtos-carousel-viewport {
  overflow-x: auto;
  overflow-y: visible;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 10px 8px 34px;
  cursor: grab;
  user-select: none;
}

.produtos-carousel-viewport::-webkit-scrollbar {
  display: none;
}

.produtos-carousel-viewport.arrastando {
  cursor: grabbing;
  scroll-behavior: auto;
}

body:not(.pagina-produtos) .produtos-home-carousel .produtos-carousel-track {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 24px;
}

body:not(.pagina-produtos) .produtos-home-carousel .card {
  flex: 0 0 calc((100% - 72px) / 4);
  min-width: calc((100% - 72px) / 4);
  scroll-snap-align: start;
  box-shadow: none;
  border: 1px solid rgba(0,0,0,0.08);
}

body:not(.pagina-produtos) .produtos-home-carousel .card:hover {
  box-shadow: none;
}

body:not(.pagina-produtos) .produtos-home-carousel .produto-img img {
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: auto;
}

.produtos-carousel-btn {
  position: absolute;
  top: 42%;
  z-index: 20;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 999px;
  background: rgba(255,255,255,0.88);
  backdrop-filter: blur(12px);
  color: #111;
  font-size: 34px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.25s ease;
  box-shadow: none;
}

.produtos-carousel-btn:hover {
  transform: translateY(-50%) scale(1.06);
  background: #111;
  color: #fff;
}

.produtos-carousel-btn:disabled {
  opacity: 0.25;
  pointer-events: auto;
}

.produtos-carousel-prev {
  left: -72px;
  transform: translateY(-50%);
}

.produtos-carousel-next {
  right: -72px;
  transform: translateY(-50%);
}

.btn-todos-produtos,
.produtos-home-carousel .btn-vermais {
  width: max-content !important;
  min-width: 220px;
  display: flex !important;
  margin: 34px auto 0 !important;
  text-decoration: none;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.2px;
  text-align: center;
}

.btn-todos-produtos:hover {
  transform: translateY(-2px);
}

@media (max-width: 1100px) {
  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: calc((100% - 48px) / 3);
    min-width: calc((100% - 48px) / 3);
  }
}

@media (max-width: 800px) {
  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: calc((100% - 22px) / 2);
    min-width: calc((100% - 22px) / 2);
  }

  .produtos-carousel-prev {
    left: -22px;
  }

  .produtos-carousel-next {
    right: -22px;
  }
}

@media (max-width: 560px) {
  .produtos-carousel-viewport {
    padding-inline: 2px;
  }

  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: 84%;
    min-width: 84%;
  }

  .produtos-carousel-btn {
    width: 42px;
    height: 42px;
    font-size: 30px;
  }

  .btn-todos-produtos {
    width: 100%;
  }
}


/* =====================================================
   INSTAGRAM ULTRA — CA BOUTIQUE FOR YOU
===================================================== */
.btn-hero-instagram {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 14px 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #feda75, #fa7e1e 28%, #d62976 58%, #962fbf 78%, #4f5bd5);
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: none;
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}

.btn-hero-instagram:hover {
  transform: translateY(-3px);
  filter: saturate(1.08);
  box-shadow: none;
}

.instagram-ultra {
  position: relative;
  padding: 96px 0 86px;
  background:
    radial-gradient(circle at 15% 10%, rgba(214,41,118,.12), transparent 28%),
    radial-gradient(circle at 85% 8%, rgba(79,91,213,.12), transparent 30%),
    linear-gradient(180deg, #fff 0%, #f7f3ed 100%);
  overflow: hidden;
}

.instagram-ultra::before {
  content: "";
  position: absolute;
  inset: 28px;
  border: 1px solid rgba(0,0,0,.06);
  pointer-events: auto;
}

.instagram-ultra-header {
  position: relative;
  z-index: 2;
  text-align: center;
}

.instagram-ultra-header h2 {
  margin: 8px auto 12px;
  max-width: 850px;
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 5vw, 74px);
  line-height: .95;
  letter-spacing: -.05em;
  color: #090909;
}

.instagram-ultra-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.btn-instagram-ultra,
.btn-instagram-outline {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: .28s ease;
}

.btn-instagram-ultra {
  background: #050505;
  color: #fff;
  box-shadow: none;
}

.btn-instagram-ultra:hover {
  transform: translateY(-3px);
  background: linear-gradient(135deg, #fa7e1e, #d62976, #962fbf);
  box-shadow: none;
}

.btn-instagram-outline {
  border: 1px solid rgba(0,0,0,.16);
  color: #111;
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(10px);
}

.btn-instagram-outline:hover {
  transform: translateY(-3px);
  border-color: #111;
  background: #fff;
}

.instagram-showcase {
  position: relative;
  z-index: 2;
  width: min(1240px, calc(100% - 40px));
  margin: 54px auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: 18px;
}

.instagram-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.instagram-card {
  position: relative;
  min-height: 260px;
  display: flex;
  overflow: hidden;
  border-radius: 28px;
  isolation: isolate;
  color: #fff;
  text-decoration: none;
  background: #111;
  box-shadow: none;
  transform: translateZ(0);
}

.instagram-card-large {
  min-height: 538px;
}

.instagram-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  transition: transform .75s ease, filter .75s ease;
  z-index: 0;
}

.instagram-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.68));
  z-index: 1;
}

.instagram-card:hover img {
  transform: scale(1.08);
  filter: brightness(.9) saturate(1.08);
}

.instagram-card-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #111;
  font-size: 12px;
  font-weight: 900;
  backdrop-filter: blur(12px);
}

.instagram-card-content {
  position: relative;
  z-index: 3;
  align-self: flex-end;
  padding: 34px;
}

.instagram-card-content small {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .78;
}

.instagram-card-content strong {
  max-width: 520px;
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: clamp(34px, 4.8vw, 66px);
  line-height: .92;
  letter-spacing: -.04em;
}

.instagram-hover {
  position: relative;
  z-index: 3;
  margin: auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: #111;
  font-size: 12px;
  font-weight: 900;
  opacity: 0;
  transform: translateY(12px) scale(.96);
  transition: .32s ease;
  backdrop-filter: blur(12px);
}

.instagram-card:hover .instagram-hover {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.instagram-card-cta {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 10px;
  padding: 28px;
  color: #111;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.68)),
    radial-gradient(circle at 80% 10%, rgba(214,41,118,.30), transparent 38%);
  border: 1px solid rgba(0,0,0,.08);
}

.instagram-card-cta::after { display: none; }

.instagram-card-cta i {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #050505;
  color: #fff;
}

.instagram-card-cta strong {
  font-size: 24px;
  letter-spacing: -.03em;
}

.instagram-card-cta span {
  color: #555;
  font-size: 14px;
  font-weight: 700;
}

.instagram-embed-ready {
  position: relative;
  z-index: 2;
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 26px;
  border-radius: 24px;
  background: rgba(255,255,255,.70);
  border: 1px dashed rgba(0,0,0,.18);
  backdrop-filter: blur(10px);
}

.instagram-embed-ready span {
  display: block;
  margin-bottom: 4px;
  color: #d62976;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.instagram-embed-ready strong {
  display: block;
  font-size: 18px;
  color: #111;
}

.instagram-embed-ready p {
  margin-top: 4px;
  color: #666;
  font-size: 13px;
}

.instagram-embed-ready a,
.instagram-produtos-strip a {
  flex: 0 0 auto;
  color: #111;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.instagram-produtos-strip {
  width: min(1160px, calc(100% - 40px));
  margin: 34px auto 10px;
  padding: 22px 24px;
  border-radius: 24px;
  background: #111;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.instagram-produtos-strip span {
  display: block;
  margin-bottom: 5px;
  color: #ffb1d0;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.instagram-produtos-strip strong {
  font-size: 17px;
}

.instagram-produtos-strip a {
  color: #fff;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
}

@media (max-width: 900px) {
  .instagram-showcase {
    grid-template-columns: 1fr;
  }

  .instagram-card-large {
    min-height: 460px;
  }

  .instagram-embed-ready,
  .instagram-produtos-strip {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 600px) {
  .btn-hero-instagram,
  .btn-instagram-ultra,
  .btn-instagram-outline {
    width: 100%;
  }

  .instagram-ultra {
    padding: 72px 0 64px;
  }

  .instagram-ultra::before {
    inset: 14px;
  }

  .instagram-showcase {
    width: calc(100% - 28px);
    margin-top: 36px;
  }

  .instagram-card-grid {
    grid-template-columns: 1fr;
  }

  .instagram-card,
  .instagram-card-large {
    min-height: 370px;
    border-radius: 22px;
  }

  .instagram-card-content {
    padding: 26px;
  }

  .instagram-hover {
    opacity: 1;
    transform: none;
  }

  .instagram-embed-ready {
    width: calc(100% - 28px);
  }
}

.instagram-card {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .55s ease, transform .55s ease, box-shadow .28s ease;
}

.instagram-card.instagram-apareceu {
  opacity: 1;
  transform: translateY(0);
}

/* =====================================================
   CORREÇÃO MOBILE — INSTAGRAM ULTRA
   Ajuste seguro para não quebrar o desktop
===================================================== */
@media (max-width: 600px) {
  .hero-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .banner-nike-content button,
  .btn-editorial,
  .btn-hero-instagram {
    width: 100%;
    min-height: 48px;
    padding: 0 18px;
    font-size: 12px;
  }

  .instagram-ultra {
    padding: 54px 0 46px;
    overflow: hidden;
  }

  .instagram-ultra::before {
    display: none;
  }

  .instagram-ultra-header.container {
    padding-left: 18px;
    padding-right: 18px;
  }

  .instagram-ultra-header h2 {
    font-size: clamp(34px, 11vw, 46px);
    line-height: .96;
    letter-spacing: -2px;
  }

  .instagram-ultra-header .section-subtitle {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    font-size: 14px;
    line-height: 1.55;
  }

  .instagram-ultra-actions {
    gap: 10px;
    margin-top: 22px;
  }

  .btn-instagram-ultra,
  .btn-instagram-outline {
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    font-size: 11px;
    letter-spacing: .05em;
    text-align: center;
  }

  .instagram-showcase {
    width: 100%;
    margin: 32px auto 0;
    padding: 0 14px;
    display: block;
  }

  .instagram-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .instagram-card,
  .instagram-card-large {
    width: 100%;
    min-height: 0;
    height: 250px;
    border-radius: 20px;
    box-shadow: none;
  }

  .instagram-card-large {
    height: 360px;
    margin-bottom: 12px;
  }

  .instagram-card-cta {
    height: auto;
    min-height: 170px;
    padding: 22px;
  }

  .instagram-card-badge {
    top: 14px;
    left: 14px;
    padding: 8px 11px;
    font-size: 10px;
  }

  .instagram-card-content {
    padding: 22px;
  }

  .instagram-card-content small {
    font-size: 10px;
    letter-spacing: .14em;
  }

  .instagram-card-content strong {
    font-size: clamp(30px, 10vw, 42px);
    line-height: .96;
  }

  .instagram-hover {
    opacity: 1;
    transform: none;
    margin: auto;
    padding: 10px 13px;
    font-size: 11px;
  }

  .instagram-embed-ready.container {
    width: calc(100% - 28px);
    margin-top: 16px;
    padding: 18px;
    border-radius: 18px;
    display: block;
    text-align: left;
  }

  .instagram-embed-ready strong {
    font-size: 16px;
  }

  .instagram-embed-ready p {
    font-size: 12px;
    line-height: 1.5;
  }

  .instagram-embed-ready a {
    display: inline-flex;
    margin-top: 12px;
  }

  .instagram-produtos-strip {
    width: calc(100% - 28px);
    margin: 24px auto 8px;
    padding: 18px;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .instagram-produtos-strip strong {
    font-size: 15px;
    line-height: 1.35;
  }

  .instagram-produtos-strip a {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

/* =====================================================
   CA BOUTIQUE — ULTRA EDITORIAL CLEAN
   Aparência clara, boutique premium e sem cor pesada
   Aplicado por último para sobrescrever versões anteriores
===================================================== */
:root {
  --primary: #111111;
  --secondary: #c94f4f;
  --bg: #f7f3ee;
  --cream: #f8f4ef;
  --bg-main: #f7f3ee;
  --bg-soft: #fffaf5;
  --bg-editorial: #f2ebe4;
  --text: #151515;
  --muted: #756f68;
  --line: rgba(80, 55, 35, 0.10);
  --accent-soft: #ead8cc;
  --accent-rose: #c94f4f;
  --shadow-soft: 0 18px 45px rgba(70, 45, 28, 0.08);
  --shadow-hover: 0 24px 70px rgba(70, 45, 28, 0.13);
}

html,
body {
  background: var(--bg-main) !important;
  color: var(--text);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: auto;
  z-index: -1;
  background:
    radial-gradient(circle at 12% 8%, rgba(201,79,79,0.055), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(208,169,139,0.13), transparent 32%),
    linear-gradient(180deg, #f8f4ef 0%, #f4eee7 100%);
}

.section-kicker {
  color: #d4a017 !important;
}

.section-subtitle {
  color: var(--muted) !important;
}

/* Seções claras e padronizadas */
.produtos,
.produtos-pagina {
  background: transparent !important;
}

.produtos-home-carousel {
  padding-top: 82px;
  padding-bottom: 82px;
}

.card,
.barra-filtros-produtos,
.modal-box,
.carrinho-lateral {
  background: rgba(255,255,255,0.82) !important;
  border: 1px solid rgba(80,55,35,0.08);
  box-shadow: none;
}

.card:hover {
  box-shadow: none;
}

.btn-vermais,
.btn-adicionar-carrinho,
.btn-finalizar,
.btn-enviar-whatsapp {
  border-radius: 999px;
}

.btn-vermais,
.btn-adicionar-carrinho {
  background: #151515 !important;
  color: #fff !important;
}

.btn-vermais:hover,
.btn-adicionar-carrinho:hover {
  background: var(--accent-rose) !important;
}

/* Instagram editorial clean — sem fundo pesado */
.instagram-ultra {
  position: relative;
  padding: 92px 0 88px !important;
  overflow: hidden;
  color: #151515 !important;
  background:
    linear-gradient(180deg, #fffaf5 0%, #f3ebe3 100%) !important;
  border-top: 1px solid rgba(80,55,35,0.08);
  border-bottom: 1px solid rgba(80,55,35,0.08);
}

.instagram-ultra::before {
  content: "" !important;
  position: absolute !important;
  inset: 24px !important;
  display: block !important;
  border: 1px solid rgba(80,55,35,0.08) !important;
  pointer-events: none !important;
}

.instagram-ultra::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -150px;
  top: 28px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,79,79,0.12), transparent 65%);
  pointer-events: auto;
}

.instagram-ultra-header {
  position: relative;
  z-index: 2;
}

.instagram-ultra-header h2 {
  color: #151515 !important;
  font-family: 'Playfair Display', serif;
}

.instagram-ultra-header .section-subtitle {
  color: #706960 !important;
}

.btn-instagram-ultra {
  background: #fff !important;
  color: #151515 !important;
  border: 1px solid rgba(21,21,21,0.14) !important;
  box-shadow: none;
}

.btn-instagram-ultra i {
  color: var(--accent-rose);
}

.btn-instagram-ultra:hover {
  background: #d4a017 !important;
  color: #fff !important;
  transform: translateY(-3px);
  box-shadow: none;
}

.btn-instagram-ultra:hover i {
  color: #fff;
}

.instagram-showcase {
  gap: 22px !important;
}

.instagram-card {
  background: #fff !important;
  border-radius: 26px !important;
  color: #fff !important;
  border: 1px solid rgba(80,55,35,0.08);
  box-shadow: none;
}

.instagram-card::after {
  background: linear-gradient(180deg, rgba(0,0,0,0.00) 10%, rgba(0,0,0,0.52) 100%) !important;
}

.instagram-card:hover {
  box-shadow: none;
}

.instagram-card:hover img {
  filter: brightness(.96) saturate(1.03) !important;
}

.instagram-card-badge,
.instagram-hover {
  background: rgba(255,255,255,0.90) !important;
  color: #151515 !important;
  border: 1px solid rgba(255,255,255,0.55);
}

.instagram-card-content small {
  color: rgba(255,255,255,0.82) !important;
}

.instagram-card-cta {
  color: #151515 !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.95), rgba(250,244,238,.88)),
    radial-gradient(circle at 90% 8%, rgba(201,79,79,.16), transparent 42%) !important;
  border: 1px solid rgba(80,55,35,0.10) !important;
}

.instagram-card-cta i {
  background: #151515 !important;
  color: #fff !important;
}

.instagram-card-cta span {
  color: #6d665f !important;
}

/* Faixa Instagram da página produtos também clean */
.instagram-produtos-strip {
  background: linear-gradient(135deg, #fffaf5, #f2ebe4) !important;
  color: #151515 !important;
  border: 1px solid rgba(80,55,35,0.10);
  box-shadow: none;
}

.instagram-produtos-strip span {
  color: var(--accent-rose) !important;
}

.instagram-produtos-strip a {
  color: #151515 !important;
  border-color: rgba(21,21,21,0.14) !important;
  background: rgba(255,255,255,0.58);
}

.instagram-produtos-strip a:hover {
  background: #151515;
  color: #fff !important;
}

/* Footer diferenciado sem ficar pesado */
.footer-loja {
  background: #eee4da !important;
  color: #151515 !important;
  border-top: 1px solid rgba(80,55,35,0.12) !important;
}

.footer-logo,
.footer-col h3,
.footer-atendimento h3,
.footer-info strong {
  color: #151515 !important;
}

.footer-sobre p,
.footer-info p,
.footer-atendimento p {
  color: #6d665f !important;
}

.footer-col ul li a,
.footer-social a {
  color: #292929 !important;
}

.footer-col ul li a:hover,
.footer-social a:hover {
  color: var(--accent-rose) !important;
}

.footer-info {
  border-bottom-color: rgba(80,55,35,0.10) !important;
}

.footer-info span {
  color: var(--accent-rose) !important;
}

.pagamentos span,
.selos span {
  background: rgba(255,255,255,0.55) !important;
  border-color: rgba(80,55,35,0.10) !important;
  color: #151515 !important;
}

.sub-footer {
  background: #151515 !important;
  color: rgba(255,255,255,0.72) !important;
}

.sub-footer-container {
  color: rgba(255,255,255,0.72) !important;
}

.sub-footer a {
  color: #fff !important;
}

.sub-footer a:hover,
.sub-footer i {
  color: #e36b6b !important;
}

.sub-footer a::after {
  background: #e36b6b !important;
}

/* Mobile: Instagram mais leve e sem borda apertada */
@media (max-width: 600px) {
  .instagram-ultra {
    padding: 58px 0 48px !important;
  }

  .instagram-ultra::before {
    display: none !important;
  }

  .instagram-card,
  .instagram-card-large {
    box-shadow: none;
  }

  .footer-loja {
    background: #eee4da !important;
  }
}


/* =====================================================
   INSTAGRAM OFICIAL — GALERIA EDITORIAL SEM LINKS
   Mantém somente fotos com efeito visual clean.
===================================================== */
.instagram-showcase-gallery-only .instagram-card {
  cursor: default;
  pointer-events: auto;
}

.instagram-showcase-gallery-only .instagram-card-badge,
.instagram-showcase-gallery-only .instagram-card-content,
.instagram-showcase-gallery-only .instagram-hover,
.instagram-showcase-gallery-only .instagram-card-cta {
  display: none !important;
}

.instagram-showcase-gallery-only .instagram-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.10));
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: auto;
}

.instagram-showcase-gallery-only .instagram-card:hover::after {
  opacity: 1;
}

.instagram-showcase-gallery-only .instagram-card:hover img {
  transform: scale(1.055);
  filter: brightness(0.98) contrast(1.04) saturate(1.04);
}


/* =====================================================
   CTA INSTAGRAM — NÍVEL PREMIUM CLEAN
   Último card volta a ser clicável para produtos.html,
   mantendo a galeria editorial sem textos nas fotos.
===================================================== */
.instagram-showcase-gallery-only .instagram-card-cta-premium {
  display: flex !important;
  position: relative;
  min-height: 100%;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  padding: clamp(24px, 3vw, 38px);
  text-decoration: none;
  color: #151515 !important;
  cursor: pointer;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 85% 12%, rgba(201, 79, 79, 0.20), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.92), rgba(246,239,232,0.78)) !important;
  border: 1px solid rgba(80,55,35,0.12) !important;
  box-shadow: none;
  backdrop-filter: blur(14px);
}

.instagram-showcase-gallery-only .instagram-card-cta-premium::before {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 14px;
  z-index: -1;
  pointer-events: auto;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium::after {
  content: "";
  position: absolute;
  width: 140px;
  height: 140px;
  right: -42px;
  bottom: -42px;
  border-radius: 50%;
  background: rgba(201,79,79,0.12);
  filter: blur(2px);
  opacity: 1;
  pointer-events: auto;
  transition: transform 0.45s ease, opacity 0.45s ease;
}

.instagram-cta-orb {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  background: #151515;
  color: #fff;
  box-shadow: none;
  transition: transform 0.35s ease, background 0.35s ease;
}

.instagram-cta-orb i {
  font-size: 19px;
}

.instagram-card-cta-premium small {
  color: var(--accent-rose, #c94f4f);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.instagram-card-cta-premium strong {
  max-width: 220px;
  color: #151515;
  font-family: 'Playfair Display', serif;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.instagram-card-cta-premium span {
  margin-top: 8px;
  color: #6d665f !important;
  font-size: 14px;
  font-weight: 750;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:hover {
  transform: translateY(-8px);
  box-shadow: none;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:hover::after {
  transform: scale(1.25) translate(-8px, -8px);
  opacity: 0.9;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:hover .instagram-cta-orb {
  transform: translateY(-3px) scale(1.04);
  background: var(--accent-rose, #c94f4f);
}

@media (max-width: 768px) {
  .instagram-showcase-gallery-only .instagram-card-cta-premium {
    min-height: 250px;
    align-items: center;
    text-align: center;
  }

  .instagram-card-cta-premium strong {
    max-width: 280px;
  }
}


/* =====================================================
   CTA INSTAGRAM — INTERAÇÃO NÍVEL APPLE CLEAN
   Movimento magnético suave, brilho discreto e sombra leve.
===================================================== */
.instagram-showcase-gallery-only .instagram-card-cta-premium {
  --mx: 50%;
  --my: 50%;
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  transform: perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0);
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform 0.22s ease, box-shadow 0.28s ease, border-color 0.28s ease;
  box-shadow: none;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium::before {
  border-color: rgba(255,255,255,0.68);
  transition: opacity 0.28s ease, border-color 0.28s ease;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium::after {
  width: 220px;
  height: 220px;
  right: auto;
  bottom: auto;
  left: var(--mx);
  top: var(--my);
  transform: translate(-50%, -50%) scale(0.72);
  background: radial-gradient(circle, rgba(201,79,79,0.18), rgba(255,255,255,0.10) 34%, transparent 68%);
  filter: blur(0);
  opacity: 0;
  transition: opacity 0.28s ease, transform 0.28s ease;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:hover {
  box-shadow: none;
  border-color: rgba(80,55,35,0.18) !important;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:hover::before {
  opacity: 0.9;
  border-color: rgba(255,255,255,0.86);
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.instagram-cta-orb {
  width: 50px;
  height: 50px;
  background: rgba(21,21,21,0.92);
  box-shadow: none;
  transform: translateZ(28px);
  transition: transform 0.28s ease, background 0.28s ease, box-shadow 0.28s ease;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:hover .instagram-cta-orb {
  transform: translateZ(42px) translateY(-2px) scale(1.035);
  background: rgba(201,79,79,0.92);
  box-shadow: none;
}

.instagram-card-cta-premium small,
.instagram-card-cta-premium strong,
.instagram-card-cta-premium span {
  position: relative;
  z-index: 2;
  transform: translateZ(24px);
}

.instagram-card-cta-premium span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: transform 0.28s ease, color 0.28s ease;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:hover span {
  transform: translateZ(30px) translateX(3px);
  color: #151515 !important;
}

.instagram-showcase-gallery-only .instagram-card-cta-premium:active {
  transform: perspective(900px) rotateX(0deg) rotateY(0deg) translateY(1px) scale(0.992);
}

@media (hover: none), (prefers-reduced-motion: reduce) {
  .instagram-showcase-gallery-only .instagram-card-cta-premium {
    transform: none !important;
    transition: box-shadow 0.25s ease, border-color 0.25s ease;
  }

  .instagram-showcase-gallery-only .instagram-card-cta-premium::after {
    display: none !important;
  }
}


/* =====================================================
   PÁGINA SOBRE — NÍVEL LUXO / EDITORIAL
===================================================== */
.pagina-sobre {
  background: var(--cream);
}


.sobre-intro {
  padding: 150px 20px 34px;
}

.sobre-intro-top {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 34px;
  padding: clamp(34px, 7vw, 72px);
  text-align: center;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.95), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.78), rgba(247,243,237,0.54));
  box-shadow: none;
  backdrop-filter: blur(18px);
}

.sobre-intro-top::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(0,0,0,0.055);
  border-radius: 26px;
  pointer-events: auto;
}

.badge-ano {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  padding: 8px 16px;
  border: 1px solid rgba(0,0,0,0.16);
  border-radius: 999px;
  background: rgba(255,255,255,0.72);
  color: #d4a017;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.sobre-intro-top h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(48px, 9vw, 104px);
  line-height: 0.9;
  letter-spacing: -4px;
  margin: 12px 0 20px;
  color: #111;
}

.sobre-frase {
  max-width: 760px;
  margin: 0 auto;
  color: #514c47;
  font-size: clamp(16px, 2vw, 21px);
  line-height: 1.7;
}

.sobre-hero-luxo {
  min-height: 92vh;
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  isolation: isolate;
}

.sobre-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 72% 38%, rgba(255,255,255,0.18), transparent 26%),
    linear-gradient(90deg, rgba(0,0,0,0.88), rgba(0,0,0,0.50), rgba(0,0,0,0.16)),
    url('../img/banner.jpg') center/cover no-repeat;
  z-index: -2;
  transform: scale(1.02);
}

.sobre-hero-luxo::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: linear-gradient(90deg, rgba(0,0,0,0.85), transparent 82%);
  z-index: -1;
}

.sobre-hero-content {
  padding-top: 120px;
  animation: entradaSuave 0.9s ease both;
}

.sobre-hero-content h1 {
  max-width: 780px;
  font-family: 'Playfair Display', serif;
  font-size: clamp(58px, 10vw, 132px);
  line-height: 0.86;
  letter-spacing: -5px;
  margin: 16px 0 22px;
}

.sobre-hero-content p {
  max-width: 620px;
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.55;
  color: rgba(255,255,255,0.86);
}

.sobre-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.btn-sobre-primary,
.btn-sobre-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 24px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: 0.3s ease;
}

.btn-sobre-primary {
  background: #fff;
  color: #050505;
}

.btn-sobre-secondary {
  color: #fff;
  border: 1px solid rgba(255,255,255,0.36);
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(12px);
}

.btn-sobre-primary:hover,
.btn-sobre-secondary:hover {
  transform: translateY(-3px);
}

.sobre-luxo-section {
  padding: 34px 20px 34px;
}

.sobre-luxo-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 34px;
  align-items: stretch;
}

.sobre-luxo-copy,
.sobre-luxo-card,
.sobre-valor-card,
.sobre-editorial-inner {
  border: 1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.58);
  box-shadow: none;
  backdrop-filter: blur(18px);
}

.sobre-luxo-copy {
  padding: clamp(28px, 5vw, 58px);
  border-radius: 34px;
}

.sobre-luxo-copy h2 {
  max-width: 720px;
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 5vw, 66px);
  line-height: 0.98;
  letter-spacing: -2px;
  margin: 12px 0 26px;
}

.sobre-luxo-copy p {
  color: #45413d;
  font-size: 17px;
  line-height: 1.9;
  margin-top: 18px;
}

.sobre-luxo-card {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  padding: 38px;
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.10), rgba(0,0,0,0.70)),
    url('../img/fundadora.jpg') center/cover no-repeat;
  color: #fff;
}

.sobre-luxo-card::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(255,255,255,0.38);
  border-radius: 26px;
  pointer-events: auto;
}

.sobre-card-number {
  position: absolute;
  top: 34px;
  left: 260px;
  font-family: 'Playfair Display', serif;
  font-size: 58px;
  font-weight: 800;
  line-height: 1;
  color: rgba(255,255,255,0.92);
}

.sobre-luxo-card h3,
.sobre-valor-card h3 {
  font-size: 24px;
  margin-bottom: 12px;
}

.sobre-luxo-card p {
  color: rgba(255,255,255,0.82);
  line-height: 1.65;
}

.sobre-valores-luxo {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding: 32px 20px 70px;
}

.sobre-valor-card {
  border-radius: 30px;
  padding: 34px;
  transition: 0.35s ease;
}

.sobre-valor-card:hover {
  transform: translateY(-8px);
  box-shadow: none;
}

.sobre-valor-card i {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #111;
  color: #fff;
  margin-bottom: 24px;
  box-shadow: none;
}

.sobre-valor-card p {
  color: #5f5a55;
  line-height: 1.75;
}

.sobre-editorial-banner {
  padding: 0 20px 88px;
}

.sobre-editorial-inner {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  padding: clamp(34px, 7vw, 76px);
  background:
    linear-gradient(90deg, rgba(0,0,0,0.82), rgba(0,0,0,0.99)),
    url('../img/minibannersobrenos.jpg') center/cover no-repeat;
  color: #fff;
}

.sobre-editorial-inner span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.72);
}

.sobre-editorial-inner h2 {
  max-width: 760px;
  font-family: 'Playfair Display', serif;
  font-size: clamp(34px, 5vw, 68px);
  line-height: 1;
  margin: 14px 0 28px;
}

.sobre-editorial-inner a {
  color: #fff;
  font-weight: 900;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.7);
  padding-bottom: 6px;
}

@media (max-width: 900px) {
  .sobre-luxo-grid,
  .sobre-valores-luxo {
    grid-template-columns: 1fr;
  }

  .sobre-hero-luxo {
    min-height: 82vh;
  }
}

@media (max-width: 600px) {
  .sobre-hero-content {
    padding-top: 110px;
  }

  .sobre-hero-content h1 {
    letter-spacing: -2.5px;
  }

  .sobre-hero-actions a {
    width: 100%;
  }

  .sobre-luxo-section {
    padding-top: 56px;
  }

  .sobre-luxo-copy,
  .sobre-luxo-card,
  .sobre-valor-card,
  .sobre-editorial-inner {
    border-radius: 24px;
  }

  .sobre-luxo-card {
    min-height: 360px;
  }
}


@media (max-width: 600px) {
  .sobre-intro {
    padding-top: 118px;
    padding-bottom: 24px;
  }

  .sobre-intro-top {
    border-radius: 24px;
    padding: 34px 22px;
  }

  .sobre-intro-top::before {
    inset: 12px;
    border-radius: 18px;
  }

  .sobre-intro-top h1 {
    letter-spacing: -2.4px;
  }
}

/* =====================================================
   CORREÇÃO: MENU DA PÁGINA SOBRE IGUAL AO PRODUTOS
   Mantém exatamente a mesma cor, blur e borda do header de produtos.
===================================================== */
.pagina-sobre header {
  background: rgba(10,10,10,0.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pagina-sobre .navbar,
.pagina-sobre .logo,
.pagina-sobre .menu a,
.pagina-sobre .menu-mobile {
  color: #fff;
}


/* =====================================================
   CORREÇÃO MOBILE — SOBRE NÓS + LINKS SEM EXTENSÃO
   1) No mobile, a foto da fundadora começa pelo topo.
   2) Mantém o card elegante sem cortar a cabeça da foto.
===================================================== */
@media (max-width: 600px) {
  .pagina-sobre .sobre-luxo-card {
    min-height: 430px;
    padding: 30px 24px;
    background-position: center top !important;
    background-size: cover !important;
  }

  .pagina-sobre .sobre-card-number {
    top: 26px;
    left: 26px;
    font-size: 46px;
  }
}


/* ===== Cores por nome + referência do produto ===== */
.produto-referencia {
  display: inline-flex;
  width: fit-content;
  margin: 6px 0 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #f4efe8;
  color: #5f554c;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.cores.cores-texto {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.cor.cor-texto,
.filtro-cor.filtro-cor-texto {
  width: auto;
  min-width: auto;
  height: auto;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid #ded8cf;
  background: #fff;
  color: #111;
  box-shadow: none;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: .25s ease;
}

.cor.cor-texto:hover,
.filtro-cor.filtro-cor-texto:hover {
  transform: translateY(-1px);
  border-color: #111;
}

.cor.cor-texto.ativo,
.filtro-cor.filtro-cor-texto.ativo {
  background: #111;
  color: #fff;
  border-color: #111;
  transform: translateY(-1px);
  box-shadow: none;
}

/* =====================================================
   ULTRA CARD PREMIUM — cards menores, elegantes e leves
   Mantém carrinho, WhatsApp, cores por texto e referência
===================================================== */
.produtos .grid {
  gap: 22px !important;
}

.produtos .card {
  border-radius: 22px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(17,17,17,.07) !important;
  box-shadow: none;
  transform: translateY(0) !important;
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease !important;
}

.produtos .card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(17,17,17,.14) !important;
  box-shadow: none;
}

.produtos .produto-img {
  height: 300px !important;
  background: linear-gradient(135deg,#f2eee8,#e8dfd4) !important;
  overflow: hidden !important;
}

.produtos 

.produtos .produto-img img {
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  filter: saturate(.98) contrast(1.02) !important;
  transition: opacity .36s ease, transform .45s ease, filter .45s ease !important;
}

.produtos .card:hover .produto-img img {
  filter: saturate(1.03) contrast(1.04) !important;
}

.produtos .card:hover .img-hover,
.produtos .card:hover .img-principal {
  transform: scale(1.045) !important;
}

.produtos .card-info {
  padding: 14px 14px 15px !important;
}

.produtos .card-info h3 {
  margin: 0 0 6px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: .45px !important;
  text-transform: uppercase !important;
  color: #14100d !important;
}

.produtos .card-info > p:first-of-type {
  margin: 0 0 6px !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: -.35px !important;
  color: #111 !important;
}

.produtos .produto-referencia,
.produtos .frete-info {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
  padding: 5px 8px !important;
  font-size: 9.5px !important;
  line-height: 1 !important;
  letter-spacing: .45px !important;
  border-radius: 999px !important;
}

.produtos .produto-referencia {
  background: #111 !important;
  color: #fff !important;
}

.produtos .frete-info {
  background: #f5f0ea !important;
  color: #70665c !important;
}

.produtos .variacoes {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(17,17,17,.07) !important;
}

.produtos .variacoes p {
  margin: 8px 0 5px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  color: #6f665e !important;
  font-weight: 950 !important;
  letter-spacing: .7px !important;
  text-transform: uppercase !important;
}

.produtos .tamanhos,
.produtos .cores.cores-texto {
  gap: 6px !important;
  margin-top: 0 !important;
}

.produtos .btn-tamanho,
.produtos .cor.cor-texto,
.produtos .filtro-cor.filtro-cor-texto {
  min-height: 30px !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  border: 1px solid rgba(17,17,17,.12) !important;
  background: #fff !important;
  color: #1a1714 !important;
}

.produtos .btn-tamanho.ativo,
.produtos .cor.cor-texto.ativo,
.produtos .filtro-cor.filtro-cor-texto.ativo {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
  transform: translateY(-1px) !important;
}

.produtos .quantidade-produto {
  height: 34px !important;
  border-radius: 999px !important;
  background: #f7f3ee !important;
  border: 1px solid rgba(17,17,17,.08) !important;
  overflow: hidden !important;
}

.produtos .quantidade-produto button {
  width: 34px !important;
  height: 34px !important;
  font-size: 17px !important;
}

.produtos .quantidade-produto input {
  height: 34px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.produtos .btn-adicionar-carrinho,
.produtos .btn-whatsapp {
  min-height: 39px !important;
  margin-top: 9px !important;
  padding: 10px 12px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
  font-weight: 950 !important;
  letter-spacing: .25px !important;
  box-shadow: none;
}

.produtos .btn-adicionar-carrinho {
  background: #111 !important;
}

.produtos .btn-adicionar-carrinho:hover {
  background: #2a2521 !important;
  transform: translateY(-1px) !important;
}

.produtos .btn-whatsapp {
  background: #25D366 !important;
}

.produtos .btn-whatsapp:hover {
  background: #1fbd5a !important;
  transform: translateY(-1px) !important;
  box-shadow: none;
}

.produtos .badge {
  top: 12px !important;
  left: 12px !important;
  padding: 6px 9px !important;
  border-radius: 999px !important;
  font-size: 9.5px !important;
  letter-spacing: .8px !important;
  box-shadow: none;
}

/* Home: carrossel mais compacto para aparecer mais produto na tela */
body:not(.pagina-produtos) .produtos-home-carousel .produtos-carousel-track {
  gap: 20px !important;
}

body:not(.pagina-produtos) .produtos-home-carousel .card {
  flex: 0 0 calc((100% - 60px) / 4) !important;
  min-width: calc((100% - 60px) / 4) !important;
}

body:not(.pagina-produtos) .produtos-home-carousel .produto-img {
  height: 280px !important;
}

body:not(.pagina-produtos) .produtos-home-carousel .produtos-carousel-viewport {
  padding: 8px 6px 28px !important;
}

@media (max-width: 1100px) {
  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: calc((100% - 40px) / 3) !important;
    min-width: calc((100% - 40px) / 3) !important;
  }

  .produtos .produto-img {
    height: 285px !important;
  }
}

@media (max-width: 800px) {
  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: calc((100% - 18px) / 2) !important;
    min-width: calc((100% - 18px) / 2) !important;
  }

  .produtos .produto-img,
  body:not(.pagina-produtos) .produtos-home-carousel .produto-img {
    height: 255px !important;
  }
}

@media (max-width: 560px) {
  .produtos .grid {
    gap: 18px !important;
  }

  .produtos .card {
    border-radius: 20px !important;
  }

  .produtos .produto-img,
  body:not(.pagina-produtos) .produtos-home-carousel .produto-img {
    height: 245px !important;
  }

  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: 78% !important;
    min-width: 78% !important;
  }

  .produtos .card-info {
    padding: 13px !important;
  }

  .produtos .card-info h3 {
    font-size: 12.5px !important;
  }

  .produtos .card-info > p:first-of-type {
    font-size: 15px !important;
  }

  .produtos .btn-adicionar-carrinho,
  .produtos .btn-whatsapp {
    min-height: 38px !important;
    font-size: 11px !important;
  }
}

/* =====================================================
   FLAGSHIP FIT — CARD DE MODA VERTICAL PROFISSIONAL
   Mostra corpo completo da modelo sem quebrar o layout
===================================================== */
.produtos .produto-img,
body:not(.pagina-produtos) .produtos-home-carousel .produto-img {
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.95), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, #f9f6f1 0%, #eee6dc 100%) !important;
  isolation: isolate !important;
}

.produtos 

.produtos 

.produtos .produto-img img,
body:not(.pagina-produtos) .produtos-home-carousel .produto-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center top !important;
  padding: 10px 8px 0 !important;
  filter: saturate(1.01) contrast(1.025) !important;
  transform-origin: center top !important;
  transition: opacity .38s ease, transform .52s cubic-bezier(.2,.75,.2,1), filter .52s ease !important;
  z-index: 0 !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
}

.produtos .card:hover .produto-img img {
  filter: saturate(1.05) contrast(1.045) !important;
}

.produtos .card:hover .img-principal,
.produtos .card:hover .img-hover {
  transform: scale(1.025) translateY(-2px) !important;
}

.produtos .img-principal {
  opacity: 1 !important;
}

.produtos .img-hover {
  opacity: 0 !important;
}

.produtos .card:hover .img-principal {
  opacity: 0 !important;
}

.produtos .card:hover .img-hover {
  opacity: 1 !important;
}

.produtos .card {
  display: flex !important;
  flex-direction: column !important;
}

.produtos .card-info {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.produtos .btn-whatsapp {
  margin-top: 8px !important;
}

.produtos .btn-adicionar-carrinho {
  margin-top: auto !important;
}

body:not(.pagina-produtos) .produtos-home-carousel .card {
  flex: 0 0 calc((100% - 60px) / 4) !important;
  min-width: calc((100% - 60px) / 4) !important;
}

@media (max-width: 1100px) {
  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: calc((100% - 40px) / 3) !important;
    min-width: calc((100% - 40px) / 3) !important;
  }
}

@media (max-width: 800px) {
  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: calc((100% - 18px) / 2) !important;
    min-width: calc((100% - 18px) / 2) !important;
  }

  .produtos .produto-img,
  body:not(.pagina-produtos) .produtos-home-carousel .produto-img {
    aspect-ratio: 3 / 4.25 !important;
  }

  .produtos .produto-img img,
  body:not(.pagina-produtos) .produtos-home-carousel .produto-img img {
    padding: 8px 6px 0 !important;
  }
}

@media (max-width: 560px) {
  body:not(.pagina-produtos) .produtos-home-carousel .card {
    flex-basis: 82% !important;
    min-width: 82% !important;
  }

  .produtos .produto-img,
  body:not(.pagina-produtos) .produtos-home-carousel .produto-img {
    aspect-ratio: 3 / 4.45 !important;
  }

  .produtos 
}

/* =====================================================
   INTERAÇÃO NÍVEL APPLE — VARIAÇÕES, QUANTIDADE E BOTÕES
   Mais respiro, toque suave e acabamento premium no card
===================================================== */
.produtos .card-info {
  padding: 18px 16px 20px !important;
  gap: 0 !important;
}

.produtos .produto-referencia {
  margin: 8px 0 6px !important;
}

.produtos .frete-info {
  margin: 6px 0 2px !important;
}

.produtos .variacoes {
  margin-top: 16px !important;
  padding-top: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 13px !important;
  border-top: 1px solid rgba(17,17,17,.075) !important;
}

.produtos .variacoes p {
  margin: 0 0 7px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  color: #766b60 !important;
  font-weight: 950 !important;
  letter-spacing: .85px !important;
  text-transform: uppercase !important;
}

.produtos .tamanhos,
.produtos .cores.cores-texto {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin-top: 0 !important;
}

.produtos .btn-tamanho,
.produtos .cor.cor-texto,
.produtos .filtro-cor.filtro-cor-texto {
  min-height: 34px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(17,17,17,.11) !important;
  background: rgba(255,255,255,.86) !important;
  color: #17130f !important;
  box-shadow: none;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    border-color .22s ease,
    background .22s ease,
    color .22s ease,
    box-shadow .22s ease !important;
}

.produtos .btn-tamanho:hover,
.produtos .cor.cor-texto:hover,
.produtos .filtro-cor.filtro-cor-texto:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(17,17,17,.28) !important;
  box-shadow: none;
}

.produtos .btn-tamanho:active,
.produtos .cor.cor-texto:active,
.produtos .filtro-cor.filtro-cor-texto:active,
.produtos .apple-pressing {
  transform: scale(.965) !important;
}

.produtos .btn-tamanho.ativo,
.produtos .cor.cor-texto.ativo,
.produtos .filtro-cor.filtro-cor-texto.ativo {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
  box-shadow: none;
}

.produtos .quantidade-produto {
  width: fit-content !important;
  min-width: 132px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
  margin-top: 0 !important;
  border-radius: 999px !important;
  background: rgba(247,243,238,.96) !important;
  border: 1px solid rgba(17,17,17,.085) !important;
  box-shadow: none;
  overflow: hidden !important;
}

.produtos .quantidade-produto button {
  width: 42px !important;
  height: 40px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #111 !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
  transition: background .2s ease, color .2s ease, transform .18s cubic-bezier(.2,.8,.2,1) !important;
}

.produtos .quantidade-produto button:hover {
  background: #111 !important;
  color: #fff !important;
  transform: none !important;
}

.produtos .quantidade-produto button:active,
.produtos .quantidade-produto button.apple-pressing {
  transform: scale(.90) !important;
}

.produtos .quantidade-produto input {
  width: 48px !important;
  height: 40px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  outline: none !important;
}

.produtos .btn-adicionar-carrinho,
.produtos .btn-whatsapp {
  min-height: 44px !important;
  margin-top: 12px !important;
  padding: 12px 16px !important;
  border-radius: 999px !important;
  letter-spacing: .25px !important;
  position: relative !important;
  overflow: hidden !important;
  transform: translateY(0) !important;
  transition:
    transform .25s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s ease,
    filter .25s ease,
    background .25s ease !important;
}

.produtos .btn-adicionar-carrinho {
  margin-top: 18px !important;
  box-shadow: none;
}

.produtos .btn-whatsapp {
  margin-top: 10px !important;
  box-shadow: none;
}

.produtos .btn-adicionar-carrinho::before,
.produtos .btn-whatsapp::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.18) 45%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .7s cubic-bezier(.2,.8,.2,1);
  pointer-events: auto;
}

.produtos .btn-adicionar-carrinho:hover::before,
.produtos .btn-whatsapp:hover::before {
  transform: translateX(120%);
}

.produtos .btn-adicionar-carrinho:hover,
.produtos .btn-whatsapp:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.02) !important;
}

.produtos .btn-adicionar-carrinho:active,
.produtos .btn-whatsapp:active,
.produtos .btn-adicionar-carrinho.apple-pressing,
.produtos .btn-whatsapp.apple-pressing {
  transform: scale(.98) !important;
}

@media (max-width: 600px) {
  .produtos .card-info {
    padding: 16px 14px 18px !important;
  }

  .produtos .variacoes {
    gap: 12px !important;
  }

  .produtos .btn-tamanho,
  .produtos .cor.cor-texto {
    min-height: 36px !important;
    padding: 9px 13px !important;
  }

  .produtos .quantidade-produto {
    height: 42px !important;
    min-width: 138px !important;
  }

  .produtos .quantidade-produto button,
  .produtos .quantidade-produto input {
    height: 42px !important;
  }
}


/* =====================================================
   AJUSTE AUTOMÁTICO INTELIGENTE — IMAGENS DE PRODUTO
   Preenche o card sem borda branca e mantém fallback premium
===================================================== */
.produtos .produto-img,
body:not(.pagina-produtos) .produtos-home-carousel .produto-img {
  --produto-foto-bg: none;
  background: #f6f1ea !important;
}

.produtos .produto-img::before,
body:not(.pagina-produtos) .produtos-home-carousel 

.produtos .produto-img::after,
body:not(.pagina-produtos) .produtos-home-carousel 

.produtos .produto-img img,
body:not(.pagina-produtos) .produtos-home-carousel .produto-img img {
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  z-index: 2 !important;
}

.produtos .produto-img.img-fit-cover img {
  object-fit: cover !important;
  padding: 0 !important;
}

.produtos .produto-img.img-fit-contain {
  background: #f6f1ea !important;
}

.produtos .produto-img.img-fit-contain::before {
  opacity: .78 !important;
}

.produtos .produto-img.img-fit-contain img {
  object-fit: contain !important;
  object-position: center top !important;
  padding: 0 !important;
}

.produtos .produto-img.img-pos-top img { object-position: center top !important; }
.produtos .produto-img.img-pos-center img { object-position: center center !important; }

.produtos .card:hover .produto-img.img-fit-cover img {
  transform: scale(1.045) translateY(-2px) !important;
}

.produtos .card:hover .produto-img.img-fit-contain img {
  transform: scale(1.018) translateY(-1px) !important;
}

@media (max-width: 560px) {
  .produtos .produto-img.img-fit-contain img,
  body:not(.pagina-produtos) .produtos-home-carousel .produto-img.img-fit-contain img {
    padding: 0 !important;
  }
}



/* =====================================================
   MODAL PRODUTO — opções + botões premium modernos
===================================================== */
.modal-produto-grupo-opcao > span {
  display: block !important;
  margin-bottom: 9px !important;
  color: #6d6258 !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: 1.1px !important;
  text-transform: uppercase !important;
}

.modal-produto-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.modal-produto-chip {
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.72) !important;
  color: #1b1b1b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  box-shadow: none;
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease !important;
}

.modal-produto-chip:hover {
  transform: translateY(-2px) !important;
  background: #fff !important;
  box-shadow: none;
}

.modal-produto-chip.ativo {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
  box-shadow: none;
}

.modal-produto-chip-cor {
  text-transform: capitalize !important;
}

.modal-produto-quantidade {
  width: fit-content !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.74) !important;
  box-shadow: none;
}

.modal-produto-quantidade button {
  width: 42px !important;
  height: 42px !important;
  border: 0 !important;
  background: transparent !important;
  color: #111 !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  transition: background .22s ease, transform .22s ease !important;
}

.modal-produto-quantidade button:hover {
  background: rgba(0,0,0,.06) !important;
}

.modal-produto-quantidade button:active {
  transform: scale(.92) !important;
}

.modal-produto-quantidade input {
  width: 48px !important;
  height: 42px !important;
  border: 0 !important;
  border-inline: 1px solid rgba(0,0,0,.07) !important;
  background: transparent !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  text-align: center !important;
  outline: none !important;
  appearance: textfield !important;
  -moz-appearance: textfield !important;
}

.modal-produto-quantidade input::-webkit-outer-spin-button,
.modal-produto-quantidade input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.modal-produto-btn {
  width: 100% !important;
  min-height: 50px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 950 !important;
  letter-spacing: .35px !important;
  cursor: pointer !important;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease !important;
}

.modal-produto-btn i {
  font-size: 15px !important;
}

.modal-produto-btn:hover {
  transform: translateY(-2px) !important;
  filter: saturate(1.05) !important;
}

.modal-produto-btn:active {
  transform: translateY(0) scale(.985) !important;
}

.modal-produto-btn-carrinho {
  background: #111 !important;
  color: #fff !important;
  box-shadow: none;
}

.modal-produto-btn-whatsapp {
  background: linear-gradient(135deg, #20c964, #128c48) !important;
  color: #fff !important;
  box-shadow: none;
}

@media (max-width: 820px) {
  .modal-produto-btn {
    min-height: 48px !important;
    font-size: 12px !important;
  }
}


/* =====================================================
   LOGO CA BOUTIQUE — HEADER + FOOTER
   Troca visual da antiga CA BOUTIQUE sem alterar estrutura.
===================================================== */
.logo.logo-img-link {
  display: inline-flex;
  align-items: center;
  width: auto;
  min-width: 0;
  height: auto;
  padding: 0;
  line-height: 1;
  text-decoration: none;
  background: transparent !important;
  border: 0 !important;
  color: inherit;
  flex: 0 0 auto;
  position: relative;
  isolation: isolate;
}

.logo.logo-img-link::before,
.logo.logo-img-link::after {
  display: none !important;
  content: none !important;
}

.site-logo-img {
  display: block;
  width: auto;
  height: 64px;
  max-width: 210px;
  object-fit: contain;
  object-position: left center;
  filter: none;
  transition: transform 0.32s ease, filter 0.32s ease;
}

.logo.logo-img-link:hover .site-logo-img {
  transform: translateY(-2px) scale(1.035);
  filter:
    brightness(1.08)
    saturate(1.18)
    drop-shadow(0 0 8px rgba(247, 213, 111, 0.55))
    drop-shadow(0 12px 26px rgba(181, 125, 0, 0.32));
}

header.scrolled .site-logo-img,
.pagina-sobre .site-logo-img,
.pagina-produtos .site-logo-img {
  height: 58px;
}

.footer-logo.footer-logo-img-wrap {
  margin: 0 0 24px 0;
  font-size: 0 !important;
  line-height: 0;
  font-family: inherit !important;
  display: inline-block;
}

.footer-logo-img {
  display: block;
  width: 168px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left center;
  background: transparent !important;
  filter: none;
  transition: transform 0.32s ease, filter 0.32s ease;
}

.footer-logo.footer-logo-img-wrap:hover .footer-logo-img {
  transform: translateY(-2px) scale(1.04);
  filter:
    brightness(1.08)
    saturate(1.2)
    drop-shadow(0 0 8px rgba(247, 213, 111, 0.55))
    drop-shadow(0 12px 24px rgba(181, 125, 0, 0.24));
}

@media (max-width: 768px) {
  .site-logo-img,
  header.scrolled .site-logo-img,
  .pagina-sobre .site-logo-img,
  .pagina-produtos .site-logo-img {
    height: 52px;
    max-width: 170px;
  }
}

@media (max-width: 600px) {
  .footer-logo.footer-logo-img-wrap {
    margin-bottom: 20px;
  }

  .footer-logo-img {
    width: 150px;
    margin: 0 auto;
    object-position: center;
  }
}


/* === FIX FOOTER LOGO CLEAN === */
.footer-logo img {
  max-width: 160px;
  height: auto;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.footer-logo img:hover {
  transform: scale(1.03);
  opacity: 0.9;
  filter: none;
}

.footer-logo,
.footer-logo * {
  box-shadow: none !important;
  filter: none !important;
}

/* =====================================================
   ULTRA ESTOQUE — variações por cor/tamanho/foto
===================================================== */
.produtos .estoque-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(17,17,17,.06);
  color: #222;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .02em;
}
.produtos .estoque-status.baixo-estoque {
  background: rgba(255,152,0,.13);
  color: #9a5a00;
}
.produtos .estoque-status.sem-estoque {
  background: rgba(255,44,44,.10);
  color: #c01616;
}
.produtos .btn-tamanho.indisponivel,
.produtos .cor.cor-texto.indisponivel {
  opacity: .38;
  cursor: not-allowed;
  filter: grayscale(1);
  text-decoration: line-through;
}
.produtos .btn-tamanho:disabled,
.produtos .cor:disabled,
.produtos .btn-adicionar-carrinho:disabled,
.produtos .btn-whatsapp:disabled {
  cursor: not-allowed;
  opacity: .55;
  transform: none !important;
}
.produtos .produto-esgotado .produto-img img {
  filter: grayscale(.9) brightness(.9);
}
.badge-esgotado {
  right: 10px;
  left: auto;
  background: #111;
}
.produtos .cor.cor-texto.ativo {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111, 0 12px 30px rgba(0,0,0,.14);
}

/* MODAL PRODUTO — variações cor primeiro + bloqueio elegante */
.modal-produto-chip:disabled,
.modal-produto-chip.indisponivel,
.modal-produto-btn:disabled {
  opacity: .38 !important;
  cursor: not-allowed !important;
  filter: grayscale(.25) !important;
  transform: none !important;
  box-shadow: none !important;
}

.modal-produto-chip:disabled:hover,
.modal-produto-chip.indisponivel:hover,
.modal-produto-btn:disabled:hover {
  transform: none !important;
  background: rgba(255,255,255,.72) !important;
}

.modal-produto-chip.ativo:not(:disabled) {
  opacity: 1 !important;
}


/* =====================================================
   PÁGINA COMO COMPRAR — CA BOUTIQUE
===================================================== */
.pagina-como-comprar {
  background: #f7f3ed;
  color: #111;
}

.pagina-como-comprar header {
  background: rgba(10,10,10,0.82);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.como-comprar-hero {
  position: relative;
  min-height: 68vh;
  padding: 160px 20px 90px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,0.12), transparent 32%),
    linear-gradient(135deg, rgba(0,0,0,0.92), rgba(0,0,0,0.70)),
    url('../img/banner.jpg') center/cover no-repeat;
  color: #fff;
}

.como-comprar-hero::before {
  content: "";
  position: absolute;
  inset: 24px;
  border: 1px solid rgba(255,255,255,0.12);
  pointer-events: auto;
}

.como-comprar-hero::after {
  content: "COMPRA FÁCIL";
  position: absolute;
  right: -38px;
  bottom: 28px;
  font-size: clamp(52px, 11vw, 170px);
  font-weight: 950;
  letter-spacing: -0.08em;
  color: rgba(255,255,255,0.045);
  pointer-events: auto;
  white-space: nowrap;
}

.como-comprar-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

.como-comprar-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
}

.como-comprar-hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(48px, 8vw, 110px);
  line-height: 0.9;
  letter-spacing: -0.06em;
  margin: 0 auto 24px;
  text-transform: uppercase;
}

.como-comprar-hero p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(255,255,255,0.82);
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.65;
}

.como-comprar-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.como-comprar-btn,
.como-comprar-btn-outline {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 28px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: 0.28s ease;
}

.como-comprar-btn {
  background: #fff;
  color: #111;
}

.como-comprar-btn-outline {
  border: 1px solid rgba(255,255,255,0.35);
  color: #fff;
  background: rgba(255,255,255,0.05);
}

.como-comprar-btn:hover,
.como-comprar-btn-outline:hover {
  transform: translateY(-3px);
}

.como-comprar-main {
  padding: 88px 20px 96px;
}

.como-comprar-intro {
  max-width: 880px;
  margin: 0 auto 48px;
  text-align: center;
}

.como-comprar-intro h2,
.como-comprar-pagamento h2,
.como-comprar-seguranca h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(34px, 5vw, 68px);
  line-height: 0.96;
  letter-spacing: -0.05em;
  margin-bottom: 16px;
}

.como-comprar-intro p,
.como-comprar-seguranca p {
  color: #6d665f;
  font-size: 16px;
  line-height: 1.8;
}

.como-comprar-steps {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.como-comprar-step {
  position: relative;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(80,55,35,0.09);
  border-radius: 30px;
  padding: 30px 24px;
  min-height: 280px;
  overflow: hidden;
  transition: 0.3s ease;
}

.como-comprar-step:hover {
  transform: translateY(-6px);
  background: #fff;
}

.como-comprar-step::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  right: -48px;
  top: -48px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,79,79,0.12), transparent 66%);
}

.como-comprar-step-number {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 950;
  margin-bottom: 24px;
}

.como-comprar-step h3 {
  font-size: 17px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}

.como-comprar-step p {
  color: #6d665f;
  line-height: 1.72;
  font-size: 14px;
}

.como-comprar-pagamento {
  max-width: 1180px;
  margin: 80px auto 0;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 28px;
  align-items: stretch;
}

.como-comprar-pagamento-texto,
.como-comprar-alerta {
  background: #111;
  color: #fff;
  border-radius: 34px;
  padding: 42px;
  overflow: hidden;
  position: relative;
}

.como-comprar-pagamento-texto p {
  color: rgba(255,255,255,0.72);
  line-height: 1.8;
}

.como-comprar-pagamento-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.como-comprar-pay-card {
  background: #fff;
  border: 1px solid rgba(80,55,35,0.08);
  border-radius: 30px;
  padding: 32px;
}

.como-comprar-pay-card i {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #f4f1ec;
  color: #111;
  font-size: 20px;
  margin-bottom: 20px;
}

.como-comprar-pay-card h3 {
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}

.como-comprar-pay-card p {
  color: #6d665f;
  line-height: 1.75;
  font-size: 14px;
}

.como-comprar-seguranca {
  max-width: 1180px;
  margin: 28px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.como-comprar-alerta {
  background:
    radial-gradient(circle at 90% 15%, rgba(255,255,255,0.12), transparent 28%),
    #151515;
}

.como-comprar-alerta strong {
  display: block;
  font-size: 20px;
  margin-bottom: 12px;
}

.como-comprar-alerta p {
  color: rgba(255,255,255,0.72);
  line-height: 1.8;
}

.como-comprar-resumo {
  background: #fff;
  border: 1px solid rgba(80,55,35,0.08);
  border-radius: 34px;
  padding: 42px;
}

.como-comprar-resumo ul {
  list-style: none;
  display: grid;
  gap: 16px;
}

.como-comprar-resumo li {
  display: flex;
  gap: 12px;
  color: #5f574f;
  line-height: 1.6;
}

.como-comprar-resumo li i {
  color: #111;
  margin-top: 4px;
}

.como-comprar-cta-final {
  max-width: 1180px;
  margin: 70px auto 0;
  padding: 44px;
  border-radius: 34px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.90), rgba(250,244,238,0.90)),
    radial-gradient(circle at 8% 10%, rgba(201,79,79,0.12), transparent 36%);
  border: 1px solid rgba(80,55,35,0.08);
  text-align: center;
}

.como-comprar-cta-final h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(32px, 4.5vw, 58px);
  letter-spacing: -0.05em;
  margin-bottom: 12px;
}

.como-comprar-cta-final p {
  color: #6d665f;
  line-height: 1.7;
  max-width: 720px;
  margin: 0 auto 24px;
}

.como-comprar-cta-final .como-comprar-btn {
  background: #111;
  color: #fff;
}

@media (max-width: 1024px) {
  .como-comprar-steps,
  .como-comprar-pagamento,
  .como-comprar-seguranca {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .como-comprar-hero {
    min-height: 72vh;
    padding: 140px 18px 72px;
  }

  .como-comprar-hero::before {
    inset: 14px;
  }

  .como-comprar-actions,
  .como-comprar-pagamento-cards,
  .como-comprar-steps,
  .como-comprar-pagamento,
  .como-comprar-seguranca {
    grid-template-columns: 1fr;
  }

  .como-comprar-actions {
    display: grid;
  }

  .como-comprar-btn,
  .como-comprar-btn-outline {
    width: 100%;
  }

  .como-comprar-main {
    padding: 64px 16px 74px;
  }

  .como-comprar-step,
  .como-comprar-pagamento-texto,
  .como-comprar-alerta,
  .como-comprar-resumo,
  .como-comprar-cta-final {
    border-radius: 24px;
    padding: 28px;
  }
}


/* =====================================================
   PÁGINAS INSTITUCIONAIS SEM BANNER — MENU IGUAL
===================================================== */
.pagina-como-comprar header,
.pagina-politica-seguranca header {
  background: rgba(10,10,10,0.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pagina-como-comprar .site-logo-img,
.pagina-politica-seguranca .site-logo-img,
.pagina-como-comprar header.scrolled .site-logo-img,
.pagina-politica-seguranca header.scrolled .site-logo-img {
  height: 58px;
}

.pagina-como-comprar .como-comprar-main.pagina-sem-banner-main {
  padding-top: 148px;
}

.pagina-como-comprar .pagina-topo-sem-banner {
  max-width: 980px;
  margin: 0 auto 54px;
  text-align: center;
  padding: 42px 28px;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(255,255,255,0.90), rgba(250,244,238,0.90));
  border: 1px solid rgba(80,55,35,0.08);
  box-shadow: 0 24px 70px rgba(0,0,0,0.06);
}

.pagina-como-comprar .pagina-topo-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #8a7b6d;
}

.pagina-como-comprar .pagina-topo-sem-banner h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(42px, 7vw, 92px);
  line-height: 0.95;
  letter-spacing: -0.06em;
  margin: 0 auto 18px;
  text-transform: uppercase;
  color: #d4a017;
}

.pagina-como-comprar .pagina-topo-sem-banner p {
  max-width: 760px;
  margin: 0 auto;
  color: #6d665f;
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.75;
}

.pagina-topo-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

.pagina-topo-actions .como-comprar-btn {
  background: #111;
  color: #fff;
}

.pagina-topo-actions .como-comprar-btn-outline {
  border: 1px solid rgba(17,17,17,0.22);
  color: #111;
  background: rgba(255,255,255,0.65);
}

@media (max-width: 768px) {
  .pagina-como-comprar .site-logo-img,
  .pagina-politica-seguranca .site-logo-img,
  .pagina-como-comprar header.scrolled .site-logo-img,
  .pagina-politica-seguranca header.scrolled .site-logo-img {
    height: 52px;
    max-width: 170px;
  }
}

@media (max-width: 680px) {
  .pagina-como-comprar .como-comprar-main.pagina-sem-banner-main {
    padding-top: 124px;
  }

  .pagina-como-comprar .pagina-topo-sem-banner {
    padding: 30px 20px;
    border-radius: 24px;
    margin-bottom: 38px;
  }

  .pagina-topo-actions {
    display: grid;
  }

  .pagina-topo-actions .como-comprar-btn,
  .pagina-topo-actions .como-comprar-btn-outline {
    width: 100%;
  }
}


/* =========================================================
   PÁGINA: POLÍTICA DE SEGURANÇA
   CSS movido do HTML para manter a estrutura limpa
   ========================================================= */

.pagina-politica-seguranca { background: #f7f3ed; color: #111; }
    .seguranca-hero {
      min-height: 68vh;
      padding: 150px 22px 80px;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
      background:
        radial-gradient(circle at 78% 35%, rgba(255,255,255,0.18), transparent 28%),
        linear-gradient(120deg, rgba(0,0,0,0.90), rgba(0,0,0,0.62), rgba(0,0,0,0.22)),
        url('img/banner.jpg') center/cover no-repeat;
      color: #fff;
      isolation: isolate;
    }
    .seguranca-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
      background-size: 70px 70px;
      mask-image: linear-gradient(90deg, rgba(0,0,0,0.58), transparent 78%);
      z-index: -1;
    }
    .seguranca-hero-inner {
      width: min(1120px, 100%);
      animation: segurancaEntrada 0.85s ease both;
    }
    .seguranca-kicker {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 18px;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 3.2px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.82);
    }
    .seguranca-kicker::before {
      content: "";
      width: 34px;
      height: 1px;
      background: rgba(255,255,255,0.75);
    }
    .seguranca-hero h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(46px, 8vw, 104px);
      line-height: 0.9;
      letter-spacing: -4px;
      text-transform: uppercase;
      max-width: 830px;
    }
    .seguranca-hero p {
      margin-top: 22px;
      max-width: 670px;
      font-size: 18px;
      line-height: 1.7;
      color: rgba(255,255,255,0.84);
    }
    .seguranca-main {
      max-width: 1180px;
      margin: 0 auto;
      padding: 76px 22px 90px;
    }
    .seguranca-intro {
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 42px;
      align-items: end;
      margin-bottom: 36px;
    }
    .seguranca-intro h2,
    .seguranca-section h2,
    .seguranca-cta h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(32px, 4vw, 56px);
      line-height: 1;
      letter-spacing: -1.8px;
    }
    .seguranca-intro p {
      font-size: 16px;
      color: #555;
      line-height: 1.8;
    }
    .seguranca-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-bottom: 54px;
    }
    .seguranca-card,
    .seguranca-section,
    .seguranca-alerta,
    .seguranca-cta {
      background: rgba(255,255,255,0.78);
      border: 1px solid rgba(0,0,0,0.075);
      border-radius: 28px;
      box-shadow: 0 24px 70px rgba(0,0,0,0.08);
    }
    .seguranca-card {
      padding: 30px;
      min-height: 220px;
      transition: 0.35s ease;
    }
    .seguranca-card:hover {
      transform: translateY(-6px);
    }
    .seguranca-card i {
      width: 48px;
      height: 48px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: #111;
      color: #fff;
      margin-bottom: 20px;
      font-size: 18px;
    }
    .seguranca-card h3 {
      font-size: 18px;
      margin-bottom: 10px;
      letter-spacing: -0.4px;
    }
    .seguranca-card p {
      color: #5f5f5f;
      line-height: 1.72;
      font-size: 14px;
    }
    .seguranca-section {
      padding: 40px;
      margin-bottom: 22px;
    }
    .seguranca-section p {
      color: #555;
      line-height: 1.82;
      margin-top: 14px;
    }
    .seguranca-lista {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      margin-top: 28px;
      list-style: none;
      padding: 0;
    }
    .seguranca-lista li {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      padding: 16px;
      border-radius: 18px;
      background: #f7f3ed;
      color: #333;
      line-height: 1.55;
      font-size: 14px;
    }
    .seguranca-lista i {
      color: #111;
      margin-top: 3px;
    }
    .seguranca-pagamentos {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      margin-top: 26px;
    }
    .seguranca-pay {
      padding: 24px;
      border-radius: 22px;
      background: #111;
      color: #fff;
    }
    .seguranca-pay i {
      font-size: 24px;
      margin-bottom: 14px;
    }
    .seguranca-pay h3 {
      margin-bottom: 9px;
    }
    .seguranca-pay p {
      margin: 0;
      color: rgba(255,255,255,0.75);
      font-size: 14px;
    }
    .seguranca-alerta {
      padding: 30px;
      display: flex;
      gap: 18px;
      align-items: flex-start;
      margin: 34px 0;
      background: #111;
      color: #fff;
    }
    .seguranca-alerta i {
      width: 46px;
      height: 46px;
      flex: 0 0 46px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      background: rgba(255,255,255,0.12);
    }
    .seguranca-alerta strong {
      display: block;
      margin-bottom: 8px;
      font-size: 18px;
    }
    .seguranca-alerta p {
      margin: 0;
      color: rgba(255,255,255,0.76);
      line-height: 1.7;
    }
    .seguranca-cta {
      margin-top: 42px;
      padding: 48px;
      text-align: center;
      background: linear-gradient(135deg, #fff, #f1e9df);
    }
    .seguranca-cta p {
      max-width: 650px;
      margin: 16px auto 26px;
      color: #555;
      line-height: 1.75;
    }
    .seguranca-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 52px;
      padding: 0 30px;
      border-radius: 999px;
      background: #111;
      color: #fff;
      text-decoration: none;
      font-size: 13px;
      font-weight: 900;
      letter-spacing: 1px;
      text-transform: uppercase;
      transition: 0.3s ease;
    }
    .seguranca-btn:hover {
      transform: translateY(-3px);
      background: #000;
    }
    @keyframes segurancaEntrada {
      from { opacity: 0; transform: translateY(28px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @media (max-width: 900px) {
      .seguranca-intro,
      .seguranca-grid,
      .seguranca-lista,
      .seguranca-pagamentos { grid-template-columns: 1fr; }
      .seguranca-section { padding: 28px; }
    }
    @media (max-width: 600px) {
      .seguranca-hero { min-height: 58vh; padding: 128px 20px 64px; }
      .seguranca-hero h1 { letter-spacing: -2px; }
      .seguranca-hero p { font-size: 15px; }
      .seguranca-main { padding: 54px 18px 70px; }
      .seguranca-card { padding: 24px; }
      .seguranca-alerta { flex-direction: column; }
      .seguranca-cta { padding: 34px 22px; }
    }

    .pagina-politica-seguranca header {
      background: rgba(10,10,10,0.88);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .pagina-politica-seguranca .site-logo-img {
      height: 58px;
    }
    .seguranca-main.pagina-sem-banner-main {
      padding-top: 148px;
    }
    .pagina-politica-seguranca .pagina-topo-sem-banner {
      max-width: 980px;
      margin: 0 auto 54px;
      text-align: center;
      padding: 42px 28px;
      border-radius: 34px;
      background: linear-gradient(135deg, rgba(255,255,255,0.90), rgba(250,244,238,0.90));
      border: 1px solid rgba(80,55,35,0.08);
      box-shadow: 0 24px 70px rgba(0,0,0,0.06);
    }
    .pagina-politica-seguranca .pagina-topo-kicker {
      display: inline-flex;
      margin-bottom: 14px;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 0.28em;
      text-transform: uppercase;
      color: #d4a017;
    }
    .pagina-politica-seguranca .pagina-topo-sem-banner h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(42px, 7vw, 92px);
      line-height: 0.95;
      letter-spacing: -0.06em;
      margin: 0 auto 18px;
      text-transform: uppercase;
      color: #111;
    }
    .pagina-politica-seguranca .pagina-topo-sem-banner p {
      max-width: 760px;
      margin: 0 auto;
      color: #6d665f;
      font-size: clamp(15px, 2vw, 18px);
      line-height: 1.75;
    }
    @media (max-width: 600px) {
      .pagina-politica-seguranca .site-logo-img { height: 52px; }
      .seguranca-main.pagina-sem-banner-main { padding-top: 124px; }
      .pagina-politica-seguranca .pagina-topo-sem-banner { padding: 30px 20px; border-radius: 24px; margin-bottom: 38px; }
    }


/* =====================================================
   PÁGINA CONTATO — CA BOUTIQUE SEM BANNER
===================================================== */
.pagina-contato {
  background: #f7f3ed;
  color: #111;
}

.pagina-contato header {
  background: rgba(10,10,10,0.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.pagina-contato .site-logo-img,
.pagina-contato header.scrolled .site-logo-img {
  height: 58px;
}

.contato-main.pagina-sem-banner-main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 148px 22px 90px;
}

.pagina-contato .pagina-topo-sem-banner {
  max-width: 980px;
  margin: 0 auto 54px;
  text-align: center;
  padding: 42px 28px;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(250,244,238,0.92));
  border: 1px solid rgba(80,55,35,0.08);
  box-shadow: 0 24px 70px rgba(0,0,0,0.06);
}

.pagina-contato .pagina-topo-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #d4a017;
}

.pagina-contato .pagina-topo-sem-banner h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(42px, 7vw, 92px);
  line-height: 0.95;
  letter-spacing: -0.06em;
  margin: 0 auto 18px;
  text-transform: uppercase;
  color: #111;
}

.pagina-contato .pagina-topo-sem-banner p {
  max-width: 760px;
  margin: 0 auto;
  color: #6d665f;
  font-size: clamp(15px, 2vw, 18px);
  line-height: 1.75;
}

.contato-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 28px;
  align-items: stretch;
}

.contato-canais,
.contato-form-card,
.contato-info-card,
.contato-cta {
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0,0,0,0.075);
  border-radius: 30px;
  box-shadow: 0 24px 70px rgba(0,0,0,0.07);
}

.contato-canais,
.contato-form-card {
  padding: 38px;
}

.contato-canais h2,
.contato-form-card h2,
.contato-info-card h3,
.contato-cta h2 {
  font-family: 'Playfair Display', serif;
  letter-spacing: -0.04em;
}

.contato-canais h2,
.contato-form-card h2 {
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1;
  margin-bottom: 14px;
}

.contato-canais > p,
.contato-form-card > p {
  color: #6d665f;
  line-height: 1.8;
  margin-bottom: 26px;
}

.contato-lista-canais {
  display: grid;
  gap: 14px;
}

.contato-canal {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border-radius: 22px;
  background: #fff;
  text-decoration: none;
  color: #111;
  border: 1px solid rgba(0,0,0,0.06);
  transition: 0.3s ease;
}

.contato-canal:hover {
  transform: translateY(-4px);
  border-color: rgba(0,0,0,0.16);
}

.contato-canal i:first-child {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-size: 20px;
}

.contato-canal strong {
  display: block;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
}

.contato-canal span {
  color: #6d665f;
  font-size: 14px;
}

.contato-canal .fa-arrow-right {
  color: #999;
}

.contato-form {
  display: grid;
  gap: 13px;
}

.contato-form label {
  display: grid;
  gap: 7px;
  color: #222;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.contato-form input,
.contato-form textarea,
.contato-form select {
  width: 100%;
  border: 1px solid rgba(0,0,0,0.10);
  background: #fff;
  border-radius: 16px;
  padding: 14px 16px;
  outline: none;
  font-size: 14px;
  color: #111;
  transition: 0.25s ease;
}

.contato-form textarea {
  min-height: 132px;
  resize: vertical;
}

.contato-form input:focus,
.contato-form textarea:focus,
.contato-form select:focus {
  border-color: #111;
  box-shadow: 0 0 0 4px rgba(0,0,0,0.06);
}

.btn-contato-whatsapp {
  margin-top: 8px;
  min-height: 54px;
  border: none;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: 0.3s ease;
}

.btn-contato-whatsapp:hover {
  transform: translateY(-3px);
  background: #000;
}

.contato-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.contato-info-card {
  padding: 28px;
}

.contato-info-card i {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #111;
  color: #fff;
  margin-bottom: 18px;
}

.contato-info-card h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

.contato-info-card p {
  color: #6d665f;
  line-height: 1.75;
  font-size: 14px;
}

.contato-cta {
  margin-top: 28px;
  padding: 44px;
  text-align: center;
  background: linear-gradient(135deg, #fff, #f1e9df);
}

.contato-cta h2 {
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1;
  margin-bottom: 12px;
}

.contato-cta p {
  max-width: 680px;
  margin: 0 auto 24px;
  color: #6d665f;
  line-height: 1.75;
}

.contato-btn-produtos {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 30px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: 0.3s ease;
}

.contato-btn-produtos:hover {
  transform: translateY(-3px);
}

@media (max-width: 960px) {
  .contato-grid,
  .contato-info-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .pagina-contato .site-logo-img,
  .pagina-contato header.scrolled .site-logo-img {
    height: 52px;
    max-width: 170px;
  }
}

@media (max-width: 600px) {
  .contato-main.pagina-sem-banner-main {
    padding: 124px 16px 72px;
  }

  .pagina-contato .pagina-topo-sem-banner,
  .contato-canais,
  .contato-form-card,
  .contato-info-card,
  .contato-cta {
    border-radius: 24px;
  }

  .pagina-contato .pagina-topo-sem-banner,
  .contato-canais,
  .contato-form-card,
  .contato-cta {
    padding: 28px 20px;
  }

  .contato-canal {
    grid-template-columns: 44px 1fr;
  }

  .contato-canal i:first-child {
    width: 44px;
    height: 44px;
  }

  .contato-canal .fa-arrow-right {
    display: none;
  }
}



/* MOBILE */
@media (max-width: 768px) {
  .beneficios-loja {
    flex-direction: column;
    gap: 22px;
    padding: 20px;
  }

  .beneficio-item {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .beneficio-item div {
    align-items: center;
  }
}

/* BENEFÍCIOS HOME - ULTRA PREMIUM */
.beneficios-loja {
  width: 100%;
  background: #f7f3ee;
  border-top: 1px solid rgba(0,0,0,0.06);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  padding: 26px 20px;
  position: relative;
  overflow: hidden;
}

.beneficios-loja::before {
  display: none;
}

.beneficios-loja-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0,0,0,0.055);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.055);
  backdrop-filter: blur(14px);
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.beneficio-item {
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px 28px;
  text-align: left;
  position: relative;
  transition: transform 0.28s ease, background 0.28s ease;
}

.beneficio-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 24%;
  width: 1px;
  height: 52%;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(0,0,0,0.16),
    transparent
  );
}

.beneficio-item:hover {
  background: rgba(0,0,0,0.025);
  transform: translateY(-2px);
}

.beneficio-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background:
    linear-gradient(180deg, #fff 0%, #f3f1ee 100%);
  border: 1px solid rgba(0,0,0,0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9), 0 8px 18px rgba(0,0,0,0.055);
}

.beneficio-icon i {
  font-size: 20px;
  color: #050505;
}

.beneficio-item div {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.beneficio-item strong {
  display: block;
  font-size: 14px;
  font-weight: 900;
  color: #050505;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.2;
}

.beneficio-item span:not(.beneficio-icon) {
  display: block;
  font-size: 13px;
  color: #5f5a55;
  margin-top: 5px;
  line-height: 1.35;
}

/* MOBILE BENEFÍCIOS HOME - ULTRA PREMIUM CORRIGIDO */
@media (max-width: 768px) {
  .beneficios-loja {
    padding: 16px 16px 20px;
    background: #f9f9f9;
  }

  .beneficios-loja-inner {
    width: 100%;
    max-width: 100%;
    grid-template-columns: 1fr;
    border-radius: 22px;
    overflow: hidden;
  }

  .beneficio-item {
    min-height: auto;
    width: 100%;
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: center;
    justify-content: initial;
    gap: 14px;
    padding: 20px 22px;
    text-align: left;
  }

  .beneficio-item:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 0;
    top: auto;
    width: auto;
    height: 1px;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(0,0,0,0.12),
      transparent
    );
  }

  .beneficio-icon {
    width: 46px;
    height: 46px;
    flex: none;
    justify-self: center;
  }

  .beneficio-icon i {
    font-size: 18px;
  }

  .beneficio-item div {
    align-items: flex-start;
    text-align: left;
  }

  .beneficio-item strong {
    font-size: 13px;
    line-height: 1.2;
    text-align: left;
  }

  .beneficio-item span:not(.beneficio-icon) {
    font-size: 13px;
    line-height: 1.35;
    text-align: left;
  }
}

@media (max-width: 380px) {
  .beneficio-item {
    grid-template-columns: 44px 1fr;
    gap: 12px;
    padding: 18px 18px;
  }

  .beneficio-icon {
    width: 42px;
    height: 42px;
  }

  .beneficio-item strong {
    font-size: 12.5px;
  }

  .beneficio-item span:not(.beneficio-icon) {
    font-size: 12.2px;
  }
}


/* =========================================
   AJUSTES PREMIUM — SOMENTE CORES
   SEM ALTERAR POSICIONAMENTO/LAYOUT
========================================= */

/* FOOTER LINKS */
.footer-col ul li a:hover {
  color: #d4a017 !important;
}

/* ÍCONES FOOTER */
.footer-info span {
  color: #d4a017 !important;
}

.footer-social a:hover {
  color: #d4a017 !important;
}

/* PRODUTOS */
.pagina-produtos .section-kicker {
  color: #d4a017 !important;
}


/* ÍCONES PREMIUM ATENDIMENTO */
.footer-info-instagram span i {
  color: #c13584;
}

.footer-info-whatsapp span i {
  color: #25D366;
}

.footer-info-email span i {
  color: #b8860b;
}

.footer-info span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(0,0,0,0.04);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s ease;
}

.footer-info:hover span {
  transform: translateY(-2px) scale(1.05);
  background: rgba(0,0,0,0.07);
}


.footer-info {
  text-decoration: none;
  transition: 0.3s ease;
}

.footer-info:hover strong,
.footer-info:hover p {
  opacity: 0.9;
}


/* ENDEREÇO PREMIUM */
.footer-endereco-link {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 8px;
  text-decoration: none;
  color: #555;
  line-height: 1.7;
  transition: 0.3s ease;
  max-width: 320px;
}

.footer-endereco-link i {
  color: #b8860b;
  font-size: 18px;
  margin-top: 4px;
  transition: 0.3s ease;
}

.footer-endereco-link:hover {
  color: #111;
  transform: translateX(3px);
}

.footer-endereco-link:hover i {
  transform: scale(1.1);
  color: #d4a017;
}

@media (max-width: 600px) {
  .footer-endereco-link {
    margin: 0 auto;
    justify-content: center;
    text-align: left;
  }
}


.footer-endereco-link {
  align-items: flex-start;
}


/* CENTRALIZAR ENDEREÇO MOBILE */
@media (max-width: 600px) {
  .footer-endereco-link {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
  }

  .footer-endereco-link span {
    text-align: center !important;
  }
}


/* ===============================
   POLÍTICA TROCA E DEVOLUÇÃO
================================= */

.troca-devolucao-intro {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: start;
  padding: 20px 0 10px;
}

.troca-devolucao-intro h2 {
  margin: 0;
  line-height: 0.92;
}

.troca-devolucao-intro p {
  margin-top: 18px;
  max-width: 560px;
  line-height: 1.9;
}

@media (max-width: 768px) {
  .troca-devolucao-intro {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .troca-devolucao-intro p {
    margin-top: 0;
  }
}


/* ===============================
   TABELA DE MEDIDAS — CA BOUTIQUE
================================= */
.pagina-medidas {
  background: #f7f3ed;
  color: #111;
}

.pagina-medidas .medidas-main {
  max-width: 1180px;
}

.pagina-medidas .pagina-topo-kicker,
.pagina-medidas .medidas-pill {
  color: #d4a017 !important;
}

.medidas-intro {
  margin-bottom: 34px;
}

.medidas-beneficios .seguranca-card i,
.pagina-medidas .seguranca-card i {
  background: linear-gradient(135deg, #111 0%, #2b2418 100%);
  color: #d4a017;
}

.medidas-section {
  overflow: hidden;
}

.medidas-section-head {
  margin-bottom: 24px;
}

.medidas-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(212,160,23,0.12);
  border: 1px solid rgba(212,160,23,0.18);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.medidas-table-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,0.08);
  background: #fff;
}

.medidas-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  overflow: hidden;
}

.medidas-table th,
.medidas-table td {
  padding: 18px 20px;
  text-align: left;
  border-bottom: 1px solid rgba(0,0,0,0.07);
  font-size: 14px;
}

.medidas-table th {
  background: #111;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.medidas-table tbody tr {
  transition: 0.25s ease;
}

.medidas-table tbody tr:hover {
  background: #fbf7ef;
}

.medidas-table tbody tr:last-child td {
  border-bottom: 0;
}

.medidas-table td:first-child strong {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f4ead9;
  color: #111;
  border: 1px solid rgba(212,160,23,0.24);
}

.tamanho-unico-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 26px;
}

.tamanho-unico-card {
  min-height: 150px;
  padding: 22px;
  border-radius: 24px;
  background: #fbf7ef;
  border: 1px solid rgba(0,0,0,0.06);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: 0.3s ease;
}

.tamanho-unico-card:hover {
  transform: translateY(-4px);
  background: #fff;
}

.tamanho-unico-card i {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #111;
  color: #d4a017;
  margin-bottom: 16px;
}

.tamanho-unico-card strong {
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
}

.tamanho-unico-card span {
  color: #6d665f;
  font-size: 14px;
  line-height: 1.5;
}

.medidas-alerta {
  background: linear-gradient(135deg, #111, #2b2418);
}

.medidas-cta {
  background: linear-gradient(135deg, #fff, #f3eadc);
}

.medidas-cta .seguranca-btn {
  background: #111;
}

.medidas-cta .seguranca-btn:hover {
  background: #d4a017;
  color: #111;
}

@media (max-width: 900px) {
  .tamanho-unico-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .medidas-table th,
  .medidas-table td {
    padding: 15px 16px;
  }

  .tamanho-unico-grid {
    grid-template-columns: 1fr;
  }

  .tamanho-unico-card {
    min-height: 132px;
  }
}


/* IMAGEM PAGAMENTO MERCADO PAGO */
.pagamentos-mp {
  display: flex;
  align-items: center;
  opacity: 0.92;
}

.img-pagamento-mp {
  width: 100%;
  max-width: 180px;
  height: auto;
  display: block;
  object-fit: contain;
}


/* =====================================================
   PÁGINA PRODUTOS — FILTROS NA LATERAL
===================================================== */
.pagina-produtos .produtos-pagina {
  max-width: 1440px;
}

.produtos-layout-lateral {
  display: grid;
  grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin-top: 28px;
}

.produtos-layout-lateral .barra-filtros-produtos {
  position: sticky;
  top: 118px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 0;
  padding: 22px;
  border-radius: 24px;
}

.produtos-layout-lateral .grupo-filtro-busca,
.produtos-layout-lateral .grupo-filtro-cores {
  grid-column: auto;
}

.produtos-layout-lateral .campo-busca-produto,
.produtos-layout-lateral .grupo-filtro select,
.produtos-layout-lateral .btn-limpar-filtros {
  width: 100%;
}

.produtos-layout-lateral .filtro-cores {
  gap: 8px;
}

.produtos-conteudo-lateral {
  min-width: 0;
}

.produtos-conteudo-lateral .resultado-produtos {
  margin: 0 0 20px;
}

@media (max-width: 1100px) {
  .produtos-layout-lateral {
    grid-template-columns: 1fr;
  }

  .produtos-layout-lateral .barra-filtros-produtos {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .produtos-layout-lateral .grupo-filtro-busca,
  .produtos-layout-lateral .grupo-filtro-cores {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .produtos-layout-lateral {
    gap: 18px;
    margin-top: 22px;
  }

  .produtos-layout-lateral .barra-filtros-produtos {
    grid-template-columns: 1fr;
    padding: 16px;
    border-radius: 18px;
  }
}

/* =====================================================
   AJUSTE FINO — PADRONIZAR FILTROS LATERAIS
   Mantém Tamanho e Ordenar por alinhados da esquerda para a direita
===================================================== */
.produtos-layout-lateral .grupo-filtro {
  width: 100%;
  text-align: left;
}

.produtos-layout-lateral .grupo-filtro label {
  text-align: left;
  margin-left: 0;
}

.produtos-layout-lateral .grupo-filtro select {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: left;
}

.produtos-layout-lateral .btn-limpar-filtros {
  margin: 0;
}


/* =====================================================
   PÁGINA PRODUTOS — CARDS IGUAIS AOS DESTAQUES DA HOME
   Mantém a imagem do card com o mesmo encaixe visual da home.
===================================================== */
body.pagina-produtos .produtos-conteudo-lateral .grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
}

body.pagina-produtos .produtos-conteudo-lateral .card {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  background: rgba(255,255,255,0.82) !important;
}

body.pagina-produtos .produtos-conteudo-lateral .produto-img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  position: relative !important;
  overflow: hidden !important;
  background: #f6f1ea !important;
}

body.pagina-produtos .produtos-conteudo-lateral .produto-img img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
}

body.pagina-produtos .produtos-conteudo-lateral .card:hover .produto-img img {
  transform: scale(1.045) translateY(-2px) !important;
}

body.pagina-produtos .produtos-conteudo-lateral .img-principal {
  opacity: 1 !important;
}

body.pagina-produtos .produtos-conteudo-lateral .img-hover {
  opacity: 0 !important;
}

body.pagina-produtos .produtos-conteudo-lateral .card:hover .img-principal {
  opacity: 0 !important;
}

body.pagina-produtos .produtos-conteudo-lateral .card:hover .img-hover {
  opacity: 1 !important;
}

@media (max-width: 1320px) {
  body.pagina-produtos .produtos-conteudo-lateral .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1100px) {
  body.pagina-produtos .produtos-conteudo-lateral .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  body.pagina-produtos .produtos-conteudo-lateral .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  body.pagina-produtos .produtos-conteudo-lateral .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.pagina-produtos .produtos-conteudo-lateral .produto-img {
    aspect-ratio: 3 / 4.25 !important;
  }
}

/* Página individual de produto para SEO */
.link-produto-seo{color:inherit;text-decoration:none}.link-produto-seo:hover{text-decoration:underline;text-underline-offset:4px}.produto-link-detalhes{display:inline-flex;margin:.35rem 0 .25rem;font-size:.82rem;font-weight:700;color:#9b6b55;text-decoration:none}.produto-link-detalhes:hover{text-decoration:underline;text-underline-offset:4px}.produto-seo-detalhe{padding:130px 20px 70px}.voltar-produtos{display:inline-flex;margin-bottom:22px;color:#7a5a4a;text-decoration:none;font-weight:700}.produto-seo-grid{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:48px;align-items:center}.produto-seo-imagem{border-radius:28px;overflow:hidden;background:#f7f1ed;box-shadow:0 24px 60px rgba(45,31,24,.10)}.produto-seo-imagem img{width:100%;height:auto;display:block}.produto-seo-info h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,4rem);line-height:1.02;margin:12px 0}.produto-seo-preco{font-size:1.8rem;font-weight:900;margin:18px 0;color:#2c211c}.produto-seo-desc{font-size:.95rem;line-height:1.7;color:#7a6d66;max-width:620px;font-weight:500;background:transparent;padding:0;margin:14px 0 12px}.produto-seo-variacoes{margin:22px 0}.produto-seo-variacoes div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.produto-seo-variacoes span{border:1px solid rgba(90,63,52,.18);border-radius:999px;padding:8px 12px;background:#fff;font-size:.86rem;font-weight:700;color:#5e4a40}@media(max-width:820px){.produto-seo-grid{grid-template-columns:1fr;gap:28px}.produto-seo-detalhe{padding-top:110px}.produto-seo-info h1{font-size:2.35rem}}

/* Página individual de produto com funcionalidades completas */
.produto-individual-layout{display:grid;grid-template-columns:minmax(280px,560px) 1fr;gap:52px;align-items:start}.produto-individual-galeria{position:sticky;top:110px}.produto-individual-foto-principal{border-radius:30px;overflow:hidden;background:#f7f1ed;box-shadow:0 24px 60px rgba(45,31,24,.10)}.produto-individual-foto-principal img{display:block;width:100%;height:auto}.produto-individual-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px}.produto-individual-thumb{border:1px solid rgba(90,63,52,.16);background:#fff;border-radius:16px;overflow:hidden;padding:0;cursor:pointer;transition:.25s ease}.produto-individual-thumb.ativo,.produto-individual-thumb:hover{border-color:#9b6b55;transform:translateY(-2px)}.produto-individual-thumb img{display:block;width:100%;aspect-ratio:1/1.2;object-fit:cover}.produto-individual-info{background:#fff;border:1px solid rgba(90,63,52,.12);border-radius:30px;padding:34px;box-shadow:0 18px 50px rgba(45,31,24,.08)}.produto-individual-info h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,4rem);line-height:1.02;margin:12px 0}.produto-individual-info .btn-adicionar-carrinho,.produto-individual-info .btn-whatsapp{width:100%;margin-top:12px}.produto-individual-variacoes{margin-top:24px}.produto-img{color:inherit;text-decoration:none}
@media(max-width:900px){.produto-individual-layout{grid-template-columns:1fr;gap:28px}.produto-individual-galeria{position:static}.produto-individual-info{padding:24px;border-radius:24px}.produto-individual-thumbs{grid-template-columns:repeat(4,1fr)}}

/* Produtos relacionados — página individual */
.produtos-relacionados{
  margin-top:70px;
  padding-top:46px;
  border-top:1px solid rgba(90,63,52,.12);
}
.produtos-relacionados-topo{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:24px;
}
.produtos-relacionados h2{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1;
  margin:8px 0 0;
  color:#17120f;
}
.link-ver-catalogo{
  color:#7a5a4a;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:1px solid rgba(122,90,74,.35);
  padding-bottom:5px;
  white-space:nowrap;
}
.link-ver-catalogo:hover{border-color:#7a5a4a}
.produtos-relacionados-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.produto-relacionado-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(17,17,17,.07);
  border-radius:24px;
  overflow:hidden;
  transition:transform .32s ease,border-color .32s ease;
}
.produto-relacionado-card:hover{
  transform:translateY(-5px);
  border-color:rgba(17,17,17,.14);
}
.produto-relacionado-img{
  position:relative;
  display:block;
  height:330px;
  overflow:hidden;
  background:linear-gradient(135deg,#f2eee8,#e8dfd4);
  text-decoration:none;
}
.produto-relacionado-img::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:32%;
  background:linear-gradient(to top,rgba(0,0,0,.13),transparent);
  pointer-events:none;
}
.produto-relacionado-img img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:opacity .36s ease,transform .45s ease,filter .45s ease;
}
.produto-relacionado-img .img-hover{opacity:0}
.produto-relacionado-card:hover .produto-relacionado-img img{transform:scale(1.045);filter:saturate(1.03) contrast(1.04)}
.produto-relacionado-card:hover .produto-relacionado-img .img-hover{opacity:1}
.produto-relacionado-card:hover .produto-relacionado-img .img-hover + img{opacity:0}
.badge-relacionado{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#17120f;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.produto-relacionado-info{
  padding:15px 15px 17px;
}
.produto-relacionado-info a{
  display:block;
  color:#14100d;
  font-size:.86rem;
  font-weight:950;
  letter-spacing:.04em;
  line-height:1.25;
  text-transform:uppercase;
  text-decoration:none;
  margin-bottom:7px;
}
.produto-relacionado-info a:hover{text-decoration:underline;text-underline-offset:4px}
.produto-relacionado-info span{
  display:inline-flex;
  margin-bottom:9px;
  padding:5px 8px;
  border-radius:999px;
  background:#f7f1ed;
  color:#6b5f58;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.produto-relacionado-info strong{
  display:block;
  color:#111;
  font-size:1.05rem;
  font-weight:950;
}
@media(max-width:980px){
  .produtos-relacionados-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .produto-relacionado-img{height:300px}
}
@media(max-width:560px){
  .produtos-relacionados{margin-top:48px;padding-top:34px}
  .produtos-relacionados-topo{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .produtos-relacionados-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .produto-relacionado-card{border-radius:18px}
  .produto-relacionado-img{height:230px}
  .produto-relacionado-info{padding:12px}
  .produto-relacionado-info a{font-size:.76rem}
  .produto-relacionado-info strong{font-size:.95rem}
}

/* Correção mobile — Produtos relacionados na página individual */
.produtos-relacionados,
.produtos-relacionados *{
  box-sizing:border-box;
}
.produtos-relacionados{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.produtos-relacionados-grid{
  width:100%;
  max-width:100%;
}
.produto-relacionado-card,
.produto-relacionado-info,
.produto-relacionado-info a{
  min-width:0;
}
.produto-relacionado-info a{
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:560px){
  .produtos-relacionados{
    margin-top:38px;
    padding-top:30px;
  }
  .produtos-relacionados h2{
    font-size:1.75rem;
  }
  .produtos-relacionados-topo{
    gap:10px;
  }
  .produtos-relacionados-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .produto-relacionado-card{
    border-radius:16px;
  }
  .produto-relacionado-img{
    height:auto;
    aspect-ratio:3 / 4;
    border-radius:0;
  }
  .produto-relacionado-img::after{
    height:24%;
  }
  .produto-relacionado-info{
    padding:10px 9px 12px;
  }
  .produto-relacionado-info a{
    font-size:.70rem;
    line-height:1.25;
    letter-spacing:.025em;
    margin-bottom:6px;
  }
  .produto-relacionado-info span{
    font-size:.56rem;
    padding:4px 6px;
    margin-bottom:7px;
  }
  .produto-relacionado-info strong{
    font-size:.86rem;
    line-height:1.1;
  }
  .badge-relacionado{
    top:8px;
    left:8px;
    font-size:.54rem;
    padding:5px 7px;
  }
}

@media(max-width:360px){
  .produtos-relacionados-grid{
    gap:8px;
  }
  .produto-relacionado-info{
    padding:9px 8px 10px;
  }
  .produto-relacionado-info a{
    font-size:.66rem;
  }
  .produto-relacionado-info strong{
    font-size:.82rem;
  }
}

/* Ajuste página individual: galeria com segunda foto por cor e descrição mais discreta */
.pagina-produto-seo .produto-seo-desc{font-size:.95rem!important;line-height:1.7!important;color:#7a6d66!important;font-weight:500!important;letter-spacing:0!important;background:transparent!important;padding:0!important;border-radius:0!important;max-width:620px!important;}
.pagina-produto-seo .produto-individual-info .produto-seo-desc{margin:14px 0 12px!important;}
@media(max-width:640px){.pagina-produto-seo .produto-seo-desc{font-size:.9rem!important;line-height:1.65!important}.produto-individual-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.produto-individual-thumb{border-radius:12px}}

/* =====================================================
   AJUSTE PREMIUM — PREÇO COM MAIS DESTAQUE
   Página de produtos + página individual + relacionados
===================================================== */
.produtos .card-info > p:first-of-type,
body.pagina-produtos .produtos .card-info > p:first-of-type{
  display:inline-flex !important;
  align-items:center !important;
  margin:4px 0 8px !important;
  font-size:21px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.65px !important;
  color:#0f0f0f !important;
}

.produto-seo-preco,
.produto-individual-info .produto-seo-preco{
  display:inline-flex !important;
  align-items:center !important;
  margin:12px 0 16px !important;
  font-size:clamp(2.05rem,3vw,2.85rem) !important;
  line-height:.95 !important;
  font-weight:950 !important;
  letter-spacing:-1.25px !important;
  color:#111 !important;
}

.produto-seo-info .produto-referencia,
.produto-individual-info .produto-referencia{
  transform:scale(.92) !important;
  transform-origin:left center !important;
  opacity:.92 !important;
}

.produto-relacionado-info strong{
  font-size:1.22rem !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:-.45px !important;
  color:#0f0f0f !important;
}

@media(max-width:560px){
  .produtos .card-info > p:first-of-type,
  body.pagina-produtos .produtos .card-info > p:first-of-type{
    font-size:18px !important;
    margin:3px 0 7px !important;
  }

  .produto-seo-preco,
  .produto-individual-info .produto-seo-preco{
    font-size:2rem !important;
    margin:10px 0 14px !important;
  }

  .produto-relacionado-info strong{
    font-size:1.06rem !important;
  }
}

/* =====================================================
   TOPO PREMIUM DA PÁGINA INDIVIDUAL + CARRINHO
===================================================== */
.pagina-produto-seo .produto-seo-detalhe{
  padding-top:120px !important;
}

.produto-page-hero{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 38px;
  padding:22px 24px;
  border:1px solid rgba(92,67,52,.10);
  border-radius:24px;
  background:
    radial-gradient(circle at 0 0, rgba(218,165,32,.12), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(247,241,236,.72));
  box-shadow:0 18px 50px rgba(58,41,31,.07);
}

.produto-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  font-size:.78rem;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#9a8a80;
}

.produto-breadcrumb a{
  color:#6f574b;
  text-decoration:none;
  transition:color .25s ease, transform .25s ease;
}

.produto-breadcrumb a:hover{
  color:#c7952b;
  transform:translateY(-1px);
}

.produto-breadcrumb span{
  color:#d1c4bb;
}

.produto-breadcrumb strong{
  color:#1f1b18;
  max-width:360px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.voltar-produtos.premium{
  margin:0 !important;
  min-width:max-content;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:11px 16px 11px 12px;
  border:1px solid rgba(32,26,22,.12);
  border-radius:999px;
  background:#fff;
  color:#211b17;
  text-decoration:none;
  font-size:.86rem;
  font-weight:900;
  box-shadow:0 14px 32px rgba(30,22,17,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease;
}

.voltar-produtos.premium:hover{
  transform:translateY(-2px);
  color:#c7952b;
  border-color:rgba(199,149,43,.35);
  box-shadow:0 18px 42px rgba(30,22,17,.12);
}

.voltar-produtos-icone{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-size:1rem;
  transition:background .25s ease, transform .25s ease;
}

.voltar-produtos.premium:hover .voltar-produtos-icone{
  background:#c7952b;
  transform:translateX(-2px);
}

.voltar-produtos.premium small{
  display:block;
  margin-bottom:1px;
  font-size:.58rem;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#9c8f86;
  font-weight:900;
}

@media(max-width:760px){
  .pagina-produto-seo .produto-seo-detalhe{
    padding-top:100px !important;
  }

  .produto-page-hero{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:24px;
    padding:18px;
    border-radius:20px;
  }

  .produto-breadcrumb{
    font-size:.68rem;
    gap:6px;
  }

  .produto-breadcrumb strong{
    max-width:220px;
  }

  .voltar-produtos.premium{
    width:100%;
    justify-content:flex-start;
  }
}

/* =====================================================
   AJUSTE: MENOS ESPAÇO NO TOPO DA PÁGINA DO PRODUTO
===================================================== */
.pagina-produto-seo .produto-seo-detalhe{
  padding-top:72px !important;
  padding-bottom:58px !important;
}

.pagina-produto-seo .produto-page-hero{
  margin:0 0 24px !important;
  padding:18px 24px !important;
}

.pagina-produto-seo .produto-seo-grid{
  margin-top:0 !important;
}

@media(max-width:760px){
  .pagina-produto-seo .produto-seo-detalhe{
    padding-top:82px !important;
    padding-bottom:44px !important;
  }

  .pagina-produto-seo .produto-page-hero{
    margin-bottom:18px !important;
    padding:16px !important;
  }
}


/* Detalhes do produto dentro da imagem do card */
.produto-img-detalhes {
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%) translateY(6px);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 168px;
  max-width: calc(100% - 28px);
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 10px 28px rgba(20, 14, 10, 0.16);
  color: #2c211c;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  pointer-events: auto;
  transition: opacity 0.28s ease, transform 0.28s ease, background 0.28s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.card:hover .produto-img-detalhes,
.card:focus-within .produto-img-detalhes {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.produtos .produto-link-detalhes,
.produto-link-detalhes {
  display: none !important;
}

@media (max-width: 768px) {
  .produto-img-detalhes {
    opacity: 1;
    bottom: 10px;
    min-width: auto;
    padding: 7px 11px;
    font-size: 0.64rem;
    transform: translateX(-50%) translateY(0);
    background: rgba(255, 255, 255, 0.82);
  }
}




/* Correção drag carrossel + remover lupa */
.produtos-home-carousel .produto-img,
.produtos-carousel-track .produto-img,
.produto-card img{
  cursor: default !important;
  -webkit-user-drag: none;
  user-select: none;
  pointer-events: auto;
}

.produtos-carousel-viewport{
  cursor: grab !important;
}

.produtos-carousel-viewport.arrastando{
  cursor: grabbing !important;
}



/* Remover lupa em todas as imagens de produtos */
.produto-img,
.produto-card img,
.produto-detalhe img,
.galeria-produto img,
.modal-produto img{
    cursor: default !important;
}



/* =====================================================
   AJUSTE FINAL — carrossel sem conflito
   - imagem do card serve para arrastar
   - somente "Ver detalhes do produto" abre a página individual
   - remove cursor de lupa dos cards e da página de produto
===================================================== */
.produtos .produto-img,
.produtos-home-carousel .produto-img,
body.pagina-produtos .produtos-conteudo-lateral .produto-img,
.produto-individual-galeria img,
.produto-detalhe img,
.galeria-produto img,
.modal-produto img{
  cursor: default !important;
}

body:not(.pagina-produtos) .produtos-home-carousel .produto-img,
body:not(.pagina-produtos) .produtos-home-carousel .produto-img img{
  cursor: grab !important;
  -webkit-user-drag: none !important;
  user-select: none !important;
}

.produtos-carousel-viewport.arrastando,
.produtos-carousel-viewport.arrastando .produto-img,
.produtos-carousel-viewport.arrastando .produto-img img{
  cursor: grabbing !important;
}

.produto-img-detalhes{
  pointer-events: auto !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.produtos .produto-img::before,
.produtos-home-carousel .produto-img::before,
.produtos .produto-img::after,
.produtos-home-carousel 

.produtos 


/* Ajuste final: popup antigo removido */
.produtos .produto-img,
.produtos .produto-img img,
.produtos-home-carousel .produto-img,
.produtos-home-carousel .produto-img img,
body.pagina-produtos .produtos-conteudo-lateral .produto-img,
body.pagina-produtos .produtos-conteudo-lateral .produto-img img{
  cursor: default !important;
}

body:not(.pagina-produtos) .produtos-home-carousel .produto-img,
body:not(.pagina-produtos) .produtos-home-carousel .produto-img img{
  cursor: grab !important;
  -webkit-user-drag: none !important;
  user-select: none !important;
}

.produtos-carousel-viewport.arrastando,
.produtos-carousel-viewport.arrastando .produto-img,
.produtos-carousel-viewport.arrastando .produto-img img{
  cursor: grabbing !important;
}

.produto-img-detalhes{
  cursor: pointer !important;
  pointer-events: auto !important;
}


/* Remover qualquer sombra/overlay de ver maior */
.produto-img::before,
.produto-img::after,
.produtos .produto-img::before,
.produtos .produto-img::after,
.produtos-home-carousel .produto-img::before,
.produtos-home-carousel .produto-img::after{
    display:none !important;
    opacity:0 !important;
    content:none !important;
    background:none !important;
    box-shadow:none !important;
}

.produtos .card:hover .produto-img img,
.produtos-home-carousel .card:hover .produto-img img{
    transform:none !important;
    filter:none !important;
}


/* REMOÇÃO FINAL DO 'VER MAIOR' NOS CARDS */
.produto-zoom-pill,
.zoom-pill,
.ver-maior,
.btn-ver-maior,
.produto-ver-maior,
.produto-img .ver-maior,
.produto-img [class*="zoom"],
.produto-img [class*="maior"]{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* remove qualquer camada escura/sombra de hover da imagem */
.produto-img::before,
.produto-img::after,
.produtos .produto-img::before,
.produtos .produto-img::after,
.produtos-home-carousel .produto-img::before,
.produtos-home-carousel .produto-img::after,
.card .produto-img::before,
.card .produto-img::after{
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* mantém apenas o botão correto 'Ver detalhes do produto' */
.produto-img-detalhes{
  display: inline-flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.produtos .card:hover .produto-img img,
.produtos-home-carousel .card:hover .produto-img img{
  filter: none !important;
}


/* Imagem clicável somente na página Produtos */
body.pagina-produtos .produto-img-link{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  display:block !important;
  text-decoration:none !important;
  color:inherit !important;
  cursor:pointer !important;
}

body.pagina-produtos .produto-img-link img{
  pointer-events:none !important;
}

body.pagina-produtos .produto-img-detalhes{
  z-index:4 !important;
}

/* =====================================================
   PRODUTO INDIVIDUAL — GALERIA PREMIUM + COMPARTILHAR
   Mantém o card clássico, com acabamento mais refinado.
===================================================== */
.pagina-produto-seo .produto-individual-layout{
  grid-template-columns:minmax(320px,1fr) minmax(320px,1fr) !important;
  gap:clamp(30px,4vw,52px) !important;
  align-items:stretch !important;
}

.pagina-produto-seo .produto-individual-galeria{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid rgba(90,63,52,.12) !important;
  border-radius:30px !important;
  padding:24px !important;
  box-shadow:0 18px 50px rgba(45,31,24,.08) !important;
}

.pagina-produto-seo .produto-individual-foto-principal{
  position:relative !important;
  aspect-ratio:4/5 !important;
  border-radius:32px !important;
  overflow:hidden !important;
  background:linear-gradient(145deg,#fbf7f3,#eee3da) !important;
  border:1px solid rgba(90,63,52,.10) !important;
  box-shadow:0 24px 60px rgba(38,25,18,.10) !important;
}

.pagina-produto-seo .produto-individual-foto-principal::before{
  content:"";
  position:absolute;
  inset:12px;
  z-index:2;
  border:1px solid rgba(255,255,255,.62);
  border-radius:24px;
  pointer-events:none;
}

.pagina-produto-seo .produto-individual-foto-principal::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to top,rgba(28,18,12,.08),transparent 36%);
  pointer-events:none;
}

.pagina-produto-seo .produto-individual-foto-principal img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center top !important;
}

.pagina-produto-seo .produto-individual-thumbs{
  max-width:96% !important;
  margin:14px auto 0 !important;
}

.produto-share-box{
  position:relative;
  margin:12px 0 18px;
}

.btn-share-produto{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  border:1px solid rgba(32,26,22,.12);
  border-radius:999px;
  background:linear-gradient(135deg,#fff,#faf5ef);
  color:#211b17;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 14px 32px rgba(30,22,17,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,color .25s ease;
}

.btn-share-produto:hover,
.btn-share-produto.ativo{
  transform:translateY(-2px);
  border-color:rgba(199,149,43,.35);
  color:#a27422;
  box-shadow:0 18px 42px rgba(30,22,17,.11);
}

.share-menu-produto{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  z-index:20;
  width:min(100%,330px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  padding:12px;
  border:1px solid rgba(90,63,52,.12);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 60px rgba(28,18,12,.14);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.98);
  transform-origin:top right;
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease;
}

.share-menu-produto.aberto{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

.share-menu-produto a,
.share-menu-produto button{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  min-height:42px;
  padding:10px 11px;
  border:1px solid rgba(17,17,17,.07);
  border-radius:15px;
  background:#fff;
  color:#201a16;
  text-decoration:none;
  font-size:.76rem;
  font-weight:900;
  cursor:pointer;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}

.share-menu-produto a:hover,
.share-menu-produto button:hover{
  transform:translateY(-2px);
  border-color:rgba(199,149,43,.28);
  background:#fffaf4;
}

.share-menu-produto i{
  width:19px;
  text-align:center;
  font-size:1rem;
}

.share-copiado-msg{
  display:block;
  min-height:18px;
  margin-top:8px;
  color:#7a5a4a;
  font-size:.74rem;
  font-weight:800;
  text-align:center;
}

@media(max-width:900px){
  .pagina-produto-seo .produto-individual-layout{
    grid-template-columns:1fr !important;
  }
  .pagina-produto-seo .produto-individual-galeria{
    max-width:500px !important;
  }
}

@media(max-width:560px){
  .pagina-produto-seo .produto-individual-galeria{
    max-width:100% !important;
  }
  .pagina-produto-seo .produto-individual-foto-principal{
    border-radius:24px !important;
  }
  .pagina-produto-seo .produto-individual-foto-principal::before{
    inset:9px;
    border-radius:18px;
  }
  .share-menu-produto{
    width:100%;
    grid-template-columns:1fr;
  }
}

/* =====================================================
   POP-UP APPLE — foto inteira do produto individual
===================================================== */
.produto-foto-zoom-btn{
  position:relative;
  width:100%;
  height:100%;
  display:block;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:zoom-in !important;
  overflow:hidden;
  border-radius:inherit;
  isolation:isolate;
}

.produto-foto-zoom-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  opacity:0;
  background:radial-gradient(circle at center, rgba(255,255,255,.10), rgba(0,0,0,.18));
  transition:opacity .32s ease;
  pointer-events:none;
}

.produto-foto-zoom-btn::after{
  content:"⌕";
  position:absolute;
  left:50%;
  top:50%;
  z-index:2;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.70);
  border-radius:999px;
  background:rgba(255,255,255,.62);
  color:#1d1d1f;
  font-size:28px;
  line-height:1;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
  opacity:0;
  transform:translate(-50%, -50%) scale(.82);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  transition:opacity .28s ease, transform .28s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}

.produto-foto-zoom-btn img{
  width:100%;
  height:100%;
  display:block;
  transition:transform .55s cubic-bezier(.2,.8,.2,1), filter .55s ease;
  will-change:transform;
}

.produto-foto-zoom-btn:hover::before{opacity:1;}
.produto-foto-zoom-btn:hover::after{
  opacity:1;
  transform:translate(-50%, -50%) scale(1);
}
.produto-foto-zoom-btn:hover img{
  transform:scale(1.055);
  filter:saturate(1.03) contrast(1.02);
}

.popup-foto-produto-individual{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.popup-foto-produto-individual.ativo{
  display:flex;
}

body.popup-foto-produto-aberto{
  overflow:hidden;
}

.popup-foto-produto-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 15%, rgba(255,255,255,.34), transparent 36%),
    linear-gradient(135deg, rgba(20,18,17,.70), rgba(14,12,11,.48));
  backdrop-filter:blur(28px) saturate(1.18);
  -webkit-backdrop-filter:blur(28px) saturate(1.18);
}

.popup-foto-produto-card{
  position:relative;
  z-index:1;
  width:min(92vw,940px);
  height:min(88vh,940px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:36px;
  background:linear-gradient(145deg, rgba(255,255,255,.84), rgba(255,255,255,.58));
  box-shadow:
    0 45px 120px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.75);
  animation:popupFotoProdutoEntrada .34s cubic-bezier(.2,.8,.2,1) both;
  overflow:hidden;
}

.popup-foto-produto-card::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.34), transparent 42%);
  pointer-events:none;
}

.popup-foto-produto-card img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:26px;
  user-select:none;
  -webkit-user-drag:none;
  filter:drop-shadow(0 20px 32px rgba(0,0,0,.16));
}

.popup-foto-produto-fechar{
  position:absolute;
  top:16px;
  right:16px;
  z-index:3;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.76);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#1d1d1f;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(0,0,0,.16);
  backdrop-filter:blur(14px) saturate(1.15);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
  transition:transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.popup-foto-produto-fechar:hover{
  transform:scale(1.07) rotate(90deg);
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.20);
}

@keyframes popupFotoProdutoEntrada{
  from{opacity:0;transform:scale(.94) translateY(16px);filter:blur(8px)}
  to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}
}

@media(max-width:700px){
  .produto-foto-zoom-btn::after{
    width:48px;
    height:48px;
    font-size:24px;
    opacity:.92;
    transform:translate(-50%, -50%) scale(1);
  }
  .popup-foto-produto-individual{padding:12px;}
  .popup-foto-produto-card{
    width:96vw;
    height:86vh;
    padding:10px;
    border-radius:26px;
  }
  .popup-foto-produto-card::before{border-radius:24px;}
  .popup-foto-produto-card img{border-radius:20px;}
  .popup-foto-produto-fechar{
    top:10px;
    right:10px;
    width:38px;
    height:38px;
    font-size:25px;
  }
}


/* =====================================================
   POPUP FOTO PRODUTO — ULTRA PREMIUM APPLE STYLE
===================================================== */

.produto-foto-popup{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:38px;
  background:
    radial-gradient(circle at top, rgba(255,255,255,.10), transparent 42%),
    rgba(8,8,10,.82);
  backdrop-filter: blur(22px) saturate(180%);
  -webkit-backdrop-filter: blur(22px) saturate(180%);
  opacity:0;
  visibility:hidden;
  transition:
    opacity .38s cubic-bezier(.22,1,.36,1),
    visibility .38s cubic-bezier(.22,1,.36,1);
}

.produto-foto-popup.ativo{
  opacity:1;
  visibility:visible;
}

.produto-foto-popup::before{
  content:"";
  position:absolute;
  inset:24px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
  pointer-events:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 30px 80px rgba(0,0,0,.35);
}

.produto-foto-popup img{
  position:relative;
  z-index:2;
  max-width:min(92vw, 1100px);
  max-height:88vh;
  width:auto;
  height:auto;
  border-radius:28px;
  object-fit:contain;
  box-shadow:
    0 40px 100px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,255,255,.10);
  transform:scale(.94) translateY(18px);
  opacity:0;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    opacity .45s ease;
}

.produto-foto-popup.ativo img{
  transform:scale(1) translateY(0);
  opacity:1;
}

.produto-foto-popup-fechar{
  position:absolute;
  top:26px;
  right:26px;
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:18px;
  cursor:pointer;
  z-index:3;
  transition:
    transform .25s ease,
    background .25s ease,
    border-color .25s ease;
}

.produto-foto-popup-fechar:hover{
  transform:scale(1.08) rotate(90deg);
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.22);
}

.produto-individual-galeria img,
.produto-detalhe img{
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    filter .35s ease,
    box-shadow .35s ease !important;
}

.produto-individual-galeria:hover img,
.produto-detalhe:hover img{
  transform:scale(1.03);
  filter:brightness(1.02);
}

@media(max-width:768px){

  .produto-foto-popup{
    padding:18px;
  }

  .produto-foto-popup::before{
    inset:10px;
    border-radius:24px;
  }

  .produto-foto-popup img{
    max-width:100%;
    max-height:82vh;
    border-radius:22px;
  }

  .produto-foto-popup-fechar{
    width:46px;
    height:46px;
    top:18px;
    right:18px;
  }
}

