/*
 * Abheben mit Musik – Elementor Free Layoutabgleich v1.2
 * Die ursprünglichen Elementor-Seiten bleiben editierbar.
 * Diese Regeln haben bewusst höhere Spezifität als Elementors .e-con-Defaults.
 */

/* Abschnitte sind volle Flächen; das innere .amm-shell limitiert auf 1190px. */
body .elementor .amm-section.e-con,
body .elementor .amm-subhero.e-con {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-height:0;
  gap:0 !important;
  margin:0 !important;
  padding:110px 0 !important;
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
}
body .elementor .amm-hero.e-con {padding:76px 0 118px !important;}
body .elementor .amm-subhero.e-con {padding:75px 0 90px !important;}
body .elementor .amm-cta.e-con {padding:0 0 115px !important;}
body .elementor .amm-section.e-con .e-con,
body .elementor .amm-subhero.e-con .e-con {
  min-width:0;
  max-width:100%;
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
  --row-gap:0px;--column-gap:0px;
  padding:0 !important;
  gap:0;
}
body .elementor .amm-section.e-con .amm-shell.e-con,
body .elementor .amm-subhero.e-con .amm-shell.e-con {
  width:min(1190px,calc(100% - 88px)) !important;
  max-width:1190px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  flex:0 1 auto;
  --width:100%;
}
/* Grid-Layouts dürfen nicht durch Elementors Flexbox überschrieben werden. */
body .elementor .amm-section.e-con .e-con.amm-hero-grid,
body .elementor .amm-section.e-con .e-con.amm-subhero-grid,
body .elementor .amm-section.e-con .e-con.amm-editorial-grid,
body .elementor .amm-section.e-con .e-con.amm-story-grid,
body .elementor .amm-section.e-con .e-con.amm-about-grid,
body .elementor .amm-section.e-con .e-con.amm-contact-grid,
body .elementor .amm-section.e-con .e-con.amm-cards,
body .elementor .amm-section.e-con .e-con.amm-photo-grid,
body .elementor .amm-section.e-con .e-con.amm-title-row {
  display:grid !important;
  width:100%;
  min-width:0;
  align-items:center;
}
body .elementor .amm-section.e-con .e-con.amm-hero-grid {grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:65px !important;}
body .elementor .amm-section.e-con .e-con.amm-subhero-grid {grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:75px !important;}
body .elementor .amm-section.e-con .e-con.amm-editorial-grid,
body .elementor .amm-section.e-con .e-con.amm-story-grid {grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:9% !important;}
body .elementor .amm-section.e-con .e-con.amm-about-grid {grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:9% !important;}
body .elementor .amm-section.e-con .e-con.amm-contact-grid {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8% !important;align-items:start;}
body .elementor .amm-section.e-con .e-con.amm-cards {grid-template-columns:repeat(3,minmax(0,1fr));gap:19px !important;align-items:stretch;margin-top:34px;}
body .elementor .amm-section.e-con .e-con.amm-photo-grid {grid-template-columns:1.3fr 1fr .87fr;gap:17px !important;height:365px;align-items:stretch;}
body .elementor .amm-section.e-con .e-con.amm-title-row {grid-template-columns:minmax(0,1fr) auto;gap:35px !important;align-items:end;margin-bottom:30px;}

/* Desktop-Hero: gezielte Maße schlagen Elementors Standardbreite 100%. */
body .elementor .amm-section.e-con .e-con.amm-hero-copy {padding:20px 0 !important;width:100%;}
body .elementor .amm-section.e-con .e-con.amm-hero-visual {position:relative;min-height:530px;width:100%;overflow:visible;}
body .elementor .amm-section.e-con .e-con.amm-hero-main-photo {
  position:absolute !important;inset:0 14% 34px 0 !important;
  width:auto !important;height:auto !important;max-width:none;
  border-radius:190px 24px 24px 24px;transform:rotate(-3deg);
  overflow:hidden;display:block !important;
}
body .elementor .amm-section.e-con .e-con.amm-hero-small-photo {
  position:absolute !important;right:0 !important;bottom:-19px !important;
  left:auto !important;top:auto !important;
  width:39% !important;height:240px !important;
  border:8px solid var(--navy);border-radius:130px 130px 22px 22px;
  transform:rotate(7deg);overflow:hidden;display:block !important;
}
body .elementor .amm-hero-visual > .elementor-widget-text-editor {
  position:absolute !important;bottom:4px;left:-27px;
  width:150px !important;height:150px;z-index:3;
  transform:rotate(-11deg);margin:0;
}
body .elementor .amm-hero-visual > .elementor-widget-text-editor .elementor-widget-container,
body .elementor .amm-hero-visual > .elementor-widget-text-editor .amm-visual-stamp {
  width:100%;height:100%;margin:0;transform:none;
}
body .elementor .amm-hero-visual .amm-visual-stamp {position:static;display:grid;place-items:center;}

