/*
Theme Name: LaVidaKids
Theme URI: https://www.kinderparty-lavidakids.at/
Author: Paradox
Description: Verspieltes WordPress-Theme fuer LaVidaKids: Kindergeburtstage, Kinderanimation und Vermietung in Wien, Wien Umgebung und Niederoesterreich. 1:1 Umsetzung des Marken-Designs mit dynamischem Farbsystem, Anfrageformular mit WhatsApp und SEO-Grunddaten.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lavidakids
*/

:root{
  --c-primary:#ff4d4d;
  --c-primary-d:#e23e3e;
  --c-secondary:#1fb6ac;
  --c-secondary-d:#17998f;
  --c-accent:#ffe14d;
  --c-accent-d:#e0a400;
  --c-pink:#ff7eb3;
  --c-purple:#8a6bff;
  --c-ink:#16161d;
  --c-ink-soft:#3a3a44;
  --c-muted:#5b5b66;
  --c-page:#fffdf5;
  --c-page-2:#fff4e0;
  --c-border:#e2ddcf;
  --c-on-primary:#ffffff;
  --c-on-secondary:#ffffff;
  --c-on-purple:#ffffff;
  --c-on-accent:#16161d;
  --font-display:'Fredoka',system-ui,sans-serif;
  --font-body:'Poppins',system-ui,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);background:var(--c-page);color:var(--c-ink);line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--c-secondary);outline-offset:2px;border-radius:6px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

@keyframes lvk-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes lvk-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes lvk-pop{0%{transform:scale(.96);opacity:0}100%{transform:scale(1);opacity:1}}
.lvk-link{cursor:pointer;transition:color .15s ease}
.lvk-link:hover{color:var(--c-primary)!important}
.lvk-card{transition:transform .18s ease}
.lvk-card:hover{transform:translateY(-6px)}
.lvk-btn{transition:all .15s ease}
.lvk-btn:hover{filter:brightness(1.06);transform:translateY(-2px)}
.lvk-fig{transition:all .15s ease}
.lvk-fig:hover{transform:translateY(-4px) rotate(-2deg);border-color:var(--c-accent)!important}
.lvk-gal-img{transition:transform .35s ease}
.lvk-gal:hover .lvk-gal-img{transform:scale(1.06)}

.lvk-wrap{max-width:1180px;margin:0 auto}
.lvk-eyebrow{font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.lvk-d1{font-family:var(--font-display);font-weight:700;line-height:.97;font-size:clamp(42px,8.5vw,66px)}
.lvk-d2{font-family:var(--font-display);font-weight:700;line-height:1.02;font-size:clamp(34px,6vw,54px)}
.lvk-d3{font-family:var(--font-display);font-weight:700;line-height:1.05;font-size:clamp(30px,4.6vw,42px)}

.lvk-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lvk-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.lvk-grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.lvk-gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;grid-auto-rows:220px}

.lvk-header{position:sticky;top:0;z-index:50;background:var(--c-page);border-bottom:2px solid var(--c-ink)}
.lvk-header--static{position:static}
.lvk-nav{display:flex;align-items:center;gap:26px}
.lvk-navlinks{display:flex;align-items:center;gap:26px}
.lvk-burger{display:none;width:46px;height:46px;border:2px solid var(--c-ink);border-radius:11px;background:var(--c-page);align-items:center;justify-content:center;cursor:pointer}
.lvk-burger span{display:block;width:22px;height:2.5px;background:var(--c-ink);position:relative}
.lvk-burger span::before,.lvk-burger span::after{content:"";position:absolute;left:0;width:22px;height:2.5px;background:var(--c-ink)}
.lvk-burger span::before{top:-7px}
.lvk-burger span::after{top:7px}

.wa-float{position:fixed;right:20px;bottom:20px;z-index:80;width:60px;height:60px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(37,211,102,.45);transition:transform .2s ease;text-decoration:none}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:32px;height:32px;fill:#fff}

.lvk-prose>*+*{margin-top:1.05em}
.lvk-prose h2{font-family:var(--font-display);font-weight:700;font-size:26px;margin-top:1.5em}
.lvk-prose h3{font-family:var(--font-display);font-weight:700;font-size:20px;margin-top:1.3em}
.lvk-prose a{color:var(--c-primary);text-decoration:underline;text-underline-offset:3px}
.lvk-prose ul{padding-left:20px;display:flex;flex-direction:column;gap:8px;margin:10px 0}
.lvk-prose ol{padding-left:20px;display:flex;flex-direction:column;gap:12px;margin:12px 0}
.lvk-prose img{border-radius:16px;border:2px solid var(--c-ink)}

.lvk-pagi{display:flex;justify-content:center;gap:8px;margin-top:48px;flex-wrap:wrap}
.lvk-pagi .page-numbers{display:inline-flex;min-width:46px;height:46px;align-items:center;justify-content:center;padding:0 14px;border:2px solid var(--c-ink);border-radius:11px;background:#fff;font-family:var(--font-display);font-weight:700;text-decoration:none}
.lvk-pagi .page-numbers.current{background:var(--c-primary);color:var(--c-on-primary)}
.lvk-pagi a.page-numbers:hover{background:var(--c-accent);color:var(--c-ink)}

@media(max-width:900px){
  .lvk-grid-4{grid-template-columns:repeat(2,1fr)}
  .lvk-grid-6{grid-template-columns:repeat(3,1fr)}
  .lvk-gal-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
}
@media(max-width:760px){
  .lvk-navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:var(--c-page);border-bottom:2px solid var(--c-ink);flex-direction:column;align-items:stretch;gap:0;padding:6px 0}
  .lvk-navlinks.open{display:flex}
  .lvk-navlinks>*{padding:14px 28px!important;border-bottom:1px solid var(--c-border)}
  .lvk-burger{display:flex}
}
@media(max-width:620px){
  .lvk-grid-3{grid-template-columns:1fr}
  .lvk-grid-4{grid-template-columns:repeat(2,1fr)}
  .lvk-grid-6{grid-template-columns:repeat(3,1fr)}
  .lvk-gal-grid{grid-template-columns:1fr;grid-auto-rows:200px}
  .lvk-gal-grid>*{grid-column:auto!important;grid-row:auto!important}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
