/* v2 */
@media (min-width: 1200px) {
    .main-nav:not(.houzez-nav-menu-main) .nav-link {
        padding-right: 8px !important;
        padding-left: 8px !important;
    }
}
/* Hide Houzez demo registration text (registration disabled) */
.register-form-tab {
  display: none !important;
}
/* Core Web Vitals Fix: Mobile Hero CLS */
@media (max-width: 767px) {
  .elementor-194 .elementor-element.elementor-element-4cc2ba0 {
    min-height: 620px !important;
    background-color: #000 !important;
    background-image: url("https://decker-realestate.com/wp-content/uploads/2026/03/4.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
    overflow: hidden !important;
  }

  .elementor-194 .elementor-element.elementor-element-4cc2ba0 > .elementor-container {
    min-height: 620px !important;
  }

  .elementor-element-4cc2ba0 > .dkr-hero-video-layer,
  .elementor-element-4cc2ba0 > .dkr-hero-video-layer video {
    min-height: 620px !important;
  }
}


/* Fix: Telefonnummer in Nav-Leiste (nicht darunter) */
.header-desktop .header-inner-wrap .navbar {
	  flex-wrap: nowrap !important;
}
.header-desktop .main-nav {
	  min-width: 0;
	  flex-shrink: 1;
}
.header-desktop .btn-phone-number a {
	  white-space: nowrap;
}
.header-desktop .main-nav .nav-link {
	  white-space: nowrap;
}
}
}
}
}

/* Task #16 — Mobile: Speisekarte-Fix + Telefonnummer */

/* "Speisekarte" → "Menü": Text transparent + Pseudo-Element */



/* Telefonnummer: auf Desktop ausblenden, nur mobil sichtbar */
@media (min-width: 992px) {
  li.mobile-only-phone {
    display: none !important;
  }
}
.mobile-only-phone a {
  color: #1C9BA1 !important;
  font-weight: 600;
}

/* Speisekarte → Menü: class-selectors (ID-blocks filtered by WP.com) */
.offcanvas-start .offcanvas-header .offcanvas-title {
  color: #ffffff !important;
  position: relative;
}
.offcanvas-start .offcanvas-header .offcanvas-title::before {
  content: "Menü";
  color: #1E2D3E;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9rem;
  font-weight: 600;
}

/* ============================================================
   AUTHOR BOX — Julia (Blog-Artikel, am Ende jedes Artikels)
   Hinzugefügt: 2026-05-23 | Google E-E-A-T Update
   ============================================================ */

