/* SWH Speciality Page Specific Styles */

:root {
    --swh-primary: #002366;
    /* Deep Blue/Purple for headings */
    --swh-accent: #7b3f70;
    /* Purple for CTA and accents */
    --swh-accent-light: #FDF2F8;
    /* Light background */
    --swh-text: #333333;
    --swh-green: #2e8b57;
    /* Green for sub-headings */
    --swh-gold: #f1c40f;
    /* For quote borders */
}

/* Base Override */
body {
    /* font-family: 'Poppins', sans-serif;  Assuming font is available or fall back */
}

.swh-wrapper h1,
.swh-wrapper h2,
.swh-wrapper h3,
.swh-wrapper h4 {
    color: var(--swh-primary);
}

/* --- Hero Section --- */
.swh-hero {
    position: relative;
    width: 100%;
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    margin-bottom: 35px;
}

.swh-hero-content {
    max-width: 600px;
    padding: 2rem;
    background: transparent;
    /* Transparency requested */
    border-radius: 8px;
    /* Soft edges */
}

.swh-hero h1 {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 40px;
    line-height: 47px;
    letter-spacing: 0px;
}

.swh-subheading {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 35px;
    letter-spacing: 0px;
    color: #3DA988;
    width: 657px;
    height: 35px;
    top: 274px;
    transform: rotate(0deg);
    left: 135px;
    opacity: 1;

}

.swh-tagline {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 35px;
    letter-spacing: 0px;
    color: #7E3A74;
    width: 664px;
    height: 94px;
    top: 166px;
    left: 135px;
    transform: rotate(0deg);
    opacity: 1;
}

/* --- CTA Bar --- */
.swh-cta-bar {
    background-color: var(--swh-accent);
    color: #fff;
    padding: 0;
    text-align: center;
    width: 100%;
    max-width: 1178px;
    /* Responsive adaptation of width: 1178px */
    min-height: 225px;
    /* Adaptation of height: 225px */
    border-radius: 12px;
    opacity: 1;
    margin: -100px auto 2rem;
    /* Negative margin to overlapping hero, simulating 'top' positioning relative to hero bottom */
    position: relative;
    z-index: 10;
    display: flex;
    align-items: flex-start;
    /* Move contents to top */
    justify-content: center;
    padding-top: 30px;
    /* Specific top spacing */
}

.swh-cta-content h3 {
    margin-top: 0;
    /* Remove default spacing */
    color: #fff !important;
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    /* SemiBold */
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0.5px;
    text-align: center;
    margin-bottom: 0.5rem;
}

.swh-cta-content p {
    color: #f0f0f0;
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    /* SemiBold */
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.5px;
    text-align: center;
    margin-bottom: 1.5rem;
    width: 100%;
    max-width: 1030px;
    /* Adapted from width: 1030px */
    min-height: 40px;
    /* Adapted from height: 40px */
    margin-left: auto;
    /* Adapting Left: 74px as centering */
    margin-right: auto;
}

.swh-cta-buttons {
    width: 499.5px;
    height: 53px;
    position: absolute;
    top: 140px;
    left: 314px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.swh-btn-item {
    display: flex;
    align-items: center;
    gap: 15px;
    font-family: 'Work Sans', sans-serif;
    font-size: 18px;
    color: #fff;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: 0;
    margin-right: 20px;
}

.btn-icon-call {
    margin-right: 150px;
}

.btn-icon-mail {
    margin-left: 30px;
}

.cta-icon {
    width: 42px;
    /* Adjusted to fit 53px height nicely */
    height: 42px;
    display: block;
}

.cta-divider {
    width: 1;
    height: 53;
    angle: 0 deg;
    opacity: 0.5;
    top: 140px;
    left: 621px;
}

.swh-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-decoration: none;
    font-weight: 500;
    padding: 10px 20px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    transition: all 0.3s ease;
}

.swh-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

/* --- Main Layout --- */
.swh-main-container {
    padding: 2rem 0;
}

.swh-layout-grid {
    display: flex;
    gap: 3rem;
}

/* Sidebar Menu (New Tab Heading) */
.tab-heading {
    width: 380px;
    /* Width: 380 */
    min-height: 176px;
    /* Height: 176 */
    /* top/left are handled by layout flow, defaulting */
    border-radius: 12px;
    /* Assuming radius from context or default */
    background: #fdfdfd;
    /* Fallback or existing */
}

/* Ensure container handles the new width */
.swh-sidebar {
    width: 380px;
    flex-shrink: 0;
}

/* Sidebar Menu */
.swh-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-left: 2px solid #eee;
}

.swh-nav-item a {
    display: block;
    padding: 10px 20px;
    color: #666;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    transition: all 0.2s;
}

