.cwms-display{width:100%;box-sizing:border-box}.cwms-display *{box-sizing:border-box}.cwms-display-summary{margin:0 0 18px;font-size:15px;color:#4b5563}.cwms-doctor-results{display:grid;grid-template-columns:1fr;gap:18px}.cwms-doctor-card{position:relative;border:1px solid rgba(17,24,39,.1);border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(17,24,39,.06);overflow:hidden}.cwms-doctor-card__main{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:22px}.cwms-doctor-card__photo-wrap{width:150px}.cwms-doctor-card__photo{display:block;width:150px;height:150px;object-fit:cover;border-radius:16px;background:#f3f4f6}.cwms-doctor-card__photo--placeholder{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:34px;color:#374151}.cwms-doctor-card__content{min-width:0}.cwms-doctor-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.cwms-doctor-card__title{margin:5px 0 0;font-size:14px;line-height:1.35;color:#64748b;text-transform:none;letter-spacing:0}.cwms-doctor-card__name{margin:0;font-size:24px;line-height:1.25;color:#111827}.cwms-doctor-card__meta-group{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.cwms-badge{display:inline-flex;align-items:center;border-radius:999px;background:#f3f4f6;color:#374151;padding:6px 10px;font-size:13px;line-height:1.2}.cwms-badge--specialty{background:#eef2ff;color:#3730a3}.cwms-doctor-card__locations,.cwms-doctor-card__bio{margin:10px 0 0;color:#4b5563;font-size:15px;line-height:1.6}.cwms-doctor-card__meta-label{font-weight:600;color:#111827}.cwms-doctor-card__actions{margin-top:16px}.cwms-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:11px 18px;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.cwms-button:hover{transform:translateY(-1px)}.cwms-button--primary{background:#111827;color:#fff;box-shadow:0 8px 18px rgba(17,24,39,.18)}.cwms-button--secondary{background:#f3f4f6;color:#111827}.cwms-doctor-card__booking{white-space:nowrap}.cwms-doctor-card__services{border-top:1px solid rgba(17,24,39,.08);padding:0 22px 22px}.cwms-services-table-wrap{padding-top:18px}.cwms-services-table__heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;background:#fff}.cwms-services-table__heading h4{margin:0;font-size:18px;color:#111827}.cwms-services-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:14px;overflow:hidden}.cwms-services-table th,.cwms-services-table td{padding:14px 16px;border-bottom:1px solid rgba(17,24,39,.08);text-align:left;vertical-align:middle}.cwms-services-table th{font-size:13px;color:#6b7280;background:#f9fafb;text-transform:uppercase;letter-spacing:.03em}.cwms-services-table tr:last-child td{border-bottom:0}.cwms-services-table__action-col{text-align:right}.cwms-service-row__button{white-space:nowrap}.cwms-muted{color:#9ca3af}.cwms-display-empty,.cwms-services-empty{border:1px dashed rgba(17,24,39,.18);border-radius:16px;background:#f9fafb;padding:24px;text-align:center;color:#4b5563}.cwms-display-empty h3{margin:0 0 8px;color:#111827}.cwms-display-empty p{margin:0}.cwms-display-loading{opacity:.6;pointer-events:none}.cwms-display-error{border-radius:12px;background:#fef2f2;color:#991b1b;padding:14px 16px;margin:0 0 14px}.cwms-display--compact .cwms-doctor-card__main{grid-template-columns:96px 1fr;padding:16px}.cwms-display--compact .cwms-doctor-card__photo-wrap,.cwms-display--compact .cwms-doctor-card__photo{width:96px;height:96px}.cwms-display--compact .cwms-doctor-card__name{font-size:20px}@media(max-width:767px){.cwms-doctor-card__main{grid-template-columns:1fr;gap:14px;padding:18px}.cwms-doctor-card__photo-wrap,.cwms-doctor-card__photo{width:110px;height:110px}.cwms-doctor-card__header{display:block}.cwms-doctor-card__booking{width:100%;margin-top:14px}.cwms-doctor-card__services{padding:0 18px 18px}.cwms-services-table__heading{align-items:flex-start;flex-direction:column}.cwms-services-table__sticky-button{width:100%}.cwms-services-table,.cwms-services-table thead,.cwms-services-table tbody,.cwms-services-table th,.cwms-services-table td,.cwms-services-table tr{display:block}.cwms-services-table thead{display:none}.cwms-services-table tr{padding:12px 14px;border-bottom:1px solid rgba(17,24,39,.08)}.cwms-services-table tr:last-child{border-bottom:0}.cwms-services-table td{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:0}.cwms-services-table td:before{content:attr(data-label);font-weight:700;color:#6b7280}.cwms-service-row__button{width:100%;margin-top:6px}.cwms-services-table td:last-child{display:block}.cwms-services-table td:last-child:before{display:none}}

@media(max-width:767px){.cwms-services-table{border:0;box-shadow:none;background:transparent;border-radius:0}.cwms-services-table tbody{display:grid;gap:14px}.cwms-services-table tr.cwms-service-row{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 16px;border:1px solid rgba(17,24,39,.12);border-radius:18px;background:#fff;text-align:center}.cwms-services-table tr.cwms-service-row:last-child{border-bottom:1px solid rgba(17,24,39,.12)}.cwms-services-table td{display:block;width:100%;padding:0;border:0;text-align:center}.cwms-services-table td:before{display:none!important;content:none!important}.cwms-service-row__name strong{display:block;font-size:16px;line-height:1.35;font-weight:800;text-align:center}.cwms-service-row__duration,.cwms-service-row__price{font-size:14px;line-height:1.35;font-weight:700;text-align:center}.cwms-service-row__price{font-size:15px;font-weight:800}.cwms-service-row__cell--empty{display:none!important}.cwms-service-row__action{display:flex;justify-content:center;margin-top:6px}.cwms-service-row__action .cwms-service-row__button{width:auto;min-width:190px;margin:0 auto;text-align:center;justify-content:center}}


.cwms-doctor-card__name-link {
    color: inherit;
    text-decoration: none;
}

.cwms-doctor-card__name-link:hover,
.cwms-doctor-card__name-link:focus {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 4px;
}


/* CWMS price/duration visibility safeguards */
.cwms-shortcode--hide-prices .cwms-service-row__price{display:none!important}
.cwms-shortcode--hide-prices .cwms-services-table th:nth-last-child(2){display:none!important}
@supports selector(:has(*)){
  .cwms-services-table:has(.cwms-service-row__duration) .cwms-service-row__duration{display:none!important}
  .cwms-services-table:has(.cwms-service-row__duration) th:nth-child(2){display:none!important}
}

/* CAS / reimbursed services */
.cwms-doctor-card__booking-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}
.cwms-button--cas {
    background: #0f766e !important;
    border-color: #0f766e !important;
    color: #fff !important;
}
.cwms-button--cas:hover,
.cwms-button--cas:focus {
    background: #115e59 !important;
    border-color: #115e59 !important;
}
.cwms-services-table__group td {
    background: #f8fafc;
    color: #334155;
    font-weight: 800;
    letter-spacing: .01em;
    text-transform: uppercase;
    font-size: 12px;
    padding-top: 14px;
    padding-bottom: 10px;
}
.cwms-services-table__group--cas td {
    background: #ecfdf5;
    color: #0f766e;
}
.cwms-service-row--cas {
    background: #fcfffd;
}
.cwms-service-row__cas-badge,
.cwms-cas-price {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 999px;
    background: #d1fae5;
    color: #065f46;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 9px;
    margin-left: 8px;
    white-space: nowrap;
}
.cwms-cas-price {
    margin-left: 0;
}
@media (max-width: 640px) {
    .cwms-doctor-card__booking-group {
        justify-content: stretch;
    }
    .cwms-doctor-card__booking-group .cwms-button {
        width: 100%;
    }
}

.cwms-display-empty__actions{margin-top:16px}.cwms-display-empty--booking .cwms-button{margin-top:4px}


/* Version 1.0.22 - General services */
.cwms-general-services{
    margin:0 0 24px;
    padding:22px;
    border:1px solid rgba(100,48,146,.16);
    border-radius:24px;
    background:linear-gradient(135deg, rgba(100,48,146,.055), rgba(143,99,201,.10));
}

.cwms-general-services__header{
    margin:0 0 16px;
}

.cwms-general-services__eyebrow{
    display:inline-flex;
    border-radius:999px;
    background:rgba(100,48,146,.10);
    color:#643092;
    font-size:12px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    padding:6px 10px;
    margin-bottom:8px;
}

.cwms-general-services__header h3{
    margin:0;
    color:#2d203b;
    font-size:clamp(22px,2vw,30px);
    line-height:1.2;
}

.cwms-general-services__header p{
    margin:6px 0 0;
    color:#6b6077;
}

.cwms-general-services__list{
    display:grid;
    gap:12px;
}

.cwms-general-service{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:#fff;
    border:1px solid rgba(100,48,146,.12);
    border-radius:18px;
    padding:16px 18px;
    box-shadow:0 10px 30px rgba(44,22,72,.06);
}

.cwms-general-service__content{
    min-width:0;
}

.cwms-general-service__title-row{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.cwms-general-service h4{
    margin:0;
    color:#2f2540;
    font-size:17px;
    line-height:1.35;
}

.cwms-general-service__meta{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:7px;
    color:#6b6077;
    font-size:14px;
}

.cwms-general-service__meta span:not(:last-child)::after{
    content:"•";
    margin-left:10px;
    color:rgba(100,48,146,.35);
}

.cwms-general-service__cas-badge{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    background:rgba(100,48,146,.10);
    color:#643092;
    border:1px solid rgba(100,48,146,.20);
    font-size:12px;
    font-weight:800;
    padding:5px 9px;
}

.cwms-general-service__action{
    flex:0 0 auto;
}

.cwms-general-service--cas{
    border-color:rgba(100,48,146,.24);
}

@media(max-width:720px){
    .cwms-general-services{padding:16px;border-radius:20px}
    .cwms-general-service{display:block;padding:15px}
    .cwms-general-service__action{margin-top:14px}
    .cwms-general-service__button{width:100%;justify-content:center}
}


/* Version 1.0.24 - General services below doctors */
.cwms-general-services{
    margin:24px 0 0;
}

.cwms-general-services__header{
    margin:0 0 14px;
}

.cwms-general-services__eyebrow,
.cwms-general-services__header p{
    display:none!important;
}


/* Version 1.0.25 - collection center above doctors */
.cwms-general-services--collection{
    margin:0 0 24px;
    background:linear-gradient(135deg, rgba(100,48,146,.075), rgba(143,99,201,.13));
    border-color:rgba(100,48,146,.22);
}

.cwms-general-services--collection + .cwms-doctor-results{
    margin-top:0;
}


/* Version 1.0.29 - empty results booking CTA */
.cwms-general-services + .cwms-display-empty--booking,
.cwms-display-empty--booking + .cwms-general-services{
    margin-top:22px;
}


/* Version 1.0.30 - square doctor images on all devices */
.cwms-doctor-card__photo-wrap{
    width:clamp(120px, 18vw, 220px) !important;
    max-width:220px !important;
    aspect-ratio:1 / 1 !important;
    flex:0 0 clamp(120px, 18vw, 220px) !important;
    overflow:hidden !important;
    border-radius:18px !important;
}

.cwms-doctor-card__photo{
    width:100% !important;
    height:100% !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
    display:block !important;
}

.cwms-doctor-card__photo--placeholder{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

@media(max-width:900px){
    .cwms-doctor-card__photo-wrap{
        width:clamp(110px, 34vw, 180px) !important;
        max-width:180px !important;
        flex-basis:clamp(110px, 34vw, 180px) !important;
    }
}

@media(max-width:640px){
    .cwms-doctor-card__photo-wrap{
        width:100% !important;
        max-width:100% !important;
        flex-basis:auto !important;
        aspect-ratio:1 / 1 !important;
    }

    .cwms-doctor-card__photo{
        aspect-ratio:1 / 1 !important;
    }
}


/* Version 1.0.31 - strict square doctor images */
.cwms-doctor-card__main{
    align-items:flex-start !important;
}

.cwms-doctor-card__photo-wrap{
    --cwms-doctor-photo-size: clamp(180px, 15vw, 240px);
    width: var(--cwms-doctor-photo-size) !important;
    height: var(--cwms-doctor-photo-size) !important;
    min-width: var(--cwms-doctor-photo-size) !important;
    max-width: var(--cwms-doctor-photo-size) !important;
    min-height: var(--cwms-doctor-photo-size) !important;
    max-height: var(--cwms-doctor-photo-size) !important;
    flex: 0 0 var(--cwms-doctor-photo-size) !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    align-self:flex-start !important;
}

.cwms-doctor-card__photo,
.cwms-doctor-card__photo-wrap img{
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

.cwms-doctor-card__photo--placeholder{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

@media(max-width:900px){
    .cwms-doctor-card__photo-wrap{
        --cwms-doctor-photo-size: clamp(150px, 28vw, 210px);
    }
}

@media(max-width:640px){
    .cwms-doctor-card__main{
        display:block !important;
    }

    .cwms-doctor-card__photo-wrap{
        --cwms-doctor-photo-size: min(100%, 220px);
        width: var(--cwms-doctor-photo-size) !important;
        height: var(--cwms-doctor-photo-size) !important;
        min-width: 0 !important;
        max-width: 220px !important;
        min-height: 0 !important;
        max-height: 220px !important;
        margin: 0 auto 18px !important;
        flex-basis: auto !important;
    }
}


/* Version 1.0.32 - inline square safety + high specificity */
.cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
.cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
    box-sizing:border-box !important;
    width:clamp(180px,15vw,240px) !important;
    height:clamp(180px,15vw,240px) !important;
    min-width:clamp(180px,15vw,240px) !important;
    max-width:clamp(180px,15vw,240px) !important;
    min-height:clamp(180px,15vw,240px) !important;
    max-height:clamp(180px,15vw,240px) !important;
    flex:0 0 clamp(180px,15vw,240px) !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
}

.cwms-display .cwms-doctor-card .cwms-doctor-card__photo-wrap > .cwms-doctor-card__photo,
.cwms-shortcode .cwms-doctor-card .cwms-doctor-card__photo-wrap > .cwms-doctor-card__photo,
body .cwms-doctor-card .cwms-doctor-card__photo-wrap > img.cwms-doctor-card__photo,
body .cwms-doctor-card .cwms-doctor-card__photo-wrap > .cwms-doctor-card__photo{
    box-sizing:border-box !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
}

@media(max-width:900px){
    .cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    .cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
        width:190px !important;
        height:190px !important;
        min-width:190px !important;
        max-width:190px !important;
        min-height:190px !important;
        max-height:190px !important;
        flex:0 0 190px !important;
    }
}

@media(max-width:640px){
    .cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    .cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
        width:220px !important;
        height:220px !important;
        min-width:220px !important;
        max-width:220px !important;
        min-height:220px !important;
        max-height:220px !important;
        flex:0 0 220px !important;
        margin:0 auto 18px !important;
    }
}


/* Version 1.0.33 - compact doctor cards with centered square photos */
.cwms-display .cwms-doctor-card,
.cwms-shortcode .cwms-doctor-card,
body .cwms-doctor-card{
    min-height:0 !important;
}

.cwms-display .cwms-doctor-card__main,
.cwms-shortcode .cwms-doctor-card__main,
body .cwms-doctor-card__main{
    align-items:center !important;
    min-height:0 !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
}

.cwms-display .cwms-doctor-card__content,
.cwms-shortcode .cwms-doctor-card__content,
body .cwms-doctor-card__content{
    align-self:center !important;
}

.cwms-display .cwms-doctor-card__booking-group,
.cwms-shortcode .cwms-doctor-card__booking-group,
body .cwms-doctor-card__booking-group{
    align-self:center !important;
}

/* Keep the square photo centered vertically inside the card instead of stuck to the top. */
.cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
.cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
    align-self:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* On wide cards, keep the image smaller so the card border does not leave a large empty strip below it. */
@media(min-width:901px){
    .cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    .cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
        --cwms-doctor-photo-size: 220px !important;
        width:220px !important;
        height:220px !important;
        min-width:220px !important;
        max-width:220px !important;
        min-height:220px !important;
        max-height:220px !important;
        flex:0 0 220px !important;
    }
}

@media(max-width:640px){
    .cwms-display .cwms-doctor-card__main,
    .cwms-shortcode .cwms-doctor-card__main,
    body .cwms-doctor-card__main{
        padding-top:16px !important;
        padding-bottom:16px !important;
    }
}


/* Version 1.0.34 - larger square doctor images, fitted to card */
.cwms-display .cwms-doctor-card,
.cwms-shortcode .cwms-doctor-card,
body .cwms-doctor-card{
    overflow:hidden !important;
}

.cwms-display .cwms-doctor-card__main,
.cwms-shortcode .cwms-doctor-card__main,
body .cwms-doctor-card__main{
    align-items:center !important;
    gap:34px !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
}

/* Override previous 220/240 rules: desktop image should be square and larger. */
@media(min-width:901px){
    .cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    .cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
        --cwms-doctor-photo-size: clamp(240px,17vw,280px) !important;
        width:clamp(240px,17vw,280px) !important;
        height:clamp(240px,17vw,280px) !important;
        min-width:clamp(240px,17vw,280px) !important;
        max-width:clamp(240px,17vw,280px) !important;
        min-height:clamp(240px,17vw,280px) !important;
        max-height:clamp(240px,17vw,280px) !important;
        flex:0 0 clamp(240px,17vw,280px) !important;
        aspect-ratio:1 / 1 !important;
        align-self:center !important;
        margin:0 !important;
    }
}

@media(max-width:1200px) and (min-width:901px){
    .cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    .cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
        --cwms-doctor-photo-size:240px !important;
        width:240px !important;
        height:240px !important;
        min-width:240px !important;
        max-width:240px !important;
        min-height:240px !important;
        max-height:240px !important;
        flex:0 0 240px !important;
    }
}

