/* Homepage and events concept. The shared site.css remains a copy of the live site's base styles. */

/* Keep the time-sensitive promotion useful without letting it fill a phone screen. */
.promo__inner{min-height:42px;padding-block:7px}
.promo__label{letter-spacing:.08em}

/* Homepage: short introduction and a readable, compact next-event card. */
.hero--sample .hero__inner{grid-template-columns:minmax(0,1.3fr) minmax(285px,.7fr);gap:clamp(24px,4vw,52px);padding-block:clamp(28px,4.2vw,52px)}
.banner-bee-line{display:flex;align-items:center;gap:.7rem;margin-bottom:.45rem}
.banner-bee{display:inline-grid;place-items:center;flex:none;width:76px;height:76px}
.banner-bee img{display:block;width:100%;height:100%;object-fit:contain}
.home-kicker{display:inline-block;color:var(--gold);font-size:.73rem;font-weight:800;letter-spacing:.15em}
.hero--sample h1{max-width:15ch;font-size:clamp(2.35rem,4.9vw,3.7rem);margin:0 0 .25em}
.hero--sample .hero__copy p{font-size:1.03rem;line-height:1.48;max-width:54ch;margin:0}
.nextup--compact{border-top:5px solid var(--gold);padding:1.15rem 1.3rem;box-shadow:var(--shadow-md)}
.nextup__eyebrow{display:block;margin-bottom:.65rem;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.nextup--compact .nextup__date{margin:0 0 .25rem;font-size:.72rem}
.nextup--compact h2{font-size:1.35rem;margin:0 0 .35rem}
.nextup--compact .nextup__brief{margin:0 0 .85rem;font-size:.88rem;line-height:1.35;color:var(--muted)}
.nextup--compact .btn-row{gap:.45rem}
.nextup--compact .btn{font-size:.78rem;padding:.5em .85em}

/* Main tasks stay visible; the less frequent links are still one tap away. */
.quick-hub{padding-block:clamp(26px,3.5vw,42px) clamp(34px,4vw,48px)}
.quick-hub__intro{display:flex;align-items:end;justify-content:space-between;gap:1.4rem;margin-bottom:1rem}
.quick-hub__intro .eyebrow{display:block;margin-bottom:.35rem}
.quick-hub__intro h2{margin:0}
.quick-hub__intro p{max-width:37ch;margin:0;color:var(--muted);font-size:.94rem}
.quick-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}
.quick-card{position:relative;display:flex;align-items:center;gap:.55rem;min-height:82px;padding:.78rem .7rem;background:#fff;border:2px solid var(--line);border-top:5px solid var(--accent,var(--gold));border-radius:14px;box-shadow:var(--shadow-sm);color:var(--navy);transition:transform .16s,box-shadow .16s,border-color .16s}
.quick-card:hover,.quick-card:focus-visible{text-decoration:none;transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent,var(--gold))}
.quick-card--gold{--accent:#FDBF12;background:#FFF8E5}
.quick-card--pink{--accent:#FF3E9A}
.quick-card--blue{--accent:#19B5FE}
.quick-card--green{--accent:#63D839}
.quick-card--purple{--accent:#8E5BFF}
.quick-card__icon{flex:none;font-size:1.45rem;line-height:1}
.quick-card__icon--image{display:grid;place-items:center;width:46px;height:46px}
.quick-card__icon--image img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(27,20,100,.18))}
.quick-card__copy{display:block;min-width:0;line-height:1.2}
.quick-card__copy strong{display:block;font-size:.88rem;font-weight:800}
.quick-card__copy small{display:block;margin-top:.2rem;color:var(--muted);font-size:.72rem;font-weight:600}
.quick-card__arrow{margin-left:auto;font-weight:800;color:var(--blue)}
.more-links{margin-top:.9rem;border:1px solid var(--line);border-radius:14px;background:#fff}
.more-links summary{cursor:pointer;padding:.85rem 1.1rem;color:var(--navy);font-size:.9rem;font-weight:800;list-style:none}
.more-links summary::-webkit-details-marker{display:none}
.more-links summary::after{content:'⌄';float:right;font-size:1.2rem;line-height:.8}
.more-links[open] summary::after{content:'⌃'}
.secondary-tiles{padding:0 1rem 1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.secondary-tiles .tile{box-shadow:none;padding:.8rem 1rem}
.secondary-tiles .tile__label{font-size:.9rem}
.secondary-tiles .tile__note{font-size:.77rem}

/* Events: calendar actions and the date list lead the page. */
.calendar-first{padding-block:clamp(24px,3vw,36px)}
.calendar-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(250px,.8fr);gap:1.3rem;align-items:center;padding:1.4rem 1.6rem;border-radius:18px;background:#FFF7DD;border:1px solid #F0D980;box-shadow:var(--shadow-sm)}
.calendar-panel .eyebrow{margin-bottom:.4rem}
.calendar-panel h2{font-size:clamp(1.45rem,2.5vw,1.9rem);margin-bottom:.35rem}
.calendar-panel p{margin:0;max-width:50ch;color:var(--body);font-size:.95rem}
.calendar-panel__actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:flex-end}
.calendar-panel__actions .btn{font-size:.83rem;padding:.65em 1em}
.calendar-panel__textlink{width:100%;text-align:right;color:var(--navy);font-size:.83rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.upcoming-list{padding-block:clamp(28px,4vw,52px)}
.upcoming-list__head{display:flex;align-items:end;justify-content:space-between;gap:1.25rem;margin-bottom:1.1rem}
.upcoming-list__head .eyebrow{margin-bottom:.3rem}
.upcoming-list__head h2{margin:0}
.upcoming-list__head p{max-width:38ch;margin:0;color:var(--muted);font-size:.9rem}
.upcoming-list .evlist li{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:1rem;align-items:center;margin-bottom:.62rem;padding:.85rem 1rem;border:1px solid var(--line);border-left:5px solid #BFCBD9;border-radius:12px;background:#fff}
.upcoming-list .evlist li:last-child{border-bottom:1px solid var(--line)}
.upcoming-list .evlist li.evlist__item--pto{border-left-color:var(--gold)}
.evlist__btns{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.upcoming-list .evlist__date{font-size:.93rem;line-height:1.2}
.upcoming-list .evlist__date .evlist__day{display:block;color:var(--navy);font-size:.98rem;font-weight:800}
.upcoming-list .evlist__date .evlist__weekday{display:block;margin-top:.2rem;color:var(--muted);font-size:.72rem;font-weight:600}
.upcoming-list .evlist__body h4{margin-bottom:.18rem}
.upcoming-list .evlist__body p{font-size:.82rem;line-height:1.35}
.upcoming-list .evlist .btn{font-size:.78rem;white-space:nowrap;padding:.5em .82em}
.upcoming-list .cal-toggle{margin-top:1.25rem}

@media(max-width:1000px){
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .secondary-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .hero--sample .hero__inner{grid-template-columns:1fr;gap:1.2rem}
  .hero--sample h1{max-width:17ch}
  .calendar-panel{grid-template-columns:1fr}
  .calendar-panel__actions{justify-content:flex-start}
  .calendar-panel__textlink{text-align:left}
}
@media(max-width:640px){
  .promo__inner{flex-wrap:nowrap;justify-content:space-between;gap:.5rem;min-height:36px;padding:6px 34px 6px 14px;text-align:left}
  .promo__label{font-size:.61rem;line-height:1.1}
  .promo__text{display:none}
  .promo__cta{font-size:.72rem;padding:.35em .7em}
  .site-header__bar{flex-wrap:nowrap;gap:8px;min-height:58px;padding-block:7px}
  .brand{min-width:0;gap:5px}
  .brand img{width:36px;height:36px}
  .brand__name{font-size:.94rem}
  .brand__sub{display:none}
  .nav-toggle{margin-left:auto;padding:.48em .65em;font-size:.82rem}
  .header-actions{margin-left:0}
  .lang-toggle button{font-size:.72rem;padding:.32em .45em}
  .hero--sample .hero__inner{padding-block:1.55rem 1.8rem}
  .hero--sample h1{font-size:clamp(2.1rem,9vw,2.7rem)}
  .hero--sample .hero__copy p{font-size:.96rem}
  .nextup--compact{padding:.95rem 1.05rem}
  .quick-hub__intro{display:block;margin-bottom:.85rem}
  .quick-hub__intro p{margin-top:.35rem;font-size:.83rem}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .quick-card{min-height:74px;padding:.65rem .55rem;gap:.4rem}
  .quick-card__icon{font-size:1.2rem}
  .quick-card__icon--image{width:36px;height:36px}
  .quick-card__copy strong{font-size:.79rem}
  .quick-card__copy small{font-size:.68rem}
  .quick-card__arrow{font-size:.78rem}
  .quick-card:last-child{grid-column:1/-1}
  .banner-bee-line .banner-bee{width:62px;height:62px}
  .secondary-tiles{grid-template-columns:1fr}
  .calendar-panel{padding:1.05rem}
  .calendar-panel__actions .btn{width:100%}
  .upcoming-list__head{display:block}
  .upcoming-list__head p{margin-top:.55rem}
  .upcoming-list .evlist li{grid-template-columns:68px minmax(0,1fr);gap:.4rem .7rem;align-items:start;padding:.8rem}
  .upcoming-list .evlist li > .evlist__date{grid-column:1;grid-row:1/3}
  .upcoming-list .evlist li > .evlist__body{grid-column:2;grid-row:1}
  .upcoming-list .evlist li > .btn,.upcoming-list .evlist li > .evlist__btns{grid-column:2;grid-row:2;justify-self:start}
  .evlist__btns{justify-content:flex-start}
  .upcoming-list .evlist__date .evlist__weekday{font-size:.68rem}
}

@media(prefers-reduced-motion:reduce){.quick-card{transition:none}}

/* Homepage hero rotation (restored from live site) */
.nextup__dots{display:flex;gap:.45rem;margin-top:.85rem}
.nextup__dot{width:10px;height:10px;padding:0;border-radius:50%;border:2px solid var(--navy);background:transparent;cursor:pointer}
.nextup__dot.is-on{background:var(--navy)}
.nextup__dot:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
