.rs-ae { margin-top: 2rem; }
.rs-ae-title { font-size: 1.4rem; font-weight: 700; margin: 0 0 1rem; }

.rs-ae-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.rs-ae-card {
  border: 1px solid #eee;
  border-radius: 14px;
  background: #fff;
  padding: 1rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.03);
}

.rs-ae-card-h { display:flex; align-items:center; gap:.5rem; margin-bottom:.5rem; }
.rs-ae-icn svg { display:block; }
.rs-ae-h4 { margin:0; font-size:1.05rem; font-weight:700; }

.rs-ae-summary { color:#333; font-size:.95rem; line-height:1.5; margin:.25rem 0 .5rem; }

.rs-ae-chips { list-style:none; padding:0; margin:.5rem 0; display:flex; flex-wrap:wrap; gap:.4rem; }
.chip { font-size:.8rem; padding:.25rem .5rem; border-radius:999px; border:1px solid #e5e5e5; background:#fafafa; }
.chip--em { background:#fff3f3; border-color:#ffd6d6; }
.chip--tip { background:#f6f9ff; border-color:#dfe8ff; }

.rs-ae-actions { display:flex; gap:.5rem; flex-wrap:wrap; margin:.5rem 0 .25rem; }
.btn { font-size:.85rem; padding:.4rem .7rem; border-radius:8px; border:1px solid #e5e5e5; background:#fff; text-decoration:none; }
.btn:hover { box-shadow:0 2px 8px rgba(0,0,0,.06); }
.btn--map { border-color:#cfe3ff; background:#f2f7ff; }

.rs-ae-vstrip { display:flex; gap:.5rem; overflow:auto; padding-top:.25rem; }
.rs-ae-vthumb { border:0; background:transparent; padding:0; cursor:pointer; flex:0 0 120px; }
.rs-ae-vthumb img { width:120px; height:68px; object-fit:cover; border-radius:8px; display:block; }

.rs-ae-lightbox { position:fixed; inset:0; z-index:9999; display:grid; grid-template-rows:1fr; }
.rs-ae-lb-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.5); }
.rs-ae-lb-inner { position:relative; margin:auto; width:min(900px, 92vw); }
.rs-ae-lb-player { position:relative; width:100%; aspect-ratio:16/9; background:#000; border-radius:12px; overflow:hidden; }
.rs-ae-lb-player iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.rs-ae-lb-close { position:absolute; top:-40px; right:0; font-size:2rem; line-height:1; background:none; border:none; color:#fff; cursor:pointer; }
@media (max-width:600px){
  .rs-ae-lb-close { top:-36px; }
}

.rs-ae-simple { margin: 1rem 0 1.5rem; }
.rs-ae-list { list-style: none; margin: 0; padding: 0; }
.rs-ae-list li { margin: .6rem 0; font-size: 1.05rem; color: #2a3b4c; }
.rs-ae-list strong { font-weight: 700; }

/* --- Mobile fixes for Arrival Essentials video strip --- */
@media (max-width: 768px) {
  .rs-ae .rs-ae-vstrip{
    display: flex !important;
    gap: .5rem;
    overflow-x: auto;
    padding: .5rem 0;
    -webkit-overflow-scrolling: touch;
  }
  .rs-ae .rs-ae-vthumb{
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    padding: 0;
    width: 132px;            /* comfortable thumb size on phones */
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
  }
  .rs-ae .rs-ae-vthumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* In case a theme utility class hides elements on XS */
  .rs-ae .ct-hidden-xs,
  .rs-ae .ct-hidden-sm { display: initial !important; }
}