@media(max-width:900px){
    .cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    .cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
        width:220px !important;
        height:220px !important;
        min-width:220px !important;
        max-width:220px !important;
        min-height:220px !important;
        max-height:220px !important;
        flex:0 0 220px !important;
    }
}

@media(max-width:640px){
    .cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    .cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
    body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
        width:min(100%,260px) !important;
        height:min(100vw - 56px,260px) !important;
        min-width:0 !important;
        max-width:260px !important;
        min-height:0 !important;
        max-height:260px !important;
        flex:0 0 auto !important;
        margin:0 auto 18px !important;
    }
}


/* Version 1.0.40 - preserve mobile full-bleed square doctor image */
@media (max-width: 767px) {
  .cwms-doctor-card{
    overflow:hidden !important;
  }

  .cwms-display .cwms-doctor-card__main,
  .cwms-shortcode .cwms-doctor-card__main,
  body .cwms-doctor-card__main{
    display:block !important;
    padding:0 !important;
    gap:0 !important;
  }

  .cwms-display .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
  .cwms-shortcode .cwms-doctor-card .cwms-doctor-card__main > .cwms-doctor-card__photo-wrap,
  body .cwms-doctor-card .cwms-doctor-card__photo-wrap{
    width:100% !important;
    min-width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:1 / 1 !important;
    margin:0 !important;
    border-radius:18px 18px 0 0 !important;
    overflow:hidden !important;
    flex:none !important;
  }

  .cwms-display .cwms-doctor-card__photo,
  .cwms-shortcode .cwms-doctor-card__photo,
  body .cwms-doctor-card__photo{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    aspect-ratio:1 / 1 !important;
    object-fit:cover !important;
    object-position:center center !important;
    margin:0 !important;
    border-radius:18px 18px 0 0 !important;
  }

  .cwms-doctor-card__content{
    padding:18px 18px 0 !important;
  }

  .cwms-doctor-card__services{
    padding:0 18px 18px !important;
  }
}


