/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #060910;
}

::-webkit-scrollbar-thumb {
  background: #1e293b;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #ffb400;
}

.blueprint-grid {
  background-image: linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: 40px 40px;
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #ffb400;
  color: #060910;
  padding: 8px;
  z-index: 100;
  transition: top 0.3s;
}

.skip-link:focus {
  top: 0;
}

/* Advanced Reveal-on-Scroll Motion System */
.reveal,
.reveal-up {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-left {
  opacity: 0;
  transform: translateX(-36px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-right {
  opacity: 0;
  transform: translateX(36px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.reveal.active,
.reveal-up.active,
.reveal-left.active,
.reveal-right.active {
  opacity: 1;
  transform: translate(0, 0);
}

.reveal-scale.active {
  opacity: 1;
  transform: scale(1);
}

/* ========================================================
   ELEMENTOR EDITOR & PREVIEW: FULL VISIBILITY OVERRIDE
   Ensures all widgets and animated content are immediately
   visible during Elementor live editing.
======================================================== */
body.elementor-editor-active .reveal,
body.elementor-editor-active .reveal-up,
body.elementor-editor-active .reveal-left,
body.elementor-editor-active .reveal-right,
body.elementor-editor-active .reveal-scale,
body.elementor-editor-preview .reveal,
body.elementor-editor-preview .reveal-up,
body.elementor-editor-preview .reveal-left,
body.elementor-editor-preview .reveal-right,
body.elementor-editor-preview .reveal-scale,
.elementor-editor-active .reveal,
.elementor-editor-active .reveal-up,
.elementor-editor-active .reveal-left,
.elementor-editor-active .reveal-right,
.elementor-editor-active .reveal-scale,
.elementor-editor-preview .reveal,
.elementor-editor-preview .reveal-up,
.elementor-editor-preview .reveal-left,
.elementor-editor-preview .reveal-right,
.elementor-editor-preview .reveal-scale {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  transition: none !important;
}

.delay-100 {
  transition-delay: 100ms;
}

.delay-200 {
  transition-delay: 200ms;
}

.delay-300 {
  transition-delay: 300ms;
}

.delay-400 {
  transition-delay: 400ms;
}

.delay-500 {
  transition-delay: 500ms;
}

.delay-600 {
  transition-delay: 600ms;
}

/* ========================================================
       INDUSTRIAL CUT-CORNER (BUTTON CUTTING) STYLES
       ======================================================== */
/* Primary Cut Button (Gold fill, angled top-right & bottom-left corners) */
.btn-cut-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: #ffb400;
  color: #060910;
  font-family: 'Oswald', 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.875rem 2rem;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 8px 24px -6px rgba(255, 180, 0, 0.45);
  cursor: pointer;
  text-decoration: none;
  position: relative;
}

.btn-cut-primary:hover {
  background: #ffc425;
  transform: translateY(-2px);
  box-shadow: 0 12px 28px -4px rgba(255, 180, 0, 0.65);
}

.btn-cut-primary:active {
  transform: translateY(0);
}

/* Small version of Cut Button (e.g. for header) */
.btn-cut-primary-sm {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  background: #ffb400;
  color: #060910;
  font-family: 'Oswald', 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.625rem 1.35rem;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  transition: all 0.25s ease;
  box-shadow: 0 4px 16px -2px rgba(255, 180, 0, 0.35);
  cursor: pointer;
  text-decoration: none;
}

.btn-cut-primary-sm:hover {
  background: #ffc425;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px -2px rgba(255, 180, 0, 0.55);
}

/* Cut Secondary Button (Seamless chamfered polygon, no border artifacts) */
.btn-cut-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: #111827;
  color: #ffffff;
  font-family: 'Oswald', 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.875rem 2rem;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 18px -4px rgba(0, 0, 0, 0.6);
  cursor: pointer;
  text-decoration: none;
  border: none;
  outline: none;
}

.btn-cut-outline:hover {
  background: #1f2937;
  color: #ffb400;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -4px rgba(0, 0, 0, 0.8);
}

.btn-cut-outline:active {
  transform: translateY(0);
}

/* Dark Solid Cut Button */
.btn-cut-dark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: #0f172a;
  color: #ffffff;
  font-family: 'Oswald', 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.875rem 2rem;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  transition: all 0.25s ease;
  cursor: pointer;
  text-decoration: none;
  border: none;
  outline: none;
}

.btn-cut-dark:hover {
  background: #1e293b;
  color: #ffb400;
  transform: translateY(-2px);
}

/* Chamfered Experience / Highlight Badges */
.cut-badge-gold {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  background-color: rgba(255, 180, 0, 0.12) !important;
  background: rgba(255, 180, 0, 0.12) !important;
  border: 1px solid rgba(255, 180, 0, 0.35) !important;
  color: #ffb400 !important;
  font-family: 'Inter', 'Oswald', sans-serif !important;
  font-size: 0.6875rem !important;
  /* 11px */
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.35rem 0.85rem !important;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)) !important;
  box-shadow: none !important;
}

#about-badge {
  background: #ffb400 !important;
  color: #060910 !important;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px)) !important;
  box-shadow: 0 12px 30px -6px rgba(255, 180, 0, 0.4) !important;
}

/* Chamfered Section Tag */
.section-tag-cut {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.95rem;
  background: #ffb400;
  color: #060910;
  font-family: 'Oswald', 'Inter', sans-serif;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  clip-path: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 7px 100%, 0 calc(100% - 7px));
}

/* Chamfered Square Navigation Arrow */
.nav-arrow-cut {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  font-weight: 800;
  font-size: 1.1rem;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px));
  transition: all 0.25s ease;
  cursor: pointer;
}

.nav-arrow-cut-gold {
  background: #ffb400;
  color: #060910;
}

.nav-arrow-cut-gold:hover {
  background: #ffc425;
  transform: translateY(-2px);
}

.nav-arrow-cut-dark {
  background: #e2e8f0;
  color: #1e293b;
}

.nav-arrow-cut-dark:hover {
  background: #ffb400;
  color: #060910;
  transform: translateY(-2px);
}

/* Industrial Card Styles */
.glass-card {
  background: rgba(15, 23, 42, 0.75);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s ease;
}

.glass-card:hover {
  border-color: rgba(255, 180, 0, 0.5);
  box-shadow: 0 10px 30px -10px rgba(255, 180, 0, 0.2);
}

.service-card-cut {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.12);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-card-cut:hover {
  border-color: #ffb400;
  box-shadow: 0 15px 35px -10px rgba(255, 180, 0, 0.3);
  transform: translateY(-6px);
}

.service-card-cut::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 3px;
  background: #ffb400;
  transition: width 0.3s ease;
  z-index: 20;
}

.service-card-cut:hover::before {
  width: 100%;
}

.animate-fade-up {
  animation: fadeUp 0.4s ease-out forwards;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}



/* ==========================================================================
   STALBAU THEME CORE OVERRIDES & HEADER/FOOTER FIXES
   ========================================================================== */

/* WordPress Admin Bar and Submenu Dropdown Highest Priority */
#wpadminbar {
  z-index: 99999999 !important;
  position: fixed !important;
}

#wpadminbar .ab-top-menu,
#wpadminbar .ab-sub-wrapper,
#wpadminbar .ab-submenu,
#wpadminbar .menupop .ab-sub-wrapper,
#wpadminbar .menupop.hover>.ab-sub-wrapper,
#wpadminbar .menupop:hover>.ab-sub-wrapper,
#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
#wpadminbar .quicklinks .menupop ul.ab-submenu {
  z-index: 99999999 !important;
}

/* Header Fixed Positioning & Transparent Initial State */
#site-header,
#tahefobu-header,
.turbo-header-template {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  z-index: 99900 !important;
  background-color: transparent !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: all 0.35s ease !important;
}

#site-header .header-inner-container,
#tahefobu-header .header-inner-container,
.turbo-header-template .header-inner-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

#site-header.scrolled,
#site-header.is-sticky,
#site-header.header-scrolled,
#tahefobu-header.is-sticky,
#tahefobu-header.header-scrolled,
#tahefobu-header.scrolled,
.turbo-header-template.is-sticky,
.turbo-header-template.header-scrolled,
.turbo-header-template.scrolled,
header.is-sticky,
header.scrolled {
  background-color: rgba(6, 9, 16, 0.82) !important;
  background: rgba(6, 9, 16, 0.82) !important;
  backdrop-filter: blur(14px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(180%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5) !important;
}

body.admin-bar #site-header,
body.admin-bar #tahefobu-header,
body.admin-bar .turbo-header-template {
  top: 32px !important;
}

@media screen and (max-width: 782px) {

  body.admin-bar #site-header,
  body.admin-bar #tahefobu-header,
  body.admin-bar .turbo-header-template {
    top: 46px !important;
  }
}

/* ========================================================
   HERO & PROJECTS VERTICALLY BALANCED VIEWPORT LAYOUT
======================================================== */
#hero-scroll-container>div,
#projects-scroll-container>div,
#hero-scroll-container .sticky,
#projects-scroll-container .sticky,
.elementor-element-con_home_hero .sticky,
.elementor-element-con_home_projects .sticky,
#hero .sticky,
#projects .sticky {
  position: sticky !important;
  top: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100vh !important;
  min-height: 100vh !important;
  padding-top: 5rem !important;
  padding-bottom: 3.5rem !important;
  box-sizing: border-box !important;
}

body.admin-bar #hero-scroll-container>div,
body.admin-bar #projects-scroll-container>div,
body.admin-bar #hero-scroll-container .sticky,
body.admin-bar #projects-scroll-container .sticky,
body.admin-bar .elementor-element-con_home_hero .sticky,
body.admin-bar .elementor-element-con_home_projects .sticky,
body.admin-bar #hero .sticky,
body.admin-bar #projects .sticky {
  padding-top: calc(5rem + 32px) !important;
  height: calc(100vh - 32px) !important;
  min-height: calc(100vh - 32px) !important;
  top: 32px !important;
}

@media screen and (max-width: 782px) {

  body.admin-bar #hero-scroll-container>div,
  body.admin-bar #projects-scroll-container>div,
  body.admin-bar #hero-scroll-container .sticky,
  body.admin-bar #projects-scroll-container .sticky,
  body.admin-bar .elementor-element-con_home_hero .sticky,
  body.admin-bar .elementor-element-con_home_projects .sticky,
  body.admin-bar #hero .sticky,
  body.admin-bar #projects .sticky {
    padding-top: calc(4.5rem + 46px) !important;
    height: calc(140vh - 46px) !important;
    min-height: calc(140vh - 46px) !important;
    top: 46px !important;
  }
}

#hero-stage-0,
#hero-stage-1,
#hero-stage-2,
#hero-stage-3,
.hero-stage {
  max-width: 52rem !important;
  width: 100% !important;
}

#hero-stage-0 h1,
.hero-stage h1 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.75rem !important;
  line-height: 1.08 !important;
}

#hero-stage-0 p,
.hero-stage p {
  margin-bottom: 1rem !important;
}

/* Subpages Top Spacing (Excluding custom hero banner pages) */
body:not(.home) #main-content>.py-32,
body:not(.home) article.w-full:not(:has(.elementor))>.entry-content>div:first-child {
  padding-top: 6rem !important;
}

body.admin-bar:not(.home) #main-content>.py-32,
body.admin-bar:not(.home) article.w-full:not(:has(.elementor))>.entry-content>div:first-child {
  padding-top: calc(6rem + 32px) !important;
}

/* Fix Turbo Footer Builder Hide Rule & Remove Top Border */
body.tahefobu-hide-theme-footer .turbo-footer-template,
body.tahefobu-hide-theme-footer .turbo-footer-template footer,
body.tahefobu-hide-theme-footer #site-footer,
body.tahefobu-hide-theme-footer footer,
#site-footer,
footer,
.site-footer,
footer.bg-steel-950 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 900 !important;
  background-color: #060910 !important;
  color: #94a3b8 !important;
  border-top: none !important;
  width: 100% !important;
}

/* Contact Form 7 Form Inputs & Styling */
.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.wpcf7-form-control-wrap {
  position: relative;
  display: block;
  width: 100%;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  background-color: #131b2e !important;
  border: 1px solid #334155 !important;
  border-radius: 0.125rem !important;
  padding: 0.75rem 1rem !important;
  color: #ffffff !important;
  font-size: 0.875rem !important;
  font-family: inherit !important;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  outline: none !important;
  border-color: #ffb400 !important;
  box-shadow: 0 0 0 1px #ffb400 !important;
}

.wpcf7 textarea {
  min-height: 120px;
  resize: vertical;
}

.wpcf7 input[type="submit"] {
  width: 100%;
  background-color: #ffb400 !important;
  color: #060910 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 0.875rem !important;
  padding: 0.875rem 1.75rem !important;
  border: none !important;
  border-radius: 0.125rem !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
}

.wpcf7 input[type="submit"]:hover {
  background-color: #f59e0b !important;
  box-shadow: 0 6px 20px rgba(255, 180, 0, 0.4) !important;
}

/* ========================================================
   GLOBAL & ELEMENTOR CONTAINER LAYOUT REPAIR
   ======================================================== */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

#main-content,
#front-page-content,
.elementor,
.elementor-section,
.e-con {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* All Top-Level Elementor Sections Are 100% Full Width */
.e-con.e-parent,
.elementor-section.elementor-section-items-middle,
.elementor-section.elementor-section-stretched {
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

.e-con.e-parent>.e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
}

.e-con {
  --e-con-transform-origin-y: center;
  --e-con-transform-origin-x: center;
}

.elementor-widget,
.elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ========================================================
   1. HERO SECTION 100% FULL WIDTH EDGE-TO-EDGE
   ======================================================== */
#hero,
#hero-scroll-container,
#projects,
#projects-hero,
#projects-scroll-container,
.elementor-element-con_home_hero,
.elementor-element-con_home_hero>.e-con-inner,
.elementor-element-con_home_projects,
.elementor-element-con_home_projects>.e-con-inner,
.elementor-element-con_home_hero>.e-con-inner,
.elementor-element-con_proj_hero,
.elementor-element-con_proj_hero>.e-con-inner,
.elementor-element-con_about_hero,
.elementor-element-con_about_hero>.e-con-inner,
.elementor-element-con_serv_hero,
.elementor-element-con_serv_hero>.e-con-inner,
.elementor-element-con_contact_hero,
.elementor-element-con_contact_hero>.e-con-inner,
.elementor-element-con_blog_hero,
.elementor-element-con_blog_hero>.e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

#hero-scroll-container .sticky,
#projects-scroll-container .sticky,
#hero-canvas,
#projects-canvas,
#projects-hero canvas,
#projects-hero .absolute.inset-0 {
  width: 100% !important;
  max-width: 100% !important;
}

