/*
Theme Name: My Dentist SEO Services
Theme URI: https://mydentistseoservices.com
Author: My Dentist SEO Services
Description: Lightweight custom theme built for Elementor. White and navy section system, logo colours, webp-ready images.
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mds
*/
:root{--mds-navy:#043488;--mds-navy-d:#011C44;--mds-green:#0CA440;--mds-teal:#0A8A37;--mds-ice:#EAF7FF;--mds-mint:#E6F6EC;--mds-ink:#213352;--mds-mut:#5B6B85;--mds-line:#D6E4F0;--mds-r:16px;--mds-head:'Sora',system-ui,sans-serif;--mds-body:'IBM Plex Sans',system-ui,Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--mds-body);font-size:17px;line-height:1.7;color:var(--mds-ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--mds-teal)}a:hover{color:var(--mds-navy)}
h1,h2,h3,h4{font-family:var(--mds-head);color:var(--mds-navy);line-height:1.18;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800}h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:700}h3{font-size:1.2rem;font-weight:700}
.mds-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
/* ---------- HEADER ---------- */
.mds-tb-item{display:inline-flex;align-items:center;gap:8px;color:#d3def2;text-decoration:none}.mds-tb-item:hover{color:var(--mds-green)}.mds-tb-item svg{color:var(--mds-green)}
.mds-site-title{font-family:var(--mds-head);font-weight:800;font-size:1.2rem;color:var(--mds-navy);text-decoration:none}
.mds-cta ul{list-style:none;margin:0;padding:0}
.mds-cta a,.mds-btn,.mds-btn-green a,.mds-btn-outline a,.mds-btn-white a{display:inline-block;padding:14px 28px;border-radius:10px;font-weight:600;text-decoration:none;border:2px solid transparent;transition:background .2s,color .2s,border-color .2s}
.mds-cta a,.mds-btn-green a,.mds-btn-green.elementor-button{background:var(--mds-green);color:#fff}
.mds-cta a:hover,.mds-btn-green a:hover{background:var(--mds-navy);color:#fff}
.mds-btn-outline a{border-color:var(--mds-navy);color:var(--mds-navy);background:transparent}.mds-btn-outline a:hover{background:var(--mds-navy);color:#fff}
.mds-btn-white a{border-color:#fff;color:#fff;background:transparent}.mds-btn-white a:hover{background:#fff;color:var(--mds-navy)}
/* ---------- SECTION SYSTEM (Elementor: Container > Advanced > CSS Classes) ---------- */
.mds-sec{padding-top:88px;padding-bottom:88px}
.mds-sec-white{background:#fff}
.mds-sec-ice{background:var(--mds-ice)}
.mds-sec-navy{background:var(--mds-navy);color:#d3def2}
.mds-sec-navy-deep{background:var(--mds-navy-d);color:#d3def2}
.mds-sec-hero{background:linear-gradient(120deg,var(--mds-navy-d),var(--mds-navy) 65%,#0A4DB0);color:#d3def2}
.mds-sec-navy :is(h1,h2,h3,h4,.elementor-heading-title),.mds-sec-navy-deep :is(h1,h2,h3,h4,.elementor-heading-title),.mds-sec-hero :is(h1,h2,h3,h4,.elementor-heading-title){color:#fff}
.mds-sec-navy :is(p,li),.mds-sec-navy-deep :is(p,li),.mds-sec-hero :is(p,li){color:#d3def2}
.mds-sec-navy a:not(.elementor-button),.mds-sec-hero a:not(.elementor-button){color:var(--mds-green)}
.mds-eyebrow{color:var(--mds-teal);font-weight:600;font-size:.9rem;margin-bottom:10px}
.mds-sec-navy .mds-eyebrow,.mds-sec-hero .mds-eyebrow{color:var(--mds-green)}
/* ---------- CARDS ---------- */
.mds-card{background:#fff;border:1px solid var(--mds-line);border-radius:var(--mds-r);padding:28px;box-shadow:0 6px 24px rgba(1,28,68,.07);transition:box-shadow .25s,border-color .25s}
.mds-card:hover{border-color:var(--mds-green);box-shadow:0 10px 32px rgba(14,47,104,.12)}
.mds-card-navy{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-radius:var(--mds-r);padding:28px;color:#d3def2}
.mds-card-navy :is(h2,h3,h4,.elementor-heading-title){color:var(--mds-green)}
.mds-card-mint{background:var(--mds-mint);border:1px solid #BFE6CC;border-radius:var(--mds-r);padding:28px}
.mds-img img,img.mds-img{border-radius:var(--mds-r);width:100%;height:auto;box-shadow:0 12px 36px rgba(14,47,104,.14)}
.mds-step-num{width:46px;height:46px;border-radius:50%;background:var(--mds-green);color:#fff;display:grid;place-items:center;font-family:var(--mds-head);font-weight:800}
/* ---------- LISTS, QUOTE, TABLE ---------- */
.mds-ticks ul,ul.mds-ticks{list-style:none;padding:0;margin:12px 0 0}
.mds-ticks li{position:relative;padding-left:28px;margin-bottom:8px}
.mds-ticks li:before{content:"";position:absolute;left:2px;top:.62em;width:10px;height:6px;border-left:2px solid var(--mds-green);border-bottom:2px solid var(--mds-green);transform:rotate(-45deg)}
.mds-quote{border-left:4px solid var(--mds-green);padding:6px 0 6px 22px;font-family:var(--mds-head);font-size:1.15rem;font-weight:600;color:var(--mds-navy)}
.mds-sec-navy .mds-quote{color:#fff}
.mds-table table{width:100%;border-collapse:collapse;border:1px solid var(--mds-line);border-radius:var(--mds-r);overflow:hidden}
.mds-table th{background:var(--mds-navy);color:#fff;text-align:left;font-family:var(--mds-head)}
.mds-table th,.mds-table td{padding:15px 20px;border-bottom:1px solid var(--mds-line)}
.mds-table td:first-child{font-weight:600;color:var(--mds-navy)}
.mds-pill{display:inline-block;padding:8px 18px;border-radius:30px;background:rgba(12,164,64,.12);color:var(--mds-navy);font-weight:600;font-size:.92rem;margin:0 8px 8px 0}
.mds-sec-navy .mds-pill{background:rgba(255,255,255,.12);color:#fff}
/* FAQ: add class mds-faq to an Elementor Accordion / Toggle widget */
.mds-faq .elementor-tab-title,.mds-faq .elementor-accordion-item{border-color:var(--mds-line)}
.mds-faq .elementor-tab-title a{font-family:var(--mds-head);font-weight:600;color:var(--mds-navy)}
.mds-faq .elementor-tab-title.elementor-active a{color:var(--mds-teal)}
.mds-faq .elementor-tab-content{color:var(--mds-mut)}
/* ---------- CTA BAND + FOOTER ---------- */
.mds-skip{position:absolute;left:-9999px}.mds-skip:focus{left:10px;top:10px;background:#fff;padding:10px 16px;z-index:9999}
.mds-cta-m{display:none}
.mds-band{background:linear-gradient(120deg,var(--mds-navy),#0A4DB0);color:#d3def2;padding:76px 0;text-align:center}
.mds-band h2{color:#fff;margin-left:auto;margin-right:auto;max-width:760px}
.mds-band p{max-width:640px;margin:0 auto}
.mds-band-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.mds-bbtn{display:inline-block;padding:14px 28px;border-radius:10px;font-weight:600;text-decoration:none;border:2px solid #fff;color:#fff}
.mds-bbtn-g{background:var(--mds-green);border-color:var(--mds-green);color:#fff}.mds-bbtn-g:hover{background:#fff;border-color:#fff;color:var(--mds-navy)}
.mds-bbtn-o:hover{background:#fff;color:var(--mds-navy)}
/* ---------- FOOTER ---------- */
.mds-footer{background:var(--mds-navy-d);color:#b7c6e2;padding:56px 0 26px;font-size:.94rem}
.mds-footer h3,.mds-footer h4{color:#fff;font-size:1rem}
.mds-footer a{color:#b7c6e2;text-decoration:none}.mds-footer a:hover{color:var(--mds-green)}
.mds-footer ul{list-style:none;margin:0;padding:0}.mds-footer li{margin-bottom:6px}
.mds-copy{border-top:1px solid rgba(255,255,255,.15);margin-top:30px;padding-top:18px}
/* ---------- BLOG / DEFAULT ---------- */
.mds-page-pad{padding:70px 0}
.mds-post{margin-bottom:34px;padding-bottom:28px;border-bottom:1px solid var(--mds-line)}
.mds-post h2 a{text-decoration:none;color:var(--mds-navy)}
a:focus-visible,button:focus-visible{outline:3px solid var(--mds-green);outline-offset:2px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- v1.0.1 FIXES ---------- */
/* 1) Elementor container/section backgrounds were being overridden -> force the section colours */
.mds-sec.mds-sec-white,.elementor-element.mds-sec-white{background-color:#fff !important}
.mds-sec.mds-sec-ice,.elementor-element.mds-sec-ice{background-color:var(--mds-ice) !important}
.mds-sec.mds-sec-navy,.elementor-element.mds-sec-navy{background-color:var(--mds-navy) !important}
.mds-sec.mds-sec-navy-deep,.elementor-element.mds-sec-navy-deep{background-color:var(--mds-navy-d) !important}
.mds-sec.mds-sec-hero,.elementor-element.mds-sec-hero,.e-con.e-parent.mds-sec-hero{background-color:var(--mds-navy-d) !important;background-image:linear-gradient(120deg,var(--mds-navy-d),var(--mds-navy) 65%,#0A4DB0) !important}
/* make sure the section stretches full width and the inner wrapper keeps its colour */
.mds-sec.e-con,.mds-sec.elementor-section{width:100%}
.mds-sec-navy .elementor-widget-container,.mds-sec-navy-deep .elementor-widget-container,.mds-sec-hero .elementor-widget-container{background:transparent}
/* cards inside navy sections */
.mds-card-navy{background-color:rgba(255,255,255,.07) !important}

/* 2) Top gap / black strip: no stray space above the first Elementor section */
main#content{display:block;margin:0;padding:0}
main#content>.elementor,main#content>.elementor>.e-con:first-child,main#content>.elementor>.elementor-section-wrap>.elementor-section:first-child{margin-top:0}
/* sticky header must not cover Elementor's "Add new section" area inside the editor */
.elementor-editor-active .mds-header,.elementor-editor-preview .mds-header{position:relative !important;top:auto !important;z-index:1 !important}
.elementor-editor-active .mds-topbar{display:none}
.elementor-editor-active .elementor-add-section{margin:0 auto}


/* ---------- v1.0.3 HEADER / MEGA MENU / FOOTER ---------- */
:root{--mds-logo-h:100px}
.mds-topbar{background:var(--mds-navy-d);color:#d3def2;font-size:.86rem}
.mds-topbar .mds-wrap{max-width:1320px;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.mds-tb-r{display:flex;align-items:center;gap:22px}
.mds-header{position:sticky;top:0;z-index:999;background:#fff;border-bottom:1px solid var(--mds-line)}
.mds-header .mds-wrap{max-width:1320px;display:flex;align-items:stretch;justify-content:space-between;gap:24px;min-height:calc(var(--mds-logo-h) + 24px)}
.mds-brand{display:flex;align-items:center;flex:0 0 auto}
.mds-header .custom-logo{height:var(--mds-logo-h);width:auto;max-width:none;object-fit:contain;display:block}
.mds-nav{display:flex;align-items:stretch;margin-left:auto}
.mds-menu{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;gap:2px}
.mds-menu>li{display:flex;align-items:stretch}
.mds-menu>li>a,.mds-dd{display:flex;align-items:center;gap:6px;padding:0 14px;background:none;border:0;border-bottom:3px solid transparent;font-family:var(--mds-head);font-weight:600;font-size:.93rem;line-height:1;color:var(--mds-navy-d);text-decoration:none;cursor:pointer;transition:color .2s,border-color .2s}
.mds-menu>li>a:hover,.mds-menu>li.current-menu-item>a,.mds-dd:hover,.mds-has-mega.is-open>.mds-dd{color:var(--mds-navy);border-bottom-color:var(--mds-green)}
.mds-dd svg{transition:transform .2s}.mds-has-mega.is-open>.mds-dd>svg:last-child{transform:rotate(180deg)}
.mds-dd>svg:first-child{color:var(--mds-green)}
.mds-cta-d{display:flex;align-items:center;flex:0 0 auto}.mds-cta-m{display:none}
.mds-mega{display:none;position:absolute;left:50%;top:100%;transform:translateX(-50%);width:min(1240px,calc(100vw - 32px));background:#fff;border:1px solid var(--mds-line);border-top:0;border-radius:0 0 20px 20px;box-shadow:0 24px 60px rgba(1,28,68,.18);max-height:calc(100vh - 190px);overflow:auto}
.mds-has-mega.is-open>.mds-mega{display:block}
.mds-mega-in{display:grid;grid-template-columns:repeat(var(--n),1fr) minmax(240px,.85fr);gap:20px;padding:26px}
.mds-mega-in.no-promo{grid-template-columns:repeat(var(--n),1fr)}
.mds-mcol{border:1px solid var(--mds-line);border-radius:16px;padding:22px 22px 14px}
.mds-mh{display:flex;align-items:center;gap:10px;font-family:var(--mds-head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mds-mut);padding-bottom:14px;margin-bottom:8px;border-bottom:1px solid var(--mds-line)}
.mds-mh svg{color:var(--mds-green)}
.mds-mcol ul{list-style:none;margin:0;padding:0}
.mds-mcol li a{display:block;padding:9px 10px;margin:0 -10px;border-radius:10px;text-decoration:none;transition:background .15s}
.mds-mcol li a:hover{background:var(--mds-ice)}
.mds-mcol li strong{display:block;font-family:var(--mds-head);font-weight:600;font-size:.95rem;line-height:1.3;color:var(--mds-navy-d)}
.mds-mcol li span{display:block;font-size:.84rem;line-height:1.4;color:var(--mds-mut);margin-top:2px}
.mds-promo{border-radius:16px;padding:26px;color:#d3def2;background:linear-gradient(160deg,var(--mds-navy-d),var(--mds-navy) 60%,#0A4DB0);display:flex;flex-direction:column;justify-content:space-between;gap:24px}
.mds-promo-e{font-family:var(--mds-head);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mds-green)}
.mds-promo h3{color:#fff;font-size:1.4rem;margin:10px 0}
.mds-promo p{margin:0;font-size:.92rem;color:#d3def2}
.mds-promo>a{color:#fff;font-weight:600;text-decoration:none}.mds-promo>a:hover{color:var(--mds-green)}
.mds-mbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 26px;border-top:1px solid var(--mds-line);background:var(--mds-ice);border-radius:0 0 20px 20px}
.mds-mbar p{margin:0;font-size:.92rem;color:var(--mds-mut)}
.mds-mbtn{display:inline-block;padding:12px 24px;border-radius:10px;background:var(--mds-green);color:#fff;font-weight:600;text-decoration:none}.mds-mbtn:hover{background:var(--mds-navy);color:#fff}
.mds-toggle{display:none;background:none;border:1px solid var(--mds-line);border-radius:8px;padding:8px 12px;font-weight:600;color:var(--mds-navy);cursor:pointer}
/* footer */
.mds-footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:36px}
.mds-footer h3{font-family:var(--mds-head);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 16px}
.mds-footer h4{font-family:var(--mds-head);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#8FA4C8;margin:24px 0 14px;padding-top:20px;border-top:1px dashed rgba(255,255,255,.22)}
.mds-flogo{display:inline-block;max-width:100%;background:#fff;border-radius:14px;padding:10px 16px;margin-bottom:16px}
.mds-flogo .custom-logo{height:var(--mds-logo-h);width:auto;max-width:100%;object-fit:contain;display:block}
@media(max-width:1180px){.mds-menu>li>a,.mds-dd{padding:0 9px;font-size:.86rem}.mds-footer-grid{grid-template-columns:1.2fr repeat(4,1fr);gap:26px}}
@media(max-width:960px){
:root{--mds-logo-h:64px}
.mds-sec{padding-top:60px;padding-bottom:60px}
.mds-header .mds-wrap{align-items:center;min-height:84px;gap:12px}
.mds-toggle{display:block;margin-left:auto}
.mds-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;margin:0;background:#fff;border-bottom:1px solid var(--mds-line);padding:6px 20px 20px;max-height:calc(100vh - 130px);overflow:auto}
.mds-nav.open{display:flex}
.mds-menu{flex-direction:column;gap:0}
.mds-menu>li{flex-direction:column;border-bottom:1px solid var(--mds-line)}
.mds-menu>li>a,.mds-dd{width:100%;justify-content:space-between;padding:16px 4px;border-bottom:0}
.mds-dd>span{margin-right:auto}
.mds-mega{position:static;transform:none;width:auto;border:0;box-shadow:none;max-height:none;border-radius:0}
.mds-mega-in,.mds-mega-in.no-promo{grid-template-columns:1fr;padding:0 0 14px;gap:12px}
.mds-mcol{border:0;padding:0 0 4px}
.mds-mbar{display:none}
.mds-promo{padding:20px}
.mds-cta-d{display:none}.mds-cta-m{display:block;margin-top:16px}.mds-cta-m a{display:block;text-align:center}
.mds-topbar .mds-tb-msg{display:none}.mds-topbar .mds-wrap{justify-content:center}
.mds-tb-r{flex-wrap:wrap;justify-content:center;gap:6px 22px}
.mds-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){.mds-footer-grid{grid-template-columns:1fr}}
