/* ThyroSurgery component styles.
   Every rule is token-driven and written with CSS logical properties so the
   whole system mirrors correctly under [dir="rtl"] without a second stylesheet.
   Class prefix: .ts-  |  Modifier convention: .is-<name> */

/* ============================ Buttons ============================ */
.ts-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-medium);line-height:1;text-decoration:none;padding:var(--pad-control-y) var(--space-5);min-height:44px;border-radius:var(--radius-control);border:1px solid transparent;background:var(--action-primary-bg);color:var(--action-primary-fg);cursor:pointer;transition:var(--transition-control);white-space:nowrap;box-shadow:var(--shadow-xs)}
.ts-btn:hover{background:var(--action-primary-bg-hover);box-shadow:var(--shadow-sm)}
.ts-btn:active{background:var(--action-primary-bg-active);transform:scale(var(--press-scale));box-shadow:none}
.ts-btn.is-secondary{background:var(--action-secondary-bg);color:var(--action-secondary-fg);border-color:var(--action-secondary-border)}
.ts-btn.is-secondary:hover{background:var(--action-secondary-bg-hover);border-color:var(--border-strong)}
.ts-btn.is-ghost{background:transparent;color:var(--action-ghost-fg);box-shadow:none}
.ts-btn.is-ghost:hover{background:var(--action-ghost-bg-hover);box-shadow:none}
.ts-btn.is-inverse{background:var(--action-inverse-bg);color:var(--action-inverse-fg)}
.ts-btn.is-inverse:hover{background:var(--sand-100)}
.ts-btn.is-outline-inverse{background:transparent;color:var(--text-inverse);border-color:var(--border-inverse);box-shadow:none}
.ts-btn.is-outline-inverse:hover{background:rgb(255 255 255 / .08);border-color:rgb(255 255 255 / .32)}
.ts-btn.is-bronze{background:var(--bronze-600);color:var(--white)}
.ts-btn.is-bronze:hover{background:var(--bronze-700)}
.ts-btn.is-whatsapp{background:var(--sage);color:var(--white)}
.ts-btn.is-whatsapp:hover{background:var(--teal-900)}
.ts-btn.is-sm{min-height:36px;padding:var(--space-2) var(--space-4);font-size:var(--fs-caption)}
.ts-btn.is-lg{min-height:52px;padding:var(--space-4) var(--space-7);font-size:var(--fs-body)}
.ts-btn.is-block{width:100%}
.ts-btn:disabled,.ts-btn[aria-disabled="true"]{background:var(--action-disabled-bg);color:var(--action-disabled-fg);border-color:transparent;cursor:not-allowed;box-shadow:none;transform:none}
.ts-btn__spinner{width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:ts-spin var(--dur-ambient) linear infinite}
@keyframes ts-spin{to{transform:rotate(360deg)}}

.ts-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-control);border:1px solid transparent;background:transparent;color:var(--text-strong);cursor:pointer;transition:var(--transition-control)}
.ts-iconbtn:hover{background:var(--surface-sunken)}
.ts-iconbtn:active{transform:scale(var(--press-scale))}
.ts-iconbtn.is-outline{border-color:var(--border-default);background:var(--surface-card)}
.ts-iconbtn.is-outline:hover{border-color:var(--border-strong);background:var(--sand-100)}
.ts-iconbtn.is-inverse{color:var(--text-inverse)}
.ts-iconbtn.is-inverse:hover{background:rgb(255 255 255 / .10)}
.ts-iconbtn.is-sm{width:36px;height:36px}