#hero-canvas,
#projects-canvas {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 0 !important;
  object-fit: cover !important;
}

/* ========================================================
   2. HEADER CONTAINER & NAVIGATION EXACT STYLING (CONTAINER NOT FULL WIDTH)
   ======================================================== */
#tahefobu-header,
.turbo-header-template,
#site-header,
.elementor-element-e0fa7b7 {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  z-index: 99990 !important;
  display: block !important;
  background-color: transparent !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid transparent !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Header Inner Centered Container (Boxed max-w-7xl) */
.header-inner-container,
.elementor-element-con_header_main,
.elementor-24>.e-con,
#site-header>.header-inner-container,
#tahefobu-header .header-inner-container,
.turbo-header-template .header-inner-container {
  width: 100% !important;
  max-width: 80rem !important;
  /* 1280px container */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  height: 5rem !important;
}

@media (min-width: 1024px) {

  .header-inner-container,
  .elementor-element-con_header_main,
  .elementor-24>.e-con,
  #site-header>.header-inner-container,
  #tahefobu-header .header-inner-container,
  .turbo-header-template .header-inner-container {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    height: 5rem !important;
  }
}

@media (max-width: 1023px) {

  .header-inner-container,
  .elementor-element-con_header_main,
  .elementor-24>.e-con,
  #site-header>.header-inner-container,
  #tahefobu-header .header-inner-container,
  .turbo-header-template .header-inner-container {
    height: 4.25rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

body.admin-bar #tahefobu-header,
body.admin-bar .turbo-header-template,
body.admin-bar #site-header,
body.admin-bar .elementor-element-e0fa7b7 {
  top: 32px !important;
}

@media screen and (max-width: 782px) {

  body.admin-bar #tahefobu-header,
  body.admin-bar .turbo-header-template,
  body.admin-bar #site-header,
  body.admin-bar .elementor-element-e0fa7b7 {
    top: 46px !important;
  }
}

#tahefobu-header.is-sticky,
#tahefobu-header.header-scrolled,
#tahefobu-header.scrolled,
.turbo-header-template.is-sticky,
.turbo-header-template.header-scrolled,
.turbo-header-template.scrolled,
#site-header.is-sticky,
#site-header.header-scrolled,
#site-header.scrolled {
  background-color: rgba(6, 9, 16, 0.82) !important;
  background: rgba(6, 9, 16, 0.82) !important;
  backdrop-filter: blur(14px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(180%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5) !important;
}

/* Header Nav Menu Links (Crisp White with Gold Hover/Active) */
.elementor-element-76444e6 .tahefobu-nav-menu .tahefobu-menu-item,
.tahefobu-nav-menu .tahefobu-menu-item,
#site-header .tahefobu-menu-item,
#site-header .tahefobu-nav-menu a {
  color: #ffffff !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  /* 13px */
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 0.5rem 1rem !important;
  transition: color 0.2s ease, background-color 0.2s ease !important;
  background: transparent !important;
  text-decoration: none !important;
}

.elementor-element-76444e6 .tahefobu-nav-menu .tahefobu-menu-item:hover,
.elementor-element-76444e6 .tahefobu-nav-menu .tahefobu-active-menu-item,
.elementor-element-76444e6 .tahefobu-nav-menu>.current-menu-item>.tahefobu-menu-item,
.elementor-element-76444e6 .tahefobu-nav-menu>.current_page_item>.tahefobu-menu-item,
.tahefobu-nav-menu .tahefobu-menu-item:hover,
.tahefobu-nav-menu .tahefobu-active-menu-item,
.tahefobu-nav-menu .current-menu-item a,
.tahefobu-nav-menu .current_page_item a,
#site-header .tahefobu-menu-item:hover,
#site-header .tahefobu-active-menu-item {
  color: #ffb400 !important;
  background: transparent !important;
}

/* Header CTA Button (Exact Chamfer Cut-Corner Match) */
.elementor-element-981db6a,
.elementor-element-widget_header_btn {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.elementor-element-981db6a .elementor-button,
.elementor-element-981db6a a.elementor-button,
.elementor-element-widget_header_btn a.elementor-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 0.7rem 1.6rem !important;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 16px -2px rgba(255, 180, 0, 0.45) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.elementor-element-981db6a .elementor-button:hover,
.elementor-element-981db6a a.elementor-button:hover,
.elementor-element-widget_header_btn a.elementor-button:hover {
  background-color: #ffc425 !important;
  background: #ffc425 !important;
  color: #060910 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px -2px rgba(255, 180, 0, 0.7) !important;
}

.elementor-element-981db6a .elementor-button-text,
.elementor-element-981db6a .elementor-button-content-wrapper {
  color: #060910 !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-weight: 900 !important;
}

/* ========================================================
   3. HOME ABOUT SECTION - 2-COLUMN GRID & REDUCED SPACING
   ======================================================== */
.elementor-element-con_home_about {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  position: relative !important;
  display: block !important;
}

#about,
.elementor-widget-stalbau_home_about #about {
  width: 100% !important;
  max-width: 100% !important;
  background-color: #ffffff !important;
  position: relative !important;
  display: block !important;
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
}

@media (min-width: 640px) {
  #about,
  .elementor-widget-stalbau_home_about #about {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}

.elementor-element-con_home_about > .e-con-inner,
.elementor-element-con_about_inner {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

.elementor-element-con_about_inner>.e-con-inner {
  width: 100% !important;
  max-width: 80rem !important;
  /* 1280px */
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  display: block !important;
  box-sizing: border-box !important;
}

/* Enforce 2-Column Grid on desktop, 1-col on mobile */
.elementor-element-con_about_grid,
.elementor-element-con_about_grid>.e-con-inner {
  display: grid !important;
  grid-template-columns: 1.05fr 1fr !important;
  gap: 3rem !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 1023px) {

  .elementor-element-con_about_grid,
  .elementor-element-con_about_grid>.e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 2.25rem !important;
  }
}

/* Left Column: Framed Image Card */
.elementor-element-con_about_left,
.about-left-col {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  position: relative !important;
}

#about-img-container {
  position: relative !important;
  background-color: #ffffff !important;
  background: #ffffff !important;
  padding: 0.75rem !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(226, 232, 240, 0.9) !important;
  display: block !important;
}

#about-img-container>div.aspect-\[4\/3\] {
  aspect-ratio: 4 / 3 !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 0.5rem !important;
  background-color: #060910 !important;
  position: relative !important;
}

#about-scroll-img,
#about-img-container img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0.5rem !important;
}

/* Floating Experience Badge - Solid & Chamfered (Home About section only) */
#about-badge {
  position: absolute !important;
  bottom: -0.75rem !important;
  right: -0.75rem !important;
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  padding: 1.15rem 1.75rem !important;
  z-index: 20 !important;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%) !important;
  border-radius: 0 !important;
  box-shadow: 0 12px 28px -4px rgba(255, 180, 0, 0.45) !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

#about-badge .stat-counter,
#about-badge div:first-child,
#about-badge p:first-child {
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  font-size: 3rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #060910 !important;
  margin: 0 !important;
  display: block !important;
}

#about-badge div:last-child,
#about-badge p:last-child {
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #060910 !important;
  margin-top: 0.25rem !important;
  display: block !important;
}

/* Right Column: Content & Reduced Spacing */
.elementor-element-con_about_right,
.about-right-col {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.elementor-element-w_about_tag {
  margin-bottom: 0.35rem !important;
  display: inline-block !important;
}

.section-tag-cut,
.elementor-element-w_about_tag .section-tag-cut {
  background-color: #ffb400 !important;
  color: #060910 !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 0.25rem 0.75rem !important;
  display: inline-block !important;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px)) !important;
}

.elementor-element-w_about_title,
.elementor-element-w_about_title .elementor-heading-title,
.elementor-element-w_about_title h2 {
  font-family: 'Oswald', 'Big Shoulders Display', sans-serif !important;
  font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  line-height: 1.12 !important;
  color: #060910 !important;
  margin-top: 0.25rem !important;
  margin-bottom: 0.75rem !important;
  display: block !important;
}

.elementor-element-w_about_desc,
.elementor-element-w_about_desc p {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.9375rem !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  margin-bottom: 1rem !important;
  font-weight: 400 !important;
}

/* Metric Cards - Reduced Spacing */
.elementor-element-w_about_stats {
  width: 100% !important;
  margin-bottom: 1rem !important;
}

.elementor-element-w_about_stats .bg-gold-400 {
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 12px rgba(255, 180, 0, 0.22) !important;
}

.elementor-element-w_about_stats .stat-counter {
  font-family: 'Oswald', 'Big Shoulders Display', sans-serif !important;
  font-size: 1.85rem !important;
  font-weight: 900 !important;
  color: #060910 !important;
  line-height: 1 !important;
}

.elementor-element-w_about_stats div.text-\[10px\],
.elementor-element-w_about_stats div.text-\[11px\] {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  color: #060910 !important;
  text-transform: uppercase !important;
}

/* Checklist Items - Reduced Spacing */
.elementor-element-w_about_list {
  width: 100% !important;
  margin-bottom: 1.25rem !important;
}

.elementor-element-w_about_list .space-y-2>div {
  margin-bottom: 0.4rem !important;
}

.elementor-element-w_about_list span.font-semibold {
  font-size: 0.875rem !important;
  color: #1e293b !important;
}

/* Yellow Chamfer Cut Button */
.elementor-element-w_about_btn a.elementor-button,
.elementor-element-w_about_btn .elementor-button,
.btn-cut-gold {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 0.75rem 1.75rem !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(255, 180, 0, 0.35) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.elementor-element-w_about_btn a.elementor-button:hover,
.elementor-element-w_about_btn .elementor-button:hover,
.btn-cut-gold:hover {
  background-color: #ffc425 !important;
  background: #ffc425 !important;
  color: #060910 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(255, 180, 0, 0.55) !important;
}

.elementor-element-w_about_btn .elementor-button-text,
.elementor-element-w_about_btn .elementor-button-content-wrapper {
  color: #060910 !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-weight: 900 !important;
}

/* ========================================================
   INNER PAGE HERO SECTIONS - PROPER CLEARANCE & SCALE
======================================================== */
.elementor-element-bd4dcc1,
.elementor-element-e27ad5b,
.elementor-element-6fbe50e,
.elementor-element-a0d3210,
.elementor-element-con_blog_hero,
.inner-hero-section {
  position: relative !important;
  padding-top: 8.5rem !important;
  padding-bottom: 4.5rem !important;
  background-color: #060910 !important;
  border-bottom: 1px solid rgba(51, 65, 85, 0.6) !important;
  overflow: hidden !important;
  width: 100% !important;
}

body.admin-bar .elementor-element-bd4dcc1,
body.admin-bar .elementor-element-e27ad5b,
body.admin-bar .elementor-element-6fbe50e,
body.admin-bar .elementor-element-a0d3210,
body.admin-bar .elementor-element-con_blog_hero,
body.admin-bar .inner-hero-section {
  padding-top: 10.5rem !important;
}

@media (min-width: 640px) {

  .elementor-element-bd4dcc1,
  .elementor-element-e27ad5b,
  .elementor-element-6fbe50e,
  .elementor-element-a0d3210,
  .elementor-element-con_blog_hero,
  .inner-hero-section {
    padding-top: 9.5rem !important;
    padding-bottom: 5.5rem !important;
  }

  body.admin-bar .elementor-element-bd4dcc1,
  body.admin-bar .elementor-element-e27ad5b,
  body.admin-bar .elementor-element-6fbe50e,
  body.admin-bar .elementor-element-a0d3210,
  body.admin-bar .elementor-element-con_blog_hero,
  body.admin-bar .inner-hero-section {
    padding-top: 11.5rem !important;
  }
}

.inner-hero-section h1,
.elementor-element-bd4dcc1 h1,
.elementor-element-e27ad5b h1,
.elementor-element-6fbe50e h1,
.elementor-element-a0d3210 h1,
.elementor-element-con_blog_hero h1 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
  color: #ffffff !important;
  line-height: 1.15 !important;
}

/* Hide Home Page Engineered Products Section */
.elementor-element-con_home_products,
.elementor-element-con_products_inner,
.elementor-element-con_prod_header,
.elementor-element-w_prod_title,
.elementor-element-w_prod_sub,
.elementor-element-w_prod_card {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ========================================================
   ELEMENTOR HEADER WIDGETS DESIGN MATCH & SEPARATE MENUS
======================================================== */
#tahefobu-header,
.turbo-header-template {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99900 !important;
  background-color: transparent !important;
  border-bottom: 1px solid transparent !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.admin-bar #tahefobu-header,
body.admin-bar .turbo-header-template {
  top: 32px !important;
}

@media screen and (max-width: 782px) {

  body.admin-bar #tahefobu-header,
  body.admin-bar .turbo-header-template {
    top: 46px !important;
  }
}

#tahefobu-header.is-sticky,
#tahefobu-header.header-scrolled,
.turbo-header-template.is-sticky,
.turbo-header-template.header-scrolled,
#site-header.is-sticky,
#site-header.header-scrolled {
  background-color: #060910 !important;
  background: rgba(6, 9, 16, 0.96) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.85) !important;
}

/* Header Inner Container */
.elementor-element-con_header_main,
.header-inner-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  max-width: 80rem !important;
  height: 5rem !important;
  position: relative !important;
}

@media (max-width: 1023px) {

  .elementor-element-con_header_main,
  .header-inner-container {
    height: 4.25rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Header Brand Logo Widget */
.elementor-element-widget_header_logo,
#header-logo-widget {
  display: flex !important;
  align-items: center !important;
}

.elementor-element-widget_header_logo img,
#header-logo-widget img {
  height: 2.5rem !important;
  /* 40px */
  width: auto !important;
  transition: transform 0.3s ease !important;
}

@media (max-width: 640px) {

  .elementor-element-widget_header_logo img,
  #header-logo-widget img {
    height: 2rem !important;
    /* 32px */
  }
}

