#root{width:100%;height:100%;margin:0;padding:0}body{margin:0}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;text-decoration:inherit}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{line-height:1.6;-webkit-font-smoothing:antialiased}.App{display:flex;flex-direction:column;min-height:100vh;background-color:#fff;font-family:Arial,sans-serif;color:#333}main{flex-grow:1;padding:20px;max-width:1200px;margin:0 auto;width:100%}a{text-decoration:none;color:inherit;cursor:pointer}a:hover{text-decoration:underline}.immobilien-slider-container{position:relative;max-width:800px;margin:30px auto;overflow:hidden;border-radius:8px;box-shadow:0 5px 15px #0003;background-color:#fff}.slider-content{display:flex;width:100%;height:450px;transition:transform .8s ease-in-out}.slider-image{flex-shrink:0;width:100%;height:100%;object-fit:contain;display:block}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background-color:#0006;color:#fff;border:none;padding:12px 18px;cursor:pointer;font-size:28px;z-index:10;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease,transform .2s ease}.slider-arrow:hover{background-color:#000000b3;transform:translateY(-50%) scale(1.05)}.slider-arrow.prev{left:15px}.slider-arrow.next{right:15px}.slider-dots{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10}.dot{width:14px;height:14px;background-color:#ffffffb3;border-radius:50%;cursor:pointer;border:1px solid rgba(0,0,0,.3);transition:background-color .3s ease,transform .2s ease}.dot.active{background-color:#007bff;transform:scale(1.1);border-color:#0056b3}@media (max-width: 600px){.slider-content{height:300px}.slider-arrow{font-size:22px;padding:8px 14px}.slider-arrow.prev{left:10px}.slider-arrow.next{right:10px}.dot{width:10px;height:10px}.slider-dots{bottom:10px;gap:8px}}.home-page-container{padding:1.5rem;max-width:1200px;margin:0 auto}.hero-section{text-align:center;margin-bottom:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.hero-logo{max-width:250px;height:auto;margin-bottom:15px;display:block;margin-left:auto;margin-right:auto}.hero-section h1{font-size:3rem;color:#007bff;margin-bottom:.8rem}.hero-description{font-size:1.2rem;color:#555;line-height:1.6;max-width:800px;margin:0 auto;white-space:pre-wrap}.slider-section,.no-immobilien-section{margin-top:1rem;padding:1rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.slider-section h2,.no-immobilien-section h2{text-align:center;color:#333;margin-bottom:1.5rem;font-size:2rem}@media (max-width: 600px){.home-page-container{padding:1rem}.hero-section{padding:1rem;margin-bottom:1.5rem}.hero-logo{max-width:200px}.hero-section h1{font-size:2.2rem}.hero-description{font-size:1rem}.slider-section,.no-immobilien-section{padding:1rem .5rem}.slider-section h2,.no-immobilien-section h2{font-size:1.5rem;margin-bottom:1rem}}.immobilien-card{position:relative;display:flex;align-items:flex-start;border:1px solid #ddd;margin-bottom:20px;padding:15px;border-radius:8px;background-color:#fff;box-shadow:0 2px 4px #0000001a;width:100%;box-sizing:border-box;transition:padding-bottom .5s ease}.immobilien-card.expanded-card{padding-bottom:50px;flex-direction:column;align-items:center}.immobilien-card-images{position:relative;flex-shrink:0;width:300px;height:200px;overflow:hidden;margin-right:20px;border-radius:4px;background-color:#f0f0f0;display:flex;justify-content:center;align-items:center;transition:transform .5s ease-in-out,box-shadow .5s ease-in-out,margin .5s ease-in-out}.immobilien-card.expanded-card .immobilien-card-images{transform:scale(1.15);box-shadow:0 4px 15px #0003;margin-right:0;margin-bottom:20px}.immobilien-card-main-image{width:100%;height:100%;object-fit:cover;border-radius:4px}.no-image-placeholder{color:#666;font-style:italic;text-align:center}.slider-controls{position:absolute;top:50%;width:100%;display:flex;justify-content:space-between;transform:translateY(-50%);padding:0 5px;box-sizing:border-box}.slider-button{background-color:#00000080;color:#fff;border:none;padding:10px;cursor:pointer;border-radius:50%;font-size:1.2em;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.slider-button:hover{background-color:#000c}.immobilien-card-details{flex-grow:1}.immobilien-card.expanded-card .immobilien-card-details{width:100%}.immobilien-card-details h3{margin-top:0;margin-bottom:10px;color:#333}.immobilien-card-details p{margin-bottom:5px;color:#555;line-height:1.5}.immobilien-card-details .description{font-size:.9em;color:#666;max-height:120px;overflow:hidden;text-overflow:ellipsis;transition:max-height .5s ease-in-out}.immobilien-card-details .description.expanded{max-height:400px;overflow-y:auto;text-overflow:clip;scrollbar-width:thin;scrollbar-color:#cccccc #f1f1f1}.immobilien-card-details .description.expanded::-webkit-scrollbar{width:8px}.immobilien-card-details .description.expanded::-webkit-scrollbar-track{background:#f1f1f1}.immobilien-card-details .description.expanded::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}.immobilien-card-details .description.expanded::-webkit-scrollbar-thumb:hover{background:#aaa}.expand-button{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background-color:#f0f0f0;color:#000;border:1px solid #cccccc;border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:0;font-size:22px;padding-bottom:0;box-sizing:border-box;transition:background-color .3s ease}.expand-button:hover{background-color:#e0e0e0}@media (max-width: 768px){.immobilien-card{flex-direction:column;align-items:center}.immobilien-card-images{width:100%;max-width:400px;margin-right:0;margin-bottom:15px}.immobilien-card.expanded-card .immobilien-card-images{margin-right:0;margin-bottom:20px}.immobilien-card-details{width:100%}}.angebote-container{padding:20px;max-width:1200px;margin:0 auto}.immobilien-liste{display:flex;flex-direction:column;gap:20px}.contact-page-container{display:flex;justify-content:center;margin:4rem auto;padding:20px;min-height:40vh;box-sizing:border-box}.contact-info-box{background-color:#fff;padding:30px 40px;border-radius:8px;box-shadow:0 4px 15px #0000001a;max-width:600px;width:100%;text-align:left}.contact-info-box h2{text-align:center;color:#222;margin-bottom:20px;font-size:2.2em;font-weight:600}.contact-info-box .intro-text{text-align:center;font-size:1.1rem;color:#555;margin-bottom:30px}.contact-item{display:flex;align-items:center;margin-bottom:18px}.contact-icon{font-size:1.5rem;margin-right:20px;color:#333;width:30px;text-align:center}.contact-item p{margin:0;line-height:1.6;color:#444;font-size:1.1rem}.contact-item p strong{color:#000}.contact-info-box a{color:#007bff;text-decoration:underline;font-weight:500;transition:color .2s ease}.contact-info-box a:hover{color:#0056b3;text-decoration:underline}.contact-info-box.error-box{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;text-align:center}.login-form-container{max-width:400px;margin:50px auto;padding:30px;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 8px #ffffff1a;background-color:#f9f9f9;text-align:center}.login-form-container h2{margin-bottom:25px;color:#333}.login-form-container div{margin-bottom:15px;text-align:left}.login-form-container label{display:block;margin-bottom:8px;font-weight:700;color:#555}.login-form-container input[type=text],.login-form-container input[type=password]{width:calc(100% - 20px);padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px}.login-form-container button{width:100%;padding:12px;background-color:#d3bf4a;color:#333;border:none;border-radius:4px;font-size:18px;font-weight:700;cursor:pointer;transition:background-color .3s ease}.login-form-container button:hover{background-color:#b8860b}.error-message{color:red;margin-bottom:15px;font-size:14px}.create-immobilie-form{margin-top:30px;padding:25px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fefefe;box-shadow:0 2px 5px #0000000d;text-align:left}.create-immobilie-form h3{color:#333;margin-bottom:25px;text-align:center}.create-immobilie-form .form-group{margin-bottom:18px}.create-immobilie-form label{display:block;margin-bottom:8px;font-weight:700;color:#444}.create-immobilie-form input[type=text],.create-immobilie-form input[type=number],.create-immobilie-form textarea{width:calc(100% - 20px);padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px;background-color:#fff;color:#333}.create-immobilie-form textarea{resize:vertical;min-height:80px}.create-immobilie-form button[type=submit]{width:100%;padding:12px;background-color:#ead769ce;color:#333;border:none;border-radius:4px;font-size:18px;font-weight:700;cursor:pointer;transition:background-color .3s ease;margin-top:20px}.create-immobilie-form button[type=submit]:hover{background-color:#ead769ce}.success-message{color:green;background-color:#e6ffe6;border:1px solid #aaffaa;padding:10px;border-radius:5px;margin-bottom:20px;text-align:center}.error-message{color:red;background-color:#ffe6e6;border:1px solid #ffaaaa;padding:10px;border-radius:5px;margin-bottom:20px;text-align:center}.delete-property-section{margin-top:20px;padding:20px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff}.error-message{color:red;font-weight:700}.immobilien-delete-liste{list-style:none;padding:0;margin:0}.immobilie-delete-item{display:flex;align-items:center;justify-content:space-between;padding:10px;margin-bottom:8px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;flex-wrap:wrap}.immobilie-delete-thumbnail{width:160px;height:120px;object-fit:cover;margin-right:15px;border-radius:3px}.immobilie-delete-title{flex-grow:1;font-weight:700;color:#333;margin-right:15px;min-width:100px}.delete-button{background-color:#dc3545;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.9em;min-width:80px;text-align:center}.delete-button:hover{background-color:#c82333}@media (max-width: 500px){.immobilie-delete-item{flex-direction:column;align-items:center;gap:10px}.immobilie-delete-thumbnail{margin-right:0}.immobilie-delete-title{margin-right:0;text-align:center}.delete-button{width:100%;max-width:250px}}.slider-image-selection{margin-top:20px;padding:20px;border:1px solid #e0e0e0;border-radius:8px;background-color:#fff}.success-message{color:green;font-weight:700;margin-bottom:10px}.error-message{color:red;font-weight:700;margin-bottom:10px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:15px}.immobilie-slider-card{border:1px solid #ccc;border-radius:8px;padding:15px;background-color:#f0f0f0;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column}.immobilie-slider-card h4{margin-top:0;margin-bottom:10px;color:#333}.bilder-container{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;justify-content:center}.bild-item{position:relative;border:1px solid #eee;padding:5px;border-radius:5px;background-color:#fff;display:flex;flex-direction:column;align-items:center}.bild-item img{width:120px;height:90px;object-fit:cover;border-radius:3px;transition:border .2s ease-in-out}.bild-item img.selected{border:3px solid #007bff}.bild-item input[type=checkbox]{margin-top:8px;cursor:pointer;transform:scale(1.2)}.save-slider-button{margin-top:25px;padding:12px 20px;background-color:#28a745;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1.1em;transition:background-color .2s ease-in-out}.save-slider-button:hover:not(:disabled){background-color:#218838}.save-slider-button:disabled{background-color:#ccc;cursor:not-allowed}.selected-images-preview{margin-top:30px;border-top:1px solid #eee;padding-top:20px}.selected-images-preview h4{margin-bottom:15px;color:#555}.preview-grid{display:flex;flex-wrap:wrap;gap:10px}.preview-thumbnail{width:100px;height:75px;object-fit:cover;border-radius:3px;border:1px solid #ddd}.immobilie-slider-card p{color:#666;font-style:italic;text-align:center}.homepage-settings-form{padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:800px;margin:20px auto}.homepage-settings-form .form-group{margin-bottom:20px}.homepage-settings-form label{display:block;margin-bottom:8px;font-weight:700;color:#333}.homepage-settings-form textarea{width:calc(100% - 20px);padding:10px;border:1px solid #ccc;border-radius:4px;font-size:1rem;min-height:100px;resize:vertical;background-color:#fff;color:#333}.homepage-settings-form input[type=file]{display:block;margin-top:10px}.homepage-settings-form img{border:1px solid #ddd;padding:5px;border-radius:4px;background-color:#fff;vertical-align:middle;margin-right:10px}.homepage-settings-form .remove-logo-button{background-color:#dc3545;color:#fff;padding:8px 15px;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.homepage-settings-form .remove-logo-button:hover{background-color:#c82333}.homepage-settings-form .submit-button{background-color:#007bff;color:#fff;padding:12px 20px;border:none;border-radius:5px;cursor:pointer;font-size:1.1rem;font-weight:700;transition:background-color .3s ease;width:100%}.homepage-settings-form .submit-button:hover{background-color:#0056b3}.homepage-settings-form .message{margin-top:15px;padding:10px;border-radius:4px;font-weight:700;text-align:center}.homepage-settings-form .message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.homepage-settings-form .message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.tab-section{padding:20px;border:1px solid #eee;border-top:none;background-color:#fff;border-radius:0 0 8px 8px}.tab-section h2{margin-top:0;color:#333;font-size:1.5rem;margin-bottom:20px}.impressum-form-container{max-width:800px;margin:2rem auto;padding:2rem;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 8px #0000001a}.impressum-form-container h2{text-align:center;color:#333;margin-bottom:2rem;font-size:2rem}.impressum-form .form-group{margin-bottom:1.5rem}.impressum-form label{display:block;margin-bottom:.5rem;font-weight:600;color:#555}.impressum-form input[type=text],.impressum-form input[type=email],.impressum-form textarea{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box;background-color:#fff;color:#000}.impressum-form textarea{min-height:100px;resize:vertical}.impressum-form input[type=text]:focus,.impressum-form input[type=email]:focus,.impressum-form textarea:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 3px #007bff40}.impressum-form .submit-button{display:block;width:100%;padding:1rem;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.impressum-form .submit-button:hover{background-color:#0056b3}.success-message{color:#28a745;background-color:#d4edda;border:1px solid #c3e6cb;padding:1rem;border-radius:4px;margin-top:1.5rem;text-align:center}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;padding:1rem;border-radius:4px;margin-top:1.5rem;text-align:center}.contact-settings-form-container{padding:20px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:600px;margin:20px auto 0}.contact-settings-form-container h2{text-align:center;color:#333;margin-bottom:25px}.contact-settings-form .form-group{margin-bottom:15px}.contact-settings-form .form-row{display:flex;gap:20px;margin-bottom:15px;flex-wrap:wrap}.contact-settings-form .form-row .form-group{flex:1;margin-bottom:0}.contact-settings-form .form-row .half-width{width:50%;flex:0 0 calc(50% - 10px)}.contact-settings-form .form-row .two-thirds-width{width:66.66%;flex:0 0 calc(66.66% - 10px)}.contact-settings-form .form-row .one-third-width{width:33.33%;flex:0 0 calc(33.33% - 10px)}.contact-settings-form .form-row input{width:100%}.contact-settings-form label{display:block;margin-bottom:5px;font-weight:700;color:#555;text-align:left}.contact-settings-form input[type=text],.contact-settings-form input[type=email],.contact-settings-form input[type=tel],.contact-settings-form input[type=number]{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px;box-sizing:border-box;background-color:#fff;color:#000;text-align:left}.contact-settings-form input[type=text]:focus,.contact-settings-form input[type=email]:focus,.contact-settings-form input[type=tel]:focus,.contact-settings-form input[type=number]:focus{border-color:#007bff;outline:none;box-shadow:0 0 5px #007bff40}.contact-settings-form .submit-button{background-color:#28a745;color:#fff;padding:12px 20px;border:none;border-radius:4px;cursor:pointer;font-size:18px;width:100%;transition:background-color .2s ease-in-out}.contact-settings-form .submit-button:hover{background-color:#218838}.contact-settings-form .success-message{color:#28a745;background-color:#d4edda;border:1px solid #c3e6cb;padding:10px;border-radius:4px;margin-top:15px;text-align:center}.contact-settings-form .error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;padding:10px;border-radius:4px;margin-top:15px;text-align:center}@media (max-width: 600px){.contact-settings-form .form-row{flex-direction:column;gap:15px}.contact-settings-form .form-row .half-width,.contact-settings-form .form-row .two-thirds-width,.contact-settings-form .form-row .one-third-width{flex-basis:100%;width:100%}}.admin-page-container{padding:20px;max-width:1000px;margin:20px auto;background-color:#f8f8f8;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center}.admin-page-container h1{color:#333;margin-bottom:20px}.logout-button{background-color:#dc3545;color:#fff;border:none;padding:10px 15px;border-radius:5px;cursor:pointer;font-size:1em;margin-bottom:20px;transition:background-color .3s ease}.logout-button:hover{background-color:#c82333}.tabs-navigation{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:30px;border-bottom:2px solid #eee}.tab-button{background-color:#e9ecef;color:#495057;border:none;padding:12px 25px;cursor:pointer;font-size:1.1em;border-top-left-radius:8px;border-top-right-radius:8px;transition:background-color .3s ease,color .3s ease;white-space:normal}.tab-button:hover{background-color:#dee2e6}.tab-button.active{background-color:#007bff;color:#fff;font-weight:700;border-bottom:2px solid #007bff}.tab-button.active:hover{background-color:#0069d9}.tab-content{background-color:#fff;padding:30px;box-shadow:0 2px 8px #00000014;border:none}.tab-section h2{color:#333;margin-bottom:25px;font-size:1.8em;border-bottom:1px solid #eee;padding-bottom:10px;display:inline-block}.tab-section .create-immobilie-form{padding:0;box-shadow:none;background-color:transparent}@media (max-width: 768px){.admin-page-container{padding:10px;margin-top:10px}.tabs-navigation{flex-wrap:wrap;justify-content:center;margin-bottom:20px;gap:8px}.tab-button{padding:10px 15px;font-size:1em;margin-bottom:10px;white-space:normal}.tab-content{padding:20px 15px}.admin-page-container h1{font-size:1.5rem}.tab-section h2{font-size:1.3rem}}.impressum-page-container{max-width:800px;margin:2rem auto;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;line-height:1.6;color:#333}.impressum-page-container h1{text-align:center;color:#000;margin-bottom:2rem;font-size:2.5rem}.impressum-details p{margin-bottom:1rem}.impressum-details strong{color:#000}.impressum-details a{color:#000;text-decoration:none}.impressum-details a:hover{text-decoration:underline}.impressum-page-container .error-message{color:#dc3545;text-align:center;margin-top:2rem}.header{background-color:#ead769;color:#333;padding:10px 15px;width:100%;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000;display:flex;justify-content:flex-start;align-items:center;flex-wrap:nowrap}.header-left-group{display:flex;align-items:center;gap:15px;flex-shrink:1}.logo{font-size:24px;font-weight:700;text-align:left}.logo a{color:#333;text-decoration:none}.header-logo-img{height:90px;width:auto;vertical-align:middle}.logo span{font-weight:700;font-size:3.5rem;color:#333}.header-ornament{height:90px;vertical-align:middle;width:300px;flex-shrink:1;max-width:100%}.navbar-spacer-left{flex-grow:1;min-width:20px}.navbar{display:flex;align-items:center;gap:30px;margin-left:0;margin-right:0;transform:none;flex-wrap:nowrap;justify-content:center}.navbar a{color:#333;font-size:26px;font-weight:600;text-decoration:none;transition:color .3s ease;white-space:nowrap}.navbar a:hover{color:#fff}.navbar-spacer-right{flex-grow:1;min-width:20px}.header-right-group{display:flex;align-items:center;justify-content:flex-end;gap:15px;flex-shrink:1}@media (max-width: 768px){.header{flex-wrap:wrap;justify-content:center;gap:10px;padding:15px 10px}.header-left-group,.navbar,.header-right-group{width:auto!important;justify-content:center;gap:15px}.navbar{flex-wrap:wrap}.navbar-spacer-left,.navbar-spacer-right{flex-grow:0;min-width:0;display:none}.header-logo-img{height:60px}.logo span{font-size:2.2rem}}.footer{background-color:#ead769;color:#333;padding:20px;width:100%;box-shadow:0 -2px 4px #0000001a;margin-top:auto;display:flex;flex-direction:column;align-items:center;justify-content:center}.footer-top-row{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:0;padding:0 20px;box-sizing:border-box;flex-wrap:wrap;gap:10px}.footer-copyright{font-size:14px;text-align:center;margin:0;padding:0;flex-grow:1}.footer-spacer{flex-grow:1}@media (max-width: 500px){.footer-top-row{flex-direction:column;align-items:center;gap:10px;padding:0 10px}.footer-copyright{flex-grow:0}.footer-spacer{display:none}}