/* ============================ Badge / Tag ============================ */
.ts-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-overline);font-weight:var(--fw-semibold);letter-spacing:var(--ls-overline);text-transform:uppercase;padding:.3rem .5rem;border-radius:var(--radius-xs);background:var(--status-info-bg);color:var(--status-info-fg)}
[dir="rtl"] .ts-badge,[lang="ar"] .ts-badge{letter-spacing:var(--ls-arabic);text-transform:none;font-size:var(--fs-caption)}
.ts-badge.is-success{background:var(--status-success-bg);color:var(--status-success-fg)}
.ts-badge.is-warning{background:var(--status-warning-bg);color:var(--status-warning-fg)}
.ts-badge.is-critical{background:var(--status-critical-bg);color:var(--status-critical-fg)}
.ts-badge.is-credential{background:var(--surface-credential-soft);color:var(--text-credential)}
.ts-badge.is-neutral{background:var(--surface-sunken);color:var(--text-muted)}
.ts-badge.is-inverse{background:rgb(255 255 255 / .12);color:var(--text-inverse)}
.ts-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}

.ts-tag{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-caption);font-weight:var(--fw-medium);padding:.375rem .75rem;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-muted);cursor:pointer;transition:var(--transition-control);text-decoration:none}
.ts-tag:hover{border-color:var(--teal-200);background:var(--teal-50);color:var(--text-accent)}
.ts-tag.is-selected{border-color:var(--teal-700);background:var(--teal-800);color:var(--white)}
.ts-tag.is-static{cursor:default}
.ts-tag.is-static:hover{border-color:var(--border-default);background:var(--surface-card);color:var(--text-muted)}

/* ============================ Card ============================ */
.ts-card{position:relative;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);padding:var(--pad-card);box-shadow:var(--shadow-sm);transition:var(--transition-surface)}
.ts-card.is-flat{box-shadow:none}
.ts-card.is-tight{padding:var(--pad-card-tight)}
.ts-card.is-interactive{cursor:pointer}
.ts-card.is-interactive:hover{transform:var(--lift-hover);box-shadow:var(--shadow-md);border-color:var(--border-accent)}
.ts-card.is-interactive:active{transform:scale(var(--press-scale))}
.ts-card.is-inverse{background:var(--surface-inverse);border-color:var(--border-inverse);color:var(--text-inverse-muted)}
.ts-card.is-inverse .ts-card__title{color:var(--text-inverse)}
.ts-card.is-soft{background:var(--surface-accent-soft);border-color:var(--border-accent);box-shadow:none}
.ts-card.is-sunken{background:var(--surface-page-alt);border-color:var(--border-subtle);box-shadow:none}
.ts-card__eyebrow{font-size:var(--fs-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;font-weight:var(--fw-semibold);color:var(--text-accent);margin-bottom:var(--space-3)}
.ts-card__title{font-family:var(--font-display);font-size:var(--fs-title-2);font-weight:var(--fw-semibold);color:var(--text-strong);line-height:var(--lh-title);margin:0 0 var(--space-2)}
.ts-card__body{font-size:var(--fs-body-sm);color:var(--text-muted);margin:0}
.ts-card__footer{margin-top:var(--space-5);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
[dir="rtl"] .ts-card__eyebrow,[lang="ar"] .ts-card__eyebrow{letter-spacing:var(--ls-arabic);text-transform:none;font-size:var(--fs-caption)}
[dir="rtl"] .ts-card__title,[lang="ar"] .ts-card__title{font-family:var(--font-display-ar);line-height:var(--lh-display-ar)}

/* ============================ Section heading ============================ */
.ts-sheading{max-width:var(--measure-lede);margin-block-end:var(--space-10)}
.ts-sheading.is-center{margin-inline:auto;text-align:center}
.ts-sheading__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;font-weight:var(--fw-semibold);color:var(--text-accent);margin-bottom:var(--space-4)}
.ts-sheading__eyebrow::before{content:"";width:22px;height:1px;background:var(--teal-400)}
.ts-sheading__title{font-family:var(--font-display);font-size:var(--fs-display-3);font-weight:var(--fw-semibold);letter-spacing:var(--ls-display);line-height:var(--lh-title);color:var(--text-strong);margin:0}
.ts-sheading__lede{font-size:var(--fs-body-lg);color:var(--text-muted);margin:var(--space-4) 0 0;max-width:var(--measure-lede)}
.ts-sheading.is-inverse .ts-sheading__title{color:var(--text-inverse)}
.ts-sheading.is-inverse .ts-sheading__lede{color:var(--text-inverse-muted)}
.ts-sheading.is-inverse .ts-sheading__eyebrow{color:var(--teal-400)}
[dir="rtl"] .ts-sheading__eyebrow,[lang="ar"] .ts-sheading__eyebrow{letter-spacing:var(--ls-arabic);text-transform:none;font-size:var(--fs-caption)}
[dir="rtl"] .ts-sheading__title,[lang="ar"] .ts-sheading__title{font-family:var(--font-display-ar);line-height:var(--lh-display-ar);letter-spacing:var(--ls-arabic)}

.ts-divider{display:flex;align-items:center;gap:var(--space-4);color:var(--border-default)}
.ts-divider::before,.ts-divider::after{content:"";flex:1;height:1px;background:var(--border-subtle)}
.ts-divider.is-plain{display:block;height:1px;background:var(--border-subtle)}

/* ============================ Forms ============================ */
.ts-field{display:flex;flex-direction:column;gap:var(--space-2)}
.ts-label{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-strong)}
.ts-label__req{color:var(--clay-700);margin-inline-start:2px}
.ts-hint{font-size:var(--fs-caption);color:var(--text-subtle)}
.ts-error{font-size:var(--fs-caption);color:var(--status-critical-fg);font-weight:var(--fw-medium)}
.ts-input,.ts-textarea,.ts-select{font-family:inherit;font-size:var(--fs-body);color:var(--text-body);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);padding:var(--pad-control-y) var(--pad-control-x);min-height:48px;width:100%;transition:var(--transition-control);box-shadow:var(--shadow-xs)}
.ts-textarea{min-height:120px;resize:vertical;line-height:var(--lh-body)}
.ts-input::placeholder,.ts-textarea::placeholder{color:var(--sand-500)}
.ts-input:hover,.ts-textarea:hover,.ts-select:hover{border-color:var(--border-strong)}
.ts-input:focus,.ts-textarea:focus,.ts-select:focus{outline:none;border-color:var(--teal-600);box-shadow:var(--shadow-focus)}
.ts-input:disabled,.ts-textarea:disabled,.ts-select:disabled{background:var(--surface-sunken);color:var(--text-subtle);cursor:not-allowed}
.ts-field.is-invalid .ts-input,.ts-field.is-invalid .ts-textarea,.ts-field.is-invalid .ts-select{border-color:var(--clay-700)}
.ts-input-wrap{position:relative;display:flex;align-items:center}
.ts-input-wrap .ts-input{padding-inline-start:2.75rem}
.ts-input-wrap__icon{position:absolute;inset-inline-start:var(--space-4);color:var(--text-subtle);pointer-events:none}
.ts-select-wrap{position:relative}
.ts-select{appearance:none;padding-inline-end:2.5rem;cursor:pointer}
.ts-select-wrap__chev{position:absolute;inset-inline-end:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-subtle);pointer-events:none}

