@keyframes rp-fadeup {
  from { opacity:0; transform:translateY(28px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes rp-fadein {
  from { opacity:0; }
  to   { opacity:1; }
}
@keyframes rp-page-out {
  0%   { opacity:1; transform:scaleY(1); }
  100% { opacity:0; transform:scaleY(0); transform-origin:top; }
}
#rp-page-transition {
  position:fixed; inset:0; background:#1E3C96;
  z-index:99999; pointer-events:none;
  transform-origin:top;
  animation: rp-page-out 0.5s cubic-bezier(0.76,0,0.24,1) 0.05s forwards;
}
.rp-anim { opacity:0; }
.rp-anim.rp-visible {
  animation: rp-fadeup 0.65s cubic-bezier(0.22,1,0.36,1) forwards;
}
.rp-anim-d1.rp-visible { animation-delay:0.1s; }
.rp-anim-d2.rp-visible { animation-delay:0.2s; }
.rp-anim-d3.rp-visible { animation-delay:0.3s; }
.rpb-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.rpb-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0,0,0,.15) !important;
}
.rpb-card-img img {
  transition: transform 0.4s ease;
}
.rpb-card:hover .rpb-card-img img {
  transform: scale(1.05);
}
.elementor-button {
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.elementor-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(30,60,150,.25) !important;
}
.rpb-card-btn a {
  transition: all 0.2s ease;
}
.rpb-card-btn a:hover {
  background: #1E3C96 !important;
  color: #fff !important;
  border-color: #1E3C96 !important;
}




/* Scroll buttons - never hidden by animation */
.elementor-element-54983048,
.elementor-element:has(#rp-scroll){
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}
#rp-scroll,#rp-scroll *{
  animation:none!important;
}

/* Footer and header never hidden by animation */
.elementor-location-footer,
.elementor-location-footer *,
.elementor-location-header,
.elementor-location-header *,
.site-footer, .site-header {
  opacity:1!important;
  transform:none!important;
  animation:none!important;
}

/* ===== MOBILE OPTIMIZATIONS ===== */
@media (max-width: 767px) {
  /* Brands section: 1 card per row on mobile */
  .elementor-43 .elementor-element-a4e8f54a .elementor-inner-section .elementor-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Card image height smaller on mobile */
  .rpb-card-img { height: 180px; }
  /* Heading smaller */
  .rpb-main-title { font-size: 2rem !important; }
  /* Category pill smaller */
  .rpb-cat-hdr-inner { padding: 6px 18px 7px; }
  .rpb-cat-ttl { font-size: 1rem; }
  /* Scroll buttons further from WhatsApp on mobile */
  #rp-scroll { bottom: 140px; right: 10px; }
  /* Fix overflow on brands section */
  .elementor-43 .elementor-element-a4e8f54a { overflow-x: hidden !important; }
  /* Card font sizes */
  .rpb-card-hdr span { font-size: 1rem; }
  .rpb-card-btn a { font-size: 0.85rem; padding: 6px 20px; }
  /* Page transition less jarring on mobile */
  #rp-page-transition { display: none; }
}

@media (max-width: 480px) {
  .rpb-card-img { height: 160px; }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* Tablet: 2 cards per row */
  .elementor-43 .elementor-element-a4e8f54a .elementor-inner-section .elementor-column {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
  }
}
