/****************************************
Navbar & Offcanvas Background (all sizes)
****************************************/
main{
    margin: 50px;
}

#sideMenu {
  position: fixed;
  top: 0;
  left: -70%;
  width: 70%;
  height: 100%;
  background-color: var(--beige, #E0C6AC);
  z-index: 1050;
  transition: left 0.3s ease-in-out;
  overflow-y: auto;
  box-shadow: 2px 0 5px rgba(0,0,0,0.5);
}

nav.navbar,
.offcanvas {
  background-color: var(--beige) !important;
}

/*Make all nav links white by default (removes the blue)*/
.navbar-nav .nav-link,
.offcanvas .nav-link {
  color: var(--white) !important;
  transition: font-size 0.15s ease, font-weight 0.15s ease;
}

/*On “click” (and keyboard focus) bump size + weight*/
.navbar-nav .nav-link,
.offcanvas .nav-link {
  color: var(--white) !important;
  transition: font-size 0.15s ease, font-weight 0.15s ease;
}


/*Center logo on mobile, desktop*/

.navbar-brand {
  position: relative;
}
.navbar-brand {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin: 0; /* override any auto-margins */
}

/*Offcanvas toggle & panel: mobile only*/

@media (min-width: 992px) {
 
  .btn[data-bs-toggle="offcanvas"] {
    display: none !important;
  }
  
  .offcanvas {
    display: none !important;
  }
}

/*Desktop nav-links inline, white/brown colors*/

@media (min-width: 992px) {
  
  .navbar-nav.d-lg-flex .nav-link {
    color: var(--white) !important;
    padding: 0.5rem 0.75rem;
  }
  .navbar-nav.d-lg-flex .nav-link:hover {
    color: var(--brown) !important;
  }
}

/*************************************
  BRUGERHJEM.HTML CSS
*************************************/
.container.text-center.my-5 h1 {
  margin-top: 50px;
  margin-bottom: 75px;
}
/* Hurtiglink container*/
.container-hurtiglink {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin-top: 2rem;
}

/* 2) Base “card” styles—always visible */
.card-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  /* size & shape */
  min-height: 200px;            /* adjust as needed */
  padding: 1rem;
  border-radius: 0.75rem;
  overflow: hidden;

  /* background image + fallback color */
  background-color: var(--brown);
  background-size: cover;
  background-position: center;

  /* text on top */
  color: #fff;
  text-decoration: none;

  /* prepare hover transition */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* 3) Dark overlay (always on) */
.card-link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 1;
}

/* ensure your headings/paras float above the overlay */
.card-link > * {
  position: relative;
  z-index: 2;
}

/* 4) Hover effect—only lift & shadow */
.card-link:hover,
.card-link:focus {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
  color: var(--beige);
}

/* 5) Per-card background images */
.container-opskrifter {
  background-image: url('/path/to/your-opskrifter-bg.jpg');
}
.container-opgaver {
  background-image: url('/path/to/your-opgaver-bg.jpg');
}

/* 6) Text sizing */
.card-link h2 {
  margin: 0;
  font-size: 1.75rem;
}
.card-link p {
  margin: 0.5rem 0 0;
  font-size: 1rem;
}

/* posts kort*/
/* ── 1) Flex-header for name + HH:MM ────────────────────────────────── */
.card-title.d-flex {
  font-family: var(--font-body);
}

/* ── 2) Media grid & thumbnails ───────────────────────────────────── */
.post-media-grid {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}
.media-thumb {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.media-thumb:hover {
  transform: scale(1.03);
}

/* ── 3) Comments toggle styling in orange ────────────────────────── */
.btn-link {
  color: var(--orange) !important;
}
.btn-link:hover,
.btn-link:focus {
  color: var(--brown) !important;
}



/************************************
SORTIMENT.HTML CSS
*************************************/
/*produkter.html*/

/*produktinformation.html*/
.specs{
    font-family: var(--font-subheader);
    font-size: 24px;
}
.pris{
    color: var(--beige);
    font-size: 24px;
}
/************************************
BARTENDERGUIDE.HTML CSS
*************************************/

/********************************************
  RESURSER.HTML CSS
********************************************/
/*Bøger Carousel*/
.item img {
  margin-top: 15px;
  margin-bottom: 15px;
  width: 300px;
  height: auto;
}

.title {
  margin-bottom: 2px;
  color: var(--beige);
}

.author {
  font-style: italic;
  margin-top: 2px;
}

#carousel {
  --items: 5;
  --middle: 3;
  --position: 3;
  width: 100vw;
  height: 700px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  perspective: 600px;
  transform-style: preserve-3d;
}

.item {
  position: absolute;
  width: 400px;
  height: 650px;
  background: white;
  border: 3px solid black;
  border-radius: 20px;
  padding: 20px;
  text-align: center;
  transition: all 0.25s ease;
  --r: calc(var(--position) - var(--offset));
  --abs: max(calc(var(--r) * -1), var(--r));
  transform: 
    rotateY(calc(-10deg * var(--r)))
    translateX(calc(-400px * var(--r)));
  z-index: calc(var(--items) - var(--abs));
}

/* Assign offsets */
.item:nth-of-type(1) { --offset: 1; }
.item:nth-of-type(2) { --offset: 2; }
.item:nth-of-type(3) { --offset: 3; }
.item:nth-of-type(4) { --offset: 4; }
.item:nth-of-type(5) { --offset: 5; }

/* Carousel wrapper & arrows */
.carousel-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* CSS-drawn chevron arrows */
.arrow {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 10;
  font-size: 4rem;       /* arrow size */
  line-height: 1;
  color: var(--orange);
}

