/** * CostaDelSol.dev - Gemeinsame Styles */*{margin:0;padding:0;box-sizing:border-box}:root{--beige-100:#F5F3F0;--beige-200:#E8E4DE;--beige-300:#D4CFC6;--beige-400:#C0BAB0;--anthrazit-900:#1A1A1A;--anthrazit-800:#2D2D2D;--anthrazit-700:#3A3A3A;--anthrazit-600:#4A4A4A;--anthrazit-500:#5C5C5C;--accent:#8B7355;--success:#6B8E6B;--error:#8B5555;--radius:0;--shadow:0 4px 24px rgba(0,0,0,0.12);--shadow-hover:0 12px 40px rgba(0,0,0,0.2)}body{font-family:'DM Sans', system-ui, sans-serif;background:var(--beige-100);color:var(--anthrazit-800);min-height:100vh;line-height:1.6;display:flex;flex-direction:column}main{flex:1}.container{max-width:1400px;margin:0 auto;padding:0 24px}/* ==================== HEADER ==================== */.header{background:var(--anthrazit-800);padding:16px 0;position:fixed;width:100%;top:0;z-index:1000}.header-inner{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.4rem;font-weight:700;color:var(--beige-200);text-decoration:none}.logo span{color:var(--accent)}.lang-switch{display:flex;gap:12px}.lang-switch a{font-size:0.85rem;font-weight:500;text-decoration:none;color:var(--beige-300);opacity:0.6;transition:all 0.2s}.lang-switch a.active, .lang-switch a:hover{color:white;opacity:1}/* ==================== HERO ==================== */.hero{padding:120px 0 40px;text-align:center}.hero-title{font-size:3rem;font-weight:300;color:var(--anthrazit-800);margin-bottom:12px}.hero-title span{color:var(--accent)}.hero p{font-size:1.1rem;color:var(--anthrazit-500);max-width:600px;margin:0 auto}/* ==================== FILTER ==================== */.filter-section{padding:24px 0;border-bottom:1px solid var(--beige-300)}.filter-row{display:flex;gap:48px;flex-wrap:wrap;align-items:flex-start;justify-content:center}.filter-group{display:flex;flex-direction:column;gap:6px;align-items:center}.filter-group-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.filter-label{font-size:0.75rem;font-weight:700;color:var(--anthrazit-800);text-transform:uppercase;letter-spacing:1px}.filter-btn{padding:6px 10px;background:white;border:2px solid var(--beige-300);font-size:0.95rem;border-radius:0;font-family:inherit;font-size:0.9rem;cursor:pointer;transition:all 0.2s;text-decoration:none;color:var(--anthrazit-700)}.filter-btn:hover, .filter-btn.active{border-color:var(--anthrazit-600);color:var(--anthrazit-800)}.filter-divider{width:1px;height:28px;background:var(--beige-300);margin:0 12px}/* ==================== PROJECT GRID ==================== */.projects-section{padding:40px 0 60px}.projects-count{font-size:0.85rem;color:var(--anthrazit-500);margin-bottom:24px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(380px, 1fr));gap:28px}.project-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);display:flex;flex-direction:column;text-decoration:none;color:inherit}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover)}.project-image{position:relative;height:220px;background:linear-gradient(135deg, var(--beige-300) 0%, var(--beige-200) 100%);overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{padding:24px;display:flex;flex-direction:column;flex:1}.project-topline{display:flex;align-items:center;justify-content:space-between;color:var(--anthrazit-500);font-size:0.85rem;margin-bottom:8px}.project-topline .project-location{display:flex;align-items:center;gap:6px}.project-topline .project-beds{display:flex;align-items:center;gap:4px;background:var(--beige-200);padding:3px 8px;border-radius:4px;font-weight:500}.project-topline .project-beds i{color:var(--accent)}.project-name{font-size:1.4rem;font-weight:700;color:var(--anthrazit-800);margin-bottom:4px;line-height:1.3}.project-price{font-size:1.1rem;font-weight:600;color:var(--accent);margin-bottom:16px}.project-features{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.feature-tag{background:var(--beige-100);color:var(--anthrazit-500);font-size:0.75rem;font-weight:500;padding:4px 10px;border-radius:10px;display:flex;align-items:center;gap:5px}.feature-tag i{color:var(--accent)}.project-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid var(--beige-200);margin-top:auto}.btn-action{flex:1;text-align:center;padding:12px;text-decoration:none;font-size:0.85rem;font-weight:600;transition:all 0.2s;background:var(--beige-200);color:var(--anthrazit-700)}.btn-action:hover{background:var(--beige-300)}.btn-action.btn-dark{background:var(--anthrazit-800);color:var(--beige-200)}.btn-action.btn-dark:hover{background:var(--anthrazit-900)}/* ==================== LANDING PAGE ==================== */.landing-hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;position:relative}.landing-image{position:relative;background:var(--anthrazit-800);overflow:hidden}.landing-image img{width:100%;height:100%;object-fit:cover;opacity:0.9}.landing-image-overlay{position:absolute;inset:0;background:linear-gradient(135deg, rgba(26,35,50,0.3) 0%, transparent 50%)}.landing-badge{position:absolute;top:30px;left:30px;background:var(--accent);color:white;padding:10px 20px;font-size:0.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.back-link{position:absolute;bottom:30px;left:30px;color:white;text-decoration:none;font-size:0.9rem;opacity:0.8;transition:opacity 0.2s;display:flex;align-items:center;gap:8px}.back-link:hover{opacity:1}.landing-content{display:flex;flex-direction:column;justify-content:center;padding:60px;background:white}.landing-logo{font-size:1.3rem;font-weight:700;color:var(--anthrazit-800);text-decoration:none;margin-bottom:50px}.landing-logo span{color:var(--accent)}.landing-location{color:var(--accent);font-size:0.9rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:15px}.landing-title{font-size:2.4rem;font-weight:700;color:var(--anthrazit-800);line-height:1.2;margin-bottom:12px}.landing-price{font-size:1.3rem;color:var(--accent);font-weight:600;margin-bottom:24px}.landing-intro{font-size:1rem;color:var(--anthrazit-500);margin-bottom:40px;line-height:1.7}/* ==================== FORMS ==================== */.lead-form h3{font-size:1.4rem;font-weight:700;color:var(--anthrazit-800);margin-bottom:8px}.lead-form > p{color:var(--anthrazit-500);margin-bottom:24px;font-size:0.95rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;margin-bottom:8px;font-size:0.85rem;color:var(--anthrazit-700)}.form-group input{width:100%;padding:14px 16px;border:2px solid var(--beige-300);border-radius:0;font-family:inherit;font-size:1rem;transition:all 0.2s;background:var(--beige-100)}.form-group input:focus{outline:none;border-color:var(--anthrazit-600);background:white}.form-group input::placeholder{color:var(--beige-400)}.submit-btn{width:100%;background:var(--anthrazit-800);color:var(--beige-200);border:none;padding:16px 28px;border-radius:0;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;gap:10px}.submit-btn:hover{background:var(--anthrazit-900)}.form-note{font-size:0.8rem;color:var(--anthrazit-500);margin-top:16px;text-align:center}.form-note i{color:var(--accent);margin-right:5px}.form-error{background:#fff0f0;color:var(--error);padding:14px;margin-bottom:20px;font-size:0.9rem}.form-success{text-align:center;padding:40px 20px}.success-icon{width:70px;height:70px;background:var(--accent);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.success-icon i{font-size:2rem;color:white}.form-success h3{font-size:1.6rem;color:var(--anthrazit-800);margin-bottom:12px}.form-success p{color:var(--anthrazit-500);font-size:1rem;margin-bottom:24px}.download-btn{display:inline-flex;align-items:center;gap:10px;background:var(--anthrazit-800);color:var(--beige-200);padding:14px 28px;text-decoration:none;font-weight:600;transition:all 0.2s}.download-btn:hover{background:var(--anthrazit-900)}/* ==================== FEATURES SECTION ==================== */.features-section{background:var(--anthrazit-800);padding:60px 20px}.features-inner{max-width:1200px;margin:0 auto}.features-title{font-size:1.6rem;color:var(--beige-200);text-align:center;margin-bottom:40px}.features-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(250px, 1fr));gap:16px}.feature-item{background:rgba(255,255,255,0.05);padding:20px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,0.1)}.feature-item i{color:var(--accent);font-size:1.1rem}.feature-item span{color:var(--beige-200);font-size:0.95rem}/* ==================== GALLERY ==================== */.gallery-section{padding:60px 20px;background:white}.gallery-inner{max-width:1200px;margin:0 auto}.gallery-title{font-size:1.6rem;color:var(--anthrazit-800);text-align:center;margin-bottom:40px}.gallery-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}.gallery-grid a{display:block;aspect-ratio:4/3;overflow:hidden}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}.gallery-grid a:hover img{transform:scale(1.05)}/* ==================== CTA SECTION ==================== */.cta-section{background:var(--accent);padding:60px 20px;text-align:center}.cta-section h2{font-size:1.8rem;color:white;margin-bottom:12px}.cta-section p{color:rgba(255,255,255,0.9);font-size:1rem;margin-bottom:24px}.cta-button{display:inline-flex;align-items:center;gap:10px;background:white;color:var(--accent);padding:14px 32px;text-decoration:none;font-weight:600;transition:all 0.2s}.cta-button:hover{background:var(--beige-100)}/* ==================== PAGINATION ==================== */.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:40px;padding-top:40px;border-top:1px solid var(--beige-300)}.pagination-info{font-size:0.9rem;color:var(--anthrazit-500)}.project-name a{color:inherit;text-decoration:none}.project-name a:hover{color:var(--accent)}/* ==================== EMPTY STATE ==================== */.empty-state{text-align:center;padding:80px 20px;color:var(--anthrazit-500)}.empty-state h3{color:var(--anthrazit-800);margin-bottom:8px}/* ==================== FOOTER ==================== */.footer{background:var(--anthrazit-800);color:var(--beige-400);padding:24px}.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.footer-inner > p{font-size:0.85rem;white-space:nowrap}/* Region Info im Footer */.region-info{flex:1}.region-info summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:0.9rem;font-weight:500;color:var(--beige-300)}.region-info summary::-webkit-details-marker{display:none}.region-info summary:hover{color:white}.region-info summary i{font-size:0.7rem;transition:transform 0.3s}.region-info details[open] summary i{transform:rotate(180deg)}.region-info .content{background:var(--beige-100);padding:24px calc(50vw - 50%);margin:20px calc(-50vw + 50%) -24px}.region-info h1{font-size:1.3rem;font-weight:700;color:var(--anthrazit-800);margin-bottom:12px}.region-info h2{font-size:1.15rem;font-weight:600;color:var(--anthrazit-800);margin:20px 0 8px}.region-info h3{font-size:1rem;font-weight:600;color:var(--anthrazit-700);margin:16px 0 6px}.region-info p{font-size:0.95rem;color:var(--anthrazit-600);line-height:1.7;margin-bottom:12px}.region-info ul{margin:12px 0 16px 20px;color:var(--anthrazit-600)}.region-info li{font-size:0.95rem;line-height:1.6;margin-bottom:6px}.region-info a{color:var(--accent);text-decoration:none}.region-info a:hover{text-decoration:underline}/* ==================== RESPONSIVE ==================== */@media (max-width:1000px){.landing-hero{grid-template-columns:1fr}.landing-image{height:50vh;min-height:300px}.landing-content{padding:40px 24px}.landing-title{font-size:1.8rem}}@media (max-width:768px){.hero-title{font-size:1.8rem}.project-grid{grid-template-columns:1fr}.filter-label{display:none}.form-row{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2, 1fr)}}@media (max-width:480px){.container{padding:0 16px}.landing-content{padding:30px 20px}}