.elementor-element-widget_header_logo img:hover,
#header-logo-widget img:hover {
  transform: scale(1.05) !important;
}

/* ========================================================
   DESKTOP PRIMARY NAVIGATION MENU (>= 1024px)
======================================================== */
.elementor-element-widget_header_nav_desktop,
.elementor-element-widget_header_nav,
.header-nav-widget {
  display: flex !important;
  align-items: center !important;
}

@media (min-width: 1024px) {

  .elementor-element-widget_header_nav_desktop,
  .elementor-element-widget_header_nav,
  .header-nav-widget {
    display: flex !important;
  }

  .elementor-element-widget_header_nav_mobile,
  .header-nav-mobile-widget,
  .tahefobu-mobile-toggle-wrap,
  #mobile-menu-btn,
  #mobile-nav {
    display: none !important;
  }
}

@media (max-width: 1023px) {

  .elementor-element-widget_header_nav_desktop,
  .header-nav-widget,
  #site-header nav[aria-label="Primary Navigation"],
  .elementor-element-widget_header_nav_desktop .tahefobu-nav-menu-horizontal {
    display: none !important;
  }
}

/* ========================================================
   DESKTOP NAVIGATION SUBMENU STYLES (>= 1024px)
======================================================== */
@media (min-width: 1024px) {
  .elementor-element-widget_header_nav_desktop .tahefobu-nav-menu,
  .elementor-element-widget_header_nav .tahefobu-nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 0.25rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-element-widget_header_nav_desktop .tahefobu-nav-menu li,
  .elementor-element-widget_header_nav .tahefobu-nav-menu li {
    background: transparent !important;
    border: none !important;
  }

  .elementor-element-widget_header_nav_desktop .tahefobu-nav-menu li a.tahefobu-menu-item,
  .elementor-element-widget_header_nav .tahefobu-nav-menu li a.tahefobu-menu-item {
    font-family: 'Oswald', 'Inter', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #cbd5e1 !important;
    padding: 0.625rem 1rem !important;
    border-radius: 2px !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    background: transparent !important;
  }

  .elementor-element-widget_header_nav_desktop .tahefobu-nav-menu li a.tahefobu-menu-item:hover,
  .elementor-element-widget_header_nav .tahefobu-nav-menu li a.tahefobu-menu-item:hover {
    color: #ffb400 !important;
    background: rgba(15, 23, 42, 0.6) !important;
  }

  .elementor-element-widget_header_nav_desktop .tahefobu-nav-menu li.current-menu-item a.tahefobu-menu-item,
  .elementor-element-widget_header_nav_desktop .tahefobu-nav-menu li.current_page_item a.tahefobu-menu-item,
  .elementor-element-widget_header_nav_desktop .tahefobu-nav-menu li a.tahefobu-active-menu-item,
  .elementor-element-widget_header_nav .tahefobu-nav-menu li.current-menu-item a.tahefobu-menu-item,
  .elementor-element-widget_header_nav .tahefobu-nav-menu li.current_page_item a.tahefobu-menu-item,
  .elementor-element-widget_header_nav .tahefobu-nav-menu li a.tahefobu-active-menu-item {
    color: #ffb400 !important;
    background: rgba(15, 23, 42, 0.8) !important;
    border-bottom: 2px solid #ffb400 !important;
  }

  .stalbau-menu-item.group:hover > .stalbau-dropdown {
    display: block !important;
    animation: stalbauFadeDown 0.25s ease-out forwards;
  }
}

@keyframes stalbauFadeDown {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ========================================================
   SEPARATE MOBILE & TABLET NAVIGATION MENU (< 1024px)
======================================================== */
@media (min-width: 1024px) {

  .elementor-element-widget_header_nav_desktop,
  .elementor-element-widget_header_nav,
  .header-nav-widget,
  #site-header nav[aria-label="Primary Navigation"] {
    display: flex !important;
  }

  .elementor-element-widget_header_nav_mobile,
  .header-nav-mobile-widget,
  .tahefobu-mobile-toggle-wrap,
  .tahefobu-mobile-toggle,
  .tahefobu-mobile-nav-menu-container,
  .tahefobu-mobile-nav-menu,
  .stalbau-hamburger-btn,
  #mobile-menu-btn,
  #mobile-nav,
  #stalbau-mobile-backdrop {
    display: none !important;
    visibility: hidden !important;
  }
}

@media (max-width: 1023px) {

  /* Strictly hide Desktop Navigation Widget & Elementor Desktop Elements on Mobile and Tablet */
  .elementor-element-widget_header_nav_desktop,
  .elementor-element-widget_header_nav,
  .header-nav-widget,
  .elementor-hidden-tablet,
  .elementor-hidden-mobile,
  #site-header nav[aria-label="Primary Navigation"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Ensure Mobile Navigation Widget is VISIBLE on Mobile and Tablet */
  .elementor-element-widget_header_nav_mobile,
  .header-nav-mobile-widget,
  .elementor-widget-elementskit-nav-menu,
  .header-right-col {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    order: 999 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
  }

  /* Force header bar to stay fixed with consistent background and height */
  #site-header,
  #tahefobu-header,
  .turbo-header-template,
  header.elementor-location-header,
  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 3.5rem !important; /* 56px */
    background: #060910 !important;
    background-color: #060910 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid #1e293b !important;
    z-index: 999990 !important;
    box-sizing: border-box !important;
  }

  @media (min-width: 640px) {
    #site-header,
    #tahefobu-header,
    .turbo-header-template,
    header.elementor-location-header,
    .site-header {
      height: 4.5rem !important; /* 72px */
    }
  }

  /* Backdrop Overlay - Clean Dim Without Blur */
  #stalbau-mobile-backdrop {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.45) !important;
    background-color: rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    z-index: 9990 !important;
  }

  /* SHOW DRAWER ONLY WHEN ACTIVELY OPENED - SOLID SHARP BACKGROUND, ZERO BLUR */
  .tahefobu-mobile-nav-menu.active-mobile-open,
  .tahefobu-mobile-nav-menu.tahefobu-mobile-nav-menu-open,
  .tahefobu-mobile-nav-menu.is-open,
  .stalbau-mobile-drawer.active-mobile-open,
  .elementskit-menu-container.active-mobile-open,
  .elementskit-menu-container.elementskit-menu-open-offcanvas,
  .elementskit-menu-container.elementskit-menu-open,
  .elementor-nav-menu--dropdown.elementor-active,
  .elementor-nav-menu--dropdown.active-mobile-open,
  #mobile-nav.active-mobile-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: 3.5rem !important; /* 56px */
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    box-sizing: border-box !important;
    max-height: calc(100vh - 3.5rem) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 999998 !important;
    background-color: #060910 !important;
    background: #060910 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    border-bottom: 2px solid #ffb400 !important;
    border-top: 1px solid #1e293b !important;
    box-shadow: 0 25px 50px -10px rgba(0, 0, 0, 0.95) !important;
    padding: 1rem 0 2rem 0 !important;
    margin: 0 !important;
    list-style: none !important;
    transform: none !important;
    -webkit-transform: none !important;
    animation: stalbauSlideDrawer 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  }

  /* Header Container - Strict flex row between Left Logo and Right Toggle */
  #site-header .header-inner-container,
  #tahefobu-header .header-inner-container,
  .turbo-header-template .header-inner-container,
  .turbo-header-template > .e-con,
  .elementor-element-con_header_main,
  .elementor-24 > .e-con,
  header .e-con,
  header .elementor-container,
  header > div,
  .stalbau-header-nav-widget-container .header-inner-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    height: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }

  /* BRAND LOGO (Left Column) - Compact Reduced Size & Always on Left (order: -999) */
  #site-header .header-left-col,
  #site-header a.group,
  #site-header .header-logo,
  .turbo-header-template .elementor-widget-image,
  .turbo-header-template .elementor-widget-theme-site-logo,
  #tahefobu-header .elementor-widget-image,
  #tahefobu-header .elementor-widget-theme-site-logo,
  header .elementor-widget-image,
  header .elementor-widget-theme-site-logo,
  #header-logo-widget,
  .site-branding,
  .header-logo-wrap,
  .header-left-col,
  header a[href*="localhost"],
  header a[aria-label*="Home"],
  .stalbau-header-nav-widget-container .header-left-col {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    order: -999 !important;
    width: auto !important;
    max-width: 60% !important;
    text-align: left !important;
  }

  #site-header img,
  .turbo-header-template .elementor-widget-image img,
  #tahefobu-header .elementor-widget-image img,
  #header-logo-widget img,
  header a[aria-label*="Home"] img,
  header .elementor-widget-image img,
  .stalbau-header-nav-widget-container img {
    max-height: 1.625rem !important; /* 26px */
    height: 1.625rem !important;
    width: auto !important;
    max-width: 135px !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 !important;
  }

  @media (min-width: 640px) {
    #site-header img,
    .turbo-header-template .elementor-widget-image img,
    #tahefobu-header .elementor-widget-image img,
    #header-logo-widget img,
    header a[aria-label*="Home"] img,
    header .elementor-widget-image img,
    .stalbau-header-nav-widget-container img {
      max-height: 2.25rem !important; /* 36px */
      height: 2.25rem !important;
      max-width: 180px !important;
    }
  }

  /* TOGGLE MENU WRAPPERS (Container wrappers - MUST NOT LOOK LIKE BUTTONS) */
  .tahefobu-mobile-toggle-wrap,
  .elementskit-menu-hamburger {
    order: 999 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  /* SINGLE AUTHORITATIVE TOGGLE BUTTON (Right Side) */
  .stalbau-hamburger-btn,
  .tahefobu-mobile-toggle,
  #mobile-menu-btn,
  .elementor-menu-toggle,
  .elementskit-menu-toggler,
  .ekit-menu-toggle {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    background-color: #0f172a !important;
    background: #0f172a !important;
    border: 1px solid #334155 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    padding: 0 !important;
    z-index: 999999 !important;
    outline: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
    order: 999 !important;
    flex: 0 0 auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  @media (min-width: 640px) {
    .stalbau-hamburger-btn,
    .tahefobu-mobile-toggle,
    #mobile-menu-btn,
    .elementor-menu-toggle,
    .elementskit-menu-toggler,
    .ekit-menu-toggle {
      width: 44px !important;
      height: 44px !important;
      min-width: 44px !important;
      min-height: 44px !important;
      gap: 5px !important;
    }
  }

  /* If a standalone #mobile-menu-btn is next to an Elementor mobile widget, hide the redundant one */
  .elementor-widget-tahefobu-navigation-menu + .stalbau-hamburger-btn,
  .elementor-widget-elementskit-nav-menu + .stalbau-hamburger-btn,
  .elementor-widget-nav-menu + .stalbau-hamburger-btn {
    display: none !important;
  }

  .stalbau-hamburger-btn:hover,
  .stalbau-hamburger-btn.is-active,
  .tahefobu-mobile-toggle:hover,
  .tahefobu-mobile-toggle.tahefobu-mobile-toggle-open,
  .tahefobu-mobile-toggle.is-active,
  .elementskit-menu-toggler:hover,
  #mobile-menu-btn:hover,
  #mobile-menu-btn.is-active {
    border-color: #ffb400 !important;
    background-color: #1e293b !important;
    color: #ffb400 !important;
  }

  /* Hamburger lines morphing animation to 'X' */
  .stalbau-hamburger-btn .hamburger-line,
  .tahefobu-mobile-toggle .tahefobu-mobile-toggle-line,
  .tahefobu-mobile-toggle span,
  .elementskit-menu-toggler span {
    transition: transform 0.25s ease, opacity 0.2s ease, background-color 0.2s ease !important;
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background-color: #f8fafc !important;
    border-radius: 1px !important;
  }

  .stalbau-hamburger-btn.is-active .line-top,
  #mobile-menu-btn.is-active .line-top,
  .tahefobu-mobile-toggle.is-active .tahefobu-mobile-toggle-line:nth-child(1),
  .tahefobu-mobile-toggle.tahefobu-mobile-toggle-open .tahefobu-mobile-toggle-line:nth-child(1),
  .tahefobu-mobile-toggle.is-active span:nth-child(1),
  .tahefobu-mobile-toggle.tahefobu-mobile-toggle-open span:nth-child(1) {
    transform: translateY(6px) rotate(45deg) !important;
    background-color: #ffb400 !important;
  }

  .stalbau-hamburger-btn.is-active .line-mid,
  #mobile-menu-btn.is-active .line-mid,
  .tahefobu-mobile-toggle.is-active .tahefobu-mobile-toggle-line:nth-child(2),
  .tahefobu-mobile-toggle.tahefobu-mobile-toggle-open .tahefobu-mobile-toggle-line:nth-child(2),
  .tahefobu-mobile-toggle.is-active span:nth-child(2),
  .tahefobu-mobile-toggle.tahefobu-mobile-toggle-open span:nth-child(2) {
    opacity: 0 !important;
    transform: scaleX(0) !important;
  }

  .stalbau-hamburger-btn.is-active .line-bot,
  #mobile-menu-btn.is-active .line-bot,
  .tahefobu-mobile-toggle.is-active .tahefobu-mobile-toggle-line:nth-child(3),
  .tahefobu-mobile-toggle.tahefobu-mobile-toggle-open .tahefobu-mobile-toggle-line:nth-child(3),
  .tahefobu-mobile-toggle.is-active span:nth-child(3),
  .tahefobu-mobile-toggle.tahefobu-mobile-toggle-open span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg) !important;
    background-color: #ffb400 !important;
  }

  /* STRICTLY HIDE ALL IN-PAGE OPEN/STATIC NAV MENUS & CTA ON MOBILE (< 1024px) */
  #site-header nav[aria-label="Primary Navigation"],
  .elementor-element-widget_header_nav_desktop,
  .header-nav-widget,
  .tahefobu-nav-menu,
  .tahefobu-nav-menu-container:not(.active-mobile-open),
  .tahefobu-nav-menu-horizontal,
  .elementor-nav-menu--main,
  .elementor-nav-menu--dropdown:not(.elementor-active):not(.active-mobile-open),
  .elementor-widget-nav-menu .elementor-nav-menu--dropdown:not(.elementor-active):not(.active-mobile-open),
  .elementor-widget-nav-menu ul.elementor-nav-menu:not(.elementor-active):not(.active-mobile-open),
  .elementor-widget-tahefobu-navigation-menu .tahefobu-nav-menu,
  .elementskit-menu-container:not(.active-mobile-open):not(.elementskit-menu-open-offcanvas):not(.elementskit-menu-open),
  .elementskit-navbar-nav:not(.active-mobile-open),
  .ekit-nav-menu:not(.active-mobile-open),
  .elementor-widget-elementskit-nav-menu .elementskit-menu-container:not(.active-mobile-open):not(.elementskit-menu-open),
  .elementor-widget-button,
  .elementor-element-981db6a,
  .elementor-element-widget_header_btn,
  .btn-cut-primary-sm {
    display: none !important;
  }

  /* Mobile Navigation Container & Toggle Wrap - ALWAYS VISIBLE */
  .tahefobu-mobile-nav-menu-container {
    position: static !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Mobile Dropdown Drawer - Default is STRICTLY HIDDEN */
  .tahefobu-mobile-nav-menu:not(.active-mobile-open):not(.tahefobu-mobile-nav-menu-open):not(.is-open),
  .stalbau-mobile-drawer:not(.active-mobile-open),
  .elementskit-menu-container:not(.active-mobile-open):not(.elementskit-menu-open),
  .elementor-nav-menu--dropdown:not(.elementor-active):not(.active-mobile-open),
  #mobile-nav:not(.active-mobile-open) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  @media (min-width: 640px) {
    .tahefobu-mobile-nav-menu.active-mobile-open,
    .tahefobu-mobile-nav-menu.tahefobu-mobile-nav-menu-open,
    .tahefobu-mobile-nav-menu.is-open,
    .stalbau-mobile-drawer.active-mobile-open,
    .elementskit-menu-container.active-mobile-open,
    .elementskit-menu-container.elementskit-menu-open-offcanvas,
    .elementskit-menu-container.elementskit-menu-open,
    .elementor-nav-menu--dropdown.elementor-active,
    .elementor-nav-menu--dropdown.active-mobile-open,
    #mobile-nav.active-mobile-open {
      top: 4.5rem !important; /* 72px */
      max-height: calc(100vh - 4.5rem) !important;
    }
  }

  body.admin-bar .tahefobu-mobile-nav-menu.active-mobile-open,
  body.admin-bar .tahefobu-mobile-nav-menu.tahefobu-mobile-nav-menu-open,
  body.admin-bar .tahefobu-mobile-nav-menu.is-open,
  body.admin-bar .stalbau-mobile-drawer.active-mobile-open,
  body.admin-bar .elementskit-menu-container.active-mobile-open,
  body.admin-bar .elementor-nav-menu--dropdown.elementor-active,
  body.admin-bar #mobile-nav.active-mobile-open {
    top: calc(3.5rem + 32px) !important;
  }

  @media screen and (max-width: 782px) {
    body.admin-bar .tahefobu-mobile-nav-menu.active-mobile-open,
    body.admin-bar .tahefobu-mobile-nav-menu.tahefobu-mobile-nav-menu-open,
    body.admin-bar .tahefobu-mobile-nav-menu.is-open,
    body.admin-bar .stalbau-mobile-drawer.active-mobile-open,
    body.admin-bar .elementskit-menu-container.active-mobile-open,
    body.admin-bar .elementor-nav-menu--dropdown.elementor-active,
    body.admin-bar #mobile-nav.active-mobile-open {
      top: calc(3.5rem + 46px) !important;
    }
  }

  @keyframes stalbauSlideDrawer {
    from {
      opacity: 0;
      transform: translateY(-8px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .tahefobu-mobile-nav-menu li,
  ul.tahefobu-mobile-nav-menu li,
  .stalbau-mobile-item {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: block !important;
    width: 100% !important;
  }

  .tahefobu-mobile-nav-menu li:last-child,
  ul.tahefobu-mobile-nav-menu li:last-child {
    border-bottom: none !important;
  }

  .stalbau-mobile-menu-wrapper a,
  #mobile-nav nav a,
  .tahefobu-mobile-nav-menu a,
  ul.tahefobu-mobile-nav-menu a,
  .tahefobu-mobile-nav-menu .tahefobu-mobile-menu-item,
  ul.tahefobu-mobile-nav-menu .tahefobu-mobile-menu-item {
    font-family: 'Oswald', 'Inter', sans-serif !important;
    font-size: 1rem !important;
    /* 16px */
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    padding: 1rem 1.75rem !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    text-shadow: none !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-decoration: none !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border-left: 3px solid transparent !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }

  .stalbau-mobile-menu-wrapper a:hover,
  #mobile-nav nav a:hover,
  .tahefobu-mobile-nav-menu a:hover,
  ul.tahefobu-mobile-nav-menu a:hover,
  .tahefobu-mobile-nav-menu .tahefobu-mobile-menu-item:hover,
  ul.tahefobu-mobile-nav-menu .tahefobu-mobile-menu-item:hover {
    color: #ffb400 !important;
    background-color: rgba(255, 180, 0, 0.08) !important;
    background: rgba(255, 180, 0, 0.08) !important;
    border-left-color: #ffb400 !important;
    padding-left: 2.25rem !important;
  }

  .stalbau-mobile-item.active > div > a,
  .stalbau-mobile-menu-wrapper a.text-gold-400,
  #mobile-nav nav a.text-gold-400,
  .tahefobu-mobile-nav-menu li.current-menu-item a,
  .tahefobu-mobile-nav-menu li.current_page_item a,
  .tahefobu-mobile-nav-menu a.tahefobu-active-menu-item,
  ul.tahefobu-mobile-nav-menu li.current-menu-item a,
  ul.tahefobu-mobile-nav-menu li.current_page_item a,
  ul.tahefobu-mobile-nav-menu a.tahefobu-active-menu-item {
    color: #ffb400 !important;
    background-color: rgba(255, 180, 0, 0.12) !important;
    background: rgba(255, 180, 0, 0.12) !important;
    border-left-color: #ffb400 !important;
    padding-left: 2.25rem !important;
  }

  /* Submenu Accordion Arrow */
  .mobile-submenu-toggle {
    cursor: pointer !important;
    border: none !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.25s ease, color 0.2s ease !important;
  }
  .mobile-submenu-toggle:hover {
    color: #ffb400 !important;
  }
}

/* ========================================================
   ELEMENTOR FOOTER WIDGETS DESIGN MATCH
======================================================== */
.elementor-element-con_footer_root,
.site-footer {
  background-color: #060910 !important;
  color: #94a3b8 !important;
  font-size: 0.75rem !important;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  border-top: none !important;
}

.elementor-element-con_footer_grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 2.5rem !important;
  margin-bottom: 3rem !important;
}

@media (max-width: 768px) {
  .elementor-element-con_footer_grid {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}

.elementor-element-con_footer_root h4.elementor-heading-title,
.elementor-element-con_footer_root .font-bold.text-white {
  color: #ffffff !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 1rem !important;
}

.elementor-element-con_footer_root a {
  color: #94a3b8 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.elementor-element-con_footer_root a:hover {
  color: #ffb400 !important;
}

.elementor-element-con_footer_bottom {
  border-top: 1px solid #1e293b !important;
  padding-top: 1.5rem !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 0.6875rem !important;
  /* 11px */
  color: #64748b !important;
}

@media (max-width: 640px) {
  .elementor-element-con_footer_bottom {
    flex-direction: column !important;
    gap: 0.75rem !important;
    text-align: center !important;
  }
}

/* ========================================================
   ABOUT SECTION IMAGE FILL & ASPECT FIX
======================================================== */

#about-img-container>div {
  height: 100% !important;
  width: 100% !important;
  flex: 1 !important;
  display: block !important;
  position: relative !important;
}

#about-scroll-img,
#about-img-container img {
  height: 100% !important;
  width: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* ========================================================
   FOOTER VISIBILITY & OVERRIDES (FOR ENTIRE WEBSITE)
======================================================== */
.turbo-footer-template,
.turbo-footer-template>div,
.turbo-footer-template .elementor,
.stalbau-footer-container,
#site-footer,
footer.site-footer,
.site-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 50 !important;
  width: 100% !important;
  background-color: #060910 !important;
}

