/* ========================================================
   داینر نیما — Restaurant & Café Tips Section
   Turquoise, red and checkerboard palette from the diner reference
   ======================================================== */

#diner-view {
  --diner-red: #d60922;
  --diner-red-soft: #ffe8ec;
  --diner-turquoise: #7bcbd6;
  --diner-red-hover: #b0071c;
  --diner-footer: #d9f2f5;
  --diner-tg: #126674;
  --diner-cta-text: #fff;
  --paper: #eef9fa;
  --surface: #fff;
  --surface-2: #d9f2f5;
  --line: #b2dce1;
  --line-strong: #7ebfc8;
  --ink: #242223;
  --ink-soft: #484345;
  --ink-faint: #625b5e;
  background: var(--paper);
  direction: rtl;
  padding: 0 16px 40px;
  max-width: 780px;
  margin: 0 auto;
  font-family: 'Vazirmatn', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* Dark-mode overrides */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #diner-view {
    --diner-red: #ff6377;
    --diner-red-soft: #3d2028;
    --diner-red-hover: #b0071c;
    --diner-footer: #16373d;
    --diner-tg: #7bcbd6;
    --paper: #171a1b;
    --surface: #242729;
    --surface-2: #16373d;
    --line: #3d5559;
    --line-strong: #618c93;
    --ink: #fff;
    --ink-soft: #dee8ea;
    --ink-faint: #b5c8cc;
  }
}
:root[data-theme="dark"] #diner-view {
    --diner-red: #ff6377;
    --diner-red-soft: #3d2028;
    --diner-red-hover: #b0071c;
    --diner-footer: #16373d;
    --diner-tg: #7bcbd6;
    --paper: #171a1b;
    --surface: #242729;
    --surface-2: #16373d;
    --line: #3d5559;
    --line-strong: #618c93;
    --ink: #fff;
    --ink-soft: #dee8ea;
    --ink-faint: #b5c8cc;
}

/* ── Hero ─────────────────────────────────────────────── */
.diner-hero {
  background: var(--diner-turquoise);
  border: 1px solid var(--line, #e1e3dc);
  border-radius: var(--radius, 16px);
  padding: 28px 24px 24px;
  margin-bottom: 20px;
  text-align: center;
  border-bottom: 8px solid var(--diner-red);
  position: relative;
  overflow: hidden;
}
.diner-hero::before {
  content: "";
  display: block;
  height: 12px;
  position: absolute;
  inset: 0 0 auto;
  background: repeating-conic-gradient(#242223 0% 25%, #fff 0% 50%) 0 0 / 24px 24px;
}

.diner-title {
  font-size: 1.6rem;
  font-weight: 900;
  margin: 0 0 6px;
  color: #242223;
  line-height: 1.4;
}

.diner-subtitle {
  font-size: 0.92rem;
  color: #242223;
  margin: 0 0 18px;
  line-height: 1.7;
}

/* ── Social buttons ───────────────────────────────────── */
.diner-social-row {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}

.diner-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  border-radius: 10px;
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--diner-cta-text) !important;
  text-decoration: none !important;
  transition: opacity 0.15s, transform 0.15s;
}
.diner-social-btn:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}
.diner-social-btn svg {
  flex-shrink: 0;
}

.diner-ig {
  background: #242223;
}
.diner-tg {
  background: #126674;
}

.diner-contact {
  background: #d60922;
}
.diner-contact:hover {
  background: var(--diner-red-hover);
}
#diner-view a:focus-visible, #diner-view button:focus-visible {
  outline: 3px solid var(--diner-tg);
  outline-offset: 3px;
}

