/* Clinic-specific, database-free improvements for the Amelia step form. */
.clinic-booking-ux .clinic-booking-price,
.clinic-booking-ux .am-select-service-price,
.clinic-booking-ux .am-adv-select__item-price,
.clinic-booking-ux .am-fs__cserv-price,
.clinic-booking-ux .am-fs__init-item__price,
.clinic-booking-ux .am-fs__init-item__cost,
.clinic-booking-ux .clinic-booking-payment-step {
    display: none !important;
}

/* Amelia dropdowns are teleported under body, outside .clinic-booking-ux. */
.clinic-booking-price,
.am-adv-select__item-price,
.am-select-service-price {
    display: none !important;
}

/* Every specialty has one online service (Consultation). Keep that technical
   second cascader column available to JavaScript, but never show it to patients. */
.am-adv-select__popper .el-cascader-menu:nth-child(n + 2),
.el-cascader__dropdown .el-cascader-menu:nth-child(n + 2) {
    position: absolute !important;
    width: 1px !important;
    min-width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    border: 0 !important;
}

.am-adv-select__popper .el-cascader-panel,
.el-cascader__dropdown .el-cascader-panel {
    min-width: 280px !important;
}

.am-adv-select__popper .el-cascader-menu:first-child,
.el-cascader__dropdown .el-cascader-menu:first-child {
    width: 100% !important;
    min-width: 280px !important;
    border-right: 0 !important;
}

.am-adv-select__popper .el-cascader-menu:first-child .el-cascader-node,
.el-cascader__dropdown .el-cascader-menu:first-child .el-cascader-node {
    min-height: 44px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

.am-select-option .am-oit__img,
.am-select-option .am-oit__img-placeholder,
.am-adv-select__item .am-oit__img,
.am-adv-select__item .am-oit__img-placeholder,
.clinic-booking-ux .am-fs__person-img,
.clinic-booking-ux [class*="employee"] [style*="background-image"] {
    width: 76px !important;
    min-width: 76px !important;
    height: 76px !important;
    border-radius: 50% !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(21, 55, 111, 0.16) !important;
}

.am-select-option .am-oit {
    min-height: 84px !important;
    gap: 16px !important;
}

.clinic-booking-ux .am-employee-select img,
.clinic-booking-ux .am-fs-iipu__employee-img,
.clinic-booking-ux .am-select-option img,
.clinic-booking-ux [role="option"] img,
.clinic-booking-ux [role="option"] [style*="background-image"],
.clinic-booking-ux [class*="employee"] [class*="image"],
.clinic-booking-ux [class*="employee"] [class*="img"] {
    width: 76px !important;
    min-width: 76px !important;
    height: 76px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center top !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(21, 55, 111, 0.16) !important;
}

.am-select-option .am-oit__label,
.am-select-option .am-oit__name,
.am-adv-select__item [class*="name"] {
    white-space: normal !important;
    line-height: 1.35 !important;
}

.clinic-booking-ux .am-select-option,
.clinic-booking-ux .am-employee-select,
.clinic-booking-ux [role="option"] {
    min-height: 88px;
    gap: 16px;
}

.clinic-booking-ux .am-button,
.clinic-booking-ux .am-button-continue,
.clinic-booking-ux button {
    min-height: 44px;
}

.clinic-booking-ux .am-fs__main-footer {
    position: sticky;
    bottom: 0;
    z-index: 12;
    background: var(--am-c-main-bgr, #fff);
}

.clinic-booking-ux.clinic-booking-completing .am-fs__payments {
    opacity: 0;
    pointer-events: none;
}

.clinic-booking-ux .clinic-calendar-loading {
    position: relative;
    min-height: 320px;
}

.clinic-booking-ux .clinic-calendar-loading::before {
    content: "Chargement des disponibilités…";
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    width: min(90%, 320px);
    color: #52606a;
    font-weight: 600;
    text-align: center;
}

@media (max-width: 768px) {
    .am-select-option .am-oit__img,
    .am-select-option .am-oit__img-placeholder,
    .am-adv-select__item .am-oit__img,
    .am-adv-select__item .am-oit__img-placeholder,
    .clinic-booking-ux .am-fs__person-img,
    .clinic-booking-ux [class*="employee"] [style*="background-image"] {
        width: 84px !important;
        min-width: 84px !important;
        height: 84px !important;
    }

    .clinic-booking-ux {
        width: 100% !important;
        max-width: 100% !important;
    }

    .clinic-booking-ux .am-fs__main,
    .clinic-booking-ux .am-fs__main-inner,
    .clinic-booking-ux .am-fs__main-content {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
    }

    .clinic-booking-ux .am-fs__main-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .am-adv-select__popper,
    .am-adv-select__popper-mobile,
    .el-select__popper {
        max-height: min(56vh, 430px) !important;
        overflow-y: auto !important;
    }

    .am-adv-select__popper .el-cascader-menu,
    .el-cascader__dropdown .el-cascader-menu {
        max-height: min(52vh, 420px) !important;
    }

    .am-adv-select__popper .el-cascader-menu:first-child .el-cascader-node,
    .el-cascader__dropdown .el-cascader-menu:first-child .el-cascader-node {
        min-height: 48px !important;
    }

    .elementor-icon-list-text {
        max-width: 100% !important;
        overflow-wrap: anywhere;
    }

    .clinic-booking-ux .am-fs__main-footer {
        padding: 12px 16px calc(12px + env(safe-area-inset-bottom)) !important;
    }
}
