@font-face{font-family:ktRegular;src:url('../fonts/IFKargoSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:ktMedium;src:url('../fonts/IFKargoSans-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:ktBold;src:url('../fonts/IFKargoSans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
.kt-dialog{box-sizing:border-box;width:min(880px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #000;border-radius:0;background:#fff;color:#000;overflow:auto;overscroll-behavior:contain;box-shadow:none;font:400 17px/1.4 ktRegular,IFKRegular,sans-serif;font-kerning:normal;letter-spacing:0}
.kt-dialog *{box-sizing:border-box}
.kt-dialog::backdrop{background:rgb(0 0 0 / .7)}
.kt-dialog[open]{animation:kt-enter .22s ease-out}
.kt-heading{display:grid;grid-template-columns:1fr 48px;gap:14px 24px;padding:38px 38px 32px;position:sticky;top:0;z-index:1;background:#fff;border-bottom:1px solid #000}
.kt-heading h2{margin:0;font:700 clamp(42px,5.5vw,72px)/1 ktBold,IFKBold,sans-serif;font-kerning:normal;letter-spacing:-.025em}
/* Kargo Bold's initial Greek Ε has more sidebearing than the body text.
   Optical correction for this title, proportional to its desktop/mobile size. */
.kt-dialog:lang(el) .kt-heading h2{transform:translateX(-.07em)}
.kt-heading p{grid-column:1/-1;margin:0;line-height:1.45}
.kt-close{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:0;background:#fff;color:#000;font:400 36px/1 ktRegular,sans-serif;cursor:pointer;align-self:start;transition:background-color .15s,color .15s}
.kt-close:hover{background:#000;color:#fff}
.kt-location{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 38px}
.kt-location h3{margin:0;font:500 clamp(22px,2.4vw,29px)/1.1 ktMedium,IFKMedium,sans-serif;font-kerning:normal;letter-spacing:-.015em}
.kt-location p{margin:0;font-size:16px}
.kt-athens{border-top:0}
.kt-athens>.kt-location{padding-top:28px;padding-bottom:24px}
.kt-bookings{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #000;border-bottom:1px solid #000}
.kt-booking{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:100px;padding:24px 38px;color:#000;background:#fff;text-decoration:none;font:500 22px/1.2 ktMedium,IFKMedium,sans-serif;font-kerning:normal;transition:background-color .18s,color .18s}
.kt-booking:nth-child(even){border-left:1px solid #000}
.kt-booking:nth-child(n+3){border-top:1px solid #000}
.kt-booking small{display:block;margin-top:8px;font:400 14px/1.3 ktRegular,IFKRegular,sans-serif;font-kerning:normal}
.kt-arrow{flex:0 0 auto;font:400 30px/1 ktRegular,sans-serif;transition:transform .18s}
.kt-booking:hover,.kt-booking:focus-visible{background:#000;color:#fff;text-decoration:none}
.kt-booking:hover .kt-arrow{transform:translate(3px,-3px)}
.kt-provider{margin:0;padding:14px 38px;font-size:13px}
.kt-locations{border-top:1px solid #000}
.kt-locations>.kt-location+.kt-location{border-top:1px solid #000}
.kt-location--onsite>div>p{margin-top:7px}
.kt-availability{text-align:right}
.kt-entry{text-align:right}
.kt-entry small{display:block;margin-top:5px;font:400 13px/1.35 ktRegular,IFKRegular,sans-serif;font-kerning:normal}
.kt-availability strong{font:500 29px/1 ktMedium,IFKMedium,sans-serif;font-kerning:normal}
.kt-dialog :is(button,a):focus-visible{outline:2px solid currentColor;outline-offset:-6px}
html.kt-modal-open{overflow:hidden;scrollbar-gutter:stable}
@keyframes kt-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){
 .kt-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);font-size:16px}
 .kt-heading{padding:24px 22px;gap:16px 8px;grid-template-columns:1fr 44px}
 .kt-heading h2{font-size:clamp(36px,10vw,46px);align-self:center}
 .kt-close{width:44px;height:44px}
 .kt-location{padding:23px 22px;gap:14px}
 .kt-location h3{font-size:22px}
 .kt-location p{font-size:14px}
 .kt-bookings{grid-template-columns:1fr}
 .kt-booking{min-height:80px;padding:22px;font-size:20px}
 .kt-booking+a{border-left:0;border-top:1px solid #000}
 .kt-booking:nth-child(even){border-left:0}
 .kt-provider{padding:14px 22px;font-size:12px}
 .kt-locations>.kt-location:not(.kt-location--onsite){align-items:flex-start;flex-direction:column;gap:9px}
 .kt-location--onsite{align-items:flex-start}
 .kt-availability{max-width:46%}
 .kt-entry{text-align:left}
 .kt-availability strong{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.kt-dialog[open]{animation:none}.kt-dialog :is(a,button,.kt-arrow){transition:none}.kt-booking:hover .kt-arrow{transform:none}}
