body{overflow-x:hidden}.cf7-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cf7-two-col p{margin:0}@media (max-width:768px){.cf7-two-col{grid-template-columns:1fr}}.wpcf7 input,.wpcf7 select,.wpcf7 textarea{width:100%;border:1px solid #cfcfcf;padding:14px 12px;font-size:13px;outline:none;margin-bottom:12px;border-radius:8px}.wpcf7 textarea{min-height:100px!important}.wpcf7-submit{background:#203b66!important;color:white!important;font-weight:700;width:100%;border:none!important;cursor:pointer;text-transform:uppercase}.wpcf7-submit:hover{background:#162b4c!important}.service-form-box{background:linear-gradient(180deg,#263C58 0%,#659ADC 100%);padding:22px 18px;border-radius:14px;box-shadow:0 6px 14px rgba(0,0,0,0.35);max-width:430px;margin:0 auto}.service-form-box .cf7-two-col{grid-template-columns:1fr;gap:0px}.service-form-box .wpcf7 p{margin:0}.service-form-box .wpcf7 input,.service-form-box .wpcf7 select,.service-form-box .wpcf7 textarea{width:100%;border:1px solid #d6d6d6;background:#ffffff;color:#222;padding:14px 13px;font-size:13px;outline:none;margin-bottom:13px;border-radius:3px;box-sizing:border-box}.service-form-box .wpcf7 input::placeholder,.service-form-box .wpcf7 textarea::placeholder{color:#777}.service-form-box .wpcf7 textarea{height:100px!important;resize:vertical}.service-form-box .wpcf7 select{appearance:auto}.service-form-box .wpcf7-submit{background:#263C58!important;color:#ffffff!important;font-weight:700;width:100%;border:none!important;cursor:pointer;text-transform:uppercase;padding:15px 20px!important;border-radius:3px!important;margin-bottom:0!important;transition:0.3s ease}.service-form-box .wpcf7-submit:hover{background:#1b2d45!important}.service-form-box .wpcf7-spinner{display:block;margin:12px auto 0}.page-id-148 button,.page-id-148 input,.page-id-148 select,.page-id-148 optgroup,.page-id-148 textarea,.page-id-148 ::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;background-color:#fff;opacity:1}

/* My City Dental optimized service cards */
.mcd-services-strip{width:100%;background:#fff;overflow:hidden}.mcd-services-grid{display:grid;grid-template-columns:1fr}.mcd-service-card{position:relative;margin:0;min-width:0;background:#111}.mcd-service-card__link{position:relative;display:block;height:330px;color:#fff;text-decoration:none;overflow:hidden}.mcd-service-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01);transition:transform .55s ease}.mcd-service-card__overlay{position:absolute;inset:0;background:rgba(0,0,0,.50);transition:background .35s ease}.mcd-service-card__content{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px 22px}.mcd-service-card__title{display:block;font-size:22px;line-height:1.18;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.mcd-service-card__body{display:block;margin-top:18px;max-width:390px;max-height:0;opacity:0;transform:translateY(16px);overflow:hidden;transition:max-height .45s ease,opacity .35s ease,transform .35s ease}.mcd-service-card__desc{display:block;font-size:15px;line-height:1.6;font-weight:400}.mcd-service-card__button{display:inline-flex;align-items:center;justify-content:center;margin-top:22px;min-width:150px;min-height:48px;border:1px solid rgba(255,255,255,.9);padding:12px 24px;font-size:15px;line-height:1;font-weight:600;color:#fff;transition:background .25s ease,color .25s ease}.mcd-service-card__link:hover .mcd-service-card__image,.mcd-service-card__link:focus-visible .mcd-service-card__image,.mcd-service-card__link:active .mcd-service-card__image,.mcd-service-card__link.is-revealed .mcd-service-card__image{transform:scale(1.08)}.mcd-service-card__link:hover .mcd-service-card__overlay,.mcd-service-card__link:focus-visible .mcd-service-card__overlay,.mcd-service-card__link:active .mcd-service-card__overlay,.mcd-service-card__link.is-revealed .mcd-service-card__overlay{background:rgba(0,0,0,.68)}.mcd-service-card__link:hover .mcd-service-card__body,.mcd-service-card__link:focus-visible .mcd-service-card__body,.mcd-service-card__link:active .mcd-service-card__body,.mcd-service-card__link.is-revealed .mcd-service-card__body{max-height:240px;opacity:1;transform:translateY(0)}.mcd-service-card__link:hover .mcd-service-card__button,.mcd-service-card__link:focus-visible .mcd-service-card__button,.mcd-service-card__link:active .mcd-service-card__button,.mcd-service-card__link.is-revealed .mcd-service-card__button{background:#fff;color:#111}.mcd-service-card__link:focus-visible{outline:3px solid #fff;outline-offset:-6px}@media (min-width:768px){.mcd-services-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mcd-service-card__link{height:420px}.mcd-service-card__title{font-size:24px}}@media (max-width:420px){.mcd-service-card__link{height:360px}.mcd-service-card__content{padding:22px 18px}.mcd-service-card__title{font-size:20px}.mcd-service-card__desc{font-size:14px}.mcd-service-card__button{min-width:138px;min-height:44px;font-size:14px}}

/* Popular procedure cards from [dental_services_cards] */
.mcd-popular-procedures{padding:40px 0}.mcd-popular-procedures__heading{margin:0 0 32px;text-align:center;color:#18345c;font-size:28px;line-height:1.25;font-weight:600}.mcd-popular-procedures__grid{display:grid;grid-template-columns:1fr;gap:24px}.mcd-popular-card{display:flex;flex-direction:column;background:#fff;border:1px solid #edf0f3;box-shadow:0 10px 28px rgba(24,52,92,.08);min-height:100%;overflow:hidden}.mcd-popular-card__image-link{display:block;height:205px;overflow:hidden;background:#eef2f6}.mcd-popular-card__image,.mcd-popular-card__placeholder{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.mcd-popular-card:hover .mcd-popular-card__image{transform:scale(1.05)}.mcd-popular-card__content{display:flex;flex-direction:column;flex:1;padding:20px}.mcd-popular-card__title{margin:0 0 10px;font-size:20px;line-height:1.3;font-weight:600;color:#18345c}.mcd-popular-card__title a{color:inherit;text-decoration:none}.mcd-popular-card__title a:hover{text-decoration:underline}.mcd-popular-card__excerpt{margin:0 0 18px;color:#667085;font-size:14px;line-height:1.65}.mcd-popular-card__button{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin-top:auto;background:#18324f;color:#fff;text-decoration:none;font-size:13px;font-weight:700;line-height:1;padding:12px 18px;transition:background .25s ease}.mcd-popular-card__button:hover{background:#0d2238;color:#fff}@media (min-width:640px){.mcd-popular-procedures__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.mcd-popular-procedures__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Dynamic service/promo hero - no Tailwind dependency */
.mcd-dynamic-hero{position:relative;overflow:hidden;background:#071f39}.mcd-dynamic-hero__image{position:absolute;inset:0;background-size:cover;background-position:35% center;background-repeat:no-repeat}.mcd-dynamic-hero__overlay-desktop,.mcd-dynamic-hero__overlay-left,.mcd-dynamic-hero__overlay-mobile,.mcd-dynamic-hero__overlay-mobile-depth,.mcd-dynamic-hero__accent{position:absolute;inset:0;pointer-events:none}.mcd-dynamic-hero__overlay-desktop{display:none;background:linear-gradient(90deg,rgba(7,31,57,.38) 0%,rgba(7,31,57,.52) 48%,rgba(7,31,57,.88) 100%)}.mcd-dynamic-hero__overlay-left{display:none;right:auto;width:52%;background:linear-gradient(90deg,rgba(7,31,57,.18) 0%,rgba(7,31,57,.08) 55%,transparent 100%)}.mcd-dynamic-hero__overlay-mobile{background:linear-gradient(90deg,rgba(7,31,57,.84) 0%,rgba(7,31,57,.78) 50%,rgba(7,31,57,.74) 100%)}.mcd-dynamic-hero__overlay-mobile-depth{background:linear-gradient(180deg,rgba(7,31,57,.35) 0%,transparent 50%,rgba(7,31,57,.25) 100%)}.mcd-dynamic-hero__accent{opacity:.55;background:radial-gradient(circle at 22% 22%,rgba(69,199,207,.14),transparent 30%),radial-gradient(circle at 82% 55%,rgba(7,31,57,.34),transparent 36%)}.mcd-dynamic-hero__inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:48px 16px}.mcd-dynamic-hero__grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;min-height:620px}.mcd-dynamic-hero__content{order:2;max-width:672px;margin:0 auto;text-align:center;color:#fff}.mcd-dynamic-hero__badge{display:none;align-items:center;gap:12px;margin-bottom:24px;width:max-content;max-width:100%;border:1px solid #d9e2ec;background:rgba(255,255,255,.9);padding:12px 20px;border-radius:999px;box-shadow:0 10px 25px rgba(31,59,92,.12);backdrop-filter:blur(10px)}.mcd-dynamic-hero__badge-icon{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:999px;background:rgba(69,199,207,.18);color:#1f3b5c}.mcd-dynamic-hero__badge-text{font-size:12px;line-height:1;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#111827}.mcd-dynamic-hero__title{margin:0 auto 24px;max-width:680px;color:#fff;font-size:40px;line-height:1.05;font-weight:700;letter-spacing:-.04em}.mcd-dynamic-hero__rule{width:96px;height:4px;border-radius:999px;background:#70ccc5;margin:0 auto 28px}.mcd-dynamic-hero__description{max-width:576px;margin:0 auto 36px;color:rgba(255,255,255,.96);font-size:16px;line-height:1.9}.mcd-dynamic-hero__description p{margin:0 0 16px}.mcd-dynamic-hero__description p:last-child{margin-bottom:0}.mcd-dynamic-hero__actions{display:flex;flex-direction:column;gap:16px;justify-content:center}.mcd-dynamic-hero__btn{display:inline-flex;min-height:58px;align-items:center;justify-content:center;gap:12px;border-radius:12px;padding:16px 32px;text-decoration:none;font-size:14px;line-height:1;font-weight:800;letter-spacing:.04em;text-transform:uppercase;transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}.mcd-dynamic-hero__btn svg{width:20px;height:20px;flex:0 0 20px}.mcd-dynamic-hero__btn--primary{background:#45c7cf;color:#fff;box-shadow:0 16px 35px rgba(69,199,207,.28)}.mcd-dynamic-hero__btn--primary:hover{background:#35aeb7;color:#fff;transform:translateY(-2px)}.mcd-dynamic-hero__btn--secondary{border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.08);color:#fff;backdrop-filter:blur(10px)}.mcd-dynamic-hero__btn--secondary:hover{background:#fff;color:#1f3b5c;transform:translateY(-2px)}.mcd-dynamic-hero__form-wrap{order:1;position:relative}.mcd-dynamic-hero__form-card{width:100%;max-width:510px;margin:0 auto;border:1px solid rgba(255,255,255,.7);border-radius:26px;background:#fff;padding:24px;box-shadow:0 25px 70px rgba(6,21,41,.35)}.mcd-dynamic-hero__form-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:28px}.mcd-dynamic-hero__form-icon{display:flex;width:56px;height:56px;flex:0 0 56px;align-items:center;justify-content:center;border-radius:999px;background:#1f3b5c;color:#fff;box-shadow:0 10px 22px rgba(31,59,92,.22)}.mcd-dynamic-hero__form-icon svg{width:28px;height:28px}.mcd-dynamic-hero__form-title{margin:0;color:#1f3b5c;font-size:24px;line-height:1.15;font-weight:800}.mcd-dynamic-hero__form-rule{margin-top:12px;width:80px;height:3px;border-radius:999px;background:#45c7cf}.mcd-dynamic-hero__privacy{display:flex;align-items:center;justify-content:center;gap:8px;margin:20px 0 0;text-align:center;color:#667085;font-size:14px}.mcd-dynamic-hero__privacy svg{width:16px;height:16px;color:#667085}@media (min-width:640px){.mcd-dynamic-hero__inner{padding-left:24px;padding-right:24px}.mcd-dynamic-hero__actions{flex-direction:row}.mcd-dynamic-hero__title{font-size:52px}.mcd-dynamic-hero__description{font-size:18px}.mcd-dynamic-hero__form-card{padding:32px}}@media (min-width:1024px){.mcd-dynamic-hero__image{background-position:center center}.mcd-dynamic-hero__overlay-desktop,.mcd-dynamic-hero__overlay-left{display:block}.mcd-dynamic-hero__overlay-mobile,.mcd-dynamic-hero__overlay-mobile-depth{display:none}.mcd-dynamic-hero__inner{padding:80px 32px}.mcd-dynamic-hero__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}.mcd-dynamic-hero__content{order:1;margin:0;text-align:left}.mcd-dynamic-hero__form-wrap{order:2;display:flex;justify-content:flex-end}.mcd-dynamic-hero__badge{display:inline-flex}.mcd-dynamic-hero__title{margin-left:0;margin-right:0;font-size:48px}.mcd-dynamic-hero__rule{margin-left:0;margin-right:0}.mcd-dynamic-hero__description{margin-left:0;margin-right:0}.mcd-dynamic-hero__actions{justify-content:flex-start}.mcd-dynamic-hero__form-card{margin:0;padding:36px}}@media (max-width:480px){.mcd-dynamic-hero__inner{padding-top:34px;padding-bottom:42px}.mcd-dynamic-hero__grid{gap:34px}.mcd-dynamic-hero__title{font-size:36px}.mcd-dynamic-hero__description{font-size:15px;line-height:1.8}.mcd-dynamic-hero__form-card{border-radius:20px;padding:20px}.mcd-dynamic-hero__form-title{font-size:22px}.mcd-dynamic-hero__form-icon{width:48px;height:48px;flex-basis:48px}.mcd-dynamic-hero__form-icon svg{width:24px;height:24px}}

/* Service hero form only - full width fields */
.mcd-service-hero-form{width:100%}.mcd-service-hero-form .wpcf7{margin:0}.mcd-service-hero-form .wpcf7 form{display:flex!important;flex-direction:column!important;gap:14px!important;margin:0!important}.mcd-service-hero-form .wpcf7 p{margin:0!important;padding:0!important}.mcd-service-hero-form .wpcf7 br{display:none!important}.mcd-service-hero-form .wpcf7-form-control-wrap{display:block!important;width:100%!important;margin:0!important;padding:0!important}.mcd-service-hero-form .cf7-two-col{display:flex!important;flex-direction:column!important;gap:14px!important;margin:0!important;padding:0!important}.mcd-service-hero-form .cf7-two-col p{margin:0!important;padding:0!important}.mcd-service-hero-form input:not([type=submit]),.mcd-service-hero-form select,.mcd-service-hero-form textarea{display:block;width:100%!important;min-height:56px!important;border:1px solid #d9e2ec!important;border-radius:12px!important;background:#fff!important;color:#1f2937!important;font-size:15px!important;font-weight:500!important;line-height:1.4!important;padding:15px 16px!important;outline:none!important;margin:0!important;box-sizing:border-box!important;box-shadow:0 6px 18px rgba(31,59,92,.04)!important;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease!important}.mcd-service-hero-form input::placeholder,.mcd-service-hero-form textarea::placeholder{color:#7b8794!important;opacity:1}.mcd-service-hero-form select{appearance:auto!important}.mcd-service-hero-form textarea{min-height:112px!important;height:112px!important;resize:vertical!important}.mcd-service-hero-form input:not([type=submit]):focus,.mcd-service-hero-form select:focus,.mcd-service-hero-form textarea:focus{border-color:#45c7cf!important;box-shadow:0 0 0 4px rgba(69,199,207,.16),0 8px 22px rgba(31,59,92,.06)!important}.mcd-service-hero-form input[type=submit],.mcd-service-hero-form .wpcf7-submit{width:100%!important;min-height:58px!important;border:0!important;border-radius:12px!important;background:#1f3b5c!important;color:#fff!important;font-size:14px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important;cursor:pointer!important;padding:17px 22px!important;margin:0!important;box-shadow:0 14px 30px rgba(31,59,92,.22)!important;transition:background .22s ease,transform .22s ease,box-shadow .22s ease!important}.mcd-service-hero-form input[type=submit]:hover,.mcd-service-hero-form .wpcf7-submit:hover{background:#17304d!important;transform:translateY(-2px);box-shadow:0 18px 38px rgba(31,59,92,.28)!important}.mcd-service-hero-form .wpcf7-spinner{display:block!important;margin:0 auto!important}.mcd-service-hero-form .wpcf7-not-valid-tip{margin-top:6px!important;font-size:12px!important;font-weight:600!important;color:#dc2626!important}.mcd-service-hero-form .wpcf7-response-output{margin:14px 0 0!important;border-radius:10px!important;padding:10px 12px!important;font-size:13px!important;font-weight:600!important}@media(max-width:640px){.mcd-service-hero-form .wpcf7 form,.mcd-service-hero-form .cf7-two-col{gap:12px!important}.mcd-service-hero-form input:not([type=submit]),.mcd-service-hero-form select,.mcd-service-hero-form textarea{min-height:52px!important;border-radius:10px!important;padding:14px!important;font-size:14px!important}.mcd-service-hero-form textarea{min-height:100px!important;height:100px!important}.mcd-service-hero-form input[type=submit],.mcd-service-hero-form .wpcf7-submit{min-height:54px!important;border-radius:10px!important;font-size:13px!important}}

/* Blog single content bullets and mobile order */
.single-blog-page .entry-content ul{list-style:disc!important;margin:18px 0 18px 24px!important;padding-left:20px!important}.single-blog-page .entry-content ol{list-style:decimal!important;margin:18px 0 18px 24px!important;padding-left:20px!important}.single-blog-page .entry-content li{margin:8px 0!important;padding-left:2px}.single-blog-page .entry-content li::marker{color:#31C3C0!important;font-weight:700}@media(max-width:767px){.single-blog-page{margin-top:24px!important;margin-bottom:24px!important}.single-blog-page article{padding:22px 18px!important}.single-blog-page .entry-content ul,.single-blog-page .entry-content ol{margin-left:16px!important;padding-left:18px!important}}


/* Homepage intro block - carries the page H1 below the static hero banners */
/* Homepage intro: page H1 on the left, appointment form on the right.
   NOTE: only the card container is styled here. No .wpcf7 rules are added --
   the form fields keep the site's existing Contact Form 7 styling. */
.mcd-intro{padding:40px 16px;background:linear-gradient(180deg,#f7fafc 0%,#fff 100%);border-bottom:1px solid #eef2f6}
.mcd-intro__inner{display:grid;grid-template-columns:1fr;gap:32px;align-items:start;max-width:1200px;margin:0 auto}
.mcd-intro__content{min-width:0}
.mcd-intro__title{margin:0 0 16px;color:#1f3b5c;font-size:27px;line-height:1.2;font-weight:700;letter-spacing:-.02em}
.mcd-intro__text{margin:0 0 20px;color:#4b5563;font-size:15.5px;line-height:1.75}
.mcd-intro__points{margin:0 0 22px;padding:0;list-style:none;display:grid;gap:9px}
.mcd-intro__points li{position:relative;padding-left:28px;color:#374151;font-size:14.5px;line-height:1.55}
.mcd-intro__points li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:#e6f6f7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f3b5c' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px 11px no-repeat}
.mcd-intro__contact{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding-top:18px;border-top:1px solid #e6ebf1}
.mcd-intro__phone{display:inline-flex;align-items:center;gap:9px;color:#1f3b5c;font-size:17px;font-weight:700;text-decoration:none}
.mcd-intro__phone svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mcd-intro__phone:hover,.mcd-intro__phone:focus-visible{color:#45c7cf}
.mcd-intro__address{color:#667085;font-size:13.5px;line-height:1.5}
.mcd-intro__form{background:#fff;border:1px solid #e6ebf1;border-radius:14px;padding:24px 20px;box-shadow:0 14px 38px rgba(24,52,92,.09)}
.mcd-intro__form-title{margin:0 0 6px;color:#1f3b5c;font-size:20px;line-height:1.25;font-weight:700}
.mcd-intro__form-text{margin:0 0 18px;color:#667085;font-size:13.5px;line-height:1.6}
@media(min-width:900px){
.mcd-intro{padding:56px 24px}
.mcd-intro__inner{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:56px}
.mcd-intro__title{font-size:36px}
.mcd-intro__text{font-size:16px}
.mcd-intro__form{padding:28px 26px}
}
@media(min-width:1200px){.mcd-intro__title{font-size:40px}}

/* Review avatars - person icon shows when no photo exists or the photo fails */
.mcd-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:0 auto 32px;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.16);flex:0 0 96px}
.mcd-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.mcd-avatar--fallback{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.mcd-avatar--fallback::after{content:"";width:52px;height:52px;background-color:currentColor;color:#fff;-webkit-mask:var(--mcd-person-icon) center/contain no-repeat;mask:var(--mcd-person-icon) center/contain no-repeat}
:root{--mcd-person-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5Zm0 2c-4.42 0-8 2.24-8 5v1a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E")}


/* Service category / archive landing pages */
.mcd-archive{padding:0 0 56px}
.mcd-archive__hero{padding:52px 16px;background:linear-gradient(180deg,#1f3b5c 0%,#2c5480 100%);color:#fff;text-align:center}
.mcd-archive__inner{max-width:1180px;margin:0 auto;padding:0 16px}
.mcd-archive__title{margin:0 auto 14px;max-width:820px;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.02em}
.mcd-archive__intro{margin:0 auto;max-width:720px;color:rgba(255,255,255,.9);font-size:16px;line-height:1.75}
.mcd-archive__grid{display:grid;grid-template-columns:1fr;gap:22px;margin-top:40px}
.mcd-archive__empty{margin:40px auto 0;max-width:620px;padding:28px;border:1px solid #e6ebf1;border-radius:12px;text-align:center;color:#667085}
@media(min-width:640px){.mcd-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.mcd-archive__hero{padding:72px 24px}.mcd-archive__title{font-size:40px}.mcd-archive__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mcd-avatar--sm{width:56px;height:56px;flex:0 0 56px;margin:0 auto 24px}
.mcd-avatar--sm.mcd-avatar--fallback::after{width:30px;height:30px}

/* Utilities used by the testimonial/review markup that are not present in the
   prebuilt src/output.css. Defined here so the layout is correct even if
   Tailwind is never rebuilt; a rebuild simply regenerates identical rules. */
.m-0{margin:0}
.not-italic{font-style:normal}
.text-white\/75{color:rgba(255,255,255,.75)}
/* Browser defaults for these elements are not reset by the shipped output.css */
.mcd-popular-card figure,.swiper-slide figure,.review-slide{margin:0}
.swiper-slide blockquote,.review-slide blockquote{margin:0;padding:0;border:0}


/* ==========================================================================
   Performance-only v7.2 targeted UI corrections
   ========================================================================== */

/* Dark CTA buttons must always have readable white text, regardless of the
   theme's generic anchor color cascade. */
.mcd-blog-read-more,
.mcd-blog-read-more:visited,
.mcd-author-profile-button,
.mcd-author-profile-button:visited,
.mcd-service-card__button,
a.mcd-service-card__link .mcd-service-card__button,
.wpcf7-submit,
input[type="submit"].wpcf7-submit{
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
}

.mcd-blog-read-more:hover,
.mcd-blog-read-more:focus-visible,
.mcd-author-profile-button:hover,
.mcd-author-profile-button:focus-visible{
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
}

/* Homepage: retain the exact existing design but make the shorter copy column
   use the same row height as the appointment form. Contact details anchor to
   the bottom instead of leaving an empty lower-left area. */
@media (min-width: 900px) {
	.mcd-intro__inner{
		align-items:stretch;
	}

	.mcd-intro__content{
		display:flex;
		flex-direction:column;
		min-height:100%;
	}

	.mcd-intro__contact{
		margin-top:auto;
	}
}

/* Keep a stable, readable first testimonial until the below-fold Swiper bundle is requested. */
.testimonialSwiper:not(.swiper-initialized) .swiper-slide:not(:first-child){display:none!important}
.testimonialSwiper:not(.swiper-initialized) .swiper-button-prev,
.testimonialSwiper:not(.swiper-initialized) .swiper-button-next,
.testimonialSwiper:not(.swiper-initialized) .swiper-pagination{display:none!important}

/* Testimonial carousel: keep controls outside the review-copy reading area.
   The screenshot showed the previous/next arrow sitting over the first words. */
.testimonialSwiper .swiper-slide figure{
	padding-left:64px!important;
	padding-right:64px!important;
}

.testimonialSwiper .swiper-button-prev{
	left:4px!important;
}

.testimonialSwiper .swiper-button-next{
	right:4px!important;
}

.testimonialSwiper blockquote{
	max-width:520px;
	margin-left:auto!important;
	margin-right:auto!important;
}

@media (max-width: 640px) {
	.testimonialSwiper .swiper-slide figure{
		padding-left:48px!important;
		padding-right:48px!important;
	}

	.testimonialSwiper .swiper-button-prev{
		left:0!important;
	}

	.testimonialSwiper .swiper-button-next{
		right:0!important;
	}
}

/* --------------------------------------------------------------------------
   Custom 404 page
   -------------------------------------------------------------------------- */
.mcd-404{
	position:relative;
	overflow:hidden;
	padding:64px 18px 76px;
	background:
		radial-gradient(circle at 10% 12%,rgba(49,195,192,.12),transparent 28%),
		radial-gradient(circle at 92% 86%,rgba(38,60,88,.09),transparent 30%),
		#f7fafc;
}

.mcd-404__inner{
	position:relative;
	z-index:1;
	width:min(920px,100%);
	margin:0 auto;
	padding:46px 28px;
	background:#fff;
	border:1px solid #e0e7ee;
	border-radius:24px;
	box-shadow:0 18px 48px rgba(38,60,88,.09);
	text-align:center;
}

.mcd-404__mark{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:124px;
	height:54px;
	margin:0 0 22px;
	padding:0 20px;
	border-radius:999px;
	background:#e9f7f7;
	color:#263c58;
	font-size:28px;
	line-height:1;
	font-weight:800;
	letter-spacing:.08em;
}

.mcd-404__title{
	max-width:680px;
	margin:0 auto 14px;
	color:#263c58;
	font-size:clamp(30px,5vw,46px);
	line-height:1.12;
	font-weight:700;
	letter-spacing:-.025em;
}

.mcd-404__text{
	max-width:620px;
	margin:0 auto 28px;
	color:#52677b;
	font-size:16px;
	line-height:1.7;
}

.mcd-404__actions{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:12px;
	margin:0 0 30px;
}

.mcd-404__button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:12px 22px;
	border-radius:999px;
	border:1px solid #263c58;
	background:#263c58;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
	font-size:14px;
	font-weight:700;
	text-decoration:none!important;
	transition:transform .18s ease,background .18s ease,border-color .18s ease;
}

.mcd-404__button:hover,
.mcd-404__button:focus-visible{
	background:#31c3c0;
	border-color:#31c3c0;
	color:#fff!important;
	transform:translateY(-1px);
}

.mcd-404__button--secondary{
	background:#fff;
	color:#263c58!important;
	-webkit-text-fill-color:#263c58!important;
}

.mcd-404__button--secondary:hover,
.mcd-404__button--secondary:focus-visible{
	background:#edf8f8;
	color:#263c58!important;
}

.mcd-404__search{
	max-width:560px;
	margin:0 auto;
	padding-top:26px;
	border-top:1px solid #e4ebf1;
}

.mcd-404__search-title{
	margin:0 0 12px;
	color:#263c58;
	font-size:16px;
	font-weight:700;
}

.mcd-404__search form{
	display:flex;
	gap:8px;
	width:100%;
}

.mcd-404__search input[type="search"]{
	flex:1 1 auto;
	min-width:0;
	min-height:48px;
	padding:11px 14px;
	border:1px solid #cbd8e3;
	border-radius:10px;
	background:#fff;
	color:#263c58;
}

.mcd-404__search input[type="submit"]{
	flex:0 0 auto;
	min-height:48px;
	padding:11px 18px;
	border:0;
	border-radius:10px;
	background:#31c3c0;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
	font-weight:700;
	cursor:pointer;
}

@media (max-width: 600px) {
	.mcd-404{
		padding:40px 12px 52px;
	}

	.mcd-404__inner{
		padding:34px 18px;
		border-radius:18px;
	}

	.mcd-404__actions{
		flex-direction:column;
	}

	.mcd-404__button{
		width:100%;
	}

	.mcd-404__search form{
		flex-direction:column;
	}

	.mcd-404__search input[type="submit"]{
		width:100%;
	}
}


/* ==========================================================================
   Performance-only v7.3 — accessibility + responsive forms
   ========================================================================== */

/* Homepage badges: static, compact and aligned with the existing design. */
.mcd-intro__badges{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px;
	margin:4px 0 22px;
	max-width:620px;
}

.mcd-intro__badge{
	display:flex;
	align-items:center;
	gap:9px;
	min-width:0;
	min-height:48px;
	padding:10px 12px;
	border:1px solid #dce6ed;
	border-radius:10px;
	background:#f8fbfc;
	color:#263c58;
	font-size:13px;
	line-height:1.35;
	font-weight:600;
}

.mcd-intro__badge-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	flex:0 0 22px;
	border-radius:50%;
	background:#e5f5f6;
	color:#1f3b5c;
	font-size:12px;
	font-weight:800;
}

@media(min-width:900px){
	.mcd-intro__badges{
		margin-top:auto;
	}
	.mcd-intro__contact{
		margin-top:0;
	}
}

@media(max-width:520px){
	.mcd-intro__badges{
		grid-template-columns:1fr;
	}
}

/* Service-page primary CTA: user requested white background + dark text. */
.mcd-dynamic-hero__btn--primary,
.mcd-dynamic-hero__btn--primary:visited{
	background:#fff!important;
	border:1px solid rgba(255,255,255,.92)!important;
	color:#1f3b5c!important;
	-webkit-text-fill-color:#1f3b5c!important;
	box-shadow:0 12px 28px rgba(7,31,57,.18)!important;
}

.mcd-dynamic-hero__btn--primary svg{
	color:#1f3b5c!important;
	stroke:currentColor!important;
}

.mcd-dynamic-hero__btn--primary:hover,
.mcd-dynamic-hero__btn--primary:focus-visible{
	background:#eef8f9!important;
	border-color:#eef8f9!important;
	color:#17304d!important;
	-webkit-text-fill-color:#17304d!important;
}

/* CF7 responsive safety across homepage, service hero and contact page. */
.wpcf7,
.wpcf7 form,
.wpcf7-form,
.wpcf7-form-control-wrap,
.cf7-two-col,
.cf7-two-col > *,
.mcd-service-hero-form,
.mcd-dynamic-hero__form-wrap,
.mcd-dynamic-hero__form-card,
.mycity-appointment-card{
	min-width:0;
	max-width:100%;
	box-sizing:border-box;
}

.wpcf7-form-control-wrap{
	display:block;
	width:100%;
}

.wpcf7 input:not([type="checkbox"]):not([type="radio"]),
.wpcf7 select,
.wpcf7 textarea{
	display:block;
	width:100%!important;
	max-width:100%!important;
	box-sizing:border-box!important;
}

.mcd-dynamic-hero__grid{
	min-width:0;
}

.mcd-dynamic-hero__form-card{
	overflow:hidden;
}

.mcd-service-hero-form .wpcf7 form{
	width:100%!important;
	max-width:100%!important;
}

@media(max-width:480px){
	.mcd-dynamic-hero__inner{
		width:100%;
		box-sizing:border-box;
		padding-left:12px!important;
		padding-right:12px!important;
	}

	.mcd-dynamic-hero__grid{
		width:100%;
		gap:28px!important;
	}

	.mcd-dynamic-hero__form-wrap,
	.mcd-dynamic-hero__form-card,
	.mcd-service-hero-form{
		width:100%!important;
		max-width:100%!important;
	}

	.mcd-dynamic-hero__form-card{
		padding:16px!important;
		border-radius:18px!important;
	}

	.mcd-dynamic-hero__form-head{
		gap:10px!important;
		margin-bottom:18px!important;
	}

	.mcd-dynamic-hero__form-title{
		font-size:20px!important;
	}

	.mcd-service-hero-form input:not([type="submit"]),
	.mcd-service-hero-form select,
	.mcd-service-hero-form textarea{
		min-width:0!important;
		max-width:100%!important;
	}

	.mycity-appointment-card{
		width:100%!important;
		max-width:100%!important;
	}

	.mycity-appointment-card .wpcf7 form{
		width:100%;
		max-width:100%;
	}
}

/* Native Google reCAPTCHA is 304px wide. Scale only when the available mobile
   width is smaller, while keeping its interaction intact. */
@media(max-width:360px){
	.wpcf7 .g-recaptcha,
	.wpcf7 [data-sitekey]{
		transform:scale(.86);
		transform-origin:0 0;
		margin-right:-14%;
		margin-bottom:-10px;
	}
}

@media(max-width:330px){
	.wpcf7 .g-recaptcha,
	.wpcf7 [data-sitekey]{
		transform:scale(.78);
		margin-right:-22%;
		margin-bottom:-17px;
	}
}

/* Improve placeholder/secondary text contrast without changing hierarchy. */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder{
	color:#5b6f82!important;
	opacity:1!important;
}

.mcd-intro__form-text,
.mcd-intro__address{
	color:#53697d!important;
}

/* Testimonial source previously used white at 75% opacity, which is too light
   for normal-size text on the purple panel. */
.testimonialSwiper .text-white\/75{
	color:rgba(255,255,255,.94)!important;
}

/* Common accessible touch targets. Visual icons/dots remain compact. */
.mcd-footer-social a,
.mcd-nav__toggle,
.mcd-header__call,
.mcd-header__burger,
.testimonialSwiper .swiper-button-prev,
.testimonialSwiper .swiper-button-next{
	min-width:44px;
	min-height:44px;
}

.mcd-footer-social a{
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.testimonialSwiper .swiper-pagination-bullet{
	width:10px!important;
	height:10px!important;
	padding:8px!important;
	margin:0 2px!important;
	box-sizing:content-box!important;
	background-clip:content-box!important;
}

/* Focus is visible on all key controls. */
.mcd-blog-read-more:focus-visible,
.mcd-author-profile-button:focus-visible,
.mcd-dynamic-hero__btn:focus-visible,
.mcd-footer-social a:focus-visible,
.wpcf7 input:focus-visible,
.wpcf7 select:focus-visible,
.wpcf7 textarea:focus-visible{
	outline:3px solid #31c3c0!important;
	outline-offset:2px!important;
}


/* ==========================================================================
   Performance-only v7.4 — review block, compact notes, clean nav arrows
   ========================================================================== */

/* Compact Trustindex review area below the homepage intro text. */
.mcd-intro__review{
	width:100%;
	max-width:620px;
	min-height:112px;
	margin:0 0 18px;
	padding:12px 14px;
	border:1px solid #dce6ed;
	border-radius:12px;
	background:#fff;
	box-shadow:0 6px 20px rgba(38,60,88,.05);
	overflow:hidden;
	box-sizing:border-box;
}

/* Trustindex widget safety inside the narrower homepage column. */
.mcd-intro__review .ti-widget,
.mcd-intro__review .ti-widget-container,
.mcd-intro__review .ti-reviews-container-wrapper,
.mcd-intro__review .ti-reviews-container{
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	box-sizing:border-box!important;
	margin:0!important;
}

.mcd-intro__review iframe{
	max-width:100%!important;
	border:0!important;
}

.mcd-intro__review-fallback{
	margin:0;
}

.mcd-intro__review-source{
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 7px;
	color:#52677b;
	font-size:12px;
	font-weight:600;
}

.mcd-intro__review-stars{
	color:#f5a623;
	letter-spacing:1px;
	font-size:14px;
}

.mcd-intro__review-fallback blockquote{
	margin:0 0 7px;
	padding:0;
	border:0;
	color:#263c58;
	font-size:13px;
	line-height:1.55;
	font-style:normal;
}

.mcd-intro__review-fallback figcaption{
	color:#52677b;
	font-size:12px;
	font-weight:700;
}

/* Keep badges in a compact block directly below the content/review area. */
.mcd-intro__badges{
	margin-top:0!important;
}

/* The homepage Notes field was visually too tall. */
.mcd-intro__form .wpcf7 textarea{
	height:108px!important;
	min-height:108px!important;
	max-height:132px!important;
	resize:vertical!important;
}

/* Also keep service/contact forms compact on narrow devices. */
@media(max-width:640px){
	.mcd-intro__review{
		min-height:84px;
		padding:10px 12px;
		margin-bottom:14px;
	}

	.mcd-intro__form .wpcf7 textarea,
	.mcd-service-hero-form .wpcf7 textarea,
	.mycity-appointment-card .wpcf7 textarea{
		height:94px!important;
		min-height:94px!important;
		max-height:118px!important;
	}
}


/* ==========================================================================
   Performance-only v7.6 — service CTA button visibility
   CSS only: no new requests, JavaScript, images, pages, or layout changes.
   ========================================================================== */

/* Homepage/service category cards.
   Earlier rules produced white text on a white hover button. Keep the CTA
   consistently visible using the My City Dental teal/navy palette. */
.mcd-service-card__button,
a.mcd-service-card__link .mcd-service-card__button{
	background:#31c3c0!important;
	border:1px solid #31c3c0!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
	border-radius:6px;
	box-shadow:0 8px 20px rgba(49,195,192,.20);
}

.mcd-service-card__link:hover .mcd-service-card__button,
.mcd-service-card__link:focus-visible .mcd-service-card__button,
.mcd-service-card__link:active .mcd-service-card__button,
.mcd-service-card__link.is-revealed .mcd-service-card__button{
	background:#1f3b5c!important;
	border-color:#1f3b5c!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
}

/* Shared service-page top "Book an Appointment" pill.
   Preserve the existing navy component but force readable white text. */
.mcd-service-book-button,
.mcd-service-book-button:visited{
	background:#243f5f!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
	text-decoration:none!important;
}

.mcd-service-book-button:hover,
.mcd-service-book-button:focus-visible{
	background:#31c3c0!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
}

/* Taxonomy/category bottom appointment CTA uses an explicit component style,
   avoiding generic anchor-color overrides. */
.mcd-intro__cta,
.mcd-intro__cta:visited{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	padding:12px 22px;
	border-radius:999px;
	background:#243f5f!important;
	border:1px solid #243f5f!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
	font-size:14px;
	font-weight:700;
	line-height:1.2;
	text-decoration:none!important;
	box-shadow:0 8px 22px rgba(36,63,95,.16);
}

.mcd-intro__cta:hover,
.mcd-intro__cta:focus-visible{
	background:#31c3c0!important;
	border-color:#31c3c0!important;
	color:#fff!important;
	-webkit-text-fill-color:#fff!important;
}

/* v12 CLS reserve for the static homepage review on narrow screens. */
@media(max-width:640px){.mcd-intro__review{min-height:126px!important}}
