
.celebrations-intro{text-align:center;background:#fbf5ef;border:1px solid #eadfd5;border-radius:18px;padding:26px 20px;margin-bottom:32px;color:#50372b}.celebrations-intro h2{font-size:32px;margin:6px 0 14px}.celebrations-intro p{line-height:1.7;margin:8px auto;max-width:680px}.celebrations-intro time{font-weight:700}.celebration-heading{font-size:28px;margin:36px 0 20px;color:#825039}.celebration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.celebration-card{overflow:hidden;border:1px solid #e9ded6;border-radius:16px;background:white;box-shadow:0 5px 20px #4f302008;display:flex;flex-direction:column}.celebration-poster{display:flex;align-items:center;justify-content:center;background:#f6f2ed;padding:12px;height:340px}.celebration-poster img{display:block;width:100%;height:100%;object-fit:contain}.celebration-copy{padding:20px;display:flex;flex-direction:column;flex:1}.celebration-city{font-size:13px;color:#916345;font-weight:700}.celebration-copy h3{font-size:23px;margin:8px 0;color:#50372b}.celebration-copy p{font-size:15px;line-height:1.6;margin:4px 0}.celebration-time{font-weight:600}.celebration-copy a{margin-top:auto;padding-top:16px;color:#815137;text-underline-offset:4px}.celebration-card a:focus-visible{outline:3px solid #aa775a;outline-offset:-3px}#poster-viewer{padding:0;border:0;border-radius:12px;max-width:96vw;width:1000px;max-height:92dvh;overflow:auto;background:#fff}#poster-viewer::backdrop{background:#211b17d9}.poster-toolbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #eee;z-index:1}.poster-toolbar button{border:0;border-radius:8px;padding:12px 18px;background:#50372b;color:#fff;font:inherit;cursor:pointer}.poster-toolbar a{color:#50372b;font-size:14px}#poster-large{display:block;width:100%;height:auto}html.poster-viewing{overflow:hidden}@media(max-width:900px){.celebration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.celebration-grid{grid-template-columns:1fr;gap:20px}.celebration-poster{height:400px}.celebrations-intro h2{font-size:27px}.celebration-copy{padding:18px}.poster-toolbar{padding:10px}.poster-toolbar a{font-size:12px}}.celebration-city{align-self:flex-start;display:inline-block;font-size:16px;background:#f6ede5;color:#68452f;border-radius:30px;padding:7px 14px}.celebration-share{display:block;width:100%;min-height:52px;margin-top:18px;padding:14px 20px;border:0;border-radius:12px;background:#825039;color:#fff;font:inherit;font-size:18px;font-weight:700;cursor:pointer}.celebration-share:hover{background:#653c29}.celebration-share:focus-visible{outline:3px solid #ad795a;outline-offset:3px}.celebration-share-page{max-width:380px;margin:22px auto 0;min-height:58px;font-size:20px}.share-status{font-size:14px!important;min-height:0;color:#68452f}.share-status:empty{display:none}.share-status input{display:block;width:100%;box-sizing:border-box;padding:10px;margin-top:8px}.celebration-card{scroll-margin-top:100px}
.celebrations-cover{display:block;width:100%;max-width:760px;height:auto;margin:0 auto 24px;border-radius:18px}.celebration-share{display:flex;align-items:center;justify-content:center;gap:10px}.celebration-share svg{flex-shrink:0}.celebration-days{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.celebration-days a{padding:12px 18px;border:1px solid #dbc7b8;background:#fbf5ef;border-radius:30px;color:#68452f;text-decoration:none;font-weight:700}.celebration-days a:hover{background:#eee0d3}.celebration-days a:focus-visible{outline:3px solid #825039;outline-offset:3px}.celebration-upcoming{padding:20px 24px;margin:28px 0;border:1px solid #eadfd5;border-radius:16px;background:#fbf8f4}.celebration-upcoming h2{margin:0 0 10px}.celebration-date{font-weight:700;color:#825039}.celebration-heading{scroll-margin-top:110px}
/* Compact framed event cards, retaining full poster viewing. */
.celebration-card{border:2px solid #d2b6a0;box-shadow:0 5px 14px #50372b14}
@media(max-width:560px){
 .celebration-grid{gap:20px}
 .celebration-card{border-radius:14px;border-top:4px solid #825039}
 .celebration-card .celebration-poster{height:clamp(130px,20svh,175px);padding:7px;box-sizing:border-box;border-bottom:1px solid #e4d4c6;background:#f4ece4}
 .celebration-card .celebration-copy{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;align-content:start}
 .celebration-copy>.celebration-city,.celebration-copy>h3,.celebration-copy>p{grid-column:1/-1}
 .celebration-card .celebration-city{justify-self:start;font-size:13px;padding:4px 10px}
 .celebration-card .celebration-copy h3{font-size:19px;line-height:1.25;margin:2px 0}
 .celebration-card .celebration-copy p{font-size:13px;line-height:1.4;margin:0}
 .celebration-card .celebration-copy .small-note{font-size:12px;color:#766051}
 .celebration-card .celebration-copy>a{margin:5px 0 0;padding:8px 5px;min-height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:1px solid #d2b6a0;border-radius:9px;font-size:13px;text-decoration:none;background:#fcf8f4}
 .celebration-card .celebration-share{margin:5px 0 0;min-height:44px;padding:8px;font-size:15px;border-radius:9px;gap:7px}
 .celebration-card .celebration-share svg{width:19px;height:19px}
 .celebration-card .share-status{margin-top:4px}
}
