#creation-method {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1rem;
}
#creation-method label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
#creationsCarousel {
  display: flex;
  overflow-x: auto;
  gap: 1rem;
  scroll-snap-type: x mandatory;
}
#creationsCarousel .creation-container {
  flex: 0 0 120px;
  scroll-snap-align: start;
}
#creationsList p,
#sharedCreationsList p {
  text-align: center;
  padding: 3rem;
  color: #888;
  font-size: 1.1rem;
}
#creationsList, #sharedCreationsList, #profileCreationsList, #profileSharedList {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 1rem;
  min-height: 120px;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { width:100%; max-width:100%; overflow-x:clip; }
body { font-family: 'Inter', sans-serif; background-color: #F8F9FA; color: #333333; line-height: 1.6; }
header { position: fixed; top: 0; left: 0; right: 0; background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); padding: 1rem; z-index: 1000; display: flex; justify-content: space-between; align-items: center; }
h1 { font-family: 'Bubblegum Sans', cursive; font-size: 2rem; display: inline-block; }
h1 span { display: inline-block; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); animation: bounce 1s infinite alternate; }
h1 span:nth-child(1) { color: #FF0000; } h1 span:nth-child(2) { color: #FF7F00; } h1 span:nth-child(3) { color: #FFFF00; }
h1 span:nth-child(4) { color: #00FF00; } h1 span:nth-child(5) { color: #00FFFF; } h1 span:nth-child(6) { color: #0000FF; }
h1 span:nth-child(7) { color: #FF00FF; } h1 span:nth-child(8) { color: #FF0000; } h1 span:nth-child(9) { color: #FF7F00; }
h1 span:nth-child(10) { color: #FFFF00; } h1 span:nth-child(11) { color: #00FF00; } h1 span:nth-child(12) { color: #00FFFF; }
h1 span:nth-child(13) { color: #0000FF; } h1 span:nth-child(14) { color: #FF00FF; }
@keyframes bounce { from { transform: translateY(0); } to { transform: translateY(-5px); } }
nav { display: flex; gap: 1rem; }
nav button { background-color: #007BFF; color: #FFFFFF; border: none; padding: 0.5rem 1rem; border-radius: 5px; cursor: pointer; font-size: 1rem; transition: background-color 0.2s; }
nav button:hover { background-color: #0056b3; }
main { margin-top: 80px; padding: 2rem; max-width: 1200px; margin-left: auto; margin-right: auto; transition: opacity 0.3s; }
#welcome, #auth, #app, #my-creations, #profile { display: none; flex-direction: column; align-items: center; gap: 1.5rem; opacity: 1; }
.hidden { display: none; opacity: 0; }
#welcome { text-align: center; padding: 2rem; background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border-radius: 10px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); }
#welcome h2 { font-family: 'Bubblegum Sans', cursive; font-size: 2.5rem; margin-bottom: 1rem; }
#welcome p { font-size: 1.2rem; margin-bottom: 1rem; }
#welcome .features { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem; margin: 2rem 0; }
#welcome .feature { max-width: 300px; text-align: center; }
#welcome .feature h3 { font-family: 'Bubblegum Sans', cursive; font-size: 1.5rem; margin-bottom: 0.5rem; }
#welcome .feature p { font-size: 1rem; color: #666; }
#welcome button { font-size: 1.2rem; padding: 1rem 2rem; }
#auth { text-align: center; }
#app { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; }
#convert-section, #publicWall, #recent-creations, #my-creations, #profileCreations, #profileShared { background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); border-radius: 10px; padding: 1.5rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); width: 100%; margin-bottom: 2rem; }
#convert-section h2, #publicWall h2, #recent-creations h2, #my-creations h2, #profileCreations h2, #profileShared h2 { font-family: 'Bubblegum Sans', cursive; font-size: 1.75rem; margin-bottom: 1rem; }
#convert-section h2 span { display: inline-block; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); animation: bounce 1s infinite alternate; } /* Nieuw: Regenboog styling voor 'Maak een Kleurplaat' */
#convert-section h2 span:nth-child(1) { color: #FF0000; } /* Voortzetting regenboog colors */
#convert-section h2 span:nth-child(2) { color: #FF7F00; }
#convert-section h2 span:nth-child(3) { color: #FFFF00; }
#convert-section h2 span:nth-child(4) { color: #00FF00; }
#convert-section h2 span:nth-child(5) { color: #00FFFF; }
#convert-section h2 span:nth-child(6) { color: #0000FF; }
#convert-section h2 span:nth-child(7) { color: #FF00FF; }
#convert-section h2 span:nth-child(8) { color: #FF0000; }
#convert-section h2 span:nth-child(9) { color: #FF7F00; }
#convert-section h2 span:nth-child(10) { color: #FFFF00; }
#convert-section h2 span:nth-child(11) { color: #00FF00; }
#convert-section h2 span:nth-child(12) { color: #00FFFF; }
#convert-section h2 span:nth-child(13) { color: #0000FF; }
#convert-section h2 span:nth-child(14) { color: #FF00FF; }
#convert-section h2 span:nth-child(15) { color: #FF0000; }
#convert-section h2 span:nth-child(16) { color: #FF7F00; }
#convert-section h2 span:nth-child(17) { color: #FFFF00; }
#convert-section h2 span:nth-child(18) { color: #00FF00; }
#convert-section h2 span:nth-child(19) { color: #00FFFF; }
button, input[type="file"], input[type="text"], textarea { padding: 0.75rem; margin: 0.5rem 0; font-size: 1rem; border-radius: 5px; border: none; width: 100%; max-width: 300px; }
button { background-color: #007BFF; color: #FFFFFF; cursor: pointer; transition: background-color 0.2s; }
button:hover { background-color: #0056b3; }
button:disabled { background-color: #cccccc; cursor: not-allowed; }
input[type="file"], input[type="text"], textarea { background-color: #F1F3F5; color: #333333; }
textarea { resize: vertical; min-height: 60px; }
#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  color: white;
  font-size: 1.2rem;
}
#loading::before {
  content: '';
  width: 24px;
  height: 24px;
  border: 3px solid #007BFF;
  border-top: 3px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-right: 10px;
}
#authLoading { display: none; font-size: 1rem; color: #007BFF; align-items: center; gap: 0.5rem; }
#authLoading::before { content: ''; width: 16px; height: 16px; border: 2px solid #007BFF; border-top: 2px solid transparent; border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
#result img { max-width: 100%; border-radius: 5px; margin-top: 1.5rem; margin-bottom: 1.5rem; }
.creation-container { position: relative; text-align: center; }
.creation-container img { width: 100%; height: 120px; object-fit: cover; border-radius: 5px; border: 1px solid #ddd; transition: transform 0.2s; loading: lazy; }
.creation-container img:hover { transform: scale(1.05); border-color: #007BFF; }
/* V2-001: Card metadata */
.creation-meta { padding: 6px 10px 8px; text-align: left; }
.creation-title { font-size: 13px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.creation-row { display: flex; justify-content: space-between; font-size: 12px; color: #666; margin-top: 2px; }
.creation-actions { margin-top: 0.5rem; font-size: 0.875rem; }
/* V2-001: Category/tag filter chips */
#wall-category-chips { padding: 8px 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
#category-chips-row { display: flex; gap: 8px; white-space: nowrap; min-width: max-content; }
.category-chip {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #ddd;
  background: #f8f9fa;
  color: #666;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.category-chip:hover { background: #e9ecef; }
.category-chip.active { background: #007BFF; color: white; border-color: #007BFF; }
/* V2-003: My Creations category chips */
#my-creations-category-chips { padding: 8px 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
#my-creations-chips-row { display: flex; gap: 8px; white-space: nowrap; min-width: max-content; }
.my-creation-chip {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #ddd;
  background: #f8f9fa;
  color: #666;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.my-creation-chip:hover { background: #e9ecef; }
.my-creation-chip.active { background: #007BFF; color: white; border-color: #007BFF; }
.like-btn.liked { background-color: #FF4444; }
#profile-info { text-align: center; margin-bottom: 2rem; }
#editNameBtn { margin-top: 1rem; }

#editNameSection { display: none; flex-direction: column; gap: 0.5rem; align-items: center; justify-content: center; }
.modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(30, 30, 50, 0.7); backdrop-filter: blur(4px); justify-content: center; align-items: center; z-index: 2000; }
.modal-content { background: linear-gradient(145deg, #ffffff 0%, #f8f9ff 100%); padding: 2rem; border-radius: 20px; max-width: 500px; max-height: 90%; overflow-y: auto; text-align: center; position: relative; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); border: 1px solid rgba(255, 255, 255, 0.8); }
.modal-content h2 { font-family: 'Bubblegum Sans', cursive; color: #4a5568; margin-bottom: 1rem; font-size: 1.75rem; }
.close-cross { position: absolute; top: 10px; left: 10px; font-size: 2rem; cursor: pointer; color: #333; } /* Nieuw: Styling voor kruisje */
.comment-list { max-height: 150px; overflow-y: auto; margin-top: 1.5rem; margin-bottom: 1.5rem; font-size: 0.875rem; }
.comment-list p { background: #f0f0f0; padding: 8px 12px; border-radius: 12px; display: inline-block; }

/* Comment section button styling - round, colored, white text */
#addCommentBtn {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
  color: white !important;
  border: none !important;
  border-radius: 25px !important;
  padding: 0.75rem 1.5rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  width: auto !important;
  max-width: none !important;
}

#addCommentBtn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.bottom-nav { position: fixed; bottom: 0; left: 0; width: 100%; display: flex; background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%); box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1); z-index: 1000; }
.bottom-nav .tab-btn { flex: 1 !important; border: none; background: none; padding: 0.5rem; cursor: pointer; display: flex; flex-direction: column; align-items: center; font-size: 0.875rem; color: #666; }
.bottom-nav .tab-btn.active { color: #007BFF; }
.tab-icon { width: 24px; height: 24px; fill: currentColor; margin-bottom: 0.25rem; }
@media (min-width: 768px) { .bottom-nav { display: none; } #app { grid-template-columns: 1fr 2fr; } }
@media (max-width: 768px) { #app { grid-template-columns: 1fr; } h1 { font-size: 2rem; } main { padding: 1rem; padding-bottom: 80px; } .creation-container img { height: 100px; } .modal-content { max-width: 90%; } } /* Change for wish 1: Increased padding-bottom to 80px to prevent copyright from falling off screen */
@media (max-width: 480px) { h1 { font-size: 1.75rem; } button, input[type="file"], input[type="text"], textarea { font-size: 0.875rem; } .creation-container img { height: 80px; } }

/* Change for wish 2: Style to make image in detail modal smaller like a tile */
#detailImage {
  max-height: 200px;
  width: auto;
  object-fit: contain;
  margin: 1rem auto;
  display: block;
  cursor: pointer;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Detail modal improvements */
#detailModal .modal-content {
  padding: 2.5rem;
  background: linear-gradient(135deg, #ffffff 0%, #f7f8fc 100%);
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}

#detailNameSection {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 1rem;
  border-radius: 12px;
  margin: 1rem 0;
}

#detailNameSection p {
  margin: 0;
  font-size: 1.1rem;
  color: #2d3748;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

#detailNameSection strong {
  color: #4a5568;
}

/* Issue 6: Name field layout - edit button sticks to right side of name */
#detailNameSection p {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

#detailNameSection p #detailName {
  flex: 1;
  min-width: 100px;
}

#editNameBtn2 {
  flex: 0 0 auto;
  width: 10%;
  min-width: 40px;
  max-width: 60px;
  padding: 4px 8px !important;
  font-size: 12px !important;
  margin-left: auto !important;
}

#detailStats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
  margin: 1.5rem 0;
  text-align: left;
}

#detailStats p {
  margin: 0;
  padding: 0.75rem 1rem;
  background: white;
  border-radius: 10px;
  font-size: 0.9rem;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

#detailStats strong {
  color: #667eea;
}

/* Detail modal action buttons */
#detailActionsPrimary, #detailActionsSecondary {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
  margin: 1rem 0;
}

#detailActionsPrimary button {
  flex: 1;
  min-width: 100px;
  padding: 0.75rem 1rem;
  border: none;
  border-radius: 25px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.9rem;
}

#detailLikeBtn {
  background: linear-gradient(135deg, #fc8181 0%, #e53e3e 100%);
  color: white;
}

#detailLikeBtn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(252, 129, 129, 0.4);
}

#detailDownloadBtn {
  background: linear-gradient(135deg, #68d391 0%, #38a169 100%);
  color: white;
}

#detailDownloadBtn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(104, 211, 145, 0.4);
}

#detailPrintBtn {
  background: linear-gradient(135deg, #63b3ed 0%, #3182ce 100%);
  color: white;
}

#detailPrintBtn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(99, 179, 237, 0.4);
}

#detailActionsSecondary {
  margin-top: 1.5rem;
}

#detailShareBtn, #detailSocialShareBtn {
  background: linear-gradient(135deg, #48bb78 0%, #38a169 100%) !important;
  color: white !important;
  border-color: #48bb78 !important;
  border-radius: 25px !important;
}

#detailShareBtn:hover, #detailSocialShareBtn:hover {
  background: linear-gradient(135deg, #38a169 0%, #2f855a 100%) !important;
  box-shadow: 0 4px 12px rgba(72, 187, 120, 0.4);
}

#detailActionsSecondary button {
  flex: 1;
  min-width: 120px;
  padding: 0.6rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 25px;
  background: white;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.85rem;
}

#detailActionsSecondary button:hover {
  border-color: #667eea;
  color: #667eea;
}

#detailDeleteBtn {
  background: linear-gradient(135deg, #fc8181 0%, #e53e3e 100%) !important;
  color: white !important;
  border-color: #fc8181 !important;
  border-radius: 25px !important;
}

#detailDeleteBtn:hover {
  background: linear-gradient(135deg, #e53e3e 0%, #c53030 100%) !important;
  box-shadow: 0 4px 12px rgba(252, 129, 129, 0.4);
  color: white !important;
}

#closeDetailBtn {
  margin-top: 1.5rem;
  padding: 0.8rem 2rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 25px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

#closeDetailBtn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

/* Change for wish 3: Styles for detail slider */
#detail-level { max-width: 100% !important;
  margin-bottom: 1rem;
  text-align: left;
  width: 100%;
  max-width: 300px;
}
.slider-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#detailSlider {
  width: 100%;
  margin: 0.5rem 0;
}
.slider-labels {
  display: flex;
  justify-content: space-between;
  width: 100%;
  font-size: 0.875rem;
  color: #666;
}

/* Change for wish 4: Style for help icons */
.help { display: inline-block; 
  cursor: help;
  color: #007BFF;
  font-weight: bold;
  margin-left: 0.5rem;
  font-size: 0.875rem;
  background-color: #e0e9ff;
  border-radius: 50%;
  padding: 0 0.4rem;
  line-height: 1;
}
.help:hover {
  background-color: #007bff;
  color: white;
}

#imageInputSection .help, #promptInputSection .help { display: inline-block; 
  vertical-align: middle;
}
/* Creation method tiles */
#creation-method {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
#creation-method label {
  flex: 1 !important;
  min-width: 200px;
  padding: 1.5rem;
  border: 2px solid #e0e0e0;
  border-radius: var(--radius);
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
  font-weight: 500;
}
#creation-method label:hover {
  border-color: var(--primary);
  background: #fafafa;
}
#creation-method input[type="radio"] {
  display: none;
}
#creation-method input[type="radio"]:checked + * {
  border-color: var(--primary);
  background: #f5f0ff;
}

/* Detail level preset buttons */
.detail-buttons {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.detail-btn {
  flex: 1 !important;
  padding: 0.6rem 0.75rem;
  background-color: #007BFF;
  color: #FFFFFF;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  font-size: 0.9rem;
  transition: background-color 0.2s;
}

.detail-btn:hover {
  background-color: #0056b3;
}

.detail-btn.active {
  background-color: #0056b3;
  font-weight: bold;
}

/* Token wallet chip in header */
#header-wallet { margin-left: auto; margin-right: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: #f0f0f0;
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  font-size: 0.85rem;
  color: #666;
}

#header-wallet .token-icon {
  font-size: 1rem;
}

#header-wallet .token-count {
  font-weight: 600;
  color: #555;
}

/* De-emphasized token display in convert-section */
#convert-section .token-display {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem;
  background-color: #f8f8f8;
  border-radius: 8px;
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  color: #888;
}

#convert-section .token-display span {
  color: #777;
  font-weight: 500;
}

