.elementor-1453 .elementor-element.elementor-element-2d18759{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1453 .elementor-element.elementor-element-d9b4130{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1453 .elementor-element.elementor-element-ada51d9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1453 .elementor-element.elementor-element-5cd5150{--spacer-size:50px;}.elementor-1453 .elementor-element.elementor-element-38a887b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}/* Start custom CSS *//************************************************************
  3DDruck-Magdeburg • Tipps & Tricks – Card/CTA/FAQ (responsive)
*************************************************************/

/* ===== Variablen ===== */
.tt-scope{
  --brand:#1A56FF;
  --ink:#0B1324;
  --muted:#334155;
  --glass:rgba(255,255,255,.86);
  --line:rgba(2,6,23,.08);
  --radius:22px;
  --container:clamp(320px, 94vw, 1080px);
  --shadow-deep:0 32px 90px rgba(2,6,23,.18);
  --shadow-floor:0 80px 70px -60px rgba(2,6,23,.18);
  --shadow-soft:0 10px 24px rgba(2,6,23,.08);
}

/* ===== Grundlayout & Container ===== */
.tt-scope .tt-section{ padding:clamp(16px,3vw,28px) 0 }

/* WICHTIG: nie breiter als Viewport */
.tt-scope .tt-wrap{
  max-width:var(--container);
  width:100%;
  margin:0 auto;
  padding:0 clamp(12px,2vw,20px);
  box-sizing:border-box;
}

/* Elementor schneidet gern Schatten ab → offen halten */
.tt-scope .elementor-section,
.tt-scope .elementor-container{ overflow:visible !important }

/* ===== Bild oben ===== */
.tt-scope img.tt-hero-img{
  display:block; width:100%; height:auto;
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  object-fit:cover;
  margin:0 auto;
}

/* ===== Schwebende Card (Text) ===== */
.tt-scope .tt-card{
  position:relative; isolation:isolate;
  background:var(--glass);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
          backdrop-filter:saturate(140%) blur(8px);
  border:1px solid var(--line);
  border-radius:var(--radius);
  color:var(--muted);
  line-height:1.65;
  padding:clamp(18px,3.2vw,34px);
  margin:clamp(14px,2.6vw,24px) auto;
  box-shadow:var(--shadow-deep);
  overflow-wrap:anywhere; word-break:break-word;        /* responsive Text */
}

/* Bodenschatten-Fahne */
.tt-scope .tt-card--intro::after{
  content:"";
  position:absolute; inset:auto clamp(10px,3vw,24px) -38px clamp(10px,3vw,24px);
  height:58px; border-radius:50%;
  filter:blur(18px);
  background:rgba(2,6,23,.25);
  opacity:.32; z-index:-1;
}

/* ===== Typografie ===== */
.tt-scope .tt-card h1,.tt-scope .tt-card h2,.tt-scope .tt-card h3{
  color:var(--ink); letter-spacing:.2px
}
.tt-scope .tt-card h1{ font-size:clamp(26px,3.6vw,40px); font-weight:800; margin:0 0 .55em }
.tt-scope .tt-card h2{ font-size:clamp(20px,2.6vw,26px); font-weight:700; margin:1.2em 0 .5em }
.tt-scope .tt-card h3{ font-size:clamp(18px,2.2vw,22px); font-weight:700; margin:1.1em 0 .45em }
.tt-scope .tt-card p{ margin:.55em 0 1.05em; color:var(--muted) }
.tt-scope .tt-card strong{ color:var(--ink) }

/* Tabellen & Listen */
.tt-scope .tt-card ul,.tt-scope .tt-card ol{ padding-left:1.2em }
.tt-scope .tt-card table{
  width:100%; border-collapse:separate; border-spacing:0;
  overflow:hidden; border-radius:14px;
  box-shadow:0 8px 22px rgba(2,6,23,.06);
  margin:.8em 0 1.2em;
  display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.tt-scope .tt-card thead th{
  text-align:left; background:rgba(255,255,255,.92); color:var(--ink);
  padding:12px; border-bottom:1px solid var(--line);
}
.tt-scope .tt-card tbody td{
  padding:12px; border-bottom:1px solid var(--line); color:var(--muted);
}
.tt-scope .tt-card tbody tr:last-child td{ border-bottom:none }

/* Links */
.tt-scope .tt-card a{
  color:var(--brand); text-decoration:none;
  border-bottom:1px solid rgba(24,78,230,.25);
}
.tt-scope .tt-card a:hover{ border-bottom-color:transparent }

/* ===== Mobile Feinschliff ===== */
@media (max-width:640px){
  .tt-scope .tt-card{ padding:clamp(16px,4.6vw,22px); border-radius:18px }
  .tt-scope img.tt-hero-img{ border-radius:18px }
  .tt-scope .tt-card--intro::after{ left:12%; right:12%; bottom:-10px; height:20px; filter:blur(10px); opacity:.26 }
}

/* ===== FAQ: DL-Accordion (Single-Open, smooth) ===== */
.tt-body dl{
  margin:1.2em 0; border:1px solid rgba(2,6,23,.08);
  border-radius:16px; background:rgba(255,255,255,.60);
  box-shadow:0 8px 22px rgba(2,6,23,.06); overflow:visible;
}
.tt-body dl dt{
  display:flex; align-items:center; gap:10px; cursor:pointer; user-select:none;
  padding:14px 16px; margin:0; font-weight:700; color:#0B1324;
  background:linear-gradient(0deg, rgba(241,246,251,.60), rgba(255,255,255,.60));
  border-bottom:1px solid rgba(2,6,23,.08);
  position:relative; transition:background .2s ease, color .2s ease;
}
.tt-body dl dt:hover{ background:rgba(241,246,251,.82) }
.tt-body dl dt:focus-visible{ outline:2px solid #1A56FF; outline-offset:2px }
.tt-body dl dt::after{
  content:""; width:12px; height:12px; margin-left:auto; opacity:.85;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(-45deg);
  transition:transform .28s cubic-bezier(.25,.8,.25,1);
}
.tt-body dl dt[aria-expanded="true"]::after{ transform:rotate(45deg) }
.tt-body dl dd{
  margin:0; color:#334155; background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(2,6,23,.08);
  overflow:hidden; height:0; opacity:0; padding:0 16px;
  will-change:height, opacity, padding;
  transition:height .32s cubic-bezier(.25,.8,.25,1), opacity .22s ease, padding .22s ease;
}
.tt-body dl dd.is-open{ padding:14px 16px; opacity:1 }
.tt-body dl dd:last-of-type{ border-bottom:none }
@media (max-width:640px){
  .tt-body dl{ border-radius:14px }
  .tt-body dl dt{ padding:12px 14px }
  .tt-body dl dd{ padding:0 14px }
  .tt-body dl dd.is-open{ padding:12px 14px }
}
@media (prefers-reduced-motion:reduce){
  .tt-body dl dd,.tt-body dl dt::after{ transition:none !important }
}

/* ===== CTA-Block (schwebend + Glas-Buttons) ===== */
.tt-scope .tt-cta{
  text-align:center;
  padding:clamp(16px,3vw,26px);
  margin-top:clamp(10px,2.4vw,18px);
  box-shadow:var(--shadow-deep), var(--shadow-floor);
}
.tt-scope .tt-cta__eyebrow{
  margin:.2rem 0 .3rem; letter-spacing:.08em; text-transform:uppercase;
  font-weight:800; font-size:12px; color:#6B7280;
}
.tt-scope .tt-cta__title{ margin:.1em 0 .35em; }
.tt-scope .tt-cta__actions{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:8px 0 10px;
}
.tt-scope .tt-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:10px 14px; border-radius:999px; font-weight:700; text-decoration:none;
  color:var(--ink); background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.50);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
          backdrop-filter:saturate(140%) blur(8px);
  box-shadow:var(--shadow-soft);
  transition:transform .08s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
}
.tt-scope .tt-btn:hover,
.tt-scope .tt-btn:focus-visible{
  transform:translateY(-1px);
  background:#fff; border-color:rgba(255,255,255,.7);
  box-shadow:0 16px 36px rgba(2,6,23,.14), 0 0 0 3px rgba(26,86,255,.20);
  color:var(--ink); outline:none;
}
/* Primäraktion in Blau */
.tt-scope .tt-btn--primary{
  background:var(--brand); color:#fff; border-color:transparent;
}
.tt-scope .tt-btn--primary:hover,
.tt-scope .tt-btn--primary:focus-visible{
  background:#184EE6; color:#fff;
  box-shadow:0 18px 44px rgba(24,78,230,.28), 0 0 0 3px rgba(26,86,255,.22);
}

/* Chips */
.tt-scope .tt-cta__chips{
  display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:8px 0 0;
}
.tt-scope .tt-chip{
  display:inline-flex; align-items:center; font-weight:700; font-size:.95rem;
  padding:8px 12px; border-radius:999px; color:#0F172A; text-decoration:none;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(255,255,255,.45);
  -webkit-backdrop-filter:saturate(140%) blur(8px);
          backdrop-filter:saturate(140%) blur(8px);
  box-shadow:0 8px 22px rgba(2,6,23,.08);
  transition:transform .06s ease, box-shadow .22s ease, background-color .22s ease;
}
.tt-scope .tt-chip:hover{ transform:translateY(-1px); background:rgba(255,255,255,.74); box-shadow:0 14px 30px rgba(2,6,23,.12) }

.tt-scope .tt-cta__hint{ margin:.6rem 0 0; color:#6B7280; }

/* Mobile: Buttons vollbreit, Chips kompakter */
@media (max-width:540px){
  .tt-scope .tt-btn{ width:100% }
  .tt-scope .tt-chip{ padding:7px 10px; font-weight:600 }
}




/* =========================================================
   BLOG global • Responsive & Overflow-Schutz (Einzelposts)
========================================================= */

/* 1) Haupt-Content nie breiter als Viewport */
.single-post .entry-content,
.single-post .elementor-location-single,
.single-post .elementor-section-wrap{ overflow-x:hidden; }

.single-post .entry-content > *{
  max-width:clamp(320px, 94vw, 1080px);
  width:100%;
  margin-inline:auto;
  box-sizing:border-box;
  padding-inline:clamp(12px,2vw,20px);
}

/* 2) Lange Wörter/URLs umbrechen */
.single-post .entry-content{ overflow-wrap:anywhere; word-break:break-word; }

/* 3) Medien fluide */
.single-post .entry-content img,
.single-post .entry-content video,
.single-post .entry-content svg,
.single-post .entry-content iframe,
.single-post .entry-content .wp-block-image img{ max-width:100%; height:auto; }

/* 4) Tabellen/Code intern scrollen (nicht Body verbreitern) */
.single-post .entry-content table,
.single-post .entry-content .wp-block-table,
.single-post .entry-content pre,
.single-post .entry-content code{
  display:block; max-width:100%;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  border-radius:14px;
}

/* 5) CTA mobil: Buttons vollbreit */
@media (max-width:560px){
  .single-post .entry-content .tt-cta__actions{ justify-content:stretch; gap:8px }
  .single-post .entry-content .tt-btn{ width:100% }
  .single-post .entry-content .tt-cta__chips{ justify-content:center }
}

/* 6) Notnagel gegen Widgets mit fixer Breite */
.single-post .entry-content [style*="width:"],
.single-post .entry-content [style*="min-width:"]{ max-width:100% !important; }/* End custom CSS */