/* 1.8.6 — consistent profile columns and the original brand on a dark footer. */
.dt-site .dt-brand-filters{position:absolute;pointer-events:none;overflow:hidden}
.dt-site .dt-footer .dt-brand-logo{background:transparent;padding:0;border-radius:0}
.dt-site .dt-footer .dt-logo-crop>img{filter:none!important}
.dt-site .dt-profile-v14 .dt-booking-wrap{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);gap:18px}
.dt-site .dt-profile-v14 .dt-booking-panel{display:block;grid-column:1;width:100%;max-width:none;margin:22px 0;padding:19px;container-type:inline-size;container-name:dt-booking}
.dt-site .dt-booking-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:20px;min-width:0}
.dt-site .dt-profile-v14 .dt-booking-body{width:100%;max-width:420px;justify-self:start;padding:18px 10px;box-sizing:border-box}
.dt-site .dt-profile-v14 .dt-booking-start>.dt-btn{width:100%}
.dt-site .dt-profile-v14 [id^="dt-"]{scroll-margin-top:var(--dt-profile-scroll-offset,calc(var(--dt-admin-offset) + var(--dt-header-height) + 70px))}
@container dt-booking (min-width:740px){.dt-site .dt-booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,400px)}}
@media(max-width:980px){.dt-site .dt-profile-v14 .dt-booking-wrap{grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr)}.dt-site .dt-profile-v14 .dt-booking-panel{padding:17px}}
@media(max-width:760px){.dt-site .dt-profile-v14 .dt-booking-wrap{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.dt-site .dt-profile-v14 .dt-booking-panel{padding:16px}.dt-site .dt-profile-v14 .dt-booking-body{padding:14px 0}}

/* Fade the photograph's actual left edge, rather than the wider image element's letterbox. */
.dt-site .dt-home-mockup .dt-clean-hero.dt-hero-home .dt-hero-backdrop,
.dt-site .dt-clean-hero:not(.dt-hero-home) .dt-hero-backdrop{left:auto;right:0;width:auto!important;max-width:none!important;height:100%!important;object-fit:contain;object-position:right center;opacity:1;filter:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%);mask-image:linear-gradient(90deg,transparent 0%,#000 24%)}
@media(max-width:980px){.dt-site .dt-home-mockup .dt-clean-hero.dt-hero-home .dt-hero-backdrop{width:100%!important;height:auto!important;-webkit-mask-image:none;mask-image:none}}
@media(max-width:600px){.dt-site .dt-clean-hero:not(.dt-hero-home) .dt-hero-backdrop{width:100%!important;height:auto!important;-webkit-mask-image:none;mask-image:none}}

/* Stable controls: no lifting, shimmer, click halo or gradient-to-solid flash. */
.dt-site .dt-btn,.dt-site .dt-btn:is(:hover,:active,:focus){box-shadow:none!important;filter:none!important;transform:none!important;animation:none!important;transition:background-color .16s ease,border-color .16s ease,color .16s ease;-webkit-tap-highlight-color:transparent}
.dt-site .dt-btn:before,.dt-site .dt-btn:after{content:none!important;display:none!important;animation:none!important}
.dt-site :is(.dt-clean-search,.dt-media-search,.dt-map-filters,.dt-branch-search,.dt-filters) .dt-btn{background-image:none!important;background-color:#00838f!important;border-color:#00838f;color:#fff!important}
.dt-site :is(.dt-clean-search,.dt-media-search,.dt-map-filters,.dt-branch-search,.dt-filters) .dt-btn:is(:hover,:active){background-color:#006b78!important;border-color:#006b78;color:#fff!important}
.dt-site .dt-btn:focus:not(:focus-visible){outline:none}
.dt-site .dt-btn:focus-visible{outline:3px solid #0c657b;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.dt-site .dt-btn{transition:none!important}}

/* Solid base and hover states prevent the gradient from disappearing over white. */
.dt-site .dt-btn,.dt-site .dt-btn:is(:hover,:active,:focus){transition:none!important;background-image:none!important}
.dt-site .dt-btn:not(.dt-btn-outline):not(.dt-btn-light):not(.dt-btn-white):not(.dt-btn-navy):not(.dt-mobile-actions>.dt-btn){background-color:#007f8b!important;border-color:#007f8b!important;color:#fff!important}
.dt-site .dt-btn:not(.dt-btn-outline):not(.dt-btn-light):not(.dt-btn-white):not(.dt-btn-navy):not(.dt-mobile-actions>.dt-btn):is(:hover,:active,:focus-visible){background-color:#006b78!important;border-color:#006b78!important;color:#fff!important}
.dt-site .dt-mobile-actions>.dt-btn:not(.dt-mobile-map-link){background-color:#fff!important;border-color:#fff!important;color:#075c6e!important}
.dt-site .dt-mobile-actions>.dt-btn:not(.dt-mobile-map-link):is(:hover,:focus-visible,:active){background-color:#075c6e!important;border-color:#075c6e!important;color:#fff!important}
.dt-site .dt-mobile-actions>.dt-btn.dt-mobile-map-link{background-color:transparent!important;border-color:#bee6ed!important;color:#fff!important}
.dt-site .dt-mobile-actions>.dt-btn.dt-mobile-map-link:is(:hover,:focus-visible,:active){background-color:#fff!important;border-color:#fff!important;color:#075c6e!important}

/* These doctor-card links carry the outline class but are designed as filled CTAs. */
.dt-site :is(.dt-results-list,.dt-home-premium,.dt-home-main) .dt-doctor-actions>.dt-btn{background-color:#007f8b!important;border-color:#007f8b!important;color:#fff!important}
.dt-site :is(.dt-results-list,.dt-home-premium,.dt-home-main) .dt-doctor-actions>.dt-btn:is(:hover,:active,:focus-visible){background-color:#006b78!important;border-color:#006b78!important;color:#fff!important}

/* A full-width interest row avoids stretching the portrait column; the control has its own column. */
.dt-site .dt-doctor-card>.dt-card-interest-row{grid-column:1 / -1;grid-row:2;min-width:0;margin:0}
.dt-site .dt-doctor-card>.dt-card-interest-row~.dt-doctor-actions{grid-row:3}
.dt-site .dt-card-interests{width:100%;min-width:0;margin:4px 0}
.dt-site .dt-card-interests>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;cursor:pointer;list-style:none;border-radius:6px}
.dt-site .dt-card-interests>summary::-webkit-details-marker{display:none}
.dt-site .dt-card-interest-preview{display:flex;flex-wrap:wrap;min-width:0;margin:0;gap:6px}
.dt-site .dt-card-interests .dt-pills>span{font-size:12px;line-height:1.5;overflow-wrap:anywhere;max-width:100%}
.dt-site .dt-card-interest-toggle{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #a9dce2;border-radius:6px;background:#f6fcfd;color:#006b79;font-size:12px;font-weight:700;white-space:nowrap;align-self:start}
.dt-site .dt-card-interests>summary:hover .dt-card-interest-toggle{background:#e8f7f9;border-color:#70c0cc}
.dt-site .dt-card-interests>summary:focus-visible{outline:3px solid #008391;outline-offset:4px}
.dt-site .dt-card-interest-collapse{display:none}
.dt-site .dt-card-interests[open] .dt-card-interest-expand{display:none}
.dt-site .dt-card-interests[open] .dt-card-interest-collapse{display:inline}
.dt-site .dt-card-interests[open] .dt-card-interest-toggle>svg{transform:rotate(180deg)}
.dt-site .dt-card-interest-rest{padding-top:10px;margin-top:10px;border-top:1px solid #e0edf2;gap:6px}

/* Bibliography stays in the profile's readable main column. */
.dt-site .dt-publications-intro{font-size:13px;line-height:1.7;color:#607c90;margin:0 0 18px}
.dt-site .dt-publication-list{padding:0;margin:0;list-style:none;display:grid;gap:14px}
.dt-site .dt-publication{min-width:0;padding:17px;border:1px solid #deebf0;border-radius:9px;background:#fbfdfe}
.dt-site .dt-publication-meta{display:flex;align-items:center;gap:9px;margin-bottom:9px;font-size:12px;font-weight:650;color:#417286}
.dt-site .dt-publication-meta>span{padding:3px 8px;border-radius:5px;background:#e9f8fa;color:#007b89}
.dt-site .dt-publication h3{font-size:16px;line-height:1.5;color:#123b58;margin:0 0 10px;overflow-wrap:anywhere}
.dt-site .dt-publication-authors,.dt-site .dt-publication-journal{font-size:13px;line-height:1.7;color:#57768c;margin:5px 0;overflow-wrap:anywhere}
.dt-site .dt-publication-authors strong{font-weight:650;color:#31586e}
.dt-site .dt-publication-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin-top:12px}
.dt-site .dt-publication-links>a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;color:#007380;overflow-wrap:anywhere;max-width:100%;min-height:32px}
.dt-site .dt-publication-links>a>svg{flex:none}.dt-site .dt-publication-links>a:hover{color:#07485c;text-decoration:underline;text-underline-offset:3px}
.dt-site .dt-publication-links>a:focus-visible{outline:3px solid #008391;outline-offset:4px;border-radius:3px}
.dt-site .dt-publication-more[open]>.dt-publication-list{margin-top:16px}
@media(max-width:600px){.dt-site .dt-publication{padding:14px}.dt-site .dt-publication h3{font-size:15px}.dt-site .dt-publication-links{align-items:flex-start;flex-direction:column;gap:6px}.dt-site .dt-publication-links>a{font-size:12px}}

/* Equal card footers: the complete title can grow while the metadata stays on a shared baseline. */
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card{display:flex;flex-direction:column;align-self:stretch;min-width:0;height:100%}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card>.dt-content-picture{flex-shrink:0}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card>.dt-content-body{display:flex;flex-direction:column;align-items:stretch;flex:1;min-width:0}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card>.dt-content-body>.dt-topic{align-self:flex-start}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card>.dt-content-body>h3{display:block;overflow:visible;-webkit-line-clamp:unset;overflow-wrap:anywhere}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card .dt-content-author{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:52px 18px;gap:8px;margin-top:auto;padding-top:12px;align-items:center}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card .dt-content-author-person{grid-row:1;min-width:0;max-height:52px}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card .dt-content-author-person strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card .dt-content-author-person small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dt-site :is(.dt-articles-grid,.dt-articles-grid-large)>.dt-content-card .dt-content-author time{grid-row:2;line-height:18px;align-self:end}

/* Tighter header-only crop. The original 2048px artwork keeps its horizontal scale. */
.dt-site .dt-header .dt-logo-crop{aspect-ratio:1875 / 499}
.dt-site .dt-header .dt-logo-crop>img{top:-27.254509%}
.dt-site .dt-header .dt-brand-logo{position:relative;top:1px}
body.dt-standalone{--dt-header-height:82px}
@media(max-width:980px){body.dt-standalone{--dt-header-height:76px}}
@media(max-width:720px){body.dt-standalone{--dt-header-height:70px}}

/* 1.10.1: Crop embedded letterboxing only in the featured YouTube cover.
 * Keep the existing picture box and both outer archive cards unchanged. */
.dt-site .dt-videos-archive .dt-feature-card .dt-video-card .dt-content-picture>img.dt-youtube-thumbnail{
 object-position:center;
 transform:scale(1.3333334);
 transform-origin:center;
}

/* Related profiles share a compact, consistent card row. */
.dt-site .dt-related-doctors{padding-top:28px;padding-bottom:35px}
.dt-site .dt-related-doctors .dt-doctor-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.dt-site .dt-related-doctors .dt-doctor-card{grid-template-rows:minmax(0,1fr) auto;align-content:stretch}
.dt-site .dt-related-description{font-size:14px;color:#607c90;margin:0 0 18px;line-height:1.7}
@media(max-width:980px){.dt-site .dt-related-doctors .dt-doctor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 .dt-site :is(.dt-clean-search,.dt-media-search,.dt-filters,.dt-map-filters,.dt-branch-search) input,.dt-site :is(.dt-clean-search,.dt-media-search,.dt-filters,.dt-map-filters,.dt-map-tools) select,.dt-site .dt-select-trigger{font-size:16px!important;min-height:44px}
 .dt-site .dt-header .dt-brand-logo{width:225px;flex-basis:225px}
 .dt-site .dt-profile-heading h1,.dt-site .dt-story h1,.dt-site .dt-page-content{overflow-wrap:anywhere}
 .dt-site .dt-body-copy table{display:block;max-width:100%;overflow-x:auto}
 .dt-site .dt-elementor-page .elementor-widget-container{min-width:0;overflow-wrap:anywhere}
 .dt-site .dt-booking-widget{max-width:100%;overflow-x:auto}
 .dt-select-dropdown .dt-select-search{font-size:16px!important;min-height:44px}
 .dt-select-dropdown .dt-select-option{min-height:44px;display:flex;align-items:center;box-sizing:border-box}
 .dt-site .dt-nav-toggle,.dt-site .dt-header-map,.dt-site .dt-btn,.dt-site .dt-profile-tabs a,.dt-site .dt-show-pin{min-height:44px}
 .dt-site .dt-profile-tabs>.dt-wrap{overscroll-behavior-x:contain;scroll-padding-inline:12px}
 .dt-site .dt-related-doctors .dt-doctor-grid{grid-template-columns:1fr}
 .dt-site .dt-explore-map{height:56vh;height:56svh;min-height:320px;max-height:520px}
 .dt-site .dt-map-popup{max-width:calc(100vw - 32px);box-sizing:border-box}
 .dt-site .dt-map-popup-close{width:44px;height:44px}
 .dt-site .dt-map-popup h3{margin-right:48px}
 .dt-site .dt-map-popup a{min-height:44px;display:inline-flex;align-items:center}
 .dt-site .dt-footer a:not(.dt-brand-logo){min-height:40px;display:inline-flex;align-items:center;font-size:14px}
 .dt-site :is(.dt-map,.dt-explore-map,.dt-clinic-canvas) .ol-zoom button{width:44px;height:44px;font-size:22px}
 .dt-site .dt-map-area,.dt-site .dt-map-fit,.dt-site .dt-map-near,.dt-site .dt-map-reset,.dt-site .dt-map-mobile-toolbar button{min-height:44px}
 .dt-site .dt-booking-widget,.dt-site .dt-clinic-panel,.dt-site .dt-profile-main{min-width:0}
}

/* 1.10.1: A map view occupies the entire mobile workspace, including when
 * the parent theme gives sections a float or a content-sized width. */
@media(max-width:760px){
 .dt-site .dt-map-browser .dt-map-workspace{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 .dt-site .dt-map-browser .dt-map-stage{position:relative;inset:auto;float:none;clear:both;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 .dt-site .dt-map-browser[data-view="map"] .dt-map-stage{display:block}
 .dt-site .dt-map-browser[data-view="list"] .dt-map-stage{display:none}
 .dt-site .dt-map-browser #dt-explore-map{display:block;position:relative;float:none;width:100%;max-width:100%;box-sizing:border-box;height:56vh;height:56svh;min-height:320px;max-height:520px}
 .dt-site .dt-map-browser #dt-explore-map>.ol-viewport{width:100%!important;height:100%!important}
}


/* 1.10.6: Apply the verified 1.10.3 mobile OpenLayers canvas fix to
 * BOTH map experiences: the large #dt-explore-map and the directory #dt-map.
 * TownHub's `canvas { max-width:100% }` and `.ol-layer > canvas {width:100%;
 * height:100%}` rules distort the OpenLayers internally scaled raster,
 * leaving map tiles in a small upper-left corner. Restrict the reset to the
 * tile/vector canvases within our two specific map roots. Do not change the
 * viewport, controls, overlays, other canvases, or desktop presentation. */
@media (max-width: 760px) {
  .dt-site .dt-map-browser #dt-explore-map .ol-viewport .ol-layer > canvas,
  .dt-site .dt-map-panel #dt-map .ol-viewport .ol-layer > canvas {
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
  }
}


/* 1.10.4 — Map result cards: a compact, accessible mobile interest disclosure.
 * Desktop cards keep the existing four-label preview and +N control.
 * Mobile includes ALL tags inside one native <details> element. */
.dt-site #dt-map-cards .dt-map-interest-mobile{display:none}
.dt-site #dt-map-cards .dt-map-interest-desktop{min-width:0}
@media(max-width:760px){
 .dt-site #dt-map-cards .dt-map-interest-row{grid-column:1 / -1;min-width:0;margin:0}
 .dt-site #dt-map-cards .dt-map-interest-desktop{display:none!important}
 .dt-site #dt-map-cards .dt-map-interest-mobile{display:block;min-width:0;width:100%;margin:0}
 .dt-site #dt-map-cards .dt-map-interest-mobile>summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:44px;box-sizing:border-box;cursor:pointer;list-style:none;
  border:1px solid #b8dce2;background:#f3fbfc;color:#086878;
  border-radius:9px;padding:10px 12px;font-size:13px;font-weight:700;
 }
 .dt-site #dt-map-cards .dt-map-interest-mobile>summary::-webkit-details-marker{display:none}
 .dt-site #dt-map-cards .dt-map-interest-mobile>summary:focus-visible{outline:3px solid #008b99;outline-offset:2px}
 .dt-site #dt-map-cards .dt-map-interest-mobile>summary .dt-map-interest-count{
  margin-left:auto;flex:0 0 auto;padding:2px 7px;border-radius:999px;
  background:#dceff3;color:#086878;font-size:12px;font-variant-numeric:tabular-nums;
 }
 .dt-site #dt-map-cards .dt-map-interest-mobile>summary svg{flex:0 0 auto;transition:transform .15s ease}
 .dt-site #dt-map-cards .dt-map-interest-mobile[open]>summary svg{transform:rotate(180deg)}
 .dt-site #dt-map-cards .dt-map-interest-all{display:flex;flex-wrap:wrap;gap:6px;
  margin:8px 0 0;padding:10px;border:1px solid #e0eef1;border-radius:9px;background:#fbfefe}
 .dt-site #dt-map-cards .dt-map-interest-all>span{font-size:12px;line-height:1.45;max-width:100%;overflow-wrap:anywhere}
}

/* 1.10.4 — Mobile-only brand footer. Preserve the full desktop link columns;
 * remove their excessive height on phones. Navigation remains in the header. */
@media(max-width:760px){
 .dt-site .dt-footer{padding-top:22px;margin-top:24px}
 .dt-site .dt-footer .dt-footer-top{display:block!important;grid-template-columns:none!important;
  gap:0!important;padding-bottom:15px!important}
 .dt-site .dt-footer .dt-footer-top>div:not(:first-of-type){display:none!important}
 .dt-site .dt-footer .dt-footer-top>div:first-of-type{display:block!important;grid-column:auto!important;max-width:100%}
 .dt-site .dt-footer .dt-brand-logo{display:block;width:205px!important;max-width:85%;margin:0 0 10px}
 .dt-site .dt-footer .dt-footer-top>div:first-of-type p{margin:0;max-width:330px;
  color:#d4e6ef;font-size:13px;line-height:1.6}
 .dt-site .dt-footer .dt-footer-bottom{display:block!important;padding:12px 0 17px!important;
  margin:0;text-align:left;font-size:11px;line-height:1.5}
 .dt-site .dt-footer .dt-footer-bottom>span:last-child{display:none!important}
}
@media(prefers-reduced-motion:reduce){
 .dt-site #dt-map-cards .dt-map-interest-mobile>summary svg{transition:none}
}

/* 1.10.5 — The footer uses a real light ink wordmark rather than a CSS
 * reference to an SVG filter; this works consistently in Android Chrome. */
.dt-site .dt-footer .dt-brand-logo .dt-logo-crop>img{filter:none!important;opacity:1!important}
