/* uballon.hu – közös stílusok (A változat) */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#F6F9FC}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}@view-transition{navigation:auto}}
:focus-visible{outline:3px solid #1F4A2C;outline-offset:3px}
input:user-invalid,textarea:user-invalid,select:user-invalid{border-color:#C0392B !important}
input:user-invalid+.ferr,textarea:user-invalid+.ferr{display:block}
button[type=submit]:hover{filter:brightness(1.08)}
/* sötét/világos kapcsoló */
.thsw{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;gap:4px;padding:6px;background:#FFFFFF;border:1px solid #DCE5EE;border-right:0;border-radius:14px 0 0 14px;box-shadow:0 8px 24px rgba(10,20,35,.18);text-decoration:none}
.thk{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#4A5D70}
.thk.on{background:#1F4A2C;color:#FFFFFF}
.thsw:hover .thk:not(.on){background:rgba(127,127,127,.15)}
@media (max-width:640px){.thsw{top:auto;bottom:84px;transform:none}.thk{width:32px;height:32px}}
/* vissza a tetejére */
.totop{position:fixed;right:18px;bottom:18px;z-index:65;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(31,74,44,.7);color:#FFFFFF;box-shadow:0 8px 24px rgba(10,20,35,.25);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s,transform .25s}
.scrolled .totop{opacity:1;pointer-events:auto;transform:none}
/* archívum-nagyító */
.alb{position:fixed;inset:0;z-index:9999;background:rgba(5,10,18,.9);display:none;align-items:center;justify-content:center;flex-direction:column;padding:48px 72px}
.alb.open{display:flex}
.alb img{max-width:100%;max-height:calc(100vh - 140px);border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.alb button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font:56px/1 Arial,sans-serif;padding:10px 16px}
.alb .ax{top:10px;right:16px;font-size:40px}.alb .ap{left:8px;top:50%;transform:translateY(-50%)}.alb .an{right:8px;top:50%;transform:translateY(-50%)}
.alb .ac{margin-top:12px;color:#DCE3EC;font:15px/1.4 system-ui,sans-serif}
@media (max-width:640px){.alb{padding:56px 8px}.alb .ap,.alb .an{top:auto;bottom:6px;transform:none;font-size:44px}}