/* Positioning left/right */
.arrow.left {
  left: 20px;
  right: auto;
}
.arrow.right {
  right: 20px;
  left: auto;
}

/* Draw the arrow glyph */
.arrow::before {
  display: block;
  text-align: center;
  content: '‹';         /* default is left */
  color: inherit;
}
.arrow.right::before {
  content: '›';         /* right arrow */
}

/*MOBILE OVERRIDE (≤ 992px)*/
@media (max-width: 991.98px) {
  /* Hide arrows on touch */
  .carousel-wrapper .arrow {
    display: none !important;
  }

  /* Prevent horizontal overflow */
  .carousel-wrapper {
    overflow-x: hidden;
  }

  /* Shrink cards to fit */
  .item {
    width: 77vw;
    height: auto;
    padding: 15px;
    transform: 
      rotateY(calc(-10deg * var(--r)))
      translateX(calc(-70vw * var(--r)));
  }

  /* Adjust text sizes */
  .title  { font-size: 1.2rem; }
  .author { font-size: 1rem; }
}
/* Outer toast: fully rounded, beige background */
.toast-orange {
  background-color: var(--orange) !important;
  border-radius: 0.25rem !important;
  color: #fff !important;
}

/* Inner body: transparent so you see the outer radius */
.toast-orange .toast-body {
  background-color: transparent !important;
  border-radius: 0;            /* no extra rounding */
}

/* Close button stays white */
.toast-orange .btn-close {
  filter: brightness(0) invert(1);
}


/*GODE RÅD*/

/* ──────────────────────────────────────────
   Title styling
────────────────────────────────────────── */
section.goderad {
  margin-top: 50px;     /* 50px below the carousel */
  text-align: center;
}
section.goderad h1 {
  display: inline-block;
  margin-bottom: 60px;
}

/* ──────────────────────────────────────────
   Default (mobile <992px)
   - Lists stacked vertically
   - Each <li> gets orange border to signal clickability
────────────────────────────────────────── */
section.goderad .goderad-list {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-bottom: 200px;  /* space below the lists */
  gap: 2rem;
  margin: 0 1rem;  /* small side padding on mobile */
}

section.goderad .goderad-list .list ul {
  list-style: none;  /* no bullets */
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;  /* advice items flow vertically inside each list */
  gap: 1rem;   
}

section.goderad .goderad-list .list ul li {
  text-align: left;
  cursor: pointer;
  transition: transform 0.2s ease, color 0.2s ease;
  border: 2px solid var(--orange);
  border-radius: 0.25rem;
  padding: 0.75rem 1rem;
  background-color: var(--white);
}

section.goderad .goderad-list .list ul li:hover {
  transform: translateY(-2px);
  text-decoration: underline;
  color: var(--orange);
}

/* ──────────────────────────────────────────
   Desktop (≥992px)
   - Lists aligned horizontally  
   - 150px gutters left/right  
   - Remove orange borders on li (they’re obvious click targets in desktop layout)
────────────────────────────────────────── */
@media (min-width: 992px) {
  section.goderad .goderad-list {
    flex-direction: row;
    gap: 2rem;
    margin: 0 150px;
  }

  section.goderad .goderad-list .list {
    flex: 1;  /* each of the three lists takes equal width */
  }

  section.goderad .goderad-list .list ul li {
    border: none;         /* remove mobile border */
    background: none;     /* transparent background */
    padding: 0;           /* reset mobile padding */
  }
}

/* ──────────────────────────────────────────
   Overlay backdrop & content
────────────────────────────────────────── */
#overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(0,0,0,0.5);
  display: none;
  z-index: 1040;
  cursor: pointer;
}

#overlayContent {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 600px;
  max-height: 80vh;
  background-color: var(--brown);
  color: var(--white);
  padding: 1.5rem;
  border-radius: 0.5rem;
  overflow-y: auto;
  z-index: 1041;
}

#closeBtn {
  position: absolute;
  top: 5px;
  right: 10px; /* Flyt knappen længere mod højre */
  font-size: 20px;
  color: white;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 1042;
}

#closeBtn:hover {
  color: lightgray;
}

#overlayContent h2,
#overlayContent p {
  margin: 0 0 1rem;
  line-height: 1.5;
}

/********************************************
 PROFIL.HTML CSS
********************************************/

.container-profil { 
  align-items: center;
  gap: 100px;
  margin-top: 100px;
}
.container-profil h1 {
  margin-bottom: 100px;
}

.container-profilinfo {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  margin-left: 100px;
  gap: 4rem;
}

.container-brugerinfo {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.profil-info-list {
  list-style: none;
  padding-left: 0;
}

.profil-info-list li {
  margin-top: 20px;
}

.profil-info-list li strong {
  font-weight: bold;
}

/* ✅ Centered h1 with top margin */
.profil-header {
  text-align: center;
  margin-top: 100px;
  margin-bottom: 2rem;
}

/* ✅ Logout section styling */
section.logout {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 100px;
  margin-left: 100px; /* ⬅ left margin for large screens */
  margin-top: 60px; /* ⬆ top margin */
}

section.logout a {
  white-space: nowrap;
}

/* ✅ Mobile responsive adjustments */
@media (max-width: 991.92px) {
  .container-profilinfo {
    flex-direction: column;
    gap: 2rem;
    margin-left: 10px;
  }

  section.logout {
    justify-content: center;
    margin-left: 0; /* remove left margin on small screens */
    margin-top: 20px; /* add top margin */
  }
}
