.gfi-archive.gcal-calendar{font-family:Inter,Arial,sans-serif;width:100%;max-width:none;padding:24px 0 0;border-radius:0;--gcal-bg:#210323;--gcal-cyan:#55e3e8;color:#fff}
.gcal-calendar>:is(.gfi-title,.intro,.gcal-navigation,[data-gcal-status],.gcal-footnote,noscript){width:calc(100% - 48px);max-width:1120px;margin-left:auto;margin-right:auto}
.gcal-calendar [hidden]{display:none!important}
.gcal-calendar .gfi-title{font-family:Bungee,sans-serif;font-size:clamp(28px,4vw,42px);font-weight:400;color:#fff;text-shadow:none;line-height:1.3;text-align:left}
.gcal-calendar .intro{max-width:1120px;line-height:1.7;text-align:left}
.gcal-calendar button,.gcal-calendar select{box-sizing:border-box;font:inherit;min-height:46px;background:#311035;color:var(--gcal-cyan);border:1px solid #55e3e880;border-radius:6px;padding:10px 14px}
.gcal-calendar button{cursor:pointer}
.gcal-calendar button:hover{background:var(--gcal-cyan);color:var(--gcal-bg)}
.gcal-calendar button:disabled{opacity:.4;cursor:default}
.gcal-calendar :is(button,select,a):focus-visible{outline:2px solid #fff;outline-offset:4px}
.gcal-calendar .gcal-navigation{display:flex;justify-content:center;align-items:center;gap:14px;margin:25px auto 12px;padding:12px;background:var(--gcal-bg);position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff20}
.gcal-calendar .gcal-navigation label{font-size:12px;color:#cfbad1;text-align:center}
.gcal-calendar .gcal-year-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.gcal-calendar .gcal-navigation :is(button,select){height:46px;margin-top:0}
body.admin-bar .gcal-calendar .gcal-navigation{top:32px}
.gcal-calendar .gcal-navigation select{display:block;min-width:115px;font-size:19px;color:#fff;font-weight:600}
.gcal-calendar [data-gcal-status]{font-size:14px;color:#cfbad1}
.gcal-calendar [data-gcal-status]:empty{display:none}
.gcal-calendar .gcal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:stretch}
.gcal-calendar .gcal-month{background-color:#38203b;background-image:linear-gradient(180deg,#21032399,#210323df),var(--gcal-photo);background-position:center,var(--gcal-position,center);background-size:cover;border:1px solid #ffffff45;border-radius:0;min-height:clamp(235px,18vw,340px);padding:20px;overflow-wrap:anywhere;isolation:isolate}
.gcal-calendar .gcal-month h2{font:400 clamp(21px,2.2vw,28px)/1.35 Bungee,sans-serif;color:#fff;margin:0 0 16px;text-shadow:0 1px 6px #0005}
.gcal-calendar .gcal-month--quiet{background-image:linear-gradient(180deg,#21032377,#210323a8),var(--gcal-photo)}
.gcal-calendar .gcal-empty{font-size:14px;line-height:1.6;color:#f0e7f1;margin:0}
.gcal-calendar .gcal-entry{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:start;font-size:14px;line-height:1.45;border-top:1px solid #ffffff1f;padding:7px 0}
.gcal-calendar .gcal-entry:first-child{border:0;padding-top:0}
.gcal-calendar .gcal-entry:last-child{padding-bottom:0}
.gcal-calendar .gcal-entry-date{display:block;color:#eee3f0;text-align:left;font-variant-numeric:tabular-nums;line-height:1.45;font-size:14px}
.gcal-calendar .gcal-entry-date strong{font-size:14px;font-weight:600}
.gcal-calendar .gcal-entry-date>span{font-size:11px}
.gcal-calendar .gcal-entry-title{font-size:14px;font-weight:400;color:var(--gcal-cyan);text-decoration:none}
.gcal-calendar a.gcal-entry-title:hover{text-decoration:underline;text-underline-offset:3px}
.gcal-calendar .gcal-entry--milestone .gcal-entry-title{font-weight:600;color:#fff}
.gcal-calendar .gcal-entry--festival{border-left:3px solid var(--gcal-cyan);padding-left:10px;margin-top:7px}
.gcal-calendar :is(.gcal-entry-secondary,.gcal-festival-label){display:block;font-size:11px;color:#ddd0df;margin-top:2px;line-height:1.45}
.gcal-calendar .gcal-festival-label{color:var(--gcal-cyan)}
.gcal-calendar .gcal-footnote{font-size:12px;line-height:1.65;color:#cbb6cd;text-align:center;margin-top:0;margin-bottom:0;padding:28px 0 10px}
.gcal-month-1{--gcal-photo:url('/wp-content/uploads/2025/01/January.jpg')}
.gcal-month-2{--gcal-photo:url('/wp-content/uploads/2025/01/February.jpg');--gcal-position:50% 65%}
.gcal-month-3{--gcal-photo:url('/wp-content/uploads/2025/01/march2.jpg')}
.gcal-month-4{--gcal-photo:url('/wp-content/uploads/2025/01/April.jpg')}
.gcal-month-5{--gcal-photo:url('/wp-content/uploads/2025/01/May.jpg')}
.gcal-month-6{--gcal-photo:url('/wp-content/uploads/2025/01/June.jpg')}
.gcal-month-7{--gcal-photo:url('/wp-content/uploads/2025/01/July.jpg')}
.gcal-month-8{--gcal-photo:url('/wp-content/uploads/2025/01/August.jpg')}
.gcal-month-9{--gcal-photo:url('/wp-content/uploads/2025/01/September.jpg')}
.gcal-month-10{--gcal-photo:url('/wp-content/uploads/2025/01/October.jpg')}
.gcal-month-11{--gcal-photo:url('/wp-content/uploads/2025/01/November.jpg')}
.gcal-month-12{--gcal-photo:url('/wp-content/uploads/2025/01/December.jpg')}
@media(max-width:1100px){.gcal-calendar .gcal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.gfi-archive.gcal-calendar{padding:16px 0 0}.gcal-calendar>:is(.gfi-title,.intro,.gcal-navigation,[data-gcal-status],.gcal-footnote,noscript){width:calc(100% - 32px)}.gcal-calendar .gcal-grid{grid-template-columns:1fr}.gcal-calendar .gcal-navigation{gap:8px;padding:10px 0}.gcal-calendar .gcal-navigation button{font-size:11px;padding:8px;flex:1}.gcal-calendar .gcal-navigation select{min-width:90px}.gcal-calendar .gcal-month{padding:18px}.gcal-calendar .gcal-entry-title{font-size:15px}.gcal-calendar .gcal-entry{grid-template-columns:70px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.gcal-calendar *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:782px){body.admin-bar .gcal-calendar .gcal-navigation{top:46px}}


/* Mobile archive fields: no borders or touch focus rings. */
@media(max-width:767px){
  :is(#gfi-archive,.gfi-archive).gfi-archive :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden])){
    border-color:transparent!important;
    outline:none!important;
    box-shadow:none!important;
  }
  :is(#gfi-archive,.gfi-archive).gfi-archive :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden])):focus{
    border-color:transparent!important;
    outline:none!important;
    box-shadow:none!important;
  }
  :is(#gfi-archive,.gfi-archive).gfi-archive :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden])):focus-visible{
    background-color:#48214e!important;
  }
}


/* Mobile polish: one crisp white divider between month tiles. */
@media(max-width:767px){
 .gfi-archive.gcal-calendar .gcal-grid{grid-template-columns:1fr}
 .gfi-archive.gcal-calendar .gcal-month{border-top:0;border-bottom:0}
 .gfi-archive.gcal-calendar .gcal-month+.gcal-month{border-top:1px solid #fff}
}


/* glasto-form-focus-v1: no stacked borders, outlines or glow on archive controls. */
:is(#gfi-archive,.gfi-archive,.gap-publisher):is(#gfi-archive,.gfi-archive,.gap-publisher) :is(input,textarea,select,button,summary,a):is(:focus,:focus-visible){
  outline:none!important;
  box-shadow:none!important;
}
:is(#gfi-archive,.gfi-archive,.gap-publisher):is(#gfi-archive,.gfi-archive,.gap-publisher) :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden])):is(:focus,:focus-visible){
  border-width:1px!important;
  border-color:#806681!important;
  background-color:#48214e!important;
}
:is(#gfi-archive,.gfi-archive,.gap-publisher):is(#gfi-archive,.gfi-archive,.gap-publisher) :is(button,summary,a):focus-visible{
  text-decoration:underline!important;
  text-decoration-thickness:2px!important;
  text-underline-offset:4px;
}
@media(max-width:767px){
  :is(#gfi-archive,.gfi-archive,.gap-publisher):is(#gfi-archive,.gfi-archive,.gap-publisher) :is(select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]):not([type=hidden])):is(:focus,:focus-visible){
    border-color:transparent!important;
  }
}

/* glasto-calendar-day-links-v1: individual sources and unlinked daily separators. */
.gcal-calendar .gcal-entry-separator{color:#fff;padding:0 .18em;white-space:pre-wrap}
.gcal-calendar .gcal-announcement{display:inline-block;vertical-align:top;max-width:100%}
.gcal-calendar .gcal-announcement--normal .gcal-entry-title{font-weight:400;color:var(--gcal-cyan)}
.gcal-calendar .gcal-announcement--milestone .gcal-entry-title{font-weight:600;color:#fff}

.gcal-calendar .gcal-entry-title.gcal-unlinked,
.gcal-calendar .gcal-entry-separator {
  color: #fff;
}

/* glasto-calendar-day-links-v3: individual sources and unlinked daily separators. */
.gcal-calendar .gcal-entry-separator{color:#fff;padding:0 .18em;white-space:pre-wrap}
.gcal-calendar .gcal-announcement{display:inline-block;vertical-align:top;max-width:100%}
.gcal-calendar .gcal-announcement--normal .gcal-entry-title{font-weight:400;color:var(--gcal-cyan)}
.gcal-calendar .gcal-announcement--milestone .gcal-entry-title{font-weight:600;color:var(--gcal-cyan)}

.gcal-calendar .gcal-entry-title.gcal-unlinked{color:#fff}

/* Bold milestones keep the same cyan as every other calendar link. */
.gcal-calendar a.gcal-entry-title{color:var(--gcal-cyan)!important}
.gcal-calendar .gcal-entry--festival .gcal-entry-title{font-weight:600;color:var(--gcal-cyan)}
.gcal-calendar .gcal-month-6.gcal-month--no-festival{--gcal-photo:url('https://theglastothingy.com/wp-content/uploads/2023/04/sad.jpg')}
