/* CHG Feature / Infrastructure / Students widgets */
.chg-feature-widget,.chg-infra-widget,.chg-students-slider{width:100%;box-sizing:border-box}
.chg-feature-widget *,.chg-infra-widget *,.chg-students-slider *{box-sizing:border-box}
.chg-feature-intro,.chg-infra-intro{margin:0 0 20px}
.chg-feature-grid{display:grid!important;width:100%!important;max-width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;justify-content:stretch;gap:18px}.chg-infra-grid{display:grid!important;width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:18px}
.chg-feature-card{display:flex!important;width:100%!important;max-width:none!important;height:100%;min-width:0;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;justify-self:stretch;overflow:hidden;text-align:center;text-decoration:none!important;border:2px solid #ccd7e3;border-radius:12px;background:#f0f5fa;color:inherit;padding:18px 14px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;cursor:pointer}
.chg-feature-card:hover{transform:translateY(-2px);text-decoration:none!important}
.chg-feature-card:focus-visible,.chg-infra-button:focus-visible,.chg-students-arrow:focus-visible,.chg-students-dot:focus-visible{outline:3px solid #168bd0;outline-offset:3px}
.chg-feature-icon{display:flex;align-items:center;justify-content:center;flex:none;width:50px;height:50px;border-radius:50%;background:#ddf2ff;color:#0087c9;font-size:23px}
.chg-feature-icon i{line-height:1}.chg-feature-icon svg{display:block;fill:currentColor}
.chg-feature-title{display:block;width:100%;max-width:100%;margin:0!important;padding:0!important;font-size:16px;line-height:1.3;font-weight:700;color:#111827;overflow-wrap:anywhere}
.chg-feature-subtitle{display:block;width:100%;font-size:14px;line-height:1.4;color:#64748b;font-style:italic}
.chg-feature-details{width:100%;text-align:left;color:#334155;font-size:16px;line-height:1.65}
.chg-feature-details[hidden]{display:none!important}
.chg-feature-card.is-expanded .chg-feature-details{display:block}
.chg-infra-card{position:relative;display:flex;flex-direction:column;align-items:stretch;align-self:stretch;height:100%;min-width:0;overflow:hidden;border:2px solid #ffd2a6;border-radius:12px;background:#fff7ed;padding:14px}
.chg-infra-heading{display:flex;align-items:center;gap:14px;margin:0 0 14px}
.chg-infra-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;color:#718096;font-size:30px}
.chg-infra-icon svg{width:1em;height:1em;fill:currentColor}
.chg-infra-title{margin:0!important;padding:0!important;color:#111827;font-size:20px;line-height:1.25;font-weight:700}
.chg-infra-list{flex:1 1 auto;margin:0 0 16px!important;padding:0 0 0 18px!important;color:#334155;font-size:14px;line-height:1.5}
.chg-infra-list li{padding:0;margin:0 0 7px}
.chg-infra-button{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:100%;min-height:44px;margin-top:auto;padding:9px 14px;border:0;border-radius:8px;background:var(--chg-infra-btn-bg,#f05a00);color:var(--chg-infra-btn-color,#fff)!important;text-align:center;text-decoration:none!important;font-size:14px;font-weight:700;line-height:1.25;transition:background .2s,transform .2s}
.chg-infra-button:hover{color:var(--chg-infra-btn-color,#fff)!important;background:var(--chg-infra-btn-hover,#d94e00)!important}
.chg-infra-whole-link{position:absolute;inset:0;z-index:1;display:block}
.chg-infra-card:has(.chg-infra-whole-link) .chg-infra-button{z-index:2}
.chg-students-slider{position:relative}
.chg-students-heading{margin:0 0 18px;font-size:28px;line-height:1.25}
.chg-students-viewport{width:100%;overflow:hidden}
.chg-students-track{display:flex;align-items:stretch;gap:16px;transition:transform .4s ease;will-change:transform}
.chg-student-slide{flex:0 0 calc((100% - 32px)/3);min-width:0;overflow:hidden;border:1px solid #dce5ef;border-radius:12px;background:#f8fafc}
.chg-student-slide-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none!important}
.chg-student-slide-image{display:block;width:100%;height:220px;object-fit:cover;object-position:center center}
.chg-student-caption{display:block;text-align:center;padding:12px;color:#111827;font-size:18px;line-height:1.35;font-weight:500}
.chg-students-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.chg-students-arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#0c2c66;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.chg-students-arrow:hover{background:#164b98;color:#fff}
.chg-students-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}
.chg-students-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#cbd5e1;cursor:pointer}
.chg-students-dot.is-active{background:#0c2c66}
@media(max-width:1024px){.chg-student-slide{flex-basis:calc((100% - 16px)/2)}.chg-infra-title{font-size:18px}.chg-infra-list{font-size:14px}.chg-infra-button{font-size:14px}}
@media(max-width:767px){.chg-student-slide{flex-basis:100%}.chg-feature-title{font-size:16px}.chg-feature-subtitle{font-size:14px}.chg-feature-icon{width:50px;height:50px;font-size:23px}.chg-infra-card{padding:14px}.chg-infra-title{font-size:17px}.chg-infra-list{font-size:14px;padding-left:20px!important}.chg-infra-button{font-size:14px;min-height:44px}.chg-students-heading{font-size:23px}}
@media(prefers-reduced-motion:reduce){.chg-feature-card,.chg-infra-button,.chg-students-track,.chg-students-arrow{transition:none}}

/* CHG 1.2.9 – stable equal-width card grids */
@media (max-width:1024px){.chg-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chg-infra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.chg-feature-grid{grid-template-columns:minmax(0,1fr)}.chg-infra-grid{grid-template-columns:minmax(0,1fr)}.chg-feature-card,.chg-infra-card{width:100%;min-width:0}}
.chg-infra-card .chg-infra-list{flex:1 1 auto}
.chg-infra-card .chg-infra-button{margin-top:auto}

/* CHG Feature Info Cards – compact four-card layout (reference 2) */
.chg-feature-widget{width:100%!important;max-width:100%!important}
.chg-feature-grid > .chg-feature-card{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important;justify-self:stretch!important}
.chg-feature-grid > .chg-feature-card:nth-child(1) .chg-feature-icon{background:#ddf2ff;color:#0087c9}
.chg-feature-grid > .chg-feature-card:nth-child(2) .chg-feature-icon{background:#ffedd5;color:#ea580c}
.chg-feature-grid > .chg-feature-card:nth-child(3) .chg-feature-icon{background:#dcfce7;color:#16a34a}
.chg-feature-grid > .chg-feature-card:nth-child(4) .chg-feature-icon{background:#f3e8ff;color:#9333ea}
@media (max-width:1024px){.chg-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.chg-feature-grid{grid-template-columns:1fr}.chg-feature-card{min-height:160px}}


/* =========================================================
   CHG FEATURE INFO CARDS – HARD LAYOUT FIX v1.3.1
   Prevent Elementor/theme flex and width rules from shrinking
   cards to their intrinsic content width.
   ========================================================= */
.elementor-widget-chg-feature-info-cards,
.elementor-widget-chg-feature-info-cards > .elementor-widget-container,
.elementor-widget-chg-feature-info-cards .chg-feature-widget {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
    align-self: stretch !important;
}
.elementor-widget-chg-feature-info-cards .chg-feature-grid,
.chg-feature-widget .chg-feature-grid {
    display: grid !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-flow: row !important;
    grid-auto-rows: 1fr !important;
    column-gap: 18px;
    row-gap: 18px;
    justify-content: stretch !important;
    align-content: stretch !important;
    align-items: stretch !important;
}
.elementor-widget-chg-feature-info-cards .chg-feature-card,
.chg-feature-widget .chg-feature-card {
    display: flex !important;
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 180px;
    height: 100% !important;
    flex: initial !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px 14px;
    gap: 10px;
    text-align: center;
    overflow: hidden !important;
}
.elementor-widget-chg-feature-info-cards .chg-feature-title,
.chg-feature-widget .chg-feature-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700 !important;
    text-align: center;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: manual !important;
}
.elementor-widget-chg-feature-info-cards .chg-feature-subtitle,
.chg-feature-widget .chg-feature-subtitle {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}
.elementor-widget-chg-feature-info-cards .chg-feature-icon,
.chg-feature-widget .chg-feature-icon {
    display: flex !important;
    flex: 0 0 50px;
    width: 50px;
    min-width: 50px;
    max-width: 50px;
    height: 50px;
    min-height: 50px;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    font-size: 23px;
}
@media (max-width: 1024px) {
    .elementor-widget-chg-feature-info-cards .chg-feature-grid,
    .chg-feature-widget .chg-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .elementor-widget-chg-feature-info-cards .chg-feature-grid,
    .chg-feature-widget .chg-feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .elementor-widget-chg-feature-info-cards .chg-feature-card,
    .chg-feature-widget .chg-feature-card {
        min-height: 160px;
    }
}


/* =========================================================
   CHG – LINKED FEATURE CARDS (independent new widget)
   Each card is its own optional anchor; styles are isolated.
   ========================================================= */
.chg-linked-feature-widget,
.elementor-widget-chg-linked-feature-cards,
.elementor-widget-chg-linked-feature-cards > .elementor-widget-container {
    display:block;
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
}
.chg-linked-feature-grid {
    display:grid;
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
    grid-template-columns:repeat(4,minmax(0,1fr));
    grid-auto-rows:1fr;
    gap:18px;
    align-items:stretch;
    justify-content:stretch;
}
.chg-linked-feature-card {
    display:flex;
    box-sizing:border-box;
    position:relative;
    width:100%;
    min-width:0;
    max-width:none;
    min-height:180px;
    height:100%;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:18px 14px;
    overflow-wrap:normal;
    word-break:normal;
    text-align:center;
    text-decoration:none !important;
    color:inherit;
    background:#F0F5FA;
    border:2px solid #CCD7E3;
    border-radius:12px;
    transition:all .2s ease;
    cursor:default;
}
a.chg-linked-feature-card {
    cursor:pointer;
}
.chg-linked-feature-card:hover {
    background:#E7F3FC;
    border-color:#9FCBEA;
    color:inherit;
    text-decoration:none !important;
}
.chg-linked-feature-card:focus-visible {
    outline:3px solid #0087C9;
    outline-offset:3px;
}
.chg-linked-feature-icon {
    display:flex;
    box-sizing:border-box;
    flex:0 0 50px;
    width:50px;
    min-width:50px;
    max-width:50px;
    height:50px;
    min-height:50px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#DDF2FF;
    color:#0087C9;
    font-size:23px;
    line-height:1;
}
.chg-linked-feature-icon i { line-height:1; }
.chg-linked-feature-icon svg { display:block; width:1em; height:1em; fill:currentColor; }
.chg-linked-feature-title {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    padding:0;
    color:#111827;
    font-size:16px;
    font-weight:700;
    line-height:1.3;
    text-align:inherit;
    white-space:normal;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:manual;
}
.chg-linked-feature-subtitle {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    color:#64748B;
    font-size:14px;
    line-height:1.4;
    font-style:italic;
    text-align:inherit;
    white-space:normal;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:manual;
}
.chg-linked-feature-intro { width:100%; margin:0 0 18px; }
@media (max-width:1024px) {
    .chg-linked-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
    .chg-linked-feature-grid { grid-template-columns:minmax(0,1fr); }
    .chg-linked-feature-card { min-height:160px; }
}


/* CHG Infrastructure Cards – rich-text body content and inline links (v1.3.6) */
.chg-infra-card .chg-infra-list p{margin:0 0 8px}
.chg-infra-card .chg-infra-list p:last-child{margin-bottom:0}
.chg-infra-card .chg-infra-list ul,.chg-infra-card .chg-infra-list ol{margin:0 0 8px;padding-left:20px}
.chg-infra-card .chg-infra-list a{position:relative;z-index:2;color:inherit;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.chg-infra-card .chg-infra-list a:hover{text-decoration:none}
