/* Ovation Design System 1.1.4
   Every rule is scoped to body.ovn-ds (added only when the plugin is on), so turning it off reverts the site. */

/* ---------- Tokens ---------- */
body.ovn-ds {
  --ovn-navy: #003366;
  --ovn-blue: #0055AA;
  --ovn-gold: #B8956A;
  --ovn-gold-ink: #002244;
  --ovn-cream: #FAF7F4;
  --ovn-ink: #1A2433;
  --ovn-body: #3E4856;
  --ovn-muted: #5B6573;
  --ovn-line: #E3DDD4;
  --ovn-deep: #002244;
  --ovn-deep-line: #1F3F63;
  --ovn-deep-text: #C9D6E8;
  --ovn-serif: 'Cormorant Garamond', Georgia, serif;
  --ovn-sans: 'Montserrat', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---------- Header (Lifted Logic theme) ---------- */
body.ovn-ds header.navbar {
  background: var(--ovn-cream);
  border-bottom: 1px solid var(--ovn-line);
}
body.ovn-ds header.navbar .shadow-box {
  box-shadow: none;
  background: transparent;
}
body.ovn-ds header.navbar .bg-brand-beige {
  background-color: var(--ovn-cream);
}
body.ovn-ds header.navbar .nav-top {
  padding-top: 14px;
  padding-bottom: 10px;
}
/* Line icons in the top bar read dated; text only. */
body.ovn-ds header.navbar .nav-top-link svg.icon {
  display: none;
}
body.ovn-ds header.navbar .nav-top-link span {
  font-family: var(--ovn-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ovn-ink);
}
/* Contact and the old planner link leave the top bar (both stay in the footer). */
body.ovn-ds header.navbar .nav-top a.nav-top-link[href*="ovation-med-spa-in-houston"],
body.ovn-ds header.navbar .nav-top a.nav-top-link[href*="treatment-builder.com"] {
  display: none;
}
/* Mobile: keep the phone link visible and tappable even with its icon hidden. */
body.ovn-ds header.navbar .mobile-top a.nav-top-link[href^="tel:"] svg.icon {
  display: inline-block;
}
/* "Request a Consultation" becomes the one gold button. Navy text on gold passes contrast; white did not. */
body.ovn-ds header.navbar .nav-top a.nav-top-link[href*="request-a-consultation"] {
  background: var(--ovn-gold);
  padding: 12px 20px;
  margin-right: 0;
  transition: background-color 0.2s ease;
}
body.ovn-ds header.navbar .nav-top a.nav-top-link[href*="request-a-consultation"]:hover {
  background: #A6835A;
}
body.ovn-ds header.navbar .nav-top a.nav-top-link[href*="request-a-consultation"] span {
  color: var(--ovn-gold-ink);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Primary menu */
body.ovn-ds #primary-nav .primary-menu-item,
body.ovn-ds #primary-nav .primary-menu-item > a,
body.ovn-ds #primary-nav .open-button {
  font-family: var(--ovn-sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--ovn-ink);
}
body.ovn-ds #primary-nav .primary-menu-item > a:hover,
body.ovn-ds #primary-nav .primary-menu-item.is-open > a {
  color: var(--ovn-navy);
}
body.ovn-ds #primary-nav .border-brand-midnight {
  border-color: var(--ovn-line);
}
/* Dropdown panels */
body.ovn-ds #primary-nav .navbar__dropdown-menu-inner {
  background: var(--ovn-cream);
  border-top: 1px solid var(--ovn-line);
}
body.ovn-ds #primary-nav .navbar__dropdown-menu-inner > p {
  font-family: var(--ovn-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--ovn-blue);
  border-color: var(--ovn-line);
}
body.ovn-ds #primary-nav .navbar__dropdown-menu-inner li a {
  font-family: var(--ovn-serif);
  font-size: 22px;
  font-weight: 400;
  color: var(--ovn-navy);
  text-decoration: none;
  display: inline-block;
  padding: 6px 0;
}
body.ovn-ds #primary-nav .navbar__dropdown-menu-inner li a:hover {
  color: var(--ovn-blue);
}

