.ajcal-booking{--aj-ink:#4c2800;--aj-accent:#7030a0;--aj-wash:#f8f3fa;--aj-line:#ddd0e5;box-sizing:border-box;width:100%;max-width:960px;margin:0 auto;background:#fff;border:1px solid var(--aj-line);border-radius:24px;padding:clamp(22px,4vw,48px);color:var(--aj-ink);font:400 17px/1.6 "Public Sans",Arial,sans-serif;text-align:left;isolation:isolate}
.ajcal-booking *{box-sizing:border-box}
.ajcal-booking .aj-eyebrow{font-size:12px;letter-spacing:.13em;color:var(--aj-accent);margin:0 0 12px;font-weight:600}
.ajcal-booking h2{font-family:Merriweather,Georgia,serif;font-size:clamp(26px,3.2vw,36px);line-height:1.3;font-weight:400;color:var(--aj-ink);margin:0 0 16px;padding:0}
.ajcal-booking h3{font-family:Raleway,Arial,sans-serif;font-size:21px;line-height:1.4;font-weight:600;color:var(--aj-ink);margin:0 0 16px;padding:0}
.ajcal-booking p{padding:0;margin:0 0 16px}
.ajcal-booking .aj-zone,.ajcal-booking .aj-hint{font-size:14px;color:#65596a}
.ajcal-booking .aj-content section,.ajcal-booking .aj-form{margin-top:28px}
.ajcal-booking .aj-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ajcal-booking .aj-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}
.ajcal-booking button,.ajcal-booking a.aj-primary{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:52px;max-width:100%;padding:13px 18px;margin:0;border:1px solid var(--aj-line);border-radius:12px;background:#fff;color:var(--aj-ink);font:600 16px/1.4 "Public Sans",Arial,sans-serif;letter-spacing:normal;text-transform:none;cursor:pointer;text-decoration:none;white-space:normal;transition:background .15s,border-color .15s}
.ajcal-booking button::after,.ajcal-booking button::before{content:none!important}
.ajcal-booking button:hover{background:var(--aj-wash);border-color:var(--aj-accent)}
.ajcal-booking button[aria-pressed=true]{background:var(--aj-wash);border:2px solid var(--aj-accent);padding:12px 17px;color:#542077}
.ajcal-booking .aj-primary{background:var(--aj-accent);color:#fff;border-color:var(--aj-accent);min-width:210px}
.ajcal-booking .aj-primary:hover{background:#57217f;color:#fff}
.ajcal-booking button:disabled{opacity:.6;cursor:wait}
.ajcal-booking :is(button,input,a):focus-visible{outline:3px solid #9360b6;outline-offset:4px}
.ajcal-booking .aj-form{padding:24px;background:var(--aj-wash);border-radius:16px}
.ajcal-booking .aj-form>label:not(.aj-consent):not(.aj-honeypot){display:block;font-weight:600;margin-bottom:18px}
.ajcal-booking input[type=text],.ajcal-booking input[type=email]{display:block;width:100%;min-height:52px;margin-top:7px;border:1px solid #ad9ab8;border-radius:8px;background:#fff;color:#302338;font:400 17px/1.5 Arial,sans-serif;padding:12px;box-shadow:none}
.ajcal-booking .aj-consent{display:flex;align-items:flex-start;gap:12px;margin:20px 0;font-size:14px;line-height:1.6;font-weight:400}
.ajcal-booking .aj-consent input{appearance:auto;flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--aj-accent)}
.ajcal-booking a{color:#64268f;text-decoration:underline;text-underline-offset:3px}
.ajcal-booking .aj-status{margin:20px 0 0;font-size:16px}
.ajcal-booking .aj-status:empty{display:none}
.ajcal-booking .aj-contact{margin:28px 0 0;border-top:1px solid var(--aj-line);padding-top:20px;font-size:14px}
.ajcal-booking .aj-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.ajcal-booking{border-radius:16px}.ajcal-booking .aj-date-grid{grid-template-columns:1fr}.ajcal-booking .aj-form{padding:18px}.ajcal-booking .aj-primary{width:100%}.ajcal-booking h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.ajcal-booking *{transition:none!important}}
.ajcal-booking{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.6fr);max-width:1100px;padding:0;overflow:hidden;border-radius:14px;align-items:start;font-size:16px}
.ajcal-booking .aj-intro{padding:28px;border-right:1px solid var(--aj-line);min-width:0;align-self:stretch}
.ajcal-booking .aj-shell{padding:26px;min-width:0}
.ajcal-booking .aj-photo{width:56px;height:56px;object-fit:cover;border-radius:50%;display:block;margin:0 0 14px}
.ajcal-booking .aj-host{font-size:14px;color:#65596a;margin:0 0 8px}
.ajcal-booking h2{font-family:Raleway,Arial,sans-serif;font-weight:600;font-size:27px}
.ajcal-booking .aj-description{white-space:pre-line;margin-bottom:28px}
.ajcal-booking .aj-duration,.ajcal-booking .aj-meet-label{font-size:15px;margin-bottom:12px}
.ajcal-booking .aj-list-title{font-size:20px;margin:0 0 14px}
.ajcal-booking .aj-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:22px}
.ajcal-booking .aj-navigation button{min-height:44px;padding:8px 10px;font-size:14px}
.ajcal-booking .aj-navigation button:disabled{cursor:default;opacity:.4}
.ajcal-booking .aj-page-count{font-size:12px;color:#65596a;white-space:nowrap}
.ajcal-booking .aj-slot-columns{display:grid;gap:16px;align-items:start}
.ajcal-booking .aj-day-column{min-width:0;margin:0!important}
.ajcal-booking .aj-day-title{font:600 14px/1.5 Raleway,Arial,sans-serif;color:#65596a;margin:0 0 14px;padding:0;min-height:42px;text-align:center;text-transform:none}
.ajcal-booking .aj-slot{display:flex;width:100%;margin:0 0 10px;font-size:17px;min-height:48px;padding:10px 12px;font-variant-numeric:tabular-nums}
.ajcal-booking .aj-form{margin-top:16px;padding:20px}
.ajcal-booking .aj-contact{margin-top:18px}
.ajcal-booking .aj-back{min-height:42px;font-size:14px;padding:8px 12px}
.ajcal-booking.aj-compact{grid-template-columns:1fr}
.ajcal-booking.aj-compact .aj-intro{border-right:0;border-bottom:1px solid var(--aj-line);padding:22px}
.ajcal-booking.aj-compact .aj-shell{padding:22px}
@media(max-width:700px){.ajcal-booking{grid-template-columns:1fr}.ajcal-booking .aj-intro{border-right:0;border-bottom:1px solid var(--aj-line);padding:22px}.ajcal-booking .aj-shell{padding:22px}.ajcal-booking .aj-description{margin-bottom:18px}.ajcal-booking .aj-day-title{min-height:0}.ajcal-booking .aj-form{padding:16px}}