/* Version 1.0.41 - one general booking CTA above practitioner cards */
.cwms-general-booking-cta{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin:0 0 18px;
    padding:16px 18px;
    border:1px solid rgba(100,48,146,.16);
    border-radius:16px;
    background:rgba(100,48,146,.045);
    box-shadow:0 8px 24px rgba(100,48,146,.06);
}

.cwms-general-booking-cta__content{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.cwms-general-booking-cta__eyebrow{
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.055em;
    color:#8f63c9;
}

.cwms-general-booking-cta__title{
    font-size:18px;
    line-height:1.35;
    color:#32164f;
}

.cwms-general-booking-cta__button{
    flex:0 0 auto;
    white-space:nowrap;
    background:#643092 !important;
}

@media (max-width:767px){
    .cwms-general-booking-cta{
        align-items:stretch;
        flex-direction:column;
        gap:12px;
        padding:15px;
    }

    .cwms-general-booking-cta__button{
        width:100%;
    }
}

/* Per-doctor custom HTML displayed above the expanded services/prices list. */
.cwms-doctor-custom-services-html {
    width: 100%;
    margin: 0 0 18px;
}
.cwms-doctor-custom-services-html > :first-child {
    margin-top: 0;
}
.cwms-doctor-custom-services-html > :last-child {
    margin-bottom: 0;
}
.cwms-doctor-custom-services-html img {
    max-width: 100%;
    height: auto;
}
.cwms-doctor-custom-services-html table {
    max-width: 100%;
}

/* Per-doctor custom HTML shown first when the services panel is opened. */
.cwms-doctor-custom-services-html{width:100%;margin:0 0 20px;padding-top:2px}
.cwms-doctor-custom-services-html>:first-child{margin-top:0}
.cwms-doctor-custom-services-html>:last-child{margin-bottom:0}
