/* Styles for The Alignment Puzzle demo */

/* Notatie	Betekenis	Voorbeeld in HTML	Wanneer gebruiken
/* .naam	class-selector	
/* #naam	id-selector	
/* naam (zonder punt of #)	tag-selector = het soort HTML-element, zoals img, div, h1, button
*/

:root{
  --header-bg: #e3dbca ; 
  --ink: #1e1b18;
  --ink-soft: #4b453f;
  --surface: #fff;
  --accent: #8e735b;
}

*{ box-sizing: border-box; }

html, body{
  margin: 0;
  padding: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--ink);
  background: var(--surface);
}

/* Header */
.site-header{
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 10px 18px;
  background: var(--header-bg);
  border-bottom: 1px solid #da9e45;
  position: sticky;
  top: 0;
  z-index: 10;
}

.header-left .logo{
  height: auto;
  width: 400px;
  display: block;
}

.header-right .userinfo{
  height: 48px;
  width: auto;
  object-fit: cover;
  border-radius: 0; /* geen rondingen */
  display: block;
}

/* Menu */
.menu{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 12px;
  justify-content: center;
}

.menu-button{
  background: transparent;
  border: none;
  padding: 10px 14px;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  border-radius: 10px;
}

.menu-button:hover,
.menu-item.open > .menu-button,
.menu-button:focus{
  outline: none;
  background: rgba(0,0,0,.06);
}

/* Submenus */
.submenu{
  list-style: none;
  margin: 0;
  padding: 8px;
  position: absolute;
  background: #fff;
  border: 1px solid #d8d2c8;
  border-radius: 12px;
  min-width: 220px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  transform: translateY(6px);
  visibility: hidden;
  opacity: 0;
  transition: opacity .15s ease, visibility .15s ease;
}

.menu-item{
  position: relative;
}

.menu-item.open > .submenu{
  visibility: visible;
  opacity: 1;
}

.submenu li a{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  text-decoration: none;
  color: var(--ink);
  border-radius: 8px;
}

.submenu li a:hover{
  background: #f3efe9;
}

.submenu li a span{
  width: 1.25rem;
  text-align: center;
  font-size: 1.1rem;
}

/* Main content */
#TheMainArea{
  padding: 10px;
}

#TheMainArea{
  display: block;
  max-width: min(80%, 1100px);
  height: auto;
  margin-left: 0; /* links uitgelijnd */
  border-radius: 1px;
  box-shadow: 0 8px 28px rgba(0,0,0,.06);
  background-color: var(--header-bg);
  padding: 3px;  
}

/* ── Puzzel (zwevend rechts) ───────────────────────────────────────────── */



#PuzzleDock {
  
  position: fixed;        /* “rechts op 5% van de rechterkant” */
  right: 1%;
  top: 0;                 /* echte top-positie wordt door JS gezet */
  z-index: 1000;
  pointer-events: auto;   /* click doorgeven */
  padding-top: 0 !important; /* jouw parent had 3px */
}

#PuzzleDock .puzzle-wrapper {
  position: absolute;
  right: 0;           /* past bij transform-origin: top right */
  top: 0;
  margin: 0;
  pointer-events: auto;
  /* géén transform/JS-strings in CSS */
}


/* optioneel: cursor als handje over puzzelstukken */
#PuzzleDock .puzzle-button { cursor: pointer; }

/* 1) 10px marge aan de linkerkant voor alles onder de header */
.site-header + * { margin-left: 50px; }
.site-header + * ~ * { margin-left: 35px; }

/* 2) Achtergrond van PuzzleDock gelijk aan de headerkleur */
#PuzzleDock {
  background: var(--header-bg);
  border-radius: 2px;     /* optioneel, sluit mooi aan bij de stijl */
  padding: 3px;            /* optioneel, geeft wat lucht binnenin */
  /* de bestaande position/right/top/z-index/pointer-events blijven gewoon werken */
}

#PuzzleDock.menu { z-index: 1000; pointer-events: auto; }


/* Responsive */
@media (max-width: 900px){
  .header-right .userinfo{ display: none; } /* verberg op klein scherm */
}
