:root {
  /* Phase 3L: Theme tokens (single source of truth) */
  --rr-bg-primary: #050816;
  --rr-bg-secondary: #0b1120;
  --rr-surface: #111827;
  --rr-border: rgba(255,255,255,.14);
  --rr-text-primary: #e5e7eb;
  --rr-text-muted: rgba(229,231,235,.72);
  --rr-accent: #7c3aed;
  --rr-accent-2: #06b6d4;
  --rr-success: #22c55e;
  --rr-danger: #ef4444;
  --rr-warning: #f59e0b;
  --rr-focus: rgba(124,58,237,.45);

  /* Back-compat: keep existing vars used across the site */
  --bg: var(--rr-bg-primary);
  --bg-alt: var(--rr-bg-secondary);
  --text: var(--rr-text-primary);
  --muted: var(--rr-text-muted);
  --border: var(--rr-border);
  --accent: var(--rr-accent);
  --accent-2: var(--rr-accent-2);
}

/* CMS content blocks (PageEdit) */
.rr-cms{margin:18px 0;}
.cms-content{
  max-width: 920px;
  margin: 0 auto;
  line-height: 1.7;
}
.cms-content h1,.cms-content h2,.cms-content h3,.cms-content h4{
  margin: 12px 0 8px;
  letter-spacing: 0.02em;
}
.cms-content p{margin: 8px 0 14px;}
.cms-content a{color:var(--accent);text-decoration:underline;}
.cms-content img{max-width:100%;border-radius:14px;border:1px solid var(--border);}
.cms-content blockquote{
  margin: 12px 0;
  padding: 12px 16px;
  border-left: 4px solid var(--accent);
  background: rgba(255,255,255,0.04);
}
.cms-content ul,.cms-content ol{padding-left:22px;margin: 10px 0 14px;}
.cms-content li{margin:6px 0;}
.cms-content .tile-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap:14px;
  margin: 12px 0 16px;
}
.cms-content .tile{
  padding:14px;
  border-radius:16px;
  background: rgba(255,255,255,0.04);
  border:1px solid var(--border);
}
.cms-content .tile .tile-title{font-weight:900;margin:0 0 6px;}
.cms-content .tile .tile-desc{opacity:0.82;line-height:1.55;}
.cms-content .callout{
  padding:14px 16px;
  border-radius:16px;
  background: rgba(255,255,255,0.04);
  border:1px solid var(--border);
  margin: 12px 0 16px;
}
.cms-content .two-col{
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  gap:16px;
  align-items:start;
  margin: 12px 0 16px;
}
@media (max-width: 820px){
  .cms-content .two-col{grid-template-columns:1fr;}
}

