/*
Theme Name:  Nicole Voice – Scroll
Author:      Nicole Kierdorf
Description: One-Page-Theme mit Vollbild-Sektionen. Kein Hauptmenü. Galerie aus der Mediathek. Hintergrundbilder im Customizer.
Version:     3.0.0
License:     GNU General Public License v2 or later
Text Domain: nicole-scroll
*/

:root{--cream:#FAF8F3;--warm:#F2EDE3;--gold:#B8936A;--gold-dk:#8C6A48;--gold-lt:#D4B896;--text:#1E1A15;--muted:#7A7268;--border:rgba(184,147,106,.25);--white:#fff;--dark:#16130F}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Jost','Helvetica Neue',sans-serif;background:var(--cream);color:var(--text);line-height:1.8;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none;transition:color .25s}
a:hover{color:var(--gold-dk)}
.display{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;line-height:1.05}
.label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block}
.label::before{content:'— '}

/* Header: nur Logo, kein Menü */
.site-header{position:fixed;top:0;left:0;right:0;z-index:500;padding:0 3rem;height:70px;display:flex;align-items:center;transition:background .4s,box-shadow .4s}
.site-header.scrolled{background:rgba(250,248,243,.96);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--border)}
.site-logo{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:300;letter-spacing:.08em;color:var(--white);transition:color .4s}
.site-header.scrolled .site-logo{color:var(--text)}
.site-logo em{font-style:italic;color:var(--gold)}

/* Vollbild-Sektionen */
.fs-section{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--dark)}
.fs-bg{position:absolute;inset:0;background:linear-gradient(160deg,#2a231a 0%,#16130F 100%) center/cover no-repeat;background-attachment:fixed;transform:scale(1.04);transition:transform 8s ease}
.fs-section.in-view .fs-bg{transform:scale(1)}
.fs-overlay{position:absolute;inset:0}
.overlay-dark{background:linear-gradient(160deg,rgba(22,19,15,.55),rgba(22,19,15,.35))}
.fs-content{position:relative;z-index:2;padding:6rem 3rem;max-width:1100px;width:100%;margin:0 auto}
.fs-content.center{text-align:center}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:300;color:var(--white);line-height:1.1;margin-bottom:1rem}
.sec-title em{color:var(--gold);font-style:italic}
.sec-lead{color:rgba(255,255,255,.7);max-width:560px;margin:0 auto}
.scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.5);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;animation:bounce 2.4s ease-in-out infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* Hero */
.hero-badge{display:inline-flex;align-items:center;gap:.9rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:1.6rem}
.hero-badge::before,.hero-badge::after{content:'';width:36px;height:1px;background:var(--gold);opacity:.6}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,10vw,8.5rem);font-weight:300;color:var(--white);line-height:.95;margin-bottom:1rem}
.hero-title em{color:var(--gold);font-style:italic}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(1.1rem,2.5vw,1.6rem);font-style:italic;color:rgba(255,255,255,.7);margin-bottom:2rem}
.hero-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(.95rem,1.8vw,1.15rem);font-style:italic;color:rgba(255,255,255,.65);border-left:2px solid var(--gold);padding:.8rem 1.5rem;margin:0 auto 3rem;max-width:520px;text-align:left}
.btn-row{display:flex;gap:1rem;flex-wrap:wrap}
.btn{padding:.85rem 2.4rem;font-family:'Jost',sans-serif;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;border-radius:1px;cursor:pointer;transition:all .25s;display:inline-block}
.btn-gold{background:var(--gold);color:var(--white);border:1px solid var(--gold)}
.btn-gold:hover{background:var(--gold-dk);border-color:var(--gold-dk);color:var(--white)}
.btn-ghost{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:var(--white);border-color:var(--white)}
.btn-gold-outline{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.btn-gold-outline:hover{background:var(--gold);color:var(--white)}

/* Über mich */
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.about-heading{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5vw,4rem);font-weight:300;color:var(--white);line-height:1.1;margin:.5rem 0 1.5rem}
.about-heading em{color:var(--gold);font-style:italic}
.about-body{color:rgba(255,255,255,.78);font-size:1.05rem;margin-bottom:1rem}
.vita-list{list-style:none;margin:1.5rem 0}
.vita-list li{display:flex;gap:.7rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:.9rem;color:rgba(255,255,255,.65)}
.vita-list li::before{content:'♪';color:var(--gold)}
.about-glass{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(8px);padding:2.5rem;border-radius:2px}
.about-glass blockquote{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-style:italic;color:rgba(255,255,255,.85);line-height:1.6}
.about-glass cite{display:block;margin-top:1rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-style:normal}

