:root {
      --brand: #F97C7A;
      --main: #087F8F;
      --main-light: #e6f4f6;
      --brand-light: #fff1f1;
      --dark: #1a2e33;
      --muted: #5a7378;
      --border: #cde5e8;
}

body {
    color: var(--dark);
    background-color: #f8fbfc;
}

.treatment-card a{
    color: var(--muted)!important;
    text-decoration: none!important;
}

/* ── HERO ── */
.hero {
    margin:20px 0px;
    background: linear-gradient(135deg, #00434e  0%, #01a0af 100%);
        color: #fff;
    padding: 72px 0;
}

.hero .hero-eyebrow {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
}

.hero h1 {
    font-size: clamp(2rem, 5vw, 2.5rem);
    font-weight: 700;
    line-height: 1.15;
}

.hero .hero-sub {
    font-size: 1.05rem;
    color: rgba(255,255,255,0.85);
    max-width: 640px;
}

.hero-stat {
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 12px;
    padding: 20px 15px;
    text-align: center;
    height:140px;
}

.hero-stat .stat-num {
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--white);
    line-height: 1;
}

.hero-stat .stat-label {
    font-size: 0.9rem;
    color: rgba(255,255,255,0.75);
    margin-top: 4px;
}

/* ── SECTION TITLES ── */
.section-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--brand);
}

.section-title {
    font-size: clamp(1.5rem, 3vw, 1.5rem);
    font-weight:600;
    text-transform:uppercase;
    color: var(--main);
    margin-top: 4px;
}

.section-divider {
    width: 48px;
    height: 3px;
    background: var(--main);
    border-radius: 2px;
    margin: 12px 0 28px;
}

/* ── CARDS ── */
.info-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 20px;
    height: 100%;
}

.info-card .card-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--main-light);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.info-card .card-icon svg {
    width: 22px;
    height: 22px;
    stroke: var(--main);
}

.info-card h5 {
    font-size: 1.05rem;
    color: var(--dark);
    margin-bottom: 12px;
}

.card-header{
    display: flex;
    align-items: center;
    gap: 12px;
    border: 0px!important;
    background: none!important;
    padding: 0px!important;
}
.info-card ul {
    list-style: none;
    padding-left: 0px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}
.info-card li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 8px;
    list-style: none;
}

.info-card li::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 18px;
    height: 18px;
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23087f8f'/%3E%3Cpath d='M8 12.5L10.5 15L16 9.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 18px 18px;
}

.PilesIntro iframe{
    width: 100%;
    height: 400px;
    border-radius: 16px;
    border: none;
}

/* About Piles */
#AboutPiles h2{
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--main);
    margin-top: 4px;
}
#AboutPiles .section-label, #AboutPiles .section-label{
    color: var(--brand);
}
#AboutPiles p{
    color: #6c757d;
}
#AboutPiles iframe {
    width: 100%;
    height: 500px;
    border-radius: 16px;
    border: none;
}
    #AboutPiles .KnowsPiles iframe, .PelvicFloor iframe{
    width: 100%;
    height: 250px;
    border-radius: 16px;
    border: none;
}
#AboutPiles .lead-italic, .PelvicFloor .lead-italic{
    font-style:italic;
    color:var(--main);
    font-weight:600;
    font-size:1.05rem;
}

/* ── GRADES TABLE ── */
.grade-row {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 16px 20px;
    border-left: 3px solid transparent;
    border-radius: 0 10px 10px 0;
    background: #fff;
    margin-bottom: 10px;
    border: 1px solid var(--border);
}

.grade-row:hover {
    border-left-color: var(--main);
    background: var(--main-light);
}
.grade-row p{
    font-size: 15px;
}

.grade-badge {
    min-width: 72px;
    text-align: center;
    background: var(--main);
    color: #fff;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 15px;
    font-weight: 600;
}
.gradewise iframe{
    width:100%;
    height:450px;
    border-radius: 16px;
    border: none;
}

/* ── "MORE" TOGGLE ── */
.more-toggle {
    background: none;
    border: none;
    color: var(--main);
    font-size: 0.88rem;
    font-weight: 600;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 14px;
}

.more-toggle:hover {
    color: var(--brand);
}

.more-toggle svg {
    width: 16px;
    height: 16px;
    transition: transform 0.3s;
}

.more-toggle.open svg {
    transform: rotate(180deg);
}

