/* =========================================================
   Client review fixes — 20 Oct 2026
   (linked last on every page, after justify.css)
   ========================================================= */

/* ---------- 1. Header logo — a little smaller ---------- */
.navbar .navbar-brand img { max-height: 58px !important; height: 58px; width: auto; }
@media (max-width: 991px) {
    .navbar .navbar-brand img { max-height: 46px !important; height: 46px; }
}

/* ---------- 2. Home "Overview" — photo beside text, no stat boxes ---------- */
.gu-ov-p { font-size: 1.05rem; line-height: 1.75; margin-bottom: 1rem; }
.gu-ov-p + .gu-ov-p { margin-bottom: 1.6rem; }
.gu-ov-row { align-items: stretch !important; }
.gu-ov-row > [class*="col-xl-"]:first-child { display: flex; }
.gu-ov-media { position: relative; flex: 1 1 auto; display: flex; flex-direction: column; width: 100%; padding: 0 0 2.4rem 0; }
.gu-ov-media::before { display: none; }                 /* old offset frame */
.gu-ov-media img.rounded {
    display: block; flex: 1 1 auto; width: 100%; height: 100%; min-height: 0;
    aspect-ratio: auto !important;
    object-fit: contain; object-position: 50% 50%;
    clip-path: none !important;                           /* never crop the drawing's corners */
    border: 1px solid #d9e0ee; border-radius: 8px !important;
    padding: 14px; filter: none;
    background-color: #f5f8fc;                            /* drawing-sheet grid behind the plan */
    background-image:
        linear-gradient(rgba(0, 22, 89, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 22, 89, .06) 1px, transparent 1px);
    background-size: 26px 26px;
    box-shadow: 0 18px 44px rgba(0, 22, 89, .16);
}
.gu-ov-media .gu-ab-card { right: 1.2rem; bottom: 0; max-width: calc(100% - 2.4rem); }
@media (max-width: 1199px) {
    .gu-ov-media img.rounded { height: auto; flex: 0 0 auto; aspect-ratio: 1093 / 887 !important; }
    .gu-ov-media .gu-ab-card { right: 0; max-width: 100%; }
}
@media (max-width: 575px) {
    .gu-ov-media { padding-bottom: 0; }
    .gu-ov-media .gu-ab-card { position: relative; right: auto; margin-top: -1rem; max-width: 100%; }
}

