/* ==========================================================================
   BFD section kit — the shared look of every .sf library section, the header and footer
   designs, the blog templates and the plugin's widgets (booking, YouTube, reviews).

   Every colour, font, width and rounding comes from BFD Site → Settings → Design
   (Settings\Design::css() prints the --color-* / --font-* / --site-width / --radius
   variables), so one theme serves any site: change the Design tab and the whole site follows.
   The --sf-* names are what section templates use; they are only aliases of those values.
   ========================================================================== */
:root{
  --sf-green:var(--color-primary,#2f9a5c);
  --sf-green-d:var(--color-primary-deep,#237a48);
  --sf-mint:var(--color-primary-soft,#e9f6ee);
  --sf-navy:var(--color-secondary,#173a4f);
  --sf-ink:var(--color-secondary-dark,#0e2433);
  --sf-navy-2:var(--color-secondary-light,#1f4c66);
  --sf-sky:var(--color-tint,#f2f7fa);
  --sf-line:var(--color-line,#dce6ec);
  --sf-muted:var(--color-secondary-muted,#587083);
  --sf-text:var(--color-text,#24394a);
  --sf-gold:#f2b33d;
  --sf-shadow:0 1px 2px color-mix(in srgb,var(--sf-ink) 5%,transparent),0 12px 32px color-mix(in srgb,var(--sf-ink) 8%,transparent);
  --sf-shadow-lg:0 24px 60px color-mix(in srgb,var(--sf-ink) 16%,transparent);
  --sf-radius:var(--radius,18px);
  --sf-f:var(--font-body,system-ui,sans-serif);
  --sf-f-h:var(--font-heading,system-ui,sans-serif);
  /* Soft brand rings and edges, worked out from the brand colour. */
  --sf-green-edge:color-mix(in srgb,var(--sf-green) 22%,#fff);
}
html{scroll-behavior:smooth}
/* "html body" so the base size wins over the Design tab's post text size (that one is for posts). */
html body{overflow-x:hidden;font-family:var(--sf-f);background:var(--color-bg,#fff);color:var(--sf-ink);line-height:1.75;font-size:calc(var(--site-text-size,16px) + .5px);-webkit-font-smoothing:antialiased}
@media(max-width:859px){body{padding-bottom:66px}}

.sf,.sf *{box-sizing:border-box}
.sf h1,.sf h2,.sf h3,.sf h4,.sf p,.sf ul,.sf figure{margin:0;padding:0}
.sf h1,.sf h2,.sf h3,.sf h4{font-family:var(--sf-f-h);line-height:1.25;font-weight:700;color:inherit;letter-spacing:-.005em}
.sf h2{font-size:clamp(26px,4.4vw,38px)}
.sf h3{font-size:19px}
.sf p{color:var(--sf-text)}
.sf a{color:inherit;text-decoration:none}
.sf img,.sf video{max-width:100%;height:auto;display:block}
.sf ul{list-style:none}
.sf .wrap{width:100%;max-width:var(--site-width,1160px);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.sf.sec{padding:84px 0}
@media(max-width:700px){.sf.sec{padding:58px 0}}
.sf.tint{background:var(--sf-sky)}
.sf.mint{background:var(--sf-mint)}
.sf .head{max-width:720px;margin-bottom:38px}
.sf .head.center{margin-left:auto;margin-right:auto;text-align:center}
.sf .lead{font-size:17.5px;color:var(--sf-muted);margin-top:12px}
.sf .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--sf-green-d);background:var(--sf-mint);border:1px solid var(--sf-green-edge);border-radius:999px;padding:5px 14px 5px 10px;margin-bottom:14px}
.sf .eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sf-green);box-shadow:0 0 0 0 color-mix(in srgb,var(--sf-green) 50%,transparent);animation:sf-ping 1.8s ease-out infinite}
@keyframes sf-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--sf-green) 45%,transparent)}80%,100%{box-shadow:0 0 0 9px color-mix(in srgb,var(--sf-green) 0%,transparent)}}
@media (prefers-reduced-motion:reduce){.sf .eyebrow:before{animation:none}}
.sf .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.sf .center .btns,.sf .btns.center{justify-content:center}
.sf .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:13px 24px;font-size:15.5px;font-weight:700;border:1.5px solid transparent;cursor:pointer;font-family:inherit;line-height:1.35;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.sf .btn:hover{transform:translateY(-1px)}
.sf .btn svg{width:18px;height:18px;flex:none}
.sf .btn-p{background:var(--sf-navy);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--sf-navy) 22%,transparent)}
.sf .btn-p:hover{background:var(--sf-ink);color:#fff}
.sf .btn-g{background:var(--sf-green);color:#fff;box-shadow:0 10px 24px color-mix(in srgb,var(--sf-green) 25%,transparent)}
.sf .btn-g:hover{background:var(--sf-green-d);color:#fff}
.sf .btn-o{background:#fff;color:var(--sf-navy);border-color:var(--sf-line)}
.sf .btn-o:hover{border-color:var(--sf-navy)}
.sf .btn-w{background:#fff;color:var(--sf-navy)}
.sf .card{background:#fff;border:1px solid var(--sf-line);border-radius:var(--sf-radius);box-shadow:var(--sf-shadow);min-width:0;overflow-wrap:anywhere}
.sf .rich p+p,.sf .rich p+ul,.sf .rich ul+p{margin-top:12px}
.sf .rich strong{color:var(--sf-ink)}

/* Social icons used in several sections and the footer */
.sf .social{display:flex;flex-wrap:wrap;gap:10px}
.sf .social a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--sf-line);color:var(--sf-navy);transition:.15s}
.sf .social a:hover{background:var(--sf-navy);color:#fff;border-color:var(--sf-navy)}
.sf .social svg{width:19px;height:19px}

/* Forms (BFD Forms) inside .sf sections */
.sf .cms-form-grid{gap:14px}
.sf .cms-field label,.sf .cms-label{font-family:var(--sf-f);font-weight:600;font-size:14.5px;color:var(--sf-ink)}
/* Required marks stay red whatever the brand colour is. */
.sf .cms-required{color:#ec3013}
.sf .cms-input{width:100%;font:inherit;font-size:15.5px;border:1.5px solid var(--sf-line);border-radius:12px;padding:12px 14px;background:#fff;color:var(--sf-ink)}
.sf .cms-input:focus{border-color:var(--sf-green);box-shadow:0 0 0 4px color-mix(in srgb,var(--sf-green) 12%,transparent);outline:none}
.sf .cms-check{display:flex;gap:9px;align-items:flex-start;font-size:15px;margin:4px 0;cursor:pointer}
.sf .cms-check input{margin-top:6px;accent-color:var(--sf-green)}
.sf .cms-form-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:6px;border:0;border-radius:999px;padding:15px 26px;font:inherit;font-weight:700;font-size:16.5px;background:var(--sf-green);color:#fff;cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--sf-green) 25%,transparent)}
.sf .cms-form-submit:hover{background:var(--sf-green-d)}
.sf .cms-form-done{background:var(--sf-mint);border:1px solid var(--sf-green-edge);color:var(--sf-green-d);font-weight:600;border-radius:12px;padding:14px 16px;margin:0 0 16px}
.sf .cms-form-alert,.sf .cms-error{color:#b42318}
.sf .cms-form-alert{background:#fef3f2;border:1px solid #fecdca;border-radius:12px;padding:12px 16px;margin:0 0 14px}
.sf .cms-choices{display:flex;flex-wrap:wrap;gap:4px 18px}

/* Video pop-up shared by the services list (built by its script) */
.sf-modal{position:fixed;inset:0;z-index:9999;background:rgba(8,20,29,.82);display:none;align-items:center;justify-content:center;padding:20px}
.sf-modal.open{display:flex}
.sf-modal-box{position:relative;width:min(960px,100%)}
.sf-modal-frame{position:relative;padding-top:56.25%;background:#000;border-radius:14px;overflow:hidden}
.sf-modal-frame iframe,.sf-modal-frame img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:contain}
.sf-modal-title{color:#fff;font-weight:700;margin-top:12px;font-size:16px}
.sf-modal-close{position:absolute;top:-46px;right:0;width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:var(--sf-ink);font-size:22px;line-height:1;cursor:pointer}
.sf-modal-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:22px;cursor:pointer}
.sf-modal-nav.prev{left:-8px}.sf-modal-nav.next{right:-8px}
@media(min-width:1040px){.sf-modal-nav.prev{left:-60px}.sf-modal-nav.next{right:-60px}}

/* Blog posts and plain pages (theme templates) in the same look */
body:not(.page-template-default) .single .page-title,.single .page-title{font-family:var(--sf-f-h)}
.single.container{max-width:820px}
.single .page-title{font-size:clamp(26px,4.5vw,40px);color:var(--sf-ink);line-height:1.3}
.single .entry-meta{color:var(--sf-muted)}
.single .entry-thumb img{border-radius:var(--sf-radius);width:100%}
/* The Design tab's "Reading text size" is the post text, a step above the base text. */
.single .entry-content{font-size:calc(var(--site-text-size,16px) + 1.5px);color:var(--sf-text);line-height:1.85}
.single .entry-content h2,.single .entry-content h3,.single .entry-content h4{font-family:var(--sf-f-h);color:var(--sf-navy);margin-top:1.6em}
.single a,.breadcrumbs a{color:var(--sf-green-d)}
.related .section__title{font-family:var(--sf-f-h)}
.card-grid .card{border-radius:var(--sf-radius);overflow:hidden}

/* Icons, drawn in currentColor (so a field can pick the icon by name) */
.sf .ico,.sf-ico{display:inline-block;width:19px;height:19px;flex:none;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;vertical-align:middle}
.ico-facebook{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 21v-7.5h2.6l.4-3h-3V8.6c0-.9.3-1.5 1.5-1.5h1.6V4.4a21 21 0 0 0-2.4-.1c-2.3 0-3.9 1.4-3.9 4v2.2H7.7v3h2.6V21Z'/%3E%3C/svg%3E")}
.ico-youtube{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.5 7.2a2.8 2.8 0 0 0-2-2C18.8 4.8 12 4.8 12 4.8s-6.8 0-8.5.4a2.8 2.8 0 0 0-2 2A29 29 0 0 0 1 12a29 29 0 0 0 .5 4.8 2.8 2.8 0 0 0 2 2c1.7.4 8.5.4 8.5.4s6.8 0 8.5-.4a2.8 2.8 0 0 0 2-2A29 29 0 0 0 23 12a29 29 0 0 0-.5-4.8ZM9.8 15V9l5.7 3Z'/%3E%3C/svg%3E")}
.ico-tiktok{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.6 5.8A4.3 4.3 0 0 1 15.5 3h-3.1v12.4a2.6 2.6 0 1 1-2.6-2.6c.3 0 .5 0 .8.1V9.7a5.8 5.8 0 1 0 5 5.7V9.1a7.4 7.4 0 0 0 4.3 1.4V7.4a4.3 4.3 0 0 1-3.3-1.6Z'/%3E%3C/svg%3E")}
.ico-whatsapp{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15l-1.3 4.7 4.8-1.3A10 10 0 1 0 12 2zm5.8 14.2c-.2.7-1.4 1.3-2 1.4-.5.1-1.1.1-1.8-.1-.4-.1-1-.3-1.7-.6-3-1.3-4.9-4.3-5-4.5-.2-.2-1.2-1.6-1.2-3s.7-2.1 1-2.4c.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.3 0 .5l-.4.5-.3.3c-.1.1-.2.3 0 .5.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.3 2.4 1.5.2.1.4.1.5-.1l.7-.9c.2-.2.3-.2.5-.1l2 1c.2.1.4.2.4.3.1.1.1.6-.1 1.4z'/%3E%3C/svg%3E")}
.ico-map{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7Zm0 9.6A2.6 2.6 0 1 1 12 6.4a2.6 2.6 0 0 1 0 5.2Z'/%3E%3C/svg%3E")}
.ico-phone{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.2 15.2 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1Z'/%3E%3C/svg%3E")}
.ico-play{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5.1v13.8a.8.8 0 0 0 1.2.7l10.9-6.9a.8.8 0 0 0 0-1.4L9.2 4.4A.8.8 0 0 0 8 5.1Z'/%3E%3C/svg%3E")}
.ico-hospital{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 21V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16h1v1H3v-1Zm6.5-13v2.5H8v2h2.5V15h2v-2.5H15v-2h-2.5V8ZM10 21h4v-3h-4Z'/%3E%3C/svg%3E")}
.ico-check{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.4 14.2-4.1-4.1 1.4-1.4 2.7 2.7 5.6-5.6 1.4 1.4Z'/%3E%3C/svg%3E")}
.ico-arrow{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.2 5.3 19.9 12l-6.7 6.7-1.4-1.4 4.3-4.3H4v-2h12.1l-4.3-4.3Z'/%3E%3C/svg%3E")}
.ico-link{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.6 13.4a1 1 0 0 1 0-1.4l3.5-3.5a1 1 0 1 1 1.4 1.4L12 13.4a1 1 0 0 1-1.4 0ZM8.5 20a4.5 4.5 0 0 1-3.2-7.7l2.1-2.1 1.4 1.4-2.1 2.1a2.5 2.5 0 0 0 3.5 3.5l2.1-2.1 1.4 1.4-2.1 2.1A4.5 4.5 0 0 1 8.5 20Zm8.1-6.2-1.4-1.4 2.1-2.1a2.5 2.5 0 0 0-3.5-3.5l-2.1 2.1-1.4-1.4 2.1-2.1a4.5 4.5 0 0 1 6.4 6.4Z'/%3E%3C/svg%3E")}
.ico-calendar{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2Zm12 8H5v10h14ZM7 12h4v4H7Z'/%3E%3C/svg%3E")}

/* Bangla / English: rich text is printed twice, one copy shows; English uses its own faces (Design tab) */
html:not(.lang-en) .t-en,html.lang-en .t-bn{display:none!important}
html.lang-en{--sf-f:var(--font-body-en,var(--font-body));--sf-f-h:var(--font-heading-en,var(--font-heading))}
html.lang-en body{line-height:1.65}
html.lang-en .sf h1,html.lang-en .sf h2{letter-spacing:-.02em}
[id]{scroll-margin-top:120px}

/* The doctor box under blog posts (bfd-core Seo\Author_Box): who wrote or reviewed the article. */
.bfd-doc-box{display:flex;gap:18px;align-items:flex-start;margin:36px 0 0;padding:22px;border:1px solid var(--sf-line,#dce6ec);border-left:4px solid var(--sf-green,#2f9a5c);border-radius:var(--radius,14px);background:var(--sf-sky,#f2f7fa)}
.bfd-doc-photo{flex:none;width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:var(--sf-shadow,none)}
.bfd-doc-body{flex:1;min-width:0}
.bfd-doc-kicker{display:block;margin:0 0 4px;color:var(--sf-green-d,#237a48);font-size:.82rem;font-weight:700;letter-spacing:.03em}
.bfd-doc-box p{margin:0}
.bfd-doc-line{color:var(--sf-ink,#0e2433);font-size:1.05rem}
.bfd-doc-name{font-weight:700}
.bfd-doc-title{color:var(--sf-muted,#587083)}
.bfd-doc-degrees{margin-top:4px!important;color:var(--sf-text,#24394a);font-size:.92rem}
.bfd-doc-meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px!important;color:var(--sf-muted,#587083);font-size:.85rem}
.bfd-doc-bio{margin-top:10px!important;color:var(--sf-text,#24394a);font-size:.95rem}
.bfd-doc-note{margin-top:12px!important;padding-top:10px;border-top:1px dashed var(--sf-line,#dce6ec);color:var(--sf-muted,#587083);font-size:.8rem}
@media (max-width:560px){.bfd-doc-box{flex-direction:column;padding:18px}}
