/* ── Modern Minimalist Dentalcare Theme ── */
@font-face{font-family:'DM Serif Display';font-style:normal;font-display:swap;font-weight:400;src:url('/static/lib/fonts/dm-serif-display-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:400;src:url('/static/lib/fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:500;src:url('/static/lib/fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:600;src:url('/static/lib/fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:700;src:url('/static/lib/fonts/inter-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:800;src:url('/static/lib/fonts/inter-latin-800-normal.woff2') format('woff2')}

:root{
    --theme-color-1: #2AA7FF;
    --theme-color-2: #FF684C;
    --theme-color-3: #4CD080;
    --theme-color-4: #FFB200;
    --theme-color-5: #1B3C74;
    --body-bg: #ffffff;
    --font-color: #44474E;
    --heading-color: #1B3C74;
    --font-white: #ffffff;
    --border-light: rgba(0,0,0,0.06);
    --shadow-sm: 0 2px 12px rgba(0,0,0,0.04);
    --shadow-hover: 0 8px 30px rgba(0,0,0,0.08);
    --radius: 8px;
    --transition: 0.25s ease;
}

html{scroll-behavior:smooth}
body{
    background-color: var(--body-bg);
    margin: 0; padding: 0;
    font-size: 16px; line-height: 1.7;
    font-family: "Microsoft YaHei", 'Inter', "PingFang SC", "Noto Sans SC", sans-serif;
    font-weight: 400;
    color: var(--font-color);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3{color: var(--heading-color);margin-bottom: 0;font-family: "Microsoft YaHei", 'DM Serif Display', Georgia, "PingFang SC", "Noto Sans SC", serif;font-weight: 500;letter-spacing:-0.02em}
h4, h5{color: var(--heading-color);margin-bottom: 0;font-family: "Microsoft YaHei", 'DM Serif Display', Georgia, "PingFang SC", "Noto Sans SC", serif;font-weight: 500}
p{margin-bottom: 0;color: var(--font-color);line-height: 1.7}
a, a:hover, a:active, a:focus{color: inherit;text-decoration: none}
ul{list-style: none;margin: 0;padding: 0}

.theme-btn{
    border-radius: var(--radius);
    height: 48px;
    text-align: center;
    border: none;
    max-width: max-content;
    width: auto;
    padding: 10px 32px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Microsoft YaHei", 'Inter', "PingFang SC", "Noto Sans SC", sans-serif;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.01em;
    cursor: pointer;
    transition: var(--transition);
}
.btn-main{color: #fff;background: var(--theme-color-1);}
.btn-main:hover{background: #1171b5;color: #fff;transform: translateY(-1px);box-shadow: 0 4px 14px rgba(42,167,255,0.3);}
.btn-secondary{color: #fff;background: var(--theme-color-5);}
.btn-secondary:hover{background: #1757c3;color: #fff;transform: translateY(-1px);}

/* ── Navbar ── */
.navbar{
    position: absolute; width: 100%; z-index: 1030; left: 0;
    background: transparent;
    padding: 8px 0;
    transition: var(--transition);
}
.navbar.fixed-top{
    position: fixed;
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 12px rgba(0,0,0,0.05);
}
.navbar-dark .navbar-nav .nav-link{
    color: var(--font-color);
    font-family: "Microsoft YaHei", 'Inter', "PingFang SC", "Noto Sans SC", sans-serif;
    font-weight: 500;
    font-size: 15px;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 8px 0;
    position: relative;
}
.navbar-dark .navbar-nav .nav-link::after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--theme-color-1);transition:var(--transition);transform:translateX(-50%)}
.navbar-dark .navbar-nav .nav-link:hover::after,.navbar-dark .navbar-nav .nav-link.active::after{width:20px}
.dropdown .nav-link:after{font-family:"Fontawesome";font-weight:400;content:"\f107";margin-left:5px;font-size:12px;border:none!important;width:auto!important;height:auto!important;transform:none!important}
.navbar-nav .nav-item{margin-right: 25px}
.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover{color: var(--theme-color-1)}
.navbar-dark .navbar-nav .nav-link.active{color: var(--theme-color-1)}

@media (min-width: 768px) {
    .animate {animation-duration: 0.3s;-webkit-animation-duration: 0.3s;animation-fill-mode: both;-webkit-animation-fill-mode: both;}
}
@keyframes slideIn {
    0% {transform: translateY(1rem);opacity: 0;}
    100% {transform: translateY(0rem);opacity: 1;}
}
.slideIn {-webkit-animation-name: slideIn;animation-name: slideIn;}
.dropdown-menu{
    min-width: 12rem;
    border: none;
    border-radius: var(--radius);
    box-shadow: var(--shadow-hover);
    padding: 8px 0;
}
.dropdown-menu li{margin: 0}
.dropdown-menu li a{
    color: var(--font-color);
    font-size: 15px;
    font-family: "Microsoft YaHei", 'Inter', "PingFang SC", "Noto Sans SC", sans-serif;
    font-weight: 500;
    padding: 8px 20px;
    transition: var(--transition);
}
.navbar .nav-item:hover .dropdown-menu{box-shadow: var(--shadow-hover);border: none;}
.dropdown-menu li a:hover{color: var(--theme-color-1);background: rgba(42,167,255,0.06);margin-left:0}

/* ── Banner ── */
.banner-section{
    background-image: url('/static/frontend/images/main-banner-bg.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    width: 100%;
    height: 800px;
    display: block;
    overflow: hidden;
}
.banner-grid{width: 100%;height: 100%;display: table;position: relative;z-index: 15;}
.banner-grid-wrapper{vertical-align: middle;display: table-cell;}
.banner-shape{position: absolute;bottom: -2px;left: 0;width: 100%;height: auto;z-index: 10;display: flex;align-items: center;justify-content: center;}
.banner-content-wrapper{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: left;
    width: 100%;
}
.banner-main-heading{font-size: 54px;line-height: 1.25;margin-bottom: 20px;color: var(--heading-color);letter-spacing:-0.03em}
.banner-description{margin-bottom: 30px;font-size: 18px;line-height: 1.6;color: var(--font-color);max-width: 540px}
.banner-btns{width: 100%;display: flex;gap: 16px}
.banner-image-wrapper{height: 100%;display: flex;align-items: center;}

#backTop {
    position: fixed;bottom: 30px;right: 30px;z-index: 99;
    font-size: 18px;border: none;outline: none;
    background: var(--theme-color-1);color: white;cursor: pointer;
    width: 48px;height: 48px;border-radius: 50%;
    display: flex;align-items: center;justify-content: center;
    box-shadow: 0 4px 14px rgba(42,167,255,0.3);
    opacity: 0;visibility: hidden;
    transition: all 0.3s ease;
}
#backTop.visible{opacity:1;visibility:visible}
#backTop:hover{background: #1171b5;transform: translateY(-2px);}

.banner-list-info{position: absolute;bottom: 4rem;width: 50%;display: block;}
.banner-list-info ul{display: flex;gap: 8px}
.banner-list-info ul li{flex: 1;background: rgba(255,255,255,0.85);backdrop-filter:blur(8px);border-radius:var(--radius);padding:16px 20px;border:1px solid rgba(255,255,255,0.5)}
.banner-list-info ul li h3{font-size: 24px;color:var(--theme-color-1)}

.section-small-heading{color: var(--theme-color-1);margin-bottom: 10px;font-weight: 600;font-size: 14px;text-transform: uppercase;letter-spacing: 0.08em}
.section-main-heading{color: var(--theme-color-5);font-size: 38px;line-height: 1.25;letter-spacing:-0.02em}
.section{padding: 80px 0;position: relative;}

/* ── Services ── */
.services-card-wrapper{
    background: #fff;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: 32px 24px;
    height: 100%;
    transition: var(--transition);
}
.services-card-wrapper:hover{box-shadow: var(--shadow-hover);transform: translateY(-4px);border-color: transparent}
.services-card-wrapper img{transition: var(--transition);width: 56px;height: 56px;object-fit: contain}
.services-card-wrapper:hover img{transform: scale(1.06)}
.service-card-heading{font-size: 22px;margin: 20px 0 12px}
.service-explore-link{margin-top: 16px;color: var(--theme-color-5);font-weight: 600;display: inline-flex;align-items: center;gap: 6px;font-size: 15px}
.service-explore-link:hover{color: var(--theme-color-1);gap: 10px}

/* ── About ── */
.about-section-img-small img{
    width: 100%;height: 60%;object-fit: cover;border-radius: 24px 4px;box-shadow: var(--shadow-hover)
}
.about-section-img-small{height: 100%;width: 100%;display: flex;justify-content: flex-end;align-items: flex-end;}
.about-section-info{height: 100%;width: 100%;display: block;}
.about-section-img{text-align:center}
.about-section-img img{max-width:100%;border-radius:var(--radius);box-shadow: var(--shadow-sm)}
.about-section-wrapper{margin-top:0;padding-right:15px}
.about-section-wrapper p{line-height:1.8;margin-bottom:12px}
.about-section-wrapper .row.g-3 .col-sm-6 .d-flex{align-items:center;display:flex;gap:12px;padding:14px 16px;background:#f8fafb;border-radius:var(--radius);transition:var(--transition);border:1px solid transparent}
.about-section-wrapper .row.g-3 .col-sm-6 .d-flex:hover{background:var(--theme-color-1);color:#fff;border-color:var(--theme-color-1)}
.about-section-wrapper .row.g-3 .col-sm-6 .d-flex:hover h6,.about-section-wrapper .row.g-3 .col-sm-6 .d-flex:hover small{color:#fff}
.about-section-wrapper .row.g-3 .col-sm-6 .d-flex img{width:44px;height:44px;object-fit:contain}
.about-section-wrapper .row.g-3 .col-sm-6 .d-flex h6{margin-bottom:0;font-size:15px;font-weight:600;color:var(--heading-color);transition:color .3s}
.about-section-wrapper .row.g-3 .col-sm-6 .d-flex small{color:var(--font-color);font-size:13px;transition:color .3s}

/* ── Contact Section ── */
.section.contact{
    background-image: url('/static/frontend/images/main-banner-1.png');
    background-position: center;
    background-size: cover;
    width: 100%; position: relative; display: block;
    padding-top: 5rem; padding-bottom: 25rem;
}
.contact-box{
    background: var(--theme-color-1);
    border-radius: var(--radius);
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 20px;
}
.contact-box-icon{
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    width: 60px; height: 60px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.contact-box-icon img{width:28px;height:28px;object-fit:contain}
.contact-box-icon i{font-size:26px;color:#fff}
.contact-box-info h3{font-size: 18px;color: #fff;margin-bottom: 6px;}
.contact-box-info a{color: #fff;font-size:15px;opacity:0.9}
.contact-box-info a:hover{opacity:1}
.contact-box-info p{color:#fff;font-size:14px;margin:0;opacity:0.8}
.contact-section-img{width: 94%;height: 100%;position: relative;}
.contact-section-img img.contact{width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
.contact-award-layer{
    background: #fff;
    box-shadow: var(--shadow-hover);
    border-radius: var(--radius);
    position: absolute;
    top: -30px;
    padding: 16px;
    left: -40px;
    text-align: center;
}
.contact-skills-layer{
    background: #fff;
    box-shadow: var(--shadow-hover);
    border-radius: var(--radius);
    position: absolute;
    bottom: -45px;
    padding: 16px;
    right: -30px;
    text-align: center;
}
.contact-skills-layer h3{font-size: 15px;margin-bottom: 6px;}

/* ── Appointment Form ── */
.meet-form{position: relative;margin-top: -16rem;}
.meet-form-wrapper{
    background: #fff;
    box-shadow: var(--shadow-hover);
    border-radius: 12px;
    padding: 36px;
}
.form-input-wrapper{display: block;position: relative;width: 100%;margin-bottom: 20px;}
.meet-form-input{
    background: #F2F6F9;
    border-radius: var(--radius);
    height: 50px;
    padding: 10px 36px 10px 14px;
    width: 100%;
    border: none;
    color: var(--font-color);
    font-size: 15px;
    transition: var(--transition);
}
.meet-form-input:focus{outline:none;box-shadow:0 0 0 2px var(--theme-color-1)}
.meet-form-input::placeholder{color: #9E9FA0;}
.form-input-wrapper .theme-btn{width: 100%;max-width: 100%;}
.form-input-wrapper i{position: absolute;top: 16px;right: 12px;color: #9E9FA0;}

/* ── Choose Us ── */
.section-choose-img-box{
    background: url('/static/frontend/images/main-banner-1.png');
    border-radius: var(--radius);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    display: block;
    position: relative;
    padding: 48px;
    margin-top: 5rem;
}
.section-choose-img-box h3{font-size: 22px;line-height: 1.4;margin-bottom: 16px;color: var(--heading-color)}
.section-choose-img-box a{color: var(--theme-color-1);font-weight: 600;}
.section-choose-img-box img.person{position: absolute;top: -55px;width: 220px;right: 10px;}
.choose-inner-card{
    width: 100%;
    position: relative;
    display: block;
    padding: 24px 16px;
    text-align: center;
    transition: var(--transition);
    border-radius: var(--radius);
}
.choose-inner-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}
.choose-inner-icon{
    max-width: 48px;
    width: 48px; height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}
.choose-inner-icon.one{background: rgba(42, 167, 255, 0.12);}
.choose-inner-icon.two{background: rgba(255, 104, 76, 0.12);}
.choose-inner-icon.three{background: rgba(76, 208, 128, 0.12);}
.choose-inner-icon.four{background: rgba(255, 178, 0, 0.12);}
.choose-inner-info h3{font-size: 20px;line-height: 1.4;margin: 0}

/* ── Testimonial ── */
.section.testimonial{
    background-image: url('/static/frontend/images/main-banner-2.png');
    background-position: center;
    background-size: cover;
    width: 100%; position: relative; display: block;
}
.testimonial-card{
    background: #fff;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: 32px;
    margin-bottom: 24px;
    height: 100%;
    transition: var(--transition);
}
.testimonial-card:hover{box-shadow:var(--shadow-hover)}
.tc-author{display: flex;align-items: center;justify-content: space-between;margin-bottom: 20px;}
.tc-author-info{display: flex;align-items: center;gap: 12px}
.tc-author-info-text h3{font-size: 20px;line-height: 1.3;}
.tc-author-info img{width: 48px;height: 48px;object-fit: cover;border-radius: 50%;}
.tc-author-stars i{color: #FFAB07;font-size: 14px;}

/* ── Carosel Nav ── */
.carosel-nav-left-testi{
    background: #fff;
    border: 1px solid var(--border-light);
    width: 44px; height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--theme-color-1);
    cursor: pointer;
    transition: var(--transition);
    margin-right: 12px;
}
.carosel-nav-left-testi:hover{box-shadow:var(--shadow-hover)}
.carosel-nav-right-testi{
    background: var(--theme-color-1);
    width: 44px; height: 44px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    cursor: pointer;
    transition: var(--transition);
    border: none;
}
.carosel-nav-right-testi:hover{background:#1171b5;transform:translateX(2px)}
.carosel-arrow{display: flex;align-items: center;}
.map-img{display: flex;height: 100%;align-items: center;}

/* ── Team ── */
.team-card{
    background: url('/static/frontend/images/main-banner-1.png');
    border-radius: var(--radius);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    display: block;
    position: relative;
    padding: 32px 16px 0;
    text-align: center;
    height: 100%;
    transition: var(--transition);
}
.team-card:hover{transform: translateY(-4px);box-shadow: var(--shadow-hover)}
.team-card h3{font-size: 20px;line-height: 1.4;margin-top: 16px;}
.team-card p{color: var(--theme-color-1);margin-bottom: 24px;font-size: 14px;}
.team-card img{width: 140px;height: 140px;object-fit: contain;transition: var(--transition)}
.team-card:hover img{transform: scale(1.04)}
.team-social-btns li{display: inline-block;}
.team-social-btns li a{
    background: #fff;
    width: 36px; height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--theme-color-1);
    margin: 0 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: var(--transition);
}
.team-social-btns li a:hover{background:var(--theme-color-1);color:#fff}
.team-social-btns{
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}
.team-card:hover .team-social-btns{opacity: 1;visibility: visible;}

/* ── FAQ ── */
.faq-image-wrapper{
    border-radius: var(--radius);
    width: 300px;
    background-color: var(--theme-color-3);
    padding: 4rem;
    position: relative;
    height: 350px;
    margin: auto;
}
.faq-image-wrapper img.faq-bg{position: absolute;top: -50px;height: 400px;left:50%;transform:translateX(-50%)}
.faq-content-tab .accordion-item{background-color: transparent;border: none;}
.faq-content-tab .accordion-button{
    padding: 14px 0;
    margin-bottom: 8px;
    background-color: transparent;
    font-size: 17px;
    line-height: 1.4;
    color: var(--heading-color);
    font-weight: 600;
}
.faq-content-tab .accordion-body{
    background: #fff;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: 20px;
    margin-bottom: 16px;
    font-size: 15px;
    color: var(--font-color);
    line-height: 1.7;
}
.faq-content-tab .accordion-button:not(.collapsed){color: var(--theme-color-1);background-color: transparent;box-shadow: none;}
.section.faq{
    background-image: url('/static/frontend/images/main-banner-1.png');
    background-position: center;
    background-size: cover;
    width: 100%; position: relative; display: block;
}
.faq-content-tab .accordion-button::after{
    content: "\f067";
    font-family: FontAwesome;
    font-weight: 400;
    background-image: none;
    width: auto; height: auto;
}
.faq-content-tab .accordion-button:not(.collapsed)::after{
    content: "\f068";
    font-family: FontAwesome;
    font-weight: 400;
    background-image: none;
}
.faq-info-box{
    background: #fff;
    box-shadow: var(--shadow-hover);
    border-radius: var(--radius);
    position: absolute;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    bottom: -35px;
    right: -40px;
}
.faq-info-box img{width: 36px;height: 36px;}
.faq-info-box h3{font-size: 15px;}

/* ── Blog ── */
.blog-card-wrapper{
    background: #fff;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    height: 100%;
    display: block;
    transition: var(--transition);
    overflow: hidden;
}
.blog-card-wrapper:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}
.blog-card-wrapper:hover .blog-card-image img{transform:scale(1.06)}
.blog-card-image{overflow:hidden;position: relative;width: 100%;height: 220px;}
.blog-card-image img{transition:all .4s ease;height: 100%;width: 100%;object-fit: cover;}
.blog-posted{
    position: absolute;
    background: var(--theme-color-1);
    right: 16px;
    bottom: -22px;
    width: 48px;
    text-align: center;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 13px;
    border-radius: 50%;
    flex-direction:column;
    line-height: 1.2;
}
.blog-card-info{padding: 28px 20px;position: relative;}
.blog-post-date{font-size: 22px;margin: 8px 0;}
.read-more-link{font-size: 15px;font-weight: 600;color: var(--heading-color);display: inline-flex;align-items: center;gap: 6px;transition:var(--transition)}
.read-more-link:hover{color: var(--theme-color-1);gap: 10px}
.blog-postrd-by{font-size: 13px;color: #999;}

/* ── Subscribe ── */
.subscribe-container{
    background: #fff;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: 32px;
}
.subscribe-input-wrapper{position: relative;height: 100%;}
.subscribe-input-wrapper form{position: relative;height: 100%;}
.subscribe-input{
    background: #F2F6F9;
    border-radius: var(--radius);
    height: 56px;
    padding: 10px 140px 10px 20px;
    width: 100%;
    border: none;
    font-size: 15px;
    transition: var(--transition);
}
.subscribe-input:focus{outline:none;box-shadow:0 0 0 2px var(--theme-color-1)}
.subscribe-input-wrapper form .theme-btn{position: absolute;top: 4px;right: 4px;height: 48px;}

/* ── Footer ── */
footer{
    background: var(--heading-color);
    padding-top: 64px;
    display: block;
    position: relative;
    width: 100%;
}
.footer-about-wrapper h3{color: var(--font-white);font-size: 32px;margin-bottom: 20px;letter-spacing:-0.02em}
.footer-about-wrapper p{color: rgba(255,255,255,0.7);margin-bottom: 24px;line-height: 1.7}
.footer-social-list li{display: inline-block;margin-right: 10px;}
.footer-social-list li a{
    background: rgba(255,255,255,0.08);
    width: 36px; height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: rgba(255,255,255,0.6);
    transition: var(--transition);
}
.footer-social-list li a:hover{background: var(--theme-color-1);color: #fff}
.footer-block-heading{font-size: 20px;color: var(--font-white);margin-bottom: 24px;font-weight: 600}
.footer-link-list{display: flex;}
.footer-link-list ul{display: inline-block;flex: 50%;}
.footer-link-list ul li{margin-bottom: 10px;}
.footer-link-list ul li a{color: rgba(255,255,255,0.7);transition: var(--transition);font-size: 15px}
.footer-link-list ul li a:hover{color: var(--theme-color-1);padding-left: 4px}
.footer-link-list ul li a::before{
    content: "\f105";
    font-family: FontAwesome;
    margin-right: 10px;
    color: rgba(255,255,255,0.3);
}
.footer-hours-list li{color: rgba(255,255,255,0.8);display: flex;margin-bottom: 12px;font-size: 15px;}
.footer-hours-list li span{flex: 50%;}
.footer-hours-list li span.day{color: var(--theme-color-1);}
.footer-bottom-wrapper{
    border-top: 1px solid rgba(255,255,255,0.08);
    padding: 24px 0;
    margin-top: 32px;
    text-align: center;
    color: #fff;
    font-size: 14px;
}
.footer-bottom-wrapper a{color:rgba(255,255,255,0.7)}
.footer-bottom-wrapper a:hover{color:#fff}

/* ── Page Banner ── */
.page-banner-section{
    background-image: url('/static/frontend/images/main-banner-1.png');
    background-position: center;
    background-size: cover;
    width: 100%;
    display: block;
    height: 360px;
    position: relative;
}
.page-banner-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:100%;padding:0 20px}
.page-banner-inner ul{margin-top:10px}
.page-banner-inner ul li{display:inline-block;font-size:14px;color:var(--font-color);font-family:"Microsoft YaHei",'Inter',system-ui,sans-serif;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.page-banner-inner ul li a{color:var(--font-color);transition:var(--transition)}
.page-banner-inner ul li a:hover{color:var(--theme-color-1)}
.page-banner-inner ul li span.slash{margin:0 8px;color:#ccc}
.page-heading{font-size:38px;margin-bottom:4px;text-align:center;word-wrap:break-word}
@media(max-width:768px){.page-heading{font-size:26px;line-height:1.3}.page-banner-inner ul li{font-size:13px;max-width:120px}.page-banner-section{height:260px}}

/* ── Dentist Appointment ── */
.section.dentist-appointment{
    background:linear-gradient(rgba(42,167,255,0.85),rgba(42,167,255,0.85)),url("/static/frontend/images/dentist-appointment-bg.jpg");
    background-position: center;
    background-size: cover;
    width: 100%; display: block; position: relative;
}
b{font-weight: 700;}
.dentist-appointment-wrapper p{font-size: 32px;line-height: 1.4;color: var(--font-white);}
.dentist-appointment-btns{display: flex;justify-content: space-between;height: 100%;align-items: center;}
.theme-btn.btn-main.additional{background: transparent;border: 2px solid rgba(255,255,255,0.8);color: #fff;}
.theme-btn.btn-main.additional:hover{background:rgba(255,255,255,0.1);border-color:#fff}

/* ── Sidebar ── */
.sidebar-wrapper{position:sticky;top:100px}
.sidebar-search{position: relative;margin-bottom: 24px;}
.search-input{width:100%;padding:12px 40px 12px 16px;height:48px;border-radius:var(--radius);border:1px solid var(--border-light);font-size:15px;transition:var(--transition)}
.search-input:focus{outline:none;border-color:var(--theme-color-1)}
.search-btn{position: absolute;border: none;top: 12px;color: var(--theme-color-1);right: 12px;background: transparent}
.widget-heading{font-size: 18px;margin-bottom: 20px;font-weight: 600}
.popular-service-list li{padding: 10px 0;}
.popular-service-list li a{font-weight: 500;font-size: 15px}
.popular-service-list li:hover{background: rgba(42,167,255,0.04);border-left: 3px solid var(--theme-color-1);padding-left: 12px;}
.popular-service-list li a:hover{color: var(--theme-color-1);}
.sidebar-working-hours{margin: 20px 0;background: var(--theme-color-1);border-radius: var(--radius);padding: 24px;}
.widget-working-hours li{margin: 10px 0;display: flex;justify-content: space-between;color: rgba(255,255,255,0.9);font-size: 15px}
.sidebar-working-hours .widget-heading{color: var(--font-white);}
.sidebar-help-info{
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: 28px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.sidebar-help-info h3{margin: 12px 0;font-size: 18px;}
.sidebar-help-info p{font-size: 18px;font-weight: 600;color: var(--theme-color-1)}
.sidebar-tags{margin-top: 24px;}
.sidebar-tags ul li{
    display: inline-block;
    margin-right: 4px;
    border: 1px solid var(--border-light);
    padding: 6px 14px;
    margin-bottom: 8px;
    border-radius: 20px;
    font-size: 13px;
    transition: var(--transition);
}
.sidebar-tags ul li:hover{border-color:var(--theme-color-1);background:rgba(42,167,255,0.04)}

/* ── Service Detail ── */
.department-content-wrapper .service-img{width: 100%;height: 350px;object-fit: cover;border-radius:var(--radius)}
.service-main-heading{margin: 24px 0 16px;font-size: 24px;}
.service-small-heading{margin: 24px 0 12px;font-size: 20px;}
.department-content-wrapper p{margin-bottom: 20px;}
.quote-description{font-style: italic;border-left: 3px solid var(--theme-color-1);padding-left: 20px;margin: 24px 0;color: #666}
.service-small-img{width: 100%;height: 200px;object-fit: cover;border-radius:var(--radius)}
.pricing-heading-price{display: flex;justify-content: space-between;margin: 15px 0;}
.pricing-service-image img{width: 100%;height: 180px;object-fit: cover;border-radius:var(--radius) var(--radius) 0 0}
.pricing-service-info{margin: 15px 0;}
.pricing-service-image{position: relative;overflow: hidden;}
.offer-banner{top: 10px;position: absolute;width: 200px;padding: 4px;background: var(--theme-color-3);z-index: 10;right: -68px;color: #fff;text-align: center;transform: rotate(35deg);font-size:13px}
.pricing-contact{width: 100%;max-width: 100%;border-radius: 0;}

/* ── Post Detail ── */
.post-details li{display: inline-block;margin-right: 12px;font-size: 14px;color: #888}
.post-details li i{color: var(--theme-color-1);margin-right: 6px;}
.share-article{text-align: center;margin: 40px 0;}
.share-article li{display: inline-block;margin: 0 4px;}
.share-article p{font-style: italic;margin-bottom: 12px;color: #888}
.share-article li a{
    border: 1px solid var(--border-light);
    border-radius: 50%;
    width: 40px; height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--theme-color-1);
    transition: var(--transition);
}
.share-article li a:hover{background:var(--theme-color-1);color:#fff;border-color:var(--theme-color-1)}
.comments-wrapper{display: flex;align-items: flex-start;}
.comments-author-image{width: 60px;height: 60px;margin-right: 16px;flex-shrink:0}
.comments-author-image img{border-radius: 50%;}
.comments-author-info h3{font-size: 16px;}
.comments-author-info p{font-size: 14px;margin-bottom: 8px;}
.comment-reply-link{font-weight: 600;color: var(--theme-color-1);font-size: 14px;}
.comments-list li{margin-bottom: 24px;padding-bottom: 24px;border-bottom: 1px solid var(--border-light);}
.comments-list > li:last-child{border: none;margin-bottom: 0;}
.reply-list{margin-left: 80px;margin-top: 24px;}
.reply-input{height: 48px;width: 100%;display: block;border-radius:var(--radius);border:1px solid var(--border-light);padding:12px 16px;font-size:15px}
.reply-form-wrapper{margin-bottom: 20px;}
.comment-textarea{width:100%;display:block;border-radius:var(--radius);border:1px solid var(--border-light);padding:12px 16px;font-size:15px;min-height:100px}

/* ── Contact Page ── */
.contact-left-box{
    background:linear-gradient(rgba(42,167,255,0.85),rgba(42,167,255,0.85)),url("/static/frontend/images/dental-bg.jpg");
    background-position: center;
    background-size: cover;
    position: relative;
    width: 100%; height: 100%;
    border-radius: var(--radius);
    padding: 48px;
}
.contact-left-box h3{color: #fff;margin-bottom: 16px;}
.contact-left-box p{color: rgba(255,255,255,0.8);margin-bottom: 32px;}
.contact-info-list li{margin-bottom: 16px;color: #fff;display: flex;align-items: center;gap: 12px}
.contact-info-list li i{color: var(--theme-color-4);width: 20px;text-align:center}
.contact-social{margin-top: 40px;}
.contact-social li{display: inline-block;margin-right: 8px;}
.contact-social li a{
    background: rgba(255,255,255,0.15);
    width: 40px; height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 50%;
    transition: var(--transition);
}
.contact-social li a:hover{background:var(--theme-color-5)}
.meet-form-textarea{
    background: #F2F6F9;
    border-radius: var(--radius);
    padding: 12px 14px;
    width: 100%;
    border: none;
    color: var(--font-color);
    font-size: 15px;
    min-height: 100px;
    transition: var(--transition);
}
.meet-form-textarea:focus{outline:none;box-shadow:0 0 0 2px var(--theme-color-1)}

/* ── Contact Form Status ── */
.success-msg-contact{display: none;}
.success-msg-contact-display{
    position: absolute;
    display: block;
    padding: 12px 16px;
    background: var(--theme-color-1);
    font-size: 14px;
    border-radius: var(--radius);
    z-index: 10;
    bottom: 72px;
    left: 50%;
    color: #fff;
    width: 260px;
    transform: translateX(-50%);
}
.success-msg-contact-display p{display: flex;align-items: center;gap: 10px}
.check-success-icon{
    background: var(--theme-color-3);
    border-radius: 50%;
    width: 28px; min-width: 28px; height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.check-success-icon i{color: #fff;font-size: 14px}
.error-msg-contact{display: none;opacity: 0;transition:var(--transition)}
.error-msg-contact-display{
    display: block;
    opacity: 1;
    position: absolute;
    bottom: -6px;
    font-size: 11px;
    left: 0;
    color: #e74c3c;
}

/* ── Error / Coming Soon ── */
.error-page{width: 100%;height: 100vh;position: relative;}
.error-page-inner h1{color: var(--theme-color-1);font-size: 120px;line-height:1}
.text-gray-silver{color: #c0c0c0 !important;}
.error-page-inner{height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;}
.page-info-oops{margin: 10px;font-weight: 600;font-size: 24px;}
.comingsoon-container {
    background: linear-gradient(0deg, rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('/static/frontend/images/dental-tool.jpg');
    background-position: center;
    background-size: cover;
    width: 100%; position: relative;
    display: flex;
    height: 100vh;
    flex-direction: column;
    justify-content: center;
}
.comingsoon-page-wrapper{height: 100%;display: flex;align-items: center;flex-direction: column;justify-content: center;text-align: center;}
.comingsoon-page-wrapper h2{font-size: 40px;margin-bottom: 16px;color: #fff;}
.comingsoon-page-wrapper p{color: rgba(255,255,255,0.8);}
.soon-subscribe{margin: 24px 0;width: 80%;max-width: 500px}
.soon-form-wrapper{width: 100%;position: relative;}
.soon-input{width: 100%;height: 56px;background: #fff;border-radius: 30px;padding: 10px 140px 10px 20px;border: none;font-size:15px}
.soon-submit{
    position: absolute;
    padding: 10px 20px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--theme-color-1);
    color: #fff;
    border-radius: 30px;
    width: 120px;
    top: 5px;
    right: 5px;
    border: none;
    cursor: pointer;
    transition: var(--transition);
}
.soon-submit:hover{background:#1171b5}
.soon-counter{width: 100%;margin-top: 40px;}
.soon-counter-list{display: flex;align-items: center;justify-content: center;gap: 16px}
.soon-counter-list div{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 90px; height: 90px;
    background: rgba(42,167,255,0.2);
    border-radius: 16px;
    font-size: 30px;
    font-weight: 600;
    color: var(--theme-color-1);
}
.soon-counter-list div span{margin-top: 6px;font-size: 14px;color: #fff;opacity:0.8}

/* ── Policy ── */
.policy-main-heading{font-size: 22px;margin-bottom: 16px;margin-top: 20px;}
.policy-description{margin-bottom: 12px;}

/* ── Article Detail ── */
.article-detail-wrapper{padding-top:50px;padding-bottom:60px}
.article-detail-wrapper .main-image{border-radius:var(--radius);overflow:hidden;margin-bottom:28px}
.article-detail-wrapper .main-image img{width:100%;display:block}
.article-detail-wrapper .meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px;font-size:13px;color:#999}
.article-detail-wrapper .content p{line-height:1.85;margin-bottom:20px;font-size:16px}
.article-detail-wrapper .content img{border-radius:var(--radius);margin:24px 0;max-width:100%}
.article-detail-wrapper .content h2,.article-detail-wrapper .content h3{color:var(--heading-color);margin:32px 0 16px;font-family:"Microsoft YaHei",'DM Serif Display',Georgia,serif}
.article-detail-wrapper .content ul,.article-detail-wrapper .content ol{padding-left:24px;margin-bottom:24px}
.article-detail-wrapper .content li{margin-bottom:8px}
.article-nav{display:flex;gap:16px;margin-top:36px;padding-top:24px;border-top:1px solid var(--border-light)}
.article-nav a{flex:1;padding:16px 20px;border-radius:var(--radius);border:1px solid var(--border-light);font-size:14px;transition:var(--transition);color:var(--font-color);display:flex;align-items:center;gap:8px}
.article-nav a:hover{border-color:var(--theme-color-1);color:var(--theme-color-1);background:rgba(42,167,255,0.02)}

/* ── Blog Grid (Category) ── */
.blog-grid-page{padding-top:50px;padding-bottom:60px}

/* ── Search ── */
.search-page{padding-top:140px;padding-bottom:60px}
.search-input-wrap{display:flex;border:1.5px solid var(--border-light);border-radius:60px;overflow:hidden;background:var(--body-bg);margin-bottom:32px;transition:var(--transition);max-width:600px;margin-left:auto;margin-right:auto}
.search-input-wrap:focus-within{border-color:var(--theme-color-1);box-shadow:0 0 0 4px rgba(42,167,255,0.08)}
.search-input-wrap input{flex:1;border:none;padding:14px 24px;font-size:15px;outline:none;background:transparent}
.search-input-wrap button{background:var(--theme-color-1);border:none;color:#fff;padding:14px 28px;font-weight:600;cursor:pointer;transition:var(--transition);font-size:14px}
.search-input-wrap button:hover{background:#1171b5}
.search-result-item{padding:20px 0;border-bottom:1px solid var(--border-light)}
.search-result-item:last-child{border-bottom:none}
.search-result-item h3{font-size:17px;font-weight:600;margin-bottom:4px}
.search-result-item h3 a{transition:var(--transition)}
.search-result-item h3 a:hover{color:var(--theme-color-1)}
.search-result-item .meta{font-size:13px;color:#888;margin-bottom:4px}
.search-result-item p{font-size:14px;color:var(--font-color)}
.search-info{font-size:14px;color:#888;margin-bottom:16px;text-align:center}

/* ── Pagination ── */
.pagination{display:flex;justify-content:center;gap:6px;margin-top:48px}
.pagination a{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:var(--radius);background:#F2F6F9;color:var(--font-color);font-weight:600;font-size:15px;transition:var(--transition)}
.pagination a:hover,.pagination a.active{background:var(--theme-color-1);color:#fff;transform:translateY(-1px)}

/* ── Closed Page ── */
.closed-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#E8F4FD,#fff);padding:24px}
.closed-card{text-align:center;max-width:420px;padding:48px 40px;background:var(--body-bg);border-radius:12px;box-shadow:var(--shadow-hover)}
.closed-icon{font-size:56px;margin-bottom:16px;line-height:1}
.closed-title{font-size:22px;font-weight:700;color:var(--heading-color);margin-bottom:8px}
.closed-desc{font-size:15px;color:var(--font-color);line-height:1.7;margin-bottom:32px}
.closed-footer{font-size:13px;color:#999}

/* ── Slick override ── */
.slick-slide{margin:0 15px}
.slick-list{margin:0 -15px}
.carosel-root{overflow:hidden}

/* ── Responsive ── */
@media all and (min-width: 1670px) {
    .banner-section{height: 800px;}
}
@media (max-width: 1200px){
    .navbar-dark .navbar-nav .nav-link{font-size: 13px;}
    .search .btn-main{font-size: 13px;}
    .dropdown-menu li a{font-size: 14px;}
    .banner-main-heading{font-size: 42px;}
}
@media all and (min-width: 992px) {
    .navbar .nav-item .dropdown-menu{ display: none; }
    .navbar .nav-item:hover .dropdown-menu{ display: block; }
    .navbar .nav-item .dropdown-menu{ margin-top:0; }
}
@media all and (max-width: 992px){
    .navbar-dark .navbar-toggler{color:#fff;background:var(--theme-color-1);width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;border:none}
    .navbar-collapse{position:absolute;top:68px;left:0;width:100%;background:#fff;z-index:999;padding:16px;height:calc(100vh - 72px);overflow:auto}
    .navbar-dark .navbar-nav .nav-link{color:var(--heading-color);padding:10px 0}
    .navbar-nav .dropdown-menu{box-shadow:none;background:transparent;padding-left:12px}
    .navbar .nav-item:hover .dropdown-menu{box-shadow:none}
    .dropdown .nav-link:after{float:right}
    .nav-item.search{margin-top:16px}
    .banner-main-heading{font-size:38px}
    .banner-description{font-size:16px}
}
@media all and (max-width: 768px){
    .navbar-dark .navbar-toggler{color:#fff;background:var(--theme-color-1);width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;border:none}
    .navbar-collapse{position:absolute;top:68px;left:0;width:100%;background:#fff;z-index:999;padding:16px;height:calc(100vh - 72px);overflow:auto}
    .navbar-dark .navbar-nav .nav-link{color:var(--heading-color);padding:10px 0}
    .navbar-nav .dropdown-menu{box-shadow:none;background:transparent;padding-left:12px}
    .navbar .nav-item:hover .dropdown-menu{box-shadow:none}
    .dropdown .nav-link:after{float:right}
    .about-section-wrapper{margin-top:2rem}
    .about-section-img-small{display:none}
    .contact-section-img{width:100%}
    .contact-award-layer{left:16px;top:-20px;padding:12px}
    .contact-award-layer img{width:28px}
    .contact-skills-layer{right:16px;bottom:-30px;padding:12px}
    .contact-skills-layer img{width:70px}
    .section.contact{padding-bottom:16rem}
    .section-main-heading{font-size:26px;line-height:1.3}
    .banner-list-info{width:100%;bottom:2rem}
    .banner-list-info ul{gap:4px}
    .banner-list-info ul li{padding:12px 14px}
    .banner-section{background-position:60% 75%;height:580px}
    .section{padding:48px 0}
    .theme-btn{width:100%;max-width:100%}
    .faq-image-wrapper{width:100%;max-width:260px;padding:2rem;margin:0 auto;height:300px}
    .faq-image-wrapper img.faq-bg{height:360px;top:-45px}
    .faq-info-box{right:0;bottom:-30px;padding:12px 16px}
    .blog-card-image{height:200px}
    .subscribe-input{padding:10px 16px;height:48px}
    .subscribe-input-wrapper form .theme-btn{position:relative;top:0;right:0;margin-top:12px;width:100%;max-width:100%}
    .contact-box{padding:16px}
    .footer-link-list{flex-direction:column}
    .footer-hours-list li{flex-direction:column;gap:4px;border-bottom:1px solid rgba(255,255,255,0.06);padding-bottom:10px}
    .subscribe-container{padding:20px 16px}
    .section{padding:40px 0}
}
@media all and (max-width: 480px){
    .navbar-dark .navbar-toggler{width:44px;height:44px}
    .navbar-collapse{top:62px;height:calc(100vh - 66px)}
    .navbar-dark .navbar-nav .nav-link{color:var(--heading-color);padding:10px 0}
    .navbar-nav .dropdown-menu{box-shadow:none;background:transparent;padding-left:12px}
    .navbar .nav-item:hover .dropdown-menu{box-shadow:none}
    .dropdown .nav-link:after{float:right}
    .about-section-wrapper{margin-top:2rem}
    .contact-section-img{width:100%}
    .contact-award-layer{left:16px}
    .contact-skills-layer{right:16px}
    .section.contact{padding-bottom:14rem}
    .section-main-heading{font-size:24px;line-height:1.3}
    .banner-list-info{width:100%}
    .banner-section{background-position:25% 75%;height:580px}
    .banner-main-heading{font-size:30px;line-height:1.2}
    .banner-description{font-size:15px}
    .section{padding:36px 0}
    .theme-btn{width:100%;max-width:100%}
    .section-small-heading{font-size:13px}
    .meet-form-wrapper{padding:20px}
    .meet-form{margin-top:-14rem}
    .faq-image-wrapper{width:100%;max-width:240px;padding:1.5rem;margin:0 auto;height:280px}
    .faq-image-wrapper img.faq-bg{height:320px;top:-40px}
    .faq-info-box{right:0;bottom:-25px;padding:10px 14px}
    .subscribe-input{padding:10px 14px}
    .subscribe-input-wrapper form .theme-btn{position:relative;top:0;right:0;margin-top:12px;width:100%;max-width:100%}
    .page-banner-section{height:220px}
    .page-heading{font-size:22px}
}
.footer-info-bar{background:var(--theme-color-5);color:#fff;text-align:center;padding:10px 16px;font-size:13px;line-height:1.5;border-top:1px solid rgba(255,255,255,0.08)}
