/* extras.css: footer social icons, fee tables (loaded after style.css via include/header.php) */

/* footer social icons */
footer .social{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
footer .social li{margin:0}
footer .social a{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:50%;background:#3b4046;color:var(--white);transition:background .15s,transform .15s}
footer .social a:hover,footer .social a:focus-visible{background:var(--red);transform:translateY(-2px)}

/* fee tables: amounts in red, taxes included */
.fees{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:22px}
.fee-box{background:var(--white);border:1px solid var(--line);border-top:6px solid var(--yellow);padding:22px}
.fee-box h3{margin-bottom:.6em}
.fee-box h3 small{font:600 1rem Barlow,Arial,sans-serif;color:var(--mute)}
.fee-box table{border:0}
.fee-box td{font-weight:600}
td.fee-red,.fee-red{color:var(--red);font:700 1.5rem "Barlow Condensed",Arial,sans-serif;white-space:nowrap}
.fee-box td.fee-red{text-align:right}
.fee-box th:last-child{text-align:right}
.fee-tax{margin:14px 0 0;font-weight:700;color:var(--red)}

/* course page sidebar fee */
.side-fee{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.side-fee div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0}
.side-fee span{font-weight:600}
.side-fee small{display:block;color:var(--red);font-weight:700;margin-top:4px}

@media(max-width:860px){.fees{grid-template-columns:1fr}}


/* Responsive three-slide homepage hero */
.slider {
    position: relative;
    display: grid;
    overflow: hidden;
    background: #f2f7fc;
    color: #14283c;
}
.slider .slide.photo {
    position: relative;
    isolation: isolate;
    display: block;
    grid-area: 1 / 1;
    visibility: hidden;
    opacity: 0;
    transition: opacity .4s ease;
    min-height: clamp(380px, 30vw, 440px);
    padding: 28px 0 60px;
    overflow: hidden;
    background: linear-gradient(90deg, #fff 0%, #eef5fb 58%, #e4eef7 100%);
    color: #14283c;
}
.slider .slide.photo.on { visibility: visible; opacity: 1; }
.slider .slide.photo::before { display: none; }
.slider .slide.photo::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    width: 64%;
    background-image: url("../images/hero-fire-safety-diploma.webp");
    background-position: center right;
    background-repeat: no-repeat;
    background-size: cover;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 25%);
    mask-image: linear-gradient(to right, transparent 0%, #000 25%);
}
.slider .slide.hero-two::after {
    background-image: url("../images/hero-2.webp");
}
.slider .slide.hero-three::after {
    background-image: url("../images/hero-3.webp");
}
.slider .slide.photo .wrap {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    min-height: inherit;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.slider .slide.photo .wrap > * { max-width: 570px; }
.slider .slide.photo p { color: #293747; }
.slider .slide.photo .loc {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    color: #10365c;
    font-size: 17px;
    font-weight: 700;
}
.slider .slide.photo .loc svg { color: #d9301f; fill: #d9301f; stroke: #d9301f; }
.slider .slide.photo .tag {
    display: inline-block;
    margin: 0 0 12px;
    padding: 7px 12px;
    background: #d9301f;
    color: #fff;
    font: 700 clamp(13px, 1.3vw, 18px)/1.25 Barlow, Arial, sans-serif;
}
.slider .slide.photo .h1 {
    max-width: 650px;
    margin: 0 0 10px;
    color: #10365c;
    font: 700 clamp(32px, 3.5vw, 54px)/1.08 "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
    letter-spacing: -.6px;
}
.slider .slide.photo .h1 span { display: inline; }
.slider .slide.photo .h1 .n:first-child { margin-right: .22em; }
.slider .slide.photo .h1 .n:last-child { display: block; }
.slider .slide.photo .h1 .n { color: #10365c; }
.slider .slide.photo .h1 .r { color: #d9301f; font-size: 1.12em; }
.slider .slide.photo .sub-p {
    max-width: 560px;
    margin: 0 0 14px;
    color: #293747;
    font-size: 17px;
    line-height: 1.5;
}
.slider .slide.photo .pts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    max-width: 570px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
    color: #10365c;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}
.slider .slide.photo .pts li { min-width: 0; }
.slider .slide.photo .pts .ico {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin: 0 auto 4px;
    border-radius: 50%;
    background: #103f80;
    color: #fff;
}
.slider .slide.photo .pts .ico svg { width: 18px; height: 18px; }
.slider .slide.photo .banner {
    display: inline-block;
    max-width: 100%;
    padding: 10px 26px 10px 18px;
    border-right: 10px solid #d9301f;
    background: #103f80;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    clip-path: polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%);
}
.slider .slide.photo .banner:hover,
.slider .slide.photo .banner:focus-visible { background: #0b2b55; color: #fff; }
.slider .sl-ctl {
    position: absolute;
    z-index: 3;
    bottom: 16px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 10px;
}
.slider .sl-ctl button {
    width: 13px;
    height: 13px;
    padding: 0;
    border: 2px solid #103f80;
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
}
.slider .sl-ctl button[aria-current="true"] { background: #d9301f; border-color: #d9301f; }

/* Header top links: black, with a highlighted WhatsApp contact */
.top .toplinks a { color: #103f80; }
.top .toplinks a:hover { color: #d9301f; }
.top .toplinks a.signup { color: #d9301f; font-weight: 700; }
.top .toplinks a.signup:hover { color: #a82014; }
.top .toplinks .whatsapp-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #168447;
    font-weight: 700;
}
.top .toplinks .whatsapp-link svg { width: 20px; height: 20px; fill: #25D366; flex: 0 0 auto; }
.top .toplinks .whatsapp-link:hover { color: #116b38; }

/* Responsive hero and navigation */
@media (max-width: 860px) {
    .slider .slide.photo {
        min-height: 0;
        padding: 24px 0 52px;
    }
    .slider .slide.photo::after {
        width: 100%;
        opacity: .16;
        background-position: center;
        -webkit-mask-image: none;
        mask-image: none;
    }
    .slider .slide.photo .wrap { justify-content: center; }
    .slider .slide.photo .wrap > * { max-width: 100%; }
    .slider .slide.photo .h1 { font-size: clamp(36px, 7.5vw, 50px); }
    .slider .slide.photo .sub-p { font-size: 16px; }
    .slider .slide.photo .pts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .slider .slide.photo { min-height: 0; padding-top: 18px; padding-bottom: 46px; }
    .slider .slide.photo .pts { display: none; }
    .slider .slide.photo .loc { font-size: 15px; margin-bottom: 8px; }
    .slider .slide.photo .tag { font-size: 14px; }
    .slider .slide.photo .h1 { font-size: 32px; letter-spacing: -.3px; }
    .slider .slide.photo .sub-p { font-size: 15px; }
    .slider .slide.photo .pts { font-size: 12px; gap: 12px 6px; }
    .slider .slide.photo .banner { font-size: 14px; padding: 11px 18px 11px 14px; }
    .top .wrap { align-items: flex-start; }
}


/* Certificate timeline note in homepage About section */
.certificate-note { margin: 12px 0 0; color: #293747; font-size: 15px; line-height: 1.5; }

@media (prefers-reduced-motion: reduce) { .slider .slide.photo { transition: none; } }

/* Feature boxes under the hero: blue and red (was black and red) */
.feat div { background: #103f80; }
.feat div:nth-child(even) { background: var(--red); }

/* About section: certificate note in bold red */
.certificate-note { color: #d9301f; font-weight: 700; }

/* Exam fee (all courses) */
.exam-fee { margin-top: 0; }
.exam-box { margin-top: 22px; max-width: 520px; }

/* Cart, checkout and UPI payment pages */
.stepper{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0 0 22px;padding:0;font-weight:700;color:var(--mute)}
.stepper li{display:flex;align-items:center;gap:8px}
.stepper li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d5d8db;color:#fff;font-size:.9rem}
.stepper li.on{color:#103f80}.stepper li.on span{background:#103f80}
.stepper li.done span{background:#157a3b}
.tbl-scroll{overflow-x:auto}
.cart-table td small{display:block;color:var(--mute)}
.cart-table .num{text-align:right;white-space:nowrap}
.cart-table form{display:block;max-width:none}
.cart-table select{min-width:210px;padding:8px}
.cart-table tfoot th{background:#e8eaed;color:var(--ink)}
.cart-table tfoot .fee-red{background:#e8eaed}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.linkbtn{background:none;border:0;padding:0;color:var(--red);font:600 1rem Barlow,Arial,sans-serif;text-decoration:underline;cursor:pointer}
.cart-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.co{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:start}
.co .card{border-top:6px solid #103f80}
.sum{list-style:none;margin:0 0 12px;padding:0}
.sum li{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.sum small{display:block;color:var(--mute);font-weight:400}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;margin:0;font-weight:700;font-size:1.2rem}
.muted{color:var(--mute);font-size:.9rem;margin:14px 0 0}
.note.ok{background:#e4f5ea;border-left-color:#157a3b}
.upi-box{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-top:6px solid var(--yellow);padding:20px;margin:0 0 28px}
#upi-qr{width:240px;min-height:240px;border:1px solid var(--line);flex:0 0 auto}
#upi-qr svg{display:block;max-width:100%;height:auto}
.upi-info{flex:1 1 240px}
.upi-info dl{margin:0}.upi-info dt{font-weight:700;color:var(--mute);font-size:.85rem;text-transform:uppercase;margin-top:8px}.upi-info dd{margin:0;word-break:break-all}
.upi-info dd.fee-red{font-size:1.6rem}
.upi-app{display:none}
.utr-form{max-width:420px}
.st{display:inline-block;padding:2px 10px;border-radius:12px;font:700 .85rem Barlow,Arial,sans-serif;vertical-align:middle;white-space:nowrap}
.st-pending{background:#eceff1;color:#455a64}.st-submitted{background:#fff3cd;color:#7a5b00}
.st-paid{background:#d9f2e1;color:#0f5f2c}.st-rejected{background:#fde0dc;color:#a8200f}.st-cancelled{background:#e0e0e0;color:#616161}
@media (max-width: 860px){
  .co{grid-template-columns:1fr}
  .upi-app{display:inline-block}
  .stepper{gap:6px 16px;font-size:.9rem}
}


/* Final visual refinements: charcoal typography, navigation and feature panels */
.top .toplinks a { color: #202326; }
.top .toplinks a:hover { color: #d9301f; }
.top .toplinks a.signup { color: #d9301f; }
.slider .slide.photo .h1,
.slider .slide.photo .h1 .n { color: #242629; }
.slider .slide.photo .h1 .r { color: #d9301f; }
.slider .slide.photo p,
.slider .slide.photo .sub-p { color: #292c30; }
.slider .slide.photo .loc { color: #292c30; }
.slider .slide.photo .pts { color: #292c30; }
.slider .slide.photo .pts .ico { background: #292c30; }
.feat div { background: #242629 !important; color: #fff; }
.feat div:nth-child(even) { background: #34373b !important; }
#about .stats div { background: #292c30; color: #fff; border-left-color: var(--yellow); }
#about .stats b { color: #fff; }
.contact .card .visit-line { display:flex; align-items:flex-start; gap:10px; margin:8px 0; }
.contact .card .visit-line svg { width:20px; height:20px; flex:0 0 20px; margin-top:4px; fill:none; stroke:currentColor; stroke-width:1.8; }
.contact .card .visit-line a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.seo-caption { padding:30px 0 38px; color:#42464b; background:#f1f0ec; }
.seo-caption h2 { color:#242629; font-size:clamp(1.5rem,2.8vw,2rem); }
.seo-caption p { max-width:1000px; margin:0 0 10px; }
@media(max-width:600px){.slider .slide.photo .h1{font-size:clamp(30px,8vw,42px)}.contact .card{min-height:300px}}


/* Pay page: the institute's own UPI QR image */
.upi-qr{flex:0 0 auto}
.upi-qr img{display:block;width:260px;max-width:100%;height:auto;border:1px solid var(--line);background:#fff}