.swh-nav-item.active a {
    color: var(--swh-primary);
    border-left: 3px solid var(--swh-primary);
    margin-left: -2px;
    background: #f9f9f9;
}

/* Tab Functionality */
.tab-content [data-tab-content] {
    display: none;
}

.tab-content [data-tab-content].active {
    display: block;
}

/* Grid display for doctor list to ensure columns work */
.speciality-details-doctors {
    display: grid !important;
}

/* Tab styling inherited from specialities.css with COE 31 overrides */
.tabs .tab.active span {
    color: var(--swh-primary);
    position: relative;
}

.tabs .tab.active span::before {
    width: 100%;
    content: '';
    height: 4px;
    border-radius: 10px;
    background: var(--swh-primary);
    bottom: -10px;
    position: absolute;
}

/* Active sub-speciality style */
.coe-doc-drop-list span.active {
    color: var(--swh-primary);
    font-weight: 700;
}


/* Content Typography */
.swh-content-area h2 {
    color: #7C3E72;
    /* Interpreted from 'colour background: #7C3E72' as text color */
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    /* SemiBold */
    font-size: 27.49px;
    line-height: 34.36px;
    letter-spacing: 0.57px;
    text-transform: capitalize;
    margin-bottom: 1.5rem;
    width: 601px;
    /* Width: 601 */
    min-height: 35px;
    /* Height: 35 */
}

.swh-content-area p {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    /* SemiBold */
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0px;
    color: #393B79;
    margin-bottom: 15px;
    /* Reduced from 1.5rem */
    width: 750px;
    /* Width: 750 */
    /* min-height removed to fix spacing */
}



/* Promise Section */
.swh-promise-section {
    width: 100%;
    max-width: 1170px;
    /* Width: 1170 */
    height: 344px;
    /* Height: 344 */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin: 2rem auto;
    /* Centered, top spacing */
    border-radius: 12px;
    /* Radius: 12px */
    position: relative;
    /* Context for absolute positioning */
}

.promise-description {
    width: 609px;
    height: 302px;
    position: absolute;
    top: 21px;
    left: 30px;
    border-radius: 16px;
    border: 3px solid #EFBF04;
    /* Typography */
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    /* Bold */
    font-size: 20px;
    line-height: 25px;
    letter-spacing: 0.5px;
    color: #7E3A74;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    /* Stack content */
    justify-content: center;
    /* Center vertically */
    align-items: flex-start;
    /* Align left */
}

.promise-text {
    margin-bottom: 20px;
}

.promise-signature-block {
    font-size: 16px;
    /* Slightly smaller for signature block */
    line-height: 1.4;
}

.promise-signature-block strong {
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    /* Bold */
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.5px;
    text-transform: capitalize;
    color: #7E3A74;
}

.promise-signature-block span {
    font-family: 'Work Sans', sans-serif;
    font-weight: 700;
    /* Bold */
    font-size: 12px;
    line-height: 20px;
    letter-spacing: 0.5px;
    text-transform: capitalize;
    color: #7E3A74;
}

/* Director's Video Section */
.director-msg-full {
    margin-top: 2rem;
    background: #f9f9f9;
    background-image: url('../images/handshake.png');
    /* Added handshake.png as bg */
    background-size: cover;
    background-position: center;
    padding: 3rem;
    text-align: center;
}

.director-msg-full h2 {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    /* SemiBold */
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0.5px;
    color: #7E3A74;
    /* Interpreted from 'colour background: #7E3A74' as text color */
    margin-bottom: 2rem;
    text-transform: uppercase;
}

.director-video-wrapper {
    max-width: 600px;
    margin: 0 auto 2rem;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.director-video-wrapper img {
    width: 100%;
    display: block;
}

.play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.3);
}

.director-signature {
    width: 238px;
    height: 108px;
    margin-top: 2rem;
    /* Aligned left by default in director-text-content */
}

.director-signature img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.director-text-content {
    text-align: left;
    width: 100%;
    max-width: 1225px;
    /* Width: 1225 */
    min-height: 648px;
    /* Height: 648 */
    margin: 0 auto;
    /* Adapting Left: 513px as centering */
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    /* SemiBold */
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.5px;
    color: #393B79;
    /* Interpreted from 'colour background: #393B79' as text color */
}

/* Stories Section */
.swh-stories-section {
    padding: 4rem 0;
    text-align: center;
    width: 100%;
    max-width: 1170px;
    /* Width: 1170 */
    min-height: 459px;
    /* Height: 459 */
    margin-left: auto;
    /* Adapting Left: 135px as centering */
    margin-right: auto;
}

.sw-stories-container {
    width: 1210px;
    margin: 0 auto;
}