/* Muted buy tokens button */
#buyTokensBtn { display: none; margin: 0.5rem 0;
  background-color: #e0e0e0;
  color: #666;
  font-size: 0.85rem;
  padding: 0.5rem 1rem;
  width: auto;
  max-width: none;
  border: 1px solid #ccc;
}

#buyTokensBtn:hover {
  background-color: #d0d0d0;
  color: #555;
}

#imageInputSection input, #promptInputSection input {  width: auto;  flex: 1;  min-width: 200px;  max-width: none;}
/* Fix spacing under tiles */
#imageInputSection, #promptInputSection { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }

#imageInputSection,
#promptInputSection { margin: 0 !important; padding: 0.5rem 0 !important;
  margin-top: 1.5rem;
  padding: 1rem;
}

#imageInputSection label,
#promptInputSection label {
  display: block;
  width: 100%;
  margin-bottom: 0.5rem;
}

#detail-level { max-width: 100% !important;
  margin-top: 1.5rem;
}

#detail-level label {
  display: block;
  width: 100%;
  margin-bottom: 0.5rem;
}

#imageInputSection input,
#promptInputSection input,
#detail-level input {
  width: 100% !important;
  max-width: 100% !important;
}

/* customWish/prompt: input iets smaller zodat het "?"-icoon op dezelfde regel past */
#imageInputSection #customWish,
#promptInputSection #promptInput {
  width: calc(100% - 2.6rem) !important;
}
#imageInputSection .help,
#promptInputSection .help {
  flex: 0 0 auto;
}

#buyTokensBtn { display: none; margin: 0.5rem 0; width: 100%; display: block; }
#buyTokensBtn { display: none; margin: 0.5rem 0; width: 100%; display: block; }
#buyTokensBtn { display: none; margin: 0.5rem 0; width: 100%; display: block; }
#buyTokensBtn { display: none; margin: 0.5rem 0; width: 100%; display: block; }
#buyTokensBtn { display: none; margin: 0.5rem 0; width: 100%; display: block; }

/* Detail buttons full width */
.detail-buttons {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.detail-buttons .detail-btn,
#convertBtn { max-width: 100% !important;
  flex: 1 !important;
  width: 100%;
}

/* FORCE full width buttons */
#convertBtn { max-width: 100% !important;
  width: 100% !important;
  display: block !important;
  flex: none !important;
}

.detail-btn {
  width: 100% !important;
  flex: 1 1 0% !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
}

/* Loading overlay */
#loadingOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  font-family: 'Bubblegum Sans', cursive;
  color: white;
  font-size: 1.5rem;
}
#loadingOverlay.hidden {
  display: none;
}

.browser-compatibility {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #f2604f;
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 211, 92, 0.55), transparent 28%),
    radial-gradient(circle at 88% 82%, rgba(242, 96, 79, 0.75), transparent 34%),
    linear-gradient(145deg, #f7a928 0%, #f2604f 58%, #dc493f 100%);
  font-family: 'Nunito', sans-serif;
}

.browser-compatibility[hidden] {
  display: none;
}

.app-start-failed,
.app-start-failed body {
  overflow: hidden;
}

.browser-compatibility-card {
  width: 100%;
  max-width: 520px;
  padding: 32px;
  padding: clamp(28px, 6vw, 44px);
  border: 1px solid #eaded2;
  border-radius: 28px;
  background: #fffaf5;
  box-shadow: 0 24px 70px rgba(51, 42, 44, 0.26);
  color: #302a2d;
  text-align: center;
}

.browser-compatibility-kicker {
  display: inline-block;
  margin-bottom: 10px;
  color: #f2604f;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.browser-compatibility-card h1 {
  margin: 0 0 12px;
  font-family: 'Baloo 2', 'Nunito', sans-serif;
  font-size: 1.8rem;
  font-size: clamp(1.65rem, 6vw, 2.2rem);
  line-height: 1.05;
}

.browser-compatibility-card p {
  margin: 0 auto 24px;
  max-width: 430px;
  color: #6f666b;
  line-height: 1.55;
}

.browser-compatibility-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-bottom: 16px;
}

.browser-compatibility-actions button {
  min-width: 210px;
  min-height: 50px;
  padding: 0 24px;
  border: 1px solid #f2604f;
  border-radius: 14px;
  background: #f2604f;
  color: #fff;
  font: 800 0.95rem 'Nunito', sans-serif;
  cursor: pointer;
  box-shadow: 0 4px 0 #d9473a;
}

.browser-compatibility-card small {
  color: #92888d;
  font-size: 0.8rem;
}

@media (max-width: 480px) {
  .browser-compatibility {
    padding: 16px;
  }

  .browser-compatibility-actions {
    flex-direction: column;
  }

  .browser-compatibility-actions button {
    width: 100%;
  }
}

footer {
  text-align: center;
  padding: 1rem 1rem calc(96px + env(safe-area-inset-bottom));
  margin-top: 2rem;
  color: #666;
}
footer .footer-sub {
  font-size: 0.8rem;
  color: #888;
  margin-top: 0.35rem;
  line-height: 1.5;
}
footer .footer-sub a {
  color: #007BFF;
  text-decoration: none;
}
footer .footer-sub a:hover {
  text-decoration: underline;
}

/* Wall controls - search, sort, tabs */
#wall-controls {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  align-items: center;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 1rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

#wall-search {
  display: flex;
  gap: 0.5rem;
  flex: 1;
  min-width: 80%;
}

#wallSearchInput {
  flex: 1;
  padding: 0.6rem 1rem;
  border: 2px solid #e2e8f0;
  border-radius: 25px;
  font-size: 0.95rem;
  background: white;
  transition: all 0.2s;
  min-width: 80%;
}

#wallSearchInput:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.15);
}

#wallSearchBtn {
  padding: 0.6rem 0.8rem;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  font-weight: 600;
  transition: transform 0.2s, box-shadow 0.2s;
  font-size: 0.85rem;
  min-width: 50px;
}

#wallSearchBtn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

/* Wall tabs and sort - combined layout */
#wall-tabs-sort {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}

#wall-tabs-sort #wall-tabs {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0;
  flex: 1;
}

#wall-tabs-sort #wall-sort {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Wall sort dropdown styling */
#wallSortSelect {
  padding: 0.6rem 1.25rem;
  border: 2px solid #e2e8f0;
  background: white;
  border-radius: 25px;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.2s;
  color: #4a5568;
  outline: none;
}

#wallSortSelect:hover {
  border-color: #667eea;
}

#wallSortSelect:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.15);
}

.wall-tab.active {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.wall-tab:hover:not(.active) {
  border-color: #667eea;
  color: #667eea;
}

/* Share name modal */
#shareNameModal { z-index: 3000 !important; }

/* Share name modal */
.share-name-modal {
  text-align: center;
  max-width: 400px;
  z-index: 3000 !important; /* Higher than detailModal to appear on top */
}

.share-name-modal img {
  max-width: 200px;
  max-height: 200px;
  border-radius: 12px;
  margin: 1rem 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

#shareNameInput {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #ddd;
  border-radius: 12px;
  font-size: 1rem;
  margin-bottom: 1rem;
  box-sizing: border-box;
  transition: border-color 0.2s, box-shadow 0.2s;
}

#shareNameInput:focus {
  outline: none;
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.2);
}

.share-name-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.btn-confirm {
  background: linear-gradient(135deg, #48bb78 0%, #38a169 100%) !important;
  color: white !important;
  border: none !important;
  padding: 12px 24px !important;
  border-radius: 25px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.btn-confirm:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(72, 187, 120, 0.4);
}

.btn-cancel {
  background: linear-gradient(135deg, #fc8181 0%, #e53e3e 100%) !important;
  color: white !important;
  border: none !important;
  padding: 12px 24px !important;
  border-radius: 25px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s !important;
}

.btn-cancel:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(252, 129, 129, 0.4);
}

/* V2-005: Favorite button card margin */
.favorite-btn-card { margin: 0; }

/* ═══════════════════════════════════════════════════════════════
   REDESIGN v2 — Fase 1: fundament (tokens, typografie, header, nav)
   ═══════════════════════════════════════════════════════════════ */
:root {
  --bg:#FAF5EE; --ink:#2F2A2E; --muted:#8A8189; --text2:#5F5761;
  --hairline:#EDE4D8; --input-border:#E5DACC; --placeholder:#B8AC9F;
  --coral:#F2604F; --coral-dark:#D14B3B; --coral-tint:#FEF0ED;
  --ochre:#F5A623; --blue:#4A9DE0; --blue-dark:#3A7EB5; --blue-tint:#EAF4FD;
  --green:#4CAF7D; --green-dark:#3B8B62; --lila:#8E7CC3; --lila-tint:#F3EBFB;
  --seg-bg:#F1EAE0;
  --card-shadow:0 1px 2px rgba(47,42,46,0.04), 0 4px 12px rgba(47,42,46,0.05);
}
body { font-family:'Nunito',sans-serif !important; background:var(--bg) !important; color:var(--ink) !important; }
h1,h2,h3 { font-family:'Baloo 2',cursive; color:var(--ink); }
a { color:var(--coral); } a:hover { color:var(--coral-dark); }
::placeholder { color:var(--placeholder); }

/* Header */
header {
  position:sticky; top:0;
  background:rgba(250,245,238,0.94) !important; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--hairline) !important; box-shadow:none !important;
  padding:14px 18px !important; display:flex; justify-content:space-between; align-items:center;
}
.logo { display:flex; align-items:center; gap:9px; cursor:pointer; }
.logo-dots { display:inline-flex; }
.logo-dots i { width:14px; height:14px; border-radius:50%; display:inline-block; }
.logo-dots i:nth-child(1){ background:var(--coral); }
.logo-dots i:nth-child(2){ background:var(--ochre); margin-left:-5px; }
.logo-dots i:nth-child(3){ background:var(--blue); margin-left:-5px; }
.logo-dots i:nth-child(4){ background:var(--green); margin-left:-5px; }
.logo-word { font-family:'Baloo 2',cursive; font-weight:800; font-size:22px; line-height:1; color:var(--ink); }
.header-right { display:flex; align-items:center; gap:10px; }

/* Munt-chip */
#header-wallet {
  margin:0 !important; display:flex; align-items:center; gap:7px;
  background:#fff; border:1.5px solid var(--input-border); border-radius:999px;
  padding:7px 14px; font-weight:900; font-size:14px; color:var(--ink);
  box-shadow:0 1px 3px rgba(47,42,46,0.06);
}

