body{margin:0}
.ts{--bg:#FBFBFD;--sf:#F1F2F8;--ink:#161A33;--tx:#3F4462;--mu:#636886;--ac:#4F5BD5;--ach:#3E49BE;--acs:#E6E8FB;--mint:#D7F2E8;--peach:#FFE1D6;--ln:#E3E5EF}
.ts{background:var(--bg);color:var(--tx)}
.ts *{box-sizing:border-box}
.ts p{margin:0}
.ts a{color:var(--ink)}
.ts-d{font-family:Sora,'DM Sans',system-ui,sans-serif}
.ts-nav a{text-decoration:none;font-size:15px;font-weight:500;color:var(--tx);padding:8px 12px;border-radius:999px;transition:background .25s,color .25s}
.ts-nav a:hover{background:var(--acs);color:var(--ink)}
.ts-btn{text-decoration:none;transition:background .25s,transform .25s,box-shadow .25s}
.ts-pri{background:var(--ac) !important;color:#FFFFFF !important}
.ts-pri:hover{background:var(--ach) !important;transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(79,91,213,.7)}
.ts-sec:hover{background:var(--acs) !important}
.ts-aud{font:inherit;text-align:left;cursor:pointer;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.ts-aud:hover{transform:translateY(-4px);box-shadow:0 20px 36px -24px rgba(22,26,51,.35);border-color:var(--ac) !important}
.ts-aud:hover .ts-go{transform:translateX(4px);background:var(--ac);color:#FFFFFF}
.ts-go{transition:transform .3s,background .3s,color .3s}
.ts-tab{font:inherit;cursor:pointer;transition:background .25s,color .25s}
.ts-tab:hover{background:var(--acs)}
.ts-mth{transition:background .3s,border-color .3s}
.ts-mth:hover{background:#FFFFFF;border-color:var(--ac) !important}
.ts-pill{font:inherit;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.ts-pill:hover{border-color:var(--ac) !important}
.ts-field input,.ts-field textarea{font:inherit;font-size:16px;color:var(--ink);background:#FFFFFF;border:1.5px solid var(--ln);border-radius:14px;padding:14px 16px;width:100%;transition:border-color .2s}
.ts-field input:focus,.ts-field textarea:focus{outline:none;border-color:var(--ac);box-shadow:0 0 0 4px var(--acs)}
@keyframes ts-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ts-fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes ts-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.06);opacity:1}100%{transform:scale(1)}}
@keyframes ts-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.ts-u{animation:ts-up .9s cubic-bezier(.2,.7,.2,1) both}
.ts-d1{animation-delay:.08s}.ts-d2{animation-delay:.18s}.ts-d3{animation-delay:.3s}.ts-d4{animation-delay:.42s}.ts-d5{animation-delay:.56s}
.ts-panel{animation:ts-fade .45s cubic-bezier(.2,.7,.2,1) both}
.ts-photo{animation:ts-pop 1s .2s cubic-bezier(.2,.7,.2,1) both}
.ts-chip{animation:ts-up .8s .9s cubic-bezier(.2,.7,.2,1) both,ts-float 6s 1.8s ease-in-out infinite}
.sp-js .ts-rv{animation:ts-up .9s cubic-bezier(.2,.7,.2,1) both;animation-play-state:paused}
.sp-js .ts-rv.in{animation-play-state:running}
.sp-js .ts-st > .ts-rv:nth-child(2){animation-delay:.08s}.sp-js .ts-st > .ts-rv:nth-child(3){animation-delay:.16s}.sp-js .ts-st > .ts-rv:nth-child(4){animation-delay:.24s}.sp-js .ts-st > .ts-rv:nth-child(5){animation-delay:.32s}.sp-js .ts-st > .ts-rv:nth-child(6){animation-delay:.4s}
.ts-aud,.ts-mth{animation-fill-mode:backwards !important}
.ts-prog{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--ac);transform-origin:0 50%;transform:scaleX(0);z-index:30}
@keyframes ts-grow{to{transform:scaleX(1)}}
@supports (animation-timeline: scroll()){.ts-prog{animation:ts-grow linear both;animation-timeline:scroll(root)}}
@keyframes ts-pop2{0%{transform:scale(.86)}60%{transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes ts-li{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes ts-mask{from{transform:translateY(105%)}to{transform:none}}
@keyframes ts-line{from{width:0}to{width:28px}}
@keyframes ts-figpop{0%{transform:scale(0)}70%{transform:scale(1.2)}100%{transform:scale(1)}}
.ts-m{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em}
.ts-m > span{display:inline-block;animation:ts-mask 1s cubic-bezier(.2,.7,.2,1) both}
.ts-m2 > span{animation-delay:.16s}
.ts-fig{transform-box:fill-box;transform-origin:50% 100%;animation:ts-figpop .6s .35s cubic-bezier(.3,1.6,.5,1) both}
.ts-fig2{animation-delay:.55s}
.ts-tags > span{animation:ts-pop .6s cubic-bezier(.2,.7,.2,1) both}
.ts-tags > span:nth-child(1){animation-delay:.05s}.ts-tags > span:nth-child(2){animation-delay:.13s}.ts-tags > span:nth-child(3){animation-delay:.21s}.ts-tags > span:nth-child(4){animation-delay:.29s}
.sp-js .sp-js .ts-rv.in .ts-ico{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.ts-aud:hover .ts-ico{transform:rotate(-8deg) scale(1.1)}
.ts-panel li{animation:ts-li .5s cubic-bezier(.2,.7,.2,1) both}
.ts-panel li:nth-child(2){animation-delay:.04s}.ts-panel li:nth-child(3){animation-delay:.08s}.ts-panel li:nth-child(4){animation-delay:.12s}.ts-panel li:nth-child(5){animation-delay:.16s}.ts-panel li:nth-child(6){animation-delay:.2s}.ts-panel li:nth-child(7){animation-delay:.24s}.ts-panel li:nth-child(8){animation-delay:.28s}.ts-panel li:nth-child(9){animation-delay:.32s}.ts-panel li:nth-child(10){animation-delay:.36s}
.ts-bio p{animation:ts-li .6s cubic-bezier(.2,.7,.2,1) both}
.ts-bio p:nth-child(2){animation-delay:.07s}.ts-bio p:nth-child(3){animation-delay:.14s}.ts-bio p:nth-child(4){animation-delay:.21s}.ts-bio p:nth-child(5){animation-delay:.28s}.ts-bio p:nth-child(6){animation-delay:.35s}.ts-bio p:nth-child(7){animation-delay:.42s}
.ts-num{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.ts-mth:hover .ts-num{transform:rotate(-8deg) scale(1.1)}
.ts-picked{animation:ts-pop2 .38s cubic-bezier(.3,1.6,.5,1) both}
.ts-sum{animation:ts-li .45s cubic-bezier(.2,.7,.2,1) both}
.ts-arw{display:inline-block;transition:transform .3s}
a:hover .ts-arw,button:hover .ts-arw{transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){.ts-prog{display:none}.ts *{animation:none !important;transition:none !important}}
@media (max-width:900px){
  .ts-nav{display:none !important}
  .ts-h1{font-size:44px !important}
  .ts-h2{font-size:34px !important}
  .ts-s{padding-top:72px !important;padding-bottom:72px !important}
}

/* statikus oldal kiegészítések */
.ts-tab{border:0;background:transparent;color:var(--ink);border-radius:12px;padding:11px 18px;font-size:15px;font-weight:600;min-height:44px}
.ts-tab[aria-selected="true"]{background:var(--ink);color:#FFFFFF}
.ts-pill[aria-pressed="true"]{background:var(--ac) !important;border-color:var(--ac) !important;color:#FFFFFF !important}
[data-mode].ts-pill[aria-pressed="true"]{background:#FFFFFF !important;color:var(--ink) !important;box-shadow:0 2px 6px rgba(22,26,51,.12)}
.ts-day{border:1.5px solid var(--ln);background:#FFFFFF;color:var(--ink);border-radius:14px;padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:76px}
.ts-day small{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--mu)}
.ts-day b{font-family:Sora,sans-serif;font-size:22px;font-weight:600}
.ts-day span{font-size:12px;color:var(--mu)}
.ts-day[aria-pressed="true"]{background:var(--ac);border-color:var(--ac);color:#FFFFFF}
.ts-day[aria-pressed="true"] small,.ts-day[aria-pressed="true"] span{color:rgba(255,255,255,.85)}
.ts-slot{border:1.5px solid var(--ln);background:#FFFFFF;color:var(--ink);border-radius:12px;padding:11px 8px;font-size:15px;font-weight:600;min-height:46px}
.ts-slot[aria-pressed="true"]{background:var(--ac);border-color:var(--ac);color:#FFFFFF}
.ts-more{grid-column:1 / -1;justify-self:start;border:0;background:none;color:var(--ac);font-weight:600;font-size:15px;padding:8px 0;cursor:pointer}
#summary.is-set{background:var(--acs) !important;color:var(--ink) !important}
#submit-btn[disabled]{opacity:.6;cursor:wait}
.ts-done{background:var(--mint);border-radius:20px;padding:28px;color:var(--ink)}
:focus-visible{outline:3px solid var(--ac);outline-offset:2px}

/* a rejtett elemek akkor is rejtve maradnak, ha saját display stílusuk van */
[hidden]{display:none !important}

/* foglaló: a mezőcsoportok ne feszítsék szét a keretet */
#booking-form fieldset{min-width:0}

/* foglaló telefonon: kevesebb egymásba ágyazott keret, vízszintesen görgethető napok */
@media (max-width:640px){
  #foglalas{padding:0 0 56px !important}
  .ts-book{border-radius:0 !important;padding:44px 16px 16px !important;gap:28px !important}
  #booking-form{padding:22px 16px 24px !important;border-radius:20px !important;gap:24px !important}
  .ts-seg{width:100%}
  .ts-seg .ts-pill{flex:1 1 0;padding:9px 10px !important}
  #days{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:2px 16px 8px;scrollbar-width:none}
  #days::-webkit-scrollbar{display:none}
  #days .ts-day{flex:0 0 70px;scroll-snap-align:start}
  #days > p{flex:1 0 100%}
  #slots{grid-template-columns:repeat(3,1fr) !important}
  #submit-btn{align-self:stretch !important;justify-content:center}
}
