/*
Theme Name: 1407 Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP & Lorenz Ipsum
Author URI: https://lorenzipsum.de
Description: This Theme is a lightweight yet full featured WordPress theme for creating beautiful fast loading and accessible websites, easier than ever. Its a child theme based on Kadence and fully customized for gastronomy usage.
Tags: translation-ready,accessibility-ready,two-columns,right-sidebar,left-sidebar,footer-widgets,blog,custom-logo,custom-background,custom-menu,rtl-language-support,editor-style,threaded-comments,custom-colors,featured-images,wide-blocks,full-width-template,theme-options,e-commerce
Version: 1.0.1768140432
Updated: 2026-01-11 15:07:12

*/

/* =========================================
   1. SCHRIFTEN LADEN
   ========================================= */

/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
}

/* playfair-display-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/playfair-display-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
}


/* ... füge hier auch die anderen Gewichte (Bold, Medium etc.) ein, falls noch nicht geschehen ... */


/* =========================================
   2. KADENCE GLOBALE ZUWEISUNG (Bleibt gleich)
   ========================================= */
:root {
    --global-heading-font-family: 'Black Mango', serif;
    --global-body-font-family: 'Darker Grotesque', sans-serif;
    --font-ui: 'Outfit', sans-serif;
}

/* UI Zuweisung */
.kadence-menu-item, .main-navigation a, .kb-btn, .button, input[type="submit"], button {
    font-family: var(--font-ui);
    font-weight: 500; 
}

/* =========================================
   3. 1407 MOTION ENGINE (Stable Version)
   ========================================= */

/* --- A. LENIS --- */
html { scroll-behavior: auto !important; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }

/* --- B. ANIMATIONEN BASIS --- */
[class*="nysa-anim-"] {
    opacity: 0 !important;
    
    /* Nur Transform und Opacity - Filter wird live berechnet (besser für Speicher) */
    will-change: transform, opacity;
    
    transition: 
        opacity var(--nysa-duration, 1.2s) ease-out,
        transform var(--nysa-duration, 1.2s) cubic-bezier(0.25, 0.46, 0.45, 0.94),
        filter var(--nysa-duration, 1.2s) ease-out;
    
    transition-delay: var(--nysa-delay, 0ms);
    animation-fill-mode: forwards;
}

[class*="nysa-anim-"].in-view {
    opacity: 1 !important;
}

/* --- C. DESKTOP ANIMATIONEN (Mit Blur) --- */
@media (min-width: 768px) {
    .nysa-anim-fade-up { transform: translateY(50px); }
    .nysa-anim-fade-up.in-view { transform: translateY(0); }

    .nysa-anim-soft-zoom { transform: scale(0.92); opacity: 0 !important; }
    .nysa-anim-soft-zoom.in-view { transform: scale(1); opacity: 1 !important; }

    .nysa-anim-blur-reveal { filter: blur(10px); transform: translateY(30px); }
    .nysa-anim-blur-reveal.in-view { filter: blur(0); transform: translateY(0); }

    .nysa-anim-zoom-out { transform: scale(1.1); filter: brightness(0.9); }
    .nysa-anim-zoom-out.in-view { transform: scale(1); filter: brightness(1); }
    
    .nysa-anim-curtain { clip-path: inset(100% 0 0 0); transform: translateY(0); }
    .nysa-anim-curtain.in-view { clip-path: inset(0 0 0 0); }
}

/* --- D. MOBILE ANIMATIONEN (Kein Blur = Schnell) --- */
@media (max-width: 767px) {
    [class*="nysa-anim-"] {
        filter: none !important; /* Blur deaktivieren */
    }
    .nysa-anim-fade-up, .nysa-anim-blur-reveal { transform: translateY(30px); }
    .nysa-anim-fade-up.in-view, .nysa-anim-blur-reveal.in-view { transform: translateY(0); }
    
    .nysa-anim-soft-zoom { transform: scale(0.95); opacity: 0 !important; }
    .nysa-anim-soft-zoom.in-view { transform: scale(1); opacity: 1 !important; }
}

/* --- E. STAGGER MODE (Wort für Wort) --- */
.nysa-stagger-mode {
    opacity: 1 !important;
}

.nysa-stagger-mode .nysa-word {
    opacity: 0;
    display: inline-block;
    will-change: transform, opacity;
    
    /* Default Start State */
    transform: translateY(20px);
    
    transition: 
        opacity 0.6s ease-out,
        transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1),
        filter 0.8s ease-out;
        
    transition-delay: calc(var(--nysa-delay, 0ms) + (var(--word-index) * 50ms));
}

/* Blur nur auf Desktop */
@media (min-width: 768px) {
    .nysa-stagger-mode .nysa-word {
        filter: blur(8px);
    }
}

.nysa-stagger-mode.in-view .nysa-word {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

/* --- F. ACCESSIBILITY --- */
@media (prefers-reduced-motion: reduce) {
    [class*="nysa-anim-"], .nysa-stagger-mode .nysa-word {
        opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important;
    }
}