@import url('https://fonts.bunny.net/css?family=anton:400|arimo:400,600,700&display=swap');
/* IQ Media Arts: shared red CTA typography + subtle location indicator.
   CTA rules apply only to sections explicitly marked .iqma-unified-band.
   The Startseite CTA remains untouched for its later redesign. */

/* Soft red location indicator in both Leistungen menus and in the footer. */
body .desktop-nav .dropdown-menu a.iqma-current-service,
body .desktop-nav .dropdown-menu a.iqma-current-service:hover,
body .desktop-nav .dropdown-menu a.iqma-current-service:focus-visible {
  background: rgba(152, 27, 40, .20);
  color: #f3b5bd;
  box-shadow: inset 3px 0 #c94b5e;
  border-bottom-color: rgba(255,255,255,.07);
  font-weight: 700;
}
body .mobile-nav .mobile-sub a.iqma-current-service,
body .mobile-nav .mobile-sub a.iqma-current-service:hover,
body .mobile-nav .mobile-sub a.iqma-current-service:focus-visible {
  background: rgba(152, 27, 40, .20);
  color: #f3b5bd;
  box-shadow: inset 3px 0 #c94b5e;
  font-weight: 700;
}
body .footer .footer-links a.iqma-current-service,
body .footer .footer-links a.iqma-current-page {
  background: rgba(152, 27, 40, .20);
  color: #f3b5bd;
  box-shadow: inset 3px 0 #c94b5e;
  border: 0;
  padding: 6px 11px;
  margin-left: -11px;
  font-weight: 700;
  align-self: flex-start;
  border-radius: 2px;
}
body .footer .footer-links a.iqma-current-service:hover,
body .footer .footer-links a.iqma-current-page:hover,
body .footer .footer-links a.iqma-current-service:focus-visible,
body .footer .footer-links a.iqma-current-page:focus-visible {
  background: rgba(152, 27, 40, .27);
  color: #fff;
}

/* Common geometry and typographic identity for the agreed red CTA panels. */
body .band.iqma-unified-band {
  padding: 65px 0;
}
body .band.iqma-unified-band .band-inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  min-height: 255px;
  gap: 32px;
}
body .band.iqma-unified-band .band-inner > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}
body .band.iqma-unified-band .kicker {
  font-family: var(--body);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
}
body .band.iqma-unified-band .h2 {
  font-family: var(--display);
  font-size: clamp(18px, 2.65vw, 42px);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.032em;
  text-transform: uppercase;
  margin: 16px 0 17px;
  max-width: none;
  white-space: nowrap;
  overflow-wrap: normal;
  hyphens: none;
}
body .band.iqma-unified-band p,
body .wedding-main .band.iqma-unified-band p {
  font-family: var(--body);
  font-size: 14px;
  line-height: 1.65;
  font-weight: 400;
  margin: 0;
  color: #f6dfe3;
}
body .band.iqma-unified-band .btn {
  box-sizing: border-box;
  min-height: 57px;
  padding: 18px 22px;
  font: 800 12px/1.25 var(--body);
  letter-spacing: .01em;
  text-transform: none;
}
body .band.iqma-unified-band .iqma-service-cta-links {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  flex: 0 0 auto;
  min-width: 198px;
}
@media (max-width: 1100px) {
  body .band.iqma-unified-band .band-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
    min-height: 0;
  }
  body .band.iqma-unified-band .band-inner > div:first-child { width: 100%; }
  body .band.iqma-unified-band .h2 { font-size: clamp(17px, 3.8vw, 38px); }
  body .band.iqma-unified-band .iqma-service-cta-links { min-width: 0; }
}
@media (max-width: 550px) {
  body .band.iqma-unified-band { padding: 54px 0; }
  body .band.iqma-unified-band .band-inner { gap: 24px; }
  body .band.iqma-unified-band .kicker { font-size: 11px; letter-spacing: .10em; }
  body .band.iqma-unified-band .h2 {
    font-size: clamp(13px, 3.9vw, 20px);
    letter-spacing: -.078em;
    margin: 14px 0 15px;
  }
  body .band.iqma-unified-band p { font-size: 14px; }
  body .band.iqma-unified-band .btn { min-height: 51px; }
  body .band.iqma-unified-band .iqma-service-cta-links { width: 100%; }
}

/* Navigation contrast: visible on touch menus and when desktop browser zoom collapses the header.
   Override inherited/old navigation colors only inside the collapsed menu. */
