/* Booking widget, ported from mdna.studio BookingWidget (GHL) to Calendly. Burgundy -> navy for the portfolio. */
.bk { margin-top: 24px; }
.bk-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 22px; align-items: start; }
@media (max-width: 900px) { .bk-grid { grid-template-columns: 1fr; } }
.bk-card { border: 1px solid var(--navy); border-radius: 14px; padding: 28px 26px; background: linear-gradient(rgba(132,116,168,.05), rgba(132,116,168,.05)), #FFFCFA; }
.bk-label { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--teal); font-weight: 500; margin-bottom: 10px; display: block; }
.bk-req { color: var(--navy); }
.bk-service-meta { font-family: 'Milyuna', Georgia, serif; font-size: 30px; color: var(--navy); margin: 4px 0 10px; line-height: 1.15; }
.bk-service-desc { font-size: 15px; font-weight: 300; color: var(--ink-soft); line-height: 1.6; }
.bk-note { font-size: 13px; font-weight: 300; color: var(--ink-faint); margin-top: 14px; }
.bk-success { border: 1px solid rgba(132,116,168,.5); background: var(--lilac); color: #4E4168; border-radius: 12px; padding: 14px 18px; margin-bottom: 18px; font-size: 14px; }
.bk-month { display: flex; align-items: center; justify-content: space-between; margin: 6px 0 14px; }
.bk-month-label { font-family: 'Milyuna', Georgia, serif; font-size: 19px; color: var(--ink); }
.bk-month-btn { border: 1px solid var(--hairline); background: transparent; border-radius: 999px; padding: 7px 14px; font-family: inherit; font-size: 12px; color: var(--ink-soft); cursor: pointer; transition: border-color .2s, color .2s; }
.bk-month-btn:hover { border-color: var(--navy); color: var(--navy); }
.bk-month-btn:disabled { opacity: .35; cursor: default; }
.bk-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-faint); font-weight: 500; text-align: center; margin-bottom: 6px; }
.bk-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 20px; }
.bk-day { aspect-ratio: 1; border-radius: 50%; border: 1px solid transparent; background: transparent; font-family: inherit; font-size: 13px; color: var(--ink-soft); cursor: pointer; transition: border-color .15s, background .15s, color .15s, transform .15s; }
.bk-day.has { border-color: rgba(47,65,86,.35); color: var(--ink); }
.bk-day:hover:not(.off) { border-color: var(--navy); transform: scale(1.06); }
.bk-day.sel { background: var(--navy); border-color: var(--navy); color: #fff; }
.bk-day.off { color: rgba(160,155,150,.4); cursor: default; }
.bk-day.muted { opacity: .45; }
.bk-slots-wrap { border-top: 1px solid var(--hairline); padding-top: 18px; margin-bottom: 22px; }
.bk-slots { display: flex; flex-wrap: wrap; gap: 8px; }
.bk-slot { border: 1px solid rgba(47,65,86,.35); background: transparent; border-radius: 999px; padding: 8px 16px; font-family: inherit; font-size: 13px; color: var(--ink); cursor: pointer; transition: border-color .15s, background .15s, color .15s, transform .15s; }
.bk-slot:hover { border-color: var(--navy); transform: translateY(-1px); }
.bk-slot.sel { background: var(--navy); border-color: var(--navy); color: #fff; }
.bk-form { display: flex; flex-direction: column; gap: 16px; border-top: 1px solid var(--hairline); padding-top: 20px; }
.bk-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .bk-row2 { grid-template-columns: 1fr; } }
.bk-field input, .bk-field textarea { width: 100%; border: 1px solid var(--hairline); background: #fff; border-radius: 10px; padding: 12px 14px; font-family: inherit; font-size: 15px; color: var(--ink); outline: none; transition: border-color .2s; resize: vertical; }
.bk-field input:focus, .bk-field textarea:focus { border-color: var(--navy); }
.bk-field input::placeholder, .bk-field textarea::placeholder { color: var(--ink-faint); }
.bk-picked { background: #DEEAF3; border-left: 4px solid #7FA3BD; border-radius: 0 8px 8px 0; padding: 12px 16px; font-size: 13px; color: var(--navy); }
.bk-error { font-size: 13px; color: var(--navy); font-weight: 500; }
.bk-submit { background: var(--navy-ink); color: var(--canvas); border: none; border-radius: 10px; padding: 15px 30px; font-family: inherit; font-size: 15px; font-weight: 500; cursor: pointer; transition: background .2s, transform .2s; }
.bk-submit:hover { background: var(--navy); transform: translateY(-1px); }
.bk-submit:disabled { opacity: .6; cursor: default; transform: none; }

/* v2 (2026-10-03): one wide card, calendar left, times + form right; rounded-rectangle days */
#booking { margin-top: 44px; }
.bk-wide { display: grid; grid-template-columns: 1.15fr 1fr; gap: 40px; padding: 32px 34px; }
.bk-wide .bk-tz { margin: -4px 0 6px; }
.bk-side .bk-slots-wrap { border-top: 0; padding-top: 0; }
@media (max-width: 900px) { .bk-wide { grid-template-columns: 1fr; gap: 24px; padding: 24px 20px; } .bk-side .bk-slots-wrap { border-top: 1px solid var(--hairline); padding-top: 18px; } }

/* confirm button = the email button's look (sky tint, blue stroke, navy text); selected day and time share that blue */
.bk-submit { background: rgba(200,217,230,.25); color: var(--navy); border: 1px solid var(--postit-edge); border-radius: 10px; box-shadow: none; transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, border-color .25s, background .25s; }
.bk-submit:hover { background: rgba(200,217,230,.5); border-color: var(--navy); transform: translateY(-2px) rotate(-.3deg); box-shadow: 0 12px 28px rgba(47,65,86,.14); }
.bk-submit:active { transform: translateY(0) scale(.98); }
.bk-day.sel, .bk-slot.sel { background: var(--sky); border-color: var(--postit-edge); color: var(--navy); font-weight: 500; }
