@charset "UTF-8";
/* ==========================================================
   GoRabbit Frontend v1.0 [b046]
   Consistent Home Baseline
   ========================================================== */

:root {
  /* Global Rabbit variables */
  --gr-bg1:#010713;
  --gr-bg2:#02081c;
  --gr-accent:#09afff;
  --gr-text:#e6f0ff;
  --gr-text-dim:#a8b6c9;
  --gr-border:rgba(255,255,255,0.12);
  --gr-shadow:0 0 26px rgba(9,175,255,0.25);
  
  /* Landing Page variables (for footer compatibility) */
  --lp-bg0:#040813;
  --lp-bg1:#071021;
  --lp-text:#e9f0ff;
  --lp-muted:rgba(233,240,255,.72);
  --lp-muted2:rgba(233,240,255,.55);
  --lp-accent:#09afff;
  --lp-accent2:#6fe1ff;
  --lp-radius: 18px;
  --lp-radius2: 26px;
  --lp-max: 1120px;
}

html,body {
  margin:0;
  padding:0;
  font-family:'Montserrat',sans-serif;
  color:var(--gr-text);
  background:linear-gradient(180deg,var(--gr-bg1),var(--gr-bg2));
  scroll-behavior:smooth;
}

/* Layout wrappers */
.wrap {max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.center {text-align:center;}
.flex-between {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;}

/* Landing page wrappers (for footer compatibility) */
.lp-wrap {max-width:var(--lp-max);margin:0 auto;padding:0 22px;}
.lp-footer {
  border-top:1px solid rgba(120,170,255,.10);
  color:var(--lp-muted2);
  padding:26px 0 38px;
  font-size:13px;
  background:rgba(1,7,19,0.5);
}
.lp-logo {
  width:34px;
  height:34px;
  border-radius:12px;
  background:
    radial-gradient(circle at 35% 30%, rgba(111,225,255,.95), rgba(9,175,255,.35) 55%, transparent 70%),
    radial-gradient(circle at 65% 70%, rgba(9,175,255,.70), transparent 65%),
    linear-gradient(180deg, rgba(9,175,255,.20), rgba(0,0,0,0));
  border:1px solid rgba(9,175,255,.35);
  box-shadow: 0 0 26px rgba(9,175,255,.26);
  flex:0 0 auto;
  display:inline-block;
}

/* Logo og navigasjon */
.gr-topnav {
  background:rgba(1,5,15,0.85);
  border-bottom:1px solid var(--gr-border);
  padding:.8rem 0;
  box-shadow:var(--gr-shadow);
  position:sticky;top:0;z-index:100;
}
.gr-logo {width:clamp(180px,20vw,300px);height:auto;filter:drop-shadow(0 0 20px rgba(9,175,255,.65));}
.gr-menu {list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;}
.gr-menu a {text-decoration:none;color:var(--gr-text-dim);font-weight:500;}
.gr-menu a:hover,.gr-menu a.active {color:var(--gr-accent);}

/* Hero */
.gr-hero {padding:6rem 0 3rem;text-align:center;}
.gr-hero h1 {font-size:3.5rem;margin:0 0 .8rem;text-shadow:0 0 20px rgba(9,175,255,.6);}
.gr-hero .lead {font-size:1.25rem;max-width:720px;margin:0 auto 2rem;color:var(--gr-text-dim);}
.gr-hero-buttons {display:flex;justify-content:center;gap:1.2rem;margin-bottom:2rem;}

/* Buttons */
.btn {
  display:inline-block;
  padding:.8rem 1.6rem;
  border-radius:8px;
  font-weight:600;
  text-decoration:none;
  transition:all .3s;
  min-width:180px;
}
.btn-primary {
  background:var(--gr-accent);
  color:#001133;
  box-shadow:0 0 12px rgba(9,175,255,.5);
}
.btn-primary:hover {box-shadow:0 0 24px rgba(9,175,255,.8);}
.btn-secondary {
  background:none;
  border:1px solid var(--gr-accent);
  color:var(--gr-accent);
}
.btn-secondary:hover {background:rgba(9,175,255,.1);}

/* Blue Ocean */
.gr-section {padding:4rem 0;text-align:center;}
.gr-section h2 {font-size:2.4rem;margin-bottom:1rem;}
.gr-section .muted {max-width:800px;margin:0 auto 2rem;color:var(--gr-text-dim);}
.blue-ocean-img {max-width:820px;width:90%;height:auto;box-shadow:var(--gr-shadow);border-radius:12px;}
.blue-ocean figcaption {margin-top:1rem;font-size:.9rem;color:var(--gr-text-dim);}

/* CTA */
.gr-cta {padding:3.5rem 1rem;background:rgba(9,175,255,.08);margin-top:3rem;}
.gr-cta h3 {font-size:1.6rem;margin-bottom:1.2rem;}

/* Footer */
.gr-footer {
  text-align:center;
  padding:2rem 1rem;
  font-size:.9rem;
  color:var(--gr-text-dim);
}
.gr-footer p {margin:0;
}
/* 🔹 Standard hover-effekt for alle knapper */
.btn:hover,
.btn-primary:hover,
.btn-secondary:hover {
  box-shadow: 0 0 22px rgba(9,175,255,0.75),
              0 0 45px rgba(9,175,255,0.35);
  transform: translateY(-2px);
  transition: all 0.25s ease-in-out;
}

/* 🔹 Spesifikk styling for sekundærknapper */
.btn-secondary {
  background:none;
  border:1px solid var(--gr-accent);
  color:var(--gr-accent);
}

.btn-secondary:hover {
  background:rgba(9,175,255,0.08);
  color:#e6f0ff;
}

/* 🔹 Primærknapp med sterkere glow */
.btn-primary:hover {
  box-shadow: 0 0 28px rgba(9,175,255,0.9),
              0 0 60px rgba(9,175,255,0.45);
}

.gr-card-status {
  position: relative;
  overflow: hidden;
}

.gr-card-image {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* --- STATUSMERKER PÅ KORTENE --- */
.gr-status {
  position: absolute;
  bottom: 12px;
  left: 16px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  padding: 4px 12px;
  border-radius: 6px;
  backdrop-filter: blur(6px);
  letter-spacing: 0.6px;
  z-index: 5;
  box-shadow: 0 0 10px rgba(9,175,255,0.8);
  background: rgba(9,175,255,0.3);
  border: 1px solid rgba(9,175,255,0.6);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gr-status:hover {
  transform: scale(1.05);
  box-shadow: 0 0 14px rgba(9,175,255,1);
}

form {
  max-width: 900px;
  margin: 0 auto;
  background: rgba(255,255,255,0.02);
  border-radius: 20px;
  padding: 3rem;
  box-shadow: 0 0 25px rgba(9,175,255,.1);
}

form h2 {
  text-align: center;
  color: var(--gr-accent);
  margin-bottom: 2rem;
}

input, select, textarea {
  width: 100%;
  background: rgba(255,255,255,0.05);
  color: #fff;
  border: 1px solid rgba(9,175,255,.3);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  margin-top: .5rem;
  margin-bottom: 1rem;
}

.btn-primary {
  background: linear-gradient(180deg, rgba(9,175,255,.9), rgba(9,175,255,.6));
  border: none;
  color: #fff;
  padding: 1rem 2.5rem;
  border-radius: 12px;
  box-shadow: 0 0 18px rgba(9,175,255,.7);
  font-weight: 600;
  transition: 0.3s;
}
.btn-primary:hover {
  transform: scale(1.05);
  box-shadow: 0 0 28px rgba(9,175,255,.9);
}

/* ============================================
   GoRabbit Global Form Standard
   (radio buttons – inline layout, responsive)
   ============================================ */

.form-section .radio-inline,
.radio-inline {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1.8rem;
  align-items: center;
  justify-content: flex-start;
  margin-top: .5rem;
  margin-bottom: 1rem;
}

.form-section .radio-inline label,
.radio-inline label {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: 1rem;
  color: #e0e6f2;
  cursor: pointer;
}

.form-section .radio-inline input[type="radio"],
.radio-inline input[type="radio"] {
  accent-color: #09afff;
  transform: scale(1.15);
  cursor: pointer;
}

/* --- Optional: legg til denne for hover-effekt --- */
.radio-inline label:hover {
  color: #09afff;
  text-shadow: 0 0 6px rgba(9,175,255,.5);
}

/* PLAN SECTION */
.plan-section .plan-wrapper {
  max-width: 1200px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  margin-top: 3rem;
}

.plan-card {
  background: rgba(255,255,255,.03);
  border-radius: 20px;
  padding: 2rem;
  box-shadow: 0 0 25px rgba(9,175,255,.15);
  text-align: center;
  width: 320px;
  transition: all 0.3s ease;
}

.plan-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 35px rgba(9,175,255,.25);
}

.plan-card h3 {
  color: #09afff;
  margin-top: 1rem;
}

.plan-card ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.plan-card li {
  margin: .4rem 0;
  color: #d7e0f2;
  font-size: 0.95rem;
}

.plan-card .price {
  font-weight: 600;
  margin-top: 1rem;
  color: #fff;
}

.plan-card .quote {
  font-style: italic;
  color: rgba(255,255,255,.6);
  font-size: 0.9rem;
}

/* Optional: select dropdown styling */
.plan-select {
  max-width: 680px;
  margin: 3rem auto;
}

/* --- DROPDOWN MENU --- */
.gr-topnav .dropdown {
  position: relative;
}

.gr-topnav .dropdown > a {
  cursor: pointer;
}

.gr-topnav .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(0, 10, 30, 0.95);
  border-radius: 8px;
  padding: 0.8rem 1rem;
  box-shadow: 0 0 15px rgba(9,175,255,0.25);
  list-style: none;
  min-width: 180px;
}

.gr-topnav .submenu li {
  margin: 0.5rem 0;
}

.gr-topnav .submenu a {
  color: #09afff;
  text-decoration: none;
  font-weight: 500;
}

.gr-topnav .submenu a:hover {
  color: #fff;
}

/* Show submenu on hover */
.gr-topnav .dropdown:hover .submenu {
  display: block;
}

/* --- DROPDOWN FIX --- */
.gr-topnav .dropdown {
  position: relative;
}

.gr-topnav .dropdown > a {
  cursor: pointer;
}

.gr-topnav .submenu {
  display: none !important; /* Tving skjul */
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(0, 15, 40, 0.98);
  border-radius: 10px;
  padding: 0.8rem 1rem;
  list-style: none;
  box-shadow: 0 0 20px rgba(9,175,255,0.25);
  min-width: 180px;
  opacity: 0;
  transition: opacity 0.25s ease-in-out;
  z-index: 100;
}

.gr-topnav .submenu li {
  margin: 0.4rem 0;
}

.gr-topnav .submenu a {
  color: #09afff;
  text-decoration: none;
  font-weight: 500;
}

.gr-topnav .submenu a:hover {
  color: #fff;
}

/* Vis meny på hover */
.gr-topnav .dropdown:hover .submenu {
  display: block !important;
  opacity: 1;
}

/* Liten glow på hovedpunkt ved hover */
.gr-topnav .dropdown:hover > a {
  color: #09afff;
  text-shadow: 0 0 8px rgba(9,175,255,0.8);
}
/* =========================
   GLOBAL MOBILE FIXES
   ========================= */
@media (max-width: 768px) {

  html, body {
    overflow-x: hidden;
  }

  body {
    font-size: 16px;
  }

  img, svg, video {
    max-width: 100%;
    height: auto;
  }

  /* Containers */
  .wrap,
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Grids → alltid 1 kolonne på mobil */
  .grid {
    grid-template-columns: 1fr !important;
  }

  /* Cards */
  .card {
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Typography */
  h1 {
    font-size: 28px !important;
    line-height: 1.2;
  }

  h2 {
    font-size: 22px !important;
    line-height: 1.25;
  }

  h3 {
    font-size: 18px !important;
  }

  p {
    font-size: 16px;
    line-height: 1.5;
  }
}
@media (max-width: 768px) {
  .cols-3,
  .cols-2 {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 768px) {
  section {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
}
@media (max-width: 768px) {
  .hero {
    min-height: auto !important;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

* {
  box-sizing: border-box;
  max-width: 100vw;
}
@media (max-width: 768px) {

  /* Radio + checkbox rows */
  .form-group label,
  .form-row label {
    display: grid !important;
    grid-template-columns: 28px 1fr !important;
    align-items: center !important;
    column-gap: 12px;
  }

  /* Native inputs */
  input[type="radio"],
  input[type="checkbox"] {
    margin: 0 !important;
    transform: scale(1.1); /* valgfritt */
  }
}
/* ===================================================
   FIX: checkbox-group på iOS / mobile
   Overstyr global grid/flex-kræsj
   =================================================== */
@media (max-width: 900px) {

  /* Tving én kolonne */
  .checkbox-group {
    display: block !important;
  }

  .checkbox-group label {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 0.6rem;
    width: 100%;
  }

  /* Stabiliser native inputs på iOS */
  .checkbox-group input[type="checkbox"],
  .checkbox-group input[type="radio"] {
    flex: 0 0 auto;
    margin: 0;
    transform: none; /* viktig på iOS */
  }
		
		/* NIVÅ 3 – vis submenu når Governance hoveres */
		.gr-topnav .submenu li:hover > .submenu {
		  display: block;
		}
/* =========================
   GLOBAL FOOTER (.ft)
   ========================= */

.ft {
  background:
    radial-gradient(900px 420px at 30% 10%, rgba(9,175,255,.10), transparent 60%),
    linear-gradient(180deg, #040813, #071021);
  padding: 4rem 0 3.5rem;
  color: #e9f0ff;
}

.ft-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

.ft-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 3rem;
}

/* Brand */
.ft-brand-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 1rem;
}

.ft-logo {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background:
    radial-gradient(circle at 35% 30%, rgba(111,225,255,.95), rgba(9,175,255,.35) 55%, transparent 70%),
    linear-gradient(180deg, rgba(9,175,255,.20), transparent);
  border: 1px solid rgba(9,175,255,.35);
  box-shadow: 0 0 26px rgba(9,175,255,.25);
}

.ft-description {
  max-width: 42ch;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(233,240,255,.75);
  margin-bottom: 1rem;
}

.ft-meta {
  font-size: 12px;
  line-height: 1.45;
  color: rgba(233,240,255,.55);
}

/* Columns */
.ft-title {
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .3px;
}

.ft-nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ft-nav a {
  font-size: 13px;
  color: rgba(233,240,255,.55);
  text-decoration: none;
  transition: color .2s ease;
}

.ft-nav a:hover {
  color: #e9f0ff;
}

/* Responsive */
@media (max-width: 980px) {
  .ft-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
}

@media (max-width: 640px) {
  .ft-grid {
    grid-template-columns: 1fr;
  }

  .ft-brand {
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(120,170,255,.12);
  }
}
}