/* FamilyZone public shell. Shared nav, footer, typography, buttons. */
:root{--fz-blue:#2563eb;--fz-cyan:#0ea5e9;--fz-navy:#07111f;--fz-text:#24344d;--fz-muted:#64748b;--fz-line:#dbe7f6;--fz-soft:#f6f9ff;--fz-shadow:0 18px 44px rgba(15,35,70,.10)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(135deg,#fff 0%,#f6f9ff 48%,#eef8ff 100%);color:var(--fz-navy);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
a{color:inherit}
.container{width:min(1160px,calc(100% - 36px));margin-inline:auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:12px 18px;border:1px solid #dbe4f0;border-radius:13px;background:#fff;color:#0f2544;text-decoration:none;font-weight:800;line-height:1;box-shadow:0 10px 24px rgba(15,35,70,.08);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 15px 34px rgba(37,99,235,.16)}
.btn.primary,.btn-gradient{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--fz-blue),var(--fz-cyan));box-shadow:0 16px 34px rgba(37,99,235,.28)}
.btn.ghost{background:#fff;color:#0f2544}
.btn.small{min-height:38px;padding:9px 13px;border-radius:11px;font-size:.9rem}
.fz-site-nav{position:sticky;top:0;z-index:9999;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #e2e8f0;box-shadow:0 6px 24px rgba(15,23,42,.04)}
.fz-site-nav *{box-sizing:border-box}
.fz-site-nav-inner{width:min(1160px,calc(100% - 36px));min-height:74px;margin:0 auto;display:flex;align-items:center;gap:16px}
.fz-site-brand{display:flex;align-items:center;min-width:178px;text-decoration:none;color:#0f172a}
.fz-site-logo-img{display:block;width:178px;height:42px;object-fit:contain;object-position:left center}
.fz-site-brand-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fz-site-menu-check,.fz-site-menu-toggle{display:none}
.fz-site-menu-panel{display:flex;align-items:center;gap:18px;flex:1;min-width:0}
.fz-site-links{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0}
.fz-site-links a{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:999px;color:#334155;text-decoration:none;font-size:.92rem;font-weight:700;white-space:nowrap}
.fz-site-links a:hover,.fz-site-links a.active,.fz-site-links a[aria-current="page"]{background:#dbeafe;color:#1d4ed8}
.fz-site-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.fz-site-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 14px;border:1px solid #dbe4f0;border-radius:11px;background:#fff;color:#1e293b;text-decoration:none;font-size:.9rem;font-weight:800;box-shadow:0 8px 18px rgba(15,23,42,.07);transition:transform .18s ease,box-shadow .18s ease}
.fz-site-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(37,99,235,.14)}
.fz-site-btn.trial{background:linear-gradient(135deg,var(--fz-blue),var(--fz-cyan));border-color:transparent;color:#fff;box-shadow:0 12px 26px rgba(37,99,235,.3)}
.fz-site-btn[data-fz-help]{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.fz-site-btn[data-fz-help] svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fz-site-lang{position:relative}
.fz-site-lang summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;min-width:54px;padding:10px 12px;border:1px solid #dbe4f0;border-radius:11px;background:#fff;color:#1e293b;font-size:.9rem;font-weight:800;box-shadow:0 8px 18px rgba(15,23,42,.07);cursor:pointer}
.fz-site-lang summary::-webkit-details-marker{display:none}
.fz-site-lang summary:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.75}
.fz-site-lang[open] summary{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}
.fz-site-lang-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:10000;display:grid;gap:4px;min-width:210px;padding:8px;border:1px solid #dbe7f6;border-radius:14px;background:#fff;box-shadow:0 18px 44px rgba(15,35,70,.14)}
.fz-site-lang-menu a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 11px;border-radius:10px;color:#334155;text-decoration:none;font-size:.9rem;font-weight:750}
.fz-site-lang-menu a:hover,.fz-site-lang-menu a[aria-current="true"]{background:#eff6ff;color:#1d4ed8}
.fz-site-lang-menu a span{color:#64748b;font-size:.78rem;font-weight:850}
.fz-lang-name{display:inline-flex;align-items:center;gap:9px;color:inherit!important;font-size:inherit!important;font-weight:inherit!important}
.fz-flag{display:inline-block;width:21px;height:15px;flex:0 0 21px;border-radius:3px;box-shadow:0 0 0 1px rgba(15,23,42,.14),0 2px 5px rgba(15,23,42,.08);overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat}
.fz-flag.hu{background-image:url("/images/flags/hu.svg?v=1")}
.fz-flag.en{background-image:url("/images/flags/en.svg?v=1")}
.fz-flag.de{background-image:url("/images/flags/de.svg?v=1")}
.fz-flag.ro{background-image:url("/images/flags/ro.svg?v=1")}
.fz-flag.sk{background-image:url("/images/flags/sk.svg?v=1")}
.fz-flag.sr{background-image:url("/images/flags/sr.svg?v=1")}


.fz-site-footer{margin-top:56px;padding:24px 0;background:#fff;border-top:1px solid #e2e8f0;color:#64748b}
.fz-site-footer-inner{width:min(1160px,calc(100% - 36px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.fz-site-footer-brand img{display:block;width:148px;height:36px;object-fit:contain;object-position:left center}
.fz-site-footer-links{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 18px}
.fz-site-footer-links a{text-decoration:none;color:#334155;font-weight:700;line-height:1.25;font-size:.9rem}
@media(max-width:760px){
  .container{width:calc(100% - 28px)}
  .fz-site-nav-inner{width:calc(100% - 24px);min-height:62px;justify-content:space-between;position:relative;gap:10px}
  .fz-site-brand{min-width:0;flex:0 1 auto;margin-right:auto}
  .fz-site-logo-img{width:136px;height:34px;max-width:58vw}
  .fz-site-menu-toggle{display:grid;place-content:center;gap:4px;width:42px;height:42px;flex:0 0 42px;border:1px solid #dbeafe;border-radius:10px;background:#fff;color:#1d4ed8;cursor:pointer}
  .fz-site-menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
  .fz-site-menu-panel{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.14)}
  .fz-site-menu-check:checked ~ .fz-site-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .fz-site-menu-check:checked ~ .fz-site-menu-toggle span:nth-child(2){opacity:0}
  .fz-site-menu-check:checked ~ .fz-site-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .fz-site-menu-check:checked ~ .fz-site-menu-panel{display:grid;grid-template-columns:1fr;gap:10px}
  .fz-site-links{display:grid;grid-template-columns:1fr 1fr;gap:6px;justify-content:stretch;order:1;width:100%}
  .fz-site-links a{justify-content:center;border-radius:10px;background:#f8fafc}
  .fz-site-actions{display:grid;grid-template-columns:42px 42px 1fr 1fr;gap:8px;white-space:normal;order:2;width:100%;margin:0}
  .fz-site-btn{min-width:0;min-height:40px;padding:9px 10px;font-size:.86rem}
  .fz-site-btn[data-fz-help]{padding:0}
  .fz-site-btn[data-fz-help] span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .fz-site-lang{position:static}
  .fz-site-lang summary{min-width:42px;width:42px;padding:0}
  .fz-site-lang-menu{position:static;grid-column:1 / -1;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));box-shadow:none;background:#f8fbff}

  .fz-site-footer-inner{width:calc(100% - 24px);align-items:flex-start;flex-direction:column}
  .fz-site-footer-links{justify-content:flex-start;gap:10px 14px}
}
@media(max-width:390px){
  .fz-site-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fz-site-lang summary,.fz-site-btn{width:100%}
  .fz-site-btn[data-fz-help]{padding:9px 10px}
  .fz-site-btn[data-fz-help] span{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}
  .fz-site-links{grid-template-columns:1fr}
}
/* Hard lock mobile nav order. Page-level CSS must not be able to flip this. */
@media(max-width:760px){
  .fz-site-nav .fz-site-brand{order:0!important;margin-right:auto!important}
  .fz-site-nav .fz-site-menu-check{order:1!important}
  .fz-site-nav .fz-site-menu-toggle{order:2!important;margin-left:0!important}
  .fz-site-nav .fz-site-menu-panel{order:3!important}
}