#header-wallet { appearance:none; cursor:pointer; font:inherit; }
#header-wallet:focus-visible { outline: 3px solid rgba(242,96,79,.35); outline-offset: 2px; }
.purchase-modal-content { max-width:380px !important; padding:26px 26px 20px !important; }
.purchase-modal-content #closePurchaseModal { position:absolute; top:13px; right:14px; left:auto; width:38px; height:38px; display:grid; place-items:center; margin:0; padding:0; border:0; border-radius:50%; background:transparent; color:var(--muted); font:400 30px/1 Arial,sans-serif; cursor:pointer; }
.purchase-modal-content #closePurchaseModal:hover { background:#f7f3f4; color:var(--ink); }
.purchase-modal-content #closePurchaseModal:focus-visible { outline:3px solid rgba(242,96,79,.25); }
.purchase-coin { position:relative; width:58px; height:58px; margin:0 auto 8px; border-radius:50%; background:linear-gradient(145deg,#ffc62f,#eda500); border:6px solid #ffe28a; box-shadow:0 8px 22px rgba(232,148,15,.25), inset -5px -6px 10px rgba(180,111,0,.12); }
.purchase-coin::after { content:''; position:absolute; width:15px; height:8px; top:10px; left:12px; border-radius:50%; background:rgba(255,255,255,.38); transform:rotate(-28deg); }
.purchase-eyebrow { margin:10px 0 2px; color:var(--ochre); font-size:10px; font-weight:900; letter-spacing:.14em; }
.purchase-modal-content h2 { margin-bottom:6px !important; font-size:24px !important; }
.purchase-packages { display:grid; gap:9px; margin:18px 0 14px; }
.purchase-package { position:relative; width:100%; max-width:none; min-height:68px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center; margin:0; padding:13px 15px; box-sizing:border-box; border:1.5px solid var(--input-border); border-radius:15px; background:#fff; color:var(--ink); text-align:left; cursor:pointer; transition:.16s ease; outline:none; }
.purchase-package:hover { border-color:#e7c760; transform:translateY(-1px); }
.purchase-package.selected { border-color:#e8b521; background:linear-gradient(135deg,#fff9e8,#fff2c8); box-shadow:0 0 0 3px rgba(232,181,33,.12); }
.purchase-package:focus-visible { border-color:var(--coral); box-shadow:0 0 0 3px rgba(242,96,79,.18); }
.package-copy { display:flex; flex-direction:column; gap:2px; }
.package-name { display:flex; align-items:center; gap:7px; min-width:0; }
.package-copy strong { font-size:16px; }
.package-copy small { color:var(--muted); font-size:11px; }
.package-price { font:800 19px/1 'Baloo 2',cursive; white-space:nowrap; }
.package-badge { flex:none; padding:3px 7px; border-radius:999px; background:var(--ochre); color:#fff; font-size:8px; font-style:normal; font-weight:900; line-height:1.2; letter-spacing:.03em; text-transform:uppercase; }
.package-badge-saving { background:#35a65f; }
.purchase-benefits { margin:0 0 18px; padding:0; list-style:none; display:grid; gap:7px; color:#625a61; font-size:13px; text-align:left; }
.purchase-benefits li::before { content:'✓'; display:inline-grid; place-items:center; width:18px; height:18px; margin-right:8px; border-radius:50%; background:#e8f7ed; color:#278548; font-weight:900; }
#confirmPurchaseBtn { width:100%; padding:13px 16px; border:0; border-radius:13px; background:linear-gradient(135deg,var(--coral),#ed4f45); box-shadow:0 7px 16px rgba(242,96,79,.22); color:#fff; font-weight:900; cursor:pointer; }
#confirmPurchaseBtn:hover { transform:translateY(-1px); box-shadow:0 9px 20px rgba(242,96,79,.28); }
#confirmPurchaseBtn:disabled { opacity:.65; cursor:wait; transform:none; }
#cancelPurchaseBtn { width:100%; margin-top:7px; padding:9px !important; border:0 !important; background:transparent !important; color:var(--muted) !important; box-shadow:none !important; font-weight:700; }
#cancelPurchaseBtn:hover { color:var(--ink) !important; background:#f7f3f4 !important; }
.purchase-note { margin:9px 0 0; color:var(--muted); font-size:11px; }
#header-wallet .coin {
  width:16px; height:16px; border-radius:50%; background:var(--ochre);
  box-shadow:inset 0 0 0 3px #FFD98A, inset 0 0 0 4px #E8940F; display:inline-block;
}

/* Inloggen-knop */
#signInBtn {
  background:var(--coral) !important; color:#fff !important; border:none !important; border-radius:14px !important;
  padding:10px 20px !important; font-family:'Baloo 2',cursive; font-weight:700; font-size:15px;
  cursor:pointer; box-shadow:0 3px 0 var(--coral-dark); transition:transform .08s, box-shadow .08s;
}
#signInBtn:active { transform:translateY(3px); box-shadow:0 0 0 var(--coral-dark); }

/* Bottom-nav — 4 tabs + Maak-FAB, ook op desktop */
.bottom-nav {
  position:fixed !important; left:0 !important; right:0 !important; bottom:0 !important;
  display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr));
  width:100% !important; min-width:0 !important; max-width:100vw !important; margin:0 !important; gap:0 !important;
  background:rgba(255,255,255,0.96) !important; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border-top:1px solid var(--hairline) !important;
  box-shadow:0 -4px 16px rgba(47,42,46,0.05) !important;
  padding:6px 4px calc(8px + env(safe-area-inset-bottom));
  box-sizing:border-box; z-index:1500 !important; isolation:isolate;
}
.bottom-nav[hidden], body.is-public .bottom-nav { display:none !important; }
.bottom-nav .tab-btn {
  flex:none !important; width:auto !important; min-width:0 !important; max-width:none !important; margin:0 !important;
  border:none; border-radius:0; background:none; cursor:pointer; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; gap:3px;
  font-family:'Nunito',sans-serif; font-weight:900; font-size:clamp(9px,2.6vw,11px); line-height:1.2; white-space:nowrap;
  color:#A79DA5; padding:6px 2px; min-height:52px; transition:color .15s;
}
.bottom-nav .tab-btn > :not(.fab-circle) { max-width:100%; }
.bottom-nav .tab-label { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bottom-nav .tab-btn.active { color:var(--coral) !important; }
.bottom-nav .tab-icon { width:24px; height:24px; fill:currentColor; margin:0; }
.bottom-nav .tab-btn.fab { padding:0; overflow:visible; }
.bottom-nav .tab-btn.fab .fab-circle {
  width:50px; height:50px; margin-top:-22px; background:var(--coral); border-radius:50%;
  box-shadow:0 4px 0 var(--coral-dark), 0 8px 16px rgba(242,96,79,0.35);
  display:flex; align-items:center; justify-content:center;
}
.bottom-nav .tab-btn.fab .tab-icon { width:20px; height:20px; fill:#fff; }
@media (min-width:768px) { .bottom-nav { display:flex; } }

/* ═══════════════════════════════════════════════════════════════
   REDESIGN v2 — Fase 2: Maak-scherm
   ═══════════════════════════════════════════════════════════════ */
main { max-width:520px !important; margin:0 auto !important; padding:22px 18px calc(85px + env(safe-area-inset-bottom)) !important; }
/* #app display wordt door game.js (switchSection) beheerd — niet forceren */
#convert-section, #recent-creations {
  background:none !important; box-shadow:none !important; border-radius:0 !important;
  padding:0 !important; margin:0 0 8px !important; width:auto !important;
}
.screen-title { font-family:'Baloo 2',cursive; font-weight:800; font-size:27px; margin:0; }
.screen-sub { margin:2px 0 18px; font-weight:600; color:var(--muted); font-size:15px; }

/* Methode-tegels */
#creation-method {
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%; min-width:0; gap:12px; margin-bottom:16px; flex-direction:initial !important;
}
#creation-method .method-tile {
  flex:none !important; width:auto !important; min-width:0 !important;
  display:flex !important; flex-direction:column; align-items:center; gap:8px; padding:18px 10px;
  background:#fff; border:1.5px solid var(--input-border); border-radius:20px; cursor:pointer;
  box-shadow:0 1px 3px rgba(47,42,46,0.04); color:var(--ink); transition:all .15s; margin:0 !important;
}
.method-tile input { display:none; }
.method-tile .method-icon {
  width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:#FAF5EE; color:var(--muted); transition:all .15s;
}
.method-tile .method-label { font-family:'Baloo 2',cursive; font-weight:700; font-size:16px; line-height:1.2; }
.method-tile:has(input:checked) { background:var(--coral-tint); border:2px solid var(--coral); box-shadow:0 4px 14px rgba(242,96,79,0.18); }
.method-tile:has(input:checked) .method-icon { background:var(--coral); color:#fff; }

/* Upload-zone */
/* GEEN display hier forceren — game.js toggelt image/prompt inline (none/block) */
#imageInputSection, #promptInputSection { padding:0 !important; margin:0 0 12px !important; }
#uploadArea {
  display:block; background:#fff; border:2px dashed #D9CCBB; border-radius:20px; padding:30px 20px; text-align:center; cursor:pointer;
  transition:border-color .15s, background-color .15s, box-shadow .15s;
}
#uploadArea:hover { border-color:var(--coral); }
#uploadArea:focus-visible { outline:none; border-color:var(--coral); box-shadow:0 0 0 4px rgba(242,96,79,.16); }
#uploadArea.is-dragging { border-color:var(--coral); background:var(--coral-tint); }
#uploadArea.has-file { border-style:solid; border-color:var(--green); background:#F4FBF7; }
#uploadArea .upload-icon { width:52px; height:52px; border-radius:50%; background:#FAF5EE; display:inline-flex; align-items:center; justify-content:center; margin-bottom:8px; }
#uploadArea .upload-title { font-family:'Baloo 2',cursive; font-weight:700; font-size:17px; color:var(--ink); }
#uploadArea .upload-sub { font-size:13px; font-weight:600; color:var(--muted); margin-top:2px; }
#imageInputSection #imageInput {
  position:absolute; width:1px !important; min-width:1px !important; max-width:1px !important;
  height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Close controls are real buttons for keyboard and screen-reader support. */
.modal-content > button.close-cross,
#addTagsModal button.close-cross {
  width:38px;
  height:38px;
  min-height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:#f7f3f4;
  box-shadow:none;
  font:400 27px/1 Arial,sans-serif;
}
.modal-content > button.close-cross:hover,
#addTagsModal button.close-cross:hover {
  background:#efe8ea;
  color:var(--ink);
  transform:none;
}
.modal-content > button.close-cross:focus-visible,
#addTagsModal button.close-cross:focus-visible {
  outline:3px solid rgba(242,96,79,.25);
  outline-offset:2px;
}

/* Inputs (prompt + extra-wens) */
#promptInput, .extra-wish {
  width:100% !important; max-width:100% !important; box-sizing:border-box; padding:15px 18px !important; margin:0 !important;
  font-family:'Nunito',sans-serif; font-weight:700; font-size:16px; border:1.5px solid var(--input-border) !important;
  border-radius:16px !important; background:#fff !important; color:var(--ink) !important; outline:none; min-height:52px;
}
.extra-wish { font-weight:600; font-size:14px; min-height:46px; margin:0 0 22px !important; padding:13px 18px !important; }
#promptInput:focus, .extra-wish:focus { border-color:var(--coral) !important; box-shadow:0 0 0 4px rgba(242,96,79,0.12); }

/* Detailkeuze: het verschil is zichtbaar in de keuze zelf. */
#detail-level { margin:0 0 24px !important; max-width:100% !important; }
#detail-level .detail-heading-row {
  display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:9px;
}
#detail-level .detail-heading { margin:0; color:var(--ink); font-size:14px; font-weight:900; }
#detail-level .detail-helper { color:var(--muted); font-size:11px; font-weight:700; white-space:nowrap; }
#detail-level .detail-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
#detail-level .detail-btn {
  position:relative; min-width:0; width:auto !important; max-width:none; margin:0; padding:6px 6px 10px;
  display:flex !important; flex-direction:column; align-items:stretch; gap:7px; overflow:hidden; cursor:pointer;
  color:var(--ink); background:#fff !important; border:1.5px solid var(--input-border) !important; border-radius:17px;
  box-shadow:0 2px 6px rgba(47,42,46,.04); font-family:'Nunito',sans-serif; text-align:left;
  transition:border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