/* Stimme */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.voice-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);padding:2rem 1.8rem;border-top:3px solid var(--gold);text-align:center;transition:background .3s,transform .3s;border-radius:2px}
.voice-card:hover{background:rgba(255,255,255,.16);transform:translateY(-5px)}
.voice-icon{font-family:'Cormorant Garamond',serif;font-size:2.5rem;color:var(--gold);display:block;margin-bottom:1rem}
.voice-card h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--white);margin-bottom:.6rem}
.voice-card p{color:rgba(255,255,255,.65);font-size:.9rem;line-height:1.7}

/* Anlässe */
.anlaesse-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}
.anlass-card{background:rgba(250,248,243,.9);border-left:4px solid var(--gold);padding:2rem 2.2rem;position:relative;transition:transform .25s;border-radius:0 2px 2px 0}
.anlass-card:hover{transform:translateX(6px)}
.anlass-num{position:absolute;top:1rem;right:1.5rem;font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:rgba(184,147,106,.2);line-height:1}
.anlass-card h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;margin-bottom:.5rem}
.anlass-card p{color:var(--muted);font-size:.9rem;line-height:1.7}

/* Galerie */
#galerie{min-height:auto;background:var(--dark)}
.galerie-header{text-align:center;padding:5rem 2rem 3rem}
.galerie-header h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:300;color:var(--white)}
.galerie-header h2 em{color:var(--gold);font-style:italic}
.galerie-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;grid-auto-flow:dense;gap:4px}
.galerie-item{overflow:hidden;cursor:pointer;position:relative;background:#2a261f}
.galerie-item.wide{grid-column:span 2}
.galerie-item.tall{grid-row:span 2}
.galerie-item.big{grid-column:span 2;grid-row:span 2}
.galerie-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .4s;filter:brightness(.92)}
.galerie-item:hover img{transform:scale(1.06);filter:brightness(1)}
.galerie-item::after{content:attr(data-caption);position:absolute;bottom:0;left:0;right:0;padding:1.5rem 1.2rem .8rem;background:linear-gradient(transparent,rgba(22,19,15,.7));color:rgba(255,255,255,.85);font-size:.8rem;opacity:0;transition:opacity .3s}
.galerie-item:hover::after{opacity:1}
#lightbox{display:none;position:fixed;inset:0;background:rgba(16,13,9,.95);z-index:9999;align-items:center;justify-content:center}
#lightbox.open{display:flex}
#lb-img{max-width:90vw;max-height:88vh;object-fit:contain}
#lb-close{position:fixed;top:1.5rem;right:2rem;color:rgba(255,255,255,.6);font-size:2rem;cursor:pointer;line-height:1}
#lb-prev,#lb-next{position:fixed;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.5);font-size:3rem;cursor:pointer;user-select:none;padding:1rem}
#lb-prev{left:.5rem}#lb-next{right:.5rem}
#lb-close:hover,#lb-prev:hover,#lb-next:hover{color:var(--gold)}
#lb-counter{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.4);font-size:.78rem;letter-spacing:.15em}

/* Referenzen */
.reviews-wrap{max-width:900px;margin:2rem auto 0}
.reviews-slide{display:none}
.reviews-slide.active{display:block;animation:fadeSlide .5s ease}
@keyframes fadeSlide{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.review-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,3vw,2rem);font-style:italic;color:var(--white);line-height:1.5;margin-bottom:2rem}
.review-author{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.reviews-dots{display:flex;justify-content:center;gap:.6rem;margin-top:2.5rem}
.reviews-dots span{width:28px;height:2px;background:rgba(255,255,255,.25);cursor:pointer;transition:background .25s}
.reviews-dots span.active{background:var(--gold)}

/* Preise */
.preise-box{background:rgba(250,248,243,.92);backdrop-filter:blur(12px);padding:3.5rem;max-width:680px;margin:2rem auto 0;border-top:4px solid var(--gold);border-radius:2px}
.preise-box h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;margin-bottom:1rem}
.preise-features{list-style:none;margin-bottom:2rem}
.preise-features li{display:flex;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--border);font-size:.95rem;color:var(--muted)}
.preise-features li::before{content:'✦';color:var(--gold)}

