/* ==========================================================================
   products.css — cards de produto (montados via products.js a partir de data-*)
   Extraido do seu main.css + variaveis/utilitarios minimos (sem Bootstrap inteiro).
   ========================================================================== */

:root {
  --primary-color: #6B46C1;
  --secondary-color: #60A7DC;
  --third-color: #1E1D3F;
  --fourth-color: #60A7DC;
  --primary-color-light: #9F7AEA;
  --primary-color-dark: #553C9A;
  --secondary-color-light: #8abee5;
  --secondary-color-dark: #2775af;
  --contrast-color: #FCD34D;
  --text-color: #000000;
  --light-color: #F1F1F1;
}
:root{--bs-box-shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);}

/* --- Bootstrap Icons (apenas a fonte local, p/ os glyphs \f26a e \f23e) --- */
@font-face{
  font-display:block;
  font-family:"bootstrap-icons";
  src:url("../fonts/bootstrap-icons.woff2") format("woff2");
}

/* --- utilitarios minimos (substituem o bootstrap.min.css) --- */
.products.py-4{padding-top:1.5rem;padding-bottom:1.5rem;}
.products.pb-5{padding-bottom:3rem;}
.products>.container{width:100%;max-width:1320px;margin-left:auto;margin-right:auto;padding-left:12px;padding-right:12px;}

.item{transition:.2s}.item:hover{scale:1.025}
/* restaura o negrito 800 dos <b> (frascos, preco, total) dentro dos cards */
.products .item b{font-weight:800;}

