@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
.kc-home{--brown:#8a6032;--dark:#6f4a27;--rose:#f2e3ea;--cream:#f5e7c9;color:var(--brown);font-family:Montserrat,sans-serif;overflow:hidden;background:transparent}
.kc-home *{box-sizing:border-box}
.kc-hero{position:relative;min-height:100vh;min-height:100svh;background-color:var(--rose);background-position:center top;background-size:cover;background-repeat:no-repeat;display:flex;align-items:flex-end;justify-content:center;padding:0 16px 11vh}
.kc-hero-fade{position:absolute;left:0;right:0;bottom:-1px;height:30%;background:linear-gradient(to bottom,rgba(242,227,234,0),rgba(242,227,234,.72) 48%,var(--rose) 100%);pointer-events:none;z-index:1}
.kc-welcome:before{content:"";position:absolute;left:0;right:0;top:-90px;height:120px;background:linear-gradient(to bottom,rgba(242,227,234,0),var(--rose));pointer-events:none;z-index:0}
.kc-welcome>*{position:relative;z-index:1}
.kc-hero-countdown{position:relative;z-index:2;width:100%;display:flex;justify-content:center}
.kc-countdown{display:flex;justify-content:center;gap:5px;width:min(520px,92vw)}
.kc-countdown>div{background:rgba(248,231,180,.78);min-width:110px;padding:15px 10px 10px;text-align:center}
.kc-countdown span{display:block;font:500 48px/1 'Playfair Display',serif;color:var(--brown)}
.kc-countdown small{font:400 14px Montserrat,sans-serif;color:var(--brown)}
.kc-section{position:relative;text-align:center;padding:78px 20px}
.kc-welcome{background:transparent}
.kc-welcome-heart{height:52px;margin-bottom:16px;display:flex;justify-content:center}
.kc-welcome-heart img,.kc-big-heart img{width:54px;height:54px;object-fit:contain;display:block}
.kc-welcome h2,.kc-section h2{font-family:'Playfair Display',serif;color:var(--brown);font-weight:600}
.kc-welcome h2{font-size:32px;margin:0 0 38px}
.kc-welcome p,.kc-motto p{font-size:20px;line-height:1.55;max-width:760px;margin:0 auto}
.kc-signature{font-family:'Distant Stroke','Brush Script MT',cursive;font-size:48px;margin:46px 0 52px;color:var(--brown)}
.kc-cards-wrap{display:flex;align-items:center;justify-content:center;gap:8px;max-width:1240px;margin:auto}
.kc-cards{display:flex;gap:20px;width:min(1040px,calc(100% - 92px));justify-content:center;min-height:560px;flex:0 1 1040px}
.kc-card{position:relative;width:calc(50% - 10px);aspect-ratio:.70;border-radius:46px;border:4px solid rgb(138,96,50) !important;border-color:rgb(138,96,50) !important;overflow:hidden;text-decoration:none;background:rgba(255,255,255,.28);box-shadow:0 8px 28px rgba(90,55,35,.10);display:none}
.kc-card.is-active-card{display:block}
.kc-card-image{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.28)}
.kc-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.kc-card-image img[src$=".svg"],.kc-card-image img[src*="kc-icon"]{object-fit:contain;padding:20%;background:rgba(255,255,255,.28)}
.kc-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:35%;background:linear-gradient(transparent,rgba(0,0,0,.43));pointer-events:none}
.kc-card-title{position:absolute;z-index:2;bottom:23%;left:10px;right:10px;color:#fff;font:500 30px/1.1 'Playfair Display',serif;text-shadow:0 1px 4px rgba(0,0,0,.25)}
.kc-card-heart{position:absolute;z-index:3;bottom:7%;left:0;right:0;display:flex;justify-content:center}
.kc-card-heart img{width:36px;height:36px;object-fit:contain;filter:brightness(0) invert(1);}
.kc-arrow{border:0!important;background:transparent!important;color:var(--brown)!important;cursor:pointer;padding:10px;line-height:0;appearance:none;box-shadow:none!important;flex:0 0 48px}
.kc-arrow svg{width:38px;height:38px;display:block;stroke:var(--brown);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.kc-arrow:hover svg{stroke:var(--dark)}
.kc-arrow:disabled{opacity:.3;cursor:default}
.kc-dots{display:flex;justify-content:center;gap:13px;margin-top:22px}
.kc-dots button{width:9px;height:9px;border:0;border-radius:50%;background:rgba(138,96,50,.25);padding:0;cursor:pointer}
.kc-dots button.active{background:var(--brown)}
.kc-motto{background:var(--cream)}
.kc-motto-lines{font:500 38px/1.28 'Playfair Display',serif;color:var(--brown)}
.kc-rsvp{background:transparent;padding-bottom:110px}
.kc-rsvp-inner{max-width:760px;margin:0 auto;padding:58px 28px 64px;border-radius:42px;background:rgba(255,255,255,.56);border:1px solid rgba(138,96,50,.16);box-shadow:0 14px 40px rgba(90,55,35,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.kc-rsvp-kicker{font-size:18px;margin:25px 0 15px}
.kc-rsvp h2{font-size:44px;margin:0 0 28px}
.kc-rsvp-btn{display:inline-block;background:var(--brown);color:#fff;text-decoration:none;border-radius:50px;padding:19px 56px;font-size:20px}
.kc-big-heart.bottom{margin-top:38px}
.kc-big-heart{display:flex;justify-content:center}.kc-big-heart img{width:58px;height:58px}
.kc-deadline{margin-top:42px;font-size:16px}
.kc-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;will-change:opacity,transform}
.kc-reveal.is-visible{opacity:1;transform:none}
.elementor-editor-active .kc-reveal,.elementor-editor-preview .kc-reveal{opacity:1!important;transform:none!important}
@media(max-width:700px){
 .kc-home{filter:none!important;transform:none!important}
 .kc-home img{filter:none!important;transform:none!important;backface-visibility:visible}
 .kc-hero{min-height:100svh;padding:0 10px 8vh;background-position:center top}
 .kc-countdown{width:92vw;gap:4px}.kc-countdown>div{min-width:0;flex:1;padding:13px 4px 9px;background:rgba(248,231,180,.82)}.kc-countdown span{font-size:36px}.kc-countdown small{font-size:11px}
 .kc-section{padding:62px 18px}.kc-welcome h2{font-size:28px}.kc-welcome p,.kc-motto p{font-size:18px}.kc-signature{font-size:40px;margin:40px 0}
 .kc-cards-wrap{gap:0;width:100%}.kc-cards{width:calc(100% - 84px);flex:0 0 calc(100% - 84px);min-height:0;gap:14px}.kc-card{width:calc(50% - 7px);flex:0 0 calc(50% - 7px);aspect-ratio:.64;border:4px solid rgb(138,96,50) !important;border-color:rgb(138,96,50) !important;border-radius:38px}.kc-card-title{font-size:22px}.kc-arrow{flex-basis:42px;padding:2px}.kc-arrow svg{width:34px;height:34px}
 .kc-motto-lines{font-size:29px;line-height:1.3}.kc-motto p{font-size:16px;line-height:1.45}.kc-rsvp-inner{padding:46px 18px 52px;border-radius:32px}.kc-rsvp h2{font-size:36px}.kc-rsvp-kicker{font-size:17px}
}
@media(min-width:701px){.kc-cards .kc-card.is-active-card{display:block}}

/* Fotografen-Galerien */
.kc-photos{padding-top:90px;padding-bottom:90px;background:transparent}
.kc-photos h2{font:600 38px/1.2 'Playfair Display',serif;margin:0 0 16px;color:var(--brown)}
.kc-photo-intro{max-width:760px;margin:0 auto 46px;font-size:18px;line-height:1.55}
.kc-photo-groups{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:38px}
.kc-photo-group{padding:28px;border:1.5px solid rgba(138,96,50,.45);border-radius:32px;background:rgba(255,255,255,.28)}
.kc-photo-group h3{font:600 28px/1.2 'Playfair Display',serif;color:var(--brown);margin:0 0 22px}
.kc-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kc-photo-grid a{display:block;aspect-ratio:1/1.15;overflow:hidden;border-radius:20px;border:1px solid rgba(138,96,50,.35)}
.kc-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){
 .kc-photos{padding:70px 16px}
 .kc-photos h2{font-size:30px}
 .kc-photo-intro{font-size:16px;margin-bottom:32px}
 .kc-photo-groups{grid-template-columns:1fr;gap:24px}
 .kc-photo-group{padding:20px;border-radius:26px}
 .kc-photo-group h3{font-size:24px}
}

/* Home 1.0.16 – softer hero transition + richer scroll reveals */
.kc-hero{overflow:visible}
.kc-hero-fade{
  height:46%;
  bottom:-1px;
  background:linear-gradient(to bottom,
    rgba(242,227,234,0) 0%,
    rgba(242,227,234,.08) 20%,
    rgba(242,227,234,.42) 52%,
    rgba(242,227,234,.82) 78%,
    var(--rose) 100%);
}
.kc-welcome:before{
  top:-145px;
  height:180px;
  background:linear-gradient(to bottom,rgba(242,227,234,0),rgba(242,227,234,.45) 55%,var(--rose) 100%);
}
.kc-reveal-child{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .85s ease, transform .85s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.kc-reveal-child.is-visible-child{opacity:1;transform:none}
.elementor-editor-active .kc-reveal-child,
.elementor-editor-preview .kc-reveal-child{opacity:1!important;transform:none!important}
.kc-welcome .kc-reveal-child:nth-child(1){transition-delay:.04s}
.kc-welcome .kc-reveal-child:nth-child(2){transition-delay:.10s}
.kc-welcome .kc-reveal-child:nth-child(3){transition-delay:.16s}
.kc-welcome .kc-reveal-child:nth-child(4){transition-delay:.22s}
.kc-welcome .kc-reveal-child:nth-child(5){transition-delay:.28s}
.kc-welcome .kc-reveal-child:nth-child(6){transition-delay:.34s}
.kc-motto .kc-reveal-child:nth-child(1){transition-delay:.08s}
.kc-motto .kc-reveal-child:nth-child(2){transition-delay:.20s}
.kc-rsvp-inner .kc-reveal-child{transition-delay:.10s}
@media(max-width:700px){
  .kc-hero-fade{height:50%;background:linear-gradient(to bottom,rgba(242,227,234,0) 0%,rgba(242,227,234,.12) 18%,rgba(242,227,234,.48) 54%,rgba(242,227,234,.86) 80%,var(--rose) 100%)}
  .kc-welcome:before{top:-115px;height:150px}
}
.kc-motto p{font-size:17px;line-height:1.45}
@media(max-width:700px){.kc-motto p{font-size:15px;line-height:1.45}}

/* Home 1.0.17 – seamless hero-to-rose transition */
.kc-hero{
  min-height:calc(100svh + 140px);
  padding-bottom:calc(11vh + 140px);
}
.kc-hero-fade{
  bottom:0;
  height:220px;
  background:linear-gradient(to bottom,
    rgba(242,227,234,0) 0%,
    rgba(242,227,234,.08) 18%,
    rgba(242,227,234,.28) 40%,
    rgba(242,227,234,.62) 64%,
    rgba(242,227,234,.88) 82%,
    var(--rose) 100%);
}
.kc-welcome:before{display:none}
@media(max-width:700px){
  .kc-hero{
    min-height:calc(100svh + 125px);
    padding-bottom:calc(8vh + 125px);
  }
  .kc-hero-fade{
    height:205px;
    background:linear-gradient(to bottom,
      rgba(242,227,234,0) 0%,
      rgba(242,227,234,.08) 18%,
      rgba(242,227,234,.30) 42%,
      rgba(242,227,234,.66) 68%,
      rgba(242,227,234,.90) 84%,
      var(--rose) 100%);
  }
}


/* Home 1.0.19: full-bleed hero image fades out into the existing page background. */
.kc-home{overflow:visible!important}
.kc-hero{
  position:relative;
  isolation:isolate;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  background-image:none!important;
  background-color:transparent!important;
  overflow:hidden;
  min-height:calc(100svh + 90px);
  padding-bottom:calc(11vh + 90px);
}
.kc-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--kc-hero-image);
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 48%,rgba(0,0,0,.92) 60%,rgba(0,0,0,.62) 73%,rgba(0,0,0,.28) 86%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 48%,rgba(0,0,0,.92) 60%,rgba(0,0,0,.62) 73%,rgba(0,0,0,.28) 86%,transparent 100%);
  pointer-events:none;
}
.kc-hero-fade{display:none!important}
.kc-hero-countdown{z-index:2}
.kc-motto{background:transparent!important}
.kc-motto-lines{white-space:normal}
@media(max-width:700px){
  .kc-hero{min-height:calc(100svh + 80px);padding-bottom:calc(8vh + 80px)}
  .kc-hero::before{
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 44%,rgba(0,0,0,.90) 58%,rgba(0,0,0,.58) 72%,rgba(0,0,0,.25) 86%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 44%,rgba(0,0,0,.90) 58%,rgba(0,0,0,.58) 72%,rgba(0,0,0,.25) 86%,transparent 100%);
  }
}