/* CMS widgets */
.rr-widget{
  margin:24px 0;
  padding:16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,0.03);
}
.rr-widget-title{margin:0 0 12px 0;font-size:1.1rem;}
.rr-empty{opacity:.8;font-style:italic;}
.rr-widget-error{border-color:#b91c1c;background:rgba(185,28,28,.08);color:#fecaca;}

.rr-rate-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.rr-rate-card{
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,0.02);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rr-rate-badge{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.rr-rate-title{font-weight:800;}
.rr-rate-price{font-size:1.2rem;font-weight:900;}
.rr-rate-price span{font-size:.8rem;font-weight:600;color:var(--muted);}
.rr-rate-deposit{font-size:.85rem;color:var(--muted);}
.rr-rate-desc{font-size:.9rem;color:var(--muted);}

.rr-cta-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.rr-cta-card{
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,0.02);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rr-cta-title{font-weight:800;}
.rr-cta-desc{color:var(--muted);}

.rr-ticketing-wrap{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
  align-items:start;
}
.rr-ticketing-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.rr-ticketing-list{
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px;
  background:rgba(255,255,255,0.02);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.rr-ticketing-item{display:flex;flex-direction:column;gap:4px;}
.rr-ticketing-date{font-size:.85rem;color:var(--muted);}
.rr-ticketing-title{font-weight:700;}
@media (max-width: 900px){
  .rr-ticketing-wrap{grid-template-columns:1fr;}
}

.rr-artist-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.rr-artist-tile{
  display:block;
  text-decoration:none;
  color:inherit;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,0.02);
  overflow:hidden;
  padding:12px;
}
.rr-artist-img img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:12px;
  background:rgba(255,255,255,0.03);
}
.rr-artist-name{margin-top:10px;font-weight:700;}
@media (max-width: 1100px){
  .rr-artist-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Remote services widgets */
.rr-remote-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
}
.rr-remote-card{
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,0.02);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.rr-remote-kicker{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.rr-remote-title{font-weight:800;}
.rr-remote-desc{color:var(--muted);}
.rr-remote-price{font-size:1.15rem;font-weight:900;}
.rr-remote-price span{font-size:.8rem;font-weight:600;color:var(--muted);}
.rr-remote-ref{text-decoration:line-through;color:var(--muted);font-weight:600;margin-right:6px;}
.rr-remote-features{padding-left:18px;margin:6px 0;}
.rr-remote-features li{margin:4px 0;}
.rr-remote-addon-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.rr-remote-addon{
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px;
  background:rgba(255,255,255,0.02);
  display:flex;
  flex-direction:column;
  gap:6px;
}

/* Studio: music video service pricing */
.rr-video-pricing{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}
.rr-video-card{
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px;
  background:rgba(255,255,255,0.03);
}
.rr-video-tier{
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.rr-video-price{
  margin-top:6px;
  font-size:1.3rem;
  font-weight:900;
}
.rr-video-price span{
  font-size:.8rem;
  font-weight:600;
  color:var(--muted);
  margin-left:4px;
}
.rr-video-desc{
  margin:8px 0 0;
  color:var(--muted);
  line-height:1.5;
}
.rr-video-cta{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* Public content framework */
.rr-info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.rr-info-card{
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,0.03);
}
.rr-info-title{
  margin:0 0 8px;
  font-weight:900;
  letter-spacing:.01em;
}
.rr-info-text{
  margin:0;
  color:var(--muted);
  line-height:1.62;
}
.rr-detail-list{
  margin:0;
  padding-left:18px;
  color:var(--text);
  line-height:1.58;
}
.rr-detail-list li{
  margin:0 0 8px;
}
.rr-steps{
  counter-reset: rrstep;
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.rr-steps li{
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(255,255,255,0.02);
  padding:12px 12px 12px 48px;
  position:relative;
  line-height:1.55;
}
.rr-steps li::before{
  counter-increment: rrstep;
  content: counter(rrstep);
  position:absolute;
  left:12px;
  top:12px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(255,255,255,0.16);
  border:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:.78rem;
}
.rr-note{
  border:1px solid rgba(245,158,11,.45);
  background:rgba(245,158,11,.12);
  border-radius:12px;
  padding:12px;
  color:#fde68a;
  line-height:1.58;
}
.rr-spec{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:10px;
}
.rr-spec-item{
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
  background:rgba(255,255,255,0.02);
}
.rr-spec-label{
  font-size:.74rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 6px;
}
.rr-spec-value{
  font-weight:800;
  line-height:1.4;
}

/* Floating FAQ widget */
.rr-faq-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2000;
}
.rr-faq-panel summary{
  list-style:none;
  width:52px;
  height:52px;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.4rem;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(0,0,0,0.35);
}
.rr-faq-panel summary::-webkit-details-marker{display:none;}
.rr-faq-panel[open] summary{
  background:var(--accent-2);
}
.rr-faq-content{
  position:absolute;
  right:0;
  bottom:64px;
  width:min(320px, 90vw);
  background:var(--bg-alt);
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  box-shadow:0 20px 60px rgba(0,0,0,0.35);
}
.rr-faq-title{
  font-weight:900;
  margin-bottom:8px;
}
.rr-faq-item{margin:10px 0;}
.rr-faq-q{font-weight:700;}
.rr-faq-a{color:var(--muted);font-size:.9rem;margin-top:4px;}
.rr-faq-actions{margin-top:10px;}

/* ==================================================
   Events (public list)
   Two-row event cards optimized for mobile scrolling
   ================================================== */

.rrEventFilters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:10px;align-items:end;}
.rrEventFilters .field{margin:0;}
.rrEventFilters .field-label{display:block;margin-bottom:4px;}
.rrEventFilters input[name="state"]{text-transform:uppercase;}
.rrEventFilterActions{display:flex;gap:8px;flex-wrap:wrap;}
.rrEventCount{margin-top:8px;}
.rrEventList{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.rrEventRow{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:10px 12px;}
.rrEventRowTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.rrEventTitle{font-weight:900;letter-spacing:0.2px;}
.rrEventWhen{font-weight:700;white-space:nowrap;}
.rrEventRowBottom{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:6px;}
.rrEventWhere{flex:1;min-width:0;}
.rrEventActions{white-space:nowrap;}
.rrEventDesc{margin-top:8px;}
.rrEventRowPast{opacity:0.85;}
.rrEventCats{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
.rrEventCat{font-size:.7rem;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);}

.rr-events-toolbar{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:14px;
  margin-top:12px;
}
.rr-events-toolbar.rrEventsFiltersOnly{
  grid-template-columns:1fr;
  margin:14px 0 8px;
}
@media (max-width: 900px){
  .rr-events-toolbar{grid-template-columns:1fr;}
}
.rrEventsCalendarCard .rrCalHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.rrEventsCalendarCard .rrCalTitle{
  font-weight:700;
  text-align:center;
  flex:1 1 auto;
}
.rrEventsCalendarCard .rrCalGrid{
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap:6px;
}
.rrCalDow{
  font-size:12px;
  font-weight:600;
  color:var(--muted);
  padding:6px 8px;
}
.rrCalDay{
  border:1px solid var(--border);
  border-radius:10px;
  padding:8px;
  min-height:64px;
  display:flex;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
  background:rgba(255,255,255,0.03);
}
.rrCalDay.isOtherMonth{ opacity:0.35; }
.rrCalDay.isToday{ outline:2px solid var(--accent); }
.rrCalDay.isSelected{ outline:2px solid var(--accent-2); }
.rrCalDayNum{ font-weight:700; font-size:13px; line-height:1; }
.rrCalPills{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  align-items:stretch;
}
.rrCalPill{
  display:block;
  width:100%;
  min-width:0;
  font-size:11px;
  padding:2px 6px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.08);
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rrCalPill--rr{
  background:#0b0b0b;
  border-color:#0b0b0b;
  color:#facc15;
  font-weight:700;
}
.rrCalPill--artist-external{
  background:#bfe9ff;
  border-color:#8dd1f5;
  color:#101010;
  font-weight:700;
}
.rrCalPill--external{
  background:#ffe878;
  border-color:#efcf43;
  color:#101010;
  font-weight:700;
}
.rrCalLegend{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
.rrCalLegendItem{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  border:1px solid var(--border);
  padding:4px 8px;
  font-size:11px;
  line-height:1.2;
}
.rrCalLegendItem--rr{background:#0b0b0b;border-color:#0b0b0b;color:#facc15;font-weight:700;}
.rrCalLegendItem--artist{background:#bfe9ff;border-color:#8dd1f5;color:#101010;font-weight:700;}
.rrCalLegendItem--external{background:#ffe878;border-color:#efcf43;color:#101010;font-weight:700;}
.rrEventListScroll{
  max-height:520px;
  overflow:auto;
  padding-right:6px;
}
.rrTicketStart{ text-align:right; min-width:120px; }
.rrTicketPrice{ font-weight:800; font-size:16px; }
@media (max-width: 860px){
  .rrTicketStart{ min-width:0; text-align:left; }
}
.rrPulse{ animation: rrPulse 0.85s ease-in-out 1; }
@keyframes rrPulse{0%{box-shadow:0 0 0 rgba(0,0,0,0);}50%{box-shadow:0 0 0 6px rgba(124,58,237,0.35);}100%{box-shadow:0 0 0 rgba(0,0,0,0);}}

.rrFeaturedEvent{
  border:1px solid var(--border);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(124,58,237,0.12),rgba(6,182,212,0.08));
}
.rrFeaturedBody{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  align-items:center;
}
.rrFeaturedBody.has-image{grid-template-columns:1.1fr 0.9fr;}
.rrFeaturedMedia{
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,0.04);
}
.rrFeaturedMedia img{display:block;width:100%;height:100%;object-fit:cover;max-height:280px;}
.rrFeaturedContent{display:flex;flex-direction:column;gap:8px;}
.rrFeaturedActions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;}
@media (max-width: 900px){
  .rrFeaturedBody{grid-template-columns:1fr;}
  .rrFeaturedActions{justify-content:flex-start;}
}

.rrEventHero{
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  margin-bottom:1rem;
  background:rgba(255,255,255,0.04);
}
.rrEventHero img{display:block;width:100%;height:100%;max-height:360px;object-fit:cover;}
.rrEventFaqList{display:flex;flex-direction:column;gap:12px;}
.rrEventFaqItem{border-top:1px solid var(--border);padding-top:10px;}
.rrEventFaqItem:first-child{border-top:none;padding-top:0;}
.rrEventFaqQ{font-weight:800;}
.rrEventFaqA{color:var(--muted);margin-top:4px;line-height:1.55;}

@media (max-width: 640px){
  .rrEventFilters{grid-template-columns:1fr 1fr !important;}
  .rrEventRowTop{flex-direction:column;}
  .rrEventWhen{white-space:normal;}
  .rrEventRowBottom{flex-direction:column;align-items:flex-start;}
}

html[data-theme='light'] {
  --bg: #f9fafb;
  --bg-alt: #ffffff;
  --text: #111827;
  --muted: #6b7280;
  --accent: #f97316;
  --border: #e5e7eb;
}
html[data-theme='light'] #mainContent a:not(.btn):not(.nav-link):not(.logo-wrap):not(.icon-btn) {
  color:#1f3a63;
}
html[data-theme='light'] #mainContent a:not(.btn):not(.nav-link):not(.logo-wrap):not(.icon-btn):hover {
  color:#162b4a;
}
html[data-theme='light'] input::placeholder,
html[data-theme='light'] textarea::placeholder {
  color:#9ca3af;
  opacity:1;
}
* { box-sizing:border-box; }
body {
  margin:0;
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
}
#mainContent a:not(.btn):not(.nav-link):not(.logo-wrap):not(.icon-btn) {
  color:#c6d2e1;
  text-underline-offset:2px;
}
#mainContent a:not(.btn):not(.nav-link):not(.logo-wrap):not(.icon-btn):hover {
  color:#d8e1ee;
}
input::placeholder,
textarea::placeholder {
  color:#9ca3af;
  opacity:1;
}
html[data-theme='dark'] input::placeholder,
html[data-theme='dark'] textarea::placeholder {
  color:rgba(203,213,225,0.78);
  opacity:1;
}
img {
  max-width:100%;
  height:auto;
}
img[src*="placeholder"] {
  background:linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  border:1px dashed var(--border);
  border-radius:12px;
  width:100%;
  max-height:460px;
  object-fit:cover;
  filter:saturate(0.85) contrast(0.95);
}
.site-header {
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(12px);
  background: rgba(3,7,18,0.9);
  border-bottom:1px solid var(--border);
}
.header-inner {
  max-width:1100px;
  margin:0 auto;
  padding:0.5rem 1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.logo-wrap {
  display:flex;
  align-items:center;
  gap:0.5rem;
  text-decoration:none;
  color:var(--text);
}
.logo-img {
  width:40px;
  height:40px;
  border-radius:50%;
  object-fit:cover;
}
.logo-text {
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-size:0.85rem;
}
.main-nav,
.site-nav {
  display:flex;
  gap:0.75rem;
  font-size:0.9rem;
}
.main-nav a,
.site-nav .nav-link {
  text-decoration:none;
  color:var(--muted);
  padding:0.25rem 0.5rem;
  border-radius:999px;
}
.main-nav a:hover,
.site-nav .nav-link:hover {
  color:var(--text);
  background:rgba(148,163,184,0.16);
}
.header-actions {
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.icon-btn {
  border:none;
  border-radius:999px;
  padding:0.3rem 0.6rem;
  background:rgba(15,23,42,0.9);
  color:var(--muted);
  cursor:pointer;
}
.icon-orb {
  position:relative;
  width:34px; height:34px;
  border-radius:999px;
  border:1px solid var(--border);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:var(--text);
  background:radial-gradient(circle at 30% 0%, rgba(250,204,21,0.35), transparent 55%),rgba(15,23,42,0.9);
}
.icon-orb-inner { font-size:0.9rem; }
.icon-orb-badge {
  position:absolute;
  top:-4px; right:-4px;
  min-width:16px;
  height:16px;
  border-radius:999px;
  background:#ef4444;
  color:white;
  font-size:0.65rem;
  display:flex;
  align-items:center;
  justify-content:center;
}
.btn {
  border-radius:999px;
  border:none;
  padding:0.4rem 0.9rem;
  background:linear-gradient(135deg,#facc15,#f97316);
  color:#111827;
  font-weight:600;
  font-size:0.85rem;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.btn.small { padding:0.3rem 0.7rem; font-size:0.8rem; }
.btn.secondary {
  background:transparent;
  border:1px solid var(--border);
  color:var(--text);
}
.rr-container {
  width:100%;
}
.rr-container > .section,
.rr-container > .page,
.rr-container > .container,
.rr-container > .page-header-block,
.rr-container > .home-page {
  width:min(1100px,100%);
  margin-left:auto;
  margin-right:auto;
  padding-left:1rem;
  padding-right:1rem;
}
.container {
  width:min(1100px,100%);
  margin:0 auto;
  padding-left:1rem;
  padding-right:1rem;
}
.content-wrap {
  width:100%;
  margin:0 auto;
}
.page {
  max-width:1100px;
  margin:0 auto;
  padding:1rem;
}
.page-header-block {
  margin-top:0.75rem;
  margin-bottom:1rem;
}
.page-header-block h1 { margin:0 0 0.25rem; }
.section { margin-bottom:1.5rem; }
.section-alt,
.section--muted {
  background:var(--bg-alt);
  border-radius:1rem;
  padding:1rem;
  border:1px solid var(--border);
}
.tile-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.tile {
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,0.03);
}
a.tile {
  color:inherit;
  text-decoration:none;
}
.tile:hover {
  border-color:rgba(255,255,255,0.24);
}
.tile--hero {
  background:linear-gradient(145deg, rgba(124,58,237,0.12), rgba(6,182,212,0.08));
}
.tile-title {
  font-weight:800;
  margin:0 0 6px;
}
.tile-desc {
  color:var(--muted);
  line-height:1.55;
}
.hero {
  display:grid;
  grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);
  gap:1.25rem;
  align-items:center;
}
.hero img {
  max-width:100%;
  border-radius:1rem;
  border:1px solid var(--border);
}
.cards-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:0.9rem;
}
.card {
  background:rgba(15,23,42,0.9);
  border-radius:1rem;
  padding:0.9rem;
  border:1px solid var(--border);
}

/* Phase 4Y: CMS content rendering */
.rr-cms img{max-width:100%;height:auto;}
.rr-cms iframe{max-width:100%;}
.rr-cms .btn{display:inline-block;}
.card h3 { margin-top:0; }
.muted { color:var(--muted); }
.small { font-size:0.8rem; }
.rates-table {
  width:100%;
  border-collapse:collapse;
  font-size:0.85rem;
}
.rates-table th,
.rates-table td {
  border-bottom:1px solid var(--border);
  padding:0.4rem 0.35rem;
}
.stack-form .form-row {
  margin-bottom:0.6rem;
}
.stack-form label {
  display:flex;
  flex-direction:column;
  gap:0.2rem;
  font-size:0.8rem;
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="time"],
textarea,
select {
  padding:0.35rem 0.5rem;
  border-radius:0.5rem;
  border:1px solid var(--border);
  background:rgba(15,23,42,0.9);
  color:var(--text);
  font-size:0.85rem;
}
textarea { min-height:80px; }
.form-error {
  background:rgba(239,68,68,0.12);
  border:1px solid rgba(239,68,68,0.5);
  color:#fecaca;
  border-radius:0.5rem;
  padding:0.4rem 0.6rem;
  font-size:0.8rem;
}
.form-success {
  background:rgba(22,163,74,0.12);
  border:1px solid rgba(22,163,74,0.6);
  color:#bbf7d0;
  border-radius:0.5rem;
  padding:0.4rem 0.6rem;
  font-size:0.8rem;
}
.products-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:0.9rem;
}
.product-card {
  background:rgba(15,23,42,0.9);
  border-radius:1rem;
  padding:0.8rem;
  border:1px solid var(--border);
}
.product-image-wrap img {
  width:100%;
  border-radius:0.7rem;
  border:1px solid var(--border);
}
.cart-total { margin:0.2rem 0; }

