/* Layout & Filters */
.news-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:12px 0 20px}
.news-toolbar__left{font-weight:600}
.news-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}
.news-filters__group{position:relative}
/* Filter label (placeholder-style) */
.news-label{display:block;margin:0 0 6px 0;font-size:12px;font-weight:400;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#6b7280}
/* Base input/select */
.news-input,.news-select{background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:220px}
.news-select-wrap{position:relative;width:100%;max-width:260px}
.news-select{display:block;width:100%;height:44px;padding:10px 36px 10px 14px;appearance:none;-webkit-appearance:none;outline:none;font-size:14px;font-weight:700;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#111827;transition:border-color .2s ease, box-shadow .2s ease}
.news-select:hover{border-color:#d1d5db}
.news-select:focus{border-color:#c7c8cc;box-shadow:0 0 0 3px rgba(17,17,17,.06)}
.news-select option{font-size:14px;font-weight:700}
.news-select option{color:#111827}
.news-select-caret{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:#2b2b2b;font-size:16px;line-height:1}

/* Custom dropdown (hidden on desktop) */
.news-dd{display:none;width:100%;height:44px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:10px 36px 10px 14px;text-align:left;font-size:14px;font-weight:700;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#111827;position:relative}
.news-dd__icon{position:absolute;right:12px;top:50%;transform:translateY(-50%)}
.news-dd__menu{display:none;position:absolute;z-index:20;left:0;right:0;top:48px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;max-height:220px;overflow:auto}
.news-dd__option{padding:10px 14px;cursor:pointer}
.news-dd__option:hover{background:#f3f4f6}
.news-dd[aria-expanded="true"] + .news-dd__menu{display:block}

/* Configurable grid columns via CSS variables with fixed column width */
.news-grid{--cols-sm:1;--cols-md:2;--cols-lg:3;--gap:16px;--colw:281px;--feature-span:2;display:grid;gap:var(--gap);grid-template-columns:repeat(var(--cols-sm),var(--colw))}
@media (min-width:768px){.news-grid{grid-template-columns:repeat(var(--cols-md),var(--colw))}}
@media (min-width:1200px){.news-grid{grid-template-columns:repeat(var(--cols-lg),var(--colw))}}

/* Card base */
.news-card{position:relative;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:box-shadow .2s ease, transform .2s ease;height:325px;display:flex;flex-direction:column}
/* On hover, only the image moves (not the whole card) */
.news-card__media img{transition:transform .25s ease}
.news-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px);z-index:1}
.news-card:hover .news-card__media img{transform:scale(1.05)}

/* Media heights */
.news-card__media{display:block;position:relative}
.news-card--feature .news-card__media{height:325px}
.news-card:not(.news-card--feature) .news-card__media{height:211px}
/* Default desktop/object-fit */
.news-card__media img{display:block;width:100%;height:100%;object-fit:cover}

/* Feature spans configurable columns from md and up */
@media (min-width:768px){.news-card--feature{grid-column:span var(--feature-span)}}

/* Feature overlay */
.news-card__gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.55) 100%)}
/* Overlay content anchored 40px from bottom; date sits at 20px -> 20px gap */
.news-card__content--overlay{position:absolute;left:16px;right:16px;bottom:40px;color:#fff}
.news-card--feature .news-chip{color:#E4E4E4 !important;margin:0 0 20px 16px;}
.news-card--feature .news-card__title{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:20px;font-weight:700;margin:0 0 20px 16px;color:#fff}
/* Featured date pinned to bottom with 20px padding */
.news-meta--below{position:absolute;left:16px;right:16px;bottom:20px;color:#e5e7eb;font-size:12px}

/* Normal card body */
.news-card__body{background:#EBEBEBB2;display:flex;flex-direction:column;height:112px}
.news-card__body-inner{padding:11px 14px 12px 14px;display:flex;flex-direction:column;height:100%;}

/* Chips */
.news-chip{display:inline-block;border-radius:999px;font-size:14px;font-weight:400;margin-bottom:8px;}
.news-card:not(.news-card--feature) .news-chip{color:#FF5500;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;font-size:14px; margin-bottom: 12px;}

/* Titles */
.news-card__title{margin:0 0 6px 0;font-size:16px;line-height:1.25;font-weight:700;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:#252525}
.news-card:not(.news-card--feature) .news-card__title{margin-bottom:0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 700; font-size: 16px; line-height: 1.25;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-card__title a{text-decoration:none !important;color:inherit}

/* Meta */
.news-meta{display:flex;gap:8px;align-items:center;font-size:14px;color:#6b7280; font-weight: 400;}
.news-card--feature .news-meta{color:#e5e7eb; margin: 20px 0 0px 16px;}
.news-card:not(.news-card--feature) .news-meta{margin:0; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 12px; line-height: 1.25; color:#464646;margin-top:auto}

/* Excerpt truncated */
.news-excerpt{margin:6px 0 0 0;color:#4b5563;font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Load more */
.news-load-more-wrap{text-align:center;margin:18px 0 6px}
/* Load More button per spec */
.news-btn{
    display:inline-flex;align-items:center;justify-content:center;
    padding:10px 16px;
    /* border:1px solid #e5e7eb; */
    background:#FF5500;color:#fff;
    border-radius:999px;cursor:pointer;
    width:142px;height:32px;
    font-size:14px;font-weight:700;
    font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height:1;text-transform:uppercase;
}
.news-btn::after{
    content:"";display:inline-block;margin-left:6px;width:12px;height:8px;
    background:no-repeat center/100% 100% url('../public/images/down-arrow.png');
}
.news-btn:hover{box-shadow:0 10px 30px rgba(0,0,0,.06); background:#FF5500; color:#fff;}

/* Responsive */
@media (max-width:640px){
  .news-toolbar{flex-direction:column;align-items:stretch;gap:10px; width: calc(100% - 32px); margin: 0 16px;}
  .news-select-wrap{max-width:100%}
  .news-input,.news-select{min-width:0;width:100%}
  /* Use custom button menu on mobile */
  .news-select{display:none}
  .news-select-caret{display:none}
  .news-dd{display:block}
  .news-dd[aria-expanded="true"] + .news-dd__menu{display:block}
  /* Mobile filter icons: use PNGs for hamburger and reset */
  .ngmf-actions{display:flex;align-items:center}
  .ngmf-menu{width:32px;height:32px;border:none;background:transparent url('../public/images/hamburger.png') no-repeat center/20px 14px;box-shadow:none;border-radius:0;appearance:none;-webkit-appearance:none}
  .ngmf-menu .ngmf-line{display:none !important}
  /* Separator between filter icon and reset */
  .ngmf-menu{border-right:1px solid #e9ecef;padding-right:46px;margin-right:0px}
  .ngmf-reset{width:32px;height:32px;background:transparent url('../public/images/reset.png') no-repeat center/16px 16px;border:none;border-radius:0;box-shadow:none;margin-left:0}
  .ngmf-reset:hover{background:transparent url('../public/images/reset.png') no-repeat center/16px 16px;transform:none;box-shadow:none}
  .ngmf-reset .ngmf-reset-ic{display:none !important}
  .news-grid{grid-template-columns:1fr;gap:10px}
  /* Featured card size on mobile */
  .news-card--feature{width: calc(100% - 32px);height: auto;margin: 0 16px;}
  .news-card--feature .news-card__media{height:193px}
  /* Featured overlay adjustments on mobile */	
  .news-card__content--overlay{left:12px;right:12px;bottom:24px}
  .news-card--feature .news-chip{margin: 0 0 12px 10px;font-size:12px}
  .news-card--feature .news-card__title{margin: 0 0 12px 10px;font-size:16px; font-weight: 700; }
  .news-meta--below{bottom:12px;font-size:12px; margin: 12px 0 0 7px !important;}
  /* List style for normal cards */
  .news-card:not(.news-card--feature){width:calc(100% - 32px);max-width:100%;height:92px;display:grid;grid-template-columns:164px 1fr;margin:0 16px;align-items:center;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05)}
  .news-card:not(.news-card--feature) .news-card__media{height:92px;border-radius:12px 0 0 12px}
  .news-card:not(.news-card--feature) .news-card__media img{object-fit:cover}
  .news-card:not(.news-card--feature) .news-card__body{height:92px;background:transparent;display:flex; background: #EBEBEBB2;}
  .news-card:not(.news-card--feature) .news-card__body-inner{padding:12px 5px;display:flex;flex-direction:column;}
  .news-card:not(.news-card--feature) .news-chip{margin:0 0 4px 0;font-size:12px}
  .news-card:not(.news-card--feature) .news-card__title{margin:0 0 10px 0;font-size:14px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .news-card:not(.news-card--feature) .news-meta{font-size:12px}
    .news-filters {
      display: flex;
      flex-wrap: wrap;
      gap: 1px;
      align-items: flex-start;
    }
}


/* Helpers */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.news-wrap.is-loading #news-results{opacity:.6;filter:grayscale(15%)}
.news-error{color:#b91c1c;margin:8px 0}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}

/* --- News Single (Elementor widget) --- */
.ng-single{max-width:960px;margin:0 auto;padding:16px}
.ng-single__header{margin-bottom:12px}
.ng-single__title{font-size:32px;line-height:1.2;margin:0 0 8px 0;font-weight:700}
.ng-single__meta{display:flex;gap:10px;color:#6b7280;font-size:14px;margin-bottom:12px}
.ng-single__hero{margin:0 0 16px 0}
.ng-single__hero img{display:block;width:100%;height:auto;border-radius:12px}
.ng-single__content{font-size:16px;line-height:1.7;color:#1f2937}
.ng-single__share{margin-top:16px;display:flex;gap:12px}
.ng-share__link{color:#ff5500;text-decoration:none;font-weight:600}
@media (max-width:640px){
  .ng-single{padding:12px}
  .ng-single__title{font-size:24px}
}