/* ===========================
   NORRAV THEME (Kundeportal)
   =========================== */

/* Definerer fargevariabler for konsistens */
:root {
  --primary-blue: #39628D;                 /* Aksent */
  --nav-link-hover: #5A8DBE;

  --dark-bg-overlay: rgba(0, 0, 0, 0.70);

  --main-silver-grey-bg: #DCDCDC;
  --silver-gradient-start: #F8F8F8;
  --silver-gradient-middle: #E0E0E0;
  --silver-gradient-end: #C0C0C0;
  --silver-border-color: #A0A0A0;

  --text-light: #f0f0f0;
  --dark-text-on-light: #333333;
  --medium-dark-text-on-light: #555555;

  --radius: 10px;
}

/* Reset */
* { margin: 0; padding: 0; box-sizing: border-box; }

/* Base */
body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: var(--text-light);
  line-height: 1.6;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  overflow-x: hidden;

  /* IKKE legg bakgrunnsbildet på body (da går det bak footer).
     Vi legger bakgrunn på .hero i stedet. */
  background: #111; /* fallback */
}

/* Bakgrunnsseksjonen mellom navbar og footer */
.hero {
  flex: 1;
  background-image:
    linear-gradient(var(--dark-bg-overlay), var(--dark-bg-overlay)),
    url('/static/datacenter_bg.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* Responsiv regel for alle bilder */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Containers */
.header-container, .footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===========================
   NAVBAR
   =========================== */
.navbar {
  background-color: var(--main-silver-grey-bg);
  padding: 15px 0;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.navbar .header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.navbar .logo img {
  height: 40px;
  vertical-align: middle;
}

/* Midt-meny */
.nav-menu {
  margin-left: auto;
  margin-right: auto;
}
.nav-menu ul {
  list-style: none;
  display: flex;
}
.nav-menu ul li { margin-left: 30px; }

/* Lenker */
.nav-link-common {
  color: var(--dark-text-on-light);
  text-decoration: none;
  font-weight: 600;
  font-size: 1.1em;
  padding: 5px 0;
  position: relative;
  transition: color 0.3s ease;
  white-space: nowrap;
}

.nav-link-common::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: var(--primary-blue);
  transition: width 0.3s ease;
}

.nav-link-common:hover { color: var(--nav-link-hover); }
.nav-link-common:hover::after { width: 100%; }

/* "Kundeportal" lenke ser litt mer ut som knapp */
.login-button.nav-link-common {
  padding: 8px 14px;
  border: 1px solid var(--silver-border-color);
  border-radius: 999px;
  background: linear-gradient(to bottom, #ffffff, #efefef);
}
.login-button.nav-link-common:hover {
  text-decoration: none;
  background: linear-gradient(to bottom, #ffffff, #e8e8e8);
}

/* ===========================
   USER DROPDOWN (top høyre)
   =========================== */
.user-menu {
  position: relative;
  display: inline-block;
}

.user-button {
  background: transparent;
  border: none;
  cursor: pointer;
  font: inherit;
  padding: 0;
}

.user-button .caret {
  margin-left: 6px;
  font-size: 0.95em;
  opacity: 0.8;
}

.user-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  min-width: 220px;
  z-index: 2000;

  background: linear-gradient(to bottom, var(--silver-gradient-start), var(--silver-gradient-middle), var(--silver-gradient-end));
  border: 1px solid var(--silver-border-color);
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  overflow: hidden;
}

.user-dd-link {
  display: block;
  padding: 10px 12px;
  color: var(--dark-text-on-light);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.98em;
}

.user-dd-link:hover {
  background: rgba(57, 98, 141, 0.10);
  text-decoration: none;
}

.user-dd-link.danger { color: #7a1c1c; }
.user-dd-sep { height: 1px; background: rgba(0,0,0,0.10); }

/* ===========================
   MAIN CONTENT AREA
   =========================== */
.content-area {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

/* ===========================
   CARDS / BOXES
   =========================== */
.card {
  text-align: left;
  padding: 28px;
  max-width: 900px;
  width: 92%;

  background: linear-gradient(to bottom, var(--silver-gradient-start), var(--silver-gradient-middle), var(--silver-gradient-end));
  border: 1px solid var(--silver-border-color);
  border-radius: 12px;

  box-shadow:
    0 15px 40px rgba(0,0,0,0.55),
    0 0 0 8px rgba(255,255,255,0.10) inset;

  color: var(--dark-text-on-light);
}

.card.wide { max-width: 1100px; }

/* Typografi */
h1 {
  margin: 0 0 10px 0;
  font-size: 1.7em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  color: var(--primary-blue);
}

/* Tekst */
p { color: var(--medium-dark-text-on-light); }

/* Skjema */
label {
  display: block;
  margin-top: 12px;
  font-weight: 600;
  color: var(--dark-text-on-light);
  opacity: 0.95;
}

input, select, textarea {
  width: 100%;
  padding: 12px;
  margin-top: 6px;

  border-radius: 10px;
  border: 1px solid var(--silver-border-color);
  background: rgba(255,255,255,0.65);
  color: var(--dark-text-on-light);

  outline: none;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 3px rgba(57, 98, 141, 0.18);
}

/* Buttons */
button {
  margin-top: 16px;
  width: 100%;
  padding: 12px;

  border-radius: 10px;
  border: 1px solid var(--primary-blue);
  background: var(--primary-blue);
  color: white;
  font-weight: 700;
  cursor: pointer;
}

button:hover { opacity: 0.95; }

/* Alerts */
.error {
  background: rgba(122, 28, 28, 0.12);
  border: 1px solid rgba(122, 28, 28, 0.35);
  padding: 12px;
  border-radius: 10px;
  margin-top: 12px;
  color: #5b1212;
}

.ok {
  background: rgba(18, 86, 35, 0.12);
  border: 1px solid rgba(18, 86, 35, 0.35);
  padding: 12px;
  border-radius: 10px;
  margin-top: 12px;
  color: #12361b;
}

.hint { margin-top: 14px; color: var(--medium-dark-text-on-light); font-size: 13px; }

/* Lister (soner) */
ul { margin-top: 12px; padding-left: 18px; }
li { color: var(--dark-text-on-light); margin: 6px 0; }

/* ===========================
   "Parked box"
   =========================== */
.parked-info-box {
  text-align: center;
  padding: 40px;
  max-width: 650px;
  width: 90%;
  background: linear-gradient(to bottom, var(--silver-gradient-start), var(--silver-gradient-middle), var(--silver-gradient-end));
  border: 1px solid var(--silver-border-color);
  border-radius: 10px;
  box-shadow: 0 15px 40px rgba(0,0,0,0.75),
              0 0 0 8px rgba(255,255,255,0.1) inset;
  color: var(--dark-text-on-light);
}

.parked-info-box .logo-container { margin-bottom: 30px; }
.parked-info-box .logo-in-box { max-width: 160px; margin: 0 auto; }

.service-slogan {
  font-size: 1.1em;
  color: var(--medium-dark-text-on-light);
  line-height: 1.6;
  margin-top: 15px;
  padding: 0 20px;
}

/* ===========================
   FOOTER (V-form)
   =========================== */
footer {
  background-color: var(--main-silver-grey-bg);
  color: var(--medium-dark-text-on-light);
  text-align: center;
  padding: 60px 0;
  position: relative;
  overflow: hidden;

  clip-path: polygon(0 0, 50% 40px, 100% 0, 100% 100%, 0 100%);
  box-shadow: 0 -8px 20px rgba(0,0,0,0.3);
}

footer .footer-container { position: relative; z-index: 1; }
footer p { font-size: 0.95em; }

.footer-link { color: var(--primary-blue); font-weight: 600; text-decoration: none; }
.footer-link:hover { text-decoration: underline; }

/* ===========================
   MOBILE
   =========================== */
@media (max-width: 768px) {
  .navbar .header-container {
    flex-wrap: wrap;
    justify-content: center;
  }

  .navbar .logo,
  .nav-menu,
  .login-area {
    width: 100%;
    text-align: center;
  }

  .navbar .logo { margin-bottom: 10px; }
  .nav-menu { order: 3; margin: 10px 0; }
  .login-area { margin-top: 10px; }

  .nav-menu ul {
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 10px;
  }

  .nav-menu ul li {
    margin: 5px 10px;
    flex-basis: auto;
  }

  .nav-link-common {
    white-space: normal;
    padding: 6px 10px;
  }

  .nav-link-common::after { display: none; }

  .card { width: 96%; padding: 22px; }
}
