/* =====================================================
   PALPITES DO DIA
   ===================================================== */


/* =====================================================
   HERO
   ===================================================== */

.tips-hero {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: space-between;

  min-height: 210px;

  box-sizing: border-box;

  padding: 34px 38px;

  overflow: hidden;

  border-radius: 24px;

  background:
    linear-gradient(
      120deg,
      #172554 0%,
      #1d4ed8 52%,
      #60a5fa 100%
    );

  color: #fff;

  box-shadow:
    0 18px 45px
    rgba(37, 99, 235, .14);
}


.tips-hero::before {
  content: "";

  position: absolute;

  width: 330px;
  height: 330px;

  right: -100px;
  top: -180px;

  border-radius: 50%;

  background:
    rgba(255, 255, 255, .08);
}


.tips-hero::after {
  content: "";

  position: absolute;

  width: 180px;
  height: 180px;

  right: 170px;
  bottom: -120px;

  border-radius: 50%;

  background:
    rgba(255, 255, 255, .05);
}


.tips-hero-content {
  position: relative;
  z-index: 2;

  max-width: 600px;
}


.tips-hero-badge {
  display: inline-flex;
  align-items: center;

  padding: 7px 11px;

  border:
    1px solid
    rgba(255,255,255,.16);

  border-radius: 999px;

  background:
    rgba(255,255,255,.12);

  font-size: 10px;
  font-weight: 800;
  letter-spacing: .6px;
}


.tips-hero h2 {
  margin: 15px 0 9px;

  font-size: 30px;
  line-height: 1.12;

  letter-spacing: -.7px;
}


.tips-hero-content > p {
  max-width: 550px;

  margin: 0;

  color:
    rgba(255,255,255,.76);

  font-size: 14px;
  line-height: 1.6;
}


.tips-hero-date {
  display: flex;
  align-items: center;

  gap: 7px;

  margin-top: 19px;

  font-size: 12px;
}


.tips-hero-date strong {
  font-weight: 700;
}


/* HERO DIREITA */

.tips-hero-visual {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;

  gap: 15px;

  width: 260px;

  box-sizing: border-box;

  padding: 18px;

  border:
    1px solid
    rgba(255,255,255,.15);

  border-radius: 18px;

  background:
    rgba(255,255,255,.11);

  backdrop-filter: blur(10px);
}


.hero-target {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 54px;
  height: 54px;

  flex-shrink: 0;

  border-radius: 16px;

  background:
    rgba(255,255,255,.15);

  font-size: 27px;
}


.tips-hero-visual small {
  display: block;

  color:
    rgba(255,255,255,.65);

  font-size: 10px;
}


.tips-hero-visual strong {
  display: block;

  margin-top: 3px;

  font-size: 17px;
}


.tips-hero-visual p {
  margin: 3px 0 0;

  color:
    rgba(255,255,255,.68);

  font-size: 9px;
}


/* =====================================================
   SECTION HEADING
   ===================================================== */

.tips-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;

  margin: 30px 0 13px;
}


.section-eyebrow {
  display: block;

  margin-bottom: 5px;

  color: var(--primary);

  font-size: 9px;
  font-weight: 800;
  letter-spacing: .8px;
}


.tips-section-heading h2 {
  margin: 0;

  color: var(--text);

  font-size: 19px;
}


.tips-section-heading p {
  margin: 4px 0 0;

  color: var(--text-secondary);

  font-size: 11px;
}


.tips-update {
  color: var(--text-secondary);

  font-size: 11px;

  white-space: nowrap;
}


/* =====================================================
   GRID
   ===================================================== */

.tips-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 14px;
}


/* =====================================================
   CARD
   ===================================================== */

.tip-card {
  position: relative;

  display: grid;

  grid-template-columns:
    116px minmax(0, 1fr) auto;

  gap: 18px;

  min-width: 0;

  padding: 16px;

  overflow: hidden;

  border:
    1px solid var(--border);

  border-radius: 20px;

  background: #fff;

  box-shadow:
    0 4px 18px
    rgba(15,23,42,.025);

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}


.tip-card:hover {
  transform: translateY(-3px);

  border-color: #dce4ef;

  box-shadow:
    0 12px 30px
    rgba(15,23,42,.07);
}


/* EM ALTA */

.tip-card.trending {
  background:
    linear-gradient(
      135deg,
      #fff 0%,
      #fff 62%,
      #fff9f1 100%
    );

  border-color: #fed7aa;
}


