:root {
	/* Salling Group colors. All colors can be used in 100, 75, 50 and 25%*/
	--dark-blue: #004A62; /*standard */
	--light-blue: #98CBCC;  /* Light petroleum */
    --white: #ffffff;
	/* Tertiery Colors */
	--darker-blue: #133F4F; /* Deep Navy */
	--middle-blue: #93a9b3;
    --light-gray: #CFCCD5;
	--dark-gray: #56676B;
	--green: #98CB97;
	--brown: #BB8A44;
	--creme: #FFE4AF;
	--light-red: #E09B93;
	--red: #D46360;
	--dark-red: #752348;
	--plum: #3D2844;
  --black: #000000;
}

body {
    margin: 0;
    font-family: 'League Spartan', futura, Helvetica, Arial, sans-serif;
    background-color: var(--white);
    text-align: center;
    font-weight: 400;
}

/* Specific bold elements */
h1, h2, h3, strong, b {
  font-weight: 700;
}
.container {
    max-width: 800px; /* Narrower for better mobile readability */
    margin: 0 auto;
    padding: 20px;
}

/* Target both unvisited and visited states */
a, a:visited {
  color: var(--black);
  /*font-weight: bold;*/
  text-decoration: underline; /* Optional: removes default underline */
}

/* Optional: Add a hover state so users know it's clickable */
a:hover {
  color: var(--black);
  /*font-weight: bold;*/
  text-decoration: underline;
}

.top-container {
  display: flex;
  flex-wrap: wrap; /* Allows the image to move down when there's no room */
  align-items: center;
  justify-content: space-between;
  background-color: var(--dark-blue);
  padding: 40px;
  gap: 20px;
  max-width: 800px; /* Narrower for better mobile readability */
  margin: 0 auto;
  padding: 20px;  
  /* This changes the text color ONLY for this div and its children */
  color: var(--white); 
}

.top-text-content {
  /* 75% width, but can shrink if the screen gets tight */
  flex: 3 1 70%; 
  min-width: 300px; /* Prevents text from becoming a tiny sliver */
}

.top-image-content {
  /* 25% width, but can grow to fill space if it stacks */
  flex: 1 1 20%;
  min-width: 200px; 
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  .top-image-content {
    /* Completely removes the image div from the layout on small screens */
    display: none;
  }

  .top-text-content {
    /* Allows the text to take up the full width now that the image is gone */
    flex: 1 1 100%;
  }
}

.top-image-content img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul {

  text-align: left;      /* Aligns the text and bullets to the left inside that box */
  padding-left: 20px;
  list-style-position: inside;
  /* Reset default browser spacing */
  /*padding-left: 20px;    /* Provides room for the bullets */
  /*margin: 0 auto;*/
}
/*******************************
  details {
    border: 1px solid #aaa;
    border-radius: 4px;
    padding: 0.5em 0.5em 0;
    margin-bottom: 10px;
    text-align: left;
    align-items: center;

  }

  summary {
    font-weight: bold;
    margin: -0.5em -0.5em 0;
    padding: 0.5em;
    cursor: pointer;
    text-align: left;
    background-color: var(--light-gray);;
  }

  details[open] {
    padding: 0.5em;
  }

  details[open] summary {
    border-bottom: 1px solid #aaa;
    margin-bottom: 0.5em;
    
  }

  .sharp-image {
    max-width: 100%;
  }
*/
  .qr-secure {
    width: 50%;
    /* Use 'max-inline-size' or 'max-width' with pixels to prevent blur */
    max-width: 70%; 
    
    /* The magic for QR codes/Pixel Art */
    image-rendering: -moz-crisp-edges;         /* Firefox */
    image-rendering: -o-crisp-edges;           /* Opera */
    image-rendering: -webkit-optimize-contrast;/* Safari */
    image-rendering: crisp-edges;              /* Modern Browsers */
    image-rendering: pixelated;                /* Chrome/Edge */
    
    display: block;
    margin: 0 auto; /* Optional: Centers the image */
  }
figure {
    text-align: center; /* Centers the image and the caption */
    margin: 20px 0;
    padding: 10px;
    border: 1px solid #ddd;
    /*display: inline-block; /* Makes the figure only as wide as the image */
  }

  figcaption {
    font-size: 0.9em;
    font-style: italic;
    color: #555;
    margin-top: 8px; /* Adds space between image and text */
  }  
/** Accordian *>  
/* Remove default UA marker */
summary::-webkit-details-marker,
summary::marker {
  display: none;
}

details {
  padding: 0;
  margin: 0;
  margin-bottom: 6px;
  border: 0;
  background: transparent;
}


summary {
  display: block;
  background: var(--light-gray);;
  background-color: var(--light-gray);;
  border: 1px solid #ccc;
  border-radius: 0;
  padding: 10px 36px 10px 12px;
  cursor: pointer;
  position: relative;
  user-select: none;
  margin-bottom: 6px;
}

.container {
    max-width: 800px; /* Narrower for better mobile readability */
    margin: 0 auto;
    padding: 20px;
}

/* Flag Switcher Style 
.language-bar {
    padding: 15px;
    background: var(--light-blue);
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
*/
.language-bar {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Pushes logo left, flags right */
    flex-wrap: wrap;               /* Allows wrapping on small screens */
    padding: 10px 20px;
    gap: 15px;                     /* Gap between logo and flags */
    background: var(--light-blue);
}

.nav-logo {
    height: 40px;                  /* Adjust height to fit your bar */
    width: auto;
}

.flags-container {
    display: flex;
    gap: 10px;
    flex-wrap: nowrap;             /* Keeps flags together */
}
/* Responsive adjustment */
@media (max-width: 600px) {
    .language-bar {
        justify-content: center;   /* Centers items when they stack */
    }
    
    .logo-container {
        flex-basis: 100%;          /* Forces logo to take full width */
        text-align: center;        /* Centers logo on its own line */
    }
}

.lang-btn {
    background: white;
    border: 1px solid #ddd;
    padding: 8px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

.lang-btn:hover { background: #eee; }

/* Content Styling */
.logo { max-width: 150px; margin: 40px 0; }

h1 { font-size: 1.8rem; margin-bottom: 15px; padding: 0 10px; }

.sub-description { color: #555; margin-bottom: 40px; }

.flow-step {
	margin-bottom: 60px; /* Significant gap between different "steps" in the flow */
    padding: 0 10px;
	
}

.step-text {
	font-size: 1.1rem;
    margin-bottom: 20px; /* Space between text and button (or next section) */
    line-height: 1.6;
    color: #333;
}

/* Big Dark Blue Button */
.big-btn {
    display: block;
    width: 90%;
    background-color: var(--dark-blue);
    color: white;
    padding: 20px;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.2rem;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.big-btn:visited {
  color: white;
  /*font-weight: bold;*/
  text-decoration: underline; /* Optional: removes default underline */
}

.big-btn:active { transform: translateY(2px); }

/* Clean, crisp right‑aligned SVG chevron */
summary::after {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: center / 12px 12px no-repeat
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='8 4 16 12 8 20'/></svg>");
  transition: transform 0.2s;
}

/* Rotate on open */
details[open] > summary::after {
  transform: translateY(-50%) rotate(90deg);
}

/* Fix header rounding when open */
details[open] > summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* Content area with NO box */
details > *:not(summary) {
  margin: 0;
  padding: 12px;
  border: 0;
  /*background: var(--light-gray);*/
}