/* Page-local styles — Kontakt. */

/* === HERO === */
.k-hero{padding:11rem 3rem 3rem;text-align:center;position:relative;overflow:hidden;background:var(--ivory)}
.k-hero-glow{position:absolute;top:-180px;left:50%;transform:translateX(-50%);width:560px;height:560px;border-radius:50%;background:radial-gradient(circle, rgba(224,128,94,0.16) 0%, rgba(227,165,63,0.08) 45%, transparent 70%);pointer-events:none;animation:float 11s ease-in-out infinite}
.k-particle{position:absolute;width:6px;height:6px;background:var(--amber);border-radius:50%;opacity:0.4;animation:floatParticle 9s ease-in-out infinite}
.k-hero .eyebrow-wrap{opacity:0;animation:fadeUp 0.9s 0.2s forwards}
.k-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,6vw,5rem);font-weight:300;line-height:1.0;letter-spacing:-0.02em;margin-bottom:1.5rem;opacity:0;animation:fadeUp 1s 0.4s forwards}
.k-hero h1 em{font-style:italic;color:var(--terracotta)}
.k-hero p{max-width:600px;margin:0 auto;color:var(--ink-soft);font-size:1.12rem;line-height:1.7;opacity:0;animation:fadeUp 1s 0.6s forwards}

/* === CONTACT MAIN === */
.k-main{background:var(--cream)}
.k-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:3.5rem;align-items:start;max-width:1200px;margin:0 auto}

.k-side h2{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:400;margin-bottom:1.8rem}
.k-method{display:flex;align-items:center;gap:1.1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);transition:color 0.3s}
.k-method:hover{color:var(--terracotta)}
.k-method-icon{width:46px;height:46px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:rgba(190,110,71,0.1);color:var(--terracotta);transition:all 0.35s}
.k-method:hover .k-method-icon{background:var(--terracotta);color:var(--cream)}
.k-method-text small{display:block;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:0.2rem}
.k-method-text span{font-family:'Cormorant Garamond',serif;font-size:1.25rem}
.k-reassure{margin-top:2.2rem;padding:1.8rem;background:var(--ivory);border:1px solid var(--line);border-radius:18px;border-left:3px solid var(--terracotta)}
.k-reassure p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.25rem;line-height:1.35;color:var(--ink)}

/* Form */
.k-form-card{background:var(--ivory);border-radius:28px;padding:3rem;box-shadow:var(--shadow);position:relative;overflow:hidden}
.k-form-card::before{content:'';position:absolute;top:-100px;right:-100px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle, var(--rose-soft) 0%, transparent 70%);opacity:0.4}
.k-form-head{position:relative;z-index:1;margin-bottom:2rem}
.k-form-head h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;margin-bottom:0.4rem}
.k-form-head p{color:var(--ink-soft);font-size:0.95rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;position:relative;z-index:1}
.form-field.full{grid-column:span 2}
.form-field textarea{min-height:120px}
.form-field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23BE6E47' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.2rem center}
.form-actions{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:0.5rem;flex-wrap:wrap}
.form-hint{font-size:0.78rem;color:var(--ink-soft);font-style:italic}
.k-form-success{display:none;text-align:center;padding:2rem 0;position:relative;z-index:1}
.k-form-success .cs-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg, var(--amber) 0%, var(--coral) 100%);margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;color:var(--cream);font-size:2.5rem;animation:popIn 0.5s ease}
.k-form-success h3{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:400;margin-bottom:0.8rem}
.k-form-success p{color:var(--ink-soft);max-width:420px;margin:0 auto 2rem}

/* === HOURS / LOCATION === */
.k-info{background:var(--ivory)}
.k-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1200px;margin:0 auto}
.k-card{background:var(--cream);border:1px solid var(--line);border-radius:24px;padding:2.8rem}
.k-card h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;margin-bottom:1.5rem;display:flex;align-items:center;gap:0.7rem}
.hours-list{list-style:none}
.hours-list li{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--line);font-size:1rem;gap:1rem}
.hours-list li:last-child{border-bottom:none}
.hours-list li strong{font-weight:400;font-family:'Cormorant Garamond',serif;font-size:1.15rem;text-align:right}
.hours-list .day-name{color:var(--terracotta)}
.k-loc-visual{aspect-ratio:16/10;border-radius:18px;margin-bottom:1.6rem;position:relative;overflow:hidden;background:linear-gradient(150deg, var(--rose-soft) 0%, var(--gold-soft) 50%, var(--coral-soft) 100%);display:flex;align-items:center;justify-content:center}
.k-loc-visual::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 40%, rgba(255,250,235,0.4) 0%, transparent 60%)}
.k-loc-pin{position:relative;z-index:1;text-align:center;color:var(--terracotta-dark)}
.k-loc-pin .pin-glyph{font-size:2.4rem;line-height:1}
.k-loc-pin .pin-place{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-top:0.4rem}
.k-loc-text{color:var(--ink-soft);font-size:0.98rem;line-height:1.6;margin-bottom:1.4rem}
.k-loc-text strong{color:var(--ink);font-weight:500}
.k-loc-link{display:inline-flex;align-items:center;gap:0.6rem;color:var(--terracotta);text-decoration:none;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color 0.3s}
.k-loc-link:hover{border-color:var(--terracotta)}

/* === BOOKING CTA === */
.k-booking{background:linear-gradient(150deg, var(--copper) 0%, var(--coral) 55%, var(--amber) 130%);color:var(--cream);text-align:center;position:relative;overflow:hidden}
.k-booking::before{content:'';position:absolute;top:-220px;left:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle, rgba(255,246,228,0.22) 0%, transparent 70%)}
.k-booking::after{content:'';position:absolute;bottom:-260px;right:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle, rgba(154,79,46,0.3) 0%, transparent 70%)}
.k-booking-inner{position:relative;z-index:2;max-width:680px;margin:0 auto}
.k-booking .section-eyebrow{color:var(--gold-soft);justify-content:center}
.k-booking .section-eyebrow::before,.k-booking .section-eyebrow::after{background:var(--gold-soft)}
.k-booking h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:300;line-height:1.1;margin-bottom:1.2rem}
.k-booking h2 em{font-style:italic;color:var(--gold-soft)}
.k-booking p{color:rgba(245,237,224,0.9);font-size:1.08rem;line-height:1.7;margin-bottom:2.2rem;max-width:500px;margin-left:auto;margin-right:auto}

/* === RESPONSIVE === */
@media (max-width:900px){
  .k-hero{padding:8rem 1.5rem 3rem}
  .k-grid{grid-template-columns:1fr;gap:2.5rem}
  .k-form-card{padding:2rem 1.6rem}
  .form-grid{grid-template-columns:1fr}
  .form-field.full{grid-column:span 1}
  .form-actions{grid-column:span 1;flex-direction:column-reverse;align-items:stretch}
  .form-actions .btn{width:100%;justify-content:center}
  .k-info-grid{grid-template-columns:1fr}
  .k-card{padding:2rem 1.6rem}
}
