/* Fejléc – közös (index.html, helyisegek.html) */
.top{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;gap:clamp(14px,2vw,28px);
  padding:18px var(--gutter);color:#fff;border:1px solid transparent;
  transition:top .45s cubic-bezier(.2,.8,.2,1),left .45s cubic-bezier(.2,.8,.2,1),right .45s cubic-bezier(.2,.8,.2,1),
    padding .45s cubic-bezier(.2,.8,.2,1),border-radius .45s,background .35s,color .35s,box-shadow .35s,border-color .35s}
.top.solid{top:12px;left:max(10px,calc(var(--gutter) - 18px));right:max(10px,calc(var(--gutter) - 18px));
  padding:8px 8px 8px 16px;border-radius:999px;color:var(--ink);
  background:rgba(250,248,245,.8);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-color:rgba(231,226,219,.9);box-shadow:0 14px 34px -16px rgba(29,27,25,.35),inset 0 1px 0 rgba(255,255,255,.7)}

/* Logó: kerék-monogram + kétsoros név */
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:auto;line-height:1}
.brand .wheel{width:38px;height:38px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;
  transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.brand .wheel .hub{fill:var(--sun-light);stroke:none}
.brand:hover .wheel{transform:rotate(135deg)}
.brand b{display:block;font-family:var(--display);font-size:1.45rem;font-weight:600;letter-spacing:.01em}
.brand small{display:block;margin-top:3px;font-size:.62rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;opacity:.7}

/* Menü (asztali: sorban; mobilon: popover) */
.top nav{display:flex;align-items:center;gap:clamp(14px,1.6vw,26px);font-size:.88rem;font-weight:500;
  position:static;inset:auto;margin:0;padding:0;border:0;background:none;color:inherit;overflow:visible;width:auto;height:auto}
.top nav a{position:relative;text-decoration:none;opacity:.82;padding:6px 0;transition:opacity .2s}
.top nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;border-radius:2px;background:var(--sun-light);
  transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.top.solid nav a::after{background:var(--wine)}
.top nav a:hover,.top nav a[aria-current]{opacity:1}
.top nav a:hover::after,.top nav a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.top nav a:focus-visible,.top .btn:focus-visible,.burger:focus-visible,.brand:focus-visible{outline:2px solid var(--sun-light);outline-offset:4px;border-radius:4px}


/* Foglalás gomb */
.top .call{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;box-shadow:0 6px 16px -8px rgba(29,27,25,.8);transition:background .2s,transform .2s,box-shadow .2s}
.top .call:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(29,27,25,.9)}
.top .call svg{width:16px;height:16px;flex:none}
.menu-x,.menu-foot{display:none}

/* Hamburger */
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid currentColor;background:none;color:inherit;cursor:pointer;place-items:center;padding:0}
.burger span,.burger span::before{display:block;width:18px;height:1.5px;background:currentColor;border-radius:2px;position:relative}
.burger span::before{content:"";position:absolute;top:6px;width:12px}
.burger span{top:-3px}

@media (max-width:1080px){
  .burger{display:grid}
  .top .call{padding:0;width:44px;height:44px;justify-content:center}
  .top .call span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .top{gap:10px}

  .top nav{display:none}
  .top nav:popover-open{position:fixed;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;
    padding:80px var(--gutter) 40px;overflow:auto;color:var(--cream);counter-reset:m;
    background:linear-gradient(160deg,rgba(25,24,23,.93),rgba(25,24,23,.98)),url(img/poster.jpg) center/cover;
    opacity:1;transition:opacity .35s,display .35s allow-discrete,overlay .35s allow-discrete}
  @starting-style{.top nav:popover-open{opacity:0}}
  .top nav:popover-open a{font-family:var(--display);font-size:clamp(1.9rem,7vw,2.6rem);font-weight:600;line-height:1.15;opacity:1;
    display:flex;align-items:baseline;gap:14px;counter-increment:m;
    transform:none;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s;transition-delay:calc(var(--i,0) * 40ms)}
  .top nav:popover-open a::before{content:counter(m,decimal-leading-zero);font-family:var(--body);font-size:.75rem;letter-spacing:.14em;color:var(--sun-light);font-weight:500}
  .top nav:popover-open a::after{bottom:4px}
  @starting-style{.top nav:popover-open a{opacity:0;transform:translateY(14px)}}
  .top nav::backdrop{background:transparent}
  .menu-x{display:grid;place-items:center;position:absolute;top:16px;right:var(--gutter);width:44px;height:44px;border-radius:50%;
    border:1px solid rgba(241,236,230,.35);background:none;color:inherit;font-size:1.6rem;line-height:1;cursor:pointer;transition:transform .3s}
  .menu-x:hover{transform:rotate(90deg)}
  .top nav:popover-open .menu-foot{display:block;margin-top:28px;font-size:.85rem;color:var(--cream-2)}
  .top nav .menu-foot a.btn{counter-increment:none;font-family:var(--body);font-size:.95rem;margin-top:10px;padding:12px 22px;display:inline-flex}
  .top nav .menu-foot a.btn::before,.top nav .menu-foot a.btn::after{display:none}
}
@media (max-width:420px){.brand small{display:none}.brand b{font-size:1.25rem}.brand .wheel{width:32px;height:32px}}
@media (prefers-reduced-motion:reduce){
  .top,.top *,.top nav:popover-open,.top nav:popover-open a{transition:none!important;animation:none!important}
}

