/* Carousel styles */
.wpad-wrap { position: relative; }
.wpad-carousel { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: .25rem; }
.wpad-slide { flex: 0 0 85%; max-width: 85%; scroll-snap-align: center; }
.wpad-card { display: block; position: relative; border: 1px solid #e5e7eb; border-radius: 14px; overflow: hidden; text-decoration: none; background: #fff; }
.wpad-img { width: 100%; height: 220px; object-fit: cover; display: block; }
.wpad-info { padding: .75rem .9rem 1rem; }
.wpad-title { margin: 0 0 .25rem; font-size: 1.1rem; line-height: 1.3; color: #111827; }
.wpad-sub { margin: 0 0 .5rem; color: #4b5563; }
.wpad-cta { display: inline-block; font-weight: 600; font-size: .9rem; color: #2563eb; }
.wpad-controls { position: absolute; inset: 0; pointer-events: none; }
.wpad-prev, .wpad-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,.96); border: 1px solid #e5e7eb; border-radius: 999px; width: 42px; height: 42px; cursor: pointer; pointer-events: auto; display: flex; align-items: center; justify-content: center; padding: 0; }
.wpad-prev span, .wpad-next span { display: inline-block; font-size: 20px; line-height: 1; }
.wpad-prev { left: 6px; }
.wpad-next { right: 6px; }
.wpad-prev:focus, .wpad-next:focus { outline: 2px solid #2563eb; outline-offset: 2px; }

@media (min-width: 900px) {
  .wpad-slide { flex-basis: 32%; max-width: 32%; }
  .wpad-img { height: 200px; }
}