/*
Theme Name: Avesta Ads
Theme URI: https://ads.avestaketaminewellness.com
Description: Lightweight PPC landing-page layer for Avesta Ketamine Wellness. Child of Twenty Twenty-Five; brand colors, fonts, buttons, header and footer match avestaketaminewellness.com.
Template: twentytwentyfive
Version: 2.6.0
Author: Avesta Ketamine Wellness
Text Domain: avesta-ads
*/

/* ---------- Brand tokens ---------- */
:root {
  --av-primary: #32a3c3;
  --av-cta: #1f7f9b;            /* primary, deepened so white text passes 4.5:1 */
  --av-cta-hover: #1a5565;
  --av-primary-dark: #1a5565;
  --av-ultra-dark: #0a2229;
  --av-ultra-light: #ebf7fa;
  --av-primary-light: #9acee5;
  --av-base-dark: #1f4160;
  --av-secondary: #e0ebf5;
  --av-neutral: #e2e8ee;
  --av-text: #0c1a27;
  --av-muted: rgba(12, 26, 39, .68);
  --av-line: rgba(12, 26, 39, .10);
  --av-gold: #f2b01e;
  --av-head: 'Gentium Plus', Georgia, 'Times New Roman', serif;
  --av-body: 'Karla', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --av-max: 1240px;
  --av-gutter: clamp(18px, 4vw, 32px);
  --av-radius-card: 16px;
  --av-radius-media: 20px;
  --av-pill: 9999px;
  --av-shadow-card: 0 10px 30px rgba(10, 34, 41, .07);
  --av-shadow-lift: 0 18px 44px rgba(10, 34, 41, .13);
}