.ts-choice{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer;padding:var(--space-1) 0;min-height:44px;align-items:center}
.ts-choice input{appearance:none;margin:0;flex:none;width:20px;height:20px;border:1.5px solid var(--border-strong);background:var(--surface-card);transition:var(--transition-control);cursor:pointer;display:grid;place-content:center}
.ts-choice input[type="checkbox"]{border-radius:var(--radius-xs)}
.ts-choice input[type="radio"]{border-radius:50%}
.ts-choice input:hover{border-color:var(--teal-600)}
.ts-choice input:checked{background:var(--teal-800);border-color:var(--teal-800)}
.ts-choice input[type="checkbox"]:checked::after{content:"";width:10px;height:6px;border-inline-start:2px solid #fff;border-block-end:2px solid #fff;transform:rotate(-45deg) translateY(-1px)}
.ts-choice input[type="radio"]:checked::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.ts-choice input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.ts-choice__text{font-size:var(--fs-body-sm);color:var(--text-body)}
.ts-choice__label{font-weight:var(--fw-medium);color:var(--text-strong);display:block}
.ts-choice__desc{display:block;font-size:var(--fs-caption);color:var(--text-subtle);margin-top:2px}

.ts-switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer}
.ts-switch__track{position:relative;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--sand-400);transition:background-color var(--dur-base) var(--ease-standard);flex:none}
.ts-switch__knob{position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-standard)}
.ts-switch.is-on .ts-switch__track{background:var(--teal-700)}
.ts-switch.is-on .ts-switch__knob{transform:translateX(18px)}
[dir="rtl"] .ts-switch.is-on .ts-switch__knob{transform:translateX(-18px)}