@media (max-width: 1150px) {
  body .mobile-nav > a,
  body .mobile-nav > a:link,
  body .mobile-nav > a:visited {
    color: #dedadd;
  }
  body .mobile-nav .mobile-parent {
    color: #dedadd;
  }
  body .mobile-nav .mobile-sub a {
    color: #dedadd;
  }
  body .mobile-nav > a:hover,
  body .mobile-nav > a:focus-visible,
  body .mobile-nav .mobile-sub a:hover,
  body .mobile-nav .mobile-sub a:focus-visible {
    color: #fff;
  }
  /* Red current-location indicator, never the entire Leistungen group on Startseite. */
  body .mobile-nav > a.iqma-current-page,
  body .mobile-nav > a.iqma-current-page:visited {
    background: rgba(152, 27, 40, .20);
    color: #f3b5bd;
    box-shadow: inset 3px 0 #c94b5e;
    font-weight: 700;
    padding-left: 12px;
  }
  body .mobile-nav .mobile-sub a.iqma-current-service,
  body .mobile-nav .mobile-sub a.iqma-current-service:visited {
    color: #f3b5bd;
  }
}

/* 2026-10-27: User-approved finishing only. Source of dimensions: Startseite .band.
   Deliberately limited to established CTA bands and the shared social headline. */
