/* Public website refresh: visual-only layer.  Loaded after page styles so the
   existing content, templates, forms and routes remain unchanged. */
:root {
    --jpk-emerald: #5b3cc4;
    --jpk-emerald-deep: #3c257f;
    --jpk-navy: #16133d;
    --jpk-slate: #5e6480;
    --jpk-bg-soft: #f7f7ff;
    --jpk-green-light: #eeeaff;
    --jpk-border: #e5e4f2;
    --jpk-accent: #ff7657;
    --jpk-accent-deep: #e8553b;
}

body {
    color: #31304b;
    background: #fff;
    letter-spacing: -.01em;
}

/* Header: light, confident navigation with a high-contrast conversion action. */
.jpk-topbar {
    background: #17133f;
    color: #dedcf7;
    border-bottom-color: rgba(255,255,255,.09);
}
.jpk-topbar a { color: #f2f1ff; }
.jpk-topbar a:hover, .jpk-topbar .emergency-phone:hover { color: #ffb4a4; }
.jpk-topbar .topbar-social a { background: rgba(255,255,255,.1); color: #fff; }
.jpk-topbar .topbar-social a:hover { background: var(--jpk-accent); color: #fff; }
.jpk-navbar {
    padding: .75rem 0;
    border-bottom: 1px solid #eeedf7;
    box-shadow: 0 5px 22px rgba(28, 23, 72, .055);
}
.jpk-navbar.jpk-scrolled { background: rgba(255,255,255,.94); box-shadow: 0 8px 26px rgba(28, 23, 72, .09); }
.jpk-navbar .brand-icon,
.jpk-footer .brand-icon { background: linear-gradient(135deg, #673fd3, #39247f); border-radius: 14px; }
.jpk-navbar .brand-name { color: #201a50; font-size: 1.15rem; }
.jpk-navbar .brand-sub { color: #7c78a5; }
.jpk-navbar .nav-link { color: #464263 !important; }
.jpk-navbar .nav-link:hover, .jpk-navbar .nav-link.active { color: #5b3cc4 !important; }
.jpk-navbar .nav-link::after { background: var(--jpk-accent); }
.jpk-navbar .btn-appointment {
    background: linear-gradient(135deg, #ff8065, #ed5a42);
    box-shadow: 0 8px 20px rgba(237, 90, 66, .22);
    padding: .55rem 1.35rem;
}
.jpk-navbar .btn-appointment:hover { box-shadow: 0 12px 26px rgba(237, 90, 66, .31); }
.jpk-navbar .btn-call { border-color: #dedbed; color: #3c3760; }
.jpk-navbar .btn-call:hover { border-color: #5b3cc4; color: #5b3cc4; }
@media (min-width: 992px) {
    .jpk-navbar .navbar-nav {
        gap: .8rem !important;
    }
    .jpk-navbar .nav-link {
        margin: .2rem 0 0;
        padding: .58rem .82rem !important;
        line-height: 1.2;
    }
}

/* Reusable page hero treatment. */
.bg-gradient-hero,
.jpk-about-header, .jpk-faqs-header, .jpk-treatments-header,
.jpk-doctors-header, .jpk-contact-header {
    background: radial-gradient(circle at 84% 24%, rgba(255, 188, 167, .52), transparent 23rem),
                radial-gradient(circle at 14% 80%, rgba(156, 134, 255, .25), transparent 27rem),
                linear-gradient(122deg, #25205e 0%, #433399 55%, #654fd0 100%) !important;
    color: #fff;
    position: relative;
    overflow: hidden;
}
.jpk-about-header::before, .jpk-faqs-header::before, .jpk-treatments-header::before,
.jpk-doctors-header::before, .jpk-contact-header::before { opacity: .32 !important; }
.jpk-about-header h1, .jpk-faqs-header h1, .jpk-treatments-header h1,
.jpk-doctors-header h1, .jpk-contact-header h1 { color: #fff !important; }
.jpk-about-header p, .jpk-faqs-header p, .jpk-treatments-header p,
.jpk-doctors-header p, .jpk-contact-header p { color: rgba(255,255,255,.82) !important; }
.jpk-about-header .badge, .jpk-faqs-header .badge, .jpk-treatments-header .badge,
.jpk-doctors-header .badge, .jpk-contact-header .badge {
    background: rgba(255,255,255,.14) !important; color: #fff !important; border-color: rgba(255,255,255,.28) !important;
}

/* Home: editorial hero, soft surfaces and friendly coral calls to action. */
.jpk-hero-new {
    padding: 4.75rem 0 4.25rem;
    min-height: 570px;
    background: #f9f8ff;
}
.jpk-hero-new .bg-animated {
    background: radial-gradient(ellipse at 78% 34%, #ffcabe 0%, #f3efff 33%, #f8f8ff 68%) !important;
}
.jpk-hero-deco .grid { background-image: linear-gradient(rgba(91,60,196,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(91,60,196,.06) 1px, transparent 1px); }
.jpk-hero-deco span { border-color: rgba(91,60,196,.16); }
.jpk-hero-title { font-size: clamp(2.7rem, 4vw, 4.25rem); color: #211b53; letter-spacing: -1.6px; }
.jpk-hero-title .highlight, .text-emerald { color: #5b3cc4 !important; }
.jpk-hero-sub { color: #686381; font-size: 1.04rem; line-height: 1.75; }
.jpk-hero-badge { color: #5237b1; border-color: #ddd5ff; background: rgba(255,255,255,.78); }
.jpk-btn-primary, .jpk-insurance .jpk-btn-light {
    background: linear-gradient(135deg, #ff8065, #eb573e) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 22px rgba(235,87,62,.22);
}
.jpk-btn-primary:hover, .jpk-insurance .jpk-btn-light:hover { box-shadow: 0 14px 30px rgba(235,87,62,.3); }
.jpk-btn-outline { border-color: #d8d5ea; color: #403a63; background: rgba(255,255,255,.72); }
.jpk-btn-outline:hover { border-color: #5b3cc4; color: #5b3cc4; }
.jpk-hero-features span i, .jpk-hero-stats .stat .num { color: #5b3cc4; }
.jpk-hero-img-box { padding: 10px; border-radius: 30px; background: linear-gradient(140deg, #e1d9ff, #ffded5); box-shadow: 0 28px 60px rgba(50,38,118,.16); }
.jpk-hero-img-box img { border-radius: 22px; }
.jpk-hero-stats { border-radius: 17px; box-shadow: 0 12px 30px rgba(25,18,73,.13); }
.jpk-hero-badge-float i { color: var(--jpk-accent); }
.jpk-trust { border: 0; box-shadow: 0 6px 22px rgba(31,25,79,.055); }
.jpk-trust .item .num { color: #fff !important; }
.jpk-trust .item .ico { color: #f3eeff !important; }
.jpk-trust .item .lbl { color: rgba(255,255,255,.82) !important; }
.jpk-section { padding: 5rem 0; }
.jpk-section .head .tag { color: #ff6e51; }
.jpk-section .head h2 { color: #211b53; font-size: clamp(2rem, 3vw, 2.7rem); }
.jpk-features, .jpk-testimonials { background: #f8f7ff; border: 0; }
.jpk-feature-card, .jpk-treatment-card, .jpk-testimonial-card {
    border: 1px solid #ebe9f5; border-radius: 20px; box-shadow: 0 10px 26px rgba(31,25,79,.045);
}
.jpk-feature-card:hover, .jpk-treatment-card:hover, .jpk-testimonial-card:hover { border-color: #d8cdfd; box-shadow: 0 18px 36px rgba(51,40,119,.11); }
.jpk-feature-card .ico, .jpk-treatment-card .top .ico { background: #eeeaff; color: #5b3cc4; }
.jpk-feature-card:hover .ico, .jpk-treatment-card:hover .top .ico { background: #5b3cc4; }
.jpk-feature-card h5, .jpk-treatment-card h5, .jpk-testimonial-card .author .name { color: #282250; }
.jpk-treatment-card::before { background: linear-gradient(90deg, #6d4ee1, #ff7657); }
.jpk-treatment-card .actions .btn-sm { background: #5b3cc4; }
.jpk-treatment-card .actions .btn-sm:hover { background: #40278e; }
.jpk-insurance { background: linear-gradient(123deg, #292060, #5b3cc4) !important; }
.jpk-insurance .badge { color: #fff !important; border-color: rgba(255,255,255,.34) !important; background: rgba(255,255,255,.13) !important; }
.jpk-faq { border: 0; }
.jpk-faq .faq-item, .jpk-accordion, .jpk-accordion-item { border-color: #e9e7f3 !important; }
.jpk-faq .faq-item:hover, .jpk-accordion-item:hover { border-color: #cfc3fa !important; }
.jpk-faq .faq-item .q:hover { background: #f5f2ff; }

/* Common cards and form controls across the remaining public pages. */
.card, .jpk-doctor-card, .jpk-branch-card, .jpk-enquiry-form, .jpk-hours-box,
.jpk-helplines, .jpk-schedule-section, .jpk-vm .card, .jpk-pillars .pillar,
.jpk-branches .branch-card {
    border-color: #e8e6f2 !important;
    box-shadow: 0 10px 28px rgba(31,25,79,.055) !important;
}
.jpk-doctor-card:hover, .jpk-branch-card:hover, .jpk-vm .card:hover, .jpk-pillars .pillar:hover,
.jpk-branches .branch-card:hover { box-shadow: 0 18px 38px rgba(51,40,119,.12) !important; border-color: #d6cafb !important; }
.jpk-doctor-card .doctor-info h3, .jpk-branch-card .info-section h3,
.jpk-story h2, .jpk-vm .card h4, .jpk-branches .head h2 { color: #292351 !important; }
.jpk-doctor-card .doctor-info .actions .btn-primary, .jpk-branch-card .info-section .actions .btn-book,
.jpk-enquiry-form .btn-submit, .jpk-schedule-section .table .btn-book {
    background: #5b3cc4 !important; border-color: #5b3cc4 !important;
}
.jpk-doctor-card .doctor-info .actions .btn-outline, .jpk-branch-card .info-section .actions .btn-call {
    color: #5b3cc4 !important; border-color: #cfc5f3 !important;
}
.form-control:focus, .form-select:focus { border-color: #8c73eb; box-shadow: 0 0 0 4px rgba(91,60,196,.12); }
.nav-pills .nav-link.active, .jpk-branch-tabs .nav-pills .nav-link.active { background-color: #5b3cc4 !important; }
.text-success { color: #5b3cc4 !important; }

/* Footer becomes a richer continuation of the indigo system. */
.jpk-footer {
    background: radial-gradient(circle at 10% 0%, rgba(133,104,241,.34), transparent 25rem),
                radial-gradient(circle at 92% 78%, rgba(255,118,87,.16), transparent 23rem),
                linear-gradient(145deg, #17133f 0%, #24205a 100%);
    padding-top: 4.5rem;
}
.jpk-footer::before { background: linear-gradient(90deg, #ff7657, #8d70f1, #ff7657); }
.jpk-footer::after {
    content: '';
    position: absolute;
    width: 440px;
    height: 440px;
    right: -190px;
    top: 40px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 50%;
    pointer-events: none;
}
.jpk-footer .container { position: relative; z-index: 1; }
.jpk-footer .brand-section { padding-bottom: .6rem; }
.jpk-footer .brand-icon { box-shadow: 0 10px 25px rgba(0,0,0,.2); }
.jpk-footer .about-text { color: #c8c4e5; max-width: 365px; }
.jpk-footer .brand-tagline, .jpk-footer .footer-heading i, .jpk-footer .footer-link i,
.jpk-footer .branch-list li i, .jpk-footer .emergency-box .label { color: #b9a9ff; }
.jpk-footer .emergency-box { background: rgba(168,145,255,.12); border-color: rgba(185,169,255,.24); box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.jpk-footer .emergency-box .number { color: #fff; }
.jpk-footer .emergency-box .btn-call { background: linear-gradient(135deg, #ff8065, #eb573e); }
.jpk-footer .footer-heading { border-bottom-color: rgba(255,255,255,.13); color: #fff; padding-bottom: .72rem; }
.jpk-footer .footer-link, .jpk-footer .branch-list li { padding: .12rem 0; }
.jpk-footer .social-icons a { border-color: rgba(255,255,255,.13); background: rgba(255,255,255,.045); }
.jpk-footer .footer-divider { border-color: rgba(255,255,255,.13); margin: 2rem 0 1.3rem; }
.jpk-footer .footer-link:hover, .jpk-footer .footer-bottom-links a:hover { color: #ffb2a1; }
.jpk-footer .social-icons a:hover { background: #ff7657; border-color: #ff7657; }
.jpk-whatsapp-float { box-shadow: 0 10px 24px rgba(37,211,102,.38); }

@media (max-width: 991px) {
    .jpk-hero-new { padding: 3rem 0; min-height: auto; }
    .jpk-navbar .navbar-collapse { background: #fff; }
}
@media (max-width: 576px) {
    .jpk-hero-new { padding: 2.4rem 0 2.8rem; }
    .jpk-hero-title { font-size: 2.2rem; }
    .jpk-section { padding: 3.5rem 0; }
    .jpk-footer { padding-top: 3rem; }
    .jpk-footer::after { width: 290px; height: 290px; right: -170px; }
}