/* ---------- Footer (Lifted Logic theme) ---------- */
body.ovn-ds footer.footer {
  background-color: var(--ovn-deep) !important;
  color: var(--ovn-deep-text);
  font-family: var(--ovn-sans);
}
body.ovn-ds footer.footer a {
  color: var(--ovn-deep-text);
  text-decoration: none;
}
body.ovn-ds footer.footer a:hover {
  color: #FFFFFF;
}
body.ovn-ds footer.footer .line {
  background: var(--ovn-deep-line);
}
body.ovn-ds footer.footer .border-gradient {
  border-image: none;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: var(--ovn-deep-line);
}
body.ovn-ds footer.footer .hdg-4,
body.ovn-ds footer.footer .hdg-5,
body.ovn-ds footer.footer .hdg-6,
body.ovn-ds footer.footer h4 {
  font-family: var(--ovn-sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: #FAF7F4;
}
body.ovn-ds footer.footer .contact-links .nav-top-link span {
  font-family: var(--ovn-serif);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0;
  color: #FAF7F4;
}
body.ovn-ds footer.footer .font-barlow,
body.ovn-ds footer.footer address,
body.ovn-ds footer.footer .paragraph-small,
body.ovn-ds footer.footer .text-sm {
  font-family: var(--ovn-sans);
  font-size: 13px;
  line-height: 1.8;
  color: var(--ovn-deep-text);
}
body.ovn-ds footer.footer .copyright {
  border-top: 1px solid var(--ovn-deep-line);
  font-size: 12px;
}

/* ---------- Legacy theme pages (headings only; plugin pages carry their own styles) ---------- */
body.ovn-ds .hdg-1,
body.ovn-ds .hdg-2,
body.ovn-ds .hdg-3 {
  font-family: var(--ovn-serif);
  font-weight: 300;
  text-transform: none;
  letter-spacing: -0.005em;
  color: var(--ovn-navy);
}
body.ovn-ds .wysiwyg h2,
body.ovn-ds .wysiwyg h3 {
  font-family: var(--ovn-serif);
  font-weight: 400;
  color: var(--ovn-navy);
}
body.ovn-ds .wysiwyg p,
body.ovn-ds .wysiwyg li {
  color: var(--ovn-body);
}

/* Legacy dark bands (theme teal "brand-navy" and "brand-royal"): our navy, light text.
   The heading and body colours above would otherwise put dark text on a dark band. */
body.ovn-ds section.bg-brand-navy,
body.ovn-ds section.bg-brand-royal,
body.ovn-ds div.content.bg-brand-royal,
body.ovn-ds div.content.bg-brand-navy {
  background-color: var(--ovn-navy) !important;
}
body.ovn-ds :is(section.bg-brand-navy, section.bg-brand-royal, div.content.bg-brand-royal, div.content.bg-brand-navy) :is(h1, h2, h3, h4, h5, h6, p, li, span, strong, .hdg-1, .hdg-2, .hdg-3, .hdg-4, .hdg-5, .hdg-6):not(a, a *, button, button *) {
  color: #FAF7F4 !important;
}
body.ovn-ds :is(section.bg-brand-navy, section.bg-brand-royal, div.content.bg-brand-royal, div.content.bg-brand-navy) em:not(a *) {
  color: #E2CDB0 !important;
}
body.ovn-ds :is(section.bg-brand-navy, section.bg-brand-royal, div.content.bg-brand-royal, div.content.bg-brand-navy) :is(p, li, .paragraph-default, .paragraph-small, .paragraph-large):not(a *) {
  color: var(--ovn-deep-text) !important;
}

/* Membership, planner, consultation and peptide pages: gold buttons carry navy text, like every other CTA. */
body.ovn-ds #ovmem-page :is(button.cta, .qcontinue, .badge),
body.ovn-ds :is(.ocp-btn-gold, .op-btn-gold, .modebtn, .gbtn)[class] {
  color: var(--ovn-gold-ink) !important;
}
body.ovn-ds #ovmem-page .badge {
  background: var(--ovn-gold) !important;
}

