/* ============================================================
   CMS – Besucher-Sicherung (gehoert zum Kern, wird immer geladen)
   Nichts vom Editor darf fuer Besucher sichtbar sein – auch dann nicht,
   wenn ein Editor-Element frueher einmal im Inhalt mitgespeichert wurde.
   ============================================================ */
/* Nur in der Besucheransicht ausblenden – im Bearbeitungsmodus (body.te-editing)
   muessen diese Elemente sichtbar und anklickbar bleiben. */
body:not(.te-editing) .pgal-create,body:not(.te-editing) .pgal-tools,body:not(.te-editing) .pgal-del,
body:not(.te-editing) .te-img-btn,body:not(.te-editing) .te-block-bar,body:not(.te-editing) .te-addrow,
body:not(.te-editing) .te-colel-tools,body:not(.te-editing) .te-colel-add,body:not(.te-editing) .colhead-bar,
body:not(.te-editing) .colgrip,body:not(.te-editing) .colrow-addcol,body:not(.te-editing) .bp-grid-add,
body:not(.te-editing) .bp-grid-del,body:not(.te-editing) .rowel-pick,body:not(.te-editing) .img-resize,
body:not(.te-editing) .imgfit-toggle,body:not(.te-editing) .htimg-remove,body:not(.te-editing) .te-tsep-clear,
body:not(.te-editing) .footer-cert-del,body:not(.te-editing) .footer-cert-big--empty,body:not(.te-editing) .bpfb-grip,
body:not(.te-editing) .bpmodal-open,body:not(.te-editing) .te-page-foot,body:not(.te-editing) .colel-hint,
body:not(.te-editing) .colel-space-grip{display:none}
/* Leerer Button: fuer Besucher weg, beim Bearbeiten sichtbar (sonst nicht beschreibbar). */
body:not(.te-editing) a.btn:empty,body:not(.te-editing) button.btn:empty,
body:not(.te-editing) .btn--primary:empty,body:not(.te-editing) .btn--light:empty{display:none}
[contenteditable]{outline:none}

/* Telefon/E-Mail als Bild */
.bp-cimg{display:inline-block;vertical-align:-.18em;max-width:100%;height:auto;user-select:none}

