@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&family=Jost:wght@300;400;500;600&display=swap');


/* RESET ISOLAMENTO */
.tbt-banner *, .tbt-banner *::before, .tbt-banner *::after { box-sizing: border-box; }
.tbt-banner a { text-decoration: none; color: inherit; }
.tbt-banner button { cursor: pointer; }
/* ================================================================
   TopBeauty Theme – Product Banner Widget CSS
   SCIA Studio – v1.0.0
   ================================================================ */

.tbt-pb-banner {
  /* ── CSS VARIABLES (override via Elementor) ── */
  --pb-img-url:       none;
  --pb-img-pos:       center center;
  --pb-accent:        #000000;
  --pb-accent-hover:  #666666;
  --pb-text:          #000000;
  --pb-category-clr:  #000000;
  --pb-width:         460px;
  --pb-aspect:        1 / 1.15;
  --pb-min-height:    260px;

  position: relative;
  width: 100%;
  max-width: var(--pb-width);
  aspect-ratio: var(--pb-aspect);
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  font-family: 'Poppins', sans-serif;
  cursor: pointer;
}

.tbt-pb-banner--shadow {
  box-shadow: 0 8px 40px rgba(0,0,0,0.12);
}

/* ── IMMAGINE ── */
.tbt-pb-banner__img {
  position: absolute;
  inset: 0;
  background-image: var(--pb-img-url);
  background-size: cover;
  background-position: var(--pb-img-pos);
  transition: transform 0.7s cubic-bezier(0.4,0,0.2,1);
  will-change: transform;
}

.tbt-pb-banner:hover .tbt-pb-banner__img {
  transform: scale(1.04);
}

/* ── GRADIENTE ── */
.tbt-pb-banner__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    160deg,
    rgba(255,255,255,0.82) 0%,
    rgba(255,255,255,0.55) 42%,
    rgba(0,0,0,0.0) 100%
  );
  pointer-events: none;
}

/* ── CONTENUTO ── */
.tbt-pb-banner__content {
  position: relative;
  z-index: 2;
  padding: 32px 30px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Category */
.tbt-pb-banner__category {
  font-family: 'Poppins', sans-serif;
  font-size: 0.60rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--pb-category-clr);
  margin-bottom: 12px;
  opacity: 0.75;
}

/* Title */
.tbt-pb-banner__title {
  font-family: 'Butler', 'Georgia', serif;
  font-size: clamp(1.2rem, 3vw, 1.65rem);
  font-weight: 500;
  line-height: 1.3;
  color: var(--pb-text);
  margin-bottom: 14px;
  max-width: 68%;
}

/* Price wrap */
.tbt-pb-banner__price-wrap {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.tbt-pb-price {
  font-family: 'Poppins', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--pb-text);
  letter-spacing: -0.01em;
}

.tbt-pb-price-old {
  font-family: 'Poppins', sans-serif;
  font-size: 0.90rem;
  font-weight: 400;
  color: #666;
  text-decoration: line-through;
}

.tbt-pb-price-badge {
  font-family: 'Poppins', sans-serif;
  font-size: 0.60rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: rgb(16,118,189);
  color: #fff;
  padding: 4px 9px;
  border-radius: 10px;
  line-height: 1;
}

/* CTA button */
.tbt-pb-banner__btn {
  display: inline-block;
  background: var(--pb-accent);
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 13px 28px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  width: fit-content;
  transition: background 0.3s ease, transform 0.2s ease;
}

.tbt-pb-banner__btn:hover {
  background: var(--pb-accent-hover);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}

/* ══════════════════════════════════════
   VARIANTE: DARK
══════════════════════════════════════ */
.tbt-pb-banner--dark {
  --pb-text:          #ffffff;
  --pb-category-clr:  #ffffff;
  --pb-accent:        #ffffff;
  --pb-accent-hover:  #e0e0e0;
}

