/* DocBook Appointments - Atoptimize premium calendar and slot UI v2.2.2 */
.atoptimize-docbook-wrapper,
.atoptimize-docbook-wrapper * {
    box-sizing: border-box !important;
}

.atoptimize-docbook-wrapper {
    --db-primary: #800020;
    --db-primary-hover: #620018;
    --db-primary-soft: #fff5f8;
    --db-primary-soft-2: #fff9fb;
    --db-primary-line: rgba(128, 0, 32, .16);
    --db-card: #ffffff;
    --db-soft: #f7f8fb;
    --db-pill: #f7f9fc;
    --db-border: #e4e8ef;
    --db-border-light: #eef2f6;
    --db-text: #0f172a;
    --db-muted: #667085;
    --db-muted-dark: #475467;
    --db-shadow: 0 18px 40px -30px rgba(15, 23, 42, .20);
    width: 100% !important;
    max-width: 100% !important;
    margin: 18px auto !important;
    padding: 10px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    color: var(--db-text) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.atoptimize-docbook-wrapper button,
.atoptimize-docbook-wrapper input,
.atoptimize-docbook-wrapper textarea,
.atoptimize-docbook-wrapper select {
    font-family: inherit !important;
    font-size: 14px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

.atoptimize-docbook-wrapper button {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-width: 0 !important;
    max-width: none !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
}

.atoptimize-docbook-heading {
    text-align: center !important;
    margin: 0 0 22px !important;
}

.atoptimize-docbook-heading h2 {
    margin: 0 !important;
    color: var(--db-text) !important;
    font-size: 25px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: -.015em !important;
}

.atoptimize-docbook-filter-panel {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 0 24px !important;
    padding: 16px !important;
    background: #ffffff !important;
    border: 1px solid var(--db-border) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 28px -24px rgba(15, 23, 42, .12) !important;
}

.atoptimize-docbook-filter-panel[data-single-filter="1"] {
    grid-template-columns: 1fr !important;
}

.atoptimize-docbook-filter-field label {
    display: block !important;
    margin: 0 0 8px !important;
    color: #5b6473 !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.atoptimize-docbook-filter-field input,
.atoptimize-docbook-filter-field select,
.atoptimize-docbook-filter-field input:hover,
.atoptimize-docbook-filter-field select:hover,
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 15px !important;
    background: #fbfcff !important;
    color: var(--db-text) !important;
    border: 1px solid #dce4ee !important;
    border-radius: 13px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 46px !important;
    outline: none !important;
}

.atoptimize-docbook-filter-field input::placeholder { color: #98a2b3 !important; }
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus {
    border-color: rgba(128, 0, 32, .30) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(128, 0, 32, .045) !important;
}

.atoptimize-docbook-no-results {
    grid-column: 1 / -1 !important;
    margin: 18px 0 !important;
    padding: 20px !important;
    background: #ffffff !important;
    border: 1px solid var(--db-border) !important;
    border-radius: 16px !important;
}

.atoptimize-docbook-doctor-select-grid,
.atoptimize-docbook-doctors-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.atoptimize-docbook-select-card,
.atoptimize-docbook-doctor-card,
.atoptimize-docbook-panel,
.atoptimize-docbook-form-card,
.atoptimize-docbook-success-card {
    background: #ffffff !important;
    color: var(--db-text) !important;
    border: 1px solid var(--db-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--db-shadow) !important;
}

.atoptimize-docbook-select-card,
.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-select-card:focus,
.atoptimize-docbook-select-card:active {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 298px !important;
    margin: 0 !important;
    padding: 20px !important;
    overflow: hidden !important;
    position: relative !important;
    background: #ffffff !important;
    color: var(--db-text) !important;
    border: 1px solid var(--db-border) !important;
    border-radius: 18px !important;
    text-align: left !important;
}

.atoptimize-docbook-select-card:hover {
    border-color: rgba(128,0,32,.18) !important;
    box-shadow: 0 24px 48px -34px rgba(15, 23, 42, .24) !important;
}

.atoptimize-docbook-profile-card,
.atoptimize-docbook-doctor-card { position: relative !important; }
.atoptimize-docbook-doctor-card { padding: 20px !important; }

.atoptimize-docbook-dept-bar,
.atoptimize-docbook-profile-card::before,
.atoptimize-docbook-doctor-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: #800020 !important;
    border-radius: 20px 20px 0 0 !important;
}
.atoptimize-docbook-dept-bar { display: block !important; }

.atoptimize-docbook-profile-header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 16px !important;
    padding: 5px 0 0 !important;
}

.atoptimize-docbook-card-image-wrap {
    position: relative !important;
    display: block !important;
    width: 108px !important;
    height: 108px !important;
    flex: 0 0 108px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.atoptimize-docbook-card-image,
.atoptimize-docbook-card-image-placeholder {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 14px !important;
    object-fit: cover !important;
    background: #f3f5f8 !important;
}

.atoptimize-docbook-card-image-placeholder {
    align-items: center !important;
    justify-content: center !important;
    color: var(--db-primary) !important;
    font-size: 27px !important;
    font-weight: 800 !important;
}

.atoptimize-docbook-verified-badge {
    position: absolute !important;
    right: -4px !important;
    bottom: -4px !important;
    width: 22px !important;
    height: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #800020 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 50% !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    box-shadow: 0 10px 20px rgba(128, 0, 32, .22) !important;
}

.atoptimize-docbook-profile-info { flex: 1 1 auto !important; min-width: 0 !important; display: block !important; }
.atoptimize-docbook-profile-body,
.atoptimize-docbook-doctor-info {
    display: block !important;
    width: 100% !important;
    padding: 2px 0 0 !important;
}

.atoptimize-docbook-profile-name,
.atoptimize-docbook-doctor-info h3,
.atoptimize-docbook-summary-card strong {
    display: block !important;
    margin: 4px 0 3px !important;
    color: var(--db-text) !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: -.012em !important;
}

.atoptimize-docbook-specialty-label,
.atoptimize-docbook-profile-body .atoptimize-docbook-specialty-label,
.atoptimize-docbook-doctor-info .atoptimize-docbook-specialty-label {
    display: block !important;
    margin: 0 !important;
    color: var(--db-primary) !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
    font-style: normal !important;
}

.atoptimize-docbook-credential,
.atoptimize-docbook-education {
    display: block !important;
    margin: 5px 0 0 !important;
    color: var(--db-muted) !important;
    font-size: 11.5px !important;
    line-height: 1.48 !important;
    font-weight: 600 !important;
}

.atoptimize-docbook-bio {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: 10px 0 16px !important;
    color: var(--db-muted-dark) !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}

.atoptimize-docbook-divider { display: none !important; }

.atoptimize-docbook-meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 0 18px !important;
}

.atoptimize-docbook-fact,
.atoptimize-docbook-meta-row span,
.atoptimize-docbook-meta-row span:first-child,
.atoptimize-docbook-meta-row span + span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    border: 1px solid #edf1f6 !important;
    border-radius: 999px !important;
    background: #fafbfc !important;
    color: #475467 !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.atoptimize-docbook-fact svg { width: 12px !important; height: 12px !important; flex: 0 0 12px !important; color: var(--db-primary) !important; }
.atoptimize-docbook-fact-price {
    color: var(--db-primary) !important;
    background: var(--db-primary-soft) !important;
    border-color: rgba(128, 0, 32, .10) !important;
}
.atoptimize-docbook-fact-mode { color: #334155 !important; }

.atoptimize-docbook-action-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: auto !important;
    padding: 16px 0 0 !important;
    border-top: 1px solid #edf1f6 !important;
}

.atoptimize-docbook-slot-info {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    line-height: 1.12 !important;
}

.atoptimize-docbook-slot-label {
    color: #98a2b3 !important;
    font-size: 9.5px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .03em !important;
}

.atoptimize-docbook-slot-time {
    margin-top: 4px !important;
    color: #111827 !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-primary:focus,
.atoptimize-docbook-primary:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 110px !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    background: #800020 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 10px !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 10px 20px -16px rgba(128, 0, 32, .38) !important;
}
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-book-button:hover {
    background: var(--db-primary-hover) !important;
    color: #ffffff !important;
}
.atoptimize-docbook-primary:disabled { opacity: .45 !important; cursor: not-allowed !important; box-shadow: none !important; }

.atoptimize-docbook-pagination {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 24px !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid var(--db-border-light) !important;
}
.atoptimize-docbook-pagination:empty { display: none !important; }
.atoptimize-docbook-pagination-info { color: var(--db-muted) !important; font-size: 11.5px !important; line-height: 1.3 !important; font-weight: 600 !important; }
.atoptimize-docbook-pagination-buttons { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 6px !important; flex-wrap: wrap !important; }
.atoptimize-docbook-page-btn,
.atoptimize-docbook-page-btn:hover,
.atoptimize-docbook-page-btn:focus,
.atoptimize-docbook-page-btn:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 34px !important;
    width: auto !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    background: #ffffff !important;
    color: #475569 !important;
    border: 1px solid var(--db-border) !important;
    border-radius: 10px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
}
.atoptimize-docbook-page-btn.is-active,
.atoptimize-docbook-page-btn.is-active:hover,
.atoptimize-docbook-page-btn.is-active:focus {
    background: var(--db-primary) !important;
    color: #ffffff !important;
    border-color: var(--db-primary) !important;
}
.atoptimize-docbook-page-btn:disabled,
.atoptimize-docbook-page-btn:disabled:hover { opacity: .45 !important; cursor: not-allowed !important; background: #ffffff !important; color: #94a3b8 !important; }
.atoptimize-docbook-page-ellipsis { display: inline-flex !important; align-items: center !important; justify-content: center !important; height: 34px !important; padding: 0 2px !important; color: #94a3b8 !important; font-size: 11.5px !important; font-weight: 700 !important; }

.atoptimize-docbook-back,
.atoptimize-docbook-back:hover,
.atoptimize-docbook-back:focus,
.atoptimize-docbook-back:active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 0 16px 0 !important;
    padding: 0 16px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfbfc 100%) !important;
    color: #344054 !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: 0 10px 24px -22px rgba(15,23,42,.25) !important;
}