.site-footer {
  border-top:1px solid var(--border);
  background:rgba(3,7,18,0.9);
  margin-top:2rem;
}
.footer-inner {
  max-width:1100px;
  margin:0 auto;
  padding:0.8rem 1rem;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:0.8rem;
}
.footer-contact div { margin-bottom:0.15rem; }
.footer-contact a {
  color:#c6d2e1;
}
.footer-contact a:hover {
  color:#d8e1ee;
}

/* Home page: professional copy layout and controlled link contrast */
.home-page .content-wrap{
  max-width:none;
  width:100%;
  margin:0 auto;
}
.home-page .home-lead{
  color:var(--text);
  max-width:860px;
  line-height:1.7;
  margin:0 0 10px;
}
.home-page .home-story-grid{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:14px;
  align-items:start;
}
.home-page .home-story p{
  line-height:1.7;
  margin:0 0 10px;
}
.home-page .home-service-panel{
  background:rgba(255,255,255,0.04);
}
.home-page .home-service-list{
  margin:0;
  padding-left:20px;
  line-height:1.6;
}
.home-page .home-service-list li{
  margin:0 0 6px;
}
.home-page .home-cta-wrap{
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
  background:rgba(255,255,255,0.03);
}
.home-hero-split{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:16px;
  align-items:stretch;
}
.home-hero-split > *{
  min-width:0;
}
.home-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home-audience-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:14px;
}
.rr-placeholder-media{
  position:relative;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,0.04);
  aspect-ratio:16/10;
  min-height:220px;
  max-height:420px;
}
.rr-placeholder-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.rr-placeholder-media--hero{
  aspect-ratio:16/9;
  min-height:280px;
  max-height:460px;
}
.rr-placeholder-media--tile{
  aspect-ratio:4/3;
  min-height:180px;
  max-height:260px;
}
.rr-placeholder-media .rr-placeholder-tag{
  display:none !important;
}
.rr-image-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px;
}
.rr-image-card{
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,0.03);
}
.rr-image-card .rr-placeholder-media{
  aspect-ratio:4/3;
  min-height:180px;
  max-height:260px;
}
.rr-image-title{
  margin:10px 0 4px;
  font-weight:800;
}
.rr-image-desc{
  color:var(--muted);
  line-height:1.5;
  font-size:.9rem;
}
.rr-page-lead{
  color:var(--text);
  max-width:880px;
  line-height:1.72;
  margin:0 0 10px;
}
.home-page a:not(.btn){
  color:#cbd5e1;
  font-weight:600;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.home-page a:not(.btn):hover{
  color:#b7c3d6;
}
@media (max-width: 900px){
  .home-hero-split{
    grid-template-columns:1fr;
  }
  .home-page .home-story-grid{
    grid-template-columns:1fr;
  }
}

.events-list {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:0.9rem;
}
.event-card {
  background:rgba(15,23,42,0.9);
  border-radius:1rem;
  padding:0.8rem;
  border:1px solid var(--border);
}
.event-meta {
  display:flex;
  flex-wrap:wrap;
  gap:0.4rem;
  font-size:0.75rem;
  color:var(--muted);
  margin-bottom:0.4rem;
}
.banner-link {
  display:block;
  margin-top:1rem;
  border-radius:0.9rem;
  padding:0.7rem 0.9rem;
  text-decoration:none;
  background:linear-gradient(135deg,#facc15, #4ade80);
  color:#111827;
  font-weight:600;
  text-align:center;
}
.pill {
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:0.1rem 0.5rem;
  font-size:0.7rem;
  text-transform:uppercase;
  letter-spacing:0.06em;
}
.pill-muted {
  background:rgba(148,163,184,0.18);
  color:var(--muted);
}

.slide-menu-shell {
  position:relative;
  z-index:40;
}
.slide-menu-inner {
  max-width:1100px;
  margin:0 auto;
  position:relative;
}
.menu-tab {
  position:relative;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  padding:0.15rem 0.9rem;
  font-size:0.75rem;
  border-radius:999px 999px 0 0;
  border:1px solid var(--border);
  border-bottom:none;
  background:var(--bg-alt);
  color:var(--muted);
  cursor:pointer;
  box-shadow:0 6px 16px rgba(0,0,0,0.35);
}
.slide-menu {
  display:none;
  justify-content:center;
  flex-wrap:wrap;
  gap:0.75rem;
  background:var(--bg-alt);
  border-radius:0 0 1rem 1rem;
  border:1px solid var(--border);
  padding:0.4rem 0.8rem 0.7rem;
  box-shadow:0 18px 40px rgba(0,0,0,0.35);
}
.slide-menu a {
  text-decoration:none;
  color:var(--muted);
  font-size:0.8rem;
  padding:0.2rem 0.6rem;
  border-radius:999px;
}
.slide-menu a:hover {
  color:var(--text);
  background:rgba(148,163,184,0.16);
}
.slide-menu.open {
  display:flex;
}

@media (max-width:768px){
  .hero { grid-template-columns:1fr; }
  .header-inner {
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .main-nav,
  .site-nav {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    width:100%;
    margin-top:0.5rem;
  }
}


/* ---- Admin / messages ---- */
.notice {
  border:1px solid var(--border);
  background: rgba(250, 204, 21, 0.08);
  padding:0.85rem 1rem;
  border-radius:12px;
  margin:0.75rem 0;
}
.notice.success { background: rgba(34, 197, 94, 0.10); }
.notice.error { background: rgba(239, 68, 68, 0.10); }
.notice ul { margin:0.5rem 0 0 1.2rem; }

.qty-input {
  width: 80px;
  padding: 0.35rem 0.45rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.35);
  color: inherit;
}
.badge {
  display:inline-block;
  padding:0.15rem 0.5rem;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:0.8rem;
  color:var(--text);
  background: rgba(148, 163, 184, 0.08);
}
.table {
  border-collapse: collapse;
  width:100%;
}
.table th, .table td {
  border-bottom:1px solid var(--border);
  padding:0.6rem 0.5rem;
  text-align:left;
  vertical-align:top;
}
.table th { color: var(--muted); font-weight:600; font-size:0.85rem; }

/* ---- Accessibility ---- */
.sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid rgba(255,255,255,0.75);
  outline-offset: 2px;
}

.skip-link {
  position:absolute;
  left:-9999px;
  top:0;
  background:#000;
  color:#fff;
  padding:0.6rem 0.8rem;
  z-index:9999;
  border-radius: 10px;
}
.skip-link:focus {
  left:0.6rem;
  top:0.6rem;
}


/* Phase 9: Media-enhanced blog */
.post-hero img{
  width:100%;
  max-height:380px;
  object-fit:cover;
  border-radius:12px;
  margin:14px 0 18px;
}
.post-thumb{
  width:100%;
  max-height:160px;
  object-fit:cover;
  border-radius:10px;
  margin:10px 0;
  display:block;
}

/* Phase 11: danger button */
.btn.danger{border-color: rgba(255,80,80,.6);}


/* Phase 3D: Notice variants and validation highlighting */
.notice.danger, .notice.error {
  background: rgba(239, 68, 68, 0.10);
  border-color: rgba(239, 68, 68, 0.35);
}
.notice.warning {
  background: rgba(250, 204, 21, 0.10);
  border-color: rgba(250, 204, 21, 0.35);
}
.rrFieldError {
  outline: 2px solid rgba(239, 68, 68, 0.55) !important;
  border-color: rgba(239, 68, 68, 0.55) !important;
}
.rrRowError {
  background: rgba(239, 68, 68, 0.06);
}
.rrInlineErr {
  color: rgba(239, 68, 68, 0.95);
  font-size: 12px;
  margin-top: 4px;
}


/* Phase 3L: Main navigation (Home / Studio / Events + Tickets / Merch / Contact) */
.main-nav a.active,
.site-nav .nav-link.active {
  color: var(--rr-accent);
}
.nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.nav-dropdown .nav-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 180px;
  background: rgba(11,17,32,.98);
  border: 1px solid var(--rr-border);
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  z-index: 1000;
}
.nav-dropdown .nav-dropdown-menu a {
  display: block;
  padding: 10px 10px;
  border-radius: 10px;
}
.nav-dropdown .nav-dropdown-menu a:hover {
  background: rgba(255,255,255,.06);
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu {
  display: block;
}

/* Focus ring normalization */
a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--rr-focus);
  border-color: rgba(124,58,237,.65);
}