/* ---- Box Pro: Kachel mit eigener Farbe, Symbol und Button ---- */
.bxp{display:flex;flex-direction:column;height:100%}
.bxp-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px}
.bxp-i{display:block}
.bxp-h{margin:0;color:inherit;font-size:1.35rem;line-height:1.2}
.bxp-t{margin:0;color:inherit;opacity:.92;line-height:1.6}
.bxp-btn{display:inline-block;padding:16px 26px;font-weight:700;text-align:center;background:var(--accent,#111);color:#fff;
  transition:filter .18s,transform .18s;text-decoration:none}
.bxp-btn--full{display:block;width:100%}
.bxp-btn:hover{filter:brightness(1.08);color:inherit}
.bxp--sh{box-shadow:0 18px 44px -20px rgba(0,0,0,.35)}
.bxp--hov{transition:transform .2s}
.bxp--hov:hover{transform:translateY(-4px)}
/* Kacheln ohne Abstand aneinander (randlose Reihe) */
.colrow[style*="gap:0"] .colel,.colrow--full .bxp{height:100%}

/* Parallax-Bild fuellt immer die ganze Breite (frueher blieben links und rechts Raender) */
.fluidrow--parallax{background-size:cover}

/* Stillgelegte Menuepunkte */
.nav-dead{cursor:default;opacity:.75;padding:9px 13px;display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:.9rem;color:var(--menu-link,#d4d7dd)}
.nav-hidden-item{opacity:.55}
.nav-hidden-item::after{content:'ausgeblendet';font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin-left:6px}
body.bp-nolinks a[href]:not([href^="#"]):not(.bp-keep){cursor:default}

/* Hinweis fuer Angemeldete, wenn Links stillgelegt sind */
.bp-lockbar{position:fixed;right:18px;bottom:76px;z-index:9998;display:flex;align-items:flex-start;gap:10px;
  background:#1c272a;color:#fff;border-radius:12px;padding:10px 12px 10px 14px;
  font:600 12px/1.45 "Inter",system-ui,sans-serif;box-shadow:0 14px 34px -14px rgba(0,0,0,.6);max-width:min(460px,92vw)}
.bp-lockbar-x{flex:0 0 auto;border:0;background:rgba(255,255,255,.12);color:#fff;width:24px;height:24px;border-radius:7px;
  font-size:1.05rem;line-height:1;cursor:pointer}
.bp-lockbar-x:hover{background:rgba(255,255,255,.25)}
@media (max-width:700px){.bp-lockbar{left:12px;right:12px;bottom:88px;max-width:none}}

/* Emoji-Symbole zuverlaessig darstellen */
.usp-icon,.bxp-i,.bpact-i,.colel-card .usp-icon,.tsep-word{
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji","Twemoji Mozilla",inherit}

/* ---- Galerie-Element: einstellbare Darstellung (Panel: Spalten, Masonry/Quadrate/Kreise,
       Abstand, Ecken, Schatten, Hover). Greift nur mit .pgalw (= Einstellungen gesetzt). ---- */
.colel-galwrap.pgalw .pgal{display:grid;grid-template-columns:repeat(var(--pgal-cols,3),1fr);gap:var(--pgal-gap,14px)}
.colel-galwrap.pgalw .pgal img{width:100%;height:var(--pgal-h,220px);object-fit:cover;border-radius:var(--pgal-radius,12px);box-shadow:none;
  transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease}
.colel-galwrap.pgalw--shadow .pgal img{box-shadow:var(--media-shadow,0 18px 40px -18px rgba(0,0,0,.35))}
.colel-galwrap.pgalw--masonry .pgal{display:block;columns:var(--pgal-cols,3);column-gap:var(--pgal-gap,14px)}
.colel-galwrap.pgalw--masonry .pgal img{height:auto;display:block;margin:0 0 var(--pgal-gap,14px);break-inside:avoid}
.colel-galwrap.pgalw--squares .pgal img{height:auto;aspect-ratio:1/1}
.colel-galwrap.pgalw--circles .pgal img{height:auto;aspect-ratio:1/1;border-radius:50%}
.colel-galwrap.pgalw--hov-zoom .pgal img:hover{transform:scale(1.045)}
.colel-galwrap.pgalw--hov-lift .pgal img:hover{transform:translateY(-5px);box-shadow:0 22px 44px -16px rgba(0,0,0,.4)}
.colel-galwrap.pgalw--hov-fade .pgal img:hover{opacity:.82}
@media (max-width:860px){.colel-galwrap.pgalw .pgal{grid-template-columns:1fr 1fr}.colel-galwrap.pgalw--masonry .pgal{columns:2}}
@media (max-width:520px){.colel-galwrap.pgalw .pgal{grid-template-columns:1fr}.colel-galwrap.pgalw--masonry .pgal{columns:1}}

/* ---- Button-Element: einstellbare Darstellung (Panel: Ausrichtung, volle Breite,
       Farben normal/Hover, Ecken, Schatten). Greift nur mit .btnx (= Einstellungen gesetzt). ---- */
.colel-btnwrap{display:block;width:100%}
.colel-btnwrap.btnx--left{text-align:left}
.colel-btnwrap.btnx--center{text-align:center}
.colel-btnwrap.btnx--right{text-align:right}
.colel-btnwrap .btn.btnx{background:var(--btnx-bg,var(--btn-bg,var(--accent,#111)));color:var(--btnx-fg,var(--btn-text,#fff));
  border-radius:var(--btnx-radius,var(--btn-radius,8px));transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.colel-btnwrap .btn.btnx:hover{background:var(--btnx-hbg,var(--btn-hover-bg,var(--btn-bg,#000)));color:var(--btnx-hfg,var(--btn-hover-text,#fff))}
.colel-btnwrap.btnx--full .btn.btnx{display:block;width:100%;text-align:center}
.colel-btnwrap.btnx--shadow .btn.btnx{box-shadow:0 14px 30px -12px rgba(0,0,0,.4)}
.colel-btnwrap.btnx--noshadow .btn.btnx{box-shadow:none}

/* Logozeile: nur zeigen, wenn eingeschaltet (Besucheransicht) */
body:not(.te-editing) .tsep:not(.tsep--on){display:none}
