
        #intro .feature-box {
            min-height: 300px;
            padding: 25px 20px;
            border: 1px solid #e6e6e6;
            border-radius: 8px;
            background: #fff;
            margin-bottom: 20px;
        }

        #intro .feature-box-icon {
            margin-bottom: 15px;
        }

        #intro .feature-box-info h4 {
            margin-top: 5px;
            margin-bottom: 8px;
            font-weight: 700;
        }

        #intro .feature-box-info h5 {
            min-height: 48px;
            font-size: 18px;
            line-height: 1.35;
            margin-bottom: 18px;
            font-weight: 700;
        }

        #intro .feature-box-info p {
            min-height: 120px;
            line-height: 1.8;
        }

        #intro .onair-meta {
            display: inline-block;
            margin-bottom: 10px;
            color: #777;
            font-weight: 600;
        }
		
		.home-news-card {
    margin-bottom: 30px;
}

.home-news-image {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
}

.home-news-title {
    font-size: 24px;
    line-height: 1.35;
    min-height: 66px;
    margin-top: 15px;
    margin-bottom: 10px;
}

.home-news-title a {
    color: inherit;
    text-decoration: none;
}

.home-news-title a:hover {
    color: #9fc929;
}

.home-news-excerpt {
    min-height: 95px;
}

.blog-listing .post-meta {
    min-height: 72px;
    margin-bottom: 12px;
}

.blog-listing .post-meta span {
    display: inline-block;
    margin-right: 12px;
    margin-bottom: 6px;
}