body .band.iqma-unified-band{padding:65px 0}
body .band.iqma-unified-band .band-inner{min-height:245px}
body .band.iqma-unified-band .h2,
body.wedding-site .wedding-main .band.iqma-unified-band .h2{
  font-family:var(--display)!important;
  font-size:clamp(36px,5vw,75px)!important;
  font-weight:800!important;
  font-stretch:normal!important;
  line-height:1.03!important;
  letter-spacing:-.035em!important;
  margin:16px 0 17px;
  white-space:normal;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body .band.iqma-unified-band .h2 *,
body.wedding-site .wedding-main .band.iqma-unified-band .h2 *{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
@media(max-width:850px){
  body .band.iqma-unified-band .h2,
  body.wedding-site .wedding-main .band.iqma-unified-band .h2{
    font-size:clamp(36px,7vw,57px)!important;
    letter-spacing:-.035em!important;
  }
}
@media(max-width:550px){
  body .band.iqma-unified-band{padding:55px 0}
  body .band.iqma-unified-band .h2,
  body.wedding-site .wedding-main .band.iqma-unified-band .h2{
    font-size:clamp(32px,9vw,47px)!important;
    letter-spacing:-.035em!important;
    white-space:normal;
  }
}
/* Kontakt is the exact reference for all "Bleiben wir in Verbindung" headings. */
body .iqma-social-section h2,
body.wedding-site .wedding-main .iqma-social-section h2{
  font:650 clamp(25px,3vw,39px)/1.2 Arial,Helvetica,sans-serif!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}

/* IQMA approved burgundy footer band, 2026-10-28.
   All DE/EN sections only. Preserve wording, links, and original font families.
   Desktop height raised from 7cm to 8cm per +1cm request; mobile remains content-based. */
@media (min-width:851px){
 html body section.band,
 html body section.kontakt-brand-footer{
   box-sizing:border-box!important;
   height:8cm!important;min-height:8cm!important;
   padding:0!important;
 }
 html body section.band > .band-inner,
 html body section.band > .container.band-inner,
 html body section.kontakt-brand-footer > .kontakt-brand-footer-inner,
 html body section.kontakt-brand-footer > .container.kontakt-brand-footer-inner{
   height:100%!important;min-height:0!important;
   display:flex!important;flex-direction:row!important;
   align-items:center!important;justify-content:space-between!important;gap:48px!important;
 }
}
html body section.band .band-inner > div:first-child,
html body section.kontakt-brand-footer .kontakt-brand-footer-inner > div:first-child{
 flex:1 1 auto!important;min-width:0!important;
}
html body section.band .kicker,
html body section.kontakt-brand-footer .kontakt-brand-footer-kicker{
 font-family:var(--body)!important;
 font-size:13px!important;font-weight:700!important;
 line-height:1.45!important;letter-spacing:.15em!important;
 text-transform:uppercase;white-space:nowrap!important;
}
html body section.band .h2,
html body section.band.iqma-unified-band .h2,
html body.wedding-site .wedding-main section.band.iqma-unified-band .h2,
html body section.kontakt-brand-footer #kontakt-brand-footer-title{
 font-family:var(--display)!important;font-weight:800!important;
 font-stretch:normal!important;letter-spacing:-.035em!important;
 line-height:1.03!important;
 font-size:clamp(36px,5vw,75px)!important;
 text-transform:uppercase!important;
 display:block!important;white-space:nowrap!important;
 overflow-wrap:normal!important;hyphens:none!important;
 margin:16px 0 17px!important;max-width:none!important;
 color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html body section.band .h2 *,
html body section.kontakt-brand-footer #kontakt-brand-footer-title *{
 color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html body section.band p,
html body.wedding-site .wedding-main section.band p,
html body section.kontakt-brand-footer p{
 font-family:var(--body)!important;
 font-size:14px!important;font-weight:400!important;
 line-height:1.65!important;letter-spacing:normal!important;
 margin:0!important;white-space:nowrap!important;
 overflow-wrap:normal!important;hyphens:none!important;
 color:#f6dfe3;
}
@media(max-width:850px){
 html body section.band,
 html body section.kontakt-brand-footer{
   box-sizing:border-box!important;height:auto!important;min-height:0!important;
   padding:calc(55px + .5cm) 0!important;
 }
 html body section.band .band-inner,
 html body section.kontakt-brand-footer .kontakt-brand-footer-inner{
   height:auto!important;min-height:0!important;
   display:flex!important;flex-direction:column!important;
   align-items:stretch!important;gap:28px!important;
 }
 html body section.band .band-inner > div:first-child,
 html body section.kontakt-brand-footer .kontakt-brand-footer-inner > div:first-child{
   flex:0 0 auto!important;min-width:0!important;width:100%!important;
 }
 html body section.band .h2,
html body section.band.iqma-unified-band .h2,
 html body.wedding-site .wedding-main section.band.iqma-unified-band .h2,
 html body section.kontakt-brand-footer #kontakt-brand-footer-title{
   font-size:clamp(22px,9vw,47px)!important;
   white-space:nowrap!important;
 }
 html body section.band .iqma-service-cta-links,
 html body section.kontakt-brand-footer .kontakt-brand-footer-actions{
   width:100%!important;
 }
}

/* 2026-10-28 approved burgundy CTA finishing:
   Laptop heading modestly smaller, without changing mobile heading sizes.
   One button = the width of a single button in a two-button row.
   Phone and iPad: two enquiry actions side by side, not stacked.
   Hover stays white with a light burgundy tint and shadow, never black or white text.
   Do not affect normal buttons elsewhere in the website. */
@media (min-width:851px) and (hover:hover) and (pointer:fine){
 html body section.band .h2,
 html body section.band.iqma-unified-band .h2,
 html body.wedding-site .wedding-main section.band.iqma-unified-band .h2,
 html body section.kontakt-brand-footer #kontakt-brand-footer-title{
   font-size:clamp(30px,3.9vw,60px)!important;
 }
}
@media (max-width:850px), (hover:none) and (pointer:coarse){
 html body section.band .band-inner > a.btn{
   box-sizing:border-box!important;
   width:min(224px, calc((100% - 12px)/2))!important;
   max-width:100%!important;
   min-width:0!important;
   flex:0 0 auto!important;
   align-self:flex-start!important;
   white-space:nowrap!important;
   text-align:center;
   justify-content:center!important;
   padding-inline:clamp(6px,1.6vw,16px)!important;
   font-size:clamp(9px,2.7vw,12px)!important;
 }
 html body section.band .band-inner .band-actions,
 html body section.band .band-inner .iqma-service-cta-links,
 html body section.kontakt-brand-footer .kontakt-brand-footer-actions{
   box-sizing:border-box!important;
   display:grid!important;
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
   gap:12px!important;
   width:min(460px,100%)!important;
   max-width:100%!important;
   min-width:0!important;
   flex:0 0 auto!important;
   align-self:flex-start!important;
   align-items:stretch!important;
 }
 html body section.band .band-inner .band-actions > .btn,
 html body section.band .band-inner .iqma-service-cta-links > .btn,
 html body section.kontakt-brand-footer .kontakt-brand-footer-actions > .kontakt-brand-footer-button{
   box-sizing:border-box!important;
   width:100%!important;
   max-width:100%!important;
   min-width:0!important;
   margin:0!important;
   padding-inline:clamp(6px,1.6vw,16px)!important;
   font-size:clamp(9px,2.7vw,12px)!important;
   gap:6px!important;
   white-space:nowrap!important;
   justify-content:space-between!important;
 }
}
/* Light hover tint and subtle elevation exclusively for white buttons in burgundy footer bands. */
html body section.band .band-inner a.btn,
html body section.kontakt-brand-footer a.kontakt-brand-footer-button{
 transition:background-color .24s ease,box-shadow .24s ease,filter .24s ease!important;
}
html body section.band .band-inner a.btn:hover,
html body section.band .band-inner a.btn:focus-visible,
html body section.kontakt-brand-footer a.kontakt-brand-footer-button:hover,
html body section.kontakt-brand-footer a.kontakt-brand-footer-button:focus-visible{
 background:linear-gradient(125deg,#fff 0%,#faf2f4 52%,#efdee2 100%)!important;
 color:#131315!important;
 -webkit-text-fill-color:#131315!important;
 box-shadow:0 7px 19px rgba(36,5,11,.25),inset 0 0 0 1px rgba(120,25,43,.18)!important;
}

/* Landscape tablets of every brand (iPad, Android, Huawei, Samsung etc.).
   Use viewport geometry rather than Apple-specific dimensions or hover settings.
   Preserve the laptop-style left copy / right stacked actions across DE/EN pages. */
@media (min-width:700px) and (max-width:1600px) and (min-height:460px) and (orientation:landscape){
 html body section.band .band-inner,
 html body section.kontakt-brand-footer .kontakt-brand-footer-inner{
   display:flex!important;
   flex-direction:row!important;
   align-items:center!important;
   justify-content:space-between!important;
   gap:clamp(18px,2.4vw,32px)!important;
 }
 html body section.band .band-inner > div:first-child,
 html body section.kontakt-brand-footer .kontakt-brand-footer-inner > div:first-child{
   flex:1 1 auto!important;
   width:auto!important;
   min-width:0!important;
 }
 html body section.band .band-inner .band-actions,
 html body section.band .band-inner .iqma-service-cta-links,
 html body section.kontakt-brand-footer .kontakt-brand-footer-actions{
   box-sizing:border-box!important;
   display:flex!important;
   flex-direction:column!important;
   grid-template-columns:none!important;
   align-items:stretch!important;
   gap:12px!important;
   flex:0 0 clamp(178px,18vw,210px)!important;
   width:clamp(178px,18vw,210px)!important;
   min-width:0!important;
   max-width:210px!important;
   align-self:center!important;
 }
 html body section.band .band-inner > a.btn{
   box-sizing:border-box!important;
   flex:0 0 auto!important;
   width:clamp(170px,18vw,210px)!important;
   min-width:0!important;
   max-width:210px!important;
   align-self:center!important;
   white-space:nowrap!important;
 }
 html body section.band .band-inner .band-actions > .btn,
 html body section.band .band-inner .iqma-service-cta-links > .btn,
 html body section.kontakt-brand-footer .kontakt-brand-footer-actions > .kontakt-brand-footer-button{
   width:100%!important;
   max-width:100%!important;
   min-width:0!important;
   white-space:nowrap!important;
 }
}

/* Use smaller CTA headings only on compact landscapes and touch tablets.
   Non-touch laptop headline sizing stays unchanged. */
@media (min-width:700px) and (max-width:1100px) and (min-height:460px) and (orientation:landscape),
       (min-width:700px) and (max-width:1600px) and (min-height:460px) and (orientation:landscape) and (any-pointer:coarse){
 /* Ensure headings fit beside the action column without spilling off-screen. */
 html body section.band .h2,
 html body section.band.iqma-unified-band .h2,
 html body.wedding-site .wedding-main section.band.iqma-unified-band .h2{
   font-size:clamp(25px,3.1vw,42px)!important;
 }
 html body section.kontakt-brand-footer #kontakt-brand-footer-title{
   font-size:clamp(23px,2.65vw,37px)!important;
 }
}

/* Wrapping safeguards for small landscape tablets; no phone portrait changes. */
@media (min-width:700px) and (max-width:900px) and (min-height:460px) and (orientation:landscape){
 html body section.band .h2,
 html body section.kontakt-brand-footer #kontakt-brand-footer-title,
 html body section.band p,
 html body section.kontakt-brand-footer p{
   white-space:normal!important;
   overflow-wrap:break-word!important;
 }
}


/* Stable typography on every DE/EN page: social headings only.
   Arimo is Arial-metric-compatible and supplied as a webfont on every device.
   Never alter unrelated headings, existing link labels, or footer bands. */
html body .iqma-social-section h2,
html body .kontakt-social-section h2,
html body.wedding-site .wedding-main .iqma-social-section h2,
html body.wedding-site .wedding-main .kontakt-social-section h2 {
  font-family:"Arimo",Arial,Helvetica,sans-serif!important;
  font-size:clamp(25px,3vw,39px)!important;
  font-weight:700!important;
  font-stretch:normal!important;
  font-style:normal!important;
  line-height:1.2!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
  font-synthesis:none!important;
}
