/* Holiday flyer layout for the newsletter (one letter-size page, modelled on the Feb 2026 flyer). */
:root{--rust:#c4561a;--cran:#6e1f1f;--cream:#fff4e0;--gold2:#f2b705}
.flyer-stage{background:#e9dcc3;padding:2.5rem 0 3rem}
.flyer{width:min(900px,100%);margin:0 auto;background:var(--cran);color:#fff;position:relative;overflow:hidden;padding:4.6rem 2.4rem 2.4rem;box-shadow:0 14px 40px #0a1d3755;padding-bottom:6.2rem;display:flex;flex-direction:column}
.flyer .leaf{position:absolute;pointer-events:none;z-index:3;filter:drop-shadow(0 2px 3px #0005)}
.seal{position:absolute;width:104px;height:104px;z-index:2}
.seal.tr{top:62px;right:22px}.seal.bl{bottom:16px;left:22px}
.f-title{text-align:center;position:relative;z-index:1;margin-bottom:1.4rem}
.f-title .org{font:500 1.15rem Oswald,sans-serif;letter-spacing:.4em;text-transform:uppercase;color:var(--gold2)}
.f-title h1{font:700 clamp(3rem,10.5vw,6.2rem) Oswald,sans-serif;line-height:.95;margin:.1em 0 0;letter-spacing:.06em;color:#fff6e6}
.f-title h1 small{display:block;font-size:.5em;letter-spacing:.2em;color:var(--gold2)}
.f-title .yr{font:500 1.5rem Oswald,sans-serif;letter-spacing:.3em;color:#fff6e6;margin-top:.2rem}
.f-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.2rem;position:relative;z-index:1}
.panel{background:var(--cream);color:var(--ink);border-radius:6px;padding:1.2rem 1.3rem}
.panel h2{font-size:1.25rem;text-align:center;color:var(--cran);margin:0 0 .7rem;letter-spacing:.1em;text-transform:uppercase}
.f-msg{display:flex;flex-direction:column;justify-content:flex-start}
.f-msg p{font:400 1.12rem/1.7 Georgia,'Times New Roman',serif;margin:0 0 .9rem;text-align:center}
.f-msg b{color:var(--cran)}
.right{display:flex;flex-direction:column;gap:1.2rem;min-height:0}
.events{list-style:none;margin:0;padding:0}
.events li{display:flex;gap:.8rem;align-items:baseline;padding:.42rem 0;border-bottom:1px dotted #cdb58b;font:500 1rem Georgia,serif}
.events li:last-child{border:0}
.events b{flex:0 0 3.4rem;font:700 1.05rem Oswald,sans-serif;letter-spacing:.05em;color:var(--cran)}
.events small{display:block;font:400 .8rem Inter,sans-serif;color:var(--muted)}
.panel.cal{padding:1rem 1.1rem}
table.cal{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed;text-align:center}
table.cal th{font:500 .72rem Oswald,sans-serif;letter-spacing:.1em;color:var(--cran);padding:.15rem 0}
table.cal td{font:500 .98rem Oswald,sans-serif;color:var(--ink);padding:.4rem 0;border-radius:5px}
table.cal td.empty{background:transparent}
table.cal td.d-ami{background:#0a1d37;color:#fff}
table.cal td.d-vet{background:var(--cran);color:#fff}
table.cal td.d-thx{background:var(--rust);color:#fff}
.legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:.5rem;font:400 .75rem Inter,sans-serif;color:var(--muted)}
.legend span::before{content:"";display:inline-block;width:.7rem;height:.7rem;border-radius:3px;margin-right:.3rem;vertical-align:-1px;background:var(--c)}
.tools{text-align:center;margin:1.4rem 0 0}
.tools button{font:500 1rem Oswald,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:.7rem 1.5rem;border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:3px;cursor:pointer}
.tools button:hover{background:var(--navy);color:#fff}
@media(max-width:760px){
 .flyer{padding:1.6rem 1.1rem 5.5rem}
 .f-cols{grid-template-columns:1fr}
 .seal{width:64px;height:64px}.seal.tr{top:10px;right:10px}.seal.bl{bottom:10px;left:10px}
 .f-title .org{font-size:.8rem;letter-spacing:.25em;padding:0 56px}
}
@media print{
 .top,footer,.tools,.pagehead,.past{display:none!important}
 body{background:#fff}.flyer-stage{background:#fff;padding:0}
 html,body{height:auto}.wrap{padding:0;max-width:none}.flyer{width:100%;box-shadow:none;padding:1.4rem 1.6rem 4.6rem;break-inside:avoid;page-break-after:avoid}.f-title h1{font-size:4.4rem}.f-msg p{font-size:1rem;line-height:1.55}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .f-cols{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
 .seal{width:88px;height:88px}.seal.tr{top:14px;right:18px}.seal.bl{bottom:12px;left:18px}
 .f-title .org{font-size:1rem;letter-spacing:.35em;padding:0}
 @page{size:letter portrait;margin:.25in}
}

/* holiday decoration */
.bunting{position:absolute;left:0;top:0;width:100%;height:62px;z-index:2;pointer-events:none}
.ribbon-tag{display:inline-block;margin-top:.9rem;padding:.45rem 2.6rem;background:var(--gold2);color:var(--cran);font:600 1rem Oswald,sans-serif;letter-spacing:.18em;text-transform:uppercase;clip-path:polygon(0 0,100% 0,97% 50%,100% 100%,0 100%,3% 50%)}
.panel{outline:2px dashed #d9b46a;outline-offset:-7px}
.panel h2::before,.panel h2::after{content:"\2605";color:#d9a21b;font-size:.7em;margin:0 .6em;vertical-align:.12em}
.greet{position:absolute;left:0;right:0;bottom:22px;display:flex;align-items:center;justify-content:center;gap:.9rem;z-index:1;color:var(--gold2);font:italic 600 1.25rem Georgia,serif}
.pumpkin{width:44px;height:40px}
@media(max-width:760px){
 .bunting{height:40px}.flyer{padding-top:3.4rem}.seal.tr{top:44px}
 .greet{font-size:.95rem;gap:.5rem;left:80px;right:10px;justify-content:flex-start}.pumpkin{width:30px;height:28px}
 .ribbon-tag{padding:.4rem 1.6rem;font-size:.8rem;letter-spacing:.1em}
 .flyer .leaf{transform-box:fill-box}
}
@media print{.greet{bottom:18px}.bunting{height:52px}.flyer{padding-top:4rem!important}.seal.tr{top:56px}}