.collapsible-content {
    overflow: hidden;
}

.callout-box {
    text-align: center;
    background: #f8f9fa;
    border-radius: 14px;
    padding: 16px 18px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--brand);
    margin-bottom: 24px;
    align-items: flex-start;
    gap: 12px;
}
.callout-box .callout-title {
    text-transform: uppercase;
    color: var(--brand);
    font-weight: 700;
    font-size: .95rem;
    letter-spacing: .02em;
    margin-bottom: .5rem;
}
.callout-box p {
    color:var(--muted);
    margin: 0;
    font-size: 1rem;
}

/* ── TREATMENT SECTION ── */
.treatment-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 25px;
    margin-bottom: 24px;
}

.treatment-card .treatment-tag {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--brand-light);
    color: var(--brand);
    border-radius: 4px;
    padding: 3px 10px;
    margin-bottom: 10px;
}

.treatment-card h3 {
    font-weight: 600;
    font-size: 1.2rem;
    margin-bottom: 12px;
}

.treatment-card p.lead-text {
    color: var(--muted);
    line-height: 1.75;

}

.pro-con-list li {
    font-size: 15px;
    color: var(--muted);
    line-height: 1.7;
    padding-left: 4px;
}

.pro-list li::marker { color: var(--main); }
.con-list li::marker { color: var(--brand); }

.sub-heading {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 8px;
    margin-top: 20px;
}

.TreatmentFrame iframe{
    width: 100%;
    height: 250px;
    border-radius: 16px;
    border: none;
}

/* ── WHY HHC ── */
.hhc-card {
    background: linear-gradient(135deg, #f0fafa 0%, #fff 100%);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 32px;
}

.hhc-card .lead-text {
    color: var(--muted);
    line-height: 1.8;
}

.stat-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--main);
    color: #fff;
    border-radius: 50px;
    padding: 10px 22px;
    font-size: 0.85rem;
    font-weight: 500;
    margin: 6px 6px 0 0;
}
.stat-pill a,.stat-pill a:hover {
    color: #fff!important;
    text-decoration: none;
}
.stat-pill strong {
    font-size: 1.15rem;
}

/* ── MCDPA ── */
.mcdpa-item {
    display: flex;
    gap: 14px;
    margin-bottom: 10px;
}

.mcdpa-dot {
    min-width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--brand);
    margin-top: 6px;
}

.mcdpa-item p {
    color: var(--muted);
    margin: 0;
    line-height: 1.7;
}

.mcdpa-item strong {
    color: var(--dark);
}

/* ── FAQ ACCORDION ── */
.faq-section {
    background: #fff;
}

.accordion-item {
    border: 1px solid var(--border);
    border-radius: 12px !important;
    margin-bottom: 10px;
    overflow: hidden;
}

.accordion-button {
    font-weight: 600;
    font-size: 1.08rem!important;
    color: var(--muted)!important;
    background: #fff;
    border-radius: 12px !important;
}

.accordion-button:not(.collapsed) {
    color: var(--main);
    background: var(--main-light);
    box-shadow: none;
}

.accordion-button::after {
    width: 1.05rem!important;
    height: 1.05rem!important;
    background-size: 1.05rem!important;  
    filter: none;
}

.accordion-button:not(.collapsed)::after {
    filter: hue-rotate(160deg) saturate(3);
}

.accordion-body {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}

.alert-box {
    background: var(--brand-light);
    border-left: 4px solid var(--brand);
    border-radius: 0 8px 8px 0;
    padding: 14px 18px;
    color: var(--dark);
}

.alert-box ul {
    margin: 8px 0 0;
    padding-left: 1.2rem;
}
.reserachbar{
    border-left: 2px solid var(--brand);
    padding-left: 14px;
    margin: 5px 0px;
    background: var(--brand-light);
}

/* ── DIAGNOSIS STRIP ── */
.diag-strip {
    background: var(--main);
    color: #fff;
    border-radius: 14px;
    padding: 28px 32px;
}

.diag-strip h4 {
    color: #fff;
    margin-bottom: 10px;
}

.diag-strip p {
    color: rgba(255,255,255,0.85);
    line-height: 1.75;
    margin: 0;
}
/* Video Testimonials */
.video-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:25px;
}

.video-card{
    cursor:pointer;
    transition:.3s;
}

.video-card:hover{
    transform:translateY(-6px);
}

.video-thumb{
    position:relative;
}