/* ============================ Feedback ============================ */
.ts-alert{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--status-info-bg);color:var(--text-body);border:1px solid transparent;border-inline-start:var(--bw-rule) solid var(--status-info-fg)}
.ts-alert.is-success{background:var(--status-success-bg);border-inline-start-color:var(--status-success-fg)}
.ts-alert.is-warning{background:var(--status-warning-bg);border-inline-start-color:var(--status-warning-fg)}
.ts-alert.is-critical{background:var(--status-critical-bg);border-inline-start-color:var(--status-critical-fg)}
.ts-alert__icon{flex:none;margin-top:2px}
.ts-alert__title{font-weight:var(--fw-semibold);color:var(--text-strong);font-size:var(--fs-body-sm);margin:0 0 2px}
.ts-alert__body{font-size:var(--fs-body-sm);color:var(--text-muted);margin:0}

.ts-dialog__scrim{position:fixed;inset:0;background:var(--surface-scrim);backdrop-filter:blur(3px);display:grid;place-items:center;padding:var(--gutter);z-index:var(--z-modal);animation:ts-fade var(--dur-base) var(--ease-out)}
.ts-dialog{background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:520px;padding:var(--space-8);animation:ts-rise var(--dur-slow) var(--ease-out)}
.ts-dialog__title{font-family:var(--font-display);font-size:var(--fs-title-1);color:var(--text-strong);margin:0 0 var(--space-3)}
.ts-dialog__body{font-size:var(--fs-body-sm);color:var(--text-muted);margin:0}
.ts-dialog__actions{display:flex;gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap}
@keyframes ts-fade{from{opacity:0}}
@keyframes ts-rise{from{opacity:0;transform:translateY(var(--reveal-distance))}}

.ts-tooltip{position:relative;display:inline-flex}
.ts-tooltip__bubble{position:absolute;bottom:calc(100% + 8px);inset-inline-start:50%;transform:translateX(-50%);background:var(--midnight-900);color:var(--text-inverse);font-size:var(--fs-caption);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;z-index:var(--z-overlay)}
[dir="rtl"] .ts-tooltip__bubble{transform:translateX(50%)}

/* ============================ Navigation ============================ */
.ts-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--scrim-chrome);backdrop-filter:var(--blur-chrome);border-bottom:1px solid var(--border-hairline)}
.ts-header__inner{max-width:var(--container-max);margin-inline:auto;padding:0 var(--gutter);height:var(--header-h);display:flex;align-items:center;gap:var(--space-6)}
.ts-header__nav{display:none;gap:var(--space-6);margin-inline-start:auto;align-items:center}
.ts-header__actions{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}
.ts-header__nav+.ts-header__actions{margin-inline-start:0}
@media(min-width:1024px){.ts-header__nav{display:flex}.ts-header__burger{display:none}}
.ts-navlink{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-body);text-decoration:none;padding:var(--space-2) 0;position:relative;transition:color var(--dur-fast) var(--ease-standard)}
.ts-navlink::after{content:"";position:absolute;inset-inline:0;bottom:0;height:2px;background:var(--teal-600);transform:scaleX(0);transform-origin:inline-start;transition:transform var(--dur-base) var(--ease-standard)}
.ts-navlink:hover{color:var(--text-accent)}
.ts-navlink:hover::after,.ts-navlink.is-active::after{transform:scaleX(1)}
.ts-navlink.is-active{color:var(--text-accent)}

