.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.text-small{font-size:var(--font-size-sm);font-weight:500}.text-link{color:#0066cc;text-decoration:none}.text-link:hover{text-decoration:underline}.text-semibold{font-weight:600}.text-white{color:white}.text-center{text-align:center}.margin-bottom-15{margin:0 0 15px}.margin-bottom-10{margin:0 0 10px}.margin-bottom-8{margin:0 0 8px}.margin-auto{margin:0 auto}.padding-15{padding:15px}.padding-vertical-40{padding:40px 0}.btn-base,.padding-standard{padding:10px 20px}.btn-base{border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;border:none;transition:background .2s ease;text-decoration:none;display:inline-block}.btn-primary{background:#007bff;color:white}.btn-primary:hover{background:#0056b3;color:white;text-decoration:none}.btn-secondary{background:transparent;color:white;border:1px solid rgba(255,255,255,.3)}.btn-secondary:hover{background:rgba(255,255,255,.1)}.btn-link{background:#0066cc;color:white;padding:8px 16px;border-radius:4px}.btn-link:hover{background:#0052a3;color:white;text-decoration:none}.card-base{border-radius:5px;padding:15px;background:white}.card-bordered{border:1px solid #eee}.card-warning{background:#fff3cd;border:1px solid #ffeaa7}.card-info{background:#e7f3ff;border:1px solid #b3d9ff}.modern-footer{background:transparent;color:var(--color-white);padding:var(--spacing-sm) var(--spacing-md);height:var(--footer-height);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.footer-content{width:100%;max-width:1200px;gap:var(--spacing-md)}.footer-links{gap:var(--spacing-lg)}.footer-link{color:var(--color-white);text-decoration:none;transition:opacity .2s ease;white-space:nowrap}.footer-link:hover{opacity:.8}.legal-page{min-height:100vh;background:#ffffff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.7;color:#333}.legal-page .container{max-width:800px;padding:0 30px}.legal-page .header{background:#f5f5f5;border-bottom:1px solid #ddd}.legal-page .header h1{font-size:2.2rem;color:#333}.legal-page .subtitle{font-size:1rem;color:#666}.legal-page .meta{font-size:.85rem;color:#888}.legal-page .meta span{margin:0 10px}.legal-page .content{padding:40px 0 60px}.legal-page section{margin-bottom:35px}.legal-page h2{font-size:1.4rem;color:#333;padding-bottom:5px;border-bottom:1px solid #eee}.legal-page p{text-align:justify}.legal-page ul{padding-left:25px}.legal-page li{margin:5px 0}.legal-page strong{color:#000}.legal-page address{font-style:normal;background:#f9f9f9;border-left:4px solid #667eea}.legal-page .footer{background:#f5f5f5;border-top:1px solid #ddd;padding:30px 0}.legal-page .footer-nav{gap:15px}.legal-page.impressum .footer-nav{justify-content:center;gap:20px}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:rgba(0,0,0,.95);color:white;padding:20px;z-index:1000;border-top:3px solid #ff6b35}.cookie-banner__content{max-width:1200px;gap:20px}.cookie-banner__info{flex:1;min-width:300px}.cookie-banner__title{font-size:1.1rem}.cookie-banner__description{font-size:.9rem;line-height:1.4}.cookie-banner__warning{font-size:.8rem;opacity:.8}.cookie-banner__actions{gap:12px}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:500;background:#28a745;color:white}.status-badge.warning{background:#ff6b35}.cookie-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1001;padding:20px}.cookie-modal{background:white;border-radius:8px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.cookie-modal__header{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:flex-start}.cookie-modal__subtitle{margin:5px 0 0;font-size:.9rem;color:#666}.cookie-modal__close{padding:5px 10px;font-size:1.2rem}.cookie-modal__content{padding:20px}.cookie-categories{margin:20px 0}.cookie-category{margin-bottom:15px}.cookie-category__content{gap:15px}.cookie-category__info{flex:1}.cookie-category__description{margin:5px 0 0;font-size:.9rem;color:#666}.cookie-category__control{gap:10px}.toggle-switch{width:50px;height:24px;background:#ccc;border-radius:12px;position:relative;cursor:pointer;transition:background .3s}.toggle-switch--active{background:#007bff}.toggle-switch--disabled{opacity:.5;cursor:not-allowed}.toggle-switch__slider{width:20px;height:20px;background:white;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s}.toggle-switch--active .toggle-switch__slider,.toggle-switch__slider--active{transform:translateX(26px)}.cookie-modal__actions{border-top:1px solid #eee;padding:20px;display:flex;gap:10px;justify-content:flex-end}.card-title{font-size:1rem;font-weight:600;margin:0}.card-title.warning{color:#856404;margin:0 0 5px}.card-title.info{color:#0066cc;margin:0 0 10px}.legal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;backdrop-filter:blur(8px)}.legal-modal{background:white;border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-elevated);animation:modalFadeIn .3s ease-out}.legal-modal__header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid #eee;background:#f8f9fa}.legal-modal__title{font-size:1.5rem;font-weight:600;color:#333;margin:0}.legal-modal__close{background:none;border:none;padding:8px;cursor:pointer;border-radius:var(--radius-standard);transition:background-color .2s ease;color:#666}.legal-modal__close:hover{background:rgba(0,0,0,.1);color:#333}.legal-modal__content{padding:32px;overflow-y:auto;max-height:calc(90vh - 100px)}.legal-modal__content .legal-page{min-height:auto;background:transparent}.legal-modal__content .legal-page .footer,.legal-modal__content .legal-page .header{display:none}.legal-modal__content .legal-page .container{max-width:none;padding:0;margin:0}.legal-modal__content .legal-page .content{padding:0}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width:768px){.legal-page .container{padding:0 20px}.legal-page .header h1{font-size:1.8rem}.legal-page .footer-nav{flex-direction:column;text-align:center}.legal-page p{text-align:left}.legal-modal{margin:10px;max-height:95vh}.legal-modal__header{padding:16px 20px}.legal-modal__title{font-size:1.25rem}.legal-modal__content{padding:20px}.cookie-banner__content{flex-direction:column;text-align:center}.cookie-banner__info{min-width:auto}.cookie-modal{margin:10px}.cookie-category__content{flex-direction:column;align-items:flex-start;gap:10px}.cookie-modal__actions{flex-direction:column}}@media (max-width:480px){.legal-page .container{padding:0 15px}.legal-page .content{padding:30px 0 40px}.legal-page h2{font-size:1.2rem}.cookie-banner{padding:15px}.cookie-banner__actions{width:100%}.btn-primary,.btn-secondary{flex:1;text-align:center}}.footer-content{justify-content:space-between}.footer-brand,.footer-content,.footer-links{display:flex;align-items:center}.footer-links{flex-wrap:wrap}.copyright{color:var(--color-white)}.copyright,.footer-link{font-size:var(--font-size-sm);font-weight:500}.legal-page .container{margin:0 auto}.legal-page .header{text-align:center;padding:40px 0}.legal-page .header h1{font-weight:600;margin:0 0 10px}.legal-page .subtitle,.legal-page h2{margin:0 0 15px}.legal-page h2{font-weight:600}.legal-page p,.legal-page ul{margin:0 0 15px}.legal-page strong{font-weight:600}.legal-page a{color:#0066cc;text-decoration:none}.legal-page a:hover{text-decoration:underline}.legal-page address{margin:0 0 15px;padding:15px}.legal-page .footer-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.legal-page .back-link{padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;border:none;transition:background .2s ease;text-decoration:none;display:inline-block;background:#0066cc;color:white}.legal-page .back-link:hover{background:#0052a3;color:white;text-decoration:none}.legal-page .other-link{color:#0066cc;text-decoration:none;font-size:var(--font-size-sm);font-weight:500}.legal-page .other-link:hover{text-decoration:underline}.cookie-banner__content{margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.cookie-banner__title{font-weight:600;margin:0 0 8px}.cookie-banner__description{margin:0 0 8px}.cookie-banner__actions{display:flex;align-items:center;flex-wrap:wrap}.primary-btn{padding:10px 20px;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;border:none;transition:background .2s ease;display:inline-block;background:#007bff}.primary-btn,.primary-btn:hover{text-decoration:none;color:white}.primary-btn:hover{background:#0056b3}.secondary-btn{padding:10px 20px;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;border:none;transition:background .2s ease;text-decoration:none;display:inline-block;background:transparent;color:white;border:1px solid rgba(255,255,255,.3)}.secondary-btn:hover{background:rgba(255,255,255,.1)}.warning-card{border-radius:5px;padding:15px;background:#fff3cd;border:1px solid #ffeaa7;margin:0 0 15px}.info-card{border-radius:5px;padding:15px;background:#e7f3ff;border:1px solid #b3d9ff;margin-top:20px}.cookie-category{border-radius:5px;padding:15px;background:white;border:1px solid #eee}.cookie-category__content{justify-content:space-between}.cookie-category__content,.cookie-category__control{display:flex;align-items:center}.card{background:white;border-radius:5px}.card-header{border-bottom:1px solid #eee}.link{color:#0066cc;text-decoration:none}.link:hover{text-decoration:underline}