/** iCareFix Announcements — isolated header and listing styles. */
.icf-announcement-bell-wrap {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  z-index: 80;
}
#masthead .icf-announcement-bell,
.scroll-sticky-bar .icf-announcement-bell {
  position: relative;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid #dbe6df;
  background: linear-gradient(180deg, #ffffff, #f6faf7);
  color: #0b5127;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: inset 0 1px 0 #ffffff, 0 8px 20px rgba(16, 24, 18, .08);
}
#masthead .icf-announcement-bell:hover,
#masthead .icf-announcement-bell[aria-expanded="true"],
.scroll-sticky-bar .icf-announcement-bell:hover,
.scroll-sticky-bar .icf-announcement-bell[aria-expanded="true"] {
  color: #ffffff;
  background: #22b440;
  border-color: #22b440;
}
.icf-announcement-bell svg { width: 21px; height: 21px; fill: none; flex-shrink: 0; }
.icf-announcement-count {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 19px;
  height: 19px;
  padding: 0 4px;
  border: 2px solid #fff;
  border-radius: 30px;
  background: #22b440;
  color: #fff;
  font: 800 10px/15px Montserrat, Arial, sans-serif;
  text-align: center;
  pointer-events: none;
}
.icf-announcement-dropdown[hidden] { display: none !important; }
.icf-announcement-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 14px);
  width: min(370px, calc(100vw - 24px));
  max-height: min(490px, 75vh);
  display: flex;
  flex-direction: column;
  z-index: 214748;
  border: 1px solid #dce9df;
  background: #ffffff;
  color: #1d2b22;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 55px rgba(14, 42, 22, .16);
  white-space: normal;
  text-align: left;
}
.icf-announcement-dropdown-head {
  padding: 18px 20px 14px;
  background: linear-gradient(115deg, #effaf2, #fff);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #e5eee6;
}
.icf-announcement-dropdown-label { font: 800 16px/1.3 Montserrat, Arial, sans-serif; color: #102b1b; }
.icf-announcement-dropdown-sub { font: 600 10px/1.4 Montserrat, Arial, sans-serif; color: #708477; }
.icf-announcement-dropdown-list { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
.icf-announcement-dropdown-item {
  display: flex;
  gap: 11px;
  padding: 14px 18px;
  text-decoration: none !important;
  color: #243a2a !important;
  border-bottom: 1px solid #eff3ef;
  transition: background .2s ease;
}
.icf-announcement-dropdown-item:hover,
.icf-announcement-dropdown-item:focus-visible { background: #f2faf4; }
.icf-announcement-dot { flex: 0 0 8px; width: 8px; height: 8px; margin-top: 5px; background: #22b440; border-radius: 50%; box-shadow: 0 0 0 4px #e4f7e9; }
.icf-announcement-dropdown-text { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.icf-announcement-dropdown-text strong { font: 750 12px/1.5 Montserrat, Arial, sans-serif; overflow-wrap: anywhere; color: #15281b; }
.icf-announcement-dropdown-text small { font: 500 11px/1.55 Montserrat, Arial, sans-serif; color: #617168; overflow-wrap: anywhere; }
.icf-announcement-dropdown-text time { font: 600 10px/1.4 Montserrat, Arial, sans-serif; color: #799083; }
.icf-announcement-empty { padding: 28px 20px; text-align: center; color: #68766e; font: 500 12px/1.6 Montserrat, Arial, sans-serif; }
.icf-announcement-view-all { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 15px 20px; color: #0d7f2d !important; font: 800 12px/1.5 Montserrat, Arial, sans-serif; text-decoration: none !important; background: #f8fcf8; border-top: 1px solid #e5eee6; }
.icf-announcement-view-all:hover { background: #eaf8ed; }
.icf-announcement-view-all span { font-size: 18px; }

/* Listing and single details — page-scoped, never affecting the shop or services. */
.icf-announcements-page { padding: 25px 0 90px; background: radial-gradient(circle at 8% 14%, rgba(38, 190, 71, .1), transparent 30%), linear-gradient(180deg, #f6fbf7 0%, #fff 65%); min-height: 65vh; font-family: Montserrat, Arial, sans-serif; }
.icf-announcements-container { width: min(1180px, calc(100% - 36px)); margin: 0 auto; }
.icf-announcements-breadcrumb { display: flex; align-items: center; gap: 10px; padding: 12px 0 27px; font-size: 12px; font-weight: 650; color: #5d7164; min-width: 0; }
.icf-announcements-breadcrumb > span:last-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.icf-announcements-breadcrumb a { color: #215e36; text-decoration: none; }
.icf-announcements-breadcrumb a:hover { color: #20b13f; }
.icf-announcements-hero { padding: clamp(25px, 5vw, 48px) clamp(22px, 5vw, 56px); border-radius: 24px; background: linear-gradient(110deg, #fff 0%, #f3fbf5 100%); border: 1px solid #dcecdf; margin-bottom: 32px; position: relative; overflow: hidden; }
.icf-announcements-hero::after { content: ''; pointer-events: none; position: absolute; width: 270px; height: 270px; border: 52px solid rgba(38, 190, 71, .09); border-radius: 50%; top: -170px; right: -70px; }
.icf-announcements-hero-kicker { display: inline-flex; align-items: center; gap: 9px; color: #168936; letter-spacing: .10em; font-size: 10px; font-weight: 850; margin-bottom: 16px; }
.icf-announcements-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #1fb741; box-shadow: 0 0 0 4px #daf5e0; }
.icf-announcements-hero h1 { position: relative; margin: 0 0 12px; font-size: clamp(30px, 4vw, 40px); line-height: 1.2; color: #10251a; letter-spacing: -.04em; font-weight: 850; }
.icf-announcements-hero p { position: relative; max-width: 700px; color: #5a7161; font-size: 14px; line-height: 1.8; margin: 0; }
.icf-announcements-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.icf-announcements-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid #e2eee5; border-radius: 20px; background: #fff; overflow: hidden; box-shadow: 0 12px 35px rgba(16, 55, 26, .045); transition: transform .2s ease, border-color .2s ease; }
.icf-announcements-card:hover { transform: translateY(-4px); border-color: #a9d9b5; }
.icf-announcements-card-image { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #eef6ef; }
.icf-announcements-card-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .35s ease; }
.icf-announcements-card:hover .icf-announcements-card-image img { transform: scale(1.035); }
.icf-announcements-card-content { display: flex; flex-direction: column; gap: 14px; padding: 23px; flex: 1; }
.icf-announcements-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; font-size: 11px; font-weight: 550; color: #859489; }
.icf-announcements-category { color: #117d30; background: #eaf8ed; border-radius: 30px; padding: 5px 10px; font-weight: 750; font-size: 10px; }
.icf-announcements-card--important .icf-announcements-category { color: #a45310; background: #fff1e1; }
.icf-announcements-card--offer .icf-announcements-category { color: #bc5b07; background: #fff3e8; }
.icf-announcements-card h2 { font-size: clamp(16px, 1.8vw, 19px); font-weight: 800; line-height: 1.45; letter-spacing: -.02em; margin: 0; overflow-wrap: anywhere; }
.icf-announcements-card h2 a { color: #16271c; text-decoration: none; }
.icf-announcements-card h2 a:hover { color: #13a438; }
.icf-announcements-card p { margin: 0; color: #66766b; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.icf-announcements-read-more { margin-top: auto; display: inline-flex; justify-content: space-between; align-items: center; gap: 12px; color: #129b35; text-decoration: none !important; font-size: 12px; font-weight: 850; padding-top: 8px; }
.icf-announcements-read-more span { font-size: 20px; }
.icf-announcements-no-results { background: #fff; border: 1px solid #e0eee4; border-radius: 20px; text-align: center; padding: 60px 20px; }
.icf-announcements-no-results h2 { margin: 0 0 8px; font-size: 22px; }
.icf-announcements-no-results p { color: #66776b; margin: 0; }
.icf-announcements-pagination { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 34px; }
.icf-announcements-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 39px; height: 39px; padding: 0 12px; border: 1px solid #dbebdf; background: #fff; border-radius: 10px; color: #174a28; text-decoration: none; font-size: 12px; font-weight: 800; }
.icf-announcements-pagination .page-numbers.current,
.icf-announcements-pagination .page-numbers:hover { color: #fff; background: #24b33f; border-color: #24b33f; }
.icf-announcements-article { max-width: 850px; margin: 0 auto; padding: clamp(24px, 6vw, 55px); border: 1px solid #dcecdf; border-radius: 24px; background: #fff; }
.icf-announcements-article-head h1 { margin: 0 0 12px; font-size: clamp(27px, 4vw, 39px); line-height: 1.27; color: #132c1d; overflow-wrap: anywhere; }
.icf-announcements-article-head time { font-size: 12px; color: #7d9282; }
.icf-announcements-article-image { margin: 24px 0; border-radius: 16px; overflow: hidden; }
.icf-announcements-article-image img { width: 100%; height: auto; display: block; }
.icf-announcements-article-content { margin-top: 24px; color: #374d3d; font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.icf-announcements-article-content a { color: #0f9832; }
.icf-announcements-primary-button { display: inline-flex; align-items: center; gap: 13px; margin-top: 22px; background: #22b340; color: #fff !important; border-radius: 100px; padding: 12px 21px; font-size: 13px; font-weight: 800; text-decoration: none !important; }
.icf-announcements-primary-button:hover { background: #188f30; }
.icf-announcements-article-footer { border-top: 1px solid #e4ede6; margin-top: 35px; padding-top: 24px; }
.icf-announcements-article-footer a { color: #147e2e; text-decoration: none; font-size: 13px; font-weight: 700; }
@media (max-width: 900px) { .icf-announcements-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) {
  .icf-announcements-grid { grid-template-columns: 1fr; gap: 16px; }
  .icf-announcements-page { padding: 13px 0 55px; }
  .icf-announcements-container { width: min(100% - 24px, 1180px); }
  .icf-announcement-dropdown { position: fixed; top: var(--icf-ann-mobile-top, 82px); right: 12px; width: min(360px, calc(100vw - 24px)); max-height: min(480px, 65vh); }
  #masthead .icf-announcement-bell,
  .scroll-sticky-bar .icf-announcement-bell { width: 36px; height: 36px; }
  .icf-announcement-bell svg { width: 19px; height: 19px; }
  .icf-announcements-hero { margin-bottom: 19px; }
}
@media (prefers-reduced-motion: reduce) { .icf-announcements-card, .icf-announcements-card-image img, .icf-announcement-dropdown-item { transition: none !important; } }
