/* GlásTour simple unified theme v5.0
   No layout changes: brand, typography, color, spacing, and responsive polish. */

:root {
  --gt5-ivory: #fbf8f2;
  --gt5-paper: #fffdfa;
  --gt5-ink: #202126;
  --gt5-muted: #6b6d75;
  --gt5-line: rgba(32, 33, 38, .14);
  --gt5-coral: #f06d52;
  --gt5-pink: #f38aaa;
  --gt5-lavender: #9f91ee;
  --gt5-ice: #69bff0;
  --gt5-spectrum: linear-gradient(110deg, var(--gt5-coral), var(--gt5-pink) 34%, var(--gt5-lavender) 68%, var(--gt5-ice));
}

/* Approved logo, using the pixel-identical canvas-trimmed asset so sizing is
   predictable and the artwork is never clipped. */
.gt-brand-lockup,
.app-v2 .pv-app-nav .gt-brand-lockup,
.home-v2 .pv-nav .gt-brand-lockup {
  position: relative;
  width: 230px !important;
  height: 64px !important;
  display: block;
  flex: 0 0 auto;
  overflow: hidden;
}

.gt-brand-lockup .gt-brand-logo,
.app-v2 .pv-app-nav .gt-brand-logo,
.home-v2 .pv-nav .gt-brand-logo {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 230px !important;
  max-width: none !important;
  height: auto !important;
  display: block;
}

.home-v2 .pv-brand,
.app-v2 .pv-brand { min-width: 230px !important; }
.pv-brand-mark { display: none !important; }