.atoptimize-docbook-calendar-grid { display: grid !important; grid-template-columns: 1.05fr .95fr !important; gap: 22px !important; align-items: stretch !important; }
.atoptimize-docbook-panel { padding: 24px !important; background: linear-gradient(180deg, #ffffff 0%, #fdfdfd 100%) !important; border: 1px solid #e7ebf0 !important; border-radius: 22px !important; box-shadow: 0 20px 42px -34px rgba(15,23,42,.20) !important; min-height: 100% !important; }
.atoptimize-docbook-panel h3 { margin: 0 0 16px !important; color: #101828 !important; font-size: 18px !important; line-height: 1.25 !important; font-weight: 800 !important; letter-spacing: -.01em !important; }
.atoptimize-docbook-calendar-nav { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 16px !important; }
.atoptimize-docbook-month-title { font-size: 18px !important; font-weight: 800 !important; color: #101828 !important; letter-spacing: -.01em !important; }
.atoptimize-docbook-calendar-nav button,
.atoptimize-docbook-calendar-nav button:hover,
.atoptimize-docbook-calendar-nav button:focus,
.atoptimize-docbook-calendar-nav button:active {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 38px !important; min-width: 38px !important; height: 38px !important; min-height: 38px !important; padding: 0 !important; margin: 0 !important; background: #fbfbfc !important; color: #344054 !important; border: 1px solid #e4e7ec !important; border-radius: 12px !important; font-size: 14px !important; font-weight: 700 !important; box-shadow: 0 8px 18px -18px rgba(15,23,42,.20) !important;
}
.atoptimize-docbook-week-row,
.atoptimize-docbook-calendar-days { display: grid !important; grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 6px !important; text-align: center !important; }
.atoptimize-docbook-week-row { margin-bottom: 10px !important; color: #98a2b3 !important; font-size: 10px !important; line-height: 1.2 !important; font-weight: 700 !important; letter-spacing: .04em !important; }
.atoptimize-docbook-calendar-days span { display: block !important; min-height: 38px !important; }
.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-calendar-days button:hover,
.atoptimize-docbook-calendar-days button:focus,
.atoptimize-docbook-calendar-days button:active,
.atoptimize-docbook-slots button,
.atoptimize-docbook-slots button:hover,
.atoptimize-docbook-slots button:focus,
.atoptimize-docbook-slots button:active {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 40px !important; min-height: 40px !important; padding: 0 10px !important; margin: 0 !important; background: #f7f8fb !important; color: #344054 !important; border: 1px solid #eef1f5 !important; border-radius: 12px !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1 !important; text-align: center !important; white-space: nowrap !important; word-break: keep-all !important; 
}
.atoptimize-docbook-calendar-days button:disabled,
.atoptimize-docbook-calendar-days button:disabled:hover { background: var(--db-soft) !important; color: #64748b !important; opacity: .22 !important; cursor: not-allowed !important; }
.atoptimize-docbook-calendar-days button:not(:disabled):hover,
.atoptimize-docbook-slots button:hover {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    box-shadow: 0 10px 20px -18px rgba(15,23,42,.18) !important;
}
.atoptimize-docbook-calendar-days button.is-selected,
.atoptimize-docbook-calendar-days button.is-selected:hover,
.atoptimize-docbook-calendar-days button.is-selected:focus,
.atoptimize-docbook-slots button.is-selected,
.atoptimize-docbook-slots button.is-selected:hover,
.atoptimize-docbook-slots button.is-selected:focus { background: linear-gradient(180deg, #990029 0%, #800020 100%) !important; color: #ffffff !important; border-color: #800020 !important; box-shadow: 0 14px 26px -18px rgba(128,0,32,.55) !important; }
.atoptimize-docbook-slots { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; align-content: start !important; min-height: 220px !important; }
.atoptimize-docbook-slots p { grid-column: 1 / -1 !important; margin: 36px 0 !important; color: #98a2b3 !important; text-align: center !important; font-size: 13px !important; }
.atoptimize-docbook-next-row { margin-top: 18px !important; text-align: right !important; }
.atoptimize-docbook-next-row .atoptimize-docbook-primary { width: auto !important; min-width: 160px !important; min-height: 44px !important; height: 44px !important; margin-top: 0 !important; border-radius: 14px !important; font-size: 13px !important; }
.atoptimize-docbook-form-card { max-width: 530px !important; margin: 0 auto !important; padding: 24px !important; }
.atoptimize-docbook-summary-card {
    display: flex !important; align-items: center !important; gap: 13px !important; padding: 16px !important; margin-bottom: 20px !important; background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%) !important; border: 1px solid var(--db-border) !important; border-radius: 14px !important;
}
.atoptimize-docbook-summary-card > div:nth-child(2) { min-width: 0 !important; flex: 1 !important; }
.atoptimize-docbook-summary-card span { display: block !important; margin: 3px 0 0 !important; color: var(--db-muted) !important; font-size: 13px !important; line-height: 1.45 !important; }
.atoptimize-docbook-avatar { width: 50px !important; height: 50px !important; flex: 0 0 50px !important; border-radius: 12px !important; object-fit: cover !important; border: 1px solid var(--db-border) !important; }
.atoptimize-docbook-avatar-placeholder { display: flex !important; align-items: center !important; justify-content: center !important; background: var(--db-primary-soft) !important; color: var(--db-primary) !important; font-size: 14px !important; font-weight: 800 !important; }
.atoptimize-docbook-summary-time { margin-left: auto !important; text-align: right !important; }
.atoptimize-docbook-field { margin-bottom: 15px !important; }
.atoptimize-docbook-field label { display: block !important; margin-bottom: 6px !important; color: var(--db-muted) !important; font-size: 11px !important; line-height: 1.2 !important; font-weight: 700 !important; text-transform: uppercase !important; }
.atoptimize-docbook-field input,
.atoptimize-docbook-field textarea {
    display: block !important; width: 100% !important; min-height: 44px !important; padding: 11px 13px !important; background: #ffffff !important; color: var(--db-text) !important; border: 1px solid var(--db-border) !important; border-radius: 10px !important; font-size: 14px !important; line-height: 1.45 !important; outline: none !important;
}
.atoptimize-docbook-field textarea { min-height: 92px !important; resize: vertical !important; }
.atoptimize-docbook-field input:focus,
.atoptimize-docbook-field textarea:focus { border-color: rgba(128, 0, 32, .35) !important; box-shadow: 0 0 0 4px rgba(128, 0, 32, .045) !important; }
.atoptimize-docbook-hidden-field { position: absolute !important; left: -9999px !important; opacity: 0 !important; }
.atoptimize-docbook-success-card { max-width: 400px !important; margin: 42px auto !important; padding: 32px !important; text-align: center !important; }
.atoptimize-docbook-success-icon { display: flex !important; align-items: center !important; justify-content: center !important; width: 56px !important; height: 56px !important; margin: 0 auto 14px !important; border-radius: 50% !important; background: #ecfdf3 !important; color: #039855 !important; font-size: 26px !important; font-weight: 800 !important; }
.atoptimize-docbook-success-card h2 { margin: 0 0 6px !important; color: var(--db-text) !important; font-size: 20px !important; font-weight: 800 !important; }
.atoptimize-docbook-success-card p,
.atoptimize-docbook-empty-public,
.atoptimize-docbook-loading,
.atoptimize-docbook-error { color: var(--db-muted) !important; text-align: center !important; font-size: 13px !important; }
.atoptimize-docbook-success-note { margin-top: 8px !important; color: var(--db-primary) !important; font-weight: 600 !important; }
.atoptimize-docbook-error { color: #b42318 !important; }
.atoptimize-docbook-select-card:focus-visible,
.atoptimize-docbook-back:focus-visible,
.atoptimize-docbook-primary:focus-visible,
.atoptimize-docbook-calendar-days button:focus-visible,
.atoptimize-docbook-slots button:focus-visible,
.atoptimize-docbook-calendar-nav button:focus-visible { outline: 2px solid rgba(128, 0, 32, .18) !important; outline-offset: 2px !important; }

@media (max-width: 760px) {
    .atoptimize-docbook-wrapper { max-width: 100% !important; margin: 10px auto !important; padding: 8px !important; }
    .atoptimize-docbook-heading h2 { font-size: 22px !important; }
    .atoptimize-docbook-filter-panel,
    .atoptimize-docbook-calendar-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
    .atoptimize-docbook-doctor-select-grid {
        display: flex !important; flex-wrap: nowrap !important; gap: 14px !important; overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x mandatory !important; padding-bottom: 8px !important; -ms-overflow-style: none !important; scrollbar-width: none !important;
    }
    .atoptimize-docbook-doctor-select-grid::-webkit-scrollbar { display: none !important; }
    .atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card { flex: 0 0 86% !important; width: 86% !important; max-width: 430px !important; height: auto !important; scroll-snap-align: start !important; }
    .atoptimize-docbook-pagination { align-items: flex-start !important; flex-direction: column !important; gap: 8px !important; }
    .atoptimize-docbook-pagination-buttons { justify-content: flex-start !important; width: 100% !important; }
    .atoptimize-docbook-panel,
    .atoptimize-docbook-form-card { padding: 20px !important; }
    .atoptimize-docbook-next-row .atoptimize-docbook-primary,
    .atoptimize-docbook-primary { width: 100% !important; }
    .atoptimize-docbook-summary-card { align-items: flex-start !important; flex-wrap: wrap !important; }
    .atoptimize-docbook-summary-time { margin-left: 0 !important; text-align: left !important; width: 100% !important; }
}

@media (max-width: 460px) {
    .atoptimize-docbook-doctors-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
    .atoptimize-docbook-wrapper { padding-left: 4px !important; padding-right: 4px !important; }
    .atoptimize-docbook-select-card,
    .atoptimize-docbook-select-card:hover,
    .atoptimize-docbook-select-card:focus,
    .atoptimize-docbook-select-card:active { padding: 16px !important; min-height: 280px !important; }
    .atoptimize-docbook-card-image-wrap { width: 96px !important; height: 96px !important; flex-basis: 96px !important; }
    .atoptimize-docbook-profile-header { gap: 12px !important; }
    .atoptimize-docbook-profile-name,
    .atoptimize-docbook-doctor-info h3 { font-size: 16px !important; }
    .atoptimize-docbook-bio { font-size: 11.5px !important; -webkit-line-clamp: 2 !important; }
    .atoptimize-docbook-fact,
    .atoptimize-docbook-meta-row span,
    .atoptimize-docbook-meta-row span:first-child,
    .atoptimize-docbook-meta-row span + span { font-size: 10.5px !important; padding: 5px 8px !important; }
    .atoptimize-docbook-action-bar { gap: 8px !important; flex-wrap: wrap !important; }
    .atoptimize-docbook-book-button,
    .atoptimize-docbook-primary,
    .atoptimize-docbook-primary:hover,
    .atoptimize-docbook-primary:focus,
    .atoptimize-docbook-primary:active { min-width: 100px !important; padding: 0 13px !important; }
    .atoptimize-docbook-slots { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; min-height: 0 !important; }
}


/* v2.2.3 - appointment step redesigned */
.atoptimize-docbook-booking-shell {
    display: grid !important;
    grid-template-columns: 340px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
}
.atoptimize-docbook-booking-side,
.atoptimize-docbook-booking-main {
    background: #ffffff !important;
    border: 1px solid #e7ebf0 !important;
    border-radius: 22px !important;
    box-shadow: 0 20px 42px -34px rgba(15,23,42,.18) !important;
}
.atoptimize-docbook-booking-side {
    padding: 22px !important;
}
.atoptimize-docbook-booking-doctor-top {
    display: flex !important;
    gap: 14px !important;
    align-items: center !important;
    margin-bottom: 14px !important;
}
.atoptimize-docbook-booking-doctor-image {
    width: 86px !important;
    height: 86px !important;
    flex: 0 0 86px !important;
}
.atoptimize-docbook-booking-doctor-image .atoptimize-docbook-card-image,
.atoptimize-docbook-booking-doctor-image .atoptimize-docbook-card-image-placeholder {
    width: 100% !important;
    height: 100% !important;
    border-radius: 16px !important;
    object-fit: cover !important;
}
.atoptimize-docbook-booking-label,
.atoptimize-docbook-booking-section-kicker {
    display: inline-block !important;
    color: #800020 !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    font-weight: 800 !important;
}
.atoptimize-docbook-booking-doctor-meta h3 {
    margin: 5px 0 4px !important;
    color: #101828 !important;
    font-size: 28px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}
.atoptimize-docbook-booking-edu {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
}
.atoptimize-docbook-booking-bio {
    margin: 0 0 16px !important;
    color: #475467 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}
.atoptimize-docbook-booking-facts {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 0 20px !important;
}
.atoptimize-docbook-booking-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 11px !important;
    border: 1px solid #eef1f5 !important;
    border-radius: 999px !important;
    background: #fafbfc !important;
    color: #475467 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
}
.atoptimize-docbook-booking-chip svg { width: 12px !important; height: 12px !important; color: #800020 !important; }
.atoptimize-docbook-booking-chip-price {
    background: #fff6f8 !important;
    border-color: rgba(128,0,32,.12) !important;
    color: #800020 !important;
}
.atoptimize-docbook-booking-selection {
    padding-top: 18px !important;
    border-top: 1px solid #eef1f5 !important;
}
.atoptimize-docbook-booking-selection-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-top: 10px !important;
}
.atoptimize-docbook-booking-selection-card {
    padding: 14px !important;
    border: 1px solid #edf1f5 !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfd 100%) !important;
}
.atoptimize-docbook-booking-selection-card small {
    display: block !important;
    margin-bottom: 6px !important;
    color: #98a2b3 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    font-weight: 800 !important;
}
.atoptimize-docbook-booking-selection-card strong {
    display: block !important;
    color: #101828 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
}
.atoptimize-docbook-booking-note {
    margin: 12px 0 0 !important;
    color: #667085 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}
.atoptimize-docbook-booking-main {
    padding: 24px !important;
}
.atoptimize-docbook-booking-head {
    margin-bottom: 18px !important;
}
.atoptimize-docbook-booking-head h2 {
    margin: 6px 0 6px !important;
    color: #101828 !important;
    font-size: 27px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}
.atoptimize-docbook-booking-head p {
    margin: 0 !important;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}
.atoptimize-docbook-booking-main .atoptimize-docbook-calendar-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(270px, .92fr) !important;
    gap: 18px !important;
}
.atoptimize-docbook-booking-main .atoptimize-docbook-panel {
    min-height: 100% !important;
}
.atoptimize-docbook-booking-main .atoptimize-docbook-next-row {
    margin-top: 18px !important;
}
@media (max-width: 980px) {
    .atoptimize-docbook-booking-shell {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 760px) {
    .atoptimize-docbook-booking-side,
    .atoptimize-docbook-booking-main { padding: 18px !important; }
    .atoptimize-docbook-booking-doctor-meta h3 { font-size: 22px !important; }
    .atoptimize-docbook-booking-head h2 { font-size: 23px !important; }
    .atoptimize-docbook-booking-main .atoptimize-docbook-calendar-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
    .atoptimize-docbook-booking-selection-grid { grid-template-columns: 1fr !important; }
    .atoptimize-docbook-booking-doctor-image { width: 76px !important; height: 76px !important; flex-basis: 76px !important; }
    .atoptimize-docbook-booking-doctor-meta h3 { font-size: 20px !important; }
}

/* v2.2.5 - final premium stable polish, no button animations */
.atoptimize-docbook-wrapper {
    --db-shadow: 0 22px 44px -34px rgba(15, 23, 42, .24) !important;
}

.atoptimize-docbook-wrapper button,
.atoptimize-docbook-wrapper button:hover,
.atoptimize-docbook-wrapper button:focus,
.atoptimize-docbook-wrapper button:active,
.atoptimize-docbook-book-button,
.atoptimize-docbook-book-button:hover,
.atoptimize-docbook-primary,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-page-btn,
.atoptimize-docbook-page-btn:hover,
.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-calendar-days button:hover,
.atoptimize-docbook-slots button,
.atoptimize-docbook-slots button:hover,
.atoptimize-docbook-back,
.atoptimize-docbook-back:hover {
}

.atoptimize-docbook-select-card,
.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-profile-card,
.atoptimize-docbook-doctor-card {
}

.atoptimize-docbook-select-card,
.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-select-card:focus,
.atoptimize-docbook-select-card:active {
    border-color: #e5e7eb !important;
    box-shadow: 0 18px 42px -34px rgba(15, 23, 42, .22) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fffefe 100%) !important;
}

.atoptimize-docbook-select-card:hover {
    border-color: rgba(128, 0, 32, .18) !important;
    box-shadow: 0 20px 46px -34px rgba(15, 23, 42, .26) !important;
}

.atoptimize-docbook-booking-shell {
    gap: 26px !important;
}

.atoptimize-docbook-booking-side,
.atoptimize-docbook-booking-main,
.atoptimize-docbook-panel,
.atoptimize-docbook-form-card,
.atoptimize-docbook-success-card {
    border: 1px solid #e7ebf0 !important;
    box-shadow: 0 20px 46px -36px rgba(15, 23, 42, .20) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fffefe 100%) !important;
}

.atoptimize-docbook-booking-side {
    padding: 24px !important;
    position: relative !important;
    overflow: hidden !important;
}

.atoptimize-docbook-booking-side::before,
.atoptimize-docbook-booking-main::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #800020 0%, #aa002d 50%, #800020 100%) !important;
}

.atoptimize-docbook-booking-main {
    position: relative !important;
    overflow: hidden !important;
    padding: 26px !important;
}

.atoptimize-docbook-booking-doctor-image {
    width: 90px !important;
    height: 90px !important;
    flex-basis: 90px !important;
}

.atoptimize-docbook-booking-doctor-image .atoptimize-docbook-card-image,
.atoptimize-docbook-booking-doctor-image .atoptimize-docbook-card-image-placeholder,
.atoptimize-docbook-card-image,
.atoptimize-docbook-card-image-placeholder {
    border-radius: 16px !important;
    border-color: #edf0f5 !important;
}

.atoptimize-docbook-booking-doctor-meta h3,
.atoptimize-docbook-booking-head h2 {
    color: #101828 !important;
    letter-spacing: -.025em !important;
}

.atoptimize-docbook-booking-label,
.atoptimize-docbook-booking-section-kicker,
.atoptimize-docbook-specialty-label {
    letter-spacing: .07em !important;
}

.atoptimize-docbook-booking-bio,
.atoptimize-docbook-booking-head p,
.atoptimize-docbook-booking-note {
    color: #667085 !important;
}

.atoptimize-docbook-booking-selection-card,
.atoptimize-docbook-filter-panel,
.atoptimize-docbook-summary-card {
    background: #ffffff !important;
    border-color: #e8edf3 !important;
    box-shadow: 0 12px 26px -24px rgba(15, 23, 42, .16) !important;
}

.atoptimize-docbook-panel {
    padding: 24px !important;
    border-radius: 20px !important;
}

.atoptimize-docbook-month-title,
.atoptimize-docbook-panel h3 {
    color: #101828 !important;
}

.atoptimize-docbook-calendar-nav button,
.atoptimize-docbook-calendar-nav button:hover,
.atoptimize-docbook-calendar-nav button:focus,
.atoptimize-docbook-calendar-nav button:active,
.atoptimize-docbook-back,
.atoptimize-docbook-back:hover,
.atoptimize-docbook-back:focus,
.atoptimize-docbook-back:active {
    background: #ffffff !important;
    border-color: #e5e7eb !important;
    color: #344054 !important;
    box-shadow: none !important;
}

.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-calendar-days button:hover,
.atoptimize-docbook-calendar-days button:focus,
.atoptimize-docbook-calendar-days button:active,
.atoptimize-docbook-slots button,
.atoptimize-docbook-slots button:hover,
.atoptimize-docbook-slots button:focus,
.atoptimize-docbook-slots button:active {
    background: #f8fafc !important;
    border-color: #eef2f6 !important;
    color: #344054 !important;
    box-shadow: none !important;
}

.atoptimize-docbook-calendar-days button:not(:disabled):hover,
.atoptimize-docbook-slots button:hover {
    background: #ffffff !important;
    border-color: #e5e7eb !important;
    box-shadow: none !important;
}

.atoptimize-docbook-calendar-days button.is-selected,
.atoptimize-docbook-calendar-days button.is-selected:hover,
.atoptimize-docbook-calendar-days button.is-selected:focus,
.atoptimize-docbook-slots button.is-selected,
.atoptimize-docbook-slots button.is-selected:hover,
.atoptimize-docbook-slots button.is-selected:focus {
    background: #800020 !important;
    color: #ffffff !important;
    border-color: #800020 !important;
    box-shadow: none !important;
}

.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-primary:focus,
.atoptimize-docbook-primary:active,
.atoptimize-docbook-next-row .atoptimize-docbook-primary {
    background: #800020 !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
}

.atoptimize-docbook-primary:hover,
.atoptimize-docbook-book-button:hover {
    background: #6b001b !important;
    color: #ffffff !important;
}

.atoptimize-docbook-fact,
.atoptimize-docbook-booking-chip,
.atoptimize-docbook-meta-row span {
    background: #fbfcfd !important;
    border-color: #edf1f5 !important;
}

.atoptimize-docbook-fact-price,
.atoptimize-docbook-booking-chip-price {
    background: #fff6f8 !important;
    border-color: rgba(128, 0, 32, .12) !important;
}

.atoptimize-docbook-form-card {
    border-radius: 22px !important;
    padding: 28px !important;
}

.atoptimize-docbook-field input,
.atoptimize-docbook-field textarea,
.atoptimize-docbook-filter-field input,
.atoptimize-docbook-filter-field select {
    border-color: #e4e7ec !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.atoptimize-docbook-field input:focus,
.atoptimize-docbook-field textarea:focus,
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus {
    border-color: rgba(128, 0, 32, .35) !important;
    box-shadow: 0 0 0 3px rgba(128, 0, 32, .04) !important;
}

@media (max-width: 760px) {
    .atoptimize-docbook-booking-main,
    .atoptimize-docbook-booking-side,
    .atoptimize-docbook-panel,
    .atoptimize-docbook-form-card {
        padding: 18px !important;
    }
    .atoptimize-docbook-booking-side::before,
    .atoptimize-docbook-booking-main::before {
        height: 3px !important;
    }
}

/* v2.2.5 - final hard no-animation override */
.atoptimize-docbook-wrapper,
.atoptimize-docbook-wrapper *,
.atoptimize-docbook-wrapper *::before,
.atoptimize-docbook-wrapper *::after {
    transition-property: none !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
    animation-name: none !important;
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
}

.atoptimize-docbook-wrapper .atoptimize-docbook-select-card,
.atoptimize-docbook-wrapper .atoptimize-docbook-select-card:hover,
.atoptimize-docbook-wrapper .atoptimize-docbook-select-card:focus,
.atoptimize-docbook-wrapper .atoptimize-docbook-select-card:active,
.atoptimize-docbook-wrapper .atoptimize-docbook-primary,
.atoptimize-docbook-wrapper .atoptimize-docbook-primary:hover,
.atoptimize-docbook-wrapper .atoptimize-docbook-primary:focus,
.atoptimize-docbook-wrapper .atoptimize-docbook-primary:active,
.atoptimize-docbook-wrapper .atoptimize-docbook-book-button,
.atoptimize-docbook-wrapper .atoptimize-docbook-book-button:hover,
.atoptimize-docbook-wrapper .atoptimize-docbook-back,
.atoptimize-docbook-wrapper .atoptimize-docbook-back:hover,
.atoptimize-docbook-wrapper .atoptimize-docbook-calendar-days button,
.atoptimize-docbook-wrapper .atoptimize-docbook-calendar-days button:hover,
.atoptimize-docbook-wrapper .atoptimize-docbook-slots button,
.atoptimize-docbook-wrapper .atoptimize-docbook-slots button:hover,
.atoptimize-docbook-wrapper .atoptimize-docbook-field input,
.atoptimize-docbook-wrapper .atoptimize-docbook-field input:focus,
.atoptimize-docbook-wrapper .atoptimize-docbook-field textarea,
.atoptimize-docbook-wrapper .atoptimize-docbook-field textarea:focus,
.atoptimize-docbook-wrapper .atoptimize-docbook-filter-field input,
.atoptimize-docbook-wrapper .atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-wrapper .atoptimize-docbook-filter-field select,
.atoptimize-docbook-wrapper .atoptimize-docbook-filter-field select:focus {
}

/* v2.2.6 - form button and spacing final fix */
.atoptimize-docbook-form-card {
    max-width: 560px !important;
    padding: 30px !important;
    border-radius: 22px !important;
}

.atoptimize-docbook-booking-form {
    display: block !important;
    width: 100% !important;
}

.atoptimize-docbook-form-card .atoptimize-docbook-field {
    margin-bottom: 16px !important;
}

.atoptimize-docbook-form-card .atoptimize-docbook-field textarea {
    min-height: 96px !important;
}

.atoptimize-docbook-form-card .atoptimize-docbook-booking-form > .atoptimize-docbook-primary,
.atoptimize-docbook-form-card .atoptimize-docbook-booking-form > .atoptimize-docbook-primary:hover,
.atoptimize-docbook-form-card .atoptimize-docbook-booking-form > .atoptimize-docbook-primary:focus,
.atoptimize-docbook-form-card .atoptimize-docbook-booking-form > .atoptimize-docbook-primary:active {
    display: flex !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 8px 0 0 !important;
    padding: 0 18px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    background: #800020 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.atoptimize-docbook-form-card .atoptimize-docbook-booking-form > .atoptimize-docbook-primary:hover {
    background: #6b001b !important;
}

.atoptimize-docbook-success-card .atoptimize-docbook-primary,
.atoptimize-docbook-success-card .atoptimize-docbook-primary:hover,
.atoptimize-docbook-success-card .atoptimize-docbook-primary:focus,
.atoptimize-docbook-success-card .atoptimize-docbook-primary:active {
    width: 100% !important;
    min-width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    margin-top: 16px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
}

@media (max-width: 760px) {
    .atoptimize-docbook-form-card {
        padding: 20px !important;
        border-radius: 20px !important;
    }

    .atoptimize-docbook-form-card .atoptimize-docbook-booking-form > .atoptimize-docbook-primary {
        height: 46px !important;
        min-height: 46px !important;
    }
}

/* DocBook v2.4.1 — minimal, clear frontend finish */
.atoptimize-docbook-wrapper {
    --db-primary:#800020;
    --db-primary-hover:#68001a;
    --db-primary-soft:#fff5f7;
    --db-text:#16202d;
    --db-muted:#667085;
    --db-muted-dark:#475467;
    --db-border:#e5e7eb;
    --db-border-light:#eef0f3;
    --db-soft:#f7f8fa;
    --db-shadow:none !important;
    margin:12px auto !important;
    padding:4px !important;
}
.atoptimize-docbook-wrapper,
.atoptimize-docbook-wrapper *,
.atoptimize-docbook-wrapper *::before,
.atoptimize-docbook-wrapper *::after {
    scroll-behavior:auto !important;
}
.atoptimize-docbook-heading { margin-bottom:16px !important; }
.atoptimize-docbook-heading h2 { font-size:23px !important; font-weight:750 !important; letter-spacing:-.02em !important; }

.atoptimize-docbook-filter-panel {
    gap:10px !important;
    margin-bottom:16px !important;
    padding:12px !important;
    border-radius:12px !important;
    box-shadow:none !important;
}
.atoptimize-docbook-filter-panel[data-field-count="1"] { grid-template-columns:1fr !important; }
.atoptimize-docbook-filter-field label { margin-bottom:6px !important; font-size:9.5px !important; }
.atoptimize-docbook-filter-field input,
.atoptimize-docbook-filter-field select,
.atoptimize-docbook-filter-field input:hover,
.atoptimize-docbook-filter-field select:hover,
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus {
    min-height:42px !important;
    height:42px !important;
    padding:0 12px !important;
    background:#fff !important;
    border-color:var(--db-border) !important;
    border-radius:8px !important;
    line-height:42px !important;
    box-shadow:none !important;
}
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus { border-color:#bb909b !important; box-shadow:0 0 0 2px rgba(128,0,32,.04) !important; }

.atoptimize-docbook-doctor-select-grid,
.atoptimize-docbook-doctors-grid {
    grid-template-columns:repeat(auto-fill,minmax(315px,1fr)) !important;
    gap:14px !important;
}
.atoptimize-docbook-select-card,
.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-select-card:focus,
.atoptimize-docbook-select-card:active {
    min-height:260px !important;
    padding:15px !important;
    background:#fff !important;
    border-color:var(--db-border) !important;
    border-radius:12px !important;
    box-shadow:none !important;
}
.atoptimize-docbook-select-card:hover { border-color:#d7b9c0 !important; box-shadow:none !important; }
.atoptimize-docbook-profile-card::before,
.atoptimize-docbook-doctor-card::before,
.atoptimize-docbook-dept-bar { height:2px !important; border-radius:12px 12px 0 0 !important; }
.atoptimize-docbook-profile-header { gap:12px !important; margin-bottom:12px !important; padding-top:2px !important; }
.atoptimize-docbook-card-image-wrap { width:86px !important; height:86px !important; flex-basis:86px !important; }
.atoptimize-docbook-card-image,
.atoptimize-docbook-card-image-placeholder { border-radius:10px !important; }
.atoptimize-docbook-card-image-placeholder { font-size:22px !important; }
.atoptimize-docbook-verified-badge { width:20px !important; height:20px !important; font-size:10px !important; box-shadow:none !important; }
.atoptimize-docbook-profile-name { font-size:16.5px !important; font-weight:750 !important; }
.atoptimize-docbook-specialty-label { font-size:9.5px !important; }
.atoptimize-docbook-credential { font-size:11px !important; font-weight:550 !important; }
.atoptimize-docbook-bio {
    margin:8px 0 12px !important;
    font-size:11.5px !important;
    line-height:1.5 !important;
    -webkit-line-clamp:2 !important;
}
.atoptimize-docbook-meta-row { gap:6px !important; margin-bottom:12px !important; }
.atoptimize-docbook-fact,
.atoptimize-docbook-meta-row span,
.atoptimize-docbook-meta-row span:first-child,
.atoptimize-docbook-meta-row span + span {
    padding:5px 8px !important;
    background:#fafbfc !important;
    border-color:var(--db-border-light) !important;
    border-radius:999px !important;
    font-size:9.5px !important;
}
.atoptimize-docbook-action-bar { gap:10px !important; padding-top:12px !important; border-top-color:var(--db-border-light) !important; }
.atoptimize-docbook-action-bar.is-button-only { justify-content:flex-end !important; }
.atoptimize-docbook-slot-label { font-size:8.5px !important; }
.atoptimize-docbook-slot-time { font-size:11px !important; }
.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-primary:focus,
.atoptimize-docbook-primary:active {
    min-width:112px !important;
    min-height:38px !important;
    height:38px !important;
    padding:0 14px !important;
    border-radius:8px !important;
    font-size:11px !important;
    box-shadow:none !important;
}

.atoptimize-docbook-pagination { margin-top:16px !important; padding-top:12px !important; }
.atoptimize-docbook-page-btn,
.atoptimize-docbook-page-btn:hover,
.atoptimize-docbook-page-btn:focus,
.atoptimize-docbook-page-btn:active { height:32px !important; min-height:32px !important; border-radius:7px !important; font-size:10.5px !important; box-shadow:none !important; }

.atoptimize-docbook-back,
.atoptimize-docbook-back:hover,
.atoptimize-docbook-back:focus,
.atoptimize-docbook-back:active {
    min-height:38px !important;
    height:38px !important;
    margin-bottom:12px !important;
    padding:0 12px !important;
    background:#fff !important;
    border-radius:8px !important;
    box-shadow:none !important;
    font-size:11.5px !important;
}
.atoptimize-docbook-booking-shell { grid-template-columns:300px minmax(0,1fr) !important; gap:14px !important; }
.atoptimize-docbook-booking-side,
.atoptimize-docbook-booking-main,
.atoptimize-docbook-panel,
.atoptimize-docbook-form-card,
.atoptimize-docbook-success-card {
    background:#fff !important;
    border-color:var(--db-border) !important;
    border-radius:12px !important;
    box-shadow:none !important;
}
.atoptimize-docbook-booking-side,
.atoptimize-docbook-booking-main { padding:18px !important; }
.atoptimize-docbook-booking-side::before,
.atoptimize-docbook-booking-main::before { height:2px !important; background:var(--db-primary) !important; }
.atoptimize-docbook-booking-doctor-image { width:72px !important; height:72px !important; flex-basis:72px !important; }
.atoptimize-docbook-booking-doctor-image .atoptimize-docbook-card-image,
.atoptimize-docbook-booking-doctor-image .atoptimize-docbook-card-image-placeholder { border-radius:10px !important; }
.atoptimize-docbook-booking-doctor-meta h3 { font-size:20px !important; }
.atoptimize-docbook-booking-label,
.atoptimize-docbook-booking-section-kicker { font-size:9px !important; }
.atoptimize-docbook-booking-edu,
.atoptimize-docbook-booking-bio,
.atoptimize-docbook-booking-note { font-size:11px !important; }
.atoptimize-docbook-booking-facts { gap:6px !important; margin-bottom:14px !important; }
.atoptimize-docbook-booking-chip { padding:5px 8px !important; font-size:9.5px !important; }
.atoptimize-docbook-booking-selection { padding-top:14px !important; }
.atoptimize-docbook-booking-selection-grid { gap:7px !important; }
.atoptimize-docbook-booking-selection-card { padding:10px !important; border-radius:8px !important; background:#fbfcfd !important; box-shadow:none !important; }
.atoptimize-docbook-booking-selection-card small { font-size:8.5px !important; }
.atoptimize-docbook-booking-selection-card strong { font-size:11px !important; }
.atoptimize-docbook-booking-head { margin-bottom:14px !important; }
.atoptimize-docbook-booking-head h2 { font-size:22px !important; }
.atoptimize-docbook-booking-head p { font-size:11.5px !important; }
.atoptimize-docbook-booking-main .atoptimize-docbook-calendar-grid,
.atoptimize-docbook-calendar-grid { grid-template-columns:minmax(0,1fr) minmax(250px,.78fr) !important; gap:12px !important; }
.atoptimize-docbook-panel { padding:16px !important; }
.atoptimize-docbook-panel h3,
.atoptimize-docbook-month-title { font-size:15px !important; }
.atoptimize-docbook-calendar-nav { margin-bottom:12px !important; }
.atoptimize-docbook-calendar-nav button,
.atoptimize-docbook-calendar-nav button:hover,
.atoptimize-docbook-calendar-nav button:focus,
.atoptimize-docbook-calendar-nav button:active { width:34px !important; min-width:34px !important; height:34px !important; min-height:34px !important; border-radius:8px !important; }
.atoptimize-docbook-week-row,
.atoptimize-docbook-calendar-days { gap:5px !important; }
.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-slots button,
.atoptimize-docbook-calendar-days button:hover,
.atoptimize-docbook-slots button:hover {
    height:36px !important;
    min-height:36px !important;
    padding:0 7px !important;
    border-radius:8px !important;
    background:#f7f8fa !important;
    border-color:var(--db-border-light) !important;
    font-size:11px !important;
    box-shadow:none !important;
}
.atoptimize-docbook-calendar-days button.is-selected,
.atoptimize-docbook-slots button.is-selected,
.atoptimize-docbook-calendar-days button.is-selected:hover,
.atoptimize-docbook-slots button.is-selected:hover { background:var(--db-primary) !important; color:#fff !important; border-color:var(--db-primary) !important; }
.atoptimize-docbook-slots { gap:7px !important; min-height:160px !important; }
.atoptimize-docbook-next-row { margin-top:12px !important; }
.atoptimize-docbook-next-row .atoptimize-docbook-primary { min-height:40px !important; height:40px !important; border-radius:8px !important; }

.atoptimize-docbook-form-card { max-width:540px !important; padding:20px !important; }
.atoptimize-docbook-summary-card { padding:12px !important; margin-bottom:15px !important; border-radius:9px !important; box-shadow:none !important; }
.atoptimize-docbook-avatar { width:44px !important; height:44px !important; flex-basis:44px !important; border-radius:8px !important; }
.atoptimize-docbook-field { margin-bottom:12px !important; }
.atoptimize-docbook-field label { margin-bottom:5px !important; font-size:9.5px !important; }
.atoptimize-docbook-field input,
.atoptimize-docbook-field textarea {
    min-height:42px !important;
    padding:9px 10px !important;
    border-radius:8px !important;
    background:#fff !important;
    border-color:var(--db-border) !important;
    box-shadow:none !important;
}
.atoptimize-docbook-field textarea { min-height:88px !important; }
.atoptimize-docbook-field input:focus,
.atoptimize-docbook-field textarea:focus { border-color:#bb909b !important; box-shadow:0 0 0 2px rgba(128,0,32,.04) !important; }
.atoptimize-docbook-form-card .atoptimize-docbook-booking-form > .atoptimize-docbook-primary { height:44px !important; min-height:44px !important; border-radius:8px !important; font-size:12px !important; }
.atoptimize-docbook-success-card { max-width:380px !important; margin:30px auto !important; padding:24px !important; }
.atoptimize-docbook-success-icon { width:48px !important; height:48px !important; font-size:22px !important; }

@media (max-width:980px) {
    .atoptimize-docbook-booking-shell { grid-template-columns:1fr !important; }
}
@media (max-width:760px) {
    .atoptimize-docbook-wrapper { padding:2px !important; }
    .atoptimize-docbook-filter-panel,
    .atoptimize-docbook-booking-main .atoptimize-docbook-calendar-grid,
    .atoptimize-docbook-calendar-grid { grid-template-columns:1fr !important; }
    .atoptimize-docbook-doctor-select-grid {
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:12px !important;
        overflow:visible !important;
        scroll-snap-type:none !important;
    }
    .atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card { width:100% !important; max-width:none !important; }
    .atoptimize-docbook-booking-side,
    .atoptimize-docbook-booking-main,
    .atoptimize-docbook-panel,
    .atoptimize-docbook-form-card { padding:15px !important; }
}
@media (max-width:460px) {
    .atoptimize-docbook-card-image-wrap { width:78px !important; height:78px !important; flex-basis:78px !important; }
    .atoptimize-docbook-select-card { min-height:0 !important; padding:13px !important; }
    .atoptimize-docbook-action-bar { align-items:stretch !important; flex-direction:column !important; }
    .atoptimize-docbook-book-button { width:100% !important; }
    .atoptimize-docbook-slots { grid-template-columns:repeat(2,minmax(0,1fr)) !important; min-height:0 !important; }
}

/* v2.4.2 - minimal clear final frontend polish */
.atoptimize-docbook-wrapper {
    --db-shadow:none;
    --db-border:#e5e7eb;
    --db-border-light:#eef0f3;
    --db-soft:#f7f8fa;
    margin:12px auto !important;
    padding:0 !important;
    font-size:13px !important;
}
.atoptimize-docbook-wrapper,
.atoptimize-docbook-wrapper *,
.atoptimize-docbook-wrapper *::before,
.atoptimize-docbook-wrapper *::after {
}
.atoptimize-docbook-heading { margin-bottom:16px !important; }
.atoptimize-docbook-heading h2 { font-size:22px !important; font-weight:750 !important; }
.atoptimize-docbook-filter-panel {
    gap:10px !important;
    margin-bottom:16px !important;
    padding:12px !important;
    border-radius:10px !important;
    box-shadow:none !important;
}
.atoptimize-docbook-filter-field label { font-size:9px !important; margin-bottom:5px !important; }
.atoptimize-docbook-filter-field input,
.atoptimize-docbook-filter-field select,
.atoptimize-docbook-filter-field input:hover,
.atoptimize-docbook-filter-field select:hover,
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus {
    min-height:40px !important;
    height:40px !important;
    padding:0 11px !important;
    border-radius:8px !important;
    background:#fff !important;
    box-shadow:none !important;
    line-height:40px !important;
    font-size:12px !important;
}
.atoptimize-docbook-doctor-select-grid,
.atoptimize-docbook-doctors-grid { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) !important; gap:14px !important; }
.atoptimize-docbook-select-card,
.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-select-card:focus,
.atoptimize-docbook-select-card:active,
.atoptimize-docbook-doctor-card,
.atoptimize-docbook-panel,
.atoptimize-docbook-form-card,
.atoptimize-docbook-success-card,
.atoptimize-docbook-booking-side,
.atoptimize-docbook-booking-main {
    border-radius:10px !important;
    box-shadow:none !important;
    background:#fff !important;
}
.atoptimize-docbook-select-card,
.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-select-card:focus,
.atoptimize-docbook-select-card:active { min-height:0 !important; padding:14px !important; }
.atoptimize-docbook-dept-bar,
.atoptimize-docbook-profile-card::before,
.atoptimize-docbook-doctor-card::before { height:2px !important; }
.atoptimize-docbook-profile-header { gap:10px !important; margin-bottom:11px !important; padding-top:2px !important; }
.atoptimize-docbook-card-image-wrap { width:72px !important; height:72px !important; flex-basis:72px !important; }
.atoptimize-docbook-card-image,
.atoptimize-docbook-card-image-placeholder { border-radius:8px !important; }
.atoptimize-docbook-card-image-placeholder { font-size:20px !important; }
.atoptimize-docbook-specialty-label { font-size:8.5px !important; }
.atoptimize-docbook-profile-name { font-size:15.5px !important; margin:3px 0 !important; }
.atoptimize-docbook-credential { font-size:10.5px !important; line-height:1.45 !important; }
.atoptimize-docbook-bio { margin:7px 0 11px !important; font-size:11px !important; line-height:1.45 !important; -webkit-line-clamp:2 !important; }
.atoptimize-docbook-meta-row { gap:5px !important; margin-bottom:12px !important; }
.atoptimize-docbook-fact,
.atoptimize-docbook-meta-row span,
.atoptimize-docbook-meta-row span:first-child,
.atoptimize-docbook-meta-row span + span { padding:4px 7px !important; border-radius:999px !important; font-size:9.5px !important; gap:4px !important; }
.atoptimize-docbook-fact svg { width:10px !important; height:10px !important; flex-basis:10px !important; }
.atoptimize-docbook-action-bar { padding-top:11px !important; gap:8px !important; }
.atoptimize-docbook-slot-label { font-size:8.5px !important; }
.atoptimize-docbook-slot-time { font-size:11px !important; }
.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-primary:focus,
.atoptimize-docbook-primary:active {
    min-height:38px !important;
    height:38px !important;
    border-radius:7px !important;
    font-size:11.5px !important;
    box-shadow:none !important;
}
.atoptimize-docbook-booking-shell { grid-template-columns:280px minmax(0,1fr) !important; gap:12px !important; }
.atoptimize-docbook-booking-side,
.atoptimize-docbook-booking-main { padding:15px !important; }
.atoptimize-docbook-booking-doctor-top { gap:10px !important; margin-bottom:10px !important; }
.atoptimize-docbook-booking-doctor-image { width:62px !important; height:62px !important; flex-basis:62px !important; }
.atoptimize-docbook-booking-doctor-meta h3 { font-size:18px !important; }
.atoptimize-docbook-booking-label,
.atoptimize-docbook-booking-section-kicker { font-size:8.5px !important; }
.atoptimize-docbook-booking-edu,
.atoptimize-docbook-booking-bio,
.atoptimize-docbook-booking-head p,
.atoptimize-docbook-booking-note { font-size:10.5px !important; line-height:1.5 !important; }
.atoptimize-docbook-booking-facts { gap:5px !important; margin-bottom:12px !important; }
.atoptimize-docbook-booking-chip { padding:4px 7px !important; font-size:9px !important; }
.atoptimize-docbook-booking-selection { padding-top:12px !important; }
.atoptimize-docbook-booking-selection-grid { gap:6px !important; }
.atoptimize-docbook-booking-selection-card { padding:9px !important; border-radius:7px !important; }
.atoptimize-docbook-booking-selection-card small { font-size:8px !important; }
.atoptimize-docbook-booking-selection-card strong { font-size:10.5px !important; }
.atoptimize-docbook-booking-head { margin-bottom:12px !important; }
.atoptimize-docbook-booking-head h2 { font-size:20px !important; margin:4px 0 !important; }
.atoptimize-docbook-booking-main .atoptimize-docbook-calendar-grid,
.atoptimize-docbook-calendar-grid { gap:10px !important; grid-template-columns:minmax(0,1fr) minmax(230px,.76fr) !important; }
.atoptimize-docbook-panel { padding:13px !important; }
.atoptimize-docbook-panel h3,
.atoptimize-docbook-month-title { font-size:14px !important; }
.atoptimize-docbook-calendar-nav { margin-bottom:10px !important; }
.atoptimize-docbook-calendar-nav button,
.atoptimize-docbook-calendar-nav button:hover,
.atoptimize-docbook-calendar-nav button:focus,
.atoptimize-docbook-calendar-nav button:active { width:32px !important; min-width:32px !important; height:32px !important; min-height:32px !important; border-radius:7px !important; }
.atoptimize-docbook-week-row,
.atoptimize-docbook-calendar-days { gap:4px !important; }
.atoptimize-docbook-week-row { margin-bottom:7px !important; font-size:8.5px !important; }
.atoptimize-docbook-calendar-days span { min-height:32px !important; }
.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-slots button,
.atoptimize-docbook-calendar-days button:hover,
.atoptimize-docbook-slots button:hover {
    height:32px !important;
    min-height:32px !important;
    padding:0 6px !important;
    border-radius:7px !important;
    font-size:10.5px !important;
    box-shadow:none !important;
}
.atoptimize-docbook-slots { gap:6px !important; min-height:132px !important; }
.atoptimize-docbook-next-row { margin-top:10px !important; }
.atoptimize-docbook-next-row .atoptimize-docbook-primary { min-height:38px !important; height:38px !important; min-width:135px !important; }
.atoptimize-docbook-form-card { max-width:520px !important; padding:16px !important; }
.atoptimize-docbook-summary-card { padding:10px !important; margin-bottom:12px !important; border-radius:8px !important; }
.atoptimize-docbook-avatar { width:40px !important; height:40px !important; flex-basis:40px !important; }
.atoptimize-docbook-field { margin-bottom:10px !important; }
.atoptimize-docbook-field label { font-size:9px !important; margin-bottom:4px !important; }
.atoptimize-docbook-field input,
.atoptimize-docbook-field textarea { min-height:40px !important; padding:8px 9px !important; border-radius:7px !important; box-shadow:none !important; }
.atoptimize-docbook-field textarea { min-height:78px !important; }
.atoptimize-docbook-field input:focus,
.atoptimize-docbook-field textarea:focus { box-shadow:none !important; border-color:#c7a6ae !important; }
.atoptimize-docbook-form-card .atoptimize-docbook-booking-form > .atoptimize-docbook-primary { height:42px !important; min-height:42px !important; border-radius:7px !important; }
.atoptimize-docbook-success-card { max-width:360px !important; padding:20px !important; margin:24px auto !important; }
.atoptimize-docbook-success-icon { width:44px !important; height:44px !important; }
@media (max-width:980px) { .atoptimize-docbook-booking-shell { grid-template-columns:1fr !important; } }
@media (max-width:760px) {
    .atoptimize-docbook-wrapper { padding:0 !important; }
    .atoptimize-docbook-doctor-select-grid,
    .atoptimize-docbook-doctors-grid { grid-template-columns:1fr !important; }
    .atoptimize-docbook-booking-main .atoptimize-docbook-calendar-grid,
    .atoptimize-docbook-calendar-grid,
    .atoptimize-docbook-filter-panel { grid-template-columns:1fr !important; }
    .atoptimize-docbook-booking-side,
    .atoptimize-docbook-booking-main,
    .atoptimize-docbook-panel,
    .atoptimize-docbook-form-card { padding:13px !important; }
}
@media (max-width:460px) {
    .atoptimize-docbook-profile-header { align-items:flex-start !important; }
    .atoptimize-docbook-card-image-wrap { width:62px !important; height:62px !important; flex-basis:62px !important; }
    .atoptimize-docbook-action-bar { align-items:stretch !important; flex-direction:column !important; }
    .atoptimize-docbook-book-button { width:100% !important; }
    .atoptimize-docbook-slots { grid-template-columns:repeat(2,minmax(0,1fr)) !important; min-height:0 !important; }
}

/* v2.4.3 - Restore clean 3-column frontend doctor grid */
@media (min-width: 1100px) {
    .atoptimize-docbook-wrapper .atoptimize-docbook-doctor-select-grid,
    .atoptimize-docbook-wrapper .atoptimize-docbook-doctors-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 18px !important;
        align-items: stretch !important;
    }
}

@media (min-width: 761px) and (max-width: 1099px) {
    .atoptimize-docbook-wrapper .atoptimize-docbook-doctor-select-grid,
    .atoptimize-docbook-wrapper .atoptimize-docbook-doctors-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

/* v2.4.4 - Mobile doctor cards must stay slider/swipe */
@media (max-width: 760px) {
    .atoptimize-docbook-wrapper .atoptimize-docbook-doctor-select-grid {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 2px 4px 10px !important;
        margin-left: -4px !important;
        margin-right: -4px !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }

    .atoptimize-docbook-wrapper .atoptimize-docbook-doctor-select-grid::-webkit-scrollbar {
        display: none !important;
    }

    .atoptimize-docbook-wrapper .atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card {
        flex: 0 0 86% !important;
        width: 86% !important;
        min-width: 86% !important;
        max-width: 420px !important;
        scroll-snap-align: start !important;
    }
}

@media (max-width: 460px) {
    .atoptimize-docbook-wrapper .atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card {
        flex-basis: 88% !important;
        width: 88% !important;
        min-width: 88% !important;
    }
}

/* v2.4.6 - Frontend doctor cards clean compact redesign */
.atoptimize-docbook-wrapper {
    --db-primary: #800020;
    --db-primary-hover: #640019;
    --db-card: #ffffff;
    --db-soft: #f8fafc;
    --db-border: #e6eaf0;
    --db-text: #111827;
    --db-muted: #667085;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 12px !important;
    background: transparent !important;
}

.atoptimize-docbook-heading {
    margin-bottom: 16px !important;
}

.atoptimize-docbook-heading h2 {
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
}

.atoptimize-docbook-filter-panel {
    max-width: 980px !important;
    margin: 0 auto 22px !important;
    padding: 12px !important;
    gap: 12px !important;
    border-radius: 14px !important;
    border: 1px solid #e7ebf0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.atoptimize-docbook-filter-field label {
    margin-bottom: 6px !important;
    font-size: 10px !important;
    color: #667085 !important;
}

.atoptimize-docbook-filter-field input,
.atoptimize-docbook-filter-field select,
.atoptimize-docbook-filter-field input:hover,
.atoptimize-docbook-filter-field select:hover,
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus {
    height: 42px !important;
    min-height: 42px !important;
    line-height: 42px !important;
    padding: 0 13px !important;
    border-radius: 10px !important;
    background: #f9fafb !important;
    border: 1px solid #dfe5ec !important;
    box-shadow: none !important;
}

.atoptimize-docbook-doctor-select-grid,
.atoptimize-docbook-doctors-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

.atoptimize-docbook-select-card,
.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-select-card:focus,
.atoptimize-docbook-select-card:active {
    display: flex !important;
    flex-direction: column !important;
    min-height: 252px !important;
    height: 100% !important;
    padding: 18px !important;
    border-radius: 16px !important;
    border: 1px solid #e3e8ef !important;
    background: #ffffff !important;
    box-shadow: none !important;
    text-align: left !important;
    overflow: hidden !important;
}

.atoptimize-docbook-select-card:hover {
    border-color: rgba(128, 0, 32, 0.28) !important;
    background: #ffffff !important;
}

.atoptimize-docbook-select-card::before,
.atoptimize-docbook-profile-card::before,
.atoptimize-docbook-dept-bar {
    display: none !important;
    content: none !important;
}

.atoptimize-docbook-profile-header {
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    gap: 13px !important;
    align-items: center !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

.atoptimize-docbook-card-image-wrap {
    width: 62px !important;
    height: 62px !important;
    flex: 0 0 62px !important;
}

.atoptimize-docbook-card-image,
.atoptimize-docbook-card-image-placeholder {
    border-radius: 13px !important;
    border: 1px solid #e8edf3 !important;
    background: #f3f5f8 !important;
}

.atoptimize-docbook-card-image-placeholder {
    font-size: 18px !important;
    letter-spacing: .02em !important;
}

.atoptimize-docbook-verified-badge {
    display: none !important;
}

.atoptimize-docbook-specialty-label,
.atoptimize-docbook-profile-body .atoptimize-docbook-specialty-label,
.atoptimize-docbook-doctor-info .atoptimize-docbook-specialty-label {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 0 5px !important;
    padding: 4px 8px !important;
    border: 1px solid rgba(128,0,32,.12) !important;
    border-radius: 999px !important;
    background: #fff7fa !important;
    color: #800020 !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    font-style: normal !important;
}

.atoptimize-docbook-profile-name,
.atoptimize-docbook-doctor-info h3 {
    margin: 0 0 3px !important;
    color: #111827 !important;
    font-size: 18px !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    letter-spacing: -0.015em !important;
}

.atoptimize-docbook-credential,
.atoptimize-docbook-education {
    margin: 0 !important;
    color: #526071 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
}

.atoptimize-docbook-bio {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 38px !important;
    margin: 0 0 13px !important;
    color: #526071 !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
}

.atoptimize-docbook-meta-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
}

.atoptimize-docbook-fact,
.atoptimize-docbook-meta-row span,
.atoptimize-docbook-meta-row span:first-child,
.atoptimize-docbook-meta-row span + span {
    justify-content: flex-start !important;
    min-height: 34px !important;
    width: 100% !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    border: 1px solid #ebeff5 !important;
    background: #fafbfc !important;
    color: #344054 !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.atoptimize-docbook-fact svg {
    width: 12px !important;
    height: 12px !important;
    flex: 0 0 12px !important;
}

.atoptimize-docbook-fact-price {
    color: #800020 !important;
    background: #fff7fa !important;
    border-color: rgba(128,0,32,.10) !important;
}

.atoptimize-docbook-action-bar {
    display: block !important;
    margin-top: auto !important;
    padding: 0 !important;
    border-top: 0 !important;
}

.atoptimize-docbook-slot-info {
    display: none !important;
}

.atoptimize-docbook-book-button,
.atoptimize-docbook-book-button:hover,
.atoptimize-docbook-book-button:focus,
.atoptimize-docbook-book-button:active {
    width: 100% !important;
    min-width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 11px !important;
    background: #800020 !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.atoptimize-docbook-book-button:hover {
    background: #640019 !important;
}

@media (max-width: 1100px) {
    .atoptimize-docbook-doctor-select-grid,
    .atoptimize-docbook-doctors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .atoptimize-docbook-wrapper {
        padding: 8px !important;
    }

    .atoptimize-docbook-filter-panel {
        grid-template-columns: 1fr !important;
        margin-bottom: 16px !important;
    }

    .atoptimize-docbook-doctor-select-grid {
        display: flex !important;
        flex-wrap: nowrap !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        padding: 2px 2px 10px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .atoptimize-docbook-doctor-select-grid::-webkit-scrollbar {
        display: none !important;
    }

    .atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card {
        flex: 0 0 88% !important;
        width: 88% !important;
        max-width: 420px !important;
        min-height: 248px !important;
        scroll-snap-align: start !important;
    }
}

@media (max-width: 480px) {
    .atoptimize-docbook-heading h2 {
        font-size: 22px !important;
    }

    .atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card {
        flex-basis: 90% !important;
        width: 90% !important;
        padding: 15px !important;
    }

    .atoptimize-docbook-profile-header {
        grid-template-columns: 56px minmax(0, 1fr) !important;
        gap: 11px !important;
    }

    .atoptimize-docbook-card-image-wrap {
        width: 56px !important;
        height: 56px !important;
        flex-basis: 56px !important;
    }

    .atoptimize-docbook-profile-name,
    .atoptimize-docbook-doctor-info h3 {
        font-size: 16.5px !important;
    }

    .atoptimize-docbook-meta-row {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }
}

/* v2.4.7 - Balanced doctor image sizing on frontend cards */
.atoptimize-docbook-wrapper .atoptimize-docbook-profile-header {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
    margin-bottom: 14px !important;
}

.atoptimize-docbook-wrapper .atoptimize-docbook-card-image-wrap {
    width: 88px !important;
    height: 88px !important;
    flex: 0 0 88px !important;
}

.atoptimize-docbook-wrapper .atoptimize-docbook-card-image,
.atoptimize-docbook-wrapper .atoptimize-docbook-card-image-placeholder {
    width: 88px !important;
    height: 88px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
}

.atoptimize-docbook-wrapper .atoptimize-docbook-card-image-placeholder {
    font-size: 23px !important;
    font-weight: 850 !important;
}

.atoptimize-docbook-wrapper .atoptimize-docbook-select-card,
.atoptimize-docbook-wrapper .atoptimize-docbook-select-card:hover,
.atoptimize-docbook-wrapper .atoptimize-docbook-select-card:focus,
.atoptimize-docbook-wrapper .atoptimize-docbook-select-card:active {
    min-height: 276px !important;
    padding: 18px !important;
}

.atoptimize-docbook-wrapper .atoptimize-docbook-profile-name,
.atoptimize-docbook-wrapper .atoptimize-docbook-doctor-info h3 {
    font-size: 17.5px !important;
    line-height: 1.22 !important;
}

.atoptimize-docbook-wrapper .atoptimize-docbook-credential,
.atoptimize-docbook-wrapper .atoptimize-docbook-education {
    font-size: 11.5px !important;
    line-height: 1.4 !important;
}

@media (min-width: 761px) and (max-width: 1100px) {
    .atoptimize-docbook-wrapper .atoptimize-docbook-profile-header {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image-wrap,
    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image,
    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image-placeholder {
        width: 82px !important;
        height: 82px !important;
        flex-basis: 82px !important;
    }
}

@media (max-width: 760px) {
    .atoptimize-docbook-wrapper .atoptimize-docbook-profile-header {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image-wrap,
    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image,
    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image-placeholder {
        width: 82px !important;
        height: 82px !important;
        flex-basis: 82px !important;
        border-radius: 13px !important;
    }

    .atoptimize-docbook-wrapper .atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card {
        min-height: 278px !important;
    }
}

@media (max-width: 480px) {
    .atoptimize-docbook-wrapper .atoptimize-docbook-profile-header {
        grid-template-columns: 76px minmax(0, 1fr) !important;
        gap: 13px !important;
    }

    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image-wrap,
    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image,
    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image-placeholder {
        width: 76px !important;
        height: 76px !important;
        flex-basis: 76px !important;
    }

    .atoptimize-docbook-wrapper .atoptimize-docbook-card-image-placeholder {
        font-size: 21px !important;
    }
}

/* =========================================================================
   DocBook Premium Polish v1 — typography, accent system, motion, focus
   Appended layer: overrides tokens/visuals only, no structural class changes
   ========================================================================= */

.atoptimize-docbook-wrapper {
    --db-primary: #7a1330 !important;
    --db-primary-hover: #591124 !important;
    --db-primary-soft: #fdf3f0 !important;
    --db-primary-soft-2: #fff9f8 !important;
    --db-primary-line: rgba(122, 19, 48, .18) !important;
    --db-gold: #b08d57 !important;
    --db-gold-soft: #faf4e8 !important;
    --db-shadow: 0 20px 46px -30px rgba(35, 15, 20, .30) !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', Roboto, Helvetica, Arial, sans-serif !important;
}

.atoptimize-docbook-wrapper button,
.atoptimize-docbook-wrapper input,
.atoptimize-docbook-wrapper textarea,
.atoptimize-docbook-wrapper select {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Heading — editorial serif with a small brand-mark rule beneath it */
.atoptimize-docbook-heading {
    position: relative !important;
    margin: 0 0 28px !important;
}
.atoptimize-docbook-heading h2 {
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif !important;
    font-size: 30px !important;
    font-weight: 600 !important;
    font-optical-sizing: auto !important;
    letter-spacing: -.01em !important;
}
.atoptimize-docbook-heading::after {
    content: "" !important;
    display: block !important;
    width: 46px !important;
    height: 3px !important;
    margin: 12px auto 0 !important;
    border-radius: 3px !important;
    background: linear-gradient(90deg, var(--db-primary), var(--db-gold)) !important;
}

/* Doctor name gets the serif treatment too — sets it apart from UI chrome */
.atoptimize-docbook-profile-name,
.atoptimize-docbook-doctor-info h3,
.atoptimize-docbook-summary-card strong {
    font-family: ui-serif, Georgia, Cambria, 'Times New Roman', serif !important;
    font-weight: 600 !important;
    letter-spacing: -.005em !important;
}

/* Doctor cards — gradient top bar, gentle lift on hover/focus, warmer shadow */
.atoptimize-docbook-dept-bar,
.atoptimize-docbook-profile-card::before,
.atoptimize-docbook-doctor-card::before {
    background: linear-gradient(90deg, var(--db-primary), var(--db-gold)) !important;
}

.atoptimize-docbook-select-card,
.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-select-card:focus,
.atoptimize-docbook-select-card:active {
    border-radius: 20px !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.atoptimize-docbook-select-card:hover {
    transform: translateY(-3px) !important;
    border-color: var(--db-primary-line) !important;
    box-shadow: 0 28px 54px -30px rgba(35, 15, 20, .34) !important;
}
.atoptimize-docbook-select-card:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px var(--db-primary) !important;
}

.atoptimize-docbook-card-image,
.atoptimize-docbook-card-image-placeholder {
    border: 1px solid var(--db-primary-line) !important;
}
.atoptimize-docbook-card-image-placeholder {
    background: linear-gradient(160deg, var(--db-primary-soft), #ffffff) !important;
}

.atoptimize-docbook-verified-badge {
    background: linear-gradient(135deg, var(--db-gold), #8f7038) !important;
    box-shadow: 0 10px 18px rgba(176, 141, 87, .35) !important;
}

.atoptimize-docbook-fact-price {
    color: #6b4a1f !important;
    background: var(--db-gold-soft) !important;
    border-color: rgba(176, 141, 87, .28) !important;
}
.atoptimize-docbook-fact svg { color: var(--db-primary) !important; }

/* Book button — subtle gradient + lift, matches the brand-mark accent */
.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-primary:focus,
.atoptimize-docbook-primary:active {
    background: linear-gradient(135deg, var(--db-primary), var(--db-primary-hover)) !important;
    border-radius: 11px !important;
    letter-spacing: .01em !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
    box-shadow: 0 14px 26px -16px rgba(122, 19, 48, .48) !important;
}
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-book-button:hover {
    filter: brightness(1.06) !important;
    box-shadow: 0 18px 32px -16px rgba(122, 19, 48, .55) !important;
}
.atoptimize-docbook-select-card:hover .atoptimize-docbook-book-button {
    transform: translateX(2px) !important;
}

/* Filter panel + inputs — softer, warmer focus ring */
.atoptimize-docbook-filter-panel {
    border-radius: 20px !important;
}
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus {
    border-color: var(--db-primary-line) !important;
    box-shadow: 0 0 0 4px rgba(122, 19, 48, .07) !important;
}

/* Generic keyboard focus visibility across interactive elements */
.atoptimize-docbook-wrapper a:focus-visible,
.atoptimize-docbook-wrapper button:focus-visible,
.atoptimize-docbook-wrapper input:focus-visible,
.atoptimize-docbook-wrapper select:focus-visible {
    outline: 2px solid var(--db-primary) !important;
    outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
    .atoptimize-docbook-select-card,
    .atoptimize-docbook-book-button,
    .atoptimize-docbook-primary {
        transition: none !important;
    }
}

/* =========================================================================
   DocBook Premium Polish v2 — modern touches (glass panel, calendar, states)
   ========================================================================= */

/* Filter panel — soft glass surface, modern feel */
.atoptimize-docbook-filter-panel {
    background: rgba(255, 255, 255, .82) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

/* Calendar day / time-slot buttons — smoother selection state, subtle motion */
.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-slots button {
    transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease !important;
}
.atoptimize-docbook-calendar-days button:not(:disabled):hover,
.atoptimize-docbook-slots button:hover {
    transform: translateY(-1px) !important;
}
.atoptimize-docbook-calendar-days button.is-selected,
.atoptimize-docbook-calendar-days button.is-selected:hover,
.atoptimize-docbook-calendar-days button.is-selected:focus,
.atoptimize-docbook-slots button.is-selected,
.atoptimize-docbook-slots button.is-selected:hover,
.atoptimize-docbook-slots button.is-selected:focus {
    background: linear-gradient(135deg, var(--db-primary) 0%, var(--db-primary-hover) 100%) !important;
    border-color: var(--db-primary) !important;
    box-shadow: 0 14px 26px -16px rgba(122, 19, 48, .5) !important;
}

/* Pagination — pill buttons with gradient active state */
.atoptimize-docbook-page-btn {
    border-radius: 10px !important;
    transition: transform .12s ease, box-shadow .12s ease !important;
}
.atoptimize-docbook-page-btn.is-active,
.atoptimize-docbook-page-btn.is-active:hover,
.atoptimize-docbook-page-btn.is-active:focus {
    background: linear-gradient(135deg, var(--db-primary), var(--db-primary-hover)) !important;
    border-color: var(--db-primary) !important;
}
.atoptimize-docbook-page-btn:not(:disabled):hover {
    transform: translateY(-1px) !important;
}

/* Summary + success cards — softer gradient surface, gold ring on avatar */
.atoptimize-docbook-summary-card {
    background: linear-gradient(180deg, #ffffff 0%, var(--db-primary-soft-2) 100%) !important;
}
.atoptimize-docbook-avatar,
.atoptimize-docbook-avatar-placeholder {
    border-color: var(--db-primary-line) !important;
}
.atoptimize-docbook-success-card {
    border-top: 3px solid transparent !important;
    border-image: linear-gradient(90deg, var(--db-primary), var(--db-gold)) 1 !important;
}

/* Loading state — quiet pulse instead of static text */
.atoptimize-docbook-loading {
    position: relative !important;
    color: var(--db-muted) !important;
    text-align: center !important;
    padding: 40px 0 !important;
}
.atoptimize-docbook-loading::before {
    content: "" !important;
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 auto 10px !important;
    border: 2.5px solid var(--db-primary-line) !important;
    border-top-color: var(--db-primary) !important;
    border-radius: 50% !important;
    animation: atoptimize-docbook-spin .7s linear infinite !important;
}
@keyframes atoptimize-docbook-spin { to { transform: rotate(360deg) !important; } }

@media (prefers-reduced-motion: reduce) {
    .atoptimize-docbook-calendar-days button,
    .atoptimize-docbook-slots button,
    .atoptimize-docbook-page-btn {
        transition: none !important;
    }
    .atoptimize-docbook-loading::before {
        animation: none !important;
    }
}

/* =========================================================================
   DocBook Premium Polish v3 — larger, more premium type scale
   ========================================================================= */
.atoptimize-docbook-wrapper {
    font-size: 15.5px !important;
}

.atoptimize-docbook-heading h2 {
    font-size: 34px !important;
}

.atoptimize-docbook-profile-name,
.atoptimize-docbook-doctor-info h3,
.atoptimize-docbook-summary-card strong {
    font-size: 20px !important;
}

.atoptimize-docbook-specialty-label,
.atoptimize-docbook-profile-body .atoptimize-docbook-specialty-label,
.atoptimize-docbook-doctor-info .atoptimize-docbook-specialty-label {
    font-size: 11.5px !important;
    letter-spacing: .05em !important;
}

.atoptimize-docbook-credential,
.atoptimize-docbook-education {
    font-size: 12.5px !important;
}

.atoptimize-docbook-bio {
    font-size: 13.5px !important;
    line-height: 1.6 !important;
}

.atoptimize-docbook-fact,
.atoptimize-docbook-meta-row span,
.atoptimize-docbook-meta-row span:first-child,
.atoptimize-docbook-meta-row span + span {
    font-size: 11.5px !important;
    padding: 7px 12px !important;
}

.atoptimize-docbook-slot-label {
    font-size: 10.5px !important;
}
.atoptimize-docbook-slot-time {
    font-size: 13.5px !important;
}

.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-primary:focus,
.atoptimize-docbook-primary:active {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 20px !important;
    font-size: 12.5px !important;
}

.atoptimize-docbook-filter-field label {
    font-size: 11.5px !important;
}
.atoptimize-docbook-filter-field input,
.atoptimize-docbook-filter-field select,
.atoptimize-docbook-filter-field input:hover,
.atoptimize-docbook-filter-field select:hover,
.atoptimize-docbook-filter-field input:focus,
.atoptimize-docbook-filter-field select:focus {
    font-size: 14.5px !important;
}

.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-slots button {
    font-size: 14px !important;
}

.atoptimize-docbook-field label { font-size: 12px !important; }
.atoptimize-docbook-field input,
.atoptimize-docbook-field select,
.atoptimize-docbook-field textarea {
    font-size: 15px !important;
}

.atoptimize-docbook-success-card h2 { font-size: 23px !important; }
.atoptimize-docbook-summary-card span { font-size: 14px !important; }
.atoptimize-docbook-month-title,
.atoptimize-docbook-panel h3 { font-size: 19.5px !important; }

@media (max-width: 480px) {
    .atoptimize-docbook-heading h2 { font-size: 26px !important; }
    .atoptimize-docbook-profile-name,
    .atoptimize-docbook-doctor-info h3 { font-size: 17.5px !important; }
}

/* =========================================================================
   DocBook Premium Polish v4 — entrance animation + bigger frontend type
   Re-renders replace innerHTML, so these entrance animations replay on
   every screen change (doctor list load, filter, booking view, success).
   ========================================================================= */

@keyframes atoptimize-docbook-rise-in {
    from { opacity: 0; transform: translateY(16px) scale(.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes atoptimize-docbook-slide-in-right {
    from { opacity: 0; transform: translateX(28px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes atoptimize-docbook-slide-in-left {
    from { opacity: 0; transform: translateX(-20px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes atoptimize-docbook-pop-in {
    0%   { opacity: 0; transform: scale(.9); }
    60%  { opacity: 1; transform: scale(1.02); }
    100% { opacity: 1; transform: scale(1); }
}

/* Doctor cards — staggered rise-in on every list render */
.atoptimize-docbook-select-card {
    animation: atoptimize-docbook-rise-in .5s cubic-bezier(.16, 1, .3, 1) both !important;
}
.atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card:nth-child(1) { animation-delay: .02s !important; }
.atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card:nth-child(2) { animation-delay: .07s !important; }
.atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card:nth-child(3) { animation-delay: .12s !important; }
.atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card:nth-child(4) { animation-delay: .17s !important; }
.atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card:nth-child(5) { animation-delay: .22s !important; }
.atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card:nth-child(6) { animation-delay: .27s !important; }
.atoptimize-docbook-doctor-select-grid .atoptimize-docbook-select-card:nth-child(n+7) { animation-delay: .32s !important; }

/* Heading + filter panel settle in first, just ahead of the cards */
.atoptimize-docbook-heading {
    animation: atoptimize-docbook-rise-in .45s cubic-bezier(.16, 1, .3, 1) both !important;
}
.atoptimize-docbook-filter-panel {
    animation: atoptimize-docbook-rise-in .45s cubic-bezier(.16, 1, .3, 1) both !important;
    animation-delay: .05s !important;
}

/* Booking screen — slides in from the right like a new "page" */
.atoptimize-docbook-booking-shell {
    animation: atoptimize-docbook-slide-in-right .4s cubic-bezier(.16, 1, .3, 1) both !important;
}
.atoptimize-docbook-back {
    animation: atoptimize-docbook-slide-in-left .35s cubic-bezier(.16, 1, .3, 1) both !important;
}

/* Calendar + slots panel — quick rise-in each time slots refresh */
.atoptimize-docbook-panel {
    animation: atoptimize-docbook-rise-in .4s cubic-bezier(.16, 1, .3, 1) both !important;
}
.atoptimize-docbook-slots button {
    animation: atoptimize-docbook-rise-in .3s cubic-bezier(.16, 1, .3, 1) both !important;
}

/* Success card — a little celebratory pop */
.atoptimize-docbook-success-card {
    animation: atoptimize-docbook-pop-in .5s cubic-bezier(.34, 1.56, .64, 1) both !important;
}
.atoptimize-docbook-success-icon {
    animation: atoptimize-docbook-pop-in .55s .1s cubic-bezier(.34, 1.56, .64, 1) both !important;
}

/* Book button — tiny press feedback for a livelier feel */
.atoptimize-docbook-select-card:active .atoptimize-docbook-book-button {
    transform: scale(.96) !important;
}

@media (prefers-reduced-motion: reduce) {
    .atoptimize-docbook-select-card,
    .atoptimize-docbook-heading,
    .atoptimize-docbook-filter-panel,
    .atoptimize-docbook-booking-shell,
    .atoptimize-docbook-back,
    .atoptimize-docbook-panel,
    .atoptimize-docbook-slots button,
    .atoptimize-docbook-success-card,
    .atoptimize-docbook-success-icon {
        animation: none !important;
    }
}

/* ---- Frontend type scale — one more step up ---- */
.atoptimize-docbook-wrapper {
    font-size: 16.5px !important;
}
.atoptimize-docbook-heading h2 {
    font-size: 37px !important;
}
.atoptimize-docbook-profile-name,
.atoptimize-docbook-doctor-info h3,
.atoptimize-docbook-summary-card strong {
    font-size: 21.5px !important;
}
.atoptimize-docbook-specialty-label,
.atoptimize-docbook-profile-body .atoptimize-docbook-specialty-label,
.atoptimize-docbook-doctor-info .atoptimize-docbook-specialty-label {
    font-size: 12px !important;
}
.atoptimize-docbook-bio {
    font-size: 14.5px !important;
}
.atoptimize-docbook-credential,
.atoptimize-docbook-education {
    font-size: 13.5px !important;
}
.atoptimize-docbook-fact,
.atoptimize-docbook-meta-row span,
.atoptimize-docbook-meta-row span:first-child,
.atoptimize-docbook-meta-row span + span {
    font-size: 12.5px !important;
}
.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-primary:focus,
.atoptimize-docbook-primary:active {
    font-size: 13.5px !important;
    min-height: 44px !important;
    height: 44px !important;
}
.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-slots button {
    font-size: 15px !important;
}
.atoptimize-docbook-field input,
.atoptimize-docbook-field select,
.atoptimize-docbook-field textarea,
.atoptimize-docbook-filter-field input,
.atoptimize-docbook-filter-field select {
    font-size: 15.5px !important;
}
.atoptimize-docbook-success-card h2 { font-size: 25px !important; }

@media (max-width: 480px) {
    .atoptimize-docbook-wrapper { font-size: 15px !important; }
    .atoptimize-docbook-heading h2 { font-size: 27px !important; }
    .atoptimize-docbook-profile-name,
    .atoptimize-docbook-doctor-info h3 { font-size: 18.5px !important; }
}

/* =========================================================================
   DocBook Premium Polish v5 — animation coverage: calendar/slots + form
   (No font-size changes in this layer — sizes are locked as-is.)
   ========================================================================= */

/* Calendar day buttons — staggered entrance each time the month renders */
.atoptimize-docbook-calendar-days button {
    animation: atoptimize-docbook-rise-in .3s cubic-bezier(.16, 1, .3, 1) both !important;
}
.atoptimize-docbook-calendar-days button:nth-child(7n+1)  { animation-delay: .02s !important; }
.atoptimize-docbook-calendar-days button:nth-child(7n+2)  { animation-delay: .04s !important; }
.atoptimize-docbook-calendar-days button:nth-child(7n+3)  { animation-delay: .06s !important; }
.atoptimize-docbook-calendar-days button:nth-child(7n+4)  { animation-delay: .08s !important; }
.atoptimize-docbook-calendar-days button:nth-child(7n+5)  { animation-delay: .10s !important; }
.atoptimize-docbook-calendar-days button:nth-child(7n+6)  { animation-delay: .12s !important; }
.atoptimize-docbook-calendar-days button:nth-child(7n+7)  { animation-delay: .14s !important; }

/* Time slot buttons — staggered too (was a flat fade before) */
.atoptimize-docbook-slots button:nth-child(3n+1) { animation-delay: .02s !important; }
.atoptimize-docbook-slots button:nth-child(3n+2) { animation-delay: .06s !important; }
.atoptimize-docbook-slots button:nth-child(3n+3) { animation-delay: .10s !important; }

/* Doctor / patient details form — slides in as its own "step", fields
   settle in one after another so it feels alive while filling it out */
.atoptimize-docbook-form-card {
    animation: atoptimize-docbook-slide-in-right .42s cubic-bezier(.16, 1, .3, 1) both !important;
}
.atoptimize-docbook-summary-card {
    animation: atoptimize-docbook-rise-in .4s cubic-bezier(.16, 1, .3, 1) both !important;
}
.atoptimize-docbook-booking-form .atoptimize-docbook-field {
    animation: atoptimize-docbook-rise-in .4s cubic-bezier(.16, 1, .3, 1) both !important;
}
.atoptimize-docbook-booking-form .atoptimize-docbook-field:nth-of-type(1) { animation-delay: .06s !important; }
.atoptimize-docbook-booking-form .atoptimize-docbook-field:nth-of-type(2) { animation-delay: .11s !important; }
.atoptimize-docbook-booking-form .atoptimize-docbook-field:nth-of-type(3) { animation-delay: .16s !important; }
.atoptimize-docbook-booking-form .atoptimize-docbook-field:nth-of-type(4) { animation-delay: .21s !important; }
.atoptimize-docbook-booking-form .atoptimize-docbook-field:nth-of-type(n+5) { animation-delay: .26s !important; }
.atoptimize-docbook-booking-form > .atoptimize-docbook-primary {
    animation: atoptimize-docbook-rise-in .4s .3s cubic-bezier(.16, 1, .3, 1) both !important;
}

/* A little life on field focus, since the form is now a highlighted step */
.atoptimize-docbook-field input:focus,
.atoptimize-docbook-field textarea:focus,
.atoptimize-docbook-field .atoptimize-docbook-custom-input:focus {
    transform: translateY(-1px) !important;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease !important;
    border-color: var(--db-primary-line) !important;
    box-shadow: 0 0 0 4px rgba(122, 19, 48, .07) !important;
}

@media (prefers-reduced-motion: reduce) {
    .atoptimize-docbook-calendar-days button,
    .atoptimize-docbook-form-card,
    .atoptimize-docbook-summary-card,
    .atoptimize-docbook-booking-form .atoptimize-docbook-field,
    .atoptimize-docbook-booking-form > .atoptimize-docbook-primary,
    .atoptimize-docbook-field input:focus,
    .atoptimize-docbook-field textarea:focus {
        animation: none !important;
        transform: none !important;
        transition: none !important;
    }
}

/* =========================================================================
   DocBook Premium Polish v6 — final QA pass: "Back to Doctors" hover fix
   ========================================================================= */

/* Explicit, locked-size back button — no more shrink/shift on hover.
   Hover now reads clearly premium: underline + wine color + gentle nudge. */
.atoptimize-docbook-back,
.atoptimize-docbook-back:hover,
.atoptimize-docbook-back:focus,
.atoptimize-docbook-back:active {
    font-size: 13px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    transition: color .16s ease, border-color .16s ease, transform .16s ease, background .16s ease !important;
}
.atoptimize-docbook-back:hover {
    color: var(--db-primary) !important;
    border-color: var(--db-primary-line) !important;
    background: var(--db-primary-soft) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transform: translateX(-3px) !important;
}
.atoptimize-docbook-back:active {
    transform: translateX(-1px) scale(.98) !important;
}
.atoptimize-docbook-back:focus-visible {
    outline: 2px solid var(--db-primary) !important;
    outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
    .atoptimize-docbook-back:hover,
    .atoptimize-docbook-back:active {
        transform: none !important;
    }
}

/* =========================================================================
   DocBook Premium — Motion OFF (final): cards and buttons no longer
   animate in, and hover no longer changes size/position. Visual design
   (colors, gradients, borders, shadows) stays exactly as-is.
   ========================================================================= */
.atoptimize-docbook-select-card,
.atoptimize-docbook-heading,
.atoptimize-docbook-filter-panel,
.atoptimize-docbook-booking-shell,
.atoptimize-docbook-back,
.atoptimize-docbook-panel,
.atoptimize-docbook-slots button,
.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-success-card,
.atoptimize-docbook-success-icon,
.atoptimize-docbook-form-card,
.atoptimize-docbook-summary-card,
.atoptimize-docbook-booking-form .atoptimize-docbook-field,
.atoptimize-docbook-booking-form > .atoptimize-docbook-primary,
.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-page-btn {
    animation: none !important;
}

.atoptimize-docbook-select-card:hover,
.atoptimize-docbook-select-card:active,
.atoptimize-docbook-select-card:active .atoptimize-docbook-book-button,
.atoptimize-docbook-book-button:hover,
.atoptimize-docbook-primary:hover,
.atoptimize-docbook-back:hover,
.atoptimize-docbook-back:active,
.atoptimize-docbook-page-btn:hover,
.atoptimize-docbook-page-btn:not(:disabled):hover,
.atoptimize-docbook-calendar-days button:hover,
.atoptimize-docbook-slots button:hover,
.atoptimize-docbook-stat-card:hover,
.atoptimize-docbook-field input:focus,
.atoptimize-docbook-field textarea:focus,
.atoptimize-docbook-field .atoptimize-docbook-custom-input:focus {
    transform: none !important;
}

.atoptimize-docbook-select-card,
.atoptimize-docbook-book-button,
.atoptimize-docbook-primary,
.atoptimize-docbook-back,
.atoptimize-docbook-page-btn,
.atoptimize-docbook-calendar-days button,
.atoptimize-docbook-slots button,
.atoptimize-docbook-field input,
.atoptimize-docbook-field textarea {
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease !important;
}