body.tahefobu-hide-theme-footer .turbo-footer-template,
body.tahefobu-hide-theme-footer .turbo-footer-template>div,
body.tahefobu-hide-theme-footer .stalbau-footer-container {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ========================================================
   STICKY HEADER DARK BACKGROUND ON SCROLL
======================================================== */
#tahefobu-header,
.turbo-header-template,
#site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99900 !important;
  background-color: transparent;
  border-bottom: 1px solid transparent;
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, backdrop-filter 0.3s ease !important;
}

body.admin-bar #tahefobu-header,
body.admin-bar .turbo-header-template,
body.admin-bar #site-header {
  top: 32px !important;
}

@media screen and (max-width: 782px) {

  body.admin-bar #tahefobu-header,
  body.admin-bar .turbo-header-template,
  body.admin-bar #site-header {
    top: 46px !important;
  }
}

/* Scrolled / Sticky State: Light-Dark Frosted Glass Overlay */
#tahefobu-header.is-sticky,
#tahefobu-header.header-scrolled,
#tahefobu-header.scrolled,
.turbo-header-template.is-sticky,
.turbo-header-template.header-scrolled,
.turbo-header-template.scrolled,
#site-header.is-sticky,
#site-header.header-scrolled,
#site-header.scrolled,
.bg-dark-sticky {
  background-color: rgba(6, 9, 16, 0.82) !important;
  background: rgba(6, 9, 16, 0.82) !important;
  backdrop-filter: blur(14px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(180%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5) !important;
}



/* ========================================================
   HEADER BUTTON EXACT CUT-CORNER DESIGN MATCH
======================================================== */
@media (min-width: 1024px) {
  .elementor-element-widget_header_btn {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 1023px) {
  .elementor-element-widget_header_btn {
    display: none !important;
    visibility: hidden !important;
  }
}

.elementor-element-widget_header_btn a.elementor-button,
.elementor-element-widget_header_btn .elementor-button,
.btn-cut-primary-sm,
#site-header .btn-cut-primary-sm {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.45rem !important;
  background-color: #ffaa00 !important;
  background: #ffaa00 !important;
  color: #060910 !important;
  font-family: 'Oswald', 'Big Shoulders Display', 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  /* 13px */
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  padding: 0.65rem 1.6rem !important;
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 13px 100%, 0 calc(100% - 13px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 13px 100%, 0 calc(100% - 13px)) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 4px 16px -2px rgba(255, 170, 0, 0.4) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.elementor-element-widget_header_btn a.elementor-button:hover,
.elementor-element-widget_header_btn .elementor-button:hover,
.btn-cut-primary-sm:hover,
#site-header .btn-cut-primary-sm:hover {
  background-color: #ffc425 !important;
  background: #ffc425 !important;
  color: #060910 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px -2px rgba(255, 180, 0, 0.65) !important;
}

.elementor-element-widget_header_btn a.elementor-button .elementor-button-content-wrapper,
.elementor-element-widget_header_btn a.elementor-button .elementor-button-text {
  color: #060910 !important;
  font-family: 'Oswald', 'Big Shoulders Display', 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* ========================================================
   HOME PAGE CONTACT SECTION DEDICATED ELEMENTOR WIDGET
======================================================== */
.elementor-element-con_home_contact {
  background-color: transparent !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border-top: none !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

.elementor-element-con_home_contact > .e-con-inner {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.elementor-widget-stalbau_home_contact,
.elementor-widget-stalbau_home_contact .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#contact {
  background-color: #f8fafc !important;
  width: 100% !important;
}

/* ========================================================
   BLOG PAGE LIVE FILTER STYLES
   ======================================================== */
.blog-filter-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.2s ease !important;
}

.blog-filter-btn.active {
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  border-color: #ffb400 !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 14px -2px rgba(255, 180, 0, 0.45) !important;
}

.blog-card-hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ========================================================
   CANVAS FRAME SEQUENCE PLAYERS (HERO & PROJECTS)
======================================================== */
#hero-canvas,
#projects-canvas {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  pointer-events: none !important;
}

#hero-scroll-container,
#projects-scroll-container {
  width: 100% !important;
  position: relative !important;
}

#hero-scroll-container .sticky,
#projects-scroll-container .sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
}

/* ========================================================
   MOBILE SCREEN HERO & HEADER SPACING PRECISION
======================================================== */
@media (max-width: 767px) {

  #hero-scroll-container>div,
  .elementor-element-con_home_hero .sticky,
  #hero .sticky {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: calc(100vh - 3.5rem) !important;
    height: auto !important;
    padding-top: 4.5rem !important;
    padding-bottom: 2rem !important;
    box-sizing: border-box !important;
  }

  body.admin-bar #hero-scroll-container>div,
  body.admin-bar .elementor-element-con_home_hero .sticky,
  body.admin-bar #hero .sticky {
    padding-top: calc(4.5rem + 46px) !important;
    min-height: calc(100vh - 46px) !important;
  }

  #hero-stage-0 h1,
  .hero-stage h1 {
    font-size: 1.75rem !important;
    line-height: 1.12 !important;
    margin-top: 0.25rem !important;
    margin-bottom: 0.5rem !important;
  }

  #hero-stage-0 p,
  .hero-stage p {
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.65rem !important;
  }

  #hero-stage-0 .btn-cut-primary,
  #hero-stage-0 .btn-cut-outline {
    padding: 0.65rem 1.25rem !important;
    font-size: 0.75rem !important;
  }
}

/* ========================================================
   PROJECTS & SUBPAGE HERO SECTIONS DESIGN & TOP CLEARANCE
======================================================== */
#projects-hero,
.elementor-element-con_proj_hero,
.elementor-element-con_about_hero,
.elementor-element-con_serv_hero,
.elementor-element-con_contact_hero,
.elementor-element-con_blog_hero {
  padding-top: 0 !important;
  margin-top: 0 !important;
  position: relative !important;
  width: 100% !important;
}