/* =====================================================
   IMAGEM
   ===================================================== */

.tip-animal-visual {
  position: relative;

  width: 116px;
  height: 138px;

  overflow: hidden;

  border-radius: 16px;

  background:
    #f1f5f9;
}


.tip-animal-image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform .3s ease;
}


.tip-card:hover
.tip-animal-image {
  transform: scale(1.04);
}


/* GRADIENTE */

.tip-animal-visual::after {
  content: "";

  position: absolute;

  left: 0;
  right: 0;
  bottom: 0;

  height: 55%;

  pointer-events: none;

  background:
    linear-gradient(
      transparent,
      rgba(15,23,42,.72)
    );
}


/* GRUPO */

.tip-group {
  position: absolute;
  z-index: 2;

  left: 0;
  right: 0;
  bottom: 9px;

  color: #fff;

  text-align: center;

  font-size: 27px;
  font-weight: 800;

  text-shadow:
    0 2px 6px
    rgba(0,0,0,.3);
}


/* =====================================================
   INFORMAÇÕES
   ===================================================== */

.tip-info {
  min-width: 0;

  padding: 6px 0;
}


.tip-animal-name {
  margin: 0;

  color: var(--text);

  font-size: 18px;
  font-weight: 800;
}


.tip-description {
  display: flex;
  align-items: flex-start;

  gap: 7px;

  max-width: 330px;

  margin: 11px 0 0;

  color: var(--text-secondary);

  font-size: 12px;
  line-height: 1.45;
}


.tip-description-icon {
  flex-shrink: 0;

  color: var(--primary);

  font-size: 13px;
}


/* =====================================================
   BADGES
   ===================================================== */

.tip-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 6px;

  margin-top: 12px;
}


.tip-badge {
  display: inline-flex;
  align-items: center;

  gap: 4px;

  padding: 6px 9px;

  border-radius: 999px;

  font-size: 9px;
  font-weight: 700;
}


.tip-badge.trending {
  background: #fff7ed;
  color: #c2410c;
}


.tip-badge.tag {
  background: #ecfdf5;
  color: #15803d;
}


/* =====================================================
   DETALHES
   ===================================================== */

.tip-details {
  display: inline-flex;
  align-items: center;

  gap: 5px;

  margin-top: 13px;

  border: 0;
  padding: 0;

  background: transparent;

  color: var(--primary);

  font-family: inherit;
  font-size: 10px;
  font-weight: 700;

  cursor: pointer;
}


.tip-details:hover {
  text-decoration: underline;
}


/* =====================================================
   MILHAR
   ===================================================== */

.tip-number {
  align-self: start;

  min-width: 78px;

  padding: 7px 2px 0;

  text-align: right;
}


.tip-number span {
  display: block;

  color: #9ca3af;

  font-size: 9px;
  font-weight: 600;
}


.tip-number strong {
  display: block;

  margin-top: 5px;

  color: var(--primary);

  font-size: 23px;
  font-weight: 800;

  letter-spacing: .4px;
}


/* =====================================================
   EXCLUSIVO NO APP
   ===================================================== */

.exclusive-app-card {
  position: relative;

  display: grid;

  grid-template-columns:
    auto minmax(0, 1fr) auto;

  align-items: center;

  gap: 20px;

  margin-top: 28px;

  padding: 24px 26px;

  overflow: hidden;

  border:
    1px solid #e0e7ff;

  border-radius: 20px;

  background:
    linear-gradient(
      120deg,
      #f8faff,
      #f5f3ff
    );
}


.exclusive-app-card::after {
  content: "";

  position: absolute;

  width: 180px;
  height: 180px;

  right: -70px;
  top: -100px;

  border-radius: 50%;

  background:
    rgba(99,102,241,.06);

  pointer-events: none;
}


.exclusive-app-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 56px;
  height: 56px;

  border-radius: 16px;

  background: #fff;

  box-shadow:
    0 7px 20px
    rgba(79,70,229,.09);

  font-size: 27px;
}


.exclusive-app-content {
  min-width: 0;
}


.exclusive-eyebrow {
  color: #7c3aed;

  font-size: 9px;
  font-weight: 800;

  letter-spacing: .7px;
}


.exclusive-app-content h2 {
  margin: 4px 0 5px;

  color: var(--text);

  font-size: 18px;
}


