/* OFB 7.8.0 – directory-first services and automatic image framing */
.ofb780-directory-market,.ofb780-provider-profile,.ofb780-directory-editor{max-width:1440px;margin:0 auto;padding:20px}
.ofb780-directory-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.55fr);gap:24px;align-items:center;padding:34px;border-radius:24px;background:linear-gradient(135deg,#102f45,#174d6c);color:#fff;box-shadow:0 18px 50px rgba(11,35,53,.14)}.ofb780-directory-hero h1{font-size:clamp(2rem,4vw,3.8rem);line-height:1.02;margin:7px 0 14px;color:#fff}.ofb780-directory-hero p{font-size:1.04rem;max-width:850px;color:#e7f0f5}.ofb780-step-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.ofb780-step-pills span{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:999px}.ofb780-step-pills b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f36b18;color:#fff}.ofb780-hero-actions{display:grid;gap:10px}.ofb780-hero-actions a{text-align:center}
.ofb780-service-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0;padding:8px;border:1px solid #e1e7eb;border-radius:15px;background:#fff}.ofb780-service-tabs a{padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:800;color:#27465b}.ofb780-service-tabs a.active{background:#173d58;color:#fff}
.ofb780-directory-search{display:grid;grid-template-columns:1.2fr .8fr 1fr auto;gap:12px;align-items:end;background:#fff;border:1px solid #e2e8ec;border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(19,53,75,.06)}.ofb780-directory-search label span{display:block;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.ofb780-directory-search input,.ofb780-directory-search select{width:100%;min-height:46px;border:1px solid #d5dde3;border-radius:10px;padding:10px 12px;background:#fff}
.ofb780-industries .ofb-service-industry-grid a.active{outline:2px solid #f36b18;box-shadow:0 10px 26px rgba(243,107,24,.12)}
.ofb780-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ofb780-directory-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e2e8ec;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(17,45,65,.07)}.ofb780-directory-image{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:#edf1f3}.ofb780-directory-image.has-image:before{content:"";position:absolute;z-index:0;inset:-12%;background-image:var(--ofb-directory-image);background-size:cover;background-position:center;filter:blur(18px) saturate(.85);opacity:.28;transform:scale(1.08)}.ofb780-directory-image img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;background:rgba(255,255,255,.6)}.ofb780-directory-image>span{width:80px;height:80px;color:#173d58}.ofb780-directory-body{padding:18px;flex:1}.ofb780-directory-badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:8px}.ofb780-directory-badges span,.ofb780-directory-badges b{font-size:.68rem;letter-spacing:.06em;font-weight:900;padding:6px 8px;border-radius:999px;background:#edf4f8;color:#173d58}.ofb780-directory-badges b{background:#e8f7ee;color:#15733b}.ofb780-directory-card h3{font-size:1.3rem;margin:4px 0}.ofb780-directory-card h3 a{text-decoration:none;color:#122f43}.ofb780-tagline{font-weight:750;color:#354e5f}.ofb780-industry{font-size:.82rem;font-weight:850;color:#f36b18}.ofb780-service-chips{display:flex;gap:6px;flex-wrap:wrap}.ofb780-service-chips span{padding:6px 8px;border-radius:999px;background:#f4f6f8;font-size:.74rem;font-weight:750}.ofb780-service-chips.large span{padding:9px 12px;font-size:.84rem}.ofb780-directory-meta{display:flex;gap:10px;flex-wrap:wrap;color:#5b6c79;font-size:.76rem;margin-top:14px}.ofb780-directory-actions{padding:0 18px 18px}.ofb780-directory-actions a{display:block;text-align:center}
.ofb780-back{display:inline-block;margin:0 0 16px;text-decoration:none;font-weight:800}.ofb780-provider-hero{display:grid;grid-template-columns:260px 1fr;gap:28px;padding:28px;background:#fff;border:1px solid #e2e8ec;border-radius:22px}.ofb780-provider-logo{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border-radius:16px;background:#edf1f3}.ofb780-provider-logo img{width:100%;height:100%;object-fit:contain}.ofb780-provider-logo b{font-size:3rem;color:#173d58}.ofb780-provider-hero h1{margin:6px 0;font-size:clamp(2rem,4vw,3.4rem)}.ofb780-provider-hero h2{font-size:1.15rem;color:#526879}.ofb780-provider-contact{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.ofb780-provider-contact>*{padding:8px 11px;background:#f4f7f9;border-radius:10px;text-decoration:none}.ofb780-provider-services,.ofb780-provider-offers{margin-top:24px;padding:24px;background:#fff;border:1px solid #e2e8ec;border-radius:20px}.ofb780-owner-actions{display:flex;gap:9px;flex-wrap:wrap}.ofb780-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ofb780-offer-tile{display:grid;grid-template-columns:110px 1fr;gap:12px;min-width:0;border:1px solid #e4eaee;border-radius:14px;padding:10px;text-decoration:none;color:inherit;background:#fff}.ofb780-offer-tile img,.ofb780-offer-placeholder{width:110px;height:90px;object-fit:contain;background:#f1f3f5;border-radius:10px}.ofb780-offer-placeholder{display:grid;place-items:center;font-weight:900}.ofb780-offer-tile small{display:block;color:#f36b18;font-weight:850}.ofb780-offer-tile strong{display:block;margin:3px 0}.ofb780-offer-tile p{font-size:.82rem;margin:4px 0;color:#60727f}.ofb780-marketing-callout{margin-top:24px;padding:26px;border-radius:20px;background:linear-gradient(135deg,#fff5eb,#fff);border:1px solid #f5d5bc;display:flex;justify-content:space-between;gap:18px;align-items:center}.ofb780-marketing-callout>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.ofb780-directory-editor{max-width:1180px}.ofb780-editor-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:20px}.ofb780-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ofb780-editor-grid section{padding:22px;background:#fff;border:1px solid #e2e8ec;border-radius:18px}.ofb780-editor-grid label{display:block;font-weight:800;margin:14px 0}.ofb780-editor-grid input,.ofb780-editor-grid textarea,.ofb780-editor-grid select{width:100%;margin-top:6px;border:1px solid #d5dde3;border-radius:10px;padding:11px 12px}.ofb780-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ofb780-editor-image{display:block;max-width:240px;max-height:180px;object-fit:contain;margin:10px 0;background:#f4f6f8;border-radius:12px}.ofb780-publish{padding:12px;background:#f5faf7;border-radius:10px}.ofb780-publish input{width:auto;margin:0 7px 0 0}.ofb780-editor-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:18px}
/* all service listing images: stable 4:3 frame, no distortion, original media untouched */
.ofb-service-card-image,.ofb-ad-card.module-service .ofb-ad-image{aspect-ratio:4/3!important;min-height:0!important}.ofb-service-card-image img,.ofb-ad-card.module-service .ofb-ad-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}.ofb-service-card-image,.ofb780-directory-image{contain:layout paint}
@media(max-width:1050px){.ofb780-directory-grid,.ofb780-offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ofb780-directory-search{grid-template-columns:1fr 1fr}.ofb780-directory-hero{grid-template-columns:1fr}.ofb780-hero-actions{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.ofb780-directory-market,.ofb780-provider-profile,.ofb780-directory-editor{padding:12px}.ofb780-directory-grid,.ofb780-offer-grid,.ofb780-editor-grid,.ofb780-directory-search{grid-template-columns:1fr}.ofb780-provider-hero{grid-template-columns:1fr;padding:18px}.ofb780-provider-logo{max-height:260px}.ofb780-marketing-callout,.ofb780-editor-head{display:block}.ofb780-hero-actions{grid-template-columns:1fr}.ofb780-offer-tile{grid-template-columns:92px 1fr}.ofb780-offer-tile img,.ofb780-offer-placeholder{width:92px;height:78px}.ofb780-two{grid-template-columns:1fr}}

/* OFB 7.8.8 – equal-height business directory cards: full text only on provider detail page. */
.ofb780-directory-card .ofb780-directory-body{display:grid;grid-template-rows:auto auto auto auto auto 1fr auto;align-content:start}
.ofb780-directory-card .ofb780-directory-badges{min-height:30px}
.ofb780-directory-card .ofb780-card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.25;min-height:2.5em;max-height:2.5em;overflow-wrap:anywhere}
.ofb780-directory-card .ofb780-tagline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.38;min-height:2.76em;max-height:2.76em;margin:.35em 0;color:#354e5f}
.ofb780-directory-card .ofb780-industry{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1.35em;margin:.25em 0 .55em}
.ofb780-directory-card .ofb780-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;line-height:1.48;min-height:5.92em;max-height:5.92em;margin:.25em 0 .85em;color:#50636f;overflow-wrap:break-word;word-break:normal}
.ofb780-directory-card .ofb780-service-chips{align-content:flex-start;min-height:62px;max-height:62px;overflow:hidden}
.ofb780-directory-card .ofb780-directory-meta{min-height:34px;align-content:flex-start}
.ofb780-directory-card .ofb780-directory-actions{margin-top:auto}
@supports not (-webkit-line-clamp:4){.ofb780-directory-card .ofb780-card-description{max-height:5.92em;overflow:hidden}.ofb780-directory-card .ofb780-card-title{max-height:2.5em;overflow:hidden}.ofb780-directory-card .ofb780-tagline{max-height:2.76em;overflow:hidden}}
@media(max-width:700px){.ofb780-directory-card .ofb780-card-description{min-height:auto}.ofb780-directory-card .ofb780-service-chips{min-height:auto;max-height:none}}


/* OFB 7.9.1 – compact cards, no phantom claim space. */
.ofb780-directory-card .ofb780-directory-body{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-content:initial!important;padding:18px}
.ofb780-directory-card .ofb780-card-title{min-height:0!important;max-height:2.5em!important;margin:4px 0 10px!important;line-height:1.25!important}
.ofb780-directory-card .ofb780-tagline{min-height:0!important;max-height:2.76em!important;margin:0 0 9px!important;line-height:1.38!important}
.ofb780-directory-card.no-tagline .ofb780-tagline{display:none!important;margin:0!important;min-height:0!important;height:0!important}
.ofb780-directory-card .ofb780-industry{min-height:0!important;margin:0 0 8px!important;line-height:1.35!important}
.ofb780-directory-card .ofb780-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;line-height:1.48;min-height:5.92em;max-height:5.92em;margin:0 0 12px!important;color:#50636f;overflow-wrap:break-word;word-break:normal}
.ofb780-directory-card .ofb780-service-chips{margin-top:0;align-content:flex-start;min-height:62px;max-height:62px;overflow:hidden}
.ofb780-directory-card .ofb780-directory-meta{margin-top:auto;padding-top:12px;min-height:34px;align-content:flex-start}
.ofb791-profile-status{display:grid;gap:4px;margin:0 0 16px;padding:13px 15px;border-radius:12px;border:1px solid #d8e3ea;background:#f6fafc;color:#24445a}.ofb791-profile-status strong{font-size:1rem}.ofb791-profile-status span{font-size:.86rem}.ofb791-profile-status em{font-style:normal;font-size:.82rem;color:#8a3f00}.ofb791-profile-status.is-public{border-color:#b9dfc8;background:#f2fbf5;color:#17623a}.ofb791-profile-status.is-hidden{border-color:#f1d0ac;background:#fff8ef}
@supports not (-webkit-line-clamp:4){.ofb780-directory-card .ofb780-card-description{max-height:5.92em;overflow:hidden}.ofb780-directory-card .ofb780-card-title{max-height:2.5em;overflow:hidden}.ofb780-directory-card .ofb780-tagline{max-height:2.76em;overflow:hidden}}
@media(max-width:700px){.ofb780-directory-card .ofb780-card-description{min-height:auto}.ofb780-directory-card .ofb780-service-chips{min-height:auto;max-height:none}}

/* OFB 7.9.2 – compact card spacing; no invisible claim reservation. */
.ofb780-directory-card .ofb780-directory-body{gap:0!important}
.ofb780-directory-card .ofb780-card-title{margin:4px 0 10px!important;padding:0!important}
.ofb780-directory-card.no-tagline .ofb780-card-title{margin-bottom:12px!important}
.ofb780-directory-card .ofb780-tagline{margin:0 0 9px!important;padding:0!important}
.ofb780-directory-card .ofb780-industry{margin:0 0 8px!important;padding:0!important}
.ofb780-directory-card .ofb780-card-description{margin:0 0 12px!important;padding:0!important}
.ofb780-directory-card.no-tagline .ofb780-industry{margin-top:0!important}

/* OFB 7.9.3 – uniform homepage directory cards.
   Home previews deliberately omit the claim; the full claim remains on the provider detail page. */
.home #ofb752-services .ofb-latest-listing{align-items:stretch!important}
.home #ofb752-services .ofb780-directory-card.is-home-card{height:100%!important;min-height:0!important;align-self:stretch!important;display:flex!important;flex-direction:column!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-image{width:100%;aspect-ratio:4/3!important;min-height:0!important;max-height:none!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-body{display:grid!important;grid-template-rows:52px 2.5em 1.35em 5.92em 58px 38px!important;gap:0!important;align-content:start!important;flex:1!important;padding:14px 14px 10px!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-badges{height:52px!important;min-height:52px!important;max-height:52px!important;overflow:hidden!important;align-content:start!important;margin:0!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-card-title{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;min-height:2.5em!important;max-height:2.5em!important;margin:0!important;padding:0!important;line-height:1.25!important;align-self:start!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-tagline{display:none!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-industry{height:1.35em!important;min-height:1.35em!important;max-height:1.35em!important;margin:0!important;padding:0!important;line-height:1.35!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-card-description{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important;height:5.92em!important;min-height:5.92em!important;max-height:5.92em!important;margin:0!important;padding:6px 0 0!important;line-height:1.48!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-service-chips{height:58px!important;min-height:58px!important;max-height:58px!important;margin:0!important;padding:7px 0 0!important;overflow:hidden!important;align-content:start!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-service-chips span{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-more-chip{background:#eef3f6;color:#536875}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-meta{height:38px!important;min-height:38px!important;max-height:38px!important;margin:0!important;padding:6px 0 0!important;overflow:hidden!important;align-content:start!important;line-height:1.35!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-actions{margin-top:auto!important;padding:0 14px 14px!important}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-actions a{min-height:42px;display:flex;align-items:center;justify-content:center}
@media(max-width:700px){
 .home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-body{grid-template-rows:52px 2.5em 1.35em 5.92em 58px 38px!important}
}

/* OFB 7.9.8 – homepage directory cards: reserve enough real space for two badge rows.
   Prevents BRANCHENBUCH / Gewerbe geprüft from overlapping the company title. */
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-body{
  grid-template-rows:66px 2.5em 1.35em 5.92em 58px 38px!important;
}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-badges{
  height:66px!important;
  min-height:66px!important;
  max-height:66px!important;
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:5px!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-badges span,
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-badges b{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:24px!important;
  line-height:1.05!important;
  padding:5px 8px!important;
  margin:0!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
.home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-card-title{
  position:relative!important;
  z-index:1!important;
  margin:0!important;
  padding:0!important;
}
@media(max-width:700px){
 .home #ofb752-services .ofb780-directory-card.is-home-card .ofb780-directory-body{
   grid-template-rows:66px 2.5em 1.35em auto auto auto!important;
 }
}
