.elementor-kit-1216{--e-global-color-primary:#000000;--e-global-color-secondary:#063342;--e-global-color-text:#000000E6;--e-global-color-accent:#DBA428;--e-global-color-856d2b9:#FFFFFF;--e-global-color-d5ffc9b:#000000BF;--e-global-color-34c3267:#00000080;--e-global-color-a667568:#00000040;background-color:#FFFFFF00;}.elementor-kit-1216 a{color:var( --e-global-color-primary );}.elementor-kit-1216 a:hover{color:var( --e-global-color-accent );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}}/* Start custom CSS *//* === BASIS: Standardgröße (1rem = 16px) === 
html {
  font-size: 100%;
}
*/
/* === DESIGN-TOKENS: Farben & Typografie === */
:root {
  /* Farben */
  --black: rgba(0, 0, 0, 1);
  --black-90: rgba(0, 0, 0, 0.9);
  --black-70: rgba(0, 0, 0, 0.7);
  --black-50: rgba(0, 0, 0, 0.5);
  --black-20: rgba(0, 0, 0, 0.2);

  --old-navy: rgba(6, 51, 66, 1);
  --old-navy-90: rgba(6, 51, 66, 0.9);
  --old-navy-70: rgba(6, 51, 66, 0.7);
  --old-navy-50: rgba(6, 51, 66, 0.5);
  --old-navy-20: rgba(6, 51, 66, 0.2);

  --signal-red: rgba(240, 78, 76, 1);
  --signal-red-90: rgba(240, 78, 76, 0.9);
  --signal-red-70: rgba(240, 78, 76, 0.7);
  --signal-red-50: rgba(240, 78, 76, 0.5);
  --signal-red-20: rgba(240, 78, 76, 0.2);

  --ruby-red: rgba(196, 22, 28, 1);
  --ruby-red-90: rgba(196, 22, 28, 0.9);
  --ruby-red-70: rgba(196, 22, 28, 0.7);
  --ruby-red-50: rgba(196, 22, 28, 0.5);
  --ruby-red-20: rgba(196, 22, 28, 0.2);

  --gold: rgba(219, 164, 40, 1);
  --gold-90: rgba(219, 164, 40, 0.9);
  --gold-70: rgba(219, 164, 40, 0.7);
  --gold-50: rgba(219, 164, 40, 0.5);
  --gold-20: rgba(219, 164, 40, 0.2);

  --sun-yellow: rgba(250, 166, 26, 1);
  --sun-yellow-90: rgba(250, 166, 26, 0.9);
  --sun-yellow-70: rgba(250, 166, 26, 0.7);
  --sun-yellow-50: rgba(250, 166, 26, 0.5);
  --sun-yellow-20: rgba(250, 166, 26, 0.2);

  /* Typografie */
  --line-height-default: 1.61;
  --factor-default: 2.25;

  --h1-font-size: clamp(2rem, 6cqi, 4rem);
  --h2-font-size: clamp(1.75rem, 5.5cqi, 3.5rem);
  --h3-font-size: clamp(1.5rem, 5cqi, 3rem);
  --h4-font-size: clamp(1.25rem, 4.5cqi, 2.25rem);
  --h5-font-size: clamp(1.125rem, 4cqi, 1.875rem);
  --h6-font-size: clamp(1rem, 3.5cqi, 1.625rem);
  --p-font-size: clamp(1.05rem, 3.25cqi, 1.25rem);
}

.single-post{
    --h2-font-size: clamp(1.75rem, 5.5cqi, 2.75rem);
    --h3-font-size: clamp(1.5rem, 5cqi, 1.75rem);
}

html, body{
    max-width: 100vw;
    overflow-x: clip;
}

/* === Container für cqi-basierte Einheiten === */
main,
section,
article,
aside,
header,
footer {
  container-type: inline-size;
}

/* === Grundtypografie === */
body {
  font-family: 'Inter', sans-serif;
  line-height: var(--line-height-default);
  color: var(--black);
  letter-spacing: -0.01em;
}

/* Mobilfreundlicher Innenabstand 
@media (max-width: 767px) {
  body {
    padding-inline: 1rem;
  }
}
*/

/* Fließtext */
p {
  margin: 0;
  font-size: var(--p-font-size);
  line-height: 1.75;
  max-width: 75ch;
  font-weight: normal;
  white-space: normal;
  text-wrap: pretty;
  hyphenate-limit-chars: 7;
  hyphens: auto;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Links */
a {
  color: var(--black-70);
  text-decoration: none;
  transition: color 0.3s ease;
}
a:hover,
a:focus {
  color: var(--gold);
}

.agency-link{ 
    outline: 1px solid var(--ruby-red); 
    
    border-radius: 6px;
}

.agency-link a{
    display: flex;
    gap: 0.25em;
    margin: .25rem 1rem;
    margin-left: 1.25rem;
    color: var(--ruby-red);
}

.agency-link:hover{ background-color: var(--ruby-red); }

.agency-link:hover a,
.agency-link:hover a span{ color: #fff; }

.agency-link a span{ 
    width: 0; overflow: hidden; 
    transition: all .5s;
}
.agency-link:hover a span{ width: 1em; }

/* Überschriften */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  line-height: 1;
  margin: 0;
  white-space: normal;
  text-wrap: balance;
}

h1 {
  font-size: var(--h1-font-size);
  text-transform: uppercase;
  position: relative;
  text-align: left;
}

/*
h1::after {
  content: "";
  display: block;
  height: 0.25rem;
  background-color: var(--gold);
  width: 66.66%;
  margin-top: 0.4em;
}*/

h2 { font-size: var(--h2-font-size); }
h3 { font-size: var(--h3-font-size); }
h4 { font-size: var(--h4-font-size); }
h5 { font-size: var(--h5-font-size); }
h6 { font-size: var(--h6-font-size); }

/* Abstand zwischen Texteinheiten */
:is(h1, h2, h3, h4, h5, h6, p):has(+ h1, + h2, + h3, + h4, + h5, + h6, + div, + p) {
  margin-block: calc((1em * var(--line-height, var(--line-height-default))) / var(--factor, var(--factor-default)));
}

/* Headline adjustments */
.post-card .elementor-heading-title,
.jet-smart-tiles__box-title{
    font-family: 'Inter';
    letter-spacing: normal !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

/* Immer: Abschnitt über die volle Breite */
.elementor-section, {
  width: 100%;
  padding-block: 6.4rem;
}

/* Nur bei Boxed: Inhalt auf 120ch begrenzen */
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 90ch;
  margin-inline: auto;
  width: 100%;
}

/* Bei voller Breite: Container auch voll breit */
.elementor-section.elementor-section-full_width > .elementor-container {
  max-width: none;
  width: 100%;
  margin: 0;
}

@media (max-width: 767px) {
    .jet-smart-tiles-slide__wrap.layout-1-2 { 
        grid-template-rows: 1fr !important; 
    }
    .elementor-6441 .elementor-element.elementor-element-6929d26 .jet-smart-tiles-slide__wrap{
        min-height: auto !important;
    }
    
    .jet-smart-tiles__box-content{ margin-top: 10rem; }
}

.footermenu {
    font-family: 'Inter';
    font-size: 0.8rem;
    color: white;
}

[data-elementor-type="footer"]{
    max-width: calc(90ch + 2rem);
    padding-inline: 1rem;
    margin-inline: auto;
}

[data-elementor-type="footer"] p{ font-size: 0.75rem; }


.article-author, .article-link a{ 
    font-size: 1rem !important; 
    color: #00000080;
}

.post-filter .jet-filter-label{
    font-weight: 700;
}

.jet-smart-filters-select.jet-filter{
    flex-direction: column;
}

.ccm-root:has(.ccm-modal.ccm-show){
    position: fixed;
    inset: 0;
    z-index: 999999999;
    width: 100vw;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255,255,255, .25);
    backdrop-filter: blur(.25rem);
}

.ccm-root:has(.ccm-control-panel.ccm-show) #ccm-widget{
    display: none;
}