.swh-stories-section h2 {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    /* SemiBold */
    font-size: 46px;
    line-height: 100%;
    letter-spacing: 0.5px;
    color: #0C356A;
    /* Interpreted from 'Colours background: #0C356A' as text color */
    margin-bottom: 2rem;
    text-transform: capitalize;
    position: relative;
    display: inline-block;
}

.swh-stories-section h2::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background: #E6F1F8;
    margin: 10px auto 0;
}



.story-card {
    background: #fff;
    border: 2px solid #7E3A74;
    /* Borders: #7E3A74 */
    border-radius: 16px;
    /* Radius: 16px */
    padding: 2rem;
    width: 575px;
    /* Width: 575 */
    min-height: 333px;
    /* Height: 333 */
    text-align: center;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.story-img {
    width: 130px;
    /* Width: 130 */
    height: 130px;
    /* Height: 130 */
    border-radius: 200px;
    /* Radius: 200px (requested) */
    overflow: hidden;
    margin: 24px auto 1rem;
    /* Top: 24px, Left: 222px (encodes as Centered in 575px width) */
    border: 3px solid #fff;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}

.story-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.story-name {
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    /* SemiBold */
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0.5px;
    color: #7E3A74;
    /* Interpreted from 'Colours background: #7E3A74' as text color */
    margin-bottom: 1rem;
}

.story-text {
    font-family: 'Work Sans', sans-serif;
    font-weight: 500;
    /* Medium */
    font-style: italic;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0px;
    color: #393B79;
    /* Interpreted from 'Colours background: #393B79' as text color */
}


/* Carousel Pagination */
#stories-carousel {
    padding-bottom: 3rem;
    /* Space for pagination */
}

.splide__pagination {
    bottom: -10px;
    /* Position below cards */
}

/* --- Responsiveness Implementation --- */

@media (max-width: 1200px) {
    .container {
        max-width: 95% !important;
    }

    .swh-promise-section,
    .swh-cta-bar,
    .swh-stories-section,
    .sw-stories-container {
        max-width: 95%;
        width: 100% !important;
    }
}

@media (max-width: 1024px) {
    .swh-hero {
        min-height: 400px;
    }

    .swh-hero-content {
        padding: 3rem 1rem;
    }

    .swh-hero {
        margin-bottom: 0 !important;
    }

    .swh-subheading,
    .swh-tagline {
        width: 100% !important;
        height: auto !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        text-align: center;
        margin-bottom: 1rem;
    }

    .swh-content-area h2,
    .swh-content-area p {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* CTA Bar Responsiveness */
    .swh-cta-bar {
        min-height: auto !important;
        padding-bottom: 2rem !important;
        flex-direction: column !important;
        align-items: center !important;
        margin-top: -50px !important;
        /* Less overlap on smaller screens */
        padding-top: 20px !important;
    }

    .swh-cta-content {
        padding: 1rem !important;
        width: 100% !important;
    }

    .swh-cta-buttons {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        height: auto !important;
        margin-top: 1.5rem !important;
        flex-wrap: wrap !important;
        gap: 1.5rem !important;
        transform: none !important;
    }

    .cta-divider {
        display: none !important;
        /* Hide divider in stacked view */
    }

    .swh-btn-item {
        margin-right: 0 !important;
        justify-content: center;
        width: 100%;
    }

    .btn-icon-call,
    .btn-icon-mail {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Promise Section Responsiveness */
    .swh-promise-section {
        height: auto !important;
        min-height: auto !important;
        padding: 2rem 1rem !important;
        background-attachment: scroll !important;
    }

    .promise-description {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        margin: 0 auto !important;
        padding: 1.5rem !important;
        border-width: 2px !important;
    }
}

@media (max-width: 768px) {
    .swh-layout-grid {
        flex-direction: column;
        gap: 2rem;
    }

    .swh-sidebar,
    .tab-heading {
        width: 100% !important;
    }

    .swh-content-area h2 {
        font-size: 24px;
        line-height: normal;
    }

    .swh-hero h1 {
        font-size: 2rem;
    }

    /* Director Section Responsiveness */
    .director-msg-full {
        padding: 2rem 1rem !important;
    }

    .director-text-content {
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        text-align: left !important;
    }

    .director-signature {
        width: 180px !important;
        height: auto !important;
        margin: 1.5rem 0 !important;
    }

    /* Stories/Carousel Responsiveness */
    .swh-stories-section {
        max-width: 100% !important;
        padding: 2rem 1rem !important;
    }

    .swh-stories-section h2 {
        font-size: 32px !important;
    }

    .story-card {
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        padding: 1.5rem !important;
    }

    .story-img {
        margin: 0 auto 1rem !important;
    }
}

@media (max-width: 480px) {
    .swh-hero {
        min-height: 350px;
    }

    .swh-hero h1 {
        font-size: 1.75rem;
    }
}