.tbt-pb-banner--dark .tbt-pb-banner__gradient {
  background: linear-gradient(
    160deg,
    rgba(0,0,0,0.72) 0%,
    rgba(0,0,0,0.38) 50%,
    rgba(0,0,0,0.0) 100%
  );
}

.tbt-pb-banner--dark .tbt-pb-banner__btn {
  background: #fff;
  color: #000;
}

.tbt-pb-banner--dark .tbt-pb-banner__btn:hover {
  background: #eeeeee;
  color: #000;
}

.tbt-pb-banner--dark .tbt-pb-price        { color: #fff; }
.tbt-pb-banner--dark .tbt-pb-price-old    { color: rgba(255,255,255,0.6); }
.tbt-pb-banner--dark .tbt-pb-banner__category { color: #fff; }

/* ══════════════════════════════════════
   VARIANTE: TESTO DESTRA
══════════════════════════════════════ */
.tbt-pb-banner--right .tbt-pb-banner__content {
  align-items: flex-end;
  text-align: right;
}

.tbt-pb-banner--right .tbt-pb-banner__title {
  max-width: 65%;
}

.tbt-pb-banner--right .tbt-pb-banner__gradient {
  background: linear-gradient(
    -140deg,
    rgba(255,255,255,0.88) 0%,
    rgba(255,255,255,0.55) 45%,
    rgba(0,0,0,0.0) 100%
  );
}

.tbt-pb-banner--right .tbt-pb-banner__price-wrap {
  justify-content: flex-end;
}

/* ══════════════════════════════════════
   VARIANTE: ORIZZONTALE
══════════════════════════════════════ */
.tbt-pb-banner--horizontal {
  aspect-ratio: unset;
  min-height: var(--pb-min-height, 260px);
}

.tbt-pb-banner--horizontal .tbt-pb-banner__gradient {
  background: linear-gradient(
    to right,
    rgba(255,255,255,0.95) 0%,
    rgba(255,255,255,0.70) 50%,
    transparent 100%
  );
}

.tbt-pb-banner--horizontal .tbt-pb-banner__content {
  justify-content: center;
  max-width: 54%;
}

.tbt-pb-banner--horizontal .tbt-pb-banner__title {
  max-width: 100%;
}

/* ── RESPONSIVE ── */
@media (max-width: 600px) {
  .tbt-pb-banner__title { max-width: 80%; }
  .tbt-pb-banner--right .tbt-pb-banner__title { max-width: 80%; }
  .tbt-pb-banner--horizontal .tbt-pb-banner__content { max-width: 70%; }
  .tbt-pb-banner__content { padding: 24px 20px; }
}

/* ══════════════════════════════════════
   HOVER EFFECTS
══════════════════════════════════════ */
.tbt-pb-hover-zoom-in:hover  .tbt-pb-banner__img { transform: scale(1.05); }
.tbt-pb-hover-zoom-out .tbt-pb-banner__img        { transform: scale(1.08); }
.tbt-pb-hover-zoom-out:hover .tbt-pb-banner__img  { transform: scale(1.0); }
.tbt-pb-hover-pan:hover      .tbt-pb-banner__img  { transform: scale(1.06) translateX(2%); }
.tbt-pb-hover-none:hover     .tbt-pb-banner__img  { transform: none; }

/* reset default img hover when class controls it */
.tbt-pb-banner.tbt-pb-hover-zoom-in .tbt-pb-banner__img,
.tbt-pb-banner.tbt-pb-hover-zoom-out .tbt-pb-banner__img,
.tbt-pb-banner.tbt-pb-hover-pan .tbt-pb-banner__img,
.tbt-pb-banner.tbt-pb-hover-none .tbt-pb-banner__img {
  transition: transform 0.7s cubic-bezier(0.4,0,0.2,1);
}

/* ══════════════════════════════════════
   BADGE BEST SELLING
══════════════════════════════════════ */
.tbt-pb-badge-bestselling {
  display: inline-block;
  background: #000000;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 0.60rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 10px;
  margin-bottom: 16px;
  width: fit-content;
}
