/* Estilos para os cards de ofertas especiais */

/* Container para os cards de ofertas especiais */
.special-offers-container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1.5rem;
  width: 100%;
  padding: 1rem 0;
  /* Evita overflow e permite encolher corretamente */
  min-width: 0;
}

/* Card de oferta especial */
.special-offer-card {
  position: relative;
  height: 361px; /* ~5% menor para mobile por padrão */
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  /* transition: transform 0.3s ease, box-shadow 0.3s ease; */
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  /* Reduz 5% da largura visual dentro da coluna */
  transform: scaleX(0.95);
  transform-origin: center;
}

/* Efeito de hover removido conforme solicitado */
.special-offer-card:hover {
  /* transform: translateY(-5px); */
  /* box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); */
}

/* Fundo do card (imagem) */
.special-offer-card .card-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 1;
}

.special-offer-card .card-background img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 1;
  position: absolute;
  top: -15%;
  left: 50%;
  transform: translate(-50%, 0%);
  mix-blend-mode: normal;
  /* filter: contrast(1.2) brightness(1.2) saturate(1.1); */
  background: transparent;
}

/* Overlay gradiente para melhorar a legibilidade do texto */
.special-offer-card .card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 30%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
}

/* Tag de promoção */
.special-offer-card .promo-tag {
  position: absolute;
  top: 8px; /* Posicionado mais alto */
  right: -45px; /* Ajustado para melhor posicionamento */
  background: #e74c3c;
  color: white;
  padding: 4px 45px; /* Aumentado para melhor visualização */
  transform: rotate(45deg);
  font-weight: bold;
  font-size: 0.65rem; /* Ajustado para melhor visualização */
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  z-index: 10;
  text-transform: uppercase;
  letter-spacing: 0px; /* Removido espaçamento entre letras */
  white-space: nowrap;
  overflow: visible; /* Alterado para permitir que o texto completo seja exibido */
  width: auto; /* Largura automática para acomodar todo o texto */
  min-width: 120px; /* Largura mínima aumentada */
  text-align: center; /* Centralizar o texto */
}

