/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

:root{
    --brand: #277596;
    --muted-foreground: oklch(52% .012 260);
    --navy: oklch(33% .06 235);
    --border: oklch(92% .005 250);
    --font-sans: "Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif;
    --font-display: "Fraunces", ui-serif, Georgia, serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.ast-single-post .entry-content a {
	text-decoration: none;
}

/* Home page hero section start here */

.patient-switcher{
    max-width:760px;
    font-family:inherit;
}

.pill-tabs{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px;
    border-radius:999px;
    background:#fff;
    border:1px solid #d7dee5;
    margin-bottom:28px;
}

.pill-tabs button{
    display:flex;
    align-items:center;
    gap:8px;
    padding:6px 14px;
    border:none;
    border-radius:999px;
    background:transparent;
    color:#597080;
    font-size: 12px;
    font-weight:500;
    cursor:pointer;
    transition:.25s;
}

.pill-tabs button.active{
    background:#123b56;
    color:#fff;
}

#patientText{
    color:#5d6771;
    font-size: 14px;
    line-height:1.65;
    /* margin-bottom:34px; */
}

.button-group{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}

.btn-primary{
    display:flex;
    align-items:center;
    gap:12px;
    padding: 16px;
    border-radius:999px;
    background:#123b56;
    color:#fff;
    text-decoration:none !important;
    font-weight:600;
    transition:.3s;
}

.btn-primary:hover{
    background:#0d3045;
}

.btn-secondary{
    display:flex;
    align-items:center;
    gap:10px;
    padding:16px 24px;
    border-radius:999px;
    border:1px solid #d7dee5;
    background:#fff;
    color:#123b56;
    text-decoration:none !important;
    font-weight:500;
    transition:.3s;
}

.btn-secondary:hover{
    background:#f7f9fb;
}

.phone-link{
    color:#123b56;
    text-decoration:none !important;
    font-size:18px;
    font-weight:500;
}

.phone-link:hover{
    text-decoration:underline;
}

@media(max-width:768px){

    .button-group{
        flex-direction:column;
        align-items:stretch;
    }

    .btn-primary,
    .btn-secondary{
        justify-content:center;
        width:100%;
    }

    .phone-link{
        text-align:center;
    }

    #patientText{
        font-size:17px;
    }
}

@media(max-width:480px){

    .pill-tabs{
        width:100%;
    }

    .pill-tabs button{
        flex:1;
        justify-content:center;
        font-size:14px;
        padding:12px;
    }

    #patientText{
        font-size:16px;
    }
}

/* Home page hero section end here */


.not-italic {
    font-style: normal;
}

.text-brand {
    color: var(--brand);
}

.eyebrow {
    font-family: var(--font-sans);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: oklch(53% .09 230);
    font-size: .75rem;
    font-weight: 500;
}

/* All card hover effect start here */
.card-hover {
    transition: all 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15),
            0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    border: 0.5px solid #277596 !important; 
    cursor: pointer;
}

.zoom-img{
    transition: transform .8s ease;
    display: block;
}

.zoom-img:hover{
    transform: scale(1.05);
    border-radius: 25px;
}

.card-img {
    overflow: hidden;
}

.card-img img {
    width: 100%;
    display: block;
    transition: transform .6s ease;
}
/* All card hover effect end here */


/* Faq styling start here  */

/* Main wrapper */
.faq-accordion .e-n-accordion {
    border: 1px solid #e5e7eb;
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
}

/* Accordion item */
.faq-accordion .e-n-accordion-item {
    border-bottom: 1px solid #e5e7eb;
}

.faq-accordion .e-n-accordion-item:last-child {
    border-bottom: none;
}

/* Question */
.faq-accordion .e-n-accordion-item-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 32px 40px;
    background: #fff;
    cursor: pointer;
    list-style: none;
}

/* Hide default marker */
.faq-accordion summary::-webkit-details-marker {
    display: none;
}

.faq-accordion summary::marker {
    display: none;
}

/* Title */
/* .faq-accordion .e-n-accordion-item-title-text {
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    font-weight: 500;
    color: #173b56;
} */

/* Content */
.faq-accordion [role="region"] {
    color: #6b7280;
    line-height: 1.8;
}

/* Icon */
.faq-accordion .e-n-accordion-item-title-icon {
    margin-left: auto;
    color: #2d7da7;
}