/* ---------- 3. About page "Overview" — image and text properly aligned ---------- */
.gu-abp-row > [class*="col-"] { display: flex; flex-direction: column; justify-content: flex-start; }
.gu-abp-media {
    position: relative; flex: 1 1 auto; width: 100%;
    min-height: 460px; border-radius: 8px; overflow: hidden;
    box-shadow: 0 22px 50px rgba(0, 22, 89, .20);
    background: #001659;
}
.gu-abp-media::before {                                  /* navy / orange corner bracket */
    content: ""; position: absolute; left: 14px; top: 14px; width: 74px; height: 74px; z-index: 2;
    border-left: 4px solid #ff5e15; border-top: 4px solid #ff5e15; pointer-events: none;
}
.gu-abp-media img {
    position: absolute; inset: 0; width: 100%; height: 100%;
    object-fit: cover; object-position: 50% 40%;
    border-radius: 0 !important; box-shadow: none !important; transform: none !important;
}
.gu-abp-media::after {                                   /* soft bottom fade behind the tag */
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 38%; z-index: 1;
    background: linear-gradient(180deg, rgba(0, 22, 89, 0) 0%, rgba(0, 22, 89, .72) 100%);
    pointer-events: none;
}
.gu-abp-tag {
    position: absolute; left: 1.4rem; bottom: 1.4rem; z-index: 3;
    display: inline-flex; align-items: center; gap: .7rem;
    background: #fff; color: #001659; border-left: 4px solid #ff5e15; border-radius: 4px;
    padding: .75rem 1.1rem; box-shadow: 0 12px 28px rgba(0, 0, 0, .25);
}
.gu-abp-tag i { color: #ff5e15; font-size: 1.15rem; }
.gu-abp-tag b { font-size: 1rem; font-weight: 700; letter-spacing: .01em; }
.gu-abp-text { justify-content: center !important; }
.gu-abp-text .gu-just { text-align: justify; }
@media (max-width: 1199px) {
    .gu-abp-media { min-height: 0; aspect-ratio: 4 / 3; flex: 0 0 auto; }
}

/* ---------- 5. Service pages — single (non-overlapping) photo ---------- */
.sx-collage.sx-single { padding: 0 0 1.4rem 0; }
.sx-collage.sx-single .sx-badge { bottom: 2.6rem; }
.sx-collage.sx-single .main { height: 440px; }
@media (max-width: 991px) { .sx-collage.sx-single .main { height: 340px; } }

/* ---------- 6. Footer map — Maharashtra no longer overlaps neighbouring states ---------- */
.india-map .map-pin.map-pin-hq .pin-label {
    top: 3px !important; left: auto !important; right: -14px;
    transform: none !important; text-align: right;
    font-size: 12px; padding: 4px 9px; line-height: 1.1;
}
.india-map .map-pin.map-pin-hq .pin-icon { font-size: 32px; }
.india-map .map-pin[aria-label="Goa"] .pin-label { top: -6px; }
.india-map .map-pin[aria-label="Karnataka"] .pin-label { top: 7px; }
.india-map .map-hq-glow { width: 20%; }

/* home overview checklist — keep each item on one line */
.gu-ov-row .gu-ab-list { gap: .7rem 1rem; }
.gu-ov-row .gu-ab-list li { font-size: .94rem; white-space: nowrap; }
@media (max-width: 575px) { .gu-ov-row .gu-ab-list li { white-space: normal; } }

/* keep the cooling tower in frame when the ash-pond photo is cropped */
.sx-fig img[src*="ash-pond.jpg"] { object-position: 24% 50%; }
.sector-bg[style*="ash-pond.jpg"] { background-position: 24% 50%; }

/* home About — blueprint fills the photo column at its natural ratio (no crop, no empty panel) */
.gu-ab-row { align-items: center !important; }
.gu-ab-row .gu-ab-media { padding: 0 0 2.4rem 0; }
.gu-ab-row .gu-ab-media::before { display: none; }
.gu-ab-media img.gu-plan {
    display: block; width: 100%; height: auto; aspect-ratio: 1093 / 887 !important; object-fit: contain;
    clip-path: none !important; filter: none; padding: 0; background: #fff;
    border: 1px solid #d9e0ee; border-radius: 8px !important;
    box-shadow: 0 18px 44px rgba(0, 22, 89, .16);
}
.gu-ab-row .gu-ab-card { right: 1.2rem; max-width: calc(100% - 2.4rem); }
@media (max-width: 1199px) { .gu-ab-row .gu-ab-card { right: 0; max-width: 100%; } }
@media (max-width: 575px) {
    .gu-ab-row .gu-ab-media { padding-bottom: 0; }
    .gu-ab-row .gu-ab-card { position: relative; right: auto; margin-top: -1rem; max-width: 100%; }
}

/* ---------- Justified text: no word-breaking dashes anywhere, even word gaps ---------- */
html body, html body *:not(#_hx) {
    -webkit-hyphens: none !important; -moz-hyphens: none !important; -ms-hyphens: none !important;
    hyphens: none !important;
}
html body p.gu-just, html body .accordion-body, html body .gu-ov-p, html body .cs-p {
    text-wrap: pretty;
    text-align: justify; text-align-last: left;
}
@media (min-width: 576px) {
    html body .gu-abp-text p.gu-just { font-size: 1.08rem !important; line-height: 1.8; }
}

/* home About — bigger blueprint, card sits below it (drawing not covered), heading stays on 2 lines */
.gu-ab-row .gu-ab-media { padding-bottom: 4.6rem; }
.gu-ab-row .gu-ab-card { right: 1.2rem; bottom: 0; }
@media (min-width: 1200px) {
    .gu-ab-row h2.display-5 { line-height: 1.2; }
}
@media (max-width: 575px) { .gu-ab-row .gu-ab-media { padding-bottom: 0; } }

/* home About — plain image: no dotted grid beside it */
.gu-ab-row .gu-ab-media::after { display: none !important; content: none !important; }

/* home About — image only: no frame, shadow, border, hover effect or decoration around it */
html body .gu-ab-row .gu-ab-media::before,
html body .gu-ab-row .gu-ab-media::after { display: none !important; content: none !important; }
html body .gu-ab-row .gu-ab-media img.gu-plan,
html body .gu-ab-row .gu-ab-media img.gu-plan:hover {
    border: 0 !important; box-shadow: none !important; background: none !important;
    padding: 0 !important; transform: none !important; filter: none !important; outline: 0 !important;
}

/* home About — thin frame + soft shadow so the drawing sits cleanly on the page */
html body .gu-ab-row .gu-ab-media img.gu-plan,
html body .gu-ab-row .gu-ab-media img.gu-plan:hover {
    border: 1px solid #cfd8ea !important; border-radius: 8px !important;
    padding: 10px !important; background: #fff !important;
    box-shadow: 0 14px 36px rgba(0, 22, 89, .12) !important;
}
