/* AuthorWings Portal: booking calls (6.26.73). Shared by the portal and the dashboard. */
.awg-bk, .awg-bk-prop, .awg-bk-panel, .awg-ptl-cal { --bk-navy: #1C2439; --bk-navy2: #2A3552; --bk-sage: #5C7A6B; --bk-soft: #E5EDE7; --bk-mint: #B8D3C1; --bk-line: #DCE4DE; --bk-muted: #5D6675; --bk-red: #B42318; box-sizing: border-box; }
.awg-bk *, .awg-bk-prop *, .awg-bk-panel *, .awg-ptl-cal * { box-sizing: border-box; }

/* ---------- Calls page ---------- */
.awg-bk { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; margin-top: 8px; }
.awg-bk-book { flex: 999 1 540px; min-width: 0; display: flex; flex-direction: column; gap: 18px; padding: 22px; border: 1px solid var(--bk-line); border-radius: 16px; background: #fff; }
.awg-bk-side { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.awg-bk-h2 { margin: 0 !important; font-size: 20px !important; line-height: 1.3; color: var(--bk-navy); }
.awg-bk-h3 { margin: 10px 0 0 !important; font-size: 12.5px !important; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--bk-muted); }
.awg-bk-empty { margin: 0 !important; color: var(--bk-muted); font-size: 14.5px; }
.awg-bk-note { margin: 0 0 10px !important; padding: 10px 14px; border-radius: 10px; background: var(--bk-soft); color: #234A33; font-size: 14px; }
.awg-bk-note.is-bad { background: #FBEDEB; color: var(--bk-red); }
.awg-bk-note[hidden] { display: none; }
.awg-bk-note:focus { outline: none; } /* 6.26.102: the booking error takes focus so it is read out. */
.awg-bk-row { display: flex; flex-wrap: wrap; gap: 16px; }
.awg-bk-field { flex: 1 1 220px; display: flex; flex-direction: column; gap: 6px; }
.awg-bk-book > .awg-bk-field, .awg-bkp__form .awg-bk-field { flex: none; } /* In the column: its own height only. */
.awg-bk-field label, .awg-bk-label { font-size: 13px; font-weight: 600; color: #3B4252; }
.awg-bk-field label span { font-weight: 400; color: var(--bk-muted); }
.awg-bk select, .awg-bk textarea, .awg-bk-panel select, .awg-bk-panel input { width: 100%; min-height: 44px; margin: 0; padding: 8px 12px; border: 1.5px solid var(--bk-line) !important; border-radius: 10px !important; background: #FBFCFB; color: var(--bk-navy); font: inherit; font-size: 14.5px; box-shadow: none; }
.awg-bk textarea { resize: vertical; }
.awg-bk-seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: 12px; background: #EEF2EF; }
.awg-bk-seg button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: var(--bk-muted); font-weight: 600; font-size: 13.5px; line-height: 1.2; font-family: inherit; cursor: pointer; }
.awg-bk-seg button.on { background: #fff; color: var(--bk-navy); box-shadow: 0 1px 3px rgba(28, 36, 57, .15); }
.awg-bk-seg.is-small button { min-height: 34px; font-size: 13px; }
.awg-bk-pick { display: flex; flex-wrap: wrap; gap: 24px; }
.awg-bk-cal { flex: 1 1 290px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.awg-bk-cal__head { display: flex; align-items: center; justify-content: space-between; color: var(--bk-navy); }
.awg-bk-nav { width: 36px; height: 36px; padding: 0; border: 1px solid var(--bk-line); border-radius: 50%; background: #fff; color: var(--bk-navy); display: grid; place-items: center; cursor: pointer; }
.awg-bk-nav[disabled] { color: #A3ABB8; cursor: default; }
.awg-bk-cal__wk, .awg-bk-cal__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; text-align: center; }
.awg-bk-cal__wk span { font-size: 12px; font-weight: 600; color: var(--bk-muted); }
.awg-bk-cal__days > * { height: 42px; display: grid; place-items: center; border-radius: 10px; font-size: 14px; }
.awg-bk-cal__days button { padding: 0; border: 1px solid var(--bk-mint); background: var(--bk-soft); color: var(--bk-navy); font-weight: 600; font-size: 14px; font-family: inherit; cursor: pointer; }
.awg-bk-cal__days button:hover { border-color: var(--bk-sage); }
.awg-bk-cal__days button.on { border-color: var(--bk-navy); background: var(--bk-navy); color: #fff; }
.awg-bk-cal__days .is-closed, .awg-bk-cal__days .is-full { background: #F4F5F6; color: #A3ABB8; }
.awg-bk-cal__days .is-full { text-decoration: line-through; }
.awg-bk-keys { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--bk-muted); }
.awg-bk-keys span { display: inline-flex; align-items: center; gap: 6px; }
.awg-bk-keys i { width: 10px; height: 10px; border-radius: 3px; background: #F4F5F6; }
.awg-bk-keys .is-open i { background: var(--bk-soft); border: 1px solid var(--bk-mint); }
.awg-bk-times { flex: 1 1 230px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.awg-bk-day { font-size: 16px; color: var(--bk-navy); }
.awg-bk-tgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.awg-bk-tgrid > * { min-height: 44px; display: grid; place-items: center; border-radius: 10px; font-size: 14px; }
.awg-bk-tgrid button { padding: 0; border: 1.5px solid var(--bk-line); background: #fff; color: var(--bk-navy); font-weight: 600; font-size: 14px; font-family: inherit; cursor: pointer; }
.awg-bk-tgrid button:hover { border-color: var(--bk-sage); }
.awg-bk-tgrid button.on { border-color: var(--bk-navy); background: var(--bk-navy); color: #fff; }
.awg-bk-tgrid .is-taken { background: #F4F5F6; color: #A3ABB8; text-decoration: line-through; }
.awg-bk-tz, .awg-bk-prop__tz { margin: 0 !important; font-size: 12.5px; color: var(--bk-muted); }
.awg-bk-go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.awg-bk-go small { color: var(--bk-muted); font-size: 12.5px; }
.awg-bk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 0 14px; border: 1.5px solid var(--bk-line); border-radius: 10px; background: #fff; color: var(--bk-navy); font-weight: 600; font-size: 13.5px; line-height: 1.2; font-family: inherit; text-decoration: none; cursor: pointer; }
.awg-bk-btn:hover { border-color: var(--bk-sage); }
.awg-bk-btn.is-solid { border-color: var(--bk-navy); background: var(--bk-navy); color: #fff; }
.awg-bk-btn.is-solid:hover { background: var(--bk-navy2); }
.awg-bk-btn.is-big { min-height: 48px; padding: 0 22px; font-size: 15px; border-radius: 12px; }
.awg-bk-btn[disabled], .awg-bk-btn.is-off { border-color: #E3E7EC; background: #E3E7EC; color: var(--bk-muted); cursor: default; }
.awg-bk-link { min-height: 40px; padding: 0 8px; border: 0; background: transparent; color: var(--bk-navy); font-weight: 600; font-size: 13.5px; font-family: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.awg-bk-link.is-red { color: var(--bk-red); }
.awg-bk-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.awg-bk-card { display: flex; flex-direction: column; gap: 12px; padding: 16px; border: 1px solid var(--bk-line); border-radius: 14px; background: #fff; }
.awg-bk-card__top { display: flex; gap: 12px; align-items: center; }
.awg-bk-card__txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 13.5px; color: #3B4252; }
.awg-bk-card__txt strong { font-size: 14.5px; color: var(--bk-navy); }
.awg-bk-card__txt small { font-size: 12.5px; color: var(--bk-muted); }
.awg-bk-tile { flex: none; width: 50px; overflow: hidden; border: 1px solid var(--bk-line); border-radius: 9px; text-align: center; background: #fff; }
.awg-bk-tile span { display: block; padding: 2px 0; background: var(--bk-sage); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.awg-bk-tile b { display: block; padding: 2px 0 4px; font-size: 19px; color: var(--bk-navy); }
.awg-bk-past { margin: 0 !important; padding: 0 !important; list-style: none; border: 1px solid var(--bk-line); border-radius: 14px; background: #fff; overflow: hidden; }
.awg-bk-past li { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 10px 16px; border-top: 1px solid #EEF2EF; font-size: 13.5px; color: var(--bk-navy); }
.awg-bk-past li:first-child { border-top: 0; }
.awg-bk-past small { color: var(--bk-muted); }
.awg-bk-done { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; padding: 20px; border-radius: 12px; background: var(--bk-soft); }
.awg-bk-done strong { display: inline-flex; align-items: center; gap: 8px; color: #234A33; font-size: 16.5px; }
.awg-bk-done p { margin: 0 !important; font-size: 14.5px; color: #2E3445; }
.awg-bk-moving { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 14px; border-radius: 10px; background: #FFF7E8; color: #6B4A12; font-size: 14px; }

/* ---------- suggested times in a chat ---------- */
.awg-ptl-b.is-prop { white-space: normal; }
.awg-bk-prop { display: flex; flex-direction: column; gap: 8px; min-width: 220px; max-width: 320px; }
.awg-bk-prop__h { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--bk-navy); }
.awg-bk-prop__t { min-height: 44px; padding: 0 14px; border: 1.5px solid var(--bk-mint); border-radius: 10px; background: #F4F8F5; color: var(--bk-navy); font-weight: 600; font-size: 14px; font-family: inherit; text-align: left; cursor: pointer; }
.awg-bk-prop__t:hover { border-color: var(--bk-sage); }
.awg-bk-prop__t[disabled] { opacity: .6; cursor: default; }
.awg-bk-prop__ok { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px; background: var(--bk-soft); color: #234A33; font-weight: 700; }
.awg-bk-prop__off { margin: 0 !important; color: var(--bk-muted); font-size: 13.5px; }
.awg-bk-prop__list { margin: 0 !important; padding: 0 0 0 18px !important; font-size: 14px; color: var(--bk-navy); }
.awg-bk-prop__list .is-past { color: #A3ABB8; text-decoration: line-through; }
.awg-bk-prop .awg-bk-link { align-self: flex-start; min-height: 32px; padding: 0; font-size: 13px; }

/* ---------- "Suggest times" panel ---------- */
.awg-bk-panel { display: flex; flex-direction: column; gap: 10px; margin: 0 0 10px; padding: 14px; border: 1px solid var(--bk-line); border-radius: 14px; background: #FBFCFB; color: var(--bk-navy); font-size: 14px; }
.awg-bk-panel[hidden] { display: none; }
.awg-bk-panel__h { font-size: 14.5px; }
.awg-bk-panel__row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 8px; }
.awg-bk-panel__t { display: flex; flex-direction: column; gap: 4px; }
.awg-bk-panel__t label { font-size: 12.5px; font-weight: 600; color: #3B4252; }
.awg-bk-panel .awg-bk-acts { justify-content: flex-end; }
.awg-bk-propbtn[aria-expanded="true"] { color: var(--bk-navy, #1C2439); background: rgba(28, 36, 57, .08); }
.awg-ptl-cbtns .awg-bk-propbtn { display: inline-flex; align-items: center; gap: 4px; vertical-align: middle; }
.awg-ptl-cbtns .awg-bk-propbtn svg { width: 16px; height: 16px; }
.awg-ptl-m .awg-bk-prop { margin-top: 4px; }

/* ---------- Team calendar (dashboard) ---------- */
.awg-ptl-cal { margin-top: 16px; display: flex; flex-direction: column; gap: 14px; }
.awg-ptl-cal__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.awg-ptl-cal__range { font-size: 16px; margin: 0 6px; }
.awg-ptl-cal__links { margin-left: auto; }
.awg-ptl-cal__keys { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.awg-ptl-cal__key { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.awg-ptl-cal__key i, .awg-ptl-cal__list li > i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
.awg-ptl-cal .is-ct { --ev-bg: #E5EDE7; --ev-bar: #5C7A6B; }
.awg-ptl-cal .is-cp { --ev-bg: #E3EAF6; --ev-bar: #3E5C99; }
.awg-ptl-cal .is-pt { --ev-bg: #F6EEDF; --ev-bar: #A8773A; }
.awg-ptl-cal .is-cs { --ev-bg: #F1E7F3; --ev-bar: #7B4A86; }
.awg-ptl-cal__key i, .awg-ptl-cal__list li > i { background: var(--ev-bg); border-left: 4px solid var(--ev-bar); }
.awg-ptl-cal__wrap { overflow-x: auto; border: 1px solid #DCDCDE; border-radius: 12px; background: #fff; }
.awg-ptl-cal__grid { display: grid; grid-template-columns: 56px repeat(7, minmax(110px, 1fr)); min-width: 860px; }
.awg-ptl-cal__dayhead { height: 50px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-bottom: 1px solid #DCDCDE; font-size: 12px; color: #5D6675; }
.awg-ptl-cal__dayhead strong { font-size: 16px; color: #1C2439; }
.awg-ptl-cal__day.is-today .awg-ptl-cal__dayhead strong { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #1C2439; color: #fff; }
.awg-ptl-cal__col { position: relative; height: var(--awg-cal-h); background-image: repeating-linear-gradient(to bottom, #EEF0F2 0, #EEF0F2 1px, transparent 1px, transparent var(--awg-cal-px)); }
.awg-ptl-cal__day .awg-ptl-cal__col { border-left: 1px solid #EEF0F2; }
.awg-ptl-cal__times span { position: absolute; right: 8px; transform: translateY(-50%); font-size: 11px; color: #5D6675; white-space: nowrap; }
.awg-ptl-cal__times span:first-child { transform: none; }
.awg-ptl-cal__ev { position: absolute; z-index: 1; display: block; overflow: hidden; padding: 3px 6px; border-left: 4px solid var(--ev-bar); border-radius: 6px; background: var(--ev-bg); color: #1C2439 !important; font-size: 11.5px; line-height: 1.3; text-decoration: none; box-shadow: 0 0 0 1px #fff; }
.awg-ptl-cal__ev:hover, .awg-ptl-cal__ev:focus { z-index: 2; box-shadow: 0 0 0 2px #1C2439; outline: none; }
.awg-ptl-cal__ev b { font-weight: 700; }
.awg-ptl-cal__ev small { display: block; overflow: hidden; color: #3B4252; text-overflow: ellipsis; white-space: nowrap; }
.awg-ptl-cal__ev.is-done { opacity: .55; }
.awg-ptl-cal__now { position: absolute; left: 0; right: 0; z-index: 3; height: 2px; background: #B42318; }
.awg-ptl-cal__now::before { content: ""; position: absolute; left: -4px; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: #B42318; }
.awg-ptl-cal [hidden] { display: none !important; }
.awg-ptl-cal__lh { margin: 8px 0 0 !important; font-size: 15px !important; }
.awg-ptl-cal__list { margin: 0 !important; display: flex; flex-direction: column; border: 1px solid #DCDCDE; border-radius: 12px; background: #fff; overflow: hidden; }
.awg-ptl-cal__list li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0; padding: 12px 16px; border-top: 1px solid #F0F0F1; }
.awg-ptl-cal__list li:first-child { border-top: 0; }
.awg-ptl-cal__list li.is-done { opacity: .6; }
.awg-ptl-cal__lt { min-width: 190px; font-weight: 600; color: #1C2439; }
.awg-ptl-cal__lw { flex: 1 1 260px; color: #3B4252; }
@media (max-width: 782px) {
	.awg-ptl-cal__wrap { display: none; } /* On a phone: the list. */
	.awg-ptl-cal__links { margin-left: 0; }
}

/* ---------- 6.26.74: the booking card (in the style of the leading booking tools) ---------- */
.awg-bkp, .awg-bk-mine { --bk-navy: #1C2439; --bk-navy2: #2A3552; --bk-sage: #5C7A6B; --bk-sage-d: #3F5A4C; --bk-soft: #E5EDE7; --bk-mint: #B8D3C1; --bk-line: #DCE4DE; --bk-muted: #5D6675; --bk-red: #B42318; box-sizing: border-box; }
.awg-bkp *, .awg-bk-mine * { box-sizing: border-box; }
.awg-bkp { display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); margin: 8px 0 32px; border: 1px solid var(--bk-line); border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(28, 36, 57, .04), 0 12px 32px rgba(28, 36, 57, .06); overflow: hidden; min-height: 520px; }
.awg-bkp.is-done { display: block; min-height: 0; }
.awg-bkp__info { display: flex; flex-direction: column; gap: 10px; padding: 28px 24px; border-right: 1px solid var(--bk-line); }
.awg-bkp__logo { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; }
.awg-bkp__logo.is-text { display: grid; place-items: center; background: var(--bk-navy); color: #fff; font: 700 21px/1 Arvo, Georgia, serif; }
.awg-bkp__co { margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--bk-muted); }
.awg-bkp__title { margin: 0 !important; font-size: 26px !important; line-height: 1.2 !important; color: var(--bk-navy); }
.awg-bkp__meta { display: flex; flex-direction: column; gap: 12px; margin: 10px 0 0 !important; padding: 0 !important; list-style: none; }
.awg-bkp__meta li { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 15px; font-weight: 600; color: #3B4252; }
.awg-bkp__meta li svg { flex: none; margin-top: 2px; color: var(--bk-muted); }
.awg-bkp__meta li.is-when { color: var(--bk-sage-d); }
.awg-bkp__meta li.is-when svg { color: var(--bk-sage-d); }
.awg-bkp__how { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; padding-top: 18px; border-top: 1px solid var(--bk-line); }
.awg-bkp .awg-bk-moving { margin-top: 10px; flex-direction: column; align-items: flex-start; }
.awg-bkp__main { min-width: 0; padding: 28px 28px 24px; }
.awg-bkp__h { margin: 0 0 18px !important; font-size: 20px !important; font-weight: 700; color: var(--bk-navy); }
.awg-bkp__pick { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 28px; }
.awg-bkp__month { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.awg-bkp__month strong { font-size: 16px; color: var(--bk-navy); }
.awg-bkp__navs { display: flex; gap: 6px; }
.awg-bkp__nav { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--bk-soft); color: var(--bk-sage-d); display: grid; place-items: center; cursor: pointer; }
.awg-bkp__nav:hover { background: var(--bk-mint); }
.awg-bkp__nav[disabled] { background: transparent; color: #B6BDC7; cursor: default; }
.awg-bkp__wk, .awg-bkp__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px 4px; text-align: center; }
.awg-bkp__wk span { font-size: 11.5px; font-weight: 600; letter-spacing: .04em; color: var(--bk-muted); padding-bottom: 6px; }
.awg-bkp__days > * { position: relative; justify-self: center; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; font-size: 15px; }
.awg-bkp__days .is-off { color: #A3ABB8; }
.awg-bkp__days button { padding: 0; border: 0; background: var(--bk-soft); color: var(--bk-sage-d); font-weight: 700; font-size: 15px; font-family: inherit; cursor: pointer; transition: background .15s; }
.awg-bkp__days button:hover { background: var(--bk-mint); }
.awg-bkp__days button.on { background: var(--bk-navy); color: #fff; }
.awg-bkp__days .is-today::after { content: ""; position: absolute; bottom: 6px; left: 50%; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: currentColor; }
.awg-bkp__tz { display: flex; flex-direction: column; gap: 6px; margin-top: 22px; font-size: 14px; color: #3B4252; }
.awg-bkp__tz span:last-child { display: inline-flex; align-items: center; gap: 6px; }
.awg-bkp__times { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.awg-bkp__day { font-size: 15px; color: var(--bk-navy); line-height: 40px; }
.awg-bkp__list { display: flex; flex-direction: column; gap: 10px; max-height: 410px; overflow-y: auto; padding: 2px 4px 2px 0; scrollbar-width: thin; }
.awg-bkp__t { flex: none; height: 50px; padding: 0; border: 1.5px solid var(--bk-mint); border-radius: 10px; background: #fff; color: var(--bk-sage-d); font-weight: 700; font-size: 15px; font-family: inherit; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.awg-bkp__t:hover { border-color: var(--bk-sage); box-shadow: inset 0 0 0 1px var(--bk-sage); }
.awg-bkp__sel { flex: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; height: 50px; animation: awg-bkp-in .18s ease-out; }
.awg-bkp__chosen { display: grid; place-items: center; border-radius: 10px; background: #5D6675; color: #fff; font-weight: 700; font-size: 15px; }
.awg-bkp__next { border: 0; border-radius: 10px; background: var(--bk-navy); color: #fff; font-weight: 700; font-size: 15px; font-family: inherit; cursor: pointer; }
.awg-bkp__next:hover { background: var(--bk-navy2); }
@keyframes awg-bkp-in { from { opacity: .4; transform: scaleX(.96); } }
.awg-bkp__back { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.awg-bkp__back .awg-bkp__h { margin: 0 !important; }
.awg-bkp__form { display: flex; flex-direction: column; gap: 18px; max-width: 520px; }
.awg-bkp__form select, .awg-bkp__form textarea { width: 100%; min-height: 46px; margin: 0; padding: 10px 12px; border: 1.5px solid var(--bk-line) !important; border-radius: 10px !important; background: #FBFCFB; color: var(--bk-navy); font: inherit; font-size: 15px; box-shadow: none; }
.awg-bkp__form textarea { resize: vertical; }
.awg-bkp__form select:focus, .awg-bkp__form textarea:focus { border-color: var(--bk-sage) !important; outline: 2px solid var(--bk-soft); }
.awg-bkp__policy { margin: 0 !important; font-size: 13.5px; color: var(--bk-muted); }
.awg-bkp__confirm { align-self: flex-start; min-height: 50px; padding: 0 28px; border: 0; border-radius: 25px; background: var(--bk-navy); color: #fff; font-weight: 700; font-size: 15.5px; font-family: inherit; cursor: pointer; }
.awg-bkp__confirm:hover { background: var(--bk-navy2); }
.awg-bkp__confirm[disabled] { opacity: .6; cursor: default; }
.awg-bkp__closed { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 100%; min-height: 260px; text-align: center; color: var(--bk-muted); }
.awg-bkp__closed p { max-width: 380px; margin: 0 !important; font-size: 15px; }
.awg-bkp__done { display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 520px; margin: 0 auto; padding: 40px 24px; text-align: center; }
.awg-bkp__tick { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #2F6B45; color: #fff; animation: awg-bkp-pop .3s ease-out; }
@keyframes awg-bkp-pop { from { transform: scale(.6); opacity: 0; } }
.awg-bkp__sub { margin: 0 !important; color: #3B4252; font-size: 15px; }
.awg-bkp__summary { display: flex; flex-direction: column; gap: 12px; width: 100%; margin: 10px 0 6px; padding: 18px 20px; border: 1px solid var(--bk-line); border-radius: 14px; text-align: left; }
.awg-bkp__summary div { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; font-weight: 600; color: var(--bk-navy); }
.awg-bkp__summary svg { flex: none; margin-top: 2px; color: var(--bk-muted); }
.awg-bkp-cals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; }
.awg-bkp-cal { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; padding: 0 10px; border: 1.5px solid var(--bk-line); border-radius: 10px; background: #fff; color: var(--bk-navy) !important; font-weight: 600; font-size: 14px; font-family: inherit; text-decoration: none !important; cursor: pointer; }
.awg-bkp-cal:hover { border-color: var(--bk-sage); }
.awg-bk-mine { display: flex; flex-direction: column; gap: 12px; }
.awg-bk-mine__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.awg-bk-card__txt span { display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 1020px) {
	.awg-bkp__pick { grid-template-columns: minmax(0, 1fr) 180px; gap: 20px; }
}
@media (max-width: 860px) {
	.awg-bkp { grid-template-columns: 1fr; }
	.awg-bkp__info { border-right: 0; border-bottom: 1px solid var(--bk-line); padding: 22px 20px; }
	.awg-bkp__main { padding: 22px 20px; }
}
@media (max-width: 600px) {
	.awg-bkp__pick { grid-template-columns: 1fr; }
	.awg-bkp__days > * { width: 40px; height: 40px; }
	.awg-bkp__list { max-height: none; overflow: visible; }
	.awg-bkp__title { font-size: 22px !important; }
	.awg-bkp-cals { grid-template-columns: 1fr; }
	.awg-bkp__confirm { align-self: stretch; }
}
@media (prefers-reduced-motion: reduce) { .awg-bkp__sel, .awg-bkp__tick { animation: none; } }

/* ---------- 6.26.76: "Suggest times" with the booking calendar ---------- */
.awg-bk-panel { --bk-sage-d: #3F5A4C; gap: 12px; padding: 16px; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(28, 36, 57, .08); }
.awg-bk-pp__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.awg-bk-pp__opts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.awg-bk-pp__opts .awg-bk-seg { min-width: 200px; }
.awg-bk-pp__opts select { width: auto; min-height: 38px; }
.awg-bk-pp { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 18px; }
.awg-bk-pp__cal { min-width: 0; }
.awg-bk-pp .awg-bkp__month { margin-bottom: 8px; }
.awg-bk-pp .awg-bkp__month strong { font-size: 15px; color: var(--bk-navy); }
.awg-bk-pp .awg-bkp__nav { width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--bk-soft); color: var(--bk-sage-d); display: grid; place-items: center; cursor: pointer; padding: 0; }
.awg-bk-pp .awg-bkp__nav[disabled] { background: transparent; color: #B6BDC7; cursor: default; }
.awg-bk-pp .awg-bkp__navs { display: flex; gap: 4px; }
.awg-bk-pp .awg-bkp__wk, .awg-bk-pp .awg-bkp__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px 2px; text-align: center; }
.awg-bk-pp .awg-bkp__wk span { font-size: 11px; font-weight: 600; color: var(--bk-muted); }
.awg-bk-pp .awg-bkp__days > * { position: relative; justify-self: center; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; font-size: 13.5px; }
.awg-bk-pp .awg-bkp__days .is-off { color: #B6BDC7; }
.awg-bk-pp .awg-bkp__days button { padding: 0; border: 0; background: var(--bk-soft); color: var(--bk-sage-d); font-weight: 700; font-size: 13.5px; font-family: inherit; cursor: pointer; }
.awg-bk-pp .awg-bkp__days button:hover { background: var(--bk-mint); }
.awg-bk-pp .awg-bkp__days button.on { background: var(--bk-navy); color: #fff; }
.awg-bk-pp .awg-bkp__days .is-today::after, .awg-bk-pp .awg-bkp__days .has-pick::after { content: ""; position: absolute; bottom: 4px; left: 50%; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: currentColor; }
.awg-bk-pp .awg-bkp__days .has-pick::after { background: #C26D4F; width: 6px; height: 6px; margin-left: -3px; bottom: 2px; }
.awg-bk-pp__col { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.awg-bk-pp__col .awg-bkp__day { font-size: 13.5px; line-height: 34px; color: var(--bk-navy); }
.awg-bk-pp__times { display: flex; flex-direction: column; gap: 6px; max-height: 264px; overflow-y: auto; padding-right: 4px; scrollbar-width: thin; }
.awg-bk-pp__times .awg-bkp__t { flex: none; height: 40px; padding: 0; border: 1.5px solid var(--bk-mint); border-radius: 9px; background: #fff; color: var(--bk-sage-d); font-weight: 700; font-size: 14px; font-family: inherit; cursor: pointer; }
.awg-bk-pp__times .awg-bkp__t:hover { border-color: var(--bk-sage); }
.awg-bk-pp__times .awg-bkp__t.on { border-color: var(--bk-navy); background: var(--bk-navy); color: #fff; }
.awg-bk-pp__times .awg-bkp__t[disabled] { opacity: .45; cursor: default; }
.awg-bk-pp__chips { display: flex; flex-wrap: wrap; gap: 6px; min-height: 34px; align-items: center; }
.awg-bk-pp__hint { color: var(--bk-muted); font-size: 13px; }
.awg-bk-pp__chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 4px 4px 12px; border-radius: 999px; background: var(--bk-soft); color: var(--bk-sage-d); font-weight: 600; font-size: 13px; }
.awg-bk-pp__chip button { width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--bk-sage-d); font-size: 17px; line-height: 1; cursor: pointer; }
.awg-bk-pp__chip button:hover { background: #fff; color: var(--bk-red); }
@media (max-width: 560px) { .awg-bk-pp { grid-template-columns: 1fr; } .awg-bk-pp__times { flex-direction: row; flex-wrap: wrap; max-height: 200px; } .awg-bk-pp__times .awg-bkp__t { width: calc(33.3% - 4px); } }

/* ---------- 6.26.78: the calendar button and "Suggest times" in small chat boxes ---------- */
/* The calendar button in the portal's message box: a plain icon like the paperclip, whatever the theme does to buttons. */
button.awg-ptl-attach.awg-bk-propbtn { -webkit-appearance: none; appearance: none; flex: none; width: 32px !important; height: 32px !important; min-width: 0 !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; box-shadow: none !important; color: #6B7280 !important; display: grid !important; place-items: center; line-height: 1 !important; font-size: inherit; text-transform: none; letter-spacing: 0; transform: none; }
button.awg-ptl-attach.awg-bk-propbtn:hover, button.awg-ptl-attach.awg-bk-propbtn:focus-visible, button.awg-ptl-attach.awg-bk-propbtn[aria-expanded="true"] { color: #1C2439 !important; background: rgba(28, 36, 57, .08) !important; }
button.awg-ptl-attach.awg-bk-propbtn svg { display: block; width: 18px; height: 18px; }
/* The panel sizes itself by the box it sits in, not the screen. */
.awg-bk-panel { container-type: inline-size; }
.awg-bk-pp .awg-bkp__days > * { width: 100%; max-width: 36px; height: auto; aspect-ratio: 1 / 1; }
@container (max-width: 500px) {
	.awg-bk-pp { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.awg-bk-pp__opts .awg-bk-seg { min-width: 0; }
	.awg-bk-pp__times { flex-direction: row; flex-wrap: wrap; max-height: 140px; }
	.awg-bk-pp__times .awg-bkp__t { width: calc(33.3% - 4px); height: 38px; font-size: 13px; }
}
/* In the floating chat box the panel scrolls inside the box instead of running off the top of the screen, and the messages make room. */
.awg-ptl-dock__panel .awg-bk-panel { max-height: calc(100vh - 340px); max-height: calc(100dvh - 340px); overflow-y: auto; padding: 12px; overscroll-behavior: contain; }
.awg-ptl-dock__panel .awg-ptl-chatcard:has(.awg-bk-panel:not([hidden])) .awg-ptl-chat { display: none; }
/* Themes that style every button (padding, minimum width, capitals) must not change the calendar's buttons. */
.awg-bk-panel button, .awg-bkp button { min-width: 0 !important; text-transform: none !important; letter-spacing: normal !important; }
.awg-bk-pp .awg-bkp__days button, .awg-bkp__days button, .awg-bkp__nav, .awg-bk-pp__chip button { min-height: 0 !important; box-shadow: none !important; }
.awg-bk-pp .awg-bkp__days button, .awg-bk-pp .awg-bkp__nav, .awg-bkp__days button, .awg-bkp__nav { padding: 0 !important; border: 0 !important; border-radius: 50% !important; }
.awg-bk-pp__times .awg-bkp__t { padding: 0 4px !important; border-radius: 9px !important; }
.awg-bk-pp__chip button { padding: 0 !important; border: 0 !important; border-radius: 50% !important; }

/* ---------- 6.26.87: one "Call" button with a small menu (portal chat and admin inbox) ---------- */
.awg-cm { position: relative; display: inline-flex; }
.awg-cm__btn { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border-radius: 10px; border: 1px solid #E3E6E0; background: #fff; color: #1C2439; font: 600 14px/1 Inter, system-ui, sans-serif; cursor: pointer; white-space: nowrap; }
.awg-cm__btn:hover, .awg-cm__btn:focus, .awg-cm__btn:active, .awg-cm__btn[aria-expanded="true"] { border-color: #1C2439 !important; background: #EEF3EF !important; color: #1C2439 !important; box-shadow: none !important; } /* Themes often recolour buttons on focus. */
.awg-cm__btn:not(:hover):not([aria-expanded="true"]):focus:not(:focus-visible) { border-color: #E3E6E0 !important; background: #fff !important; }
.awg-cm__btn:focus-visible, .awg-cm__item:focus-visible { outline: 3px solid #9FD3B4; outline-offset: 2px; }
.awg-cm__btn svg { flex: none; }
.awg-cm__car { font-size: 11px; color: #6B7280; margin-left: -1px; }
.awg-cm__menu { scroll-margin: 90px 0; position: absolute; top: calc(100% + 6px); right: 0; z-index: 30; min-width: 210px; padding: 6px; border-radius: 12px; border: 1px solid #E3E6E0; background: #fff; box-shadow: 0 14px 34px rgba(28,36,57,.18); display: flex; flex-direction: column; }
.awg-cm__menu[hidden] { display: none; }
.awg-cm__item { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 42px; padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; color: #1C2439; font: 500 14.5px/1.2 Inter, system-ui, sans-serif; text-align: left; cursor: pointer; }
.awg-cm__item:hover, .awg-cm__item:focus, .awg-cm__item:active { background: #EEF3EF !important; color: #1C2439 !important; box-shadow: none !important; }
.awg-cm__item svg { color: #4F5B42; flex: none; }
.awg-cm__sep { height: 1px; margin: 4px 6px; background: #E3E6E0; }
@media (max-width: 480px) { .awg-cm__btn { padding: 0 10px; } }
/* Admin inbox: match WordPress button height. */
.wp-admin .awg-cm__btn.button { display: inline-flex; align-items: center; gap: 6px; height: 32px; min-height: 32px; padding: 0 10px; line-height: 1; font-size: 13px; }
/* 6.26.87: Calls page — your calls first, then "Book a call with …" (clients only). */
.awg-bkp[hidden], .awg-bk-bookh[hidden] { display: none !important; }
.awg-bk-bookh { margin: 36px 0 12px !important; color: #1C2439; }
.awg-bk-how { max-width: 640px; display: flex; align-items: center; gap: 8px; margin: 0; padding: 12px 14px; border-radius: 12px; background: #EEF3EF; color: #2F4A3C; font-size: 14.5px; line-height: 1.45; }
.awg-bk-how svg { flex: none; }
.awg-bk-how .awg-bk-ask { flex: none; margin-left: auto; white-space: nowrap; } /* 6.26.115 */
@media (max-width: 480px) { .awg-bk-how { flex-wrap: wrap; } .awg-bk-how .awg-bk-ask { margin-left: 24px; } }

/* 6.26.121: themes that paint every button (green on hover) no longer restyle the time buttons, the
   chosen time, Next and Book: the chosen time and its Next button always read clearly. */
.awg-bkp .awg-bkp__t, .awg-bkp .awg-bkp__t:focus, .awg-bkp .awg-bkp__t:active { background: #fff !important; color: var(--bk-sage-d) !important; border: 1.5px solid var(--bk-mint) !important; border-radius: 10px !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important; text-transform: none !important; }
.awg-bkp .awg-bkp__t:hover { background: #fff !important; color: var(--bk-sage-d) !important; border-color: var(--bk-sage) !important; box-shadow: inset 0 0 0 1px var(--bk-sage) !important; }
.awg-bkp .awg-bkp__next, .awg-bkp .awg-bkp__next:focus, .awg-bkp .awg-bkp__next:active { background: var(--bk-navy) !important; color: #fff !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important; }
.awg-bkp .awg-bkp__next:hover { background: var(--bk-navy2) !important; color: #fff !important; }
.awg-bkp .awg-bkp__chosen { background: #5D6675 !important; color: #fff !important; }
.awg-bkp .awg-bkp__confirm, .awg-bkp .awg-bkp__confirm:hover, .awg-bkp .awg-bkp__confirm:focus, .awg-bkp .awg-bkp__confirm:active { background: var(--bk-navy) !important; color: #fff !important; border: 0 !important; }
.awg-bkp .awg-bkp__confirm[disabled] { opacity: .6; }

/* ===== 6.26.124 ===== */
/* Themes that paint every button (green on hover) no longer restyle Add to calendar, Move, Cancel,
   the suggested times in a chat, and the round month and Back arrows. */
.awg-bk-btn:not(.is-solid):not(.is-off):not([disabled]), .awg-bk-btn:not(.is-solid):not(.is-off):not([disabled]):focus, .awg-bk-btn:not(.is-solid):not(.is-off):not([disabled]):active { background: #fff !important; color: var(--bk-navy, #1C2439) !important; border: 1.5px solid var(--bk-line, #DCE4DE) !important; box-shadow: none !important; text-transform: none !important; }
.awg-bk-btn:not(.is-solid):not(.is-off):not([disabled]):hover { background: #fff !important; color: var(--bk-navy, #1C2439) !important; border-color: var(--bk-sage, #5C7A6B) !important; }
.awg-bk-link, .awg-bk-link:hover, .awg-bk-link:focus, .awg-bk-link:active { background: transparent !important; color: var(--bk-navy, #1C2439) !important; border: 0 !important; box-shadow: none !important; text-transform: none !important; }
.awg-bk-link.is-red, .awg-bk-link.is-red:hover, .awg-bk-link.is-red:focus, .awg-bk-link.is-red:active { color: var(--bk-red, #B42318) !important; }
.awg-bk-link:hover { text-decoration-thickness: 2px; }
.awg-bk-prop__t, .awg-bk-prop__t:focus, .awg-bk-prop__t:active { background: #F4F8F5 !important; color: var(--bk-navy, #1C2439) !important; border: 1.5px solid var(--bk-mint, #B8D3C1) !important; box-shadow: none !important; text-transform: none !important; }
.awg-bk-prop__t:hover:not([disabled]) { background: #F4F8F5 !important; color: var(--bk-navy, #1C2439) !important; border-color: var(--bk-sage, #5C7A6B) !important; }
.awg-bkp__nav, .awg-bkp__nav:focus, .awg-bkp__nav:active { background: var(--bk-soft, #E5EDE7) !important; color: var(--bk-sage-d, #3F5A4C) !important; }
.awg-bkp__nav:hover:not([disabled]) { background: var(--bk-mint, #B8D3C1) !important; color: var(--bk-sage-d, #3F5A4C) !important; }
.awg-bkp__nav[disabled], .awg-bkp__nav[disabled]:hover { background: transparent !important; color: #B6BDC7 !important; }