.dkr-author-box {
  background: var(--dkr-bg-soft);
  border-left: 4px solid var(--dkr-teal);
  border-radius: var(--dkr-radius);
  padding: 24px 28px;
  margin: 40px 0 20px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.dkr-author-photo {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  border: 3px solid var(--dkr-teal);
  flex-shrink: 0;
}
.dkr-author-info { flex: 1; min-width: 0; }
.dkr-author-label {
  font-size: 11px;
  font-weight: bold;
  color: var(--dkr-teal);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 4px;
  display: block;
}
.dkr-author-name {
  font-size: 18px;
  font-weight: bold;
  color: var(--dkr-navy);
  margin: 0 0 2px;
  display: block;
}
.dkr-author-role {
  font-size: 13px;
  color: var(--dkr-teal);
  font-weight: bold;
  margin-bottom: 10px;
  display: block;
}
.dkr-author-bio {
  font-size: 13px;
  color: #374151;
  line-height: 1.6;
  margin-bottom: 12px;
}
.dkr-author-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.dkr-author-badge {
  background: var(--dkr-navy);
  color: var(--dkr-white);
  font-size: 11px;
  padding: 3px 10px;
  border-radius: 12px;
  white-space: nowrap;
  text-decoration: none;
  display: inline-block;
}
.dkr-author-badge--link {
  background: var(--dkr-teal);
  font-weight: bold;
}
.dkr-author-badge--link:hover {
  background: var(--dkr-teal-dark);
  color: var(--dkr-white);
}
@media (max-width: 520px) {
  .dkr-author-box { flex-direction: column; align-items: center; text-align: center; padding: 20px; }
  .dkr-author-badges { justify-content: center; }
}

/* ============================================================
   UEBER-UNS SEITE — Profil-Hero + Credentials + Services
   Hinzugefügt: 2026-05-23 | Google E-E-A-T Update
   ============================================================ */

.dkr-profile-hero {
  background: var(--dkr-navy);
  border-radius: var(--dkr-radius-lg);
  padding: 40px;
  display: flex;
  gap: 32px;
  align-items: center;
  margin-bottom: 32px;
}
.dkr-profile-hero-photo {
  width: 200px;
  height: 260px;
  object-fit: cover;
  object-position: top center;
  border-radius: var(--dkr-radius);
  border: 3px solid var(--dkr-teal);
  flex-shrink: 0;
}
.dkr-profile-hero-content { flex: 1; }
.dkr-profile-eyebrow {
  color: var(--dkr-teal);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
  display: block;
}
.dkr-profile-hero h1 {
  color: var(--dkr-white);
  font-size: 36px;
  margin: 0 0 6px;
  font-weight: bold;
  line-height: 1.1;
}
.dkr-profile-role {
  color: var(--dkr-teal);
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  display: block;
}
.dkr-profile-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.dkr-profile-badge {
  background: rgba(28,155,161,0.2);
  border: 1px solid var(--dkr-teal);
  color: var(--dkr-teal);
  font-size: 12px;
  padding: 5px 14px;
  border-radius: 20px;
  display: inline-block;
}
.dkr-profile-badge--ghost {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.3);
  color: var(--dkr-white);
}
.dkr-creds-section {
  background: var(--dkr-bg-soft);
  border-radius: var(--dkr-radius);
  padding: 28px;
  margin-bottom: 32px;
}
.dkr-creds-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 16px;
}
.dkr-cred-item {
  background: var(--dkr-white);
  border-radius: var(--dkr-radius);
  padding: 16px;
  border: 1px solid var(--dkr-border);
}
.dkr-cred-label {
  color: var(--dkr-teal);
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
  display: block;
}
.dkr-cred-value {
  font-size: 16px;
  font-weight: bold;
  color: var(--dkr-navy);
  margin-bottom: 2px;
  display: block;
}
.dkr-cred-sub {
  font-size: 12px;
  color: var(--dkr-text-muted);
  display: block;
}
.dkr-services-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}
.dkr-service-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px;
  background: var(--dkr-bg-soft);
  border-radius: var(--dkr-radius);
}
.dkr-service-icon { font-size: 20px; flex-shrink: 0; line-height: 1.4; }
.dkr-service-title {
  font-weight: bold;
  font-size: 14px;
  color: var(--dkr-navy);
  margin-bottom: 4px;
  display: block;
}
.dkr-service-text {
  font-size: 13px;
  color: #374151;
  line-height: 1.5;
}
@media (max-width: 700px) {
  .dkr-profile-hero { flex-direction: column; align-items: center; text-align: center; padding: 28px 20px; }
  .dkr-profile-hero-photo { width: 140px; height: 180px; }
  .dkr-profile-badges { justify-content: center; }
  .dkr-creds-grid { grid-template-columns: 1fr; }
  .dkr-services-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   PARTNER CARD — Tim (Co-Geschäftsführer) | 24.05.2026
   ============================================================ */
.dkr-partner-card {
  background: var(--dkr-bg-soft);
  border-radius: var(--dkr-radius-lg);
  padding: 40px;
  display: flex;
  gap: 32px;
  align-items: center;
  margin-bottom: 32px;
  border-left: 4px solid var(--dkr-teal);
}
.dkr-partner-photo {
  width: 200px;
  height: 260px;
  object-fit: cover;
  object-position: top center;
  border-radius: var(--dkr-radius);
  border: 3px solid var(--dkr-teal);
  flex-shrink: 0;
}
.dkr-partner-content { flex: 1; }
.dkr-partner-eyebrow {
  color: var(--dkr-teal);
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 8px;
  display: block;
}
.dkr-partner-name {
  font-size: 30px;
  font-weight: bold;
  color: var(--dkr-navy);
  margin: 0 0 6px;
  line-height: 1.1;
  display: block;
}
.dkr-partner-role {
  color: var(--dkr-teal);
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 16px;
  display: block;
}
.dkr-partner-bio {
  font-size: 15px;
  color: #374151;
  line-height: 1.65;
  margin-bottom: 16px;
}
.dkr-partner-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.dkr-partner-badge {
  background: rgba(30,45,62,0.08);
  border: 1px solid var(--dkr-navy);
  color: var(--dkr-navy);
  font-size: 12px;
  padding: 5px 14px;
  border-radius: 20px;
  display: inline-block;
}

/* ============================================================
   ZERTIFIKATE — Offizielle Lizenzen | 24.05.2026
   ============================================================ */
.dkr-cert-section {
  background: var(--dkr-navy);
  border-radius: var(--dkr-radius-lg);
  padding: 40px;
  margin-bottom: 32px;
}
.dkr-cert-section .section-title { color: var(--dkr-white); margin-bottom: 10px; }
.dkr-cert-intro {
  color: rgba(255,255,255,0.78);
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 28px;
}
.dkr-cert-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.dkr-cert-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(28,155,161,0.4);
  border-radius: var(--dkr-radius);
  overflow: hidden;
}
.dkr-cert-img-wrap { height: 200px; overflow: hidden; background: rgba(255,255,255,0.04); }
.dkr-cert-img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: top center;
  display: block; transition: transform 0.3s ease;
}
.dkr-cert-card:hover .dkr-cert-img { transform: scale(1.03); }
.dkr-cert-body { padding: 16px; }
.dkr-cert-badge {
  display: inline-block;
  background: rgba(28,155,161,0.22);
  border: 1px solid var(--dkr-teal);
  color: var(--dkr-teal);
  font-size: 10px; font-weight: bold;
  text-transform: uppercase; letter-spacing: 0.5px;
  padding: 3px 10px; border-radius: 20px; margin-bottom: 8px;
}
.dkr-cert-title {
  font-size: 14px; font-weight: bold;
  color: var(--dkr-white); margin-bottom: 6px; display: block;
}
.dkr-cert-desc { font-size: 12px; color: rgba(255,255,255,0.68); line-height: 1.55; }

