/* Metro-inspired theme: flat tiles, bold color, large typography */
:root{
    --bg:#f4f7fb;
    --card:#ffffff;
    --muted:#9aa7bf;
    --text:#0b2135;
    --accent:#0078d7; /* primary blue */
    --accent-2:#00b7f1; /* secondary cyan */
    --accent-3:#f7630c; /* orange */
    --accent-4:#00a300; /* green */
    --radius:8px;
    --gap:1.25rem;
}

*{box-sizing:border-box}
html{font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; font-size:16px; color:var(--text); background:var(--bg);}
body{margin:0; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:focus,a:hover{text-decoration:underline}
ul{list-style:none;margin:0;padding:0}
header,nav,main,footer,section{display:block}
hr{border:0;height:1px;background:linear-gradient(90deg,rgba(11,33,53,0.06),rgba(11,33,53,0.04));margin:1.5rem 0}

/* Layout grid for main area */
/* Make right column wider for better event readability */
main{display:grid;grid-template-columns:1fr 420px;gap:var(--gap);max-width:1280px;margin:1.5rem auto;padding:0 1rem}

/* Header — tile bar */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:transparent}
.logo img{height:64px}
.main-nav{flex:1;margin-left:1rem}
.main-nav ul{display:flex;gap:0.5rem;align-items:center;width:100%}
.main-nav li{list-style:none;flex:1 1 0}
.main-nav a{display:inline-flex;align-items:center;justify-content:center;padding:0 0.75rem;border-radius:6px;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:0.6px;box-shadow:0 6px 18px rgba(11,33,53,0.08);transition:transform .12s ease,box-shadow .12s ease;height:52px;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-nav a:hover{transform:translateY(-3px)}
.main-nav li:nth-child(1) a{background:var(--accent)}
.main-nav li:nth-child(2) a{background:var(--accent-2)}
.main-nav li:nth-child(3) a{background:var(--accent-3)}
.main-nav li:nth-child(4) a{background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.main-nav li:nth-child(5) a{background:linear-gradient(90deg,var(--accent-4),#007a5a)}
.main-nav li:nth-child(6) a{background:#6a6af7}
.main-nav li:nth-child(7) a{background:#333}

/* Hero: full-width banner with overlay and large title */
.hero{grid-column:1/-1;position:relative;border-radius:var(--radius);overflow:hidden}
.hero img{width:100%;height:320px;object-fit:cover;display:block;filter:brightness(.9)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,12,27,0.12),rgba(3,12,27,0.28))}

/* Content cards and typography */
.content{background:transparent;padding:0}
.content h1{font-size:2rem;margin:0.75rem 0 1rem;font-weight:700}
.content article{background:var(--card);padding:1.25rem;border-radius:var(--radius);box-shadow:0 6px 18px rgba(11,33,53,0.06)}
.content p{color:var(--muted);margin:0 0 1rem}
.content h2{color:var(--text);margin-top:1rem}
.featured-image{margin:0 0 1rem}
.featured-image img{border-radius:6px}

/* Sidebar — stacked Metro tiles */
.sidebar{display:flex;flex-direction:column;gap:var(--gap)}
.sidebar > *{background:var(--card);padding:1.25rem;border-radius:var(--radius);box-shadow:0 6px 18px rgba(11,33,53,0.04)}
.sidebar .feature-ads img{height:140px;object-fit:cover;border-radius:6px}
.sidebar .directions iframe{width:100%;height:200px;border-radius:6px}
.sidebar h3{margin:0 0 .5rem;font-size:1.05rem;color:var(--text)}
.sidebar p{margin:0;color:var(--muted)}

/* Calendar widget styles */
.calendar {display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:6px;max-width:100%;box-sizing:border-box}
.calendar .day-name{font-size:0.78rem;color:var(--muted);text-align:center;padding:6px 4px}
.calendar .day{background:linear-gradient(180deg,#fff,#fbfdff);border-radius:6px;min-height:80px;padding:8px 6px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;border:1px solid rgba(11,33,53,0.03);overflow:hidden}
.calendar .day .date{font-size:0.95rem;font-weight:700;color:var(--text);margin-bottom:8px}
.calendar .day.today{box-shadow:0 6px 18px rgba(0,120,215,0.12);border:1px solid rgba(0,120,215,0.16)}
.calendar .event-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}
.event-item{display:flex;align-items:center;font-size:0.95rem;color:var(--text);margin:6px 0;padding:6px 8px;border-radius:6px;background:linear-gradient(180deg,#fff,#fcfeff);overflow:hidden;text-overflow:ellipsis}
.event-item .meta{font-size:0.85rem;color:var(--muted);margin-left:auto}

@media (max-width:768px){
    .calendar {grid-template-columns:repeat(7,minmax(28px,1fr));gap:3px}
    .calendar .day{min-height:48px;padding:4px}
}

/* Ensure iframe/map doesn't force sidebar width */
.sidebar .directions{overflow:hidden}
.sidebar .directions center{display:block;margin:0}
.sidebar .directions iframe{width:100% !important;max-width:100%;height:auto;display:block;border:0;aspect-ratio:16/9;object-fit:cover}

/* Allow calendar to scroll horizontally if very narrow */
.calendar-wrapper{overflow-x:auto}

/* Footer — grid of tiles */
.site-footer{background:transparent;padding:2rem 1rem}
.footer-top{max-width:1200px;margin:0 auto}
.footer-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.footer-nav ul{background:var(--card);padding:1rem;border-radius:8px;color:var(--muted);box-shadow:0 6px 18px rgba(11,33,53,0.04)}
.footer-nav li{margin-bottom:.5rem}
.footer-nav a{color:var(--accent)}
.footer-bottom{max-width:1200px;margin:1rem auto 0;text-align:center;color:var(--muted);font-size:0.9rem}

/* Utility: cards used for news/items */
.tile{background:linear-gradient(180deg,#fff,#fbfdff);padding:1rem;border-radius:8px;box-shadow:0 8px 20px rgba(11,33,53,0.05)}

/* Responsive */
@media (max-width:980px){
    /* Slightly narrower right column on medium screens */
    main{grid-template-columns:1fr 360px;padding:0 0.75rem}
    .hero img{height:260px}
}
@media (max-width:768px){
    main{grid-template-columns:1fr;padding:0 0.75rem}
    .main-nav ul{flex-wrap:wrap;gap:0.5rem}
    .main-nav a{padding:.5rem .75rem;font-size:.9rem;flex:1 1 auto;min-width:0;height:44px}
    .logo img{height:54px}
    .hero img{height:200px}
    .footer-nav{grid-template-columns:1fr}
}

/* Small accessibility improvements */
.main-nav a:focus{outline:3px solid rgba(0,120,215,0.18);outline-offset:3px}

/* Event detail modal / card */
.event-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(3,12,27,0.45);z-index:1200;padding:1rem}
.event-modal[aria-hidden="false"]{display:flex}
.event-card{background:var(--card);max-width:720px;width:100%;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 20px 50px rgba(3,12,27,0.4);color:var(--text)}
.event-card .close{background:transparent;border:0;font-size:1.5rem;line-height:1;padding:0;cursor:pointer;position:absolute;right:18px;top:18px;color:var(--muted)}
.event-card h4{margin:.25rem 0 0.5rem;font-size:1.25rem}
.event-card .meta{color:var(--muted);font-size:0.95rem;margin-bottom:.75rem}
.event-card p{margin:0 0 .5rem;color:var(--text)}

@media (max-width:520px){
    .event-card{padding:.75rem;border-radius:8px}
}