#detail-level .detail-btn:hover { transform:translateY(-1px); border-color:#DAB8AE !important; background:#fff !important; }
#detail-level .detail-btn:focus-visible { outline:3px solid rgba(242,96,79,.25); outline-offset:2px; }
#detail-level .detail-preview {
  position:relative; display:block; width:100%; aspect-ratio:3 / 2; overflow:hidden; border-radius:12px;
  background:#F8F5F1; border:1px solid rgba(217,204,187,.55);
}
#detail-level .detail-preview img { display:block; width:100%; height:100%; object-fit:cover; }
#detail-level .detail-recommended {
  position:absolute; top:6px; right:6px; padding:3px 6px; border-radius:999px; background:rgba(242,96,79,.94);
  color:#fff; font-size:8px; line-height:1; font-weight:900; letter-spacing:.02em; text-transform:uppercase;
  box-shadow:0 2px 5px rgba(47,42,46,.15);
}
#detail-level .detail-copy { display:flex; min-width:0; flex-direction:column; gap:1px; padding:0 3px; }
#detail-level .detail-name-row { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:4px; }
#detail-level .detail-name {
  overflow:hidden; font-family:'Baloo 2',cursive; font-size:14px; line-height:1.15; font-weight:800;
  text-overflow:ellipsis; white-space:nowrap;
}
#detail-level .detail-description { overflow:hidden; color:var(--muted); font-size:9px; line-height:1.25; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
#detail-level .detail-check {
  flex:0 0 16px; width:16px; height:16px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--coral); color:#fff; font-size:10px; font-weight:900; opacity:0; transform:scale(.7);
  transition:opacity .16s ease, transform .16s ease;
}
#detail-level .detail-btn.active {
  background:var(--coral-tint) !important; border:2px solid var(--coral) !important;
  box-shadow:0 5px 16px rgba(242,96,79,.16); color:var(--ink) !important;
}
#detail-level .detail-btn.active .detail-preview { border-color:rgba(242,96,79,.35); }
#detail-level .detail-btn.active .detail-check { opacity:1; transform:scale(1); }

@media (max-width:390px) {
  #detail-level .detail-buttons { gap:6px; }
  #detail-level .detail-btn { padding:5px 5px 8px; border-radius:14px; }
  #detail-level .detail-preview { border-radius:10px; }
  #detail-level .detail-name { font-size:12px; }
  #detail-level .detail-description { font-size:8px; }
  #detail-level .detail-recommended { top:4px; right:4px; padding:3px 5px; font-size:7px; }
  #detail-level .detail-check { flex-basis:14px; width:14px; height:14px; }
}

/* CTA + note */
#convertBtn {
  width:100% !important; max-width:100% !important; background:var(--coral) !important; color:#fff !important; border:none !important;
  border-radius:20px !important; padding:18px !important; font-family:'Baloo 2',cursive; font-weight:800; font-size:20px;
  cursor:pointer; box-shadow:0 5px 0 var(--coral-dark); transition:transform .08s, box-shadow .08s; margin:0;
}
#convertBtn:hover { background:var(--coral) !important; }
#convertBtn:active { transform:translateY(5px); box-shadow:0 0 0 var(--coral-dark); }
#convertBtn:disabled { background:#E7C9C3 !important; box-shadow:0 5px 0 #D9BAB4; }
.cta-note { text-align:center; font-size:13px; font-weight:700; color:var(--muted); margin:12px 0 20px; }
.payment-hold-notice {
  margin:0 0 22px; padding:15px 16px; border:1.5px solid #F3B8AD; border-radius:17px;
  background:#FFF1EE; color:var(--ink); box-shadow:0 5px 16px rgba(242,96,79,.09);
}
.payment-hold-notice[hidden] { display:none !important; }
.payment-hold-notice strong {
  display:block; margin-bottom:4px; color:#C83E31; font-family:'Baloo 2',cursive;
  font-size:17px; line-height:1.2; font-weight:800;
}
.payment-hold-notice p { margin:0 0 8px; color:var(--text2); font-size:13px; line-height:1.45; font-weight:650; }
.payment-hold-notice a { color:#B7352A; font-size:13px; line-height:1.2; font-weight:850; text-decoration:underline; }

/* Tekenen-hub */
#drawingSection {
  width:100%; margin:0; padding:0; color:var(--ink);
}
.drawing-heading { margin-bottom:18px; }
.drawing-kicker {
  display:block; margin-bottom:3px; color:var(--coral); font-size:10px; line-height:1.2;
  font-weight:900; letter-spacing:.12em;
}
.drawing-blank-card {
  position:relative; display:grid; grid-template-columns:82px minmax(0,1fr) auto; align-items:center; gap:16px;
  width:100% !important; max-width:none !important; min-height:126px; margin:0 !important; padding:18px !important;
  overflow:hidden; border:1.5px solid #F2D2CB !important; border-radius:24px !important;
  background:linear-gradient(135deg,#FFF3EE 0%,#FFF9E9 100%) !important; color:var(--ink) !important;
  box-shadow:0 8px 24px rgba(242,96,79,.12); text-align:left; cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.drawing-blank-card::after {
  content:''; position:absolute; right:-28px; bottom:-40px; width:125px; height:125px; border-radius:50%;
  background:rgba(242,96,79,.08); pointer-events:none;
}
.drawing-blank-card:hover { transform:translateY(-2px); border-color:var(--coral) !important; box-shadow:0 12px 28px rgba(242,96,79,.17); }
.drawing-blank-card:focus-visible, .drawing-creation-card:focus-visible {
  outline:3px solid rgba(74,157,224,.42); outline-offset:3px;
}
.drawing-blank-preview {
  display:grid; place-items:center; width:82px; height:88px; border-radius:21px;
  background:#fff; box-shadow:0 5px 16px rgba(47,42,46,.1); color:var(--ink);
}
.drawing-paper { display:block; width:62px; height:68px; }
.drawing-paper svg { display:block; width:100%; height:100%; }
.drawing-blank-copy { position:relative; z-index:1; display:block; min-width:0; }
.drawing-blank-copy strong {
  display:block; margin-bottom:3px; font-family:'Baloo 2',cursive; font-size:20px; line-height:1.15; font-weight:800;
}
.drawing-blank-copy small { display:block; color:var(--text2); font-size:13px; line-height:1.4; font-weight:700; }
.drawing-card-arrow {
  position:relative; z-index:1; display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
  background:var(--coral); color:#fff; font-size:20px; font-weight:900; box-shadow:0 3px 0 var(--coral-dark);
}
.drawing-drafts { margin-top:29px; }
.drawing-drafts[hidden] { display:none !important; }
.drawing-drafts-row {
  display:flex; gap:12px; overflow-x:auto; margin:0 -18px; padding:2px 18px 10px;
  scroll-snap-type:x proximity; scrollbar-width:none; overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.drawing-drafts-row::-webkit-scrollbar { display:none; }
.drawing-draft-item { position:relative; flex:0 0 164px; min-width:0; scroll-snap-align:start; }
.drawing-draft-card {
  display:block; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
  overflow:hidden; border:1px solid var(--hairline) !important; border-radius:19px !important;
  background:#fff !important; color:var(--ink) !important; text-align:left; cursor:pointer;
  box-shadow:0 3px 12px rgba(47,42,46,.08); transition:transform .15s ease, box-shadow .15s ease;
}
.drawing-draft-card:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(47,42,46,.13); }
.drawing-draft-preview {
  position:relative; display:grid; place-items:center; width:100%; aspect-ratio:4/3; overflow:hidden;
  border-bottom:1px solid var(--hairline); background:
    linear-gradient(45deg,#F6F2EC 25%,transparent 25%) 0 0/14px 14px,
    linear-gradient(45deg,transparent 75%,#F6F2EC 75%) 0 0/14px 14px,
    linear-gradient(45deg,transparent 75%,#F6F2EC 75%) 7px -7px/14px 14px,
    linear-gradient(45deg,#F6F2EC 25%,#fff 25%) 7px -7px/14px 14px;
}
.drawing-draft-preview img { display:block; width:100%; height:100%; padding:7px; object-fit:contain; }
.drawing-continue-badge {
  position:absolute; left:7px; bottom:7px; padding:5px 8px; border-radius:999px;
  background:rgba(74,157,224,.95); color:#fff; font-size:9px; line-height:1; font-weight:900;
  letter-spacing:.04em; text-transform:uppercase; box-shadow:0 2px 6px rgba(47,42,46,.14);
}
.drawing-draft-copy { display:block; padding:10px 11px 11px; }
.drawing-draft-copy strong {
  display:block; overflow:hidden; font-size:13px; line-height:1.25; font-weight:900; text-overflow:ellipsis; white-space:nowrap;
}
.drawing-draft-copy small { display:block; margin-top:2px; color:var(--muted); font-size:10px; line-height:1.3; font-weight:700; }
.drawing-draft-delete {
  position:absolute; z-index:2; top:7px; right:7px; display:grid; place-items:center;
  width:32px !important; max-width:none !important; height:32px; min-height:0; margin:0 !important; padding:0 !important;
  border:1px solid rgba(47,42,46,.12) !important; border-radius:50% !important;
  background:rgba(255,255,255,.94) !important; color:var(--coral-dark) !important;
  box-shadow:0 2px 8px rgba(47,42,46,.14); cursor:pointer;
}
.drawing-draft-delete svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.drawing-draft-delete:hover { background:#FFF2EF !important; }
.drawing-library { margin-top:29px; }
.drawing-library-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:13px; }
.drawing-library-heading h2 {
  margin:0; font-family:'Baloo 2',cursive; font-size:22px; line-height:1.15; font-weight:800;
}
.drawing-count {
  flex:0 0 auto; min-width:34px; padding:5px 10px; border-radius:999px;
  background:#EAF4FD; color:#347DB8; font-size:12px; line-height:1.2; font-weight:900; text-align:center;
}
.drawing-search {
  display:flex; align-items:center; gap:10px; width:100%; min-height:50px; margin:0 0 15px; padding:0 15px;
  border:1.5px solid var(--input-border); border-radius:17px; background:#fff;
  box-shadow:0 1px 3px rgba(47,42,46,.05); color:var(--placeholder);
}
.drawing-search:focus-within { border-color:var(--coral); box-shadow:0 0 0 4px rgba(242,96,79,.1); }
.drawing-search svg { flex:0 0 auto; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.drawing-search input {
  width:100% !important; max-width:none !important; min-width:0; min-height:46px; margin:0 !important; padding:0 !important;
  border:0 !important; outline:0; background:transparent !important; color:var(--ink);
  font-family:'Nunito',sans-serif; font-size:15px; font-weight:700;
}
.drawing-search input::placeholder { color:var(--placeholder); }
.drawing-creations-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.drawing-creation-card {
  display:block; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important;
  overflow:hidden; border:1px solid var(--hairline) !important; border-radius:19px !important;
  background:#fff !important; color:var(--ink) !important; text-align:left; cursor:pointer;
  box-shadow:0 3px 12px rgba(47,42,46,.07); transition:transform .15s ease, box-shadow .15s ease;
}
.drawing-creation-card:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(47,42,46,.12); }
.drawing-creation-image {
  position:relative; display:grid; place-items:center; width:100%; aspect-ratio:4/3; overflow:hidden;
  border-bottom:1px solid var(--hairline); background:#FAF8F4;
}
.drawing-creation-image img { display:block; width:100%; height:100%; padding:6px; object-fit:contain; }
.drawing-creation-image::after {
  content:'Kleur'; position:absolute; right:7px; bottom:7px; padding:4px 8px; border-radius:999px;
  background:rgba(76,175,125,.94); color:#fff; font-size:9px; line-height:1; font-weight:900; text-transform:uppercase;
  letter-spacing:.05em; box-shadow:0 2px 6px rgba(47,42,46,.12);
}
.drawing-creation-copy { display:block; padding:10px 11px 11px; }
.drawing-creation-copy strong {
  display:block; overflow:hidden; font-size:13px; line-height:1.25; font-weight:900; text-overflow:ellipsis; white-space:nowrap;
}
.drawing-creation-copy small {
  display:block; margin-top:2px; overflow:hidden; color:var(--muted); font-size:10px; line-height:1.3; font-weight:700;
  text-overflow:ellipsis; white-space:nowrap;
}
.drawing-empty {
  grid-column:1/-1; padding:28px 18px; border:1.5px dashed #D9CCBB; border-radius:20px;
  background:rgba(255,255,255,.55); color:var(--muted); text-align:center;
}
.drawing-empty strong { display:block; margin-bottom:3px; color:var(--ink); font-family:'Baloo 2',cursive; font-size:18px; }
.drawing-empty p { margin:0; font-size:13px; line-height:1.45; font-weight:700; }

@media (max-width:390px) {
  .drawing-blank-card { grid-template-columns:70px minmax(0,1fr) auto; gap:12px; padding:15px !important; }
  .drawing-blank-preview { width:70px; height:78px; }
  .drawing-paper { width:55px; height:61px; }
  .drawing-blank-copy strong { font-size:18px; }
  .drawing-blank-copy small { font-size:12px; }
  .drawing-card-arrow { width:34px; height:34px; }
  .bottom-nav .tab-btn { font-size:10px; }
}

/* Koop-muntjes knop (subtieler op Maak; hoofd-plek wordt Profiel) */
#buyTokensBtn {
  width:100% !important; max-width:100% !important; background:#FFF6E3 !important; color:#8a5a00 !important;
  border:1px solid #F0DDB2 !important; border-radius:999px !important; padding:12px !important; font-weight:900; font-size:14px;
  cursor:pointer; margin:0 0 16px !important; font-family:'Nunito',sans-serif;
}

/* ═══════════════════════════════════════════════════════════════
   REDESIGN v2 — Fase 3: Muur + Mijn werk
   ═══════════════════════════════════════════════════════════════ */
#publicWall, #my-creations, #profileCreations, #profileShared {
  background:none !important; box-shadow:none !important; border-radius:0 !important; padding:0 !important; margin:0 !important; width:auto !important;
}
#publicWall h2, #my-creations h2 { display:none; }

/* Zoek-pill */
#wall-controls { background:none !important; box-shadow:none !important; padding:0 !important; margin:0 0 14px !important; border-radius:0 !important; }
#wall-search {
  display:flex; align-items:center; gap:10px; background:#fff; border:1.5px solid var(--input-border);
  border-radius:999px; padding:4px 16px 4px 14px; box-shadow:0 1px 3px rgba(47,42,46,0.05);
}
#wall-search #wallSearchBtn {
  background:none !important; border:none !important; padding:0 !important; margin:0 !important; width:auto !important; max-width:none !important;
  color:var(--placeholder); display:flex; align-items:center; cursor:pointer; flex:0 0 auto; min-height:auto;
}
#wall-search #wallSearchInput {
  flex:1; border:none !important; outline:none; background:none !important; font-family:'Nunito',sans-serif; font-weight:700; font-size:15px;
  color:var(--ink); min-height:44px; margin:0 !important; padding:0 !important; max-width:none !important; width:auto !important;
}

/* Segmented control (wall tabs) */
#wall-tabs-sort { display:flex; flex-direction:column; gap:10px; margin-bottom:12px; }
#wall-tabs { display:flex; background:var(--seg-bg); border-radius:999px; padding:4px; gap:4px; }
#wall-tabs .wall-tab {
  flex:1; border:none !important; background:none !important; border-radius:999px; padding:10px 6px; cursor:pointer;
  font-family:'Baloo 2',cursive; font-weight:700; font-size:14px; color:var(--muted); min-height:44px; margin:0; max-width:none; width:auto;
}
#wall-tabs .wall-tab.active { background:#fff !important; color:var(--ink) !important; box-shadow:0 1px 4px rgba(47,42,46,0.12); }
#wall-sort { align-self:flex-end; }
#wallSortSelect {
  border:1.5px solid var(--input-border); border-radius:12px; padding:8px 12px; font-family:'Nunito',sans-serif;
  font-weight:700; font-size:13px; color:var(--text2); background:#fff; cursor:pointer; max-width:none; width:auto;
}

