/* Daytona Circuit: radan kalenteri (js/kalenteri.js). Tumma asfalttipaneeli kuten .pan. */
.dcal{--ln:rgba(255,255,255,.13);--mut:rgba(255,255,255,.62);--r-varaus:#d96135;--r-jasenet:#d9c035;--r-vapaa-ajo:#4835d9;position:relative;margin-top:28px;background:var(--a);color:#fff;border-radius:clamp(14px,1.5vw,24px);overflow:hidden;isolation:isolate}
.dcal .lab{color:var(--mut)}
.dcal__head{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;padding:clamp(18px,2vw,30px) var(--pad) 12px}
.dcal__title{font:600 clamp(30px,3.4vw,58px)/.95 var(--disp)!important;text-transform:uppercase;color:#fff!important;letter-spacing:0;padding:0!important}
.dcal__legend{display:flex;flex-wrap:wrap;gap:6px 16px}
.dcal__legend li{display:flex;align-items:center;gap:7px;text-transform:none;padding:0}
.dcal__legend i{width:10px;height:10px;border-radius:2px;flex:none}
.r-varaus{--rc:var(--r-varaus);--rt:#131417}
.r-jasenet{--rc:var(--r-jasenet);--rt:#131417}
.r-vapaa-ajo{--rc:var(--r-vapaa-ajo);--rt:#fff}
.dcal__legend i{background:var(--rc)}
.dcal__bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:0 var(--pad) 16px}
.dcal__nav,.dcal__views{display:flex;gap:6px}
.dcal__b{min-height:40px;min-width:40px;padding:0 13px;border:1px solid rgba(255,255,255,.28);border-radius:6px;background:transparent;color:#fff;font:400 13px/1 var(--mono);letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background-color .3s var(--e),color .3s var(--e),border-color .3s var(--e)}
.dcal__nav .dcal__b:not(.dcal__b--t){font:400 22px/1 var(--sans);padding:0}
.dcal__b:hover{border-color:#fff}
.dcal__b[aria-pressed="true"]{background:#fff;color:var(--a);border-color:#fff}
.dcal__b:focus-visible,.dcal__d:focus-visible,.dcal__row:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.dcal__body{border-top:1px solid var(--ln);min-height:200px}
.dcal__err,.dcal__nojs{margin:0;padding:14px var(--pad);background:rgba(207,17,26,.22);font-size:15px}
.dcal__err a{color:#fff}
/* kuukausi */
.dcal__wd,.dcal__wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.dcal__wd span{font:400 12px/1 var(--mono);text-transform:uppercase;color:var(--mut);padding:10px 8px;border-left:1px solid var(--ln)}
.dcal__wd span:first-child,.dcal__wk .dcal__d:first-child{border-left:0}
.dcal__d{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;min-height:clamp(64px,calc(var(--vu)*10),116px);padding:8px 7px;border:0;border-left:1px solid var(--ln);border-top:1px solid var(--ln);background:transparent;color:#fff;text-align:left;font:inherit;cursor:pointer;transition:background-color .25s var(--e)}
.dcal__d:not([disabled]):hover{background:rgba(255,255,255,.07)}
.dcal__n{font:400 13px/1 var(--mono);display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 4px;border-radius:4px}
.dcal__d.is-today .dcal__n{background:var(--r);color:#fff}
.dcal__d.is-out{opacity:.38}
.dcal__d.is-past{opacity:.32;cursor:default}
.dcal__d.is-full .dcal__n::after{content:"";width:6px;height:6px;margin-left:5px;background:var(--r-varaus);border-radius:1px}
.dcal__e{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;border-radius:3px;background:var(--rc,#888);color:var(--rt,#131417);font:400 12px/1.2 var(--mono);letter-spacing:.01em}
.dcal__e em{font-style:normal;opacity:.82}
/* viikko ja päivä */
.dcal__list li+li .dcal__row{border-top:1px solid var(--ln)}
.dcal__row{display:grid;grid-template-columns:minmax(6.5em,9em) 1fr;gap:12px;align-items:center;width:100%;min-height:56px;padding:12px var(--pad);border:0;background:transparent;color:#fff;font:inherit;text-align:left;cursor:pointer;transition:background-color .25s var(--e)}
.dcal__row:not([disabled]):hover{background:rgba(255,255,255,.07)}
.dcal__row.is-past{opacity:.34;cursor:default}
.dcal__row[disabled]{cursor:default}
.dcal__row.is-today .dcal__rd b{color:#fff;background:var(--r);padding:2px 5px;border-radius:3px}
.dcal__rd{font:400 14px/1.2 var(--mono);text-transform:uppercase}
.dcal__rd b{font-weight:400}
.dcal__rc{display:flex;flex-wrap:wrap;gap:6px}
.dcal__rc .dcal__e{display:inline-block;padding:5px 9px;font-size:13px}
.dcal__free{font:400 13px/1.2 var(--mono);color:var(--mut);text-transform:uppercase}
.dcal__row.is-busy{box-shadow:inset 4px 0 0 var(--rc)}
.dcal__tag{font:400 13px/1.2 var(--mono);text-transform:uppercase;color:#fff}
.dcal__foot{padding:14px var(--pad) 18px!important;border-top:1px solid var(--ln);text-transform:none}
@media (max-width:699px){
  .dcal{margin-inline:calc(var(--gut)*-1 + 6px);border-radius:12px}
  .dcal__bar{gap:8px}
  .dcal__views{width:100%}
  .dcal__views .dcal__b{flex:1}
  .dcal__nav{width:100%}
  .dcal__nav .dcal__b--t{margin-left:auto}
  .dcal__wd span{padding:8px 4px;font-size:11px}
  .dcal__d{min-height:58px;padding:5px 3px;gap:3px}
  .dcal__n{font-size:12px;min-width:20px;height:20px}
  .dcal__e{padding:2px 3px;font-size:10px;border-radius:2px;letter-spacing:-.02em}
}
.dcal__foot{max-width:none!important;width:100%;margin:0!important}
