/* Dreamers Den Core — grid + AI tutor styles (front-end + editor). */

.ddc-grid { display: grid; gap: 1.25rem; }
.ddc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ddc-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .ddc-grid--3, .ddc-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ddc-grid--3, .ddc-grid--4 { grid-template-columns: 1fr; } }

.ddc-card {
  border: 1px solid #e4e4e7;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(10,10,10,.06), 0 8px 24px rgba(10,10,10,.05);
  display: flex;
  flex-direction: column;
}
.ddc-card--dark { background: #0a0a0a; color: #fafafa; border-color: #27272a; padding: 1.25rem; }
.ddc-card__img { width: 100%; height: auto; display: block; }
.ddc-card__body { padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
.ddc-card__title { font-size: 1.25rem; font-weight: 600; letter-spacing: -.02em; margin: 0; }
.ddc-card__excerpt { color: #52525b; font-size: .9375rem; margin: 0; }
.ddc-card--dark .ddc-card__excerpt { color: #a1a1aa; }
.ddc-card__price { font-weight: 600; margin: .25rem 0 0; }
.ddc-card__emi { font-weight: 400; color: #52525b; font-size: .8125rem; }

.dd-badge {
  display: inline-flex; align-items: center; gap: .375rem;
  padding: .25rem .625rem; border-radius: 999px;
  border: 1px solid #e4e4e7; background: #fafafa;
  font-size: .75rem; font-weight: 500; width: fit-content; margin: 0;
}

.ddc-btn {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: .5rem; padding: .625rem 1rem; border-radius: .625rem;
  background: #0a0a0a; color: #fff; font-size: .9375rem; font-weight: 500;
  text-decoration: none;
}
.ddc-btn:hover { background: #18181b; color: #fff; }
.ddc-link { color: #fff; text-decoration: none; font-weight: 500; }
.ddc-link:hover { text-decoration: underline; }

.ddc-quote { padding: 1.75rem; }
.ddc-quote__text { font-size: 1.0625rem; line-height: 1.6; margin: 0 0 1.25rem; }
.ddc-quote__author { display: block; font-weight: 600; }
.ddc-quote__context { display: block; color: #52525b; font-size: .8125rem; }

.ddc-mentor { padding: 1.25rem; text-align: center; }
.ddc-mentor__img { border-radius: 999px; width: 96px; height: 96px; object-fit: cover; margin: 0 auto .75rem; }
.ddc-mentor__loc { color: #52525b; font-size: .8125rem; margin: .25rem 0 0; }

.ddc-disclaimer { color: #71717a; font-size: .75rem; margin-top: 1.5rem; }
.ddc-empty { color: #52525b; font-style: italic; }

/* ---- AI Tutor ---- */
.ddc-tutor { border: 1px solid #e4e4e7; border-radius: 1rem; overflow: hidden; max-width: 720px; }
.ddc-tutor__log { padding: 1rem; display: flex; flex-direction: column; gap: .75rem; max-height: 420px; overflow-y: auto; }
.ddc-tutor__msg { padding: .625rem .875rem; border-radius: .75rem; font-size: .9375rem; line-height: 1.5; }
.ddc-tutor__msg--user { background: #2563eb; color: #fff; align-self: flex-end; }
.ddc-tutor__msg--bot { background: #f4f4f5; color: #0a0a0a; align-self: flex-start; }
.ddc-tutor__form { display: flex; gap: .5rem; border-top: 1px solid #e4e4e7; padding: .75rem; }
.ddc-tutor__input { flex: 1; border: 1px solid #e4e4e7; border-radius: .625rem; padding: .625rem .75rem; font: inherit; }
.ddc-tutor__send { background: #0a0a0a; color: #fff; border: 0; border-radius: .625rem; padding: 0 1.1rem; font-weight: 500; cursor: pointer; }
.ddc-tutor__send:disabled { opacity: .5; cursor: default; }
