/*
Theme Name: AYAI Max
Theme URI: https://ayai.org.za/
Description: Lightweight, mobile-first AYAI child theme for Kadence.
Author: AYAI
Template: kadence
Version: 2.1.0
Text Domain: ayai-max
Requires at least: 6.4
Requires PHP: 7.4
*/

/* AYAI uses Kadence's global palette where available. Changes made in
   Appearance > Customize > Colors therefore continue to flow into the theme. */
:root {
  --ayai-midnight: var(--global-palette1, #0b1f3a);
  --ayai-navy: var(--global-palette2, #163a63);
  --ayai-gold: var(--global-palette3, #c8a24a);
  --ayai-ink: var(--global-palette4, #17243a);
  --ayai-muted: var(--global-palette5, #5e6c7a);
  --ayai-cream: var(--global-palette8, #faf8f3);
  --ayai-white: var(--global-palette9, #ffffff);
  --ayai-line: rgb(11 31 58 / 11%);
  --ayai-shadow: 0 24px 70px rgb(11 31 58 / 13%);
}

html { scroll-behavior: smooth; }
body { background: var(--ayai-white); color: var(--ayai-ink); }
img, svg, video { max-width: 100%; height: auto; }
:where(.ayai-home) * { box-sizing: border-box; }
:where(.ayai-home) :is(h1,h2,h3,h4,h5,h6,p,a) { overflow-wrap: anywhere; }
:where(.ayai-home) :is(a,button,.wp-element-button):focus-visible {
  outline: 3px solid var(--ayai-gold);
  outline-offset: 3px;
}

/* Keep header and footer editable through Kadence. Only safe contrast fallbacks
   are supplied for the mobile drawer when it inherits a dark background. */
:where(.popup-drawer .drawer-inner) { color: inherit; }
:where(.popup-drawer .drawer-inner) a { color: inherit; }

.ayai-editable-front,
.ayai-home.wp-block-group {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
.home :is(.entry-header,.page-header,.entry-title) { display: none; }
.ayai-home { overflow: clip; }
.ayai-shell { width: min(1240px, calc(100% - 40px)); margin-inline: auto; }

.ayai-kicker {
  margin: 0 0 1rem;
  color: var(--ayai-gold);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.45;
  text-transform: uppercase;
}
.ayai-title {
  margin: 0;
  color: var(--ayai-midnight);
  font-size: clamp(2.25rem, 5vw, 5rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}
.ayai-lead {
  max-width: 760px;
  color: var(--ayai-muted);
  font-size: clamp(1rem, 1.65vw, 1.25rem);
  line-height: 1.72;
}

.ayai-hero {
  position: relative;
  padding: clamp(5rem, 10vw, 9rem) 0;
  overflow: hidden;
  background: linear-gradient(125deg, var(--ayai-midnight), var(--ayai-navy) 60%, #14537f);
  color: var(--ayai-white);
}
.ayai-hero::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(circle at 77% 24%, rgb(200 162 74 / 25%), transparent 28%),
    linear-gradient(90deg, rgb(255 255 255 / 2.5%) 1px, transparent 1px),
    linear-gradient(rgb(255 255 255 / 2.5%) 1px, transparent 1px);
  background-size: auto, 58px 58px, 58px 58px;
}
.ayai-hero-grid.wp-block-columns {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: center;
  margin-bottom: 0;
}
.ayai-hero-grid > .wp-block-column { min-width: 0; margin: 0; }
.ayai-hero :is(h1,h2,h3,h4,h5,h6) { color: var(--ayai-white); }
.ayai-hero h1 {
  margin: .3rem 0 1.5rem;
  font-size: clamp(3rem, 7vw, 7rem);
  line-height: .94;
  letter-spacing: -.065em;
}
.ayai-hero p { max-width: 780px; color: #dbe6ef; font-size: clamp(1rem, 1.7vw, 1.28rem); line-height: 1.72; }
.ayai-actions.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.ayai-actions .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .95rem 1.4rem;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.ayai-actions .ayai-btn-primary .wp-block-button__link { background: var(--ayai-gold); color: var(--ayai-midnight); box-shadow: 0 14px 32px rgb(0 0 0 / 18%); }
.ayai-actions .ayai-btn-ghost .wp-block-button__link { border: 1px solid rgb(255 255 255 / 70%); background: transparent; color: var(--ayai-white); }
.ayai-trust.wp-block-group { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 2rem; color: #c9d5df; font-size: .9rem; }
.ayai-trust p { margin: 0; color: inherit; }
.ayai-trust p::before { margin-right: .45rem; color: var(--ayai-gold); content: "✓"; font-weight: 900; }
.ayai-mark { display: grid; place-items: center; }
.ayai-mark-inner.wp-block-group {
  position: relative;
  display: grid;
  width: min(100%, 430px);
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(200 162 74 / 20%), transparent 62%);
  box-shadow: inset 0 0 0 24px rgb(255 255 255 / 2.5%), 0 40px 90px rgb(0 0 0 / 24%);
}
.ayai-mark-inner::before,.ayai-mark-inner::after { position:absolute; border:1px solid rgb(200 162 74 / 40%); border-radius:50%; content:""; }
.ayai-mark-inner::before { inset: 9%; }
.ayai-mark-inner::after { inset: 18%; }
.ayai-mark-word { z-index: 2; margin: 0; color: var(--ayai-gold); font-size: clamp(4rem, 8vw, 7.2rem); font-weight: 900; letter-spacing: -.075em; line-height: 1; }
.ayai-mark-sub { position: absolute; bottom: 18%; margin: 0; color: var(--ayai-white); font-size: clamp(.5rem,1vw,.65rem); font-weight: 800; letter-spacing: .18em; }

.ayai-welcome,.ayai-offers { padding: clamp(4.5rem, 8vw, 8rem) 0; background: var(--ayai-white); }
.ayai-welcome-grid.wp-block-columns { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2.5rem,6vw,4.5rem); align-items:start; margin-bottom:0; }
.ayai-welcome-grid > .wp-block-column { min-width:0; margin:0; }
.ayai-welcome-number { margin:0; color:#f0e5c9; font-size:clamp(5rem,12vw,11rem); font-weight:900; letter-spacing:-.08em; line-height:.8; }
.ayai-welcome-copy h2 { margin:.1rem 0 1.4rem; color:var(--ayai-midnight); font-size:clamp(2.35rem,5vw,4.8rem); letter-spacing:-.045em; line-height:1.04; }
.ayai-welcome-copy p { color:var(--ayai-muted); font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.78; }

.ayai-doorways { padding:clamp(4.5rem,8vw,8rem) 0; background:var(--ayai-cream); }
.ayai-section-head { max-width:800px; margin:0 auto 3rem; text-align:center; }
.ayai-section-head .ayai-lead { margin:1rem auto 0; }
.ayai-door-grid.wp-block-columns { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem; margin-bottom:0; }
.ayai-door-grid > .wp-block-column { min-width:0; margin:0; }
.ayai-door.wp-block-group {
  position:relative;
  min-height:470px;
  padding:1.7rem;
  overflow:hidden;
  border:1px solid rgb(255 255 255 / 72%);
  border-radius:30px;
  box-shadow:0 18px 50px rgb(11 31 58 / 8%);
  transition:transform .25s ease, box-shadow .25s ease;
}
.ayai-door::before { position:absolute; inset:0; content:""; pointer-events:none; background:linear-gradient(145deg,rgb(255 255 255 / 74%),rgb(255 255 255 / 12%)); }
.ayai-door > * { position:relative; z-index:1; }
.ayai-door.teacher { background:linear-gradient(150deg,#f8ecd2,#e8c770); }
.ayai-door.studio { background:linear-gradient(150deg,#dceef2,#9ec9d2); }
.ayai-door.school { background:linear-gradient(150deg,#ece7f4,#b9aad4); }
.ayai-door.event { background:linear-gradient(150deg,#e2f0e7,#9dc7ae); }
.ayai-door-icon.wp-block-image { display:grid; height:160px; margin:0; place-items:center; }
.ayai-door-icon img { width:140px; height:140px; object-fit:contain; filter:brightness(0) saturate(100%) invert(10%) sepia(27%) saturate(1477%) hue-rotate(171deg) brightness(94%) contrast(98%); }
.ayai-door-label { margin:0 0 .65rem; color:rgb(11 31 58 / 60%); font-size:.68rem; font-weight:900; letter-spacing:.16em; }
.ayai-door h3 { margin:0 0 .75rem; color:var(--ayai-midnight); font-size:clamp(1.45rem,2.2vw,1.72rem); line-height:1.12; }
.ayai-door p { color:#405166; line-height:1.62; }
.ayai-door .ayai-door-link { position:absolute; right:1.7rem; bottom:1.5rem; left:1.7rem; margin:0; padding-top:1rem; border-top:1px solid rgb(11 31 58 / 12%); font-weight:800; }
.ayai-door-link a { display:flex; gap:1rem; justify-content:space-between; color:var(--ayai-midnight); text-decoration:none; }

.ayai-offer-grid.wp-block-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; margin:3rem 0 0; }
.ayai-offer-grid > .wp-block-column { min-width:0; margin:0; }
.ayai-offer.wp-block-group { height:100%; padding:2rem; border:1px solid var(--ayai-line); border-radius:26px; box-shadow:0 16px 42px rgb(11 31 58 / 5.5%); }
.ayai-offer-number { display:grid; width:44px; height:44px; margin:0; place-items:center; border-radius:50%; background:var(--ayai-midnight); color:var(--ayai-gold); font-weight:900; }
.ayai-offer h3 { margin:1.2rem 0 .7rem; color:var(--ayai-midnight); font-size:clamp(1.4rem,2vw,1.6rem); }
.ayai-offer p { color:var(--ayai-muted); line-height:1.7; }

.ayai-final { padding:clamp(4.5rem,8vw,8rem) 0; background:linear-gradient(135deg,var(--ayai-midnight),var(--ayai-navy)); color:var(--ayai-white); text-align:center; }
.ayai-final :is(h1,h2,h3,h4,h5,h6) { color:var(--ayai-white); }
.ayai-final h2 { margin:.3rem 0 1.3rem; font-size:clamp(2.35rem,5vw,5rem); letter-spacing:-.045em; line-height:1.04; }
.ayai-final p { max-width:760px; margin:0 auto 2rem; color:#dbe6ef; font-size:clamp(1rem,1.4vw,1.15rem); line-height:1.72; }
.ayai-final .wp-block-buttons { justify-content:center; }
.ayai-final .wp-block-button__link { min-height:48px; padding:.95rem 1.4rem; border-radius:999px; background:var(--ayai-gold); color:var(--ayai-midnight); font-weight:800; }

@media (hover:hover) and (pointer:fine) {
  .ayai-door:hover { transform:translateY(-8px); box-shadow:var(--ayai-shadow); }
  .ayai-actions .wp-block-button__link:hover { transform:translateY(-2px); }
}

@media (max-width:1050px) {
  .ayai-hero-grid.wp-block-columns,.ayai-welcome-grid.wp-block-columns { grid-template-columns:1fr; }
  .ayai-mark { max-width:430px; margin-inline:auto; }
  .ayai-door-grid.wp-block-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ayai-offer-grid.wp-block-columns { grid-template-columns:1fr; }
  .ayai-welcome-number { display:none; }
}

@media (max-width:680px) {
  .ayai-shell { width:min(100% - 28px,1240px); }
  .ayai-hero { padding:4.25rem 0; }
  .ayai-hero h1 { font-size:clamp(2.7rem,13vw,4.25rem); line-height:.98; letter-spacing:-.05em; }
  .ayai-hero p { font-size:1rem; line-height:1.65; }
  .ayai-actions.wp-block-buttons { display:grid; grid-template-columns:1fr; }
  .ayai-actions .wp-block-button,.ayai-actions .wp-block-button__link { width:100%; }
  .ayai-trust.wp-block-group { display:block; }
  .ayai-trust p { margin:.55rem 0; }
  .ayai-mark-inner.wp-block-group { max-width:290px; }
  .ayai-door-grid.wp-block-columns { grid-template-columns:1fr; }
  .ayai-door.wp-block-group { min-height:420px; padding:1.4rem; border-radius:24px; }
  .ayai-door-icon.wp-block-image { height:138px; }
  .ayai-door-icon img { width:120px; height:120px; }
  .ayai-door .ayai-door-link { right:1.4rem; bottom:1.3rem; left:1.4rem; }
  .ayai-title,.ayai-welcome-copy h2,.ayai-final h2 { font-size:clamp(2.1rem,10vw,3.2rem); line-height:1.08; letter-spacing:-.035em; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

/* Editor preview: preserve full-width layout while keeping every block editable. */
.editor-styles-wrapper .ayai-home { max-width:none; margin-inline:calc(50% - 50vw); font-family:inherit; }
.editor-styles-wrapper .ayai-home a { pointer-events:auto; }


/* -------------------------------------------------------------------------
   AYAI mobile application pages
   Kadence can constrain shortcode pages inside its normal article column.
   These scoped rules let AYAI directories, profiles, dashboards and forms use
   the available viewport without changing ordinary WordPress pages.
   ------------------------------------------------------------------------- */
:where(.content-area,.site-main,.entry-content,.entry-content-wrap,.content-container):has(
  :where(.ayai-wrap,.ayai-profile-pro,.ayai-discovery,.ayai-unified-discovery,.ayai-dashboard,.ayai-auth-shell,.ayai-event-profile)
) {
  width: 100% !important;
  max-width: none !important;
}

:where(.entry-content,.entry-content-wrap):has(
  :where(.ayai-wrap,.ayai-profile-pro,.ayai-discovery,.ayai-unified-discovery,.ayai-dashboard,.ayai-auth-shell,.ayai-event-profile)
) {
  padding-inline: 0 !important;
}

:where(.site-container,.content-container,.site-content):has(
  :where(.ayai-wrap,.ayai-profile-pro,.ayai-discovery,.ayai-unified-discovery,.ayai-dashboard,.ayai-auth-shell,.ayai-event-profile)
) {
  max-width: none !important;
}

@media (max-width: 767px) {
  :where(.content-area,.site-main,.entry-content,.entry-content-wrap,.content-container):has(
    :where(.ayai-wrap,.ayai-profile-pro,.ayai-discovery,.ayai-unified-discovery,.ayai-dashboard,.ayai-auth-shell,.ayai-event-profile)
  ) {
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }

  :where(.ayai-wrap,.ayai-profile-pro,.ayai-discovery,.ayai-unified-discovery,.ayai-dashboard,.ayai-auth-shell,.ayai-event-profile) {
    width: calc(100% - 24px) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  :where(.ayai-discovery-hero,.ayai-directory-hero,.ayai-unified-hero) {
    width: 100%;
    max-width: none;
    border-radius: 22px !important;
  }

  :where(.ayai-discovery-search,.ayai-directory-filters,.ayai-search) {
    width: 100%;
    min-width: 0;
  }

  :where(.ayai-discovery-search,.ayai-directory-filters,.ayai-search) > * {
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 390px) {
  :where(.ayai-wrap,.ayai-profile-pro,.ayai-discovery,.ayai-unified-discovery,.ayai-dashboard,.ayai-auth-shell,.ayai-event-profile) {
    width: calc(100% - 18px) !important;
  }
}


/* -------------------------------------------------------------------------
   Sprint 2.1 — Teacher Directory mobile experience
   These rules are deliberately scoped to AYAI's discovery directory markup.
   They do not hard-code page content and do not remove Kadence/WordPress
   editing controls.
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
  /* Remove Kadence article spacing around AYAI application-style pages. */
  :where(.content-area,.site-main,.entry-content,.entry-content-wrap):has(.ayai-discovery) {
    padding-top: 0 !important;
  }

  :where(.site-main,.content-area):has(.ayai-discovery) {
    margin-top: 0 !important;
  }

  .ayai-discovery {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 10px 10px 42px !important;
  }

  .ayai-discovery-hero {
    width: 100% !important;
    margin: 0 !important;
    padding: 24px 18px 18px !important;
    border-radius: 22px !important;
    box-shadow: 0 16px 42px rgb(11 31 58 / 16%) !important;
  }

  .ayai-discovery-copy {
    max-width: none !important;
  }

  .ayai-discovery-copy h1 {
    max-width: none !important;
    margin: 8px 0 12px !important;
    font-size: clamp(2.35rem, 11vw, 3.2rem) !important;
    line-height: 1.01 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance;
  }

  .ayai-discovery-copy > p {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .ayai-trust-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 17px !important;
    font-size: .82rem !important;
  }

  /* On phones the form belongs in the natural document flow. The previous
     negative overlap made the page feel narrow and excessively tall. */
  .ayai-discovery-search {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 14px !important;
    gap: 11px !important;
    border-radius: 17px !important;
    box-shadow: 0 14px 32px rgb(2 13 29 / 18%) !important;
  }

  .ayai-discovery-search label {
    min-width: 0 !important;
    gap: 6px !important;
  }

  .ayai-discovery-search input,
  .ayai-discovery-search select,
  .ayai-discovery-submit {
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
    min-height: 50px !important;
    font-size: 16px !important;
  }

  .ayai-discovery-submit {
    margin: 2px 0 0 !important;
  }

  .ayai-discovery-toolbar {
    margin: 24px 2px 18px !important;
    gap: 9px !important;
  }

  .ayai-discovery-toolbar strong {
    font-size: 1.45rem !important;
  }

  .ayai-discovery-grid {
    gap: 16px !important;
  }

  .ayai-discovery-card {
    border-radius: 19px !important;
    box-shadow: 0 10px 28px rgb(11 31 58 / 8%) !important;
  }

  .ayai-discovery-cover {
    height: 142px !important;
  }

  .ayai-discovery-avatar {
    top: 96px !important;
    left: 17px !important;
    width: 88px !important;
    height: 88px !important;
  }

  .ayai-discovery-approved {
    top: 11px !important;
    right: 11px !important;
    max-width: calc(100% - 22px);
    white-space: normal;
    text-align: center;
  }

  .ayai-discovery-card-body {
    padding: 52px 17px 17px !important;
  }

  .ayai-discovery-name-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 8px !important;
  }

  .ayai-discovery-name-row h2 {
    font-size: 1.45rem !important;
    overflow-wrap: anywhere;
  }

  .ayai-discovery-location,
  .ayai-discovery-facts {
    font-size: .82rem !important;
  }

  .ayai-profile-cta {
    min-height: 50px;
    margin-top: 14px !important;
    padding: 13px 14px !important;
  }
}

@media (max-width: 390px) {
  .ayai-discovery {
    padding-inline: 8px !important;
  }

  .ayai-discovery-hero {
    padding-inline: 15px !important;
  }

  .ayai-discovery-copy h1 {
    font-size: clamp(2.15rem, 10.5vw, 2.8rem) !important;
  }
}


/* -------------------------------------------------------------------------
   v1.8.3 — Mobile clipping and horizontal overflow correction
   Padding must be included inside the directory width. This prevents the
   first letters of result headings and card content being pushed off-screen.
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .ayai-discovery,
  .ayai-discovery *,
  .ayai-discovery *::before,
  .ayai-discovery *::after {
    box-sizing: border-box !important;
  }

  .ayai-discovery {
    width: auto !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    overflow: visible !important;
  }

  .ayai-discovery-hero,
  .ayai-discovery-toolbar,
  .ayai-discovery-grid,
  .ayai-discovery-card,
  .ayai-discovery-card-body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .ayai-discovery-toolbar {
    padding-inline: 2px !important;
    overflow: visible !important;
  }

  .ayai-discovery-toolbar :is(span,strong,h2,p),
  .ayai-discovery-card :is(h2,h3,p,a,span,strong) {
    max-width: 100%;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .ayai-discovery-name-row {
    min-width: 0 !important;
  }

  .ayai-profile-cta {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }
}

/* -------------------------------------------------------------------------
   v1.8.4 — Definitive Kadence mobile breakout correction
   Kadence can keep shortcode output inside an offset article wrapper. The
   wrapper is expanded to the viewport, while the AYAI directory itself stays
   centred with a small safe gutter. This replaces the earlier overflow patch.
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
  /* Do not hide a positioning error by clipping the viewport. */
  html,
  body {
    overflow-x: hidden;
  }

  /* Break only AYAI directory content out of Kadence's article column. */
  .entry-content:has(.ayai-discovery) {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Neutralise remaining Kadence offsets without moving the directory itself. */
  :where(.entry-content-wrap,.content-wrap,.site-main,.content-area):has(.ayai-discovery) {
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ayai-discovery {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: calc(100% - 20px) !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 10px 0 42px !important;
    transform: none !important;
    overflow: visible !important;
  }

  .ayai-discovery-hero,
  .ayai-discovery-toolbar,
  .ayai-discovery-grid,
  .ayai-discovery-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  .ayai-discovery-toolbar {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ayai-discovery-card-body {
    overflow: visible !important;
  }

  .ayai-profile-cta {
    height: auto !important;
    min-height: 50px !important;
    white-space: normal !important;
    overflow: visible !important;
  }
}

@media (max-width: 390px) {
  .ayai-discovery {
    width: calc(100% - 14px) !important;
  }
}

/* -------------------------------------------------------------------------
   v1.8.5 — Sprint 2.2 Teacher Profile Premium (mobile first)
   Visual refinement only. Profile content remains controlled by AYAI Platform
   and all WordPress/Kadence editing remains available.
   ------------------------------------------------------------------------- */

/* One premium card language across the public Teacher profile. */
.ayai-profile-page {
  --ayai-profile-radius: 22px;
  --ayai-profile-shadow: 0 12px 34px rgb(11 31 58 / 8%);
  --ayai-profile-border: #e7e3da;
}

.ayai-profile-page :where(
  .ayai-teacher-identity-card,
  .ayai-professional-qualifications,
  .ayai-teacher-stats,
  .ayai-profile-contact-bar,
  .ayai-profile-main,
  .ayai-profile-side-card,
  .ayai-profile-panel,
  .ayai-review-card,
  .ayai-review-form,
  .ayai-public-certificate-card
) {
  border-radius: var(--ayai-profile-radius) !important;
}

.ayai-profile-page :where(
  .ayai-teacher-identity-card,
  .ayai-professional-qualifications,
  .ayai-profile-contact-bar,
  .ayai-profile-side-card,
  .ayai-review-card,
  .ayai-review-form
) {
  box-shadow: var(--ayai-profile-shadow) !important;
}

.ayai-profile-page .ayai-teacher-primary-actions > a.ayai-button {
  min-height: 54px !important;
  border-radius: 16px !important;
}

/* Credentials remain visible but become more compact and easier to scan. */
.ayai-profile-page .ayai-qualification-card {
  min-height: 0;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 14px !important;
  border-radius: 18px !important;
}

.ayai-profile-page .ayai-qualification-badge-wrap {
  width: 76px !important;
  height: 76px !important;
  border-radius: 15px !important;
}

.ayai-profile-page .ayai-qualification-badge-wrap img {
  width: 66px !important;
  height: 66px !important;
}

.ayai-profile-page .ayai-qualification-card-copy {
  padding-left: 13px !important;
  border-left-width: 1px !important;
}

.ayai-profile-page .ayai-qualification-card h3 {
  margin-block: 3px 4px !important;
}

.ayai-profile-page .ayai-qualification-card p {
  line-height: 1.45 !important;
}

/* Reviews read as trusted professional recommendations. */
.ayai-profile-page .ayai-review-card {
  border: 1px solid var(--ayai-profile-border) !important;
  padding: clamp(16px, 3vw, 22px) !important;
}

.ayai-profile-page .ayai-verified-review {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #80631b;
  font-weight: 800;
}

/* Mobile tabs must never disappear. */
.ayai-profile-page .ayai-profile-tabs {
  scrollbar-width: thin;
  scrollbar-color: #c8a24a transparent;
}

.ayai-profile-page .ayai-profile-tabs::-webkit-scrollbar {
  height: 4px;
}

.ayai-profile-page .ayai-profile-tabs::-webkit-scrollbar-thumb {
  background: #c8a24a;
  border-radius: 999px;
}

/* Mobile sticky contact actions are injected by functions.php. */
.ayai-mobile-profile-actions {
  display: none;
}

@media (max-width: 767px) {
  body.single-ayai_teacher {
    padding-bottom: 78px;
  }

  /* Let the public profile use the phone width without affecting ordinary pages. */
  .entry-content:has(.ayai-profile-page) {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    padding-inline: 0 !important;
  }

  :where(.entry-content-wrap,.content-wrap,.site-main,.content-area):has(.ayai-profile-page) {
    max-width: none !important;
    padding-inline: 0 !important;
  }

  .ayai-profile-page,
  .ayai-profile-page *,
  .ayai-profile-page *::before,
  .ayai-profile-page *::after {
    box-sizing: border-box;
  }

  .ayai-profile-page .ayai-profile-shell {
    width: calc(100% - 16px) !important;
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  .ayai-profile-page .ayai-profile-toolbar {
    gap: 10px !important;
    padding: 8px 2px !important;
    overflow: visible !important;
  }

  .ayai-profile-page .ayai-profile-toolbar-actions {
    display: flex !important;
    gap: 8px !important;
  }

  .ayai-profile-page .ayai-tool-button {
    min-height: 46px !important;
    padding: 10px 14px !important;
    white-space: nowrap;
  }

  /* Shorter cover gets the Teacher identity and contact actions on-screen sooner. */
  .ayai-profile-page .ayai-teacher-cover {
    min-height: 0 !important;
    height: clamp(210px, 58vw, 270px) !important;
    border-radius: 22px 22px 0 0 !important;
  }

  .ayai-profile-page .ayai-teacher-identity-card {
    padding: 0 18px 20px !important;
  }

  .ayai-profile-page .ayai-teacher-avatar-wrap {
    margin-top: -68px !important;
  }

  .ayai-profile-page .ayai-teacher-avatar {
    width: 136px !important;
    height: 136px !important;
  }

  .ayai-profile-page .ayai-teacher-heading {
    margin-top: 14px !important;
  }

  .ayai-profile-page .ayai-teacher-heading h1 {
    margin: 9px 0 8px !important;
    font-size: clamp(2.5rem, 12vw, 3.55rem) !important;
    line-height: .98 !important;
    overflow-wrap: anywhere;
  }

  .ayai-profile-page .ayai-teacher-title,
  .ayai-profile-page .ayai-teacher-location,
  .ayai-profile-page .ayai-teaching-format {
    margin-block: 8px !important;
  }

  /* On phones the fixed bottom bar is the single action area. Remove the
     duplicate hero buttons while retaining them for tablet and desktop. */
  .ayai-profile-page .ayai-teacher-primary-actions {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ayai-profile-page .ayai-professional-qualifications {
    margin-top: 16px !important;
    padding: 18px 14px !important;
  }

  .ayai-profile-page .ayai-qualifications-heading {
    margin-bottom: 13px !important;
  }

  .ayai-profile-page .ayai-qualifications-heading p {
    line-height: 1.45 !important;
  }

  .ayai-profile-page .ayai-qualification-card-list {
    gap: 12px !important;
  }

  .ayai-profile-page .ayai-qualification-card {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 13px !important;
  }

  .ayai-profile-page .ayai-qualification-badge-wrap {
    width: 70px !important;
    height: 70px !important;
  }

  .ayai-profile-page .ayai-qualification-badge-wrap img {
    width: 61px !important;
    height: 61px !important;
  }

  .ayai-profile-page .ayai-qualification-card-copy {
    padding-left: 11px !important;
  }

  .ayai-profile-page .ayai-qualification-card h3 {
    font-size: clamp(1.08rem, 5.2vw, 1.35rem) !important;
  }

  .ayai-profile-page .ayai-qualification-card p {
    font-size: .95rem !important;
  }

  .ayai-profile-page .ayai-teacher-stats {
    overflow: hidden;
  }

  /* Contact items become compact, thumb-friendly action rows. */
  .ayai-profile-page .ayai-profile-contact-bar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    margin-top: 16px !important;
  }

  .ayai-profile-page .ayai-profile-contact-bar > a {
    min-width: 0 !important;
    min-height: 76px !important;
    padding: 14px 18px !important;
  }

  .ayai-profile-page .ayai-profile-contact-bar strong {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  /* Horizontal tab rail with all sections reachable by finger. */
  .ayai-profile-page .ayai-profile-tabs {
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 7px !important;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .ayai-profile-page .ayai-profile-tabs > button {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 46px !important;
    padding-inline: 16px !important;
    scroll-snap-align: start;
    white-space: nowrap !important;
  }

  .ayai-profile-page .ayai-profile-content-grid {
    gap: 16px !important;
  }

  .ayai-profile-page .ayai-profile-panel,
  .ayai-profile-page .ayai-profile-side-card {
    padding: 20px 18px !important;
  }

  .ayai-profile-page .ayai-profile-panel > p,
  .ayai-profile-page .ayai-profile-panel .ayai-about-copy,
  .ayai-profile-page .ayai-profile-panel :where(p,li) {
    line-height: 1.72 !important;
  }

  .ayai-profile-page .ayai-profile-side-card {
    margin-bottom: 14px !important;
  }

  .ayai-profile-page .ayai-profile-facts > div {
    padding-block: 16px !important;
  }

  /* Fixed mobile actions: the main next step remains available while scrolling. */
  .ayai-mobile-profile-actions {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9998;
    display: grid;
    grid-template-columns: repeat(var(--ayai-action-count, 2), minmax(0, 1fr));
    gap: 8px;
    padding: 9px max(10px, env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    border-top: 1px solid rgb(11 31 58 / 12%);
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 -12px 32px rgb(11 31 58 / 12%);
    backdrop-filter: blur(14px);
  }

  .ayai-mobile-profile-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 50px;
    padding: 11px 12px;
    border: 1px solid #c89224;
    border-radius: 14px;
    background: #c89224;
    color: #fff !important;
    font-size: .94rem;
    font-weight: 850;
    line-height: 1.15;
    text-align: center;
    text-decoration: none !important;
  }

  .ayai-mobile-profile-actions a.is-whatsapp {
    border-color: #1f7a4f;
    background: #1f7a4f;
  }

  .ayai-mobile-profile-actions a.is-contact {
    border-color: #0b1f3a;
    background: #0b1f3a;
  }
}

@media (max-width: 390px) {
  .ayai-profile-page .ayai-profile-shell {
    width: calc(100% - 12px) !important;
  }

  .ayai-profile-page .ayai-teacher-identity-card,
  .ayai-profile-page .ayai-profile-panel,
  .ayai-profile-page .ayai-profile-side-card {
    padding-inline: 15px !important;
  }

  .ayai-profile-page .ayai-qualification-card {
    grid-template-columns: 62px minmax(0, 1fr) !important;
  }

  .ayai-profile-page .ayai-qualification-badge-wrap {
    width: 62px !important;
    height: 62px !important;
  }

  .ayai-profile-page .ayai-qualification-badge-wrap img {
    width: 55px !important;
    height: 55px !important;
  }
}

/* -------------------------------------------------------------------------
   v1.9.1 — Studio & School Directory Premium Alignment
   Brings the Studio and School registries into the same AYAI visual language
   as the Teacher directory without changing WordPress/AYAI data or editors.
   ------------------------------------------------------------------------- */
.ayai-discovery > .ayai-directory-hero {
  padding: clamp(34px, 5vw, 64px) !important;
  margin: 0 0 20px !important;
  background: linear-gradient(135deg, var(--ayai-midnight), var(--ayai-navy)) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 58px rgb(11 31 58 / 18%) !important;
}

.ayai-discovery > .ayai-directory-hero :is(h1,h2,h3) {
  max-width: 900px;
  margin: .35rem 0 .8rem !important;
  color: #fff !important;
  font-family: inherit;
  font-size: clamp(2.35rem, 5.4vw, 4.7rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}

.ayai-discovery > .ayai-directory-hero p {
  max-width: 800px;
  margin: 0 !important;
  color: rgb(255 255 255 / 84%) !important;
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.65;
}

.ayai-discovery > .ayai-directory-filters {
  display: grid !important;
  grid-template-columns: minmax(220px,1.25fr) minmax(160px,.75fr) minmax(180px,.85fr) auto !important;
  gap: 10px !important;
  align-items: stretch !important;
  margin: 0 0 28px !important;
  padding: 14px !important;
  border: 1px solid var(--ayai-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 14px 36px rgb(11 31 58 / 7%) !important;
}

.ayai-discovery > .ayai-directory-filters :is(input,select,button) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  border-radius: 13px !important;
  font-size: 16px !important;
}

.ayai-discovery > .ayai-directory-filters :is(input,select) {
  padding: 0 15px !important;
  border: 1px solid #d8dde4 !important;
  background: #fff !important;
  color: var(--ayai-ink) !important;
}

.ayai-discovery > .ayai-directory-filters :is(input,select):focus {
  outline: 3px solid rgb(200 162 74 / 18%) !important;
  border-color: var(--ayai-gold) !important;
}

.ayai-discovery > :is(.ayai-studio-grid,.ayai-school-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,340px),1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
  overflow: hidden !important;
  border: 1px solid var(--ayai-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgb(11 31 58 / 8%) !important;
}

@media (hover:hover) and (pointer:fine) {
  .ayai-discovery :is(.ayai-studio-card,.ayai-school-card) {
    transition: transform .22s ease, box-shadow .22s ease;
  }
  .ayai-discovery :is(.ayai-studio-card,.ayai-school-card):hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgb(11 31 58 / 13%) !important;
  }
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) > .ayai-card-cover {
  position: relative;
  width: 100%;
  height: clamp(190px, 22vw, 255px) !important;
  flex: 0 0 auto;
  background-color: var(--ayai-midnight) !important;
  background-image: linear-gradient(145deg,var(--ayai-midnight),var(--ayai-navy)) ;
  background-size: cover !important;
  background-position: center !important;
}

/* A graceful premium placeholder when a School or Studio has no cover image. */
.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) > .ayai-card-cover:not([style])::before {
  content: "AYAI";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: rgb(200 162 74 / 82%);
  font-family: Georgia,serif;
  font-size: clamp(2rem,5vw,4rem);
  font-weight: 700;
  letter-spacing: .06em;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) > .ayai-card-body {
  position: relative !important;
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column !important;
  min-width: 0;
  padding: 66px 22px 22px !important;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) .ayai-card-avatar {
  position: absolute !important;
  top: -52px !important;
  left: 22px !important;
  width: 100px !important;
  height: 100px !important;
  display: grid !important;
  place-items: center;
  overflow: hidden;
  border: 5px solid #fff !important;
  border-radius: 24px !important;
  background: var(--ayai-cream) !important;
  box-shadow: 0 12px 30px rgb(11 31 58 / 18%) !important;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) .ayai-card-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) .ayai-approved-mini {
  display: inline-flex !important;
  align-items: center;
  align-self: flex-start;
  min-height: 30px;
  margin: 0 0 15px !important;
  padding: 7px 11px !important;
  border: 1px solid rgb(200 162 74 / 28%);
  border-radius: 999px !important;
  background: #fffaf0;
  color: #80631b !important;
  font-size: .7rem !important;
  font-weight: 850 !important;
  letter-spacing: .075em !important;
  line-height: 1.2;
  text-transform: uppercase;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) h2 {
  margin: 0 0 8px !important;
  color: var(--ayai-midnight) !important;
  font-family: Georgia,serif !important;
  font-size: clamp(1.9rem,3vw,2.7rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
  overflow-wrap: anywhere;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) .ayai-card-body > p {
  margin: 0 0 13px !important;
  color: var(--ayai-muted) !important;
  line-height: 1.55 !important;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) .ayai-card-styles {
  min-height: 0 !important;
  color: var(--ayai-navy) !important;
  font-weight: 700;
}

.ayai-discovery .ayai-studio-card-facts {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px !important;
  margin: 3px 0 18px !important;
}

.ayai-discovery .ayai-studio-card-facts span {
  padding: 7px 10px !important;
  border: 1px solid var(--ayai-line);
  border-radius: 999px !important;
  background: #f7f8fa !important;
  color: var(--ayai-midnight) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
}

.ayai-discovery :is(.ayai-studio-card,.ayai-school-card) .ayai-button-full {
  width: 100% !important;
  min-height: 52px !important;
  margin: auto 0 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

@media (max-width: 820px) {
  .ayai-discovery > .ayai-directory-filters {
    grid-template-columns: 1fr 1fr !important;
  }
  .ayai-discovery > .ayai-directory-filters .ayai-button {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .ayai-discovery > .ayai-directory-hero {
    padding: 28px 19px !important;
    border-radius: 22px !important;
  }

  .ayai-discovery > .ayai-directory-hero :is(h1,h2,h3) {
    font-size: clamp(2.2rem,11vw,3.15rem) !important;
  }

  .ayai-discovery > .ayai-directory-filters {
    grid-template-columns: 1fr !important;
    padding: 12px !important;
    margin-bottom: 18px !important;
    border-radius: 17px !important;
  }

  .ayai-discovery > .ayai-directory-filters .ayai-button {
    grid-column: auto;
  }

  .ayai-discovery > :is(.ayai-studio-grid,.ayai-school-grid) {
    gap: 16px !important;
  }

  .ayai-discovery :is(.ayai-studio-card,.ayai-school-card) {
    border-radius: 20px !important;
  }

  .ayai-discovery :is(.ayai-studio-card,.ayai-school-card) > .ayai-card-cover {
    height: 178px !important;
  }

  .ayai-discovery :is(.ayai-studio-card,.ayai-school-card) > .ayai-card-body {
    padding: 58px 17px 17px !important;
  }

  .ayai-discovery :is(.ayai-studio-card,.ayai-school-card) .ayai-card-avatar {
    top: -45px !important;
    left: 17px !important;
    width: 86px !important;
    height: 86px !important;
    border-radius: 20px !important;
  }

  .ayai-discovery :is(.ayai-studio-card,.ayai-school-card) h2 {
    font-size: clamp(1.75rem,8.5vw,2.25rem) !important;
  }
}


/* -------------------------------------------------------------------------
   v1.9.2 — Yoga Events Premium Directory & Profile
   Aligns Events with the shared AYAI public directory design system.
   ------------------------------------------------------------------------- */

/* Event discovery filters contain more controls than Studio/School filters. */
.ayai-events-registry > .ayai-event-filters {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto !important;
}

.ayai-events-registry > .ayai-event-filters .ayai-button {
  min-width: 150px !important;
}

.ayai-events-registry > .ayai-event-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.ayai-events-registry .ayai-event-card {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
  overflow: hidden !important;
  border: 1px solid var(--ayai-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgb(11 31 58 / 8%) !important;
}

@media (hover:hover) and (pointer:fine) {
  .ayai-events-registry .ayai-event-card {
    transition: transform .22s ease, box-shadow .22s ease;
  }
  .ayai-events-registry .ayai-event-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 56px rgb(11 31 58 / 13%) !important;
  }
}

.ayai-events-registry .ayai-event-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: clamp(210px, 24vw, 280px) !important;
  flex: 0 0 auto;
  overflow: hidden !important;
  background: linear-gradient(145deg, var(--ayai-midnight), var(--ayai-navy)) !important;
  text-decoration: none !important;
}

.ayai-events-registry .ayai-event-image > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform .35s ease;
}

@media (hover:hover) and (pointer:fine) {
  .ayai-events-registry .ayai-event-card:hover .ayai-event-image > img {
    transform: scale(1.025);
  }
}

.ayai-events-registry .ayai-event-placeholder {
  position: absolute;
  inset: 0;
  display: grid !important;
  place-items: center;
  color: rgb(200 162 74 / 86%) !important;
  font-family: Georgia, serif;
  font-size: clamp(2.1rem, 5vw, 4.2rem) !important;
  font-weight: 700 !important;
  letter-spacing: .08em;
}

.ayai-events-registry .ayai-event-date {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  display: grid !important;
  place-items: center;
  min-width: 68px !important;
  min-height: 72px !important;
  padding: 8px 10px !important;
  border: 1px solid rgb(255 255 255 / 72%) !important;
  border-radius: 18px !important;
  background: rgb(255 255 255 / 94%) !important;
  color: var(--ayai-midnight) !important;
  box-shadow: 0 12px 30px rgb(11 31 58 / 20%) !important;
  font-size: .75rem !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
  text-align: center;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.ayai-events-registry .ayai-event-date b {
  display: block;
  font-family: Georgia, serif;
  font-size: 1.8rem !important;
  line-height: 1 !important;
}

.ayai-events-registry .ayai-event-category {
  position: absolute !important;
  top: 17px !important;
  right: 16px !important;
  max-width: calc(100% - 112px);
  padding: 8px 11px !important;
  border: 1px solid rgb(255 255 255 / 64%) !important;
  border-radius: 999px !important;
  background: rgb(11 31 58 / 85%) !important;
  color: #fff !important;
  font-size: .68rem !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
  text-wrap: balance;
  backdrop-filter: blur(8px);
}

.ayai-events-registry .ayai-event-card > .ayai-card-body {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column !important;
  min-width: 0;
  padding: 22px !important;
}

.ayai-events-registry .ayai-event-card .ayai-approved-mini {
  display: inline-flex !important;
  align-items: center;
  align-self: flex-start;
  min-height: 30px;
  margin: 0 0 14px !important;
  padding: 7px 11px !important;
  border: 1px solid rgb(200 162 74 / 28%);
  border-radius: 999px !important;
  background: #fffaf0 !important;
  color: #80631b !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
  letter-spacing: .07em !important;
  line-height: 1.2;
  text-transform: uppercase;
}

.ayai-events-registry .ayai-event-card h2 {
  margin: 0 0 12px !important;
  color: var(--ayai-midnight) !important;
  font-family: Georgia, serif !important;
  font-size: clamp(1.65rem, 2.5vw, 2.25rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.028em !important;
  overflow-wrap: anywhere;
}

.ayai-events-registry .ayai-event-card h2 a {
  color: inherit !important;
  text-decoration: none !important;
}

.ayai-events-registry :is(.ayai-event-meta,.ayai-event-host) {
  margin: 0 0 10px !important;
  color: var(--ayai-muted) !important;
  font-size: .96rem !important;
  line-height: 1.5 !important;
}

.ayai-events-registry .ayai-event-meta strong {
  color: var(--ayai-midnight) !important;
}

.ayai-events-registry .ayai-event-host a {
  color: var(--ayai-navy) !important;
  font-weight: 750 !important;
}

.ayai-events-registry .ayai-event-card-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: auto !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--ayai-line) !important;
}

.ayai-events-registry .ayai-event-card-footer > strong {
  color: var(--ayai-midnight) !important;
  font-size: 1.05rem !important;
  overflow-wrap: anywhere;
}

.ayai-events-registry .ayai-event-card-footer .ayai-button {
  min-height: 48px !important;
  padding-inline: 20px !important;
  border-radius: 13px !important;
  white-space: nowrap;
}

/* Premium single-event profile. */
.ayai-event-profile {
  width: min(1240px, calc(100% - 32px)) !important;
  margin: 26px auto 70px !important;
  color: var(--ayai-ink);
}

.ayai-event-profile .ayai-event-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
  min-height: 500px;
  overflow: hidden !important;
  border: 1px solid var(--ayai-line) !important;
  border-radius: 30px !important;
  background: linear-gradient(135deg, var(--ayai-midnight), var(--ayai-navy)) !important;
  box-shadow: var(--ayai-shadow) !important;
}

.ayai-event-profile .ayai-event-hero-image {
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
  background: var(--ayai-midnight);
}

.ayai-event-profile .ayai-event-hero-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 500px;
  object-fit: cover !important;
}

.ayai-event-profile .ayai-event-hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(34px, 5vw, 68px) !important;
}

.ayai-event-profile .ayai-event-hero-content :is(h1,p) {
  color: #fff !important;
}

.ayai-event-profile .ayai-event-hero-content h1 {
  margin: 14px 0 18px !important;
  font-family: Georgia, serif !important;
  font-size: clamp(2.7rem, 5.4vw, 5rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.ayai-event-profile .ayai-event-hero-content .ayai-approved-mini {
  align-self: flex-start;
  margin: 0 0 6px !important;
  padding: 8px 12px !important;
  border: 1px solid rgb(200 162 74 / 40%);
  border-radius: 999px !important;
  background: rgb(255 255 255 / 10%) !important;
  color: #f1d990 !important;
  font-size: .7rem !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

.ayai-event-profile .ayai-event-hero-content .ayai-eyebrow {
  color: var(--ayai-gold) !important;
}

.ayai-event-profile .ayai-event-hero-date {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: clamp(1.05rem, 1.6vw, 1.28rem) !important;
  font-weight: 750 !important;
}

.ayai-event-profile .ayai-event-hero-content > p:not(.ayai-event-hero-date) {
  margin: 0 0 22px !important;
  color: rgb(255 255 255 / 80%) !important;
  line-height: 1.65;
}

.ayai-event-profile .ayai-event-hero-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px !important;
}

.ayai-event-profile .ayai-event-hero-actions .ayai-button {
  min-height: 52px !important;
  border-radius: 14px !important;
}

.ayai-event-profile .ayai-event-hero-actions .ayai-button-secondary {
  border-color: rgb(255 255 255 / 40%) !important;
  background: rgb(255 255 255 / 10%) !important;
  color: #fff !important;
}

.ayai-event-profile .ayai-profile-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .72fr) !important;
  gap: 24px !important;
  align-items: start;
  margin-top: 24px !important;
}

.ayai-event-profile .ayai-profile-main,
.ayai-event-profile .ayai-profile-sidebar {
  display: grid;
  gap: 20px;
  min-width: 0;
}

.ayai-event-profile .ayai-profile-section {
  margin: 0 !important;
  padding: clamp(24px, 3vw, 38px) !important;
  border: 1px solid var(--ayai-line) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 16px 42px rgb(11 31 58 / 7%) !important;
}

.ayai-event-profile .ayai-profile-section h2 {
  margin: 0 0 16px !important;
  color: var(--ayai-midnight) !important;
  font-family: Georgia, serif !important;
  font-size: clamp(1.75rem, 3vw, 2.55rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

.ayai-event-profile .ayai-profile-section :is(p,li) {
  color: var(--ayai-muted) !important;
  line-height: 1.75 !important;
}

.ayai-event-profile .ayai-event-detail-card {
  position: sticky;
  top: 32px;
}

.ayai-event-profile .ayai-event-detail-card > p {
  margin: 0 !important;
  padding: 15px 0 !important;
  border-bottom: 1px solid var(--ayai-line);
}

.ayai-event-profile .ayai-event-detail-card > p:last-of-type {
  border-bottom: 0;
}

.ayai-event-profile .ayai-event-detail-card strong {
  display: inline-block;
  margin-bottom: 5px;
  color: var(--ayai-midnight) !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
}

.ayai-event-profile .ayai-event-detail-card .ayai-button-full {
  width: 100% !important;
  min-height: 54px !important;
  margin-top: 18px !important;
  border-radius: 14px !important;
}

@media (max-width: 980px) {
  .ayai-events-registry > .ayai-event-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .ayai-events-registry > .ayai-event-filters .ayai-button {
    grid-column: 1 / -1;
  }

  .ayai-event-profile .ayai-event-hero {
    grid-template-columns: 1fr !important;
  }
  .ayai-event-profile .ayai-event-hero-image,
  .ayai-event-profile .ayai-event-hero-image img {
    min-height: 330px;
    max-height: 420px;
  }
  .ayai-event-profile .ayai-profile-layout {
    grid-template-columns: 1fr !important;
  }
  .ayai-event-profile .ayai-event-detail-card {
    position: static;
  }
}

@media (max-width: 600px) {
  .ayai-events-registry > .ayai-event-filters {
    grid-template-columns: 1fr !important;
  }
  .ayai-events-registry > .ayai-event-filters .ayai-button {
    grid-column: auto;
  }
  .ayai-events-registry > .ayai-event-grid {
    gap: 16px !important;
  }
  .ayai-events-registry .ayai-event-card {
    border-radius: 20px !important;
  }
  .ayai-events-registry .ayai-event-image {
    height: 205px !important;
  }
  .ayai-events-registry .ayai-event-card > .ayai-card-body {
    padding: 18px !important;
  }
  .ayai-events-registry .ayai-event-card-footer {
    grid-template-columns: 1fr !important;
  }
  .ayai-events-registry .ayai-event-card-footer .ayai-button {
    width: 100% !important;
  }

  .ayai-event-profile {
    width: calc(100% - 14px) !important;
    margin: 8px auto 48px !important;
  }
  .ayai-event-profile .ayai-event-hero {
    min-height: 0;
    border-radius: 22px !important;
  }
  .ayai-event-profile .ayai-event-hero-image,
  .ayai-event-profile .ayai-event-hero-image img {
    min-height: 230px;
    height: 230px !important;
  }
  .ayai-event-profile .ayai-event-hero-content {
    padding: 26px 19px 28px !important;
  }
  .ayai-event-profile .ayai-event-hero-content h1 {
    font-size: clamp(2.35rem, 12vw, 3.35rem) !important;
  }
  .ayai-event-profile .ayai-event-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .ayai-event-profile .ayai-event-hero-actions .ayai-button {
    width: 100% !important;
  }
  .ayai-event-profile .ayai-profile-layout {
    gap: 16px !important;
    margin-top: 16px !important;
  }
  .ayai-event-profile .ayai-profile-section {
    padding: 22px 18px !important;
    border-radius: 20px !important;
  }
}

/* ==========================================================================
   AYAI Max 1.9.3 — Mobile Header, Navigation & Footer Foundation
   Keeps Kadence controls editable while applying a consistent mobile shell.
   ========================================================================== */

:root {
  --ayai-mobile-gutter: 16px;
  --ayai-header-height: 68px;
}

/* Prevent long brand text, menus and footer links from creating sideways scroll. */
.site-header,
.site-footer,
#mobile-drawer,
.popup-drawer,
.drawer-inner {
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Keep the standard Kadence desktop header clean and stable. */
.site-header-row-container-inner,
.site-header-row-layout-standard {
  min-width: 0;
}

.site-branding,
.site-branding a,
.site-branding img,
.site-title-wrap {
  min-width: 0;
}

.site-branding img {
  display: block;
  width: auto;
  max-width: min(190px, 48vw);
  height: auto;
  object-fit: contain;
}

/* Shared footer polish without replacing Kadence footer controls. */
.site-footer {
  border-top: 1px solid rgb(11 31 58 / 9%);
  background: var(--ayai-midnight, #0b1f3a);
  color: rgb(255 255 255 / 78%);
}

.site-footer :is(h1,h2,h3,h4,h5,h6),
.site-footer .widget-title,
.site-footer .site-footer-title {
  color: #fff;
}

.site-footer a {
  color: rgb(255 255 255 / 84%);
  text-underline-offset: 3px;
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: var(--ayai-gold, #c8a24a);
}

.site-footer .site-container,
.site-footer .site-footer-wrap,
.site-footer .site-footer-row-container-inner {
  width: min(100% - 32px, 1240px);
  max-width: 1240px;
  margin-inline: auto;
}

@media (max-width: 767px) {
  :root {
    --ayai-mobile-gutter: 14px;
    --ayai-header-height: 64px;
  }

  /* Mobile header: compact, balanced and easy to tap. */
  .site-header,
  .site-mobile-header-wrap,
  .site-header-row-container-inner,
  .site-header-row-layout-contained {
    width: 100%;
    max-width: none;
  }

  .site-mobile-header-wrap,
  .site-header-row-container-inner {
    min-height: var(--ayai-header-height);
  }

  .site-header-row-container-inner,
  .site-mobile-header-wrap .site-header-row-container-inner {
    padding-inline: var(--ayai-mobile-gutter) !important;
  }

  .site-header-item,
  .site-header-section,
  .site-header-section-left,
  .site-header-section-right {
    min-width: 0;
  }

  .site-header-section-left {
    flex: 1 1 auto;
  }

  .site-header-section-right {
    flex: 0 0 auto;
  }

  .site-branding,
  .site-branding a {
    display: flex;
    max-width: 100%;
    align-items: center;
  }

  .site-branding img,
  .custom-logo {
    max-width: min(164px, 52vw) !important;
    max-height: 48px;
  }

  .site-title,
  .site-title a {
    max-width: 58vw;
    overflow: hidden;
    font-size: clamp(1rem, 4.8vw, 1.3rem);
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .site-description {
    display: none;
  }

  /* Kadence mobile menu button. */
  .mobile-toggle-open-container,
  .mobile-toggle-open-container .menu-toggle-open,
  .menu-toggle-open {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .mobile-toggle-open-container .menu-toggle-open,
  .menu-toggle-open {
    width: 46px;
    min-width: 46px;
    height: 46px;
    min-height: 46px;
    padding: 0 !important;
    border: 1px solid rgb(11 31 58 / 12%);
    border-radius: 14px;
    background: #fff;
    color: var(--ayai-midnight, #0b1f3a);
    box-shadow: 0 8px 22px rgb(11 31 58 / 8%);
  }

  .mobile-toggle-open-container .menu-toggle-open:hover,
  .mobile-toggle-open-container .menu-toggle-open:focus-visible {
    border-color: rgb(200 162 74 / 58%);
    background: var(--ayai-ivory, #faf8f3);
    color: var(--ayai-midnight, #0b1f3a);
  }

  /* Mobile drawer: premium panel with large, finger-friendly links. */
  #mobile-drawer,
  .popup-drawer {
    z-index: 999999;
  }

  .popup-drawer .drawer-inner,
  #mobile-drawer .drawer-inner {
    width: min(88vw, 390px);
    max-width: 390px;
    padding: 18px var(--ayai-mobile-gutter) 28px;
    overflow-x: hidden;
    overflow-y: auto;
    background: #fff;
    box-shadow: -18px 0 55px rgb(11 31 58 / 18%);
  }

  .popup-drawer .drawer-header,
  #mobile-drawer .drawer-header {
    min-height: 52px;
    padding: 0 0 12px;
    border-bottom: 1px solid rgb(11 31 58 / 9%);
  }

  .popup-drawer .drawer-toggle,
  #mobile-drawer .drawer-toggle {
    width: 44px;
    height: 44px;
    border-radius: 14px;
  }

  .mobile-navigation,
  .mobile-navigation ul,
  .mobile-navigation .menu {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .mobile-navigation .menu > li,
  .mobile-navigation ul > li {
    width: 100%;
    margin: 0;
    border-bottom: 1px solid rgb(11 31 58 / 8%);
  }

  .mobile-navigation .menu > li:last-child,
  .mobile-navigation ul > li:last-child {
    border-bottom: 0;
  }

  .mobile-navigation a,
  .mobile-navigation .menu-item > a {
    display: flex !important;
    min-height: 52px;
    padding: 13px 4px !important;
    align-items: center;
    justify-content: space-between;
    color: var(--ayai-midnight, #0b1f3a) !important;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
  }

  .mobile-navigation a:hover,
  .mobile-navigation a:focus-visible,
  .mobile-navigation .current-menu-item > a,
  .mobile-navigation .current-menu-ancestor > a {
    color: var(--ayai-navy, #163a63) !important;
  }

  .mobile-navigation .sub-menu {
    margin: 0 0 8px !important;
    padding: 0 0 0 14px !important;
    border-left: 2px solid rgb(200 162 74 / 45%);
  }

  .mobile-navigation .sub-menu a {
    min-height: 46px;
    padding-block: 10px !important;
    color: #405166 !important;
    font-size: .94rem;
    font-weight: 650;
  }

  /* Footer: single-column, readable and free of cramped link rows. */
  .site-footer .site-container,
  .site-footer .site-footer-wrap,
  .site-footer .site-footer-row-container-inner {
    width: calc(100% - (var(--ayai-mobile-gutter) * 2));
  }

  .site-footer-row,
  .site-footer-row-layout-fullwidth,
  .site-footer-row-columns-1,
  .site-footer-row-columns-2,
  .site-footer-row-columns-3,
  .site-footer-row-columns-4 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .site-footer-section,
  .site-footer-section > * {
    min-width: 0;
    max-width: 100%;
  }

  .site-footer :is(p,li,a) {
    font-size: .95rem;
    line-height: 1.65;
  }

  .site-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .site-footer li + li {
    margin-top: 9px;
  }
}

@media (max-width: 380px) {
  :root { --ayai-mobile-gutter: 11px; }
  .site-branding img,
  .custom-logo { max-width: min(145px, 50vw) !important; }
  .mobile-toggle-open-container .menu-toggle-open,
  .menu-toggle-open { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
}