#projects-hero>.elementor-widget,
#projects-hero .elementor-widget-container,
.elementor-element-con_proj_hero>.elementor-widget,
.elementor-element-con_proj_hero .elementor-widget-container {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#projects-hero .relative.w-full.overflow-hidden,
.elementor-element-con_proj_hero .relative.w-full.overflow-hidden,
.elementor-element-con_about_hero .relative.w-full.overflow-hidden,
.elementor-element-con_serv_hero .relative.w-full.overflow-hidden,
.elementor-element-con_contact_hero .relative.w-full.overflow-hidden,
.elementor-element-con_blog_hero .relative.w-full.overflow-hidden {
  padding-top: 7.5rem !important;
  padding-bottom: 4.5rem !important;
  border-bottom: 1px solid rgba(51, 65, 85, 0.6) !important;
  background-color: #060910 !important;
  position: relative !important;
}

body.admin-bar #projects-hero .relative.w-full.overflow-hidden,
body.admin-bar .elementor-element-con_proj_hero .relative.w-full.overflow-hidden,
body.admin-bar .elementor-element-con_about_hero .relative.w-full.overflow-hidden,
body.admin-bar .elementor-element-con_serv_hero .relative.w-full.overflow-hidden,
body.admin-bar .elementor-element-con_contact_hero .relative.w-full.overflow-hidden,
body.admin-bar .elementor-element-con_blog_hero .relative.w-full.overflow-hidden {
  padding-top: calc(7.5rem + 32px) !important;
}

@media screen and (max-width: 782px) {

  #projects-hero .relative.w-full.overflow-hidden,
  .elementor-element-con_proj_hero .relative.w-full.overflow-hidden,
  .elementor-element-con_about_hero .relative.w-full.overflow-hidden,
  .elementor-element-con_serv_hero .relative.w-full.overflow-hidden,
  .elementor-element-con_contact_hero .relative.w-full.overflow-hidden,
  .elementor-element-con_blog_hero .relative.w-full.overflow-hidden {
    padding-top: 5.5rem !important;
    padding-bottom: 3rem !important;
  }

  body.admin-bar #projects-hero .relative.w-full.overflow-hidden,
  body.admin-bar .elementor-element-con_proj_hero .relative.w-full.overflow-hidden,
  body.admin-bar .elementor-element-con_about_hero .relative.w-full.overflow-hidden,
  body.admin-bar .elementor-element-con_serv_hero .relative.w-full.overflow-hidden,
  body.admin-bar .elementor-element-con_contact_hero .relative.w-full.overflow-hidden,
  body.admin-bar .elementor-element-con_blog_hero .relative.w-full.overflow-hidden {
    padding-top: calc(5.5rem + 46px) !important;
  }
}

/* Projects Hero Background Image Fill */
#projects-hero .absolute.inset-0.z-0 img,
.elementor-element-con_proj_hero .absolute.inset-0.z-0 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  opacity: 0.45 !important;
}

/* Projects Hero Typography & Stat Cards */
#projects-hero h1,
.elementor-element-con_proj_hero h1 {
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
  margin-top: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}

#projects-hero .grid.grid-cols-2,
.elementor-element-con_proj_hero .grid.grid-cols-2 {
  border-top: 1px solid rgba(51, 65, 85, 0.6) !important;
  margin-top: 2.5rem !important;
  padding-top: 2rem !important;
}

#projects-hero .bg-steel-900\/60,
.elementor-element-con_proj_hero .bg-steel-900\/60 {
  background-color: rgba(11, 15, 25, 0.75) !important;
  border: 1px solid rgba(51, 65, 85, 0.6) !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}

#projects-hero .bg-steel-900\/60:hover,
.elementor-element-con_proj_hero .bg-steel-900\/60:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255, 180, 0, 0.5) !important;
  box-shadow: 0 8px 24px -4px rgba(255, 180, 0, 0.15) !important;
}

/* ========================================================
   GLOBAL FOOTER - TOP BORDER & COMPACT BOTTOM SPACING
   ======================================================== */
#site-footer,
.site-footer,
.turbo-footer-template,
.turbo-footer-template footer {
  border-top: 2px solid rgba(255, 180, 0, 0.45) !important;
  background-color: #060910 !important;
  padding-top: 2.5rem !important;
  padding-bottom: 1rem !important;
  margin-top: 0 !important;
}

#site-footer .grid,
.site-footer .grid {
  margin-bottom: 1.75rem !important;
  gap: 1.75rem !important;
}

#site-footer .border-t,
.site-footer .border-t {
  padding-top: 0.85rem !important;
  padding-bottom: 0.25rem !important;
  border-top: 1px solid rgba(51, 65, 85, 0.5) !important;
}

/* ========================================================
   ABOUT PAGE (ID: 12) - COMPLETE RESPONSIVE LAYOUT SYSTEM
   ======================================================== */
body.page-id-12.elementor-editor-active #tahefobu-header,
body.page-id-12.elementor-editor-active .turbo-header-template,
body.page-id-12.elementor-editor-active #site-header {
  position: relative !important;
  background: #060910 !important;
}

body.page-id-12.elementor-editor-active .inner-hero-section {
  padding-top: 3.5rem !important;
}

body.page-id-12:not(.elementor-editor-active) #about-hero.inner-hero-section {
  padding-top: 8.5rem !important;
  padding-bottom: 4.5rem !important;
}

body.page-id-12.admin-bar:not(.elementor-editor-active) #about-hero.inner-hero-section {
  padding-top: 10.5rem !important;
}

@media (min-width: 640px) {
  body.page-id-12:not(.elementor-editor-active) #about-hero.inner-hero-section {
    padding-top: 9.5rem !important;
    padding-bottom: 5.5rem !important;
  }

  body.page-id-12.admin-bar:not(.elementor-editor-active) #about-hero.inner-hero-section {
    padding-top: 11.5rem !important;
  }
}

/* ========================================================
   ABOUT PAGE (ID: 12) - COMPREHENSIVE HIGH-FIDELITY DESIGN
   ======================================================== */

/* Body Background */
body.page-id-12 {
  background-color: #060910 !important;
}

/* Typography Overrides */
.page-id-12 .font-display,
.page-id-12 h1.elementor-heading-title,
.page-id-12 h2.elementor-heading-title,
.page-id-12 h3.elementor-heading-title,
.page-id-12 h4.elementor-heading-title {
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  text-transform: uppercase !important;
  letter-spacing: -0.01em !important;
}

.page-id-12 #about-hero h1.elementor-heading-title,
.page-id-12 .elementor-element-con_about_hero h1.elementor-heading-title,
.page-id-12 .elementor-element-con_about_hero h1 {
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  font-size: clamp(2.25rem, 5.5vw, 3.75rem) !important;
  font-weight: 900 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.02em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin-top: 0.5rem !important;
  margin-bottom: 1.25rem !important;
}