.ts-langtoggle{display:inline-flex;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);padding:2px;gap:2px}
.ts-langtoggle__btn{font-family:inherit;font-size:var(--fs-caption);font-weight:var(--fw-medium);padding:.375rem .75rem;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);cursor:pointer;transition:var(--transition-control);min-height:32px}
.ts-langtoggle__btn:hover{color:var(--text-strong)}
.ts-langtoggle__btn.is-active{background:var(--midnight-900);color:var(--text-inverse)}

.ts-tabs{display:flex;gap:var(--space-6);border-bottom:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none}
.ts-tabs::-webkit-scrollbar{display:none}
.ts-tab{font-family:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-muted);background:none;border:0;padding:var(--space-3) 0;cursor:pointer;position:relative;white-space:nowrap;transition:color var(--dur-fast) var(--ease-standard)}
.ts-tab::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:2px;background:var(--teal-700);transform:scaleY(0);transition:transform var(--dur-base) var(--ease-standard)}
.ts-tab:hover{color:var(--text-strong)}
.ts-tab.is-active{color:var(--text-accent)}
.ts-tab.is-active::after{transform:scaleY(1)}

.ts-crumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-caption);color:var(--text-subtle);flex-wrap:wrap}
.ts-crumbs a{color:var(--text-subtle);text-decoration:none}
.ts-crumbs a:hover{color:var(--text-accent);text-decoration:underline}
.ts-crumbs__sep{color:var(--border-strong)}
.ts-crumbs__current{color:var(--text-body);font-weight:var(--fw-medium)}

.ts-footer{background:var(--surface-inverse);color:var(--text-inverse-muted);padding:var(--section-y) 0 var(--space-8)}
.ts-footer__inner{max-width:var(--container-max);margin-inline:auto;padding:0 var(--gutter);display:grid;gap:var(--space-10)}
@media(min-width:768px){.ts-footer__inner{grid-template-columns:1.4fr 1fr 1fr}}
.ts-footer h4{color:var(--text-inverse);font-family:var(--font-sans);font-size:var(--fs-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;margin-bottom:var(--space-4)}
.ts-footer a{color:var(--text-inverse-muted);text-decoration:none;font-size:var(--fs-body-sm);display:block;padding:var(--space-1) 0}
.ts-footer a:hover{color:var(--text-inverse)}
.ts-footer__legal{max-width:var(--container-max);margin:var(--space-12) auto 0;padding:var(--space-6) var(--gutter) 0;border-top:1px solid var(--border-inverse);font-size:var(--fs-caption);display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:space-between}

/* ============================ Clinic patterns ============================ */
.ts-branch{display:grid;gap:var(--space-3)}
.ts-branch__option{display:flex;gap:var(--space-4);align-items:flex-start;text-align:start;padding:var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-card);cursor:pointer;transition:var(--transition-control);font-family:inherit;width:100%}
.ts-branch__option:hover{border-color:var(--teal-400);background:var(--teal-50)}
.ts-branch__option.is-selected{border-color:var(--teal-700);background:var(--teal-50);box-shadow:0 0 0 1px var(--teal-700)}
.ts-branch__mark{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-content:center;margin-top:2px;transition:var(--transition-control)}
.ts-branch__option.is-selected .ts-branch__mark{border-color:var(--teal-700);background:var(--teal-700)}
.ts-branch__option.is-selected .ts-branch__mark::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.ts-branch__city{font-weight:var(--fw-semibold);color:var(--text-strong);font-size:var(--fs-body)}
.ts-branch__addr{font-size:var(--fs-caption);color:var(--text-muted);margin-top:2px;line-height:var(--lh-tight)}
.ts-branch__meta{font-size:var(--fs-caption);color:var(--text-accent);margin-top:var(--space-2);display:flex;gap:var(--space-3);flex-wrap:wrap}