/* Navigation and the page share one quiet surface—no footer-like seam. */
.home-v2 .pv-nav,
.app-v2 .pv-app-nav,
.studio-nav {
  border: 0 !important;
  box-shadow: none !important;
  background: var(--gt5-ivory) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.home-v2 .pv-nav-inner { min-height: 82px; }
.app-v2 .pv-app-nav-inner { min-height: 78px; }

/* Preserve the homepage and publishing composition; remove only dead space. */
.home-v2 .gt-publish-intro { padding-bottom: clamp(22px, 2.2vw, 32px); }
.home-v2 .gt-publish-formats { margin-bottom: 0; }
.home-v2 .gt-publish-stage {
  align-items: start;
  margin-top: 0;
}
.home-v2 .gt-publish-flow { align-self: center; }

/* Shared application theme. */
.app-v2 {
  --app-ink: var(--gt5-ink);
  --app-paper: var(--gt5-paper);
  --app-cream: var(--gt5-ivory);
  --app-line: var(--gt5-line);
  --app-muted: var(--gt5-muted);
  --app-rust: var(--gt5-coral);
  min-height: 100vh;
  background:
    radial-gradient(circle at 5% 9%, rgba(240,109,82,.04), transparent 24rem),
    radial-gradient(circle at 96% 24%, rgba(105,191,240,.045), transparent 27rem),
    var(--gt5-ivory) !important;
  color: var(--gt5-ink);
}

.app-v2 .gt-brand-context {
  margin-left: 10px;
  padding-left: 12px;
  border-left: 1px solid var(--gt5-line);
  color: var(--gt5-muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.app-v2 .pv-panel {
  border: 1px solid var(--gt5-line);
  background: rgba(255,253,250,.97);
  box-shadow: 0 12px 34px rgba(42,37,49,.035);
}

.app-v2 .pv-btn-primary,
.app-v2 .pv-btn-dark {
  border: 1px solid transparent;
  background:
    linear-gradient(var(--gt5-ink), var(--gt5-ink)) padding-box,
    var(--gt5-spectrum) border-box;
  color: #fff;
  box-shadow: 0 10px 24px rgba(31,30,35,.1);
}

.app-v2 .pv-btn-outline {
  border-color: rgba(32,33,38,.2);
  background: transparent;
}

.app-v2 .pv-kicker,
.app-v2 .pv-package-label,
.app-v2 .pv-legal-nav a[aria-current="page"] { color: var(--gt5-coral); }

.app-v2 input:focus,
.app-v2 select:focus,
.app-v2 textarea:focus,
.app-v2 .dropzone:focus-visible {
  border-color: var(--gt5-lavender) !important;
  box-shadow: 0 0 0 3px rgba(159,145,238,.12) !important;
}

.app-v2 .dropzone {
  border-radius: 12px;
  border-color: rgba(32,33,38,.22);
  background: rgba(255,255,255,.62);
}

/* Priority surfaces stay quiet. A short spectral edge connects them to the
   public brand without turning the interface into a wall of gradient cards. */
.app-v2 .pv-auth-card,
.app-v2 .pv-order-summary,
.app-v2 .gt-credit-wallet,
.app-v2 .gt-admin-order.is-qc {
  position: relative;
  border: 1px solid var(--gt5-line);
  background: var(--gt5-paper);
}

.app-v2 .pv-auth-card::after,
.app-v2 .pv-order-summary::after,
.app-v2 .gt-credit-wallet::after,
.app-v2 .gt-admin-order.is-qc::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 28px;
  width: 76px;
  height: 2px;
  border-radius: 99px;
  background: var(--gt5-spectrum);
}

.app-v2 .pv-admin-stat { border-top: 2px solid rgba(240,109,82,.55); }
.app-v2 .pv-admin-stat:nth-child(2n) { border-top-color: rgba(159,145,238,.55); }
.app-v2 .pv-admin-stat:nth-child(3n) { border-top-color: rgba(105,191,240,.6); }
.app-v2 .pv-legal-copy { box-shadow: none; }
.app-v2 .pv-app-footer { background: rgba(243,239,232,.55); }
.home-v2 .pv-footer .gt-brand-lockup { width: 210px !important; height: 58px !important; }
.home-v2 .pv-footer .gt-brand-logo { top: 0 !important; left: 0 !important; width: 210px !important; height: auto !important; }

/* The render studio keeps its existing workspace, with the same larger mark. */
.studio-brand-lockup {
  position: relative;
  width: 220px !important;
  height: 61px !important;
  overflow: hidden;
}
.studio-brand-lockup img {
  position: absolute;
  top: 0;
  left: 0;
  width: 220px !important;
  max-width: none !important;
  height: auto !important;
}

@media (max-width: 820px) {
  .gt-brand-lockup,
  .app-v2 .pv-app-nav .gt-brand-lockup,
  .home-v2 .pv-nav .gt-brand-lockup { width: 200px !important; height: 55px !important; }
  .gt-brand-lockup .gt-brand-logo,
  .app-v2 .pv-app-nav .gt-brand-logo,
  .home-v2 .pv-nav .gt-brand-logo { top: 0 !important; left: 0 !important; width: 200px !important; height: auto !important; }
  .home-v2 .pv-nav-inner { min-height: 74px; }
}

@media (max-width: 590px) {
  .gt-brand-lockup,
  .app-v2 .pv-app-nav .gt-brand-lockup,
  .home-v2 .pv-nav .gt-brand-lockup { width: 176px !important; height: 49px !important; }
  .gt-brand-lockup .gt-brand-logo,
  .app-v2 .pv-app-nav .gt-brand-logo,
  .home-v2 .pv-nav .gt-brand-logo { top: 0 !important; left: 0 !important; width: 176px !important; height: auto !important; }
  .home-v2 .pv-brand,
  .app-v2 .pv-brand { min-width: 176px !important; }
  .home-v2 .pv-nav-inner,
  .app-v2 .pv-app-nav-inner { min-height: 66px; }
  .app-v2 .gt-brand-context { display: none; }
  .app-v2 .pv-app-nav-actions .pv-btn { min-height: 38px; padding-inline: 10px; }
  .app-v2 .pv-panel { box-shadow: none; }
  /* Keep the real customer wallet's label, plan name, status, and billing
     action on separate rows. This prevents the cramped inline collision that
     appeared in the discarded preview while leaving the desktop grid intact. */
  .app-v2 .gt-wallet-plan { display: block; }
  .app-v2 .gt-wallet-plan small { display: block; }
  .app-v2 .gt-wallet-plan h2 {
    display: block;
    clear: both;
    margin: 8px 0 12px;
  }
  .app-v2 .gt-wallet-plan .pv-status { display: inline-flex; }
  .app-v2 .gt-wallet-plan form { clear: both; }
  .app-v2 .pv-legal-copy { padding: 25px 20px; }
  .app-v2 .pv-legal-nav { display: flex; overflow-x: auto; }
  .app-v2 .pv-legal-nav a { min-width: max-content; flex: 1; }
  .studio-brand-lockup { width: 176px !important; height: 49px !important; }
  .studio-brand-lockup img { top: 0; left: 0; width: 176px !important; height: auto !important; }
  .studio-context { display: none; }
  .home-v2 .gt-publish-intro { padding-bottom: 18px; }
}
