.elementor-kit-50{--e-global-color-primary:#D65A5A;--e-global-color-secondary:#2D2D2D;--e-global-color-text:#666666;--e-global-color-accent:#F9F9F7;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Permanent Marker";--e-global-typography-accent-font-weight:400;background-color:#FFFFFF;}.elementor-kit-50 button,.elementor-kit-50 input[type="button"],.elementor-kit-50 input[type="submit"],.elementor-kit-50 .elementor-button{background-color:#D65A5A;font-family:"Montserrat", Sans-serif;font-weight:600;color:#FFFFFF;}.elementor-kit-50 button:hover,.elementor-kit-50 button:focus,.elementor-kit-50 input[type="button"]:hover,.elementor-kit-50 input[type="button"]:focus,.elementor-kit-50 input[type="submit"]:hover,.elementor-kit-50 input[type="submit"]:focus,.elementor-kit-50 .elementor-button:hover,.elementor-kit-50 .elementor-button:focus{background-color:#c94d4d;}.elementor-kit-50 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Smooth scrolling */
html { scroll-behavior: smooth; }

/* Hero floating cells animation */
.floating-cells-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

/* Benefit Cards Hover */
.e-con:has(.elementor-widget-icon) {
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.e-con:has(.elementor-widget-icon):hover {
  transform: translateY(-10px);
  box-shadow: 0 20px 40px rgba(214, 90, 90, 0.2);
}

/* Button hover effects */
.elementor-button {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 25px rgba(214, 90, 90, 0.35) !important;
}

/* Gallery Images hover */
.elementor-widget-image {
  overflow: hidden;
  border-radius: inherit;
}
.elementor-widget-image img {
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.elementor-widget-image:hover img {
  transform: scale(1.05);
}

/* Google Maps greyscale */
.elementor-widget-google_maps iframe {
  filter: grayscale(100%);
  transition: filter 0.4s ease;
}
.elementor-widget-google_maps:hover iframe {
  filter: grayscale(0%);
}

/* Icon pulse on hover */
.elementor-icon {
  transition: all 0.3s ease !important;
}
.elementor-icon:hover {
  transform: scale(1.15) !important;
}

/* Header spacing for fixed header */
body.elementor-page { padding-top: 75px; }

/* Service cards hover */
.e-con[class*="s1"], .e-con[class*="s2"], .e-con[class*="s3"] {
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.e-con[class*="s1"]:hover, .e-con[class*="s2"]:hover, .e-con[class*="s3"]:hover {
  transform: translateY(-8px);
}

/* Smooth fade-in animation */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Hero text animation */
.elementor-heading-title {
  animation: fadeInUp 0.8s ease-out forwards;
}

/* Pulse animation for CTA */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0.4); }
  50% { box-shadow: 0 0 20px 5px rgba(255,255,255,0.2); }
}
.hero-cta-primary {
  animation: pulse-glow 3s infinite;
}





/* Header Responsive Styles */

/* Main header container - target both old and new IDs */
[data-id="hdr001"],
[data-id="header-main"],
.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
}

/* Body padding to account for fixed header */
body {
    padding-top: 0 !important;
}

