.tbfx-archive-seo{max-width:1200px;margin:0 auto 28px;padding:0 16px}.tbfx-archive-seo-content{background:#f2f9f8;border:1px solid #dceceb;border-radius:18px;padding:24px;line-height:1.85}.tbfx-archive-seo-bottom{margin-top:40px;margin-bottom:10px}.tbfx-subspecialties{border-top:1px solid #e2e8ee;margin-top:24px;padding-top:24px}.tbfx-subspecialties h4{font-size:1.25rem;margin-bottom:14px}.tbfx-subspecialties ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;list-style:none}.tbfx-subspecialties li a{display:block;background:#edf8f7;border-radius:10px;padding:12px;text-decoration:none;color:#0d6768}.tbfx-review-stars{color:#ed1551;letter-spacing:2px;font-size:18px;margin-bottom:7px}.tbfx-rating-field select{display:block;margin-top:6px;min-width:220px}.tbfx-booking-launcher{position:fixed;z-index:9990;inset-inline-end:24px;bottom:24px;border:0;border-radius:999px;background:#ed1551;color:#fff;padding:14px 22px;font:inherit;font-weight:700;box-shadow:0 12px 30px rgba(237,21,81,.28);cursor:pointer}.tbfx-booking-launcher.is-inline{position:static;width:100%;margin-bottom:16px;border-radius:12px;box-shadow:none}.tbfx-booking-overlay[hidden]{display:none}.tbfx-booking-overlay{position:fixed;inset:0;z-index:99999;background:rgba(8,20,33,.58);display:grid;place-items:center;padding:18px;overflow:auto}.tbfx-booking-dialog{width:min(760px,100%);max-height:95vh;overflow:auto;background:#fff;border-radius:20px;padding:26px;position:relative;color:#15182e}.tbfx-booking-dialog header{display:flex;gap:13px;align-items:center;margin-bottom:22px}.tbfx-booking-dialog header h2{margin:0;font-size:26px}.tbfx-booking-dialog header p{margin:4px 0;color:#69768b}.tbfx-booking-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#0d6768;color:#fff;font-size:28px}.tbfx-booking-close{position:absolute;top:16px;inset-inline-end:16px;border:0;background:#f1f4f6;border-radius:50%;width:38px;height:38px;font-size:24px;cursor:pointer}.tbfx-booking-steps{display:grid;gap:16px}.tbfx-booking-steps label{display:grid;gap:6px;font-weight:600}.tbfx-booking-steps input,.tbfx-booking-steps select,.tbfx-booking-steps textarea{width:100%;border:1px solid #dfe7ef;border-radius:10px;padding:11px;font:inherit}.tbfx-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.tbfx-booking-slots{display:flex;flex-wrap:wrap;gap:8px}.tbfx-booking-slots button{border:1px solid #d6e2e7;background:#fff;border-radius:9px;padding:9px 13px;cursor:pointer}.tbfx-booking-slots button.is-selected{background:#0d6768;color:#fff;border-color:#0d6768}.tbfx-btn-book{width:100%;border:0;border-radius:11px;background:#0d6768;color:#fff;padding:13px;font:inherit;font-weight:700;margin-top:17px;cursor:pointer}.tbfx-btn-book:disabled{opacity:.55}.tbfx-booking-privacy{color:#748196;font-size:12px;text-align:center}.tbfx-honeypot{position:absolute!important;left:-9999px!important}.tbfx-modal-open{overflow:hidden}#tbfx-booking-message{margin-top:12px;padding:0}#tbfx-booking-message.is-error{color:#b72839}#tbfx-booking-message.is-success{color:#087247}
@media(max-width:700px){.tbfx-subspecialties ul,.tbfx-booking-grid{grid-template-columns:1fr}.tbfx-booking-dialog{padding:22px 16px}.tbfx-booking-launcher{inset-inline:12px;bottom:12px;width:calc(100% - 24px)}}

/* v1.3 review rating and profile direction refinements */
.tbfx-rating-field{border:0;margin:0 0 22px;padding:0}.tbfx-rating-field legend{font-size:16px;font-weight:700;color:#1e2338;margin-bottom:4px}.tbfx-rating-help{margin:0 0 8px;color:#69768b;font-size:14px}.tbfx-star-rating{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;padding:5px 0}.tbfx-star-rating input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.tbfx-star-rating label{display:grid;place-items:center;inline-size:42px;block-size:42px;border-radius:10px;color:#c7d0dd;font-size:34px;line-height:1;cursor:pointer;transition:color .15s ease,background-color .15s ease,transform .15s ease}.tbfx-star-rating label:hover,.tbfx-star-rating label:hover~label,.tbfx-star-rating input:checked~label{color:#ed1551}.tbfx-star-rating label:hover{background:#fff0f4;transform:translateY(-1px)}.tbfx-star-rating input:focus-visible+label{outline:3px solid rgba(13,103,104,.25);outline-offset:2px}.tbfx-rating-selection{display:block;min-height:20px;margin-top:3px;color:#0d6768;font-size:14px;font-weight:600}.tbfx-rating-field select{display:none!important}

/* The parent theme colors every direction marker as filled. Only the checked
 * radio should appear active; the second address remains clickable. */
input[name="getdirection"]+address::before{background:transparent!important;color:#7b8aa0!important;border-color:currentColor!important}input[name="getdirection"]:checked+address::before,input[name="getdirection"]+address.tbfx-is-selected-direction::before{background:#0d6768!important;color:#0d6768!important;box-shadow:inset 0 0 0 3px #fff,0 0 0 1px #0d6768!important}input[name="getdirection"]+address{cursor:pointer;border-radius:8px;padding:5px 7px;transition:background-color .15s ease,color .15s ease}input[name="getdirection"]:checked+address,input[name="getdirection"]+address.tbfx-is-selected-direction{background:#edf8f7;color:#0d6768}input[name="getdirection"]:focus-visible+address{outline:3px solid rgba(13,103,104,.22);outline-offset:2px}

@media(max-width:700px){.tbfx-star-rating label{inline-size:38px;block-size:38px;font-size:31px}}

/* v1.3.2 professional multilingual review selector */
.tbfx-rating-field{margin:0 0 24px!important;padding:0!important;border:0!important;min-inline-size:0}.tbfx-rating-field legend{display:block!important;margin:0 0 5px!important;padding:0!important;font-size:16px!important;line-height:1.5!important;font-weight:700!important;color:#171b34!important}.tbfx-rating-help{margin:0 0 10px!important;color:#6d7b91!important;font-size:14px!important;line-height:1.6!important}.tbfx-rating-card{display:inline-flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;max-width:100%!important;padding:10px 12px!important;border:1px solid #e1e8ef!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 18px rgba(25,38,58,.05)!important}.tbfx-star-rating{display:inline-flex!important;flex-direction:row!important;direction:ltr!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;white-space:nowrap!important}.tbfx-star-rating .tbfx-rating-input{position:absolute!important;inline-size:1px!important;block-size:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important}.tbfx-star-rating .tbfx-rating-star{all:unset;box-sizing:border-box!important;display:inline-grid!important;place-items:center!important;inline-size:46px!important;block-size:46px!important;border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;color:#aab5c5!important;cursor:pointer!important;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease!important}.tbfx-star-rating .tbfx-rating-star::before,.tbfx-star-rating .tbfx-rating-star::after{content:none!important;display:none!important}.tbfx-star-rating .tbfx-rating-star svg{display:block!important;inline-size:34px!important;block-size:34px!important;overflow:visible!important;fill:#eef2f6!important;stroke:currentColor!important;stroke-width:1.35!important;stroke-linejoin:round!important;transition:fill .14s ease,stroke .14s ease,filter .14s ease!important}.tbfx-star-rating .tbfx-rating-star.is-filled{color:#e72959!important}.tbfx-star-rating .tbfx-rating-star.is-filled svg{fill:#ed2f62!important;filter:drop-shadow(0 3px 5px rgba(231,41,89,.16))!important}.tbfx-star-rating .tbfx-rating-star.is-preview,.tbfx-star-rating .tbfx-rating-star:hover{background:#fff1f5!important;border-color:#ffd5e1!important;transform:translateY(-1px)!important}.tbfx-star-rating .tbfx-rating-input:focus-visible+.tbfx-rating-star{outline:3px solid rgba(21,111,112,.24)!important;outline-offset:2px!important}.tbfx-star-rating .tbfx-rating-input:checked+.tbfx-rating-star{background:#fff5f8!important;border-color:#ffc8d7!important}.tbfx-rating-selection{display:block!important;min-height:20px!important;margin:0!important;color:#146e70!important;font-size:13px!important;line-height:1.5!important;font-weight:700!important}.tbfx-rating-field select{display:none!important}
html[dir="rtl"] .tbfx-rating-card{align-items:flex-end!important}.rtl .tbfx-rating-card{align-items:flex-end!important}
@media(max-width:520px){.tbfx-rating-card{width:100%!important;box-sizing:border-box!important}.tbfx-star-rating{width:100%!important;justify-content:space-between!important;gap:2px!important}.tbfx-star-rating .tbfx-rating-star{inline-size:42px!important;block-size:42px!important}.tbfx-star-rating .tbfx-rating-star svg{inline-size:31px!important;block-size:31px!important}}

/* v1.3.3 theme-resistant button rating selector */
.tbfx-rating-value{display:none!important}
.tbfx-star-rating button.tbfx-rating-star{all:unset;box-sizing:border-box!important;display:inline-grid!important;place-items:center!important;inline-size:48px!important;block-size:48px!important;margin:0!important;padding:0!important;border:1px solid transparent!important;border-radius:13px!important;background:#f8fafc!important;color:#aab5c5!important;font-size:0!important;line-height:0!important;text-indent:0!important;overflow:hidden!important;cursor:pointer!important;-webkit-appearance:none!important;appearance:none!important;box-shadow:none!important;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease!important}
.tbfx-star-rating button.tbfx-rating-star::before,.tbfx-star-rating button.tbfx-rating-star::after{content:none!important;display:none!important}
.tbfx-star-rating button.tbfx-rating-star svg{display:block!important;inline-size:34px!important;block-size:34px!important;fill:#e7edf3!important;stroke:currentColor!important;stroke-width:1.35!important;stroke-linejoin:round!important;pointer-events:none!important}
.tbfx-star-rating button.tbfx-rating-star.is-filled{color:#e72959!important;background:#fff4f7!important;border-color:#ffd4df!important}
.tbfx-star-rating button.tbfx-rating-star.is-filled svg{fill:#ed2f62!important;filter:drop-shadow(0 3px 5px rgba(231,41,89,.16))!important}
.tbfx-star-rating button.tbfx-rating-star.is-preview,.tbfx-star-rating button.tbfx-rating-star:hover{background:#fff0f4!important;border-color:#ffc8d7!important;transform:translateY(-2px)!important}
.tbfx-star-rating button.tbfx-rating-star:focus-visible{outline:3px solid rgba(21,111,112,.26)!important;outline-offset:3px!important}
.tbfx-rating-field.has-rating-error .tbfx-rating-card{border-color:#d63638!important;box-shadow:0 0 0 3px rgba(214,54,56,.1)!important}
.tbfx-rating-field.has-rating-error .tbfx-rating-selection{color:#b4232c!important}
@media(max-width:520px){.tbfx-star-rating button.tbfx-rating-star{inline-size:43px!important;block-size:43px!important}.tbfx-star-rating button.tbfx-rating-star svg{inline-size:30px!important;block-size:30px!important}}

/* v1.3.4 specialist main specialty + fellowship/subspecialty presentation */
.tbfx-specialist-credentials{display:flex;flex-wrap:wrap;align-items:center;gap:7px 9px;margin:0 0 18px;padding:12px 14px;border:1px solid #dbe9e8;border-radius:14px;background:#f1f9f8;color:#243047;font-size:14px;line-height:1.65}.tbfx-specialist-credentials.is-in-summary{align-self:flex-start;margin:0}.tbfx-specialist-credentials a{text-decoration:none!important}.tbfx-specialty-main{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#146e70;color:#fff!important;font-weight:700}.tbfx-specialty-separator{color:#8290a3;font-weight:700}.tbfx-specialty-advanced{display:inline-flex;flex-wrap:wrap;align-items:center;gap:7px;color:#26354c;font-weight:650}.tbfx-specialty-advanced a,.tbfx-specialty-advanced span{color:inherit}.tbfx-specialty-dot{color:#e72d5f!important;font-size:12px}.tbfx-specialist-credentials a:hover{text-decoration:underline!important;text-underline-offset:3px}
html[dir="rtl"] .tbfx-specialist-credentials,.rtl .tbfx-specialist-credentials{direction:rtl}
@media(max-width:700px){.tbfx-specialist-credentials{width:100%;box-sizing:border-box}.tbfx-specialist-credentials.is-in-summary{align-self:stretch}}

/* v1.3.8 website icon and matching specialty/fellowship badges */
.tbfx-social-symbols{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}
.tbfx-specialist-credentials{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:.5rem!important;margin:0 0 14px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-size:inherit!important;line-height:inherit!important;box-shadow:none!important}
.tbfx-specialty-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:.25rem .55rem!important;border:0!important;border-radius:9999px!important;background:var(--color-secondary,#e61f56)!important;color:#fff!important;font-size:.75rem!important;line-height:1rem!important;font-weight:500!important;text-decoration:none!important;white-space:normal!important;box-shadow:none!important}
.tbfx-specialty-badge:hover,.tbfx-specialty-badge:focus-visible{color:#fff!important;text-decoration:none!important;filter:brightness(.94)!important}
.tbfx-specialty-badge:focus-visible{outline:3px solid rgba(230,31,86,.22)!important;outline-offset:2px!important}
html[dir="rtl"] .tbfx-specialist-credentials,.rtl .tbfx-specialist-credentials{direction:rtl!important}

/* v1.4.0 restore the parent-theme archive intro and address presentation */
.tbfx-archive-seo-intro{max-width:none!important;margin:0 0 2.5rem!important;padding:0!important}
.tbfx-archive-seo-intro .content{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
.tbfx-archive-seo-intro .more-button{z-index:2!important}

/* Keep the original compact written-address layout. Only the selected marker
 * changes state; the address itself no longer becomes a tinted card. */
input[name="getdirection"]+address{padding:0!important;background:transparent!important;color:inherit!important;border-radius:0!important}
input[name="getdirection"]:checked+address,input[name="getdirection"]+address.tbfx-is-selected-direction{padding:0!important;background:transparent!important;color:inherit!important}
input[name="getdirection"]+address::before{background:transparent!important;color:#7b8aa0!important;border:2px solid var(--color-card,#fff)!important;box-shadow:0 0 0 1px currentColor!important}
input[name="getdirection"]:checked+address::before,input[name="getdirection"]+address.tbfx-is-selected-direction::before{background:#0d6768!important;color:#0d6768!important;border-color:var(--color-card,#fff)!important;box-shadow:0 0 0 1px #0d6768!important}

/* v1.4.1 static appointment action */
.tbfx-booking-launcher[hidden]{display:none!important}
.tbfx-booking-launcher,.tbfx-booking-launcher.is-inline{position:static!important;inset:auto!important;z-index:auto!important;display:block;width:100%;margin:0 0 16px;padding:12px 16px;border:0;border-radius:11px;background:#ed1551;color:#fff;font:inherit;font-weight:800;line-height:1.35;text-align:center;box-shadow:0 7px 18px rgba(237,21,81,.18);cursor:pointer;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.tbfx-booking-launcher:hover{filter:brightness(.96);transform:translateY(-1px);box-shadow:0 10px 22px rgba(237,21,81,.23)}
.tbfx-booking-launcher:focus-visible{outline:3px solid rgba(13,103,104,.28);outline-offset:3px}
.tbfx-booking-card{margin-top:16px}
@media(max-width:700px){.tbfx-booking-launcher,.tbfx-booking-launcher.is-inline{width:100%;margin:0 0 14px}}


/* 1.4.2: keep consent compact and the booking action in a predictable flow. */
.tbfx-booking-steps .tbfx-booking-consent{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:9px;font-size:12px;font-weight:500;line-height:1.45;color:#536176;margin-top:-2px}
.tbfx-booking-consent input{width:16px!important;height:16px;flex:0 0 16px;margin:2px 0 0;padding:0!important}
.tbfx-btn-book{margin-top:10px}
.tbfx-booking-privacy{margin:7px 0 0}

/* v1.4.6 public office/clinic presence hours */
.tbfx-office-hours-card[hidden]{display:none!important}
.tbfx-office-hours-card{margin:0 0 16px!important}
.tbfx-office-hours-card .tbfx-office-hours-note{margin:-2px 0 13px;color:#718096;font-size:12px;line-height:1.5}
.tbfx-office-hours-location.is-separated{margin-top:15px;padding-top:14px;border-top:1px solid #e7edf3}
.tbfx-office-hours-location-name{margin:0 0 8px;color:#176d6e;font-size:14px;font-weight:750;line-height:1.45}
.tbfx-office-hours-list{display:grid;gap:0;margin:0}
.tbfx-office-hours-row{display:grid;grid-template-columns:minmax(78px,1fr) auto;gap:12px;align-items:start;padding:7px 0;border-top:1px solid #eef2f6;font-size:13px;line-height:1.4}
.tbfx-office-hours-row:first-child{border-top:0}
.tbfx-office-hours-row dt{color:#536176;font-weight:600}
.tbfx-office-hours-row dd{margin:0;color:#1f2a40;font-weight:700;text-align:end;white-space:nowrap}
.tbfx-office-hours-timezone{margin:8px 0 0;color:#8793a5;font-size:11px;text-align:end}
html[dir="rtl"] .tbfx-office-hours-row,.rtl .tbfx-office-hours-row{grid-template-columns:auto minmax(78px,1fr)}
html[dir="rtl"] .tbfx-office-hours-row dd,.rtl .tbfx-office-hours-row dd{text-align:left}
@media(max-width:1023px){.tbfx-office-hours-card{margin-top:16px!important}}


/* v1.4.16 normalized required reviewer identity fields */
.tbfx-required-comment-field{display:grid!important;gap:6px!important;margin:0!important}
.tbfx-comment-required-label{display:block!important;margin:0 0 1px!important;padding-inline:4px!important;color:#2a3045!important;font-size:13px!important;line-height:1.4!important;font-weight:700!important}
.tbfx-comment-required-mark{color:#e72959!important;font-size:15px!important;font-weight:800!important;line-height:1!important}
.tbfx-comment-field-error{display:block!important;margin:1px 0 0!important;padding-inline:4px!important;color:#b4232c!important;font-size:12px!important;line-height:1.45!important;font-weight:600!important}
.tbfx-comment-field-error[hidden]{display:none!important}
.tbfx-required-comment-field.has-tbfx-field-error input{border-color:#d63638!important;box-shadow:0 0 0 3px rgba(214,54,56,.09)!important}
.tbfx-required-comment-field input[aria-invalid="false"]{border-color:inherit}
html[dir="rtl"] .tbfx-comment-required-label,.rtl .tbfx-comment-required-label{text-align:right!important}


/* v1.4.26: keep WhatsApp as an action, not a duplicated raw number row. */
.tbfx-whatsapp-reservation-number{display:none!important}

/* v1.4.34 Safari-safe video thumbnails in the public profile gallery. */
.tbfx-gallery-video-thumb{position:relative!important;isolation:isolate!important;background:linear-gradient(145deg,#dce8ea,#8ca3aa)!important}
.tbfx-gallery-video-thumb>video{display:block!important;background:#dce6e9!important}
.tbfx-gallery-video-indicator{position:absolute!important;inset:50% auto auto 50%!important;z-index:20!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;padding:0!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:999px!important;background:rgba(22,36,47,.78)!important;color:#fff!important;box-shadow:0 4px 14px rgba(15,23,42,.28)!important;transform:translate(-50%,-50%)!important;pointer-events:none!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important}
.tbfx-gallery-video-indicator svg{display:block!important;width:22px!important;height:22px!important;fill:currentColor!important;stroke:none!important;transform:translateX(1px)!important}
.tbfx-gallery-video-thumb-has-more .tbfx-gallery-video-indicator{inset:7px auto auto 7px!important;width:30px!important;height:30px!important;transform:none!important}
html[dir="rtl"] .tbfx-gallery-video-thumb-has-more .tbfx-gallery-video-indicator,.rtl .tbfx-gallery-video-thumb-has-more .tbfx-gallery-video-indicator{inset:7px 7px auto auto!important}
.tbfx-gallery-video-thumb:focus-visible{outline:3px solid rgba(13,103,104,.38)!important;outline-offset:2px!important}
@media(max-width:700px){.tbfx-gallery-video-indicator{width:38px!important;height:38px!important}.tbfx-gallery-video-indicator svg{width:21px!important;height:21px!important}}

/* v1.4.38 contact reveal: preserve theme typography and use Tabeebo primary styling */
.tbfx-contact-value{display:inline-block;max-width:calc(100% - 34px);overflow-wrap:anywhere;font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;font-style:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;font-feature-settings:inherit!important;font-variation-settings:inherit!important;font-variant-numeric:inherit!important;transition:color .18s ease,background-color .18s ease,box-shadow .18s ease}
.tbfx-contact-value.is-masked{color:inherit!important;letter-spacing:inherit!important}
.tbfx-contact-value.is-revealed{color:inherit!important;letter-spacing:inherit!important}
.tbfx-contact-reveal-wrap{margin:12px 0 0;max-height:56px;overflow:hidden;opacity:1;transition:max-height .16s ease,opacity .14s ease,margin .16s ease}
.tbfx-contact-reveal-wrap.is-leaving{max-height:0;margin-top:0;opacity:0}
.tbfx-contact-reveal{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid var(--color-primary,#2e7173);border-radius:var(--radius-lg,8px);background:var(--color-primary,#2e7173);color:var(--color-white,#fff);font-family:inherit!important;font-size:var(--text-base,1rem)!important;font-weight:var(--font-weight-medium,500)!important;font-style:normal!important;line-height:var(--leading-normal,1.5)!important;letter-spacing:inherit!important;font-feature-settings:inherit!important;font-variation-settings:inherit!important;text-align:center;box-shadow:0 2px 7px rgba(46,113,115,.22);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.tbfx-contact-reveal span{font:inherit!important;letter-spacing:inherit!important}
.tbfx-contact-reveal svg{flex:0 0 auto}
.tbfx-contact-reveal:hover{border-color:var(--color-primary,#2e7173);background:var(--color-card,#fff);color:var(--color-primary,#2e7173);box-shadow:0 5px 13px rgba(46,113,115,.18);transform:translateY(-1px)}
.tbfx-contact-reveal:focus-visible{outline:3px solid rgba(46,113,115,.28);outline-offset:3px}
.tbfx-contact-row-revealed{animation:tbfx-contact-reveal-pulse .8s ease both}
@keyframes tbfx-contact-reveal-pulse{0%{background:rgba(46,113,115,.12);box-shadow:0 0 0 5px rgba(46,113,115,.06)}100%{background:transparent;box-shadow:none}}
html[dir="rtl"] .tbfx-contact-reveal,.rtl .tbfx-contact-reveal{direction:rtl}
@media(max-width:520px){.tbfx-contact-reveal{min-height:44px}}
@media(prefers-reduced-motion:reduce){.tbfx-contact-value,.tbfx-contact-reveal-wrap,.tbfx-contact-reveal{transition:none!important}.tbfx-contact-row-revealed{animation:none!important}}


/* v1.4.43 homepage motion plus mobile specialist and medical-center rails */
@media(max-width:767px){
  #medicaltab-specialists .tbfx-specialists-mobile-carousel,
  #medicaltab-medicals .tbfx-medicals-mobile-carousel{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:3px 22px 15px 2px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:2px!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    touch-action:pan-x pan-y!important;
  }
  #medicaltab-specialists .tbfx-specialists-mobile-carousel::-webkit-scrollbar,
  #medicaltab-medicals .tbfx-medicals-mobile-carousel::-webkit-scrollbar{display:none!important}
  #medicaltab-specialists .tbfx-specialists-mobile-slide,
  #medicaltab-medicals .tbfx-medicals-mobile-slide{
    flex:0 0 min(84vw,350px)!important;
    width:min(84vw,350px)!important;
    max-width:min(84vw,350px)!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
  }
  html[dir="rtl"] #medicaltab-specialists .tbfx-specialists-mobile-carousel,
  .rtl #medicaltab-specialists .tbfx-specialists-mobile-carousel,
  html[dir="rtl"] #medicaltab-medicals .tbfx-medicals-mobile-carousel,
  .rtl #medicaltab-medicals .tbfx-medicals-mobile-carousel{
    padding:3px 2px 15px 22px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #ourbests .splide__list{transition-duration:0ms!important}
}


/* v1.4.42 specialist biography semantic-flow fallback. The PHP filter
 * removes copied layout wrappers before output; these rules also protect cached
 * HTML and markup added later by another content filter. */
body.single-specialist #medicaltabs #medicaltab-about .limit-maxheight,
body.single-specialist #medicaltabs #medicaltab-about .content.contentstyle{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  columns:auto!important;
  column-count:1!important;
  column-width:auto!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
body.single-specialist #medicaltabs #medicaltab-about .content.contentstyle :where(div,section,article,main,aside,header,footer,p,h1,h2,h3,h4,h5,h6,ul,ol,li,blockquote,figure,table){
  display:block!important;
  float:none!important;
  clear:both!important;
  position:static!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  columns:auto!important;
  column-count:1!important;
  column-width:auto!important;
  transform:none!important;
  flex:none!important;
  grid-template-columns:none!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body.single-specialist #medicaltabs #medicaltab-about .content.contentstyle :where(img,video,iframe,table){
  max-width:100%!important;
}
body.single-specialist #medicaltabs #medicaltab-about .more-button{
  z-index:3!important;
}
html[dir="rtl"] body.single-specialist #medicaltabs #medicaltab-about .content.contentstyle,
body.rtl.single-specialist #medicaltabs #medicaltab-about .content.contentstyle{
  direction:rtl!important;
  text-align:start!important;
}

/* v1.4.44 each public phone icon calls the number on its own row. */
.tbfx-contact-icon-call{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  color:inherit;
  text-decoration:none!important;
  border-radius:999px;
  padding:4px;
  margin:-4px;
  transition:background-color .16s ease,color .16s ease,transform .16s ease;
}
.tbfx-contact-icon-call:hover,.tbfx-contact-icon-call:focus-visible{
  background:rgba(46,113,115,.10);
  color:var(--color-primary,#2e7173);
  transform:translateY(-1px);
}
.tbfx-contact-icon-call:focus-visible{outline:2px solid rgba(46,113,115,.32);outline-offset:2px}

/* v1.4.44 optional public label for classified phone rows. */
.tbfx-phone-kind-label{
  display:inline-flex;
  align-items:center;
  margin-inline-start:8px;
  padding:2px 7px;
  border-radius:999px;
  background:#eef7f6;
  color:#2e7173;
  font-size:.7rem;
  font-weight:700;
  line-height:1.5;
  vertical-align:middle;
}


/* v1.4.48 contact privacy and phone-type icons. */
.tbfx-phone-symbols{pointer-events:none!important}
.tbfx-contact-action-locked{
  opacity:.52!important;
  cursor:not-allowed!important;
  pointer-events:auto!important;
  filter:saturate(.55)!important;
}
.tbfx-contact-icon-call.tbfx-contact-action-locked{
  background:rgba(100,116,139,.08)!important;
  color:var(--color-muted,#64748b)!important;
  transform:none!important;
}
.tbfx-contact-action-locked:focus{outline:none!important}

/* v1.4.51: phone classifications use independent inline SVGs; office uses a classic desk-phone silhouette. */
svg[data-tbfx-phone-icon]{display:block!important;width:22px!important;height:22px!important;overflow:visible!important;color:var(--color-primary,#2e7173)!important}
svg[data-tbfx-phone-icon="mobile"]{stroke-width:1.8!important}
svg[data-tbfx-phone-icon="office"]{stroke-width:1.65!important}
.tbfx-contact-action-locked svg[data-tbfx-phone-icon]{color:var(--color-muted,#64748b)!important}


/* v1.4.52 — one review rating control only. The parent theme prints a second
 * comment_rating fieldset after Fix Layer's accessible selector. Hide that
 * duplicate immediately; frontend-ui.js removes it and synchronizes the hidden
 * compatibility value before submission. */
#commentform fieldset:not(.tbfx-rating-field):has(input[name="comment_rating"]){display:none!important}
.tbfx-theme-rating-value{display:none!important}

/* 1.4.53: approved review count beside the existing archive-card rating. */
.tbfx-list-rating-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;column-gap:.4rem!important;row-gap:.2rem!important;max-width:100%!important;overflow:visible!important;-webkit-line-clamp:unset!important}
.tbfx-list-review-count{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;max-width:none!important;overflow:visible!important;visibility:visible!important;opacity:1!important;white-space:nowrap!important;color:var(--muted-foreground,#64748b)!important;font-size:.78rem!important;font-weight:600!important;line-height:1.35!important}
.tbfx-list-comment-row{display:flex!important;align-items:center!important;min-height:1.25rem;overflow:visible!important}
@media (max-width:782px){
  .archive-item-entry .tbfx-list-rating-row{width:100%!important;min-width:0!important}
  .archive-item-entry .tbfx-list-review-count{font-size:.72rem!important;line-height:1.3!important}
}
.tbfx-list-comment-row .tbfx-list-review-count::before{content:"";width:15px;height:15px;margin-inline-end:.35rem;background:currentColor;opacity:.7;clip-path:polygon(8% 12%,92% 12%,92% 72%,58% 72%,37% 94%,37% 72%,8% 72%)}

/* 1.4.53: Persian (Solar Hijri) appointment calendar. */
.tbfx-jalali-date-wrap{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem}
.tbfx-jalali-date-display{grid-column:1/-1;padding-inline-end:3rem!important;direction:ltr;text-align:right;cursor:pointer;background:#fff}
.tbfx-jalali-date-button{position:absolute;inset-inline-end:.45rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;padding:0;border:0;border-radius:.65rem;background:transparent;color:inherit;cursor:pointer}
.tbfx-jalali-date-button:hover,.tbfx-jalali-date-button:focus-visible{background:rgba(45,123,124,.1);outline:2px solid rgba(45,123,124,.35);outline-offset:1px}
.tbfx-jalali-calendar{position:absolute;z-index:100020;inset-inline-start:0;top:calc(100% + .45rem);width:min(22rem,calc(100vw - 3rem));padding:.85rem;border:1px solid #d7e2e8;border-radius:1rem;background:#fff;box-shadow:0 18px 50px rgba(15,23,42,.2);direction:rtl}
.tbfx-jalali-calendar[hidden]{display:none!important}
.tbfx-jalali-calendar-head{display:grid;grid-template-columns:2.3rem 1fr 2.3rem;align-items:center;gap:.35rem;margin-bottom:.7rem}
.tbfx-jalali-calendar-title{text-align:center;font-weight:800;color:#1f2937}
.tbfx-jalali-calendar-nav{display:inline-flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border:1px solid #d7e2e8;border-radius:.7rem;background:#fff;color:#245f61;cursor:pointer;font-size:1.25rem;line-height:1}
.tbfx-jalali-calendar-nav:hover,.tbfx-jalali-calendar-nav:focus-visible{border-color:#2d7b7c;background:#eff8f8;outline:none}
.tbfx-jalali-calendar-week,.tbfx-jalali-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.24rem}
.tbfx-jalali-calendar-week{margin-bottom:.3rem;color:#64748b;font-size:.72rem;font-weight:700;text-align:center}
.tbfx-jalali-calendar-day,.tbfx-jalali-calendar-empty{aspect-ratio:1;min-width:0;border-radius:.62rem}
.tbfx-jalali-calendar-day{display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:#fff;color:#1f2937;cursor:pointer;font:inherit;font-size:.84rem}
.tbfx-jalali-calendar-day:hover,.tbfx-jalali-calendar-day:focus-visible{border-color:#2d7b7c;background:#eff8f8;outline:none}
.tbfx-jalali-calendar-day.is-today{border-color:#e72d5e;color:#c51e4d;font-weight:800}
.tbfx-jalali-calendar-day.is-selected{background:#2d7b7c;color:#fff;font-weight:800}
.tbfx-jalali-calendar-day:disabled{opacity:.3;cursor:not-allowed;background:#f8fafc}
.tbfx-jalali-calendar-actions{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.65rem;border-top:1px solid #edf2f5}
.tbfx-jalali-calendar-action{border:0;background:transparent;color:#2d7b7c;font-weight:700;cursor:pointer;padding:.35rem .2rem}
.tbfx-gregorian-date-storage{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media (max-width:640px){.tbfx-jalali-calendar{position:fixed;inset:auto 1rem 1rem 1rem;width:auto;max-width:none}.tbfx-jalali-calendar-day{font-size:.9rem}}
.tbfx-booking-date-field{display:grid;gap:6px;font-weight:600}

/* Nearby sorting state (1.4.59). */
.tbfx-nearby-current {
  color: #2f7777 !important;
  font-weight: 600;
}
.tbfx-nearby-status {
  margin: 8px 0 18px;
  padding: 10px 12px;
  border: 1px solid rgba(47, 119, 119, 0.22);
  border-radius: 10px;
  background: rgba(47, 119, 119, 0.06);
  color: inherit;
  font-size: 14px;
  line-height: 1.55;
}


/* 1.4.93 — proportional Instagram-style Premium badge across profile titles and cards. */
.tbfx-premium-badge{
  --tbfx-premium-badge-size:.9em;
  --tbfx-premium-badge-gap:.22em;
  display:inline-flex;
  position:relative;
  align-items:center;
  justify-content:center;
  inline-size:var(--tbfx-premium-badge-size);
  block-size:var(--tbfx-premium-badge-size);
  width:var(--tbfx-premium-badge-size);
  height:var(--tbfx-premium-badge-size);
  min-inline-size:var(--tbfx-premium-badge-size);
  aspect-ratio:1/1;
  margin-inline-start:var(--tbfx-premium-badge-gap);
  vertical-align:-.105em;
  color:#0095f6;
  line-height:0;
  flex:0 0 auto;
  overflow:visible;
  white-space:nowrap;
}
.tbfx-premium-badge--profile{
  --tbfx-premium-badge-size:.82em;
  --tbfx-premium-badge-gap:.24em;
  vertical-align:-.085em;
}
.tbfx-premium-badge--listing{
  --tbfx-premium-badge-size:.92em;
  --tbfx-premium-badge-gap:.2em;
  vertical-align:-.11em;
}
.tbfx-premium-badge svg,
.tbfx-premium-badge .tbfx-premium-badge-icon{
  display:block!important;
  inline-size:100%!important;
  block-size:100%!important;
  width:100%!important;
  height:100%!important;
  min-inline-size:100%!important;
  max-inline-size:none!important;
  overflow:visible;
  fill:currentColor;
  transform:none;
  transform-origin:50% 50%;
  shape-rendering:geometricPrecision;
}
.tbfx-premium-badge-tooltip{
  position:absolute;
  z-index:80;
  inset-block-start:calc(100% + .4rem);
  inset-inline-start:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:14rem;
  padding:.42rem .62rem;
  border:1px solid rgba(15,23,42,.1);
  border-radius:.55rem;
  background:#fff;
  color:#172033;
  box-shadow:0 8px 24px rgba(15,23,42,.14);
  font-size:.72rem;
  font-weight:700;
  line-height:1.3;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .15s ease,visibility .15s ease;
}
.tbfx-premium-badge:hover .tbfx-premium-badge-tooltip,
.tbfx-premium-badge:focus-visible .tbfx-premium-badge-tooltip{opacity:1;visibility:visible}
.tbfx-premium-badge:focus-visible{outline:2px solid rgba(0,149,246,.35);outline-offset:2px;border-radius:999px}
.breadcrumbs .tbfx-premium-badge,
.rank-math-breadcrumb .tbfx-premium-badge{display:none!important}
.tbfx-premium-badge-reconciled{display:inline-flex!important;visibility:visible!important;opacity:1!important}

/* The single profile title is larger than a result-card title, so each context
   receives its own optical size rather than one fixed icon dimension. */
h1[itemprop="name"] .tbfx-premium-badge{
  --tbfx-premium-badge-size:.82em;
  --tbfx-premium-badge-gap:.24em;
  vertical-align:-.085em;
}
.archive-item-entry h3 .tbfx-premium-badge,
article.archive-item-entry .tbfx-premium-badge{
  --tbfx-premium-badge-size:.92em;
  --tbfx-premium-badge-gap:.2em;
  vertical-align:-.11em;
}

@media (max-width:640px){
  .tbfx-premium-badge-tooltip{display:none}
  h1[itemprop="name"] .tbfx-premium-badge,
  .tbfx-premium-badge--profile{
    --tbfx-premium-badge-size:.84em;
    --tbfx-premium-badge-gap:.2em;
    vertical-align:-.095em;
  }
  .archive-item-entry h3 .tbfx-premium-badge,
  article.archive-item-entry .tbfx-premium-badge,
  .tbfx-premium-badge--listing{
    --tbfx-premium-badge-size:.96em;
    --tbfx-premium-badge-gap:.18em;
    vertical-align:-.12em;
  }
}


/* v1.4.99 — reliable provider-profile Report Problem trigger.
 * The parent theme removes WordPress's normal single-specialist/single-medical
 * body classes, so v1.4.98 could not identify the page on the live site. The
 * script now adds tbfx-provider-profile-page after verifying the real report
 * dialog and uses the viewport rather than the browser user agent. */
.tbfx-mobile-report-problem{display:none}
@media(max-width:1023.98px){
  html.tbfx-provider-profile-page button[data-modal="#reportProblem"]:not(.tbfx-mobile-report-problem__button),
  body.tbfx-provider-profile-page button[data-modal="#reportProblem"]:not(.tbfx-mobile-report-problem__button){display:none!important}
  html.tbfx-provider-profile-page .tbfx-mobile-report-problem,
  body.tbfx-provider-profile-page .tbfx-mobile-report-problem{
    display:flex!important;
    width:100%;
    align-items:center;
    padding-top:.75rem;
    padding-bottom:1.5rem;
  }
  .tbfx-mobile-report-problem__button{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    margin-inline-start:auto;
    padding:.55rem .2rem;
    border:0;
    background:transparent;
    color:var(--color-muted,#64748b);
    font:inherit;
    font-size:.875rem;
    line-height:1.4;
    text-align:start;
    cursor:pointer;
    -webkit-appearance:none;
    appearance:none;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition:color .16s ease,transform .16s ease;
  }
  .tbfx-mobile-report-problem__button svg{display:block;flex:0 0 auto}
  .tbfx-mobile-report-problem__button:hover,
  .tbfx-mobile-report-problem__button:active{color:#ef4444}
  .tbfx-mobile-report-problem__button:active{transform:translateY(1px)}
  .tbfx-mobile-report-problem__button:focus-visible{outline:2px solid rgba(46,113,115,.4);outline-offset:3px;border-radius:.5rem}
  html[dir="rtl"] .tbfx-mobile-report-problem,
  body.rtl .tbfx-mobile-report-problem{direction:rtl}
}


/* 1.5.14 activity-specific privacy notice / explicit consent */
.tbfx-activity-privacy{margin:12px 0;padding:12px 14px;border:1px solid rgba(15,23,42,.14);border-radius:10px;background:rgba(248,250,252,.72);font-size:13px;line-height:1.65}.tbfx-activity-privacy__notice{display:flex;gap:6px 8px;align-items:baseline;flex-wrap:wrap}.tbfx-activity-privacy__notice strong{font-weight:700}.tbfx-activity-privacy__notice a{white-space:nowrap}.tbfx-activity-privacy__consent{display:flex;gap:9px;align-items:flex-start;margin-top:10px}.tbfx-activity-privacy__consent input{margin-top:.28em;flex:0 0 auto}.rtl .tbfx-activity-privacy__consent{direction:rtl}