/* Categorie-chips (horizontale scroll, bleed) */
#wall-category-chips, #my-creations-category-chips {
  margin:0 -18px 18px !important; padding:2px 18px 6px !important; overflow-x:auto; -webkit-overflow-scrolling:touch;
  background:none !important; scrollbar-width:none;
}
#wall-category-chips::-webkit-scrollbar, #my-creations-category-chips::-webkit-scrollbar { display:none; }
#category-chips-row, #my-creations-chips-row { display:flex; gap:8px; min-width:max-content; }
.category-chip, .my-creation-chip {
  padding:9px 16px; border-radius:999px; border:1.5px solid var(--input-border); background:#fff; color:var(--text2);
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:800; cursor:pointer; white-space:nowrap; min-height:40px; margin:0; max-width:none; width:auto;
}
.category-chip.active, .my-creation-chip.active { background:var(--ink) !important; color:#fff !important; border-color:var(--ink) !important; }

/* Kaart-grid + kaarten */
#sharedCreationsList, #creationsList, #profileCreationsList, #profileSharedList, #profileFavoritesList {
  display:grid !important; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:14px; min-height:auto;
}
.creation-container {
  background:#fff; border:1px solid var(--hairline); border-radius:18px; overflow:hidden; position:relative;
  text-align:left; box-shadow:var(--card-shadow);
}
.creation-container img {
  width:100%; height:132px; object-fit:cover; border:none !important; border-bottom:1px solid var(--hairline) !important;
  border-radius:0 !important;
}
.creation-container img:hover { transform:none; border-color:var(--hairline); }
.creation-meta { padding:10px 12px 12px; text-align:left; }
.creation-title { font-size:14px; font-weight:900; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.creation-row { display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:700; color:var(--muted); margin-top:3px; }
.creation-creator { color:var(--muted); }
.creation-likes { color:var(--coral); display:flex; align-items:center; gap:4px; }

/* Secundaire knop (Laat meer zien) */
.btn-secondary {
  width:100% !important; max-width:100% !important; margin:18px 0 0 !important; background:#fff !important; color:var(--ink) !important;
  border:1.5px solid var(--input-border) !important; border-radius:18px !important; padding:14px !important;
  font-family:'Baloo 2',cursive; font-weight:700; font-size:16px; cursor:pointer; box-shadow:0 3px 0 var(--input-border);
  transition:transform .08s, box-shadow .08s;
}
.btn-secondary:hover { background:#fff !important; }
.btn-secondary:active { transform:translateY(3px); box-shadow:0 0 0 var(--input-border); }

/* ═══════════════════════════════════════════════════════════════
   REDESIGN v2 — Fase 4: Profiel
   ═══════════════════════════════════════════════════════════════ */
#profile-info { width:100%; }
#profile-header { text-align:center; margin-bottom:16px; }
#profile-avatar {
  width:84px; height:84px; border-radius:50%; background:linear-gradient(160deg,var(--ochre),var(--coral));
  margin:0 auto 12px; display:flex; align-items:center; justify-content:center;
  font-family:'Baloo 2',cursive; font-weight:800; font-size:38px; color:#fff; box-shadow:0 6px 16px rgba(242,96,79,0.3);
}
#profileTitle {
  margin:0; font-family:'Baloo 2',cursive; font-weight:800; font-size:25px; color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink); display:flex; align-items:center; justify-content:center; gap:8px;
}
#profileTitle #editNameBtnSmall {
  background:#fff; border:1px solid var(--hairline); border-radius:50%; width:32px; height:32px; min-height:auto;
  cursor:pointer; padding:0; display:inline-flex; align-items:center; justify-content:center; font-size:14px; color:var(--muted); max-width:none;
}
#profileTitle #editNameBtnSmall:active { transform:scale(0.9); }
#profileSubtitle { margin:2px 0 0; font-weight:700; color:var(--muted); font-size:13px; }

/* Level-kaart */
#level-card {
  background:linear-gradient(160deg,var(--lila-tint),var(--blue-tint)); border-radius:22px; padding:16px 18px; margin-bottom:14px;
  box-shadow:0 1px 2px rgba(47,42,46,0.04),0 6px 16px rgba(142,124,195,0.12);
}
#level-card .level-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:9px; }
#level-card #profileLevel { font-family:'Baloo 2',cursive; font-weight:800; font-size:16px; color:var(--ink); background:none; padding:0; border-radius:0; display:inline; }
#level-card #levelCount { font-size:12px; font-weight:900; color:var(--lila); }
#level-card .level-track { height:12px; background:rgba(255,255,255,0.8); border-radius:999px; overflow:hidden; }
#level-card .level-fill { height:100%; background:linear-gradient(90deg,var(--lila),var(--blue)); border-radius:999px; width:0; transition:width .4s; }
#level-card #levelRemaining { margin:9px 0 0; font-size:12px; font-weight:800; color:var(--text2); }

/* Stat-tiles */
#profile-stats { display:grid !important; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:22px; }
.stat-tile { background:#fff; border:1px solid var(--hairline); border-radius:16px; padding:12px 4px; text-align:center; box-shadow:0 1px 3px rgba(47,42,46,0.04); }
.stat-tile .stat-num { font-family:'Baloo 2',cursive; font-weight:800; font-size:21px; }
.stat-tile .stat-lbl { font-size:10.5px; font-weight:900; color:var(--muted); letter-spacing:0.3px; }
.stat-blue{ color:var(--blue); } .stat-coral{ color:var(--coral); } .stat-green{ color:var(--green); } .stat-ochre{ color:var(--ochre); }

/* Profiel-tabs -> segmented */
#profile-tabs { display:flex !important; background:var(--seg-bg); border-radius:999px; padding:4px !important; gap:4px; margin-bottom:14px; border:none !important; }
#profile-tabs .profile-tab {
  flex:1; border:none !important; background:none !important; border-radius:999px; padding:10px 6px !important; cursor:pointer;
  font-family:'Baloo 2',cursive; font-weight:700; font-size:14px; color:var(--muted) !important; min-height:44px; margin:0; max-width:none; width:auto;
}
#profile-tabs .profile-tab.active { background:#fff !important; color:var(--ink) !important; box-shadow:0 1px 4px rgba(47,42,46,0.12); }
#profile-content { padding:0 !important; }
#profile-content h2 { display:none; }

/* Voor ouders */
#voor-ouders { background:#fff; border:1px solid var(--hairline); border-radius:20px; box-shadow:var(--card-shadow); overflow:hidden; margin-top:22px; }
#voor-ouders .vo-head { padding:14px 18px; border-bottom:1px solid #F0E8DC; display:flex; align-items:center; gap:8px; }
#voor-ouders .vo-head span { font-family:'Baloo 2',cursive; font-weight:800; font-size:15px; color:var(--text2); }
#voor-ouders .vo-row { display:flex; justify-content:space-between; align-items:center; padding:14px 18px; border-bottom:1px solid #F5EFE6; }
#voor-ouders .vo-title { font-weight:800; font-size:14px; color:var(--ink); }
#voor-ouders .vo-sub { font-size:12px; font-weight:600; color:var(--muted); }
#voor-ouders #buyTokensBtn {
  width:auto !important; max-width:none !important; margin:0 !important; background:#FFF6E3 !important; color:#8a5a00 !important;
  border:1px solid #F0DDB2 !important; border-radius:999px !important; padding:10px 16px !important; font-weight:900; font-size:13px; min-height:44px;
}
#voor-ouders .vo-link, #voor-ouders .vo-logout {
  display:flex !important; width:100%; align-items:center; padding:14px 18px; border:none; background:none; cursor:pointer;
  font-family:'Nunito',sans-serif; box-sizing:border-box; min-height:48px; max-width:none; margin:0; border-radius:0;
}
#voor-ouders .vo-link { justify-content:space-between; border-bottom:1px solid #F5EFE6; font-weight:800; font-size:14px; color:var(--ink); }
#voor-ouders .vo-link .vo-chev { color:var(--placeholder); font-weight:900; }
#voor-ouders .vo-idea-link { text-align:left; background:linear-gradient(90deg,#fffaf0 0%,#fff 72%); }
#voor-ouders .vo-idea-link > span:first-child { display:grid; gap:2px; }
#voor-ouders .vo-idea-link strong { color:var(--ink); font-size:14px; line-height:1.25; }
#voor-ouders .vo-idea-link small { color:#9a6c18; font-size:11px; line-height:1.35; font-weight:800; }
#voor-ouders .vo-idea-link:hover { background:#fff6e3; }
#voor-ouders .vo-cancellation-link { text-align:left; background:linear-gradient(90deg,#f5fbff 0%,#fff 72%); }
#voor-ouders .vo-cancellation-link > span:first-child { display:grid; gap:2px; }
#voor-ouders .vo-cancellation-link strong { color:var(--ink); font-size:14px; line-height:1.25; }
#voor-ouders .vo-cancellation-link small { color:#53798f; font-size:11px; line-height:1.35; font-weight:800; }
#voor-ouders .vo-cancellation-link:hover { background:#eef8ff; }
#voor-ouders .vo-logout { color:var(--coral-dark) !important; font-weight:900; font-size:14px; justify-content:flex-start; }

/* ═══════════════════════════════════════════════════════════════
   REDESIGN v2 — Fase 5: Detail bottom-sheet
   ═══════════════════════════════════════════════════════════════ */
#detailModal { align-items:flex-end !important; }
#detailModal .modal-content {
  background:var(--bg) !important; border-radius:28px 28px 0 0 !important; width:100% !important; max-width:520px !important;
  max-height:88vh; overflow-y:auto; padding:12px 20px 30px !important; box-shadow:0 -8px 40px rgba(47,42,46,0.25) !important; text-align:left;
}
.sheet-grabber { width:40px; height:5px; border-radius:999px; background:#DED3C3; margin:0 auto 14px; }
#detailModal #closeDetailCross {
  position:absolute; top:16px; right:20px; left:auto; width:36px; height:36px; background:#fff; border:1px solid var(--hairline);
  border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--muted); cursor:pointer;
}
#detailImage { width:100%; height:240px; object-fit:contain; border-radius:20px; box-shadow:0 2px 8px rgba(47,42,46,0.06); background:#fff; margin:0 0 14px; }
#detailNameSection { margin:0 0 12px; }
#detailNameSection p { font-family:'Baloo 2',cursive; font-weight:800; font-size:22px; color:var(--ink); margin:0; display:flex; align-items:center; gap:8px; }
#detailNameSection strong { display:none; }
#detailNameSection #editNameBtn2 {
  background:#fff !important; border:1px solid var(--hairline) !important; border-radius:50%; width:30px; height:30px;
  padding:0 !important; font-size:13px; color:var(--muted) !important; cursor:pointer; min-height:auto; max-width:none; margin:0 !important;
}
#detailStats { font-size:13px; color:var(--text2); margin:0 0 16px; }
#detailStats > p { margin:3px 0; font-weight:600; }
#detailStats strong { font-weight:800; color:var(--muted); }
#detailStats #detailTagsList span { background:#fff; border:1px solid var(--hairline); border-radius:999px; padding:3px 10px; font-size:12px; font-weight:700; color:var(--text2); }

