/* Pageant Index global pageant calendar */
.calendar-page{background:linear-gradient(180deg,#fff 0,#fff8fb 48%,#fff 100%)}
.calendar-hero{position:relative;overflow:hidden;padding:74px 0 56px;background:radial-gradient(circle at 82% 18%,rgba(255,20,120,.14),transparent 34%),linear-gradient(135deg,#2b0d14 0%,#42121f 58%,#2b0d14 100%);color:#fff}
.calendar-hero:after{content:"";position:absolute;inset:auto -80px -170px auto;width:430px;height:430px;border:1px solid rgba(242,217,138,.2);border-radius:50%;box-shadow:0 0 0 42px rgba(242,217,138,.04),0 0 0 84px rgba(242,217,138,.03)}
.calendar-hero .container{position:relative;z-index:1}.calendar-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px;font:700 12px/1 Montserrat,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#f2d98a}.calendar-eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.calendar-hero h1{max-width:820px;margin:0;font:700 clamp(38px,6vw,72px)/.98 "Playfair Display",serif;letter-spacing:-.035em}.calendar-hero h1 em{color:#ff1478;font-style:italic}.calendar-hero p{max-width:760px;margin:24px 0 0;color:rgba(255,255,255,.78);font-size:18px;line-height:1.75}.calendar-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.calendar-hero .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.07);backdrop-filter:blur(14px)}
.calendar-section{padding:54px 0 84px}.calendar-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:-82px;position:relative;z-index:2}.calendar-stat{padding:22px;border:1px solid rgba(43,13,20,.09);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 18px 46px rgba(43,13,20,.09);backdrop-filter:blur(18px)}.calendar-stat strong{display:block;font:700 31px/1 "Playfair Display",serif;color:#2b0d14}.calendar-stat span{display:block;margin-top:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#75646a}
.calendar-toolbar{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(150px,.7fr));gap:12px;margin:34px 0 26px;padding:15px;border:1px solid rgba(43,13,20,.08);border-radius:22px;background:#fff;box-shadow:0 15px 40px rgba(43,13,20,.05)}.calendar-toolbar input,.calendar-toolbar select{width:100%;min-height:48px;border:1px solid #eadfe3;border-radius:14px;background:#fff;padding:0 14px;color:#2b0d14;font:500 14px Montserrat,sans-serif}.calendar-toolbar input:focus,.calendar-toolbar select:focus{outline:3px solid rgba(255,20,120,.14);border-color:#ff1478}
.calendar-featured{display:grid;grid-template-columns:220px 1fr auto;gap:28px;align-items:center;margin-bottom:30px;padding:26px;border-radius:26px;background:linear-gradient(135deg,#fff 0%,#fff8fb 100%);border:1px solid rgba(255,20,120,.18);box-shadow:0 18px 50px rgba(43,13,20,.07)}.calendar-featured-date{display:flex;align-items:center;justify-content:center;min-height:148px;border-radius:20px;background:#2b0d14;color:#fff;text-align:center}.calendar-featured-date strong{display:block;font:700 54px/1 "Playfair Display",serif}.calendar-featured-date span{display:block;margin-top:7px;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#f2d98a}.calendar-featured h2{margin:7px 0 10px;font:700 30px/1.15 "Playfair Display",serif;color:#2b0d14}.calendar-featured p{margin:0;color:#75646a;line-height:1.65}.calendar-featured .countdown{white-space:nowrap}
.calendar-heading-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:42px 0 20px}.calendar-heading-row h2{margin:0;font:700 34px/1.1 "Playfair Display",serif;color:#2b0d14}.calendar-heading-row p{margin:8px 0 0;color:#7b696f}.calendar-result-count{font-size:13px;font-weight:700;color:#75646a}
.calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.event-card{position:relative;display:flex;flex-direction:column;min-height:100%;overflow:hidden;border:1px solid rgba(43,13,20,.1);border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(43,13,20,.055);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.event-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px rgba(43,13,20,.1);border-color:rgba(255,20,120,.28)}.event-card.is-highlighted{outline:3px solid rgba(255,20,120,.2);border-color:#ff1478}.event-card-top{display:grid;grid-template-columns:76px 1fr;gap:17px;padding:22px 22px 15px}.event-date-tile{display:flex;flex-direction:column;justify-content:center;min-height:78px;border-radius:17px;background:#fff2f7;color:#2b0d14;text-align:center}.event-date-tile strong{font:700 29px/1 "Playfair Display",serif}.event-date-tile span{margin-top:5px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#ff1478}.event-date-tile.month-only strong{font-size:20px}.event-scope{margin-bottom:8px;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#9a7d86}.event-card h3{margin:0;font:700 23px/1.18 "Playfair Display",serif;color:#2b0d14}.event-meta{display:grid;gap:9px;padding:0 22px 18px;color:#705f65;font-size:13px}.event-meta span{display:flex;align-items:flex-start;gap:8px}.event-meta svg{flex:0 0 auto;width:16px;height:16px;margin-top:1px;color:#ff1478}.event-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding:16px 22px 20px;border-top:1px solid #f1e7ea}.event-statuses{display:flex;gap:7px;flex-wrap:wrap}.event-badge{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.event-badge.confirmed{background:#eaf8f0;color:#17603a}.event-badge.announced{background:#fff5da;color:#7a5812}.event-badge.pending{background:#f0edf2;color:#685d6b}.event-badge.verified{background:#fff0f6;color:#b50a58}.event-card a.event-link,.event-card .event-link{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#2b0d14;font:800 12px Montserrat,sans-serif;text-decoration:none;cursor:pointer}.event-card a.event-link:hover,.event-card .event-link:hover{color:#ff1478}.event-card[hidden]{display:none}.countdown{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:12px;background:#2b0d14;color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.countdown.live{background:#ff1478}.countdown.pending{background:#7b6e73}
.event-empty{grid-column:1/-1;padding:58px 24px;border:1px dashed #d9c8ce;border-radius:24px;background:#fff;text-align:center}.event-empty h3{margin:0 0 8px;font:700 25px "Playfair Display",serif}.event-empty p{margin:0;color:#7b696f}
.calendar-watchlist{margin-top:54px;padding:30px;border-radius:26px;background:#2b0d14;color:#fff}.calendar-watchlist h2{margin:0;font:700 31px "Playfair Display",serif}.calendar-watchlist>p{max-width:760px;color:rgba(255,255,255,.68);line-height:1.65}.watchlist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}.watchlist-card{padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.06)}.watchlist-card strong{display:block;font-family:"Playfair Display",serif;font-size:19px}.watchlist-card span{display:block;margin-top:8px;color:#f2d98a;font-size:12px}.watchlist-card a{display:inline-block;margin-top:14px;color:#fff;font-size:12px;font-weight:700}
.calendar-disclosure{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;margin-top:28px;padding:24px;border-radius:22px;border:1px solid rgba(43,13,20,.09);background:#fff}.calendar-disclosure h3{margin:0 0 7px;font:700 22px "Playfair Display",serif}.calendar-disclosure p{margin:0;color:#75646a;line-height:1.6}.calendar-source-note{margin:20px 0 0;color:#8b777e;font-size:12px;line-height:1.6}
.event-detail-panel{display:grid;gap:20px}.event-detail-panel .event-detail-heading{padding:20px;border-radius:18px;background:#fff4f8}.event-detail-panel h3{margin:5px 0 8px;font:700 29px "Playfair Display",serif}.event-detail-panel p{line-height:1.65}.event-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.event-detail-grid div{padding:15px;border:1px solid #eee2e6;border-radius:15px}.event-detail-grid small{display:block;margin-bottom:5px;color:#8d757e;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.event-detail-grid strong{color:#2b0d14}.event-source-warning{padding:15px;border-radius:14px;background:#fff8e7;color:#6b5113;font-size:13px;line-height:1.55}
.admin-events-layout{padding:28px}.admin-events-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.admin-events-header h2{margin:0;font:700 30px "Playfair Display",serif;color:#2b0d14}.admin-events-header p{margin:6px 0 0;color:#75646a}.admin-event-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.admin-event-stat{padding:18px;border:1px solid #eadfe3;border-radius:18px;background:#fff}.admin-event-stat strong{display:block;font-size:28px;color:#2b0d14}.admin-event-stat span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8a737b}.admin-events-table td{vertical-align:top}.admin-events-note{padding:15px 18px;margin-bottom:18px;border-radius:15px;background:#fff5da;color:#664b0d;font-size:13px;line-height:1.55}.admin-event-form{max-height:72vh;overflow:auto;padding-right:4px}
@media(max-width:980px){.calendar-stats{grid-template-columns:repeat(2,1fr)}.calendar-toolbar{grid-template-columns:1fr 1fr}.calendar-featured{grid-template-columns:160px 1fr}.calendar-featured>.countdown{grid-column:1/-1;justify-self:start}.calendar-grid{grid-template-columns:repeat(2,1fr)}.watchlist-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.calendar-hero{padding:52px 0 100px}.calendar-hero p{font-size:16px}.calendar-section{padding-top:0}.calendar-stats{margin-top:-60px;gap:9px}.calendar-stat{padding:17px;border-radius:18px}.calendar-stat strong{font-size:26px}.calendar-toolbar{grid-template-columns:1fr;padding:12px}.calendar-featured{grid-template-columns:1fr;padding:18px}.calendar-featured-date{min-height:110px}.calendar-grid{grid-template-columns:1fr}.calendar-heading-row{align-items:flex-start;flex-direction:column}.watchlist-grid{grid-template-columns:1fr}.calendar-watchlist{padding:23px}.calendar-disclosure{grid-template-columns:1fr}.event-detail-grid{grid-template-columns:1fr}.admin-event-stats{grid-template-columns:repeat(2,1fr)}.admin-events-layout{padding:18px}.admin-events-header{align-items:flex-start;flex-direction:column}}