/* Dr.Bitoei 1.7.0: native Grid/Flex, dimensions and typography are stored in layouts.json.
   This file decorates SVG strokes, gradients, hover effects and widget internals. */
@import url('fonts.css');
:root{--dr-teal:var(--e-global-color-primary,#00a19a);--dr-dark:var(--e-global-color-secondary,#006965);--dr-accent:var(--e-global-color-accent,#138a84);--dr-soft:#e8f7f6;--dr-ink:var(--e-global-color-text,#113d45);--dr-muted:#5f7679;--dr-shadow:0 18px 44px rgba(0,92,88,.10)}
.dr-native{font-family:'Noto Sans Thai',sans-serif;color:var(--dr-ink);line-height:1.75;-webkit-font-smoothing:antialiased}
.dr-native *{box-sizing:border-box}
.dr-native a{text-decoration:none;color:inherit}
.dr-native .elementor-widget-text-editor p{margin:0}
.dr-native .elementor-heading-title{margin:0;padding:0}
.dr-native .elementor-widget-image img{display:block}
.dr-native .elementor-widget{min-width:0}
.dr-native .elementor-icon{line-height:0}
.dr-source-icon svg,.dr-btn .elementor-button-icon svg{fill:none!important;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dr-source-icon svg [fill],.dr-btn svg [fill]{fill:none!important}
.dr-accent{color:var(--dr-accent)}
.dr-eyebrow p{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase}
.dr-eyebrow p:before{content:"";width:30px;height:1px;background:currentColor;flex:0 0 30px}
.dr-topbar{background:linear-gradient(90deg,var(--dr-dark),#008c86)!important;color:#fff}
.dr-topbar .elementor-widget-text-editor:last-child{text-align:right}
.dr-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid rgba(0,135,129,.12);backdrop-filter:blur(14px)}
.dr-logo img{box-shadow:0 14px 28px rgba(0,86,82,.18);object-fit:cover}
.dr-nav .elementor-nav-menu--main>.elementor-nav-menu{flex-wrap:nowrap;white-space:nowrap}
.dr-nav .elementor-nav-menu--dropdown{border:1px solid rgba(0,135,129,.15);border-radius:18px;box-shadow:var(--dr-shadow)}
.dr-nav .elementor-menu-toggle{color:var(--dr-dark);background:transparent}
.dr-btn .elementor-button{transition:transform .22s,box-shadow .22s,background .22s}
.dr-btn .elementor-button:hover{transform:translateY(-2px)}
.dr-btn .elementor-button-icon{display:flex;align-items:center}
.dr-btn .elementor-button-icon svg{width:20px;height:20px}
.dr-btn-primary .elementor-button{background:linear-gradient(135deg,var(--dr-teal),var(--dr-dark))!important;box-shadow:0 14px 30px rgba(0,111,107,.20);color:#fff!important}
.dr-btn-outline .elementor-button{background:#fff!important;border-color:rgba(0,161,154,.28)!important;color:var(--dr-dark)!important}
.dr-btn-outline .elementor-button:hover{background:var(--dr-soft)!important}
.dr-btn-text .elementor-button{background:transparent!important;border:none!important;padding:0!important;color:var(--dr-dark)!important;box-shadow:none}
.dr-btn-section .elementor-button{font-size:14px!important;padding:12px 18px!important;background:#fff!important;color:var(--dr-dark)!important;border-color:rgba(0,135,129,.18)!important;box-shadow:0 8px 22px rgba(0,92,88,.06);white-space:nowrap}
.dr-btn-section .elementor-button-icon svg{width:17px;height:17px}
.dr-calendar-arrow .elementor-button-content-wrapper:after{content:"";width:20px;height:20px;align-self:center;background:currentColor;mask:url('icons/arrow.svg') center/contain no-repeat;-webkit-mask:url('icons/arrow.svg') center/contain no-repeat}
.dr-hero{background:linear-gradient(115deg,#fdfefe 0%,#effaf9 40%,#d8f0ee 100%)!important;border-bottom:1px solid rgba(0,135,129,.12)}
.dr-hero:after{content:"";position:absolute;right:-120px;top:-90px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(0,161,154,.18) 0%,rgba(0,161,154,0) 70%);pointer-events:none}
.dr-hero-description{color:#3d5e65!important}.dr-hero-description strong{color:#086c70}
.dr-hero-visual:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#fff8ef 0%,rgba(255,248,239,.25) 17%,transparent 40%);pointer-events:none}
.dr-hero-photo,.dr-hero-photo>.elementor-widget-container{height:100%}
.dr-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 27%;border-radius:34px 0 0 34px}
.dr-hero-brand{backdrop-filter:blur(6px);border:1px solid rgba(0,135,129,.12);box-shadow:var(--dr-shadow)}
.dr-hero-logo img{box-shadow:0 12px 26px rgba(0,82,78,.14)}
.dr-doctor-badge{border:1px solid rgba(0,135,129,.18);box-shadow:var(--dr-shadow)}
.dr-doctor-badge strong{font-size:13px;color:var(--dr-dark);font-weight:700}
.dr-about,.dr-services,.dr-promotions,.dr-reviews,.dr-journal,.dr-contact{border-top:1px solid rgba(0,105,101,.08)}
.dr-about-photo img{box-shadow:var(--dr-shadow)}
.dr-about-media:after{content:"";position:absolute;right:-18px;bottom:-18px;width:160px;height:160px;border-radius:28px;border:1px solid rgba(0,135,129,.24);z-index:-1}
.dr-about-feature{border:1px solid rgba(0,135,129,.10);background:#fff}
.dr-service-card{border:1px solid rgba(0,135,129,.10);background:#fff;box-shadow:0 8px 24px rgba(35,67,70,.05);transition:transform .22s,box-shadow .22s;cursor:pointer}
.dr-service-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(35,67,70,.11)}
.dr-service-media{background:linear-gradient(135deg,#eef8f7,#fff)}
.dr-service-photo,.dr-service-photo>.elementor-widget-container{width:100%;height:100%}
.dr-service-photo img{display:block;width:100%;height:210px;object-fit:cover;transition:transform .35s}
.dr-service-card:hover .dr-service-photo img{transform:scale(1.04)}
.dr-service-stock-label{z-index:2;background:rgba(2,64,62,.75);padding:3px 9px;border-radius:100px;backdrop-filter:blur(3px)}
.dr-service-stock-label p{white-space:nowrap}
.dr-service-more .dr-text{flex:1}
.dr-detail-photo img{width:100%;height:480px;object-fit:cover;box-shadow:var(--dr-shadow)}
.dr-detail-assurance{border:1px solid rgba(0,135,129,.12);background:var(--dr-soft)}
.dr-detail-topic,.dr-detail-advice{border:1px solid rgba(0,135,129,.10);background:#fff;box-shadow:0 12px 30px rgba(19,71,74,.05)}
.dr-detail-note{border-left:3px solid var(--dr-teal);padding-left:18px}
.dr-photo-caption{font-style:italic}
.dr-promotions{background:linear-gradient(135deg,#0b7d77 0%,#009f98 100%)!important;color:#fff}
.dr-promotions .dr-accent{color:#fff}.dr-promotions .dr-eyebrow{color:#dff8f6!important}
.dr-promotions .dr-section-description{color:rgba(255,255,255,.82)!important}
.dr-promotions .dr-btn-section .elementor-button{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.24)!important;color:#fff!important;box-shadow:none}
.dr-content-card{border:1px solid rgba(0,135,129,.10);background:#fff;box-shadow:0 12px 30px rgba(19,71,74,.07);transition:transform .24s,box-shadow .24s}
.dr-content-card:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(0,92,88,.14)}
.dr-promotions .dr-content-card{border-color:rgba(255,255,255,.15);box-shadow:0 14px 34px rgba(0,50,47,.14)}
.dr-card-media{background:linear-gradient(135deg,#e7f5f4,#fdfefe)}
.dr-card-photo img{transition:transform .45s ease}
.dr-content-card:hover .dr-card-photo img{transform:scale(1.045)}
.dr-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,73,69,.18) 100%);pointer-events:none}
.dr-card-pill{background:rgba(255,255,255,.92);backdrop-filter:blur(6px);box-shadow:0 6px 18px rgba(0,71,68,.10)}
.dr-card-more{border-top:1px solid rgba(0,135,129,.08)}
.dr-card-arrow{transition:.2s}
.dr-content-card:hover .dr-card-arrow{background:var(--dr-teal)}
.dr-content-card:hover .dr-card-arrow .elementor-icon{color:#fff}
.dr-content-card:hover .dr-card-arrow{transform:translateX(2px)}
.dr-loop-grid .e-loop-item{height:100%}
.dr-loop-grid .e-loop-item>.dr-content-card{height:100%}
.dr-contact{background:linear-gradient(135deg,#055956 0%,#008c86 60%,#00a19a 100%)!important;color:#fff}
.dr-contact-intro .dr-eyebrow{color:#f1d39f!important}
.dr-contact-description{color:rgba(255,255,255,.82)!important}
.dr-contact-card{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);transition:.2s}
.dr-contact-card:hover{background:rgba(255,255,255,.14)}
.dr-contact-label{color:rgba(255,255,255,.68)!important}
.dr-footer{background:linear-gradient(135deg,#055956,#014847)!important;color:rgba(255,255,255,.84)}
.dr-footer-caption{color:rgba(255,255,255,.74)!important}
.dr-footer-bottom{border-top:1px solid rgba(255,255,255,.11)}
.dr-footer-nav .elementor-nav-menu{flex-wrap:wrap}
.dr-page-title{background:linear-gradient(135deg,#f6fbfb,#e7f6f5)!important}
.dr-single-content{font-size:20px;line-height:1.75;color:#365d63}
.dr-single-content p{margin:0 0 24px}
.dr-doctor-card{border:1px solid rgba(0,135,129,.10);background:linear-gradient(180deg,#fff,#fbfefe);box-shadow:0 12px 34px rgba(28,63,67,.06)}
@media(max-width:1180px){.dr-header-actions .dr-btn-outline{display:none}.dr-nav .elementor-nav-menu a{font-size:12.5px!important}}
@media(max-width:700px){.dr-content-card:not(.dr-list-card) .dr-card-media{min-height:175px!important}.dr-content-card:not(.dr-list-card) .dr-card-photo img{height:100%;min-height:175px}.dr-content-card:not(.dr-list-card) .dr-card-title .elementor-heading-title{font-size:18px!important}.dr-content-card:not(.dr-list-card) .dr-card-excerpt{font-size:13px!important}.dr-card-pill{padding:4px 8px!important;top:9px!important;left:9px!important}.dr-pill-copy{font-size:9px!important}}
@media(max-width:900px){.dr-detail-photo img{height:400px}}
@media(max-width:580px){.dr-hero-actions .elementor-button{width:100%}.dr-doctor-badge{padding:8px 9px!important}.dr-doctor-badge.one{left:3%!important}.dr-doctor-badge-copy{font-size:9px!important}.dr-service-photo,.dr-service-photo>.elementor-widget-container,.dr-service-photo img{height:100%;min-height:155px}.dr-detail-photo img{height:310px}}
.dr-booking-link{border:1px solid transparent;background:linear-gradient(135deg,var(--dr-teal),var(--dr-dark));box-shadow:0 14px 30px rgba(0,111,107,.20);transition:transform .22s}
.dr-booking-link:hover{transform:translateY(-2px)}
.dr-footer-bottom .dr-text{color:rgba(255,255,255,.84)!important}
.dr-service-body>.elementor-widget-text-editor:nth-child(3){min-height:38px}
@media(max-width:580px){.dr-service-body>.elementor-widget-text-editor:nth-child(3){min-height:0}}

/* Service-only post/list layouts. Global Kit and other pages are not changed. */
.dr-services-listing,.dr-service-post{--dr-teal:#00a19a;--dr-dark:#006965;--dr-ink:#113d45;--dr-muted:#5f7679;--dr-soft:#edf8f7}
.dr-service-list-intro{max-width:800px}
.dr-service-eyebrow{letter-spacing:.12em}
.dr-service-list-title{margin:10px 0 16px!important}
.dr-service-list-cards{border-top:0}
.dr-service-list-cards .elementor-loop-container,.dr-service-related .elementor-loop-container{align-items:stretch}
.dr-service-loop .e-loop-item{height:100%}
.dr-service-post-card{height:100%;min-width:0;border:1px solid rgba(0,128,123,.12);background:#fff;box-shadow:0 12px 32px rgba(3,74,74,.07);transition:transform .22s,box-shadow .22s;cursor:pointer}
.dr-service-post-card:hover{transform:translateY(-5px);box-shadow:0 22px 42px rgba(3,74,74,.14)}
.dr-service-card-media{height:230px;background:#e8f7f6}
.dr-service-card-media .elementor-widget-image,.dr-service-card-media .elementor-widget-container{height:100%}
.dr-service-card-media img{display:block;width:100%;height:230px;object-fit:cover;transition:transform .3s}
.dr-service-post-card:hover .dr-service-card-media img{transform:scale(1.035)}
.dr-service-card-content{min-height:245px;display:flex;flex-direction:column}
.dr-service-card-cat p{font-size:11px;letter-spacing:.04em;font-weight:700}
.dr-service-card-title{margin:8px 0 10px!important}
.dr-service-card-title .elementor-heading-title{font-size:21px;line-height:1.3}
.dr-service-card-excerpt{font-size:14px;line-height:1.6;color:#5f7679;min-height:44px}
.dr-service-card-more{border-top:1px solid #e3efee;padding-top:14px}
.dr-service-card-arrow .elementor-heading-title{font-size:23px}
.dr-service-post-hero{background:linear-gradient(135deg,#f6fcfb,#e2f5f3)!important}
.dr-service-post-hero-copy{max-width:650px}
.dr-service-post-title .elementor-heading-title{letter-spacing:-.035em}
.dr-service-post-deck{padding-left:18px;border-left:3px solid #00a19a}
.dr-service-hero-label{letter-spacing:.08em;text-transform:uppercase}
.dr-service-overview{max-width:600px;line-height:1.8}
.dr-service-post-cover img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:24px;box-shadow:0 20px 44px rgba(4,88,84,.13)}
.dr-service-post-actions{justify-content:flex-start}
.dr-service-reviews{border-top:1px solid #d7eceb}
.dr-service-review-gallery .gallery{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:0!important}
.dr-service-review-gallery .gallery-item{float:none!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.dr-service-review-gallery .gallery-icon{width:100%}
.dr-service-review-gallery .gallery-icon img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border:0!important;border-radius:18px;box-shadow:0 8px 24px rgba(4,88,84,.10);transition:transform .2s}
.dr-service-review-gallery .gallery-icon a:hover img{transform:translateY(-3px)}
.dr-service-contact{background:linear-gradient(135deg,#055956,#014847)!important}
.dr-service-contact-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);transition:background .2s}
.dr-service-contact-card:hover{background:rgba(255,255,255,.17)}
.dr-service-contact-card .elementor-heading-title{color:#fff}
.dr-service-contact-intro{max-width:800px}
.dr-service-related{border-top:1px solid #e3efee}
@media(max-width:900px){.dr-service-list-cards .elementor-loop-container,.dr-service-related .elementor-loop-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dr-service-review-gallery .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.dr-service-list-cards .elementor-loop-container,.dr-service-related .elementor-loop-container{grid-template-columns:1fr!important}.dr-service-contact-grid{grid-template-columns:1fr!important}.dr-service-card-media,.dr-service-card-media img{height:225px}.dr-service-card-content{min-height:0}.dr-service-card-excerpt{min-height:0}.dr-service-review-gallery .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dr-service-contact-value .elementor-heading-title{font-size:18px!important}}