/* Lábléc – közös (index.html, helyisegek.html) */
.foot{position:relative;background:var(--night);color:var(--cream-2);font-size:.9rem;padding:clamp(56px,8vw,88px) var(--gutter) 0;overflow:hidden}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--stripe)}
.foot-in{position:relative;z-index:1;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:clamp(32px,5vw,64px)}
.foot .brand{color:var(--cream);margin:0 0 18px}
.foot .brand::before{display:none}
.foot .brand small{display:block}
.foot-tag{max-width:34ch;line-height:1.7}
.foot-tag em{font-family:var(--display);font-size:1.15em;color:var(--sun-soft)}
.foot h3{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sun);margin-bottom:16px}
.foot ul{list-style:none;padding:0;display:grid;gap:9px}
.foot a{text-decoration:none;transition:color .2s}
.foot ul a{display:inline-flex;align-items:center}
.foot ul a::before{content:"";width:0;height:1.5px;background:var(--sun);transition:width .3s cubic-bezier(.2,.8,.2,1),margin .3s cubic-bezier(.2,.8,.2,1)}
.foot ul a:hover{color:#fff}
.foot ul a:hover::before{width:14px;margin-right:10px}
.foot address{font-style:normal;display:grid;gap:12px}
.foot address a{display:flex;gap:12px;align-items:flex-start;line-height:1.45}
.foot address a:hover{color:#fff}
.foot address svg{width:18px;height:18px;flex:none;margin-top:1px;fill:none;stroke:var(--sun);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.foot .btn{margin-top:22px}
.foot-bar{position:relative;z-index:1;max-width:1180px;margin:clamp(44px,6vw,64px) auto 0;padding:22px 0 28px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:.8rem;color:var(--cream-3)}
.foot-bar a:hover{color:var(--sun)}
.foot a:focus-visible{outline:2px solid var(--sun);outline-offset:3px;border-radius:4px}
@media (max-width:860px){.foot-in{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:520px){.foot-in{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.foot ul a::before,.foot a{transition:none}}

/* Lábléc – kapcsolat + űrlap (minden oldalon, #kapcsolat) */
.kt{position:relative;z-index:1;max-width:1180px;margin:0 auto clamp(44px,6vw,64px);padding-bottom:clamp(44px,6vw,64px);border-bottom:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,48px);scroll-margin-top:90px}
.kt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.kt-grid .full{grid-column:1/-1}
.kt-form label{display:grid;gap:5px;font-size:.78rem;color:var(--cream-3)}
.kt-form input:not([type=checkbox]),.kt-form select,.kt-form textarea{width:100%;font:inherit;font-size:.9rem;color:var(--cream);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:9px 12px}
.kt-form select option{color:var(--ink)}
.kt-form textarea{resize:vertical;min-height:76px}
.kt-form ::placeholder{color:#8a837b}
.kt-form input:focus-visible,.kt-form select:focus-visible,.kt-form textarea:focus-visible{outline:none;border-color:var(--sun)}
.kt-form .kt-check{display:flex;gap:10px;align-items:center;margin:14px 0}
.kt-check input{width:16px;height:16px;flex:none;accent-color:var(--sun)}
.kt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.kt-actions .btn{margin:0;background:var(--sun);color:var(--night)}
.kt-actions .btn:hover{background:var(--sun-light)}
.kt-actions p{font-size:.75rem;color:var(--cream-3)}
.kt-map{position:relative;min-height:260px;border-radius:10px;overflow:hidden}
.kt-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.5) brightness(.9)}
.kt-route{position:absolute;left:12px;bottom:12px;padding:7px 12px;border-radius:8px;background:rgba(25,24,23,.9);color:var(--cream);font-size:.8rem}
.kt-route:hover{color:#fff}
@media (max-width:860px){.kt{grid-template-columns:1fr}}
@media (max-width:520px){.kt-grid{grid-template-columns:1fr}}