/* Phase 3O: Media snippets */
.rr-media{max-width:100%;height:auto;display:block;border-radius:12px;border:1px solid var(--rr-border);}
figure.rr-media{margin:14px 0;}
figure.rr-media img{max-width:100%;height:auto;display:block;}
figure.rr-media figcaption{margin-top:8px;font-size:.92rem;color:rgba(255,255,255,.75);} 

/* --------------------------------------------------------------------------
   Phase 7B: Cookie notice banner (optional)
   -------------------------------------------------------------------------- */
.rr-cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:12px;}
.rr-cookie-inner{max-width:1100px;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:12px;background:rgba(20,20,20,0.92);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,0.35);}
.rr-cookie-text{font-size:0.95rem;line-height:1.35;}
.rr-cookie-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.rr-cookie-actions a{color:#fff;text-decoration:underline;}
@media (max-width:680px){
  .rr-cookie-inner{flex-direction:column;align-items:flex-start;}
  .rr-cookie-actions{width:100%;justify-content:flex-start;}
}

/* PR8 Skeleton Loaders */
.skeleton{background:linear-gradient(90deg,#eee 25%,#f5f5f5 37%,#eee 63%);background-size:400% 100%;animation:skeleton 1.4s ease infinite;border-radius:6px}
@keyframes skeleton{0%{background-position:100% 0}100%{background-position:-100% 0}}
.skel-line{height:12px;margin:8px 0}
.skel-card{padding:12px}

/* Phase U4 — Dashboard visual modernization */
.dashboard-wrap{max-width:1200px;margin:0 auto;padding:14px 0;}
.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:10px 0 14px;}
.dashboard-head h1,.dashboard-head h2{margin:0;}
.dashboard-sub{color:var(--muted);font-size:0.92rem;margin-top:6px;}

.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:0 0 16px;}
.kpi-grid a.card[href*="addons/artistlink/"]{
  position:relative;
  padding-left:64px !important;
}
.kpi-grid a.card[href*="addons/artistlink/"]::before{
  content:"";
  position:absolute;
  left:14px;
  top:50%;
  width:36px;
  height:36px;
  transform:translateY(-50%);
  border-radius:10px;
  background:#0d3f86 url("../img/app_icons/artistlink.svg") center/cover no-repeat;
  box-shadow:0 8px 18px rgba(3,8,24,0.35);
}
.kpi-tile{
  background:rgba(15,23,42,0.92);
  border:1px solid var(--border);
  border-radius:1rem;
  padding:14px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.18);
}
.kpi-tile .kpi-label{color:var(--muted);font-size:0.80rem;}
.kpi-tile .kpi-value{font-weight:900;font-size:22px;letter-spacing:-0.01em;margin-top:6px;}
.kpi-tile .kpi-desc{color:var(--muted);font-size:0.80rem;margin-top:6px;line-height:1.45;}

