import { ChangeDetectionStrategy, Component } from '@angular/core'; import { RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router'; import { MatButtonModule } from '@angular/material/button'; @Component({ selector: 'app-root', standalone: true, imports: [ RouterOutlet, RouterLink, RouterLinkActive, MatButtonModule, ], template: `
Laboratori teatrali & produzioni audio/visive Direzione artistica a cura di Ernesto Estatico
`, styles: [` .app-shell { min-height: 100vh; display: flex; flex-direction: column; } .topline { background: var(--azionelab-surface-dark); color: rgba(255, 247, 239, 0.84); font-size: 0.85rem; } .topline-inner, .header-inner, .footer-inner { width: min(100%, var(--azionelab-shell-width)); margin: 0 auto; } .topline-inner { display: flex; justify-content: space-between; gap: 16px; padding: 10px 20px; flex-wrap: wrap; } .site-header { position: sticky; top: 0; z-index: 20; backdrop-filter: blur(16px); background: rgba(250, 245, 238, 0.9); border-bottom: 1px solid var(--azionelab-border); } .header-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; min-height: 82px; padding: 0 20px; } .brand { display: inline-flex; align-items: center; gap: 14px; color: inherit; text-decoration: none; } .brand-logo { width: 58px; height: 58px; display: block; object-fit: contain; filter: drop-shadow(0 14px 30px rgba(111, 40, 33, 0.16)); } .brand-text { display: flex; flex-direction: column; line-height: 1.05; } .brand-text strong { font-family: var(--azionelab-serif); font-size: 1.4rem; font-weight: 700; } .brand-text small { color: var(--azionelab-muted); font-size: 0.78rem; } .main-nav { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; } .main-nav .active { background: rgba(143, 51, 45, 0.1); } .header-actions { display: flex; justify-content: flex-end; } .page-shell { flex: 1; padding: 40px 20px 72px; } .site-footer { border-top: 1px solid var(--azionelab-border); background: linear-gradient(180deg, rgba(255, 251, 246, 0.86), rgba(244, 235, 223, 0.92)); } .footer-inner { display: grid; grid-template-columns: minmax(0, 1.5fr) auto; gap: 24px; align-items: start; padding: 28px 20px 34px; } .footer-title { margin: 0 0 8px; font-family: var(--azionelab-serif); font-size: 1.15rem; font-weight: 700; color: var(--azionelab-ink); } .footer-copy { margin: 0; max-width: 52ch; color: var(--azionelab-muted); line-height: 1.6; } .footer-nav { display: flex; flex-wrap: wrap; gap: 14px; } .footer-nav a { color: var(--azionelab-ink-soft); text-decoration: none; } @media (max-width: 800px) { .header-inner { grid-template-columns: 1fr; align-items: flex-start; padding: 16px; } .main-nav { width: 100%; justify-content: flex-start; } .header-actions { width: 100%; } .footer-inner { grid-template-columns: 1fr; padding: 24px 16px 28px; } .page-shell { padding: 28px 16px 52px; } } `], changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent {}