/* AUSTRIA — program konser Wina */
.at-page { --color-primary:#b91c1c; --color-accent:#27272a; --color-bg:#f5f6f8; --at-muted:#71717a;
  background:var(--color-bg); color:var(--color-accent); font-family:'Karla',system-ui,sans-serif; margin:-1.5rem -12px 0; padding-bottom:54px; text-align:center; }
.at-container { width:100%; max-width:880px; margin:0 auto; padding:0 16px; }
.at-breadcrumb { padding:14px 0 0; font-size:12px; color:var(--at-muted); text-align:left; } .at-breadcrumb a { color:var(--color-primary); }
.at-head { position:relative; padding:44px 0 22px; }
.at-staff { position:absolute; left:0; right:0; top:44px; height:44px;
  background-image:repeating-linear-gradient(180deg,#c8cbd2 0 1px,transparent 1px 11px); opacity:.7; }
.at-clef { position:relative; display:block; font-size:34px; color:var(--color-primary); line-height:1; margin-bottom:6px; }
.at-kicker { position:relative; margin:0 0 8px; font-size:11px; font-weight:700; letter-spacing:.32em; color:var(--color-primary); }
.at-h1 { position:relative; font-family:'Cormorant Garamond',Georgia,serif; font-weight:700; font-size:clamp(24px,5.8vw,42px); line-height:1.1; margin:0 0 8px; }
.at-date { position:relative; margin:0; font-size:12.5px; color:var(--at-muted); }
.at-score { position:relative; padding:34px 0 26px; }
.at-lines { position:absolute; left:0; right:0; top:38px; height:56px;
  background-image:repeating-linear-gradient(180deg,#b9bcc4 0 1px,transparent 1px 14px); }
.at-notes { position:relative; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:center; gap:22px; min-height:100px; }
.at-note-item { position:relative; display:inline-flex; flex-direction:column; align-items:center; opacity:0; transform:translateY(10px);
  animation:at-in .45s ease forwards; }
.at-pos-0 { margin-bottom:0; } .at-pos-1 { margin-bottom:14px; } .at-pos-2 { margin-bottom:28px; } .at-pos-3 { margin-bottom:7px; }
.at-stem { width:2px; height:34px; background:var(--color-accent); align-self:flex-end; margin-right:2px; }
.at-head-note { display:inline-flex; align-items:center; justify-content:center; width:clamp(46px,12vw,58px); height:clamp(46px,12vw,58px);
  border-radius:50%; background:var(--color-accent); color:#fff; font-family:'Cormorant Garamond',Georgia,serif; font-weight:700;
  font-size:clamp(22px,6vw,30px); transform:rotate(-14deg); }
.at-note-empty .at-head-note { background:#d4d4d8; color:#9a9aa2; }
@keyframes at-in { to{opacity:1;transform:translateY(0);} }
.at-meta { margin:8px 0 0; font-size:12.5px; color:var(--at-muted); }
.at-desc { margin:16px auto 0; max-width:580px; font-size:14px; color:var(--at-muted); }
.at-section { margin-top:42px; }
.at-h2 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:700; font-size:clamp(21px,4.8vw,30px); margin:0 0 16px; }
.at-h2::after { content:''; display:block; width:60px; height:1px; background:var(--color-primary); margin:10px auto 0; }
.at-filter { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:18px; }
.at-filter select { height:40px; padding:0 12px; border:1px solid #c8cbd2; border-radius:2px; background:#fff; font-family:inherit; font-size:13px; }
.at-btn { display:inline-flex; align-items:center; height:40px; padding:0 18px; border:1px solid var(--color-accent); border-radius:2px;
  background:var(--color-accent); color:#fff; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; }
.at-btn:hover { background:#3f3f46; color:#fff; } .at-btn-ghost { background:#fff; color:var(--color-accent); }
.at-table { width:100%; border-collapse:collapse; font-size:13.5px; text-align:left; background:#fff; }
.at-table thead th { padding:10px 12px; text-align:left; font-size:10.5px; font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:var(--at-muted); border-bottom:2px solid var(--color-accent); white-space:nowrap; }
.at-part th { padding:14px 12px 8px; font-family:'Cormorant Garamond',Georgia,serif; font-size:15px; font-weight:700; color:var(--color-primary);
  border-bottom:1px solid var(--color-accent); }
.at-table tbody td { padding:10px 12px; border-bottom:1px solid #e5e7eb; }
.at-right { text-align:right; }
.at-result { font-family:'Cormorant Garamond',Georgia,serif; font-weight:700; font-size:19px; letter-spacing:.14em; }
.at-muted { color:var(--at-muted); } .at-nowrap { white-space:nowrap; }
.at-empty { background:#fff; border:1px solid #d8dbe1; padding:40px 18px; }
.at-empty h3 { font-family:'Cormorant Garamond',Georgia,serif; font-size:20px; margin:0 0 6px; } .at-empty p { margin:0; font-size:13px; color:var(--at-muted); }
.at-pagination { margin-top:14px; font-size:12.5px; color:var(--at-muted); }
.at-pagination .page-link { border-radius:2px; border:1px solid #c8cbd2; color:var(--color-accent); }
.at-pagination .page-item.active .page-link { background:var(--color-accent); border-color:var(--color-accent); color:#fff; }
.at-cards { display:grid; gap:0; border-top:1px solid var(--color-accent); }
.at-card { padding:20px 12px; border-bottom:1px solid #d8dbe1; }
.at-card-label { display:block; font-size:10.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--at-muted); }
.at-card-value { display:block; margin:6px 0 3px; font-family:'Cormorant Garamond',Georgia,serif; font-weight:700; font-size:22px; }
.at-card-note { display:block; font-size:11.5px; color:var(--at-muted); }
.at-note-text { margin:20px 0 0; font-size:12.5px; color:var(--at-muted); } .at-note-text a { color:var(--color-primary); font-weight:700; }
@media (min-width:768px) { .at-cards { grid-template-columns:repeat(3,1fr); border-bottom:1px solid #d8dbe1; }
  .at-card { border-bottom:0; border-right:1px solid #d8dbe1; } .at-card:last-child { border-right:0; } }
@media (min-width:992px) { .at-page { margin-left:-24px; margin-right:-24px; } }
@media (max-width:575.98px) { .at-hide-sm { display:none; } .at-notes { gap:12px; } .at-head { padding:30px 0 16px; } }
@media (prefers-reduced-motion:reduce) { .at-note-item { animation:none; opacity:1; transform:none; } }