/* Mobile: Fix header layout */
@media (max-width: 767px) {
    /* Main header row */
    [data-id="hdr001"],
    [data-id="header-main"] {
        padding: 10px 16px !important;
        flex-wrap: nowrap !important;
    }
    
    /* Logo container */
    [data-id="hdr002"],
    [data-id="header-main"] > .elementor-widget-image:first-child {
        width: auto !important;
        flex: 0 0 auto !important;
    }
    
    /* Logo size */
    [data-id="hdr003"] img,
    [data-id="header-logo"] img {
        width: 100px !important;
        max-width: 100px !important;
    }
    
    /* Nav container - take remaining space */
    [data-id="hdr004"] {
        flex: 1 1 auto !important;
        justify-content: flex-end !important;
        width: auto !important;
    }
    
    /* Hide desktop menu, show only toggle */
    .elementor-nav-menu--main {
        display: none !important;
    }
    
    .elementor-menu-toggle {
        display: flex !important;
    }
    
    /* Hide CTA button on mobile */
    [data-id="hdr006"],
    [data-id="header-cta"],
    .header-cta-btn {
        display: none !important;
    }
    
    /* Mobile dropdown menu */
    .elementor-nav-menu--dropdown {
        position: fixed !important;
        top: 60px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-height: calc(100vh - 60px) !important;
        overflow-y: auto !important;
        background: #FFFFFF !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
        border-radius: 0 !important;
        transform: none !important;
    }
    
    .elementor-nav-menu--dropdown li {
        border-bottom: 1px solid #f0f0f0;
    }
    
    .elementor-nav-menu--dropdown a {
        padding: 16px 24px !important;
        font-size: 16px !important;
        display: block !important;
    }
    
    .elementor-nav-menu--dropdown a:hover {
        background: #f9f9f9 !important;
        color: #D65A5A !important;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    [data-id="hdr001"],
    [data-id="header-main"] {
        padding: 12px 24px !important;
    }
    
    /* Smaller nav font */
    .elementor-nav-menu--main .elementor-item {
        font-size: 13px !important;
        padding: 8px 12px !important;
    }
    
    /* Smaller CTA */
    [data-id="hdr007"] .elementor-button,
    [data-id="header-cta"] .elementor-button {
        font-size: 12px !important;
        padding: 8px 14px !important;
    }
}

/* End Header Responsive */


/* Hero Section - Elegant Serif Style */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&display=swap");

/* Elegant serif text styling */
.hero-title-elegant .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

.hero-tagline-elegant .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 400 !important;
    text-transform: uppercase;
    letter-spacing: 0.25em;
}

.hero-desc-elegant,
.hero-desc-elegant p {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 400 !important;
    font-style: italic;
}

/* Animation */
.hero-tagline-elegant {
    opacity: 0;
    animation: fadeUp 0.6s ease 0.2s forwards;
}

.hero-title-elegant:nth-of-type(1) {
    opacity: 0;
    animation: fadeUp 0.7s ease 0.4s forwards;
}

.hero-title-elegant:nth-of-type(2) {
    opacity: 0;
    animation: fadeUp 0.7s ease 0.6s forwards;
}

.hero-desc-elegant {
    opacity: 0;
    animation: fadeUp 0.6s ease 0.8s forwards;
}

.hero-buttons-elegant {
    opacity: 0;
    animation: fadeUp 0.6s ease 1s forwards;
}

@keyframes fadeUp {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Buttons - elegant square style */
.hero-buttons-elegant .elementor-button {
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Mobile */
@media (max-width: 767px) {
    .hero-chalkboard {
        min-height: auto !important;
        flex-direction: column !important;
        background-image: none !important;
        background-color: #3a3f3f !important;
    }
    
    .hero-chalkboard::before {
        content: "";
        display: block;
        width: 100%;
        height: 45vh;
        background-image: url("/wp-content/uploads/2024/zellkraft-assets/dr-wagener-chalkboard-wide.jpg");
        background-size: cover;
        background-position: 70% center;
    }
    
    .hero-chalk-zone {
        min-height: auto !important;
        width: 100% !important;
        background: #3a3f3f !important;
    }
    
    .hero-title-elegant .elementor-heading-title,
    .hero-tagline-elegant .elementor-heading-title {
        text-align: center !important;
        letter-spacing: 0.1em !important;
    }
    
    .hero-desc-elegant,
    .hero-desc-elegant p {
        text-align: center !important;
    }
    
    .hero-buttons-elegant .elementor-button {
        width: 100%;
        justify-content: center;
    }
    
    /* Faster animations on mobile */
    .hero-tagline-elegant { animation-delay: 0.1s; }
    .hero-title-elegant:nth-of-type(1) { animation-delay: 0.2s; }
    .hero-title-elegant:nth-of-type(2) { animation-delay: 0.3s; }
    .hero-desc-elegant { animation-delay: 0.4s; }
    .hero-buttons-elegant { animation-delay: 0.5s; }
}

html {
    scroll-behavior: smooth;
}

/* End Hero Section Elegant *//* End custom CSS */