.ccm-root:has(#ccm-details.ccm-show) #ccm-control-panel{
    display: none;
}

.ccm-widget, .ccm-modal{background-color: #fff;}

.ccm-modal--header{ margin-top: 1.5rem; }

.ccm-modal--header,
.ccm-widget--language-switch{ 
    display: flex; 
    align-items: center;
    gap: .5rem;
}

.ccm-widget--language-switch{ flex: 1; }

.ccm-dismiss-button{ 
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-color: #000;
}

.ccm-dismiss-button:after{
    width: 40px;
    height: 40px;
    line-height: 40px;
}

.ccm--tree-node-toggle{ display: none; }

.ccm-root button{
    border-color: #000;
    color: #000;
}

.ccm-root button:hover,
.ccm-root button:focus{
    background-color: #DBA428;
    border-color: #DBA428;
    color: #fff;
}

.ccm-settings-summoner.ccm-show{
    position: fixed;
    bottom: 1rem;
    left: 1rem;
}

@media (max-width: 767px) {
.ccm-settings-summoner.ccm-show{ bottom: .5rem; left: .5rem; transform: scale(75%); }    
}

.ccm-settings-summoner--link{
    background-color: #fff;
    border-color: #000;
    width: 46px;
    height: 46px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ccm-settings-summoner--link:hover{
    background-color: #eee !important;
    border-color: #000 !important;
}

.ccm-settings-summoner--icon{
    display: block;
    width: 24px;
}

.ccm-control-panel{
    padding: 1rem;
    border: 1px solid #000;
    font-size: .85rem;
}

.ccm--action-buttons{
    display: flex;
    gap: 1rem;
    margin-bottom: 1rem;
}

.ccm-modal-inner,
.ccm-control-panel--purposes{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ccm-control-panel .ccm-modal--footer.ccm-link-container-sub-footer{
    margin-top: .75rem;
    background-color: transparent !important; }
    
.ccm-info-button{
    padding: 0 .5em;
    font-size: .85em;
}

#ccm-details{
    font-size: .75rem;
    padding: 1rem;
    max-height: 80dvh;
    max-width: 50vw;
    outline: 1px solid #000;
    overflow-y: scroll;
}

#ccm-details p{
    font-size: .75rem;
}

/* Front page grids */
@media (max-width: 1024px) {
  .loop-scroll .elementor-loop-container.elementor-grid{
    display: flex !important;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: var(--grid-row-gap, 1rem);
    padding-inline: 1rem;
    padding-bottom: 1.5rem; 

  }

.loop-scroll [data-elementor-type="loop-item"] {
    flex: 0 0 auto;
    width: 60%; /* adjust for visible item width */
    scroll-snap-align: start;
  }


  .loop-scroll {
    scroll-snap-type: x mandatory;
  }

  .loop-scroll::-webkit-scrollbar {
    height: 6px;
  }
  .loop-scroll::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 4px;
  }
}

@media (max-width: 767px) {
.loop-scroll [data-elementor-type="loop-item"] { width: 80%; }
}/* End custom CSS */