/* Bolhas decorativas animadas */
.dif-bubble {
  position: absolute;
  border-radius: 50%;
  filter: blur(12px);
  opacity: .38;
  z-index: 0;
  animation: dif-bounce 7s infinite alternate cubic-bezier(.4,0,.2,1);
}
.dif-bubble.orange {
  background: linear-gradient(135deg, #ffedd5 30%, #fdba74 100%);
}
.dif-bubble.yellow {
  background: linear-gradient(120deg, #ffe29a 40%, #fbbf24 100%);
}
.dif-bubble.gray {
  background: linear-gradient(135deg, #f3f4f6 60%, #e5e7eb 100%);
}
@keyframes dif-bounce {
    to { transform: translateY(25px) scale(1.08); }
}

/* Card aprimorado */
.dif-card {
    position: relative;
    background: #fff;
    border-radius: 1.2rem;
    box-shadow: 0 8px 32px rgba(255,140,0,.07),0 1.5px 8px rgba(80,80,80,.06);
    padding: 2.5rem 1.5rem;
    display:flex; flex-direction:column; align-items:center;
    border:1.5px solid #fff3e0;
    transition:
        box-shadow .25s cubic-bezier(.4,0,.2,1),
        transform .25s cubic-bezier(.4,0,.2,1),
        border-color .25s cubic-bezier(.4,0,.2,1);
    overflow:hidden;
}

.dif-card:hover {
    box-shadow:
      0 16px 48px rgba(255,140,0,.18),
      0 .5px 12px rgba(255,109,41,.10);
    transform: translateY(-7px) scale(1.035);
    border-color:#fdba74;
}

.dif-icon-bg {
    display:inline-flex; align-items:center; justify-content:center;
    width:72px; height:72px;
    border-radius:50%;
    margin-bottom:18px;
    box-shadow:0 .5rem .8rem -.3rem #fbbf24a6;
    background-image:
      linear-gradient(120deg,#fff7ed,#ffedd5,#fdba74);
}

/* Badge/label extra */
.dif-badge {
   position:absolute; top:.9rem; right:.9rem;
   font-size:.75rem; font-weight:bold; color:#c2410c; background:#ffedd5;
   padding:.35em .95em; border-radius:.999em; box-shadow:.5px .5px .7em #ffedd580;
   letter-spacing:.03em; z-index:2
}

/* Título com efeito */
.dif-title {
   font-size:1.28rem; font-weight:bold; color:#22223b;
   margin-bottom:.6em; text-align:center;
   letter-spacing:-.01em;
   transition:.18s color cubic-bezier(.4,0,.2,1)
}
.dif-card:hover .dif-title { color:#ea580c }

/* Texto do card */
.dif-desc { color:#575757;text-align:center;font-size:.98rem;margin-bottom:-.2em }

@media (max-width:600px){
   .dif-card{padding-top:2rem;padding-bottom:2rem;}
   .dif-title{font-size:1.12rem;}
}