/* kraichgau.BIZ.de 1.7.79g: content-led responsive layout, no hidden page overflow. */
h1,h2,h3,h4,h5,h6,legend,summary {
  overflow-wrap:anywhere;
  word-wrap:break-word;
  word-break:normal;
  white-space:normal;
  -webkit-hyphens:auto;
  hyphens:auto;
}
.page-head,.section-head,.profile-section,.editorial-copy,.article-deck,
.eyebrow,.lead,.notice,.faq,.dk-instagram-consent,.dk-instagram-benefit,
.service-list,.town-links,.region-grid,.site-footer,.account-toolbar {
  min-width:0;
  overflow-wrap:anywhere;
}
.hero-layout>*,.biz-search>*,.biz-grid>*,.job-grid>*,.package-grid>*,
.account-grid>*,.form-grid>*,.profile-layout>*,.article-layout>*,
.directory-layout>*,.region-intro>*,.region-grid>*,.service-list>*,
.section-head>*,.header-row>*,.account-toolbar>*,.request-line>* {
  min-width:0;
}
main p,main li,main a,main label,main figcaption,footer a {
  overflow-wrap:anywhere;
}
.button,button,summary { max-width:100%; }
.button { white-space:normal; word-break:normal; }
fieldset { min-inline-size:0; max-width:100%; }
legend { max-width:100%; }
.checkbox>span { min-width:0; }
figure { max-width:100%; }
iframe,video,canvas { max-width:100%; }
.table-wrap { min-width:0; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.table-wrap table { min-width:0; }
pre { max-width:100%; overflow-x:auto; }
@media (max-width:1100px) {
  .site-header #navigation { min-width:0; max-width:100%; }
  .site-header #navigation a { white-space:normal; overflow-wrap:anywhere; }
  .page-head .biz-search { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-head .biz-search .button { grid-column:1/-1; justify-self:stretch; }
  .entry-hero .hero-main>.welcome { max-width:100%; }
}
@media (max-width:900px) {
  .profile-layout,.directory-layout,.article-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .article-head { margin-left:0; }
  .contact-box { position:static; }
  .article-side-banner { max-width:100%; }
  .biz-grid,.job-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .region-intro { grid-template-columns:minmax(0,1fr); gap:28px; }
}
@media (max-width:780px) {
  .site-header .header-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:14px;
    row-gap:16px;
    padding-block:15px;
  }
  .site-header .header-row .brand {
    width:min(245px,100%);
    max-width:100%;
    min-width:0;
  }
  .site-header .menu-toggle { min-height:44px; min-width:64px; }
  .site-header .account-mobile-cta,.site-header #navigation { grid-column:1/-1; width:100%; }
  .site-header #navigation { margin:0; padding:6px 0; gap:8px 14px; }
  .site-header #navigation a { max-width:100%; min-height:44px; }
  .site-header .account-mobile-cta { white-space:normal; overflow-wrap:anywhere; text-align:center; }
  .entry-hero .welcome .dk-welcome-text { white-space:normal; max-width:100%; }
  .page-head h1,.profile-head h1,.article-head h1 { font-size:clamp(28px,6.5vw,40px); }
  .section-head h2,.business-callout h2 { font-size:clamp(27px,5.5vw,36px); }
  .eyebrow { letter-spacing:.075em; }
  .hero-sub { overflow-wrap:anywhere; }
  .package-grid,.package-grid.two,.account-grid,.form-grid,.dm-lists { grid-template-columns:minmax(0,1fr); }
  .account-toolbar { flex-wrap:wrap; gap:10px 20px; }
  .universal-form legend,.job-editor legend { font-size:clamp(18px,4.5vw,22px); padding-inline:6px; }
  .universal-form fieldset,.job-editor fieldset { margin-inline:0; }
  input:not([type=checkbox]):not([type=radio]),select,textarea { max-width:100%; min-width:0; font-size:16px; }
  input[type=file] { padding-inline:8px; }
  .dg-entry-code strong { white-space:normal; overflow-wrap:anywhere; }
  .funding-notice a { white-space:normal; }
  .gallery-controls { flex-wrap:wrap; gap:12px; }
  .gallery-controls>span { min-width:0; overflow-wrap:anywhere; }
  .dk-publication-editor .mce-container,.dk-publication-editor .mce-container-body { max-width:100%; }
  .dk-publication-editor .mce-toolbar-grp { white-space:normal; }
  .dk-publication-editor .mce-flow-layout-item { max-width:100%; }
  .site-footer nav,.portal-social { flex-wrap:wrap; }
  .table-wrap td,.table-wrap th { white-space:normal; overflow-wrap:anywhere; }
}
@media (max-width:600px) {
  .biz-grid,.job-grid,.region-grid,.town-links,.service-list { grid-template-columns:minmax(0,1fr); }
  .page-head .biz-search { grid-template-columns:minmax(0,1fr); }
  .entry-hero .biz-search { grid-template-columns:minmax(0,1fr); }
  .entry-hero .biz-search .button { grid-column:1/-1; justify-self:stretch; }
  .section-head>.text-link { flex-shrink:1; max-width:100%; }
  .form-card,.package { padding:22px 18px; }
  .contact-box,.article-contact { padding:22px 18px; }
  .dk-help-center,.dk-help-card,.dk-bonus-example,.phone-guide-panel { padding:18px; }
  .request-line { flex-direction:column; gap:8px; }
  .dm-external { padding:14px; }
  .gallery { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:360px) {
  .container { width:calc(100% - 28px); }
  .site-header .header-row { column-gap:10px; }
  .site-header .menu-toggle { padding-inline:10px; }
  .button { padding-inline:16px; }
}
/* A short landscape screen must retain reading space below the navigation. */
@media (max-width:1100px) and (max-height:550px) and (orientation:landscape) {
  .site-header,.admin-bar .site-header { position:relative; top:auto; max-height:none; }
}
/* Intrinsic minimums in the homepage callout and banner must also be allowed to shrink. */
.provider-signup { min-width:0; grid-template-columns:minmax(0,1fr); overflow-wrap:anywhere; }
.provider-signup>*,.hero-ad,.hero-ad .ad-unit,.hero-ad .ad-slot { min-width:0; max-width:100%; }
.section-head>div { min-width:0; max-width:100%; }
.dk-offer-actions { min-width:0; max-width:100%; }
@media (max-width:600px) {
  .dg-hero-link { display:inline-block; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
  .dk-offer-actions .button { min-width:0; max-width:100%; width:100%; }
}
@media (max-width:1100px) {
  /* The older fitting script writes an inline 64px measuring size. Keep its
     measuring pass from enlarging a wrapped welcome line on mobile/tablet. */
  .entry-hero .welcome .dk-welcome-text {
    font-size:clamp(11px,1.8vw,16px)!important;
    line-height:1.5;
    white-space:normal;
    max-width:100%;
    overflow-wrap:anywhere;
  }
}
@media (max-width:600px) {
  .banner-pricing .dk-offer-actions>a.button { margin:0; }
}
@media (max-width:1100px) {
  #dp-consent { max-height:88vh; max-height:88dvh; overflow-y:auto; overflow-wrap:anywhere; }
  #dp-consent p,#dp-consent label,#dp-consent a { overflow-wrap:anywhere; }
  #dp-consent .dp-options label>* { min-width:0; }
  .dp-settings-button { min-height:44px; max-width:calc(100vw - 16px); white-space:normal; overflow-wrap:anywhere; }
}
/* Use the flex gap instead of the global sibling-button margins. */
.banner-pricing .dk-offer-actions>a.button:not(.full) {
  margin:0;
  margin-inline-start:0;
  margin-block-start:0;
}
