.legal-wrap { max-width:1000px; margin:0 auto; padding:130px 24px 90px; }
.legal-hero { text-align:center; margin-bottom:52px; }
.legal-hero .page-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 18px; background:rgba(var(--color-primary-rgb),0.12); border:1px solid rgba(var(--color-primary-rgb),0.3); border-radius:50px; color:var(--color-primary-light); font-size:13px; font-weight:600; margin-bottom:18px; }
.legal-hero h1 { font-size:38px; font-weight:800; margin-bottom:10px; }
.legal-hero p { color:#999; font-size:15px; }
.back-btn { display:inline-flex; align-items:center; gap:8px; color:var(--color-primary-light); text-decoration:none; font-weight:600; font-size:14px; margin-bottom:32px; transition:.2s; }
.back-btn:hover { color:#fff; gap:12px; }

/* Main card body — same visual language as .legal-toc on the Privacy Policy page:
   background #111827, subtle 1px border, rounded corners — plus a soft shadow
   so the whole contact content reads as one raised card. */
.legal-card {
  background:#111827;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:22px;
  padding:36px 34px;
  box-shadow:0 20px 45px rgba(0,0,0,0.25);
}

/* Contact info cards (reuses .contact-card look from style.css) */
.contact-page-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-bottom:42px; }
.contact-page-grid .contact-card { background:rgba(255,255,255,0.03); }

.legal-card .divider { border:none; border-top:1px solid rgba(255,255,255,0.06); margin:0 0 38px; }

/* Location + Map block */
.legal-block { scroll-margin-top:90px; }
.block-head { display:flex; align-items:center; gap:12px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,0.06); }
.block-num {
  width:34px; height:34px; flex-shrink:0;
  border-radius:10px; background:rgba(var(--color-primary-rgb),0.15); color:var(--color-primary-light);
  display:flex; align-items:center; justify-content:center;
}
.block-num i { font-size:15px; line-height:1; }
.legal-block h2 { font-size:19px; font-weight:700; }
.legal-block p { color:#b3b3b3; line-height:1.9; font-size:15px; margin-bottom:16px; }

.map-embed { position:relative; width:100%; padding-bottom:38%; border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,0.08); background:#0b1120; }
.map-embed iframe { position:absolute; top:0; left:0; width:100%; height:100%; }

/* ── Send us a Message form ── matches the input styling used on the review/support forms ── */
.contact-form-wrap { margin-top:6px; }
.contact-form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-size:12px; font-weight:700; color:#666; text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px; }
.form-group input,
.form-group textarea {
  width:100%; padding:13px 16px; background:#1a2234;
  border:1px solid rgba(255,255,255,0.07); border-radius:13px;
  color:#fff; font-size:14px; outline:none;
  font-family:'Exo 2',sans-serif; transition:.25s;
}
.form-group input:focus,
.form-group textarea:focus { border-color:var(--color-primary); box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),0.12); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-hint { color:#666; font-size:12px; margin-top:6px; }
.hp-field { position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; width:0; }

.form-alert { display:flex; align-items:center; gap:12px; border-radius:14px; padding:16px 18px; margin-bottom:26px; font-size:14px; line-height:1.6; }
.form-alert i { flex-shrink:0; line-height:1; }
.form-alert.success { background:rgba(var(--color-secondary-rgb),0.08); border:1px solid rgba(var(--color-secondary-rgb),0.25); color:#86efac; }
.form-alert.error { background:rgba(239,68,68,0.08); border:1px solid rgba(239,68,68,0.25); color:#fca5a5; align-items:flex-start; }
.form-alert.error i { margin-top:2px; }
.form-alert ul { margin:4px 0 0; padding-left:18px; }

.contact-submit-btn { width:100%; justify-content:center; border:none; cursor:pointer; font-family:'Exo 2',sans-serif; }

@media (max-width:640px) {
  .contact-form-row { grid-template-columns:1fr; }
}

@media (max-width:900px) {
  .legal-card { padding:28px 22px; }
  .contact-page-grid { grid-template-columns:repeat(2,1fr); }
  .map-embed { padding-bottom:65%; }
}
@media (max-width:520px) {
  .contact-page-grid { grid-template-columns:1fr; }
  .legal-hero h1 { font-size:30px; }
  .legal-card { padding:22px 16px; }
}

/* ── FAQ Accordion ── premium dark-theme, card-based rows ── */
.faq-card { margin-top:32px; }
.faq-accordion { display:flex; flex-direction:column; }
.faq-item { border-bottom:1px solid rgba(255,255,255,0.06); }
.faq-item:last-child { border-bottom:none; }

.faq-question {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px;
  background:none; border:none; cursor:pointer; text-align:left;
  padding:20px 4px; color:#fff; font-size:15px; font-weight:600;
  font-family:'Exo 2',sans-serif; transition:color .25s;
}
.faq-question:hover { color:var(--color-primary-light); }
.faq-question:focus-visible { outline:2px solid var(--color-primary); outline-offset:4px; border-radius:6px; }

.faq-icon {
  flex-shrink:0; width:32px; height:32px; border-radius:9px;
  background:rgba(var(--color-primary-rgb),0.12); color:var(--color-primary-light);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; transition:transform .3s ease, background .3s ease, color .3s ease;
}
.faq-item.active .faq-icon { transform:rotate(135deg); background:var(--color-primary); color:#fff; }

.faq-answer { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-answer-inner { padding:0 34px 20px 4px; color:#b3b3b3; font-size:14px; line-height:1.85; }

@media (max-width:520px) {
  .faq-question { font-size:14px; padding:16px 2px; gap:12px; }
  .faq-answer-inner { padding-right:0; }
}

.legal-footer-links { display:flex; justify-content:center; gap:28px; margin-top:50px; flex-wrap:wrap; }
.legal-footer-links a { color:#555; text-decoration:none; font-size:13px; transition:.2s; }
.legal-footer-links a:hover { color:#93c5fd; }
.legal-footer-links a.active-page { color:#93c5fd; font-weight:600; }