/* Alle Elementor-Bildwidget-Wrapper müssen die volle Höhe füllen. */
body .elementor .e-con.amm-hero-main-photo .elementor-widget-image,
body .elementor .e-con.amm-hero-small-photo .elementor-widget-image,
body .elementor .e-con.amm-editorial-photo .elementor-widget-image,
body .elementor .e-con.amm-about-photo .elementor-widget-image,
body .elementor .e-con.amm-image-frame .elementor-widget-image,
body .elementor .e-con.amm-photo-tile .elementor-widget-image {height:100% !important;width:100% !important;min-height:0;}
body .elementor .e-con.amm-hero-main-photo .elementor-widget-container,
body .elementor .e-con.amm-hero-small-photo .elementor-widget-container,
body .elementor .e-con.amm-editorial-photo .elementor-widget-container,
body .elementor .e-con.amm-about-photo .elementor-widget-container,
body .elementor .e-con.amm-image-frame .elementor-widget-container,
body .elementor .e-con.amm-photo-tile .elementor-widget-container {height:100%;width:100%;}
body .elementor .e-con.amm-hero-main-photo img,
body .elementor .e-con.amm-hero-small-photo img,
body .elementor .e-con.amm-editorial-photo img,
body .elementor .e-con.amm-about-photo img,
body .elementor .e-con.amm-image-frame img,
body .elementor .e-con.amm-photo-tile img {height:100% !important;width:100% !important;object-fit:cover;display:block;max-width:none;}
body .elementor .amm-section.e-con .e-con.amm-editorial-photo {min-height:400px;height:535px;overflow:hidden;border-radius:230px 22px 22px 22px;}
body .elementor .amm-section.e-con .e-con.amm-about-photo {height:470px;width:min(100%,420px)!important;margin-left:auto!important;overflow:hidden;border-radius:225px 225px 18px 18px;}
body .elementor .amm-section.e-con .e-con.amm-photo-tile {min-height:0;height:100%;width:100%;overflow:hidden;border-radius:16px;}
body .elementor .amm-section.e-con .e-con.amm-image-frame {min-height:0;overflow:hidden;}
body .elementor .amm-subhero .e-con.amm-image-frame {height:350px;}
body .elementor .amm-story .e-con.amm-image-frame {height:510px;}

/* Cards und CTA sind echte editierbare Container – ihre Paddingwerte müssen erhalten bleiben. */
body .elementor .amm-section.e-con .e-con.amm-service-card {
  display:flex !important;flex-direction:column !important;
  align-items:flex-start;min-height:330px;
  padding:37px 34px 33px !important;
  border-radius:20px;width:100%;
}
body .elementor .amm-section.e-con .e-con.amm-cta-inner {
  display:flex !important;flex-direction:column !important;align-items:center;
  padding:75px max(30px,6vw) !important;
  width:100%;border-radius:28px;
}
body .elementor .amm-section.e-con .e-con.amm-contact-box {padding:37px !important;}
body .elementor .amm-section.e-con .e-con.amm-feature {padding:28px 28px 26px !important;}
body .elementor .amm-section.e-con .e-con.amm-story-grid.is-reverse .amm-image-frame {order:2;}