/* Kontakt */
#kontakt{background:var(--dark)}
.kontakt-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;max-width:1000px;width:100%;margin:0 auto;padding:7rem 2rem}
.kontakt-info h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--white);margin:.5rem 0 1.5rem}
.kontakt-info h2 em{color:var(--gold);font-style:italic}
.kontakt-info p{color:rgba(255,255,255,.55);margin-bottom:1.2rem}
.kontakt-detail{display:flex;gap:.9rem;margin-bottom:1rem}
.kontakt-detail .k-icon{color:var(--gold)}
.kontakt-detail span{color:rgba(255,255,255,.6);font-size:.95rem}
.contact-form{display:flex;flex-direction:column;gap:1rem}
.contact-form input,.contact-form textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:.9rem 1.2rem;color:var(--white);font-family:'Jost',sans-serif;font-size:.95rem;border-radius:1px;width:100%}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.3)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--gold)}
.contact-form textarea{min-height:130px;resize:vertical}
.form-msg{padding:.8rem 1rem;font-size:.9rem;border-left:3px solid}
.form-msg.ok{color:#bfe3c5;border-color:#6fbf7e}
.form-msg.err{color:#f0c0b8;border-color:#d0705f}

/* Footer */
.site-footer{background:#0D0B08;text-align:center;padding:2.5rem 2rem;color:rgba(255,255,255,.3);font-size:.8rem}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:rgba(255,255,255,.7);display:block;margin-bottom:1rem}
.footer-logo em{color:var(--gold);font-style:italic}
.footer-links{display:flex;justify-content:center;gap:2rem;margin:1rem 0;flex-wrap:wrap}
.footer-links a{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3)}
.footer-links a:hover{color:var(--gold)}

/* Unterseiten (Impressum, Datenschutz) */
.page-wrap{padding:130px 2rem 5rem;min-height:70vh}
.page-inner{max-width:760px;margin:0 auto}
.page-inner h1{font-size:clamp(2.2rem,5vw,3.5rem);margin-bottom:2rem}
.entry h2,.entry h3{font-family:'Cormorant Garamond',serif;font-weight:400;margin:2rem 0 .6rem}
.entry p,.entry ul,.entry ol{margin-bottom:1rem}
.entry ul,.entry ol{padding-left:1.4rem}

/* Scroll-UI */
#scroll-progress{position:fixed;top:0;left:0;height:3px;background:var(--gold);z-index:600;width:0}
.scroll-indicator{position:fixed;right:2rem;top:50%;transform:translateY(-50%);z-index:400;display:flex;flex-direction:column;gap:10px}
.scroll-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.5);transition:background .3s,transform .3s}
.scroll-dot.active{background:var(--gold);border-color:var(--gold);transform:scale(1.5)}

/* Animation */
.reveal,.reveal-left,.reveal-right{opacity:0;transition:opacity .8s ease,transform .8s ease}
.reveal{transform:translateY(32px)}
.reveal-left{transform:translateX(-32px)}
.reveal-right{transform:translateX(32px)}
.reveal.visible,.reveal-left.visible,.reveal-right.visible{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.35s}.d4{transition-delay:.5s}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-left,.reveal-right{opacity:1;transform:none;transition:none}.fs-bg,.scroll-hint{animation:none;transition:none}}

/* Responsive */
@media (max-width:1024px){.galerie-mosaic{grid-template-columns:repeat(3,1fr)}.voice-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){
  .site-header{padding:0 1.5rem}
  .scroll-indicator{display:none}
  .fs-content{padding:5rem 1.5rem}
  .about-inner,.anlaesse-grid,.voice-grid{grid-template-columns:1fr;gap:2rem}
  .kontakt-inner{grid-template-columns:1fr;gap:3rem;padding:5rem 1.5rem}
  .galerie-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
  .galerie-item.wide{grid-column:span 1}
  .galerie-item.big{grid-column:span 2}
  .fs-bg{background-attachment:scroll}
  .preise-box{padding:2rem 1.5rem}
}
@media (max-width:480px){.galerie-mosaic{grid-template-columns:1fr}.galerie-item.wide,.galerie-item.big{grid-column:span 1}}