/* Tag de miniatura nos cards */
.special-offer-card .miniature-tag-card {
  position: absolute;
  top: 15px;
  right: -45px;
  background: linear-gradient(45deg, #e74c3c, #c0392b);
  color: white;
  padding: 4px 45px;
  transform: rotate(45deg);
  font-weight: bold;
  font-size: 0.7rem;
  box-shadow: 0 3px 10px rgba(231, 76, 60, 0.4);
  z-index: 10;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: visible;
  width: auto;
  min-width: 120px;
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
}



/* Badge de desconto */
.special-offer-card .discount-badge {
  position: absolute;
  top: 15px; /* Reduzido de 20px para 15px */
  left: 15px; /* Reduzido de 20px para 15px */
  background: #e74c3c;
  color: white;
  padding: 6px 10px; /* Reduzido de 8px 12px para 6px 10px */
  border-radius: 8px;
  font-weight: bold;
  font-size: 0.9rem; /* Reduzido de 1rem para 0.9rem */
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Container de preços */
.special-offer-card .price-info {
  margin-top: 0.8rem; /* Reduzido de 1rem para 0.8rem */
  margin-bottom: 0.8rem; /* Reduzido de 1rem para 0.8rem */
}

/* Caixa de preço */
.special-offer-card .price-box {
  background: #ffffff;
  border-radius: 15px 15px 0 0; /* Ajustado para ter bordas arredondadas apenas no topo */
  overflow: hidden;
  margin-top: 0.8rem; /* Reduzido de 1rem para 0.8rem */
  position: absolute;
  bottom: 0; /* Alterado de 15px para 0 para tocar o final do card */
  left: 0; /* Alterado de 15px para 0 para tocar a borda esquerda */
  right: 0; /* Alterado de 15px para 0 para tocar a borda direita */
  border: 1px solid rgba(0, 0, 0, 0.1);
  z-index: 10;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Cabeçalho da caixa de preço com nome do produto */
.special-offer-card .price-header {
  padding: 0.4rem 0.8rem; /* Reduzido de 0.5rem 1rem para 0.4rem 0.8rem */
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.special-offer-card .price-header h4 {
  margin: 0;
  font-size: 0.85rem; /* Reduzido de 1rem para 0.85rem */
  font-weight: 700;
  color: #2c3e50;
  text-transform: uppercase;
}

/* Conteúdo da caixa de preço */
.special-offer-card .price-content {
  padding: 0.6rem 0.8rem; /* Reduzido de 0.8rem 1rem para 0.6rem 0.8rem */
}

/* Seção de preços */
.special-offer-card .price-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem; /* Reduzido de 1rem para 0.8rem */
}

/* Grupos de preço */
.special-offer-card .price-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}

.special-offer-card .price-group:first-child {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  padding-right: 0.8rem; /* Reduzido de 1rem para 0.8rem */
}

.special-offer-card .price-group:last-child {
  padding-left: 0.8rem; /* Reduzido de 1rem para 0.8rem */
}

/* Rótulo de preço */
.special-offer-card .price-label {
  font-size: 0.8rem; /* Reduzido de 0.9rem para 0.8rem */
  color: #2c3e50;
  font-weight: 600;
  margin-bottom: 0.15rem; /* Reduzido de 0.2rem para 0.15rem */
}

/* Preço original */
.special-offer-card .original-price {
  font-size: 0.7rem; /* Reduzido de 0.8rem para 0.7rem */
  color: #7f8c8d;
  text-decoration: line-through;
  display: block;
  margin-bottom: 0.08rem; /* Reduzido de 0.1rem para 0.08rem */
}

/* Preço com desconto - Varejo */
.special-offer-card .price-group:first-child .discounted-price {
  font-size: 0.8rem; /* Reduzido de 0.9rem para 0.8rem */
  font-weight: 700;
  color: #2c3e50;
  white-space: nowrap;
}

/* Preço com desconto - Atacado (vermelho) */
.special-offer-card .price-group:last-child .discounted-price {
  font-size: 0.8rem; /* Reduzido de 0.9rem para 0.8rem */
  font-weight: 700;
  color: #e74c3c;
  white-space: nowrap;
}

/* Botões de edição e exclusão */
.special-offer-card .admin-buttons {
  position: absolute;
  top: 8px; /* Reduzido de 10px para 8px */
  left: 8px; /* Reduzido de 10px para 8px */
  display: flex;
  gap: 0.4rem; /* Reduzido de 0.5rem para 0.4rem */
  z-index: 5;
}



/* Container da logo Romeu */
.special-offer-card .romeu-logo-container {
  position: absolute;
  bottom: 100px; /* Subiu mais a logo (era 60px) */
  right: 0; /* Posicionado à direita do card */
  width: 100%;
  height: 100%;
  z-index: 20; /* Aumentado para garantir visibilidade sobre todos os elementos */
  pointer-events: none; /* Permite cliques através da logo */
  display: flex;
  justify-content: flex-end; /* Alinha à direita */
  align-items: flex-end; /* Alinha na parte inferior */
  padding-right: 0px; /* Sem espaçamento da borda direita */
  padding-bottom: 0px; /* Sem espaçamento da parte inferior */
}

/* Logo Romeu */
.special-offer-card .romeu-logo {
  width: 78px; /* Aumentado em 30% (era 60px) */
  height: auto;
  max-height: 104px; /* Aumentado em 30% (era 80px) */
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)); /* Sombra sutil */
  opacity: 1; /* Opacidade total - sem transparência */
}

