footer{background:var(--schwarz);color:rgba(255,255,255,.5);padding:3rem 5%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;border-top:3px solid var(--rot)}.footer-col h4{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:1rem;font-weight:400}.footer-col p,.footer-col a{font-size:.85rem;line-height:1.8;color:rgba(255,255,255,.45);text-decoration:none;display:block}.footer-col a:hover{color:rgba(255,255,255,.8)}.footer-logo-text{font-family:'Playfair Display',serif;font-size:1.4rem;font-style:italic;font-weight:700;color:var(--rot);margin-bottom:.6rem;display:block}.footer-logo-img{max-width:170px}.footer-bottom{background:var(--schwarz);border-top:1px solid rgba(255,255,255,.08);padding:1rem 5%;display:flex;justify-content:space-between;font-size:.75rem;color:rgba(255,255,255,.3)}.footer-legal-links{display:flex;gap:1.5rem}.footer-legal-links a{color:rgba(255,255,255,.3);text-decoration:none;transition:color 0.2s ease}.footer-legal-links a:hover{color:rgba(255,255,255,.7)}.contact-name{font-size:1rem;font-weight:600;color:rgba(255,255,255,.8);margin-bottom:.5rem}.contact-address{font-size:.85rem;line-height:1.6;color:rgba(255,255,255,.45);margin-bottom:1rem}.contact-details{display:flex;flex-direction:column}.contact-row{display:flex;gap:.5rem;font-size:.85rem;line-height:1.8}.contact-label{color:rgba(255,255,255,.3);flex-shrink:0}.contact-details a{color:rgba(255,255,255,.45);text-decoration:none;display:inline;transition:color 0.2s ease}.contact-details a:hover{color:var(--rot)}.contact-text{color:rgba(255,255,255,.45)}.contact-social{margin-top:1rem;display:flex;gap:1rem}.contact-social a{font-size:.8rem;color:rgba(255,255,255,.4);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;transition:color 0.2s ease}.contact-social a:hover{color:var(--rot)}.footer-qr-code{margin-top:1.5rem;display:inline-block}.footer-qr-code .qr-image{width:200px;height:auto;display:block}