@media (max-width: 700px) {
  .dkr-partner-card { flex-direction: column; align-items: center; text-align: center; padding: 28px 20px; }
  .dkr-partner-photo { width: 140px; height: 180px; }
  .dkr-partner-badges { justify-content: center; }
  .dkr-cert-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   MOBILE FULL-WIDTH FIX — Ueber-uns Seite (2026-05-24)
   Ursache: Houzez .page-content-wrap=40px + Elementor .e-con=10px
   = 50px weisser Rand auf Mobile — Bloecke nicht seitenbreit
   ============================================================ */
@media (max-width: 768px) {
  /* Stufe 1: :has() fuer moderne Browser */
  .page-content-wrap:has(.page-wrapper) { padding-left: 0 !important; padding-right: 0 !important; }
  .e-con:has(.page-wrapper), .e-con-inner:has(.page-wrapper) { padding-left: 0 !important; padding-right: 0 !important; }
  /* Stufe 2: Fallback negative Margin */
  .page-wrapper { margin-left: -50px; margin-right: -50px; overflow-x: hidden; }
  /* Reset wenn :has() greift */
  .page-content-wrap:has(.page-wrapper) .page-wrapper { margin-left: 0; margin-right: 0; }
  /* Stufe 3: Kein border-radius an Displaykanten */
  .page-wrapper > div { border-radius: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
  /* Stufe 4: Internes Padding fuer Lesbarkeit */
  .page-wrapper .alanya-section { padding: 28px 20px !important; }
  .page-wrapper .dkr-creds-section { padding: 28px 20px !important; }
  .page-wrapper .dkr-cta-section { padding: 32px 20px !important; }
  .page-wrapper .dkr-profile-hero { padding: 28px 16px !important; }
  .page-wrapper .dkr-partner-card { padding: 28px 16px !important; }
  .page-wrapper .dkr-cert-section { padding: 32px 16px !important; }
}


/* MOBILE FULL-WIDTH FIX Ueber-uns 2026-05-24
   Houzez page-content-wrap 40px + Elementor e-con 10px = weisser Rand */
@media (max-width: 768px) {
  .page-content-wrap:has(.page-wrapper) { padding-left: 0 !important; padding-right: 0 !important; }
  .e-con:has(.page-wrapper), .e-con-inner:has(.page-wrapper) { padding-left: 0 !important; padding-right: 0 !important; }
  .page-wrapper { margin-left: -50px; margin-right: -50px; overflow-x: hidden; }
  .page-content-wrap:has(.page-wrapper) .page-wrapper { margin-left: 0; margin-right: 0; }
  .page-wrapper > div { border-radius: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
  .page-wrapper .alanya-section { padding: 28px 20px !important; }
  .page-wrapper .dkr-creds-section { padding: 28px 20px !important; }
  .page-wrapper .dkr-cta-section { padding: 32px 20px !important; }
  .page-wrapper .dkr-profile-hero { padding: 28px 16px !important; }
  .page-wrapper .dkr-partner-card { padding: 28px 16px !important; }
  .page-wrapper .dkr-cert-section { padding: 32px 16px !important; }
}
/* ============================================================
   IKAMET SPERRLISTE BLOG — Artikel-spezifische CSS-Klassen
   Hinzugefügt: 2026-05-28 | Post: ikamet-sperrliste-tuerkei-2026
   ============================================================ */

/* --- WhatsApp Float Button --- */
.dkr-wa-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  background: #25D366;
  border-radius: 50%;
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(37,211,102,0.4);
  text-decoration: none;
  animation: dkr-pulse 2.2s infinite;
}
.dkr-wa-float:hover { background: #1da851; transform: scale(1.08); }
@keyframes dkr-pulse {
  0%,100% { box-shadow: 0 4px 16px rgba(37,211,102,0.4); }
  50%      { box-shadow: 0 4px 28px rgba(37,211,102,0.75); }
}

/* --- Page Wrapper --- */
.decker-page {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px 60px;
  font-family: Arial, sans-serif;
  color: #1E2D3E;
  line-height: 1.7;
}

/* --- Hero --- */
.decker-hero {
  background: linear-gradient(135deg, #1E2D3E 0%, #162433 100%);
  color: #fff;
  padding: 52px 36px 44px;
  border-radius: 14px;
  margin-bottom: 40px;
  text-align: center;
}
.decker-hero-brand {
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #1C9BA1;
  margin-bottom: 14px;
  font-weight: 600;
}
.decker-hero-sub {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.75);
  margin-top: 10px;
}
.decker-hero-tags {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

/* --- Tags & Labels --- */
.decker-tag {
  background: rgba(28,155,161,0.18);
  color: #1C9BA1;
  border: 1px solid rgba(28,155,161,0.35);
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
}
.decker-label {
  display: inline-block;
  background: rgba(28,155,161,0.1);
  color: #1C9BA1;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 10px;
}
.decker-update-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #1C9BA1;
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  padding: 5px 14px;
  border-radius: 6px;
  margin-bottom: 12px;
}
.badge-num {
  background: #fff;
  color: #1C9BA1;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 800;
}

/* --- Article Header --- */
.decker-article-header {
  border-left: 4px solid #1C9BA1;
  padding: 20px 24px;
  background: #f5fafa;
  border-radius: 0 10px 10px 0;
  margin-bottom: 36px;
}
.decker-article-title {
  font-size: 1.35rem;
  font-weight: 700;
  color: #1E2D3E;
  line-height: 1.35;
  margin: 8px 0;
}
.decker-article-intro {
  color: #4a5568;
  font-size: 1rem;
  margin-top: 8px;
}
.decker-article-meta {
  font-size: 0.82rem;
  color: #718096;
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.decker-sep { color: #cbd5e0; margin: 0 2px; }

/* --- Section --- */
.decker-section {
  margin-bottom: 44px;
}
.decker-update-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 32px 28px;
  margin-bottom: 40px;
  box-shadow: 0 2px 12px rgba(30,45,62,0.06);
}

/* --- Headings --- */
.decker-h2 {
  font-size: 1.45rem;
  font-weight: 700;
  color: #1E2D3E;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e2e8f0;
}
.decker-h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1E2D3E;
  margin: 20px 0 10px;
}

/* --- Key Facts Counter Grid --- */
.decker-keyfacts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 44px;
}
@media (max-width: 640px) {
  .decker-keyfacts { grid-template-columns: repeat(2, 1fr); }
}
.decker-fact {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-top: 3px solid #1C9BA1;
  border-radius: 10px;
  padding: 20px 16px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(30,45,62,0.06);
}
.decker-fact-val {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: #1C9BA1;
  line-height: 1.1;
}
.decker-fact-lbl {
  display: block;
  font-size: 0.78rem;
  color: #64748b;
  margin-top: 6px;
  line-height: 1.4;
}
.counter { transition: color 0.3s; }

/* --- Table --- */
.decker-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  margin: 16px 0;
}
.decker-table th {
  background: #1E2D3E;
  color: #fff;
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
}
.decker-table td {
  padding: 10px 14px;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: top;
}
.decker-table tr:nth-child(even) td { background: #f8fafc; }
.decker-table tr:hover td { background: #f0fafa; }

/* --- Status Cells --- */
.decker-status-ok  { color: #16a34a; font-weight: 700; white-space: nowrap; }
.decker-status-bad { color: #dc2626; font-weight: 700; white-space: nowrap; }
.decker-status-warn{ color: #d97706; font-weight: 700; white-space: nowrap; }
.yes    { color: #16a34a; font-weight: 700; }
.no     { color: #dc2626; font-weight: 700; }
.neutral{ color: #d97706; font-weight: 700; }

/* --- Compare Box --- */
.decker-compare-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 24px;
  margin: 20px 0;
  overflow-x: auto;
}

/* --- Progress Bars --- */
.decker-bars {
  margin: 24px 0;
}
.decker-bar-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #1E2D3E;
  margin-bottom: 14px;
}
.decker-bar-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.decker-bar-lbl {
  min-width: 130px;
  font-size: 0.82rem;
  color: #1E2D3E;
  font-weight: 600;
}
.decker-bar-track {
  flex: 1;
  height: 14px;
  background: #e2e8f0;
  border-radius: 7px;
  overflow: hidden;
}
.decker-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #1C9BA1, #15b8c0);
  border-radius: 7px;
  transition: width 1.2s ease;
}
.decker-bar-fill[data-status="bad"] { background: linear-gradient(90deg,#dc2626,#ef4444); }
.decker-bar-fill[data-status="warn"]{ background: linear-gradient(90deg,#d97706,#f59e0b); }
.decker-bar-pct {
  min-width: 46px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #1C9BA1;
  text-align: right;
}

/* --- Alerts & Warnings --- */
.decker-alert {
  border-left: 4px solid #1C9BA1;
  background: #f0fafa;
  padding: 16px 20px;
  border-radius: 0 8px 8px 0;
  margin: 20px 0;
  font-size: 0.92rem;
}
.decker-warning {
  border-left: 4px solid #d97706;
  background: #fffbeb;
  padding: 16px 20px;
  border-radius: 0 8px 8px 0;
  margin: 20px 0;
  font-size: 0.92rem;
}

/* --- Check Grid (✓/✗ two columns) --- */
.decker-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 20px 0;
}
@media (max-width: 600px) {
  .decker-check-grid { grid-template-columns: 1fr; }
}
.decker-check-col {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 20px;
}
.decker-check-col h3 { margin-top: 0; }

/* --- Quick Takes --- */
.decker-quicktakes {
  background: #1E2D3E;
  color: #fff;
  border-radius: 12px;
  padding: 32px 28px;
  margin: 40px 0;
}
.decker-quicktakes .decker-h2 {
  color: #fff;
  border-bottom-color: rgba(255,255,255,0.15);
}
.decker-qt-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.decker-qt-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.decker-qt-icon {
  background: #1C9BA1;
  color: #fff;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  min-width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.9rem;
}

/* --- List --- */
.decker-list {
  padding-left: 20px;
  margin: 12px 0;
}
.decker-list li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* --- CTA Box --- */
.decker-cta-box {
  background: linear-gradient(135deg, #1E2D3E 0%, #1C9BA1 100%);
  color: #fff;
  border-radius: 14px;
  padding: 40px 32px;
  text-align: center;
  margin: 44px 0;
}
.decker-cta-title {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 10px;
}
.decker-cta-text {
  font-size: 1rem;
  opacity: 0.9;
  margin-bottom: 8px;
}
.decker-cta-sub {
  font-size: 0.82rem;
  opacity: 0.7;
  margin-bottom: 22px;
}
.decker-cta-button {
  display: inline-block;
  background: #fff;
  color: #1E2D3E;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
}
.decker-cta-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
  color: #1E2D3E;
}

/* --- Animate (scroll fade-in, JS-triggered) --- */
.decker-animate {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.decker-animate.dkr-visible {
  opacity: 1;
  transform: translateY(0);
}
.decker-animate-delay-1 { transition-delay: 0.15s; }

/* --- FAQ (Houzez override — PFLICHT !important) --- */
.decker-faq-section { margin: 40px 0; }
.decker-faq-item {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  margin-bottom: 8px;
  overflow: hidden;
}
.decker-faq-item summary {
  display: block !important;
  position: relative !important;
  list-style: none !important;
  cursor: pointer !important;
  padding: 16px 48px 16px 20px !important;
  font-weight: 600 !important;
  background: #f8fafc !important;
  color: #1E2D3E !important;
  font-size: 0.95rem !important;
}
.decker-faq-item summary::after {
  content: '+' !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  color: #1C9BA1 !important;
}
.decker-faq-item[open] > summary::after {
  content: '\00D7' !important;
  font-size: 20px !important;
}
.decker-faq-item summary::-webkit-details-marker { display: none !important; }
.decker-faq-item summary::marker { display: none !important; }
.decker-faq-answer {
  padding: 16px 20px 20px;
  font-size: 0.9rem;
  line-height: 1.7;
  color: #4a5568;
  background: #fff;
}
.decker-faq-icon { display: none; }

/* City Tabs (if used) */
.dkr-city-tab {
  padding: 8px 20px;
  border: 2px solid #1C9BA1;
  border-radius: 6px;
  cursor: pointer;
  background: transparent;
  color: #1C9BA1;
  font-weight: 700;
  font-size: 0.88rem;
  transition: all 0.2s;
}
.dkr-city-tab.active, .dkr-city-tab:hover {
  background: #1C9BA1;
  color: #fff;
}
.dkr-city-content { display: none; }
.dkr-city-content.active { display: block; }

/* ============================================================ */

/* decker-animate Fix: immer sichtbar, kein JS-Dependency */
.decker-animate { opacity: 1 !important; transform: none !important; }

/* Mobile Fix: kein horizontales Overflow */
.decker-page { max-width: 100% !important; overflow-x: hidden !important; box-sizing: border-box !important; }
.decker-page * { max-width: 100% !important; box-sizing: border-box !important; }
.decker-table { display: block !important; overflow-x: auto !important; width: 100% !important; }
.decker-check-grid { grid-template-columns: 1fr !important; }
.decker-bars, .decker-compare-box, .decker-update-card, .decker-cta-box { padding: 16px !important; }

/* decker-animate Fix: immer sichtbar, kein JS-Dependency */
.decker-animate { opacity: 1 !important; transform: none !important; }

/* Mobile Fix: kein horizontales Overflow */
.decker-page { max-width: 100% !important; overflow-x: hidden !important; box-sizing: border-box !important; }
.decker-table { display: block !important; overflow-x: auto !important; width: 100% !important; }
@media (max-width: 600px) {
  .decker-check-grid { grid-template-columns: 1fr !important; }
  .decker-keyfacts { grid-template-columns: 1fr 1fr !important; }
  .decker-bars, .decker-compare-box, .decker-update-card, .decker-cta-box { padding: 16px !important; }
  .decker-hero { padding: 28px 16px !important; }
  .decker-bar-row { flex-wrap: wrap !important; }
  .decker-bar-lbl { min-width: 100% !important; margin-bottom: 4px !important; }
}

/* ===== IKAMET SEITE MOBILE FIXES (2026-05-28) ===== */

/* Button: BR-Tags entfernen (WP-Editor fügt sie ein) */
.decker-cta-button br { display: none !important; }
.decker-cta-button {
  display: inline-block !important;
  text-align: center !important;
  line-height: 1.4 !important;
  padding: 14px 28px !important;
  white-space: nowrap !important;
  max-width: 90% !important;
}

/* WA-Link in CTA-Sub sichtbar machen (Teal auf Teal-BG = unsichtbar) */
.decker-cta-sub a { color: #ffffff !important; text-decoration: underline !important; opacity: 1 !important; }
.decker-cta-sub { opacity: 0.85 !important; color: #ffffff !important; }

/* CTA-Box: Teal-Anteil im Gradient reduzieren (weniger grün) */
.decker-cta-box { background: linear-gradient(135deg, #1E2D3E 0%, #1a5c60 100%) !important; }

/* Balken-Diagramm: Mobile-freundlich */
@media (max-width: 768px) {
  .decker-bar-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin-bottom: 14px !important;
  }
  .decker-bar-lbl {
    min-width: auto !important;
    width: 100% !important;
    font-size: 13px !important;
    margin-bottom: 2px !important;
  }
  .decker-bar-track {
    width: 100% !important;
    height: 18px !important;
  }
  .decker-bar-pct {
    font-size: 12px !important;
    align-self: flex-start !important;
  }
  .decker-bars {
    padding: 14px !important;
    overflow-x: hidden !important;
  }
  .decker-compare-box { padding: 14px !important; overflow-x: auto !important; }
  
  /* Button mobil: volle Breite */
  .decker-cta-button {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
  
  /* Overflow der gesamten Seite */
  .entry-content, .post-content-wrap, .post-wrap { overflow-x: hidden !important; max-width: 100% !important; }
}

@media (max-width: 480px) {
  .decker-cta-button { font-size: 0.95rem !important; padding: 12px 16px !important; }
  .decker-bar-title { font-size: 13px !important; }
}


/* ===== BALKEN-ANIMATION (CSS keyframes, kein JS nötig) ===== */
@keyframes dkrBarGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
.decker-bar-fill {
  transform-origin: left center !important;
  animation: dkrBarGrow 0.9s ease-out both !important;
  animation-play-state: paused !important;
}
/* Startet wenn WPCode-Observer dkr-visible setzt */
.decker-bars.dkr-visible .decker-bar-fill {
  animation-play-state: running !important;
}
.decker-bars.dkr-visible .decker-bar-row:nth-child(2) .decker-bar-fill { animation-delay: 0.1s !important; }
.decker-bars.dkr-visible .decker-bar-row:nth-child(3) .decker-bar-fill { animation-delay: 0.2s !important; }
.decker-bars.dkr-visible .decker-bar-row:nth-child(4) .decker-bar-fill { animation-delay: 0.3s !important; }
.decker-bars.dkr-visible .decker-bar-row:nth-child(5) .decker-bar-fill { animation-delay: 0.4s !important; }
.decker-bars.dkr-visible .decker-bar-row:nth-child(6) .decker-bar-fill { animation-delay: 0.5s !important; }
.decker-bars.dkr-visible .decker-bar-row:nth-child(7) .decker-bar-fill { animation-delay: 0.6s !important; }
.decker-bars.dkr-visible .decker-bar-row:nth-child(8) .decker-bar-fill { animation-delay: 0.7s !important; }

/* ===== MOBILE OVERFLOW — alle Theme-Container abdecken ===== */
@media (max-width: 768px) {
  /* Theme-Container */
  .post-wrap,
  .post-content-wrap,
  .entry-content,
  .site-content,
  .hentry,
  .content-area,
  article.post {
    overflow-x: hidden !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Decker-Elemente */
  .decker-page,
  .decker-section,
  .decker-compare-box,
  .decker-bars,
  .decker-cta-box,
  .decker-keyfacts,
  .decker-check-grid,
  .decker-quicktakes,
  .decker-warning,
  .decker-update-card {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  /* Tabellen: Horizontal scrollbar statt Overflow */
  .decker-table-wrap,
  .decker-compare-box {
    overflow-x: auto !important;
  }
  .decker-table {
    min-width: 480px;
    width: max-content;
    max-width: none !important;
  }

  /* Bilder + SVG */
  img, svg { max-width: 100% !important; height: auto !important; }
}


/* ===== MOBILE OVERFLOW ROOT-FIX — Houzez Theme-Elemente (2026-05-28) ===== */
/* Ursache: .dropdown-menu.submenu und .compare-property-panel ragen über Viewport */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
@media (max-width: 768px) {
  /* Houzez Navigations-Dropdowns */
  .dropdown-menu, .dropdown-menu.submenu, .sub-menu, nav ul ul {
    max-width: 100vw !important;
    overflow-x: hidden !important;
    left: 0 !important;
    right: auto !important;
  }
  /* Houzez Vergleichs-Panel (Compare Widget) */
  .compare-property-panel,
  .compare-property-panel-vert,
  .compare-wrap {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    overflow: hidden !important;
  }
}


/* ===== COMPARE PANEL: position:fixed ignoriert overflow:hidden — global ausblenden ===== */
/* Dieses Element ist position:fixed und ragt immer 300px über den rechten Viewport-Rand */
#compare-property-panel,
.compare-property-panel,
.compare-property-panel-vertical,
.compare-property-panel-vert {
  display: none !important;
  visibility: hidden !important;
  right: -9999px !important;
  pointer-events: none !important;
}
.compare-wrap {
  display: none !important;
}

/* Navigations-Dropdowns: position:absolute, aber linksbündig erzwingen */
.navbar-nav .dropdown-menu,
.dropdown-menu.submenu,
.main-nav .sub-menu {
  left: 0 !important;
  right: auto !important;
  max-width: calc(100vw - 20px) !important;
}


/* === ADMIN BAR FIX (Mobile) === */
/* WP Core setzt min-width: 600px auf #wpadminbar (position:fixed) */
/* Das erzeugt horizontalen Scroll für eingeloggte Admins auf Mobile */
/* Normale Besucher sind nicht betroffen (kein Admin-Bar) */
@media screen and (max-width: 782px) {
  #wpadminbar,
  #wpadminbar .nojq {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
}

/* === CONTENT SPALTE MOBILE FIX === */
/* Houzez setzt flex: 0 0 70% ohne Media Query → auf Mobile nur 273px breit */
/* Bootstrap col-md-12 greift nicht weil Houzez !important-ähnlich überschreibt */
@media (max-width: 991px) {
  .bt-content-wrap,
  .col-md-12.bt-content-wrap,
  .col-lg-8.bt-content-wrap {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .sidebar-wrap {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* === DECKER-PAGE MOBILE PADDING FIX === */
/* .decker-page padding:40px → auf 390px nur 310px Content sichtbar */
@media (max-width: 600px) {
  .decker-page {
    padding: 12px !important;
  }
  .decker-hero {
    padding: 24px 16px !important;
    border-radius: 10px !important;
  }
  .decker-section,
  .decker-compare-box,
  .decker-update-card,
  .decker-cta-box,
  .decker-warning,
  .decker-quicktakes,
  .decker-faq-section {
    padding: 16px !important;
  }
}

/* === NAVIGATION SUBMENU FIX === */
/* Ratgeber & Markt-Insights Dropdown überdeckt Untermenü auf Mobile */
@media (max-width: 991px) {
  .hz-menu-dropdown .dropdown-menu .dropdown-menu,
  .main-nav .dropdown-menu .dropdown-menu,
  nav .dropdown-menu .sub-menu {
    position: static !important;
    left: 0 !important;
    top: auto !important;
    transform: none !important;
    box-shadow: none !important;
    padding-left: 12px !important;
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* === NAVIGATION SUBMENU DESKTOP OVERRIDE === */
/* Vorheriges left:0 auf .dropdown-menu.submenu bricht Desktop-Nav */
/* Submenü muss auf Desktop rechts neben Elternmenü erscheinen */
@media (min-width: 992px) {
  .dropdown-menu.submenu,
  .dropdown-menu .dropdown-menu,
  .main-nav .dropdown-menu .dropdown-menu,
  .navbar-nav .dropdown-menu .dropdown-menu {
    left: 100% !important;
    right: auto !important;
    top: 0 !important;
    position: absolute !important;
    max-width: none !important;
  }
  /* Erstes Level Dropdown: links unter Nav-Item */
  .navbar-nav > li > .dropdown-menu {
    left: 0 !important;
    top: 100% !important;
  }
}

/* === ELEMENTOR PAGES FIX === */
/* html, body overflow-x:hidden bricht Elementor-Posts (4106, 3839 etc.) */
/* Elementor-Seiten brauchen normales Overflow-Verhalten */
body.elementor-page {
  overflow-x: auto !important;
  max-width: none !important;
}
html:has(body.elementor-page) {
  overflow-x: auto !important;
  max-width: none !important;
}

/* === DECKER-TABLE MOBILE SCROLLBAR FIX === */
/* .decker-table hat min-width:480px → wird auf Mobile geclipt statt scrollbar */
/* Eltern-Container muss scrollbar sein */
.decker-compare-box,
.decker-section > .decker-table,
.post-content-wrap .decker-table,
.bt-content-wrap .decker-table {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
@media (max-width: 600px) {
  .decker-table {
    min-width: 360px !important;
  }
}

/* === SPEZIFIZITÄTS-OVERRIDE für Inline-Style-Tags in Posts === */
/* Inline <style> in Post-Content kommt NACH Customizer-CSS im DOM */
/* Daher brauchen wir höhere Spezifizität um zu gewinnen */

/* Fix 1: body.single-post overflow-x:hidden auf Mobile überschreiben */
/* inline hat 0-1-1 → wir brauchen > 0-1-1 */
@media (max-width: 767px) {
  html body.single-post.elementor-page,
  html body.elementor-page {
    overflow-x: auto !important;
    max-width: none !important;
  }
}

/* Fix 2: .decker-animate.will-animate opacity:0 überschreiben */
/* inline hat 0-2-0 → wir brauchen > 0-2-0 */
/* body .decker-animate.will-animate = 0-2-1 gewinnt */
body .decker-animate.will-animate,
body .decker-animate {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* === DECKER-QT-ITEM TEXT FARBE FIX === */
/* Problem: .decker-qt-item erbt color:white von .decker-quicktakes */
/* Aber background ist hellblau (rgb 232,246,247) → weißer Text unsichtbar */
.decker-qt-item {
  color: #1E2D3E !important;
}
.decker-qt-item p,
.decker-qt-item span,
.decker-qt-item div {
  color: #1E2D3E !important;
}
/* Teal-Farbe für fette Titel beibehalten */
.decker-qt-item strong,
.decker-qt-item b {
  color: #1C9BA1 !important;
}

/* === DECKER-FACT TEXT FARBE FIX === */
/* .decker-fact hat ebenfalls white-on-white Problem */
.decker-fact-val {
  color: #1C9BA1 !important;
}
.decker-fact-lbl {
  color: #1E2D3E !important;
}