/* Actieknoppen */
#detailActions { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 8px; }
#detailModal #detailActions button {
  border:none; border-radius:16px; padding:14px 8px; font-family:'Baloo 2',cursive; font-weight:800; font-size:15px; cursor:pointer;
  margin:0; width:auto; max-width:none; min-height:50px; transition:transform .08s, box-shadow .08s;
}
#detailModal #detailColorBtn {
  grid-column:1 / -1; background:var(--coral) !important; color:#fff !important;
  box-shadow:0 4px 0 var(--coral-dark); font-size:16px !important;
}
#detailModal #detailColorBtn::before { content:'\270E'; margin-right:8px; }
#detailModal #detailColorBtn:active { transform:translateY(4px); box-shadow:0 0 0 var(--coral-dark); }
#detailModal #detailPrintBtn { background:var(--green) !important; color:#fff !important; box-shadow:0 4px 0 var(--green-dark); }
#detailModal #detailPrintBtn:active { transform:translateY(4px); box-shadow:0 0 0 var(--green-dark); }
#detailModal #detailDownloadBtn { background:var(--blue) !important; color:#fff !important; box-shadow:0 4px 0 var(--blue-dark); }
#detailModal #detailDownloadBtn:active { transform:translateY(4px); box-shadow:0 0 0 var(--blue-dark); }
#detailModal #detailLikeBtn, #detailModal #detailShareBtn, #detailModal #detailSocialShareBtn {
  background:#fff !important; color:var(--ink) !important; border:1.5px solid var(--input-border) !important;
  font-family:'Nunito',sans-serif !important; font-weight:900 !important; font-size:13px !important;
}
#detailModal #detailDeleteBtn {
  grid-column:1 / -1; background:none !important; color:var(--coral-dark) !important; font-family:'Nunito',sans-serif !important;
  font-weight:900 !important; font-size:13px !important; box-shadow:none !important; min-height:44px !important;
}
#detailModal #detailReportBtn { grid-column:1 / -1; background:none !important; border:none !important; color:var(--coral-dark) !important; box-shadow:none !important; min-height:38px !important; font-weight:900 !important; }

/* Berichtjes */
#commentSection { margin-top:8px; }
#commentSection h3 { font-family:'Baloo 2',cursive; font-weight:800; font-size:17px; margin:0 0 10px; }
#commentSection #commentInput {
  width:100% !important; max-width:100% !important; box-sizing:border-box; border:1.5px solid var(--input-border) !important; border-radius:16px;
  padding:12px 16px; font-family:'Nunito',sans-serif; font-weight:700; font-size:13px; background:#fff !important; color:var(--ink); min-height:60px; margin:0 0 8px;
}
#commentSection #addCommentBtn {
  background:var(--coral) !important; color:#fff !important; border:none !important; border-radius:14px !important; padding:10px 20px !important;
  font-family:'Baloo 2',cursive; font-weight:700; cursor:pointer; box-shadow:0 3px 0 var(--coral-dark); width:auto !important; max-width:none;
}
#detailModal #closeDetailBtn { display:none; }

/* ═══════════════════════════════════════════════════════════════
   REDESIGN v2 — Fase 6: Net gemaakt, Muur tidy, toast, lege staten
   ═══════════════════════════════════════════════════════════════ */
.section-title { font-family:'Baloo 2',cursive; font-weight:800; font-size:19px; margin:0 0 10px; color:var(--ink); }
#recent-creations .section-title { font-family:'Baloo 2',cursive; }
#recent-creations { margin-top:8px !important; }
#creationsCarousel {
  display:flex !important; gap:12px; overflow-x:auto; overflow-y:hidden; padding-bottom:6px;
  scrollbar-width:none; scroll-snap-type:x mandatory;
}
@media (min-width:488px) {
  #creationsCarousel { justify-content:center; }
}
#creationsCarousel::-webkit-scrollbar { display:none; }
#creationsCarousel .creation-container {
  flex:0 0 104px !important; width:104px; height:104px; border-radius:16px; overflow:hidden; scroll-snap-align:start;
  border:1px solid var(--hairline); box-shadow:0 2px 6px rgba(47,42,46,0.05); background:#fff; text-align:center;
}
#creationsCarousel .creation-container img { width:104px !important; height:104px !important; object-fit:cover; border:none !important; border-radius:16px !important; }

/* Muur: verberg de losse sorteer-dropdown (overlapt met de 'Populair'-tab) */
#wall-sort { display:none !important; }
#wall-tabs-sort { margin-bottom:14px; }

/* Toast */
#toast, .toast {
  background:var(--ink) !important; color:#fff !important; border-radius:999px !important; font-family:'Nunito',sans-serif !important;
  font-weight:700 !important; padding:12px 20px !important; box-shadow:0 8px 24px rgba(47,42,46,0.25) !important; border:none !important;
}

/* ═══════════════════════════════════════════════════════════════
   REDESIGN v2 — Onboarding (welkom, uitgelogd) + laadschermen
   ═══════════════════════════════════════════════════════════════ */
#welcome { background:none !important; box-shadow:none !important; border-radius:0 !important; padding:0 !important; text-align:center; gap:0 !important; }
#welcome { font-family:'Nunito',sans-serif; }
.welcome-hero {
  background:linear-gradient(160deg,#EAF4FD 0%,#F3EBFB 100%); border-radius:26px; padding:34px 26px; text-align:center; margin-bottom:16px;
  box-shadow:0 1px 2px rgba(47,42,46,0.04),0 8px 24px rgba(74,157,224,0.12);
}
.welcome-dots { display:inline-flex; margin-bottom:14px; }
.welcome-dots i { width:22px; height:22px; border-radius:50%; display:inline-block; }
.welcome-dots i:nth-child(1){ background:var(--coral); }
.welcome-dots i:nth-child(2){ background:var(--ochre); margin-left:-7px; }
.welcome-dots i:nth-child(3){ background:var(--blue); margin-left:-7px; }
.welcome-dots i:nth-child(4){ background:var(--green); margin-left:-7px; }
#welcome .welcome-h1 { font-family:'Baloo 2',cursive; font-weight:800; font-size:32px; line-height:1.15; margin:0 0 10px; color:var(--ink); }
#welcome .welcome-intro { font-family:'Nunito',sans-serif; font-size:16px; font-weight:600; margin:0 auto 22px; color:var(--text2); max-width:340px; }
.welcome-cta {
  background:var(--coral) !important; color:#fff !important; border:none !important; border-radius:18px !important; padding:16px 30px !important;
  font-family:'Baloo 2',cursive; font-weight:800; font-size:19px; cursor:pointer; box-shadow:0 4px 0 var(--coral-dark); min-height:56px;
  width:auto !important; max-width:none !important; transition:transform .08s, box-shadow .08s;
}
.welcome-cta:hover { background:var(--coral) !important; }
.welcome-cta:active { transform:translateY(4px); box-shadow:0 0 0 var(--coral-dark); }
#welcome .welcome-note { font-family:'Nunito',sans-serif; margin:12px 0 0; font-size:12px; font-weight:700; color:var(--muted); }

#welcome .features { display:grid !important; grid-template-columns:1fr 1fr 1fr; gap:12px; margin:0 0 22px; }
#welcome .feature { background:#fff; border:1px solid var(--hairline); border-radius:20px; padding:18px 12px; text-align:center; box-shadow:var(--card-shadow); max-width:none; }
.feature-icon { width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; }
.feature-icon-coral { background:var(--coral-tint); }
.feature-icon-blue { background:var(--blue-tint); }
.feature-icon-green { background:#EDF7F1; }
.feature-label { font-family:'Nunito',sans-serif; font-weight:800; font-size:13px; margin-top:8px; line-height:1.25; color:var(--ink); }

.example-transform {
  margin:0 0 24px; padding:22px 18px 18px; overflow:hidden;
  background:linear-gradient(145deg,#FFF7E2 0%,#FFF2E9 100%);
  border:1px solid #F1DFC0; border-radius:24px; box-shadow:0 4px 16px rgba(47,42,46,0.06);
}
.example-transform-heading { max-width:390px; margin:0 auto 17px; }
.example-transform-kicker {
  display:inline-block; margin-bottom:3px; color:var(--coral); font-size:11px; line-height:1.2;
  font-weight:900; letter-spacing:.08em; text-transform:uppercase;
}
#welcome .example-transform h2 {
  margin:0 0 4px; color:var(--ink); font-family:'Baloo 2',cursive; font-size:25px; line-height:1.2; font-weight:800;
}
#welcome .example-transform-heading p { margin:0; color:var(--text2); font-size:13px; line-height:1.45; font-weight:600; }
.example-transform-grid { display:grid; grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr); align-items:center; gap:8px; }
.example-transform-card { min-width:0; margin:0; }
.example-transform-image {
  position:relative; overflow:hidden; aspect-ratio:2 / 3; background:#fff; border:4px solid #fff;
  border-radius:17px; box-shadow:0 3px 12px rgba(47,42,46,0.12);
}
.example-transform-image img { display:block; width:100%; height:100%; object-fit:cover; }
.example-transform-label {
  position:absolute; top:8px; left:8px; padding:4px 9px; border-radius:999px;
  background:rgba(255,255,255,.94); color:var(--ink); font-size:11px; line-height:1; font-weight:900;
  box-shadow:0 2px 6px rgba(47,42,46,.12);
}
.example-transform-after .example-transform-label { background:var(--green); color:#fff; }
.example-transform-card figcaption { margin-top:8px; color:var(--text2); font-size:11px; line-height:1.25; font-weight:800; }
.example-transform-arrow {
  position:relative; z-index:1; display:grid; place-items:center; width:32px; height:32px; margin-left:-3px;
  border-radius:50%; background:var(--coral); color:#fff; font-family:'Nunito',sans-serif; font-size:19px; font-weight:900;
  box-shadow:0 3px 0 var(--coral-dark);
}

.how-it-works { text-align:left; margin-top:6px; }
#welcome .how-it-works .section-title { font-family:'Baloo 2',cursive; font-size:27px; font-weight:800; margin:0 0 10px; }
.how-step { display:flex; gap:12px; align-items:flex-start; background:#fff; border:1px solid var(--hairline); border-radius:16px; padding:14px; margin-bottom:10px; box-shadow:0 1px 3px rgba(47,42,46,0.04); }
.how-num { flex:0 0 auto; width:28px; height:28px; border-radius:50%; background:var(--coral); color:#fff; font-family:'Baloo 2',cursive; font-weight:800; display:flex; align-items:center; justify-content:center; font-size:15px; }
.how-title { font-weight:800; font-size:14px; color:var(--ink); }
.how-sub { font-size:13px; font-weight:600; color:var(--muted); margin-top:2px; }

#welcome .origin-story {
  display:flex; gap:14px; align-items:flex-start; margin-top:22px; padding:20px;
  text-align:left; background:linear-gradient(145deg,#FFF7E2 0%,#FFF2E9 100%);
  border:1px solid #F1DFC0; border-radius:20px; box-shadow:0 2px 8px rgba(47,42,46,0.05);
}
.origin-story-icon {
  flex:0 0 auto; width:42px; height:42px; display:grid; place-items:center;
  border-radius:50%; background:#fff; font-size:20px; box-shadow:0 2px 6px rgba(47,42,46,0.06);
}
#welcome .origin-story h2 {
  margin:0 0 6px; font-family:'Baloo 2',cursive; font-size:20px; line-height:1.2;
  font-weight:800; color:var(--ink);
}
#welcome .origin-story p {
  margin:0; font-size:14px; line-height:1.55; font-weight:600; color:var(--text2);
}
.origin-story-link { display:inline-block; margin-top:9px; color:var(--coral-dark); font-size:13px; font-weight:900; text-decoration:none; }
.origin-story-link:hover { text-decoration:underline; }

.analytics-consent {
  position:fixed; z-index:10000; left:50%; bottom:18px; transform:translateX(-50%);
  width:min(600px,calc(100% - 28px)); box-sizing:border-box; padding:17px 18px;
  display:flex; align-items:center; gap:18px; border:1px solid var(--hairline); border-radius:20px;
  background:#fff; box-shadow:0 12px 38px rgba(47,42,46,.22); color:var(--ink); text-align:left;
}
.analytics-consent[hidden] { display:none; }
.analytics-consent strong { display:block; font-family:'Baloo 2',cursive; font-size:17px; line-height:1.2; }
.analytics-consent p { margin:3px 0 0; color:var(--text2); font-size:12px; line-height:1.4; font-weight:600; }
.analytics-consent a { color:var(--coral-dark); font-weight:800; }
.analytics-consent-actions { display:flex; flex:0 0 auto; gap:8px; }
.analytics-consent-actions button { min-height:42px; padding:9px 13px; border-radius:13px; font-family:'Nunito',sans-serif; font-weight:800; cursor:pointer; }
#analyticsReject { border:1px solid var(--hairline); background:#fff; color:var(--text2); }
#analyticsAccept { border:0; background:var(--coral); color:#fff; box-shadow:0 3px 0 var(--coral-dark); }
@media (max-width:600px) {
  .analytics-consent { bottom:12px; display:block; padding:16px; }
  .analytics-consent-actions { margin-top:13px; }
  .analytics-consent-actions button { flex:1; }
}

/* Laadschermen (waren blauw/paars) */
#loadingOverlay {
  background:var(--bg) !important; color:var(--ink) !important; font-family:'Baloo 2',cursive !important; flex-direction:column; gap:16px;
}
#loadingOverlay::after {
  content:''; width:34px; height:34px; border:4px solid #E5DACC; border-top-color:var(--coral); border-radius:50%; animation:spin 1s linear infinite;
}
#loading { background:rgba(47,42,46,0.55) !important; font-family:'Baloo 2',cursive; }
#loading::before { border-color:rgba(255,255,255,0.35) !important; border-top-color:#fff !important; }
#authLoading { color:var(--coral) !important; }
#authLoading::before { border-color:#F2604F !important; border-top-color:transparent !important; }

/* ═══════════════════════════════════════════════════════════════
   FIXES: segmented control, zoek-input, chips-scroll, modals
   ═══════════════════════════════════════════════════════════════ */