/* Elementor Kit Farben, Schriftgrößen und Widget-Abstände neutralisieren. */
body .elementor .amm-section.e-con .elementor-widget-heading .elementor-heading-title {
  color:inherit;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-weight:770;letter-spacing:-.053em;line-height:1.11;
  padding:0;margin:0 0 23px;
}
body .elementor .amm-section.e-con .elementor-widget-heading h1.elementor-heading-title {font-size:clamp(50px,5.8vw,90px);}
body .elementor .amm-section.e-con .elementor-widget-heading h2.elementor-heading-title {font-size:clamp(36px,4.1vw,62px);}
body .elementor .amm-section.e-con .elementor-widget-heading h3.elementor-heading-title {font-size:clamp(23px,2.3vw,32px);}
body .elementor .amm-subhero.e-con .elementor-widget-heading h1.elementor-heading-title {font-size:clamp(49px,5.2vw,79px);}
body .elementor .amm-section.e-con .elementor-widget-heading .elementor-heading-title em {
  font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;
  color:var(--coral);letter-spacing:-.055em;
}
body .elementor .amm-hero .elementor-widget-heading .elementor-heading-title,
body .elementor .amm-subhero .elementor-widget-heading .elementor-heading-title,
body .elementor .amm-cta .elementor-widget-heading .elementor-heading-title {color:#fff;}
body .elementor .amm-section.e-con .elementor-widget-text-editor {color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;}
body .elementor .amm-section.e-con .elementor-widget-text-editor p {margin:0 0 1.1em;}
body .elementor .amm-section.e-con .elementor-widget-text-editor .amm-eyebrow {margin:0 0 18px;font-size:12px;line-height:1.4;}
body .elementor .amm-section.e-con .elementor-widget-text-editor .amm-intro {margin:0 0 30px;line-height:1.55;font-size:clamp(18px,2vw,22px);}
body .elementor .amm-section.e-con .elementor-widget-text-editor .amm-section-lead {margin:0 0 35px;font-size:19px;}
body .elementor .amm-section.e-con .elementor-widget-text-editor .amm-mini-note {margin:24px 0 0;font-size:13px;}
body .elementor .amm-section.e-con .e-con.amm-editorial-copy .elementor-widget-text-editor p:not(.amm-eyebrow),
body .elementor .amm-section.e-con .e-con.amm-about-copy .elementor-widget-text-editor p:not(.amm-eyebrow),
body .elementor .amm-section.e-con .e-con.amm-story-copy .elementor-widget-text-editor p:not(.amm-eyebrow) {color:var(--sub);font-size:18px;line-height:1.7;}
body .elementor .amm-section.e-con .e-con.amm-service-card .elementor-heading-title {font-size:34px;}
body .elementor .amm-section.e-con .e-con.amm-service-card .elementor-widget-text-editor p:not(.amm-card-n) {font-size:15px;color:#51616a;}
body .elementor .amm-section.e-con .e-con.amm-service-card .amm-card-n {margin:0 0 36px;font-size:11px;}
body .elementor .amm-section.e-con .e-con.amm-service-card > .elementor-widget-button {margin-top:auto;}
body .elementor .amm-section.e-con .e-con.amm-title-row .elementor-heading-title {margin-bottom:0;}

/* Buttons: Elementor setzt ein eigenes Kit. Dieses Farbschema hat Vorrang. */
body .elementor .amm-section.e-con .elementor-widget-button .elementor-button {
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  background:var(--coral);color:var(--navy);border:0;border-radius:50px;
  min-height:48px;padding:14px 26px;font-size:14px;font-weight:800;
  font-family:inherit;text-decoration:none;line-height:1.2;
}
body .elementor .amm-section.e-con .elementor-widget-button.amm-text-link .elementor-button {
  background:transparent !important;color:var(--navy) !important;
  border-radius:0;border-bottom:1px solid currentColor;
  min-height:auto;padding:0;text-decoration:none;
}
body .elementor .amm-section.e-con .e-con.amm-cta-inner .elementor-widget-text-editor {text-align:center;color:#c8d5d9;}
body .elementor .amm-section.e-con .e-con.amm-cta-inner .elementor-widget-heading {text-align:center;}

/* 1.1 konnte alte e-con-boxed-Elemente zurücklassen. */
body .elementor .amm-section.e-con .e-con.e-con-boxed > .e-con-inner {width:100%;max-width:none;min-width:0;}
body .elementor .amm-section.e-con .e-con.amm-hero-grid.e-con-boxed > .e-con-inner,
body .elementor .amm-section.e-con .e-con.amm-editorial-grid.e-con-boxed > .e-con-inner,
body .elementor .amm-section.e-con .e-con.amm-about-grid.e-con-boxed > .e-con-inner,
body .elementor .amm-section.e-con .e-con.amm-story-grid.e-con-boxed > .e-con-inner,
body .elementor .amm-section.e-con .e-con.amm-cards.e-con-boxed > .e-con-inner,
body .elementor .amm-section.e-con .e-con.amm-photo-grid.e-con-boxed > .e-con-inner {display:contents;}

/* Sicherheitsnetz für Seiten, bei denen nach Import noch Boxed-Container verblieben. */
body .elementor .amm-section.e-con-boxed > .e-con-inner {display:contents;}
body .elementor .amm-section.e-con .amm-shell.e-con-boxed > .e-con-inner {
  width:100%;max-width:100%;gap:0;
}
body .elementor .amm-section.e-con .e-con.amm-title-row.e-con-boxed > .e-con-inner,
body .elementor .amm-section.e-con .e-con.amm-subhero-grid.e-con-boxed > .e-con-inner,
body .elementor .amm-section.e-con .e-con.amm-contact-grid.e-con-boxed > .e-con-inner {display:contents;}

/* Tablet und Smartphone */
@media (max-width:1190px){
 .amm-menu-button{display:block;}
 .amm-nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--navy);padding:16px 30px 25px;z-index:30;}
 .amm-nav.is-open{display:flex;}
 .amm-nav .amm-nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;}
 .amm-nav a{font-size:15px;display:block;padding:11px 4px;border-bottom:1px solid #ffffff14;}
}
@media (max-width:900px){
 body .elementor .amm-section.e-con .e-con.amm-hero-grid,
 body .elementor .amm-section.e-con .e-con.amm-subhero-grid,
 body .elementor .amm-section.e-con .e-con.amm-editorial-grid,
 body .elementor .amm-section.e-con .e-con.amm-story-grid,
 body .elementor .amm-section.e-con .e-con.amm-about-grid,
 body .elementor .amm-section.e-con .e-con.amm-contact-grid {grid-template-columns:minmax(0,1fr);gap:38px !important;}
 body .elementor .amm-section.e-con .e-con.amm-cards {grid-template-columns:repeat(2,minmax(0,1fr));}
 body .elementor .amm-section.e-con .e-con.amm-photo-grid {grid-template-columns:1.2fr 1fr 1fr;height:300px;}
 body .elementor .amm-section.e-con .e-con.amm-hero-visual {min-height:450px;max-width:650px;margin:0 auto;}
 body .elementor .amm-section.e-con .e-con.amm-editorial-photo {height:400px;}
 body .elementor .amm-section.e-con .e-con.amm-about-photo {margin-left:auto!important;margin-right:auto!important;}
 body .elementor .amm-section.e-con .amm-shell.e-con {width:calc(100% - 56px)!important;}
 body .elementor .amm-section.e-con {padding:75px 0 !important;}
 body .elementor .amm-hero.e-con {padding:55px 0 85px !important;}
 body .elementor .amm-cta.e-con {padding:0 0 75px !important;}
}
@media (max-width:600px){
 body .elementor .amm-section.e-con .amm-shell.e-con {width:calc(100% - 36px)!important;}
 body .elementor .amm-section.e-con {padding:66px 0 !important;}
 body .elementor .amm-hero.e-con {padding:50px 0 75px !important;}
 body .elementor .amm-cta.e-con {padding:0 0 68px !important;}
 body .elementor .amm-subhero.e-con {padding:58px 0 67px !important;}
 body .elementor .amm-section.e-con .elementor-widget-heading h1.elementor-heading-title {font-size:clamp(45px,12vw,62px);}
 body .elementor .amm-section.e-con .elementor-widget-heading h2.elementor-heading-title {font-size:clamp(33px,9vw,46px);}
 body .elementor .amm-section.e-con .elementor-widget-heading h3.elementor-heading-title {font-size:25px;}
 body .elementor .amm-section.e-con .e-con.amm-hero-visual {height:390px;min-height:390px;}
 body .elementor .amm-section.e-con .e-con.amm-hero-main-photo {inset:0 12% 25px 4% !important;}
 body .elementor .amm-section.e-con .e-con.amm-hero-small-photo {height:200px !important;}
 body .elementor .amm-hero-visual > .elementor-widget-text-editor {width:115px!important;height:115px;left:-3px;}
 body .elementor .amm-hero-visual .amm-visual-stamp {font-size:16px;}
 body .elementor .amm-section.e-con .e-con.amm-cards {grid-template-columns:1fr;}
 body .elementor .amm-section.e-con .e-con.amm-service-card {min-height:270px;padding:28px !important;}
 body .elementor .amm-section.e-con .e-con.amm-service-card .amm-card-n {margin-bottom:19px;}
 body .elementor .amm-section.e-con .e-con.amm-photo-grid {grid-template-columns:1fr 1fr;height:480px;}
 body .elementor .amm-section.e-con .e-con.amm-photo-grid > .amm-photo-tile:nth-child(3){grid-column:span 2;}
 body .elementor .amm-section.e-con .e-con.amm-title-row {display:flex!important;flex-direction:column;align-items:start;gap:12px!important;}
 body .elementor .amm-section.e-con .e-con.amm-about-photo {height:380px;}
 body .elementor .amm-section.e-con .e-con.amm-subhero-grid .amm-image-frame {height:300px;}
 body .elementor .amm-section.e-con .e-con.amm-story-grid .amm-image-frame {height:330px;}
 body .elementor .amm-section.e-con .e-con.amm-cta-inner {padding:60px 30px !important;}
 body .elementor .amm-section.e-con .e-con.amm-contact-box {padding:23px !important;}
}
