:root {
  --navy:#00395A;
  --steel1:#1F4B63;
  --steel2:#345E74;
  --steel3:#4E7387;
  --steel4:#678A9A;
  --gray:#1E293B;
  --bg:#F6F8FA;
  --white:#FFFFFF;
  --shadow:0 3px 10px rgba(0,0,0,0.12);
  --hover-shadow:0 5px 16px rgba(0,0,0,0.18);
}

body {
  font-family:"Source Sans Pro",sans-serif;
  background:var(--bg);
  color:var(--gray);
  margin:0;
  overflow-x:hidden;
}

#modern-home-hero { position:relative; height:500px; overflow:hidden; z-index:2; }
#modern-home-hero img { width:100%; height:100%; object-fit:cover; }
.hero-divider { height:40px; background:linear-gradient(to bottom,rgba(0,0,0,0.05),transparent); margin-bottom:-20px; box-shadow:0 6px 14px rgba(0,0,0,0.1); }

#county-icon-links { position:relative; z-index:5; margin-top:-7rem; width:100%; display:flex; justify-content:center; }
.icon-links-wide { display:flex; gap:2rem; flex-wrap:wrap; justify-content:center; }
.icon-link { text-align:center; text-decoration:none!important; display:flex; flex-direction:column; align-items:center; transition:transform .25s ease; }
.icon-link:hover { transform:translateY(-6px); }
.icon-circle { width:120px; height:120px; border-radius:28px; color:#fff; font-size:2.3rem; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); transition:all .25s ease; }
.icon-links-wide a:nth-child(1) .icon-circle { background:var(--navy); }
.icon-links-wide a:nth-child(2) .icon-circle { background:var(--steel1); }
.icon-links-wide a:nth-child(3) .icon-circle { background:var(--steel2); }
.icon-links-wide a:nth-child(4) .icon-circle { background:var(--steel3); }
.icon-links-wide a:nth-child(5) .icon-circle { background:var(--steel4); }
.icon-links-wide a:nth-child(6) .icon-circle { background:var(--navy); }
.icon-links-wide a:nth-child(7) .icon-circle { background:var(--steel1); }
.icon-link span { display:block; font-size:.9rem; font-weight:700; margin-top:.5rem; color:#0D1B2A; }

#homepage-layout { display:grid; grid-template-columns:1.05fr 1.2fr 1fr; gap:2.5rem; width:100%; max-width:100%; margin:8rem auto 5rem; padding:0 2rem; box-sizing:border-box; }
@media(max-width:1200px){ #homepage-layout { grid-template-columns:1fr; margin-top:10rem; } }

.section-card { background:#fff; border-radius:12px; box-shadow:var(--shadow); padding:1.8rem; margin-bottom:2.5rem; transition:box-shadow .25s ease; }
.section-card:hover { box-shadow:var(--hover-shadow); }
.section-card h2 { color:var(--navy); font-size:1.4rem; font-weight:800; margin-bottom:1rem; }

.event-list { display:flex; flex-direction:column; gap:1rem; }
.event-item { display:flex; align-items:center; justify-content:space-between; background:#fff; padding:1rem 1.2rem; border-radius:10px; box-shadow:var(--shadow); transition:all .2s ease; text-decoration:none; color:var(--gray); }
.event-item:hover { background:#E8F0F6; transform:translateY(-3px); box-shadow:var(--hover-shadow); }
.event-date { background:var(--navy); color:#fff; padding:.4rem .9rem; border-radius:8px; font-weight:700; font-size:.9rem; min-width:60px; text-align:center; }
.event-title { flex:1; margin-left:1rem; font-weight:600; font-size:1rem; }
.full-calendar-btn { display:inline-block; margin-top:1.5rem; background:var(--navy); color:#fff !important; text-decoration:none !important; padding:0.6rem 1.3rem; border-radius:8px; font-weight:600; font-size:0.95rem; box-shadow:var(--shadow); transition:all 0.2s ease; }
.full-calendar-btn:hover { background:var(--steel1); transform:translateY(-2px); box-shadow:var(--hover-shadow); }

.news-grid { display:flex; flex-wrap:wrap; gap:1.3rem; }
.news-card { background:#fff; border-radius:12px; box-shadow:var(--shadow); width:calc(48% - .5rem); min-width:260px; transition:transform .2s ease,box-shadow .2s ease; overflow:hidden; text-decoration:none; color:var(--gray); }
.news-card:hover { transform:translateY(-3px); box-shadow:var(--hover-shadow); background:#E8F0F6; }
.news-card img { width:100%; height:160px; object-fit:cover; border-top-left-radius:10px; border-top-right-radius:10px; }
.news-card div { padding:1rem; }
.news-card h3 { margin:0; font-size:1.05rem; color:var(--navy); }

.spotlight-row { display:flex; gap:1.3rem; flex-wrap:wrap; margin-top:1.3rem; }
.spotlight-card { background:#fff; border-radius:10px; box-shadow:var(--shadow); width:calc(50% - 1rem); min-width:260px; overflow:hidden; transition:transform .2s ease,box-shadow .2s ease; text-decoration:none; color:inherit; }
.spotlight-card:hover { transform:translateY(-3px); box-shadow:var(--hover-shadow); background:#E8F0F6; }
.spotlight-card img { width:100%; height:180px; object-fit:cover; border-top-left-radius:10px; border-top-right-radius:10px; }
.spotlight-card div { padding:1rem; }
.spotlight-card h3 { color:var(--navy); margin:0 0 .4rem; }

.quick-links { align-self:start; }
.quick-item { display:flex; align-items:center; gap:.8rem; background:#fff; border-radius:10px; padding:1rem 1.2rem; margin-bottom:1.2rem; box-shadow:var(--shadow); transition:all .2s ease; text-decoration:none; color:var(--gray); font-weight:600; }
.quick-item:hover { background:#E8F0F6; transform:translateX(3px); box-shadow:var(--hover-shadow); }
.quick-icon { background:var(--steel2); color:#fff; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.quick-item span { color:var(--gray); }

#county-icon-links svg[data-type="link-icon"],
#county-icon-links a[data-type="link-icon"],
#county-icon-links a svg[data-type="link-icon"],
#county-icon-links .n2-ss-layer-content svg,
#county-icon-links .n2-ss-slide svg,
#county-icon-links .icon-links-wide svg,
#county-icon-links .n2-ss-layer[data-pm="link"] svg,
#homepage-layout .wp-block a svg,
#homepage-layout .wp-element-button svg { display:none!important; visibility:hidden!important; opacity:0!important; pointer-events:none!important; height:0!important; width:0!important; overflow:hidden!important; }
#county-icon-links a::before, #county-icon-links a::after, #homepage-layout a::before, #homepage-layout a::after { content:none!important; }

@media (max-width: 768px) {
  #modern-home-hero { height:auto!important; min-height:0!important; line-height:0; background:transparent; }
  #modern-home-hero .n2-ss-slider, #modern-home-hero .n2-ss-slider-wrapper-outside, #modern-home-hero .n2-ss-slider-wrapper-inside, #modern-home-hero .n2-ss-slide { height:auto!important; min-height:0!important; }
  #modern-home-hero img { width:100%!important; height:auto!important; display:block; }
  .hero-divider { height:10px; margin-bottom:0; box-shadow:none; background:transparent; }
  #county-icon-links { margin-top:1rem; }
  .icon-links-wide { display:grid; grid-template-columns:repeat(2, 1fr); gap:1rem; width:100%; }
  .icon-circle { width:85px; height:85px; font-size:1.5rem; margin:0 auto; }
  .icon-link span { font-size:.88rem; line-height:1.2; }
  #homepage-layout { display:block; margin:2rem auto; padding:0 1rem; }
  .section-card { padding:1.25rem; margin-bottom:1.5rem; }
  .news-card, .spotlight-card { width:100%; min-width:0; margin-bottom:1rem; }
  .event-item { flex-direction:column; align-items:flex-start; gap:0.5rem; }
  .event-title { margin-left:0; }
  .full-calendar-btn { width:100%; text-align:center; box-sizing:border-box; }
  .quick-item { padding:.95rem 1rem; }
}
@media (max-width: 480px) {
  .icon-circle { width:75px; height:75px; font-size:1.3rem; }
  .news-card img, .spotlight-card img { height:170px; }
  .section-card { padding:1rem; }
}