/* Responsividade */
@media (max-width: 768px) and (min-width: 481px) {
  .special-offers-container {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
  
  .special-offer-card {
    height: 340px; /* Reduzido de 400px para 340px */
  }
  
  .special-offer-card .promo-tag {
    top: 12px; /* Reduzido de 15px para 12px */
    right: -35px;
    padding: 4px 30px; /* Reduzido de 5px 40px para 4px 30px */
    font-size: 0.7rem; /* Reduzido de 0.8rem para 0.7rem */
  }
  
  .special-offer-card .miniature-tag-card {
    top: 12px;
    right: -35px;
    padding: 4px 30px;
    font-size: 0.7rem;
    transform: rotate(45deg);
    min-width: 100px;
    background: linear-gradient(45deg, #e74c3c, #c0392b) !important;
    box-shadow: 0 3px 10px rgba(231, 76, 60, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.2);
    letter-spacing: 0.5px;
  }
  
  .special-offer-card .product-name {
    font-size: 1.3rem; /* Reduzido de 1.5rem para 1.3rem */
  }
  
  /* Logo responsiva para tablet */
  .special-offer-card .romeu-logo {
    width: 65px; /* Aumentado em 30% (era 50px) */
    max-height: 91px; /* Aumentado em 30% (era 70px) */
  }
}

@media (max-width: 600px) {
  .special-offers-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.5rem; /* menos espaço no meio */
  }
  
  .special-offer-card {
    height: 285px; /* 5% menor em relação à regra anterior */
  }
  
  .special-offer-card .price-header h4 {
    font-size: 0.7rem; /* Reduzido de 0.8rem para 0.7rem */
  }
  
  .special-offer-card .price-label {
    font-size: 0.7rem; /* Reduzido de 0.8rem para 0.7rem */
  }
  
  .special-offer-card .discounted-price {
    font-size: 0.7rem !important; /* Reduzido de 0.8rem para 0.7rem */
  }
  
  .special-offer-card .original-price {
    font-size: 0.6rem; /* Reduzido de 0.7rem para 0.6rem */
  }
  
  .special-offer-card .price-content {
    padding: 0.5rem 0.6rem; /* Reduzido de 0.6rem 0.8rem para 0.5rem 0.6rem */
  }
  
  .special-offer-card .price-group:first-child {
    padding-right: 0.4rem; /* Reduzido de 0.5rem para 0.4rem */
  }
  
  .special-offer-card .price-group:last-child {
    padding-left: 0.4rem; /* Reduzido de 0.5rem para 0.4rem */
  }
  
  .special-offer-card .discount-badge {
    padding: 5px 7px; /* Reduzido de 6px 8px para 5px 7px */
    font-size: 0.7rem; /* Reduzido de 0.8rem para 0.7rem */
  }
  
  .special-offer-card .promo-tag {
    padding: 3px 45px; /* Aumentado para mostrar todo o texto */
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0px; /* Removido espaçamento entre letras */
    right: -45px; /* Ajustado para melhor posicionamento */
    top: 8px; /* Posicionado mais alto */
    width: auto; /* Largura automática para acomodar todo o texto */
    min-width: 120px; /* Largura mínima aumentada */
    text-align: center; /* Centralizar o texto */
    overflow: visible; /* Permitir que o texto completo seja exibido */
  }
  
  .special-offer-card .miniature-tag-card {
    padding: 2px 35px;
    font-size: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    right: -35px;
    top: 15px;
    width: auto;
    min-width: 100px;
    text-align: center;
    overflow: visible;
    transform: rotate(45deg);
    background: linear-gradient(45deg, #e74c3c, #c0392b) !important;
    box-shadow: 0 3px 10px rgba(231, 76, 60, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.2);
  }
  
  /* Logo responsiva para mobile */
  .special-offer-card .romeu-logo {
    width: 59px; /* Aumentado em 30% (era 45px) */
    max-height: 78px; /* Aumentado em 30% (era 60px) */
  }
}

/* Wrapper para o card e o botão de adicionar ao carrinho */
.product-card-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.3rem; /* Reduzido de 0.5rem para 0.3rem */
  width: 100%;
  position: relative;
}

/* Garantir que o botão fique abaixo do card */
.product-card-wrapper .add-to-cart-standalone {
  margin-top: 0.3rem; /* Reduzido de 0.5rem para 0.3rem */
  margin-bottom: 0.3rem; /* Reduzido de 0.5rem para 0.3rem */
  position: relative;
  z-index: 5;
}

/* Ajustes responsivos para o wrapper */
@media (max-width: 768px) and (min-width: 481px) {
  .product-card-wrapper {
    gap: 0.4rem;
  }
  
  .product-card-wrapper .add-to-cart-standalone {
    margin-top: 0.4rem;
    margin-bottom: 0.4rem;
  }
}

@media (max-width: 600px) {
  .product-card-wrapper {
    gap: 0.3rem;
  }
  
  .product-card-wrapper .add-to-cart-standalone {
    width: 95%;
    margin: 0.3rem auto 0.9rem auto; /* mais espaço abaixo em mobile */
  padding: 0.8rem 0;
  min-height: 34px; /* Reduzido para ser mais compacto */
  }
}

/* Media query específica para telas muito pequenas */
@media (max-width: 480px) {
  .special-offers-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.4rem;
    padding: 0.5rem 0;
  }
  
  .special-offer-card {
    height: 266px !important; /* ~5% menor */
  }
  
  .special-offer-card .card-background img {
    top: -10%; /* Ajuste da posição da imagem */
    transform: translate(-50%, 0%);
  }
  
  .special-offer-card .price-box {
    /* Ajuste da caixa de preços para ocupar menos espaço */
  }
  
  .special-offer-card .price-header {
    padding: 0.3rem 0.6rem;
  }
  
  .special-offer-card .price-header h4 {
    font-size: 0.65rem;
    line-height: 1.2;
  }
  
  .special-offer-card .price-content {
    padding: 0.4rem 0.5rem;
  }
  
  .special-offer-card .price-label {
    font-size: 0.65rem;
    margin-bottom: 0.1rem;
  }
  
  .special-offer-card .discounted-price {
    font-size: 0.65rem !important;
  }
  
  .special-offer-card .original-price {
    font-size: 0.55rem;
  }
  
  .special-offer-card .price-group:first-child {
    padding-right: 0.3rem;
  }
  
  .special-offer-card .price-group:last-child {
    padding-left: 0.3rem;
  }
  
  .special-offer-card .miniature-tag-card {
    top: 18px;
    right: -35px;
    padding: 2px 30px;
    font-size: 0.45rem;
    min-width: 90px;
    transform: rotate(45deg);
    text-align: center;
    overflow: visible;
    background: linear-gradient(45deg, #e74c3c, #c0392b) !important;
    box-shadow: 0 3px 10px rgba(231, 76, 60, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.2);
    letter-spacing: 0.2px;
  }
  
  .product-card-wrapper .add-to-cart-standalone {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem; /* espaço extra para o próximo card */
    padding: 0.46rem 0; /* ainda mais fino no mobile */
    min-height: 26px; /* mais baixo */
    font-size: 0.7rem; /* reduzido no mobile */
  }
}

/* Media query específica para iPhone X, XS, SE, 11, 12 (375px) */
@media (max-width: 375px) {
  .special-offers-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.35rem;
    padding: 0.3rem 0;
  }
  
  .special-offer-card {
    height: 247px !important; /* ~5% menor */
  }
  
  .special-offer-card .card-background img {
    top: -8%;
    transform: translate(-50%, 0%);
  }
  
  .special-offer-card .price-header {
    padding: 0.25rem 0.5rem;
  }
  
  .special-offer-card .price-header h4 {
    font-size: 0.6rem;
    line-height: 1.1;
  }
  
  .special-offer-card .price-content {
    padding: 0.35rem 0.4rem;
  }
  
  .special-offer-card .price-section {
    gap: 0.6rem;
  }
  
  .special-offer-card .price-label {
    font-size: 0.6rem;
    margin-bottom: 0.08rem;
  }
  
  .special-offer-card .discounted-price {
    font-size: 0.6rem !important;
  }
  
  .special-offer-card .original-price {
    font-size: 0.5rem;
  }
  
  .special-offer-card .price-group:first-child {
    padding-right: 0.25rem;
  }
  
  .special-offer-card .price-group:last-child {
    padding-left: 0.25rem;
  }
  
  .product-card-wrapper .add-to-cart-standalone {
    padding: 0.5rem 0;
    min-height: 30px;
    font-size: 0.75rem;
  }
}