.page-id-12 h2.elementor-heading-title,
.page-id-12 h2.font-display {
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  font-size: clamp(1.85rem, 3.8vw, 2.75rem) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.01em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

/* 0. Hero Section */
.page-id-12 .elementor-element-con_about_hero {
  position: relative !important;
  background-color: #060910 !important;
  background-image: 
    linear-gradient(to right, #060910 0%, rgba(6, 9, 16, 0.88) 45%, rgba(6, 9, 16, 0.45) 100%), 
    linear-gradient(to top, #060910 0%, transparent 60%, rgba(6, 9, 16, 0.85) 100%), 
    url('http://localhost/stalbauwp/wp-content/themes/stalbau/assets/images/about/about-hero-fill.jpg') !important;
  background-size: cover !important;
  background-position: center !important;
  border-bottom: 1px solid rgba(30, 41, 59, 0.8) !important;
}

.page-id-12 .elementor-element-con_about_hero_stats {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
  border-top: 1px solid rgba(30, 41, 59, 0.8) !important;
  padding-top: 2rem !important;
  margin-top: 2.5rem !important;
}

@media (max-width: 639px) {
  .page-id-12 .elementor-element-con_about_hero_stats {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.page-id-12 .elementor-element-con_about_hero_stats .font-display,
.page-id-12 .elementor-element-con_about_hero_stats span.font-display {
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  font-size: clamp(2rem, 3.5vw, 2.75rem) !important;
  font-weight: 900 !important;
  color: #ffb400 !important;
  line-height: 1 !important;
}

/* 1. Overview 2-Column Grid (Story & Vision/Mission) */
.page-id-12 .elementor-element-con_about_overview_grid {
  display: grid !important;
  grid-template-columns: 1.18fr 0.82fr !important;
  gap: 3.5rem !important;
  align-items: start !important;
  width: 100% !important;
}

@media (max-width: 1023px) {
  .page-id-12 .elementor-element-con_about_overview_grid {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
}

.page-id-12 .elementor-element-con_overview_left,
.page-id-12 .elementor-element-con_overview_right {
  width: 100% !important;
  max-width: 100% !important;
}

/* 1.1 Landmark Cards Grid */
.page-id-12 .elementor-element-con_landmarks_grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
}

@media (max-width: 639px) {
  .page-id-12 .elementor-element-con_landmarks_grid {
    grid-template-columns: 1fr !important;
  }
}

/* 1.2 Vision & Mission Card */
.page-id-12 [class*="con_vm_box"] {
  position: relative !important;
  background-color: rgba(6, 9, 16, 0.92) !important;
  border: 2px solid rgba(255, 180, 0, 0.8) !important;
  padding: 2.5rem !important;
  border-radius: 2px !important;
  box-shadow: 0 25px 50px -12px rgba(255, 180, 0, 0.12) !important;
  backdrop-filter: blur(8px) !important;
}

/* 2. Advantage 4-Column Pillars */
.page-id-12 .elementor-element-con_adv_pillars {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

@media (max-width: 1023px) {
  .page-id-12 .elementor-element-con_adv_pillars {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 639px) {
  .page-id-12 .elementor-element-con_adv_pillars {
    grid-template-columns: 1fr !important;
  }
}

/* 3. Heritage 5-Column Timeline */
.page-id-12 .elementor-element-con_timeline_grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 1.25rem !important;
  width: 100% !important;
}

@media (max-width: 1023px) {
  .page-id-12 .elementor-element-con_timeline_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 639px) {
  .page-id-12 .elementor-element-con_timeline_grid {
    grid-template-columns: 1fr !important;
  }
}

/* 4. Executive 4-Column Leaders */
.page-id-12 .elementor-element-con_leaders_grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

@media (max-width: 1023px) {
  .page-id-12 .elementor-element-con_leaders_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 639px) {
  .page-id-12 .elementor-element-con_leaders_grid {
    grid-template-columns: 1fr !important;
  }
}

/* 5. Accreditations 4-Column Badges */
.page-id-12 .elementor-element-con_badges_grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  .page-id-12 .elementor-element-con_badges_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* 6. CTA Card Layout & Horizontal Buttons */
.page-id-12 .elementor-element-con_about_cta_card,
.page-id-12 .elementor-element-con_cta_card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2.5rem !important;
  width: 100% !important;
  background-color: rgba(17, 24, 39, 0.9) !important;
  border: 1px solid #1f2937 !important;
  padding: 2.5rem 3.5rem !important;
  border-radius: 2px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
}

@media (max-width: 1023px) {
  .page-id-12 .elementor-element-con_about_cta_card,
  .page-id-12 .elementor-element-con_cta_card {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 2rem !important;
  }
}

.page-id-12 .elementor-element-con_cta_buttons {
  display: flex !important;
  flex-direction: row !important;
  gap: 1rem !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

@media (max-width: 639px) {
  .page-id-12 .elementor-element-con_cta_buttons {
    flex-direction: column !important;
    width: 100% !important;
  }
}

/* Chamfered Cut Buttons for Elementor Button Widgets */
.page-id-12 .btn-cut-primary .elementor-button,
.page-id-12 a.btn-cut-primary,
.page-id-12 .btn-cut-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background: #ffb400 !important;
  background-color: #ffb400 !important;
  color: #060910 !important;
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 0.875rem 2rem !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 8px 24px -6px rgba(255, 180, 0, 0.45) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 0 !important;
}

.page-id-12 .btn-cut-primary .elementor-button .elementor-button-content-wrapper,
.page-id-12 .btn-cut-primary .elementor-button .elementor-button-text,
.page-id-12 .btn-cut-primary span {
  color: #060910 !important;
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.page-id-12 .btn-cut-primary .elementor-button:hover,
.page-id-12 a.btn-cut-primary:hover {
  background: #ffc425 !important;
  background-color: #ffc425 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px -4px rgba(255, 180, 0, 0.65) !important;
}

.page-id-12 .btn-cut-outline .elementor-button,
.page-id-12 a.btn-cut-outline,
.page-id-12 .btn-cut-outline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background: #111827 !important;
  background-color: #111827 !important;
  color: #ffffff !important;
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 0.875rem 2rem !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  transition: all 0.25s ease !important;
  cursor: pointer !important;
  text-decoration: none !important;
  border: none !important;
  border-radius: 0 !important;
}

.page-id-12 .btn-cut-outline .elementor-button .elementor-button-content-wrapper,
.page-id-12 .btn-cut-outline .elementor-button .elementor-button-text,
.page-id-12 .btn-cut-outline span {
  color: #ffffff !important;
  font-family: 'Big Shoulders Display', 'Oswald', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.page-id-12 .btn-cut-outline .elementor-button:hover,
.page-id-12 a.btn-cut-outline:hover {
  color: #ffb400 !important;
  background: #1f2937 !important;
  background-color: #1f2937 !important;
  transform: translateY(-2px) !important;
}

.page-id-12 .btn-cut-outline .elementor-button:hover .elementor-button-text,
.page-id-12 .btn-cut-outline .elementor-button:hover span {
  color: #ffb400 !important;
}

/* ========================================================
   STRICTLY PARENT-SCOPED RESPONSIVE LAYOUT SYSTEMS
   (Zero Un-Scoped Global Class Overrides)
   ======================================================== */

/* 1. CUSTOM WIDGETS LAYOUTS */
.elementor-widget-stalbau_home_about #about .grid.lg\:grid-cols-2,
.elementor-widget-stalbau_home_about .grid.lg\:grid-cols-2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important;
  align-items: center !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  .elementor-widget-stalbau_home_about #about .grid.lg\:grid-cols-2,
  .elementor-widget-stalbau_home_about .grid.lg\:grid-cols-2 {
    grid-template-columns: 1fr !important;
    gap: 2.5rem !important;
  }
}
.elementor-widget-stalbau_home_about .grid.sm\:grid-cols-2 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
}
@media (max-width: 639px) {
  .elementor-widget-stalbau_home_about .grid.sm\:grid-cols-2 {
    grid-template-columns: 1fr !important;
  }
}

.elementor-widget-stalbau_about_hero .grid.sm\:grid-cols-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
}
@media (max-width: 639px) {
  .elementor-widget-stalbau_about_hero .grid.sm\:grid-cols-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ==========================================================================
   ABOUT PAGE: COMPANY PROFILE & VISION/MISSION (2-COLUMN 60/40 REDESIGN)
   ========================================================================== */
#about-overview {
  background-color: #f8fafc !important;
  position: relative;
  width: 100%;
}

.stalbau-about-grid-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 2.5rem !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  .stalbau-about-grid-row {
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 3.25rem !important;
  }
  
  .stalbau-about-left-col {
    flex: 0 0 58% !important;
    max-width: 58% !important;
    width: 58% !important;
  }
  
  .stalbau-about-right-col {
    flex: 0 0 38% !important;
    max-width: 38% !important;
    width: 38% !important;
    position: sticky !important;
    top: 6.5rem !important;
  }
}

@media (max-width: 1023px) {
  .stalbau-about-left-col,
  .stalbau-about-right-col {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.stalbau-about-left-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.stalbau-about-heading {
  font-family: 'Oswald', var(--font-display, sans-serif) !important;
  font-size: 2.25rem !important;
  line-height: 1.12 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  margin-bottom: 1.5rem !important;
}
@media (min-width: 640px) {
  .stalbau-about-heading {
    font-size: 2.75rem !important;
  }
}
@media (min-width: 1024px) {
  .stalbau-about-heading {
    font-size: 3.15rem !important;
  }
}

.stalbau-about-paragraphs {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #334155 !important;
  font-size: 0.95rem;
  line-height: 1.75;
  font-weight: 400;
  width: 100%;
}
@media (min-width: 640px) {
  .stalbau-about-paragraphs {
    font-size: 1rem;
  }
}
.stalbau-about-paragraphs p {
  color: #334155 !important;
  margin: 0 !important;
  line-height: 1.75 !important;
}
.stalbau-about-paragraphs strong {
  color: #060910 !important;
  font-weight: 700 !important;
}

.stalbau-landmarks-row {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
  margin-top: 2rem !important;
  padding-top: 1.75rem !important;
  border-top: 1px solid #e2e8f0 !important;
}
@media (max-width: 639px) {
  .stalbau-landmarks-row {
    grid-template-columns: 1fr !important;
  }
}

.stalbau-landmark-card {
  padding: 1.25rem !important;
  border-radius: 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #FFB000 !important;
  background-color: #ffffff !important;
  box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.25s ease !important;
}
.stalbau-landmark-card:hover {
  box-shadow: 0 8px 18px -4px rgba(0, 0, 0, 0.08) !important;
  border-color: rgba(255, 176, 0, 0.6) !important;
  border-left-color: #FFB000 !important;
  transform: translateY(-2px);
}
.landmark-tag {
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  color: #d97706 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-family: monospace, sans-serif !important;
}
.landmark-badge {
  font-size: 0.625rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #475569 !important;
  background-color: #f1f5f9 !important;
  padding: 0.15rem 0.6rem !important;
  border-radius: 4px !important;
  letter-spacing: 0.05em !important;
}
.landmark-title {
  font-family: 'Oswald', var(--font-display, sans-serif) !important;
  font-weight: 900 !important;
  color: #060910 !important;
  font-size: 1.05rem !important;
  margin-top: 0.5rem !important;
  margin-bottom: 0.25rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}
.landmark-desc {
  font-size: 0.8rem !important;
  color: #64748b !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Right Column: Vision & Mission Cards */
.stalbau-about-right-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
  width: 100% !important;
}

.stalbau-vm-card {
  position: relative !important;
  background-color: #050912 !important;
  border: 1px solid #1e293b !important;
  border-radius: 18px !important;
  padding: 1.75rem !important;
  box-shadow: 0 20px 35px -10px rgba(5, 9, 18, 0.45) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
}
.stalbau-vm-card:hover {
  border-color: rgba(255, 176, 0, 0.4) !important;
  transform: translateY(-2px);
  box-shadow: 0 24px 45px -10px rgba(5, 9, 18, 0.6) !important;
}

.stalbau-vm-corner-accent {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 32px !important;
  height: 32px !important;
  background-color: #FFB000 !important;
  clip-path: polygon(100% 0, 0 0, 100% 100%) !important;
  border-top-right-radius: 17px !important;
  pointer-events: none !important;
}

.stalbau-vm-header {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  margin-bottom: 1.15rem !important;
}

.stalbau-vm-icon-wrap {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background-color: #0d1527 !important;
  border: 1.5px solid #FFB000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #FFB000 !important;
  flex-shrink: 0 !important;
  box-shadow: 0 0 15px rgba(255, 176, 0, 0.15) !important;
}

.stalbau-vm-title {
  font-family: 'Oswald', var(--font-display, sans-serif) !important;
  font-size: 1.25rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #ffffff !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.stalbau-vm-subtitle {
  display: block !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  color: #94a3b8 !important;
  margin-top: 0.2rem !important;
}

.stalbau-vm-quote {
  color: #f1f5f9 !important;
  font-size: 0.95rem !important;
  font-style: italic !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  padding-left: 0.9rem !important;
  margin: 0 !important;
  border-left: 2.5px solid #FFB000 !important;
}

.elementor-widget-stalbau_about_advantage .grid.lg\:grid-cols-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  .elementor-widget-stalbau_about_advantage .grid.lg\:grid-cols-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 639px) {
  .elementor-widget-stalbau_about_advantage .grid.lg\:grid-cols-4 {
    grid-template-columns: 1fr !important;
  }
}

.elementor-widget-stalbau_about_heritage .grid.md\:grid-cols-5 {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 1.25rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  .elementor-widget-stalbau_about_heritage .grid.md\:grid-cols-5 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 639px) {
  .elementor-widget-stalbau_about_heritage .grid.md\:grid-cols-5 {
    grid-template-columns: 1fr !important;
  }
}

.elementor-widget-stalbau_about_leadership .grid.lg\:grid-cols-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  .elementor-widget-stalbau_about_leadership .grid.lg\:grid-cols-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 639px) {
  .elementor-widget-stalbau_about_leadership .grid.lg\:grid-cols-4 {
    grid-template-columns: 1fr !important;
  }
}

.elementor-widget-stalbau_about_accreditations .grid.sm\:grid-cols-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}
@media (max-width: 767px) {
  .elementor-widget-stalbau_about_accreditations .grid.sm\:grid-cols-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.elementor-widget-stalbau_about_cta .border-steel-800 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2.5rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  .elementor-widget-stalbau_about_cta .border-steel-800 {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* Contact Us Dedicated Elementor Widgets */
.elementor-widget-stalbau_contact_hero .grid.sm\:grid-cols-4 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1rem !important;
  width: 100% !important;
}
@media (max-width: 639px) {
  .elementor-widget-stalbau_contact_hero .grid.sm\:grid-cols-4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

.stalbau-contact-grid-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 2.5rem !important;
  width: 100% !important;
}

@media (min-width: 1024px) {
  .stalbau-contact-grid-row {
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 3.5rem !important;
  }

  .stalbau-contact-left-col {
    flex: 0 0 42% !important;
    max-width: 42% !important;
    width: 42% !important;
  }

  .stalbau-contact-right-col {
    flex: 0 0 54% !important;
    max-width: 54% !important;
    width: 54% !important;
  }
}

@media (max-width: 1023px) {
  .stalbau-contact-left-col,
  .stalbau-contact-right-col {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.elementor-widget-stalbau_contact_locations .grid.md\:grid-cols-3 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  .elementor-widget-stalbau_contact_locations .grid.md\:grid-cols-3 {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   GLOBAL STEEL COLOR PALETTE & LIGHT/WHITE SECTION VISIBILITY FIXES
   ========================================================================== */
.text-steel-950 { color: #060910 !important; }
.text-steel-900 { color: #0f172a !important; }
.text-steel-800 { color: #1e293b !important; }
.text-steel-700 { color: #334155 !important; }
.text-steel-600 { color: #475569 !important; }
.text-steel-500 { color: #64748b !important; }
.text-steel-400 { color: #94a3b8 !important; }
.text-steel-300 { color: #cbd5e1 !important; }
.text-steel-200 { color: #e2e8f0 !important; }
.text-steel-100 { color: #f1f5f9 !important; }
.text-steel-50  { color: #f8fafc !important; }

.bg-steel-950 { background-color: #060910 !important; }
.bg-steel-900 { background-color: #0d1527 !important; }
.bg-steel-800 { background-color: #1a233a !important; }
.bg-steel-700 { background-color: #2a3756 !important; }

/* Light/White sections font color overrides */
#about-overview,
#about-heritage,
#about-accreditations,
#contact-main,
#contact-locations,
.bg-white,
.bg-slate-50,
.bg-slate-100 {
  color: #334155;
}

#about-heritage h1, #about-heritage h2, #about-heritage h3, #about-heritage h4,
#about-accreditations h1, #about-accreditations h2, #about-accreditations h3, #about-accreditations h4,
#contact-main h1, #contact-main h2, #contact-main h3, #contact-main h4,
#contact-locations h1, #contact-locations h2, #contact-locations h3, #contact-locations h4,
.bg-white h1, .bg-white h2, .bg-white h3, .bg-white h4,
.bg-slate-50 h1, .bg-slate-50 h2, .bg-slate-50 h3, .bg-slate-50 h4 {
  color: #060910 !important;
}

#about-heritage p,
#about-accreditations p,
#contact-main p,
#contact-locations p,
.bg-white p,
.bg-slate-50 p {
  color: #475569 !important;
}

/* Contact Main Section specific styling */
#contact-main {
  background-color: #f8fafc !important;
}
#contact-main h2 {
  color: #060910 !important;
}
#contact-main input,
#contact-main select,
#contact-main textarea {
  background-color: #f8fafc !important;
  color: #060910 !important;
  border-color: #cbd5e1 !important;
}
#contact-main input:focus,
#contact-main select:focus,
#contact-main textarea:focus {
  background-color: #ffffff !important;
  border-color: #f59e0b !important;
  outline: none !important;
}

/* Contact Locations Section specific styling */
#contact-locations {
  background-color: #f8fafc !important;
}
#contact-locations h2 {
  color: #060910 !important;
}
#contact-locations .bg-white {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
}
#contact-locations .bg-white h3 {
  color: #060910 !important;
}
#contact-locations .bg-white p {
  color: #475569 !important;
}

/* About Heritage specific overrides */
#about-heritage {
  background-color: #ffffff !important;
}
#about-heritage h2 {
  color: #060910 !important;
}
#about-heritage .bg-slate-50 {
  background-color: #f8fafc !important;
  border-color: #e2e8f0 !important;
}
#about-heritage .bg-slate-50 span.text-gold-600,
#about-heritage .bg-slate-50 span {
  color: #d97706 !important;
}
#about-heritage .bg-slate-50 h4 {
  color: #060910 !important;
}
#about-heritage .bg-slate-50 p {
  color: #64748b !important;
}

/* About Accreditations specific overrides */
#about-accreditations {
  background-color: #f8fafc !important;
}
#about-accreditations h2 {
  color: #060910 !important;
}
#about-accreditations .bg-white {
  background-color: #ffffff !important;
  border-color: #e2e8f0 !important;
}
#about-accreditations .bg-white .text-gold-600 {
  color: #d97706 !important;
}
#about-accreditations .bg-white p {
  color: #334155 !important;
}

/* 2. FOOTER 4-COLUMN LAYOUT */
#site-footer .grid.md\:grid-cols-4,
footer .grid.md\:grid-cols-4,
.site-footer .grid.md\:grid-cols-4,
.turbo-footer-template .grid.md\:grid-cols-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 2.5rem !important;
  width: 100% !important;
}
@media (max-width: 767px) {
  #site-footer .grid.md\:grid-cols-4,
  footer .grid.md\:grid-cols-4,
  .site-footer .grid.md\:grid-cols-4,
  .turbo-footer-template .grid.md\:grid-cols-4 {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

/* 3. SERVICES SECTION 3-COLUMN LAYOUT */
#services .grid,
.con_home_services .grid,
.services-section .grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  #services .grid,
  .con_home_services .grid,
  .services-section .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 639px) {
  #services .grid,
  .con_home_services .grid,
  .services-section .grid {
    grid-template-columns: 1fr !important;
  }
}

/* 4. CLIENT LOGOS SECTION 5-COLUMN LAYOUT */
#clients .grid,
.con_home_logos .grid,
.clients-section .grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  align-items: center !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  #clients .grid,
  .con_home_logos .grid,
  .clients-section .grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 639px) {
  #clients .grid,
  .con_home_logos .grid,
  .clients-section .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 5. BLOG / NEWS SECTION 3-COLUMN LAYOUT */
#news .grid,
.con_home_news .grid,
.news-section .grid,
.stalbau-latest-posts,
.blog-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  #news .grid,
  .con_home_news .grid,
  .news-section .grid,
  .stalbau-latest-posts,
  .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 639px) {
  #news .grid,
  .con_home_news .grid,
  .news-section .grid,
  .stalbau-latest-posts,
  .blog-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ========================================================
   PROJECTS PAGE ONLY (page-id-14 & stalbau_projects_* widgets)
   Strictly scoped - Does not affect Header, Footer or other pages
   ======================================================== */

.page-id-14 {
  background-color: #060910 !important;
}

/* Projects Hero Clearance for Fixed Transparent Header */
.page-id-14 .elementor-widget-stalbau_projects_hero > section,
.elementor-widget-stalbau_projects_hero #projects-hero {
  position: relative !important;
  padding-top: 8.5rem !important;
  padding-bottom: 5rem !important;
  background-color: #060910 !important;
  border-bottom: 1px solid rgba(51, 65, 85, 0.6) !important;
  overflow: hidden !important;
  width: 100% !important;
}

body.admin-bar.page-id-14 .elementor-widget-stalbau_projects_hero > section,
body.admin-bar .elementor-widget-stalbau_projects_hero #projects-hero {
  padding-top: 10.5rem !important;
}