/* ========================
	CTA - PRODUCTS
======================== */
html { scroll-behavior: smooth; }
.products {
  position: relative;
  scroll-margin-top: 16px;
}
@media (max-width: 1399px) {
  .products > .container {
    max-width: 100%;
  }
}
.products .productsGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2em;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1399px) {
  .products .productsGrid {
    gap: 1em;
  }
}
@media (max-width: 767px) {
  .products .productsGrid {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 768px) {
  .products .productsGrid [data-offer=promo] {
    order: 2;
  }
  .products .productsGrid [data-offer=mid] {
    order: 3;
  }
  .products .productsGrid [data-offer=basic] {
    order: 1;
  }
}
.products .title {
  text-align: center;
  margin-bottom: 0.75em;
  font-size: 2.25em;
}
@media (max-width: 599px) {
  .products .title {
    font-size: 1.25em;
  }
}
.products a {
  text-decoration: none;
  color: var(--text-color);
}
.products .item {
  display: block;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #934631;
  background-color: white;
  border-radius: 1em;
  overflow: hidden;
  border: 2px solid #934631;
  box-shadow: var(--bs-box-shadow-sm);
}
.products .item:hover {
  scale: 1.025;
}
.products .item .wrapper {
  border-radius: 18px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .products .item .wrapper {
    display: grid;
    grid-template-areas: "header header" "title info" "img info" "img totals" "footer footer";
    grid-template-columns: 1fr 1fr;
    align-items: center;
    -moz-column-gap: 0.5em;
         column-gap: 0.5em;
    padding: 0.5em 0;
  }
}
.products .item .item-header {
  grid-area: title;
  padding: 0.25em 0.5em;
  background-color: #f5dcc0;
  font-weight: 500;
  color: #934631;
}
@media (max-width: 767px) {
  .products .item .item-header {
    background-color: transparent;
    font-size: 0.9em;
    padding: 0;
  }
}
.products .item .item-img {
  grid-area: img;
  text-align: center;
}
.products .item .item-img .supply {
  padding: 1em 0.5em;
  text-align: center;
  line-height: 1;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .products .item .item-img .supply {
    font-size: 0.8em;
    padding: 0;
  }
}
.products .item .item-img .supply b {
  display: block;
  font-size: 1.75em;
}
@media (max-width: 767px) {
  .products .item .item-img .supply b {
    font-size: 1.25em;
  }
}
.products .item .item-img img {
  max-height: 200px;
  display: inline-block;
  margin: 0 auto;
}
.products .item .item-info {
  grid-area: info;
}
.products .item .item-info .price {
  display: flex;
  text-align: start;
  gap: 0.25em;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  align-items: center;
  line-height: 1;
}
.products .item .item-info .price b {
  font-size: 4em;
  text-align: center;
}
@media (max-width: 767px) {
  .products .item .item-info .price b {
    font-size: 2.8em;
    letter-spacing: -0.06em;
  }
}
.products .item .item-info .price sup {
  font-size: 0.45em;
  top: -0.5em;
}
.products .item .item-info .price span {
  font-weight: 500;
}
@media (max-width: 767px) {
  .products .item .item-info .price span {
    font-size: 0.65em;
  }
}
.products .item .item-info .savings {
  font-size: 0.8em;
  font-weight: 800;
  padding: 1em .5em 0;
}
@media (max-width: 767px) {
  .products .item .item-info .savings {
    font-size: 0.65em;
  }
}
.products .item .item-info .savings > div {
  padding: 1em;
  align-items: center;
  justify-content: center;
  background-color: var(--light-color);
  margin-bottom: .5em;
  border-radius: .5em;
}
.products .item .item-info .savings > div:first-child {
  color: #ee252c;
}
.products .item .item-info .savings > div:nth-child(2) {
  display: none;
}
@media (max-width: 767px) {
  .products .item .item-info .savings > div {
    padding: 0.5em 0;
  }
}
.products .item .item-info .savings span {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  line-height: 1;
}
@media (max-width: 767px) {
  .products .item .item-info .savings span {
    letter-spacing: -0.4px;
  }
}
.products .item .item-info .savings span::before {
  content: "\f26a";
  font-family: "bootstrap-icons";
  font-size: 1em;
  font-weight: normal;
}
@media (max-width: 767px) {
  .products .item .item-info .savings span::before {
    font-size: 1em;
  }
}
.products .item .item-buy {
  grid-area: footer;
  padding: 0 .5em;
  text-align: center;
}
.products .item .item-buy .button {
  background-image: linear-gradient(to top, #dadada 50%, #e0e0e0 51%);
  color: var(--text-color) !important;
  border: 2px solid #bfbfbf !important;
  font-family: "Open Sans", sans-serif;
  font-weight: 900;
  font-size: 1.25em;
  border-radius: 4em !important;
  line-height: 1;
  padding: 0.5em 1.5em;
  text-decoration: none;
  margin: .5em auto;
}
@media (max-width: 767px) {
  .products .item .item-buy .button {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 1.15em;
  }
}
/* Tablet (3 colunas estreitas): encolhe o botao p/ o texto nao estourar */
@media (min-width: 768px) and (max-width: 991px) {
  .products .item .item-buy .button {
    font-size: 1em;
    padding: 0.5em 0.9em;
  }
}
.products .item .item-buy .button span {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  white-space: nowrap;
}
.products .item .item-buy .button span::before {
  content: "\f23e";
  font-family: "bootstrap-icons";
  font-weight: normal;
  margin-top: -0.1em;
}
.products .item .item-buy .card-flags {
  max-width: 220px;
  margin-bottom: 0.5em;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .products .item .item-buy .card-flags {
    display: none;
  }
}
.products .item .item-totals {
  grid-area: totals;
  font-size: 0.9em;
  padding-bottom: 1em;
}
@media (max-width: 767px) {
  .products .item .item-totals {
    font-size: 0.8em;
  }
}
.products .item .item-totals .totals s {
  text-decoration-color: red;
  text-decoration-thickness: 2px;
}
.products .item .item-totals .totals span {
  color: var(--contrast-color);
}
.products .item .item-totals .shipping {
  font-weight: 800;
  text-transform: uppercase;
}
.products .item .item-totals .shipping span {
  color: #ee252c;
}
.products .item.promo {
  color: #934631;
  padding: 3px;
}
.products .item.promo .wrapper {
  background-color: #fdf1e3;
}
@media (max-width: 767px) {
  .products .item.promo .wrapper {
    grid-template-areas: "header header" "img info" "img totals" "footer footer";
  }
}
.products .item.promo .item-header {
  grid-area: header;
  background: radial-gradient(circle, #ddb383 0%, #934631 100%);
  color: white;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
  font-weight: 700;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .products .item.promo .wrapper {
    position: relative;
    padding-bottom: 1.2em;
  }
  .products .item.promo .wrapper::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    margin: 0;
    background: radial-gradient(circle, #ddb383 0%, #934631 100%);
    height: 14px;
    width: 100%;
    transform: rotate(180deg);
  }
  .products .item.promo .item-header {
    position: relative;
    margin: -0.55em 0 0.5em;
    padding: 0.25em 0.25em 0;
  }
  .products .item.promo .item-header::after {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 0;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    margin: -1px auto 0;
    background: radial-gradient(circle, #ddb383 0%, #934631 100%);
    height: 14px;
    width: 100%;
  }
}
.products .item.promo .item-img img {
  max-height: 240px;
}
.products .item.promo .item-info .savings > div {
  color: #ffffff;
  background: radial-gradient(circle, #ddb383 0%, #934631 100%);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
}
.products .item.promo .item-info .savings > div:first-child {
  color: #ffffff;
}
.products .item.promo .item-info .savings > div:nth-child(2) {
  display: block;
}
.products .item.promo .item-buy .button {
  color: var(--text-color);
  background-image: linear-gradient(to top, #fccd15 50%, #ffd814 51%);
  text-shadow: none;
}
.products .item.promo .item-buy .button:hover {
  background-image: linear-gradient(to bottom, #0fd37a 50%, #12dc80 51%);
}
.products .item.promo .item-totals .shipping span {
  color: #ee252c;
}

section.products .row {
    justify-content: center;
}