/* #1 Segmented control — gegarandeerd gelijke breedtes */
#wall-tabs { display:flex !important; width:100%; box-sizing:border-box; }
#wall-tabs .wall-tab { flex:1 1 0 !important; min-width:0 !important; }
#wall-tabs .wall-tab:hover:not(.active) { color:var(--muted) !important; border-color:transparent !important; background:none !important; }

/* #2/#6 Chips + carousel: sleepbaar, cursor + geen tekstselectie tijdens slepen */
#wall-category-chips, #my-creations-category-chips, #creationsCarousel { cursor:grab; }
#wall-category-chips.dragging, #my-creations-category-chips.dragging, #creationsCarousel.dragging { cursor:grabbing; user-select:none; }
#wall-category-chips.dragging *, #my-creations-category-chips.dragging *, #creationsCarousel.dragging * { pointer-events:none; }

/* #4 Zoek-input: volledig transparant, vult de pill (geen eigen kader/vorm) */
#wall-search { min-height:52px; box-sizing:border-box; }
#wall-search #wallSearchInput {
  background:transparent !important; border:none !important; border-radius:0 !important; box-shadow:none !important;
  margin:0 !important; padding:0 !important; height:44px; min-height:44px; max-width:none !important; width:auto !important; flex:1;
}
#wall-search #wallSearchInput:focus { outline:none !important; box-shadow:none !important; border:none !important; }

/* #7/#8 Modals: nieuwe stijl + consistent gecentreerd (detail-sheet uitgezonderd) */
.modal {
  background-color:rgba(47,42,46,0.45) !important; -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  align-items:center !important; padding:20px; box-sizing:border-box;
}
.modal-content {
  background:#fff !important; border:1px solid var(--hairline) !important; border-radius:24px !important; padding:24px !important;
  max-width:400px !important; width:100%; box-shadow:0 20px 60px rgba(47,42,46,0.25) !important; text-align:center; margin:0 !important;
}
.modal-content h2 { font-family:'Baloo 2',cursive !important; color:var(--ink) !important; font-size:20px !important; margin:0 0 14px !important; text-shadow:none; }
.modal-content input[type="text"] {
  width:100% !important; max-width:100% !important; box-sizing:border-box; border:1.5px solid var(--input-border) !important; border-radius:14px !important;
  padding:12px 16px !important; font-family:'Nunito',sans-serif; font-weight:700; background:#fff !important; color:var(--ink) !important; margin:8px 0 !important;
}
.modal-content input[type="text"]:focus { border-color:var(--coral) !important; box-shadow:0 0 0 4px rgba(242,96,79,0.12) !important; }
/* modal-knoppen: opslaan = koraal, annuleren = wit-secundair */
#changeNameModal #saveChangeNameBtn, #addTagsModal #saveTagsBtn, #shareNameModal #shareNameConfirmBtn, #shareModal #confirmShareBtn, #confirmModal #confirmOkBtn {
  background:var(--coral) !important; color:#fff !important; border:none !important; border-radius:14px !important; padding:12px 18px !important;
  font-family:'Baloo 2',cursive; font-weight:700; font-size:15px; box-shadow:0 3px 0 var(--coral-dark); cursor:pointer; max-width:none; width:auto;
}
#changeNameModal #cancelChangeNameBtn, #addTagsModal #cancelTagsBtn, #shareNameModal #shareNameCancelBtn, #shareModal #cancelShareBtn, #confirmModal #confirmCancelBtn {
  background:#fff !important; color:var(--ink) !important; border:1.5px solid var(--input-border) !important; border-radius:14px !important; padding:12px 18px !important;
  font-family:'Nunito',sans-serif; font-weight:800; font-size:14px; cursor:pointer; box-shadow:none; max-width:none; width:auto;
}
.modal-content .close-cross { color:var(--muted); }

/* ═══════════════════════════════════════════════════════════════
   FIX: modals op consistente afstand vanaf de bovenkant
   (verticaal centreren gaf lange modals een andere top-marge)
   ═══════════════════════════════════════════════════════════════ */