@media (min-width: 640px) {
  .page-id-14 .elementor-widget-stalbau_projects_hero > section,
  .elementor-widget-stalbau_projects_hero #projects-hero {
    padding-top: 9.5rem !important;
    padding-bottom: 6rem !important;
  }

  body.admin-bar.page-id-14 .elementor-widget-stalbau_projects_hero > section,
  body.admin-bar .elementor-widget-stalbau_projects_hero #projects-hero {
    padding-top: 11.5rem !important;
  }
}

/* In Elementor Editor Mode - no overlapping header offset */
.elementor-editor-active.page-id-14 .elementor-widget-stalbau_projects_hero > section,
.elementor-editor-active .elementor-widget-stalbau_projects_hero #projects-hero {
  padding-top: 3.5rem !important;
}

/* Projects Hero Stats Grid */
.elementor-widget-stalbau_projects_hero .grid.sm\:grid-cols-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  width: 100% !important;
}
@media (max-width: 639px) {
  .elementor-widget-stalbau_projects_hero .grid.sm\:grid-cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Portfolio Filter Buttons */
.elementor-widget-stalbau_projects_portfolio .filter-btn {
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 0.55rem 1.25rem !important;
  background-color: #0f172a !important;
  color: #94a3b8 !important;
  border: 1px solid #334155 !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px)) !important;
}

.elementor-widget-stalbau_projects_portfolio .filter-btn:hover {
  color: #ffb400 !important;
  border-color: #ffb400 !important;
  background-color: #1e293b !important;
}

.elementor-widget-stalbau_projects_portfolio .filter-btn.active {
  background-color: #ffb400 !important;
  color: #060910 !important;
  border-color: #ffb400 !important;
  font-weight: 900 !important;
  box-shadow: 0 4px 12px rgba(255, 180, 0, 0.35) !important;
}

/* Projects Grid 3-Column */
.elementor-widget-stalbau_projects_portfolio #projects-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  .elementor-widget-stalbau_projects_portfolio #projects-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 639px) {
  .elementor-widget-stalbau_projects_portfolio #projects-container {
    grid-template-columns: 1fr !important;
  }
}

/* Project Cards */
.elementor-widget-stalbau_projects_portfolio .project-item {
  display: flex;
  flex-direction: column !important;
  background-color: rgba(15, 23, 42, 0.75) !important;
  border: 1px solid rgba(51, 65, 85, 0.8) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.elementor-widget-stalbau_projects_portfolio .project-item.hidden,
.elementor-widget-stalbau_projects_portfolio .project-item.is-filtered-out,
.elementor-widget-stalbau_projects_portfolio .project-item[style*="display: none"],
.project-item.hidden,
.project-item.is-filtered-out {
  display: none !important;
}
.elementor-widget-stalbau_projects_portfolio .project-item:not(.hidden):not(.is-filtered-out) {
  display: flex !important;
}
.elementor-widget-stalbau_projects_portfolio .project-item:hover {
  border-color: #ffb400 !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 32px -8px rgba(0, 0, 0, 0.6) !important;
}

.elementor-widget-stalbau_projects_portfolio .cut-badge-gold {
  background-color: #ffb400 !important;
  color: #060910 !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 0.25rem 0.6rem !important;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px)) !important;
  display: inline-block !important;
}

.elementor-widget-stalbau_projects_portfolio .btn-cut-dark {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  background-color: #0f172a !important;
  color: #f1f5f9 !important;
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border: 1px solid #334155 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 8px 100%, 0 calc(100% - 8px)) !important;
}
.elementor-widget-stalbau_projects_portfolio .btn-cut-dark:hover {
  background-color: #ffb400 !important;
  color: #060910 !important;
  border-color: #ffb400 !important;
}

/* Project Modal Overlay */
#project-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background-color: rgba(6, 9, 16, 0.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem !important;
}
#project-modal.hidden {
  display: none !important;
}

/* Projects CTA Banner Container */
.elementor-widget-stalbau_projects_cta .border-steel-800 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2.5rem !important;
  width: 100% !important;
}
@media (max-width: 1023px) {
  .elementor-widget-stalbau_projects_cta .border-steel-800 {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* Services Grid Widget - Perfect Image Fill & Uniform Alignment */
.elementor-widget-stalbau_services_grid .service-card-wide,
.elementor-widget-stalbau_services_grid .service-card-standard {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.elementor-widget-stalbau_services_grid .service-card-wide > .grid {
  display: grid !important;
  height: 100% !important;
  align-items: stretch !important;
}

.elementor-widget-stalbau_services_grid .service-img-col {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 280px !important;
  overflow: hidden !important;
}

.elementor-widget-stalbau_services_grid .service-img-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 11 !important;
  overflow: hidden !important;
}

.elementor-widget-stalbau_services_grid .service-img-col img,
.elementor-widget-stalbau_services_grid .service-img-wrap img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* About Page Profile Section (Left Story + Right Vision/Mission Dual Column) */
#about-overview {
  background-color: #f8fafc !important;
}
#about-overview h2,
#about-overview h2 span:not(.text-gold-500):not(.text-gold-400):not(.text-gold-600) {
  color: #060910 !important;
}
#about-overview .about-story-text,
#about-overview .about-story-text p {
  color: #334155 !important;
}
#about-overview .about-story-text strong {
  color: #060910 !important;
}

@media (min-width: 900px) {
  #about-overview .about-profile-grid {
    display: grid !important;
    grid-template-columns: 7fr 5fr !important;
    gap: 3rem !important;
    align-items: start !important;
  }
}

/* ========================================================
   HERO & PROJECTS SCROLL CANVAS FRAME PLAYERS
   ======================================================== */
#hero-canvas,
#projects-canvas {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#hero-scroll-container,
#projects-scroll-container {
  position: relative !important;
  width: 100% !important;
}

/* ========================================================
   HOME CONTACT SECTION & WIDGET DEDICATED DARK STYLES
   ======================================================== */
#contact,
section#contact,
.elementor-widget-stalbau_home_contact,
.elementor-widget-stalbau_home_contact section,
div[data-widget_type="stalbau_home_contact.default"] {
  background-color: #0b0f19 !important;
  color: #ffffff !important;
}

#contact h2,
section#contact h2,
.elementor-widget-stalbau_home_contact h2 {
  color: #ffffff !important;
}

#contact p,
section#contact p,
.elementor-widget-stalbau_home_contact p {
  color: #cbd5e1 !important;
}

#contact .section-tag-cut {
  background-color: #ffb400 !important;
  color: #060910 !important;
  font-weight: 800 !important;
  display: inline-block !important;
}

#contact .contact-info-icon-box {
  background-color: #1e293b !important;
  border: 1px solid #334155 !important;
  color: #ffb400 !important;
}

#contact .contact-info-title {
  color: #ffffff !important;
  font-weight: 700 !important;
}

#contact .contact-info-desc {
  color: #94a3b8 !important;
}

#contact .contact-form-card,
.elementor-widget-stalbau_home_contact .contact-form-card {
  background-color: #060910 !important;
  border: 1px solid #1e293b !important;
}

#contact .contact-form-card label,
.elementor-widget-stalbau_home_contact label {
  color: #cbd5e1 !important;
}

#contact .contact-form-card input,
#contact .contact-form-card select,
#contact .contact-form-card textarea,
.elementor-widget-stalbau_home_contact input,
.elementor-widget-stalbau_home_contact select,
.elementor-widget-stalbau_home_contact textarea {
  background-color: #0b0f19 !important;
  border: 1px solid #334155 !important;
  color: #ffffff !important;
}

#contact .contact-form-card input::placeholder,
#contact .contact-form-card textarea::placeholder,
.elementor-widget-stalbau_home_contact input::placeholder,
.elementor-widget-stalbau_home_contact textarea::placeholder {
  color: #64748b !important;
}

#contact .contact-form-card input:focus,
#contact .contact-form-card select:focus,
#contact .contact-form-card textarea:focus,
.elementor-widget-stalbau_home_contact input:focus,
.elementor-widget-stalbau_home_contact select:focus,
.elementor-widget-stalbau_home_contact textarea:focus {
  border-color: #ffb400 !important;
  outline: none !important;
  box-shadow: 0 0 0 1px #ffb400 !important;
}

/* ========================================================
   CLIENTS & EPC LOGO CAROUSEL MARQUEE
   ======================================================== */
.stalbau-marquee-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

.stalbau-marquee-track {
  display: flex;
  width: max-content;
  gap: 1.25rem;
  animation: stalbau-marquee-anim 25s linear infinite;
  will-change: transform;
}

.stalbau-marquee-container:hover .stalbau-marquee-track {
  animation-play-state: paused;
}

@keyframes stalbau-marquee-anim {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-50% - 0.625rem));
  }
}

.stalbau-logo-slide-card {
  flex-shrink: 0;
  width: 220px;
  height: 96px;
  background-color: #ffffff;
  border: 1px solid #334155;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.5rem;
  transition: all 0.3s ease;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.stalbau-logo-slide-card:hover {
  border-color: #ffb400;
  box-shadow: 0 10px 15px -3px rgba(255, 180, 0, 0.15);
  transform: translateY(-2px);
}

.stalbau-logo-slide-card img {
  max-height: 42px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.stalbau-logo-slide-card:hover img {
  transform: scale(1.06);
}

/* ========================================================
   HOME SERVICES SECTION DEDICATED STYLES
   ======================================================== */
.elementor-widget-stalbau_home_services,
.elementor-widget-stalbau_home_services section {
  background-color: #060910 !important;
  color: #ffffff !important;
}

.stalbau-home-service-card {
  position: relative !important;
  display: block !important;
  min-height: 420px !important;
  height: 26rem !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  background-color: #0b0f19 !important;
  border: 1px solid #1e293b !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  text-decoration: none !important;
}

.stalbau-home-service-card:hover {
  border-color: #ffb400 !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5) !important;
  transform: translateY(-4px) !important;
}

.stalbau-home-service-card .card-bg-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
  filter: brightness(0.75) contrast(1.15) !important;
}

.stalbau-home-service-card:hover .card-bg-img {
  transform: scale(1.08) !important;
  filter: brightness(0.85) contrast(1.2) !important;
}

.stalbau-home-service-card .card-gradient-mask {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, #060910 0%, rgba(6, 9, 16, 0.75) 45%, rgba(6, 9, 16, 0.15) 100%) !important;
  pointer-events: none !important;
}

.stalbau-home-service-card .card-content-wrap {
  position: absolute !important;
  inset-inline: 0 !important;
  bottom: 0 !important;
  padding: 1.5rem !important;
  z-index: 10 !important;
}

/* ========================================================
   HOME WHY US / ADVANTAGES DEDICATED WIDGET
   ======================================================== */
.elementor-widget-stalbau_home_why_us .stalbau-why-us-grid {
  display: grid !important;
  grid-template-columns: 1.05fr 0.95fr !important;
  gap: 3.5rem !important;
  align-items: center !important;
  width: 100% !important;
}

@media (max-width: 1023px) {
  .elementor-widget-stalbau_home_why_us .stalbau-why-us-grid {
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
  }
}

.elementor-widget-stalbau_home_why_us .stalbau-why-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 1.25rem !important;
  width: 100% !important;
  margin-bottom: 2rem !important;
}

@media (max-width: 639px) {
  .elementor-widget-stalbau_home_why_us .stalbau-why-stats-grid {
    grid-template-columns: 1fr !important;
  }
}

