/* 32'Pearls logo palette, loaded after Bootstrap. */
:root {
    --primary: #064B9B;
    --secondary: #BB1020;
    --light: #EEF8FF;
    --dark: #07234B;
    --brand-cyan: #18BDE5;
    --bs-primary: #064B9B;
    --bs-secondary: #BB1020;
    --bs-light: #EEF8FF;
    --bs-dark: #07234B;
}
body { color: #405169; }
a { color: var(--primary); }
a:hover { color: var(--secondary); }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { color: var(--dark); }
.text-primary { color: var(--primary) !important; }
.text-secondary { color: var(--secondary) !important; }
.text-dark { color: var(--dark) !important; }
.text-light { color: var(--light) !important; }
.bg-primary { background-color: var(--primary) !important; }
.bg-secondary { background-color: var(--secondary) !important; }
.bg-dark { background-color: var(--dark) !important; }
.bg-light { background-color: var(--light) !important; }
.border-primary { border-color: var(--primary) !important; }
.border-secondary { border-color: var(--secondary) !important; }
.border-dark { border-color: var(--dark) !important; }
.border-light { border-color: var(--light) !important; }
.btn-primary { color: #fff; background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle { color: #fff; background-color: #043775; border-color: #043775; }
.btn-primary:disabled, .btn-primary.disabled { color: #fff; background-color: var(--primary); border-color: var(--primary); }
.btn-secondary { color: #fff; background-color: var(--secondary); border-color: var(--secondary); }
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle { color: #fff; background-color: #930B18; border-color: #930B18; }
.btn-secondary:disabled, .btn-secondary.disabled { color: #fff; background-color: var(--secondary); border-color: var(--secondary); }
.btn-dark { color: #fff; background-color: var(--dark); border-color: var(--dark); }
.btn-dark:hover, .btn-dark:focus, .btn-dark:active { color: #fff; background-color: #04172F; border-color: #04172F; }
.btn-outline-primary { color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active, .btn-outline-primary.active { color: #fff; background-color: var(--primary); border-color: var(--primary); }
.btn-outline-secondary { color: var(--secondary); border-color: var(--secondary); }
.btn-outline-secondary:hover, .btn-outline-secondary:focus, .btn-outline-secondary:active, .btn-outline-secondary.active { color: #fff; background-color: var(--secondary); border-color: var(--secondary); }
.btn-primary:focus, .btn-outline-primary:focus, .btn-dark:focus { box-shadow: 0 0 0 .25rem rgba(24,189,229,.35); }
.btn-secondary:focus, .btn-outline-secondary:focus { box-shadow: 0 0 0 .25rem rgba(187,16,32,.25); }
.form-control:focus, .form-select:focus { border-color: var(--primary); box-shadow: 0 0 0 .25rem rgba(6,75,155,.18); }
.form-check-input:checked { background-color: var(--primary); border-color: var(--primary); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--primary); }
.dropdown-item.active, .dropdown-item:active, .page-item.active .page-link, .nav-pills .nav-link.active { color: #fff; background-color: var(--primary); border-color: var(--primary); }
.page-link { color: var(--primary); }
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link.active { color: var(--secondary); }
.top-shape::before { background: var(--primary); }
.section-title h5::before { background: var(--primary); }
.section-title h5::after { background: var(--brand-cyan); }
.appointment-form { background: linear-gradient(145deg, rgba(6,75,155,.97), rgba(7,35,75,.97)); border-top: 4px solid var(--brand-cyan); }
.offer-text, .testimonial-carousel { background: rgba(6,75,155,.95); }
/* Keep homepage banner photos free of the blue overlay. */
.dentcare-home-banner .carousel-caption { background: transparent; }
.hero-header, .bg-appointment { background-image: linear-gradient(rgba(7,35,75,.85),rgba(7,35,75,.85)), url('../images/carousel-1.jpg'); }
.bg-offer { background-image: url('../images/carousel-1.jpg'); }
.bg-testimonial { background-image: url('../images/carousel-2.jpg'); }
.bg-dark .text-primary { color: var(--brand-cyan) !important; }
.bg-dark a.text-light:hover, .bg-dark a.text-white:hover { color: var(--brand-cyan) !important; }
::selection { color: #fff; background: var(--primary); }

/* Highlight the clinic name beside its logo. */
.dentcare-site-nav .dentcare-brand { display:flex; align-items:center; gap:.75rem; white-space:normal; min-width:0; }
.dentcare-brand-name { display:flex; flex-direction:column; font-family:'Jost',sans-serif; line-height:1.15; border-bottom:3px solid var(--brand-cyan); padding-bottom:.4rem; }
.dentcare-brand-title { color:var(--secondary); font-size:1.9rem; font-weight:700; }
.dentcare-brand-description { color:var(--primary); font-size:.95rem; font-weight:700; max-width:200px; margin-top:.25rem; }
@media (min-width:1200px) {
    .dentcare-site-nav .navbar-nav .nav-link { padding-left:10px; padding-right:10px; font-size:16px; }
}
@media (max-width:1199.98px) {
    .dentcare-site-nav .navbar-nav .nav-link { padding:10px 0; }
}
@media (max-width:575.98px) {
    .dentcare-site-nav { padding-left:1rem !important; padding-right:1rem !important; }
    .dentcare-site-nav .dentcare-brand { gap:.4rem; margin-right:.5rem; max-width:calc(100% - 65px); }
    .dentcare-site-nav .dentcare-header-logo { width:76px; height:51px; flex-shrink:0; }
    .dentcare-brand-title { font-size:1.25rem; }
    .dentcare-brand-description { font-size:.75rem; max-width:170px; }
}

/* Center the full clinic name above the main header navigation. */
.dentcare-centered-clinic-name { padding:1rem .5rem; background:var(--light); border-bottom:3px solid var(--brand-cyan); font-family:'Jost',sans-serif; font-size:clamp(.65rem,4vw,2.25rem); line-height:1.3; white-space:nowrap; }
.dentcare-centered-clinic-name strong { font-weight:700; }
.dentcare-clinic-title { color:var(--secondary); }
.dentcare-clinic-description { color:var(--primary); }

/* Keep the homepage banner full width and responsive. */
.dentcare-home-banner { width:100%; max-width:none; margin-left:0; margin-right:0; }
.dentcare-home-banner .carousel-item > img { display:block; width:100%; max-width:100%; height:clamp(360px,42vw,620px); object-fit:cover; object-position:center; }
@media (max-width:575.98px) {
    .dentcare-home-banner .carousel-item > img { height:360px; }
}

/* Keep clinic details together in one header row. */
.dentcare-header-bar { padding:.75rem 1rem; border-bottom:3px solid var(--brand-cyan); overflow-x:auto; }
.dentcare-header-line { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:1rem; width:100%; min-width:max-content; white-space:nowrap; font-size:clamp(.7rem,.9vw,.875rem); }
.dentcare-header-line > * { flex-shrink:0; }
.dentcare-header-line small { font-size:inherit; }
.dentcare-header-clinic { font-family:'Jost',sans-serif; font-size:clamp(1.15rem,1.65vw,1.65rem); font-weight:800; line-height:1.3; padding:.25rem .5rem; border-bottom:3px solid var(--brand-cyan); }

/* Highlight the clinic name in place of the newsletter form. */
.dentcare-signup-clinic-name { font-size:clamp(1.75rem,3.5vw,3.5rem); font-weight:800; line-height:1.25; }

/* Center testimonial content and keep navigation inside the mobile viewport. */
.dentcare-testimonials .testimonial-carousel { border:1px solid rgba(255,255,255,.25); }
.dentcare-testimonials .testimonial-item { max-width:640px; margin:0 auto; }
.dentcare-testimonials .testimonial-item img { width:120px; height:120px; object-fit:cover; border:4px solid rgba(255,255,255,.8); }
.dentcare-testimonials blockquote p { line-height:1.75; margin-bottom:0; }
.dentcare-testimonials .testimonial-carousel .owl-nav { position:static; width:100%; height:auto; display:flex; justify-content:center; gap:12px; margin-top:28px; }
.dentcare-testimonials .owl-nav button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media (max-width:575.98px) {
    .dentcare-testimonials .testimonial-item img { width:96px; height:96px; }
    .dentcare-testimonials blockquote p { font-size:1rem !important; }
}

/* Keep footer credits and the centered visitor counter on one line. */
.dentcare-footer-line { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; white-space:nowrap; overflow-x:auto; }
.dentcare-footer-line > p { flex:1 0 auto; }
.dentcare-footer-line > p:nth-child(2) { text-align:center; }
.dentcare-footer-line > p:last-child { text-align:right; }

/* Highlight booking field names against the blue appointment panel. */
.appointment-form .dentcare-booking .form-label { color:#FFE082; font-weight:700; }
.appointment-form .dentcare-booking label:not(.form-label),
.appointment-form .dentcare-booking .small { color:#FFFFFF; }

/* Prominent WhatsApp appointment booking actions. */
.dentcare-whatsapp-button, .dentcare-whatsapp-float { color:#fff; background:#087C3E; font-weight:700; }
.dentcare-whatsapp-button:hover, .dentcare-whatsapp-button:focus, .dentcare-whatsapp-float:hover, .dentcare-whatsapp-float:focus { color:#fff; background:#065B2E; }
.dentcare-whatsapp-float { position:fixed; left:20px; bottom:24px; z-index:1000; display:flex; align-items:center; gap:10px; padding:12px 20px; border:2px solid #fff; border-radius:50px; box-shadow:0 4px 18px rgba(0,0,0,.3); text-decoration:none; }
.dentcare-whatsapp-float i { font-size:30px; }
.dentcare-whatsapp-float:focus-visible { outline:3px solid var(--brand-cyan); outline-offset:3px; }
@media(max-width:575.98px) { .dentcare-whatsapp-float { left:12px; bottom:16px; padding:10px 14px; font-size:13px; } }
