/* Full stylesheet for the landing theme (non-critical). */
:root{
  --bg:#0b0c13;--panel:#101224;--muted:#9aa3b2;--txt:#f2f3f6;
  --brand:#8b5cf6;--brand2:#a855f7;--accent:#7c3aed;
}
body{background:var(--bg);color:var(--txt)}
h1,h2,h3{margin:0 0 8px}
h3{font-size:20px}
ul{padding-left:18px}
summary{cursor:pointer;padding:.5rem 0}
.bg-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:auto;display:block;opacity:.9;pointer-events:none;z-index:0}
/* subtle hover lift */
.card{transition:transform .18s ease, box-shadow .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.45)}
.btn{transition:transform .06s ease, filter .2s ease}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
/* menus */
.menu a{opacity:.9}
.menu a:hover{opacity:1}
/* responsive tweaks */
@media(max-width:720px){
  .nav .menu{gap:12px}
}

/* --- Hero CTA improvements --- */
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.btn.xl{padding:1.05rem 1.4rem;font-size:1.05rem;border-radius:16px}
.btn.glow{box-shadow:0 10px 35px rgba(139,92,246,.35), inset 0 0 1px rgba(255,255,255,.18)}
.btn.ghost{background:transparent;border-color:rgba(139,92,246,.55);color:#efeaff}
.btn.ghost:hover{background:rgba(139,92,246,.12)}
@media(max-width:640px){
  .cta-row{flex-direction:column}
  .cta-row .btn{width:100%;justify-content:center}
}


/* --- MerchSignal homepage enhancements --- */
.hero.hero-animated{
  position:relative;
  overflow:hidden;
}
.hero-orbit{
  position:absolute;
  border-radius:999px;
  filter:blur(32px);
  opacity:.28;
  pointer-events:none;
  mix-blend-mode:screen;
}
.hero-orbit--lg{
  width:520px;
  height:520px;
  background:radial-gradient(circle at 30% 20%, rgba(139,92,246,.55), transparent 60%),
             radial-gradient(circle at 80% 80%, rgba(56,189,248,.35), transparent 60%);
  top:-120px;
  right:-140px;
}
.hero-orbit--sm{
  width:260px;
  height:260px;
  background:radial-gradient(circle at 50% 50%, rgba(251,113,133,.7), transparent 65%);
  bottom:-80px;
  left:-40px;
}

.badge-pulse{
  position:relative;
  overflow:hidden;
}
.badge-pulse::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:radial-gradient(circle at 0 0, rgba(251,113,133,.5), transparent 60%);
  opacity:.4;
  mix-blend-mode:screen;
}

/* Scroll / reveal animation */
.fade-up{
  opacity:0;
  transform:translateY(12px);
  animation:fadeUp .7s ease forwards;
}
.fade-up.delay-1{animation-delay:.08s;}
.fade-up.delay-2{animation-delay:.16s;}
.fade-up.delay-3{animation-delay:.24s;}

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.hero-title{
  animation:fadeUp .7s ease forwards;
}
.hero-sub{
  animation:fadeUp .7s ease forwards;
  animation-delay:.06s;
}
.hero-cta{
  animation:fadeUp .7s ease forwards;
  animation-delay:.12s;
}
.hero-trusted,
.hero-walk{
  animation:fadeUp .7s ease forwards;
  animation-delay:.18s;
}

/* Feature icons */
.feature-grid{
  gap:22px;
}
.feature-card{
  position:relative;
  overflow:hidden;
}
.feature-icon-wrap{
  margin-bottom:8px;
}
.feature-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  background:radial-gradient(circle at 30% 0, rgba(251,113,133,.8), rgba(129,140,248,.8));
  box-shadow:0 0 0 1px rgba(248,250,252,.16), 0 10px 25px rgba(15,23,42,.9);
  position:relative;
}
.feature-icon-glyph{
  width:14px;
  height:14px;
  border-radius:4px;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.85);
}

