.odib-legal-wrapper{
  display:grid;
  gap:18px;
  max-width:1100px;
  margin:0 auto;
  color:var(--odib-text,#111);
  background:var(--odib-container-bg, var(--odib-bg,#fff));
  padding:22px;
  border:var(--odib-container-border-width, 1px) solid var(--odib-container-border, var(--odib-border,#dfe3e6));
  border-radius:20px;
  box-shadow:0 16px 44px rgba(0,0,0,.06);
}
.odib-layout-compact.odib-legal-wrapper{gap:12px;padding:16px;border-radius:16px;}
.odib-layout-spacious.odib-legal-wrapper{gap:22px;padding:28px;border-radius:22px;}
.odib-style-simple.odib-legal-wrapper{--odib-container-bg:#fff;box-shadow:0 16px 44px rgba(0,0,0,.06);}
.odib-style-glassy.odib-legal-wrapper{--odib-container-bg:rgba(255,255,255,0.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 18px 48px rgba(99,102,241,.18);}
.odib-style-outline.odib-legal-wrapper{--odib-container-bg:#0b1220;color:#e5e9f0;box-shadow:0 16px 48px rgba(0,0,0,.4);}
.odib-style-hover .odib-legal-card{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.odib-style-hover.odib-hover-lift .odib-legal-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.16);}
.odib-style-hover.odib-hover-glow .odib-legal-card:hover{box-shadow:0 0 0 2px rgba(99,102,241,.18),0 18px 40px rgba(99,102,241,.2);border-color:var(--odib-card-border-hover, rgba(99,102,241,.4));}
.odib-style-hover.odib-hover-tilt .odib-legal-card:hover{transform:translateY(-5px) rotate(-2deg);box-shadow:0 18px 44px rgba(0,0,0,.18);}
.odib-style-hover.odib-hover-float .odib-legal-card:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 28px 60px rgba(0,0,0,.2);}
.odib-style-hover.odib-hover-pulse .odib-legal-card:hover{animation:odib-hover-pulse 1.6s ease-in-out infinite;}

.odib-legal-card{
  background:var(--odib-card-bg, var(--odib-bg,#fff));
  border:var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border,#dfe3e6));
  border-radius:var(--odib-card-radius, 18px);
  padding:20px 22px;
  box-shadow:0 12px 32px rgba(0,0,0,.08);
}
.odib-style-outline .odib-legal-card{--odib-card-bg:rgba(255,255,255,0.06);color:#e5e9f0;}
.odib-style-outline .odib-legal-card h2,
.odib-style-outline .odib-legal-card strong{color:#fff;}
.odib-style-glassy .odib-legal-card{--odib-card-bg:rgba(255,255,255,0.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.odib-layout-compact .odib-legal-card{padding:16px 18px;border-radius:var(--odib-card-radius-md, 14px);}
.odib-layout-spacious .odib-legal-card{padding:26px 28px;border-radius:var(--odib-card-radius, 20px);}

.odib-legal-card h2{margin:0 0 14px;color:var(--odib-link,#111);}
.odib-legal-card p{margin:0 0 14px;line-height:1.65;}
.odib-legal-card strong{color:var(--odib-link,#111);}
.odib-legal-extra-label{font-weight:inherit;color:inherit;}
.odib-legal-extra-value{font-weight:400;color:inherit;}
.odib-legal-extra-title{margin:0 0 14px;font-weight:inherit;color:var(--odib-text,#111);}
.odib-style-outline .odib-legal-extra-label{color:#fff;}
.odib-style-outline .odib-legal-extra-title{color:#fff;}
.odib-legal-card ul{margin:0 0 14px;padding-left:22px;line-height:1.6;}
.odib-legal-note{background:linear-gradient(135deg,rgba(46,204,113,.08),rgba(46,204,113,.18));border-color:rgba(46,204,113,.45);}
.odib-align-center{justify-items:center;text-align:center;}
.odib-align-left{text-align:left;}
.odib-hide-heading .odib-legal-card h2{display:none;}

.odib-legal-preview-body{margin:0;padding:16px;background:var(--odib-silver,#f7f9fa);color:var(--odib-text,#111);}

.odib-tri-track{
  position:relative;
  width:72px;
  height:36px;
  border-radius:18px;
  background:linear-gradient(135deg,#e8ebed,#d0d5db);
  border:1px solid #c5cbd2;
  transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;
  display:inline-flex;
  align-items:center;
  padding:0 3px;
  box-sizing:border-box;
  box-shadow:inset 0 2px 4px rgba(0,0,0,.08);
}

.odib-tri-knob{
  position:absolute;
  left:3px;
  width:28px;
  height:28px;
  background:#fff;
  border-radius:50%;
  transition:left .3s cubic-bezier(.4,.0,.2,1),box-shadow .3s ease;
  box-shadow:0 2px 4px rgba(0,0,0,.15);
  display:flex;
  align-items:center;
  justify-content:center;
}

.odib-tri-knob::after{
  content:'';
  width:6px;
  height:10px;
  border-right:2px solid #9ca3af;
  border-bottom:2px solid #9ca3af;
  transform:rotate(-45deg);
  transition:transform .3s ease, border-color .3s ease;
}

.odib-tri-toggle:checked + .odib-tri-track{
  background:linear-gradient(135deg,#c6f6d5,#9ae6b4);
  border-color:#68d391;
  box-shadow:inset 0 2px 4px rgba(31,183,106,.15);
}

.odib-tri-toggle:checked + .odib-tri-track .odib-tri-knob{
  left:calc(100% - 31px);
  box-shadow:0 2px 6px rgba(22,163,74,.2);
}

.odib-tri-toggle:checked + .odib-tri-track .odib-tri-knob::after{
  border-color:#10b981;
  transform:rotate(135deg);
}

/* Modal Styles */
.odib-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:2147483647;padding:12px;}
.odib-modal[aria-hidden="false"]{display:flex;}
.odib-modal-open{overflow:hidden;}
.odib-modal::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);}
.odib-modal__dialog{position:relative;background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 64px rgba(0,0,0,.2);width:min(1024px,96vw);max-height:92vh;overflow:hidden;display:flex;flex-direction:column;color:var(--odib-text,#111);}
.odib-modal__head{padding:14px 16px;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between;}
.odib-modal__body{padding:16px;overflow:auto;max-height:calc(92vh - 120px);}
.odib-modal__split{display:grid;grid-template-columns:1fr 1.1fr;gap:16px;align-items:start;}
@media (max-width:960px){.odib-modal__split{grid-template-columns:1fr;}}
.odib-modal__right{background:#f7f9fa;border:1px solid #e5e7ea;border-radius:12px;padding:14px;max-height:65vh;overflow:auto;}
.odib-preview-frame{border:1px solid #dfe3e6;border-radius:12px;padding:12px;background:#fff;box-shadow:inset 0 1px 2px rgba(0,0,0,.04);width:100%;min-height:400px;}
.odib-legal-preview-note{color:#666;font-size:12px;margin-bottom:6px;}
.odib-toggle-row{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid #ececec;border-radius:12px;background:#fafafa;}
.odib-toggle-copy small{display:inline-block;margin-top:4px;}
.odib-tri-toggle{position:absolute;opacity:0;pointer-events:none;}
.odib-modal input[type=text], .odib-modal input[type=email], .odib-modal input[type=number], .odib-modal select, .odib-modal textarea{width:100%;}

/* Simplified switch (matches other tabs) */
.odib-switch{
  position:relative;display:inline-flex;align-items:center;width:44px;height:24px;border-radius:999px;
  background:#d1d5db;border:1px solid #cbd5e1;transition:all .2s ease;flex-shrink:0;
}
.odib-switch input{position:absolute;opacity:0;pointer-events:none;}
.odib-switch .odib-switch-thumb{
  width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.15);
  transform:translateX(2px);transition:all .2s ease;
}
.odib-switch input:checked + .odib-switch-thumb{
  transform:translateX(20px);
}
.odib-switch:has(input:checked){
  background:linear-gradient(135deg,#34d399,#10b981);border-color:rgba(16,185,129,.6);
}

/* ==================== KONTAKT-SEITE ==================== */

/* Basis-Styles für Kontakt-Card */
.odib-contact-card {
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius, 18px);
  padding: 24px 26px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
  display: grid;
  gap: 24px;
  color: var(--odib-text, #111);
}
.odib-contact-grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}
.odib-contact-col {
  display: grid;
  gap: 14px;
}
.odib-contact-style-simple.odib-contact-card{--odib-card-bg:var(--odib-bg, #fff);}
.odib-contact-style-glassy.odib-contact-card{--odib-card-bg:var(--odib-bg, #fff);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 16px 44px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .18);}
.odib-contact-style-outline.odib-contact-card{--odib-card-bg:var(--odib-bg, #0b1220);color:var(--odib-text, #e5e9f0);box-shadow:0 18px 46px rgba(0,0,0,.38);}
.odib-contact-hover .odib-contact-item{transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;}
.odib-contact-hover .odib-contact-item:hover{border-color:var(--odib-card-border-hover, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .3));}

.odib-contact-card h2 {
  margin: 0 0 18px;
  color: var(--odib-link, #111);
  font-size: 1.8rem;
  font-weight: 700;
}

.odib-contact-card h3 {
  margin: 0 0 12px;
  color: var(--odib-link, #111);
  font-size: 1.25rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Kontakt-Informationen */
.odib-contact-info {
  display: grid;
  gap: 16px;
}

.odib-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-sm, 12px);
  transition: all .3s ease;
}
.odib-contact-style-outline .odib-contact-item{--odib-card-bg:var(--odib-bg, #0b1220);color:var(--odib-text, #e5e9f0);}
.odib-contact-style-outline .odib-contact-item strong{color:var(--odib-text, #fff);}
.odib-contact-style-outline .odib-contact-card a{color:var(--odib-link, #c7d2fe);}

.odib-contact-hover .odib-contact-item:hover {
  --odib-card-bg: var(--odib-bg, #fff);
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .3));
}

.odib-contact-methods {
  display: grid;
  gap: 12px;
}

.odib-contact-methods .odib-contact-item {
  padding: 10px 14px;
}

.odib-icon {
  font-size: 1.3em;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .1));
}

.odib-contact-address {
  line-height: 1.65;
  color: var(--odib-text, #111);
  margin: 8px 0 0 0;
}

.odib-hour-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  background:rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .08);
  border:1px solid rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .2);
  border-radius:999px;
  font-weight:600;
  color:#0f172a;
}
.odib-style-outline .odib-hour-chip{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#e5e9f0;}

/* Links */
.odib-contact-card a {
  color: var(--odib-link, #111);
  text-decoration: none;
  font-weight: 500;
  transition: color .3s ease;
}

.odib-contact-card a:hover {
  color: var(--odib-link-hover, var(--odib-link, #111));
  text-decoration: underline;
}

/* Öffnungszeiten */
.odib-opening-hours {
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-md, 14px);
  padding: 18px;
}

.odib-hours-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.odib-hours-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-xs, 10px);
  transition: all .3s ease;
}

.odib-contact-hover .odib-hours-item:hover {
  --odib-card-bg: var(--odib-bg, #fff);
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .3));
}

.odib-day {
  font-weight: 600;
  color: var(--odib-text, #111);
}

.odib-hours {
  color: var(--odib-text, #111);
  font-weight: 500;
}

.odib-closed {
  color: #e74c3c;
  font-weight: 600;
  font-style: italic;
}

.odib-day-closed {
  opacity: .6;
}

.odib-day-closed:hover {
  opacity: 1;
}

/* Social Media */
.odib-social-media {
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-md, 14px);
  padding: 18px;
}

.odib-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.odib-social-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-xs, 10px);
  text-decoration: none;
  color: var(--odib-text, #111);
  font-weight: 600;
  transition: all .3s ease;
}

.odib-contact-hover .odib-social-link:hover {
  --odib-card-bg: linear-gradient(135deg, rgba(var(--odib-brand-accent-rgb, 14, 165, 233), .12), rgba(var(--odib-brand-accent-rgb, 14, 165, 233), .2));
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-accent-rgb, 14, 165, 233), .4));
}

.odib-social-icon {
  font-size: 1.4em;
}

.odib-social-name {
  font-size: 0.95rem;
}

/* Karte */
.odib-map-embed {
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-md, 14px);
  padding: 18px;
}

.odib-map-container {
  border-radius: var(--odib-card-radius-sm, 12px);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

.odib-map-container iframe {
  width: 100%;
  height: 320px;
  border: none;
  display: block;
}

/* Hinweis */
.odib-contact-note {
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-sm, 12px);
  padding: 16px;
}

.odib-contact-note p {
  margin: 0;
  line-height: 1.65;
  color: var(--odib-text, #111);
}

/* ==================== LAYOUT-VARIANTEN ==================== */

/* Layout: Card (Standard) */
.odib-contact-layout-card {
  grid-template-columns: 1fr;
}

/* Layout: Split (2-spaltig) */
.odib-contact-layout-split {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.odib-contact-layout-split .odib-contact-info {
  grid-column: 1;
}

.odib-contact-layout-split .odib-opening-hours {
  grid-column: 2;
  grid-row: 1 / span 2;
}

/* Layout: Minimal (kompakt) */
.odib-contact-layout-minimal {
  padding: 18px 20px;
  gap: 16px;
}

.odib-contact-layout-minimal .odib-contact-item {
  padding: 8px 12px;
}

.odib-contact-layout-minimal h2 {
  font-size: 1.5rem;
  margin-bottom: 12px;
}

.odib-contact-layout-minimal h3 {
  font-size: 1.1rem;
  margin-bottom: 8px;
}

/* Layout: Modern (Hero-Style) */
.odib-contact-layout-modern {
  background: linear-gradient(135deg, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .02), rgba(var(--odib-brand-accent-rgb, 14, 165, 233), .05));
  padding: 32px;
  gap: 28px;
}

.odib-contact-layout-modern h2 {
  font-size: 2.2rem;
  background: linear-gradient(135deg, var(--odib-brand-primary, #2563eb), var(--odib-brand-accent, #0ea5e9));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.odib-contact-layout-modern .odib-contact-methods {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}

.odib-contact-layout-modern .odib-contact-item {
  background: var(--odib-card-bg, rgba(255, 255, 255, .9));
  backdrop-filter: blur(10px);
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .15));
}

/* ==================== RESPONSIVE ==================== */

/* Tablet */
@media (max-width: 768px) {
  .odib-contact-card {
    padding: 20px;
    gap: 20px;
  }

  .odib-contact-card h2 {
    font-size: 1.5rem;
  }

  .odib-contact-card h3 {
    font-size: 1.15rem;
  }

  .odib-contact-layout-split {
    grid-template-columns: 1fr;
  }

  .odib-contact-layout-split .odib-opening-hours {
    grid-column: 1;
    grid-row: auto;
  }

  .odib-contact-layout-modern .odib-contact-methods {
    grid-template-columns: 1fr;
  }

  .odib-social-links {
    flex-direction: column;
  }

  .odib-social-link {
    justify-content: center;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .odib-contact-card {
    padding: 16px;
    gap: 16px;
    border-radius: var(--odib-card-radius-md, 14px);
  }

  .odib-contact-card h2 {
    font-size: 1.3rem;
    margin-bottom: 14px;
  }

  .odib-contact-card h3 {
    font-size: 1.05rem;
    margin-bottom: 10px;
  }

  .odib-contact-item {
    padding: 10px;
    flex-direction: column;
    align-items: flex-start;
  }

  .odib-icon {
    font-size: 1.2em;
  }

  .odib-hours-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .odib-opening-hours,
  .odib-social-media,
  .odib-map-embed {
    padding: 14px;
  }

  .odib-map-container iframe {
    height: 240px;
  }

  .odib-contact-layout-modern {
    padding: 20px;
    gap: 20px;
  }

  .odib-contact-layout-modern h2 {
    font-size: 1.6rem;
  }

  .odib-social-link {
    padding: 10px 14px;
  }
}

/* Extra Small */
@media (max-width: 360px) {
  .odib-contact-card {
    padding: 12px;
    gap: 12px;
  }

  .odib-contact-card h2 {
    font-size: 1.2rem;
  }

  .odib-contact-item {
    padding: 8px;
  }

.odib-contact-methods .odib-contact-item {
  padding: 8px 10px;
}
}
.odib-contact-order-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.odib-contact-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;cursor:grab;box-shadow:0 6px 14px rgba(0,0,0,0.06);}
.odib-contact-chip:hover{background:#eef2ff;}
.odib-contact-chip .odib-chip-handle{font-weight:700;color:#475569;display:inline-flex;align-items:center;gap:4px;}
.odib-contact-chip.is-dragging{opacity:0.7;border-style:dashed;}
.odib-contact-preview-frame{border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,0.1);background:#fff;}
.odib-lp-shell{
  background: transparent;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.odib-lp-card{
  background:rgba(255,255,255,0.9);
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:16px;
  color:#0b172a;
  box-shadow:0 12px 28px rgba(0,0,0,0.12);
}
.odib-lp-preview-card{
  background:linear-gradient(145deg,#0b1220,#111827);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:16px;
  padding:16px;
  color:#e2e8f0;
  box-shadow:0 18px 48px rgba(0,0,0,0.22);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.odib-lp-row{color:#0b172a;}
.odib-lp-row .meta{color:#5b6475;}
.odib-lp-card h2{color:#0b172a;}
.odib-lp-preview-card h3{color:#fff;}
.odib-lp-preview-card select,
.odib-lp-card select,
.odib-lp-card input,
.odib-lp-card textarea{
  background:#fff;
  color:#0b172a;
  border:1px solid #d9dde3;
}

/* Builder Kontakt-Layout (Spalten & Chips) */
.odib-contact-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;}
.odib-contact-col{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:10px;min-height:160px;}
.odib-contact-col-head{font-weight:700;color:#0f172a;margin-bottom:8px;font-size:13px;display:flex;align-items:center;gap:6px;}
.odib-contact-drop{display:grid;gap:8px;}
.odib-contact-chip{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;padding:8px 10px;border-radius:8px;cursor:move;display:grid;grid-template-columns:22px 1fr 90px 26px;gap:6px;align-items:center;box-shadow:0 4px 10px rgba(15,23,42,0.05);}
.odib-contact-chip-handle{width:16px;height:16px;background:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzk0YTNiOCI+PGNpcmNsZSBjeD0iNCIgY3k9IjQiIHI9IjEuNSIvPjxjaXJjbEUgY3g9IjEyIiBjeT0iNCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iNCIgY3k9IjgiIHI9IjEuNSIvPjxjaXJjbEUgY3g9IjEyIiBjeT0iOCIgcj0iMS41Ii8+PGNpcmNsZSBjeD0iNCIgY3k9IjEyIiByPSIxLjUiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxLjUiLz48L2c+PC9zdmc=") center/contain no-repeat;opacity:0.7;}
.odib-contact-chip .odib-chip-label{font-weight:600;color:#0f172a;}
.odib-chip-col{width:100%;padding:4px 6px;font-size:12px;}
.odib-chip-remove{color:#ef4444;}
.odib-contact-chip.is-dragging{opacity:0.85;}
.odib-contact-row{border:1px dashed #cbd5e1;border-radius:12px;padding:10px;margin-bottom:10px;background:#fff;}
.odib-contact-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:700;color:#0f172a;}
.odib-row-remove{color:#ef4444;font-weight:700;}

/* ==================== NEUES CONTACT LAYOUT BUILDER SYSTEM ==================== */

/* Container für das neue Layout Builder System */
.odib-contact-layout-builder {
  display: grid;
  gap: 20px;
  padding: 24px;
  background: var(--odib-container-bg, var(--odib-bg, #fff));
  border: var(--odib-container-border-width, 1px) solid var(--odib-container-border, var(--odib-border, #dfe3e6));
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
  color: var(--odib-text, #111);
}
.odib-legal-wrapper .odib-contact-layout-builder {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

/* Rows mit verschiedenen Spaltenanzahlen */
.odib-layout-row {
  display: grid;
  gap: 20px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

/* 1 Spalte */
.odib-row-cols-1 {
  grid-template-columns: 1fr;
}

/* 2 Spalten */
.odib-row-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

/* 3 Spalten */
.odib-row-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* 4 Spalten */
.odib-row-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* Spalten */
.odib-layout-column {
  display: grid;
  gap: 16px;
  align-content: start;
}

/* Element Basis-Styles */
.odib-element {
  display: flex;
  gap: 12px;
  padding: 16px;
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-sm, 12px);
  transition: all .3s ease;
  color: var(--odib-text, #111);
}

.odib-contact-hover .odib-element:hover {
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .3));
}

/* Element Icon */
.odib-element-icon {
  font-size: 2em;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .1));
}

/* Element Content */
.odib-element-content {
  flex: 1;
}

.odib-element-content h3 {
  margin: 0 0 10px 0;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--odib-brand-primary, #111);
}

.odib-element-content p {
  margin: 0 0 8px 0;
  line-height: 1.6;
  color: #555;
}

.odib-element-content p:last-child {
  margin-bottom: 0;
}

/* Spezifische Element-Types */
.odib-element-address h3 {
  color: var(--odib-brand-primary, #111);
}

.odib-element-phone a,
.odib-element-email a {
  color: var(--odib-brand-primary, #111);
  text-decoration: none;
  font-weight: 500;
  transition: color .3s ease;
}

.odib-element-phone a:hover,
.odib-element-email a:hover {
  color: var(--odib-brand-accent, #6366f1);
  text-decoration: underline;
}

/* Map Element - volle Breite */
.odib-element-map {
  background: transparent;
  border: none;
  padding: 0;
}

.odib-element-map iframe {
  border-radius: var(--odib-card-radius-sm, 12px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

/* Hours Element */
.odib-element-hours {
  --odib-card-bg: var(--odib-bg, #fff);
}

.odib-element-hours .odib-hours-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.odib-element-hours .odib-hours-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-xxs, 8px);
}

.odib-element-hours .odib-day {
  font-weight: 600;
  color: var(--odib-text, #111);
}

.odib-element-hours .odib-hours {
  color: var(--odib-text, #111);
  font-weight: 500;
}

.odib-element-hours .odib-closed {
  color: #e74c3c;
  font-weight: 600;
  font-style: italic;
}

/* Social Element */
.odib-element-social {
  --odib-card-bg: var(--odib-bg, #fff);
}

.odib-element-social .odib-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.odib-element-social .odib-social-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: var(--odib-card-bg, var(--odib-bg, #fff));
  border: var(--odib-card-border-width, 1px) solid var(--odib-card-border, var(--odib-border, #dfe3e6));
  border-radius: var(--odib-card-radius-xxs, 8px);
  text-decoration: none;
  color: var(--odib-text, #111);
  font-weight: 600;
  font-size: 0.9rem;
  transition: all .3s ease;
}

.odib-element-social .odib-social-link:hover {
  --odib-card-bg: linear-gradient(135deg, rgba(var(--odib-brand-accent-rgb, 14, 165, 233), .12), rgba(var(--odib-brand-accent-rgb, 14, 165, 233), .2));
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-accent-rgb, 14, 165, 233), .4));
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(var(--odib-brand-accent-rgb, 14, 165, 233), .2);
}

.odib-element-social .odib-social-icon {
  font-size: 1.3em;
}

/* Note Element */
.odib-element-note {
  --odib-card-bg: linear-gradient(135deg, rgba(241, 196, 15, .08), rgba(241, 196, 15, .15));
}

.odib-element-note .odib-element-content p {
  color: #555;
  line-height: 1.65;
}

/* Empty State */
.odib-contact-empty {
  padding: 40px;
  text-align: center;
  color: #999;
  border: 2px dashed #ddd;
  border-radius: 12px;
  background: #f7f9fa;
}

/* Hover Effekt für gesamte Layout Builder */
.odib-contact-hover .odib-element {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.odib-contact-hover.odib-hover-lift .odib-element:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 36px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .2);
}
.odib-contact-hover.odib-hover-lift .odib-contact-item:hover,
.odib-contact-hover.odib-hover-lift .odib-hours-item:hover,
.odib-contact-hover.odib-hover-lift .odib-social-link:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 36px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .2);
}
.odib-contact-hover.odib-hover-glow .odib-element:hover {
  box-shadow: 0 0 0 2px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .18),0 14px 34px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .2);
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .4));
}
.odib-contact-hover.odib-hover-glow .odib-contact-item:hover,
.odib-contact-hover.odib-hover-glow .odib-hours-item:hover,
.odib-contact-hover.odib-hover-glow .odib-social-link:hover {
  box-shadow: 0 0 0 2px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .18),0 14px 34px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .2);
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .4));
}
.odib-contact-hover.odib-hover-tilt .odib-element:hover {
  transform: translateY(-4px) rotate(-2deg);
  box-shadow: 0 14px 36px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .22);
}
.odib-contact-hover.odib-hover-tilt .odib-contact-item:hover,
.odib-contact-hover.odib-hover-tilt .odib-hours-item:hover,
.odib-contact-hover.odib-hover-tilt .odib-social-link:hover {
  transform: translateY(-4px) rotate(-2deg);
  box-shadow: 0 14px 36px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .22);
}
.odib-contact-hover.odib-hover-float .odib-element:hover {
  transform: translateY(-10px) scale(1.03);
  box-shadow: 0 24px 54px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .24);
}
.odib-contact-hover.odib-hover-float .odib-contact-item:hover,
.odib-contact-hover.odib-hover-float .odib-hours-item:hover,
.odib-contact-hover.odib-hover-float .odib-social-link:hover {
  transform: translateY(-10px) scale(1.03);
  box-shadow: 0 24px 54px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .24);
}
.odib-contact-hover.odib-hover-pulse .odib-element:hover {
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .35));
  animation: odib-hover-pulse 1.6s ease-in-out infinite;
}
.odib-contact-hover.odib-hover-pulse .odib-contact-item:hover,
.odib-contact-hover.odib-hover-pulse .odib-hours-item:hover,
.odib-contact-hover.odib-hover-pulse .odib-social-link:hover {
  border-color: var(--odib-card-border-hover, rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .35));
  animation: odib-hover-pulse 1.6s ease-in-out infinite;
}

@keyframes odib-hover-pulse{
  0%{transform:translateY(-1px) scale(1);box-shadow:0 10px 26px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .14);}
  25%{transform:translateY(-1px) scale(1.08);box-shadow:0 28px 64px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .3);}
  50%{transform:translateY(-1px) scale(1);box-shadow:0 10px 26px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .14);}
  75%{transform:translateY(-1px) scale(1.08);box-shadow:0 28px 64px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .3);}
  100%{transform:translateY(-1px) scale(1);box-shadow:0 10px 26px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .14);}
}

@media (prefers-reduced-motion: reduce){
  .odib-style-hover .odib-legal-card,
  .odib-contact-hover .odib-element,
  .odib-contact-hover .odib-contact-item,
  .odib-contact-hover .odib-hours-item,
  .odib-contact-hover .odib-social-link{
    transition:none;
    animation:none;
    transform:none;
  }
}

/* Style-Varianten */
.odib-contact-style-glassy .odib-contact-layout-builder {
  --odib-container-bg: var(--odib-bg, #fff);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 16px 44px rgba(var(--odib-brand-primary-rgb, 37, 99, 235), .18);
}

.odib-contact-style-glassy .odib-element {
  --odib-card-bg: var(--odib-bg, #fff);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.odib-contact-style-outline .odib-contact-layout-builder {
  --odib-container-bg: var(--odib-bg, #0b1220);
  color: var(--odib-text, #e5e9f0);
  box-shadow: 0 18px 46px rgba(0, 0, 0, .38);
}

.odib-contact-style-outline .odib-element {
  --odib-card-bg: var(--odib-bg, #0b1220);
  color: var(--odib-text, #e5e9f0);
}

.odib-contact-style-outline .odib-element h3,
.odib-contact-style-outline .odib-element strong {
  color: var(--odib-text, #fff);
}

.odib-contact-style-outline .odib-element a {
  color: var(--odib-link, #c7d2fe);
}

.odib-contact-style-outline .odib-element-content p {
  color: var(--odib-text, #d1d5db);
}

/* ==================== RESPONSIVE - LAYOUT BUILDER ==================== */

/* Tablet */
@media (max-width: 768px) {
  .odib-contact-layout-builder {
    padding: 20px;
    gap: 16px;
  }
  .odib-legal-wrapper .odib-contact-layout-builder {
    padding: 0;
  }

  .odib-layout-row {
    padding: 0;
    gap: 14px;
  }

  /* 3 und 4 Spalten werden zu 2 auf Tablet */
  .odib-row-cols-3,
  .odib-row-cols-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .odib-element {
    padding: 12px;
    gap: 10px;
  }

  .odib-element-icon {
    font-size: 1.6em;
  }

  .odib-element-content h3 {
    font-size: 1.1rem;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .odib-contact-layout-builder {
    padding: 16px;
    gap: 14px;
  }
  .odib-legal-wrapper .odib-contact-layout-builder {
    padding: 0;
  }

  .odib-layout-row {
    padding: 0;
    gap: 12px;
  }

  /* Alle Spalten werden zu 1 auf Mobile */
  .odib-row-cols-1,
  .odib-row-cols-2,
  .odib-row-cols-3,
  .odib-row-cols-4 {
    grid-template-columns: 1fr;
  }

  .odib-element {
    padding: 10px;
    gap: 8px;
    flex-direction: column;
    align-items: flex-start;
  }

  .odib-element-icon {
    font-size: 1.5em;
  }

  .odib-element-content h3 {
    font-size: 1.05rem;
    margin-bottom: 8px;
  }

  .odib-element-hours .odib-hours-list li {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 10px;
  }

  .odib-element-social .odib-social-links {
    flex-direction: column;
  }

  .odib-element-social .odib-social-link {
    justify-content: center;
    width: 100%;
  }
}

/* Extra Small */
@media (max-width: 360px) {
  .odib-contact-layout-builder {
    padding: 12px;
    gap: 12px;
  }

  .odib-layout-row {
    padding: 8px;
    gap: 10px;
  }

  .odib-element {
    padding: 8px;
  }
}

.odib-legal-wrapper .odib-contact-layout-builder{
  background: transparent;
  border: none;
  box-shadow: none;
}

/* ===== Legal Design System (per page type) ===== */
.odib-legal-wrapper{
  gap:var(--odib-gap, 18px);
  padding:var(--odib-container-padding, 22px);
  background:var(--odib-container-bg, var(--odib-bg, #fff));
  border-style:var(--odib-container-border-style, solid);
}
.odib-legal-wrapper.odib-design-container-glassy{
  backdrop-filter:blur(var(--odib-container-blur, 10px));
  -webkit-backdrop-filter:blur(var(--odib-container-blur, 10px));
}
.odib-legal-card{
  padding:var(--odib-card-padding, 20px);
  box-shadow:var(--odib-card-shadow, 0 12px 32px rgba(0,0,0,.08));
  background:var(--odib-card-bg, var(--odib-bg,#fff));
  border-style:var(--odib-card-border-style, solid);
}
.odib-design-typo-custom .odib-legal-card h2{
  font-size:var(--odib-title-size, 2rem);
  font-weight:var(--odib-title-weight, 700);
  line-height:var(--odib-title-lh, 1.25);
  color:var(--odib-title-color, var(--odib-link, #111));
}
.odib-design-typo-custom .odib-legal-card p,
.odib-design-typo-custom .odib-legal-card li,
.odib-design-typo-custom .odib-contact-item,
.odib-design-typo-custom .odib-contact-address{
  font-size:var(--odib-text-size, 16px);
  font-weight:var(--odib-text-weight, 400);
  line-height:var(--odib-text-lh, 1.65);
}
.odib-style-hover .odib-legal-card,
.odib-style-hover .odib-contact-item{
  transition-duration:var(--odib-hover-duration, 250ms);
}
.odib-style-hover.odib-hover-scale .odib-legal-card:hover{
  transform:translateY(-4px) scale(1.02);
  box-shadow:0 20px 44px rgba(0,0,0,.18);
}
.odib-style-hover.odib-hover-scale .odib-contact-item:hover{
  transform:translateY(-3px) scale(1.015);
}
.odib-contact-item,
.odib-opening-hours,
.odib-element{
  border-style:var(--odib-card-border-style, solid);
}
.odib-design-buttons-custom .button,
.odib-design-buttons-custom button,
.odib-design-buttons-custom input[type="submit"],
.odib-design-buttons-custom .wp-block-button__link{
  border-radius:var(--odib-button-radius, 10px);
  background:var(--odib-button-bg, #0f172a);
  color:var(--odib-button-text, #fff);
  border:1px solid var(--odib-button-border, transparent);
}
.odib-design-buttons-custom .button:hover,
.odib-design-buttons-custom button:hover,
.odib-design-buttons-custom input[type="submit"]:hover,
.odib-design-buttons-custom .wp-block-button__link:hover{
  background:var(--odib-button-hover, var(--odib-button-bg, #0f172a));
}
.odib-design-links-custom a{
  color:var(--odib-link, #2563eb);
}
.odib-design-links-custom a:hover{
  color:var(--odib-link-hover, #1d4ed8);
}
@media (max-width: 768px){
  .odib-design-responsive-custom{
    gap:var(--odib-gap-tablet, 16px);
  }
  .odib-design-responsive-custom .odib-legal-card{
    padding:var(--odib-card-pad-tablet, 18px);
    border-radius:var(--odib-radius-tablet, var(--odib-card-radius-md, 14px));
  }
}
@media (max-width: 480px){
  .odib-design-responsive-custom{
    gap:var(--odib-gap-mobile, 12px);
  }
  .odib-design-responsive-custom .odib-legal-card{
    padding:var(--odib-card-pad-mobile, 14px);
    border-radius:var(--odib-radius-mobile, var(--odib-card-radius-sm, 10px));
  }
}
