/* MINVODY consistency audit — Phase 1
   Shared subpage typography, outer grid and solid header sizing only. */

:root{
  --container-max:1400px;
  --gutter-desktop:48px;
  --gutter-tablet:48px;
  --gutter-mobile:24px;

  --font-display:"Literata",Georgia,serif;
  --font-body:"Mulish",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --type-h1:clamp(36px,4.1vw,58px);
  --type-h2:clamp(31px,3.75vw,54px);
  --type-h3:21px;
  --type-lead:16.5px;
  --type-body:16px;
  --type-small:14px;
  --type-eyebrow:12.5px;
  --type-button:13px;

  --menu-x:7%;
  --menu-y:7%;
}

body{
  font-family:var(--font-body);
  font-size:var(--type-body);
}

/* One outer alignment line. Text measure belongs to content inside the grid,
   never to a separately centred version of the outer container. */
.wrap{
  width:100%;
  max-width:var(--container-max);
  margin-inline:auto;
  padding-inline:var(--gutter-desktop);
}

.intro__content,
.products-intro__content,
.news-intro__content,
.contact-intro__content{
  max-width:var(--container-max);
}

/* Shared informational hierarchy. Product/article card headings intentionally
   keep their approved component-specific scale. */
main h1,
main .intro h1,
main .products-intro h1,
main .news-intro h1,
main .contact-intro h1,
html[data-brand] main .hero-stack__head h1{
  width:100%;
  max-width:none;
  font-family:var(--font-display);
  font-size:var(--type-h1);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-.02em;
}

html[data-brand] main h2,
main h2.title,
main .section-head h2,
main .form-intro h2{
  font-family:var(--font-display);
  font-size:var(--type-h2);
  font-weight:300;
  line-height:1.12;
}

html[data-brand] main h3,
main h3{
  font-family:var(--font-display);
  font-size:var(--type-h3);
}

main .eyebrow{
  font-family:var(--font-body);
  font-size:var(--type-eyebrow);
}

main .lead,
main .hero-stack__sub,
html[data-brand] main .hero-stack__row .hero-stack__sub,
main .intro p,
main .products-intro p,
main .contact-intro p{
  font-size:var(--type-lead);
}

.btn{
  font-family:var(--font-body);
  font-size:var(--type-button);
}

/* One solid subpage header, shared by every non-homepage route (O spoločnosti,
   Produkty, Aktuality, Kontakt and all four brand pages). The homepage overlay
   header/menu does not load this stylesheet and remains an intentional
   separate variant with its own positioning and appearance. */
.nav{
  position:relative;
  z-index:40;
  display:block;
  height:132px;
  padding-top:14px;
  color:#fff;
  background:var(--navy-deep);
}
.nav__in{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nav .nav__btn{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:9px;
  height:44px;
  padding:0 18px 0 15px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.045));
  backdrop-filter:blur(14px) saturate(1.25);
  -webkit-backdrop-filter:blur(14px) saturate(1.25);
  box-shadow:0 10px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .35s cubic-bezier(.16,1,.3,1),background .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.nav .nav__btn:hover{
  background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.065));
  border-color:rgba(255,255,255,.38);
  transform:translateY(-2px);
}
.nav .nav__btn:focus-visible{outline:1px solid rgba(255,255,255,.7);outline-offset:5px}
.nav .nav__btn-label{font-family:var(--font-body);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.nav .bars{display:flex;flex-direction:column;gap:6px}
.nav .bars span{width:22px;height:1px;background:currentColor;transition:transform .3s ease}
.nav .nav__btn[aria-expanded="true"] .bars span:first-child{transform:translateY(3px) rotate(45deg)}
.nav .nav__btn[aria-expanded="true"] .bars span:last-child{transform:translateY(-3px) rotate(-45deg)}
.nav .nav__btn:not([aria-expanded="true"]):hover .bars span:first-child{transform:translateY(-1px)}
.nav .nav__btn:not([aria-expanded="true"]):hover .bars span:last-child{transform:translateY(1px)}
.nav a.nav__badge{justify-self:center;width:78px;height:78px;border-radius:50%;background:#FCFBF8;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 32px rgba(0,0,0,.3)}
.nav a.nav__badge img{width:68px;height:68px;object-fit:contain}
.nav a.nav__contact{
  justify-self:end;
  padding:13px 21px;
  border-radius:999px;
  color:#fff;
  font-size:12.5px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:.14em;
  text-transform:uppercase;
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(14px) saturate(1.25);
  -webkit-backdrop-filter:blur(14px) saturate(1.25);
  box-shadow:0 10px 24px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08);
  transition:transform .4s cubic-bezier(.16,1,.3,1),background .35s ease,border-color .35s ease;
}
.nav a.nav__contact:hover{transform:translateY(-2px);background:linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.065));border-color:rgba(255,255,255,.38)}

/* Shared fullscreen menu (same markup/JS contract on every route). */
.menu{position:fixed;inset:0;z-index:100;background:var(--navy);display:flex;flex-direction:column;justify-content:center;padding:0 48px;clip-path:circle(0% at var(--menu-x) var(--menu-y));transition:clip-path .9s cubic-bezier(.65,0,.24,1);pointer-events:none;color:#fff}
.menu.open{clip-path:circle(150% at var(--menu-x) var(--menu-y));pointer-events:auto}
.menu__close{position:absolute;top:34px;right:48px;border:0;background:none;color:#fff;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;opacity:0;transition:opacity .4s ease .3s}
.menu.open .menu__close{opacity:1}
.menu__list{display:flex;flex-direction:column;gap:3px}
.menu__list a{font-family:var(--font-display);font-style:italic;font-size:clamp(35px,6.6vw,76px);line-height:1.14;overflow:hidden;transition:color .3s ease}
.menu__list a span{display:block;transform:translateY(110%);transition:transform .65s cubic-bezier(.16,1,.3,1)}
.menu.open .menu__list a span{transform:none}
.menu__list a:hover{color:var(--blue-on-dark)}
.menu__list a:nth-child(1) span{transition-delay:.12s}
.menu__list a:nth-child(2) span{transition-delay:.18s}
.menu__list a:nth-child(3) span{transition-delay:.24s}
.menu__list a:nth-child(4) span{transition-delay:.3s}
.menu__list a:nth-child(5) span{transition-delay:.36s}
.menu__meta{position:absolute;left:48px;bottom:44px;font-size:13px;color:rgba(255,255,255,.55);opacity:0;transition:opacity .5s ease .5s}
.menu.open .menu__meta{opacity:1}

@media(min-width:641px) and (max-width:1024px){
  .wrap{padding-inline:var(--gutter-tablet)}
}

@media(max-width:640px){
  .wrap{padding-inline:var(--gutter-mobile)}

  .nav{height:112px;padding-top:8px}
  .nav__in{height:86px}
  .nav .nav__btn{width:40px;height:40px;padding:0;justify-content:center;gap:0}
  .nav .nav__btn-label{display:none}
  .nav a.nav__badge{width:68px;height:68px}
  .nav a.nav__badge img{width:60px;height:60px}
  .nav a.nav__contact{
    padding:11px 15px;
    font-size:11px;
    line-height:1.4;
    letter-spacing:.11em;
  }

  .menu{padding:0 24px}
  .menu__close{right:24px}
  .menu__meta{left:24px;bottom:30px}
  .menu__list a{font-size:36px}
}
