/* Shared layout: public pages and management portal, never the standalone player. */
body.gsd-public, body.gsd-portal {
  background: #f6f8fb;
  color: #17243b;
  line-height: 1.6;
}
.gsd-shell > header { position: relative; z-index: 20; }
body .gsd-nav { background: #fff; box-shadow: none; border-bottom: 1px solid #e0e6ee; padding: 18px 0; }
.gsd-nav .container { gap: 20px; }
.gsd-brand { margin-right: 20px; }
.gsd-brand-logo { filter: none; }
.gsd-brand-slogan { font-size: 11px; margin-top: 5px; }
.gsd-nav .navbar-nav { gap: 4px; }
.gsd-nav .nav-link { font-size: 14px; white-space: nowrap; padding: 10px !important; }
.gsd-nav .nav-link[aria-current="page"] { background: #edf3ff; color: #174ca6; border-radius: 8px; }
.gsd-skip-link { position: fixed; top: -100px; left: 16px; z-index: 100; padding: 12px; background: #fff; }
.gsd-skip-link:focus { top: 12px; }
:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
body .gsd-main { padding: 36px 0 64px; }
.gsd-main > .container { min-width: 0; }
.gsd-main h1 { font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.18; letter-spacing: -.035em; }
.gsd-main h2 { font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.25; letter-spacing: -.025em; }
.gsd-main h3 { line-height: 1.3; }
.gsd-main p { line-height: 1.7; }
body .gsd-public-hero { min-height: 0; gap: 40px; padding: 36px 0 48px; }
body .gsd-avada-hero::before { inset: 0; border: 0; background: none; }
body .gsd-showcase-card-main { animation: none; }
body .gsd-public-hero-copy h1 { font-size: clamp(2rem, 3.8vw, 3.4rem); line-height: 1.13; }
body .gsd-public-hero-copy p { font-size: 1.05rem; }
body .gsd-public-section { margin-top: 36px; padding: 32px; border-radius: 18px; }
.gsd-public-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .gsd-public-grid { gap: 24px; }
.gsd-public-grid > *, .gsd-public-hero > *, .row > * { min-width: 0; }
body.gsd-public .gsd-public-card, body.gsd-portal .gsd-card {
  border: 1px solid #e0e6ee; border-radius: 16px; box-shadow: 0 4px 18px #17243b06;
}
body.gsd-public .gsd-public-card { padding: 28px; }
body .gsd-section-heading-row { flex-wrap: wrap; align-items: center; }
.gsd-section-heading-row > div { flex: 1 1 280px; }
body .gsd-plan-card { display: flex; flex-direction: column; gap: 8px; }
body .gsd-plan-price { font-size: clamp(1.5rem, 2.5vw, 2rem); }
body .gsd-floating-metric { display: none; }
body .gsd-hero-showcase { transform: none; margin: 0; }
body.gsd-public .gsd-text-word { animation: none; opacity: 1; transform: none; color: inherit !important; }
body.gsd-public .gsd-scroll-reveal { opacity: 1; transform: none; }
body.gsd-public .btn-primary::before { display: none; }
body .btn { border-radius: 9px; font-weight: 600; white-space: normal; }
body .btn:not(.btn-sm) { min-height: 44px; padding: 10px 18px; }
body .form-control, body .form-select { border-radius: 9px; min-height: 44px; }
body .form-label { font-weight: 600; margin-bottom: 6px; }
body .table-responsive { border: 1px solid #e0e6ee; border-radius: 10px; }
body .table { margin-bottom: 0; }
body .table th, body .table td { padding: 12px; vertical-align: middle; }
body .table td { overflow-wrap: anywhere; }
body.gsd-portal .gsd-desktop-grid .gsd-tile-sub,
body.gsd-portal .gsd-desktop-grid .gsd-action-sub { display: block; font-size: .85rem; margin-top: 8px; line-height: 1.5; }
body.gsd-portal .gsd-desktop-grid .gsd-tile::after,
body.gsd-portal .gsd-desktop-grid .gsd-action::after { display: none; }
body.gsd-portal .gsd-desktop-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
body.gsd-portal .gsd-desktop-grid .gsd-tile,
body.gsd-portal .gsd-desktop-grid .gsd-action { min-height: 130px; padding: 22px; height: auto; text-align: left; align-items: flex-start; background: #fff; border: 1px solid #e0e6ee; }
body .gsd-footer { background: #fff; border-top: 1px solid #e0e6ee; padding: 28px 0; font-size: .85rem; }
.gsd-footer a { overflow-wrap: anywhere; }
@media (max-width: 1199.98px) {
  .gsd-nav .navbar-collapse { flex-basis: 100%; }
  .gsd-nav .navbar-nav { align-items: stretch !important; }
  .gsd-nav .navbar-nav .nav-item { margin: 0 !important; }
  .gsd-nav .navbar-nav .btn { margin-top: 8px; }
}
@media (max-width: 767.98px) {
  body .gsd-main { padding: 24px 0 40px; }
  body .gsd-public-hero { grid-template-columns: 1fr; gap: 28px; padding: 8px 0 28px; }
  body .gsd-public-grid-2, body .gsd-public-grid-3, body .gsd-public-grid-4 { grid-template-columns: 1fr; }
  body .gsd-public-section, body.gsd-public .gsd-public-card, body.gsd-portal .gsd-card { padding: 20px; }
  body .gsd-public-section { margin-top: 24px; }
  .gsd-brand { margin-right: 0; gap: 8px; }
  .gsd-brand-logo { height: 30px; }
  body .gsd-public-actions { gap: 12px; }
  body .gsd-public-actions .btn { width: 100%; }
  body .gsd-final-cta { flex-direction: column; align-items: stretch; gap: 20px; }
  body .gsd-legal-page { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .gsd-shell *, .gsd-shell *::before, .gsd-shell *::after { animation: none !important; transition: none !important; }
}
