/* EPT booking: show the COMPLETE working week on the landing view.
   Preserve the original day-level booking/payment/change route underneath. */
html.ept-week-primary .view[data-view="availability"] .smartBand .week,
html.ept-week-primary .view[data-view="availability"] .smartBand .dayStrip,
html.ept-week-primary .view[data-view="availability"] .smartBand>.eptGRow{
  display:none!important;
}
html.ept-week-primary .view[data-view="availability"] .smartBand{
  box-sizing:border-box!important;
  padding:16px clamp(10px,2vw,25px) 19px!important;
  margin-bottom:11px!important;
}
.eptWeekFirst{
  width:100%;min-width:0;max-width:100%;margin-top:12px;
  position:relative;z-index:2;color:#fff;
}
.eptWeekFirstHead{
  display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;
  padding:0 2px 8px;
}
.eptWeekFirstEyebrow{display:block;color:#e2c878;font:800 .64rem/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.13em}
.eptWeekFirst h2{
  font:500 clamp(1.5rem,2.2vw,2.15rem)/1.1 Georgia,"Times New Roman",serif;
  color:white;margin:4px 0 0;letter-spacing:-.02em;text-align:left;
}
.eptWeekFirstSummary{font:800 .76rem/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;color:#fff;margin:0}
.eptWeekFirstExplain{margin:0 2px 13px;color:#dce8f8;font:600 .8rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.eptWeekFirstGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch;min-width:0}
.eptWeekFirstDay{box-sizing:border-box;min-width:0;background:#f8fbff;border:1px solid #d6e3f2;border-radius:17px;padding:10px;box-shadow:0 6px 15px rgba(1,12,35,.14)}
.eptWeekFirstDay h3{font:600 clamp(.91rem,1.25vw,1.11rem)/1.13 Georgia,serif;color:#0b306b;margin:0 0 9px;padding:1px 2px 9px;border-bottom:1px solid #d9e4f1}
.eptWeekFirstSlots{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.eptWeekFirstSlot{
  display:flex;align-items:center;justify-content:space-between;gap:6px;
  box-sizing:border-box;width:100%;min-width:0;min-height:40px;
  padding:8px 10px;border-radius:10px;border:1px solid #ccd8e6;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:clamp(.67rem,.85vw,.81rem);line-height:1.18;text-align:left;
  transition:background .12s ease,box-shadow .12s ease;
}
.eptWeekFirstSlot strong{font-size:clamp(.65rem,.85vw,.81rem);font-weight:850}
.eptWeekFirstTime{font-size:clamp(.65rem,.8vw,.77rem);white-space:nowrap;font-weight:760;letter-spacing:-.015em}
button.eptWeekFirstSlot{appearance:none;cursor:pointer}
.eptWeekFirstSlot.is-open{background:#d6f1e1;border-color:#85cfa7;color:#115239}
.eptWeekFirstSlot.is-open:hover{background:#b8e8cd;border-color:#38a56d;box-shadow:0 0 0 2px #d1a64f}
.eptWeekFirstSlot.is-booked{background:#f7e5e5;border-color:#e3b0b0;color:#862d36}
.eptWeekFirstSlot.is-booked:hover{background:#f0d4d6}
.eptWeekFirstSlot.is-closed{background:#e9edf3;border-color:#cbd3dd;color:#5c6b7e}
.eptWeekFirstSlot:focus-visible{outline:3px solid #d3a53f;outline-offset:2px}
.eptWeekFirstFoot{
  margin-top:10px;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;
  gap:10px 17px;color:#dce6f5;font:700 .69rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif
}
.eptWeekFirstFoot>span{display:flex;align-items:center;gap:6px}
.eptWeekFirstFoot i{display:inline-block;width:9px;height:9px;border-radius:3px}
.eptWeekFirstFoot i.w-open{background:#98dfb5}
.eptWeekFirstFoot i.w-booked{background:#e7a5a9}
.eptWeekFirstFoot i.w-closed{background:#b8c1d0}
.eptWeekFirstExpand{
  appearance:none;min-height:31px;margin-left:auto;padding:6px 12px;
  border-radius:999px;border:1px solid rgba(237,211,133,.75);
  background:rgba(255,255,255,.09);color:#fff;font:800 .71rem/1 system-ui,sans-serif;
  cursor:pointer
}
.eptWeekFirstExpand:hover,.eptWeekFirstExpand:focus-visible{background:rgba(255,255,255,.19);outline:2px solid #e3be5e;outline-offset:1px}
.eptWeekFirstLoading{grid-column:1/-1;padding:16px;background:#f8fbff;border-radius:12px;color:#2c527e;font-size:.85rem;text-align:center}
html.ept-week-primary .eptPublicWeekNav{margin:0 auto 9px!important;max-width:100%!important}
html.ept-week-primary .view[data-view="availability"] .dayPanel{scroll-margin-top:24px}
@media(max-width:1000px) and (min-width:700px){
 .eptWeekFirstGrid{gap:6px}
 .eptWeekFirstDay{padding:7px;border-radius:12px}
 .eptWeekFirstSlot{min-height:38px;padding:6px;flex-direction:column;align-items:center;text-align:center;gap:3px}
 .eptWeekFirstSlot strong,.eptWeekFirstTime{font-size:.66rem}
}
@media(max-width:699px), (orientation:portrait) and (max-width:900px){
 html.ept-week-primary.ept-portrait-authority .view[data-view="availability"] .smartBand{
   display:grid!important;grid-template-columns:minmax(0,1fr)!important;
   grid-template-rows:auto auto!important;
   grid-template-areas:"next" "primary"!important;row-gap:6px!important;
   overflow:visible!important;padding:12px 9px 12px!important;
 }
 html.ept-week-primary.ept-portrait-authority .view[data-view="availability"] .smartBand>.eptWeekFirst{
   grid-area:primary!important;display:block!important;min-width:0!important;
   width:100%!important;max-width:100%!important;
   margin:0!important;
 }
 html.ept-week-primary.ept-portrait-authority .view[data-view="availability"] .smartBand>.eptGRow,
 html.ept-week-primary.ept-portrait-authority .view[data-view="availability"] .smartBand .week,
 html.ept-week-primary.ept-portrait-authority .view[data-view="availability"] .smartBand .dayStrip{display:none!important}
 .eptWeekFirst{margin-top:7px}
 .eptWeekFirstHead{padding-bottom:5px;align-items:flex-end}
 .eptWeekFirstEyebrow{font-size:.54rem}
 .eptWeekFirst h2{font-size:1.48rem}
 .eptWeekFirstSummary{font-size:.62rem;max-width:48%;text-align:right}
 .eptWeekFirstExplain{font-size:.68rem;margin:0 2px 8px}
 .eptWeekFirstGrid{grid-template-columns:minmax(0,1fr);gap:6px}
 .eptWeekFirstDay{
   display:grid;grid-template-columns:81px minmax(0,1fr);
   gap:5px;align-items:center;padding:7px 6px;border-radius:12px;
 }
 .eptWeekFirstDay h3{font-size:.82rem;margin:0;padding:0 1px;border:0}
 .eptWeekFirstSlots{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
 .eptWeekFirstSlot{min-height:46px;padding:5px 1px;gap:3px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:7px}
 .eptWeekFirstTime{font-size:clamp(.51rem,1.95vw,.65rem)!important}
 .eptWeekFirstSlot strong{font-size:clamp(.53rem,2vw,.66rem)!important}
 .eptWeekFirstFoot{gap:5px 10px;font-size:.59rem;margin-top:8px}
 .eptWeekFirstExpand{min-height:29px;padding:5px 9px;font-size:.6rem}
}
@media(max-width:360px){
 .eptWeekFirstDay{grid-template-columns:72px minmax(0,1fr);gap:3px;padding:6px 5px}
 .eptWeekFirstDay h3{font-size:.75rem}
 .eptWeekFirstSlots{gap:3px}
 .eptWeekFirstTime{font-size:.49rem!important}
 .eptWeekFirstSlot strong{font-size:.5rem!important}
 .eptWeekFirstSlot{min-height:43px}
 .eptWeekFirstFoot>span{font-size:.55rem}
}
@media(prefers-reduced-motion:reduce){.eptWeekFirstSlot{transition:none}}

/* Focus the desktop opening viewport on the FULL WORKING WEEK.
   Keep a concise title and About link without a second full-page hero. */
@media(min-width:900px) and (orientation:landscape) and (pointer:fine){
 html.ept-week-primary .view[data-view="availability"]{padding-top:6px!important}
 html.ept-week-primary .view[data-view="availability"] .availIntro{
   display:block!important;width:100%!important;max-width:none!important;
   margin:3px auto 8px!important;padding:4px 0 2px!important;
   min-height:0!important;text-align:center!important
 }
 html.ept-week-primary .availIntro>div:first-child{
   display:block!important;min-height:0!important;
   width:100%!important;margin:0!important;padding:0!important
 }
 html.ept-week-primary .availIntro .kicker{font-size:.56rem!important;margin-bottom:2px!important}
 html.ept-week-primary .availIntro h1{
   font-size:clamp(1.85rem,2.8vw,2.6rem)!important;
   line-height:1.03!important;margin:0!important
 }
 html.ept-week-primary .weeklyAvailabilityIntro{
   margin:3px auto 0!important;font-size:.67rem!important;line-height:1.15!important
 }
 html.ept-week-primary .weeklyAvailabilityIntro span{display:inline!important;white-space:normal!important}
 html.ept-week-primary .weeklyAvailabilityIntro span+span:before{content:"  ";white-space:pre}
 html.ept-week-primary .landingAboutBtn{
   margin-top:5px!important;min-height:28px!important;height:auto!important;
   padding:5px 12px!important;font-size:.65rem!important
 }
 html.ept-week-primary .eptPublicWeekNav{
   min-height:0!important;margin:2px auto 7px!important;
   padding:5px 10px!important;box-shadow:none!important;
   border-radius:12px!important;gap:6px!important
 }
 html.ept-week-primary .eptPublicWeekNav button{min-height:29px!important;padding:4px 11px!important}
 html.ept-week-primary .view[data-view="availability"] .smartBand{
   padding:12px 18px 13px!important;margin-bottom:8px!important
 }
 html.ept-week-primary .smartBand .nextLine{
   margin:0 0 5px!important;min-height:0!important
 }
 html.ept-week-primary .smartBand .nextLine strong{
   font-size:clamp(.96rem,1.25vw,1.22rem)!important;
   line-height:1.2!important
 }
 html.ept-week-primary .eptWeekFirst{margin-top:5px!important}
 html.ept-week-primary .eptWeekFirstHead{padding-bottom:4px!important}
 html.ept-week-primary .eptWeekFirst h2{font-size:1.5rem!important;margin-top:1px!important}
 html.ept-week-primary .eptWeekFirstEyebrow{font-size:.54rem!important}
 html.ept-week-primary .eptWeekFirstExplain{margin:0 2px 8px!important;font-size:.7rem!important}
 html.ept-week-primary .eptWeekFirstDay{padding:7px 8px!important}
 html.ept-week-primary .eptWeekFirstDay h3{margin-bottom:6px!important;padding-bottom:6px!important}
 html.ept-week-primary .eptWeekFirstSlot{min-height:34px!important;padding:5px 7px!important}
 html.ept-week-primary .eptWeekFirstSlots{gap:5px!important}
 html.ept-week-primary .eptWeekFirstFoot{margin-top:6px!important}
}

/* Turn the oversized introduction into a restrained two-column heading on
   larger screens. This frees the first viewport for every weekday's slots. */
@media(min-width:900px) and (orientation:landscape) and (pointer:fine){
 html.ept-week-primary .availIntro>div:first-child{
   display:grid!important;
   grid-template-columns:minmax(0,1fr) auto!important;
   grid-template-rows:auto auto!important;
   column-gap:20px!important;row-gap:2px!important;
   align-items:center!important;
   text-align:left!important;
   padding:0 12px!important
 }
 html.ept-week-primary .availIntro .kicker{
   display:none!important
 }
 html.ept-week-primary .availIntro h1{
   grid-column:1!important;grid-row:1!important;
   margin:0!important;text-align:left!important;
   font-size:clamp(1.9rem,2.55vw,2.5rem)!important
 }
 html.ept-week-primary .weeklyAvailabilityIntro{
   grid-column:1!important;grid-row:2!important;
   width:auto!important;max-width:none!important;
   text-align:left!important;margin:0!important;
   font-size:clamp(.64rem,.88vw,.75rem)!important;
   line-height:1.2!important
 }
 html.ept-week-primary .landingAboutBtn{
   grid-column:2!important;grid-row:1 / span 2!important;
   display:inline-flex!important;align-items:center!important;justify-content:center!important;
   align-self:center!important;justify-self:end!important;
   margin:0!important;min-height:36px!important;
   padding:7px 14px!important;white-space:nowrap!important
 }
 html.ept-week-primary .view[data-view="availability"] .availIntro{
   margin:0 auto 5px!important;padding:3px 0!important
 }
}

/* Portrait: remove the old double-About navigation and bring the weekly
   timetable directly into the first mobile screen, without hiding Menu. */
@media(max-width:699px){
 html.ept-week-primary .topbar .pathwaysSystemNav,
 html.ept-week-primary.ept-portrait-authority .topbar .pathwaysSystemNav{
   display:none!important;visibility:hidden!important;height:0!important
 }
 html.ept-week-primary .topbar,
 html.ept-week-primary.ept-portrait-authority .topbar{
   display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
   align-items:center!important;justify-content:flex-end!important;
   min-height:50px!important;height:auto!important;gap:6px!important;
   padding:5px 9px!important;
   grid-template-areas:none!important;grid-template-rows:auto!important
 }
 html.ept-week-primary .topbar .identity,
 html.ept-week-primary.ept-portrait-authority .topbar .identity{display:none!important}
 html.ept-week-primary .topbar .topActions,
 html.ept-week-primary.ept-portrait-authority .topbar .topActions{
   grid-column:auto!important;grid-row:auto!important;
   width:100%!important;min-width:0!important;display:flex!important;
   align-items:center!important;justify-content:space-between!important;
   flex-direction:row!important;flex-wrap:nowrap!important;gap:5px!important;
   padding:0!important;margin:0!important
 }
 html.ept-week-primary .topbar .navPill,
 html.ept-week-primary .topbar .menuButton{
   min-height:37px!important;height:37px!important;
   margin:0!important;padding:5px 9px!important;font-size:.74rem!important
 }
 html.ept-week-primary .view[data-view="availability"] .availIntro,
 html.ept-week-primary.ept-portrait-authority .view[data-view="availability"] .availIntro{
   min-height:0!important;margin:1px auto 5px!important;
   padding:3px 4px!important;gap:0!important
 }
 html.ept-week-primary .availIntro .kicker,
 html.ept-week-primary .availIntro .updated,
 html.ept-week-primary .availIntro .weeklyAvailabilityIntro,
 html.ept-week-primary.ept-portrait-authority .availIntro .kicker,
 html.ept-week-primary.ept-portrait-authority .availIntro .updated,
 html.ept-week-primary.ept-portrait-authority .availIntro .weeklyAvailabilityIntro{
   display:none!important
 }
 html.ept-week-primary .availIntro h1,
 html.ept-week-primary.ept-portrait-authority .availIntro h1{
   font-size:clamp(1.35rem,6vw,1.73rem)!important;
   line-height:1.04!important;margin:0 auto!important;
   width:auto!important;text-align:center!important
 }
 html.ept-week-primary .availIntro .landingAboutBtn,
 html.ept-week-primary.ept-portrait-authority .availIntro .landingAboutBtn{
   display:inline-flex!important;visibility:visible!important;
   min-height:29px!important;height:auto!important;
   margin:5px auto 0!important;padding:5px 10px!important;
   font-size:.60rem!important
 }
 html.ept-week-primary .eptPublicWeekNav,
 html.ept-week-primary.ept-portrait-authority .eptPublicWeekNav{
   display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
   align-items:center!important;justify-content:center!important;
   padding:5px 4px!important;margin:0 auto 6px!important;
   gap:5px!important;min-height:0!important
 }
 html.ept-week-primary .eptPublicWeekNav>span{display:none!important}
 html.ept-week-primary .eptPublicWeekNav strong{
   min-width:0!important;max-width:130px!important;font-size:.78rem!important;
   line-height:1.15!important;white-space:nowrap!important
 }
 html.ept-week-primary .eptPublicWeekNav button{
   flex:0 0 auto!important;min-height:30px!important;
   padding:4px 8px!important;font-size:.74rem!important
 }
 html.ept-week-primary .smartBand>.nextLine strong,
 html.ept-week-primary.ept-portrait-authority .smartBand>.nextLine strong{
   font-size:clamp(.76rem,3.2vw,.96rem)!important;
   line-height:1.2!important
 }
 html.ept-week-primary .eptWeekFirst h2{font-size:1.3rem!important}
 html.ept-week-primary .eptWeekFirstHead{gap:3px!important}
}