.faq-accordion .e-font-icon-svg {
    width: 18px;
    height: 18px;
}

/* Faq styling end here  */

/* Faq doctor styling start here  */

/* Main wrapper */
.faq-accordion-doctor .e-n-accordion {
    /* border: 1px solid #e5e7eb; */
    border-radius: 28px;
    overflow: hidden;
    /* background: #fff; */
}

/* Accordion item */
.faq-accordion-doctor .e-n-accordion-item {
    border-bottom: 1px solid #ffffff1a;
}

.faq-accordion-doctor .e-n-accordion-item:last-child {
    border-bottom: none;
}

/* Question */
.faq-accordion-doctor .e-n-accordion-item-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 32px 40px;
    cursor: pointer;
    list-style: none;
}

/* Hide default marker */
.faq-accordion-doctor summary::-webkit-details-marker {
    display: none;
}

.faq-accordion-doctor summary::marker {
    display: none;
}

/* Title */
.faq-accordion-doctor .e-n-accordion-item-title-text {
    font-family: "Cormorant Garamond", serif;
    font-size: 22px;
    font-weight: 500;
    color: #fff;
}

/* Content */
.faq-accordion-doctor [role="region"] {
    color: #6b7280;
    line-height: 1.8;
}

/* Icon */
.faq-accordion-doctor .e-n-accordion-item-title-icon {
    margin-left: auto;
    color: #2d7da7;
}

.faq-accordion-doctor .e-font-icon-svg {
    width: 18px;
    height: 18px;
}

/* Faq doctor styling end here  */

/* faq service styling start here  */

/* Remove outer accordion border */
.faq-accordion-service .e-n-accordion {
    border: none;
    background: transparent;
    display: flex;
    flex-direction: column;
    gap: 18px; /* Creates the space between items */
}

/* Each FAQ card */
.faq-accordion-service .e-n-accordion-item {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 28px;
    margin-bottom: 18px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

/* Remove default separator */
.faq-accordion-service .e-n-accordion-item::before,
.faq-accordion-service .e-n-accordion-item::after {
    display: none;
}

/* Header */
.faq-accordion-service .e-n-accordion-item-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 28px 32px;
    background: #fff;
    cursor: pointer;
    border: none;
}

/* Question text */
.faq-accordion-service .e-n-accordion-item-title-text {
    font-size: 18px;
    font-weight: 500;
    color: #173B56;
    line-height: 1.4;
}

/* Content */
.faq-accordion-service [role="region"] {
    padding: 0 32px 28px;
    color: #5E6C7A;
    line-height: 1.8;
    border: none;
}

/* Icon */
.faq-accordion-service .e-n-accordion-item-title-icon {
    margin-left: auto;
    color: #2D7DA7;
    flex-shrink: 0;
}

.faq-accordion-service .e-font-icon-svg {
    width: 16px;
    height: 16px;
}

/* Remove focus outline */
.faq-accordion-service summary::marker,
.faq-accordion-service summary::-webkit-details-marker {
    display: none;
}

/* faq service styling end here  */





/* Testimonial styling start here */
/* Marquee */
  .tst-marquee-wrap {
    position: relative;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(
      to right,
      transparent,
      black 6%,
      black 94%,
      transparent
    );
    mask-image: linear-gradient(
      to right,
      transparent,
      black 6%,
      black 94%,
      transparent
    );
  }

  .tst-marquee-track {
    display: flex;
    width: max-content;
    gap: 24px;
    animation: tst-marquee 60s linear infinite;
  }

  .tst-marquee-wrap:hover .tst-marquee-track {
    animation-play-state: paused;
  }

  @keyframes tst-marquee {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-50%);
    }
  }

  .tst-card {
    flex: 0 0 auto;
    width: calc(100vw - 3rem);
    max-width: 38rem;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    padding: 32px;
    margin: 0;
  }

  @media (min-width: 640px) {
    .tst-card {
      width: calc((100vw - 6rem) / 2);
    }
  }

  .tst-stars {
    display: flex;
    gap: 2px;
  }

  .tst-quote {
    font-family: "Fraunces", Georgia, "Cormorant Garamond", serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.4;
    color: #ffffff;
    margin: 20px 0 0;
  }

  .tst-name {
    margin-top: 32px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
  }

  .tst-name span {
    color: #ffffff;
  }

  /* CTA */
  .tst-cta-wrap {
    display: flex;
    justify-content: center;
    margin-top: 40px;
  }

  .tst-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    color: var(--tst-navy);
    font-size: 14px;
    font-weight: 500;
    padding: 12px 24px;
    border-radius: 9999px;
    text-decoration: none;
    transition: background 0.2s ease;
  }

  .tst-cta:hover {
    background: rgba(255, 255, 255, 0.9);
  }
