body { 
  font-family: Arial, sans-serif; 
  margin: 0; 
  padding: 0; 
  background-color: #fffaf0; 
  background-image: url('bakgrund.jpg'); 
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;           /* Täcker hela ytan */
  background-attachment: fixed;     /* ← här är tricket! */
  max-width: 800px; 
  margin: 0 auto; 
  min-height: 100vh; 
  min-height: 100dvh;               /* För iOS PWA */
}
header { 
  font-family: 'Caveat', cursive; 
  background-color:#f5e8d8; 
  padding:20px; 
  display:flex; 
  justify-content:center; 
  align-items:center; 
  position:sticky; 
  top:0; 
  z-index:10; 
  box-shadow:0 2px 8px rgba(0,0,0,0.1); 
}
header h1 { 
  margin:0; 
  font-size:36px; 
  color:white; 
  flex:1; 
  text-align:center; 
}
.dropdown { 
  position:absolute; 
  right:20px; 
}
/* Uppdaterad meny-knapp – varmare och snyggare */
.menu-btn {
  font-size: 28px;
  background: #e2d4c3;
  border: none;
  cursor: pointer;
  padding: 10px 12px;
  border-radius: 10px;
  color: white;
  transition: background 0.3s ease, transform 0.2s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.menu-btn:hover {
  background: #d8c9b5;
  transform: scale(1.05);
}
.dropdown.active .menu-btn {
  background: #d0c5b8;
  transform: scale(0.95);
}
.dropdown-content { 
  display:none; 
  position:absolute; 
  right:0; 
  background-color:white; 
  min-width:180px; 
  box-shadow:0 4px 12px rgba(0,0,0,0.15); 
  border-radius:10px; 
  overflow:hidden; 
  z-index:100; 
}
.dropdown-content button { 
  width:100%; 
  text-align:left; 
  padding:12px 16px; 
  border:none; 
  background:none; 
  cursor:pointer; 
  color:#000; 
  font-size:16px; 
}
.dropdown-content button:hover { 
  background-color:#f0f0f0; 
}
.dropdown.active .dropdown-content { 
  display:block; 
}

.funnyText {
  font-family: 'Caveat', cursive;
  font-size: 40px !important;
  color: #333;
  text-align: center;
  margin: 20px 0;
}


main {
  padding: 20px; 
  margin: 20px auto;
  max-width: 600px;      /* Begränsar bredd på stora skärmar */
  width: 90%;            /* Tar 90% av viewport på små skärmar */
  background-color: rgba(255,250,240,0.92); 
  border-radius: 15px; 
  box-shadow: 0 4px 15px rgba(0,0,0,0.1); 
  min-height: calc(100vh - 140px); 
  overflow-y: auto;
}

/* Små skärmar (mobil) */
@media (max-width: 480px) {
  main {
    max-width: 80%;      /* Mindre än på desktop */
    padding: 15px;       /* Lite mindre padding på små skärmar */
    margin: 15px auto;
  }
}


button { 
  padding:10px 16px; 
  margin:5px 0; 
  border:none; 
  border-radius:12px; 
  background-color:#4CAF50; 
  color:white; 
  cursor:pointer; 
  width:100%; 
  font-size:16px; 
}
button:hover { 
  background-color:#45a049; 
}
input, textarea { 
  padding:10px; 
  width:calc(100% - 22px); 
  border:1px solid #ddd; 
  border-radius:8px; 
  margin:10px 0; 
  font-size:16px; 
}
ul { 
  list-style:none; 
  padding:0; 
  margin:20px 0; 
}
li { 
  padding:14px; 
  background:#f8f8f8; 
  margin:8px 0; 
  border-radius:10px; 
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  font-size:18px; 
}
.checked { 
  text-decoration:line-through; 
  opacity:0.6; 
}
.hidden { 
  display:none; 
}
li button { 
  background-color:#f44336; 
  padding:0; 
  font-size:20px; 
  width:28px; 
  height:28px; 
  border-radius:50%; 
  margin-left:auto; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  min-width:unset; 
}
li button:hover { 
  background-color:#d32f2f; 
}
#listModal, #contactModal, #ingredientModal, #genericModal, #shareRecipeModal { 
  display:none; 
  position:fixed; 
  top:0; left:0; 
  width:100%; height:100%; 
  background-color: rgba(0,0,0,0.5); 
  z-index:200; 
  justify-content:center; 
  align-items:flex-start; /* Fix: starta från toppen på mobil */
  padding-top:10vh; /* Luft från toppen */
  overflow-y:auto; /* Scrolla bakgrunden om nödvändigt */
}
.modal-content { 
  background:white; 
  padding:28px 24px; 
  border-radius:24px; 
  width:92%; 
  max-width:420px; 
  max-height:85vh; 
  overflow-y:auto; 
  box-shadow:0 4px 20px rgba(0,0,0,0.2); 
  margin:0 auto; /* Centrera horisontellt */
  box-sizing:border-box;
}
.modal-content h2 { 
  margin-top:0; 
  text-align:center; 
  font-size:24px; 
  margin-bottom:20px;
}
.list-item { 
  padding:15px; 
  background:#f0f0f0; 
  margin:10px 0; 
  border-radius:10px; 
  text-align:center; 
  font-size:18px; 
  cursor:pointer; 
}
.list-item:hover { 
  background:#e0e0e0; 
}
#closeModal, #closeContactModal, #cancelIngredient, #genericCancel { 
  background:#ccc; 
  margin-top:20px; 
}
#closeModal:hover, #closeContactModal:hover, #cancelIngredient:hover, #genericCancel:hover { 
  background:#bbb; 
}
#emptyState { 
  text-align:center; 
  font-size:20px; 
  color:#555; 
  margin:60px 20px; 
  line-height:1.5; 
}
#addItemSection { 
  margin:15px 0; 
}
#dinnerTitle { 
  text-align:center; 
  font-size:24px; 
  font-weight:bold; 
  margin-bottom:10px; 
}
#dinnerContainer img { 
  max-width:100%; 
  border-radius:15px; 
  margin-bottom:15px; 
}
#dinnerButtons button { 
  margin-top:10px; 
}
#dinnerRecipe { 
  white-space: pre-line; 
  line-height:1.6; 
  padding:10px; 
  background:#f9f9f9; 
  border-radius:8px; 
}
#dinnerLoading { 
  text-align:center; 
  font-size:18px; 
  color:#555; 
  margin:40px 0; 
}
li.recipe-item { 
  background:#e8f5e9; 
  font-size:16px; 
  white-space: pre-line; 
  line-height:1.6; 
}
/* Snygg layout för ingrediens-modalen */
.ingredient-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 14px 0;
  font-size: 18px;
  padding: 8px 0;
}
.ingredient-label {
  flex: 1;
  text-align: left;
  padding-right: 20px;
  cursor: pointer;
}
.ingredient-checkbox {
  display: flex;
  align-items: center;
}
.ingredient-checkbox input {
  width: 24px;
  height: 24px;
  cursor: pointer;
}

/* Fixar för bättre input och knappar på mobil */
@media (max-width: 600px) {
  .modal-content input,
  .modal-content textarea {
    font-size: 18px !important; /* Undviker zoom på iOS */
    padding: 16px;
  }

  .modal-content button,
  #genericCancel,
  #genericConfirm {
    font-size: 18px;
    padding: 16px;
    margin: 12px 0;
  }

  #genericCancel,
  #genericConfirm {
    width: 100%;
  }
}

/* Safe areas för notch och hemgesture */
@supports (padding: env(safe-area-inset-top)) {
  #listModal, #contactModal, #ingredientModal, #genericModal, #shareRecipeModal {
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
}