@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap");
/* GoTouristPass · Brand System 2026
   Shared visual identity. Loaded after page-local styles so legacy pages inherit the new brand
   without changing application logic. */
:root{
  --gtp-navy:#08396B;
  --gtp-navy-2:#052D57;
  --gtp-blue:#035AB5;
  --gtp-bright:#0493FA;
  --gtp-cyan:#05B9FB;
  --gtp-yellow:#FCBF0F;
  --gtp-yellow-2:#FFD34A;
  --gtp-bg:#F6FBFF;
  --gtp-soft:#EAF7FF;
  --gtp-line:#D8EAF6;
  --gtp-ink:#0C2238;
  --gtp-muted:#31546D;
  --gtp-success:#18A66F;
  --gtp-danger:#D95757;
  --gtp-shadow:0 18px 48px rgba(8,57,107,.14);
  --gtp-font:'Nunito Sans','Segoe UI',Arial,sans-serif;
}

html{accent-color:var(--gtp-yellow)}
body.gtp-brand{
  font-family:var(--gtp-font)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.gtp-brand h1,body.gtp-brand h2,body.gtp-brand h3,body.gtp-brand h4,
body.gtp-brand h5,body.gtp-brand h6,body.gtp-brand .logo,body.gtp-brand .mob-logo,
body.gtp-brand .top-brand,body.gtp-brand .brand-name,body.gtp-brand .splash-logo{
  font-family:var(--gtp-font)!important;
  font-style:normal!important;
}
body.gtp-brand ::selection{background:rgba(5,185,251,.28);color:var(--gtp-navy)}
body.gtp-brand :focus-visible{outline:3px solid rgba(5,185,251,.45)!important;outline-offset:3px}

/* Legacy variable bridge: keeps all existing components functional while changing the palette. */
body.gtp-brand.gtp-dark,
body.gtp-brand.gtp-admin,
body.gtp-brand.gtp-immersive{
  --dark:var(--gtp-navy-2);
  --dark2:var(--gtp-navy);
  --dark3:#0B477C;
  --dark4:#10558D;
  --bg:var(--gtp-navy-2);
  --bg2:var(--gtp-navy);
  --card:#0B477C;
  --border:#1A639B;
  --line:#1A639B;
  --gold:var(--gtp-yellow);
  --gold2:var(--gtp-yellow-2);
  --goldd:#DFA800;
  --gold-dim:#DFA800;
  --gold-soft:rgba(252,191,15,.13);
  --gold-line:rgba(252,191,15,.32);
  --white:#FFFFFF;
  --text:#F8FCFF;
  --t2:#DBECF7;
  --t3:#AFC9DC;
  --muted:#AFC9DC;
  --gray:#AFC9DC;
  --blue:var(--gtp-bright);
  --cyan:var(--gtp-cyan);
  --green:var(--gtp-success);
  --red:var(--gtp-danger);
  --font:var(--gtp-font);
  --font-d:var(--gtp-font);
  --fd:var(--gtp-font);
  --fb:var(--gtp-font);
}

/* Official wordmark treatment, without cropping the supplied logo. */
body.gtp-brand .logo,body.gtp-brand .mob-logo,
body.gtp-brand .login-logo,body.gtp-brand .spl-logo{
  font-weight:900!important;
  letter-spacing:-.65px!important;
  line-height:1!important;
}
body.gtp-brand .gtp-go{color:var(--gtp-bright)!important}
body.gtp-brand .gtp-tourist{color:var(--gtp-navy)!important}
body.gtp-brand .gtp-pass{color:var(--gtp-yellow)!important}
body.gtp-brand.gtp-dark .mob-logo .gtp-tourist,
body.gtp-brand.gtp-admin .login-logo .gtp-tourist,
body.gtp-brand.gtp-immersive .spl-logo .gtp-tourist{color:#fff!important}

/* Public legacy pages: white navigation connects them visually with the new Home. */
body.gtp-public-dark nav{
  background:rgba(255,255,255,.96)!important;
  border-bottom-color:var(--gtp-line)!important;
  box-shadow:0 8px 30px rgba(8,57,107,.08)!important;
  backdrop-filter:blur(18px)!important;
}
body.gtp-public-dark nav .logo,
body.gtp-public-dark nav a:not(.nav-cta),
body.gtp-public-dark nav button,
body.gtp-public-dark nav .nl{color:var(--gtp-navy)!important}
body.gtp-public-dark nav .logo b{color:var(--gtp-navy)!important}
body.gtp-public-dark nav .nav-cta,
body.gtp-public-dark nav a.nav-cta{
  background:var(--gtp-yellow)!important;
  color:var(--gtp-navy)!important;
  border-color:transparent!important;
  box-shadow:0 8px 22px rgba(252,191,15,.22)!important;
}
body.gtp-public-dark .nav-drop,
body.gtp-public-dark .nav-search-results,
body.gtp-public-dark .mob,
body.gtp-public-dark .mobile-menu{
  background:#fff!important;
  border-color:var(--gtp-line)!important;
  box-shadow:var(--gtp-shadow)!important;
  color:var(--gtp-ink)!important;
}
body.gtp-public-dark .nav-drop a,
body.gtp-public-dark .mob a,
body.gtp-public-dark .mobile-menu a{color:var(--gtp-ink)!important}
body.gtp-public-dark .mob-logo .gtp-tourist{color:var(--gtp-navy)!important}
body.gtp-public-dark .mob-head{border-color:var(--gtp-line)!important}

/* Reusable actions */
body.gtp-brand .btn-gold,
body.gtp-brand .btn-primary,
body.gtp-brand .mob-cta,
body.gtp-brand .cta-gold,
body.gtp-brand [class*="gold-btn"]{
  background:linear-gradient(135deg,var(--gtp-yellow),var(--gtp-yellow-2))!important;
  color:var(--gtp-navy)!important;
  border-color:transparent!important;
  box-shadow:0 10px 28px rgba(252,191,15,.22)!important;
}
body.gtp-brand .btn-gold:hover,
body.gtp-brand .btn-primary:hover,
body.gtp-brand .mob-cta:hover{
  filter:brightness(1.02);
  transform:translateY(-1px);
}
body.gtp-brand a{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}

/* Gold text from the previous identity becomes the new yellow accent. */
body.gtp-brand .gold,
body.gtp-brand [class*="gold"]:not(.btn-gold){color:var(--gtp-yellow)}

/* Cards and form controls gain the same radius / focus language. */
body.gtp-brand input,body.gtp-brand select,body.gtp-brand textarea{
  font-family:var(--gtp-font)!important;
}
body.gtp-brand.gtp-dark input,
body.gtp-brand.gtp-dark select,
body.gtp-brand.gtp-dark textarea,
body.gtp-brand.gtp-admin input,
body.gtp-brand.gtp-admin select,
body.gtp-brand.gtp-admin textarea{
  border-color:#286FA3!important;
}
body.gtp-brand.gtp-dark input:focus,
body.gtp-brand.gtp-dark select:focus,
body.gtp-brand.gtp-dark textarea:focus,
body.gtp-brand.gtp-admin input:focus,
body.gtp-brand.gtp-admin select:focus,
body.gtp-brand.gtp-admin textarea:focus{
  border-color:var(--gtp-cyan)!important;
  box-shadow:0 0 0 3px rgba(5,185,251,.12)!important;
}

/* Operational surfaces: navy workspace, blue/yellow states, no consumer-style decoration. */
body.gtp-admin .topbar,
body.gtp-admin header,
body.gtp-admin .sidebar,
body.gtp-admin .tabs{
  border-color:#1A639B!important;
}
body.gtp-admin .topbar-brand,
body.gtp-admin .brand,
body.gtp-admin .brand-name{color:var(--gtp-yellow)!important}
body.gtp-admin .card,
body.gtp-admin .panel,
body.gtp-admin .login-box{
  border-color:#1A639B!important;
}

/* Immersive tools (Map / Be) keep dark readability but use the official palette. */
body.gtp-immersive .leaflet-control-zoom a,
body.gtp-immersive .leaflet-control-layers,
body.gtp-immersive .leaflet-popup-content-wrapper,
body.gtp-immersive .leaflet-popup-tip{
  background:var(--gtp-navy)!important;
  color:#fff!important;
  border-color:#1A639B!important;
}
body.gtp-immersive .leaflet-control-zoom a:hover{background:#0B477C!important;color:var(--gtp-yellow)!important}

/* Home/membership official image: show the supplied logo intact instead of a cropped mark. */
body.gtp-light .brand-mark img,
body.gtp-light .mc-brand img,
body.gtp-light .app-brand img,
body.gtp-light .chat-logo{
  object-fit:contain!important;
  padding:2px!important;
  background:#fff!important;
}

/* Legal pages */
body.gtp-public-dark .legal-hero h1,
body.gtp-public-dark .doc h2{font-weight:800!important;letter-spacing:-1px!important}
body.gtp-public-dark .doc h3,
body.gtp-public-dark .toc-title{color:var(--gtp-yellow)!important}

/* Small screens */
@media(max-width:760px){
  body.gtp-brand .logo,body.gtp-brand .mob-logo{letter-spacing:-.45px!important}
  body.gtp-public-dark nav{box-shadow:0 5px 20px rgba(8,57,107,.08)!important}
}

/* Wordmark on dark footers / hero blocks. */
body.gtp-public-dark footer .gtp-tourist,
body.gtp-public-dark .footer .gtp-tourist,
body.gtp-public-dark .footer-logo .gtp-tourist{color:#fff!important}
body.gtp-public-dark footer .gtp-go,
body.gtp-public-dark .footer .gtp-go{color:var(--gtp-cyan)!important}
body.gtp-public-dark footer .gtp-pass,
body.gtp-public-dark .footer .gtp-pass{color:var(--gtp-yellow)!important}

/* Consistent branded scrollbars for desktop workspaces. */
body.gtp-admin ::-webkit-scrollbar,
body.gtp-immersive ::-webkit-scrollbar{width:9px;height:9px}
body.gtp-admin ::-webkit-scrollbar-track,
body.gtp-immersive ::-webkit-scrollbar-track{background:var(--gtp-navy-2)}
body.gtp-admin ::-webkit-scrollbar-thumb,
body.gtp-immersive ::-webkit-scrollbar-thumb{background:#1A639B;border-radius:999px}
body.gtp-admin ::-webkit-scrollbar-thumb:hover,
body.gtp-immersive ::-webkit-scrollbar-thumb:hover{background:var(--gtp-bright)}

/* Build v2 — official mark on preserved legacy public headers */
body.gtp-public-dark nav .logo,
body.gtp-public-dark .mob-logo{display:flex!important;align-items:center!important;gap:9px!important;font-family:var(--gtp-font)!important;font-weight:850!important;letter-spacing:-.45px!important;}
body.gtp-public-dark nav .logo::before,
body.gtp-public-dark .mob-logo::before{content:"";display:block;flex:0 0 auto;width:31px;height:31px;border-radius:9px;background:#fff url('/logo-icon.png') center/contain no-repeat;box-shadow:0 4px 14px rgba(8,57,107,.12);}
body.gtp-public-dark .mob-logo::before{width:34px;height:34px;}
@media(max-width:760px){body.gtp-public-dark nav .logo::before{width:29px;height:29px}}