.video-thumb img{
    width:95%;
    aspect-ratio:9/16;
    object-fit:cover;
    border-radius:18px;
}

.play-btn{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:55px;
    height:55px;
    background:red;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    opacity:.9;
}

.video-title{
    display:none;
    margin-top:12px;
    font-size:18px;
    font-weight:600;
}

.video-city{
        display:none;
    color:#777;
    font-size:14px;
}

.modal-content{
    background:transparent;
    border:none;
}

.modal-dialog{
    max-width:300px!important;
}
#LvideoModal iframe {
    height: 450px;
    width: 100%;
}

.btn-close{
    position:absolute;
    top:-10px;
    right:-10px;
    z-index:1000;
    background:#fff;
    border-radius:50%;
    opacity:1;
}

.PatientStories iframe{
    width:100%;
    height:90vh!important;
}

/* ==========================================================
   EXTRA CSS — CONSTIPATION PAGE (appended, nothing above changed)
   ========================================================== */

/* --white was referenced by .hero-stat .stat-num but never defined */
:root {
    --white: #ffffff;
}

/* Body copy defaults for the plain paragraphs on this page */
.PilesIntro p,
.PelvicFloor p:not(.lead-italic),
.faq-section .accordion-body p {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}

/* Media slots — placeholders for VIDEO 1–5 and the doctor photo.
   Replace the .media-slot div with the real <iframe> or <img>;
   the surrounding wrapper class already sets the correct height. */
.media-slot {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: var(--main-light);
    border: 1px dashed var(--border);
    border-radius: 16px;
    padding: 20px;
    text-align: center;
}

.media-slot .media-tag {
    display: inline-block;
    align-self: center;
    background: var(--main);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 4px 12px;
    margin-bottom: 12px;
}

.media-slot p {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
    margin: 0;
}

.media-photo {
    width: 100%;
    border-radius: 16px;
    object-fit: cover;
}

/* Causes grid — keeps every card the same height in a row */
.cause-card p {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 0;
}

/* Diagnosis rows carry a heading beside the badge */
.grade-row h5 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--dark);
}

.grade-row p {
    color: var(--muted);
    margin-bottom: 0;
}

/* Callout used as a full-height column card */
.callout-box.h-100 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Bullet lists reused outside a bordered card (physio, FAQ) */
.info-card.border-0 {
    height: auto;
}

/* Keyboard focus stays visible on the accordion */
.accordion-button:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: -2px;
    box-shadow: none;
}

/* Responsive */
@media (max-width: 991.98px) {
    .hero {
        padding: 48px 0 40px;
    }
    .diag-strip {
        padding: 24px 22px;
    }
}

@media (max-width: 575.98px) {
    .hero-stat {
        height: auto;
        padding: 16px 12px;
    }
    .hero-stat .stat-num {
        font-size: 1.6rem;
    }
    .hero-stat .stat-label {
        font-size: 0.78rem;
    }
    .grade-row {
        flex-direction: column;
        gap: 10px;
    }
    .treatment-card {
        padding: 20px;
    }
}

/*Fissure*/

.body-copy,
#AboutFissure p,.AboutFissure p
.PelvicFloor p:not(.lead-italic),
.final-thought p:not(.lead-italic) {
    color: var(--muted);
    line-height: 1.8;
}

#AboutFissure .lead-italic,
.treatment-card .lead-italic,
.final-thought .lead-italic,
section .lead-italic {
    font-style: italic;
    color: var(--main);
    font-weight: 600;
    font-size: 1.05rem;
}

#AboutFissure h2,.AboutFissure h2 {
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--main);
    margin-top: 4px;
}

#AboutFissure .section-label, .AboutFissure .section-label {
    color: var(--brand);
}

.cycle-card {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 24px 22px;
}

.cycle-card-title {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 16px;
}

.cycle-card-note {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.6;
    margin: 16px 0 0;
}

.cycle-chain {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.cycle-card .cycle-step {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
}

.cycle-card .cycle-step-loop {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}

.cycle-card .cycle-arrow {
    color: rgba(255, 255, 255, 0.6);
}

.cycle-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    background: var(--main-light);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 16px 18px;
    margin: 18px 0 22px;
}

.cycle-step {
    display: inline-block;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: 6px 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--main);
    white-space: nowrap;
}

.cycle-step-loop {
    background: var(--brand);
    border-color: var(--brand);
    color: #fff;
}