/* ---------- Consultation page (/request-a-consultation-new/, body.ocp-route) ---------- */
body.ovn-ds.ocp-route .ocp-hero {
  background: linear-gradient(135deg, #002244 0%, #003366 100%) !important;
}
body.ovn-ds.ocp-route .ocp-hero h1 em,
body.ovn-ds.ocp-route .ocp-form-card h2 em {
  color: #B8956A;
}
/* Emoji markers out */
body.ovn-ds.ocp-route .ocp-reassurance-item > span,
body.ovn-ds.ocp-route .ocp-hero-points li > span,
body.ovn-ds.ocp-route .ocp-value-icon {
  display: none !important;
}
body.ovn-ds.ocp-route .ocp-hero-reassurance {
  gap: 10px 28px;
}
body.ovn-ds.ocp-route .ocp-reassurance-item {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #E2CDB0 !important;
}
/* Form: a squared panel, not a floating rounded card */
body.ovn-ds.ocp-route .ocp-form-card {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #FAF7F4 !important;
  border-top: 3px solid #B8956A;
}
body.ovn-ds.ocp-route .ocp-form-card :is(button, input[type="submit"], .ocp-pill, label.ocp-time) {
  border-radius: 0 !important;
}
/* "What your hour includes": ruled columns instead of rounded tiles */
body.ovn-ds.ocp-route .ocp-value-grid {
  column-gap: 48px !important;
  row-gap: 32px !important;
}
body.ovn-ds.ocp-route .ocp-value-card {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #1A2433 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 22px 0 0 !important;
  display: block !important;
}
body.ovn-ds.ocp-route .ocp-value-card h3 {
  color: #003366;
  margin-top: 0;
}
/* Timeline: small-caps labels instead of rounded pills */
body.ovn-ds.ocp-route .ocp-timeline-badge {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase;
  color: #8C6D35 !important;
}
body.ovn-ds.ocp-route .ocp-timeline-badge.ocp-pre {
  color: #0055AA !important;
}
/* Side column: privacy note as a ruled block, CTA as a navy band */
body.ovn-ds.ocp-route .ocp-privacy-box {
  background: transparent !important;
  border: 0 !important;
  border-top: 3px solid #003366 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 24px 0 0 !important;
}
body.ovn-ds.ocp-route .ocp-privacy-box h3 {
  color: #003366;
}
body.ovn-ds.ocp-route .ocp-privacy-list li::before {
  content: '\2014';
  color: #B8956A;
  font-weight: 400;
}
body.ovn-ds.ocp-route .ocp-side-cta {
  border-radius: 0 !important;
  background: #003366 !important;
}
body.ovn-ds.ocp-route .ocp-btn-gold {
  border-radius: 0 !important;
  background: #B8956A !important;
  color: #002244 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ---------- Gravity Forms ---------- */
body.ovn-ds .gform_wrapper input[type="text"],
body.ovn-ds .gform_wrapper input[type="email"],
body.ovn-ds .gform_wrapper input[type="tel"],
body.ovn-ds .gform_wrapper input[type="number"],
body.ovn-ds .gform_wrapper input[type="url"],
body.ovn-ds .gform_wrapper select,
body.ovn-ds .gform_wrapper textarea {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #B9B0A4;
  border-radius: 0;
  box-shadow: none;
  min-height: 48px;
  padding: 10px 0;
  font-family: var(--ovn-sans);
  font-size: 15px;
  color: var(--ovn-ink);
}
body.ovn-ds .gform_wrapper input:focus,
body.ovn-ds .gform_wrapper select:focus,
body.ovn-ds .gform_wrapper textarea:focus {
  outline: none;
  border-bottom-color: var(--ovn-navy);
  box-shadow: 0 1px 0 0 var(--ovn-navy);
}
body.ovn-ds .gform_wrapper .gfield_label,
body.ovn-ds .gform_wrapper .gform-field-label {
  font-family: var(--ovn-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ovn-muted);
}
body.ovn-ds .gform_wrapper .gform_button,
body.ovn-ds .gform_wrapper input[type="submit"],
body.ovn-ds .gform_wrapper button[type="submit"] {
  background: var(--ovn-gold);
  color: var(--ovn-gold-ink);
  border: 0;
  border-radius: 0;
  min-height: 56px;
  padding: 0 32px;
  font-family: var(--ovn-sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
body.ovn-ds .gform_wrapper .gform_button:hover,
body.ovn-ds .gform_wrapper input[type="submit"]:hover {
  background: #A6835A;
}

/* ---------- Consultation form slot ---------- */
body.ovn-ds .ovn-consult-form {
  width: 100%;
}
body.ovn-ds .ovn-consult-form iframe {
  width: 100%;
  border: 0;
  display: block;
}
.ovn-consult-form--empty {
  padding: 16px;
  border: 1px dashed #B9B0A4;
  font: 13px/1.6 Arial, sans-serif;
  color: #5B6573;
}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: reduce) {
  body.ovn-ds header.navbar .nav-top a.nav-top-link[href*="request-a-consultation"] {
    transition: none;
  }
}
