:root{--wine:#990b18;--deep:#5c0911;--ink:#24191a;--cream:#fbf8f5;--line:#eadfda;--shadow:0 8px 25px rgba(63,29,26,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fcfaf8;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}.wrap{max-width:1440px;margin:auto;padding:0 32px}.hero{min-height:345px;background:linear-gradient(rgba(14,14,33,.25),rgba(13,11,29,.16)),var(--custom-hero,url('../images/advent-hero.svg')) center/cover no-repeat;color:#fff;position:relative}.hero:after{content:'';position:absolute;height:45px;background:#fcfaf8;bottom:-23px;left:-2%;width:104%;border-radius:50% 50% 0 0/80% 80% 0 0}.hero-shade{min-height:345px;background:linear-gradient(180deg,rgba(7,12,37,.45),transparent 55%,rgba(5,9,24,.12))}.site-top{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding-top:18px}.site-brand{z-index:2;max-width:270px}.custom-logo{max-height:110px;max-width:265px;width:auto;height:auto}.text-logo{display:flex;align-items:center;gap:8px;font-family:'Playfair Display',Georgia,serif;text-decoration:none;color:white;font-size:36px;line-height:1.02;text-shadow:0 2px 8px #15172c}.text-logo small,.text-logo em{display:block;font-size:24px;font-weight:400;font-style:normal;text-align:center}.logo-star{font-size:70px;color:#fce2a9}.nav-list{display:flex;gap:36px;list-style:none;margin:12px 0 0;padding:0}.nav-list a{color:white;text-decoration:none;font-family:Georgia,serif;font-weight:700;font-size:17px;padding-bottom:12px;display:block}.nav-list a:hover,.nav-list .current-menu-item a{border-bottom:2px solid #c52a36}.menu-toggle{display:none;background:rgba(32,18,30,.7);border:1px solid #ffffff66;color:white;border-radius:8px;padding:8px 13px;font-size:23px}.hero-center{text-align:center;margin:5px auto 0;max-width:850px;text-shadow:0 2px 8px #11162a}.eyebrow{font-size:12px;letter-spacing:3px;color:#f5dab5;font-weight:700}.hero-center h1{font:700 clamp(34px,4.5vw,62px)/1.2 'Playfair Display',Georgia,serif;margin:8px 0 8px}.hero-center p{font:400 clamp(16px,1.7vw,22px)/1.5 Georgia,serif;margin:0 auto;max-width:730px}.hero-ornament{font-size:31px;margin:14px 0}.main-layout{display:grid;grid-template-columns:minmax(0,1fr) 338px;gap:30px;position:relative;z-index:1;margin-top:14px;padding-bottom:55px}.events-col{min-width:0}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 27px}.filter{white-space:nowrap;border:1px solid #d8c9c2;border-radius:30px;background:transparent;padding:11px 19px;color:#251819;font-size:14px}.filter.active,.filter:hover{background:var(--wine);color:#fff;border-color:var(--wine)}.list-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:10px}.list-head h2{font:700 24px 'Playfair Display',Georgia,serif;margin:0;color:#751018}.list-head span{font-size:13px;color:#8d6e67}.events-list{display:flex;flex-direction:column;gap:12px}.event-card{display:grid;grid-template-columns:134px 205px minmax(0,1fr) auto;align-items:center;background:#fff;box-shadow:var(--shadow);border-radius:12px;min-height:100px;overflow:hidden;gap:0}.event-card[hidden]{display:none}.event-date{height:100%;min-height:100px;padding:14px 9px;display:flex;justify-content:center;align-items:center;text-align:center;background:linear-gradient(140deg,#ae0c1f,#830813);color:white;font:700 18px/1.35 'Playfair Display',Georgia,serif}.event-date strong{max-width:120px}.event-meta{padding:15px 19px;display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:600;border-right:1px solid #e1d9d5;min-height:56px;justify-content:center}.event-meta:empty{border:0}.meta-line{display:flex;align-items:center;gap:10px}.meta-line svg{width:18px;height:18px;flex-shrink:0;stroke:#a20c1a;stroke-width:2;fill:none}.event-info{padding:12px 20px}.event-info h3{font:700 clamp(16px,1.5vw,20px)/1.32 'Playfair Display',Georgia,serif;color:#76070c;margin:0}.event-info h3 a{text-decoration:none}.event-info h3 a:hover{text-decoration:underline}.event-note{font-size:12px;color:#846c66;margin:6px 0 0}.event-tag{background:#f8e8e7;color:#762128;border-radius:50px;font-size:12px;padding:7px 12px;margin:8px 14px 8px 0;white-space:nowrap}.sidebar{padding-top:70px}.calendar-panel,.info-panel{box-shadow:var(--shadow);border-radius:13px;overflow:hidden}.calendar-panel{background:#fff}.calendar-panel h2{background:linear-gradient(115deg,#a20b1d,#880b16);color:white;margin:0;font:700 23px 'Playfair Display',Georgia,serif;padding:20px 22px}.calendar-panel h2 span{margin-right:12px}.calendar-body{padding:16px 16px 13px}.calendar-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.calendar-title strong{font:700 20px Georgia,serif}.calendar-title button{font-size:28px;color:var(--wine);border:0;background:none;padding:0 10px}.calendar-days-head,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.calendar-days-head{font-size:12px;font-weight:700;padding-bottom:9px;border-bottom:1px solid #f0e8e3}.calendar-grid{margin-top:7px}.calendar-grid button,.calendar-grid .blank{border:0;display:grid;place-items:center;height:35px;width:100%;border-radius:50%;font-size:13px;background:transparent}.calendar-grid button.has-event{background:#f1d8d8;color:#78101b;font-weight:700}.calendar-grid button.chosen,.calendar-grid button.has-event:hover{background:#a00a1a;color:white}.calendar-grid button:disabled{cursor:default;color:#3f3231;opacity:1}.show-all{border:0;background:transparent;text-decoration:underline;color:#950b19;font-size:12px;margin:15px auto 0;display:block}.info-panel{margin-top:20px;padding:28px 20px 32px;background:linear-gradient(135deg,#fff9f1,#f6ece5);text-align:center}.info-icon{font:40px/0.65 Georgia,serif;color:#ab722f;height:70px}.info-panel h2{font:700 28px 'Playfair Display',Georgia,serif;color:#730c13;margin:0 0 14px}.info-panel p{line-height:1.6;margin:0}.no-results{text-align:center;padding:25px;color:#85333a}.footer{background:#4e0d18;color:#f9e8e6;padding:25px 0}.footer-inner{display:flex;justify-content:space-between;gap:15px;font-size:13px}.detail-page,.generic-page{padding-top:50px;padding-bottom:70px;min-height:50vh}.back-link{display:inline-block;margin-bottom:20px;text-decoration:none;color:#9a0818;font-weight:700}.detail-card,.generic-page{background:white;border-radius:15px;box-shadow:var(--shadow)}.detail-top{padding:30px;background:#960d19;color:white;border-radius:15px 15px 0 0}.detail-top span{font-size:12px;letter-spacing:2px}.detail-top h2{font:700 clamp(27px,4vw,45px) 'Playfair Display',Georgia,serif;margin:10px 0}.detail-content{padding:32px}.detail-facts{display:flex;flex-wrap:wrap;gap:12px 32px;border-bottom:1px solid #e8dddd;padding-bottom:12px}.detail-image{display:block;max-width:100%;width:auto;height:auto;max-height:400px;margin-bottom:20px;border-radius:10px}.detail-description{font-size:17px;line-height:1.7}.generic-page{padding:30px}.generic-page h2{font-family:Georgia,serif;color:#830b15}@media(max-width:1180px){.main-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.event-card{grid-template-columns:120px 155px minmax(0,1fr)}.event-tag{grid-column:3;margin:0 15px 12px 20px;width:max-content}.nav-list{gap:18px}}@media(max-width:860px){.main-layout{grid-template-columns:1fr}.sidebar{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-panel{margin-top:0}.hero-center{margin-top:30px}.site-nav{display:none;position:absolute;right:24px;top:80px;background:#3a1523;padding:18px;z-index:6;border-radius:12px}.site-nav.is-open{display:block}.nav-list{flex-direction:column;gap:9px}.menu-toggle{display:block;z-index:7}}@media(max-width:600px){.wrap{padding:0 16px}.hero,.hero-shade{min-height:380px}.hero-center{margin-top:50px}.hero-center h1{font-size:37px}.hero-center p{font-size:16px}.site-top{padding-top:15px}.text-logo{font-size:25px}.text-logo small,.text-logo em{font-size:18px}.logo-star{font-size:44px}.filters{gap:7px}.filter{padding:9px 13px;font-size:12px}.event-card{grid-template-columns:84px 1fr;min-height:104px}.event-date{grid-row:1/4;min-height:100%;font-size:14px}.event-meta{border:0;min-height:0;padding:12px 12px 0;gap:5px;font-size:12px}.event-info{padding:7px 12px}.event-info h3{font-size:16px}.event-tag{grid-column:2;margin:2px 12px 12px;font-size:11px}.sidebar{grid-template-columns:1fr}.footer-inner{flex-direction:column}.list-head h2{font-size:21px}.detail-content{padding:20px}.detail-top{padding:23px}}
