.rmw-app, .elementor-widget-rmw_carousel, .elementor-widget-rmw_streaming, .elementor-widget-rmw_search {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
.rmw-section { margin: 2rem 0; }
.rmw-title { font-size: 1.5rem; font-weight: 700; color: #f24405; margin-bottom: 1rem; }
.rmw-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .75rem; }
@media (min-width:640px){ .rmw-grid{ grid-template-columns: repeat(4,1fr);} }
@media (min-width:768px){ .rmw-grid{ grid-template-columns: repeat(6,1fr);} }
@media (min-width:1024px){ .rmw-grid{ grid-template-columns: repeat(8,1fr);} }

/* Search */
.rmw-search-container{ position:relative; max-width: 900px; margin: 0 auto; display:flex; gap:.5rem; align-items:center; }
.rmw-search-input{ width:100%; padding:.75rem 1rem; border:2px solid #e5e7eb; border-radius:999px; }
.rmw-search-btn{ border:0; background:#000; color:#fff; padding:.6rem 1rem; border-radius:999px; cursor:pointer; }
.rmw-search-suggestions{ position:absolute; top:calc(100% + .25rem); left:0; right:0; background:#fff; border:1px solid #e5e7eb; border-radius:.5rem; box-shadow:0 10px 20px rgba(0,0,0,.06); z-index:20; max-height:300px; overflow:auto; }
.rmw-hidden{ display:none !important; }

/* Hero */
.rmw-hero{ display:grid; grid-template-columns: 1fr; gap:1rem; }
@media (min-width:768px){ .rmw-hero{ grid-template-columns: 3fr 1fr; } }
.rmw-hero .swiper-container{ width:100%; height: 500px; }
.rmw-hero .swiper-button-next, .rmw-hero .swiper-button-prev{ background: rgba(0,0,0,.35); width:40px; height:40px; border-radius:50%; color:#fff; }
.rmw-hero .rmw-hero-main .swiper-slide{ display:flex; align-items:flex-end; padding:1rem; color:#fff; background-size:cover; background-position:center; position:relative; }
.rmw-hero .rmw-hero-main .rmw-overlay{ position:absolute; inset:0; background: linear-gradient(to right, rgba(0,0,0,0.8) 20%, rgba(0,0,0,0.2) 100%); }
.rmw-hero-thumbs .swiper-slide{ padding:.25rem; }

/* Cards */
.rmw-card{ display:flex; flex-direction:column; }
.rmw-card .rmw-thumb{ position:relative; border-radius:.75rem; overflow:hidden; margin-bottom:.5rem; }
.rmw-card .rmw-title-card{ font-weight:600; font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rmw-badge{ font-size:.75rem; color:#4b5563; display:flex; align-items:center; gap:.25rem; }

/* Modals are injected in footer */
.rmw-modal{ position:fixed; inset:0; z-index:9999; background: rgba(0,0,0,0.85); }