.modal { align-items:flex-start !important; padding:11vh 20px 24px !important; box-sizing:border-box; }
.modal-content { max-height:78vh; }
/* detail = bottom-sheet, blijft aan de onderkant */
#detailModal { align-items:flex-end !important; padding:0 !important; }
/* settings-modal knoppen in de nieuwe stijl */
#settingsModal #changeNameFromSettingsBtn { background:var(--coral) !important; border:none !important; border-radius:14px !important; font-family:'Baloo 2',cursive; font-weight:700; }
#settingsModal #deleteAccountBtn { background:#fff !important; color:var(--coral-dark) !important; border:1.5px solid #F0C7C1 !important; border-radius:14px !important; font-weight:800; }
#settingsModal .admin-settings-link { display:block; padding:11px 16px; border-radius:14px; background:var(--ink); color:#fff; text-align:center; text-decoration:none; font-weight:900; }
.report-modal-content { width:min(390px,calc(100vw - 32px)) !important; max-width:390px !important; padding:30px 28px 24px !important; text-align:left !important; overflow:visible !important; }
.report-modal-content #closeReportModal { position:absolute !important; top:12px !important; right:14px !important; left:auto !important; width:38px !important; height:38px !important; min-height:38px !important; display:grid !important; place-items:center !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:50% !important; background:#f7f3f4 !important; color:var(--muted) !important; box-shadow:none !important; font:400 27px/1 Arial,sans-serif !important; cursor:pointer; }
.report-modal-content #closeReportModal:hover { background:#efe8ea !important; color:var(--ink) !important; transform:none !important; }
.report-modal-content h2 { margin:0 48px 8px 0 !important; font-size:22px !important; }
.report-modal-content > p { color:var(--muted); font-size:14px; line-height:1.5; margin:0 0 16px; }
.report-modal-content select { width:100%; padding:12px 14px; border:1.5px solid var(--input-border); border-radius:14px; background:#fff; color:var(--ink); font:700 14px 'Nunito',sans-serif; }
.report-modal-content #confirmReportBtn { width:100% !important; max-width:none !important; margin:16px 0 8px !important; background:var(--coral) !important; color:#fff !important; border:0 !important; border-radius:14px !important; box-shadow:0 4px 0 var(--coral-dark) !important; }
.report-modal-content .btn-cancel { width:100% !important; max-width:none !important; margin:0 !important; background:transparent !important; color:var(--muted) !important; box-shadow:none !important; }
.feature-idea-modal-content { width:min(430px,calc(100vw - 28px)) !important; max-width:430px !important; padding:28px !important; text-align:left !important; }
.feature-idea-modal-content #closeFeatureIdeaModal { position:absolute !important; top:12px !important; right:14px !important; left:auto !important; width:38px !important; height:38px !important; min-height:38px !important; display:grid !important; place-items:center !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:50% !important; background:#f7f3f4 !important; color:var(--muted) !important; box-shadow:none !important; font:400 27px/1 Arial,sans-serif !important; cursor:pointer; }
.feature-idea-modal-content #closeFeatureIdeaModal:hover { background:#efe8ea !important; color:var(--ink) !important; transform:none !important; }
.feature-idea-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:12px; border-radius:15px; background:#fff2c9; font-size:24px; box-shadow:0 3px 0 #f0d17b; }
.feature-idea-kicker { color:#d88916; font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.feature-idea-modal-content h2 { margin:4px 46px 5px 0 !important; font-size:24px !important; line-height:1.15; }
.feature-idea-intro { margin:0 0 16px; color:var(--muted); font-size:14px; line-height:1.5; font-weight:650; }
.feature-idea-reward { margin:0 0 18px; padding:14px 15px; border:1px solid #efdba9; border-radius:16px; background:#fff8e7; }
.feature-idea-reward strong { display:block; margin-bottom:5px; color:#79520c; font-size:13px; }
.feature-idea-reward p { margin:0 0 5px; color:#6f6048; font-size:12px; line-height:1.5; }
.feature-idea-reward small { color:#93846c; font-size:10px; font-weight:800; }
.feature-idea-modal-content form { display:grid; gap:7px; }
.feature-idea-modal-content label { margin-top:3px; color:var(--ink); font-size:13px; font-weight:900; }
.feature-idea-modal-content select,.feature-idea-modal-content textarea { width:100%; box-sizing:border-box; border:1.5px solid var(--input-border); border-radius:14px; background:#fff; color:var(--ink); font:700 14px 'Nunito',sans-serif; outline:none; }
.feature-idea-modal-content select { min-height:46px; padding:10px 13px; }
.feature-idea-modal-content textarea { min-height:120px; padding:12px 13px; line-height:1.5; resize:vertical; }
.feature-idea-modal-content select:focus,.feature-idea-modal-content textarea:focus { border-color:var(--coral); box-shadow:0 0 0 4px rgba(242,96,79,.11); }
.feature-idea-meta { display:flex; justify-content:space-between; color:var(--muted); font-size:10px; font-weight:750; }
.feature-idea-status { min-height:18px; margin:0 !important; color:var(--coral-dark) !important; font-size:12px; font-weight:800; }
.feature-idea-modal-content #submitFeatureIdeaBtn { width:100% !important; max-width:none !important; margin:2px 0 6px !important; border:0 !important; border-radius:14px !important; background:var(--coral) !important; color:#fff !important; box-shadow:0 4px 0 var(--coral-dark) !important; }
.feature-idea-modal-content #submitFeatureIdeaBtn:disabled { opacity:.55; cursor:wait; box-shadow:none !important; }
.feature-idea-modal-content .btn-cancel { width:100% !important; max-width:none !important; margin:0 !important; background:transparent !important; color:var(--muted) !important; box-shadow:none !important; }

.cancellation-modal-content,.contact-modal-content { width:min(430px,calc(100vw - 28px)) !important; max-width:430px !important; padding:28px !important; text-align:left !important; }
.cancellation-modal-content .close-cross,.contact-modal-content .close-cross { position:absolute !important; top:12px !important; right:14px !important; left:auto !important; width:38px !important; height:38px !important; min-height:38px !important; display:grid !important; place-items:center !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:50% !important; background:#f7f3f4 !important; color:var(--muted) !important; box-shadow:none !important; font:400 27px/1 Arial,sans-serif !important; cursor:pointer; }
.cancellation-icon,.contact-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:12px; border-radius:15px; font-size:24px; }
.cancellation-icon { background:#e7f5ff; color:#397aa3; box-shadow:0 3px 0 #b9dcef; }
.contact-icon { background:#fff2c9; color:#9b6a0e; box-shadow:0 3px 0 #f0d17b; }
.cancellation-kicker,.contact-kicker { font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.cancellation-kicker { color:#397aa3; }
.contact-kicker { color:#d88916; }
.cancellation-modal-content h2,.contact-modal-content h2 { margin:4px 46px 5px 0 !important; font-size:24px !important; line-height:1.15; }
.cancellation-intro,.contact-intro { margin:0 0 16px; color:var(--muted); font-size:14px; line-height:1.5; font-weight:650; }
.cancellation-modal-content form,.contact-modal-content form { display:grid; gap:7px; }
.cancellation-modal-content label,.contact-modal-content label { margin-top:3px; color:var(--ink); font-size:13px; font-weight:900; }
.cancellation-modal-content select,.cancellation-modal-content textarea,.contact-modal-content input,.contact-modal-content textarea { width:100%; box-sizing:border-box; border:1.5px solid var(--input-border); border-radius:14px; background:#fff; color:var(--ink); font:700 14px 'Nunito',sans-serif; outline:none; }
.cancellation-modal-content select,.contact-modal-content input { min-height:46px; padding:10px 13px; }
.cancellation-modal-content textarea,.contact-modal-content textarea { min-height:105px; padding:12px 13px; line-height:1.5; resize:vertical; }
.cancellation-modal-content select:focus,.cancellation-modal-content textarea:focus,.contact-modal-content input:focus,.contact-modal-content textarea:focus { border-color:var(--coral); box-shadow:0 0 0 4px rgba(242,96,79,.11); }
.cancellation-rights { margin:4px 0 0; padding:10px 12px; border-radius:12px; background:#f5fbff; color:#53798f; font-size:11px; line-height:1.45; font-weight:800; }
.cancellation-status,.contact-status { min-height:18px; margin:0 !important; color:var(--coral-dark) !important; font-size:12px; font-weight:800; }
.cancellation-modal-content #submitPurchaseCancellationBtn,.contact-modal-content #submitContactBtn { width:100% !important; max-width:none !important; margin:2px 0 6px !important; border:0 !important; border-radius:14px !important; background:var(--coral) !important; color:#fff !important; box-shadow:0 4px 0 var(--coral-dark) !important; }
.cancellation-modal-content #submitPurchaseCancellationBtn:disabled,.contact-modal-content #submitContactBtn:disabled { opacity:.55; cursor:wait; box-shadow:none !important; }
.cancellation-modal-content .btn-cancel,.contact-modal-content .btn-cancel { width:100% !important; max-width:none !important; margin:0 !important; background:transparent !important; color:var(--muted) !important; box-shadow:none !important; }
.contact-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.delete-account-modal-content { max-width:400px !important; padding:28px !important; }
.delete-account-modal-content .close-cross {
  position:absolute; top:12px; right:16px; left:auto; cursor:pointer;
  background:none; border:0; box-shadow:none; width:auto; max-width:none; min-height:0; padding:0;
  font-size:28px; line-height:1; color:var(--muted);
}
.delete-account-icon { width:54px; height:54px; margin:0 auto 14px; border-radius:50%; display:grid; place-items:center; background:#fff0ed; color:var(--coral-dark); font:900 28px/1 'Baloo 2',cursive; }
.delete-account-modal-content > p { color:var(--muted); font-size:14px; line-height:1.55; margin:0 0 18px; }
.delete-account-modal-content label { display:block; text-align:left; color:var(--ink); font-size:14px; margin-bottom:7px; }
.delete-account-modal-content input { text-transform:uppercase; letter-spacing:.05em; }
.delete-account-modal-content #confirmDeleteAccountBtn { width:100%; max-width:none; margin:14px 0 8px; background:var(--coral-dark); }
.delete-account-modal-content #confirmDeleteAccountBtn:disabled { opacity:.45; cursor:not-allowed; box-shadow:none; }
.delete-account-modal-content .btn-cancel { width:100%; max-width:none; margin:0; }
.delete-account-error { min-height:20px; margin:8px 0 0 !important; color:var(--coral-dark) !important; font-weight:700; text-align:left; }

/* ═══════════════════════════════════════════════════════════════
   FIX: alle modals center-center (creatie-detail is GEEN bottom-sheet meer)
   ═══════════════════════════════════════════════════════════════ */
.modal { align-items:center !important; justify-content:center !important; padding:20px !important; }
.modal-content { max-height:85vh; margin:0 !important; }
#detailModal { align-items:center !important; padding:20px !important; }
#detailModal .modal-content {
  border-radius:24px !important; max-width:460px !important; width:100%; max-height:85vh;
  padding:16px 20px 24px !important; box-shadow:0 20px 60px rgba(47,42,46,0.25) !important;
}
.sheet-grabber { display:none !important; }
#detailModal #closeDetailCross { top:14px; right:16px; }

/* ═══════════════════════════════════════════════════════════════
   FIX: detail-modal stats als nette pills (i.p.v. oude witte hokjes)
   ═══════════════════════════════════════════════════════════════ */
#detailModal #detailStats { display:flex !important; flex-wrap:wrap; gap:8px; grid-template-columns:none !important; margin:0 0 16px !important; }
#detailModal #detailStats > p {
  display:inline-flex !important; align-items:center; background:#fff !important; border:1px solid var(--hairline) !important;
  border-radius:999px !important; padding:6px 12px !important; margin:0 !important; box-shadow:none !important;
  font-size:12px !important; font-weight:800 !important; color:var(--text2) !important; line-height:1.2;
}
/* klerikale labels ("Gedeeld door:", "Likes:" …) weg — zie compacte-stats blok verderop */
#detailModal #detailStats > p strong { display:none !important; }
#detailModal #detailStats #detailTagsSection { flex-basis:100%; margin-top:2px !important; }
#detailModal #detailStats #detailTagsSection > p { background:none !important; border:none !important; padding:0 !important; }

/* ═══════════════════════════════════════════════════════════════
   FIX: favoriet-ster groter/forgivinger tap-target (was 32px, lastig te raken)
   ═══════════════════════════════════════════════════════════════ */
.favorite-btn-card {
  width:40px !important; height:40px !important; font-size:22px !important; top:8px !important; right:8px !important;
  border-color:#e6e0d6 !important; transition:transform .08s;
}
.favorite-btn-card:active { transform:scale(0.88) !important; }

/* ═══════════════════════════════════════════════════════════════
   MODAL-POLISH (branch polish/modals): tag-editor, tag-knop, pills
   ═══════════════════════════════════════════════════════════════ */
/* editTagsBtn: klein icoon-knopje i.p.v. blauwe balk (kreeg generieke button-stijl) */
#detailModal #editTagsBtn {
  background:#fff !important; border:1px solid var(--hairline) !important; color:var(--muted) !important;
  border-radius:50% !important; width:28px !important; height:28px !important; min-height:auto !important;
  padding:0 !important; margin:0 0 0 8px !important; font-size:12px !important; max-width:none !important;
  box-shadow:none !important; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; line-height:1; vertical-align:middle;
}
#detailModal #editTagsBtn:active { transform:scale(0.9); }
/* label + knop netjes op één regel */
#detailModal #detailTagsSection > p { display:flex; align-items:center; gap:2px; font-size:13px; font-weight:700; color:var(--text2); margin:0 0 4px !important; }

/* Verberg de losse (vaak lege) "Reacties:"-pill in de stats — er is al een aparte Reacties-sectie */
#detailModal #detailStats > p:has(#detailComments) { display:none !important; }

/* ── Meta op één lichte regel: "van X · ♥ N · geprint N" ──
   Geen zware pills meer; datums weggelaten (waren ruis + dubbel). */
#detailModal #detailStats { display:flex !important; flex-wrap:wrap; align-items:center; gap:0 !important; margin:10px 0 20px !important; }
#detailModal #detailStats > p {
  background:none !important; border:none !important; box-shadow:none !important;
  padding:0 !important; margin:0 !important; font-size:13px !important; font-weight:700 !important;
  color:var(--text2) !important; display:inline-flex; align-items:center; line-height:1.3;
}
/* datum(s) weglaten — voegen weinig toe en maken het druk */
#detailModal #detailStats > p:has(#detailCreatedAt),
#detailModal #detailStats > p:has(#detailDate) { display:none !important; }
/* lege stat = geen loze tekst (bv. eigen, nog niet gedeelde creatie) */
#detailModal #detailStats > p:has(#detailSharedBy:empty),
#detailModal #detailStats > p:has(#detailLikes:empty),
#detailModal #detailStats > p:has(#detailDownloads:empty) { display:none !important; }
/* zachte prefixes i.p.v. "Label:" */
#detailModal #detailSharedBy::before  { content:attr(data-prefix); color:var(--muted); font-weight:700; }
#detailModal #detailDownloads::before { content:attr(data-prefix); color:var(--muted); font-weight:700; }
#detailModal #detailLikes { color:var(--coral) !important; }
#detailModal #detailLikes::before { content:'\2665\00a0'; }
/* middot-scheiding tussen de meta-items (voor likes en downloads) */
#detailModal #detailStats > p:has(#detailLikes)::before,
#detailModal #detailStats > p:has(#detailDownloads)::before { content:'\00b7'; color:var(--muted); margin:0 10px; font-weight:800; }
/* Tags: los van de meta, wat meer ademruimte */
#detailModal #detailStats #detailTagsSection { flex-basis:100%; margin-top:16px !important; }
#detailModal #detailStats #detailTagsSection > p { margin:0 0 8px !important; }
#detailModal #detailTagsList { gap:8px !important; }

/* Tag-editor modal (addTagsModal): chips in de nieuwe stijl (overschrijft inline blauw/grijs) */
#addTagsModal .modal-content { max-width:360px !important; }
#addTagsModal #tagSuggestions { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:14px 0 !important; }
#addTagsModal .tag-suggestion {
  background:#fff !important; color:var(--text2) !important; border:1.5px solid var(--input-border) !important;
  border-radius:999px !important; padding:8px 14px !important; font-family:'Nunito',sans-serif; font-weight:800;
  font-size:13px; cursor:pointer; transition:all .12s;
}
#addTagsModal .tag-suggestion.selected { background:var(--coral) !important; color:#fff !important; border-color:var(--coral) !important; }
#addTagsModal #customTagInput { text-align:left; width:100% !important; box-sizing:border-box; }

/* ── Berichtjes/comments in de nieuwe stijl (waren grijze blokjes) ── */
#detailModal #commentList { max-height:220px; overflow-y:auto; margin:0 0 12px !important; display:flex; flex-direction:column; gap:8px; }
#detailModal #commentList > div { margin:0 !important; }
#detailModal #commentList p {
  background:#fff !important; border:1px solid var(--hairline) !important; color:var(--text2) !important;
  border-radius:16px 16px 16px 4px !important; padding:9px 14px !important; font-size:13px; font-weight:700;
  display:inline-block; margin:0 !important; max-width:100%;
}
#detailModal #commentList button { color:var(--muted); font-size:14px; opacity:.6; }
#detailModal #commentList button:hover { opacity:1; }

/* ── Melden + Verwijderen: subtiel, onderaan de modal (onder de reacties) ── */
#detailModal #detailActionsBottom {
  display:flex; justify-content:center; align-items:center; gap:6px;
  margin:18px 0 0; padding-top:14px; border-top:1px solid var(--hairline);
}
#detailModal #detailActionsBottom button {
  background:none !important; border:none !important; box-shadow:none !important; grid-column:auto !important;
  color:var(--coral-dark) !important; font-family:'Nunito',sans-serif !important; font-weight:900 !important;
  font-size:13px !important; min-height:38px !important; width:auto !important; max-width:none !important;
  padding:8px 14px !important; margin:0 !important; cursor:pointer; transition:background .12s,color .12s;
}
#detailModal #detailActionsBottom button:hover { background:var(--coral-tint) !important; color:var(--coral-dark) !important; border-radius:12px !important; }

/* Inloggen met Google of e-mail */
.login-modal-content { position:relative; max-width:410px !important; padding:28px !important; text-align:left !important; overflow-y:auto; }
.login-modal-content .close-cross { position:absolute; top:12px; right:14px; left:auto; width:38px; height:38px; min-height:38px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:#f7f3f4; color:var(--muted); font:400 27px/1 Arial,sans-serif; box-shadow:none; }
.login-modal-dots { display:flex; justify-content:center; margin:0 auto 12px; }
.login-modal-dots i { width:17px; height:17px; border-radius:50%; }
.login-modal-dots i:nth-child(1){ background:var(--coral); }
.login-modal-dots i:nth-child(2){ background:var(--ochre); margin-left:-5px; }
.login-modal-dots i:nth-child(3){ background:var(--blue); margin-left:-5px; }
.login-modal-dots i:nth-child(4){ background:var(--green); margin-left:-5px; }
.login-modal-content h2, .login-modal-content > p { text-align:center; }
.login-modal-content > p { margin:0 24px 18px; color:var(--muted); font-size:14px; line-height:1.45; }
.google-login-btn, #emailAuthSubmit { width:100% !important; max-width:none !important; min-height:48px; border:0; border-radius:14px; font-family:'Baloo 2',cursive; font-size:16px; font-weight:800; cursor:pointer; }
.google-login-btn { background:#fff !important; color:var(--ink) !important; border:1.5px solid var(--input-border) !important; box-shadow:0 2px 5px rgba(47,42,46,.06) !important; }
.adult-account-confirmation { display:flex; align-items:flex-start; gap:9px; margin:12px 0 0; padding:11px 12px; border:1px solid #eadfd2; border-radius:13px; background:#fffaf3; color:var(--muted); font-size:11px; line-height:1.45; font-weight:750; }
.adult-account-confirmation input { flex:0 0 auto; width:17px; height:17px; margin:1px 0 0; accent-color:var(--coral); }
.adult-account-confirmation a { color:var(--coral-dark); font-weight:900; }
#emailAuthSubmit { margin-top:8px; background:var(--coral) !important; color:#fff !important; box-shadow:0 3px 0 var(--coral-dark) !important; }
.login-divider { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--muted); font-size:12px; font-weight:800; }
.login-divider::before, .login-divider::after { content:''; flex:1; height:1px; background:var(--hairline); }
#emailAuthForm label { display:block; margin:10px 0 5px; color:var(--ink); font-size:13px; font-weight:800; }
#emailAuthForm input { width:100%; max-width:none; min-height:46px; margin:0 !important; padding:11px 14px; border:1.5px solid var(--input-border); border-radius:13px; background:#fff; color:var(--ink); font:700 15px 'Nunito',sans-serif; }
#emailAuthForm input:focus { outline:none; border-color:var(--coral); box-shadow:0 0 0 4px rgba(242,96,79,.12); }
.login-message { min-height:19px; margin:8px 0 0 !important; text-align:left !important; color:var(--coral-dark) !important; font-size:12px !important; font-weight:800; }
.login-message.success { color:var(--green-dark) !important; }
.login-message.verification-notice {
  min-height:0; margin:12px 0 4px !important; padding:14px 15px; white-space:pre-line;
  color:#246842 !important; background:#EDF8F1; border:1.5px solid #B9E1C8; border-radius:14px;
  font-size:13px !important; line-height:1.45; box-shadow:0 2px 6px rgba(36,104,66,.06);
}
.login-text-btn { display:inline !important; width:auto !important; max-width:none !important; min-height:0 !important; margin:12px 0 0 !important; padding:2px !important; border:0 !important; background:none !important; box-shadow:none !important; color:var(--coral-dark) !important; font:800 13px 'Nunito',sans-serif !important; cursor:pointer; }
#forgotPasswordBtn { display:block !important; margin:12px auto 0 !important; }
.login-modal-content .login-switch-copy { margin:12px 0 0 !important; color:var(--muted); font-size:13px; }
.login-modal-content [hidden] { display:none !important; }

.purchase-legal { margin:10px 0 13px !important; color:var(--muted); font-size:10px; line-height:1.45; text-align:center; }
.purchase-legal a { color:var(--coral-dark); font-weight:900; }

/* ── Deel-naam-modal: nette voorbeeld-afbeelding + knop-layout ── */
#shareNameModal #shareNameImage {
  width:120px; height:120px; object-fit:contain; border-radius:16px; border:1px solid var(--hairline);
  background:#fff; margin:0 auto 14px; display:block; box-shadow:0 2px 6px rgba(47,42,46,0.05);
}
#shareNameModal .share-name-buttons { display:flex; gap:10px; margin-top:16px; }
#shareNameModal .btn-cancel, #shareNameModal .btn-confirm { flex:1; }