/* Testimonial styling start here */


.bg-slate-glass {
  background-image:
    linear-gradient(
      to bottom right in oklab,
      color-mix(in oklab, oklch(33% 0.06 235) 85%, transparent) 0%,
      color-mix(in oklab, oklch(33% 0.06 235) 70%, transparent) 50%,
      color-mix(in oklab, oklch(33% 0.06 235) 50%, transparent) 100%
    ),
    url("/wp-content/uploads/2026/08/cta-BPoGj_Xy.jpg");

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-blur {
    position: relative;
    overflow: hidden;
}
.bg-blur::before {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    filter: blur(8px); /* Change 8px to adjust blur intensity */
    z-index: 0;
}
.bg-blur > * {
    position: relative;
    z-index: 1;
}

/* Sticky container start Here  */

.parent-container {
    display: flex;
    align-items: flex-start;
    gap: 40px;
}

.left-content {
    flex: 1;
}

.parent-container .right-sticky {
    position: sticky;
    top: 35px;
    align-self: flex-start;
}

/* Sticky container End Here  */

/* Custom blog style start here */

.site-content .ast-container{
    flex-direction: column;
    max-width: 90rem;
}

.custom-blog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
    max-width:1400px;
    margin:auto;
    padding:60px 20px;
}

.blog-card{
    background:transparent;
    overflow: hidden;
}
#content > div > div.custom-blog-grid > article:nth-child(1) > a{
    border-radius: 25px;
    overflow: hidden;
}

.card-image{
    overflow: hidden;
    display: block;
    border-radius: 25px;
}
.card-image img{
    width:100%;
    height:305px;
    object-fit:cover;
    border-radius:25px;
    display:block;
    transition: transform .8s ease;
}

.card-image:hover img{
    transform: scale(1.05);
}

.card-content{
    padding-top:20px;
}

.card-meta{
    display:flex;
    gap:10px;
    align-items:center;
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:13px;
    margin-bottom:10px;
}
.card-meta .category{
    font-family: var(--font-sans);
    color: var(--brand);
    letter-spacing: .14em;
    size: .75rem;
}

.read-time {
    display: inline-flex;
    align-items: center;
    gap: 4px; /* spacing between icon and text */
}

.read-time svg {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.blog-card h2{
    font-size:1.25rem;
    line-height:1.2;
    margin:10px 0;
    font-weight:500;
}

.blog-card h2 a{
    color:#163c5b;
    font-family: var(--font-display);
    text-decoration:none;
}

.blog-card p{
    font-family: var(--font-sans);
    color:var(--muted-foreground);
    font-size:.875rem;
    line-height:1.7;
    margin-bottom: 0;
}

.post-date{
    font-family: var(--font-sans);
    margin-top:10px;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:var(--muted-foreground);
    font-size:.75rem;
}

@media(max-width:992px){
    .custom-blog-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){
    .custom-blog-grid{
        grid-template-columns:1fr;
    }
}

.custom-blog-pagination,
.navigation.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin: 50px 0;
}

.navigation.pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #9D9790;
    color: #222;
    text-decoration: none;
    font-family: var(--font-sans);
    font-size: 14px;
}

.navigation.pagination .page-numbers.current {
    background: #222;
    border-color: #222;
    color: #fff;
}

.navigation.pagination .page-numbers:hover {
    background: #222;
    border-color: #222;
    color: #fff;
}


/* Custom blog style end here */


/* custom service page style start here */
.premium-services{
    max-width:84rem;
    margin:35px auto;
    padding:0 30px;
}

/* Header */

.services-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    padding-bottom:35px;
    margin-bottom:45px;
    border-bottom:1px solid #dde3ea;
}

.section-label{
    display:block;
    margin-bottom:20px;
}

.services-header h1{
    font-size:2.25rem;
    font-weight: 400;
    line-height:1;
    margin:0 0 18px;
    font-family:var(--font-display);
    color:var(--navy);
}

.services-header p{
    font-family: var(--font-sans);
    max-width:760px;
    font-size:.875rem;
    color: var(--muted-foreground);
    margin:0;
}

