/* [rdpw_tours_globe] — all workshops on a globe (2026-09-24). House red #e2001a. */
.rdpw-tg { --tg-red:#e2001a; --tg-ink:#1d2327; --tg-mute:#646970; --tg-line:#e5e7eb; margin:0 0 32px; }
.rdpw-tg__title { margin:0 0 12px; }

.rdpw-tg__filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
.rdpw-tg__filters button { display:inline-flex; align-items:center; gap:7px; padding:7px 14px; border:1px solid var(--tg-line); border-radius:20px; background:#fff; color:var(--tg-ink); font:inherit; font-size:13px; font-weight:600; cursor:pointer; line-height:1.2; }
.rdpw-tg__filters button span { color:var(--tg-mute); font-weight:500; }
.rdpw-tg__filters button.is-on { border-color:var(--tg-ink); background:var(--tg-ink); color:#fff; }
.rdpw-tg__filters button.is-on span { color:rgba(255,255,255,.7); }
.rdpw-tg__filters button:focus-visible { outline:2px solid var(--tg-red); outline-offset:2px; }

.rdpw-tg__dot { display:inline-block; width:10px; height:10px; border-radius:50%; flex:0 0 auto; }
.rdpw-tg__dot--open { background:var(--tg-red); box-shadow:0 0 0 2px #fff, 0 0 0 3px rgba(0,0,0,.12); }
.rdpw-tg__dot--full { background:#8c8f94; box-shadow:0 0 0 2px #fff, 0 0 0 3px rgba(0,0,0,.12); }
.rdpw-tg__dot--future { background:#fff; box-shadow:inset 0 0 0 2px var(--tg-ink); }

.rdpw-tg__stage { position:relative; border-radius:12px; overflow:hidden; background:#02060d; }
.rdpw-tg__map { position:absolute; inset:0; overscroll-behavior:contain; }
.rdpw-tg__hint { position:absolute; left:14px; top:12px; z-index:2; font-size:12px; color:rgba(255,255,255,.72); pointer-events:none; letter-spacing:.02em; }

/* Pins (the wrapper is what MapLibre moves; only the inner button scales) */
.rdpw-tg-pin-wrap { width:16px; height:16px; transition:opacity .2s ease; }
.rdpw-tg-pin-wrap[style*="opacity: 0"] { pointer-events:none; }
.rdpw-tg-pin { display:block; transition:transform .15s ease; position:relative; width:16px; height:16px; padding:0; border:2px solid #fff; border-radius:50%; background:var(--tg-red); cursor:pointer; box-shadow:0 0 0 1px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.45); }
.rdpw-tg-pin--full { background:#8c8f94; }
.rdpw-tg-pin--future { background:rgba(255,255,255,.2); border-color:#fff; }
.rdpw-tg-pin span { position:absolute; top:-10px; right:-12px; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:#fff; color:var(--tg-ink); font:700 11px/17px system-ui, sans-serif; text-align:center; box-shadow:0 1px 4px rgba(0,0,0,.4); }
.rdpw-tg-pin.is-live.rdpw-tg-pin--open::after { content:""; position:absolute; inset:-6px; border-radius:50%; border:2px solid var(--tg-red); opacity:0; animation:rdpwTgPing 2.6s ease-out infinite; }
.rdpw-tg-pin:hover, .rdpw-tg-pin:focus-visible { transform:scale(1.25); outline:none; }
@keyframes rdpwTgPing { 0% { transform:scale(.6); opacity:.9; } 100% { transform:scale(1.9); opacity:0; } }

/* Card */
.rdpw-tg__card { position:absolute; z-index:3; left:14px; top:40px; width:300px; max-height:calc(100% - 54px); overflow:auto; background:#fff; border-radius:12px; box-shadow:0 12px 36px rgba(0,0,0,.4); }
.rdpw-tg__card[hidden] { display:none; }
.rdpw-tg__x { position:absolute; top:8px; right:8px; z-index:1; width:30px; height:30px; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:var(--tg-ink); font-size:20px; line-height:30px; cursor:pointer; padding:0; }
.rdpw-tg__img { display:block; height:150px; background:#ddd center/cover no-repeat; }
.rdpw-tg__body { padding:14px 16px 16px; }
.rdpw-tg__place { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--tg-red); margin:0 0 4px; }
.rdpw-tg__body h3 { margin:0 0 6px; font-size:18px; line-height:1.25; text-wrap:balance; }
.rdpw-tg__dates { font-size:14px; color:var(--tg-ink); margin:0 0 8px; }
.rdpw-tg__st { font-size:13px; font-weight:600; margin:0 0 14px; }
.rdpw-tg__st span { font-weight:500; color:var(--tg-mute); }
.rdpw-tg__st--open { color:#1f8a37; }
.rdpw-tg__st--full { color:#9a6700; }
.rdpw-tg__st--future { color:var(--tg-mute); }
.rdpw-tg__cta { display:inline-block; padding:10px 18px; border-radius:6px; background:var(--tg-red); color:#fff !important; text-decoration:none !important; font-weight:600; font-size:14px; }
.rdpw-tg__cta:hover { background:#1a1a1a; }
.rdpw-tg__multi { list-style:none; margin:8px 0 0; padding:0; }
.rdpw-tg__multi li + li { border-top:1px solid var(--tg-line); }
.rdpw-tg__multi a { display:block; padding:9px 0; text-decoration:none !important; color:var(--tg-ink) !important; }
.rdpw-tg__multi strong { display:block; font-size:14px; line-height:1.3; }
.rdpw-tg__multi span { display:block; font-size:12px; color:var(--tg-mute); }
.rdpw-tg__multi em { font-style:normal; font-size:12px; font-weight:600; }

/* List */
.rdpw-tg__list { list-style:none; margin:16px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:8px; }
.rdpw-tg__li { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--tg-line); border-radius:10px; background:#fff; }
.rdpw-tg__li[hidden] { display:none; }
.rdpw-tg__locate { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border:0; border-radius:50%; background:#f4f5f7; cursor:pointer; padding:0; }
.rdpw-tg__locate:hover, .rdpw-tg__locate:focus-visible { background:#e8e9eb; outline:none; }
.rdpw-tg__li-main { flex:1 1 auto; min-width:0; text-decoration:none !important; color:var(--tg-ink) !important; }
.rdpw-tg__li-main strong { display:block; font-size:14px; line-height:1.3; }
.rdpw-tg__li-main span { display:block; font-size:12px; color:var(--tg-mute); }
.rdpw-tg__li-st { flex:0 0 auto; font-size:11px; font-weight:700; border-radius:10px; padding:2px 8px; white-space:nowrap; }
.rdpw-tg__li-st--open { background:#eaf6ec; color:#1f8a37; }
.rdpw-tg__li-st--full { background:#fff8e5; color:#9a6700; }
.rdpw-tg__li-st--future { background:#f0f0f1; color:var(--tg-mute); }

@media (max-width:640px) {
  .rdpw-tg__stage { height:440px !important; border-radius:10px; }
  .rdpw-tg__card { left:8px; right:8px; top:auto; bottom:8px; width:auto; max-height:62%; }
  .rdpw-tg__img { height:110px; }
  .rdpw-tg__list { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .rdpw-tg-pin.is-live::after { animation:none; } }