.elementor-widget-stalbau_home_why_us .stalbau-why-stat-card {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  padding: 1.25rem 1.5rem !important;
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)) !important;
  box-shadow: 0 10px 25px -5px rgba(255, 180, 0, 0.35) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-stat-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 28px -4px rgba(255, 180, 0, 0.5) !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-stat-num {
  font-family: 'Oswald', sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #060910 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-stat-lbl {
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #060910 !important;
  margin: 0 !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 2rem 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-checklist li {
  display: flex !important;
  align-items: center !important;
  gap: 0.85rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #334155 !important;
  line-height: 1.5 !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-checklist .check-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.35rem !important;
  height: 1.35rem !important;
  border-radius: 9999px !important;
  background-color: #ffb400 !important;
  color: #060910 !important;
  font-weight: 900 !important;
  font-size: 0.75rem !important;
  flex-shrink: 0 !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-media-stack {
  position: relative !important;
  width: 100% !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-main-img-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 30px -10px rgba(0, 0, 0, 0.25) !important;
  border: 2px solid #e2e8f0 !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-main-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-sub-img-wrap {
  position: absolute !important;
  bottom: -2rem !important;
  left: -1.5rem !important;
  width: 65% !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  border: 4px solid #ffffff !important;
  box-shadow: 0 25px 40px -10px rgba(0, 0, 0, 0.35) !important;
  z-index: 5 !important;
  background-color: #060910 !important;
}

@media (max-width: 639px) {
  .elementor-widget-stalbau_home_why_us .stalbau-why-sub-img-wrap {
    display: none !important;
  }
}

.elementor-widget-stalbau_home_why_us .stalbau-why-sub-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-floating-badge {
  position: absolute !important;
  top: 1.25rem !important;
  right: 1.25rem !important;
  z-index: 10 !important;
  padding: 1.25rem 1.5rem !important;
  text-align: center !important;
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.35) !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-badge-num {
  font-family: 'Oswald', sans-serif !important;
  font-size: 2.5rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #060910 !important;
  margin: 0 0 0.25rem 0 !important;
  display: block !important;
}

.elementor-widget-stalbau_home_why_us .stalbau-why-badge-lbl {
  font-family: 'Oswald', 'Inter', sans-serif !important;
  font-size: 0.6875rem !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  color: #060910 !important;
  margin: 0 !important;
  display: block !important;
}

/* Stalbau Contact Page Right Column CF7 & Form Styling */
.page-id-15 #contact-main .wpcf7-form,
.stalbau-contact-right-col .wpcf7-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
}

.page-id-15 #contact-main .wpcf7 label,
.stalbau-contact-right-col .wpcf7 label {
  display: block !important;
  font-family: 'Oswald', 'Inter', monospace, sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #334155 !important;
  margin-bottom: 0.35rem !important;
}

.page-id-15 #contact-main .wpcf7 input[type="text"],
.page-id-15 #contact-main .wpcf7 input[type="email"],
.page-id-15 #contact-main .wpcf7 input[type="tel"],
.page-id-15 #contact-main .wpcf7 input[type="url"],
.page-id-15 #contact-main .wpcf7 select,
.stalbau-contact-right-col .wpcf7 input[type="text"],
.stalbau-contact-right-col .wpcf7 input[type="email"],
.stalbau-contact-right-col .wpcf7 input[type="tel"],
.stalbau-contact-right-col .wpcf7 input[type="url"],
.stalbau-contact-right-col .wpcf7 select,
.stalbau-contact-right-col input[type="text"],
.stalbau-contact-right-col input[type="email"],
.stalbau-contact-right-col input[type="tel"],
.stalbau-contact-right-col select {
  width: 100% !important;
  background-color: #f8fafc !important;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  border-radius: 4px !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.8125rem !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s !important;
}

/* Reduced Textarea Height (Only on Contact Page) */
.page-id-15 #contact-main textarea,
.page-id-15 #contact-main .wpcf7 textarea,
.stalbau-contact-right-col textarea,
.stalbau-contact-right-col .wpcf7 textarea {
  width: 100% !important;
  height: 85px !important;
  min-height: 85px !important;
  max-height: 150px !important;
  background-color: #f8fafc !important;
  background: #f8fafc !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  border-radius: 4px !important;
  padding: 0.75rem 1rem !important;
  font-size: 0.8125rem !important;
  box-sizing: border-box !important;
  resize: vertical !important;
  transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s !important;
}

.page-id-15 #contact-main .wpcf7 input:focus,
.page-id-15 #contact-main .wpcf7 select:focus,
.page-id-15 #contact-main .wpcf7 textarea:focus,
.stalbau-contact-right-col input:focus,
.stalbau-contact-right-col select:focus,
.stalbau-contact-right-col textarea:focus {
  background-color: #ffffff !important;
  background: #ffffff !important;
  border-color: #ffb400 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(255, 180, 0, 0.25) !important;
}

/* Cut Gold Submit Button (Only on Contact Page) */
.page-id-15 #contact-main input[type="submit"],
.page-id-15 #contact-main .wpcf7-submit,
.page-id-15 #contact-main .btn-cut-primary,
.stalbau-contact-right-col input[type="submit"],
.stalbau-contact-right-col .wpcf7-submit,
.stalbau-contact-right-col .wpcf7 input[type="submit"],
.stalbau-contact-right-col .btn-cut-primary,
.stalbau-contact-right-col button[type="submit"] {
  display: block !important;
  width: 100% !important;
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 900 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 1.1rem 2rem !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  -webkit-clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  box-shadow: 0 8px 24px -4px rgba(255, 180, 0, 0.45) !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-top: 0.75rem !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

.page-id-15 #contact-main input[type="submit"]:hover,
.page-id-15 #contact-main .wpcf7-submit:hover,
.page-id-15 #contact-main .btn-cut-primary:hover,
.stalbau-contact-right-col input[type="submit"]:hover,
.stalbau-contact-right-col .wpcf7-submit:hover,
.stalbau-contact-right-col .wpcf7 input[type="submit"]:hover,
.stalbau-contact-right-col .btn-cut-primary:hover,
.stalbau-contact-right-col button[type="submit"]:hover {
  background-color: #f59e0b !important;
  background: #f59e0b !important;
  color: #060910 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px -4px rgba(255, 180, 0, 0.65) !important;
}

.stalbau-contact-right-col .wpcf7 .wpcf7-response-output {
  margin: 1rem 0 0 0 !important;
  padding: 0.85rem 1rem !important;
  border-radius: 6px !important;
  font-size: 0.8125rem !important;
  text-align: center !important;
}

/* ========================================================
   HOME PAGE CONTACT SECTION - CONTACT FORM 7 DARK THEME
   ======================================================== */
#contact .contact-form-card .wpcf7-form {
  gap: 1rem !important;
}

#contact .contact-form-card .wpcf7 p {
  margin: 0 0 0.85rem 0 !important;
}

#contact .contact-form-card .wpcf7 br {
  display: none !important;
}

#contact .contact-form-card .wpcf7 label {
  display: block !important;
  font-family: inherit !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #94a3b8 !important;
  margin-bottom: 0.5rem !important;
}

#contact .contact-form-card .wpcf7 input[type="text"],
#contact .contact-form-card .wpcf7 input[type="email"],
#contact .contact-form-card .wpcf7 input[type="tel"],
#contact .contact-form-card .wpcf7 input[type="url"],
#contact .contact-form-card .wpcf7 select,
#contact .contact-form-card .wpcf7 textarea {
  width: 100% !important;
  background-color: #0b0f19 !important;
  background: #0b0f19 !important;
  border: 1px solid #1e293b !important;
  border-radius: 4px !important;
  padding: 0.75rem 1rem !important;
  color: #ffffff !important;
  font-size: 0.875rem !important;
  font-family: inherit !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#contact .contact-form-card .wpcf7 input[type="text"]::placeholder,
#contact .contact-form-card .wpcf7 input[type="email"]::placeholder,
#contact .contact-form-card .wpcf7 input[type="tel"]::placeholder,
#contact .contact-form-card .wpcf7 textarea::placeholder {
  color: #64748b !important;
  opacity: 1 !important;
}

#contact .contact-form-card .wpcf7 input[type="text"]:focus,
#contact .contact-form-card .wpcf7 input[type="email"]:focus,
#contact .contact-form-card .wpcf7 input[type="tel"]:focus,
#contact .contact-form-card .wpcf7 select:focus,
#contact .contact-form-card .wpcf7 textarea:focus {
  outline: none !important;
  border-color: #ffb400 !important;
  box-shadow: 0 0 0 1px #ffb400, 0 0 12px rgba(255, 180, 0, 0.25) !important;
  background-color: #0f1524 !important;
}

#contact .contact-form-card .wpcf7 select {
  cursor: pointer !important;
  appearance: auto !important;
}

#contact .contact-form-card .wpcf7 select option {
  background-color: #0b0f19 !important;
  color: #ffffff !important;
}

#contact .contact-form-card .wpcf7 textarea {
  height: 85px !important;
  min-height: 85px !important;
  max-height: 140px !important;
  resize: vertical !important;
}

#contact .contact-form-card .wpcf7 input[type="submit"],
#contact .contact-form-card .wpcf7 .wpcf7-submit,
#contact .contact-form-card .wpcf7 .btn-cut-primary {
  width: 100% !important;
  display: block !important;
  background-color: #ffb400 !important;
  background: #ffb400 !important;
  color: #060910 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-size: 0.875rem !important;
  padding: 0.875rem 1.75rem !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
  text-align: center !important;
}

#contact .contact-form-card .wpcf7 input[type="submit"]:hover,
#contact .contact-form-card .wpcf7 .wpcf7-submit:hover,
#contact .contact-form-card .wpcf7 .btn-cut-primary:hover {
  background-color: #f59e0b !important;
  background: #f59e0b !important;
  color: #060910 !important;
  box-shadow: 0 8px 24px rgba(255, 180, 0, 0.5) !important;
  transform: translateY(-2px) !important;
}

#contact .contact-form-card .wpcf7 .wpcf7-not-valid-tip {
  font-size: 0.75rem !important;
  color: #ef4444 !important;
  margin-top: 0.35rem !important;
  display: block !important;
}

#contact .contact-form-card .wpcf7 .wpcf7-response-output {
  margin: 1rem 0 0 0 !important;
  padding: 0.75rem 1rem !important;
  border-radius: 4px !important;
  font-size: 0.8125rem !important;
  text-align: center !important;
  background: rgba(15, 23, 42, 0.9) !important;
  border: 1px solid #334155 !important;
  color: #f8fafc !important;
}

/* ========================================================
   FLOATING WHATSAPP CHAT WIDGET (RIGHT BOTTOM)
   ======================================================== */
.stalbau-whatsapp-root {
  position: fixed !important;
  right: 20px !important;
  bottom: 20px !important;
  z-index: 999999 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  pointer-events: none !important;
}

.stalbau-whatsapp-root * {
  box-sizing: border-box !important;
}

.stalbau-wa-trigger-wrapper {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  pointer-events: auto !important;
}

/* Floating WhatsApp Button - Compact Size */
.stalbau-wa-btn {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 16px rgba(37, 211, 102, 0.4), 0 2px 6px rgba(0, 0, 0, 0.35) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
  cursor: pointer !important;
  position: relative !important;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  text-decoration: none !important;
  color: #ffffff !important;
  outline: none !important;
}

.stalbau-wa-btn:hover {
  transform: scale(1.08) translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(37, 211, 102, 0.55), 0 3px 8px rgba(0, 0, 0, 0.4) !important;
}

.stalbau-wa-btn:active {
  transform: scale(0.95) !important;
}

.stalbau-wa-icon-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Only display the relevant icon */
.stalbau-wa-btn .stalbau-wa-icon-close {
  display: none !important;
}

.stalbau-wa-btn.is-active .stalbau-wa-icon-open {
  display: none !important;
}

.stalbau-wa-btn.is-active .stalbau-wa-icon-close {
  display: flex !important;
}

/* Pulsing Ring Effect */
.stalbau-wa-pulse {
  position: absolute !important;
  inset: -3px !important;
  border-radius: 50% !important;
  background: #25D366 !important;
  z-index: -1 !important;
  animation: stalbauWAPulse 2.4s cubic-bezier(0.24, 0, 0.38, 1) infinite !important;
  opacity: 0.65 !important;
  pointer-events: none !important;
}

@keyframes stalbauWAPulse {
  0% {
    transform: scale(1);
    opacity: 0.65;
  }
  60% {
    transform: scale(1.35);
    opacity: 0;
  }
  100% {
    transform: scale(1.35);
    opacity: 0;
  }
}

/* Tooltip Badge */
.stalbau-wa-badge-tooltip {
  background: #0b0f19 !important;
  color: #ffffff !important;
  border: 1px solid #1e293b !important;
  border-left: 3px solid #ffb400 !important;
  padding: 5px 11px !important;
  border-radius: 14px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  transition: all 0.25s ease !important;
  pointer-events: auto !important;
}

.stalbau-wa-badge-tooltip span {
  color: #f8fafc !important;
}

/* Interactive WhatsApp Card / Popup */
.stalbau-wa-card {
  position: fixed !important;
  right: 20px !important;
  bottom: 78px !important;
  width: 330px !important;
  max-width: calc(100vw - 32px) !important;
  background: #0b0f19 !important;
  border: 1px solid #1e293b !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 180, 0, 0.15) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  transform: translateY(16px) scale(0.95) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 1000000 !important;
  pointer-events: none !important;
}

.stalbau-wa-card.is-open {
  transform: translateY(0) scale(1) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Card Header */
.stalbau-wa-card-header {
  background: linear-gradient(135deg, #060910 0%, #111827 100%) !important;
  border-bottom: 1px solid #1e293b !important;
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  position: relative !important;
}

.stalbau-wa-avatar-box {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3) !important;
}

.stalbau-wa-card-info {
  flex-grow: 1 !important;
  min-width: 0 !important;
}

.stalbau-wa-card-title {
  color: #ffffff !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  margin: 0 0 2px 0 !important;
  line-height: 1.2 !important;
}

.stalbau-wa-card-status {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #94a3b8 !important;
  font-size: 11px !important;
}

.stalbau-wa-status-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #22c55e !important;
  box-shadow: 0 0 8px #22c55e !important;
  display: inline-block !important;
}

.stalbau-wa-close-btn {
  background: transparent !important;
  border: none !important;
  color: #94a3b8 !important;
  font-size: 24px !important;
  cursor: pointer !important;
  padding: 0 4px !important;
  line-height: 1 !important;
  transition: color 0.2s !important;
}

.stalbau-wa-close-btn:hover {
  color: #ffffff !important;
}

/* Card Body */
.stalbau-wa-card-body {
  padding: 16px !important;
  background: #060910 !important;
  background-image: radial-gradient(rgba(255, 180, 0, 0.05) 1px, transparent 1px) !important;
  background-size: 14px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.stalbau-wa-bubble {
  background: #131b2e !important;
  border: 1px solid #1e293b !important;
  border-radius: 12px 12px 12px 2px !important;
  padding: 12px 14px !important;
  position: relative !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important;
}

.stalbau-wa-bubble-sender {
  color: #ffb400 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 4px !important;
}

.stalbau-wa-bubble-text {
  color: #e2e8f0 !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

.stalbau-wa-bubble-time {
  display: block !important;
  text-align: right !important;
  color: #64748b !important;
  font-size: 10px !important;
  margin-top: 6px !important;
}

/* Card Footer */
.stalbau-wa-card-footer {
  padding: 14px 16px !important;
  background: #0b0f19 !important;
  border-top: 1px solid #1e293b !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.stalbau-wa-start-chat-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  background: #25D366 !important;
  color: #060910 !important;
  font-weight: 800 !important;
  font-size: 12.5px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 12px 16px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)) !important;
  cursor: pointer !important;
}

.stalbau-wa-start-chat-btn:hover {
  background: #22c35e !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(37, 211, 102, 0.45) !important;
  color: #060910 !important;
}

.stalbau-wa-card-number-sub {
  font-size: 11px !important;
  color: #64748b !important;
  text-align: center !important;
}

.stalbau-wa-card-number-sub a {
  color: #ffb400 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

.stalbau-wa-card-number-sub a:hover {
  text-decoration: underline !important;
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .stalbau-whatsapp-root {
    right: 16px !important;
    bottom: 16px !important;
  }
  .stalbau-wa-btn {
    width: 56px !important;
    height: 56px !important;
  }
  .stalbau-wa-card {
    right: 16px !important;
    bottom: 84px !important;
    width: calc(100vw - 32px) !important;
  }
  .stalbau-wa-badge-tooltip {
    display: none !important;
  }
}

/* ========================================================
   SOCIAL MEDIA ICONS WIDGET & FOOTER INTEGRATION
   ======================================================== */
.stalbau-social-icon-btn {
  background-color: #131b2e !important;
  border: 1px solid #334155 !important;
  color: #94a3b8 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  clip-path: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 7px 100%, 0 calc(100% - 7px)) !important;
  text-decoration: none !important;
}

.stalbau-social-icon-btn:hover {
  background-color: #ffb400 !important;
  border-color: #ffb400 !important;
  color: #060910 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 16px rgba(255, 180, 0, 0.45) !important;
}

.stalbau-social-icon-btn svg {
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
  transition: transform 0.2s ease !important;
}

.stalbau-social-icon-btn:hover svg {
  transform: scale(1.1) !important;
}