:root{
  --font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Open Sans", Arial, sans-serif;
  --fs-100: clamp(14px, 1.6vw, 16px);
  --fs-200: clamp(16px, 2vw, 18px);
  --fs-300: clamp(18px, 2.4vw, 22px);
  --radius: 8px;
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;

  --bg: #F5F5F5;
  --panel: #FFF;
  --text: #222;
  --muted: #555;
  --border: #DDD;
  --shadow: 0 1px 4px rgba(0,0,0,.08);

  --link: #2b5cb8;
  --link-hover: #0a58ca;

  --tag-bg: #fcfcfc;
  --tag-text: #333;

  --pagi-bg: #eee;
  --pagi-text: #444;
  --pagi-active-bg: #0d6efd;
  --pagi-active-text: #fff;
  --pagi-hover-border: #999;
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:#0f1115; --panel:#161a22; --text:#e7e7ea; --muted:#a9afbb; --border:#2a2f3a;
    --shadow: none;
    --link:#7aa2ff; --link-hover:#a6c1ff;
    --tag-bg:#1b2030; --tag-text:#dcdfea;
    --pagi-bg:#1b2030; --pagi-text:#dcdfea;
    --pagi-active-bg:#3b82f6; --pagi-active-text:#fff; --pagi-hover-border:#52607a;
  }
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font-family);
  font-size:var(--fs-100);
  line-height:1.5;
  background:var(--bg);
  color:var(--text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

a{color:var(--link); text-decoration:none; font-weight:600}
a:hover{color:var(--link-hover); text-decoration:underline}
a:focus-visible{outline:2px solid var(--link); outline-offset:2px; border-radius:4px}

p{margin: var(--space-2) 0}
p a{text-decoration:underline}

h1{margin: var(--space-3) var(--space-2); font-size:var(--fs-300); color:var(--text)}
h2,.weiter{
  margin: var(--space-2) auto;
  padding: var(--space-3) var(--space-4);
  font-size: var(--fs-200);
  color: var(--muted);
  background: var(--tag-bg);
  border:1px solid var(--border);
  border-radius: var(--radius);
  max-width: 64rem;
}

.informazion{
  width:min(100%, 90rem);
  margin-inline:auto;
  background:transparent;
  padding: var(--space-2);
}
.head{
  background:var(--panel);
  padding: var(--space-2);
  text-align:center;
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  border:1px solid var(--border);
}
.description{
  margin-top: var(--space-2);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding: var(--space-3);
  font-size: var(--fs-100);
  text-align:left;
  background: var(--panel);
}

.logotipe a{
  display:block;
  width:min(300px, 80%);
  height:60px;
  margin:0 auto;
  background:url(/img/logo.webp) no-repeat center / contain;
}

.content{margin-top: var(--space-3)}
.lines{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding: var(--space-3);
  margin: 0 var(--space-1) var(--space-4);
  box-shadow: var(--shadow);
  content-visibility:auto;
  contain-intrinsic-size: 600px;
}

.lines{display:grid; gap: var(--space-2); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));}
.fatagrafiya{
  display:flex; flex-direction:column;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
  overflow:hidden;
  transition:transform .12s ease, box-shadow .12s ease;
}
.fatagrafiya:where(:hover, :focus-within){transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.12)}
.fatagrafiya a{display:block; padding: var(--space-1) var(--space-1) var(--space-2); position:relative}

.fatagrafiya a img{
  display:block; width:100%; height:auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  background: #e6e6e6;
}

.navi{
  display:inline-block;
  background:var(--panel);
  margin: var(--space-1);
  border-radius:var(--radius);
  border:1px solid var(--border);
  box-shadow: var(--shadow);
}
.navi a{display:block; padding:8px 12px; color:var(--tag-text)}
.navi a:focus-visible{outline:2px solid var(--link); outline-offset:2px; border-radius:6px}

.foot{
  background:var(--panel);
  padding: 12px 10px;
  margin: var(--space-4) 0 0;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
}
.foot p{color:var(--muted); text-align:justify; font-size:var(--fs-100)}

.pagination{
  display:flex; flex-wrap:wrap; gap:6px;
  padding:10px 0; margin:10px;
  list-style:none;
}
.pagination a,.pagination span{
  display:inline-block;
  padding:6px 12px;
  border:1px solid var(--border);
  background:var(--pagi-bg);
  color:var(--pagi-text);
  font-size:15px; white-space:nowrap; border-radius:6px;
}
.pagination a:hover{border-color:var(--pagi-hover-border); text-decoration:none}
.pagination span.current{
  background:var(--pagi-active-bg);
  color:var(--pagi-active-text);
  border-color:var(--pagi-active-bg);
}

img.lazyload{filter: blur(6px); transform: scale(1.01); transition: filter .2s ease, transform .2s ease}
img.lazyloaded{filter:none; transform:none}

@media (min-width: 48rem){
  .head{display:flex; align-items:center; justify-content:space-between; gap: var(--space-3)}
  .description{max-width:80%; margin:0; border:none; padding: var(--space-3) var(--space-4)}
}
@media (max-width: 28rem){
  .navi{width:45%}
}

@media (max-width: 576px){
  .lines{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

:focus:not(:focus-visible){outline:none}
@media (prefers-reduced-motion: reduce){
  *{animation-duration: .001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important}
}

.sr-only{
  position:absolute!important; width:1px!important; height:1px!important;
  padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}