.exclusive-app-content p {
  max-width: 620px;

  margin: 0;

  color: var(--text-secondary);

  font-size: 11px;
  line-height: 1.5;
}


.exclusive-features {
  display: flex;
  flex-wrap: wrap;

  gap: 7px 16px;

  margin-top: 10px;

  color: #4b5563;

  font-size: 9px;
  font-weight: 600;
}


.exclusive-app-button {
  position: relative;
  z-index: 2;

  display: inline-flex;
  align-items: center;

  gap: 8px;

  padding: 11px 16px;

  border-radius: 11px;

  background: var(--primary);

  color: #fff;

  text-decoration: none;

  font-size: 11px;
  font-weight: 700;

  white-space: nowrap;

  transition:
    transform .2s ease,
    background .2s ease;
}


.exclusive-app-button:hover {
  transform: translateY(-2px);

  background: var(--primary-dark);
}


/* =====================================================
   LOADING
   ===================================================== */

.tips-loading {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  min-height: 150px;

  color: var(--text-secondary);

  font-size: 12px;
}


.tips-spinner {
  width: 18px;
  height: 18px;

  border:
    2px solid #e5e7eb;

  border-top-color:
    var(--primary);

  border-radius: 50%;

  animation:
    tipsSpin .7s linear infinite;
}


@keyframes tipsSpin {

  to {
    transform: rotate(360deg);
  }

}


/* =====================================================
   EMPTY
   ===================================================== */

.tips-empty {
  padding: 50px 20px;

  border:
    1px dashed #dce2ea;

  border-radius: 18px;

  background: #fff;

  text-align: center;
}


.tips-empty > div {
  font-size: 28px;
}


.tips-empty strong {
  display: block;

  margin-top: 10px;

  color: var(--text);

  font-size: 14px;
}


.tips-empty p {
  margin: 6px 0 0;

  color: var(--text-secondary);

  font-size: 11px;
}


/* =====================================================
   NOTA
   ===================================================== */

.tips-note {
  display: flex;
  align-items: flex-start;

  gap: 8px;

  max-width: 700px;

  margin: 16px auto 90px;

  color: #9ca3af;

  font-size: 9px;
  line-height: 1.5;

  text-align: center;
}


.tips-note p {
  margin: 0;
}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 1150px) {

  .tips-grid {
    grid-template-columns: 1fr;
  }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 650px) {

  .tips-hero {
    min-height: auto;

    padding: 25px 21px;

    border-radius: 20px;
  }


  .tips-hero h2 {
    font-size: 24px;
  }


  .tips-hero-visual {
    display: none;
  }


  .tips-section-heading {
    align-items: flex-start;

    margin-top: 23px;
  }


  .tips-update {
    display: none;
  }


  .tips-grid {
    grid-template-columns: 1fr;

    gap: 11px;
  }


  .tip-card {
    grid-template-columns:
      90px minmax(0, 1fr);

    gap: 13px;

    padding: 12px;

    border-radius: 17px;
  }


  .tip-animal-visual {
    width: 90px;
    height: 112px;

    border-radius: 13px;
  }


  .tip-group {
    bottom: 7px;

    font-size: 23px;
  }


  .tip-info {
    padding-top: 3px;
  }


  .tip-animal-name {
    padding-right: 70px;

    font-size: 16px;
  }


  .tip-description {
    margin-top: 7px;

    font-size: 10px;
  }


  .tip-number {
    position: absolute;

    top: 14px;
    right: 14px;

    min-width: 60px;

    padding: 0;
  }


  .tip-number strong {
    margin-top: 2px;

    font-size: 18px;
  }


  .tip-badges {
    margin-top: 8px;
  }


  .tip-badge {
    padding: 5px 7px;

    font-size: 8px;
  }


  .tip-details {
    margin-top: 9px;
  }


  .exclusive-app-card {
    grid-template-columns:
      auto minmax(0,1fr);

    gap: 14px;

    padding: 19px;

    margin-top: 20px;
  }


  .exclusive-app-icon {
    width: 45px;
    height: 45px;

    border-radius: 13px;

    font-size: 22px;
  }


  .exclusive-app-button {
    grid-column: 1 / -1;

    justify-content: center;

    width: 100%;

    box-sizing: border-box;
  }


  .exclusive-features {
    display: none;
  }

}
.tip-image-fallback {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  height: 100%;

  background:
    linear-gradient(
      145deg,
      #eff6ff,
      #e2e8f0
    );

  font-size: 48px;
}