.section-card{
  background:rgba(15,23,42,0.92);
  border:1px solid var(--border);
  border-radius:1rem;
  padding:14px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.18);
}
.section-card + .section-card{margin-top:14px;}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;}
.section-title h3{margin:0;font-size:1.05rem;}
.section-actions{display:flex;gap:8px;flex-wrap:wrap;}

.list-rows{display:flex;flex-direction:column;gap:10px;margin-top:10px;}
.row-item{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:10px 12px;border-radius:0.9rem;border:1px solid rgba(255,255,255,0.10);
  background:rgba(2,6,23,0.35);
}
.row-item .row-main{min-width:0;}
.row-item .row-title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.row-item .row-meta{color:var(--muted);font-size:0.82rem;margin-top:4px;line-height:1.35;}
.row-item .row-cta{flex:0 0 auto;display:flex;gap:8px;align-items:center;}

.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;border:1px solid rgba(255,255,255,0.16);}
.badge.success{background:rgba(34,197,94,0.12);}
.badge.warning{background:rgba(245,158,11,0.12);}
.badge.danger{background:rgba(239,68,68,0.12);}
.badge.neutral{background:rgba(148,163,184,0.10);}

@media (max-width: 680px){
  .dashboard-head{flex-direction:column;align-items:flex-start;}
  .row-item{flex-direction:column;}
  .row-item .row-cta{width:100%;justify-content:flex-start;}
}

