/* Site-wide booking dock. See includes/class-booking-dock.php. */
.abd[hidden]{display:none}
@property --abd-a{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes abd-ring{to{--abd-a:360deg}}
.abd{font-family:'Inter',sans-serif;--abd-ink:#333c36;--abd-sage:#5f6c5b;--abd-cream:#fbfaf6}
.abd *{box-sizing:border-box}
.abd a{text-decoration:none}

/* Off until scrolled past the hero; off while another booking CTA is on screen. */
.abd-bar,.abd-float{transition:transform .25s ease,opacity .25s ease;opacity:0;pointer-events:none}
.abd-bar{transform:translateY(110%)}
.abd-float{transform:translateY(16px)}
.abd.is-on .abd-bar,.abd.is-on .abd-float{opacity:1;transform:none;pointer-events:auto}

/* Mobile: bottom bar. */
.abd-bar{position:fixed;left:0;right:0;bottom:0;z-index:9990;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.7fr);gap:.5rem;
  padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--abd-cream);box-shadow:0 -4px 18px rgba(30,36,31,.16);border-top:1px solid #e6e3d9}
.abd-bar a{display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;border-radius:999px;font-weight:600;font-size:1rem}
.abd-bar__call,.abd-bar__ask{color:var(--abd-ink) !important;border:1.5px solid var(--abd-sage);background:#fff}
.abd-bar__book{color:#fff !important;background:var(--abd-sage)}
.abd-float{display:none}

@media(min-width:901px){
  .abd-bar{display:none}
  .abd-float{display:block;position:fixed;left:24px;bottom:24px;z-index:9990}
  .abd-pill{display:inline-flex;align-items:center;gap:.65rem;padding:.4rem 1.15rem .4rem .4rem;border:0;border-radius:999px;cursor:pointer;
    background:#fff;color:var(--abd-ink);font:600 .98rem 'Inter',sans-serif;box-shadow:0 6px 22px rgba(30,36,31,.22);transition:box-shadow .18s,transform .18s}
  .abd .abd-pill,.abd .abd-pill:hover,.abd .abd-pill:focus{background:#fff;color:var(--abd-ink);text-transform:none;letter-spacing:normal;border:0;line-height:1.2}
  .abd .abd-pill:hover{box-shadow:0 10px 28px rgba(30,36,31,.28);transform:translateY(-1px)}
  /* Subtle green ring with a soft highlight travelling round it, to draw the eye. */
  .abd .abd-pill{position:relative}
  .abd .abd-pill::before{content:"";position:absolute;inset:-3px;border-radius:999px;padding:2px;pointer-events:none;
    background:conic-gradient(from var(--abd-a),rgba(125,154,111,.5) 0deg,#8fb07f 50deg,#5f6c5b 90deg,rgba(125,154,111,.5) 140deg,rgba(125,154,111,.5) 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
    animation:abd-ring 5s linear infinite}
  .abd-pill img{width:40px;height:40px;border-radius:50%;object-fit:cover;display:block}
  .abd-pill[aria-expanded="true"]{display:none}
  .abd-panel{position:relative;width:320px;background:var(--abd-cream);border-radius:16px;border-top:3px solid #a06675;padding:1.3rem 1.3rem 1.2rem;box-shadow:0 12px 36px rgba(30,36,31,.28)}
  .abd-panel[hidden]{display:none}
  .abd-close{position:absolute;top:.55rem;right:.55rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:#4a514a;cursor:pointer}
  .abd .abd-close,.abd .abd-close:focus{background:transparent;color:#4a514a;border:0;padding:0}
  .abd .abd-close:hover{background:#eef1ea;color:#4a514a}
  .abd-panel__head{display:flex;align-items:center;gap:.85rem;margin:0 0 1rem;padding-right:1.6rem}
  .abd-panel__head img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 10px rgba(30,36,31,.15);flex:none}
  .abd-panel__title{margin:0;font:700 1.2rem/1.2 'Raleway',sans-serif;color:var(--abd-ink)}
  .abd-panel__sub{margin:.2rem 0 0;font-size:.85rem;color:#5b6157}
  .abd-panel__facts{list-style:none;margin:0 0 1.1rem;padding:0}
  .abd-panel__facts li{display:flex;gap:.55rem;align-items:flex-start;margin:0 0 .5rem;font-size:.9rem;line-height:1.45;color:#4a514a}
  .abd-panel__facts svg{flex:none;color:var(--abd-sage);margin-top:.05rem}
  .abd-btn{display:block;text-align:center;background:var(--abd-sage);color:#fff !important;font-weight:600;border-radius:999px;padding:.8rem 1rem;transition:background .18s}
  .abd-btn:hover{background:var(--abd-ink)}
  .abd-panel__more{display:flex;justify-content:space-between;gap:.5rem;margin:.8rem 0 0}
  .abd-call{display:flex;align-items:center;gap:.4rem;color:var(--abd-ink) !important;font-weight:600;font-size:.9rem}
  .abd-call:hover{text-decoration:underline}
}
.abd button:focus-visible,.abd a:focus-visible{outline:3px solid var(--abd-ink);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.abd-bar,.abd-float,.abd-pill{transition:none}.abd .abd-pill::before{animation:none;background:#7d9a6f}}
@media print{.abd{display:none !important}}

/* Closing booking card on service pages (includes/class-end-cta.php). */
.ausclin-end-cta{padding:3.6rem 40px 4rem;background:#f4f3ee;font-family:'Inter',sans-serif}
@media(max-width:976px){.ausclin-end-cta{padding-left:32px;padding-right:32px}}
@media(max-width:767px){.ausclin-end-cta{padding:2.8rem 24px 3rem}}
.ausclin-end-cta *{box-sizing:border-box}
.ausclin-end-cta .aec-inner{width:min(980px,100%);margin:0 auto;text-align:center}
.ausclin-end-cta .aec-eyebrow{margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:#5f6c5b}
.ausclin-end-cta .aec-title{margin:0 0 .7rem;font:700 2rem/1.15 'Raleway',sans-serif;color:#333c36}
.ausclin-end-cta .aec-intro{margin:0 auto 1.8rem;max-width:640px;color:#4a514a;font-size:1rem;line-height:1.6}
.ausclin-end-cta .aec-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;text-align:left}
.ausclin-end-cta .aec-person{display:flex;gap:1rem;align-items:flex-start;background:#fff;border-radius:16px;border-top:3px solid #a06675;padding:1.3rem 1.3rem 1.4rem;box-shadow:0 4px 16px rgba(30,36,31,.08)}
.ausclin-end-cta .aec-person img{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 2px 10px rgba(30,36,31,.15)}
.ausclin-end-cta .aec-person__body{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start}
.ausclin-end-cta .aec-person .aec-btn{margin-top:auto}
.ausclin-end-cta .aec-person__name{margin:.15rem 0 .2rem;font:700 1.15rem/1.2 'Raleway',sans-serif;color:#333c36}
.ausclin-end-cta .aec-person__cred{margin:0 0 1rem;font-size:.88rem;line-height:1.45;color:#5b6157}
.ausclin-end-cta .aec-btn{display:inline-block;background:#5f6c5b;color:#fff !important;text-decoration:none !important;font-weight:600;border-radius:999px;padding:.72rem 1.3rem;transition:background .18s}
.ausclin-end-cta .aec-btn:hover,.ausclin-end-cta .aec-btn:focus-visible{background:#333c36}
.ausclin-end-cta .aec-more{margin:1.5rem 0 0;color:#4a514a;font-size:.95rem}
.ausclin-end-cta .aec-more a{color:#4f5b4c !important;font-weight:600;text-decoration:underline;text-underline-offset:2px}
@media(max-width:700px){.ausclin-end-cta .aec-people{grid-template-columns:1fr}.ausclin-end-cta .aec-title{font-size:1.65rem}}
@media print{.ausclin-end-cta{display:none}}

/* Mid-article booking card on posts, phones only (includes/class-post-cta.php). */
.ausclin-post-cta{display:none}
@media(max-width:900px){
  .ausclin-post-cta{display:flex;gap:.9rem;align-items:flex-start;margin:1.8rem 0;padding:1.1rem 1.1rem 1.15rem;background:#fbfaf6;border:1px solid #e3e1d8;border-left:4px solid #a06675;border-radius:14px;font-family:'Inter',sans-serif}
  .ausclin-post-cta img{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(30,36,31,.15);margin:0}
  .ausclin-post-cta .apc-body{flex:1;min-width:0}
  .ausclin-post-cta .apc-title{margin:0 0 .3rem;font:700 1.08rem/1.3 'Raleway',sans-serif;color:#333c36}
  .ausclin-post-cta .apc-text{margin:0 0 .85rem;font-size:.92rem;line-height:1.5;color:#4a514a}
  .ausclin-post-cta .apc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0}
  .ausclin-post-cta .apc-btn{display:inline-block;background:#5f6c5b;color:#fff !important;text-decoration:none !important;font-weight:600;border-radius:999px;padding:.65rem 1.15rem;font-size:.95rem}
  .ausclin-post-cta .apc-link{color:#4f5b4c !important;font-weight:600;font-size:.92rem;text-decoration:underline;text-underline-offset:2px}
}
@media print{.ausclin-post-cta{display:none !important}}

/* Fees panel (includes/class-fees.php), above the closing booking card. */
.ausclin-fees{padding:3.2rem 40px 0;background:#f4f3ee;font-family:'Inter',sans-serif}
@media(max-width:976px){.ausclin-fees{padding-left:32px;padding-right:32px}}
@media(max-width:767px){.ausclin-fees{padding:2.6rem 24px 0}}
.ausclin-fees .afp-inner{width:min(780px,100%);margin:0 auto;background:#fff;border-radius:16px;padding:1.6rem 1.6rem 1.3rem;box-shadow:0 4px 16px rgba(30,36,31,.08)}
.ausclin-fees .afp-title{margin:0 0 1rem;font:700 1.5rem/1.2 'Raleway',sans-serif;color:#333c36}
.ausclin-fees .afp-table{width:100%;border-collapse:collapse;margin:0 0 1rem;font-size:.97rem}
.ausclin-fees .afp-table th,.ausclin-fees .afp-table td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid #e6e3d9;color:#333c36;vertical-align:top}
.ausclin-fees .afp-table thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#5b6157;font-weight:700}
.ausclin-fees .afp-table td{font-weight:700;white-space:nowrap}
.ausclin-fees .afp-mins{font-weight:400;color:#5b6157;font-size:.88rem}
.ausclin-fees .afp-notes{margin:0 0 .8rem;padding-left:1.1rem;color:#4a514a;font-size:.92rem;line-height:1.55}
.ausclin-fees .afp-notes li{margin:0 0 .35rem}
.ausclin-fees .afp-notes a{color:#4f5b4c;font-weight:600}
.ausclin-fees .afp-small{margin:0;color:#5b6157;font-size:.85rem}
@media(max-width:560px){.ausclin-fees .afp-inner{padding:1.2rem 1rem 1rem}.ausclin-fees .afp-table thead th:last-child{white-space:normal}}