html { scroll-behavior: smooth; scroll-padding-top: 130px; }
body { font-family: var(--av-body); color: var(--av-text); background: #fff; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: var(--av-head); font-weight: 700; letter-spacing: -.01em; }
a { color: var(--av-primary-dark); }
:focus-visible { outline: 3px solid var(--av-primary); outline-offset: 2px; }

/* ---------- Buttons (shared) ---------- */
.av-btn, .av-call {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em;
  min-height: 48px; padding: .8em 1.7em;
  border-radius: var(--av-pill); border: 2px solid transparent;
  font-family: var(--av-body); font-weight: 700; font-size: 1.0625rem; line-height: 1.2;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color .2s, color .2s, border-color .2s, transform .15s, box-shadow .2s;
}
.av-btn { background: var(--av-cta); color: #fff; box-shadow: 0 8px 20px rgba(31, 127, 155, .28); }
.av-btn:hover { background: var(--av-cta-hover); color: #fff; transform: translateY(-1px); }
.av-call { background: #fff; color: var(--av-primary-dark); border-color: var(--av-primary-dark); }
.av-call:hover { background: var(--av-primary-dark); color: #fff; transform: translateY(-1px); }
.av-call svg { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; flex: none; }

/* ---------- Header: logo, jump links, call, book ---------- */
.av-header { position: relative; padding-inline: 0 !important; background: rgba(255, 255, 255, .97); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--av-line); }
.av-header__inner { max-width: var(--av-max); margin-inline: auto; padding: 10px var(--av-gutter); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.av-header .wp-block-site-logo img { display: block; width: auto; height: 50px; }
.av-nav { display: none; gap: clamp(14px, 2vw, 28px); }
.av-nav a { white-space: nowrap; font-weight: 700; font-size: .8125rem; letter-spacing: .09em; text-transform: uppercase; color: var(--av-text); text-decoration: none; padding: 8px 2px; border-bottom: 2px solid transparent; }
.av-nav a:hover { color: var(--av-cta); border-bottom-color: var(--av-primary); }
.av-header__actions { display: flex; align-items: center; gap: 10px; }
.av-header .av-call, .av-header .av-btn { min-height: 44px; padding: .6em 1.3em; font-size: 1rem; }
.av-phone-icon { display: none; }
@media (min-width: 1024px) { .av-nav { display: flex; } }
@media (max-width: 767px) {
  .av-header .wp-block-site-logo img { height: 40px; }
  .av-header .av-btn { display: none; }
  .av-header .av-call { min-height: 44px; padding: .55em 1.15em; font-size: 1rem; }
}


/* ---------- Footer (light, mirrors the main site's footer) ---------- */
.av-footer { background: linear-gradient(180deg, #d9e9f4 0%, #e9f3f9 28%, #f3f9fc 100%); color: var(--av-muted); font-size: .9375rem; }
.av-footer__inner { max-width: var(--av-max); margin-inline: auto; padding: clamp(40px, 5vw, 64px) var(--av-gutter) 28px; }
.av-creds { text-align: center; padding-bottom: 30px; }
.av-creds__eyebrow { font-weight: 700; font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--av-primary-dark); margin: 0 0 26px; }
.av-legit { display: flex; align-items: center; justify-content: center; gap: 18px; max-width: 580px; margin: 0 auto 28px; padding: 18px 22px; text-align: left; background: var(--av-secondary); border: 1px solid rgba(26, 85, 101, .16); border-radius: 18px; }
.av-legit img { width: 52px; height: auto; flex: none; }
.av-legit__title { font-family: var(--av-head); font-weight: 700; color: var(--av-ultra-dark); font-size: 1.1875rem; margin: 0 0 .2em; }
.av-legit__desc { margin: 0; font-size: .9375rem; color: var(--av-muted); }
.av-legit__desc a { color: var(--av-cta); font-weight: 700; }
.av-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 32px; max-width: 900px; margin-inline: auto; }
.av-footer .av-logos img { height: 38px; width: auto; max-width: 150px; object-fit: contain; filter: grayscale(1); opacity: .62; }
.av-footer__legal { border-top: 1px solid var(--av-line); margin-top: 26px; padding-top: 26px; }
.av-footer__legal p { margin: 0 0 .8em; max-width: none; }
.av-footer__legal strong { color: var(--av-text); }
.av-footer a { color: var(--av-primary-dark); }
.av-footer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; border-top: 1px solid var(--av-line); margin-top: 22px; padding-top: 20px; font-size: .875rem; }
.av-footer__links { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.av-footer__links a { color: var(--av-muted); text-decoration: none; }
.av-footer__links a:hover { color: var(--av-cta); text-decoration: underline; }
.av-footer__docs { margin-top: 18px; display: grid; gap: 8px; }
.av-footer__docs details:not([open]) { display: none; }
.av-footer__docs details { background: #fff; border: 1px solid var(--av-line); border-radius: 12px; }
.av-footer__docs summary { cursor: pointer; padding: 13px 18px; font-weight: 700; color: var(--av-text); font-size: .9375rem; min-height: 44px; display: flex; align-items: center; }
.av-footer__docs .av-doc { padding: 4px 20px 20px; max-height: 440px; overflow: auto; font-size: .875rem; color: var(--av-muted); }
.av-footer__docs .av-doc h4, .av-footer__docs .av-doc h5 { font-family: var(--av-head); color: var(--av-ultra-dark); margin: 1.3em 0 .4em; font-size: 1rem; }
.av-footer__docs .av-doc p, .av-footer__docs .av-doc li { max-width: none; }
@media (max-width: 640px) { .av-legit { flex-direction: column; text-align: center; } .av-footer__bar { flex-direction: column; align-items: flex-start; } }

/* WordPress block-theme resets for landing pages */
.wp-site-blocks > * { margin-block-start: 0 !important; }
.wp-site-blocks > .wp-block-template-part:first-child { position: sticky; top: 0; z-index: 100; }
.av-footer { padding-inline: 0 !important; }
.avl-legal :is(p, li) { color: rgba(12, 26, 39, .82); }
.avl-legal ul { padding-left: 1.2em; }