/* --------------------------------------------------------------------------
   Ticketing + Event Management modernization
   -------------------------------------------------------------------------- */
.rrEventsPage .section-title h2,
.rrTicketsPage .section-title h1{margin:0;}
.rrEventsLead,.rrTicketsLead{margin:6px 0 0;max-width:760px;line-height:1.5;}
.rrEventsTitleRow,.rrTicketsTitleRow{align-items:flex-end;margin-bottom:14px;}
.rrEventsEmpty{margin-top:12px;}

.rrEventsStatGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
  margin:0 0 14px;
}
.rrEventsStatCard{
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  background:rgba(255,255,255,0.03);
  display:flex;
  flex-direction:column;
  gap:4px;
}
.rrEventsStatCard strong{font-size:1.05rem;letter-spacing:0.01em;}

.rrFeaturedEventModern{margin:14px 0;}
.rrFeaturedDesc{margin-top:6px;line-height:1.5;}
.rrEventsSubhead{margin:18px 0 8px;}

.rrEventRowModern{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:14px;
  padding:12px;
}
.rrEventRowMedia{
  border-radius:12px;
  border:1px solid var(--border);
  min-height:128px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(56,189,248,0.2),rgba(59,130,246,0.12));
  display:flex;
  align-items:center;
  justify-content:center;
}
.rrEventRowMedia img{display:block;width:100%;height:100%;object-fit:cover;}
.rrEventRowMediaFallback{
  font-weight:900;
  font-size:1.35rem;
  letter-spacing:0.08em;
  color:rgba(255,255,255,0.85);
}
.rrEventRowMain{display:flex;flex-direction:column;gap:8px;min-width:0;}
.rrEventMetaBlock{min-width:220px;flex:1 1 420px;}
.rrEventBlurb{margin-top:6px;line-height:1.45;max-width:820px;}
.rrEventBuyBlock{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex:0 0 auto;
}
.rrEventsCalendarCardModern{margin-top:18px;}
.rrCalendarHint{margin-top:10px;}
.rrBookingRequestCard{padding:16px;}