.ts-appt{display:grid;gap:var(--space-6)}
.ts-appt__label{font-size:var(--fs-overline);letter-spacing:var(--ls-overline);text-transform:uppercase;font-weight:var(--fw-semibold);color:var(--text-subtle);margin-bottom:var(--space-3)}
[dir="rtl"] .ts-appt__label,[lang="ar"] .ts-appt__label{letter-spacing:var(--ls-arabic);text-transform:none;font-size:var(--fs-caption)}
.ts-appt__days{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:none}
.ts-appt__days::-webkit-scrollbar{display:none}
.ts-appt__day{flex:none;width:64px;padding:var(--space-3) 0;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;font-family:inherit;text-align:center;transition:var(--transition-control)}
.ts-appt__day:hover{border-color:var(--teal-400)}
.ts-appt__day.is-selected{background:var(--midnight-900);border-color:var(--midnight-900);color:var(--text-inverse)}
.ts-appt__day.is-disabled{opacity:.45;cursor:not-allowed;background:var(--surface-sunken)}
.ts-appt__dow{font-size:var(--fs-overline);letter-spacing:.06em;text-transform:uppercase;color:var(--text-subtle)}
.ts-appt__day.is-selected .ts-appt__dow{color:var(--teal-400)}
.ts-appt__dnum{font-size:var(--fs-title-2);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:inherit;margin-top:2px}
.ts-appt__slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--space-2)}
.ts-appt__slot{font-family:inherit;font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums;padding:var(--space-3);min-height:44px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-body);cursor:pointer;transition:var(--transition-control)}
.ts-appt__slot:hover{border-color:var(--teal-600);color:var(--text-accent)}
.ts-appt__slot.is-selected{background:var(--teal-800);border-color:var(--teal-800);color:#fff}
.ts-appt__slot:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}

.ts-doctor{display:grid;gap:var(--space-8);align-items:center}
@media(min-width:768px){.ts-doctor{grid-template-columns:minmax(0,320px) 1fr}}
.ts-doctor__frame{position:relative;border-radius:var(--radius-media);overflow:hidden;background:var(--surface-sunken);aspect-ratio:4/5}
.ts-doctor__frame img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.ts-doctor__name{font-family:var(--font-display);font-size:var(--fs-display-3);color:var(--text-strong);margin:0 0 var(--space-2);line-height:var(--lh-title)}
[dir="rtl"] .ts-doctor__name{font-family:var(--font-display-ar);line-height:var(--lh-display-ar)}
.ts-doctor__role{font-size:var(--fs-body);color:var(--text-accent);font-weight:var(--fw-medium);margin:0 0 var(--space-4)}
.ts-doctor__creds{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-5)}

.ts-service{display:block;text-decoration:none;color:inherit;height:100%}
.ts-service__icon{width:44px;height:44px;border-radius:var(--radius-md);background:var(--surface-accent-soft);color:var(--text-accent);display:grid;place-items:center;margin-bottom:var(--space-5)}
.ts-service__arrow{color:var(--text-accent);transition:transform var(--dur-base) var(--ease-standard);display:inline-flex}
.ts-card.is-interactive:hover .ts-service__arrow{transform:translateX(4px)}
[dir="rtl"] .ts-card.is-interactive:hover .ts-service__arrow{transform:translateX(-4px)}
[dir="rtl"] .ts-service__arrow{transform:scaleX(-1)}
[dir="rtl"] .ts-card.is-interactive:hover .ts-service__arrow{transform:scaleX(-1) translateX(4px)}

.ts-quote{font-family:var(--font-display);font-size:var(--fs-title-1);line-height:1.5;color:var(--text-strong);margin:0}
[dir="rtl"] .ts-quote{font-family:var(--font-display-ar);line-height:1.9}
.ts-quote__mark{color:var(--teal-400);font-size:2.5rem;line-height:1;display:block;margin-bottom:var(--space-2);font-family:var(--font-display)}
.ts-quote__attr{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-6);font-size:var(--fs-caption);color:var(--text-subtle)}
.ts-quote__initial{width:36px;height:36px;border-radius:50%;background:var(--surface-sunken);color:var(--text-muted);display:grid;place-items:center;font-weight:var(--fw-semibold);flex:none}

