/* ═══════════════════════════════════════════
   SUBPAGE POLISH
   Extra consistency for subpage cards and panels
═══════════════════════════════════════════ */

.info-card-light,
.cat-card,
.pub-card,
.pay-step,
.privacy-section,
.concept-card,
.step,
.toc,
.contact-box,
.info-alert,
.faq-acc details {
  transition: transform .42s cubic-bezier(.16,1,.3,1), box-shadow .42s ease, border-color .3s ease, background .3s ease;
}

.info-card-light:hover,
.cat-card:hover,
.pub-card:hover,
.pay-step:hover,
.privacy-section:hover,
.concept-card:hover,
.step:hover,
.contact-box:hover,
.faq-acc details:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-warm);
  border-color: rgba(107,143,62,.22) !important;
}

.info-card-light .icon,
.cat-card .icon,
.pub-card .pub-icon,
.pay-step-num,
.step-num {
  transition: transform .38s cubic-bezier(.34,1.56,.64,1), filter .3s ease;
}

.info-card-light:hover .icon,
.cat-card:hover .icon,
.pub-card:hover .pub-icon,
.pay-step:hover .pay-step-num,
.step:hover .step-num {
  transform: scale(1.08) rotate(3deg);
  filter: drop-shadow(0 5px 10px rgba(107,143,62,.22));
}

.info-alert {
  position: relative;
  overflow: hidden;
}

.info-alert::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--green);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .35s cubic-bezier(.16,1,.3,1);
}

.info-alert:hover::before {
  transform: scaleY(1);
}

@media (max-width: 768px) {
  .info-card-light:hover,
  .cat-card:hover,
  .pub-card:hover,
  .pay-step:hover,
  .privacy-section:hover,
  .concept-card:hover,
  .step:hover,
  .contact-box:hover,
  .faq-acc details:hover {
    transform: none;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
  }
}