.cycle-arrow {
    color: var(--main);
    font-size: 15px;
    font-weight: 700;
}

.compare-wrap {
    display: flex;
    align-items: stretch;
    gap: 0;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    margin: 18px 0 22px;
}

.compare-col {
    flex: 1 1 0;
    padding: 20px;
}

.compare-col-alt {
    background: var(--main-light);
}

.compare-col p {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}

.compare-tag {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: var(--brand-light);
    color: var(--brand);
    border-radius: 4px;
    padding: 3px 10px;
    margin-bottom: 10px;
}

.compare-col-alt .compare-tag {
    background: var(--main);
    color: #fff;
}

.compare-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    background: #fff;
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
}

.compare-divider span {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted);
}

.grade-badge-alt {
    background: var(--brand);
}

.goal-formula {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background: var(--main-light);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 15px;
    margin: 6px 0 22px;
}

.goal-formula > span {
    font-size: 14px;
    font-weight: 600;
    color: var(--main);
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px 14px;
}

.goal-formula .goal-plus {
    background: none;
    border: none;
    padding: 0;
    color: var(--brand);
    font-size: 18px;
    font-weight: 700;
}

.plain-list {
    list-style: none;
    padding-left: 0;
    margin: 0 0 18px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.8;
}

.plain-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 8px;
}

.plain-list li::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 18px;
    height: 18px;
    display: block;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23087f8f'/%3E%3Cpath d='M8 12.5L10.5 15L16 9.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 18px 18px;
}

.info-card .card-intro {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 14px;
}

.info-card .card-note {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.7;
    border-left: 2px solid var(--brand);
    background: var(--brand-light);
    border-radius: 0 6px 6px 0;
    padding: 10px 14px;
    margin: 16px 0 0;
}

.treatment-card h3 .step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--main);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 700;
    margin-right: 10px;
    vertical-align: middle;
}

.sub-card {
    background: #fff;
    border: 1px solid var(--border);
    border-left: 3px solid var(--brand);
    border-radius: 0 12px 12px 0;
    padding: 18px 20px;
   margin-bottom:15px;
}

.sub-card .sub-card-title {
    font-weight: 600;
    font-size: 1rem;
    color: var(--dark);
    margin-bottom: 8px;
}

.sub-card p {
    color: var(--muted);
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 0;
}

.FissureIntro iframe {
    width: 100%;
    height: 400px;
    border-radius: 16px;
    border: none;
}

.FissureIntro img {
    border-radius: 16px;
}

.media-slot-portrait {
    aspect-ratio: 9 / 16;
}

.media-slot-tall {
    min-height: 340px;
}

.media-slot-wide {
    min-height: 220px;
}

.media-slot {
    min-height: 200px;
}

.story-sub {
    color: var(--muted);
    font-size: 15px;
    margin-bottom: 0;
}

.final-thought {
    padding: 22px 26px;
}

.final-thought strong {
    display: block;
    font-size: 1.05rem;
    color: var(--main);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.heal-steps {
    counter-reset: heal;
    list-style: none;
    padding-left: 0;
    margin: 16px 0 18px;
}

.heal-steps li {
    counter-increment: heal;
    position: relative;
    padding-left: 40px;
    margin-bottom: 10px;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.7;
}

.heal-steps li::before {
    content: counter(heal);
    position: absolute;
    left: 0;
    top: -1px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--brand);
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.treatment-card .callout-box {
    text-align: left;
    margin-bottom: 0;
}

.treatment-card .callout-box p {
    font-size: 15px;
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
    .media-slot-tall {
        min-height: 260px;
    }
    .cycle-card {
        padding: 20px 18px;
    }
}

@media (max-width: 767.98px) {
    .compare-wrap {
        flex-direction: column;
    }
    .compare-divider {
        border-left: none;
        border-right: none;
        border-top: 1px solid var(--border);
        border-bottom: 1px solid var(--border);
        padding: 8px 0;
    }
    .cycle-chain,
    .cycle-inline,
    .goal-formula {
        justify-content: flex-start;
    }
    .treatment-card h3 .step-num {
        width: 24px;
        height: 24px;
        font-size: 0.8rem;
    }
}

@media (max-width: 575.98px) {
    .cycle-step,
    .goal-formula > span {
        font-size: 13px;
        padding: 6px 12px;
    }
    .final-thought {
        padding: 18px 18px;
    }
}