.header-right{
    font-family: var(--font-sans);
    color:var(--muted-foreground);
    letter-spacing:3px;
    font-size:.75rem;
}

/* Grid */

.services-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:35px;
}

/* Card */

.service-card{
    background:#fff;
    border:1px solid #e5e8ec;
    border-radius:28px;
    padding:42px;
    box-shadow:0 5px 18px rgba(0,0,0,.05);
}

.service-icon{
    color:var(--brand);
    font-size:26px;
    margin-bottom:10px;
}

.service-card h2{
    font-size:1.5rem;
    color:var(--navy);
    font-family:var(--font-display);
    margin-bottom:10px;
}

.service-description{
    font-family: var(--font-sans);
    color:var(--muted-foreground);
    font-size:.875rem;
    line-height:1.7;
}

.service-card hr{
    margin:20px 0 20px;
    border:none;
    border-top:.5px solid var(--border);
}

.service-footer{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.meta{
    display:flex;
    gap:45px;
    color:#23485f;
    font-size:.875rem;
}

.service-link{
    color:var(--brand);
    text-decoration:none;
    font-size:.875rem;
    font-weight:500;
}

.service-link:hover{
    color:#0f567c;
}

@media(max-width:991px){

    .services-grid{
        grid-template-columns:1fr;
    }

    .services-header{
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
    }

    .services-header h1{
        font-size:44px;
    }

    .service-card h2{
        font-size:34px;
    }

    .service-description,
    .meta,
    .service-link{
        font-size:18px;
    }
}
/* custom service page style end here */

/* Responsive tabel styles start here */
@media (max-width: 767px) {
  .responsive-table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .responsive-table .table-row {
    display: flex;
    flex-wrap: nowrap;
    min-width: 900px;
    width: max-content;
  }

  .responsive-table .table-row > .elementor-element {
    flex: 0 0 300px;
    min-width: 300px;
    box-sizing: border-box;
  }
}

/* Custom post meta style here */
.custom-post-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-family: var(--font-sans);
    font-size: 12px;
    line-height: 1.5;
    color: var(--e-global-color-primary);
}

.custom-post-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.custom-post-meta-icon {
    font-size: 15px;
    line-height: 1;
}

.custom-post-meta-text {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.custom-post-meta a {
    color: #222;
    text-decoration: none;
    font-weight: 600;
}

.custom-post-meta a:hover {
    color: #555;
}

.custom-post-meta-separator {
    color: #bbb;
}
/* Custom post meta style End here */

/* =========================================
   Latest Blog Grid
========================================= */

.latest-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    width: 100%;
}

.latest-blog-card {
    background: #ffffff;
    border: 1px solid #e1e3e5;
    border-radius: 18px;
    padding: 25px;    

    display: flex;
    flex-direction: column;
    row-gap: 10px;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.latest-blog-card:hover {
    transform: translateY(-4px);
    border-color: #d7dadd;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
}


/* Category + reading time */

.latest-blog-category {
    color: #0875a8;
    font-family: var(--font-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2.5px;
    line-height: 1.4;
}

.latest-blog-category span {
    padding: 0 4px;
}


/* Title */

.latest-blog-title {
    font-family: var(--font-display);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 0;
}

.latest-blog-title a {
    color: #0c3150;
    text-decoration: none;
}

.latest-blog-title a:hover {
    color: #0875a8;
}


/* Excerpt */

.latest-blog-excerpt {
    color: #617284;
    font-family: var(--font-sans);
    font-size: 14px;
    line-height: 1.7;
}


/* Read link */

.latest-blog-read {
    color: var(--brand);
    font-family: var(--font-sans);  
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
}

.latest-blog-read span {
    display: inline-block;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

.latest-blog-read:hover {
    color: #065e87;
}

.latest-blog-read:hover span {
    transform: translateX(4px);
}


/* =========================================
   Tablet
========================================= */

@media (max-width: 1024px) {

    .latest-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================================
   Mobile
========================================= */

@media (max-width: 767px) {

    .latest-blog-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .latest-blog-card {
        padding: 26px 24px 28px;
        min-height: 0;
    }

    .latest-blog-title {
        font-size: 22px;
    }

    .latest-blog-excerpt {
        font-size: 16px;
    }

}

/* =========================================
   Latest Blog Grid End Here
========================================= */