/* Make each icon feel a bit different */
.feature-icon-1 .feature-icon-glyph{
  transform:rotate(-6deg);
  background:linear-gradient(135deg,#f97316,#facc15);
}
.feature-icon-2 .feature-icon-glyph{
  border-radius:999px;
  background:radial-gradient(circle at 30% 0,#2dd4bf,#22c55e);
}
.feature-icon-3 .feature-icon-glyph{
  background:linear-gradient(135deg,#e5e7eb,#ffffff);
}
.feature-icon-4 .feature-icon-glyph{
  background:conic-gradient(from 40deg,#22c55e,#a855f7,#22c55e);
}
.feature-icon-5 .feature-icon-glyph{
  background:linear-gradient(135deg,#60a5fa,#a855f7);
}
.feature-icon-6 .feature-icon-glyph{
  background:linear-gradient(135deg,#f97316,#fb7185);
}

/* Logo row styling */
.section-slim{
  padding-top:18px;
  padding-bottom:0;
}
.logos-row{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.logo-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.badge-soft{
  background:rgba(15,23,42,.8);
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  color:#e5e7eb;
  border:1px solid rgba(148,163,184,.4);
}

/* Demo video */
.demo-card{
  margin-top:18px;
}
.video-frame{
  position:relative;
  padding-bottom:56.25%;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 20px 45px rgba(15,23,42,.85);
}
.video-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Compare card subtle strip */
.compare-card{
  position:relative;
}
.compare-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(129,140,248,.45),rgba(244,114,182,.3));
  opacity:.16;
}

/* Quotes */
.quote-card{
  position:relative;
}
.quote-card::before{
  content:"“";
  position:absolute;
  top:6px;
  left:12px;
  font-size:28px;
  opacity:.12;
}

/* Small responsive tweaks */
@media(max-width:720px){
  .hero-orbit--lg{display:none;}
  .hero-orbit--sm{opacity:.35;}
}


/* Improved feature icons */
.feature-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:radial-gradient(circle at 30% 0, rgba(139,92,246,.95), rgba(236,72,153,.9));
  box-shadow:0 0 0 1px rgba(248,250,252,.16), 0 12px 30px rgba(15,23,42,.95);
}
.feature-icon .feature-svg{
  width:18px;
  height:18px;
}
.feature-icon .f-line,
.feature-icon .f-ring,
.feature-icon .f-tick{
  fill:none;
  stroke:#0b1020;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.feature-icon .f-ring{
  stroke-opacity:.9;
}
.feature-icon .f-fill{
  fill:#f9fafb;
  stroke:#0b1020;
  stroke-width:1.3;
}
.feature-icon .f-tick{
  stroke:#16a34a;
}
.feature-icon .f-dot{
  fill:#0b1020;
}


/* Typing effect for hero title */
.hero-title{
  overflow:hidden;
}
.hero-typing{
  display:inline-block;
  white-space:nowrap;
  overflow:hidden;
  border-right:2px solid rgba(248,250,252,.9);
  animation:
    typing 2.4s steps(34, end) .25s forwards,
    caretBlink .9s steps(1, end) infinite;
}
@keyframes typing{
  from{ width:0; }
  to{ width:100%; }
}
@keyframes caretBlink{
  0%, 40%{ border-color:rgba(248,250,252,.9); }
  60%, 100%{ border-color:transparent; }
}


/* Stronger card animations (scroll-triggered) */
.fade-up,
.fade-left,
.fade-right{
  opacity:0;
}
.fade-up{
  transform:translateY(18px);
}
.fade-left{
  transform:translateX(-26px);
}
.fade-right{
  transform:translateX(26px);
}

/* When element enters viewport (IntersectionObserver adds .inview) */
.fade-up.inview,
.fade-left.inview,
.fade-right.inview{
  animation-duration:.7s;
  animation-timing-function:ease-out;
  animation-fill-mode:forwards;
}

.fade-up.inview{ animation-name:fadeUp; }
.fade-left.inview{ animation-name:fadeLeft; }
.fade-right.inview{ animation-name:fadeRight; }

.fade-up.delay-1.inview,
.fade-left.delay-1.inview,
.fade-right.delay-1.inview{ animation-delay:.08s; }
.fade-up.delay-2.inview,
.fade-left.delay-2.inview,
.fade-right.delay-2.inview{ animation-delay:.16s; }
.fade-up.delay-3.inview,
.fade-left.delay-3.inview,
.fade-right.delay-3.inview{ animation-delay:.24s; }

@keyframes fadeUp{
  to{ opacity:1; transform:translateY(0); }
}
@keyframes fadeLeft{
  to{ opacity:1; transform:translateX(0); }
}
@keyframes fadeRight{
  to{ opacity:1; transform:translateX(0); }
}

/* More colorful feature cards */
.feature-grid{
  gap:22px;
}
.feature-card{
  background:radial-gradient(circle at top left, rgba(129,140,248,.22), rgba(15,23,42,1));
  border-radius:22px;
  position:relative;
  overflow:hidden;
}
.feature-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 0 0, rgba(244,114,182,.3), transparent 60%);
  opacity:.75;
  mix-blend-mode:soft-light;
  pointer-events:none;
}
.feature-card:nth-child(2)::before{
  background:radial-gradient(circle at 100% 0, rgba(56,189,248,.35), transparent 60%);
}
.feature-card:nth-child(3)::before{
  background:radial-gradient(circle at 0 100%, rgba(52,211,153,.35), transparent 60%);
}
.feature-card:nth-child(4)::before{
  background:radial-gradient(circle at 100% 100%, rgba(251,191,36,.3), transparent 60%);
}
.feature-card:nth-child(5)::before{
  background:radial-gradient(circle at 50% 0, rgba(129,140,248,.4), transparent 65%);
}
.feature-card:nth-child(6)::before{
  background:radial-gradient(circle at 50% 100%, rgba(244,114,182,.4), transparent 65%);
}
.feature-card h3{
  position:relative;
  z-index:1;
}
.feature-card p{
  position:relative;
  z-index:1;
}


/* --- MerchSignal tweak: make hero title smaller so it fits one line on common laptop widths --- */
.hero .hero-title,
.hero .h1.hero-title{
  font-size:3rem; /* ~48px if base is 16px */
  line-height:1.05;
}

/* Slightly smaller on medium screens */
@media (max-width: 1200px){
  .hero .hero-title,
  .hero .h1.hero-title{
    font-size:2.7rem;
  }
}


/* Pull the logos section closer to the hero wave */
.hero + .section#logos,
.hero + #logos.section {
  margin-top: -48px;
}
@media (min-width: 1200px){
  .hero + .section#logos,
  .hero + #logos.section{ margin-top: -64px; }
}



/* --- MerchSignal Screenshots gallery --- */
.section-gallery{padding-top:38px;padding-bottom:24px}
.ms-gallery{position:relative;margin-top:18px}
.ms-gallery .msg-viewport{overflow:hidden;border-radius:20px;border:1px solid rgba(148,163,184,.18);background:radial-gradient(1200px 60% at 50% -10%, rgba(129,140,248,.12), rgba(11,12,19,.9));box-shadow:0 22px 60px rgba(2,6,23,.9)}
.ms-gallery .msg-track{display:flex;align-items:center;gap:24px;transition:transform .45s cubic-bezier(.2,.8,.2,1);padding:8px}
.ms-gallery .msg-slide{min-width:100%;display:flex;justify-content:center;align-items:center}
.ms-gallery figure{margin:0;padding:0 8px 12px;text-align:center}
.ms-gallery img{width:100%;height:auto;max-height:640px;object-fit:contain;border-radius:14px;box-shadow:0 10px 30px rgba(2,6,23,.8)}
.ms-gallery figcaption{margin-top:10px;color:#e5e7eb;opacity:.95}

.ms-gallery .msg-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.4);background:rgba(15,23,42,.85);cursor:pointer}
.ms-gallery .msg-nav svg{width:20px;height:20px;stroke:#e5e7eb;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ms-gallery .msg-prev{left:10px}
.ms-gallery .msg-next{right:10px}

@media(max-width: 900px){
  .ms-gallery img{max-height:420px}
}



/* JS‑enhanced screenshots gallery: keep layout even if JS partially fails.
   JS still drives the horizontal transform; active slide can be styled separately. */
.ms-gallery.msg-has-js .msg-slide{
  display:flex;
}
.ms-gallery.msg-has-js .msg-slide.msg-is-active{
  /* reserved for visual highlight; same layout for now */
}
/* --- Gallery image titles --- */
.ms-gallery .msg-title{display:flex;justify-content:center;margin:0 0 12px 0}
.ms-gallery .msg-title span{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(139,92,246,.16),rgba(236,72,153,.16));
  border:1px solid rgba(148,163,184,.28);
  color:#f3f4f6;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 10px 24px rgba(3,7,18,.55);
}
@media(max-width:900px){
  .ms-gallery .msg-title span{font-size:14px;padding:6px 12px}
}