.ts-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-6)}
.ts-stat__value{font-family:var(--font-display);font-size:var(--fs-display-3);font-weight:var(--fw-semibold);color:var(--text-strong);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:var(--ls-display)}
.ts-stat__label{font-size:var(--fs-caption);color:var(--text-muted);margin-top:var(--space-3);line-height:var(--lh-tight)}
.ts-stat{padding-inline-start:var(--space-5);border-inline-start:2px solid var(--teal-200)}
.ts-stats.is-inverse .ts-stat{border-inline-start-color:rgb(92 186 181 / .4)}
.ts-stats.is-inverse .ts-stat__value{color:var(--text-inverse)}
.ts-stats.is-inverse .ts-stat__label{color:var(--text-inverse-muted)}

.ts-faq{border-top:1px solid var(--border-subtle)}
.ts-faq__item{border-bottom:1px solid var(--border-subtle)}
.ts-faq__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);text-align:start;font-family:var(--font-display);font-size:var(--fs-title-3);font-weight:var(--fw-semibold);color:var(--text-strong);background:none;border:0;padding:var(--space-5) 0;cursor:pointer;transition:color var(--dur-fast) var(--ease-standard);list-style:none}
.ts-faq__q::-webkit-details-marker{display:none}
[dir="rtl"] .ts-faq__q{font-family:var(--font-display-ar)}
.ts-faq__q:hover{color:var(--text-accent)}
.ts-faq__sign{flex:none;width:24px;height:24px;position:relative;color:var(--text-accent)}
.ts-faq__sign::before,.ts-faq__sign::after{content:"";position:absolute;inset:50% 4px auto;height:1.5px;background:currentColor;border-radius:1px;transition:transform var(--dur-base) var(--ease-standard)}
.ts-faq__sign::after{transform:rotate(90deg)}
.ts-faq__item.is-open .ts-faq__sign::after,.ts-faq__item[open] .ts-faq__sign::after{transform:rotate(0deg)}
.ts-faq__a{overflow:hidden;font-size:var(--fs-body-sm);color:var(--text-muted);max-width:var(--measure-prose)}
.ts-faq__a>div{padding-bottom:var(--space-6)}

.ts-contactbar{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}
.ts-contactbar__item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-body-sm);color:var(--text-body);text-decoration:none;padding:var(--space-2) 0}
.ts-contactbar__item:hover{color:var(--text-accent)}
.ts-contactbar.is-sticky{position:fixed;inset-inline:0;bottom:0;background:var(--scrim-chrome);backdrop-filter:var(--blur-chrome);border-top:1px solid var(--border-hairline);padding:var(--space-3) var(--gutter);z-index:var(--z-chrome);gap:var(--space-2)}
@media(min-width:1024px){.ts-contactbar.is-sticky{display:none}}

.ts-timeline{display:grid;gap:0;position:relative}
.ts-timeline__row{display:grid;grid-template-columns:auto 1fr;gap:var(--space-5);padding-bottom:var(--space-6)}
.ts-timeline__rail{position:relative;display:flex;flex-direction:column;align-items:center}
.ts-timeline__dot{width:9px;height:9px;border-radius:50%;background:var(--teal-700);margin-top:7px;flex:none}
.ts-timeline__line{flex:1;width:1px;background:var(--border-default);margin-top:var(--space-2)}
.ts-timeline__year{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-accent);font-weight:var(--fw-medium)}
.ts-timeline__text{font-size:var(--fs-body-sm);color:var(--text-muted);margin-top:2px}

/* ============================ Utilities ============================ */
.ts-container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}
.ts-section{padding-block:var(--section-y)}
.ts-grid{display:grid;gap:var(--grid-gap)}
.ts-grid.is-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.ts-grid.is-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.ts-surface-inverse{background:var(--surface-inverse);color:var(--text-inverse-muted)}
.ts-contour{background-image:var(--pattern-contour);background-repeat:repeat}
.ts-media-ph{background:var(--surface-sunken);border-radius:var(--radius-media);display:grid;place-items:center;color:var(--text-subtle);font-size:var(--fs-caption);text-align:center;padding:var(--space-6);background-image:var(--pattern-contour);border:1px dashed var(--border-strong)}
.ts-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