.rrTicketsPage{display:flex;flex-direction:column;gap:14px;}
.rrTicketsStats{margin:0;}
.rrStaffTicketTools{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.rrStaffTicketLinks{display:flex;gap:10px;flex-wrap:wrap;}
.rrStaffTicketLinks a{font-weight:700;}
.rrTicketListCard,.rrTicketMarketplace,.rrTicketLoginCallout{padding:16px;}
.rrTicketGrid{margin-top:8px;}
.rrTicketCard .event-meta{margin-bottom:8px;}
.rrTicketActions{display:flex;gap:8px;flex-wrap:wrap;}

.rrTicketEventGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:12px;
  margin-top:8px;
}
.rrTicketEventCard{
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  background:rgba(255,255,255,0.02);
  display:flex;
  flex-direction:column;
}
.rrTicketEventMedia{
  min-height:140px;
  background:linear-gradient(135deg,rgba(59,130,246,0.18),rgba(14,116,144,0.12));
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
}
.rrTicketEventMedia img{display:block;width:100%;height:100%;object-fit:cover;}
.rrTicketEventMediaFallback{font-weight:900;font-size:1.2rem;letter-spacing:0.08em;color:rgba(255,255,255,0.88);}
.rrTicketEventBody{padding:12px;display:flex;flex-direction:column;gap:8px;}
.rrTicketEventBody h3{margin:0;}
.rrTicketEventFoot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;}
.rrTicketEventPrice{font-weight:800;}

