
:root{--boyodo-blue:#0a63d8;--boyodo-indigo:#0100dc;--boyodo-teal:#00b89c;--boyodo-ink:#0b2038;--boyodo-muted:#61748a;--boyodo-bg:#f3faff;--boyodo-line:#d8e7f0;--boyodo-card:#fff;--boyodo-radius:24px;--boyodo-shadow:0 1px 2px rgba(18,54,85,.06),0 18px 45px -28px rgba(13,72,126,.38);--boyodo-motion:.22s cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth}body{background:var(--boyodo-bg);color:var(--boyodo-ink);font-family:'Plus Jakarta Sans',sans-serif}.font-fira-sans{font-family:'Plus Jakarta Sans',sans-serif!important}h1,h2,h3,h4,h5,h6{font-family:'Sora',sans-serif}.main_content{min-height:70vh}a,button,input,select{transition:color var(--boyodo-motion),background var(--boyodo-motion),border-color var(--boyodo-motion),box-shadow var(--boyodo-motion),transform var(--boyodo-motion)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(1,0,220,.2);outline-offset:3px}
nav{position:sticky;top:0;z-index:40!important;background:rgba(250,253,255,.92);backdrop-filter:blur(18px);border-color:var(--boyodo-line)!important;box-shadow:0 8px 30px -26px #123655}.boyodo-logo{object-position:left center}.boyodo-shell{width:min(1152px,calc(100% - 32px));margin-inline:auto}.boyodo-hero{position:relative;overflow:hidden;padding:72px 0 80px;}.boyodo-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(10,99,216,.12) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(to bottom,black,transparent 82%)}.boyodo-hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;}.boyodo-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#fff;color:var(--boyodo-blue);font-weight:700;box-shadow:var(--boyodo-shadow)}.boyodo-hero h1{max-width:720px;margin:20px 0 16px;font-size:clamp(38px,5vw,68px);line-height:1.04;letter-spacing:-2.4px;font-weight:800}.boyodo-hero h1 span{color:var(--boyodo-blue)}.boyodo-search{display:grid;grid-template-columns:1fr .8fr auto;gap:8px;margin-top:28px;padding:10px;background:#fff;border:1px solid var(--boyodo-line);}.boyodo-search label{padding:4px 14px}.boyodo-search label+label{border-left:1px solid var(--boyodo-line)}.boyodo-search label>span{display:block;margin-bottom:5px;color:var(--boyodo-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.boyodo-search label div{display:flex;align-items:center;gap:9px}.boyodo-search input{width:100%;border:0!important;padding:2px!important;background:transparent!important;font-size:14px;box-shadow:none!important}.boyodo-search button,.boyodo-primary{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:9px;padding:0 22px;border-radius:18px;background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal));color:#fff;font-weight:700;box-shadow:0 16px 30px -18px rgba(1,0,220,.65)}.boyodo-search button:hover,.boyodo-primary:hover{transform:translateY(-2px);box-shadow:0 20px 36px -18px rgba(1,0,220,.75)}.boyodo-trust-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;color:var(--boyodo-muted);font-size:12px;font-weight:600}.boyodo-trust-row i{color:var(--boyodo-teal);margin-right:5px}.boyodo-hero-visual{position:relative;padding:24px;transform:rotate(1.5deg)}.boyodo-hero-visual>img{transform:rotate(-1.5deg)}.boyodo-float-card{position:absolute;display:flex;align-items:center;gap:12px;min-width:210px;padding:14px 16px;border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(10px);transform:rotate(-1.5deg)}.boyodo-float-card i{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#e9f6ff;color:var(--boyodo-blue)}.boyodo-float-card span{font-size:11px;color:var(--boyodo-muted)}.boyodo-float-card strong{display:block;color:var(--boyodo-ink);font-size:13px}.boyodo-float-top{top:45px;left:-32px}.boyodo-float-bottom{right:-28px;bottom:48px}
.boyodo-results .mainDiv{position:relative}.boyodo-doctor-card{height:100%;padding:18px;border:1px solid var(--boyodo-line);border-radius:var(--boyodo-radius);background:#fff;box-shadow:var(--boyodo-shadow);transition:transform var(--boyodo-motion),box-shadow var(--boyodo-motion)}.boyodo-doctor-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px -34px rgba(13,72,126,.55)}.boyodo-doctor-head{display:flex;gap:14px;align-items:center}.boyodo-doctor-head img{width:78px;height:78px;flex:0 0 78px;border:3px solid #e4f5ff;border-radius:22px;object-fit:cover}.boyodo-doctor-name{font:700 17px/1.25 'Sora',sans-serif}.boyodo-speciality{margin-top:4px;color:var(--boyodo-blue);font-size:12px;font-weight:700}.boyodo-rating{margin-top:6px;color:var(--boyodo-muted);font-size:12px}.boyodo-rating i{color:#f5a524}.boyodo-fee-row{display:flex;justify-content:space-between;gap:12px;margin:16px 0;padding:12px 14px;border-radius:16px;background:#edf8ff;font-size:12px;color:var(--boyodo-muted)}.boyodo-fee-row strong{display:block;margin-top:2px;color:var(--boyodo-ink);font-size:16px}.boyodo-chamber{min-height:70px}.boyodo-chamber-name{font-size:12px;font-weight:700}.boyodo-address{margin-top:5px;color:var(--boyodo-muted);font-size:11px;line-height:1.5}.boyodo-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.boyodo-card-actions a{display:flex;min-height:44px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--boyodo-line);border-radius:15px;color:var(--boyodo-blue);font-weight:700}.boyodo-card-actions a:first-child{border:0;background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal));color:#fff}.boyodo-direction{grid-column:1/-1!important;background:#fff!important;color:var(--boyodo-ink)!important;border:1px solid var(--boyodo-line)!important}.boyodo-filter-shell{border:1px solid var(--boyodo-line);border-radius:22px;background:#fff;box-shadow:var(--boyodo-shadow)}
@media(max-width:767px){body{padding-bottom:70px}nav{padding:7px 10px!important}.boyodo-shell{width:min(100% - 24px,1152px)}.boyodo-hero-grid{grid-template-columns:1fr;gap:28px}.boyodo-hero h1{font-size:38px;letter-spacing:-1.5px}.boyodo-search label{padding:7px 10px}.boyodo-search label+label{border-left:0;border-top:1px solid var(--boyodo-line);padding-top:10px}.boyodo-hero-visual{padding:15px;}.boyodo-float-card{min-width:170px;padding:10px}.boyodo-float-top{top:28px;left:-8px}.boyodo-float-bottom{right:-8px;bottom:28px}.boyodo-trust-row{gap:10px}.boyodo-doctor-card{padding:15px}.boyodo-card-actions{position:relative}.main_content{overflow:visible!important}#mobile-menu-language-select{position:absolute;padding:8px;border-radius:20px;background:#fff;box-shadow:var(--boyodo-shadow)}#mobile-menu-language-select ul{margin:0;border:0}.paymentDiv{min-height:72px}.Appointment-detail{border:0!important;border-radius:24px;background:#fff;box-shadow:var(--boyodo-shadow)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.boyodo-features{padding:76px 0}.boyodo-section-heading{max-width:690px;margin:0 auto 32px;text-align:center}.boyodo-section-heading h2{font-size:clamp(28px,4vw,44px);line-height:1.12;letter-spacing:-1.4px}.boyodo-section-heading p{color:var(--boyodo-muted);}.boyodo-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.boyodo-feature-card{padding:22px;border:1px solid var(--boyodo-line);border-radius:22px;background:#fff;box-shadow:var(--boyodo-shadow)}.boyodo-feature-card>i{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:linear-gradient(145deg,#e8f2ff,#e3fffa);color:var(--boyodo-blue);font-size:18px}.boyodo-feature-card h3{margin:16px 0 7px;font-size:15px}.boyodo-feature-card p{color:var(--boyodo-muted);}
@media(max-width:900px){.boyodo-feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.boyodo-features{padding:48px 0}.boyodo-feature-grid{grid-template-columns:1fr}.boyodo-feature-card{display:grid;grid-template-columns:46px 1fr;column-gap:14px}.boyodo-feature-card h3{margin:2px 0 5px}.boyodo-feature-card p{grid-column:2}}
.boyodo-results input,.boyodo-results select,.Appointment-detail input,.Appointment-detail select,.Appointment-detail textarea{border-radius:12px!important;min-height:44px}.boyodo-results button,.Appointment-detail button{border-radius:16px}.Appointment-detail{margin-top:18px;border-radius:24px!important;background:#fff;box-shadow:var(--boyodo-shadow);overflow:hidden}.Appointment-detail .paymentDiv{border-radius:18px;border-color:var(--boyodo-line)!important}.Appointment-detail .activePayment{border-color:var(--boyodo-blue)!important;box-shadow:0 0 0 3px rgba(10,99,216,.1)}

/* Responsive application shell */
.boyodo-mobile-nav{display:none}.boyodo-filter-toggle{display:none}.boyodo-page input[type=checkbox],.boyodo-page input[type=radio]{min-width:18px!important;width:18px!important;height:18px!important;min-height:18px!important;padding:0!important;border-radius:5px!important;float:none!important;vertical-align:middle}.boyodo-page input[type=radio]{border-radius:999px!important}.boyodo-page .form-check{display:flex;align-items:center;gap:8px;min-height:32px}.boyodo-page .form-check label{margin:0!important;line-height:1.35!important}.boyodo-page-pharmacy .dispPharmacy,.boyodo-page-labs .dispLabs{gap:16px}.boyodo-page-pharmacy .mainDiv1,.boyodo-page-labs .mainDiv1{border:1px solid var(--boyodo-line)!important;border-radius:22px;background:#fff;box-shadow:var(--boyodo-shadow);overflow:hidden}.boyodo-page-pharmacy .hoverDoc,.boyodo-page-labs .hoverDoc{border-radius:22px!important}

@media(max-width:767px){
  .boyodo-page{font-size:16px}.boyodo-page footer{padding-bottom:16px}.boyodo-page>nav.boyodo-site-nav{padding:7px 12px!important}.boyodo-page>nav.boyodo-site-nav>div{margin:0!important}.boyodo-language{width:38px;height:42px;padding:0!important;font-size:0!important}.boyodo-language img{width:26px!important;height:26px!important;margin:0!important}.boyodo-cart{display:none}.boyodo-user-name{display:none}.boyodo-page #dropdownAvatarNameButton img{width:38px!important;height:38px!important;margin:0!important}.boyodo-page #dropdownAvatarNameButton svg{display:none!important}.boyodo-page>nav.boyodo-site-nav [data-collapse-toggle]{width:44px;height:44px;margin-left:4px!important;color:var(--boyodo-blue);display:inline-flex!important;align-items:center;justify-content:center}.boyodo-page>nav.boyodo-site-nav .md\:order-2{gap:6px}
  .boyodo-mobile-nav{position:fixed!important;top:auto!important;left:12px;right:12px;bottom:10px;height:auto!important;min-height:0!important;z-index:60!important;display:grid!important;grid-template-columns:repeat(4,1fr);padding:7px!important;border:1px solid rgba(216,231,240,.9)!important;border-radius:22px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 16px 50px -20px rgba(11,32,56,.5)!important;backdrop-filter:blur(18px)}.boyodo-mobile-nav a{display:flex;min-height:52px;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:16px;color:#64778b;font-size:10px;font-weight:700}.boyodo-mobile-nav a i{font-size:17px}.boyodo-mobile-nav a.active{background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal));color:#fff;box-shadow:0 12px 24px -16px var(--boyodo-indigo)}
  #mobile-menu-language-select{left:12px!important;right:12px!important;max-height:calc(100vh - 150px);overflow:auto}#mobile-menu-language-select ul{display:grid!important;gap:3px;padding:8px!important}#mobile-menu-language-select a{min-height:44px;display:flex!important;align-items:center;border-radius:12px!important;padding:10px 12px!important}
  .boyodo-page-doctors>.main_content>div:first-child{margin-bottom:16px!important;padding:32px 12px 26px!important}.boyodo-page-doctors>.main_content>div:first-child h1{font-size:34px!important;line-height:1.08!important;letter-spacing:-1px}.boyodo-page-doctors #searchForm>div{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:16px 0!important;margin:0!important}.boyodo-page-doctors #searchForm .relative,.boyodo-page-doctors #searchForm input,.boyodo-page-doctors #searchForm button{width:100%!important;max-width:none!important}.boyodo-page-doctors #searchForm input{height:50px!important;border-radius:15px!important;background:#fff!important}.boyodo-page-doctors #searchForm button{height:50px!important;border-radius:15px!important;background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal))!important}.boyodo-results>div.flex{display:block!important;padding-top:0!important}.boyodo-filter-shell{width:100%!important;margin:0 0 14px;padding:0!important;border-radius:18px!important}.boyodo-filter-toggle{display:grid;width:100%;grid-template-columns:34px 1fr 20px;align-items:center;column-gap:10px;padding:14px 16px;text-align:left;color:var(--boyodo-ink)}.boyodo-filter-toggle>i:first-child{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:#eaf7ff;color:var(--boyodo-blue)}.boyodo-filter-toggle span{font-weight:700}.boyodo-filter-toggle small{grid-column:2;color:var(--boyodo-muted);font-size:11px}.boyodo-filter-toggle>i:last-child{grid-column:3;grid-row:1/3}.boyodo-filter-form{display:none;padding:0 16px 16px}.boyodo-filter-form.is-open{display:block}.boyodo-filter-form select{width:100%!important}.boyodo-filter-form .form-check{display:grid!important;grid-template-columns:20px 1fr!important;padding:6px 0!important}.boyodo-filter-form input{margin:0!important}.boyodo-filter-form label{font-size:14px!important}.dispDoctor{padding:0!important;gap:12px!important}.boyodo-doctor-card{border-radius:20px}.boyodo-doctor-head img{width:68px;height:68px;flex-basis:68px}.boyodo-fee-row{margin:13px 0}.boyodo-chamber{min-height:auto}.boyodo-card-actions{margin-top:12px}
  .boyodo-page-pharmacy>.main_content>div:first-child,.boyodo-page-labs>.main_content>div:first-child{margin:0 0 18px!important;padding:34px 16px 28px!important;border:0!important;background:linear-gradient(145deg,#effaff,#f7fdff)}.boyodo-page-pharmacy>.main_content>div:first-child h1,.boyodo-page-labs>.main_content>div:first-child h1{font-size:34px!important;line-height:1.08!important;letter-spacing:-1px}.boyodo-page-pharmacy #searchForm>div,.boyodo-page-labs #searchForm>div{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0!important;padding:16px 0 0!important}.boyodo-page-pharmacy #searchForm .relative,.boyodo-page-labs #searchForm .relative,.boyodo-page-pharmacy #searchForm input,.boyodo-page-labs #searchForm input,.boyodo-page-pharmacy #searchForm button,.boyodo-page-labs #searchForm button{width:100%!important;max-width:none!important}.boyodo-page-pharmacy #searchForm input,.boyodo-page-labs #searchForm input{height:50px!important;border-radius:15px!important;background:#fff}.boyodo-page-pharmacy #searchForm button,.boyodo-page-labs #searchForm button{height:50px!important;border-radius:15px!important;background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal))!important}.boyodo-page-pharmacy>.main_content>.xl\:w-3\/4,.boyodo-page-labs>.main_content>.xl\:w-3\/4{width:calc(100% - 24px)!important;margin-inline:auto!important}.boyodo-page-pharmacy>.main_content>.xl\:w-3\/4>div,.boyodo-page-labs>.main_content>.xl\:w-3\/4>div{display:block!important;padding-top:0!important}.boyodo-page-pharmacy #filter_form,.boyodo-page-labs #filter_form{margin:0 0 14px;padding:12px 14px;border:1px solid var(--boyodo-line);border-radius:18px;background:#fff;box-shadow:var(--boyodo-shadow)}.boyodo-page-pharmacy #filter_form>div,.boyodo-page-labs #filter_form>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.boyodo-page-pharmacy #filter_form h1,.boyodo-page-labs #filter_form h1{width:100%;margin-bottom:4px}.boyodo-page-pharmacy #filter_form .form-check,.boyodo-page-labs #filter_form .form-check{min-height:38px;padding:8px 11px!important;border-radius:999px;background:#eef8fd}.boyodo-page-pharmacy .sm\:w-60,.boyodo-page-labs .sm\:w-60{width:100%!important;padding:0!important}.boyodo-page-pharmacy .dispPharmacy,.boyodo-page-labs .dispLabs{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:0!important}.boyodo-page-pharmacy .mainDiv,.boyodo-page-labs .mainDiv{width:100%!important}.boyodo-page-pharmacy .mainDiv1,.boyodo-page-labs .mainDiv1{display:block!important;height:auto!important;min-height:280px;padding:22px!important}.boyodo-page-pharmacy .hoverDoc,.boyodo-page-labs .hoverDoc{display:none!important}
  .boyodo-page-login>.main_content>.xl\:w-3\/4,.boyodo-page-signup>.main_content>.xl\:w-3\/4{width:calc(100% - 24px)!important}.boyodo-page-login>.main_content .pt-20,.boyodo-page-signup>.main_content .pt-20{padding-top:24px!important;padding-bottom:40px!important;gap:18px!important}.boyodo-page-login>.main_content .bg-slate-100,.boyodo-page-signup>.main_content .bg-slate-100{padding:22px!important;border-radius:22px;background:linear-gradient(145deg,#edf8ff,#f8fdff)!important}.boyodo-page-login>.main_content .bg-slate-100 h1,.boyodo-page-signup>.main_content .bg-slate-100 h1{margin-bottom:18px!important;font-size:25px!important;line-height:1.35!important}.boyodo-page-login>.main_content .bg-slate-100 img,.boyodo-page-signup>.main_content .bg-slate-100 img{max-height:230px;object-fit:cover;border-radius:18px}.boyodo-page-login form input,.boyodo-page-signup form input,.boyodo-page-signup form select{min-height:48px;border-radius:14px!important;background:#fff}.boyodo-page-login form button,.boyodo-page-signup form button{min-height:48px;border-radius:14px!important;background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal))!important}.boyodo-page-login form>.flex{flex-wrap:wrap;gap:10px}.boyodo-page-login form>.flex>div{width:100%;text-align:left}
  .boyodo-doctor-detail-page{margin:0!important;padding:16px 12px 40px}.boyodo-doctor-detail-page>.xl\:w-3\/4{width:100%!important;margin:0!important}.boyodo-doctor-detail-page>.xl\:w-3\/4:first-child{margin-top:0!important}.boyodo-doctor-detail-page>.xl\:w-3\/4:first-child>div{display:grid!important;grid-template-columns:1fr!important;border:0!important;border-radius:22px;overflow:hidden;box-shadow:var(--boyodo-shadow)}.boyodo-doctor-detail-page .bg-white-50{width:100%!important;height:auto!important;min-height:0!important}.boyodo-doctor-detail-page .overflow-y-scroll{height:auto!important;overflow:visible!important;padding:18px 0}.boyodo-doctor-detail-page .items-end{align-items:flex-start!important;margin:0!important;padding:0 20px 20px}.boyodo-doctor-detail-page .mt-40{margin-top:16px!important}.boyodo-doctor-detail-page>.xl\:w-3\/4:last-child>div{display:block!important}.boyodo-doctor-detail-page>.xl\:w-3\/4:last-child>div>div{width:100%!important;border-right:0!important}.boyodo-doctor-detail-page p{font-size:14px!important;line-height:1.65!important}
  .boyodo-booking-page{width:calc(100% - 24px)!important;margin:auto!important}.boyodo-booking-page>.xsm\:mx-4{margin:0!important;padding-top:24px!important}.boyodo-booking-page>div>h1{font-size:30px!important}.boyodo-booking-page .Appointment-detail{border-radius:20px!important}.boyodo-booking-page #step1,.boyodo-booking-page #step2,.boyodo-booking-page #step3{padding:16px!important}.boyodo-booking-page .progress-container{transform:scale(.9)}.boyodo-booking-page .grid{gap:12px!important}.boyodo-booking-page label{font-size:13px!important}.boyodo-booking-page .paymentDiv{height:auto!important;min-height:82px}.boyodo-booking-page button{width:100%;min-height:48px}
}

/* 2026-08-23 homepage premium polish */
.boyodo-site-nav{
  position:sticky!important;top:0!important;z-index:60!important;
  background:rgba(255,255,255,.94)!important;backdrop-filter:blur(18px)!important;
  box-shadow:0 12px 34px -30px rgba(9,33,59,.45)!important;
}
.boyodo-logo{width:76px!important;height:auto!important;object-fit:contain!important}
.boyodo-header-phone{min-height:44px!important;padding:0 12px!important;border-radius:999px!important;background:#f4f8ff!important;font-weight:800!important;gap:7px!important}
.boyodo-signin-btn{align-items:center!important;justify-content:center!important;padding:0 22px!important;background:linear-gradient(135deg,#093df1,#1559b7)!important;color:#fff!important;font-weight:900!important;box-shadow:0 14px 30px -18px rgba(9,61,241,.75)!important}
.boyodo-hero{padding-top:54px!important;background:radial-gradient(circle at 74% 8%,rgba(0,194,255,.18),transparent 28rem),linear-gradient(180deg,#f8fcff,#eef7ff)!important}
.boyodo-hero-grid{align-items:center!important;gap:42px!important}
.boyodo-hero-copy h1{max-width:680px!important;font-size:clamp(44px,5vw,76px)!important;line-height:.96!important;letter-spacing:-2.8px!important}
.boyodo-hero-copy>p{max-width:640px!important;font-size:21px!important;line-height:1.55!important;color:#435b78!important}
.boyodo-search{border-radius:28px!important;box-shadow:0 24px 70px -48px rgba(9,33,59,.55)!important}
.boyodo-hero-visual{min-height:560px!important;border-radius:42px!important;overflow:visible!important;background:linear-gradient(145deg,#093df1,#0868dd)!important;box-shadow:0 32px 90px -58px rgba(9,61,241,.8)!important}
.boyodo-hero-visual>img{position:absolute!important;inset:44px!important;width:calc(100% - 88px)!important;height:calc(100% - 88px)!important;border-radius:34px!important;object-fit:cover!important;background:#fff!important}
.boyodo-hero-doctor-card{left:44px!important;right:44px!important;bottom:38px!important;display:grid!important;gap:3px!important;padding:17px 19px!important;border-radius:22px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(16px)!important;box-shadow:0 22px 50px -30px rgba(9,33,59,.75)!important;}
.boyodo-hero-doctor-card span{width:max-content!important;padding:5px 9px!important;border-radius:999px!important;background:#e8f8ef!important;color:#0b7c45!important;font-size:12px!important;font-weight:900!important}
.boyodo-hero-doctor-card strong{font-size:22px!important;line-height:1.1!important}
.boyodo-hero-doctor-card small{font-size:14px!important;color:#536983!important}
.boyodo-float-card{border-radius:22px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 22px 50px -32px rgba(9,33,59,.65)!important}
.boyodo-discovery-hero{position:relative!important;overflow:hidden!important;min-height:420px!important;border-radius:34px!important;background:#073fe8!important;box-shadow:0 26px 80px -54px rgba(9,61,241,.85)!important}
.boyodo-discovery-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,26,180,.96) 0%,rgba(6,70,220,.9) 42%,rgba(6,70,220,.18) 100%);z-index:1}
.boyodo-discovery-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.86}
.boyodo-discovery-hero>div{position:relative!important;z-index:2!important}
.boyodo-discovery-hero>img{display:none!important}
.boyodo-discovery-hero h2{font-size:clamp(44px,6vw,82px)!important;line-height:.98!important;letter-spacing:-2.5px!important}
.boyodo-service-grid{z-index:3!important;margin-top:-26px!important;background:rgba(255,255,255,.94)!important;border:1px solid #d9e8f1!important;border-radius:28px!important;box-shadow:0 22px 62px -44px rgba(9,33,59,.55)!important}
.boyodo-market-section{padding-top:54px!important}
/* Clamp floor was 30px, which is what actually rendered on every phone (3vw is
   11px at 375px, so the floor always wins) and it was 2px larger than the 28px
   every other mobile section heading uses (see .boyodo-section-heading h2 in the
   <=767px block below). Lowering the floor rather than adding a mobile override
   keeps this at one declaration instead of two competing ones. */
.boyodo-market-heading h2{font-size:clamp(28px,3vw,44px)!important;letter-spacing:-1.3px!important}
.boyodo-speciality-rail,.boyodo-doctor-rail{gap:18px!important;padding-bottom:14px!important}
.boyodo-market-doctor{min-width:360px!important;border-radius:28px!important;padding:18px!important;background:#fff!important;box-shadow:0 22px 60px -44px rgba(9,33,59,.7)!important}

.boyodo-market-doctor h3{margin:4px 0!important}
.boyodo-market-doctor-action a{border-radius:16px!important;background:linear-gradient(135deg,#073ff1,#0d61ce)!important;color:#fff!important}
.boyodo-map-section{margin-top:64px!important;margin-bottom:90px!important}
@media(max-width:767px){
  .boyodo-site-nav{padding:7px 10px!important}
  .boyodo-logo{width:58px!important}
  .boyodo-header-phone{font-size:0!important;width:42px!important;padding:0!important;justify-content:center!important}
  .boyodo-signin-btn{min-height:42px!important;padding:0 17px!important;border-radius:16px!important}
  .boyodo-hero{padding:22px 0 26px!important}
  .boyodo-hero-grid{display:block!important}
  .boyodo-hero-copy{padding:0 16px!important}
  .boyodo-hero-copy h1{font-size:39px!important;line-height:1.03!important;letter-spacing:-1.5px!important}
  .boyodo-hero-copy>p{font-size:16px!important;line-height:1.55!important}
  .boyodo-search{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:16px!important;border-radius:22px!important}
  .boyodo-search button{width:100%!important;min-height:52px!important;border-radius:17px!important}
  .boyodo-hero-visual{margin:22px 12px 0!important;min-height:390px!important;border-radius:28px!important}
  .boyodo-hero-visual>img{inset:18px!important;width:calc(100% - 36px)!important;height:calc(100% - 36px)!important;border-radius:22px!important}
  .boyodo-hero-doctor-card{left:26px!important;right:26px!important;bottom:24px!important;padding:14px!important}
  .boyodo-hero-doctor-card strong{font-size:18px!important}
  .boyodo-float-card{display:none!important}
  .boyodo-discovery{margin-top:8px!important}
  .boyodo-discovery-hero{border-radius:26px!important}
  .boyodo-discovery-hero:before{background:linear-gradient(180deg,rgba(3,26,180,.92),rgba(6,70,220,.58))!important}
  .boyodo-service-grid{display:grid!important;border-radius:22px!important}
  .boyodo-service-link{padding:8px 2px!important}
  .boyodo-service-link span{font-size:11px!important;line-height:1.15!important}
  .boyodo-market-doctor{min-width:292px!important}
  .boyodo-map-section{margin-top:40px!important}
}

/* 2026-08-23 urgent booking calendar polish.
   Keep this at EOF: older theme rules define the booking strip multiple times. */
.boyodo-page-booking .slot-heading{
  margin-top:22px!important;
}
.boyodo-page-booking .booking-chamber-choice{
  padding:16px!important;
  border:1px solid #dce9f4!important;
  border-radius:22px!important;
  background:#f7fbff!important;
}
.boyodo-page-booking .booking-chamber-option{
  grid-template-columns:24px minmax(0,1fr) auto!important;
  border-radius:18px!important;
  background:#fff!important;
}
.boyodo-page-booking .booking-chamber-body strong,
.boyodo-page-booking .booking-chamber-body small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:767px){
  .boyodo-page-booking .booking-main{
    width:calc(100% - 20px)!important;
    padding-top:20px!important;
  }
  .boyodo-page-booking .booking-intro h1{
    font-size:25px!important;
  }
  .boyodo-page-booking .booking-chamber-option{
    grid-template-columns:24px minmax(0,1fr)!important;
  }
  .boyodo-page-booking .booking-chamber-option>a{
    grid-column:2!important;
  }
}
.boyodo-doctor-detail-page a[href*="booking"]{display:inline-flex!important;min-height:46px;align-items:center;justify-content:center;padding:10px 18px!important;border-radius:15px!important;background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal))!important;color:#fff!important;text-decoration:none!important}.boyodo-doctor-detail-page .fa-comment{font-size:16px!important}.boyodo-doctor-detail-page h1{overflow-wrap:anywhere}.boyodo-doctor-detail-page h1:has(.fa-comment){font-size:18px!important;line-height:1.4!important}.boyodo-doctor-detail-page .text-primary.text-xl,.boyodo-doctor-detail-page h1.text-primary{font-size:24px!important}
@media(max-width:767px){.boyodo-home-banners,.boyodo-home-doctors,.boyodo-home-specialities{margin-top:38px!important;margin-bottom:44px!important}.boyodo-home-banners>div,.boyodo-home-doctors>div.grid,.boyodo-home-specialities>div>div.grid{display:flex!important;grid-template-columns:none!important;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:4px 4px 18px;scrollbar-width:none}.boyodo-home-banners>div::-webkit-scrollbar,.boyodo-home-doctors>div.grid::-webkit-scrollbar,.boyodo-home-specialities>div>div.grid::-webkit-scrollbar{display:none}.boyodo-home-banners>div>a,.boyodo-home-doctors>div.grid>a{min-width:255px;scroll-snap-align:start}.boyodo-home-banners>div>a>div{width:255px!important;height:230px!important;padding:36px 18px!important;border:1px solid var(--boyodo-line);border-radius:22px;box-shadow:var(--boyodo-shadow)!important}.boyodo-home-doctors>div.grid>a>div{height:300px;padding:28px 18px!important;border-radius:22px;background:#fff;box-shadow:var(--boyodo-shadow)}.boyodo-home-doctors>div:first-child{margin-top:0!important}.boyodo-home-specialities{margin-left:-20px!important;margin-right:-20px!important;width:calc(100% + 40px)!important;padding:28px 20px!important}.boyodo-home-specialities>div{padding:0!important}.boyodo-home-specialities>div>div.grid>div{min-width:250px;min-height:230px;padding:26px!important;scroll-snap-align:start;border-radius:22px}.boyodo-home-specialities>div>div.grid>div:first-child{min-width:285px}.boyodo-home-specialities .hover\:scale-110:hover{transform:none!important}}.boyodo-discovery{margin-top:28px}.boyodo-discovery-hero{display:grid;grid-template-columns:1.05fr .95fr;color:#fff}.boyodo-discovery-hero>div{padding:50px}.boyodo-eyebrow-light{background:rgba(255,255,255,.14);color:#fff}.boyodo-discovery-hero h2{max-width:620px;margin:20px 0 12px;color:#fff;font:800 clamp(38px,5vw,68px)/1.02 'Sora',sans-serif;}.boyodo-discovery-hero p{max-width:610px;color:rgba(255,255,255,.9);font-size:16px}.boyodo-discovery-hero>img{width:100%;height:100%;min-height:350px;object-fit:cover;object-position:center}.boyodo-white-cta{display:inline-flex;min-height:50px;align-items:center;gap:18px;margin-top:26px;padding:0 25px;border-radius:18px;background:#fff;color:var(--boyodo-ink);font-weight:800;box-shadow:var(--boyodo-shadow)}.boyodo-service-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;padding:18px;}.boyodo-service-link{position:relative;display:flex;min-height:92px;flex-direction:column;align-items:center;justify-content:center;gap:9px;border-radius:18px;color:var(--boyodo-muted);font-size:12px;font-weight:700;transition:background var(--boyodo-motion),color var(--boyodo-motion),transform var(--boyodo-motion)}.boyodo-service-link>i{display:grid;width:46px;height:46px;place-items:center;border-radius:16px;background:#e5f5fd;color:var(--boyodo-blue);font-size:18px}.boyodo-service-link:nth-child(3n+2)>i{background:#dcf7ef;color:#029c78}.boyodo-service-link:nth-child(3n)>i{background:#fff1df;color:#e19220}.boyodo-service-link:hover{background:#f2f9fd;color:var(--boyodo-ink);transform:translateY(-2px)}.boyodo-service-link small{position:absolute;top:5px;right:7px;color:#c27a11}.boyodo-market-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.boyodo-market-heading span{display:block;margin-bottom:4px;color:var(--boyodo-teal);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.boyodo-market-heading h2{font:800 clamp(24px,3vw,34px)/1.15 'Sora',sans-serif;}.boyodo-market-heading>a{display:flex;align-items:center;gap:9px;color:var(--boyodo-blue);font-size:13px;font-weight:800}.boyodo-speciality-rail,.boyodo-doctor-rail{display:flex;overflow-x:auto;padding:3px 2px 16px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b7dcea transparent}.boyodo-speciality-card{scroll-snap-align:start}.boyodo-speciality-card button{width:100%;cursor:pointer;transition:transform var(--boyodo-motion),box-shadow var(--boyodo-motion)}.boyodo-speciality-card button:hover{transform:translateY(-3px);box-shadow:var(--boyodo-shadow-lift)}.boyodo-speciality-card span{display:grid;width:58px;height:58px;margin:0 auto 13px;place-items:center;border-radius:19px;background:#e9f6fd}.boyodo-speciality-card img{width:34px;height:34px;object-fit:contain}.boyodo-speciality-card strong{display:block;}.boyodo-market-doctor{display:grid;flex:0 0 420px;grid-template-columns:78px 1fr auto;gap:14px;align-items:center;border:1px solid var(--boyodo-line);scroll-snap-align:start}.boyodo-market-doctor>img{width:78px;height:78px;border-radius:20px;object-fit:cover}.boyodo-market-doctor p{color:var(--boyodo-blue);font-weight:800}.boyodo-market-doctor h3{font:700 15px/1.25 'Sora',sans-serif}.boyodo-market-doctor span{color:var(--boyodo-muted);font-size:11px}.boyodo-market-doctor span i{color:#eca11b}.boyodo-market-doctor-action{padding-left:14px;border-left:1px solid var(--boyodo-line)}.boyodo-market-doctor-action small{display:block;color:var(--boyodo-muted);font-size:10px}.boyodo-market-doctor-action strong{display:block;margin:4px 0 8px;color:#07966e;font-size:18px}.boyodo-market-doctor-action a{display:block;padding:9px 13px;font-weight:800}.boyodo-chamber-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.boyodo-chamber-card{display:grid;grid-template-columns:62px 1fr auto;gap:15px;align-items:center;padding:18px;border:1px solid var(--boyodo-line);border-radius:22px;background:#fff;box-shadow:var(--boyodo-shadow)}.boyodo-chamber-card>i{display:grid;width:62px;height:62px;place-items:center;border-radius:20px;background:#dcf7ef;color:#05a37c;font-size:24px}.boyodo-chamber-card h3{font:700 15px/1.3 'Sora',sans-serif}.boyodo-chamber-card p{margin:4px 0;color:var(--boyodo-muted);}.boyodo-chamber-card strong{color:#07966e;font-size:11px}.boyodo-chamber-card>a{padding:10px 16px;border:1px solid var(--boyodo-line);border-radius:14px;color:var(--boyodo-ink);font-size:11px;font-weight:800}.boyodo-process{display:grid;grid-template-columns:1fr 310px;gap:16px;padding-top:56px;padding-bottom:70px}.boyodo-process-card{padding:26px;border:1px solid var(--boyodo-line);border-radius:26px;background:#fff;box-shadow:var(--boyodo-shadow)}.boyodo-process-card ol{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:8px 0 0;padding:0;list-style:none}.boyodo-process-card li{display:flex;gap:12px}.boyodo-process-card li>b{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-teal));color:#fff}.boyodo-process-card li strong,.boyodo-process-card li span{display:block}.boyodo-process-card li strong{font-size:12px}.boyodo-process-card li span{margin-top:4px;color:var(--boyodo-muted);font-size:10px;line-height:1.45}.boyodo-help-card{padding:26px;border-radius:26px;background:linear-gradient(145deg,var(--boyodo-blue),var(--boyodo-teal));color:#fff;box-shadow:var(--boyodo-shadow-lift)}.boyodo-help-card>i{font-size:25px}.boyodo-help-card h2,.boyodo-help-card h3{margin:12px 0 6px;color:#fff;font:800 22px/1.2 'Sora',sans-serif}.boyodo-help-card p{color:rgba(255,255,255,.84);}.boyodo-help-card a{gap:8px;margin-top:13px;color:#fff;font-weight:800}.boyodo-help-card a:first-of-type{padding:11px 13px;border-radius:14px;background:#fff;color:var(--boyodo-ink)}
@media(max-width:900px){.boyodo-discovery-hero{grid-template-columns:1fr}.boyodo-discovery-hero>img{position:absolute;inset:0 0 0 auto;width:48%;opacity:.25}.boyodo-service-grid{grid-template-columns:repeat(4,1fr)}.boyodo-chamber-grid{grid-template-columns:1fr}.boyodo-process{grid-template-columns:1fr}.boyodo-process-card ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.boyodo-discovery{margin-top:16px}.boyodo-discovery-hero{min-height:310px;border-radius:24px}.boyodo-discovery-hero>div{padding:28px 22px}.boyodo-discovery-hero h2{font-size:39px;letter-spacing:-1.5px}.boyodo-discovery-hero p{font-size:14px;line-height:1.55}.boyodo-discovery-hero>img{width:100%;object-position:70% center}.boyodo-service-grid{grid-template-columns:repeat(4,1fr);gap:2px;margin-top:10px;padding:9px 5px;border-radius:22px}.boyodo-service-link{min-height:82px;font-size:10px;text-align:center}.boyodo-service-link>i{width:42px;height:42px}.boyodo-market-section{padding-top:38px}.boyodo-market-heading{align-items:center}.boyodo-market-heading span{font-size:9px}.boyodo-market-heading h2{font-size:23px}.boyodo-market-heading>a{font-size:11px;white-space:nowrap}.boyodo-speciality-card{flex-basis:116px}.boyodo-speciality-card button{min-height:120px;border-radius:19px}.boyodo-speciality-card span{width:50px;height:50px}.boyodo-market-doctor{flex-basis:315px;grid-template-columns:66px 1fr}.boyodo-market-doctor>img{width:66px;height:72px}.boyodo-market-doctor-action{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:10px 0 0;border-top:1px solid var(--boyodo-line);border-left:0}.boyodo-market-doctor-action small{display:none}.boyodo-market-doctor-action strong{margin:0}.boyodo-chamber-card{grid-template-columns:52px 1fr;padding:14px}.boyodo-chamber-card>i{width:52px;height:52px}.boyodo-chamber-card>a{grid-column:1/-1;text-align:center}.boyodo-process{padding-top:38px;padding-bottom:95px}.boyodo-process-card{padding:20px}.boyodo-process-card ol{grid-template-columns:1fr;gap:15px}.boyodo-features{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.boyodo-service-link,.boyodo-speciality-card button{transition:none!important}.boyodo-service-link:hover,.boyodo-speciality-card button:hover{transform:none!important}}
.boyodo-service-grid{position:static!important;top:auto!important;height:auto!important;min-height:0!important}

/* Location discovery and patient account */
.boyodo-location-mini{display:grid!important;width:36px!important;height:36px!important;flex:0 0 36px;place-items:center!important;border:0!important;border-radius:12px!important;background:#e4f5ff!important;color:var(--boyodo-blue)!important;cursor:pointer}.boyodo-current-location{position:absolute;right:7px;top:54px;z-index:3;display:flex;min-height:34px;align-items:center;gap:6px;padding:0 10px;border:1px solid #bfe4f4;border-radius:11px;background:#fff;color:var(--boyodo-blue);font-size:10px;font-weight:800;box-shadow:var(--boyodo-shadow);cursor:pointer;white-space:nowrap}.boyodo-current-location[data-state=success]{border-color:#a7e8d2;color:#07845f}.boyodo-current-location[data-state=error]{border-color:#f3c7c7;color:#c44242}.boyodo-current-location:disabled{cursor:wait;opacity:.72}.boyodo-map-section{padding-top:56px}.boyodo-map-section .boyodo-market-heading button{display:flex;min-height:44px;align-items:center;gap:8px;padding:0 15px;border:1px solid #bfe4f4;border-radius:14px;background:#fff;color:var(--boyodo-blue);font-size:12px;font-weight:800;cursor:pointer}.boyodo-map-status{margin:-8px 0 13px;color:var(--boyodo-muted);}.boyodo-chambers-map{height:430px;overflow:hidden;border:6px solid #fff;border-radius:28px;background:#e7f5fb;box-shadow:var(--boyodo-shadow-lift)}.boyodo-map-popup{max-width:230px;padding:4px;font-family:'Plus Jakarta Sans',sans-serif}.boyodo-map-popup strong,.boyodo-map-popup span,.boyodo-map-popup b{display:block}.boyodo-map-popup strong{font-size:14px}.boyodo-map-popup span{margin:5px 0;color:#607286;font-size:11px}.boyodo-map-popup b{color:#07845f;font-size:11px}
.boyodo-patient-dashboard{padding-bottom:80px}.boyodo-patient-dashboard>div>div{gap:18px}.boyodo-patient-dashboard>div>div>div:first-child>div{border:1px solid var(--boyodo-line);border-radius:22px;background:#fff;box-shadow:var(--boyodo-shadow)}.boyodo-patient-content{border:1px solid var(--boyodo-line);border-radius:24px;background:#fff;box-shadow:var(--boyodo-shadow)!important}.boyodo-patient-content #myTab{gap:6px;padding:6px}.boyodo-patient-content #myTab button{min-height:44px;border:0!important;border-radius:14px;color:var(--boyodo-muted);font-weight:800}.boyodo-patient-content #myTab button[aria-selected=true]{background:#e7f6fc;color:var(--boyodo-blue)}.boyodo-patient-content table{border-collapse:separate;border-spacing:0 8px}.boyodo-patient-content tbody tr{background:#f8fbfd}.boyodo-patient-content tbody td:first-child{border-radius:14px 0 0 14px}.boyodo-patient-content tbody td:last-child{border-radius:0 14px 14px 0}.boyodo-patient-content td,.boyodo-patient-content th{vertical-align:middle}
@media(max-width:767px){.boyodo-current-location{position:static;width:100%;min-height:42px;justify-content:center;margin-top:7px}.boyodo-map-section{padding-top:38px}.boyodo-map-section .boyodo-market-heading{align-items:flex-start;flex-direction:column}.boyodo-map-section .boyodo-market-heading button{width:100%;justify-content:center}.boyodo-chambers-map{height:340px;border-width:4px;border-radius:22px}.boyodo-patient-dashboard{width:100%!important;padding:0 14px 90px}.boyodo-patient-dashboard>div{margin:0!important;padding-top:18px!important}.boyodo-patient-dashboard>div>div{display:block!important;margin-bottom:0!important}.boyodo-patient-dashboard>div>div>div:first-child{width:100%!important}.boyodo-patient-dashboard>div>div>div:first-child>div{width:100%!important;padding:12px!important}.boyodo-patient-dashboard>div>div>div:first-child>div>div:first-child{display:none}.boyodo-patient-dashboard .sidebar{display:flex!important;gap:6px;overflow-x:auto;padding:3px 2px 8px;scrollbar-width:none}.boyodo-patient-dashboard .sidebar::-webkit-scrollbar{display:none}.boyodo-patient-dashboard .sidebar li{flex:0 0 auto;padding:0!important;border:0!important;background:transparent!important}.boyodo-patient-dashboard .sidebar a{min-height:42px;padding:0 13px;border:1px solid var(--boyodo-line);border-radius:13px!important;background:#fff;font-size:12px;white-space:nowrap}.boyodo-patient-dashboard .sidebar li.active a{border-color:#b7e5f6;background:#e8f7fc;color:var(--boyodo-blue)}.boyodo-patient-content{width:100%!important;margin-top:14px!important;padding:10px!important;overflow:visible!important;border-radius:20px}.boyodo-patient-content>div{border:0!important}.boyodo-patient-content #myTab{display:flex;flex-wrap:nowrap;overflow-x:auto}.boyodo-patient-content #myTab li{flex:0 0 auto;margin:0}.boyodo-patient-content #myTab button{padding:0 13px!important;font-size:12px}.boyodo-patient-content [role=tabpanel]{padding:3px!important}.boyodo-patient-content .overflow-x-auto,.boyodo-patient-content .table-responsive,.boyodo-patient-content .overflow-hidden{overflow:visible!important}.boyodo-patient-content .table-responsive{padding:0!important}.boyodo-patient-content table.datatable,.boyodo-patient-content table.datatable tbody{display:block;width:100%!important;min-width:0!important}.boyodo-patient-content table.datatable thead{display:none}.boyodo-patient-content table.datatable tbody tr{display:block;margin:10px 0;padding:14px;border:1px solid var(--boyodo-line)!important;border-radius:18px;background:#fff;box-shadow:var(--boyodo-shadow)}.boyodo-patient-content table.datatable tbody td{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center;padding:7px 0!important;border:0!important;border-radius:0!important;text-align:right}.boyodo-patient-content table.datatable tbody td:before{color:var(--boyodo-muted);font-size:10px;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.04em}.boyodo-patient-content table.datatable tbody td:nth-child(1):before{content:'#'}.boyodo-patient-content table.datatable tbody td:nth-child(2):before{content:'Reference'}.boyodo-patient-content table.datatable tbody td:nth-child(3):before{content:'Document'}.boyodo-patient-content table.datatable tbody td:nth-child(4):before{content:'Date / details'}.boyodo-patient-content table.datatable tbody td:nth-child(5):before{content:'Amount'}.boyodo-patient-content table.datatable tbody td:nth-child(6):before{content:'Status'}.boyodo-patient-content table.datatable tbody td:nth-child(7):before{content:'Actions'}.boyodo-patient-content table.datatable tbody td>div{justify-content:flex-end;flex-wrap:wrap}.boyodo-patient-content table.datatable tbody td img{margin-left:auto}.boyodo-patient-content .dataTables_length,.boyodo-patient-content .dataTables_filter,.boyodo-patient-content .dataTables_info{font-size:11px}}

.boyodo-map-fallback{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(145deg,#eaf8f7,#e8f3ff)}.boyodo-map-grid{position:absolute;inset:-30px;background-image:linear-gradient(rgba(8,121,212,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(8,121,212,.08) 1px,transparent 1px);background-size:42px 42px;transform:rotate(-8deg) scale(1.15)}.boyodo-map-fallback:before,.boyodo-map-fallback:after{position:absolute;content:"";border-radius:999px;background:rgba(255,255,255,.8);transform:rotate(-18deg)}.boyodo-map-fallback:before{width:120%;height:34px;left:-10%;top:42%}.boyodo-map-fallback:after{width:75%;height:26px;right:-10%;top:18%;transform:rotate(35deg)}.boyodo-map-fallback-note{position:absolute;z-index:3;left:20px;bottom:20px;display:flex;max-width:410px;gap:12px;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.85);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:var(--boyodo-shadow);backdrop-filter:blur(12px)}.boyodo-map-fallback-note>i{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:14px;background:#e1f4ff;color:var(--boyodo-blue)}.boyodo-map-fallback-note strong,.boyodo-map-fallback-note span{display:block}.boyodo-map-fallback-note strong{font-size:12px}.boyodo-map-fallback-note span{margin-top:3px;color:var(--boyodo-muted);font-size:9px;line-height:1.45}.boyodo-fallback-pin{position:absolute;z-index:2;display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid #cce9f2;border-radius:15px;background:#fff;color:var(--boyodo-ink);box-shadow:0 12px 28px -16px rgba(8,74,115,.5);transition:transform var(--boyodo-motion)}.boyodo-fallback-pin:hover{transform:translateY(-3px)}.boyodo-fallback-pin>i{color:#08a585;font-size:21px}.boyodo-fallback-pin strong,.boyodo-fallback-pin small{display:block;max-width:180px}.boyodo-fallback-pin strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.boyodo-fallback-pin small{margin-top:2px;color:#07845f;font-size:8px}.boyodo-fallback-pin.pin-1{left:12%;top:18%}.boyodo-fallback-pin.pin-2{left:47%;top:28%}.boyodo-fallback-pin.pin-3{right:8%;top:12%}.boyodo-fallback-pin.pin-4{right:18%;bottom:24%}@media(max-width:600px){.boyodo-map-fallback-note{left:10px;right:10px;bottom:10px}.boyodo-fallback-pin strong{max-width:90px}.boyodo-fallback-pin.pin-1{left:5%;top:12%}.boyodo-fallback-pin.pin-2{left:42%;top:28%}.boyodo-fallback-pin.pin-3{right:4%;top:8%}.boyodo-fallback-pin.pin-4{right:9%;bottom:30%}}
@media(max-width:767px){.boyodo-patient-content #myTab{scrollbar-width:none}.boyodo-patient-content #myTab::-webkit-scrollbar{display:none}.boyodo-patient-content .dataTables_wrapper>div:first-child{display:flex!important;align-items:center;justify-content:flex-end}.boyodo-patient-content .dataTables_length{display:none!important}.boyodo-patient-content .dataTables_filter{width:100%;margin:3px 0 9px!important;text-align:left!important}.boyodo-patient-content .dataTables_filter label{display:flex;align-items:center;gap:8px;color:var(--boyodo-muted);font-size:10px}.boyodo-patient-content .dataTables_filter input{width:100%!important;max-width:none!important;height:42px;margin:0!important;padding:0 12px;border:1px solid var(--boyodo-line);border-radius:13px;background:#f8fbfd}.boyodo-patient-content .dataTables_paginate{display:flex;justify-content:center;margin-top:10px}.boyodo-patient-content .dataTables_info{text-align:center}.boyodo-patient-content table.datatable.no-footer{border:0!important}}

/* Demo access experience (used on /demo and every auth/signup page) */
.boyodo-demo-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid var(--boyodo-line);border-radius:var(--boyodo-radius);background:linear-gradient(145deg,#ecfeff,#f3faff);box-shadow:var(--boyodo-shadow)}.boyodo-demo-banner-copy{display:flex;align-items:flex-start;gap:12px;min-width:0}.boyodo-demo-banner-copy>i{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:13px;background:#fff;color:var(--boyodo-blue);font-size:16px;box-shadow:var(--boyodo-shadow)}.boyodo-demo-banner-copy strong{display:block;font:700 14px/1.3 'Sora',sans-serif;color:var(--boyodo-ink);text-transform:none}.boyodo-demo-banner-copy span{display:block;margin-top:3px;color:var(--boyodo-muted);font-size:12px;line-height:1.55;text-transform:none}.boyodo-demo-grid,.boyodo-demo-grid *{text-transform:none}.boyodo-demo-banner-link{display:inline-flex;flex:0 0 auto;min-height:40px;align-items:center;padding:0 16px;border:1px solid var(--boyodo-line);border-radius:13px;background:#fff;color:var(--boyodo-blue);font-size:12px;font-weight:700;white-space:nowrap}.boyodo-demo-banner-link:hover{background:#f2f9fd}
.boyodo-demo-intro{padding:56px 0 8px;text-align:center}.boyodo-demo-intro img{width:180px;height:auto;margin:0 auto 18px;object-fit:contain}.boyodo-demo-intro h1{margin:0 0 10px;font:800 clamp(26px,4vw,38px)/1.15 'Sora',sans-serif;letter-spacing:-1px;color:var(--boyodo-ink)}.boyodo-demo-intro>p{max-width:560px;margin:0 auto 28px;color:var(--boyodo-muted);font-size:15px;line-height:1.65}
.boyodo-demo-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:920px;margin:0 auto 40px;padding:20px;border:1px solid var(--boyodo-line);border-radius:var(--boyodo-radius);background:#fff;box-shadow:var(--boyodo-shadow);text-align:left}.boyodo-demo-meta strong{display:block;margin-bottom:4px;font:700 13px/1.3 'Sora',sans-serif;color:var(--boyodo-ink)}.boyodo-demo-meta span{display:block;color:var(--boyodo-muted);font-size:12px;line-height:1.6}
.boyodo-demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px}.boyodo-demo-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--boyodo-line);border-radius:var(--boyodo-radius);background:#fff;box-shadow:var(--boyodo-shadow);transition:transform var(--boyodo-motion),box-shadow var(--boyodo-motion)}.boyodo-demo-card:hover{transform:translateY(-3px);box-shadow:0 24px 55px -34px rgba(13,72,126,.55)}.boyodo-demo-card>img{width:100%;height:140px;object-fit:cover}.boyodo-demo-card-body{display:flex;flex:1;flex-direction:column;padding:18px}.boyodo-demo-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.boyodo-demo-card-head h3{margin:0;font:700 16px/1.3 'Sora',sans-serif;color:var(--boyodo-ink)}.boyodo-demo-badge{flex:0 0 auto;padding:5px 10px;border-radius:999px;background:#e7f6fc;color:var(--boyodo-blue);font-size:10px;font-weight:800;white-space:nowrap}.boyodo-demo-card p{margin:0 0 12px;color:var(--boyodo-muted);font-size:12.5px;line-height:1.6}.boyodo-demo-card-fact{margin:0 0 4px;color:var(--boyodo-muted);font-size:11px}.boyodo-demo-card-fact b{color:var(--boyodo-ink);font-weight:700}.boyodo-demo-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:14px}.boyodo-demo-card-actions form{width:100%}.boyodo-demo-card-actions button,.boyodo-demo-card-actions a{display:flex;width:100%;min-height:44px;align-items:center;justify-content:center;gap:6px;border-radius:15px;font-size:12px;font-weight:700;text-align:center}.boyodo-demo-card-actions button{border:0;background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal));color:#fff}.boyodo-demo-card-actions a{border:1px solid var(--boyodo-line);color:var(--boyodo-ink);background:#fff}
@media(max-width:767px){.boyodo-demo-meta{grid-template-columns:1fr}.boyodo-demo-banner{padding:14px}.boyodo-demo-intro{padding:32px 0 4px}}

/* PWA install banner */
.boyodo-install-banner{position:fixed;left:16px;right:16px;bottom:16px;display:flex;align-items:center;gap:12px;background:var(--boyodo-card);border:1px solid var(--boyodo-line);border-radius:var(--boyodo-radius);box-shadow:var(--boyodo-shadow);padding:14px 16px;max-width:420px;margin:0 auto;animation:boyodoSlideUp .3s cubic-bezier(.22,1,.36,1)}
.boyodo-install-banner__icon img{width:44px;height:44px;border-radius:14px;object-fit:cover;box-shadow:0 6px 16px rgba(10,99,216,.25)}
.boyodo-install-banner__text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.boyodo-install-banner__text strong{font-family:'Sora',sans-serif;font-size:14px;color:var(--boyodo-ink)}
.boyodo-install-banner__text span{font-size:12px;color:var(--boyodo-muted);white-space:normal}
.boyodo-install-banner__btn{background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-indigo));color:#fff;border:none;border-radius:12px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform var(--boyodo-motion),box-shadow var(--boyodo-motion)}
.boyodo-install-banner__btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px -10px rgba(10,99,216,.55)}
.boyodo-install-banner__close{background:none;border:none;color:var(--boyodo-muted);font-size:20px;line-height:1;cursor:pointer;padding:4px 6px}
@keyframes boyodoSlideUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.boyodo-install-banner{flex-wrap:wrap}.boyodo-install-banner__icon{order:1}.boyodo-install-banner__text{order:2;flex-basis:calc(100% - 60px)}.boyodo-install-banner__btn{order:3}.boyodo-install-banner__close{order:4}}
@media(max-width:767px){
  .boyodo-page .boyodo-hero-visual{max-height:360px;overflow:hidden!important}
  .boyodo-page .boyodo-hero-visual>img{object-position:50% 22%!important}
  .boyodo-discovery{margin-bottom:30px!important}
  .boyodo-discovery-hero{min-height:285px!important}
  .boyodo-discovery-hero>div{padding:24px 20px 30px!important}
  .boyodo-discovery-hero h2{font-size:36px!important;line-height:1.06!important;letter-spacing:-1.25px!important}
  .boyodo-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px 6px!important;margin:12px 0 24px!important;padding:12px 8px!important;overflow:visible!important}
  .boyodo-service-link{min-width:0!important;min-height:76px!important;gap:7px!important;font-size:10px!important;line-height:1.2!important}
  .boyodo-service-link>i{width:42px!important;height:42px!important;border-radius:14px!important}
  .boyodo-market-section{padding-top:28px!important}
}
@media(max-width:380px){
  .boyodo-service-grid{gap:8px 4px!important;padding:10px 5px!important}
  .boyodo-service-link{font-size:9px!important}
  .boyodo-service-link>i{width:38px!important;height:38px!important}
}

/* Empty state for doctor search results */
.boyodo-empty-doctor-state{grid-column:1/-1;text-align:center;background:var(--boyodo-card);border:1px solid var(--boyodo-line);border-radius:var(--boyodo-radius);padding:48px 24px;box-shadow:var(--boyodo-shadow);}
.boyodo-empty-doctor-state i{font-size:32px;color:var(--boyodo-blue);margin-bottom:14px;display:block;}
.boyodo-empty-doctor-state p{font-family:'Sora',sans-serif;font-size:16px;color:var(--boyodo-ink);margin:0 0 6px;}
.boyodo-empty-doctor-state span{display:block;font-size:13px;color:var(--boyodo-muted);margin-bottom:18px;}
.boyodo-empty-doctor-state button{background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-indigo));color:#fff;border:none;border-radius:12px;padding:11px 22px;font-size:14px;font-weight:600;cursor:pointer;transition:transform var(--boyodo-motion),box-shadow var(--boyodo-motion);}
.boyodo-empty-doctor-state button:hover{transform:translateY(-1px);box-shadow:0 12px 28px -14px rgba(10,99,216,.55);}
.boyodo-table-empty-state{display:grid;place-items:center;gap:8px;padding:32px 12px;text-align:center;color:#54708a;font-family:'Plus Jakarta Sans',sans-serif}
.boyodo-table-empty-state__orb{width:64px;height:64px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,#eef6ff,#e8f5ff);color:#0a63d8;box-shadow:0 16px 40px -28px rgba(20,89,170,.45);position:relative;overflow:hidden}
.boyodo-table-empty-state__orb:after{content:"";position:absolute;inset:-45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:rotate(18deg);animation:boyodoEmptySweep 2.6s ease-in-out infinite}
.boyodo-table-empty-state__orb i{position:relative;z-index:1;font-size:24px}
.boyodo-table-empty-state strong{font:800 17px/1.2 Sora,sans-serif;color:#10263a}
.boyodo-table-empty-state p{max-width:320px;margin:0;font-size:13px;line-height:1.45;color:#6b7f91}
.boyodo-table-processing{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#eef6ff;color:#0a63d8;font-weight:800}
.boyodo-table-processing:before{content:"";width:9px;height:9px;border-radius:50%;background:#0a63d8;box-shadow:16px 0 0 rgba(10,99,216,.35),32px 0 0 rgba(10,99,216,.18);animation:boyodoProcessingPulse 1.2s ease-in-out infinite}
@keyframes boyodoEmptySweep{0%{transform:translateX(-120%) rotate(18deg)}55%,100%{transform:translateX(120%) rotate(18deg)}}
@keyframes boyodoProcessingPulse{0%,100%{opacity:.45;transform:translateX(0)}50%{opacity:1;transform:translateX(4px)}}

/* Initials avatar fallback for doctors without a verified photo */
.boyodo-doctor-avatar-initials{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-teal));color:#fff;font-family:'Sora',sans-serif;font-weight:700;letter-spacing:.02em;flex:none;line-height:1;}
.boyodo-doctor-head .boyodo-doctor-avatar-initials{width:78px;height:78px;flex:0 0 78px;border-radius:22px;font-size:28px;border:3px solid #e4f5ff;}
@media(max-width:767px){.boyodo-doctor-head .boyodo-doctor-avatar-initials{width:68px;height:68px;flex-basis:68px;font-size:24px;}}

/* Clinic/hospital filter chip on the doctor search page */
.boyodo-clinic-filter-chip{display:flex;align-items:center;gap:10px;max-width:520px;margin:0 auto 16px;padding:10px 16px;border-radius:14px;background:#eaf7ff;color:var(--boyodo-ink);font-size:13px;font-weight:600;}
.boyodo-clinic-filter-chip i.fa-hospital{color:var(--boyodo-blue);}
.boyodo-clinic-filter-chip span{flex:1;}
.boyodo-clinic-filter-chip a{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:var(--boyodo-muted);flex:none;}
.boyodo-clinic-filter-chip a:hover{background:#fff;color:var(--boyodo-ink);}

/* Clinic/chamber logo */
.boyodo-clinic-logo{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:none;border:1px solid var(--boyodo-line);background:#fff;}
.boyodo-chamber-card img.boyodo-chamber-logo{width:62px;height:62px;border-radius:20px;object-fit:contain;padding:6px;flex:none;border:1px solid var(--boyodo-line);background:#fff;}

/* Support chat widget */
.boyodo-support-chat{position:fixed;right:16px;bottom:24px;z-index:70;}
.boyodo-support-fab{width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-indigo));color:#fff;font-size:22px;box-shadow:0 16px 32px -14px rgba(10,99,216,.6);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .22s cubic-bezier(.22,1,.36,1);}
.boyodo-support-fab:hover{transform:translateY(-2px) scale(1.04);}
.boyodo-support-fab:focus-visible{outline:3px solid var(--boyodo-teal);outline-offset:3px;}
.boyodo-support-panel{position:absolute;right:0;bottom:70px;width:300px;max-width:calc(100vw - 32px);background:var(--boyodo-card);border:1px solid var(--boyodo-line);border-radius:var(--boyodo-radius);box-shadow:var(--boyodo-shadow);overflow:hidden;opacity:0;transform:translateY(12px) scale(.98);transition:opacity var(--boyodo-motion),transform var(--boyodo-motion);pointer-events:none;}
.boyodo-support-panel.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.boyodo-support-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:16px 18px;background:linear-gradient(135deg,rgba(10,99,216,.08),rgba(0,184,156,.06));border-bottom:1px solid var(--boyodo-line);}
.boyodo-support-panel__header strong{display:block;font-family:'Sora',sans-serif;font-size:15px;color:var(--boyodo-ink);}
.boyodo-support-panel__header span{display:block;font-size:12px;color:var(--boyodo-muted);margin-top:2px;}
.boyodo-support-panel__close{background:none;border:none;font-size:20px;color:var(--boyodo-muted);cursor:pointer;line-height:1;padding:2px 6px;}
.boyodo-support-panel__body{padding:10px;display:flex;flex-direction:column;gap:4px;}
.boyodo-support-action{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:14px;text-decoration:none;color:var(--boyodo-ink);transition:background var(--boyodo-motion);}
.boyodo-support-action:hover{background:var(--boyodo-bg);}
.boyodo-support-action strong{display:block;font-size:13px;}
.boyodo-support-action small{display:block;font-size:11px;color:var(--boyodo-muted);}
.boyodo-support-action__icon{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-teal));color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none;}
@media(max-width:767px){
  .boyodo-support-chat{right:14px;bottom:100px;}
  .boyodo-support-panel{bottom:66px;}
}
@media(prefers-reduced-motion: reduce){
  .boyodo-support-fab,.boyodo-support-panel,.boyodo-support-action{transition:none!important;}
}

/* Guided chatbot (boyodo assistant) */
.boyodo-bot-panel{width:320px;display:flex;flex-direction:column;max-height:70vh;}
.boyodo-bot-body{padding:14px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:340px;min-height:120px;background:var(--boyodo-bg);}
.boyodo-bot-bubble{max-width:88%;padding:9px 12px;border-radius:14px;font-size:13px;line-height:1.45;}
.boyodo-bot-bubble--bot{align-self:flex-start;background:var(--boyodo-card);border:1px solid var(--boyodo-line);color:var(--boyodo-ink);border-bottom-left-radius:4px;}
.boyodo-bot-bubble--user{align-self:flex-end;background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-indigo));color:#fff;border-bottom-right-radius:4px;}
.boyodo-bot-bubble--link{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;color:var(--boyodo-blue);border-color:var(--boyodo-blue);}
.boyodo-bot-bubble--link:hover{background:rgba(10,99,216,.06);}
.boyodo-bot-quickreplies{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px 14px;border-top:1px solid var(--boyodo-line);background:var(--boyodo-card);}
.boyodo-bot-chip{border:1px solid var(--boyodo-blue);color:var(--boyodo-blue);background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:background var(--boyodo-motion),color var(--boyodo-motion);}
.boyodo-bot-chip:hover{background:var(--boyodo-blue);color:#fff;}
@media (max-width:480px){
  .boyodo-bot-panel{width:calc(100vw - 28px);}
}

.boyodo-symptom-tag{display:inline-flex;align-items:center;padding:6px 14px;border-radius:999px;background:rgba(10,99,216,.08);color:var(--boyodo-blue);font-size:13px;font-weight:600;border:1px solid rgba(10,99,216,.18);}

/* Location search field: wrapper must establish its own positioning context so the
   "Use current location" button (absolute on desktop) doesn't inherit the height of
   a taller ancestor and drift away from the input it belongs to. */
.boyodo-location-field{position:relative;}
@media(max-width:767px){
  .boyodo-location-field{display:flex;flex-direction:column;}
}
/* Boyodo patient access and doctor profile refresh */
.boyodo-auth-page{min-height:calc(100vh - 92px);padding:72px 20px 110px;background:radial-gradient(circle at 12% 10%,rgba(8,174,207,.16),transparent 30%),linear-gradient(145deg,#f3fbff,#eef7fb 48%,#fff)}
.boyodo-auth-card{max-width:1050px;margin:auto;display:grid;grid-template-columns:1.02fr .98fr;background:#fff;border:1px solid #d9e8f1;border-radius:32px;overflow:hidden;box-shadow:0 30px 80px -45px rgba(4,43,75,.46)}
.boyodo-auth-visual{padding:64px;color:#fff;background:linear-gradient(145deg,#063d91,#0787c5 55%,#02b69f);position:relative;overflow:hidden}
.boyodo-auth-visual:after{content:"";position:absolute;width:280px;height:280px;border:54px solid rgba(255,255,255,.09);border-radius:50%;right:-110px;bottom:-120px}.boyodo-auth-visual>*{position:relative;z-index:1}.boyodo-auth-kicker{display:inline-flex;gap:8px;align-items:center;padding:9px 13px;border-radius:99px;background:rgba(255,255,255,.14);font-weight:700;font-size:13px}.boyodo-auth-visual h1{font:800 clamp(34px,4vw,54px)/1.05 Sora,sans-serif;letter-spacing:-1.8px;margin:30px 0 18px}.boyodo-auth-visual p{font-size:17px;line-height:1.7;color:#e9f8ff;max-width:490px}.boyodo-auth-points{display:grid;gap:13px;margin-top:34px}.boyodo-auth-points span{display:flex;align-items:center;gap:10px;font-weight:600}.boyodo-auth-form{padding:58px 56px;align-self:center}.boyodo-auth-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:23px;color:#0879d4;background:#e5f5ff;box-shadow:inset 0 0 0 1px #c7e9fa}.boyodo-auth-icon.success{color:#069d73;background:#e0f8ef}.boyodo-auth-form .boyodo-eyebrow{margin:20px 0 8px;display:block;color:#008c8e;font-weight:800;text-transform:uppercase;letter-spacing:1.3px;font-size:12px}.boyodo-auth-form h2{font:800 31px/1.15 Sora,sans-serif;color:#092239;letter-spacing:-.8px;margin:0 0 10px}.boyodo-auth-form>p{color:#5e7183;line-height:1.6;margin-bottom:28px}.boyodo-auth-form label{display:block;font-weight:700;color:#17344d;margin:15px 0 8px}.boyodo-phone-input{display:flex;align-items:center;border:1px solid #cddde7;border-radius:16px;background:#fff;overflow:hidden;transition:.2s}.boyodo-phone-input:focus-within{border-color:#078ad0;box-shadow:0 0 0 4px rgba(7,138,208,.12)}.boyodo-phone-input span{padding:15px 13px 15px 18px;font-weight:800;color:#12344e;border-right:1px solid #e2edf3}.boyodo-phone-input input,.boyodo-profile-form input,.boyodo-profile-form select{width:100%;min-height:52px;padding:13px 15px;border:1px solid #cddde7;border-radius:14px;background:#fff;color:#102b42;font-size:16px}.boyodo-phone-input input{border:0;border-radius:0}.boyodo-primary-action{width:100%;min-height:54px;margin-top:20px;padding:13px 18px;border:0;border-radius:17px;color:#fff;background:linear-gradient(120deg,#045ce4,#00a9b0);display:flex;align-items:center;justify-content:center;gap:12px;font-weight:800;box-shadow:0 14px 28px -16px #006dcc;transition:transform .22s,box-shadow .22s}.boyodo-primary-action:hover{transform:translateY(-2px);box-shadow:0 18px 32px -16px #006dcc}.boyodo-primary-action:disabled{opacity:.65;transform:none}.boyodo-otp-note{display:flex;gap:8px;color:#677d8e;line-height:1.5;margin-top:14px}.boyodo-auth-links{display:flex;justify-content:space-between;gap:16px;margin-top:26px;padding-top:20px;border-top:1px solid #e6eef3}.boyodo-auth-links a{color:#066ccb;font-weight:700}.boyodo-form-alert{padding:12px 14px;border-radius:12px;margin:14px 0;font-weight:600}.boyodo-form-alert.error{background:#fff1f1;color:#b42331}.boyodo-form-alert.success{background:#e8faf3;color:#087455}.boyodo-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.boyodo-profile-page{max-width:1180px;margin:auto;padding:52px 20px 120px;color:#10263a}.boyodo-profile-hero{display:grid;grid-template-columns:150px 1fr 280px;gap:30px;align-items:center;padding:34px;border-radius:30px;background:linear-gradient(135deg,#fff,#f2fbff);border:1px solid #d7e7f0;box-shadow:0 20px 60px -42px #174e73;position:relative;overflow:hidden}.boyodo-profile-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:rgba(0,182,174,.08);right:-80px;top:-120px}.boyodo-profile-photo-wrap{position:relative;z-index:1}.boyodo-profile-photo{width:144px;height:164px;border-radius:28px;object-fit:cover;background:#eaf4f8;border:5px solid #fff;box-shadow:0 14px 30px -18px #174e73}.boyodo-verified-dot{position:absolute;right:-3px;bottom:8px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#04a873;color:white;border:4px solid white}.boyodo-profile-identity{position:relative;z-index:1}.boyodo-profile-specialty{color:#007cbd;font-weight:800;font-size:14px}.boyodo-profile-identity h1{font:800 clamp(30px,4vw,46px)/1.1 Sora,sans-serif;letter-spacing:-1.3px;margin:7px 0;color:#0b2237}.boyodo-profile-identity>p{color:#5d7182;font-size:16px}.boyodo-profile-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.boyodo-profile-badges span{padding:8px 11px;border-radius:99px;background:#fff;border:1px solid #d7e7f0;color:#37556c;font-size:12px;font-weight:700}.boyodo-profile-badges i{color:#02a39e;margin-right:4px}.boyodo-profile-booking-card{position:relative;z-index:1;padding:22px;border-radius:22px;background:#092b4b;color:#fff;box-shadow:0 18px 38px -24px #041f3a}.boyodo-profile-booking-card>span{font-size:12px;color:#b9d8e9}.boyodo-profile-booking-card>strong{display:block;font:800 32px Sora,sans-serif;margin:5px 0}.boyodo-profile-booking-card>p{font-size:12px;color:#d9ecf5;line-height:1.5}.boyodo-profile-booking-card .boyodo-primary-action{font-size:14px;margin-top:15px}.boyodo-profile-booking-card>small{display:block;margin-top:12px;color:#b9d8e9;line-height:1.4}.boyodo-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;margin-top:24px}.boyodo-profile-main{display:grid;gap:24px}.boyodo-profile-section,.boyodo-clinic-card,.boyodo-care-note{background:#fff;border:1px solid #d9e7ef;border-radius:24px;padding:28px;box-shadow:0 14px 38px -34px #174e73}.boyodo-section-heading{display:flex;align-items:center;gap:13px;margin-bottom:22px}.boyodo-section-heading>span{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#e4f6fb;color:#047fc4}.boyodo-section-heading small,.boyodo-clinic-title small{display:block;text-transform:uppercase;letter-spacing:1px;color:#668095;font-size:10px;font-weight:800}.boyodo-section-heading h2,.boyodo-clinic-title h2{font:800 21px Sora,sans-serif;color:#0b263c;margin:2px 0 0}.boyodo-condition-tags{display:flex;flex-wrap:wrap;gap:9px}.boyodo-condition-tags span{padding:9px 13px;border-radius:12px;background:#eef9f8;color:#087c76;font-weight:700;font-size:13px}.boyodo-profile-copy{font-size:16px;line-height:1.75;color:#50697b}.boyodo-fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.boyodo-fact-grid>div{padding:15px;border-radius:14px;background:#f5fafc}.boyodo-fact-grid small{display:block;color:#6d8291;font-size:11px}.boyodo-fact-grid strong{display:block;color:#17354d;margin-top:4px}.boyodo-review-summary{display:flex;align-items:center;gap:17px;padding:19px;border-radius:18px;background:linear-gradient(120deg,#eef8ff,#edfbf7)}.boyodo-review-summary>strong{font:800 42px Sora,sans-serif;color:#0a385b}.boyodo-stars{color:#f4a900;letter-spacing:2px}.boyodo-review-summary span{color:#60798b;font-size:12px}.boyodo-review-list article{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:20px 0;border-bottom:1px solid #e8f0f4}.boyodo-review-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#077ae0,#00ad9e);color:#fff;font-weight:800}.boyodo-review-list header{display:flex;justify-content:space-between;gap:10px}.boyodo-review-list header span{color:#f2a400}.boyodo-review-list p{color:#526b7d;line-height:1.6;margin:8px 0}.boyodo-review-list small{color:#8a9aa5}.boyodo-empty-review{text-align:center;padding:25px;color:#6a8293}.boyodo-empty-review i{display:block;font-size:30px;color:#07a1a0;margin-bottom:10px}.boyodo-clinic-title{display:flex;gap:12px;align-items:center}.boyodo-clinic-title>span,.boyodo-clinic-title>img{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;object-fit:cover;background:#e5f7f2;color:#07966e}.boyodo-clinic-card>p{display:flex;gap:8px;color:#5d7688;line-height:1.6;margin:20px 0}.boyodo-side-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.boyodo-side-actions a{min-height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:7px;background:#056fd4;color:#fff;font-weight:800;font-size:13px}.boyodo-side-actions a+ a{background:#eef7fb;color:#075f9d}.boyodo-care-note{margin-top:16px;display:flex;gap:13px;background:linear-gradient(135deg,#07325a,#008b9b);color:#fff}.boyodo-care-note>i{font-size:22px}.boyodo-care-note p{color:#d7f2f4;font-size:13px;margin-top:5px}.boyodo-profile-side{align-self:start;position:sticky;top:110px}

.boyodo-speciality-art{background-repeat:no-repeat!important;background-size:600% 100%!important;}.boyodo-speciality-art-1{background-position:0 50%!important}.boyodo-speciality-art-2{background-position:20% 50%!important}.boyodo-speciality-art-3{background-position:40% 50%!important}.boyodo-speciality-art-4{background-position:60% 50%!important}.boyodo-speciality-art-5{background-position:80% 50%!important}.boyodo-speciality-art-6{background-position:100% 50%!important}

@media(max-width:767px){.boyodo-auth-page{padding:22px 12px 100px}.boyodo-auth-card{display:block;border-radius:24px}.boyodo-auth-visual{padding:30px 24px}.boyodo-auth-visual h1{font-size:31px;letter-spacing:-1px;margin:20px 0 12px}.boyodo-auth-visual p{font-size:14px}.boyodo-auth-points{display:none}.boyodo-auth-form{padding:30px 22px}.boyodo-auth-form h2{font-size:25px}.boyodo-auth-links{flex-direction:column;text-align:center}.boyodo-form-grid{grid-template-columns:1fr}.boyodo-profile-page{padding:22px 12px 100px}.boyodo-profile-hero{grid-template-columns:92px 1fr;gap:16px;padding:20px;border-radius:24px}.boyodo-profile-photo{width:90px;height:108px;border-radius:20px}.boyodo-verified-dot{width:27px;height:27px;border-width:3px}.boyodo-profile-identity h1{font-size:24px}.boyodo-profile-identity>p{font-size:13px}.boyodo-profile-badges span{font-size:10px;padding:6px 8px}.boyodo-profile-booking-card{grid-column:1/-1}.boyodo-profile-grid{display:block}.boyodo-profile-section,.boyodo-clinic-card,.boyodo-care-note{padding:20px;border-radius:20px}.boyodo-profile-section{margin-top:14px}.boyodo-profile-side{position:static}.boyodo-clinic-card{margin-top:14px}.boyodo-fact-grid{grid-template-columns:1fr}.boyodo-review-list header{display:block}.boyodo-profile-section .pagination{max-width:100%;overflow:auto}}
@media(prefers-reduced-motion:reduce){.boyodo-primary-action{transition:none}.boyodo-primary-action:hover{transform:none}}
/* Transactional booking flow */
.boyodo-page-booking{background:#f3faff;color:#09213b}.boyodo-page-booking .main_content{overflow:visible}.booking-shell{min-height:100vh;background:radial-gradient(circle at 85% 0,rgba(0,184,169,.14),transparent 28rem),linear-gradient(180deg,#f7fcff,#edf8ff)}.booking-header{height:72px;padding:0 max(20px,calc((100vw - 1160px)/2));display:flex;align-items:center;gap:18px;background:rgba(255,255,255,.92);border-bottom:1px solid #dbeaf3;position:sticky;top:0;z-index:40;backdrop-filter:blur(16px)}.booking-back{width:42px;height:42px;border:1px solid #d6e4ed;border-radius:14px;display:grid;place-items:center;color:#0a2743}.booking-brand{display:flex;align-items:center;gap:10px;color:#09213b}.booking-brand img{width:45px;height:45px;object-fit:contain}.booking-brand span{display:grid;line-height:1.05}.booking-brand strong{font:800 17px Sora,sans-serif}.booking-brand small{font-size:11px;color:#66798c;margin-top:4px}.booking-secure{margin-left:auto;color:#087d70;font-weight:700;font-size:13px}.booking-secure i{margin-right:6px}.booking-main{width:min(1120px,calc(100% - 32px));margin:auto;padding:42px 0 110px}.booking-intro{text-align:center;max-width:660px;margin:0 auto 24px}.booking-eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;color:#0070dd}.booking-intro h1{font:800 clamp(28px,4vw,44px)/1.12 Sora,sans-serif;letter-spacing:-.04em;margin:8px 0;color:#09213b}.booking-intro>p:last-child{color:#65788c}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);max-width:720px;margin:0 auto 30px;padding:0;list-style:none;position:relative}.booking-progress:before{content:"";position:absolute;top:17px;left:12.5%;right:12.5%;height:2px;background:#d7e5ee}.booking-progress li{display:grid;justify-items:center;gap:6px;z-index:1;color:#8493a2}.booking-progress span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e5eef4;border:4px solid #f3faff;font-weight:800}.booking-progress small{font-size:12px;font-weight:700}.booking-progress .is-active,.booking-progress .is-done{color:#006ad5}.booking-progress .is-active span,.booking-progress .is-done span{color:white;background:linear-gradient(135deg,#075fe6,#00aea4)}.booking-step{display:none}.booking-step.is-active{display:block;animation:bookingReveal .28s cubic-bezier(.22,1,.36,1)}@keyframes bookingReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.booking-card{background:#fff;border:1px solid #d9e8f1;border-radius:24px;padding:26px;box-shadow:0 18px 50px -38px rgba(13,53,89,.5);max-width:860px;margin:0 auto 18px}.booking-doctor{display:flex;align-items:center;gap:16px;padding:18px 22px}.booking-avatar{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#096bd8,#00b6a4);display:grid;place-items:center;color:#fff;font:800 20px Sora}.booking-doctor p{margin:0;color:#008d82;font-size:12px;font-weight:800;text-transform:uppercase}.booking-doctor h2{margin:3px 0;font:800 20px Sora}.booking-doctor span{color:#65788c;font-size:13px}.booking-section-title{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.booking-section-title>span{width:34px;height:34px;border-radius:12px;flex:none;display:grid;place-items:center;background:#e4f3ff;color:#0070db;font-weight:800}.booking-section-title h2{font:800 21px Sora;margin:0 0 4px}.booking-section-title p{margin:0;color:#738496;font-size:13px}.visit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.visit-option{border:1px solid #d7e5ed!important;background:#fff!important;color:#09213b!important;border-radius:19px!important;padding:18px!important;text-align:left;display:grid;grid-template-columns:42px 1fr;gap:12px;transition:.22s}.visit-option>i{width:42px;height:42px;border-radius:13px;background:#edf7ff;color:#0070dc;display:grid;place-items:center}.visit-option span{display:grid}.visit-option strong{font:800 16px Sora}.visit-option small{font-size:12px;color:#6b7d8f;margin-top:5px}.visit-option b{grid-column:1/-1;color:#0074ce;font-size:14px}.visit-option.is-selected{border-color:#008fe2!important;background:#eef9ff!important;box-shadow:0 0 0 3px rgba(0,143,226,.1)}.booking-info{display:flex;gap:10px;padding:13px 15px;margin-top:16px;border-radius:14px;background:#eff9fd;color:#466578;font-size:13px}.booking-info p{margin:0}.patient-choice{display:flex;gap:10px;margin-bottom:18px}.patient-choice label{padding:11px 16px;border:1px solid #d5e4ec;border-radius:999px;font-weight:700}.patient-choice input{margin-right:7px;accent-color:#0079dd}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-fields label{display:grid;gap:7px}.booking-fields label>span{font-size:13px;font-weight:800}.booking-fields input,.booking-fields textarea{width:100%;border:1px solid #ccdae4!important;border-radius:13px!important;padding:12px 14px!important;background:#fff!important;box-shadow:none!important}.booking-fields input:focus,.booking-fields textarea:focus{border-color:#007ae0!important;box-shadow:0 0 0 3px rgba(0,122,224,.1)!important}.is-wide{grid-column:1/-1}.booking-optional{border:1px dashed #c9dce8;border-radius:14px;padding:14px}.booking-optional summary{cursor:pointer;font-weight:800}.booking-optional summary small{float:right;color:#738496}.booking-optional-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.booking-optional-body label:last-child{grid-column:1/-1}.slot-heading{display:flex;justify-content:space-between;align-items:center;margin:16px 0 12px}.slot-heading h3{font:800 16px Sora}.slot-heading span{color:#65798b;font-size:12px}.booking-clinic{margin-top:22px;padding:16px;border-radius:18px;background:#f4fafc;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:13px}.booking-clinic-icon{width:46px;height:46px;border-radius:14px;background:#d9f4ed;color:#008e7e;display:grid;place-items:center}.booking-clinic small{color:#008c80;font-weight:800}.booking-clinic h3{font:800 15px Sora;margin:2px 0}.booking-clinic p{margin:0;color:#65798a;font-size:12px}.booking-clinic>a{color:#0072d8;font-weight:800}.booking-review-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:18px;align-items:start}.booking-review-grid .booking-card{width:100%;margin:0}.booking-summary>div,.booking-payment>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #e5edf2}.booking-summary dt,.booking-payment span{color:#6b7e90}.booking-summary dd{font-weight:800;text-align:right}.booking-payment hr{border:0;border-top:1px solid #dce7ee;margin:10px 0}.booking-total strong{font-size:24px;color:#0073dc}.payment-note{padding:12px;border-radius:13px;background:#fff7e7;color:#8b5b00;font-size:12px}.payment-ready,.payment-blocked{border:0!important;padding:13px!important;border-radius:13px;background:#e8f8f3;color:#087c70;font-size:12px}.payment-blocked{background:#fff2ef;color:#a83b28;display:flex!important;gap:10px!important;justify-content:flex-start!important}.payment-blocked span{display:grid;color:inherit}.booking-error{max-width:860px;margin:14px auto;padding:13px 16px;background:#fff0ed;border:1px solid #f1b9af;border-radius:14px;color:#a72e1d;font-weight:700}.booking-actions{position:sticky;bottom:16px;max-width:860px;margin:22px auto 0;padding:10px;border:1px solid #d7e5ed;background:rgba(255,255,255,.94);border-radius:20px;box-shadow:0 16px 45px -20px rgba(4,41,78,.5);display:flex;justify-content:flex-end;gap:10px;z-index:30;backdrop-filter:blur(14px)}.booking-primary,.booking-secondary{min-height:48px;padding:0 24px!important;border-radius:15px!important;font-weight:800!important}.booking-primary{background:linear-gradient(135deg,#075ee8,#00afa3)!important;color:#fff!important;border:0!important}.booking-primary:disabled{opacity:.48}.booking-secondary{background:#fff!important;color:#17334d!important;border:1px solid #cfdee8!important}
@media(max-width:700px){.booking-header{height:64px;padding:0 14px}.booking-brand small,.booking-secure{display:none}.booking-main{width:min(100% - 20px,560px);padding:25px 0 92px}.booking-intro{text-align:left;margin:0 5px 20px}.booking-intro h1{font-size:27px}.booking-progress small{font-size:10px}.booking-progress:before{left:10%;right:10%}.booking-card{border-radius:20px;padding:18px}.booking-doctor{padding:15px}.booking-doctor h2{font-size:17px}.booking-doctor span{font-size:11px}.visit-grid,.booking-fields,.booking-optional-body,.booking-review-grid{grid-template-columns:1fr}.patient-choice{display:grid;grid-template-columns:1fr 1fr}.patient-choice label{text-align:center;padding:10px 5px}.booking-clinic{grid-template-columns:42px 1fr}.booking-clinic>a{grid-column:2}.booking-actions{position:fixed;bottom:10px;left:10px;right:10px;margin:0;max-width:none}.booking-actions button{flex:1;padding:0 12px!important}.booking-payment{margin-top:0!important}}
.boyodo-service-area{min-width:210px;height:48px;padding:0 16px;display:flex;align-items:center;gap:10px;border:1px solid #d7e5ed;border-radius:14px;background:#f7fcff;color:#087268}.boyodo-service-area span{display:grid;line-height:1.1}.boyodo-service-area small{color:#718294}.boyodo-service-area strong{font-size:13px}.boyodo-filter-apply{width:100%;margin-top:18px;padding:12px!important;border:0!important;border-radius:13px!important;background:linear-gradient(135deg,#0869dd,#00ad9f)!important;color:#fff!important;font-weight:800!important}
@media(max-width:700px){.boyodo-service-area{width:100%;min-width:0}.boyodo-page-doctors #searchForm>div{gap:8px!important}.boyodo-page-doctors #searchForm .relative,.boyodo-page-doctors #searchForm input[type=search],.boyodo-page-doctors #searchForm button{width:100%!important}.boyodo-page-doctors .boyodo-support-chat{display:none!important}}
.payment-policy-links{display:flex!important;flex-wrap:wrap;justify-content:flex-start!important;gap:8px!important;border:0!important;padding:10px 0!important}.payment-policy-links a{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid #d6e5ee;border-radius:999px;background:#f8fcff;color:#006bd3!important;font-size:12px;font-weight:800;text-decoration:none}.booking-confirmation .payment-policy-links{justify-content:center!important}.booking-confirmation{text-align:center;max-width:640px;margin-top:40px}.booking-success-icon{width:70px;height:70px;margin:0 auto 18px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#00a995,#34cf91);color:#fff;font-size:26px;box-shadow:0 16px 35px -18px #009e84}.booking-confirmation h1{font:800 30px Sora;margin:8px 0}.booking-id{display:inline-block;margin:18px 0;padding:10px 18px;border-radius:999px;background:#eaf7ff;color:#006ccf;letter-spacing:.08em}.booking-confirm-actions{display:flex;justify-content:center;gap:10px;margin-top:22px}.booking-confirm-actions a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}@media(max-width:600px){.booking-confirmation{margin-top:12px}.booking-confirm-actions{display:grid}.booking-confirmation h1{font-size:25px}}
.boyodo-verified-inline{display:inline-flex;align-items:center;gap:5px;margin:4px 0 0;padding:4px 8px;border-radius:999px;background:#e8faf3;color:#087455;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.boyodo-about-page{max-width:1180px;margin:auto;padding:54px 20px 110px;color:#10263a}.boyodo-about-hero{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:stretch;padding:34px;border:1px solid #d7e7f0;border-radius:30px;background:linear-gradient(135deg,#f2fbff,#fff);box-shadow:0 20px 60px -42px #174e73}.boyodo-about-hero h1{font:800 clamp(36px,5vw,58px)/1.05 Sora,sans-serif;letter-spacing:-1.5px;margin:12px 0;color:#0b2237}.boyodo-about-hero p{max-width:680px;color:#526b7d;font-size:17px;line-height:1.7}.boyodo-founder-card{display:grid;gap:10px;padding:25px;border-radius:24px;background:linear-gradient(135deg,#07325a,#00a99d);color:#fff;box-shadow:0 20px 45px -28px #07325a}.boyodo-founder-card small{text-transform:uppercase;letter-spacing:1px;color:#c9f3f0;font-weight:800}.boyodo-founder-card h2{font:800 28px/1.15 Sora,sans-serif;margin:0}.boyodo-founder-card p{margin:0;color:#e4fbfa;}.boyodo-founder-card a,.boyodo-founder-card span{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;line-height:1.4}.boyodo-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.boyodo-about-grid article,.boyodo-about-content{padding:24px;border:1px solid #d9e7ef;border-radius:24px;background:#fff;box-shadow:0 14px 38px -34px #174e73}.boyodo-about-grid i{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:#e4f6fb;color:#047fc4;font-size:20px}.boyodo-about-grid h2{font:800 20px Sora,sans-serif;margin:16px 0 8px;color:#0b263c}.boyodo-about-grid p,.boyodo-about-content{color:#526b7d;line-height:1.7}.boyodo-owner-footer{margin-top:16px;padding:14px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.06);color:#fff}.boyodo-owner-footer small{display:block;color:#9bd9da;text-transform:uppercase;letter-spacing:.9px;font-weight:800}.boyodo-owner-footer strong{display:block;margin-top:4px}.boyodo-owner-footer a{gap:6px;margin-top:7px;color:#fff!important;text-decoration:underline}@media(max-width:767px){.boyodo-about-page{padding:26px 12px 100px}.boyodo-about-hero{grid-template-columns:1fr;padding:22px;border-radius:24px}.boyodo-founder-card{border-radius:20px}.boyodo-about-grid{grid-template-columns:1fr}.boyodo-about-hero p{font-size:15px}}

/* Boyodo production polish: stronger blue palette and mobile-first fixes */
:root{--boyodo-blue:#075fe6;--boyodo-indigo:#0100dc;--boyodo-teal:#1557c7;--boyodo-accent:#2f7dff;--boyodo-ink:#071a33;--boyodo-muted:#51677f;--boyodo-bg:#f1f7ff;--boyodo-line:#d6e3f3;--boyodo-gradient:linear-gradient(135deg,#0100dc 0%,#075fe6 55%,#173b8f 100%)}
.boyodo-page .bg-primary,.boyodo-page .boyodo-search button[type=submit],.boyodo-page .boyodo-primary,.boyodo-page .boyodo-white-cta,.boyodo-page .boyodo-card-actions a:first-child,.boyodo-page .boyodo-mobile-nav a.active,.boyodo-page .booking-primary,.boyodo-page .boyodo-filter-apply{background:var(--boyodo-gradient)!important;color:#fff!important}
.boyodo-page .text-primary,.boyodo-page a.text-primary{color:#075fe6!important}.boyodo-page .border-primary{border-color:#075fe6!important}
.boyodo-page .boyodo-trust-row i,.boyodo-page .boyodo-service-link i,.boyodo-page .boyodo-market-heading span,.boyodo-page .boyodo-speciality-card strong,.boyodo-page .boyodo-market-doctor p{color:#075fe6!important}
.boyodo-page .boyodo-feature-card>i,.boyodo-page .boyodo-section-heading>span,.boyodo-page .boyodo-clinic-title>span,.boyodo-page .boyodo-clinic-title>img{background:#eaf2ff!important;color:#075fe6!important}
.boyodo-page .boyodo-discovery-hero,.boyodo-page .boyodo-help-card,.boyodo-page .boyodo-founder-card,.boyodo-page .boyodo-care-note{background:var(--boyodo-gradient)!important}
.boyodo-page .boyodo-hero-visual{background:linear-gradient(150deg,#0100dc,#075fe6)!important}.boyodo-page .boyodo-hero{background:radial-gradient(circle at 82% 10%,rgba(47,125,255,.18),transparent 28%),radial-gradient(circle at 12% 12%,rgba(1,0,220,.1),transparent 32%),linear-gradient(145deg,#f8fbff,#eaf2ff)!important}.boyodo-page .boyodo-hero h1 span{color:#075fe6!important}
.boyodo-page>nav.boyodo-site-nav .bg-primary{border-radius:16px!important;min-height:48px!important;padding:12px 22px!important;font-weight:800!important;box-shadow:0 12px 28px -18px rgba(1,0,220,.65)!important}
.boyodo-page>nav.boyodo-site-nav .tot_cart{background:#075fe6!important;color:#fff!important}
.boyodo-page .boyodo-section-heading{display:block!important;text-align:center!important}.boyodo-page .boyodo-section-heading h2{max-width:600px;margin:14px auto 10px!important}.boyodo-page .boyodo-section-heading p{max-width:650px;margin-inline:auto}
.boyodo-view-slots{display:grid!important;min-height:56px;align-content:center;justify-items:end;color:var(--boyodo-muted)!important;text-decoration:none!important}.boyodo-view-slots strong{color:#071a33!important}.boyodo-view-slots:hover strong{color:#075fe6!important}
@media(max-width:767px){
  html,body{max-width:100%;overflow-x:hidden}.boyodo-page .main_content{overflow-x:hidden!important}.boyodo-page>nav.boyodo-site-nav .bg-primary{min-height:44px!important;padding:9px 18px!important;border-radius:999px!important}
  .boyodo-page .boyodo-help-card{border-radius:22px!important;padding:22px!important;margin:0!important}.boyodo-page .boyodo-help-card a:first-of-type{min-height:46px!important;border-radius:14px!important;color:#071a33!important;background:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:800!important}
  .boyodo-page .boyodo-features{padding:42px 0 96px!important}.boyodo-page .boyodo-section-heading{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;text-align:left!important;margin:0 0 18px!important}.boyodo-page .boyodo-section-heading .boyodo-eyebrow{width:max-content}.boyodo-page .boyodo-section-heading h2{font-size:28px!important;line-height:1.14!important;letter-spacing:-.9px!important;margin:0!important;max-width:310px!important}.boyodo-page .boyodo-section-heading p{font-size:16px!important;line-height:1.65!important;margin:0!important;max-width:none!important;color:#51677f!important}
  .boyodo-page .boyodo-feature-card{grid-template-columns:52px 1fr!important;gap:12px!important;padding:18px!important;border-radius:20px!important}.boyodo-page .boyodo-feature-card>i{width:52px!important;height:52px!important;border-radius:16px!important}.boyodo-page .boyodo-feature-card h3{font-size:16px!important;line-height:1.25!important;margin:2px 0 6px!important}.boyodo-page .boyodo-feature-card p{font-size:13px!important;line-height:1.55!important;grid-column:2!important}.boyodo-page .boyodo-service-grid{position:relative!important;z-index:1!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px 4px!important;border-radius:22px!important;}.boyodo-page .boyodo-market-heading{margin-bottom:14px!important}.boyodo-page .boyodo-market-heading h2{font-size:27px!important;line-height:1.1!important;letter-spacing:-.7px!important}.boyodo-page .boyodo-market-heading a{font-size:13px!important}
  .boyodo-view-slots{justify-items:start!important;padding:0!important}.boyodo-view-slots strong{font-size:17px!important;color:#075fe6!important}
  .boyodo-page .boyodo-fee-row{display:grid!important;grid-template-columns:1fr 1fr!important;align-items:center!important}
  /* Two dead rules removed here. `.boyodo-mobile-nav a.active` is inert - the
     bottom tab bar was re-namespaced to `.bo-tab`. And `.boyodo-support-chat
     {background:gradient}` could never win: the 2026-08-14 block immediately
     below sets the same property to transparent at the same specificity but
     later, because the gradient belongs on `.boyodo-support-fab` (the round
     button) and the chat shell around it has to stay see-through. */
}

/* Boyodo 2026-08-14 mobile stabilization pass */
.boyodo-page .boyodo-support-chat{background:transparent!important;width:auto!important;height:auto!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.boyodo-page .boyodo-support-fab{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;border-radius:999px!important;background:var(--boyodo-gradient)!important;color:#fff!important;box-shadow:0 18px 36px -18px rgba(1,0,220,.72)!important}
.boyodo-page .boyodo-footer-legal-links{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:10px 18px!important;line-height:1.5!important}
.boyodo-page .boyodo-footer-legal-links>div{display:inline-flex!important;margin:0!important}
.boyodo-page .boyodo-footer-legal-links a{margin:0!important;white-space:normal!important}
.boyodo-care-note{align-items:flex-start!important}
.boyodo-care-note>div{width:100%}
.boyodo-care-note-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:14px}
.boyodo-care-note-actions button,.boyodo-care-note-actions a{min-height:42px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.13);color:#fff!important;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:800;text-decoration:none!important}
.boyodo-care-note-actions button{cursor:pointer}
.boyodo-otp-card{max-width:980px}
.boyodo-otp-form{display:grid;gap:18px}
.boyodo-otp-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.boyodo-otp-inputs input{width:100%;height:58px;border:1px solid #cddde7;border-radius:16px;background:#fff;text-align:center;color:#071a33;font:800 22px/1 Sora,sans-serif;box-shadow:0 8px 18px -18px rgba(7,26,51,.35);outline:none}
.boyodo-otp-inputs input:focus{border-color:#075fe6;box-shadow:0 0 0 4px rgba(7,95,230,.12)}
.boyodo-otp-actions{display:grid;gap:12px}
.boyodo-otp-actions>a,.boyodo-otp-actions>.boyodo-otp-resend{justify-self:end;display:inline-flex;align-items:center;min-height:44px;padding:6px 4px;background:none;border:none;cursor:pointer;color:#075fe6!important;font-weight:800;font-size:15px;text-decoration:none!important}.boyodo-otp-actions>.boyodo-otp-resend.is-disabled,.boyodo-otp-actions>.boyodo-otp-resend[disabled]{opacity:.55;cursor:not-allowed}.boyodo-otp-resend-form{margin:0;padding:0}
.boyodo-otp-actions>a.is-disabled{pointer-events:none;opacity:.55}
@media(max-width:767px){
  .boyodo-page .boyodo-service-grid{overflow:hidden!important;margin:12px 0 18px!important;padding:13px 8px 16px!important;row-gap:12px!important}
  /* Section headings on a phone: one column, not two.

     This was `1fr auto`, which put the "View all"/"How it works" link in a second
     column beside the heading. That link is 44px tall and ~130px wide (the touch
     policy at line ~421 gives it min-height:44px and font-size:16px), so at 375px
     it left about 205px for the heading - and a 28px Sora 800 heading with -1.3px
     tracking wrapped to three or four lines in that space. Six sections on the
     homepage use this class, so it was the single biggest source of the "messy"
     look on mobile.

     One column gives the heading the full width and drops the link onto its own
     row underneath, which is what a native app does with a section header and its
     action. `justify-items:start` keeps the link shrink-wrapped and left-aligned
     instead of stretching across the row; the `justify-content:center` it already
     carries then centres it inside its own width, which is a no-op - so no
     override is needed there and no new competing rule is introduced.

     The map section's control is a <button> with an explicit width:100%, which is
     unaffected by justify-items, so that one still spans the row as designed. */
  .boyodo-page .boyodo-market-heading{display:grid!important;grid-template-columns:1fr!important;justify-items:start!important;gap:10px!important}
  /* `.boyodo-market-heading span{grid-column:1/-1}` was removed here: in all six
     instances the eyebrow span is a grandchild (inside the heading's inner div),
     and grid-column only applies to grid items, so it never did anything. */
  .boyodo-page .boyodo-speciality-rail{padding-top:6px!important}
  /* `.boyodo-speciality-card{flex:0 0 128px}` was removed here: the admin-icon
     rail later in this file sets flex:0 0 150px AND min-width:150px, both
     !important and both later, so the used width was 150px on a phone regardless.
     A declaration that can never win is worse than no declaration - it reads like
     an intent the page is honouring. */
  .boyodo-page .boyodo-footer-legal-links{gap:6px 16px!important;padding-bottom:14px!important}
  .boyodo-page .boyodo-footer-legal-links a{font-size:16px!important;line-height:1.35!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;padding:6px 2px!important}
  .boyodo-page .boyodo-support-chat{right:15px!important;bottom:96px!important}
  .boyodo-page .boyodo-support-fab{width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important}
  .boyodo-care-note{display:grid!important;grid-template-columns:26px 1fr!important;gap:12px!important;margin-bottom:22px!important}
  .boyodo-care-note-actions{grid-template-columns:1fr!important}
  .boyodo-otp-page{padding:16px 10px 104px!important}
  .boyodo-otp-page .boyodo-auth-visual{padding:26px 22px!important}
  .boyodo-otp-page .boyodo-auth-visual h1{font-size:29px!important}
  .boyodo-otp-page .boyodo-auth-form{padding:26px 18px!important}
  .boyodo-otp-inputs{gap:6px!important}
  .boyodo-otp-inputs input{height:50px!important;border-radius:14px!important;font-size:19px!important}
}

/* Interim PayU link payment block on the booking confirmation page. */
.booking-pay-now{margin:18px 0 6px;padding:18px 16px;border:1px solid #cfe0ff;border-radius:20px;background:linear-gradient(160deg,#f2f7ff,#ffffff);text-align:left}
.booking-pay-title{margin:0 0 4px;font-weight:800;font-size:15px;color:#0b3f9e;display:flex;align-items:center;gap:8px}
.booking-pay-amount{margin:0 0 12px;font-weight:800;font-size:30px;line-height:1.1;color:#0b1f3a}
.booking-pay-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:54px;padding:10px 18px;border-radius:16px;background:#0b46c4;color:#fff!important;font-weight:800;font-size:16px;text-decoration:none!important}
.booking-pay-link:hover{background:#0937a2}
.booking-pay-note{margin:12px 0 0;font-size:15px;line-height:1.55;color:#3d4d66}
.booking-pay-note strong{color:#0b1f3a}
.booking-pay-pending{display:inline-block;margin-left:6px;padding:2px 9px;border-radius:999px;background:#fff1d6;color:#8a5300;font-size:12px;font-weight:800;vertical-align:middle}
@media(max-width:700px){
  .booking-pay-now{padding:16px 14px;border-radius:18px}
  .booking-pay-amount{font-size:26px}
  .booking-pay-note{font-size:15px}
}

/* Clinic page header. object-fit:contain so a wide logo is shown whole
   rather than cropped square, which is what made logos look cut off. */
.boyodo-clinic-banner{display:flex;align-items:center;gap:16px;flex-wrap:wrap;max-width:760px;margin:18px auto 4px;padding:16px 18px;border:1px solid #d7e6f7;border-radius:22px;background:linear-gradient(150deg,#f4f9ff,#fff);text-align:left}
.boyodo-clinic-banner__logo{flex:none;width:92px;height:92px;border-radius:20px;border:1px solid #e2ecf8;background:#fff;display:flex;align-items:center;justify-content:center;padding:8px}
.boyodo-clinic-banner__logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.boyodo-clinic-banner__text{flex:1 1 220px;min-width:0}
.boyodo-clinic-banner__kicker{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:#0b46c4;letter-spacing:.02em}
.boyodo-clinic-banner__text h2{margin:5px 0 4px;font-size:22px;font-weight:800;line-height:1.25;color:#0b1f3a}
.boyodo-clinic-banner__text p{margin:2px 0;font-size:16px;line-height:1.5;color:#42556f}
.boyodo-clinic-banner__clear{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 16px;border-radius:999px;border:1px solid #cfe0ff;background:#fff;color:#0b46c4!important;font-weight:800;font-size:15px;text-decoration:none!important}
.boyodo-clinic-logo--inline{width:26px;height:26px;border-radius:7px;object-fit:contain;background:#fff;padding:2px;vertical-align:-7px;margin-right:6px}
@media(max-width:767px){
  .boyodo-clinic-banner{gap:13px;padding:14px;border-radius:18px}
  .boyodo-clinic-banner__logo{width:74px;height:74px;border-radius:16px}
  .boyodo-clinic-banner__text h2{font-size:19px}
  .boyodo-clinic-banner__text p{font-size:15px}
  .boyodo-clinic-banner__clear{width:100%;justify-content:center}
}

/* ==========================================================================
   BOYODO MOBILE-FIRST LAYER  —  added 2026-08-16
   Loaded last so it wins on equal specificity. Tiered deliberately:
     body copy      -> 16px   (the acceptance minimum; also stops iOS zoom)
     secondary/meta -> 15px
     badges/eyebrows-> 13px floor (labels, not prose - 16px would wrap badly)
     touch targets  -> 44px   on anything tappable
   Scoped to <=767px so desktop layouts are untouched.
   ========================================================================== */
@media (max-width: 767px) {

  /* ---- global baseline -------------------------------------------------- */
  .boyodo-page { font-size: 16px !important; -webkit-text-size-adjust: 100%; }
  .boyodo-page p,
  .boyodo-page li,
  .boyodo-page label,
  .boyodo-page dd,
  .boyodo-page dt { font-size: 16px !important; line-height: 1.55 !important; }

  /* Any form control below 16px makes iOS zoom the viewport on focus, which
     is the usual cause of "the page jumps around when I tap the box". */
  .boyodo-page input,
  .boyodo-page select,
  .boyodo-page textarea,
  .boyodo-search input { font-size: 16px !important; }

  /* ---- tappable things -------------------------------------------------- */
  .boyodo-page a.boyodo-btn,
  .boyodo-page button,
  .boyodo-page .boyodo-primary-action,
  .boyodo-page .booking-primary,
  .boyodo-page .booking-secondary,
  .boyodo-page .boyodo-card-actions a,
  .boyodo-page .boyodo-side-actions a,
  .boyodo-page .boyodo-market-doctor-action a,
  .boyodo-page .boyodo-chamber-card > a,
  .boyodo-page .boyodo-empty-doctor-state button,
  .boyodo-page .boyodo-care-note-actions button,
  .boyodo-page .boyodo-care-note-actions a,
  .boyodo-page .boyodo-install-banner__btn,
  .boyodo-page .boyodo-demo-banner-link,
  .boyodo-page .boyodo-current-location,
  .boyodo-page .boyodo-map-section .boyodo-market-heading button,
  .boyodo-page .payment-policy-links a,
  .boyodo-page .boyodo-market-heading > a,
  .boyodo-page .boyodo-filter-toggle {
    min-height: 44px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px !important;
  }
  .boyodo-page .boyodo-primary-action,
  .boyodo-page .booking-primary,
  .boyodo-page .booking-secondary { font-size: 16px !important; }

  /* Checkbox and radio were 18px, far under a fingertip. */
  .boyodo-page input[type=checkbox],
  .boyodo-page input[type=radio] { min-width: 24px !important; min-height: 24px !important; }
  .boyodo-page .patient-choice label,
  .boyodo-page .visit-option,
  .boyodo-page .booking-optional summary { min-height: 44px !important; display: flex; align-items: center; }

  /* ---- home ------------------------------------------------------------- */
  .boyodo-page .boyodo-service-link { font-size: 13px !important; min-height: 88px !important; }
  .boyodo-page .boyodo-service-area strong { font-size: 16px !important; }
  .boyodo-page .boyodo-service-area small { font-size: 13px !important; }
  .boyodo-page .boyodo-market-heading span { font-size: 13px !important; }
  .boyodo-page .boyodo-market-heading > a,
  .boyodo-page .boyodo-market-heading a { font-size: 16px !important; }
  .boyodo-page .boyodo-market-doctor p,
  .boyodo-page .boyodo-market-doctor span { font-size: 16px !important; }
  .boyodo-page .boyodo-market-doctor-action small { font-size: 13px !important; }
  .boyodo-page .boyodo-market-doctor-action a { font-size: 16px !important; }
  .boyodo-page .boyodo-discovery-hero p { font-size: 16px !important; }
  .boyodo-page .boyodo-feature-card p { font-size: 16px !important; }
  .boyodo-page .boyodo-float-card span { font-size: 13px !important; }
  .boyodo-page .boyodo-float-card strong { font-size: 16px !important; }
  .boyodo-page .boyodo-trust-row,
  .boyodo-page .boyodo-speciality { font-size: 14px !important; }
  .boyodo-page .boyodo-search label > span { font-size: 13px !important; }

  /* ---- doctor list / cards --------------------------------------------- */
  .boyodo-page .boyodo-chamber-card p,
  .boyodo-page .boyodo-chamber-card strong { font-size: 16px !important; }
  .boyodo-page .boyodo-chamber-card > a { font-size: 16px !important; }
  .boyodo-page .boyodo-chamber-name { font-size: 14px !important; }
  .boyodo-page .boyodo-address { font-size: 14px !important; }
  .boyodo-page .boyodo-fee-row { font-size: 16px !important; }
  .boyodo-page .boyodo-rating { font-size: 14px !important; }
  .boyodo-page .boyodo-verified-inline { font-size: 12px !important; }
  .boyodo-page .boyodo-card-actions a { font-size: 16px !important; }
  .boyodo-page .boyodo-empty-doctor-state span { font-size: 16px !important; }
  .boyodo-page .boyodo-filter-toggle small { font-size: 13px !important; }

  /* ---- doctor profile --------------------------------------------------- */
  .boyodo-page .boyodo-doctor-detail-page p,
  .boyodo-page .boyodo-profile-identity > p { font-size: 16px !important; }
  .boyodo-page .boyodo-profile-specialty { font-size: 16px !important; }
  .boyodo-page .boyodo-profile-badges span,
  .boyodo-page .boyodo-condition-tags span,
  .boyodo-page .boyodo-symptom-tag { font-size: 13px !important; min-height: 32px !important; display: inline-flex; align-items: center; }
  .boyodo-page .boyodo-profile-booking-card > p,
  .boyodo-page .boyodo-profile-booking-card > span { font-size: 16px !important; }
  .boyodo-page .boyodo-profile-booking-card .boyodo-primary-action { font-size: 16px !important; }
  .boyodo-page .boyodo-care-note p { font-size: 16px !important; }
  .boyodo-page .boyodo-review-summary span { font-size: 14px !important; }
  .boyodo-page .boyodo-section-heading small,
  .boyodo-page .boyodo-clinic-title small { font-size: 13px !important; }

  /* ---- booking flow (the one that has to work) -------------------------- */
  .boyodo-page .booking-section-title p,
  .boyodo-page .booking-info,
  .boyodo-page .booking-fields label > span,
  .boyodo-page .booking-doctor p,
  .boyodo-page .booking-doctor span,
  .boyodo-page .booking-clinic p { font-size: 16px !important; line-height: 1.5 !important; }
  .boyodo-page .booking-progress small { font-size: 13px !important; }
  .boyodo-page .booking-eyebrow,
  .boyodo-page .booking-secure,
  .boyodo-page .booking-brand small { font-size: 13px !important; }
  .boyodo-page .slot-heading span { font-size: 14px !important; }
  .boyodo-page .visit-option b { font-size: 16px !important; }
  .boyodo-page .visit-option small { font-size: 14px !important; }
  .boyodo-page .payment-note,
  .boyodo-page .payment-ready,
  .boyodo-page .payment-blocked { font-size: 14px !important; line-height: 1.5 !important; }
  .boyodo-page .payment-policy-links a { font-size: 16px !important; min-height: 44px !important; padding: 8px 12px; }
  .boyodo-page .booking-pay-pending { font-size: 13px !important; }

  /* ---- auth / OTP ------------------------------------------------------- */
  .boyodo-page .boyodo-auth-visual p { font-size: 16px !important; }
  .boyodo-page .boyodo-auth-kicker,
  .boyodo-page .boyodo-auth-form .boyodo-eyebrow,
  .boyodo-page .boyodo-eyebrow { font-size: 13px !important; }
  .boyodo-page .boyodo-otp-note,
  .boyodo-page .boyodo-otp-note small { font-size: 16px !important; }
  .boyodo-page .boyodo-otp-digit { font-size: 22px !important; min-height: 54px !important; }

  /* The chatbot is 56px at bottom:96px and the auth submit button is full
     width, so the two overlap by 36x50px once the button scrolls into that
     band - a tap there hits the bot, not the button. The doctors page already
     hid it for the same reason. */
  .boyodo-page-login .boyodo-support-chat,
  .boyodo-page-signup .boyodo-support-chat,
  .boyodo-page-booking .boyodo-support-chat { display: none !important; }

  /* ---- patient dashboard ------------------------------------------------ */
  .boyodo-page .boyodo-patient-dashboard .sidebar a { font-size: 16px !important; min-height: 48px !important; }
  .boyodo-page .boyodo-patient-content #myTab button { font-size: 16px !important; min-height: 46px !important; }
  .boyodo-page .boyodo-patient-content .dataTables_length,
  .boyodo-page .boyodo-patient-content .dataTables_filter label { font-size: 14px !important; }
  .boyodo-page .boyodo-patient-content table.datatable tbody td:before { font-size: 13px !important; }

  /* ---- footer / nav / support ------------------------------------------ */
  .boyodo-page .boyodo-mobile-nav a { font-size: 12px !important; min-height: 54px !important; }
  .boyodo-page .boyodo-mobile-nav a i { font-size: 19px !important; }
  .boyodo-page .boyodo-support-action strong { font-size: 16px !important; }
  .boyodo-page .boyodo-support-action small { font-size: 14px !important; }
  .boyodo-page .boyodo-support-panel__header span { font-size: 14px !important; }
  .boyodo-page .boyodo-bot-bubble { font-size: 16px !important; line-height: 1.5 !important; }
  .boyodo-page .boyodo-bot-chip { font-size: 14px !important; min-height: 40px !important; }
  .boyodo-page .boyodo-support-panel__close { min-width: 44px !important; min-height: 44px !important; font-size: 24px !important; }
  .boyodo-page .boyodo-help-card p { font-size: 16px !important; }
  .boyodo-page .boyodo-help-card a { font-size: 16px !important; min-height: 44px !important; display: inline-flex; align-items: center; }

  /* ---- misc / info surfaces -------------------------------------------- */
  .boyodo-page .boyodo-process-card li strong { font-size: 16px !important; }
  .boyodo-page .boyodo-process-card li span { font-size: 16px !important; }
  .boyodo-page .boyodo-fact-grid small { font-size: 13px !important; }
  .boyodo-page .boyodo-founder-card p { font-size: 16px !important; }
  .boyodo-page .boyodo-map-popup strong { font-size: 16px !important; }
  .boyodo-page .boyodo-map-popup b,
  .boyodo-page .boyodo-map-popup span { font-size: 14px !important; }
  .boyodo-page .boyodo-map-status,
  .boyodo-page .boyodo-map-fallback-note strong { font-size: 13px !important; }
  .boyodo-page .boyodo-map-fallback-note span,
  .boyodo-page .boyodo-fallback-pin small { font-size: 12px !important; }
  .boyodo-page .boyodo-fallback-pin strong { font-size: 13px !important; }
  .boyodo-page .boyodo-current-location { font-size: 14px !important; }
  .boyodo-page .boyodo-install-banner__text strong { font-size: 16px !important; }
  .boyodo-page .boyodo-install-banner__text span { font-size: 14px !important; }
  .boyodo-page .boyodo-clinic-banner__kicker { font-size: 13px !important; }

  /* These three carry !important earlier in the file and would otherwise
     silently win over the rules above. (.boyodo-booking-page is dead markup
     but is restated so it cannot resurface.) */
  .boyodo-page .boyodo-doctor-detail-page p { font-size: 16px !important; line-height: 1.55 !important; }
  .boyodo-page .boyodo-filter-form label { font-size: 16px !important; }
  .boyodo-page .boyodo-booking-page label { font-size: 16px !important; }

  /* ---- layout invariants ------------------------------------------------ */
  /* Nothing may push the page sideways. */
  .boyodo-page { overflow-x: hidden; }
  .boyodo-page img,
  .boyodo-page video,
  .boyodo-page table { max-width: 100%; }

  /* The bottom nav reserved only ~4px of clearance; give it real room so a
     taller nav can never sit on top of a CTA. */
  .boyodo-page { padding-bottom: 96px !important; }
}

/* Small phones (iPhone SE / 360dp Android) keep the same minimums but tighter
   gutters, so nothing is pushed off-screen to achieve them. */
@media (max-width: 400px) {
  .boyodo-page .boyodo-shell { padding-left: 13px; padding-right: 13px; }
  .boyodo-page .boyodo-service-link { font-size: 12px !important; min-height: 82px !important; }
  .boyodo-page .payment-policy-links a { padding: 8px 10px; }
  .boyodo-page .boyodo-mobile-nav a { font-size: 11px !important; }
}

/* ==========================================================================
   BOYODO APPLE-DESIGN LAYER  —  added 2026-08-16
   Applies the apple-design skill (WWDC "Designing Fluid Interfaces" +
   "The Details of UI Typography" + "Principles of Great Design") to this
   codebase. Additive and scoped to .boyodo-page; no layout is moved.
   Ordered by the skill's own sections so each rule is traceable.
   ========================================================================== */

/* --- §1 RESPONSE: feedback on press, not on release ----------------------
   The audit found ZERO :active states in this stylesheet, so every tap felt
   dead until the next page loaded. Feedback must be instant and physical. */
.boyodo-page a,
.boyodo-page button,
.boyodo-page [role="button"],
.boyodo-page input,
.boyodo-page select,
.boyodo-page textarea { -webkit-tap-highlight-color: transparent; }

.boyodo-page .boyodo-primary-action,
.boyodo-page .booking-primary,
.boyodo-page .booking-secondary,
.boyodo-page .byd-btn,
.boyodo-page .boyodo-card-actions a,
.boyodo-page .boyodo-white-cta,
.boyodo-page .boyodo-service-link,
.boyodo-page .boyodo-speciality-card,
.boyodo-page .boyodo-market-doctor,
.boyodo-page .boyodo-chamber-card,
.boyodo-page .boyodo-support-fab,
.boyodo-page .boyodo-clinic-banner__clear,
.boyodo-page .booking-pay-link {
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
              box-shadow 220ms cubic-bezier(0.22, 1, 0.36, 1),
              background-color 160ms ease-out;
}
/* Scale is compositor-only, so the press never costs a layout pass. */

.boyodo-page .boyodo-primary-action:active,
.boyodo-page .booking-primary:active,
.boyodo-page .booking-secondary:active,
.boyodo-page .byd-btn:active,
.boyodo-page .boyodo-card-actions a:active,
.boyodo-page .boyodo-white-cta:active,
.boyodo-page .boyodo-clinic-banner__clear:active,
.boyodo-page .booking-pay-link:active {
  transform: scale(0.97);
  transition-duration: 90ms;   /* press is instant; release eases back */
}
/* Cards are larger, so they need less scale to read as "pressed". */
.boyodo-page .boyodo-service-link:active,
.boyodo-page .boyodo-speciality-card:active,
.boyodo-page .boyodo-market-doctor:active,
.boyodo-page .boyodo-chamber-card:active {
  transform: scale(0.985);
  transition-duration: 90ms;
}
.boyodo-page .boyodo-support-fab:active { transform: scale(0.92); transition-duration: 90ms; }

/* Keyboard users get the same clarity as pointer users. */
.boyodo-page a:focus-visible,
.boyodo-page button:focus-visible,
.boyodo-page input:focus-visible,
.boyodo-page select:focus-visible,
.boyodo-page textarea:focus-visible,
.boyodo-page [tabindex]:focus-visible {
  outline: 3px solid rgba(11, 70, 196, 0.55);
  outline-offset: 2px;
  border-radius: 12px;
}

/* --- §15 TYPOGRAPHY: tracking is size-specific, never one value ----------
   Large text reads too loose as it grows and wants negative tracking; small
   text wants a touch positive. Leading tightens as size increases. */
.boyodo-page { font-optical-sizing: auto; text-rendering: optimizeLegibility; }
.boyodo-page h1,
.boyodo-page .boyodo-hero-title { letter-spacing: -0.022em; line-height: 1.08; }
.boyodo-page h2,
.boyodo-page .boyodo-market-heading h2,
.boyodo-page .boyodo-clinic-banner__text h2 { letter-spacing: -0.018em; line-height: 1.18; }
.boyodo-page h3 { letter-spacing: -0.012em; line-height: 1.28; }
.boyodo-page h4, .boyodo-page h5 { letter-spacing: -0.006em; line-height: 1.34; }
.boyodo-page p, .boyodo-page li { letter-spacing: 0; }
/* Small caps-ish labels are the one place positive tracking helps. */
.boyodo-page .boyodo-eyebrow,
.boyodo-page .boyodo-auth-kicker,
.boyodo-page .booking-eyebrow,
.boyodo-page .boyodo-clinic-banner__kicker,
.boyodo-page .byd-kicker { letter-spacing: 0.045em; text-transform: uppercase; }
.boyodo-page .boyodo-price,
.boyodo-page .booking-pay-amount,
.boyodo-page .boyodo-fee-row strong { font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }

/* --- §12 MATERIALS & DEPTH: translucent chrome, content scrolls under ---- */
@media (max-width: 767px) {
  .boyodo-page .boyodo-mobile-nav {
    background: rgba(255, 255, 255, 0.72) !important;
    -webkit-backdrop-filter: blur(22px) saturate(180%);
    backdrop-filter: blur(22px) saturate(180%);
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    box-shadow: 0 10px 34px rgba(11, 31, 58, 0.16);
  }
  /* Vibrancy: text over a blurred surface needs more weight and contrast,
     never flat grey, or it dissolves into whatever scrolls beneath. */
  .boyodo-page .boyodo-mobile-nav a { color: #46586f; font-weight: 700; }
  .boyodo-page .boyodo-mobile-nav a.active { color: #0b46c4; font-weight: 800; }
}
/* Bigger surfaces read as thicker material: stronger blur, deeper shadow. */
.boyodo-page .boyodo-support-panel {
  -webkit-backdrop-filter: blur(28px) saturate(180%);
  backdrop-filter: blur(28px) saturate(180%);
  box-shadow: 0 26px 70px rgba(11, 31, 58, 0.26);
}
.boyodo-page .boyodo-support-fab {
  will-change: transform;
}

/* --- §7 SPATIAL CONSISTENCY: anchor to the source ------------------------
   The assistant panel belongs to the button that opened it, so it should
   grow out of that corner rather than appear from nowhere. */
.boyodo-page .boyodo-support-panel {
  transform-origin: bottom right;
  transition: opacity 260ms cubic-bezier(0.22, 1, 0.36, 1),
              transform 260ms cubic-bezier(0.22, 1, 0.36, 1),
              -webkit-backdrop-filter 260ms ease-out;
}
.boyodo-page .boyodo-support-panel:not(.is-open) { opacity: 0; transform: scale(0.94) translateY(8px); }
/* §12: materialize, don't just fade — blur and scale arrive together. */
.boyodo-page .boyodo-support-panel.is-open { opacity: 1; transform: scale(1) translateY(0); }

/* --- §12 SCROLL EDGE EFFECT: fade, not a hard 1px divider ---------------- */
.boyodo-page .boyodo-scroll-rail,
.boyodo-page .boyodo-speciality-rail,
.boyodo-page .boyodo-market-rail {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  scroll-snap-type: x proximity;
  overscroll-behavior-x: contain;   /* §9: don't hand the gesture to the page */
}
.boyodo-page .boyodo-speciality-card,
.boyodo-page .boyodo-market-doctor { scroll-snap-align: start; }

/* --- §1/§11 SMOOTHNESS: only composite transform and opacity ------------- */
.boyodo-page .boyodo-market-doctor,
.boyodo-page .boyodo-speciality-card { will-change: transform; }
.boyodo-page img { -webkit-user-drag: none; user-select: none; }

/* --- §6 SOFT BOUNDARIES on scrollable regions ---------------------------- */
.boyodo-page .booking-shell,
.boyodo-page .byd-table-wrap { overscroll-behavior: contain; }

/* --- §16 CRAFT: elevation is a scale, not one shadow everywhere ---------- */
.boyodo-page .boyodo-card,
.boyodo-page .byd-card { box-shadow: 0 1px 2px rgba(11,31,58,.05), 0 8px 24px rgba(11,31,58,.06); }
.boyodo-page .boyodo-clinic-banner { box-shadow: 0 1px 2px rgba(11,31,58,.04), 0 10px 30px rgba(11,31,58,.07); }
.boyodo-page .booking-pay-now { box-shadow: 0 2px 4px rgba(11,70,196,.07), 0 14px 40px rgba(11,70,196,.12); }

/* --- §14 ACCESSIBILITY: three independent signals, all honoured ---------- */
@media (prefers-reduced-motion: reduce) {
  .boyodo-page *,
  .boyodo-page *::before,
  .boyodo-page *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 140ms !important;   /* a gentle cross-fade, not nothing */
    scroll-behavior: auto !important;
  }
  /* Reduced motion means no vestibular movement, not no feedback. */
  .boyodo-page .boyodo-primary-action:active,
  .boyodo-page .booking-primary:active,
  .boyodo-page .byd-btn:active,
  .boyodo-page .boyodo-service-link:active,
  .boyodo-page .boyodo-market-doctor:active,
  .boyodo-page .boyodo-support-fab:active { transform: none !important; filter: brightness(0.94); }
  .boyodo-page .boyodo-support-panel:not(.is-open) { transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .boyodo-page .boyodo-mobile-nav,
  .boyodo-page .boyodo-support-panel {
    background: #ffffff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}
@media (prefers-contrast: more) {
  .boyodo-page .boyodo-mobile-nav,
  .boyodo-page .boyodo-support-panel,
  .boyodo-page .boyodo-card,
  .boyodo-page .byd-card { background: #fff !important; border: 2px solid #0b1f3a !important; backdrop-filter: none !important; }
  .boyodo-page .boyodo-mobile-nav a { color: #0b1f3a; }
  .boyodo-page .boyodo-primary-action,
  .boyodo-page .booking-primary { border: 2px solid #06216b; }
}

/* --- §2 Respect the user's text size: scale with it, don't fight it ------ */
@media (min-width: 768px) {
  .boyodo-page h1 { font-size: clamp(2rem, 3.4vw, 3.2rem); }
}

/* --- Live-device fixes, 2026-08-16 ---------------------------------------
   Found by rendering the site on a real phone rather than an emulator. */

/* The assistant was sitting on top of "Find doctors" and "View doctors".
   support-chat.blade.php detects that and sets .is-tucked; this is the
   motion. Springy easing so it feels like it steps aside, not blinks out. */
.boyodo-page .boyodo-support-chat {
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
              opacity 240ms cubic-bezier(0.22, 1, 0.36, 1);
}
.boyodo-page .boyodo-support-chat.is-tucked {
  transform: translateY(150%) scale(0.85);
  opacity: 0;
  pointer-events: none;
}

/* A clinic logo is usually a wide wordmark. object-fit:cover cropped it to an
   unreadable square — this is the "logo incomplete" report. */
.boyodo-page .boyodo-chamber-logo,
.boyodo-page .boyodo-clinic-logo {
  object-fit: contain !important;
  background: #fff;
  padding: 6px;
}

/* A brand-new doctor showed "0 · 0 reviews", which reads as a bad score
   rather than "no ratings yet". */

/* --- "How it works" strip (new section) ---------------------------------- */
.boyodo-how { max-width: 1180px; margin: 8px auto 4px; padding: 0 18px; }
.boyodo-how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.boyodo-how-step {
  position: relative; display: flex; flex-direction: column; gap: 8px;
  padding: 18px 16px; border-radius: 22px; background: #fff;
  border: 1px solid #e2ecf8;
  box-shadow: 0 1px 2px rgba(11,31,58,.04), 0 10px 28px rgba(11,31,58,.06);
}
.boyodo-how-step__n {
  width: 34px; height: 34px; border-radius: 12px; display: inline-flex;
  align-items: center; justify-content: center; font-weight: 800;
  color: #fff; background: linear-gradient(140deg, #0b46c4, #0a2f8f);
}
.boyodo-how-step strong { font-size: 17px; line-height: 1.3; color: #0b1f3a; letter-spacing: -0.01em; }
.boyodo-how-step span { font-size: 15px; line-height: 1.5; color: #46586f; }
@media (max-width: 767px) {
  .boyodo-how { padding: 0 14px; }
  /* Stacking to one column keeps each step readable at 16px instead of
     squeezing three columns into 375px. */
  .boyodo-how-grid { grid-template-columns: 1fr; gap: 10px; }
  .boyodo-how-step { flex-direction: row; align-items: flex-start; gap: 12px; padding: 15px 14px; border-radius: 18px; }
  .boyodo-how-step__n { flex: none; }
  .boyodo-how-step strong { font-size: 16px !important; display: block; }
  .boyodo-how-step span { font-size: 16px !important; }
}

/* --- Full menu panel (replaces the "More" dropdown) ----------------------
   The old dropdown relied on Flowbite, which initialised it already-open, so
   the first click CLOSED it and the button read as dead. It also rendered
   99px wide because `min-w-[160px]` is a Tailwind arbitrary value that is not
   in this project's prebuilt CSS. This panel owns its own JS and CSS. */
.boyodo-menu-trigger{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;
  border:1px solid #d7e6f7;border-radius:999px;background:#fff;color:#0b1f3a;
  font-weight:800;font-size:15px;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform 200ms cubic-bezier(.22,1,.36,1),background-color 160ms ease-out;
}
.boyodo-menu-trigger:hover{background:#f2f8ff}
.boyodo-menu-trigger:active{transform:scale(.97);transition-duration:90ms}
.boyodo-menu-trigger[aria-expanded="true"]{background:#0b46c4;color:#fff;border-color:#0b46c4}

.boyodo-menu-scrim{
  position:fixed;inset:0;z-index:1090;background:rgba(8,20,40,.42);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity 240ms cubic-bezier(.22,1,.36,1),visibility 0s linear 240ms;
}
.boyodo-menu-scrim.is-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}

.boyodo-menu-panel{
  position:fixed;z-index:1100;top:74px;right:18px;width:min(760px,calc(100vw - 36px));
  max-height:calc(100vh - 96px);overflow-y:auto;overscroll-behavior:contain;
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);
  border:1px solid rgba(255,255,255,.6);border-radius:26px;
  box-shadow:0 30px 80px rgba(11,31,58,.28);
  padding:18px 20px 16px;
  /* §7 spatial consistency: grow out of the button that opened it */
  transform-origin:top right;opacity:0;transform:scale(.96) translateY(-8px);
  /* visibility rather than [hidden]/display:none - an element cannot
     transition out of display:none, which left the panel stuck at
     opacity 0 even though .is-open was applied. */
  visibility:hidden;pointer-events:none;
  transition:opacity 240ms cubic-bezier(.22,1,.36,1),transform 240ms cubic-bezier(.22,1,.36,1),visibility 0s linear 240ms;
}
.boyodo-menu-panel.is-open{opacity:1;transform:scale(1) translateY(0);visibility:visible;pointer-events:auto;transition-delay:0s}

.boyodo-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.boyodo-menu-head strong{font-size:19px;letter-spacing:-0.014em;color:#0b1f3a}
.boyodo-menu-close{
  width:44px;height:44px;border-radius:14px;border:1px solid #e2ecf8;background:#fff;
  color:#0b1f3a;font-size:19px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
  transition:transform 200ms cubic-bezier(.22,1,.36,1),background-color 160ms ease-out;
}
.boyodo-menu-close:hover{background:#f2f8ff}
.boyodo-menu-close:active{transform:scale(.94)}

.boyodo-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.boyodo-menu-grid h3{
  margin:0 0 6px;font-size:13px;font-weight:900;letter-spacing:.06em;
  text-transform:uppercase;color:#0b46c4;
}
.boyodo-menu-grid a{
  display:flex;align-items:flex-start;gap:11px;min-height:52px;padding:9px 10px;
  border-radius:15px;color:#0b1f3a!important;text-decoration:none!important;
  transition:background-color 150ms ease-out,transform 180ms cubic-bezier(.22,1,.36,1);
}
.boyodo-menu-grid a:hover{background:#eef5ff}
.boyodo-menu-grid a:active{transform:scale(.985)}
.boyodo-menu-grid a i{
  width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;
  background:#eaf2ff;color:#0b46c4;font-size:15px;
}
.boyodo-menu-grid a span{display:flex;flex-direction:column;gap:2px;min-width:0}
.boyodo-menu-grid a strong{font-size:16px;font-weight:800;line-height:1.25}
.boyodo-menu-grid a small{font-size:14px;line-height:1.4;color:#46586f}

.boyodo-menu-legal{
  display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;padding-top:13px;
  border-top:1px solid #e6eefb;
}
.boyodo-menu-legal a{
  font-size:15px;font-weight:700;color:#46586f!important;text-decoration:none!important;
  min-height:44px;display:inline-flex;align-items:center;
}
.boyodo-menu-legal a:hover{color:#0b46c4!important}

/* On a phone it becomes a bottom sheet, which is the familiar pattern and
   keeps every target within thumb reach. */
@media (max-width:767px){
  .boyodo-menu-panel{
    top:auto;bottom:0;right:0;left:0;width:100%;
    max-height:86vh;border-radius:26px 26px 0 0;padding:16px 14px calc(18px + env(safe-area-inset-bottom));
    transform-origin:bottom center;transform:translateY(100%);
  }
  .boyodo-menu-panel.is-open{transform:translateY(0)}
  .boyodo-menu-grid{grid-template-columns:1fr;gap:10px}
  .boyodo-menu-grid section+section{border-top:1px solid #eef3fb;padding-top:10px}
  .boyodo-menu-head strong{font-size:18px}
}

/* Search suggestions must escape the narrow two-column search form. */
#boyodoDoctorSuggest.bo-sug-box{
  left:0!important;
  right:auto!important;
  width:min(680px,calc(100vw - 24px))!important;
  min-width:min(320px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  box-sizing:border-box!important;
}
@media (max-width:767px){
  #boyodoDoctorSuggest.bo-sug-box{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:86px!important;
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:none!important;
  }
}
@media (prefers-reduced-motion:reduce){
  .boyodo-menu-panel{transition:opacity 160ms ease!important;transform:none!important}
  .boyodo-menu-panel.is-open{transform:none!important}
}
@media (prefers-reduced-transparency:reduce){
  .boyodo-menu-panel{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
}

/* The PWA install prompt is a fixed layer at z-index ~1000 and was floating
   over the menu panel and its scrim. Anything the menu covers must sit below
   it, and the prompt should get out of the way entirely while the menu is open. */
.boyodo-install-banner{z-index:900!important}
body:has(.boyodo-menu-panel.is-open) .boyodo-install-banner,
body:has(.boyodo-menu-panel.is-open) .boyodo-support-chat{
  opacity:0;pointer-events:none;transition:opacity 200ms ease-out;
}

/* Assistant symptom input */
.boyodo-bot-symptom{display:flex;gap:8px;width:100%}
.boyodo-bot-symptom input{
  flex:1;min-width:0;min-height:44px;padding:10px 13px;font-size:16px;
  border:1px solid #d7e6f7;border-radius:14px;background:#fff;color:#0b1f3a;font-family:inherit;
}
.boyodo-bot-symptom input:focus{border-color:#0b46c4;box-shadow:0 0 0 3px rgba(11,70,196,.18);outline:none}
.boyodo-bot-symptom button{
  min-height:44px;padding:0 16px;border:0;border-radius:14px;cursor:pointer;
  background:linear-gradient(135deg,#0b46c4,#0a2f8f);color:#fff;font-weight:800;font-size:15px;
  transition:transform 200ms cubic-bezier(.22,1,.36,1);
}
.boyodo-bot-symptom button:active{transform:scale(.96)}
.boyodo-bot-symptom button[disabled]{opacity:.6;cursor:progress}

/* ============================================================================
   BOYODO READABILITY + TOUCH LAYER  —  17 Aug 2026
   ----------------------------------------------------------------------------
   Written from a measured audit, not from guesswork: Chrome at 375x812 with
   isMobile/hasTouch, reading getComputedStyle on every text node and the
   bounding box of every link and button across 16 pages. That found 374 text
   nodes under 16px and 242 tap targets under 44px, which collapsed into 51 and
   26 distinct causes respectively. This layer fixes them.

   The size policy this enforces, so future changes stay consistent:

     >= 16px   sentence copy, card titles, link labels, form labels, buttons
     13-14px   eyebrows, badges, meta captions, counts  (deliberate)
     11px      bottom tab-bar labels - Apple ships 10pt here, so this is
               intentionally left alone rather than inflated
     >= 44x44  every tap target, per Apple HIG

   Three things are deliberately NOT changed and will still show up in an audit:
   the .boyodo-mobile-nav labels above, Google Maps' own attribution overlay
   (third-party, inside their shadow markup), and .sr-only text, which is
   clipped rather than hidden so a naive size check still sees it.

   !important is used throughout because Tailwind utilities such as .text-sm
   carry the same specificity as these class selectors, and app.css is emitted
   after this file in some layouts - source order cannot be relied on.
   ========================================================================== */

/* --- Footer -------------------------------------------------------------
   .boyodo-footer-link existed as a class in the blade with only a colour rule
   behind it; all its sizing came from Tailwind's .text-sm. That is where 98 of
   the findings came from: 14px labels in 26px-tall boxes, on all 14 pages. */
.boyodo-footer-link{
  font-size:16px!important;line-height:1.35!important;
  display:inline-flex!important;align-items:center;
  min-height:44px!important;
}
.boyodo-provider-links a{font-size:16px!important;min-height:44px!important}
.boyodo-owner-footer small,.boyodo-support-footer small{font-size:13px!important}
.boyodo-owner-footer a,.boyodo-support-footer a{
  display:inline-flex!important;align-items:center;
  min-height:44px!important;font-size:16px!important;word-break:break-word;
}
/* Social icons were 34x34 with no padding of their own - the circle came from
   the <i> inside, so the anchor was smaller than the thing it wrapped. */
.boyodo-footer-social a{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-width:44px!important;min-height:44px!important;
}
.boyodo-footer-social a i{font-size:16px}

/* --- Header ------------------------------------------------------------ */
.boyodo-brand-link{min-height:44px!important;display:flex!important;align-items:center}
/* Was rounded-none + text-sm: a 36px square button with 14px text. Now a
   proper pill at the full 44px, which is also the "rounded button" the client
   asked for. */
.boyodo-signin-btn{
  display:inline-flex!important;
  min-height:44px!important;font-size:16px!important;
  border-radius:999px!important;
  -webkit-tap-highlight-color:transparent;
  transition:transform 220ms cubic-bezier(.22,1,.36,1),filter 160ms ease-out;
}
.boyodo-signin-btn:active{transform:scale(.96);filter:brightness(.94)}

/* --- Card and section body copy: 15px -> 16px --------------------------- */
.boyodo-market-doctor h3,
.boyodo-market-doctor p,
.boyodo-market-doctor-action a,
.boyodo-feature-card p,
.boyodo-chamber-card h3,
.boyodo-chamber-card p,
.boyodo-chamber-card a,
.boyodo-card-actions a,
.boyodo-section-heading p,
.boyodo-help-card p,
.boyodo-help-card a,
.boyodo-process-card ol li div span,
.boyodo-how-step div span,
.boyodo-how-step__n,
.boyodo-map-status,
.boyodo-doctor-head .boyodo-speciality,
.boyodo-filter-toggle span,
.boyodo-founder-card p,
.boyodo-blog-excerpt,
.boyodo-more-btn,
.boyodo-flow-steps li div span,
.boyodo-flow-card p{
  font-size:16px!important;line-height:1.45!important;
}
/* Deliberate small type, floored at 13px so it stays legible */
.boyodo-rating span,
.boyodo-service-area small,
.boyodo-filter-toggle small,
.boyodo-founder-card small,
.boyodo-owner-footer small,
.boyodo-eyebrow,
.boyodo-flow-kicker,
.boyodo-service-link span,
.boyodo-diagram-node small{
  font-size:13px!important;line-height:1.35!important;
}

/* --- Remaining tap targets --------------------------------------------- */
/* Phone and email links inside body copy were 21-24px tall: they are inline
   text, so they had only the line box for height. */
.boyodo-contact-card span a,
.boyodo-flow-note a,
.boyodo-auth-links a,
.boyodo-founder-card a,
.boyodo-help-card a,
.boyodo-more-btn{
  display:inline-flex!important;align-items:center;
  min-height:44px!important;
}
.boyodo-contact-card span a,
.boyodo-flow-note a{word-break:break-word}
/* Close button was 44 tall but only 21 wide. */
.boyodo-install-banner__close{
  min-width:44px!important;min-height:44px!important;
  display:inline-flex!important;align-items:center;justify-content:center;
}

/* --- Respect the user's motion setting --------------------------------- */
@media (prefers-reduced-motion:reduce){
  .boyodo-signin-btn{transition:none}
  .boyodo-signin-btn:active{transform:none}
}

/* --- Cascade repairs found while auditing -------------------------------
   Two of these are bugs the earlier mobile-first layer introduced, so they are
   fixed here rather than papered over.

   1. `.boyodo-page button{display:inline-flex}` in that layer outranks
      Tailwind's `.hidden{display:none}` (two classes beats one), which
      un-hid every button the markup deliberately hides. Live symptoms: a
      stray blue "Toggle modal" button rendering at the bottom of the
      homepage, and the review dialog on the patient profile becoming
      impossible to dismiss, since its close handler works by adding
      `.hidden`. Restoring `.hidden` outright is safe: a search of every
      view shows the class is only ever added by script, never removed, so
      nothing depends on it being overridden.
   2. The install-banner caption sat at 14px and its button at 15px. */
.boyodo-page .hidden,
.boyodo-page [hidden],
[hidden]{display:none!important}

.boyodo-page .boyodo-install-banner__text span{font-size:16px!important;line-height:1.4!important}
.boyodo-page .boyodo-install-banner__btn{font-size:16px!important}
.boyodo-page .boyodo-install-banner__close{font-size:20px!important}

/* Two sentences the audit still caught below the 16px floor. Both are
   instructions to the reader, not captions, so they follow the body-copy rule:
   the map hint and the four "How Boyodo works" step descriptions. The base
   stylesheet has these at 11px and 10px respectively, which is where the
   numbers came from originally. */
.boyodo-page .boyodo-map-status{font-size:16px!important;line-height:1.45!important}
.boyodo-page .boyodo-flow-steps li div span{font-size:16px!important;line-height:1.5!important}

/* --- The bottom stack on mobile ----------------------------------------
   Measured at 375x812, scrolled to the very bottom: the PWA install banner
   sat at bottom:16px with z-index 900 and rendered 157px tall, which put it
   squarely on top of the whole bottom navigation bar - Home, Doctors,
   Bookings and Support were all unreachable - plus the last two footer links
   and the support button. The banner is a suggestion; the navigation is the
   navigation. So the order from the bottom edge up is now:

       nav (bottom 10px, ~70px tall)  ->  install banner  ->  support button

   and the caption drops on small screens so the banner is one row rather
   than three. body gains room for the banner only while it is actually on
   screen, which is what the boyodo-has-install-banner class tracks. */
@media (max-width:767px){
  /* The install prompt must not cover the homepage's first action (search). */
  .boyodo-page-home .boyodo-install-banner,
  .boyodo-page-labs .boyodo-install-banner{display:none!important}
  .boyodo-install-banner{
    left:12px!important;right:12px!important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;
    z-index:80!important;padding:10px 12px!important;
  }
  .boyodo-install-banner__text span{display:none!important}
  .boyodo-install-banner__text strong{font-size:16px!important;line-height:1.3!important}
  /* one row: the title is enough on a phone, and a wrapping title was what
     made this 157px tall in the first place */
  .boyodo-install-banner{flex-wrap:nowrap!important}
  .boyodo-install-banner__icon{width:38px!important;height:38px!important;flex:0 0 38px!important}
  .boyodo-install-banner__text{min-width:0!important}
  .boyodo-install-banner__text strong{
    display:block!important;overflow:hidden!important;
    text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  .boyodo-install-banner__btn{flex:0 0 auto!important;white-space:nowrap!important}
  /* --byd-banner-h is measured in mainlayout and kept current by a
     ResizeObserver, so these two never have to guess the banner's height */
  body.boyodo-has-install-banner{
    padding-bottom:calc(102px + var(--byd-banner-h,64px) + env(safe-area-inset-bottom,0px))!important;
  }
  body.boyodo-has-install-banner .boyodo-support-chat,
  body.boyodo-has-install-banner.boyodo-page .boyodo-support-chat{
    bottom:calc(104px + var(--byd-banner-h,64px) + env(safe-area-inset-bottom,0px))!important;
  }
}

/* ============================================================================
   CHAMBERS LISTING  —  /all-chambers, 17 Aug 2026
   ----------------------------------------------------------------------------
   The "Chambers" shortcut used to open /show-doctors, identical to the
   "Doctors" shortcut sitting next to it. Chambers now have their own page.
   Logos use object-fit:contain on a white plate: the homepage card cropped
   non-square logos into an unreadable stub, which is the "clinic logo
   incomplete" report.
   ========================================================================== */
.boyodo-chambers-page{background:#f4f8fc;padding:0 0 40px}
.boyodo-chambers-wrap{width:min(100% - 24px,1152px);margin:0 auto}
.boyodo-chambers-hero{padding:28px 0 22px}
.boyodo-chambers-hero h1{
  font:800 clamp(30px,5vw,46px)/1.08 Sora,sans-serif;letter-spacing:-1.3px;
  margin:12px 0 10px;color:#0b2237;
}
.boyodo-chambers-hero>p{max-width:640px;color:#51677f;font-size:16px;line-height:1.6;margin:0}
.boyodo-chambers-search{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:18px}
.boyodo-chambers-search label{
  display:flex;align-items:center;gap:9px;min-width:0;
  padding:0 14px;border:1px solid #d7e6f7;border-radius:16px;background:#fff;
}
.boyodo-chambers-search label i{color:#075fe6;flex:0 0 auto}
.boyodo-chambers-search input{
  flex:1;min-width:0;min-height:48px;border:0;outline:0;background:none;
  font:inherit;font-size:16px;color:#0b1f3a;
}
.boyodo-chambers-search button{
  min-height:48px;padding:0 20px;border:0;border-radius:16px;cursor:pointer;
  background:linear-gradient(135deg,#0b46c4,#0a2f8f);color:#fff;
  font-weight:800;font-size:16px;
  transition:transform 220ms cubic-bezier(.22,1,.36,1),filter 160ms ease-out;
}
.boyodo-chambers-search button:active{transform:scale(.97);filter:brightness(.95)}
.boyodo-chambers-result-line{margin:12px 0 0;font-size:16px;color:#51677f}
.boyodo-chambers-result-line a{color:#075fe6;font-weight:700;margin-left:6px;
  display:inline-flex;align-items:center;min-height:44px}

.boyodo-chambers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.boyodo-chamber-tile{
  display:grid;grid-template-rows:auto 1fr auto;gap:12px;
  padding:18px;border:1px solid #dbe8f4;border-radius:24px;background:#fff;
  box-shadow:0 18px 44px -38px rgba(23,78,115,.9);
}
.boyodo-chamber-tile__logo{
  display:grid;place-items:center;width:76px;height:76px;padding:9px;
  border:1px solid #e6eff8;border-radius:20px;background:#fff;
}
.boyodo-chamber-tile__logo img{
  width:100%;height:100%;object-fit:contain;   /* never crop a clinic's logo */
}
.boyodo-chamber-tile__logo i{font-size:30px;color:#7ba7cd}
.boyodo-chamber-tile__body h2{
  margin:0 0 6px;font:800 19px/1.25 Sora,sans-serif;color:#0b263c;letter-spacing:-.3px;
}
.boyodo-chamber-tile__address{display:flex;gap:7px;margin:0 0 8px;color:#51677f;font-size:16px;line-height:1.45}
.boyodo-chamber-tile__address i{margin-top:3px;color:#0b46c4;flex:0 0 auto}
.boyodo-chamber-tile__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0}
.boyodo-chamber-tile__count{
  display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;
  background:#e8f5ee;color:#0a6b45;font-size:13px;font-weight:800;
}
.boyodo-chamber-tile__phone{
  display:inline-flex;align-items:center;gap:6px;min-height:44px;
  color:#075fe6;font-size:16px;font-weight:700;
}
.boyodo-chamber-tile__actions{display:grid;grid-template-columns:1fr auto;gap:9px}
.boyodo-chamber-tile__primary,.boyodo-chamber-tile__secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:48px;padding:0 16px;border-radius:15px;font-size:16px;font-weight:800;
  -webkit-tap-highlight-color:transparent;
  transition:transform 220ms cubic-bezier(.22,1,.36,1),filter 160ms ease-out;
}
.boyodo-chamber-tile__primary{background:linear-gradient(135deg,#0b46c4,#0a2f8f);color:#fff!important}
.boyodo-chamber-tile__secondary{background:#eef4ff;color:#075fe6!important;border:1px solid #cddbf5}
.boyodo-chamber-tile__primary:active,.boyodo-chamber-tile__secondary:active{transform:scale(.97)}

.boyodo-chambers-pager{margin-top:20px}
.boyodo-chambers-empty{
  display:grid;justify-items:center;gap:10px;text-align:center;
  padding:52px 22px;border:1px dashed #cbdcec;border-radius:26px;background:#fff;
}
.boyodo-chambers-empty i{font-size:38px;color:#9dc2dd}
.boyodo-chambers-empty h2{margin:0;font:800 22px Sora,sans-serif;color:#0b263c}
.boyodo-chambers-empty p{margin:0;max-width:420px;color:#51677f;font-size:16px;line-height:1.6}
.boyodo-chambers-empty a{
  display:inline-flex;align-items:center;min-height:48px;padding:0 22px;margin-top:6px;
  border-radius:15px;background:linear-gradient(135deg,#0b46c4,#0a2f8f);
  color:#fff!important;font-size:16px;font-weight:800;
}

@media (max-width:1023px){ .boyodo-chambers-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:767px){
  .boyodo-chambers-wrap{width:min(100% - 20px,1152px)}
  .boyodo-chambers-hero{padding:20px 0 16px}
  .boyodo-chambers-search{grid-template-columns:1fr}
  .boyodo-chambers-grid{grid-template-columns:1fr;gap:12px}
  .boyodo-chamber-tile{padding:15px;border-radius:20px;grid-template-columns:64px 1fr;
    grid-template-rows:auto auto;column-gap:13px;row-gap:11px}
  .boyodo-chamber-tile__logo{width:64px;height:64px;border-radius:17px}
  .boyodo-chamber-tile__body{grid-column:2}
  .boyodo-chamber-tile__actions{grid-column:1 / -1}
}

/* --- Locale chip + OTP resend -------------------------------------------
   The header chip showed images/upload/English.png, a US flag. It is now the
   Indian flag as an SVG in the repo, so it does not depend on an admin upload.
   The language name is hidden on phones - the row is logo, flag, Sign In and
   menu, and 375px has no room for a word that repeats what the flag says. */
.boyodo-language-flag{
  width:26px;height:18px;border-radius:3px;object-fit:cover;
  box-shadow:0 0 0 1px rgba(11,34,55,.14);
}
.boyodo-language{gap:8px;min-height:44px}
.boyodo-language-name{font-size:14px;font-weight:700;color:#51677f}
@media (max-width:767px){
  .boyodo-language-name{display:none!important}
  .boyodo-language{padding-left:8px!important;padding-right:8px!important;min-width:44px!important}
}

/* The disabled resend control was blue text at opacity .55 on a pale plate,
   which is the washed-out pill in the client's screenshot and fails the 4.5:1
   text-contrast rule. Disabled state is now carried by colour and a plain
   surface at full opacity, so it reads as clearly unavailable rather than
   half-rendered - and the countdown stays legible. */
.boyodo-page .boyodo-otp-actions>.boyodo-otp-resend.is-disabled,
.boyodo-page .boyodo-otp-actions>a.is-disabled{
  opacity:1!important;
  color:#41566b!important;
  background:#eef2f7!important;
  border:1px solid #d8e2ec!important;
  border-radius:12px!important;
  padding:6px 14px!important;
  font-size:15px!important;font-weight:700!important;
  font-variant-numeric:tabular-nums;   /* the countdown must not jitter */
  cursor:not-allowed!important;
}
.boyodo-page .boyodo-otp-actions>.boyodo-otp-resend:not(.is-disabled){
  font-size:16px!important;font-weight:800!important;
  padding:6px 14px!important;border-radius:12px!important;
  background:#eef4ff!important;border:1px solid #cddbf5!important;
}

/* --- Admin: notification templates -------------------------------------
   boyodo.css is loaded by the admin layout too, so the two-column tab screen
   can be fixed here. The markup put a w-25 tab list next to a w-100 panel
   inside a d-flex row - 125% wide, so the panel overlapped the template names.
   On a phone the list collapsed to about 90px and the collision was total,
   which is the screenshot the client sent. */
.boyodo-template-shell{gap:18px;align-items:flex-start}
.boyodo-template-tabs{
  flex:0 0 auto;width:100%;gap:6px;
  display:flex;flex-wrap:wrap;margin:0;padding:0;
}
.boyodo-template-tabs .nav-item{padding:0!important;list-style:none}
.boyodo-template-tabs .nav-link{
  display:flex;align-items:center;min-height:44px;padding:9px 14px;
  border:1px solid #dce6f2;border-radius:12px;background:#fff;
  color:#41566b;font-size:15px;font-weight:700;line-height:1.25;
  text-transform:capitalize;
}
.boyodo-template-tabs .nav-link.active{
  background:#0d6efd;border-color:#0d6efd;color:#fff;
}
.boyodo-template-content{flex:1 1 auto;min-width:0;width:100%;margin:0!important}
.boyodo-template-content .form-control,
.boyodo-template-content input,
.boyodo-template-content textarea{font-size:16px!important}
@media (min-width:992px){
  .boyodo-template-tabs{width:230px;flex-wrap:nowrap}
  .boyodo-template-tabs .nav-link{width:100%}
}
@media (max-width:991px){
  /* the names become a wrapping chip row above the form, which is legible at
     375px in a way a 90px column never was */
  .boyodo-template-shell{gap:14px}
  .boyodo-template-content .note-editor{max-width:100%}
}

/* ============================================================================
   ASSISTANT — result cards, 18 Aug 2026
   ----------------------------------------------------------------------------
   The assistant used to reply with a stack of identical text bubbles. It now
   returns typed blocks, so a doctor reads as a doctor: photo, name, speciality,
   chamber and fee, aligned in a row you can scan. 44px minimum on everything
   tappable, 16px labels, and press feedback that does not move the layout.
   ========================================================================== */
.boyodo-bot-card{
  margin:8px 0;padding:13px 14px;border:1px solid #d9e7f5;border-radius:16px;
  background:#fff;box-shadow:0 10px 26px -24px rgba(11,34,55,.8);
}
.boyodo-bot-card strong{display:block;font-size:16px;line-height:1.3;color:#0b2237}
.boyodo-bot-card p{margin:5px 0 0;font-size:15px;line-height:1.5;color:#51677f}
.boyodo-bot-card__cta{
  display:inline-flex;align-items:center;min-height:44px;margin-top:6px;
  color:#0b46c4!important;font-weight:800;font-size:15px;
}

.boyodo-bot-result{
  display:flex;align-items:center;gap:11px;margin:7px 0;padding:10px 12px;
  min-height:56px;border:1px solid #dbe8f4;border-radius:16px;background:#fff;
  color:#0b2237!important;text-decoration:none!important;
  transition:transform 200ms cubic-bezier(.22,1,.36,1),box-shadow 200ms ease-out;
}
.boyodo-bot-result:active{transform:scale(.985)}
.boyodo-bot-result img,.boyodo-bot-result__ph{
  flex:0 0 auto;width:42px;height:42px;border-radius:13px;object-fit:cover;background:#eef4ff;
}
.boyodo-bot-result img.is-contain{object-fit:contain;padding:4px;background:#fff;border:1px solid #e6eff8}
.boyodo-bot-result__ph{display:grid;place-items:center;color:#0b46c4;font-size:17px}
.boyodo-bot-result__main{display:grid;gap:1px;min-width:0;flex:1}
.boyodo-bot-result__main strong{font-size:16px;line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.boyodo-bot-result__main em{font-style:normal;font-size:13px;color:#51677f;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.boyodo-bot-result__main small{display:flex;align-items:center;gap:5px;font-size:13px;color:#6b7f93;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.boyodo-bot-result__fee{
  flex:0 0 auto;padding:5px 10px;border-radius:999px;background:#eef4ff;
  color:#0b46c4;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums;
}
.boyodo-bot-result.is-compact{min-height:52px}
.boyodo-bot-result.is-compact i{color:#8aa3bb}

.boyodo-bot-chiprow{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:9px 0}
.boyodo-bot-chiprow__label{width:100%;font-size:13px;font-weight:800;color:#51677f;
  text-transform:uppercase;letter-spacing:.06em}
.boyodo-bot-chip.is-link{
  display:inline-flex;align-items:center;min-height:44px;padding:0 14px;
  border:1px solid #cddbf5;border-radius:999px;background:#eef4ff;
  color:#0b46c4!important;font-size:15px;font-weight:700;text-decoration:none!important;
}

/* three dots while the answer is being fetched, instead of a frozen panel */
.boyodo-bot-typing{display:flex;gap:5px;align-items:center;padding:12px 4px}
.boyodo-bot-typing span{
  width:7px;height:7px;border-radius:50%;background:#9db7d2;
  animation:boyodo-bot-dot 1.1s infinite ease-in-out;
}
.boyodo-bot-typing span:nth-child(2){animation-delay:.16s}
.boyodo-bot-typing span:nth-child(3){animation-delay:.32s}
@keyframes boyodo-bot-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){
  .boyodo-bot-typing span{animation:none;opacity:.6}
  .boyodo-bot-result{transition:none}
  .boyodo-bot-result:active{transform:none}
}

/* Quick-reply chips measured 40px. They are the main way the assistant is
   driven, so they get the same 44px floor as everything else. */
.boyodo-bot-quickreplies .boyodo-bot-chip,
.boyodo-page .boyodo-bot-chip{
  min-height:44px!important;padding:0 15px!important;font-size:15px!important;
  display:inline-flex!important;align-items:center;
}

/* ============================================================================
   HOMEPAGE POLISH — 18 Aug 2026
   ========================================================================== */

/* --- the step number was invisible --------------------------------------
   `.boyodo-page .boyodo-how-step span{color:#46586f}` is (0,2,1) and the badge
   is a span, so the generic rule beat `.boyodo-how-step__n{color:#fff}` (0,1,0)
   and painted dark slate numerals onto a dark blue chip. Same cascade trap as
   before: two classes beat one, whatever the source order. */
.boyodo-page .boyodo-how-step .boyodo-how-step__n,
.boyodo-how-step .boyodo-how-step__n{
  color:#fff!important;
  font-size:16px!important;font-weight:800!important;
  font-variant-numeric:tabular-nums;
  box-shadow:0 6px 16px -10px rgba(1,0,220,.9);
}

/* --- speciality tiles: vector icons on a tinted plate --------------------
   The sprite sheet is no longer referenced; these rules replace it. */
.boyodo-page .boyodo-speciality-art,
.boyodo-speciality-art{          /* kill the old sprite */
}
.boyodo-speciality-art i{
  line-height:1;
}
.boyodo-page .boyodo-speciality-card strong{
  font-size:14px!important;line-height:1.3!important;font-weight:800!important;
}
.boyodo-page .boyodo-speciality-card button{
  transition:transform 260ms cubic-bezier(.22,1,.36,1),box-shadow 260ms cubic-bezier(.22,1,.36,1);
}
.boyodo-page .boyodo-speciality-card button:active{transform:scale(.97)}

/* --- entrance motion -----------------------------------------------------
   Sections lift in once, as they arrive. Applied by a class the script adds
   only after checking prefers-reduced-motion, so there is no state to undo
   for people who have asked for less movement. */
.boyodo-reveal{opacity:0;transform:translateY(14px)}
.boyodo-reveal.is-in{
  opacity:1;transform:none;
  transition:opacity 240ms cubic-bezier(.22,1,.36,1),transform 240ms cubic-bezier(.22,1,.36,1);
}
.boyodo-reveal.is-in:nth-child(2){transition-delay:40ms}

/* Specialty cards sit high in the homepage journey. Keep their artwork and
   labels visible almost immediately when the grid enters the viewport; the
   longer reveal made a narrow scroll look like a missing section. */
.boyodo-page-home .boyodo-speciality-card.boyodo-reveal.is-in{
  transition-duration:280ms;
}

/* --- Dynamic doctor hero slideshow -------------------------------------- */
.boyodo-page .boyodo-doctor-slideshow{
  overflow:visible!important;
}
.boyodo-page .boyodo-doctor-slideshow>img{
  transition:opacity .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1)!important;
}
.boyodo-page .boyodo-doctor-slideshow.is-changing>img{
  opacity:.42!important;
  transform:rotate(-1.5deg) scale(.985)!important;
}
.boyodo-hero-doctor-card{
  position:absolute;
  z-index:4;
  border:1px solid rgba(255,255,255,.72);
  color:#0b2237!important;
  text-decoration:none!important;
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  transform:rotate(-1.5deg);
}
.boyodo-hero-doctor-card span{
  max-width:100%;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.boyodo-hero-doctor-card strong{
  color:#071d35;
  font:900 18px/1.15 "Sora",sans-serif;
}
.boyodo-hero-doctor-card small{
  font-weight:800;
}
.boyodo-hero-dots{
  position:absolute;
  left:50%;
  bottom:10px;
  z-index:5;
  display:flex;
  gap:7px;
  transform:translateX(-50%) rotate(-1.5deg);
}
.boyodo-hero-dots span{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  box-shadow:0 0 0 1px rgba(7,95,230,.16);
}
.boyodo-hero-dots span.is-active{
  width:20px;
  background:#fff;
}
@media(max-width:767px){
  .boyodo-hero-doctor-card{
    border-radius:18px;
  }
  .boyodo-hero-dots{
    bottom:7px;
  }
}

/* --- Admin-managed speciality rail --------------------------------------
   Homepage specialities come from Super Admin > Treatments. Uploaded icons
   must show whole, not as the old hardcoded sprite/checkerboard artwork. */
.boyodo-page .boyodo-speciality-rail,
.boyodo-speciality-rail{
  gap:14px!important;
  padding:8px 6px 20px!important;
}
.boyodo-page .boyodo-speciality-card,
.boyodo-speciality-card{
  flex:0 0 150px!important;
  min-width:150px!important;
}
.boyodo-page .boyodo-speciality-card button,
.boyodo-speciality-card button{
  display:grid!important;
  min-height:146px!important;
  align-content:center!important;
  justify-items:center!important;
  gap:10px!important;
  padding:16px 12px!important;
  border:1px solid #d7e9fb!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fff 0%,#f8fcff 100%)!important;
  box-shadow:0 1px 2px rgba(11,31,58,.04),0 16px 34px -26px rgba(11,70,196,.5)!important;
}
.boyodo-page .boyodo-speciality-art,
.boyodo-speciality-art{
  display:grid!important;
  width:72px!important;
  height:72px!important;
  margin:0!important;
  place-items:center!important;
  overflow:hidden!important;
  border:1px solid #dcecff!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,#edf6ff,#effffb)!important;
  background-image:none!important;
  box-shadow:inset 0 1px 0 #fff,0 12px 26px -22px rgba(11,70,196,.5)!important;
}
.boyodo-page .boyodo-speciality-art img,
.boyodo-speciality-art img{
  display:block!important;
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.boyodo-page .boyodo-speciality-art i,
.boyodo-speciality-art i{
  color:#0b5fe8!important;
  font-size:30px!important;
}
.boyodo-page .boyodo-speciality-card strong,
.boyodo-speciality-card strong{
  max-width:100%!important;
  margin:0!important;
  color:#0b2237!important;
  font:800 13px/1.28 "Sora",sans-serif!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:767px){
  .boyodo-page .boyodo-speciality-rail,
  .boyodo-speciality-rail{
    margin-inline:-14px!important;
    padding-inline:14px!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    scrollbar-width:thin!important;
  }
  .boyodo-page .boyodo-speciality-card,
  .boyodo-speciality-card{
    flex-basis:132px!important;
    min-width:132px!important;
  }
  .boyodo-page .boyodo-speciality-card button,
  .boyodo-speciality-card button{
    min-height:136px!important;
    padding:14px 10px!important;
    border-radius:22px!important;
  }
  .boyodo-page .boyodo-speciality-art,
  .boyodo-speciality-art{
    width:64px!important;
    height:64px!important;
    border-radius:22px!important;
  }
  .boyodo-page .boyodo-speciality-art img,
  .boyodo-speciality-art img{
    width:52px!important;
    height:52px!important;
  }
}
.boyodo-reveal.is-in:nth-child(3){transition-delay:80ms}
.boyodo-reveal.is-in:nth-child(4){transition-delay:120ms}
@media (prefers-reduced-motion:reduce){
  .boyodo-reveal,.boyodo-reveal.is-in{opacity:1;transform:none;transition:none}
}

/* Four greys that measured just under 4.5:1 against a real opaque background
   (the rest of the contrast report was my checker reading backgroundColor and
   missing gradient paint — white on a blue gradient is fine). */
.boyodo-page .boyodo-market-doctor strong,
.boyodo-page .boyodo-doctor-fee strong{color:#0b2237!important}
.boyodo-page .boyodo-service-area small,
.boyodo-page .boyodo-otp-note,
.boyodo-page .boyodo-eyebrow{color:#3f5670!important}

/* Booking calendar: a sliding 45-day strip where availability is readable
   before you tap. Green = the doctor is sitting and slots remain; closed days
   are disabled outright rather than looking tappable and doing nothing. */
.date-pattern{
  display:flex;align-items:center;gap:8px;margin:0 0 12px;
  padding:10px 12px;border-radius:12px;background:#eef8ff;color:#0b4a77;
  line-height:1.4;
}
.boyodo-page .date-pattern{font-size:15px!important}
.date-pattern i{color:#0a6fb8;flex:0 0 auto}

/* The clinical short form. Patients recognise a doctor by "DR R. R. DAS" as
   readily as by the full name, and it is what they type into search. */
.boyodo-doctor-shortname,.boyodo-profile-shortname{
  margin:2px 0 0;color:#3f5670;font-weight:800;letter-spacing:.4px;
}
.boyodo-page .boyodo-doctor-shortname{font-size:13px!important}
.boyodo-page .boyodo-profile-shortname{font-size:15px!important;color:#0b4a77!important}
/* The card photo and name are links now; they must not look like body links. */
.boyodo-doctor-photo-link{display:block;line-height:0}
.boyodo-doctor-name a{color:inherit!important;text-decoration:none!important}
.boyodo-doctor-name a:focus-visible{outline:2px solid #0a6fb8;outline-offset:3px;border-radius:6px}
.boyodo-doctor-photo-link:focus-visible{outline:2px solid #0a6fb8;outline-offset:3px;border-radius:14px}
.boyodo-market-doctor h3 a{color:inherit!important;text-decoration:none!important}
.boyodo-market-doctor h3 a:focus-visible{outline:2px solid #0a6fb8;outline-offset:3px;border-radius:6px}

/* 2026-08-20: doctor booking toggle, badge refresh, monthly visit polish. */
.boyodo-page .boyodo-verified-inline,
.boyodo-page .boyodo-rating.is-new{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  margin-top:6px!important;
  padding:6px 10px!important;
  border:1px solid #bfdbfe!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#eff6ff,#fff)!important;
  color:#075fe6!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  box-shadow:0 8px 22px -18px rgba(7,95,230,.7)!important;
}
.boyodo-page .boyodo-verified-inline i,
.boyodo-page .boyodo-rating.is-new i{color:#075fe6!important}
.boyodo-coming-soon-inline{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  width:max-content!important;
  margin-top:7px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  color:#9a3412!important;
  font-size:11px!important;
  font-weight:900!important;
}
.boyodo-primary-action--disabled,
.boyodo-card-disabled,
.boyodo-side-disabled,
.boyodo-view-slots.is-disabled{
  cursor:not-allowed!important;
  opacity:1!important;
  text-decoration:none!important;
}
.boyodo-primary-action--disabled{
  background:linear-gradient(135deg,#9aa8bd,#64748b)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.boyodo-card-disabled{
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:15px;
  background:#eef2f7;
  color:#64748b;
  font-size:12px;
  font-weight:800;
}
.boyodo-side-disabled{
  min-height:46px;
  border-radius:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  background:#eef2f7;
  color:#64748b;
  font-weight:900;
  font-size:13px;
}
.boyodo-view-slots.is-disabled strong{color:#9a3412!important}

/* Boyodo appointment feature pass: autocomplete, clickable schedules and calendar grid. */
.boyodo-suggest-wrap{position:relative;min-width:0;width:100%}
.ui-autocomplete,.autocomplete-suggestions,.typeahead.dropdown-menu,.tt-menu{z-index:9999!important;max-width:min(760px,calc(100vw - 28px))!important;overflow:hidden!important;border:1px solid #d8e4ef!important;border-radius:18px!important;background:#fff!important;box-shadow:0 18px 45px -26px rgba(8,34,62,.5)!important}
.ui-autocomplete .ui-menu-item,.autocomplete-suggestion,.tt-suggestion{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:52px!important;padding:10px 14px!important;border-bottom:1px solid #eef3f7!important;color:#10263a!important;font-weight:800!important;line-height:1.3!important;white-space:normal!important}
.ui-autocomplete .ui-menu-item:last-child,.autocomplete-suggestion:last-child,.tt-suggestion:last-child{border-bottom:0!important}
.ui-autocomplete .ui-menu-item:after,.autocomplete-suggestion:after,.tt-suggestion:after{content:"\f0f0";font-family:"Font Awesome 6 Free";font-weight:900;display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#edf6ff;color:#075fe6;font-size:13px}
.ui-state-active,.ui-widget-content .ui-state-active,.autocomplete-suggestion:hover,.tt-suggestion:hover{background:#f3f8ff!important;border-color:#eef3f7!important;color:#075fe6!important}
.boyodo-clinic-status{margin-top:8px!important;margin-bottom:16px!important;color:#0b7c45!important;font-weight:900!important}
.boyodo-clinic-status .fa-circle-pause{color:#a96700!important}
.boyodo-booking-window{margin-top:10px!important;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.1);color:#e7f2ff!important;font-size:12px!important;line-height:1.45!important}
.boyodo-doctor-booking-switch{
  border:0!important;
  border-radius:22px!important;
  overflow:hidden;
  box-shadow:0 18px 50px -34px rgba(9,33,59,.55)!important;
}
.boyodo-doctor-booking-switch .card-body{
  background:linear-gradient(135deg,#f8fbff,#eef6ff);
  border:1px solid #d7e6f5;
}
.boyodo-doctor-booking-icon{
  width:58px;
  height:58px;
  border-radius:18px;
  margin-right:16px;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:20px;
  box-shadow:0 14px 28px -18px rgba(7,95,230,.8);
}
.boyodo-doctor-booking-icon.is-on{background:linear-gradient(135deg,#075fe6,#1d4ed8)}
.boyodo-doctor-booking-icon.is-off{background:linear-gradient(135deg,#f97316,#b45309)}
.boyodo-doctor-booking-switch h4{font-weight:800;color:#0b2237}
@media(max-width:600px){
  .boyodo-page .boyodo-verified-inline,
  .boyodo-page .boyodo-rating.is-new,
  .boyodo-coming-soon-inline{font-size:10px!important}
  .boyodo-side-actions{grid-template-columns:1fr!important}
}

/* --- 2026-08-20: online consultation "Coming Soon" + multi-chamber choice --- */

/* The disabled tile has to read as deliberately-not-yet, not as broken. Muted
   surface, no accent, and the badge carries the word as well as the styling so
   it does not depend on colour alone. */
.visit-option.is-coming-soon{
  opacity:.72;
  cursor:not-allowed;
  border-style:dashed!important;
  border-color:#c8d7e2!important;
  background:#f6f9fc!important;
}
.visit-option.is-coming-soon>i{background:#e8eef4;color:#7c8fa1}
.visit-option.is-coming-soon strong{color:#4a5f73}
.visit-option.is-coming-soon:hover{box-shadow:none;transform:none}
.visit-option-badge{
  grid-column:1/-1;
  justify-self:start;
  padding:4px 11px;
  border-radius:999px;
  background:#eaf1f7;
  color:#5a6f83!important;
  font:800 12px/1.4 Sora,sans-serif;
  letter-spacing:.02em;
}

/* Chamber choice. Only rendered when a doctor sits at more than one clinic, so
   it currently shows for nobody — the single-clinic card above it is untouched. */
.booking-chamber-choice{margin-top:22px;display:grid;gap:10px}
.booking-chamber-option{
  display:grid;
  grid-template-columns:22px 1fr auto;
  align-items:center;
  gap:13px;
  margin:0;
  padding:14px 16px;
  min-height:64px;              /* 44px touch target with room to spare */
  border:1px solid #d7e5ed;
  border-radius:18px;
  background:#fff;
  cursor:pointer;
  transition:.2s;
}
.booking-chamber-option:hover{border-color:#a9cfe6}
.booking-chamber-option.is-selected{
  border-color:#008fe2;
  background:#eef9ff;
  box-shadow:0 0 0 3px rgba(0,143,226,.1);
}
.booking-chamber-option input{width:20px;height:20px;accent-color:#0079dd;margin:0}
.booking-chamber-option:focus-within{outline:2px solid #007ae0;outline-offset:2px}
.booking-chamber-body{display:grid;gap:4px}
.booking-chamber-body strong{font:800 15px Sora,sans-serif;color:#09213b}
.booking-chamber-body small{font-size:13px;color:#65798a}
.booking-chamber-option>a{
  color:#0072d8;font-weight:800;font-size:14px;
  min-height:44px;display:grid;place-items:center;padding:0 8px;
}
@media (max-width:520px){
  .booking-chamber-option{grid-template-columns:22px 1fr;row-gap:8px}
  .booking-chamber-option>a{grid-column:2;justify-self:start;padding:0}
}

/* 2026-08-21: final website polish pass.
   These rules intentionally sit at the end of the Boyodo stylesheet so they
   override older compressed theme rules and third-party autocomplete CSS. */

.boyodo-page [hidden] {
  display:none!important;
}
.boyodo-page .boyodo-logo{
  width:142px!important;
  height:66px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.boyodo-header-phone{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d8e6f2;
  color:#0b2a45!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px -22px rgba(8,34,62,.45);
}
.boyodo-header-phone i{
  color:#075fe6;
}
.boyodo-header-phone:hover,
.boyodo-header-phone:focus-visible{
  border-color:#9fc5ff;
  background:#f6faff;
  outline:0;
}
.boyodo-location-switch i{
  background:linear-gradient(135deg,#075fe6,#1d4ed8)!important;
  color:#fff!important;
}
.boyodo-search,
#searchForm .boyodo-suggest-wrap{
  overflow:visible!important;
}
.boyodo-search .boyodo-suggest-wrap{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
}
.boyodo-search .boyodo-suggest-wrap input,
#searchForm .boyodo-suggest-wrap input{
  position:relative!important;
  z-index:2!important;
}
.ui-autocomplete,
.autocomplete-suggestions,
.typeahead.dropdown-menu,
.tt-menu{
  display:none!important;
}
.boyodo-page .dataTables_empty,
.boyodo-page td.dataTables_empty{
  padding:38px 16px!important;
  color:transparent!important;
}
.boyodo-page .dataTables_empty:before,
.boyodo-page td.dataTables_empty:before{
  content:"";
  display:block;
  width:64px;
  height:64px;
  margin:0 auto 12px;
  border-radius:20px;
  background:radial-gradient(circle at 35% 35%,#fff 0 18%,transparent 19%),linear-gradient(135deg,#eaf2ff,#dbeafe);
  box-shadow:0 16px 35px -26px rgba(7,95,230,.7);
}
.boyodo-page .dataTables_empty:after,
.boyodo-page td.dataTables_empty:after{
  content:"No records yet. New activity will appear here automatically.";
  display:block;
  color:#52677d;
  font-weight:800;
  text-align:center;
}
@media(max-width:767px){
  .boyodo-page .boyodo-logo{
    width:96px!important;
    height:50px!important;
  }
  .boyodo-header-phone{
    min-width:44px;
    height:44px;
    border-radius:15px;
  }
  .boyodo-header-phone span{
    display:none;
  }
  .boyodo-page>nav.boyodo-site-nav{
    height:74px!important;
  }
  #mobile-menu-language-select{
    top:74px!important;
  }
}

/* 2026-08-21 v2: stop home shortcut cards from colliding with section titles. */
.boyodo-page .boyodo-discovery{
  position:relative!important;
  isolation:isolate!important;
  overflow:visible!important;
  margin-bottom:42px!important;
}
.boyodo-page .boyodo-discovery .boyodo-service-grid{
  position:relative!important;
  z-index:3!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  clear:both!important;
}
.boyodo-page .boyodo-discovery + .boyodo-market-section{
  position:relative!important;
  z-index:1!important;
  clear:both!important;
  margin-top:0!important;
}
.boyodo-page .boyodo-service-link{
  text-decoration:none!important;
}
.boyodo-page .boyodo-service-link span{
  display:block!important;
  max-width:100%!important;
  text-align:center!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
@media(max-width:767px){
  .boyodo-page .boyodo-discovery{
    padding-bottom:0!important;
  }
  .boyodo-page .boyodo-discovery-hero{
    display:grid!important;
  }
  .boyodo-page .boyodo-discovery .boyodo-service-grid{
    border-radius:24px!important;
  }
  .boyodo-page .boyodo-service-link{
    min-width:0!important;
    gap:7px!important;
  }
  .boyodo-page .boyodo-service-link>i{
    font-size:16px!important;
  }
  .boyodo-page .boyodo-discovery + .boyodo-market-section{
    margin-top:0!important;
  }
}
@media(max-width:380px){
  .boyodo-page .boyodo-discovery .boyodo-service-grid{
    gap:10px 5px!important;
    padding-inline:6px!important;
  }
  .boyodo-page .boyodo-service-link{
    font-size:9px!important;
  }
}

/* 2026-08-21 v5: production visual guardrails.
   The legacy theme and several incremental Boyodo passes share this file, so
   this final layer normalizes the areas users keep reporting: live search,
   home hero spacing, mobile service tiles, and test-access controls. */
.boyodo-page .boyodo-hero{
  padding:64px 0 72px!important;
}
.boyodo-page .boyodo-hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  gap:48px!important;
}
.boyodo-page .boyodo-hero-visual{
  max-width:620px!important;
  min-height:430px!important;
  justify-self:end!important;
  overflow:visible!important;
}
.boyodo-page .boyodo-hero-visual>img{
  height:382px!important;
  object-fit:cover!important;
}
.boyodo-page .boyodo-discovery{
  margin-top:34px!important;
}
.boyodo-page .boyodo-discovery-hero{
  min-height:320px!important;
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr)!important;
}
.boyodo-page .boyodo-discovery-hero>div{
  padding:42px 46px!important;
}
.boyodo-page .boyodo-discovery-hero h2{
  max-width:520px!important;
  font-size:clamp(38px,4vw,58px)!important;
  line-height:1.04!important;
}
.boyodo-page .boyodo-discovery-hero>img{
  object-position:64% center!important;
}
.boyodo-page .boyodo-search,
.boyodo-page #searchForm{
  position:relative!important;
  z-index:20!important;
  overflow:visible!important;
}
.boyodo-page .boyodo-search label,
.boyodo-page #searchForm label{
  min-width:0!important;
}
.boyodo-page .boyodo-search .boyodo-suggest-wrap,
.boyodo-page #searchForm .boyodo-suggest-wrap{
  position:relative!important;
  z-index:30!important;
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  overflow:visible!important;
}
@media(max-width:767px){
  .boyodo-page .boyodo-hero{
    padding:28px 0 34px!important;
  }
  .boyodo-page .boyodo-hero-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .boyodo-page .boyodo-hero h1{
    font-size:40px!important;
    line-height:1.04!important;
    letter-spacing:-1.55px!important;
  }
  .boyodo-page .boyodo-hero-copy>p{
    font-size:16px!important;
    line-height:1.55!important;
  }
  .boyodo-page .boyodo-hero-visual{
    max-width:none!important;
    min-height:0!important;
    justify-self:stretch!important;
    padding:12px!important;
    border-radius:28px!important;
    transform:none!important;
  }
  .boyodo-page .boyodo-hero-visual>img{
    height:260px!important;
    border-radius:22px!important;
    transform:none!important;
  }
  .boyodo-page .boyodo-float-card{
    transform:none!important;
  }
  .boyodo-page .boyodo-discovery-hero{
    min-height:286px!important;
    grid-template-columns:1fr!important;
    border-radius:26px!important;
  }
  .boyodo-page .boyodo-discovery-hero>div{
    padding:25px 22px 28px!important;
  }
  .boyodo-page .boyodo-discovery-hero h2{
    max-width:290px!important;
    font-size:36px!important;
    line-height:1.04!important;
    letter-spacing:-1.35px!important;
  }
  .boyodo-page .boyodo-discovery-hero>img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    opacity:.18!important;
    object-fit:cover!important;
    object-position:70% center!important;
  }
  .boyodo-page .boyodo-discovery .boyodo-service-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px 6px!important;
    padding:12px 7px 14px!important;
    overflow:visible!important;
  }
  .boyodo-page .boyodo-service-link{
    min-height:76px!important;
    padding:3px 2px!important;
    font-size:10px!important;
    line-height:1.2!important;
  }
  .boyodo-page .boyodo-service-link>i{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    border-radius:15px!important;
  }
}

/* 2026-08-21 v6: final homepage/mobile guardrails after live visual QA. */
.boyodo-page,
.boyodo-page body{
  overflow-x:hidden!important;
}
@media(max-width:767px){
  .boyodo-page .boyodo-hero{
    padding-top:20px!important;
  }
  .boyodo-page .boyodo-hero .boyodo-search{
    position:relative!important;
    z-index:12!important;
  }
  .boyodo-page .boyodo-hero-bullets{
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:12px!important;
  }
  .boyodo-page .boyodo-discovery{
    margin-top:22px!important;
    margin-bottom:76px!important;
  }
  .boyodo-page .boyodo-discovery .boyodo-service-grid{
    position:relative!important;
    z-index:3!important;
    margin:14px 0 48px!important;
  }
  .boyodo-page .boyodo-discovery + .boyodo-market-section,
  .boyodo-page .boyodo-market-section{
    position:relative!important;
    z-index:1!important;
    padding-top:30px!important;
    clear:both!important;
  }
  .boyodo-page .boyodo-market-head{
    align-items:flex-end!important;
    gap:12px!important;
    margin-bottom:16px!important;
  }
  .boyodo-page .boyodo-market-head h2{
    font-size:25px!important;
    line-height:1.05!important;
    letter-spacing:-.75px!important;
  }
  .boyodo-page .boyodo-market-head a{
    flex:0 0 auto!important;
    font-size:13px!important;
  }
  .boyodo-page .boyodo-speciality-card{
    min-width:132px!important;
    min-height:150px!important;
  }
  .boyodo-page .boyodo-speciality-card img{
    width:58px!important;
    height:58px!important;
    object-fit:contain!important;
    padding:8px!important;
  }
  .boyodo-page .boyodo-doctor-card{
    min-width:280px!important;
  }
}

/* 2026-08-23 final booking UI reset.
   Kept at EOF because this legacy theme defines booking date strips multiple times. */
.boyodo-page-booking .booking-card{
  border:1px solid #dbe8f3!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  box-shadow:0 24px 70px -48px rgba(4,35,78,.58)!important;
}
.boyodo-page-booking .booking-section-title{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
}
.boyodo-page-booking .booking-section-title>span{
  width:42px!important;
  height:42px!important;
  border-radius:16px!important;
}
.boyodo-page-booking .date-pattern{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 14px!important;
  padding:12px 14px!important;
  border:1px solid #dce9f4!important;
  border-radius:16px!important;
  background:#f7fbff!important;
  color:#12304d!important;
  font-size:14px!important;
  font-weight:800!important;
}
.boyodo-page-booking .slot-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0 0 12px!important;
}
.boyodo-page-booking .slot-heading h3{
  margin:3px 0 0!important;
  color:#09213b!important;
  font:900 20px Sora,sans-serif!important;
}
@media(max-width:767px){
  .boyodo-page-booking .booking-card{
    padding:16px!important;
    border-radius:22px!important;
  }
  .boyodo-page-booking .booking-section-title{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:10px!important;
    margin-bottom:14px!important;
  }
  .boyodo-page-booking .booking-section-title>span{
    width:36px!important;
    height:36px!important;
    border-radius:14px!important;
  }
  .boyodo-page-booking .booking-section-title h2{
    font-size:22px!important;
    line-height:1.08!important;
  }
  .boyodo-page-booking .booking-section-title p{
    font-size:14px!important;
    line-height:1.45!important;
  }
  .boyodo-page-booking .date-pattern{
    align-items:flex-start!important;
    font-size:13px!important;
    line-height:1.35!important;
  }
  .boyodo-page-booking .slot-heading h3{
    font-size:18px!important;
  }
}

/* ============================================================================
   BOOKING STEP 3 — CALENDAR & SLOTS                            2026-08-23
   ----------------------------------------------------------------------------
   Fresh bo-cal* / bo-slot* namespace. The previous .booking-calendar hooks had
   accumulated five overlapping dated blocks and ~290 !important declarations,
   so no new rule could reliably win; those rules are now deleted and these
   replace them. Deliberately no !important anywhere below — if something here
   ever loses, that is a signal the cascade is drifting again, not a cue to add
   another layer.

   Written mobile-first: the base rules are the phone layout, and min-width
   queries add the two-column desktop panel. Note the ≤767px "tappable things"
   block earlier in this file applies min-height:44px and font-size:16px with
   !important to every .boyodo-page button, which is why the day number lives in
   its own span (.bo-cal-num) that can still be sized.
   ========================================================================== */

.bo-cal-panel{
  display:grid;
  gap:16px;
  margin-top:16px;
}

/* ---- left column: the month calendar ------------------------------------ */
.bo-cal-left{
  padding:14px;
  border:1px solid var(--boyodo-line);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--boyodo-shadow);
}
.bo-cal-head{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
.bo-cal-head strong{
  text-align:center;
  color:var(--boyodo-ink);
  font:700 16px/1.2 'Sora',sans-serif;
  letter-spacing:-.2px;
}
.bo-cal-nav{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid var(--boyodo-line);
  border-radius:14px;
  background:#f6fbfe;
  color:var(--boyodo-blue);
  cursor:pointer;
}
.bo-cal-nav:hover{background:#e9f5fd}
.bo-cal-nav:active{transform:scale(.94)}
.bo-cal-nav:disabled{
  color:#b3c1cf;
  background:#f7f9fb;
  cursor:not-allowed;
  opacity:.7;
}

/* display:contents lets the seven labels become direct children of the grid
   below, so they line up with the day columns without a duplicate grid. */
.bo-cal-dow{
  display:contents;
}
.bo-cal-dow span{
  padding-bottom:6px;
  color:var(--boyodo-muted);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:center;
  text-transform:uppercase;
}
.bo-cal{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
}
/* Each month is a 7-column subgrid spanning the parent's full width, so every
   date sits under its real weekday — the leading blanks come from the server. */
.bo-cal-month{
  display:grid;
  grid-column:1/-1;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
}
/* Without this the [hidden] attribute loses to display:grid and every month
   renders stacked on top of the current one. */
.bo-cal-month[hidden]{display:none}
.bo-cal-blank{display:block}

.bo-cal-day{
  position:relative;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:3px;
  padding:6px 2px;
  border:1px solid transparent;
  border-radius:13px;
  cursor:pointer;
  transition:transform var(--boyodo-motion),background var(--boyodo-motion),box-shadow var(--boyodo-motion);
}
.bo-cal-num{
  font:700 15px/1 'Sora',sans-serif;
  letter-spacing:-.2px;
}
/* Shape as well as colour: availability must not be signalled by hue alone. */
.bo-cal-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
}

.bo-cal-day.is-open{
  border-color:#b4e5cf;
  background:#e9f9f1;
  color:#0a7a57;
}
.bo-cal-day.is-open .bo-cal-dot{background:#12a273}
.bo-cal-day.is-open:hover{
  background:#d8f4e7;
  transform:translateY(-1px);
  box-shadow:0 10px 20px -14px rgba(10,122,87,.7);
}
.bo-cal-day.is-open:active{transform:scale(.95)}

.bo-cal-day.is-closed{
  border-color:#f2d4d7;
  background:#fdf0f1;
  color:#b06a72;
  cursor:not-allowed;
}
/* A hollow ring instead of a filled dot: "nothing here", readable without
   colour vision. */
.bo-cal-day.is-closed .bo-cal-dot{
  background:transparent;
  border:1px solid #d99aa1;
}
.bo-cal-day.is-closed .bo-cal-num{
  opacity:.75;
  text-decoration:line-through;
  text-decoration-thickness:1px;
}

.bo-cal-day.is-today{
  box-shadow:inset 0 0 0 2px var(--boyodo-blue);
}
.bo-cal-day.is-selected{
  border-color:transparent;
  background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal));
  color:#fff;
  box-shadow:0 12px 24px -14px rgba(1,0,220,.75);
}
.bo-cal-day.is-selected .bo-cal-dot{background:#fff}
.bo-cal-day.is-selected .bo-cal-num{text-decoration:none;opacity:1}

.bo-cal-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #eef4f8;
  color:var(--boyodo-muted);
  font-size:11px;
  font-weight:600;
}
.bo-cal-legend span{display:flex;align-items:center;gap:6px}
.bo-cal-legend b{
  width:12px;
  height:12px;
  border-radius:4px;
  border:1px solid transparent;
}
.bo-cal-legend b.is-open{border-color:#b4e5cf;background:#e9f9f1}
.bo-cal-legend b.is-closed{border-color:#f2d4d7;background:#fdf0f1}
.bo-cal-legend b.is-selected{background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal))}

.bo-cal-jump{
  display:flex;
  width:100%;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:12px;
  border:1px dashed #b9dcf0;
  border-radius:14px;
  background:#f4fbff;
  color:var(--boyodo-blue);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.bo-cal-jump:hover{background:#e7f4fd;border-style:solid}

/* ---- right column: the times -------------------------------------------- */
.bo-cal-right{
  padding:16px;
  border:1px solid var(--boyodo-line);
  border-radius:22px;
  background:#fff;
  box-shadow:var(--boyodo-shadow);
}
.bo-cal-state{
  display:flex;
  align-items:center;
  gap:10px;
  margin:12px 0 16px;
  padding:11px 13px;
  border:1px solid var(--boyodo-line);
  border-radius:15px;
  background:#f7fafc;
  color:var(--boyodo-muted);
  font-size:13px;
  font-weight:600;
  line-height:1.4;
}
.bo-cal-state i{font-size:14px}
.bo-cal-state[data-state=open]{border-color:#b4e5cf;background:#effaf5;color:#0a7a57}
.bo-cal-state[data-state=ready]{border-color:#c3d6f8;background:#f1f5ff;color:#1c4bb8}
.bo-cal-state[data-state=closed]{border-color:#f2d4d7;background:#fdf3f4;color:#a85a63}

.bo-slots-title{
  margin:0 0 10px;
  color:var(--boyodo-ink);
  font:700 14px/1.2 'Sora',sans-serif;
}
.bo-slots{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr));
  gap:8px;
}
.bo-slot{
  display:grid;
  align-content:center;
  justify-items:center;
  gap:2px;
  min-height:46px;
  padding:6px 8px;
  border:1px solid #b4e5cf;
  border-radius:14px;
  background:#e9f9f1;
  color:#0a7a57;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:transform var(--boyodo-motion),background var(--boyodo-motion),box-shadow var(--boyodo-motion);
}
.bo-slot:hover{background:#d8f4e7;transform:translateY(-1px)}
.bo-slot:active{transform:scale(.97)}
.bo-slot.is-selected{
  border-color:transparent;
  background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-teal));
  color:#fff;
  box-shadow:0 12px 24px -14px rgba(1,0,220,.75);
}
.bo-slot.is-taken{
  border-color:#f2d4d7;
  background:#fdf0f1;
  color:#b06a72;
  cursor:not-allowed;
}
.bo-slot.is-taken:hover{transform:none;background:#fdf0f1}
.bo-slot.is-taken > span{text-decoration:line-through}
.bo-slot small{
  font-size:9px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  opacity:.85;
}
.bo-slot-empty{
  grid-column:1/-1;
  margin:0;
  padding:18px 14px;
  border:1px dashed var(--boyodo-line);
  border-radius:15px;
  background:#f8fbfd;
  color:var(--boyodo-muted);
  font-size:13px;
  line-height:1.5;
  text-align:center;
}
.bo-cal-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:16px 0 0;
  color:var(--boyodo-muted);
  font-size:11px;
  line-height:1.5;
}
.bo-cal-note i{margin-top:2px;color:var(--boyodo-teal)}

/* The Continue button is disabled until a date AND a time exist. Opacity works
   regardless of the gradient background set with !important elsewhere. */
.booking-actions button:disabled{
  opacity:.45;
  box-shadow:none;
  transform:none;
  cursor:not-allowed;
}

/* ---- tablet and up: two columns side by side ---------------------------- */
@media (min-width:768px){
  .bo-cal-panel{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:18px;
    align-items:start;
  }
  .bo-cal-left,.bo-cal-right{padding:18px}
  .bo-cal-head strong{font-size:17px}
  .bo-cal-day{padding:8px 2px;border-radius:14px}
  .bo-cal-num{font-size:16px}
  .bo-cal-legend{font-size:12px}
}
@media (min-width:1024px){
  .bo-cal-panel{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .bo-cal{gap:6px}
  .bo-cal-month{gap:6px}
  .bo-cal-day{padding:10px 2px}
}

/* Motion is decoration here; honour the system setting. */
@media (prefers-reduced-motion:reduce){
  .bo-cal-day,.bo-slot,.bo-cal-nav,.bo-cal-jump{transition:none}
  .bo-cal-day:hover,.bo-slot:hover,.bo-cal-day:active,.bo-slot:active,.bo-cal-nav:active{transform:none}
}

/* ==========================================================================
   Consultation hours — doctor profile.            Added 2026-08-23.
   Namespaced `bo-hrs*`. The old `.boyodo-hours-list > a` and
   `.boyodo-visit-date*` hooks were declared five times over across four
   different blocks of this file, several with !important widths, so what a
   patient actually saw depended on load order rather than on any one rule.
   Renaming the markup retires all of that at once; nothing below needs
   !important to win, which is the point.
   Mobile-first: the single-column card list below IS the small-screen layout,
   and the only thing the breakpoints do is let it breathe.
   ========================================================================== */
.bo-hrs-banner{
  display:grid;gap:8px;padding:16px;margin:0 0 14px;
  border:1px solid #cfe3d9;border-radius:18px;
  background:linear-gradient(180deg,#f2fbf6,#fff);
}
.bo-hrs-chip{
  justify-self:start;display:inline-flex;align-items:center;gap:6px;
  padding:5px 11px;border-radius:999px;
  background:#0a7a57;color:#fff;font:800 12px/1 'Plus Jakarta Sans',sans-serif;
  letter-spacing:.02em;text-transform:uppercase;
}
.bo-hrs-banner strong{color:#0b2237;font:800 19px/1.25 Sora,sans-serif}
.bo-hrs-banner p{margin:0;color:#3f5670;font-size:14px;line-height:1.5}

.bo-hrs-dates{display:grid;gap:10px}

/* One row = one bookable day. 60px numeral tile, flexible middle, action on
   the right. `min-height:64px` keeps the whole row a comfortable tap target
   rather than relying on the text to fill it. */
.bo-hrs-date{
  display:grid;grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;gap:12px;min-height:64px;padding:10px 12px;
  border:1px solid #dce8f2;border-radius:16px;background:#fff;
  color:inherit;text-decoration:none;
  box-shadow:0 1px 2px rgba(18,54,85,.05);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.bo-hrs-date.is-open{border-color:#c3e6d6}
.bo-hrs-date.is-open:hover,
.bo-hrs-date.is-open:focus-visible{
  border-color:#0a7a57;box-shadow:0 8px 22px -14px rgba(10,122,87,.55);
  transform:translateY(-1px);outline:0;
}
.bo-hrs-date:focus-visible{outline:2px solid #0a7a57;outline-offset:2px}

/* A finished visit is greyed AND labelled "Done" AND unfocusable — three
   signals, so it does not depend on colour perception alone. */
.bo-hrs-date.is-done{
  background:#f7f9fb;border-color:#e4eaf0;pointer-events:none;
  box-shadow:none;
}
.bo-hrs-date.is-done .bo-hrs-body strong{color:#7c8fa3;text-decoration:line-through}
.bo-hrs-date.is-done .bo-hrs-tile{background:#eef2f6;border-color:#e0e7ee;color:#8296aa}

.bo-hrs-tile{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;min-height:48px;border-radius:12px;
  background:#e9f9f1;border:1px solid #b4e5cf;color:#0a7a57;
}
.bo-hrs-tile b{font:800 20px/1 Sora,sans-serif}
.bo-hrs-tile i{font:700 10px/1 'Plus Jakarta Sans',sans-serif;font-style:normal;
  letter-spacing:.04em;text-transform:uppercase;opacity:.85}
/* Weekday plans show "Mon" instead of a numeral, which needs less room. */
.bo-hrs-tile.is-weekday b{font-size:14px;letter-spacing:.02em;text-transform:uppercase}

.bo-hrs-body{display:grid;gap:3px;min-width:0}
.bo-hrs-body strong{color:#16364e;font:800 15px/1.3 'Plus Jakarta Sans',sans-serif}
.bo-hrs-time{
  display:flex;align-items:center;gap:6px;color:#4a6478;
  font-size:13px;line-height:1.35;
}
.bo-hrs-time i{color:#8aa3bb;flex:0 0 auto;font-size:12px}
.bo-hrs-flag{
  justify-self:start;font-style:normal;color:#0a7a57;
  font:800 11px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.03em;
  text-transform:uppercase;
}

.bo-hrs-action{
  display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;
  padding:8px 12px;border-radius:999px;
  background:#075fe6;color:#fff;
  font:800 12px/1 'Plus Jakarta Sans',sans-serif;white-space:nowrap;
}
.bo-hrs-action:empty{display:none}
.bo-hrs-action i{font-size:10px}
.bo-hrs-date.is-done .bo-hrs-action{background:#e2e8f0;color:#475569}

.bo-hrs-empty{
  display:flex;align-items:flex-start;gap:9px;margin:0;padding:16px;
  border:1px dashed #cddced;border-radius:16px;background:#f8fbff;
  color:#54697f;font-size:14px;line-height:1.5;
}
.bo-hrs-empty i{color:#8aa3bb;margin-top:2px;flex:0 0 auto}

.bo-hrs-closed{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;
  margin:14px 0 0;color:#61748a;font-size:13px;
}
.bo-hrs-closed-label{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.bo-hrs-closed-label i{color:#b06a72}
.bo-hrs-closed s{
  padding:3px 9px;border-radius:999px;background:#f1f5f9;color:#64748b;
  font-weight:700;text-decoration-thickness:1px;
}

.bo-hrs-note{
  display:flex;align-items:flex-start;gap:9px;margin:14px 0 0;padding:12px 14px;
  border-radius:14px;background:#eff7ff;color:#3f5670;
  font-size:13px;line-height:1.55;
}
.bo-hrs-note i{color:#0a6fb8;margin-top:3px;flex:0 0 auto}

@media (min-width:768px){
  .bo-hrs-banner{padding:18px 20px}
  .bo-hrs-banner strong{font-size:21px}
  .bo-hrs-date{grid-template-columns:58px minmax(0,1fr) auto;gap:14px;padding:12px 16px;min-height:70px}
  .bo-hrs-tile{min-height:54px}
  .bo-hrs-tile b{font-size:22px}
  .bo-hrs-body strong{font-size:16px}
  .bo-hrs-time{font-size:14px}
  .bo-hrs-action{padding:10px 15px;font-size:13px}
}

@media (prefers-reduced-motion:reduce){
  .bo-hrs-date{transition:none}
  .bo-hrs-date.is-open:hover,.bo-hrs-date.is-open:focus-visible{transform:none}
}

/* ==========================================================================
   Live doctor search suggestions.                 Added 2026-08-23.
   Namespaced `bo-sug*`. The predecessor `.boyodo-suggest-box a` was styled in
   seven places across six blocks of this file — lines 213, 1918, 2123, 2249,
   2443, 2598 and 2673 — three of them with !important, and one of them set
   `small{display:none}`, which is why the chamber name never rendered and the
   rows read as run-together inline text. This is the only definition of the
   new hooks, and it needs no !important to win.
   ========================================================================== */
.bo-sug-wrap{position:relative;min-width:0;width:100%}

/* `[hidden]` first and unconditionally. The old box relied on JS setting
   style.display, because `display:grid` in the stylesheet outranks the plain
   `hidden` attribute and the panel would otherwise never close. */
.bo-sug-box[hidden]{display:none}
.bo-sug-box{
  position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:80;
  display:block;max-height:min(62vh,360px);overflow-y:auto;
  padding:6px;border:1px solid #dbe8f3;border-radius:18px;background:#fff;
  box-shadow:0 1px 2px rgba(18,54,85,.06),0 24px 48px -24px rgba(13,72,126,.42);
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
}

/* A card per doctor, stacked vertically. The three columns are photo, copy and
   status; the copy column is its own grid so name / speciality / chamber sit on
   separate lines instead of wrapping into one another. */
.bo-sug-item{
  display:grid;grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;gap:11px;min-height:60px;padding:9px 10px;
  border-radius:14px;color:inherit;text-decoration:none;
}
.bo-sug-item + .bo-sug-item{margin-top:2px}
.bo-sug-item:hover,
.bo-sug-item:focus-visible,
.bo-sug-item.is-active{background:#f1f7ff;outline:0}
.bo-sug-item:focus-visible{box-shadow:inset 0 0 0 2px #075fe6}

.bo-sug-avatar{
  display:grid;place-items:center;width:42px;height:42px;overflow:hidden;
  border-radius:13px;background:#e8f2ff;color:#075fe6;
  font:800 16px/1 Sora,sans-serif;
}
.bo-sug-avatar img{width:100%;height:100%;object-fit:cover;display:block}

.bo-sug-copy{display:grid;gap:2px;min-width:0}
.bo-sug-copy strong{
  color:#12324b;font:800 14px/1.3 'Plus Jakarta Sans',sans-serif;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.bo-sug-meta{
  color:#0a63d8;font:700 12px/1.3 'Plus Jakarta Sans',sans-serif;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* The chamber line is the one the old CSS hid outright. */
.bo-sug-copy small{
  display:block;color:#6b7e90;font-size:11.5px;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

.bo-sug-tag{
  flex:0 0 auto;padding:6px 10px;border-radius:999px;
  font:800 11px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.02em;
  text-transform:uppercase;
}
.bo-sug-tag.is-open{background:#e9f9f1;color:#0a7a57;border:1px solid #b4e5cf}
.bo-sug-tag.is-closed{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}

.bo-sug-empty{
  margin:0;padding:16px 12px;color:#54697f;
  font-size:13.5px;line-height:1.5;text-align:center;
}

/* The hero search is a narrow grid column; let its results breathe. */
.boyodo-page-home .bo-sug-box{
  right:auto!important;
  width:min(680px,calc(100vw - 24px))!important;
  min-width:min(320px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  box-sizing:border-box!important;
}
.boyodo-page-home .bo-sug-item{
  overflow:visible!important;
}
.boyodo-page-home .bo-sug-copy strong,
.boyodo-page-home .bo-sug-meta,
.boyodo-page-home .bo-sug-copy small{
  overflow:visible!important;
  text-overflow:clip!important;
}

@media (min-width:768px){
  .bo-sug-box{padding:8px;border-radius:20px}
  .bo-sug-item{grid-template-columns:46px minmax(0,1fr) auto;min-height:66px;padding:10px 12px;gap:12px}
  .bo-sug-avatar{width:46px;height:46px}
  .bo-sug-copy strong{font-size:15px}
  .bo-sug-copy small{font-size:12px}
}

/* --------------------------------------------------------------------------
   "Coming soon" chip.                              Added 2026-08-23.
   Spec B3/B43: online consultation is labelled and left visible, never
   hidden. A fresh `bo-soon` hook because every `.boyodo-float-card` selector
   in this file carries !important, and a new name needs no fight to win.
   B44 asks for the existing UI language, so this is the same pill shape the
   booking page's visit-option badge already uses.
   -------------------------------------------------------------------------- */
.bo-soon{
  display:inline-flex;align-items:center;align-self:start;
  padding:3px 9px;border-radius:999px;
  background:#fff4e2;border:1px solid #f2d9ae;color:#9a6413;
  font:800 10.5px/1.35 'Plus Jakarta Sans',sans-serif;font-style:normal;
  letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;
}

/* ==========================================================================
   BOYODO LEGACY AUTH FORMS  —  added 2026-08-23
   forgot_password and reset_password still carry the original Tailwind form
   markup: `p-2` on inputs and `py-3` on the submit. Padding alone left both at
   42px from 768px up, against a 44px touch-target policy — and 768px is a
   tablet, where the input is still a fingertip. The mobile-first layer fixes
   this below 767px only, so the gap opened exactly at the breakpoint.

   Height is set with min-height rather than padding so the existing Tailwind
   classes keep working, and no !important is needed because nothing else
   declares a height on these controls. Radius and font-size are matched to the
   rest of the site so the two pages stop looking like a different product.
   ========================================================================== */
.boyodo-legacy-auth input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
.boyodo-legacy-auth select,
.boyodo-legacy-auth textarea {
  min-height: 48px;
  border-radius: 12px;
  font-size: 16px;   /* under 16px, iOS zooms the viewport on focus */
  padding-inline: 14px;
}
.boyodo-legacy-auth textarea { min-height: 96px; padding-block: 12px; }
.boyodo-legacy-auth button[type=submit],
.boyodo-legacy-auth a.boyodo-legacy-auth-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  font-size: 16px;
}
/* The readonly email on reset_password should read as fixed, not as a field
   the patient failed to fill in. */
.boyodo-legacy-auth input[readonly] { background: #f4f8fb; color: #4a6076; cursor: default; }

/* --- Geolocation trigger in the hero search (bo-geo) ----------------------
   The homepage search had no way to START the geolocation feature. The
   handler in mainlayout.blade.php is delegated to [data-boyodo-location] and
   this stylesheet already styled `.boyodo-current-location`, but no element in
   any view carried either hook, so the whole feature was unreachable code.

   Why a NEW namespace rather than reusing `.boyodo-current-location`: that
   hook's desktop rule is `position:absolute;right:7px;top:54px`, and
   `.boyodo-search` is not a positioned element, so the chip would resolve its
   offsets against `.boyodo-hero-grid` and float over the <h1>. It was written
   for a different, positioned parent; borrowing it here would need a second
   layer just to undo the positioning.

   Specificity is deliberate: `.boyodo-search .bo-geo` is (0,2,0) so it beats
   `.boyodo-search button` (0,1,1) at line 5. A plain `.bo-geo` (0,1,0) would
   LOSE to it and this control would render as the same blue gradient CTA as
   "Find doctors" - two identical primary buttons in one form. The forced
   gradient pair that used to hit every button in the form was narrowed to
   button[type=submit] instead of being out-shouted from here.

   Mobile-first: the rules below ARE the phone layout (a full-width row under
   the location field). Only grid placement is deferred to >=768px. On phones
   the shared touch policy near line 405 also applies min-height:44px and
   font-size:16px at high priority; both are wanted, so they are left to win. */
.boyodo-search .bo-geo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #bfe4f4;
  border-radius: 14px;
  background: #fff;
  color: var(--boyodo-blue);
  font-size: 13px;
  font-weight: 800;
  box-shadow: none;
  cursor: pointer;
  transition: border-color 140ms ease, color 140ms ease;
}
.boyodo-search .bo-geo > i { font-size: 15px; }
/* box-shadow and transform are both restated because the shared
   `.boyodo-search button:hover` lifts and shadows the primary CTA, which is
   wrong for a quiet secondary control sitting right next to it. */
.boyodo-search .bo-geo:hover { border-color: var(--boyodo-blue); box-shadow: none; transform: none; }
/* The handler sets data-state to loading/success/error and toggles .disabled,
   so the control says what it is doing instead of looking inert while the
   browser's own permission prompt is open. */
.boyodo-search .bo-geo[data-state="loading"] { border-color: #bfe4f4; color: var(--boyodo-muted); }
.boyodo-search .bo-geo[data-state="success"] { border-color: #a7e8d2; color: #07845f; }
.boyodo-search .bo-geo[data-state="error"] { border-color: #f3c7c7; color: #c44242; }
.boyodo-search .bo-geo:disabled { cursor: wait; opacity: 0.72; }

@media (min-width: 768px) {
  /* order:1 affects grid AUTO-PLACEMENT only, so row 1 stays exactly as it is
     today (speciality | location | Find doctors) and the chip takes a
     full-width row beneath it, right-aligned under the submit button. DOM
     order is untouched, so tab order is still location -> locate -> submit. */
  .boyodo-search .bo-geo {
    grid-column: 1 / -1;
    order: 1;
    justify-self: end;
    width: auto;
    min-height: 38px;
    border-radius: 12px;
    font-size: 12px;
  }
}

/* ==========================================================================
   HOMEPAGE MOBILE CARDS  —  bo-qa / bo-doc / bo-eyebrow
   Added 2026-08-23.

   Why a new namespace instead of edits to the rules above
   ------------------------------------------------------
   The classes this replaces had collected a cascade that could no longer be
   reasoned about: ten rules on .boyodo-service-grid, nine of them !important,
   and sixteen on .boyodo-service-link declaring font-size six separate times
   at 12, 10, 10!, 9!, 13! and 12!. Three defects came out of that pile-up, and
   two of them are provable from the stylesheet alone:

     1. TEXT OVERLAP.
        .boyodo-market-doctor img,.boyodo-doctor-avatar-initials
            {width:86px!important;height:86px!important}
        forced an 86px avatar into the 66px grid column that
        @media(max-width:600px) gives .boyodo-market-doctor, so the photo
        painted 20px across the text column: "Joint Care" printing on top of
        "Dr. Rohan Desai" on a 375px phone.
        The rule written to prevent exactly this, .boyodo-market-doctor>img
        {width:66px;height:72px}, had silently stopped matching the day the
        <img> was wrapped in <a class="boyodo-doctor-photo-link"> -- a
        direct-child selector killed by a markup change nobody connected to it.
        Meanwhile .boyodo-doctor-photo-link sets only display:block and
        line-height:0, so the anchor took the 66px track while its child stayed
        86px. Nothing in the file constrained the child to its parent.

     2. HORIZONTAL OVERFLOW.
        A sweep of all 206KB for declarations that force a box wider than the
        325px content box of a 375px phone returns exactly two, and both are
        this card: min-width:360px!important and flex:0 0 420px. That is a
        sideways scroll by arithmetic, not by accident.

     3. CLIPPED LABELS ("My bookings", "Health records" cut mid-word).
        No text-clipping rule targets these elements, so this one has no single
        provable culprit -- it falls out of overflow:hidden!important on the
        grid meeting fixed min-heights and six competing font-sizes. It is
        fixed structurally below rather than by finding the guilty line.

   A seventeenth !important would have moved the symptoms around. The homepage
   markup now carries these bo-* classes instead, so every legacy rule above
   simply stops matching. Nothing in this block is !important; if a declaration
   here ever seems to need one, something else is reaching in and the selector
   is wrong, not the weight.

   The structural rules that keep it fixed
   --------------------------------------
   * Every flexible grid/flex child gets min-width:0. Its absence is why text
     columns shoved their neighbours instead of shrinking: the initial value is
     auto, which refuses to go narrower than the longest unbreakable word.
   * An avatar is sized once, and the track holding it is the same number. No
     child is ever bigger than its column, so no child can paint over a sibling.
   * Nothing has a fixed height. Labels reserve two lines so the tiles align,
     and grow rather than clip if a translation runs longer than the English.
   * The doctor list reflows as a grid instead of scrolling sideways. The old
     rail's overflow-x:auto was hiding its own 420px cards, which is why the
     overflow was visible as clipped content rather than as a page scrollbar.
   * The footer row wraps. At 320px the fee and the CTA no longer fit on one
     line, and a wrapping flex row cannot overflow whatever the text length.
   ========================================================================== */

/* --- Quick actions ------------------------------------------------------- */
.bo-qa{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    margin:14px 0 22px;
    padding:12px 6px;
    border:1px solid var(--boyodo-line);
    border-radius:22px;
    background:var(--boyodo-card);
    box-shadow:0 16px 40px -32px rgba(9,33,59,.5);
}
.bo-qa__item{
    display:flex;
    min-width:0;                 /* without this the widest label sets the column */
    flex-direction:column;
    align-items:center;
    gap:8px;
    padding:10px 3px 9px;
    border-radius:16px;
    color:var(--boyodo-muted);
    text-align:center;
    text-decoration:none;
    transition:background var(--boyodo-motion);
}
.bo-qa__item:active{background:#eff7fd}
.bo-qa__item:focus-visible{outline:2px solid var(--boyodo-blue);outline-offset:2px}
.bo-qa__icon{
    display:grid;
    width:44px;                  /* the 44px touch floor this project set in P3 */
    height:44px;
    flex:none;
    place-items:center;
    border-radius:15px;
    background:#e8f4fd;
    color:var(--boyodo-blue);
    font-size:17px;
}
.bo-qa__label{
    display:block;
    min-width:0;
    min-height:2.4em;            /* two 1.2 line boxes, so all eight tiles align */
    color:#3f5670;
    font-size:11px;
    font-weight:700;
    line-height:1.2;
    text-wrap:balance;           /* "Health records" breaks 1+1, not 2+0 */
}
/* Tints group the shortcuts by what they are for, rather than the old
   nth-child(3n) rotation, which coloured them in a diagonal that meant
   nothing and changed if a single item was added. */
.bo-qa__item--care  .bo-qa__icon{background:#e6f2ff;color:var(--boyodo-blue)}
.bo-qa__item--diag  .bo-qa__icon{background:#e0f7f2;color:#00806c}
.bo-qa__item--offer .bo-qa__icon{background:#fff2dd;color:#a9690a}
.bo-qa__item--mine  .bo-qa__icon{background:#ecebff;color:#3b39c8}
.bo-qa__item--help  .bo-qa__icon{background:#eef2f7;color:#455a6e}

@media (min-width:760px){
    .bo-qa{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;padding:16px 12px}
    .bo-qa__icon{width:46px;height:46px;font-size:18px}
    .bo-qa__label{min-height:0;font-size:12px}
}

/* The "Soon" flag every entry in the array currently sets to false. Kept
   because the project does ship coming-soon states and re-deriving this later
   is worse than four lines now; .bo-qa__item needs the positioning context. */
.bo-qa__item{position:relative}
.bo-qa__flag{
    position:absolute;
    top:4px;
    right:6px;
    padding:2px 6px;
    border-radius:7px;
    background:#fff2dd;
    color:#a9690a;
    font-size:9px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}

/* --- Doctor cards -------------------------------------------------------- */
.bo-doc-list{
    display:grid;
    gap:10px;
    margin-top:4px;
}
@media (min-width:700px){.bo-doc-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media (min-width:1040px){.bo-doc-list{grid-template-columns:repeat(3,minmax(0,1fr))}}

.bo-doc{
    position:relative;           /* anchor for the card-wide tap overlay */
    display:grid;
    grid-template-columns:56px minmax(0,1fr);
    gap:12px;
    padding:12px;
    border:1px solid var(--boyodo-line);
    border-radius:18px;
    background:var(--boyodo-card);
    box-shadow:0 1px 2px rgba(18,54,85,.05);
    transition:border-color var(--boyodo-motion),box-shadow var(--boyodo-motion);
}
.bo-doc:hover{border-color:#b9d9ef;box-shadow:0 10px 26px -20px rgba(13,72,126,.5)}
.bo-doc:focus-within{border-color:var(--boyodo-blue)}

.bo-doc__photo{display:block;width:56px;height:56px;line-height:0}
.bo-doc__photo img,
.bo-doc__initials{
    width:56px;                  /* same number as the grid track above */
    height:56px;
    border-radius:16px;
    object-fit:cover;
}
.bo-doc__initials{
    display:grid;
    place-items:center;
    background:linear-gradient(140deg,var(--boyodo-blue),var(--boyodo-teal));
    color:#fff;
    font-size:19px;
    font-weight:700;
    letter-spacing:.02em;
}

.bo-doc__body{min-width:0}
.bo-doc__spec{
    margin:0 0 2px;
    overflow:hidden;
    color:var(--boyodo-blue);
    font-size:10px;
    font-weight:700;
    letter-spacing:.06em;
    line-height:1.2;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;          /* a speciality may truncate; the profile has it in full */
}
.bo-doc__name{margin:0;font-size:15px;font-weight:700;line-height:1.25}
.bo-doc__name a{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;        /* names wrap to two lines rather than truncate */
    color:var(--boyodo-ink);
    text-decoration:none;
}
/* One tap anywhere on the card opens the profile. The photo link and the CTA
   point at the same URL, so covering them costs nothing; the CTA is lifted
   back above the overlay only so its own hover and focus still read. */
.bo-doc__name a::after{content:"";position:absolute;inset:0;border-radius:18px}
.bo-doc__name a:focus-visible{outline:2px solid var(--boyodo-blue);outline-offset:2px}

.bo-doc__rating{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:4px;
    color:#54708c;
    font-size:11px;
    font-weight:600;
}
.bo-doc__rating i{color:#f0a91b}
.bo-doc__rating.is-new i{color:var(--boyodo-teal)}
.bo-doc__soon{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:4px;
    color:#a9690a;
    font-size:11px;
    font-weight:700;
}

.bo-doc__foot{
    display:flex;
    flex-wrap:wrap;              /* at 320px the CTA drops to its own line instead of overflowing */
    align-items:center;
    justify-content:space-between;
    gap:6px 10px;
    margin-top:9px;
}
.bo-doc__fee{
    display:inline-flex;
    align-items:baseline;
    gap:5px;
    padding:4px 9px;
    border-radius:9px;
    background:#f1f8ff;
    color:#54708c;
    font-size:10px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    white-space:nowrap;
}
.bo-doc__fee b{
    color:var(--boyodo-ink);
    font-size:13px;
    letter-spacing:0;
    text-transform:none;
}
.bo-doc__cta{
    position:relative;           /* above the card-wide overlay */
    z-index:1;
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:34px;
    color:var(--boyodo-blue);
    font-size:12px;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}
.bo-doc--soon .bo-doc__cta{color:var(--boyodo-muted)}

/* --- Eyebrow that has to survive a dark background ---------------------- */
/* .boyodo-eyebrow-light existed for this and never worked: line 1649 sets
   .boyodo-page .boyodo-eyebrow{color:#3f5670!important}, two class selectors
   plus !important, against the one class of .boyodo-eyebrow-light. The label
   rendered dark grey on dark video -- "SKIP THE QUEUE" was invisible on the
   phone, not missing. A translucent white scrim would still depend on which
   frame of the video is behind it, so this uses an opaque-enough ink scrim
   that holds white text against any frame. */
.bo-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:10px;
    padding:6px 13px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:999px;
    background:rgba(8,35,58,.58);
    color:#fff;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    line-height:1.2;
    text-transform:uppercase;
}
.bo-eyebrow i{font-size:12px;opacity:.9}

/* --- Speciality rail: keep the class, add the missing scroll affordance --- */
/* Not renamed: the overflow sweep clears every speciality declaration, so the
   rail was scrolling correctly and only looked broken -- a card sliced down the
   middle at the right edge with nothing to say "keep swiping". Snap alignment
   plus a hidden scrollbar is the whole fix, and none of these properties is set
   anywhere else in the file, so no !important is needed to land them. */
.boyodo-speciality-rail{
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    scroll-padding-inline-start:2px;
    overscroll-behavior-x:contain;
}
.boyodo-speciality-rail::-webkit-scrollbar{height:0}
.boyodo-speciality-rail>*{scroll-snap-align:start}

/* --- one deletion, recorded ---------------------------------------------- */
/* Removed from the mobile-first layer above on 2026-08-23:
       .boyodo-market-doctor img,.boyodo-doctor-avatar-initials
           {width:86px!important;height:86px!important;border-radius:24px!important}
   Left half was dead: .boyodo-market-doctor is no longer in any markup.
   Right half was actively wrong. Two properly scoped rules set that avatar to
   78px on desktop and 68px under 767px, and this !important beat both of them
   everywhere -- including over the inline width the shared
   components/doctor-avatar.blade.php passes, so that component's `size` prop
   could never take effect. Its only remaining consumer is
   website/display_doctors.blade.php:37, where 78/68px is what was intended, so
   deleting the rule restores the design rather than changing it. Verified
   before removing: zero uses of <x-doctor-avatar> anywhere, and one use of the
   class. */
/* Long doctor names on /show-doctors had nothing stopping them widening the
   flex row, because a flex item's initial min-width is auto. Same one-property
   guard the bo-doc cards use. */
.boyodo-doctor-head>div{min-width:0}

/* ============================================================================
   DEMO / TEST LOGINS  —  bo-demo, 23 Aug 2026
   ----------------------------------------------------------------------------
   Replaces .boyodo-mobile-demo-logins (8 rules, deleted above). Two provable
   defects in that version:

     1. It was a full-width fixed bar (left:12px;right:12px;bottom:92px) with a
        48px summary, so on every page it permanently obscured a 48px strip of
        content — while closed. That is what "the test bar covers the cards"
        was.
     2. Its grid was repeat(5,minmax(0,1fr)) but config/demo.php supplies six
        personas (patient, doctor, admin, pharmacy, laboratory, chamber), so
        Chamber wrapped alone onto a second row.

   And one gap: the base rule was display:none with the bar only re-enabled
   inside @media(max-width:767px), so on a desktop browser there were no
   one-click test logins at all. A pill works at any width, so it is no longer
   mobile-only.

   Placement: bottom-LEFT. .boyodo-support-chat is bottom-right at 100px on
   mobile / 24px on desktop, and .boyodo-mobile-nav occupies bottom:10px plus a
   54px row (≤767px only). Matching the chat's offsets on the opposite side
   clears both. The panel opens upward and is left-anchored, so it cannot run
   off the bottom or the right edge; at 375px it is 268px wide inside a 351px
   safe width.

   Still a bare <details>: no JavaScript, keyboard-operable, and the open state
   is the browser's. Amber rather than brand blue is deliberate — this is
   tooling, not a product action, and it borrows the same tint .bo-qa__flag
   already uses for "Soon". Nothing here is !important.
   ========================================================================== */
.bo-demo{
  position:fixed;
  left:12px;
  bottom:calc(100px + env(safe-area-inset-bottom,0px));
  z-index:62;
  font-size:11px;
}
.boyodo-page-home .bo-demo{display:none!important}

.bo-demo__toggle{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  gap:7px;
  padding:0 13px;
  border:1px solid #f0d09a;
  border-radius:999px;
  background:#fff6e7;
  box-shadow:0 12px 28px -18px rgba(120,74,4,.6);
  color:#8a5606;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1;
  list-style:none;
  text-transform:uppercase;
  cursor:pointer;
  transition:background-color var(--boyodo-motion),border-color var(--boyodo-motion);
}
.bo-demo__toggle::-webkit-details-marker{display:none}
.bo-demo__toggle::marker{content:""}
.bo-demo__toggle i{font-size:14px}
.bo-demo__toggle:hover,
.bo-demo[open] .bo-demo__toggle{
  border-color:#e0b46a;
  background:#ffedcf;
}
.bo-demo__toggle:focus-visible{
  outline:3px solid var(--boyodo-blue);
  outline-offset:3px;
}
.bo-demo__panel{
  position:absolute;
  bottom:calc(100% + 10px);
  left:0;
  width:min(268px,calc(100vw - 24px));
  padding:12px;
  border:1px solid var(--boyodo-line);
  border-radius:18px;
  background:var(--boyodo-card);
  box-shadow:0 22px 52px -26px rgba(4,25,52,.66);
}
.bo-demo__title{
  margin:0 0 9px;
  color:var(--boyodo-muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
}
.bo-demo__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
.bo-demo__grid form{margin:0}
.bo-demo__persona{
  display:grid;
  width:100%;
  min-height:60px;
  min-width:0;
  align-content:center;
  justify-items:center;
  gap:5px;
  padding:8px 3px;
  border:1px solid #e3edfa;
  border-radius:13px;
  background:#f4f8ff;
  color:#0b2a45;
  font-size:10px;
  font-weight:800;
  line-height:1.15;
  text-align:center;
  cursor:pointer;
  transition:background-color var(--boyodo-motion),border-color var(--boyodo-motion);
}
.bo-demo__persona i{
  color:var(--boyodo-blue);
  font-size:15px;
}
.bo-demo__persona span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bo-demo__persona:hover{
  border-color:#bcd6f7;
  background:#e9f2ff;
}
.bo-demo__persona:focus-visible{
  outline:3px solid var(--boyodo-blue);
  outline-offset:2px;
}
/* The install banner sits at bottom:92px and is 80px+ tall, so both floating
   controls have to move up by its measured height. --byd-banner-h is kept
   current by the ResizeObserver in mainlayout. */
@media (max-width:767px){
  body.boyodo-has-install-banner .bo-demo{
    bottom:calc(104px + var(--byd-banner-h,64px) + env(safe-area-inset-bottom,0px));
  }
}
/* No bottom nav above 767px, so drop to the support button's desktop offset. */
@media (min-width:768px){
  .bo-demo{
    left:16px;
    bottom:calc(24px + env(safe-area-inset-bottom,0px));
  }
}

/* ============================================================================
   HERO VISUAL  —  bo-hv, 23 Aug 2026
   ----------------------------------------------------------------------------
   Replaces .boyodo-hero-visual / .boyodo-hero-doctor-card / .boyodo-hero-dots /
   .boyodo-float-card, whose ~24 rules across six passes are now inert (the
   classes are gone from home.blade.php, the only view that used them).

   The bug those rules produced, in one sentence: every child was absolutely
   positioned, so the container had no intrinsic height, and at <=767px
   min-height:0!important (:2087) took away the height it was being given —
   leaving a 24px-tall blue bar (its padding, twice) with the dots on it, the
   photo hanging out below, and the doctor card floating up over the search
   form. overflow:visible!important (:2023) beat overflow:hidden!important
   (:162) on equal specificity by coming later in the file, so nothing was
   clipped.

   Structure here does the work instead. On a phone the frame, the doctor card
   and the two chips are real grid rows: the container is as tall as its
   content by definition, so there is nothing to overlap and nothing to escape.
   Only the dots are absolute, inside a frame that has a height of its own from
   aspect-ratio. The layered, tilted composition returns at >=768px.

   Nothing here is !important.
   ========================================================================== */
.bo-hv{
  display:grid;
  gap:10px;
  margin-top:18px;
  padding:12px;
  border-radius:26px;
  background:linear-gradient(150deg,#0100dc,#075fe6);
  box-shadow:0 30px 70px -46px rgba(1,0,220,.75);
}
.bo-hv__frame{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  border-radius:19px;
  background:#dbe9fb;
}
.bo-hv__frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 20%;
  transition:opacity .24s cubic-bezier(.22,1,.36,1);
}
.bo-hv--slideshow.is-changing .bo-hv__frame img{opacity:.42}
.bo-hv__dots{
  position:absolute;
  bottom:9px;
  left:50%;
  display:flex;
  gap:6px;
  transform:translateX(-50%);
}
.bo-hv__dots span{
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.62);
  box-shadow:0 0 0 1px rgba(7,33,59,.22);
  cursor:pointer;
  transition:width var(--boyodo-motion),background-color var(--boyodo-motion);
}
.bo-hv__dots span.is-active{
  width:20px;
  background:#fff;
}
.bo-hv__doc{
  display:grid;
  gap:3px;
  padding:13px 15px;
  border-radius:18px;
  background:#fff;
  color:var(--boyodo-ink);
  text-decoration:none;
}
.bo-hv__doc>span{
  width:max-content;
  max-width:100%;
  padding:4px 9px;
  border-radius:999px;
  background:#e8f8ef;
  color:#0b7c45;
  font-size:10px;
  font-weight:800;
  letter-spacing:.045em;
  line-height:1.3;
  text-transform:uppercase;
}
.bo-hv__doc strong{
  color:#071d35;
  font:800 17px/1.15 "Sora",sans-serif;
}
.bo-hv__doc small{
  color:#4c6480;
  font-size:12px;
  font-weight:700;
}
.bo-hv__chips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.bo-hv__chip{
  display:flex;
  min-width:0;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:15px;
  background:rgba(255,255,255,.94);
  color:var(--boyodo-muted);
  font-size:10px;
  line-height:1.25;
}
.bo-hv__chip>i{
  display:grid;
  width:30px;
  height:30px;
  flex:none;
  place-items:center;
  border-radius:11px;
  background:#e9f6ff;
  color:var(--boyodo-blue);
  font-size:13px;
}
.bo-hv__chip>span{min-width:0}
.bo-hv__chip strong{
  display:block;
  overflow:hidden;
  color:var(--boyodo-ink);
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bo-hv__chip em{font-style:normal}
/* Layered composition, once there is room for one. The chips sit outside the
   container on purpose, so .bo-hv keeps its default overflow:visible — the
   frame is the only thing that clips, and only its own image. */
@media (min-width:768px){
  .bo-hv{
    position:relative;
    max-width:620px;
    min-height:430px;
    justify-self:end;
    gap:0;
    margin-top:0;
    padding:0;
    border-radius:40px;
    transform:rotate(1.5deg);
  }
  .bo-hv__frame{
    position:absolute;
    inset:40px;
    aspect-ratio:auto;
    border-radius:32px;
    transform:rotate(-1.5deg);
  }
  .bo-hv__dots{bottom:12px}
  .bo-hv__doc{
    position:absolute;
    right:40px;
    bottom:34px;
    left:40px;
    z-index:4;
    padding:16px 19px;
    border-radius:22px;
    background:rgba(255,255,255,.94);
    box-shadow:0 22px 50px -30px rgba(9,33,59,.6);
    -webkit-backdrop-filter:blur(18px) saturate(170%);
    backdrop-filter:blur(18px) saturate(170%);
    transform:rotate(-1.5deg);
  }
  .bo-hv__doc>span{font-size:11px}
  .bo-hv__doc strong{font-size:21px}
  .bo-hv__doc small{font-size:13px}
  .bo-hv__chip{
    position:absolute;
    z-index:5;
    width:214px;
    padding:13px 15px;
    border-radius:20px;
    box-shadow:0 22px 50px -32px rgba(9,33,59,.65);
    font-size:11px;
    transform:rotate(-1.5deg);
  }
  .bo-hv__chip--soon{
    top:44px;
    left:-30px;
  }
  .bo-hv__chip--visit{
    right:-26px;
    bottom:44px;
  }
  .bo-hv__chip>i{
    width:38px;
    height:38px;
    border-radius:13px;
    font-size:15px;
  }
  .bo-hv__chip strong{font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  .bo-hv__frame img,
  .bo-hv__dots span{transition:none}
}

/* ============================================================================
   BOTTOM TAB BAR  —  .bo-tab
   ----------------------------------------------------------------------------
   Replaces .boyodo-mobile-nav, which was styled from nine separate places:
   :15 set display:none at top level, then :19 fought it back with
   display:grid!important plus eleven more !important declarations, and :284,
   :301, :532, :586, :683, :765 and :773 each re-stated colour, font-size or
   background on top of that. Renaming the element retires all nine at once,
   which is the only reason this block needs no !important of its own.

   Geometry is intentionally identical to the old bar - left/right 12px,
   bottom 10px, 7px padding, 52px items, so ~66px overall - because the support
   FAB and the bo-demo pill are positioned against this bar's top edge. Adding
   env(safe-area-inset-bottom) here would raise the bar and silently push it
   into the demo pill, so the inset is deliberately not applied.
   ------------------------------------------------------------------------- */
.bo-tab{
  position:fixed;
  right:12px;
  bottom:10px;
  left:12px;
  z-index:60;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:7px;
  border:1px solid rgba(255,255,255,.6);
  border-radius:22px;
  background:rgba(255,255,255,.82);
  box-shadow:0 14px 40px -18px rgba(11,32,56,.42),0 1px 2px rgba(18,54,85,.06);
  -webkit-backdrop-filter:blur(22px) saturate(180%);
  backdrop-filter:blur(22px) saturate(180%);
}
/* Without blur support the bar has to be opaque or content scrolls through it. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .bo-tab{background:#fff;border-color:var(--boyodo-line)}
}
.bo-tab__item{
  display:flex;
  min-width:0;
  min-height:52px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  border-radius:16px;
  color:#46586f;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  transition:background var(--boyodo-motion),color var(--boyodo-motion),transform .12s ease-out;
}
.bo-tab__item i{font-size:18px}
/* Labels are short, but "Bookings" in a longer locale must not force the grid
   wider than the viewport - min-width:0 above only helps if the text can clip. */
.bo-tab__item span{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bo-tab__item.is-active{
  background:linear-gradient(135deg,var(--boyodo-indigo),var(--boyodo-blue));
  color:#fff;
  box-shadow:0 12px 24px -16px var(--boyodo-indigo);
}
.bo-tab__item:active{transform:scale(.94)}
.bo-tab__item:focus-visible{outline:3px solid var(--boyodo-indigo);outline-offset:2px}
/* No tab bar on desktop; the header nav and its More panel cover it there. */
@media (min-width:768px){
  .bo-tab{display:none}
}
@media (prefers-reduced-transparency:reduce){
  .bo-tab{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (prefers-contrast:more){
  .bo-tab{background:#fff;border:2px solid var(--boyodo-ink);-webkit-backdrop-filter:none;backdrop-filter:none}
  .bo-tab__item{color:var(--boyodo-ink)}
}
@media (prefers-reduced-motion:reduce){
  .bo-tab__item{transition:none}
  .bo-tab__item:active{transform:none}
}
@media print{
  .bo-tab{display:none}
}

/* ============================================================================
   MENU PAGE  —  .bo-menu
   ----------------------------------------------------------------------------
   The fourth tab's destination. A grouped inset list, not a tile grid: a phone
   menu is read top-to-bottom with one thumb, and a single column of 60px rows
   is both faster to scan and easier to hit than a 2-up grid of small squares.
   Rows are 60px so the icon, two lines of text and the chevron all fit without
   the label truncating, and that clears the 44px touch-target minimum with
   room to spare.
   ------------------------------------------------------------------------- */
.bo-menu{
  display:grid;
  gap:18px;
  padding:16px 0 26px;
}
/* Identity card. The gradient is the one signature flourish on the page;
   everything below it is deliberately quiet so the rows stay scannable. */
.bo-menu__id{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:15px 16px;
  border-radius:22px;
  background:linear-gradient(140deg,var(--boyodo-indigo),#075fe6 62%,var(--boyodo-blue));
  box-shadow:0 24px 54px -34px rgba(1,0,220,.7);
  color:#fff;
}
/* Signed out there is no name to lead with, so the card drops to a calmer
   fill: the loud gradient is for a returning patient, not a stranger. */
.bo-menu__id--guest{
  background:linear-gradient(140deg,#123b78,#0a63d8);
  box-shadow:0 22px 48px -34px rgba(10,99,216,.75);
}
.bo-menu__avatar{
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(255,255,255,.18);
  font:800 19px/1 "Sora",sans-serif;
}
.bo-menu__idtext{min-width:0}
.bo-menu__idtext h1{
  margin:0;
  overflow:hidden;
  color:#fff;
  font:800 17px/1.2 "Sora",sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bo-menu__idtext small{
  display:block;
  overflow:hidden;
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:600;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bo-menu__idcta{
  display:grid;
  min-height:38px;
  align-content:center;
  padding:0 14px;
  border-radius:999px;
  background:#fff;
  color:var(--boyodo-indigo);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .12s ease-out;
}
.bo-menu__idcta:active{transform:scale(.95)}
.bo-menu__idcta:focus-visible{outline:3px solid #fff;outline-offset:2px}
.bo-menu__group{display:grid;gap:8px}
.bo-menu__label{
  margin:0 0 0 4px;
  color:var(--boyodo-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.bo-menu__list{
  overflow:hidden;
  border:1px solid var(--boyodo-line);
  border-radius:20px;
  background:var(--boyodo-card);
  box-shadow:var(--boyodo-shadow);
}
.bo-menu__row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  min-height:60px;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  color:var(--boyodo-ink);
  text-decoration:none;
  transition:background var(--boyodo-motion);
}
/* Hairline between rows only, never above the first or below the last, so the
   card keeps clean rounded ends. */
.bo-menu__row+.bo-menu__row{border-top:1px solid #eef4f9}
.bo-menu__row:active{background:#f1f7ff}
.bo-menu__row:focus-visible{outline:3px solid var(--boyodo-indigo);outline-offset:-3px}
.bo-menu__ico{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:12px;
  background:#eef3f9;
  color:#41586f;
  font-size:15px;
}
.bo-menu__ico--blue{background:#e7efff;color:#0a3fc0}
.bo-menu__ico--green{background:#e6f7ee;color:#0b7c45}
.bo-menu__ico--violet{background:#f0eaff;color:#5b32c9}
.bo-menu__ico--rose{background:#ffe9ef;color:#c22a58}
.bo-menu__ico--amber{background:#fff3dd;color:#8a5606}
.bo-menu__ico--teal{background:#e2f7f4;color:#04796a}
.bo-menu__rowtext{min-width:0;display:grid;gap:1px}
.bo-menu__rowtext strong{
  overflow:hidden;
  font-size:14.5px;
  font-weight:700;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bo-menu__rowtext small{
  overflow:hidden;
  color:var(--boyodo-muted);
  font-size:12px;
  font-weight:500;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bo-menu__chev{color:#a8bacd;font-size:12px}
.bo-menu__note{
  margin:2px 0 0 4px;
  color:var(--boyodo-muted);
  font-size:11.5px;
  font-weight:600;
}
.bo-menu__signout{
  display:flex;
  width:100%;
  min-height:52px;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid #f5d3d9;
  border-radius:20px;
  background:#fff;
  color:#c02742;
  font-size:14.5px;
  font-weight:800;
  transition:background var(--boyodo-motion),transform .12s ease-out;
}
.bo-menu__signout:active{background:#fff2f4;transform:scale(.99)}
.bo-menu__signout:focus-visible{outline:3px solid #c02742;outline-offset:2px}
.bo-menu__legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px 16px;
  padding:2px 0 6px;
}
.bo-menu__legal a{
  color:var(--boyodo-muted);
  font-size:12px;
  font-weight:600;
  text-decoration:none;
}
.bo-menu__legal a:focus-visible{outline:2px solid var(--boyodo-indigo);outline-offset:2px}
/* One short staggered entrance on load. Groups only - animating every row
   would turn a menu into a performance. */
@keyframes bo-menu-rise{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
.bo-menu__id,
.bo-menu__group{animation:bo-menu-rise .34s cubic-bezier(.22,1,.36,1) both}
.bo-menu__group:nth-of-type(2){animation-delay:.04s}
.bo-menu__group:nth-of-type(3){animation-delay:.08s}
.bo-menu__group:nth-of-type(4){animation-delay:.12s}
.bo-menu__group:nth-of-type(5){animation-delay:.16s}
@media (min-width:768px){
  .bo-menu{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    gap:20px;
    max-width:900px;
    margin:0 auto;
    padding:26px 0 40px;
  }
  .bo-menu__id{grid-column:1/-1;padding:20px 22px}
  .bo-menu__avatar{width:54px;height:54px;font-size:22px}
  .bo-menu__idtext h1{font-size:20px}
  .bo-menu__legal{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
  .bo-menu__id,
  .bo-menu__group{animation:none}
  .bo-menu__row,
  .bo-menu__signout,
  .bo-menu__idcta{transition:none}
  .bo-menu__row:active,
  .bo-menu__signout:active,
  .bo-menu__idcta:active{transform:none}
}
@media print{
  .bo-menu__id,
  .bo-menu__group{animation:none}
}

/* ==========================================================================
   Patient dashboard - bo-pd  (added 2026-08-24)

   Replaces the .boyodo-patient-dashboard / .boyodo-patient-content pair, whose
   mobile treatment needed ~40 !important declarations to fake cards out of
   <table class="datatable"> and still printed one shared set of column labels
   over all three tabs. user_profile.blade.php no longer carries either legacy
   class, so that whole block is inert for this page and nothing below needs to
   out-shout it: this file adds zero !important.

   The five sibling patient pages (test report, addresses, favourites, profile
   settings, change password) deliberately keep the legacy classes - they still
   render tables, and re-pointing them without rewriting their markup would
   leave them unstyled. They are a separate pass.

   Mobile-first. Touch targets >= 44px, body copy >= 13px, and every animation
   is opt-out under prefers-reduced-motion.
   ========================================================================== */

.bo-pd{
  width:100%;
  max-width:1180px;
  margin-inline:auto;
  padding:16px 14px 28px;
  color:var(--boyodo-ink);
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}

.bo-sr{
  position:absolute;
  width:1px;height:1px;
  margin:-1px;padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* -------------------------------------------------------------- identity -- */

.bo-pd__hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px 14px;
  align-items:center;
  padding:16px;
  border:1px solid var(--boyodo-line);
  border-radius:var(--boyodo-radius);
  background:
    radial-gradient(120% 140% at 100% 0%,rgba(0,184,156,.14),transparent 58%),
    linear-gradient(135deg,#f7fcff,#eef6ff);
  box-shadow:var(--boyodo-shadow);
}

.bo-pd__avatar{
  width:56px;height:56px;
  border-radius:50%;
  border:2px solid #fff;
  object-fit:cover;
  box-shadow:0 6px 18px rgba(10,99,216,.18);
}

.bo-pd__who{min-width:0}

.bo-pd__who h1{
  margin:0;
  font-family:'Sora','Plus Jakarta Sans',sans-serif;
  font-size:18px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:-.01em;
  overflow-wrap:anywhere;
}

.bo-pd__who p{
  margin:2px 0 0;
  color:var(--boyodo-muted);
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.bo-pd__edit{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:44px;
  padding:0 14px;
  border:1px solid var(--boyodo-line);
  border-radius:14px;
  background:#fff;
  color:var(--boyodo-blue);
  font-size:13px;
  font-weight:700;
  text-decoration:none;
  transition:transform var(--boyodo-motion),box-shadow var(--boyodo-motion);
}

.bo-pd__edit:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(10,99,216,.16);
}

.bo-pd__edit span{display:none}

.bo-pd__stats{
  display:grid;
  grid-column:1/-1;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}

.bo-pd__stats>div{
  padding:10px 8px;
  border:1px solid rgba(216,231,240,.9);
  border-radius:16px;
  background:rgba(255,255,255,.82);
  text-align:center;
}

.bo-pd__stats dt{
  color:var(--boyodo-muted);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.bo-pd__stats dd{
  margin:2px 0 0;
  font-family:'Sora','Plus Jakarta Sans',sans-serif;
  font-size:20px;
  font-weight:700;
  line-height:1.1;
}

/* ------------------------------------------------------------------ shell -- */

.bo-pd__body{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  margin-top:14px;
}

/* The shared userSidebar partial hard-codes w-60 (Tailwind, 15rem) plus
   shadow-xl on its root, and repeats the avatar already shown in the hero.
   Both are neutralised here by specificity rather than !important: this
   selector is (0,1,1) and beats .w-60 at (0,1,0). */
.bo-pd__rail>div{
  width:auto;
  padding:0;
  border-radius:0;
  box-shadow:none;
}

.bo-pd__rail>div>:not(.sidebar){display:none}

.bo-pd__rail .sidebar{
  display:flex;
  gap:8px;
  margin:0;
  padding:2px 14px 8px 2px;
  overflow-x:auto;
  list-style:none;
  scroll-padding-inline:2px 14px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.bo-pd__rail .sidebar::-webkit-scrollbar{display:none}

.bo-pd__rail .sidebar li{
  flex:0 0 auto;
  padding:0;
  border:0;
  background:none;
  scroll-snap-align:start;
}

.bo-pd__rail .sidebar a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:0 14px;
  border:1px solid var(--boyodo-line);
  border-radius:999px;
  background:#fff;
  color:var(--boyodo-ink);
  font-size:13px;
  font-weight:600;
  white-space:nowrap;
  transition:background var(--boyodo-motion),border-color var(--boyodo-motion),color var(--boyodo-motion);
}

.bo-pd__rail .sidebar a svg{flex:0 0 auto}

.bo-pd__rail .sidebar a:hover{
  border-color:#b9dcff;
  background:#f2f8ff;
}

/* (0,3,1) - outranks the per-page inline `.sidebar li.active` rule the other
   five patient views still ship, without touching them. */
.bo-pd .sidebar li.active a{
  border-color:transparent;
  background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-indigo));
  color:#fff;
  box-shadow:0 8px 20px rgba(10,99,216,.28);
}

.bo-pd__main{min-width:0}

/* --------------------------------------------------------- segmented tabs -- */

.bo-seg{
  display:flex;
  gap:6px;
  padding:5px;
  overflow-x:auto;
  border:1px solid var(--boyodo-line);
  border-radius:999px;
  background:#fff;
  scroll-padding-inline:5px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.bo-seg::-webkit-scrollbar{display:none}

.bo-seg__btn{
  display:inline-flex;
  flex:1 0 auto;
  scroll-snap-align:start;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:0 16px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--boyodo-muted);
  font-family:inherit;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
  transition:background var(--boyodo-motion),color var(--boyodo-motion);
}

.bo-seg__btn em{
  min-width:22px;
  padding:1px 6px;
  border-radius:999px;
  background:#eef4fb;
  color:var(--boyodo-muted);
  font-size:11px;
  font-style:normal;
  font-weight:800;
  transition:background var(--boyodo-motion),color var(--boyodo-motion);
}

.bo-seg__btn:hover{background:#f4f9ff;color:var(--boyodo-ink)}

.bo-seg__btn.is-active{
  background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-indigo));
  color:#fff;
  box-shadow:0 8px 20px rgba(10,99,216,.26);
}

.bo-seg__btn.is-active em{background:rgba(255,255,255,.24);color:#fff}

.bo-seg__btn:focus-visible{outline:2px solid var(--boyodo-indigo);outline-offset:2px}

.bo-pd__panel{margin-top:14px}
/* Mandatory: any author display rule would defeat the UA [hidden] rule, and
   the tab controller toggles panels with the hidden attribute. */
.bo-pd__panel[hidden]{display:none}
.bo-pd__panel:focus{outline:none}

/* -------------------------------------------------- search / sort toolbar -- */

.bo-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  margin-bottom:12px;
}

.bo-tools__search{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:46px;
  padding:0 14px;
  border:1px solid var(--boyodo-line);
  border-radius:16px;
  background:#fff;
  transition:border-color var(--boyodo-motion),box-shadow var(--boyodo-motion);
}

.bo-tools__search:focus-within{
  border-color:var(--boyodo-blue);
  box-shadow:0 0 0 3px rgba(10,99,216,.12);
}

.bo-tools__search i{color:var(--boyodo-muted);font-size:13px}

.bo-tools__search input{
  width:100%;
  min-width:0;
  border:0;
  background:none;
  color:var(--boyodo-ink);
  font-family:inherit;
  font-size:14px;
}

.bo-tools__search input:focus{outline:none}

.bo-tools__sort select{
  width:100%;
  min-height:46px;
  padding:0 34px 0 14px;
  border:1px solid var(--boyodo-line);
  border-radius:16px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2361748a' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
  color:var(--boyodo-ink);
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}

.bo-tools__sort select:focus-visible{outline:2px solid var(--boyodo-indigo);outline-offset:2px}

.bo-tools__count{
  margin:0;
  color:var(--boyodo-muted);
  font-size:13px;
  font-weight:600;
}

/* ------------------------------------------------------------ record cards -- */

.bo-rec{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}

.bo-rec__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px 12px;
  padding:14px;
  border:1px solid var(--boyodo-line);
  border-radius:20px;
  background:var(--boyodo-card);
  box-shadow:0 2px 10px rgba(11,32,56,.05);
  transition:transform var(--boyodo-motion),box-shadow var(--boyodo-motion),border-color var(--boyodo-motion);
}

/* Set because .bo-rec__item declares display - see the panel note above. */
.bo-rec__item[hidden]{display:none}

.bo-rec__item:hover{
  transform:translateY(-2px);
  border-color:#c3ddf4;
  box-shadow:0 12px 26px rgba(11,32,56,.1);
}

/* Signature element: a calendar tile. These records are all fundamentally
   dated, and the tile is what makes a long list scannable at a glance. */
.bo-rec__date{
  display:flex;
  grid-row:1/3;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:50px;
  min-height:50px;
  padding:6px 0;
  border-radius:15px;
  background:linear-gradient(160deg,#eaf3ff,#e2fbf6);
  box-shadow:inset 0 0 0 1px rgba(10,99,216,.12);
}

.bo-rec__date strong{
  font-family:'Sora','Plus Jakarta Sans',sans-serif;
  font-size:19px;
  font-weight:700;
  line-height:1;
  color:var(--boyodo-ink);
}

.bo-rec__date small{
  margin-top:2px;
  color:var(--boyodo-blue);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.bo-rec__head{min-width:0}

.bo-rec__head strong{
  display:block;
  font-family:'Sora','Plus Jakarta Sans',sans-serif;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.bo-rec__head small{
  display:block;
  margin-top:1px;
  color:var(--boyodo-muted);
  font-size:13px;
  overflow-wrap:anywhere;
}

.bo-rec__when{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-top:6px;
  color:var(--boyodo-muted);
  font-size:13px;
}

.bo-rec__when i{color:var(--boyodo-blue)}
.bo-rec__when b{color:var(--boyodo-ink);font-weight:700}

.bo-rec__thumb{
  display:block;
  width:44px;height:44px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--boyodo-line);
}

.bo-rec__thumb img{width:100%;height:100%;object-fit:cover}

.bo-pill{
  display:inline-flex;
  grid-column:2/-1;
  align-items:center;
  justify-self:start;
  gap:6px;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.bo-pill i{font-size:11px}
.bo-pill.is-pending{background:#fff4e2;color:#a2620a}
.bo-pill.is-approved{background:#e6f6ff;color:#0a63d8}
.bo-pill.is-cancelled{background:#ffe9ec;color:#b3243a}
.bo-pill.is-complete{background:#e3f8f2;color:#00755f}

.bo-rec__meta{
  display:grid;
  grid-column:1/-1;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0;
  padding-top:10px;
  border-top:1px dashed var(--boyodo-line);
}

.bo-rec__meta dt{
  color:var(--boyodo-muted);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.bo-rec__meta dd{
  margin:2px 0 0;
  font-size:13px;
  font-weight:700;
  overflow-wrap:anywhere;
}

.bo-rec__meta dd a{color:var(--boyodo-blue);text-decoration:underline}

.bo-rec__files{
  display:flex;
  grid-column:1/-1;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.bo-rec__fileslabel{
  color:var(--boyodo-muted);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.bo-rec__files a{
  display:block;
  width:44px;height:44px;
  border-radius:13px;
  overflow:hidden;
  border:1px solid var(--boyodo-line);
  transition:transform var(--boyodo-motion);
}

.bo-rec__files a:hover{transform:scale(1.06)}
.bo-rec__files img{width:100%;height:100%;object-fit:cover}

.bo-rec__actions{
  display:flex;
  grid-column:1/-1;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding-top:11px;
  border-top:1px solid var(--boyodo-line);
}

/* ---------------------------------------------------------------- buttons -- */

.bo-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:0 15px;
  border:1px solid transparent;
  border-radius:14px;
  font-family:inherit;
  font-size:13px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  transition:transform var(--boyodo-motion),box-shadow var(--boyodo-motion),background var(--boyodo-motion),color var(--boyodo-motion);
}

.bo-btn:hover{transform:translateY(-1px)}
.bo-btn:active{transform:translateY(0)}
.bo-btn:focus-visible{outline:2px solid var(--boyodo-indigo);outline-offset:2px}

.bo-btn--primary{
  background:linear-gradient(135deg,var(--boyodo-blue),var(--boyodo-indigo));
  color:#fff;
  box-shadow:0 6px 16px rgba(10,99,216,.24);
}

.bo-btn--primary:hover{box-shadow:0 10px 24px rgba(10,99,216,.32)}

.bo-btn--ghost{
  border-color:var(--boyodo-line);
  background:#fff;
  color:var(--boyodo-ink);
}

.bo-btn--ghost:hover{border-color:#b9dcff;background:#f4f9ff}

.bo-btn--danger{
  background:linear-gradient(135deg,#e23a55,#b3243a);
  color:#fff;
  box-shadow:0 6px 16px rgba(179,36,58,.24);
}

.bo-btn--icon{
  width:44px;
  padding:0;
  border-color:var(--boyodo-line);
  background:#fff;
  color:var(--boyodo-ink);
}

.bo-btn--icon:hover{border-color:#b9dcff;background:#f4f9ff}
.bo-btn--icon.is-video{border-color:#a9ebdf;background:#e7fbf6;color:#00755f}
.bo-btn--icon.is-danger{border-color:#f7c6ce;background:#fff1f3;color:#b3243a}

/* ----------------------------------------------------------- empty states -- */

.bo-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:34px 18px;
  border:1px dashed var(--boyodo-line);
  border-radius:20px;
  background:#fbfdff;
  text-align:center;
}

.bo-empty>i{
  display:grid;
  place-items:center;
  width:52px;height:52px;
  border-radius:50%;
  background:linear-gradient(160deg,#eaf3ff,#e2fbf6);
  color:var(--boyodo-blue);
  font-size:19px;
}

.bo-empty strong{
  font-family:'Sora','Plus Jakarta Sans',sans-serif;
  font-size:16px;
  font-weight:700;
}

.bo-empty p{
  max-width:34ch;
  margin:0;
  color:var(--boyodo-muted);
  font-size:13px;
  line-height:1.5;
}

.bo-empty .bo-btn{margin-top:4px}

.bo-none{
  margin:14px 0 0;
  padding:20px;
  border:1px dashed var(--boyodo-line);
  border-radius:18px;
  background:#fbfdff;
  color:var(--boyodo-muted);
  font-size:13px;
  text-align:center;
}

/* -------------------------------------------------- modals (bottom sheets) -- */

/* No display declaration anywhere on .bo-sheet: Flowbite shows a modal by
   adding the `flex` class and removing `hidden`, so it owns display and this
   block only supplies alignment. Setting display here would leave every modal
   permanently open. */
.bo-sheet{
  align-items:flex-end;
  justify-content:center;
  padding:0;
  overflow-y:auto;
  overscroll-behavior:contain;
}

.bo-sheet__panel{
  display:flex;
  width:100%;
  max-width:560px;
  max-height:92vh;
  flex-direction:column;
  border-radius:24px 24px 0 0;
  background:#fff;
  box-shadow:0 -14px 44px rgba(11,32,56,.22);
  animation:bo-sheet-up .28s cubic-bezier(.22,1,.36,1) both;
}

@keyframes bo-sheet-up{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}

.bo-sheet__head{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  padding:16px 18px 12px;
  border-bottom:1px solid var(--boyodo-line);
}

.bo-sheet__head h5{
  flex:1 1 auto;
  margin:0;
  font-family:'Sora','Plus Jakarta Sans',sans-serif;
  font-size:16px;
  font-weight:700;
  color:var(--boyodo-ink);
}

.bo-sheet__close{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:40px;height:40px;
  border:1px solid var(--boyodo-line);
  border-radius:13px;
  background:#fff;
  color:var(--boyodo-muted);
  cursor:pointer;
  transition:background var(--boyodo-motion),color var(--boyodo-motion);
}

.bo-sheet__close:hover{background:#f4f9ff;color:var(--boyodo-ink)}
.bo-sheet__close:focus-visible{outline:2px solid var(--boyodo-indigo);outline-offset:2px}

.bo-sheet__body{
  flex:1 1 auto;
  padding:16px 18px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.bo-sheet__lede{
  margin:0 0 12px;
  color:var(--boyodo-muted);
  font-size:13px;
  line-height:1.5;
}

.bo-sheet__group+.bo-sheet__group{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--boyodo-line);
}

.bo-sheet__group h6{
  margin:0 0 8px;
  color:var(--boyodo-blue);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.bo-sheet__row{
  display:grid;
  grid-template-columns:minmax(0,42%) minmax(0,1fr);
  gap:10px;
  padding:8px 0;
}

.bo-sheet__row+.bo-sheet__row{border-top:1px dashed var(--boyodo-line)}

.bo-sheet__row dt{
  color:var(--boyodo-muted);
  font-size:12px;
  font-weight:700;
}

.bo-sheet__row dd{
  margin:0;
  font-size:13px;
  font-weight:600;
  overflow-wrap:anywhere;
}

.bo-sheet__table{
  width:100%;
  /* fixed + anywhere guarantees a long medicine name wraps instead of widening
     the table past the sheet; separate borders let the header radii render. */
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
}

.bo-sheet__table th{
  padding:8px;
  background:#f4fbfd;
  color:var(--boyodo-muted);
  font-size:11px;
  font-weight:800;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.bo-sheet__table th:first-child{border-radius:11px 0 0 11px}
.bo-sheet__table th:last-child{border-radius:0 11px 11px 0}

.bo-sheet__table td{
  padding:8px;
  border-bottom:1px solid var(--boyodo-line);
  font-size:13px;
  text-align:center;
  overflow-wrap:anywhere;
}

.bo-sheet__foot{
  display:flex;
  gap:9px;
  flex:0 0 auto;
  padding:12px 18px 16px;
  border-top:1px solid var(--boyodo-line);
}

.bo-sheet__foot .bo-btn{flex:1 1 0}

/* ------------------------------------------------------- fields & choices -- */

.bo-field{margin-top:14px}

.bo-field__label{
  display:block;
  margin-bottom:6px;
  color:var(--boyodo-ink);
  font-size:13px;
  font-weight:700;
}

.bo-field__input{
  width:100%;
  min-height:46px;
  padding:11px 14px;
  border:1px solid var(--boyodo-line);
  border-radius:16px;
  background:#fff;
  color:var(--boyodo-ink);
  font-family:inherit;
  font-size:14px;
  line-height:1.5;
  resize:vertical;
  transition:border-color var(--boyodo-motion),box-shadow var(--boyodo-motion);
}

.bo-field__input:focus{
  border-color:var(--boyodo-blue);
  box-shadow:0 0 0 3px rgba(10,99,216,.12);
  outline:none;
}

.bo-field__error{
  display:block;
  margin-top:5px;
  color:#b3243a;
  font-size:12px;
  font-weight:600;
}

.bo-choice{display:flex;flex-direction:column;gap:8px}

.bo-choice__row{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:46px;
  padding:0 14px;
  border:1px solid var(--boyodo-line);
  border-radius:16px;
  background:#fff;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:border-color var(--boyodo-motion),background var(--boyodo-motion);
}

.bo-choice__row:hover{border-color:#b9dcff;background:#f7fbff}

.bo-choice__row input{
  width:19px;height:19px;
  flex:0 0 auto;
  accent-color:var(--boyodo-blue);
  cursor:pointer;
}

.bo-choice__row:has(input:checked){
  border-color:var(--boyodo-blue);
  background:#f2f8ff;
}

.bo-choice__row:focus-within{box-shadow:0 0 0 3px rgba(10,99,216,.12)}

/* ------------------------------------------------------------------ entry -- */

.bo-rec__item{animation:bo-rise .34s cubic-bezier(.22,1,.36,1) both}
.bo-rec__item:nth-child(2){animation-delay:.04s}
.bo-rec__item:nth-child(3){animation-delay:.08s}
.bo-rec__item:nth-child(4){animation-delay:.12s}
.bo-rec__item:nth-child(5){animation-delay:.16s}
.bo-rec__item:nth-child(n+6){animation-delay:.2s}

@keyframes bo-rise{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}

/* Sorting re-appends nodes, which restarts the animation. The controller adds
   this class on first interaction so a re-sort does not re-flash the list. */
.bo-static .bo-rec__item,
.bo-rec.bo-static .bo-rec__item{animation:none}

/* ------------------------------------------------------------- >= 480px -- */

@media(min-width:480px){
  .bo-rec__item{grid-template-columns:auto minmax(0,1fr) auto}
  .bo-rec__date{grid-row:auto}
  .bo-pill{grid-column:auto;justify-self:end;align-self:start}
  .bo-tools{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .bo-tools__count{grid-column:1/-1}
  .bo-pd__edit span{display:inline}
}

/* ------------------------------------------------------------- >= 640px -- */

@media(min-width:640px){
  .bo-pd{padding:22px 20px 34px}
  .bo-pd__avatar{width:64px;height:64px}
  .bo-pd__who h1{font-size:21px}
  .bo-sheet{align-items:center;padding:18px}
  .bo-sheet__panel{
    max-height:86vh;
    border-radius:24px;
    box-shadow:0 24px 60px rgba(11,32,56,.26);
  }
  .bo-sheet__foot{justify-content:flex-end}
  .bo-sheet__foot .bo-btn{flex:0 0 auto;min-width:132px}
}

/* ------------------------------------------------------------ >= 1024px -- */

@media(min-width:1024px){
  .bo-pd__hero{
    grid-template-columns:auto minmax(0,1fr) auto auto;
    padding:20px 24px;
  }
  .bo-pd__stats{
    grid-column:auto;
    grid-template-columns:repeat(3,minmax(88px,auto));
  }
  .bo-pd__body{grid-template-columns:15rem minmax(0,1fr);gap:20px}
  .bo-pd__rail{align-self:start;position:sticky;top:88px}
  .bo-pd__rail>div{
    padding:14px 10px;
    border:1px solid var(--boyodo-line);
    border-radius:var(--boyodo-radius);
    background:#fff;
    box-shadow:var(--boyodo-shadow);
  }
  .bo-pd__rail .sidebar{
    flex-direction:column;
    gap:5px;
    padding:0;
    overflow:visible;
  }
  .bo-pd__rail .sidebar a{
    justify-content:flex-start;
    width:100%;
    border-color:transparent;
    border-radius:14px;
    background:transparent;
  }
  .bo-seg__btn{flex:0 0 auto}
  .bo-rec__item{padding:16px 18px}
  .bo-rec__meta{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* --------------------------------------------------------------- press -- */

/* Touch feedback. On a phone `:hover` either never fires or, worse, sticks
   after the finger lifts, so every lift/glow above this line is desktop-only
   decoration - the dashboard had no tap response at all and read as dead.
   These are `:active` rules, which fire on touchstart and clear on release.

   Kept to transform + one shadow step so the paint stays on the compositor;
   no colour transitions on the pressed state, because a 120ms colour tween
   under a finger reads as lag rather than as feedback.

   `-webkit-tap-highlight-color` is the single biggest "this is a web page"
   tell on Android: the default is a translucent grey box drawn around the
   whole tapped element, ignoring border-radius, so a 20px-radius card flashes
   a hard rectangle. Suppressing it is only honest because each element below
   supplies its own visible press state - never suppress it without one. */
/* Deliberately only the elements this page actually renders: anchors, buttons
   and the record thumbnails. No `summary` or `[role="button"]` - there are none
   on this screen, and a selector that matches nothing is one more line the next
   person has to prove is dead. */
.bo-pd a,
.bo-pd button{-webkit-tap-highlight-color:transparent}

.bo-seg__btn:active{transform:scale(.97)}
.bo-seg__btn.is-active:active{box-shadow:0 4px 12px rgba(10,99,216,.3)}

/* The card is not itself a control, so it gets a settle rather than a scale:
   scaling a whole record under the thumb hides the row being read. */
.bo-rec__item:active{
  border-color:#b9dcff;
  box-shadow:0 1px 4px rgba(11,32,56,.08);
}

/* translateY(0) alone only cancelled the hover lift, which on touch was a
   no-op cancelling a no-op. */
.bo-btn:active{transform:translateY(0) scale(.97)}
.bo-btn--primary:active{box-shadow:0 3px 10px rgba(10,99,216,.3)}
.bo-btn--danger:active{box-shadow:0 3px 10px rgba(179,36,58,.3)}
.bo-btn--ghost:active,
.bo-btn--icon:active{background:#e9f3ff;border-color:#9fd0ff}

.bo-pd__edit:active{transform:scale(.94)}
.bo-rec__files a:active{transform:scale(.94)}

/* ------------------------------------------------------------- a11y opt-out -- */

@media(prefers-reduced-motion:reduce){
  .bo-rec__item,
  .bo-sheet__panel{animation:none}
  .bo-rec__item,
  .bo-btn,
  .bo-pd__edit,
  .bo-rec__files a{transition:none}
  .bo-rec__item:hover,
  .bo-btn:hover,
  .bo-pd__edit:hover,
  .bo-rec__files a:hover{transform:none}
  /* The press states go too. A reduced-motion user still needs to know the tap
     landed, so the ones that carried a colour or border change keep it and only
     the movement is dropped. */
  .bo-seg__btn:active,
  .bo-btn:active,
  .bo-pd__edit:active,
  .bo-rec__files a:active{transform:none}
}

@media print{
  .bo-seg,
  .bo-tools,
  .bo-rec__actions,
  .bo-pd__rail,
  .bo-pd__edit{display:none}
  .bo-rec__item{
    animation:none;
    box-shadow:none;
    break-inside:avoid;
  }
}

/* --------------------------------------------------------------------------
   Doctor nickname.                                     Added 2026-08-24.
   A doctor switches a nickname on from their own profile (doctor/doctor/
   doctor_profile.blade.php). When it is on, every discovery surface leads
   with the nickname and states the registered name underneath, because a
   patient who searched for a nickname must still be able to confirm who they
   are about to pay. Transactional surfaces - the Review panel, the receipt,
   the confirmation mail, the PayU productinfo - stay on the registered name
   and never reach these classes.

   Rendered as <small>, and that is load-bearing rather than cosmetic. The
   mobile baseline in this file forces `.boyodo-page p` (line ~391) and
   `.boyodo-page .booking-doctor span` (line ~492) to 16px !important, which
   would make this secondary line exactly as loud as the name above it and
   undo the hierarchy the whole feature exists for. Nothing in this file
   targets a bare `small` inside a doctor card, a profile hero or a booking
   header, so a plain single-class rule wins here with no !important of its
   own - the same re-namespacing route used for bo-hrs and bo-sug.

   `display:table` rather than block or inline-block: it shrink-wraps to its
   text the way inline-block does, but it is block-level, so it still starts
   on its own line where it sits between inline siblings. That is the case in
   the booking header, whose degree-and-experience line is a bare <span>.
   -------------------------------------------------------------------------- */
.bo-legalname{
  display:table;max-width:100%;margin:5px 0 0;
  padding:3px 10px 3px 8px;border-radius:999px;
  border:1px solid #dbe8f2;background:#f4f9fd;
  color:#4c6377;font:600 12.5px/1.45 'Plus Jakarta Sans',sans-serif;
  letter-spacing:.01em;text-transform:none;
}
.bo-legalname i{margin-right:6px;color:#00887a}
.bo-legalname strong{font-weight:800;color:#26435c}

/* The profile hero carries a 24-46px name, so the chip can take a step up
   there without competing with it. */
.bo-legalname--lg{margin-top:8px;padding:5px 13px 5px 11px;font-size:13.5px}

/* With a nickname on, the name and the chip under it are one unit, and the
   default gap below the heading splits them. This class is for that grouping
   only: the nickname needs no decoration of its own, because standing where
   the registered name used to stand is the highlight. */
.boyodo-doctor-name.has-nickname{margin-bottom:0}
.boyodo-profile-identity h1.has-nickname{margin-bottom:2px}

/* Search suggestions. `.bo-sug-copy small` (0,1,1) already styles the chamber
   line, so this has to carry the parent to win on specificity. A chip would
   crowd a 60px row, so here the registered name is plain muted text. */
.bo-sug-copy .bo-sug-legal{color:#5b7186;font-size:11px;font-weight:700}

@media (min-width:768px){
  .bo-legalname{font-size:13px}
  .bo-legalname--lg{font-size:14.5px}
  .bo-sug-copy .bo-sug-legal{font-size:11.5px}
}

/* --------------------------------------------------------------------------
   Mobile production stabilization.                         Added 2026-08-24.
   This is intentionally last. The legacy stylesheet contains several older
   mobile overrides for the same public pages; this block gives the visible
   patient flows one current source of truth without disturbing admin pages.
   -------------------------------------------------------------------------- */
.boyodo-page{
  --bo-blue:#0b63f6;
  --bo-blue-deep:#0338d8;
  --bo-green:#10b981;
  --bo-red:#ef4444;
  --bo-ink:#071c33;
  --bo-muted:#5c7288;
  --bo-line:#d8e7f2;
}
.boyodo-page *{box-sizing:border-box}
.boyodo-page img{max-width:100%;height:auto}
.boyodo-page a,
.boyodo-page button{-webkit-tap-highlight-color:transparent}

.boyodo-page>nav.boyodo-site-nav{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  width:100%!important;
  min-height:74px!important;
  padding:10px clamp(14px,4vw,34px)!important;
  background:rgba(255,255,255,.96)!important;
  border:0!important;
  border-bottom:1px solid var(--bo-line)!important;
  border-radius:0!important;
  box-shadow:0 14px 34px -30px rgba(9,32,55,.45)!important;
  backdrop-filter:blur(16px)!important;
}
.boyodo-page .boyodo-brand-link{
  min-width:72px;
  min-height:50px;
  display:flex;
  align-items:center;
}
.boyodo-page .boyodo-logo{
  width:92px!important;
  max-height:58px!important;
  object-fit:contain!important;
}
.boyodo-page .boyodo-header-phone{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 15px!important;
  border:1px solid #cfe1f1!important;
  border-radius:999px!important;
  background:#f7fbff!important;
  color:var(--bo-ink)!important;
  font:800 14px/1 'Plus Jakarta Sans',sans-serif!important;
  white-space:nowrap!important;
}
.boyodo-page .boyodo-signin-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 22px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,var(--bo-blue-deep),#106eea)!important;
  color:#fff!important;
  font:800 15px/1 'Plus Jakarta Sans',sans-serif!important;
  box-shadow:0 14px 30px -18px rgba(3,56,216,.65)!important;
}
.boyodo-page>nav.boyodo-site-nav [data-collapse-toggle]{
  flex:0 0 46px!important;
  width:46px!important;
  height:46px!important;
  border-radius:15px!important;
  color:var(--bo-blue)!important;
  background:#eef6ff!important;
}
.boyodo-page #mobile-menu-language-select{
  z-index:90!important;
}
.boyodo-page #mobile-menu-language-select ul{
  background:#fff!important;
  border-color:var(--bo-line)!important;
  box-shadow:0 18px 42px -28px rgba(9,32,55,.45)!important;
}

.bo-sug-box{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 10px);
  z-index:95;
  display:grid;
  gap:6px;
  max-height:min(420px,58vh);
  overflow:auto;
  padding:8px;
  border:1px solid var(--bo-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 50px -30px rgba(8,34,62,.5);
  width:min(760px,calc(100vw - 24px));
  min-width:min(100%,320px);
}
.bo-sug-box[hidden]{display:none!important}
.bo-sug-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:64px;
  padding:10px;
  border-radius:14px;
  color:var(--bo-ink);
  text-decoration:none!important;
}
.bo-sug-item:hover,
.bo-sug-item.is-active{background:#f0f7ff}
.bo-sug-avatar{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#e9f4ff;
  color:var(--bo-blue);
  font-weight:900;
}
.bo-sug-avatar img{width:100%;height:100%;object-fit:cover}
.bo-sug-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.bo-sug-copy strong,
.bo-sug-copy span,
.bo-sug-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
}
.bo-sug-copy strong{font:900 15px/1.25 'Plus Jakarta Sans',sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bo-sug-meta{color:var(--bo-blue);font-weight:800;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bo-sug-copy small{color:var(--bo-muted);font-size:11px}
.bo-sug-tag{
  min-width:50px;
  padding:6px 9px;
  border-radius:999px;
  text-align:center;
  font-weight:900;
  font-size:11px;
}
.bo-sug-tag.is-open{background:#e7f8ef;color:#0b7b45}
.bo-sug-tag.is-closed{background:#fff5df;color:#9a5a00}
.bo-sug-empty{
  margin:0;
  padding:14px;
  color:var(--bo-muted);
  font-weight:700;
}

.boyodo-page-booking .booking-main{
  max-width:1120px!important;
  width:min(1120px,calc(100% - 32px))!important;
}
.boyodo-page-booking .booking-card{
  max-width:980px!important;
  overflow:hidden!important;
}
.boyodo-page-booking .booking-clinic{
  border:1px solid var(--bo-line)!important;
  box-shadow:none!important;
}

.bo-hrs-dates{
  display:grid!important;
  gap:12px!important;
}
.bo-hrs-date{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  min-height:84px!important;
  padding:12px!important;
  border:1px solid var(--bo-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  color:var(--bo-ink)!important;
  text-decoration:none!important;
}
.bo-hrs-date.is-open{border-color:#cdebd7!important;background:#fbfffd!important}
.bo-hrs-date.is-done{background:#f8fafc!important;color:#8090a0!important}
.bo-hrs-tile{
  width:64px!important;
  height:60px!important;
  border-radius:16px!important;
  display:grid!important;
  place-items:center!important;
  background:#eef6ff!important;
  color:var(--bo-blue)!important;
}
.bo-hrs-tile b{font:900 22px/1 'Plus Jakarta Sans',sans-serif!important}
.bo-hrs-tile i{font-style:normal!important;font-weight:900!important;font-size:12px!important;text-transform:uppercase!important}
.bo-hrs-body{min-width:0!important;display:grid!important;gap:4px!important}
.bo-hrs-body strong,
.bo-hrs-time{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.bo-hrs-time{color:var(--bo-muted)!important;font-weight:800!important}
.bo-hrs-flag{
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  background:#e8f8ef!important;
  color:#08783e!important;
  font-style:normal!important;
  font-weight:900!important;
  font-size:12px!important;
}
.bo-hrs-action{
  min-height:42px!important;
  padding:0 14px!important;
  border-radius:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  background:#eef6ff!important;
  color:var(--bo-blue)!important;
  font-weight:900!important;
}
.bo-hrs-closed,
.bo-hrs-note{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:12px 0 0!important;
  padding:13px!important;
  border-radius:16px!important;
}
.bo-hrs-closed{background:#fff1f1!important;color:#bd2525!important}
.bo-hrs-note{background:#eef6ff!important;color:#11518a!important}

@media(max-width:767px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  .boyodo-page{padding-bottom:84px!important}
  .boyodo-page>nav.boyodo-site-nav{
    min-height:68px!important;
    padding:8px 12px!important;
  }
  .boyodo-page .boyodo-logo{width:64px!important;max-height:46px!important}
  .boyodo-page .boyodo-header-phone{
    font-size:0!important;
    width:44px!important;
    padding:0!important;
  }
  .boyodo-page .boyodo-header-phone i{font-size:17px!important;margin:0!important}
  .boyodo-page .boyodo-signin-btn{
    min-height:44px!important;
    padding:0 16px!important;
    border-radius:16px!important;
    font-size:14px!important;
  }
  .boyodo-page>nav.boyodo-site-nav .flex.items-center.md\:order-2{
    gap:6px!important;
    flex-wrap:nowrap!important;
  }
  .boyodo-page #mobile-menu-language-select{
    position:absolute!important;
    left:12px!important;
    right:12px!important;
    top:calc(100% + 8px)!important;
    width:auto!important;
  }
  .boyodo-page #mobile-menu-language-select.hidden{
    display:none!important;
  }
  .boyodo-page #mobile-menu-language-select:not(.hidden){
    display:block!important;
  }
  .boyodo-page #mobile-menu-language-select ul{
    margin:0!important;
    padding:12px!important;
    border-radius:18px!important;
  }
  .boyodo-hero{padding:28px 0 34px!important}
  .boyodo-hero-grid{display:block!important}
  .boyodo-hero-copy,
  .bo-hv{
    width:100%!important;
    max-width:100%!important;
  }
  .bo-hv{
    margin-top:22px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    transform:none!important;
  }
  .bo-hv__frame{
    width:100%!important;
    aspect-ratio:4/3!important;
    min-height:0!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .bo-hv__frame img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transform:none!important;
  }
  .bo-hv__doc{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
    border-radius:18px!important;
  }
  .bo-hv__chips{
    position:static!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    transform:none!important;
  }
  .bo-hv__chip{
    position:static!important;
    width:auto!important;
    min-width:0!important;
    transform:none!important;
  }
  .boyodo-hero h1{
    font-size:clamp(34px,10vw,44px)!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }
  .boyodo-hero p{font-size:16px!important;line-height:1.6!important}
  .boyodo-search{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
    border-radius:22px!important;
  }
  .boyodo-search label{
    min-width:0!important;
    overflow:hidden!important;
  }
  .boyodo-search label div{
    min-width:0!important;
  }
  .boyodo-search input{
    min-width:0!important;
    font-size:14px!important;
    text-overflow:ellipsis!important;
  }
  .boyodo-search input::placeholder{
    font-size:13px!important;
  }
  .boyodo-search label+label{border-left:0!important;border-top:1px solid var(--bo-line)!important;padding-top:12px!important}
  .boyodo-search button,
  .boyodo-search .bo-geo{
    width:100%!important;
    min-height:52px!important;
    border-radius:16px!important;
  }
  .bo-sug-box{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:86px!important;
    max-height:58vh!important;
    z-index:120!important;
  }
  .bo-sug-item{grid-template-columns:42px minmax(0,1fr) auto;min-height:62px}
  .bo-sug-copy strong{font-size:14px}
  .bo-sug-tag{min-width:42px;font-size:10px}
  .bo-qa{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
    padding:12px!important;
    overflow:visible!important;
  }
  .bo-qa__item{
    min-width:0!important;
    padding:8px 4px!important;
    border-radius:16px!important;
  }
  .bo-qa__icon{width:44px!important;height:44px!important;margin:auto!important}
  .bo-qa__label{
    font-size:11px!important;
    line-height:1.2!important;
    white-space:normal!important;
    word-break:normal!important;
  }
  .boyodo-speciality-rail,
  .bo-doc-list,
  .boyodo-chamber-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:minmax(150px,72vw)!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:8px!important;
  }
  .boyodo-speciality-card,
  .bo-doc,
  .boyodo-chamber-card{scroll-snap-align:start!important}
  .boyodo-market-heading{
    display:flex!important;
    align-items:end!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .boyodo-market-heading h2{
    font-size:25px!important;
    line-height:1.08!important;
    letter-spacing:0!important;
  }
  .boyodo-market-heading a{flex:none!important;font-size:13px!important}
  .boyodo-discovery-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:auto!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .boyodo-discovery-hero img{
    width:100%!important;
    height:auto!important;
    max-height:260px!important;
    object-fit:cover!important;
  }
  .boyodo-discovery-hero h2{
    font-size:38px!important;
    line-height:1.05!important;
    letter-spacing:0!important;
  }

  .boyodo-page-booking{padding-bottom:0!important}
  .boyodo-page-booking .booking-main{
    width:calc(100% - 20px)!important;
    padding:20px 0 100px!important;
  }
  .boyodo-page-booking .booking-intro h1{
    font-size:26px!important;
    letter-spacing:0!important;
  }
  .boyodo-page-booking .booking-progress{
    max-width:100%!important;
    margin-bottom:18px!important;
  }
  .boyodo-page-booking .booking-card{
    padding:16px!important;
    border-radius:22px!important;
  }
  .boyodo-page-booking .bo-cal-panel{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .boyodo-page-booking .bo-cal-left,
  .boyodo-page-booking .bo-cal-right{padding:12px!important;border-radius:18px!important}
  .boyodo-page-booking .bo-cal-dow,
  .boyodo-page-booking .bo-cal-month{gap:5px!important}
  .boyodo-page-booking .bo-cal-day{min-height:38px!important;font-size:13px!important}
  .boyodo-page-booking .booking-actions{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    z-index:70!important;
    border-radius:18px!important;
  }

  .bo-hrs-date{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:76px!important;
  }
  .bo-hrs-tile{width:52px!important;height:54px!important;border-radius:14px!important}
  .bo-hrs-action{
    grid-column:1/-1!important;
    width:100%!important;
    justify-content:center!important;
  }
}

@media(max-width:380px){
  .boyodo-page .boyodo-signin-btn{padding:0 12px!important;font-size:13px!important}
  .bo-qa{gap:6px!important;padding:10px!important}
  .bo-qa__label{font-size:10px!important}
}

/* Final mobile navigation guard. Some legacy/Tailwind utilities load after the
   base tab styles on hosted pages, so this block deliberately wins last. */
@media(max-width:767px){
  .boyodo-page #mobile-menu-language-select.hidden,
  .boyodo-page>nav.boyodo-site-nav #mobile-menu-language-select.hidden{
    display:none!important;
  }
  .boyodo-page #mobile-menu-language-select:not(.hidden){
    position:absolute!important;
    display:block!important;
    left:12px!important;
    right:12px!important;
    top:calc(100% + 8px)!important;
    width:auto!important;
    z-index:90!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 18px 45px -24px rgba(11,32,56,.5)!important;
  }
  .bo-tab,
  .boyodo-page .bo-tab{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    bottom:10px!important;
    top:auto!important;
    z-index:90!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:7px!important;
    border:1px solid rgba(216,231,240,.9)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 16px 50px -20px rgba(11,32,56,.5)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    backdrop-filter:blur(18px)!important;
  }
  .bo-tab__item,
  .boyodo-page .bo-tab__item{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    min-width:0!important;
    min-height:52px!important;
    padding:0 4px!important;
    border-radius:16px!important;
    color:#64778b!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1.15!important;
    text-align:center!important;
    text-decoration:none!important;
  }
  .bo-tab__item i,
  .boyodo-page .bo-tab__item i{font-size:18px!important;line-height:1!important}
  .bo-tab__item span,
  .boyodo-page .bo-tab__item span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .bo-tab__item.is-active,
  .boyodo-page .bo-tab__item.is-active{
    background:linear-gradient(135deg,#0100dc,#075fe6)!important;
    color:#fff!important;
    box-shadow:0 12px 24px -16px #0100dc!important;
  }
}
@media(min-width:768px){
  .bo-tab,
  .boyodo-page .bo-tab{display:none!important}
}

/* Icon font compatibility: the website ships local Font Awesome 5 assets while
   some newer UI snippets used Font Awesome 6 class names. Keep the aliases
   readable if the CDN font is slow or blocked on mobile networks. */
.fa-solid{font-family:"Font Awesome 5 Free","Font Awesome 6 Free"!important;font-weight:900!important}
.fa-regular{font-family:"Font Awesome 5 Free","Font Awesome 6 Free"!important;font-weight:400!important}

/* 2026-08-24 public marketplace and patient portal consolidation. */
html,body{max-width:100%;overflow-x:hidden}
.boyodo-page .main_content{min-width:0}
.boyodo-brand-link{min-width:56px;gap:13px;text-decoration:none!important}
.boyodo-logo{width:88px!important;max-height:58px;object-fit:contain!important;filter:drop-shadow(0 5px 12px rgba(7,63,146,.12));transform-origin:left center;animation:bo-brand-in .42s cubic-bezier(.22,1,.36,1) both,bo-logo-float 3.6s ease-in-out .5s infinite,bo-logo-glow 2.8s ease-in-out .5s infinite}
.boyodo-wordmark{display:inline-block;background:linear-gradient(105deg,#062c72 0%,#075fc5 34%,#08a9b8 67%,#05b88f 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;font-family:"Sora","Plus Jakarta Sans",sans-serif;font-size:23px;font-weight:800;line-height:1;letter-spacing:.18em;white-space:nowrap;filter:drop-shadow(0 5px 12px rgba(7,63,146,.12));transform-origin:center;animation:bo-wordmark-in .58s cubic-bezier(.22,1,.36,1) .08s both,bo-wordmark-shine 4.6s ease-in-out .7s infinite,bo-wordmark-breathe 3.8s ease-in-out .7s infinite,bo-wordmark-glow 2.8s ease-in-out .7s infinite}
@keyframes bo-brand-in{from{opacity:0;transform:translateY(-4px) scale(.94)}to{opacity:1;transform:none}}
@keyframes bo-wordmark-in{from{opacity:0;transform:translateX(-8px);letter-spacing:.28em}to{opacity:1;transform:none;letter-spacing:.18em}}
@keyframes bo-wordmark-shine{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes bo-wordmark-breathe{0%,100%{letter-spacing:.18em}50%{letter-spacing:.205em}}
@keyframes bo-wordmark-glow{0%,100%{filter:drop-shadow(0 4px 9px rgba(7,63,146,.12))}50%{filter:drop-shadow(0 6px 15px rgba(0,154,171,.28))}}
@keyframes bo-logo-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-1deg)}}
@keyframes bo-logo-glow{0%,100%{filter:drop-shadow(0 5px 12px rgba(7,63,146,.12))}50%{filter:drop-shadow(0 7px 16px rgba(0,163,166,.26))}}

@media (min-width:768px){
  .boyodo-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:48px;align-items:center}
  .bo-hv{width:min(100%,560px);min-width:0;margin-right:24px}
  .bo-hv__chip--soon{left:-18px}
  .bo-hv__chip--visit{right:-18px}
}

@media (max-width:767px){
  body{font-size:16px}
  .boyodo-site-nav{min-height:66px;padding:7px 12px!important}
  .boyodo-brand-link{flex:0 1 auto!important;width:auto!important;min-width:0!important;gap:7px!important;margin-left:0!important}
  .boyodo-logo{width:60px!important;max-width:60px!important;max-height:48px}
  .boyodo-wordmark{font-size:15px;letter-spacing:.12em;animation-name:bo-wordmark-in,bo-wordmark-shine}
  .boyodo-header-phone{width:44px!important;height:44px!important;padding:0!important;justify-content:center}
  .boyodo-header-phone span,.boyodo-user-name{display:none!important}
  .boyodo-cart{display:none!important}

  .boyodo-market-section{padding-top:34px!important}
  .boyodo-market-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:8px 14px!important;margin-bottom:14px!important}
  .boyodo-market-heading>div{min-width:0}
  .boyodo-market-heading span{font-size:10px!important;letter-spacing:.12em!important}
  .boyodo-market-heading h2{font-size:26px!important;line-height:1.08!important;letter-spacing:-.8px!important}
  .boyodo-market-heading>a{align-self:center;font-size:13px!important;white-space:nowrap}

  .boyodo-speciality-rail{display:flex!important;gap:10px!important;margin-inline:-12px!important;padding:2px 12px 12px!important;overflow-x:auto!important}
  .boyodo-speciality-card{box-sizing:border-box!important;flex:0 0 122px!important;width:122px!important;min-width:122px!important}
  .boyodo-speciality-card button{display:grid!important;width:100%!important;min-height:126px!important;align-content:center!important;justify-items:center!important;gap:10px!important;padding:12px 8px!important;border-radius:20px!important}
  .boyodo-speciality-art{width:54px!important;height:54px!important;border-radius:17px!important}
  .boyodo-speciality-art img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:17px!important}
  .boyodo-speciality-card strong{display:-webkit-box!important;min-height:2.5em!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;font-size:12px!important;line-height:1.25!important;text-align:center!important}

  .bo-doc-list{display:flex!important;gap:10px!important;margin-inline:-12px!important;padding:2px 12px 14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none}
  .bo-doc-list::-webkit-scrollbar{display:none}
  .bo-doc{flex:0 0 min(278px,calc(100vw - 58px));min-width:0;scroll-snap-align:start;padding:12px;border-radius:20px}
  .bo-doc__name{font-size:14px}
  .bo-doc__fee{padding:4px 7px;font-size:9px}
  .bo-doc__cta{min-height:40px;padding-inline:4px}

  .boyodo-chamber-grid{display:flex!important;gap:10px!important;margin-inline:-12px!important;padding:2px 12px 14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none}
  .boyodo-chamber-grid::-webkit-scrollbar{display:none}
  .boyodo-chamber-card{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;grid-template-rows:auto auto!important;flex:0 0 min(300px,calc(100vw - 46px))!important;min-width:0!important;min-height:0!important;align-items:center!important;gap:10px 12px!important;padding:14px!important;border-radius:20px!important;scroll-snap-align:start}
  .boyodo-chamber-card>i,.boyodo-chamber-card .boyodo-chamber-logo{grid-row:1;width:58px!important;height:58px!important;margin:0!important}
  .boyodo-chamber-card>div{min-width:0!important}
  .boyodo-chamber-card h3{margin:0 0 3px!important;font-size:15px!important;line-height:1.25!important}
  .boyodo-chamber-card p{display:-webkit-box!important;margin:0 0 4px!important;overflow:hidden!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;font-size:12px!important;line-height:1.35!important}
  .boyodo-chamber-card strong{font-size:12px!important}
  .boyodo-chamber-card>a{grid-column:1/-1!important;min-height:42px!important;border-radius:14px!important}

  .bo-pd{width:min(100% - 20px,1120px)!important;padding-bottom:96px!important}
  .bo-pd__hero{grid-template-columns:52px minmax(0,1fr) 44px!important;gap:10px!important;padding:14px!important;border-radius:22px!important}
  .bo-pd__avatar{width:52px!important;height:52px!important}
  .bo-pd__who h1{font-size:18px!important}
  .bo-pd__stats{grid-column:1/-1!important;gap:7px!important}
  .bo-pd__stats>div{min-width:0!important;padding:10px 5px!important}
  .bo-pd__stats dt{font-size:9px!important;letter-spacing:.035em!important;white-space:normal!important;text-align:center}
  .bo-pd__stats dd{font-size:17px!important}
  .bo-pd__rail .sidebar{gap:7px!important;padding-bottom:8px!important}
  .bo-pd__rail .sidebar a{min-height:44px!important;padding:0 12px!important;font-size:12px!important}
  .bo-seg{gap:5px!important;padding:5px!important;border-radius:18px!important}
  .bo-seg__btn{min-width:112px!important;min-height:42px!important;padding:0 11px!important;font-size:12px!important}
  .boyodo-how{margin-top:22px!important}
}

@media (max-width:390px){
  .boyodo-shell{width:calc(100% - 24px)!important}
  .boyodo-hero h1{font-size:36px!important;line-height:1.05!important}
  .boyodo-search{border-radius:22px!important}
  .bo-tab{right:10px!important;left:10px!important}
}
@media (max-width:374px){.boyodo-wordmark{font-size:13px;letter-spacing:.08em}.boyodo-logo{width:54px!important;max-width:54px!important}}
@media (prefers-reduced-motion:reduce){.boyodo-logo,.boyodo-wordmark{animation:none}}

/* Final narrow-header guard: keep the brand and sign-in action inside 360-430px. */
@media (max-width:767px){
  .boyodo-page>nav.boyodo-site-nav>div,
  .boyodo-page>nav.boyodo-site-nav>div>div{width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-brand-link{min-width:0!important;max-width:calc(100% - 132px)!important;overflow:hidden!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-wordmark{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-header-phone{display:none!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-signin-btn{min-width:76px!important;max-width:86px!important;padding-inline:10px!important;font-size:12px!important;white-space:nowrap!important}
  .boyodo-page-home .boyodo-lab-hero-copy h1{max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .boyodo-page-home .boyodo-lab-hero-trust{max-width:100%!important;overflow:visible!important}
  .boyodo-page-home .boyodo-lab-hero{box-sizing:border-box!important;width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin-inline:auto!important}
  .boyodo-page>nav.boyodo-site-nav>div>div>div:nth-child(2){min-width:0!important;flex:0 0 auto!important;margin-left:auto!important}
  .boyodo-page>nav.boyodo-site-nav>div>div{position:relative!important}
  .boyodo-page>nav.boyodo-site-nav>div>div>div:nth-child(2){position:absolute!important;right:52px!important;top:8px!important}
  .boyodo-page>nav.boyodo-site-nav>div>div>button[data-collapse-toggle]{position:absolute!important;right:0!important;top:8px!important;margin:0!important}
  .boyodo-page-home .boyodo-lab-hero-copy h1{max-width:300px!important;font-size:34px!important;line-height:1.06!important;letter-spacing:-1px!important}
  .boyodo-page-home .boyodo-lab-hero-copy>p{max-width:300px!important}
  .boyodo-page-home .boyodo-lab-hero-trust{max-width:300px!important}
}

/* Booking date -> time flow. Scoped and last in the cascade so legacy booking
   overrides cannot turn hidden months into stacked grids on small screens. */
.boyodo-page-booking [hidden],
.boyodo-page-booking .bo-cal-month[hidden],
.boyodo-page-booking [data-book-stage][hidden]{display:none!important}
.boyodo-page-booking .bo-cal-panel{display:block!important;max-width:720px;margin:20px auto 0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.boyodo-page-booking .bo-cal-left,
.boyodo-page-booking .bo-cal-right{width:100%!important;min-width:0!important;padding:20px!important;border:1px solid #d9e6f4!important;border-radius:24px!important;background:#fff!important;box-shadow:0 18px 42px -30px rgba(13,51,105,.38)!important}
.boyodo-page-booking .bo-cal-head{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;align-items:center!important;gap:10px!important;margin-bottom:14px!important}
.boyodo-page-booking .bo-cal-head strong{text-align:center!important;font-size:19px!important;color:#0b1f3a!important}
.boyodo-page-booking .bo-cal-nav{width:48px!important;height:48px!important;border:1px solid #cfe0f2!important;border-radius:15px!important;background:#f7fbff!important;color:#075fe6!important}
.boyodo-page-booking .bo-cal-dow,
.boyodo-page-booking .bo-cal-month{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important}
.boyodo-page-booking .bo-cal-dow{grid-column:1/-1!important;width:100%!important;min-width:0!important}
.boyodo-page-booking .bo-cal-dow>span{display:block!important;min-width:0!important;padding:0 0 7px!important;overflow:hidden!important;text-align:center!important;white-space:nowrap!important}
.boyodo-page-booking .bo-cal-month[hidden]{display:none!important}
.boyodo-page-booking .bo-cal-dow{margin-bottom:7px!important;color:#6b7d93!important;font-size:11px!important;font-weight:800!important;text-align:center!important;text-transform:uppercase!important}
.boyodo-page-booking .bo-cal-day{display:grid!important;width:100%!important;min-width:0!important;aspect-ratio:1!important;place-content:center!important;gap:2px!important;padding:0!important;border:1px solid #f5c8c8!important;border-radius:14px!important;background:#fff5f4!important;color:#d36363!important;font-weight:800!important;box-shadow:none!important}
.boyodo-page-booking .bo-cal-day.is-open{border-color:#9edfc0!important;background:#eaf9f1!important;color:#067a55!important;cursor:pointer!important}
.boyodo-page-booking .bo-cal-day.is-selected{border-color:#fff!important;background:linear-gradient(135deg,#075fe6,#00a89b)!important;color:#fff!important;box-shadow:0 0 0 3px #075fe6,0 10px 22px -14px #075fe6!important}
.boyodo-page-booking .bo-cal-day:disabled{opacity:.72!important;cursor:not-allowed!important}
.boyodo-page-booking .bo-cal-num{font-size:15px!important;line-height:1!important}
.boyodo-page-booking .bo-cal-dot{width:4px!important;height:4px!important;margin:auto!important;border-radius:50%!important;background:currentColor!important}
.boyodo-page-booking .bo-cal-legend{display:flex!important;flex-wrap:wrap!important;gap:10px 16px!important;margin-top:14px!important;font-size:11px!important}
.boyodo-page-booking .bo-cal-jump{min-height:42px!important;margin-top:12px!important;border-radius:14px!important}
.boyodo-page-booking .bo-change-date{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:40px!important;margin-bottom:14px!important;padding:0 14px!important;border:1px solid #cfe0f2!important;border-radius:14px!important;background:#f7fbff!important;color:#075fe6!important;font-weight:800!important}
.boyodo-page-booking .bo-cal-state{margin:12px 0 18px!important;padding:12px 14px!important;border-radius:15px!important}
.boyodo-page-booking .bo-slot{display:flex!important;min-width:0!important;min-height:50px!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:7px 4px!important;border:1px solid #9edfc0!important;border-radius:14px!important;background:#eaf9f1!important;color:#067a55!important;font-size:13px!important;font-weight:800!important;line-height:1.15!important;text-align:center!important}
.boyodo-page-booking .bo-slot.is-taken{border-color:#f5c8c8!important;background:#fff2f1!important;color:#c44e4e!important;text-decoration:none!important}
.boyodo-page-booking .bo-slot.is-taken small{display:block!important;font-size:8px!important;text-transform:uppercase!important}
.boyodo-page-booking .bo-slot.is-selected{border-color:#075fe6!important;background:linear-gradient(135deg,#075fe6,#00a89b)!important;color:#fff!important;box-shadow:0 10px 22px -16px #075fe6!important}
.boyodo-page-booking .bo-slot-empty{grid-column:1/-1!important}
.boyodo-page-booking .booking-chamber-choice,
.boyodo-page-booking .booking-clinic{max-width:720px!important;margin:16px auto 0!important}

@media(max-width:600px){
  .boyodo-page-booking .booking-card{padding:16px!important;border-radius:22px!important}
  .boyodo-page-booking .booking-section-title{align-items:flex-start!important;gap:10px!important}
  .boyodo-page-booking .booking-section-title h2{font-size:21px!important;line-height:1.15!important}
  .boyodo-page-booking .booking-section-title p{font-size:13px!important;line-height:1.45!important}
  .boyodo-page-booking .bo-cal-panel{margin-top:14px!important}
  .boyodo-page-booking .bo-cal-left,.boyodo-page-booking .bo-cal-right{padding:14px!important;border-radius:20px!important}
  .boyodo-page-booking .bo-cal-head{grid-template-columns:44px minmax(0,1fr) 44px!important}
  .boyodo-page-booking .bo-cal-nav{width:44px!important;height:44px!important}
  .boyodo-page-booking .bo-cal-dow,.boyodo-page-booking .bo-cal-month{gap:5px!important}
  .boyodo-page-booking .bo-cal-day{border-radius:11px!important}
  .boyodo-page-booking .bo-cal-num{font-size:13px!important}
  .boyodo-page-booking .bo-slot{min-height:46px!important;border-radius:12px!important;font-size:12px!important}
  .boyodo-page-booking .booking-actions{gap:8px!important;padding:10px!important}
  .boyodo-page-booking .booking-actions button{min-width:0!important;padding-inline:10px!important;font-size:14px!important}
}
/* Patient shift picker: each configured consulting period is a distinct,
   scannable card while individual times remain three-column touch targets. */
.boyodo-page-booking .bo-slots{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.boyodo-page-booking .bo-shift-card{overflow:hidden;border:1px solid #cfe7df;border-radius:18px;background:linear-gradient(180deg,#f4fcf8,#fff);box-shadow:0 10px 24px -20px rgba(0,94,82,.4)}
.boyodo-page-booking .bo-shift-card.is-full{border-color:#f0d2d2;background:#fff8f8}
.boyodo-page-booking .bo-shift-card.is-selected{border-color:#078a78;box-shadow:0 14px 30px -22px rgba(0,110,92,.8)}
.boyodo-page-booking .bo-shift-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(31,139,105,.14)}
.boyodo-page-booking .bo-shift-head:focus-visible{outline:3px solid rgba(7,138,208,.3);outline-offset:-3px}
.boyodo-page-booking .bo-shift-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#dff7ea;color:#0a9569;font-size:17px}
.boyodo-page-booking .bo-shift-card.is-full .bo-shift-icon{background:#ffe8e8;color:#cc6666}
.boyodo-page-booking .bo-shift-title{display:grid;gap:3px;min-width:0}
.boyodo-page-booking .bo-shift-title strong,.boyodo-page-booking .bo-shift-title small{display:block}
.boyodo-page-booking .bo-shift-title strong{font:800 14px/1.2 'Sora',sans-serif;color:#102d48}
.boyodo-page-booking .bo-shift-title small{color:#647d8f;font-size:11px;font-weight:700}
.boyodo-page-booking .bo-shift-status{padding:5px 8px;border-radius:999px;background:#dff7ea;color:#087b58;font-size:10px;font-weight:800;white-space:nowrap}
.boyodo-page-booking .bo-shift-card.is-full .bo-shift-status{background:#ffe8e8;color:#b85b5b}
.boyodo-page-booking .bo-shift-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}
.boyodo-page-booking .bo-shift-slots .bo-slot{min-height:46px!important}
@media(max-width:600px){
  .boyodo-page-booking .bo-shift-head{grid-template-columns:36px minmax(0,1fr) auto;padding:11px}
  .boyodo-page-booking .bo-shift-icon{width:36px;height:36px}
  .boyodo-page-booking .bo-shift-status{font-size:9px;padding:5px 7px}
  .boyodo-page-booking .bo-shift-slots{gap:7px;padding:10px}
  .boyodo-page-booking .bo-shift-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:380px){.boyodo-page-booking .bo-shift-slots{grid-template-columns:1fr}}
/* Final mobile booking card pass. Keep the shift selector compact so the
   patient sees the choice before the window list, instead of a tall text
   column that looks like every slot is already expanded. */
.boyodo-page-booking .bo-shift-head{display:flex!important;align-items:center!important;gap:10px!important;min-height:68px!important;cursor:pointer!important}
.boyodo-page-booking .bo-shift-icon{flex:0 0 38px!important}
.boyodo-page-booking .bo-shift-title{flex:1 1 auto!important;min-width:0!important;display:block!important}
.boyodo-page-booking .bo-shift-title strong,.boyodo-page-booking .bo-shift-title small{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.boyodo-page-booking .bo-shift-title strong{font-size:14px!important;line-height:1.3!important}
.boyodo-page-booking .bo-shift-title small{margin-top:3px!important;line-height:1.2!important}
.boyodo-page-booking .bo-shift-status{flex:0 0 auto!important;max-width:112px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.boyodo-page-booking .bo-shift-card.is-selected .bo-shift-head{background:linear-gradient(90deg,rgba(9,151,105,.08),transparent)!important}
.boyodo-page-booking .bo-shift-card.is-selected .bo-shift-status:after{content:'  ✓';font-size:12px}
@media(max-width:380px){.boyodo-page-booking .bo-shift-status{max-width:88px!important;font-size:9px!important}.boyodo-page-booking .bo-shift-title strong{font-size:13px!important}}
/* Boyodo cinematic polish: depth and motion without changing page structure. */
.boyodo-page-home{background:
  radial-gradient(circle at 8% 7%,rgba(7,95,230,.10),transparent 24rem),
  radial-gradient(circle at 92% 20%,rgba(0,169,157,.11),transparent 26rem),
  linear-gradient(180deg,#f8fcff 0%,#edf6ff 48%,#f8fcff 100%)!important}
.boyodo-page-home .boyodo-discovery{position:relative;isolation:isolate}
.boyodo-page-home .boyodo-discovery:before,.boyodo-page-home .boyodo-discovery:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none}
.boyodo-page-home .boyodo-discovery:before{width:280px;height:280px;right:-90px;top:-80px;background:radial-gradient(circle,rgba(0,169,157,.22),transparent 68%);animation:bo-ambient-drift 9s ease-in-out infinite}
.boyodo-page-home .boyodo-discovery:after{width:220px;height:220px;left:-80px;bottom:-70px;border:1px solid rgba(7,95,230,.13);animation:bo-ambient-drift 11s ease-in-out infinite reverse}
.boyodo-page-home .boyodo-discovery-hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.42);box-shadow:0 38px 90px -46px rgba(3,43,85,.75)}
.boyodo-page-home .boyodo-discovery-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 24%,rgba(255,255,255,.12) 46%,transparent 66%);transform:translateX(-120%);animation:bo-hero-sheen 6.8s ease-in-out 1s infinite;pointer-events:none}
.boyodo-page-home .boyodo-service-grid{border:1px solid rgba(214,227,243,.75);background:rgba(255,255,255,.78);box-shadow:0 24px 70px -48px rgba(3,43,85,.7);backdrop-filter:blur(18px)}
.boyodo-page-home .boyodo-service-link>i{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 24px -17px currentColor}
.boyodo-page-home .boyodo-market-section,.boyodo-page-home .boyodo-process,.boyodo-page-home .boyodo-map-section{animation:bo-section-rise .72s cubic-bezier(.22,1,.36,1) both}
.boyodo-page-home .boyodo-market-section:nth-of-type(2){animation-delay:.08s}
.boyodo-page-home .boyodo-market-section:nth-of-type(3){animation-delay:.14s}
.boyodo-page-home .boyodo-market-doctor,.boyodo-page-home .boyodo-chamber-card,.boyodo-page-home .boyodo-process-card{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1),border-color .28s ease}
.boyodo-page-home .boyodo-market-doctor:before,.boyodo-page-home .boyodo-chamber-card:before{content:"";position:absolute;width:100px;height:100px;right:-48px;top:-52px;border-radius:50%;background:radial-gradient(circle,rgba(0,169,157,.12),transparent 70%);pointer-events:none}
.boyodo-page-home .boyodo-market-doctor:hover,.boyodo-page-home .boyodo-chamber-card:hover,.boyodo-page-home .boyodo-process-card:hover{transform:translateY(-5px);border-color:rgba(7,95,230,.28);box-shadow:0 30px 70px -38px rgba(3,43,85,.65)}
.boyodo-page-home .boyodo-primary,.boyodo-page-home .boyodo-white-cta,.boyodo-page-home .boyodo-market-doctor-action a{position:relative;overflow:hidden;isolation:isolate}
.boyodo-page-home .boyodo-primary:after,.boyodo-page-home .boyodo-white-cta:after,.boyodo-page-home .boyodo-market-doctor-action a:after{content:"";position:absolute;inset:-2px;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.38) 48%,transparent 70%);transform:translateX(-130%);transition:transform .65s cubic-bezier(.22,1,.36,1);z-index:-1}
.boyodo-page-home .boyodo-primary:hover:after,.boyodo-page-home .boyodo-white-cta:hover:after,.boyodo-page-home .boyodo-market-doctor-action a:hover:after{transform:translateX(130%)}
@keyframes bo-section-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes bo-hero-sheen{0%,62%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@keyframes bo-ambient-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-18px,14px,0)}}
@media(max-width:767px){.boyodo-page-home .boyodo-discovery:before{width:190px;height:190px;right:-70px}.boyodo-page-home .boyodo-market-doctor:hover,.boyodo-page-home .boyodo-chamber-card:hover,.boyodo-page-home .boyodo-process-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.boyodo-page-home .boyodo-discovery:before,.boyodo-page-home .boyodo-discovery:after,.boyodo-page-home .boyodo-discovery-hero:after,.boyodo-page-home .boyodo-market-section,.boyodo-page-home .boyodo-process,.boyodo-page-home .boyodo-map-section{animation:none!important}.boyodo-page-home .boyodo-market-doctor,.boyodo-page-home .boyodo-chamber-card,.boyodo-page-home .boyodo-process-card{transition:none!important}}

/* The first viewport carries the same cinematic language as the discovery band. */
.boyodo-page-home .boyodo-hero{position:relative;overflow:hidden;margin:14px auto 0;width:min(1440px,calc(100% - 28px));border-radius:36px;background:
  radial-gradient(circle at 88% 12%,rgba(0,220,198,.28),transparent 27rem),
  radial-gradient(circle at 4% 90%,rgba(47,125,255,.32),transparent 25rem),
  linear-gradient(135deg,#03182f 0%,#073f92 52%,#008f91 100%)!important;box-shadow:0 40px 100px -48px rgba(3,32,73,.85)}
.boyodo-page-home .boyodo-hero:before{content:"";position:absolute;width:390px;height:390px;right:-130px;top:-190px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 94px rgba(255,255,255,.022);animation:bo-ambient-drift 10s ease-in-out infinite;pointer-events:none}
.boyodo-page-home .boyodo-hero-copy h1,.boyodo-page-home .boyodo-hero-copy p{color:#fff!important}
.boyodo-page-home .boyodo-hero-copy p{color:rgba(230,247,255,.82)!important}
.boyodo-page-home .boyodo-eyebrow{border-color:rgba(255,255,255,.24)!important;background:rgba(255,255,255,.11)!important;color:#fff!important;backdrop-filter:blur(12px)}
.boyodo-page-home .boyodo-trust-row span{color:rgba(239,250,255,.88)!important}
.boyodo-page-home .boyodo-trust-row i{color:#70f0d6!important}
.boyodo-page-home .boyodo-search{border:1px solid rgba(255,255,255,.38)!important;background:rgba(255,255,255,.94)!important;box-shadow:0 28px 60px -30px rgba(0,0,0,.75)!important;backdrop-filter:blur(20px)}
.boyodo-page-home .bo-hv__frame{box-shadow:0 34px 70px -34px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.22)!important;transform:perspective(900px) rotateY(-4deg) rotateX(1deg)}
.boyodo-page-home .bo-hv__doc,.boyodo-page-home .bo-hv__chip{backdrop-filter:blur(18px);box-shadow:0 20px 42px -25px rgba(0,0,0,.75)!important}
@media(max-width:767px){.boyodo-page-home .boyodo-hero{width:calc(100% - 16px);margin-top:8px;border-radius:28px}.boyodo-page-home .boyodo-hero-grid{padding-top:34px!important}.boyodo-page-home .boyodo-hero-copy h1{font-size:clamp(40px,12vw,54px)!important;line-height:.98!important;letter-spacing:-2px!important}.boyodo-page-home .boyodo-search{border-radius:24px!important}.boyodo-page-home .bo-hv__frame{transform:none}}
@media(prefers-reduced-motion:reduce){.boyodo-page-home .boyodo-hero:before{animation:none!important}}

/* Mobile release guard: content-box padding on the full-width hero copy made
   the 390px layout 32px wider than its viewport. Keep the compact header and
   booking search inside the actual device width instead of merely clipping the
   overflow at body level. */
@media(max-width:767px){
  .boyodo-page>nav.boyodo-site-nav>div,
  .boyodo-page>nav.boyodo-site-nav>div>div,
  .boyodo-page .boyodo-brand-link,
  .boyodo-page .boyodo-hero-grid,
  .boyodo-page .boyodo-hero-copy,
  .boyodo-page .boyodo-search{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .boyodo-page>nav.boyodo-site-nav>div>div{
    flex-wrap:nowrap!important;
  }
  .boyodo-page .boyodo-brand-link{
    margin-left:0!important;
    flex:0 1 auto!important;
  }
  .boyodo-page .boyodo-wordmark{
    font-size:15px!important;
    letter-spacing:.16em!important;
    white-space:nowrap!important;
  }
  .boyodo-page .boyodo-header-phone,
  .boyodo-page .boyodo-cart{
    display:none!important;
  }
  .boyodo-page .boyodo-signin-btn{
    padding-inline:12px!important;
    white-space:nowrap!important;
  }
  .boyodo-page .boyodo-hero-copy{
    padding-inline:16px!important;
  }
  .boyodo-page-home .boyodo-hero-copy h1{
    max-width:100%!important;
    overflow-wrap:normal!important;
  }
}
.boyodo-auth-field{min-height:52px;display:flex;align-items:center;border:1px solid #cddde7;border-radius:14px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}.boyodo-auth-field:focus-within{border-color:#078ad0;box-shadow:0 0 0 4px rgba(7,138,208,.12)}.boyodo-auth-field>i{width:48px;text-align:center;color:#0879d4;flex:none}.boyodo-auth-field input{width:100%;min-width:0;min-height:50px;padding:12px 14px 12px 0;border:0!important;outline:0!important;background:transparent;color:#102b42;font-size:16px;box-shadow:none!important}.boyodo-auth-field.readonly{background:#f3f7fa}.boyodo-auth-field.readonly input{color:#4f6475;cursor:not-allowed}.boyodo-auth-links-single{justify-content:flex-start}.boyodo-auth-links-single a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.boyodo-auth-form input::placeholder{color:#7890a2;opacity:1}@media(prefers-reduced-motion:reduce){.boyodo-auth-field,.boyodo-primary-action{transition:none!important}.boyodo-primary-action:hover{transform:none}}

/* Preserve the complete transparent wide mark in every logo slot. */
.boyodo-logo,.boyodo-auth-logo,.booking-brand img,.login-logo{object-fit:contain!important;object-position:center!important;max-width:100%;height:auto!important;background:transparent!important}
.boyodo-auth-logo{display:block;width:min(180px,72vw);max-height:118px;margin-inline:auto}

/* Lab-first landing section: catalogue-backed cards and clear booking modes. */
.boyodo-page-home .boyodo-lab-first{margin-top:34px;padding:28px 0 8px}
.boyodo-page-home .boyodo-lab-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:18px;align-items:stretch;margin-top:14px;padding:34px 34px 26px;border-radius:30px;background:linear-gradient(115deg,#eff8ff 0%,#e4f6ff 54%,#effcf8 100%);border:1px solid #d5eaf5;box-shadow:0 24px 60px -42px rgba(5,58,105,.55);overflow:hidden}
.boyodo-page-home .boyodo-lab-hero-copy{min-width:0;align-self:center}.boyodo-page-home .boyodo-lab-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#0b72dc;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.boyodo-page-home .boyodo-lab-hero-copy h1{margin:18px 0 12px;color:#062548;font-size:clamp(38px,4.2vw,62px);line-height:.99;letter-spacing:-2.5px}.boyodo-page-home .boyodo-lab-hero-copy h1 span{color:#009b83}.boyodo-page-home .boyodo-lab-hero-copy>p{max-width:570px;margin:0;color:#4b6682;font-size:16px;line-height:1.48}.boyodo-page-home .boyodo-lab-hero-trust{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px;color:#31516f;font-size:12px;font-weight:700}.boyodo-page-home .boyodo-lab-hero-trust span{display:inline-flex;align-items:center;gap:6px}.boyodo-page-home .boyodo-lab-hero-trust i{color:#0879d4}.boyodo-page-home .boyodo-lab-hero-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.boyodo-page-home .boyodo-lab-hero-tabs a{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 13px;border:1px solid #d3e4f1;border-radius:12px;background:rgba(255,255,255,.72);color:#234667;font-size:12px;font-weight:800}.boyodo-page-home .boyodo-lab-hero-tabs a.is-active{border-color:#0b72dc;background:#0b72dc;color:#fff}.boyodo-page-home .boyodo-lab-hero-search{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.72fr) 145px;gap:8px;margin-top:12px;padding:8px;border:1px solid #cfe2ee;border-radius:17px;background:#fff;box-shadow:0 15px 35px -25px rgba(5,58,105,.5)}.boyodo-page-home .boyodo-lab-hero-search label{display:flex;align-items:center;gap:8px;min-width:0;padding:0 10px;border-right:1px solid #dbe7ef;color:#0b294d}.boyodo-page-home .boyodo-lab-hero-search input{width:100%;min-width:0;min-height:44px;border:0;background:transparent;color:#143452;font-size:13px;outline:0}.boyodo-page-home .boyodo-lab-hero-search button{min-height:48px;border:0;border-radius:12px;background:linear-gradient(135deg,#083ee7,#086eca);color:#fff;font-size:14px;font-weight:800}.boyodo-page-home .boyodo-lab-hero-art{display:flex;align-items:end;justify-content:center;min-width:0}.boyodo-page-home .boyodo-lab-hero-art img{width:100%;height:100%;max-height:360px;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}.boyodo-page-home .boyodo-lab-hero a,.boyodo-page-home .boyodo-lab-hero button{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.boyodo-page-home .boyodo-lab-hero a:hover,.boyodo-page-home .boyodo-lab-hero button:hover{transform:translateY(-2px);box-shadow:0 12px 24px -18px rgba(5,58,105,.65)}
.boyodo-page-home .boyodo-lab-first .boyodo-market-heading{align-items:end}
.boyodo-page-home .boyodo-lab-first .boyodo-market-heading p{margin:6px 0 0;color:#58708d;font-size:14px}
.boyodo-page-home .boyodo-lab-first-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}
.boyodo-page-home .boyodo-lab-first-card{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid #dce9f4;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 16px 36px -28px rgba(5,55,104,.55);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.boyodo-page-home .boyodo-lab-first-card:hover{transform:translateY(-3px);border-color:#8ecdf2;box-shadow:0 24px 44px -28px rgba(4,75,145,.55)}
.boyodo-page-home .boyodo-lab-first-logo{display:grid;place-items:center;height:64px;margin-bottom:10px;border-radius:15px;background:#f4f9fd;color:#0879d4}
.boyodo-page-home .boyodo-lab-first-logo img{max-width:90%;max-height:54px;width:auto;height:auto;object-fit:contain}
.boyodo-page-home .boyodo-lab-first-logo i{font-size:28px}
.boyodo-page-home .boyodo-lab-first-card h3{margin:0;color:#09294c;font-size:16px;line-height:1.25;font-weight:800}
.boyodo-page-home .boyodo-lab-first-verified{display:inline-flex;align-items:center;gap:5px;margin-top:7px;color:#00885f;font-size:12px;font-weight:700}
.boyodo-page-home .boyodo-lab-first-meta{display:flex;align-items:center;gap:7px;margin:10px 0 0;color:#58708d;font-size:12px;line-height:1.3}
.boyodo-page-home .boyodo-lab-first-meta i{width:16px;color:#1493a3;text-align:center}
.boyodo-page-home .boyodo-lab-first-offer{display:inline-flex;align-self:flex-start;margin:12px 0 14px;padding:6px 10px;border-radius:999px;background:#fff0f2;color:#d93c52;font-size:12px;font-weight:800}
.boyodo-page-home .boyodo-lab-first-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;margin-top:auto;padding:0 12px;border:1px solid #8fc8ee;border-radius:13px;color:#0868ca;font-size:13px;font-weight:800;transition:background .2s ease,color .2s ease}
.boyodo-page-home .boyodo-lab-first-cta:hover{background:#0868ca;color:#fff}
.boyodo-page-home .boyodo-lab-first-modes{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding:12px 14px;border:1px solid #d9eaf4;border-radius:16px;background:#f6fbff;color:#385675;font-size:13px;font-weight:700}
.boyodo-page-home .boyodo-lab-first-modes span{display:inline-flex;align-items:center;gap:7px;margin-right:10px}
.boyodo-page-home .boyodo-lab-first-modes i{color:#0795a0}
.boyodo-page-home .boyodo-lab-packages{margin-top:24px;padding:20px;border:1px solid #d9eaf4;border-radius:22px;background:linear-gradient(135deg,#f9fcff,#f1fbf8)}
.boyodo-page-home .boyodo-lab-packages-head span{color:#0879d4;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.boyodo-page-home .boyodo-lab-packages-head h3{margin:4px 0 3px;color:#09294c;font-size:22px;line-height:1.2}
.boyodo-page-home .boyodo-lab-packages-head p{margin:0;color:#58708d;font-size:13px}
.boyodo-page-home .boyodo-lab-packages-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.boyodo-page-home .boyodo-lab-package-card{position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:82px;padding:12px;border:1px solid #dbe8f1;border-radius:16px;background:#fff;color:#09294c;box-shadow:0 10px 25px -22px rgba(5,55,104,.65);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.boyodo-page-home .boyodo-lab-package-card:hover{transform:translateY(-2px);border-color:#82c6ec;box-shadow:0 15px 28px -20px rgba(5,55,104,.62)}
.boyodo-page-home .boyodo-lab-package-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:40px;padding:4px;border-radius:11px;background:#fff;color:#0b72dc;overflow:hidden;border:1px solid #e3edf4}.boyodo-page-home .boyodo-lab-package-icon img{display:block;width:100%;height:100%;object-fit:contain}.boyodo-page-home .boyodo-lab-package-icon i{display:none}
.boyodo-page-home .boyodo-lab-package-card.tone-green .boyodo-lab-package-icon{background:#e8faf3;color:#079566}.boyodo-page-home .boyodo-lab-package-card.tone-violet .boyodo-lab-package-icon{background:#f2edff;color:#6a43cc}.boyodo-page-home .boyodo-lab-package-card.tone-orange .boyodo-lab-package-icon{background:#fff3e8;color:#d36d16}
.boyodo-page-home .boyodo-lab-package-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.boyodo-page-home .boyodo-lab-package-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.boyodo-page-home .boyodo-lab-package-copy small{color:#6a8098;font-size:10px}.boyodo-page-home .boyodo-lab-package-offer{position:absolute;left:12px;bottom:8px;color:#07855f;font-size:10px;font-weight:800}.boyodo-page-home .boyodo-lab-package-arrow{margin-left:auto;color:#0879d4;font-size:12px}
.boyodo-page-home .boyodo-lab-popular{padding:24px 0 8px}.boyodo-page-home .boyodo-lab-popular-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:18px}.boyodo-page-home .boyodo-lab-popular-card{display:flex;flex-direction:column;min-width:0;min-height:160px;padding:14px;border:1px solid #dce9f4;border-radius:18px;background:#fff;box-shadow:0 14px 30px -26px rgba(5,55,104,.55);color:#102f51;transition:transform .2s ease,border-color .2s ease}.boyodo-page-home .boyodo-lab-popular-card:hover{transform:translateY(-3px);border-color:#86c8ee}.boyodo-page-home .boyodo-lab-popular-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:10px;border-radius:50%;background:#fff0f3;color:#dd5266}.boyodo-page-home .boyodo-lab-popular-card strong{font-size:13px;line-height:1.25}.boyodo-page-home .boyodo-lab-popular-card small{margin-top:6px;color:#6a8098;font-size:11px}.boyodo-page-home .boyodo-lab-popular-price{margin-top:auto;color:#0a6acb;font-size:17px;font-weight:900}.boyodo-page-home .boyodo-lab-popular-discount{display:inline-flex;align-self:flex-start;margin-top:6px;padding:4px 7px;border-radius:999px;background:#e8faf3;color:#07855f;font-size:10px;font-weight:800}
.boyodo-page-home .boyodo-hero + .boyodo-lab-hero{display:none}
@media(max-width:900px){.boyodo-page-home .boyodo-lab-first-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.boyodo-page-home .boyodo-lab-popular-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.boyodo-page-home .boyodo-lab-first{margin-top:24px;padding-top:18px}.boyodo-page-home .boyodo-lab-first .boyodo-market-heading{align-items:flex-start}.boyodo-page-home .boyodo-lab-first .boyodo-market-heading p{font-size:13px}.boyodo-page-home .boyodo-lab-first-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.boyodo-page-home .boyodo-lab-first-card{padding:12px;border-radius:17px}.boyodo-page-home .boyodo-lab-first-logo{height:52px}.boyodo-page-home .boyodo-lab-first-card h3{font-size:14px}.boyodo-page-home .boyodo-lab-first-meta{font-size:11px}.boyodo-page-home .boyodo-lab-first-modes{display:grid;grid-template-columns:1fr;gap:8px;font-size:12px}}
@media(max-width:600px){.boyodo-page-home .boyodo-lab-popular{padding-top:16px}.boyodo-page-home .boyodo-lab-popular-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.boyodo-page-home .boyodo-lab-popular-card{min-height:142px;padding:11px}.boyodo-page-home .boyodo-lab-popular-card strong{font-size:12px}.boyodo-page-home .boyodo-lab-popular-price{font-size:16px}}
@media(max-width:600px){.boyodo-page-home .boyodo-lab-packages{margin-top:18px;padding:14px;border-radius:18px}.boyodo-page-home .boyodo-lab-packages-head h3{font-size:18px}.boyodo-page-home .boyodo-lab-packages-head p{font-size:12px}.boyodo-page-home .boyodo-lab-packages-grid{display:flex;overflow-x:auto;gap:8px;padding:2px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:none}.boyodo-page-home .boyodo-lab-packages-grid::-webkit-scrollbar{display:none}.boyodo-page-home .boyodo-lab-package-card{flex:0 0 min(78vw,250px);scroll-snap-align:start;align-items:flex-start;min-height:94px;padding:10px;gap:7px}.boyodo-page-home .boyodo-lab-package-icon{flex-basis:32px;width:32px;height:32px}.boyodo-page-home .boyodo-lab-package-copy strong{font-size:11px;white-space:normal;line-height:1.2}.boyodo-page-home .boyodo-lab-package-offer{left:10px;bottom:7px;font-size:9px}.boyodo-page-home .boyodo-lab-package-arrow{font-size:10px}}
@media(max-width:767px){.boyodo-page-home .boyodo-lab-hero{grid-template-columns:1fr;gap:16px;margin-top:8px;padding:24px 16px 18px;border-radius:24px}.boyodo-page-home .boyodo-lab-hero-copy h1{font-size:clamp(37px,11vw,50px);letter-spacing:-1.8px}.boyodo-page-home .boyodo-lab-hero-copy>p{font-size:15px}.boyodo-page-home .boyodo-lab-hero-trust{gap:9px;font-size:11px}.boyodo-page-home .boyodo-lab-hero-tabs{display:grid;grid-template-columns:1fr;gap:6px}.boyodo-page-home .boyodo-lab-hero-tabs a{justify-content:center}.boyodo-page-home .boyodo-lab-hero-search{grid-template-columns:1fr;gap:5px;padding:7px}.boyodo-page-home .boyodo-lab-hero-search label{border-right:0;border-bottom:1px solid #dbe7ef}.boyodo-page-home .boyodo-lab-hero-search button{width:100%;min-height:52px}.boyodo-page-home .boyodo-lab-hero-art{max-height:220px}.boyodo-page-home .boyodo-lab-hero-art img{max-height:220px}}
@media(prefers-reduced-motion:reduce){.boyodo-page-home .boyodo-lab-package-card,.boyodo-page-home .boyodo-lab-popular-card{transition:none}.boyodo-page-home .boyodo-lab-package-card:hover,.boyodo-page-home .boyodo-lab-popular-card:hover{transform:none}.boyodo-page-home .boyodo-lab-package-card:focus-visible,.boyodo-page-home .boyodo-lab-popular-card:focus-visible{outline:3px solid #0b72dc;outline-offset:3px}}
.boyodo-page-home .boyodo-lab-package-card:focus-visible,.boyodo-page-home .boyodo-lab-popular-card:focus-visible{outline:3px solid #0b72dc;outline-offset:3px}
.boyodo-provider-strip-logo{display:grid;place-items:center;flex:0 0 82px;width:82px;height:48px;padding:5px 7px;border:1px solid #e2edf3;border-radius:11px;background:#fff;overflow:hidden}.boyodo-provider-strip-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.boyodo-provider-strip-logo i{display:none!important}.boyodo-provider-strip-copy{min-width:0}.boyodo-provider-strip-copy strong{overflow-wrap:anywhere}.boyodo-provider-strip-card>b{flex:0 0 auto}.boyodo-provider-strip-card>i:last-child{flex:0 0 auto}
@media(max-width:600px){.boyodo-provider-strip-logo{flex-basis:72px;width:72px;height:42px;padding:4px 6px}.boyodo-provider-strip-card{align-items:center}.boyodo-provider-strip-copy strong{font-size:.7rem;line-height:1.25}.boyodo-provider-strip-card>b{font-size:.58rem;padding:3px 5px}}
.boyodo-page-home .boyodo-quick-services{padding:20px 0 8px}.boyodo-page-home .boyodo-quick-services-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.boyodo-page-home .boyodo-quick-services-head span{color:#0879d4;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.boyodo-page-home .boyodo-quick-services-head h2{margin:4px 0 0;color:#09294c;font-size:22px;line-height:1.2}.boyodo-page-home .boyodo-quick-services-head a{display:inline-flex;align-items:center;gap:7px;color:#0879d4;font-size:12px;font-weight:800}.boyodo-page-home .boyodo-quick-services-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-top:14px}.boyodo-page-home .boyodo-quick-service-card{display:flex;flex-direction:column;align-items:center;min-width:0;min-height:104px;padding:12px 8px;border:1px solid #e0ebf4;border-radius:16px;background:#fff;text-align:center;color:#102f51;box-shadow:0 12px 28px -25px rgba(5,55,104,.7);transition:transform .2s ease,border-color .2s ease}.boyodo-page-home .boyodo-quick-service-card:hover{transform:translateY(-2px);border-color:#86c8ee}.boyodo-page-home .boyodo-quick-service-card>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:8px;border-radius:13px;background:#eaf4ff;color:#0879d4}.boyodo-page-home .boyodo-quick-service-card:nth-child(2n)>span{background:#e8faf3;color:#079566}.boyodo-page-home .boyodo-quick-service-card strong{font-size:12px;line-height:1.2}.boyodo-page-home .boyodo-quick-service-card small{margin-top:4px;color:#6a8098;font-size:10px;line-height:1.2}.boyodo-page-home .boyodo-quick-service-card:focus-visible{outline:3px solid #0b72dc;outline-offset:3px}
@media(max-width:900px){.boyodo-page-home .boyodo-quick-services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.boyodo-page-home .boyodo-quick-services{padding-top:14px}.boyodo-page-home .boyodo-quick-services-head h2{font-size:18px}.boyodo-page-home .boyodo-quick-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.boyodo-page-home .boyodo-quick-service-card{min-height:96px;padding:9px 4px;border-radius:13px}.boyodo-page-home .boyodo-quick-service-card>span{width:34px;height:34px;margin-bottom:6px;border-radius:10px}.boyodo-page-home .boyodo-quick-service-card strong{font-size:10px}.boyodo-page-home .boyodo-quick-service-card small{font-size:8px}}

/* Homepage hero search: a calm, DrSetu-inspired directory control while
   retaining Boyodo's real doctor query and browser geolocation handlers. */
.boyodo-page-home .boyodo-hero-copy{position:relative;z-index:2}
.boyodo-page-home .boyodo-doctor-hero-title{max-width:760px!important;margin:20px 0 16px!important;color:#fff!important;font-size:clamp(46px,5.2vw,78px)!important;line-height:.98!important;letter-spacing:-3.2px!important;font-weight:800}
.boyodo-page-home .boyodo-doctor-hero-title span{color:#1769e8!important}
.boyodo-page-home .boyodo-hero-copy h1{max-width:760px!important;font-size:clamp(46px,5.2vw,78px)!important;line-height:.98!important;letter-spacing:-3.2px!important}
.boyodo-page-home .boyodo-hero-copy h1 span{color:#1769e8!important}
.boyodo-page-home .boyodo-hero-copy>p{max-width:760px!important;color:rgba(226,242,255,.86)!important;font-size:clamp(17px,1.65vw,22px)!important;line-height:1.5!important}
.boyodo-page-home .boyodo-search{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(164px,170px)!important;grid-template-rows:auto auto;column-gap:0!important;row-gap:10px!important;align-items:center;min-height:142px;margin-top:30px!important;padding:16px!important;border:1px solid rgba(255,255,255,.55)!important;border-radius:30px!important;background:#f5f8fd!important;box-shadow:0 22px 48px -28px rgba(0,21,54,.75)!important}
.boyodo-page-home .boyodo-search label{min-width:0!important;padding:4px 10px!important}
.boyodo-page-home .boyodo-search label+label{border-left:1px solid #d6e1ef!important}
.boyodo-page-home .boyodo-search label>span{margin-bottom:10px!important;color:#536d8d!important;font-size:12px!important;letter-spacing:.09em!important}
.boyodo-page-home .boyodo-search label div{min-width:0!important;gap:6px!important}
.boyodo-page-home .boyodo-search label div>i{color:#081f3d!important;font-size:18px!important;flex:none}
.boyodo-page-home .boyodo-search input{min-width:0!important;min-height:42px!important;padding:0!important;color:#102541!important;font-size:16px!important}
.boyodo-page-home .boyodo-search input::placeholder{color:#73839a!important;opacity:1!important}
.boyodo-page-home .boyodo-search select{width:100%;min-width:0;min-height:42px;padding:0;border:0;background:transparent;color:#102541;font-size:15px;outline:0;cursor:pointer}
.boyodo-page-home .boyodo-lab-hero-search select{width:100%;min-width:0;min-height:44px;padding:0 4px;border:0;background:transparent;color:#143452;font-size:13px;outline:0;cursor:pointer}
.byd-search-field select[name="address"]{width:100%;min-width:0;min-height:44px;padding:0 8px 0 38px;border:1px solid #d6e3f3;border-radius:14px;background:#fff;color:#143452;font-size:15px;outline:0;cursor:pointer}
.boyodo-page-home .boyodo-search button[type=submit]{grid-column:3;grid-row:1;min-height:58px!important;border-radius:20px!important;padding:0 14px!important;font-size:15px!important;white-space:nowrap}
.boyodo-page-home .boyodo-search .bo-geo{grid-column:3;grid-row:2;justify-self:stretch;width:100%!important;min-height:48px!important;border-radius:17px!important;background:#fff!important;border-color:#acd7f3!important;color:#0b64cf!important;font-size:14px!important}
.boyodo-page-home .boyodo-search .bo-geo:hover{background:#f4fbff!important;border-color:#0b7de0!important}
.boyodo-page-home .boyodo-trust-row{position:relative;z-index:1}
@media(max-width:767px){
  .boyodo-page-home .boyodo-doctor-hero-title{font-size:clamp(40px,12vw,56px)!important;line-height:.98!important;letter-spacing:-2px!important}
  .boyodo-page-home .boyodo-hero-copy h1{font-size:clamp(40px,12vw,56px)!important;line-height:.98!important;letter-spacing:-2px!important}
  .boyodo-page-home .boyodo-search{grid-template-columns:1fr!important;grid-template-rows:none!important;row-gap:8px!important;min-height:0!important;padding:14px!important;border-radius:24px!important}
  .boyodo-page-home .boyodo-search label{padding:8px 10px!important}
  .boyodo-page-home .boyodo-search label+label{border-left:0!important;border-top:1px solid #d6e1ef!important;padding-top:14px!important}
  .boyodo-page-home .boyodo-search button[type=submit],.boyodo-page-home .boyodo-search .bo-geo{grid-column:1;grid-row:auto!important;width:100%!important}
  .boyodo-page-home .boyodo-search button[type=submit]{min-height:58px!important;border-radius:18px!important}
}
@media(min-width:768px) and (max-width:1100px){
  .boyodo-page-home .boyodo-hero-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .boyodo-page-home .boyodo-hero-visual{width:min(100%,560px);margin-inline:auto}
  .boyodo-page-home .boyodo-search{grid-template-columns:minmax(0,1fr) minmax(190px,.8fr)!important;grid-template-rows:auto auto auto;min-height:0!important}
  .boyodo-page-home .boyodo-search label:first-of-type{grid-column:1/-1;grid-row:1}
  .boyodo-page-home .boyodo-search label+label{grid-column:1;grid-row:2;border-left:0!important}
  .boyodo-page-home .boyodo-search button[type=submit]{grid-column:2;grid-row:2}
  .boyodo-page-home .boyodo-search .bo-geo{grid-column:2;grid-row:3}
}

/* Production document-root sync: keep the content hash tied to this dashboard fix. */

/* Bengali-supported doctor showcase. English headings and actions keep the
   public UI familiar; Bengali supporting copy makes the doctor details easier
   to scan for local families without changing the server-owned data. */
.boyodo-page-home .bo-doctor-showcase{
  position:relative;
  overflow:hidden;
  margin-top:42px;
  padding:32px;
  border:1px solid #cfe3ef;
  border-radius:30px;
  background:linear-gradient(135deg,#eff8ff 0%,#ffffff 52%,#effcf8 100%);
  box-shadow:0 22px 56px -36px rgba(8,67,113,.48);
}
.boyodo-page-home{overflow-x:hidden}
.boyodo-page-home .bo-doctor-showcase:before{
  position:absolute;
  top:-110px;
  right:-70px;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(20,184,166,.12);
  content:"";
  pointer-events:none;
}
.boyodo-page-home .bo-doctor-showcase>*{position:relative;z-index:1}
.boyodo-page-home .bo-doctor-showcase .boyodo-market-heading{align-items:flex-start;margin-bottom:14px}
.boyodo-page-home .bo-doctor-showcase .boyodo-market-heading h2{margin-top:3px;color:#092844;font-size:clamp(26px,3vw,38px);letter-spacing:-1.2px}
.bo-doctor-showcase__bn{
  max-width:700px;
  margin:9px 0 0;
  color:#45677a;
  font-family:"Noto Sans Bengali","Nirmala UI",sans-serif;
  font-size:15px;
  line-height:1.72;
}
.bo-doctor-showcase__trust{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 12px}
.bo-doctor-showcase__trust span{display:inline-flex;min-height:36px;align-items:center;gap:7px;padding:7px 12px;border:1px solid #cfe5ed;border-radius:999px;background:rgba(255,255,255,.8);color:#285873;font-size:12px;font-weight:800}
.bo-doctor-showcase__trust i{color:#07966e}
.boyodo-page-home .bo-doctor-showcase .bo-doc-list{gap:13px;margin-top:4px}
.boyodo-page-home .bo-doctor-showcase .bo-doc{padding:15px;border-color:#d5e7ef;border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 8px 24px -22px rgba(8,67,113,.65)}
.boyodo-page-home .bo-doctor-showcase .bo-doc:hover{border-color:#82c7df;box-shadow:0 18px 32px -24px rgba(8,67,113,.62);transform:translateY(-2px)}
.boyodo-page-home .bo-doctor-showcase .bo-doc__spec-bn{margin:4px 0 0;color:#087d74;font-family:"Noto Sans Bengali","Nirmala UI",sans-serif;font-size:13px;font-weight:700;line-height:1.45}
.boyodo-page-home .bo-doctor-showcase .bo-doc__bn-detail{display:block;margin-top:5px;color:#5b7180;font-family:"Noto Sans Bengali","Nirmala UI",sans-serif;font-size:12px;line-height:1.45}
.boyodo-page-home .bo-doctor-showcase .bo-doc__fee{background:#eef9f7}
.boyodo-page-home .boyodo-discovery{overflow:hidden}
.boyodo-page-home .boyodo-discovery{margin-top:18px!important}
.boyodo-facility{display:flex;align-items:flex-start;gap:6px;margin-top:6px;color:#087d74;font-size:11px;line-height:1.45}
.boyodo-facility i{flex:0 0 auto;margin-top:2px}
.boyodo-clinic-banner__facilities{margin:10px 0;padding:10px 12px;border:1px solid #d3ebe5;border-radius:14px;background:#f2fbf8;color:#244663}
.boyodo-clinic-banner__facilities>strong{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:#087d74;font-size:12px}
.boyodo-clinic-banner__facilities>strong span{font-family:"Noto Sans Bengali","Nirmala UI",sans-serif;font-size:12px;font-weight:600}
.boyodo-clinic-banner__facilities ul{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none}
.boyodo-clinic-banner__facilities li{padding:5px 9px;border:1px solid #dcebe7;border-radius:999px;background:#fff;color:#31586b;font-size:11px;line-height:1.35}
@media(max-width:767px){.boyodo-page-home .boyodo-discovery{margin-top:14px!important}.boyodo-clinic-banner__facilities{margin:8px 0;padding:9px 10px}.boyodo-clinic-banner__facilities ul{gap:5px}.boyodo-clinic-banner__facilities li{font-size:10px}}
@media(max-width:699px){
  .boyodo-page-home .bo-doctor-showcase{width:calc(100% - 24px);margin-top:30px;padding:22px 14px;border-radius:24px}
  .boyodo-page-home .bo-doctor-showcase .boyodo-market-heading{gap:12px}
  .boyodo-page-home .bo-doctor-showcase .boyodo-market-heading h2{font-size:26px}
  .bo-doctor-showcase__bn{font-size:14px;line-height:1.7}
  .bo-doctor-showcase__trust{gap:7px;margin-top:13px}
  .bo-doctor-showcase__trust span{font-size:11px;padding:6px 9px}
  .boyodo-page-home .bo-doctor-showcase .bo-doc-list{display:flex!important;gap:10px!important;margin-inline:-2px!important;padding:2px 2px 12px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important}
  .boyodo-page-home .bo-doctor-showcase .bo-doc-list::-webkit-scrollbar{display:none}
  .boyodo-page-home .bo-doctor-showcase .bo-doc{flex:0 0 min(306px,calc(100vw - 54px))!important;min-width:0!important;scroll-snap-align:start!important}
}
@media(prefers-reduced-motion:reduce){.boyodo-page-home .bo-doctor-showcase .bo-doc{transform:none!important;transition:none!important}}

/* One persistent lab entry point keeps the lab-first homepage actionable after
   the duplicate popular-tests rail was removed. It clears the mobile bottom
   navigation and remains a 48px touch target. */
.boyodo-page-home .bo-lab-float{position:fixed;right:20px;bottom:22px;z-index:110;display:inline-flex;min-height:50px;align-items:center;gap:9px;padding:0 17px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:linear-gradient(135deg,#075de8,#0891b2);box-shadow:0 16px 30px -16px rgba(3,68,128,.8);color:#fff;font-size:13px;font-weight:800;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.boyodo-page-home .bo-lab-float i{font-size:17px}.boyodo-page-home .bo-lab-float:hover,.boyodo-page-home .bo-lab-float:focus-visible{color:#fff;transform:translateY(-2px);box-shadow:0 20px 34px -15px rgba(3,68,128,.9);text-decoration:none}
.bo-mobile-break{display:none}
@media(max-width:767px){.boyodo-page-home .bo-lab-float{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));min-height:48px;padding-inline:15px}.boyodo-page-home .bo-lab-float span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.boyodo-page-home .bo-lab-float{transition:none}}

/* Last-cascade mobile guard: prevent the legacy Tailwind header from pushing
   the sign-in action outside a 360-430px viewport. */
@media(max-width:767px){
  .boyodo-page>nav.boyodo-site-nav>div,
  .boyodo-page>nav.boyodo-site-nav>div>div{width:100%!important;min-width:0!important;box-sizing:border-box!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-brand-link{min-width:0!important;max-width:calc(100% - 132px)!important;overflow:hidden!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-wordmark{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-header-phone{display:none!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-signin-btn{min-width:76px!important;max-width:86px!important;padding-inline:10px!important;font-size:12px!important;white-space:nowrap!important}
  .boyodo-page-home .boyodo-lab-hero-copy h1{max-width:100%!important;overflow-wrap:anywhere!important;word-break:normal!important}
  .boyodo-page-home .boyodo-lab-hero-trust{max-width:100%!important;overflow:visible!important}
  .boyodo-page-home .boyodo-lab-hero{box-sizing:border-box!important;width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin-inline:auto!important}
  .boyodo-page>nav.boyodo-site-nav>div>div>div:nth-child(2){min-width:0!important;flex:0 0 auto!important;margin-left:auto!important}
  .boyodo-page>nav.boyodo-site-nav>div>div{position:relative!important}
  .boyodo-page>nav.boyodo-site-nav>div>div>div:nth-child(2){position:absolute!important;right:52px!important;top:8px!important}
  .boyodo-page>nav.boyodo-site-nav>div>div>button[data-collapse-toggle]{position:absolute!important;right:0!important;top:8px!important;margin:0!important}
  .boyodo-page-home .boyodo-lab-hero-copy h1{max-width:300px!important;font-size:34px!important;line-height:1.06!important;letter-spacing:-1px!important}
  .boyodo-page-home .boyodo-lab-hero-copy>p{max-width:300px!important}
  .boyodo-page-home .boyodo-lab-hero-trust{max-width:300px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 10px!important}
  .boyodo-page-home .bo-mobile-break{display:block!important}
}

/* Keep the doctor-first homepage hero inside narrow phone viewports. The
   copy has horizontal padding of its own, so border-box sizing is essential
   here: otherwise its search card grows beyond the available viewport. */
@media(max-width:767px){
  .boyodo-page-home .boyodo-hero-grid,
  .boyodo-page-home .boyodo-hero-copy,
  .boyodo-page-home .boyodo-search,
  .boyodo-page-home .boyodo-search label,
  .boyodo-page-home .boyodo-search label div,
  .boyodo-page-home .boyodo-search button{
    box-sizing:border-box!important;
    min-width:0!important;
  }
  .boyodo-page-home .boyodo-hero-copy{width:100%!important}
  .boyodo-page-home .boyodo-hero-copy h1,
  .boyodo-page-home .boyodo-hero-copy>p{
    width:100%!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  .boyodo-page-home .boyodo-hero-copy h1.boyodo-doctor-hero-title{
    font-size:clamp(36px,10vw,44px)!important;
    line-height:1.02!important;
    letter-spacing:-1.5px!important;
  }
  .boyodo-page-home .boyodo-hero-copy>p{font-size:16px!important;line-height:1.65!important}
  .boyodo-page-home .boyodo-search{width:100%!important}
  .boyodo-page-home .boyodo-search label div{width:100%!important}
  .boyodo-page-home .boyodo-search input,
  .boyodo-page-home .boyodo-search select{width:100%!important;max-width:100%!important}
  .boyodo-page-home .boyodo-search button[type=submit]{max-width:100%!important}
}

/* Final mobile geometry: use the hero's true viewport width, then keep the
   copy padding inside that width. Keep the primary heading explicitly wrapped. */
.boyodo-page-home .boyodo-search select{font-size:14px!important}
@media(max-width:767px){
  .boyodo-page-home .boyodo-hero-grid{
    width:100%!important;
    max-width:100%!important;
    padding-inline:0!important;
    box-sizing:border-box!important;
  }
  .boyodo-page-home .boyodo-hero-copy{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding-inline:16px!important;
  }
  .boyodo-page-home .boyodo-doctor-hero-title{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .boyodo-page-home .boyodo-search{
    display:grid!important;
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
  }
  .boyodo-page-home .boyodo-search select{font-size:16px!important}
}

/* Keep mobile actions available without floating over forms and booking data.
   The PWA prompt remains accessible at the end of the page; the assistant is
   launched from the main menu on phones instead of covering primary actions. */
.boyodo-menu-grid .boyodo-menu-assistant{
  display:flex;
  width:100%;
  min-height:64px;
  align-items:center;
  gap:12px;
  padding:11px 13px;
  border:1px solid #dbe7f1;
  border-radius:15px;
  background:#fff;
  color:#102b49;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease;
}
.boyodo-menu-grid .boyodo-menu-assistant:hover,
.boyodo-menu-grid .boyodo-menu-assistant:focus-visible{border-color:#69b9dd;background:#f4fbff}
.boyodo-menu-grid .boyodo-menu-assistant>i{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border-radius:12px;background:#e8f6ff;color:#0879d4;font-size:17px}
.boyodo-menu-grid .boyodo-menu-assistant>span{display:flex;min-width:0;flex-direction:column;gap:3px}
.boyodo-menu-grid .boyodo-menu-assistant strong{font-size:14px;line-height:1.25}
.boyodo-menu-grid .boyodo-menu-assistant small{color:#577087;font-size:12px;line-height:1.35}

.boyodo-offers-empty{display:flex;min-height:240px;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:0 auto;padding:28px;border:1px solid #dceaf2;border-radius:24px;background:linear-gradient(145deg,#fff,#f2fbff);box-shadow:0 18px 40px -32px rgba(7,66,108,.5);text-align:center}
.boyodo-offers-empty__icon{display:grid;width:52px;height:52px;place-items:center;border-radius:16px;background:#e6f6f5;color:#078f87;font-size:21px}
.boyodo-offers-empty h2{margin:2px 0 0;color:#09294c;font-size:22px;line-height:1.25;font-weight:800}
.boyodo-offers-empty p{max-width:520px;margin:0;color:#526d82;font-size:15px;line-height:1.6}
.boyodo-offers-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}
.boyodo-offers-empty__actions a{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid #b9d9e9;border-radius:13px;background:#fff;color:#075dc7;font-weight:800;text-decoration:none}
.boyodo-offers-empty__actions a:first-child{border-color:#075dc7;background:#075dc7;color:#fff}

@media(max-width:767px){
  .boyodo-install-banner{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:min(420px,calc(100% - 24px))!important;
    max-width:420px!important;
    margin:14px auto 96px!important;
    box-sizing:border-box!important;
    z-index:1!important;
  }
  body.boyodo-has-install-banner{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
  .boyodo-page .boyodo-support-fab{display:none!important}
  .boyodo-page .boyodo-support-chat,
  body.boyodo-has-install-banner.boyodo-page .boyodo-support-chat{right:14px!important;bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
  .boyodo-page-home .bo-lab-float{right:14px!important;bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
  .boyodo-offers-empty{min-height:0;padding:22px 16px;border-radius:20px}
  .boyodo-offers-empty h2{font-size:20px}
  .boyodo-offers-empty p{font-size:14px}
  .boyodo-offers-empty__actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}
  .boyodo-offers-empty__actions a{width:100%;box-sizing:border-box}
}

/* Keep one clear lab-booking entry point visible in the shared site header. */
.boyodo-lab-nav-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 11px;border:1px solid #bfe4e4;border-radius:13px;background:#effafa;color:#087c87;font-size:12px;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap}
.boyodo-lab-nav-link:hover,.boyodo-lab-nav-link:focus-visible{border-color:#67c5c3;background:#e5f7f6;color:#075f67;text-decoration:none}
.boyodo-lab-nav-link i{font-size:15px}
@media(max-width:380px){.boyodo-lab-nav-link{width:44px;min-width:44px;padding:0;gap:0}.boyodo-lab-nav-link span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.boyodo-lab-nav-link i{font-size:17px}}
@media(max-width:767px){
  .boyodo-page>nav.boyodo-site-nav>div>div>div:nth-child(2){position:static!important;top:auto!important;right:auto!important;flex:0 0 auto!important;margin-left:auto!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-lab-nav-link+button[data-collapse-toggle]{position:static!important;top:auto!important;right:auto!important;flex:0 0 46px!important;margin-left:0!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-brand-link{gap:3px!important}
  .boyodo-page>nav.boyodo-site-nav .boyodo-wordmark{font-size:14px!important;letter-spacing:.1em!important}
}

/* Keep specialty-card actions readable at compact card widths and keyboard-visible. */
.boyodo-page-home .boyodo-speciality-card__cta{
  display:inline-flex!important;
  width:100%!important;
  min-height:44px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  margin-top:4px!important;
  padding:0 8px!important;
  border:1px solid #d5e8f7!important;
  border-radius:13px!important;
  background:#eff7ff!important;
  color:#075dc7!important;
  font-size:12px!important;
  font-weight:750!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
.boyodo-page-home .boyodo-speciality-card button:focus-visible{
  outline:3px solid rgba(8,114,208,.52)!important;
  outline-offset:3px!important;
}
.boyodo-page-home .boyodo-speciality-card button:focus-visible .boyodo-speciality-card__cta{
  border-color:#0b72d0!important;
  background:#e5f2ff!important;
}
@media(prefers-reduced-motion:reduce){
  .boyodo-page-home .boyodo-speciality-card button{transition:none!important}
}

/* Home: keep doctor discovery clear and compact on narrow screens. */
@media(max-width:767px){
  .boyodo-page-home .boyodo-hero-grid{padding-top:24px!important;gap:16px!important}
  .boyodo-page-home .boyodo-doctor-hero-title{
    max-width:12ch!important;
    margin:14px 0 10px!important;
    font-size:clamp(36px,9.2vw,42px)!important;
    line-height:1.04!important;
    letter-spacing:-1.2px!important;
    overflow-wrap:normal!important;
  }
  .boyodo-page-home .boyodo-hero-copy>p{font-size:14px!important;line-height:1.55!important}
  .boyodo-page-home .boyodo-search{margin-top:16px!important;row-gap:5px!important;padding:12px!important}
  .boyodo-page-home .boyodo-search label{padding:5px 8px!important}
  .boyodo-page-home .boyodo-search label>span{margin-bottom:5px!important}
  .boyodo-page-home .boyodo-search input,.boyodo-page-home .boyodo-search select{min-height:40px!important}
  .boyodo-page-home .boyodo-search .bo-geo{min-height:46px!important}
  .boyodo-page-home .boyodo-search button[type=submit]{min-height:50px!important}
  .boyodo-page-home .boyodo-trust-row{margin-top:12px!important;gap:8px 12px!important;font-size:11px!important}
  .boyodo-page-home .bo-hv{margin-top:14px!important;padding:10px!important;gap:8px!important;border-radius:22px!important}
  .boyodo-page-home .bo-hv__frame{aspect-ratio:16/10!important;border-radius:17px!important}
  .boyodo-page-home .bo-hv__doc{gap:3px!important;padding:10px 12px!important}

  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-rail{
    display:flex!important;
    grid-auto-flow:unset!important;
    grid-template-rows:none!important;
    grid-auto-columns:unset!important;
    gap:10px!important;
    margin-inline:-12px!important;
    padding:4px 12px 14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-rail::-webkit-scrollbar{display:none}
  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-card{
    flex:0 0 148px!important;
    width:148px!important;
    min-width:148px!important;
    scroll-snap-align:start!important;
  }
  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-card button{
    min-height:190px!important;
    gap:7px!important;
    padding:11px 9px!important;
    border-radius:18px!important;
  }
  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-art{
    width:48px!important;height:48px!important;border-radius:15px!important;
  }
  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-art img{
    width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;
  }
  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-card strong{
    min-height:2.5em!important;font-size:12px!important;line-height:1.2!important;
  }
  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-card__bn{
    min-height:1.25em!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11px!important;
  }
  .boyodo-page-home .boyodo-market-section[aria-labelledby="popular-specialities"] .boyodo-speciality-card__cta{
    min-height:44px!important;margin-top:1px!important;padding-inline:4px!important;font-size:11px!important;
  }

  .boyodo-page-home .bo-doctor-showcase .bo-doc-list{
    display:grid!important;
    grid-auto-flow:row!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-columns:auto!important;
    grid-auto-rows:auto!important;
    gap:10px!important;
    margin-inline:0!important;
    padding:2px 0 10px!important;
    overflow:visible!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .boyodo-page-home .bo-hv,
  .boyodo-page-home .bo-hv__frame,
  .boyodo-page-home .boyodo-speciality-card button{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
/* Keep the homepage hero visually anchored to the header instead of letting
   accumulated legacy top padding push the primary booking action down. */
@media(min-width:768px){
  body.boyodo-page-home .boyodo-hero{
    margin-top:0!important;
    padding-top:clamp(20px,3vw,38px)!important;
  }
}
@media(max-width:767px){
  body.boyodo-page-home .boyodo-hero{
    margin-top:0!important;
    padding-top:14px!important;
  }
}