/* --- Gallery layout fixes --- */
.ms-gallery .msg-track{gap:0 !important; padding:0 !important;} /* slides = exact viewport width */
.ms-gallery .msg-slide{min-width:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:8px 8px 12px;}
.ms-gallery figure{margin:0; width:100%;}
.ms-gallery .msg-nav{z-index:5;} /* keep arrows clickable above image */


/* --- Gallery layout hard overrides --- */
.ms-gallery .msg-track{
  display:flex;
  align-items:stretch;
  gap:0 !important;
  padding:0 !important;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.ms-gallery .msg-slide{
  flex:0 0 100%;
  max-width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:8px 12px 16px;
}
.ms-gallery figure{
  margin:0;
  width:100%;
}
.ms-gallery .msg-nav{
  z-index:5;
}


/* --- MerchSignal dashboard layout --- */
.ms-dashboard{
  padding:0;
}
.ms-dashboard-shell{
  max-width:none;
  width:100%;
  margin:0;
  padding:16px 32px 40px 0;
  display:flex;
  align-items:stretch;
  gap:22px;
  min-height:calc(100vh - 140px);
}

/* Sidebar */
.ms-dash-sidebar{
  width:260px;
  flex-shrink:0;
  border-radius:0;
  background:radial-gradient(circle at 0 0,rgba(76,81,191,.35),transparent 55%), #050714;
  border-right:1px solid rgba(15,23,42,.9);
  box-shadow:none;
  padding:24px 0 24px 0; /* no inner space left/right so nav buttons touch edges */
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:calc(100vh - 120px);
}
.ms-dash-logo{display:flex;align-items:center;gap:10px;padding:0 24px 18px 24px;}
.ms-dash-logo-link{text-decoration:none;color:inherit;}
.ms-dash-logo-link:hover{opacity:.96;}
.ms-dash-logo-link:focus-visible{outline:2px solid rgba(139,92,246,.9);outline-offset:4px;border-radius:14px;}

.ms-dash-logo-img{display:block;width:28px;height:28px;max-width:none;object-fit:contain;}
.ms-dash-logo-mark{
  width:30px;
  height:30px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:800;
  letter-spacing:.06em;
  background:radial-gradient(circle at 0 0,#8b5cf6,#ec4899);
  color:#f9fafb;
  box-shadow:0 0 0 1px rgba(248,250,252,.06),0 10px 25px rgba(0,0,0,.55);
}
.ms-dash-logo-text{display:flex;flex-direction:column;line-height:1.1;}
.ms-dash-logo-title{font-size:15px;font-weight:800;letter-spacing:.2px;color:#f9fafb;}
.ms-dash-logo-sub{font-size:11px;color:var(--muted);margin-top:2px;}

/* Sidebar nav */
.ms-dash-nav{
  display:flex;
  flex-direction:column;
  gap:16px;
  font-size:13px;
}
.ms-dash-nav-group{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ms-dash-nav-label{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  color:rgba(148,163,184,.9);
}
.ms-dash-nav-link{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 14px;
  border-radius:999px;
  color:#e5e7eb;
  text-decoration:none;
  border:1px solid transparent;
  background:rgba(15,23,42,.9);
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,transform .12s ease,box-shadow .16s ease;
}.ms-dash-nav-link:hover{
  background:linear-gradient(135deg,rgba(30,64,175,.7),rgba(76,29,149,.85));
  border-color:rgba(129,140,248,.7);
  transform:translateX(2px);
}
.ms-dash-nav-link.is-active{
  background:linear-gradient(135deg,#8b5cf6,#ec4899);
  border-color:rgba(129,140,248,.95);
  box-shadow:0 10px 28px rgba(15,23,42,.9);
  color:#f9fafb;
}
.ms-dash-nav-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:radial-gradient(circle,#a855f7,#ec4899);
}
.ms-dash-nav-link.is-active .ms-dash-nav-dot{
  background:#f9fafb;
}


/* Main column */
.ms-dash-main{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* Header */
.ms-dash-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}
.ms-dash-title{
  font-size:26px;
  letter-spacing:-.01em;
}
.ms-dash-sub{
  margin:4px 0 0;
  color:var(--muted);
  font-size:13px;
}
.ms-dash-header-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.ms-dash-btn-small{
  padding:.55rem .9rem;
  font-size:.8rem;
  border-radius:999px;
}
.ms-dash-btn-wide{
  width:100%;
  justify-content:center;
}

/* Panels */
.ms-dash-panel{
  padding:18px 18px 20px;
}
.ms-dash-panel-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:14px;
}
.ms-dash-panel-header-tight{
  margin-bottom:10px;
}
.ms-dash-panel-kicker{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  color:#a5b4fc;
}
.ms-dash-panel-title{
  font-size:18px;
}

/* Pills & filters */
.ms-dash-pill-row,
.ms-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ms-pill{
  border-radius:999px;
  padding:6px 12px;
  border:1px solid rgba(148,163,184,.45);
  background:rgba(15,23,42,.9);
  color:#e5e7eb;
  font-size:12px;
  font-weight:500;
  cursor:pointer;
  white-space:nowrap;
}
.ms-pill.is-active{
  background:linear-gradient(135deg,#8b5cf6,#ec4899);
  border-color:rgba(191,219,254,.9);
  color:#f9fafb;
  box-shadow:0 8px 24px rgba(30,64,175,.85);
}
.ms-pill.is-soft{
  background:rgba(15,23,42,.9);
  border-color:rgba(148,163,184,.45);
}

/* Filters grid */
.ms-dash-filters{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
  margin-top:8px;
}
.ms-dash-filter-col{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ms-dash-filter-actions{
  grid-column:1 / -1;
  display:flex;
  gap:10px;
  max-width:320px;
}
.ms-dash-label{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(148,163,184,.9);
}
.ms-dash-input{
  border-radius:12px;
  border:1px solid rgba(55,65,81,.85);
  background:rgba(15,23,42,.95);
  padding:8px 11px;
  color:#e5e7eb;
  font-size:13px;
}
.ms-dash-input::placeholder{
  color:rgba(148,163,184,.9);
}

/* Results table */
.ms-dash-table-wrap{
  margin-top:6px;
  border-radius:14px;
  border:1px solid rgba(31,41,55,.9);
  background:rgba(15,23,42,.95);
  overflow:hidden;
}
.ms-dash-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.ms-dash-table thead{
  background:radial-gradient(circle at 0 0,rgba(129,140,248,.25),transparent 60%);
}
.ms-dash-table th,
.ms-dash-table td{
  padding:8px 12px;
  border-bottom:1px solid rgba(31,41,55,.9);
}
.ms-dash-table th{
  text-align:left;
  font-weight:600;
  color:#e5e7eb;
}
.ms-dash-table td{
  color:rgba(209,213,219,.95);
}
.ms-dash-table tbody tr:nth-child(2n){
  background:rgba(15,23,42,.88);
}

/* Status pills */
.ms-dash-status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:3px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:600;
}
.ms-dash-status-pill.is-registered{
  background:rgba(34,197,94,.16);
  color:#bbf7d0;
}
.ms-dash-status-pill.is-pending{
  background:rgba(234,179,8,.18);
  color:#facc15;
}
.ms-dash-status-pill.is-ended{
  background:rgba(148,163,184,.2);
  color:#e5e7eb;
}

/* Plan message pill (dashboard membership message) */
.ms-plan-message{
  display:block;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.ms-plan-message.is-success{
  border-color:rgba(34,197,94,.28);
  background:linear-gradient(135deg, rgba(34,197,94,.18), rgba(16,185,129,.07));
}
.ms-plan-message.is-warning{
  border-color:rgba(245,158,11,.34);
  background:linear-gradient(135deg, rgba(245,158,11,.18), rgba(239,68,68,.07));
}
.ms-plan-message-title{
  font-weight:800;
  letter-spacing:.01em;
  color:rgba(240,253,244,.95);
  line-height:1.25;
}
.ms-plan-message.is-warning .ms-plan-message-title{
  color:rgba(255,247,237,.95);
}
.ms-plan-message-sub{
  margin-top:4px;
  font-size:13px;
  line-height:1.35;
  color:rgba(209,213,219,.95);
}
.ms-plan-message.is-warning .ms-plan-message-sub{
  color:rgba(255,237,213,.92);
}

/* Responsive */
@media(max-width:1024px){
  .ms-dashboard-shell{
    flex-direction:column;
  }
  .ms-dash-sidebar{
    width:100%;
    flex-direction:row;
    align-items:flex-start;
    gap:18px;
  }
  .ms-dash-nav{
    flex:1;
    flex-wrap:wrap;
    flex-direction:row;
  }
  .ms-dash-nav-group{
    min-width:140px;
  }
}
@media(max-width:768px){
  .ms-dashboard-shell{
    padding:0 16px;
  }
  .ms-dash-sidebar{
    flex-direction:column;
  }
  .ms-dash-header{
    flex-direction:column;
    align-items:flex-start;
  }
  .ms-dash-filters{
    grid-template-columns:1fr;
  }
  .ms-dash-filter-actions{
    max-width:none;
  }
}




/* Dashboard top header bar */
.ms-dash-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.ms-dash-topbar-left{
  display:flex;
  align-items:center;
  gap:10px;
}
.ms-dash-top-logo{
  font-size:13px;
  letter-spacing:.15em;
  text-transform:uppercase;
  font-weight:700;
  color:#e5e7eb;
  opacity:.9;
}
.ms-dash-top-logo-img{
  display:block;
  height:22px;
  width:auto;
}

.ms-dash-topbar-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
}
.ms-dash-top-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:5px 12px;
  border-radius:14px;
  font-size:12px;
  font-weight:600;
  border:1px solid rgba(129,140,248,.7);
  background:linear-gradient(135deg,#8b5cf6,#ec4899);
  color:#f9fafb;
  text-decoration:none;
  box-shadow:0 6px 18px rgba(15,23,42,.75);
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, opacity .12s ease;
}
.ms-dash-top-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 35px rgba(15,23,42,.95);
  opacity:.96;
}

/* Dashboard footer */
.ms-dash-footer{
  margin-top:18px;
  padding-top:12px;
  border-top:1px solid rgba(15,23,42,.85);
}
.ms-dash-footer-inner{
  font-size:11px;
  color:#9ca3af;
}
.ms-dash-footer-inner a{
  color:#c4b5fd;
  text-decoration:none;
}
.ms-dash-footer-inner a:hover{
  text-decoration:underline;
}

/* Dashboard template: hide marketing header & footer, app-only layout */
body.page-template-page-dashboard:not(.customize-preview) header.ms-nav{
  display:none;
}
body.page-template-page-dashboard:not(.customize-preview) footer.section{
  display:none;
}


/* Dashboard template: flush top & bottom, no extra vertical padding */
body.page-template-page-dashboard main{
  padding-top:0;
  padding-bottom:0;
}
body.page-template-page-dashboard .ms-dashboard{
  padding-top:0;
  padding-bottom:0;
}
body.page-template-page-dashboard .ms-dashboard-shell{
  padding-top:0;
  padding-bottom:0;
}
body.page-template-page-dashboard .ms-dash-footer{
  margin-top:8px;
  padding-top:8px;
}


/* Dashboard template hard overrides: remove vertical gaps completely */
body.page-template-page-dashboard main{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
body.page-template-page-dashboard .ms-dashboard{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
body.page-template-page-dashboard .ms-dashboard-shell{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  min-height:100vh;
}
body.page-template-page-dashboard .ms-dash-main{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
body.page-template-page-dashboard .ms-dash-footer{
  margin-top:8px;
  padding-top:8px;
}

/* MerchSignal membership-focused dashboard additions */
.ms-dash-panel-copy{
  margin:0 0 14px;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.ms-dash-plan-bullets{
  margin:0 0 14px;
  padding-left:18px;
  color:rgba(209,213,219,.96);
  font-size:13px;
}
.ms-dash-plan-bullets li{
  margin-bottom:4px;
}

.ms-dash-plan-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:4px;
}

.ms-dash-link-soft{
  font-size:13px;
  color:rgba(196,181,253,1);
  text-decoration:none;
}
.ms-dash-link-soft:hover{
  text-decoration:underline;
}

/* Usage summary rows */
.ms-dash-usage-table{
  margin-top:6px;
  border-radius:14px;
  border:1px solid rgba(31,41,55,.9);
  background:rgba(15,23,42,.95);
  overflow:hidden;
  font-size:12px;
}
.ms-dash-usage-head,
.ms-dash-usage-row{
  display:grid;
  grid-template-columns: minmax(0,2.2fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);
  gap:0;
}
.ms-dash-usage-head{
  background:radial-gradient(circle at 0 0,rgba(129,140,248,.25),transparent 60%);
  font-weight:600;
  color:rgba(226,232,240,.98);
}
.ms-dash-usage-row:nth-child(2n){
  background:rgba(15,23,42,.9);
}
.ms-dash-usage-head > div,
.ms-dash-usage-row > div{
  padding:8px 12px;
  border-bottom:1px solid rgba(31,41,55,.9);
}
.ms-dash-usage-row:last-child > div{
  border-bottom:none;
}
.ms-dash-usage-feature{
  display:flex;
  align-items:center;
}
.ms-dash-usage-col-right{
  text-align:right;
}
.ms-dash-usage-unit{
  margin-left:4px;
  opacity:.75;
}

.ms-dash-empty{
  margin-top:8px;
  padding:14px 16px;
  border-radius:12px;
  background:rgba(15,23,42,.95);
  border:1px dashed rgba(55,65,81,.9);
  font-size:13px;
  color:var(--muted);
}

/* Bottom cards */
.ms-dash-bottom-grid{
  display:grid;
  grid-template-columns: minmax(0,1.6fr) minmax(0,1.4fr);
  gap:18px;
  margin-top:18px;
}
.ms-dash-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.ms-dash-help-links{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
}

/* Responsive tweaks */
@media (max-width: 960px){
  .ms-dash-bottom-grid{
    grid-template-columns: minmax(0,1fr);
  }
}

/* === MerchSignal dashboard sidebar refinements === */
body[class*="page-dashboard"] .ms-dash-nav{
  gap:6px;
}
body[class*="page-dashboard"] .ms-dash-nav-link{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 11px;
  border-radius:1px;
  border:1px solid transparent;
  background:transparent;
  color:rgba(229,231,235,.9);
  font-weight:500;
  text-decoration:none;
  width:100%;
  margin:0;
}
body[class*="page-dashboard"] .ms-dash-nav-link:hover{
  background:rgba(15,23,42,.9);
  border-color:rgba(55,65,81,.9);
}
body[class*="page-dashboard"] .ms-dash-nav-link.is-active{
  background:linear-gradient(135deg,#ec4899,#8b5cf6);
  border-color:rgba(236,72,153,1);
  box-shadow:0 10px 26px rgba(15,23,42,.95);
  color:#f9fafb;
}
body[class*="page-dashboard"] .ms-dash-nav-dot{
  width:6px;
  height:6px;
  border-radius:999px;
  box-shadow:0 0 0 1px rgba(15,23,42,1);
}



/* === MerchSignal: Post-gallery redesign spacing & style fixes === */
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:1024px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr;gap:16px}}

.section{padding:56px 0}
.section.section-slim{padding:20px 0}

.card{border-radius:16px;background:rgba(17,24,39,.6);box-shadow:0 10px 28px rgba(2,6,23,.35);padding:18px;border:1px solid rgba(148,163,184,.12)}
.card h3{display:flex;align-items:center;gap:10px;margin-bottom:6px}

/* Icon pills for headings */
.i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;box-shadow:0 0 0 1px rgba(15,23,42,.7),0 6px 16px rgba(15,23,42,.6)}
.i svg{width:16px;height:16px}

/* Color accents */
.i.violet{background:linear-gradient(135deg,rgba(139,92,246,.9),rgba(168,85,247,.85))}
.i.cyan{background:linear-gradient(135deg,rgba(34,211,238,.85),rgba(59,130,246,.85))}
.i.green{background:linear-gradient(135deg,rgba(34,197,94,.9),rgba(16,185,129,.85))}
.i.pink{background:linear-gradient(135deg,rgba(236,72,153,.9),rgba(251,113,133,.85))}
.i.orange{background:linear-gradient(135deg,rgba(249,115,22,.9),rgba(234,179,8,.85))}

/* Tighter vertical rhythm for lists */
.small.muted li{margin:6px 0}
.badge{border-radius:999px;padding:6px 10px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.35)}
.badge-soft{background:linear-gradient(135deg,rgba(139,92,246,.12),rgba(59,130,246,.12));border-color:rgba(148,163,184,.18)}

.cta-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.section.section-cta .btn{min-width:220px}


/* === v2 tweaks: tighter headings + video card === */
.section h2{margin:0 0 8px}
.card h3{margin:0 0 4px}
.video-card{padding:12px}
.video-embed{position:relative;width:100%;padding-top:56.25%;border-radius:12px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.45)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%}

/* === Pro icon pills === */
.i{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;
   background:linear-gradient(135deg,rgba(139,92,246,.22),rgba(59,130,246,.16));box-shadow:0 0 0 1px rgba(148,163,184,.14),0 12px 28px rgba(2,6,23,.45)}
.i img{width:18px;height:18px;display:block;filter:drop-shadow(0 0 1px rgba(0,0,0,.25));}
/* tighter title-row spacing */
.card h3{display:flex;align-items:center;gap:10px;margin:0 0 4px}

/* === Plans grid === */
.plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:16px}
@media (max-width:1100px){.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.plans-grid{grid-template-columns:1fr}}
.plan{padding:18px}
.plan .pill{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(139,92,246,.15);color:#f2f3f6;font-weight:600}
.plan .price{margin:10px 0 6px;color:#e5e7eb}
.plan .price strong{font-size:22px}
.plan .plan-points{margin:10px 0 14px 16px}
.plan .plan-points li{margin:4px 0}
.plan .badge-pop{margin-left:8px;font-size:12px;padding:4px 8px;border-radius:999px;background:rgba(139,92,246,.25);color:#f2f3f6}
.plan.popular{outline:1px solid rgba(139,92,246,.45);box-shadow:0 8px 30px rgba(139,92,246,.15)}
.w100{width:100%;display:inline-block;text-align:center}

/* === Plans grid polish (v2) === */
.plans-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:18px;align-items:stretch}
@media (max-width:1100px){.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.plans-grid{grid-template-columns:1fr}}
.plan{display:flex;flex-direction:column;padding:22px;border-radius:18px}
.plan .plan-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.plan .pill{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(139,92,246,.14);color:#f2f3f6;font-weight:700;letter-spacing:.2px}
.plan .badge-pop{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(139,92,246,.25);color:#f2f3f6;font-weight:600;font-size:12px}
.plan .price{margin:6px 0 6px;color:#e5e7eb}
.plan .price strong{font-size:22px}
.plan .plan-points{flex:1;margin:8px 0 14px 18px}
.plan .plan-points li{margin:5px 0}
.plan .btn{width:100%}
.plan.popular{outline:1px solid rgba(139,92,246,.5);box-shadow:0 10px 40px rgba(139,92,246,.18)}
#plans .kicker{margin-bottom:6px}
#plans h2{margin-bottom:10px}
#plans .center .btn.ghost{margin-top:4px}


/* --- MerchSignal: CTA safety + Extension button glow --- */
.hero.hero-animated .container{position:relative;z-index:2}
.extension-glow{
  position:relative;
  background:linear-gradient(135deg, rgba(124,58,237,.95), rgba(236,72,153,.95));
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  box-shadow:0 18px 60px rgba(124,58,237,.22), 0 14px 40px rgba(236,72,153,.14);
  overflow:hidden;
}
.extension-glow .ext-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:.55rem;
  width:1.55em;
  height:1.55em;
  background:rgba(255,255,255,.14);
  border-radius:.55em;
  box-shadow:0 0 0 1px rgba(255,255,255,.14) inset;
  line-height:1;
}
.extension-glow:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(700px circle at 30% 50%, rgba(255,255,255,.18), transparent 45%),
    radial-gradient(500px circle at 85% 30%, rgba(255,255,255,.12), transparent 50%);
  pointer-events:none;
}
.extension-glow:hover{
  transform:translateY(-1px);
  box-shadow:0 22px 70px rgba(124,58,237,.28), 0 16px 46px rgba(236,72,153,.20);
}
.extension-glow:active{transform:translateY(0)}



/* === MerchSignal Video Guides (YouTube playlist player w/ list) === */
.ms-video-guides{margin-top:18px;margin-bottom:26px}
.ms-video-guides .ms-vg-head{text-align:center;margin:8px 0 14px}
.ms-video-guides .ms-vg-title{font-weight:800;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em}
.ms-video-guides .ms-vg-sub{opacity:.85;margin-top:6px}
.ms-yt-shell{
  background: rgba(10,12,20,.55);
  border: 1px solid rgba(140,120,255,.18);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  border-radius: 18px;
  padding: 14px;
  overflow: hidden;
}
.ms-yt-embed{
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 420px;
  max-height: 70vh;
  border-radius: 14px;
  overflow:hidden;
  position:relative;
}
.ms-yt-embed iframe{
  position:absolute; inset:0;
  width:100%; height:100%;
  border:0;
}
/* Give it more width so YouTube shows the playlist list on the right (desktop). */
@media (min-width: 900px){
  .ms-yt-embed{min-height: 520px;}
  .section-gallery .container{max-width: 1240px;}
}



/* Dashboard: hide the large marketing footer blocks (dashboard should end at the dashboard copyright line) */
body.page-id-dashboard .ms-footer-marketing,
body.page-template-page-dashboard .ms-footer-marketing{
  display:none;
}



/* Dashboard spacing: keep header text from touching first card */
.ms-dash-header{ margin-bottom: 18px; }
@media (max-width: 720px){
  .ms-dash-header{ margin-bottom: 14px; }
}



/* Upcoming Events (next 90 days) */
.ms-events-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.ms-events-range{
  font-size:12px;
  color:rgba(226,232,240,.82);
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(15,23,42,.55);
  white-space:nowrap;
}


/* Events date range picker (Dashboard v2) */
.ms-events-controls{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.ms-events-filter{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.ms-ev-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:rgba(226,232,240,.82);
}
.ms-ev-label-txt{
  opacity:.9;
}
.ms-ev-date{
  height:32px;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(15,23,42,.55);
  color:#e5e7eb;
  font-size:12px;
  outline:none;
}
.ms-ev-date:focus{
  border-color:rgba(139,92,246,.55);
  box-shadow:0 0 0 3px rgba(139,92,246,.18);
}
.ms-ev-btn{
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border-radius:10px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(15,23,42,.55);
  color:#e5e7eb;
  font-size:12px;
  text-decoration:none;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease, opacity .12s ease;
  user-select:none;
}
.ms-ev-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(148,163,184,.32);
  box-shadow:0 8px 26px rgba(0,0,0,.28);
}
.ms-ev-btn:active{
  transform:translateY(0);
  opacity:.95;
}
.ms-ev-btn--apply{
  border:none;
  background:linear-gradient(135deg,#8b5cf6,#ec4899);
}
.ms-ev-btn--apply:hover{
  opacity:.96;
}
.ms-ev-btn--reset{
  background:rgba(2,6,23,.35);
}
@media (max-width: 920px){
  .ms-events-header{
    align-items:flex-start;
  }
  .ms-events-controls{
    align-items:flex-start;
  }
  .ms-events-filter{
    justify-content:flex-start;
  }
}
@media (max-width: 520px){
  .ms-ev-label{
    width:100%;
    justify-content:space-between;
  }
  .ms-ev-date{
    width: 170px;
  }
}

.ms-events-intro{ margin-bottom: 14px; }

.ms-event-top-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 12px 0 18px;
}
.ms-event-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  text-decoration:none;
  border:1px solid rgba(148,163,184,.28);
  background:rgba(2,6,23,.55);
  color:#e5e7eb;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.ms-event-pill:hover{
  transform: translateY(-1px);
  border-color: rgba(191,219,254,.45);
  box-shadow:0 10px 28px rgba(2,6,23,.55);
}
.ms-event-pill:focus{
  outline:2px solid rgba(139,92,246,.65);
  outline-offset:2px;
}
.ms-event-pill-ico{ font-size:14px; }
.ms-event-pill-date{
  opacity:.82;
  font-size:12px;
  padding-left:8px;
  margin-left:2px;
  border-left:1px solid rgba(148,163,184,.22);
}

.ms-event-list{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:10px;
}
.ms-event-card{
  border-radius:16px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(2,6,23,.40);
  padding:14px 14px 16px;
  box-shadow:0 18px 60px rgba(2,6,23,.45);
}
.ms-event-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.ms-event-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:#f3f4f6;
}
.ms-event-name{ font-size:16px; }
.ms-event-ico{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:rgba(139,92,246,.12);
  border:1px solid rgba(139,92,246,.25);
}
.ms-event-date{
  font-size:12px;
  color:rgba(226,232,240,.75);
  padding-top:2px;
  white-space:nowrap;
}
.ms-event-desc{
  margin:10px 0 12px;
  color:rgba(226,232,240,.88);
  line-height:1.45;
}

.ms-event-queries{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media (max-width: 860px){
  .ms-event-queries{ grid-template-columns:1fr; }
}

.ms-q-title{
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(226,232,240,.72);
  margin-bottom:8px;
}
.ms-q-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ms-q-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:8px 10px;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(15,23,42,.65);
  color:#e5e7eb;
  font-size:12px;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.ms-q-pill:hover{
  border-color: rgba(191,219,254,.40);
  box-shadow:0 10px 26px rgba(2,6,23,.45);
  transform: translateY(-1px);
}
.ms-q-pill:focus{
  outline:2px solid rgba(139,92,246,.65);
  outline-offset:2px;
}
.ms-q-pill .ms-q-copy{ opacity:.82; }
.ms-q-pill--spec{
  border-color: rgba(236,72,153,.28);
  background: rgba(236,72,153,.08);
}
.ms-q-pill--spec:hover{ border-color: rgba(236,72,153,.45); }

.ms-toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform: translateX(-50%) translateY(14px);
  opacity:0;
  pointer-events:none;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(34,197,94,.35);
  background: rgba(2,6,23,.92);
  color:#e5e7eb;
  font-size:13px;
  box-shadow:0 14px 44px rgba(2,6,23,.65);
  z-index:2147483646;
  transition: opacity .15s ease, transform .15s ease;
}
.ms-toast.is-show{
  opacity:1;
  transform: translateX(-50%) translateY(0);
}


/* Auth pages: higher-contrast "Show password" toggle */
.ms-showpw-btn{
  background: rgba(124,58,237,.22) !important;
  border: 1px solid rgba(124,58,237,.45) !important;
  color: #f3e8ff !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-shadow: 0 10px 24px rgba(2,6,23,.45) !important;
}
.ms-showpw-btn:hover{
  background: rgba(124,58,237,.32) !important;
}
.ms-showpw-btn:focus{
  outline: 2px solid rgba(99,102,241,.65) !important;
  outline-offset: 2px !important;
}