/* ── Email box ────────────────────────────────────────── */
.diner-email-box {
  background: var(--surface, #fff);
  border: 1px solid var(--line, #e1e3dc);
  border-radius: var(--radius, 16px);
  padding: 22px 24px;
  margin-bottom: 20px;
  text-align: center;
}

.diner-email-box h3 {
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--ink, #181b19);
}

.diner-email-box p {
  font-size: 0.84rem;
  color: var(--ink-soft, #474d49);
  margin: 0 0 14px;
  line-height: 1.65;
}

.diner-email-form {
  display: flex;
  gap: 8px;
  max-width: 420px;
  margin: 0 auto;
}

.diner-email-form input[type="email"] {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--line-strong, #cdd0c8);
  border-radius: 10px;
  background: var(--paper, #f2f4f0);
  color: var(--ink, #181b19);
  font-family: inherit;
  font-size: 0.88rem;
  outline: none;
  direction: ltr;
  text-align: left;
}
.diner-email-form input[type="email"]:focus {
  border-color: var(--diner-red);
  box-shadow: 0 0 0 3px rgba(123, 203, 214, 0.3);
}

.diner-email-form button {
  padding: 10px 22px;
  background: #d60922;
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s;
}
.diner-email-form button:hover {
  background: var(--diner-red-hover);
}

.diner-email-msg {
  font-size: 0.82rem;
  margin-top: 10px;
  min-height: 1.4em;
}
.diner-email-msg.ok {
  color: var(--fact, #1a6a55);
}

/* ── Category chips ───────────────────────────────────── */
.diner-cats {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 4px 0 16px;
  -webkit-overflow-scrolling: touch;
}

.diner-cats .fchip {
  white-space: nowrap;
  padding: 7px 16px;
  border: 1px solid var(--line-strong, #cdd0c8);
  border-radius: 20px;
  background: var(--surface, #fff);
  color: var(--ink, #181b19);
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s, border-color 0.12s;
}
.diner-cats .fchip:hover {
  background: var(--surface-2, #e9ebe5);
}
.diner-cats .fchip.on {
  background: #d60922;
  color: #fff;
  border-color: #d60922;
}

/* ── Tip cards ────────────────────────────────────────── */
.diner-tips {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.diner-card {
  background: var(--surface, #fff);
  border: 1px solid var(--line, #e1e3dc);
  border-radius: var(--radius, 16px);
  padding: 20px 22px;
  transition: box-shadow 0.15s;
}
.diner-card:hover {
  box-shadow: var(--shadow, 0 1px 2px rgba(20,30,25,.04), 0 8px 24px -12px rgba(20,40,32,.16));
}

.diner-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.diner-icon {
  font-size: 1.3rem;
  line-height: 1;
}

.diner-cat {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--diner-red);
  background: var(--diner-red-soft);
  padding: 3px 10px;
  border-radius: 12px;
}

.diner-card-title {
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 8px;
  color: var(--ink, #181b19);
  line-height: 1.55;
}

.diner-card-body {
  font-size: 1rem;
  color: var(--ink-soft, #474d49);
  line-height: 1.8;
  margin: 0;
}

/* ── Footer CTA ───────────────────────────────────────── */
.diner-footer-cta {
  margin-top: 28px;
  padding: 20px 24px;
  background: var(--diner-footer);
  border: 1px solid var(--line, #e1e3dc);
  border-radius: var(--radius, 16px);
  text-align: center;
  font-size: 0.84rem;
  color: var(--ink-soft, #474d49);
  line-height: 1.75;
}
.diner-footer-cta p {
  margin: 0 0 6px;
}
.diner-footer-cta p:last-child {
  margin-bottom: 14px;
}
.diner-footer-cta a {
  color: var(--diner-red);
  font-weight: 600;
}

/* ── Telegram inline CTA (between cards) ──────────────── */
.diner-tg-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 20px;
  background: var(--surface, #fff);
  border: 2px dashed var(--diner-tg);
  border-radius: var(--radius, 16px);
  text-align: center;
  cursor: pointer;
  text-decoration: none !important;
  color: var(--ink, #181b19) !important;
  transition: background 0.12s;
}
.diner-tg-cta:hover {
  background: var(--surface-2, #e9ebe5);
}
.diner-tg-cta-text {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.5;
}
.diner-tg-cta-sub {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--ink-faint, #7b817c);
}

/* ── Responsive ───────────────────────────────────────── */
@media (min-width: 600px) {
  .diner-tips {
    grid-template-columns: 1fr 1fr;
  }
  .diner-tg-cta {
    grid-column: 1 / -1;
  }
}

@media (max-width: 420px) {
  #diner-view {
    padding: 0 12px 32px;
  }
  .diner-hero {
    padding: 22px 16px 20px;
  }
  .diner-title {
    font-size: 1.35rem;
  }
  .diner-email-form {
    flex-direction: column;
  }
  .diner-email-form button {
    width: 100%;
  }
  .diner-social-btn {
    padding: 8px 14px;
    font-size: 0.8rem;
  }
  .diner-card {
    padding: 16px 18px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  #diner-view * {
    animation: none !important;
    transition: none !important;
  }
}
