/* Reset & Base Styles */
* {margin:0;padding:0;box-sizing:border-box;}
html {font-size:15px;font-family:'Quicksand',sans-serif;scroll-behavior:smooth;background:linear-gradient(135deg,#ffefba 0%,#ffffff 100%);}
body {color:#333;line-height:1.6;background:none;}
.container {width:90%;max-width:1200px;margin:0 auto;padding:2rem 0;position:relative;}

/* Navbar */
.navbar {background:#ffcc80;border-radius:0 0 40px 40px;box-shadow:0 4px 6px rgba(0,0,0,0.1);display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;position:relative;z-index:2;}
.logo {font-family:'Baloo Paaji 2',cursive;font-size:2rem;color:#ff7043;text-decoration:none;}
.nav-links {list-style:none;display:flex;gap:1.5rem;}
.nav-links a {text-decoration:none;color:#6d4c41;font-weight:600;position:relative;}
.nav-links a::after {content:'';position:absolute;width:0;height:4px;background:#ff7043;left:0;bottom:-6px;transition:width 0.3s;}
.nav-links a:hover::after {width:100%;}
.btn-contact {background:#ff7043;color:#fff;padding:0.5rem 1rem;border:none;border-radius:20px;font-weight:600;cursor:pointer;transition:transform 0.3s;}
.btn-contact:hover {transform:scale(1.1);}
.header-wave {position:absolute;bottom:-1px;left:0;width:100%;height:60px;background:url('../images/wave-blue.svg') repeat-x;}

/* Hero Section */
.hero {position:relative;padding:6rem 0;text-align:center;background:url('../images/confetti-bg.png') center/cover no-repeat;border-radius:0 0 0 100px;overflow:hidden;}
.hero::before {content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.4);}
.confetti-blue {position:absolute;top:10%;left:-10%;width:200px;height:200px;background:url('../images/confetti-blue.png') no-repeat;animation:spin 20s linear infinite;opacity:0.6;}
.hero-content {position:relative;z-index:1;}
.hero h1 {font-size:3rem;margin-bottom:1rem;font-family:'Baloo Paaji 2',cursive;color:#3f51b5;text-shadow:2px 2px #fff;}
.hero p {font-size:1.125rem;margin-bottom:2rem;color:#303f9f;}
.btn-primary {background:#7e57c2;color:#fff;padding:0.75rem 1.5rem;border:none;border-radius:20px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,0.2);transition:transform 0.3s;}
.btn-primary:hover {transform:scale(1.1);}

@keyframes spin {0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}

/* Section Titles */
h2 {font-family:'Baloo Paaji 2',cursive;font-size:2.5rem;text-align:center;margin-bottom:1.5rem;color:#7e57c2;position:relative;}
h2::after {content:'';width:80px;height:6px;background:#3f51b5;display:block;margin:0.5rem auto;border-radius:3px;}

/* About */
.about {background:#e8eaf6;padding:4rem 0;position:relative;}
.about-decor {position:absolute;top:10px;right:10px;width:80px;height:80px;background:url('../images/balloon-purple.png') no-repeat;background-size:contain;opacity:0.8;}
.about p {text-align:center;max-width:800px;margin:0 auto;font-size:1rem;color:#303f9f;}

/* Services */
.services {background:#f3e5f5;padding:4rem 0;position:relative;}
.services-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;text-align:center;}
.service-item {background:#ffffff;border-radius:20px;padding:2rem;box-shadow:0 4px 6px rgba(0,0,0,0.1);position:relative;}
.icon-bg {position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:60px;height:60px;border-radius:50%;}
.icon-bg.blue {background:#bbdefb;}
.icon-bg.purple {background:#d1c4e9;}
.service-item i {position:relative;top:10px;color:#7e57c2;margin-bottom:0.75rem;}
.service-item h3 {font-size:1.5rem;margin-bottom:0.5rem;color:#3f51b5;}
.service-item p {font-size:1rem;color:#303f9f;}

/* Gallery */
.gallery {background:#e3f2fd;padding:4rem 0;position:relative;}
.gallery-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;}
.gallery-item {position:relative;overflow:hidden;border-radius:16px;}
.gallery-item img {width:100%;height:auto;transition:transform 0.3s;}
.gallery-item:hover img {transform:scale(1.05);}
.gallery-item .overlay {position:absolute;top:0;left:0;width:100%;height:100%;opacity:0.5;}
.overlay.blue {background:linear-gradient(45deg,rgba(33,150,243,0.7),rgba(3,169,244,0.7));}
.overlay.purple {background:linear-gradient(45deg,rgba(156,39,176,0.7),rgba(103,58,183,0.7));}

/* Testimonials */
.testimonials {background:#ede7f6;padding:4rem 0;position:relative;}
.testimonials-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;}
.testimonial-item {background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 4px 6px rgba(0,0,0,0.1);position:relative;}
.star-decor {position:absolute;top:-10px;right:-10px;width:50px;height:50px;background:url('../images/star.png') no-repeat;background-size:contain;opacity:0.8;}
.star-decor.blue {filter:hue-rotate(200deg);}  
.testimonial-item p {font-style:italic;margin-bottom:1rem;color:#303f9f;}
.testimonial-item h4 {text-align:right;font-weight:600;color:#3f51b5;}

/* Contact Form */
.contact {background:#fce4ec;padding:4rem 0;position:relative;}
.contact-form {display:flex;flex-direction:column;gap:1rem;max-width:600px;margin:0 auto;}
.contact-form input,
.contact-form textarea {padding:0.75rem;border:2px dashed #ce93d8;border-radius:12px;font-size:1rem;font-family:inherit;}

/* Footer */
footer {background:#f1f8e9;color:#1a237e;padding:2rem 0;text-align:center;border-top:4px solid #3f51b5;position:relative;}
.footer-decor {position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:100px;height:30px;background:url('../images/footer-banner-purple.png') no-repeat;background-size:contain;opacity:0.8;}
.social-links a {color:#1a237e;font-size:1.5rem;margin:0 0.5rem;transition:transform 0.3s;}
.social-links a:hover {transform:scale(1.2);}

/* Responsive */
@media(max-width:768px){.nav-links,.btn-contact{display:none;}.navbar{justify-content:center;}}
/* Service Item Images and Buttons */
.service-item {
    background: #ffffff;
    border-radius: 20px;
    padding: 2rem 1rem;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.service-img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    margin-bottom: 1rem;
}
.btn-service {
    margin-top: 1rem;
    background: #29b6f6; /* hellblau */
    color: #fff;
    padding: 0.5rem 1.25rem;
    border: none;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: background 0.3s, transform 0.3s;
}
.btn-service:hover {
    background: #0288d1; /* dunkleres blau */
    transform: scale(1.05);
}

/* All Services Button */
.services-cta {
    text-align: center;
    margin-top: 2rem;
}
.btn-all-services {
    background: #ec407a; /* pink */
    color: #fff;
    padding: 0.75rem 2rem;
    border: none;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s, transform 0.3s;
}
.btn-all-services:hover {
    background: #d81b60; /* dunkler pink */
    transform: scale(1.05);
}
.about-flex {
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}
.about-flex > .about-image,
.about-flex > .about-content {
    flex: 1 1 0;
}
.about-image img {
    width: 100%;
    max-width: 400px;
    border-radius: 16px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.about-content h2 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    color: #3f51b5;
}
.about-content p {
    font-size: 1rem;
    margin-bottom: 1rem;
    color: #303f9f;
}
.about-list {
    list-style: none;
    margin: 1rem 0;
    padding: 0;
}
.about-list li {
    margin-bottom: 0.5rem;
    font-size: 1rem;
    color: #6d4c41;
    display: flex;
    align-items: center;
}
.about-list i {
    color: #7e57c2;
    margin-right: 0.5rem;
}
.btn-about {
    display: inline-block;
    margin-top: 1rem;
    background: #29b6f6;
    color: #fff;
    padding: 0.75rem 1.5rem;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: background 0.3s, transform 0.3s;
}
.btn-about:hover {
    background: #0288d1;
    transform: scale(1.05);
}
/* Section-wide background for Advantages */
.advantages {
    background: url('../images/bg-advantages.jpg') center/cover no-repeat;
    padding: 4rem 0;
    position: relative;
}

.advantages::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.advantages .container {
    position: relative;
    z-index: 2;
}

.advantages-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    text-align: center;
    margin-top: 2rem;
}

.advantage-item {
    background: rgba(255,255,255,0.9);
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.advantage-item i {
    font-size: 2rem;
    color: #81c784;
    margin-bottom: 1rem;
}

.advantage-item h3 {
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    color: #388e3c;
}

.advantage-item p {
    font-size: 1rem;
    color: #555;
}
img {
    width: 100%;
    display: block;
}
/* Responsive */
@media (max-width: 600px) {
    .advantages-grid {
        grid-template-columns: 1fr;
    }
}
/* Gallery Images Styles */
.gallery-grid img {
    border-radius: 16px;
}
.promo-section {
  background: linear-gradient(135deg, #ffecb3 0%, #ffe0b2 100%);
  padding: 4rem 0;
}
.promo-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
}
.promo-text {
  flex: 1 1 300px;
}
.promo-text h2 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 2.5rem;
  color: #d84315;
  margin-bottom: 1rem;
}
.promo-text p {
  font-size: 1rem;
  color: #6d4c41;
}
.promo-form {
  flex: 1 1 300px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.promo-form input {
  padding: 0.75rem;
  border: 2px solid #ffd54f;
  border-radius: 8px;
}
.btn-promo {
  background: #ffa726;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-radius: 20px;
  font-weight: 600;
  transition: background 0.3s, transform 0.3s;
}
.btn-promo:hover {
  background: #fb8c00;
  transform: scale(1.05);
}
/* Responsive */
@media (max-width: 768px) {
  .promo-container { flex-direction: column; }
}
/* Testimonials Styles */
.testimonials-flex {
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}
.testimonials-image img {
    width: 100%;
    border-radius: 16px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.testimonials-content {
    flex: 1 1 0;
}
.testimonials-content h2 {
    font-family: 'Baloo Paaji 2', cursive;
    font-size: 2.5rem;
    color: #7e57c2;
    margin-bottom: 1rem;
}
.testimonials-grid {
    display: grid;
    gap: 1.5rem;
}
.testimonial-item {
    background: rgba(255,255,255,0.9);
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.testimonial-item p {
    font-size: 1rem;
    color: #555;
    margin-bottom: 0.75rem;
}
.testimonial-item h4 {
    font-size: 1rem;
    font-weight: 600;
    color: #3f51b5;
    text-align: right;
}
.testimonials-image {
    flex: 1 1 0;
}

/* Adjust layout on small screens */
@media (max-width: 768px) {
    .testimonials-flex {
        flex-direction: column;
    }
}
.contact {
    position: relative;
    background: url('../images/contact-bg.jpg') center/cover no-repeat;
    padding: 4rem 0;
}
.contact::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
/* Footer Styles */
footer {
    font-family: 'Quicksand', sans-serif;
    color: #1a237e;
}

/* Footer Columns */
.footer-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    padding: 4rem 0;
    background: #f1f8e9;
}

.footer-col h3 {
    font-family: 'Baloo Paaji 2', cursive;
    font-size: 1.5rem;
    color: #33691e;
    border-bottom: 2px solid #8bc34a;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

.footer-col ul {
    list-style: none;
    padding: 0;
}

.footer-col ul li {
    margin-bottom: 0.5rem;
}

.footer-col ul li a {
    text-decoration: none;
    color: #33691e;
    transition: color 0.3s;
}

.footer-col ul li a:hover {
    color: #558b2f;
    padding-left: 0.5rem;
}

/* Newsletter Form */
.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.newsletter-form input {
    padding: 0.75rem;
    font-size: 1rem;
    border: 2px solid #aed581;
    border-radius: 8px;
    transition: border-color 0.3s;
}

.newsletter-form input:focus {
    border-color: #8bc34a;
    outline: none;
}

.btn-newsletter {
    background: #8bc34a;
    color: #fff;
    padding: 0.75rem;
    border: none;
    border-radius: 20px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
}

.btn-newsletter:hover {
    background: #7cb342;
    transform: translateY(-2px);
}

/* Footer Bottom */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #dcedc8;
    padding: 1rem 0;
    border-top: 1px solid #c5e1a5;
}

.footer-bottom p {
    margin: 0;
    font-size: 0.875rem;
    color: #33691e;
}

.footer-bottom .social-links {
    display: flex;
    align-items: center;
}

.footer-bottom .social-links a {
    color: #33691e;
    font-size: 1.25rem;
    margin-left: 0.5rem;
    transition: color 0.3s;
}

.footer-bottom .social-links a:hover {
    color: #558b2f;
}

/* Responsive Footer */
@media (max-width: 768px) {
    .footer-columns {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
}
/* Cookie Banner Styles */
.cookie-banner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 360px;
    background: #fff3e0;
    border: 2px solid #ffa726;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    z-index: 1000;
}
.cookie-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.5rem;
    gap: 0.75rem;
}
.cookie-content p {
    font-size: 1rem; /* увеличено */
    color: #5d4037;
    text-align: center;
    line-height: 1.4;
}
.cookie-content a {
    color: #fb8c00;
    text-decoration: underline;
    font-size: 1rem;
}
.cookie-btn {
    background: #fb8c00;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 0.75rem 1.25rem;
    cursor: pointer;
    font-size: 1rem; /* увеличено */
    font-weight: 600;
    transition: background 0.3s;
}
.cookie-btn:hover {
    background: #ef6c00;
}

/* Responsive for Cookie Banner */
@media (max-width: 480px) {
    .cookie-banner {
        width: calc(100% - 40px);
        right: 10px;
        bottom: 10px;
    }
}
/* About Page Styles (css/style.css additions) */

/* About Banner */
.about-banner {
    padding: 6rem 0;
    text-align: center;
    color: #333;
}
.about-banner .container {
    max-width: 800px;
    margin: 0 auto;
}
.about-banner h1 {
    font-family: 'Baloo Paaji 2', cursive;
    font-size: 3rem;
    color: #3f51b5;
    margin-bottom: 1rem;
}
.about-banner p {
    font-size: 1.25rem;
    margin-bottom: 2rem;
    color: #555;
}
.about-banner img {
    width: 100%;
    max-width: 600px;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Mission Section */
.about-mission {
    padding: 4rem 0;
    background: #f3f8fe;
}
.about-mission h2 {
    font-family: 'Baloo Paaji 2', cursive;
    font-size: 2.5rem;
    color: #1e88e5;
    text-align: center;
    margin-bottom: 1rem;
}
.about-mission p {
    max-width: 700px;
    margin: 0 auto;
    font-size: 1rem;
    color: #444;
    line-height: 1.6;
}

/* Values Section */
.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    gap: 2rem;
    padding: 4rem 0;
}
.value-item {
    background: #ffffff;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.value-item h3 {
    font-family: 'Baloo Paaji 2', cursive;
    font-size: 1.5rem;
    color: #388e3c;
    margin-bottom: 0.5rem;
}
.value-item p {
    font-size: 1rem;
    color: #555;
    line-height: 1.5;
}

/* Team Section */
.team-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    gap: 2rem;
    padding: 4rem 0;
}
.team-member {
    text-align: center;
}
.team-member img {
    width: 100%;
    max-width: 180px;
    border-radius: 50%;
    margin-bottom: 1rem;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.team-member h4 {
    font-size: 1.25rem;
    color: #1a237e;
    margin-bottom: 0.25rem;
}
.team-member p {
    font-size: 0.9rem;
    color: #666;
}

/* History Timeline */
.about-history {
    padding: 4rem 0;
    background: #fafafa;
}
.about-history h2 {
    font-family: 'Baloo Paaji 2', cursive;
    font-size: 2rem;
    text-align: center;
    color: #7e57c2;
    margin-bottom: 2rem;
}
.history-timeline {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}
.timeline-item {
    background: #fff;
    padding: 1.5rem;
    border-radius: 8px;
    flex: 1 1 200px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    text-align: center;
}
.timeline-item h4 {
    font-size: 1.25rem;
    color: #d84315;
    margin-bottom: 0.5rem;
}
.timeline-item p {
    font-size: 0.9rem;
    color: #555;
    line-height: 1.4;
}

/* Call to Action */
.about-cta {
    padding: 4rem 0;
    text-align: center;
    background: #e3f2fd;
}
.about-cta h2 {
    font-family: 'Baloo Paaji 2', cursive;
    font-size: 2rem;
    color: #0288d1;
    margin-bottom: 1rem;
}
.about-cta p {
    font-size: 1rem;
    color: #333;
    margin-bottom: 1.5rem;
}
.about-cta .btn-primary {
    background: #0288d1;
    color: #fff;
    padding: 0.75rem 2rem;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.3s, transform 0.3s;
}
.about-cta .btn-primary:hover {
    background: #0277bd;
    transform: scale(1.05);
}

/* Responsive */
@media (max-width: 768px) {
    .history-timeline {
        flex-direction: column;
    }
}
/* Custom Styles for 'Unsere Mission' Section */
.about-mission {
    background: #e3f2fd; /* Light blue background */
    padding: 5rem 0;
    position: relative;
}
.about-mission::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    z-index: 1;
}
.about-mission .container {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
.about-mission h2 {
    font-family: 'Baloo Paaji 2', cursive;
    font-size: 2.75rem;
    color: #1e88e5;
    margin-bottom: 1rem;
}
.about-mission p {
    font-family: 'Quicksand', sans-serif;
    font-size: 1.125rem;
    color: #333;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}
.about-mission blockquote {
    font-style: italic;
    border-left: 4px solid #0288d1;
    padding-left: 1rem;
    color: #555;
    margin: 1.5rem auto;
    max-width: 700px;
}
.about-mission ul {
    list-style: disc outside;
    margin: 1.5rem auto 0;
    padding-left: 1.5rem;
    max-width: 700px;
    text-align: left;
}
.about-mission ul li {
    margin-bottom: 0.75rem;
    font-size: 1rem;
    color: #444;
}
@media (max-width: 768px) {
    .about-mission h2 {
        font-size: 2rem;
    }
    .about-mission p,
    .about-mission blockquote,
    .about-mission ul li {
        font-size: 1rem;
    }
}
.about-mission {
    background: url('../images/mission-bg.jpg') center/cover no-repeat;
    padding: 5rem 0;
    position: relative;
}
.about-mission::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    height: 100%;
    z-index: -1;
}
/* Contact Page Custom Styles */

/* Intro Section */
.contact-intro {
  background: #e8f5e9;
  padding: 4rem 0;
  text-align: center;
}
.contact-intro .container {
  max-width: 700px;
  margin: 0 auto;
}
.contact-intro h1 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 2.75rem;
  color: #388e3c;
  margin-bottom: 1rem;
}
.contact-intro p {
  font-family: 'Quicksand', sans-serif;
  font-size: 1.125rem;
  color: #555;
  line-height: 1.6;
}

/* Contact Info Grid */
.info-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  padding: 3rem 0;
}
.info-item {
  background: #ffffff;
  border-radius: 12px;
  padding: 2rem;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.info-item i {
  color: #388e3c;
  margin-bottom: 0.75rem;
}
.info-item h3 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 1.25rem;
  color: #33691e;
  margin-bottom: 0.5rem;
}
.info-item p {
  font-family: 'Quicksand', sans-serif;
  font-size: 1rem;
  color: #444;
}

/* Form Section */
.contact-form-section {
  background: #f3f8fe;
  padding: 4rem 0;
}
.form-container {
  max-width: 600px;
  margin: 0 auto;
}
.contact-form .form-group {
  margin-bottom: 1.5rem;
}
.contact-form label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #333;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  padding: 0.75rem;
  border: 2px solid #a5d6a7;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.contact-form input:focus,
.contact-form textarea:focus {
  border-color: #388e3c;
  box-shadow: 0 0 5px rgba(56,142,60,0.5);
  outline: none;
}
.contact-form button.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #0288d1;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}
.contact-form button.btn-primary:hover {
  background: #0277bd;
  transform: scale(1.05);
}

/* Map Placeholder */
.contact-map {
  padding: 4rem 0;
  text-align: center;
}
.contact-map h2 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 2rem;
  color: #7e57c2;
  margin-bottom: 1rem;
}
.map-placeholder {
  background: #ddd;
  color: #666;
  height: 300px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Quicksand', sans-serif;
  font-size: 1rem;
}

/* Responsive */
@media (max-width: 768px) {
  .info-grid {
    grid-template-columns: 1fr;
  }
  .contact-form-section,
  .contact-intro,
  .contact-map {
    padding: 2rem 0;
  }
}
/* Contact Main Grid */
.contact-main .contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
  gap: 2rem;
  padding: 4rem 0;
}
.contact-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-size: 20px;
}
/* Services Page Custom Styles (css/style.css additions) */

/* Intro Section */
.services-intro {
  background: #fffbf0;
  padding: 4rem 0;
  text-align: center;
}
.services-intro .container {
  max-width: 800px;
  margin: 0 auto;
}
.services-intro h1 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 2.75rem;
  color: #d84315;
  margin-bottom: 1rem;
}
.services-intro p {
  font-family: 'Quicksand', sans-serif;
  font-size: 1.125rem;
  color: #555;
  line-height: 1.6;
}

/* Services Grid */
.services-list .services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 2rem;
  padding: 4rem 0;
}
.service-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
  transition: transform 0.3s, box-shadow 0.3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}
.service-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.service-card h3 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 1.5rem;
  color: #d84315;
  margin: 1rem 0;
}
.service-card p {
  font-family: 'Quicksand', sans-serif;
  font-size: 1rem;
  color: #666;
  padding: 0 1rem 1.5rem;
  line-height: 1.5;
  flex-grow: 1;
}

/* Call To Action */
.services-cta {
  text-align: center;
  padding: 2rem 0;
  background: #e3f2fd;
}
.services-cta .btn-primary {
  background: #0288d1;
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s, transform 0.3s;
}
.services-cta .btn-primary:hover {
  background: #0277bd;
  transform: scale(1.05);
}

/* Responsive */
@media (max-width: 768px) {
  .services-intro h1 {
    font-size: 2rem;
  }
  .services-list .services-grid {
    grid-template-columns: 1fr;
  }
}
.btn-service {
    margin-bottom: 20px;
}
/* Contact Form Section on Services Page */
.services-contact {
  background: #f9f9f9;
  padding: 4rem 0;
}
.services-contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  align-items: start;
}
.contact-form-container {
  background: #ffffff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}
.contact-form-container h2 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 2rem;
  color: #3f51b5;
  margin-bottom: 1rem;
}
.contact-form .form-group {
  margin-bottom: 1rem;
}
.contact-form label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #333;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: 0.75rem;
  border: 2px solid #bbdefb;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: #3f51b5;
  box-shadow: 0 0 5px rgba(63,81,181,0.5);
  outline: none;
}
.contact-form button.btn-primary {
  background: #3f51b5;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border: none;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
}
.contact-form button.btn-primary:hover {
  background: #303f9f;
  transform: scale(1.05);
}

.contact-image img {
  width: 100%;
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}

/* Responsive */
@media (max-width: 768px) {
  .services-contact-grid {
    grid-template-columns: 1fr;
  }
}
/* FAQ Page Custom Styles (css/style.css additions) */

/* Intro Section */
.faq-intro {
  background: #fff3e0;
  padding: 4rem 0;
  text-align: center;
}
.faq-intro .container {
  max-width: 700px;
  margin: 0 auto;
}
.faq-intro h1 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 2.75rem;
  color: #d84315;
  margin-bottom: 0.75rem;
}
.faq-intro p {
  font-family: 'Quicksand', sans-serif;
  font-size: 1.125rem;
  color: #555;
  line-height: 1.6;
}

/* FAQ List */
.faq-list {
  padding: 3rem 0;
}
.faq-item {
  background: #ffffff;
  border-radius: 8px;
  padding: 1.5rem 2rem;
  margin-bottom: 1rem;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.faq-item h2 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 1.5rem;
  color: #33691e;
  margin-bottom: 0.5rem;
}
.faq-item p {
  font-family: 'Quicksand', sans-serif;
  font-size: 1rem;
  color: #444;
  line-height: 1.6;
}
.faq-item a {
  color: #0288d1;
  text-decoration: none;
  transition: color 0.3s;
}
.faq-item a:hover {
  color: #0277bd;
}

/* Call to Action */
.faq-cta {
  background: #e8f5e9;
  padding: 3rem 0;
  text-align: center;
}
.faq-cta h2 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 2rem;
  color: #558b2f;
  margin-bottom: 1rem;
}
.faq-cta p {
  font-family: 'Quicksand', sans-serif;
  font-size: 1rem;
  color: #555;
  margin-bottom: 1.5rem;
}
.faq-cta .btn-primary {
  background: #558b2f;
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 30px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s, transform 0.3s;
}
.faq-cta .btn-primary:hover {
  background: #33691e;
  transform: scale(1.05);
}

/* Responsive */
@media (max-width: 768px) {
  .faq-item {
    padding: 1rem;
  }
}
/* Custom Styles for Policy Pages (privacy, terms, cookie) */
.policy-section,
.privacy-policy-page .container,
.terms-page .container,
.cookie-policy-page .container {
  margin: 0 auto;
  padding: 2rem 1rem;
  font-family: 'Quicksand', sans-serif;
  color: #333;
  line-height: 1.6;
}

/* Common Headings */
.policy-section h2,
.privacy-policy-page h1,
.terms-page h1,
.cookie-policy-page h1 {
  font-family: 'Baloo Paaji 2', cursive;
  color: #1e88e5;
  margin-top: 2rem;
  margin-bottom: 1rem;
}

/* Paragraphs */
.policy-section p,
.privacy-policy-page p,
.terms-page p,
.cookie-policy-page p {
  margin-bottom: 1rem;
  font-size: 1rem;
}

/* Lists */
.policy-section ul,
.privacy-policy-page ul,
.terms-page ul,
.cookie-policy-page ul {
  margin: 1rem 0;
  padding-left: 1.5rem;
}
.policy-section li,
.privacy-policy-page li,
.terms-page li,
.cookie-policy-page li {
  margin-bottom: 0.5rem;
}

/* Links in Policies */
.privacy-policy-page a,
.terms-page a,
.cookie-policy-page a {
  color: #0288d1;
  text-decoration: underline;
  transition: color 0.3s;
}
.privacy-policy-page a:hover,
.terms-page a:hover,
.cookie-policy-page a:hover {
  color: #0277bd;
}

/* Intro Titles */
.privacy-policy-page h1,
.terms-page h1,
.cookie-policy-page h1 {
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 0.5rem;
}
.privacy-policy-page > .container > p:first-of-type,
.terms-page > .container > p:first-of-type,
.cookie-policy-page > .container > p:first-of-type {
  text-align: center;
  font-style: italic;
  color: #555;
}

/* Section CTA at Bottom */
.policy-cta,
.faq-cta {
  background: #e3f2fd;
  padding: 2rem 1rem;
  text-align: center;
  margin-top: 2rem;
}
.policy-cta h2,
.faq-cta h2 {
  margin-bottom: 0.5rem;
}
.policy-cta .btn-primary,
fax-cta .btn-primary {
  background: #0288d1;
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 30px;
  text-decoration: none;
  transition: background 0.3s;
}
.policy-cta .btn-primary:hover,
fax-cta .btn-primary:hover {
  background: #0277bd;
}

/* Responsive */
@media (max-width: 768px) {
  .policy-section,
  .privacy-policy-page .container,
  .terms-page .container,
  .cookie-policy-page .container {
    padding: 1rem;
  }
  .policy-section h2,
  .privacy-policy-page h1,
  .terms-page h1,
  .cookie-policy-page h1 {
    font-size: 2rem;
  }
}
/* Header & Navigation Custom Styles */

/* Navbar container */
.navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 2rem;
  background: #ffffff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  position: relative;
  z-index: 100;
}

/* Logo */
.navbar .logo {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 1.75rem;
  color: #3f51b5;
  text-decoration: none;
}

/* Wrap links and contacts together */
.nav-container {
  display: flex;
    align-items: center;
    gap: 2rem;
    flex-direction: column;
    align-items: flex-end;
}

/* Primary navigation links */
.nav-links {
  list-style: none;
  display: flex;
  gap: 1.5rem;
}
.nav-links li a {
  font-family: 'Quicksand', sans-serif;
  font-size: 1rem;
  color: #333;
  text-decoration: none;
  transition: color 0.3s;
}
.nav-links li a:hover {
  color: #0288d1;
}

/* Contact links in menu */
.nav-contact {
  list-style: none;
  display: flex;
  gap: 1rem;
}
.nav-contact li a {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-family: 'Quicksand', sans-serif;
  font-size: 0.9rem;
  color: #555;
  text-decoration: none;
  transition: color 0.3s;
}
.nav-contact li a i {
  color: #0288d1;
}
.nav-contact li a:hover {
  color: #0277bd;
}

/* Hamburger icon */
.hamburger {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #333;
  cursor: pointer;
}

/* Mobile behavior */
@media (max-width: 768px) {
  .hamburger {
    display: block;
  }
  .nav-container {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #ffffff;
    flex-direction: column;
    align-items: center;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  .nav-container.open {
    max-height: 600px; /* enough for all items */
  }
  .nav-links {
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    text-align: center;
    margin: 1rem 0;
  }
  .nav-contact {
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }
}
/* Thank You Page Styles */

.thank-you {
  background: #f3f8fe;
  padding: 6rem 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80vh;
  text-align: center;
}

.thank-you .container {
  max-width: 600px;
  margin: 0 auto;
}

.thank-you h1 {
  font-family: 'Baloo Paaji 2', cursive;
  font-size: 3rem;
  color: #3f51b5;
  margin-bottom: 1rem;
}

.thank-you p {
  font-family: 'Quicksand', sans-serif;
  font-size: 1.125rem;
  color: #555;
  margin-bottom: 2rem;
}

.thank-you .btn-primary {
  display: inline-block;
  background: #0288d1;
  color: #fff;
  padding: 0.75rem 2rem;
  border-radius: 30px;
  font-family: 'Quicksand', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s, transform 0.3s;
}

.thank-you .btn-primary:hover {
  background: #0277bd;
  transform: scale(1.05);
}

/* Responsive */
@media (max-width: 600px) {
  .thank-you h1 {
    font-size: 2.25rem;
  }
  .thank-you p {
    font-size: 1rem;
  }
  .thank-you .btn-primary {
    padding: 0.75rem 1.5rem;
    font-size: 0.9rem;
  }
}