/* NFM live information / community dashboard */
.nfm-live-section { padding: 38px 0; background: #f7f7f7; }
.nfm-live-section .nfm-section-head { margin-bottom: 18px; }
.nfm-live-section .nfm-fullwidth-row { display:block; width:100%; margin-left:0; margin-right:0; }
.nfm-live-section .nfm-fullwidth-row > .col-md-12 { float:none; width:100%; padding-left:0; padding-right:0; }
.nfm-data-panel { background: #fff; border: 1px solid #e7e7e7; border-radius: 10px; padding: 20px; margin-bottom: 18px; box-shadow: 0 6px 18px rgba(0,0,0,.04); }
.nfm-panel-kicker { display:block; color:#c8202f; font-size:11px; font-weight:700; letter-spacing:1.1px; text-transform:uppercase; margin-bottom:4px; }
.nfm-panel-title { font-size:21px; margin:0 0 5px; font-weight:700; }
.nfm-panel-note { color:#777; margin-bottom:14px; font-size:12px; }
.nfm-weather-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
.nfm-weather-head-copy { min-width:0; }
.nfm-weather-select { width:260px; max-width:100%; margin:0; }
.nfm-weather-select label { display:block; font-size:11px; color:#666; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:5px; }
.nfm-weather-select select { height:38px; border-radius:4px; }
.nfm-weather-forecast { display:flex; margin:0 -5px; }
.nfm-forecast-card { width:20%; padding:0 5px; }
.nfm-forecast-inner { min-height:142px; border:1px solid #ececec; border-radius:8px; background:#fafafa; padding:14px; text-align:center; }
.nfm-forecast-card.is-today .nfm-forecast-inner { background:#fff; border-top:3px solid #c8202f; padding-top:12px; }
.nfm-forecast-day { display:block; font-size:12px; font-weight:700; color:#222; }
.nfm-forecast-date { display:block; font-size:10px; color:#999; margin-top:2px; }
.nfm-forecast-icon { display:block; color:#c8202f; font-size:28px; margin:10px 0 6px; }
.nfm-forecast-condition { display:block; min-height:18px; font-size:11px; color:#666; }
.nfm-forecast-temp { display:block; margin-top:6px; font-size:17px; color:#171717; }
.nfm-forecast-temp strong { font-size:20px; }
.nfm-current-weather-line { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:9px; padding-top:9px; border-top:1px solid #ececec; font-size:11px; color:#777; }
.nfm-source-line { font-size:10px; color:#8b8b8b; margin-top:10px; }
.nfm-source-line a { color:#666; text-decoration:underline; }
.nfm-indicator-row { display:flex; margin:0 -5px; }
.nfm-indicator-card { flex:1 1 0; min-width:0; padding:0 5px; }
.nfm-rate-card-inner { border:1px solid #ececec; border-radius:7px; padding:13px 10px; background:#fafafa; height:100%; }
.nfm-rate-label { display:block; color:#777; font-size:9px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; }
.nfm-rate-value { display:block; font-size:17px; font-weight:700; color:#171717; margin:3px 0; white-space:nowrap; }
.nfm-rate-date { font-size:9px; color:#999; }
.nfm-indicator-kind { display:block; margin-bottom:5px; font-size:9px; color:#aaa; text-transform:uppercase; letter-spacing:.6px; }
.nfm-diary-section { padding:55px 0; background:#fff; }
.nfm-calendar { border:1px solid #ececec; border-radius:8px; overflow:hidden; background:#fff; }
.nfm-calendar-title { background:#171717; color:#fff; font-weight:700; padding:14px 16px; font-size:18px; }
.nfm-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.nfm-calendar-grid span { min-height:46px; display:flex; align-items:center; justify-content:center; border-right:1px solid #f1f1f1; border-bottom:1px solid #f1f1f1; font-size:13px; position:relative; }
.nfm-calendar-head span { min-height:34px; background:#f7f7f7; font-weight:700; color:#777; font-size:11px; }
.nfm-calendar-grid span.is-today { background:#fff1f2; color:#c8202f; font-weight:700; }
.nfm-calendar-grid span.has-event:after { content:''; width:6px; height:6px; border-radius:50%; background:#c8202f; position:absolute; bottom:5px; }
.nfm-calendar-grid span.is-empty { background:#fafafa; }
.nfm-event-list { list-style:none; padding:0; margin:0; }
.nfm-event-list li { display:flex; gap:15px; padding:14px 0; border-bottom:1px solid #eee; }
.nfm-event-list li:last-child { border-bottom:0; }
.nfm-event-date { width:52px; min-width:52px; text-align:center; border-radius:6px; background:#c8202f; color:#fff; padding:7px 4px; }
.nfm-event-date strong { display:block; font-size:20px; line-height:1; }
.nfm-event-date span { font-size:10px; text-transform:uppercase; }
.nfm-event-copy h4 { font-size:16px; font-weight:700; margin:0 0 5px; }
.nfm-event-copy p { color:#777; font-size:12px; margin:0; }
.nfm-banner-ad { padding:18px 0; background:#f2f2f2; }
.nfm-banner-ad img { max-width:100%; height:auto; display:block; margin:0 auto; }
.nfm-ad-placeholder { max-width:970px; min-height:90px; margin:0 auto; border:1px dashed #bbb; background:#fff; display:flex; align-items:center; justify-content:center; flex-direction:column; color:#999; text-align:center; }
.nfm-ad-placeholder small { font-size:9px; letter-spacing:2px; }
.nfm-ad-placeholder strong { font-size:16px; color:#555; margin:2px 0; }
.nfm-ad-placeholder span { font-size:10px; }
.nfm-condensation-ad { max-width:970px; min-height:90px; margin:0 auto; padding:12px 18px; display:flex; align-items:center; gap:16px; color:#fff!important; text-decoration:none!important; overflow:hidden; position:relative; border-radius:3px; box-shadow:0 3px 14px rgba(0,0,0,.14); }
.nfm-condensation-ad:before { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 40%,rgba(255,255,255,.04)); }
.nfm-condensation-ad:hover,.nfm-condensation-ad:focus { color:#fff!important; text-decoration:none!important; transform:translateY(-1px); box-shadow:0 5px 18px rgba(0,0,0,.18); }
.nfm-condensation-ad-salon { background:linear-gradient(105deg,#151515 0%,#262626 62%,#b31117 100%); border-left:5px solid #d71920; }
.nfm-condensation-ad-lms { background:linear-gradient(105deg,#17211b 0%,#223128 62%,#567a18 100%); border-left:5px solid #a8cf2a; }
.nfm-ad-badge { width:54px; min-width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.11); font-size:24px; position:relative; z-index:1; }
.nfm-ad-copy { flex:1; min-width:0; position:relative; z-index:1; }
.nfm-ad-copy small { display:block; font-size:9px; font-weight:800; letter-spacing:1.7px; opacity:.72; line-height:1.2; margin-bottom:3px; }
.nfm-ad-copy strong { display:block; color:#fff; font-size:20px; line-height:1.15; margin-bottom:4px; }
.nfm-ad-copy > span { display:block; color:rgba(255,255,255,.79); font-size:12px; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nfm-ad-offer { min-width:175px; text-align:right; position:relative; z-index:1; }
.nfm-ad-offer strong { display:block; color:#fff; font-size:15px; line-height:1.15; }
.nfm-ad-offer > span { display:inline-block; margin-top:6px; padding:6px 10px; background:#fff; color:#151515; font-size:10px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; border-radius:2px; }
.nfm-condensation-ad-lms .nfm-ad-offer > span { color:#33460f; }
.nfm-discover-row .nfm-discover-card { min-height:285px; }
.nfm-empty-inline { color:#777; padding:12px 0; }
@media (max-width: 991px) {
  .nfm-weather-forecast, .nfm-indicator-row { flex-wrap:wrap; }
  .nfm-forecast-card { width:33.3333%; margin-bottom:10px; }
  .nfm-indicator-card { flex:0 0 25%; margin-bottom:10px; }
}
@media (max-width: 767px) {
  .nfm-weather-head { display:block; }
  .nfm-weather-select { width:100%; margin-top:12px; }
  .nfm-forecast-card { width:50%; }
  .nfm-indicator-card { flex:0 0 50%; }
  .nfm-data-panel { padding:16px; }
  .nfm-calendar-grid span { min-height:40px; }
  .nfm-condensation-ad { min-height:0; padding:14px; gap:11px; align-items:flex-start; }
  .nfm-ad-badge { width:40px; min-width:40px; height:40px; font-size:18px; }
  .nfm-ad-copy strong { font-size:16px; }
  .nfm-ad-copy > span { white-space:normal; font-size:11px; }
  .nfm-ad-offer { min-width:0; text-align:left; }
  .nfm-ad-offer strong { display:none; }
  .nfm-ad-offer > span { margin-top:0; white-space:nowrap; }
}
@media (max-width: 560px) {
  .nfm-condensation-ad { flex-wrap:wrap; }
  .nfm-ad-copy { flex:1 1 calc(100% - 55px); }
  .nfm-ad-offer { width:100%; padding-left:51px; }
}

    
/* ======================================================
   NFM MOBILE HARDENING
   Normalises image ratios and prevents desktop dimensions
   from producing oversized/cropped mobile content.
====================================================== */

.nfm-news-img {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto !important;
    overflow: hidden;
    background: #f3f3f3;
}

.nfm-news-img img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 767px) {

    .nfm-hero {
        overflow: hidden;
    }

    .nfm-hero-copy h1 {
        font-size: 38px;
        line-height: 1.08;
    }

    .nfm-hero-actions .btn {
        display: block;
        width: 100%;
        margin: 0 0 10px;
        white-space: normal;
    }

    .nfm-onair-card {
        margin-top: 24px;
    }

    .nfm-section-head {
        display: block !important;
    }

    .nfm-section-head > a {
        display: inline-block;
        margin-top: 10px;
    }

    .nfm-news-grid {
        display: block !important;
    }

    .nfm-news-grid > [class*="col-"] {
        display: block !important;
        width: 100%;
        float: none;
    }

    .nfm-news-card {
        height: auto !important;
        margin-bottom: 24px;
    }

    .nfm-news-img {
        aspect-ratio: 16 / 10;
    }

    .nfm-news-body {
        padding: 18px !important;
    }

    .nfm-news-body h3,
    .home-news-title {
        min-height: 0 !important;
        max-height: none !important;
    }

    .home-news-excerpt,
    .nfm-news-body p {
        min-height: 0 !important;
        max-height: none !important;
    }

    .nfm-discover-row > [class*="col-"] {
        width: 100%;
        float: none;
    }

    .nfm-discover-card {
        min-height: 0 !important;
        padding: 28px 22px !important;
    }

    .nfm-advertise-band .nfm-ad-actions {
        margin-top: 16px;
    }

    .nfm-advertise-band .btn {
        display: block;
        width: 100%;
        margin: 8px 0 0 !important;
        white-space: normal;
    }
}

@media (max-width: 480px) {

    .nfm-hero-copy h1 {
        font-size: 32px;
    }

    .nfm-news-img {
        aspect-ratio: 4 / 3;
    }

    .nfm-coming-up > [class*="col-"] {
        padding-left: 8px;
        padding-right: 8px;
    }

    .nfm-coming-up strong {
        font-size: 13px;
        line-height: 1.25;
        word-break: break-word;
    }
}