.rrEventDetailGrid{display:grid;grid-template-columns:1.25fr 0.75fr;gap:1rem;align-items:start;}
.rrEventPageTitle{margin:0 0 0.3rem;}
.rrEventPageMeta{margin-bottom:0.8rem;line-height:1.4;}
.rrEventSectionCard{max-width:860px;margin-bottom:1rem;padding:14px;}
.rrEventSectionCard h2{margin:0 0 0.75rem;}
.rrEventDayTabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.rrEventSubCard{padding:12px;margin-bottom:10px;}
.rrEventSubCard h3{margin:0 0 10px;}
.rrEventSubList{display:flex;flex-direction:column;gap:8px;}
.rrEventSubItem{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.rrEventSubMain{min-width:240px;}
.rrEventSubTitle{font-weight:700;}
.rrEventSubMeta{font-size:0.95rem;}
.rrEventAboutText{line-height:1.55;}
.rrEventTicketIntro{margin-bottom:0.75rem;}
.rrEventTicketActions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;}
.rrEventQuickActions{position:sticky;top:1rem;}
.rrEventQuickActions h3,.rr-cart-sidebar h3{margin:0 0 0.5rem;}
.rrEventQuickActionsList{display:flex;flex-direction:column;gap:8px;}

.rrAdminToolbarActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.rrAdminFlash{border-left:4px solid var(--accent);padding:0.8rem 1rem;margin-bottom:12px;}
.rrAdminKpiGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
  margin:0 0 12px;
}
.rrAdminKpiCard{padding:12px;display:flex;flex-direction:column;gap:5px;}
.rrAdminKpiCard strong{font-size:1.15rem;}
.rrAdminFilterCard{padding:12px;margin-bottom:12px;}
.rrAdminToolbarForm{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(180px,0.8fr) auto;
  gap:10px;
  align-items:end;
}
.rrAdminToolbarForm label{display:flex;flex-direction:column;gap:6px;}
.rrAdminToolbarFormWide{grid-template-columns:1.3fr 0.7fr 0.8fr 0.6fr 0.6fr;}
.rrAdminToolbarButtons{display:flex;gap:8px;flex-wrap:wrap;}
.rrAdminTableCard{padding:12px;}
.rrAdminTableCount{margin-bottom:8px;}
.rrAdminDataTable th,.rrAdminDataTable td{vertical-align:middle;}
.rrAdminRowActions{white-space:nowrap;display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap;}

.rrOpsCardGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
}
.rrOpsCardLink{
  text-decoration:none;
  display:block;
  padding:14px;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.rrOpsCardLink:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,0.2);
  border-color:rgba(99,102,241,0.4);
}
.rrOpsCardTitle{font-weight:900;margin-bottom:6px;}

.rrAdminFormCard{padding:1rem;}
.rrAdminTwoCol{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.rrAdminTwoColState{grid-template-columns:1fr 140px;}
.rrAdminFormActions{display:flex;gap:10px;justify-content:flex-end;}

@media (max-width: 980px){
  .rrEventRowModern{grid-template-columns:1fr;}
  .rrEventBuyBlock{justify-content:flex-start;}
  .rrEventDetailGrid{grid-template-columns:1fr;}
  .rrEventQuickActions{position:static;}
  .rrAdminToolbarFormWide{grid-template-columns:1fr 1fr;}
}
@media (max-width: 760px){
  .rrAdminToolbarForm{grid-template-columns:1fr;}
  .rrAdminToolbarButtons{justify-content:flex-start;}
  .rrAdminRowActions{justify-content:flex-start;}
  .rrAdminTwoCol,.rrAdminTwoColState{grid-template-columns:1fr;}
}

html[data-theme='light'] .rrEventsStatCard,
html[data-theme='light'] .rrEventRowModern,
html[data-theme='light'] .rrTicketEventCard{
  background:#fff;
}

body.rr-app-embed .site-footer,
body.rr-app-embed .site-header,
body.rr-app-embed .skip-link {
  display: none !important;
}

body.rr-app-embed #mainContent > .rr-container {
  max-width: 100%;
  padding: 8px 10px 10px;
}

body.rr-app-embed .page-header-block {
  margin-top: 0;
}
