/* Google Ads readiness additions: footer legal links, cookie consent banner,
   legal page prose, contact details, and Zoho embed shell.
   Loaded on every page alongside the page's own stylesheet so these blocks
   look consistent regardless of which base template (styles.css or
   redesign-pages.css) a given page uses. */

.footer-legal {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  font-size: 12px;
  color: #929aaa;
}
.footer-legal a,
.footer-legal button.linklike {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  cursor: pointer;
}
.footer-legal a:hover,
.footer-legal button.linklike:hover {
  color: #c9a227;
}
.footer-legal .sep {
  margin: 0 8px;
  opacity: 0.5;
}

/* Cookie consent banner */
#cookie-banner {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 999;
  max-width: 760px;
  margin: 0 auto;
  padding: 18px 20px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #14181f;
  color: #eef0f4;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  font-family: inherit;
}
#cookie-banner p {
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.5;
  color: #c7cbd4;
}
#cookie-banner a {
  color: #c9a227;
}
.cookie-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.cookie-actions button {
  flex: 1 1 auto;
  min-width: 140px;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
#cookie-accept {
  border: 1px solid #c9a227;
  background: #c9a227;
  color: #0f1216;
}
#cookie-reject {
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: transparent;
  color: #eef0f4;
}
#cookie-banner[hidden] { display: none; }

/* Legal / policy page prose (privacy.html, terms.html) */
.legal-content {
  max-width: 820px;
  margin: 0 auto;
  padding: 48px 0 90px;
  font-size: 15px;
  line-height: 1.7;
  color: #c7cbd4;
}
.legal-content h1 {
  color: #eef0f4;
  margin-bottom: 6px;
}
.legal-content .updated {
  color: #929aaa;
  font-size: 13px;
  margin-bottom: 36px;
}
.legal-content h2 {
  color: #eef0f4;
  font-size: 22px;
  margin: 40px 0 14px;
}
.legal-content p { margin: 0 0 14px; }
.legal-content ul { margin: 0 0 14px; padding-left: 20px; }
.legal-content li { margin-bottom: 6px; }
.legal-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0 24px;
  font-size: 13px;
}
.legal-content th, .legal-content td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  vertical-align: top;
}
.legal-content th { color: #c9a227; font-weight: 600; }
.legal-content a { color: #c9a227; }
.legal-content .placeholder { color: #e0a530; }

/* Contact page — multi-channel support cards */
.support-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 960px;
  margin: 40px auto 0;
}
.support-grid-2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 640px;
}
.support-card {
  padding: 26px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  background: #181d24;
  text-align: center;
}
.support-qr {
  display: block;
  margin: 0 auto 16px;
  border-radius: 10px;
  background: #fff;
  padding: 6px;
}
.support-card h3 {
  margin: 0 0 10px;
  font-size: 18px;
  color: #eef0f4;
}
.support-card p {
  margin: 0 0 18px;
  font-size: 13px;
  line-height: 1.6;
  color: #929aaa;
}
.support-links {
  display: grid;
  gap: 10px;
}
.support-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(201, 162, 39, 0.4);
  border-radius: 999px;
  color: #eef0f4;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}
.support-link:hover { border-color: #c9a227; color: #c9a227; }
.support-link.placeholder-link {
  border-style: dashed;
  color: #e0a530;
}
@media (max-width: 900px) {
  .support-grid { grid-template-columns: 1fr; }
}

/* Contact page */
.contact-details {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 12px 20px;
  max-width: 640px;
  margin: 32px auto 0;
  font-size: 15px;
}
.contact-details dt { color: #929aaa; font-size: 13px; }
.contact-details dd { margin: 0; color: #eef0f4; }
@media (max-width: 600px) {
  .contact-details { grid-template-columns: 1fr; }
  .contact-details dt { margin-top: 10px; }
}

/* Form consent + error state (used on member-signup.html / free-diagnosis.html) */
.form-note.consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 12px;
  color: #929aaa;
  margin-top: 14px;
}
.form-note.consent input { margin-top: 3px; }
.form-error {
  margin: 14px 0;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid rgba(200, 32, 63, 0.4);
  background: rgba(200, 32, 63, 0.1);
  color: #f3d3d9;
  font-size: 13px;
}
.form-error a { color: inherit; text-decoration: underline; }

/* Zoho embed shell (shared by free-diagnosis.html and member-signup.html) */
.zoho-shell {
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 18px;
  overflow: hidden;
  background: #181d24;
}
.zoho-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}
.zoho-header strong { font-size: 15px; }
.zoho-header .light-copy { color: #929aaa; font-size: 12px; }
.zoho-header a.button {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #eef0f4;
  font-size: 13px;
  font-weight: 700;
}
.zoho-slot { min-height: 420px; }
.zoho-iframe { display: block; width: 100%; min-height: 700px; border: 0; }
.zoho-placeholder { padding: 26px 22px; color: #929aaa; font-size: 13px; }
.zoho-placeholder h3 { color: #eef0f4; margin: 8px 0 10px; font-size: 16px; }
.field-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.field-grid span {
  padding: 5px 10px;
  border-radius: 999px;
  background: #1e242c;
  font-size: 11px;
  font-family: 'JetBrains Mono', monospace;
}