/* Media query específica para iPhone SE (320px) */
@media (max-width: 320px) {
  .special-offers-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.5rem;
    padding: 0.2rem 0;
  }
  
  .special-offer-card {
    height: 228px !important; /* ~5% menor */
  }
  
  .special-offer-card .card-background img {
    top: -5%;
    transform: translate(-50%, 0%);
  }
  
  .special-offer-card .price-header {
    padding: 0.2rem 0.4rem;
  }
  
  .special-offer-card .price-header h4 {
    font-size: 0.55rem;
    line-height: 1;
  }
  
  .special-offer-card .price-content {
    padding: 0.3rem 0.35rem;
  }
  
  .special-offer-card .price-section {
    gap: 0.5rem;
  }
  
  .special-offer-card .price-label {
    font-size: 0.55rem;
    margin-bottom: 0.05rem;
  }
  
  .special-offer-card .discounted-price {
    font-size: 0.55rem !important;
  }
  
  .special-offer-card .original-price {
    font-size: 0.45rem;
  }
  
  .special-offer-card .price-group:first-child {
    padding-right: 0.2rem;
  }
  
  .special-offer-card .price-group:last-child {
    padding-left: 0.2rem;
  }
  
  .product-card-wrapper .add-to-cart-standalone {
    padding: 0.4rem 0;
    min-height: 28px;
    font-size: 0.7rem;
  }
}