.btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:13px 30px;font-family:var(--font-body);font-size:.92rem;font-weight:600;border-radius:var(--radius-full);transition:all .45s var(--ease-smooth);position:relative;overflow:hidden;letter-spacing:.01em}.btn--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white);box-shadow:0 4px 16px #a8325c33}.btn--primary:before{content:"";position:absolute;inset:4px;border:1.5px dashed rgba(255,255,255,.35);border-radius:var(--radius-full);pointer-events:none}.btn--primary:hover{transform:translateY(-3px);box-shadow:0 8px 28px #a8325c47;color:var(--color-white)}.btn--primary:active{transform:translateY(-1px);transition-duration:.1s}.btn--primary:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s var(--ease-smooth)}.btn--primary:hover:after{left:100%}.btn--outline{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary-lighter)}.btn--outline:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);transform:translateY(-2px)}.sewed-glass{position:relative;isolation:isolate;border:1px solid rgba(255,255,255,.55);border-radius:var(--radius-xl);background:#fffbfc6b;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:inset 1px 1px #fff9,inset -1px -1px #ffffff26,var(--shadow-dreamy)}.sewed-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.05;mix-blend-mode:overlay;pointer-events:none}.sewed-glass:after{content:"";position:absolute;inset:9px;border:2px dashed rgba(168,50,92,.3);border-radius:calc(var(--radius-xl) - 8px);pointer-events:none}.sewed-glass>*{position:relative;z-index:1}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.sewed-glass{background:#fffbfcf0}}.section__header{text-align:center;margin-bottom:var(--spacing-xl)}.section__header h2{position:relative;display:inline-block;padding:0 var(--spacing-lg)}.section__header h2:before,.section__header h2:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:28px;border-top:2px dashed var(--color-primary-lighter);animation:pulse-soft 3s ease-in-out infinite}.section__header h2:before{left:0}.section__header h2:after{right:0;animation-delay:1.5s}.section__header p{color:var(--color-neutral);max-width:440px;margin:var(--spacing-sm) auto 0;font-size:.95rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-md)}.gallery-card{position:relative;margin:0;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-card);background:linear-gradient(135deg,var(--color-accent-alt),var(--color-accent));animation:slide-up-fade .7s var(--ease-out) both;transition:transform .5s var(--ease-smooth),box-shadow .5s var(--ease-smooth)}.gallery-card:after{content:"";position:absolute;inset:8px;border:2px dashed rgba(255,255,255,.55);border-radius:calc(var(--radius-lg) - 6px);pointer-events:none}.gallery-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease-smooth)}.gallery-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.gallery-card:hover img{transform:scale(1.05)}.gallery-empty{grid-column:1 / -1;text-align:center;color:var(--color-neutral)}.gallery-empty a{color:var(--color-primary);font-weight:600}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.review-card{background:var(--color-white);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-card);transition:all .5s var(--ease-smooth);position:relative;border:1px solid rgba(168,50,92,.04)}.review-card:before{content:"\201e";position:absolute;top:var(--spacing-sm);right:var(--spacing-md);font-size:2.5rem;line-height:1;color:var(--color-primary-lighter);opacity:.3;font-family:var(--font-script)}.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-dreamy)}.review-card__header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.review-card__avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-lighter),var(--color-secondary));color:var(--color-white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0;transition:transform .5s var(--ease-spring)}.review-card:hover .review-card__avatar{transform:scale(1.08) rotate(-3deg)}.review-card__meta{display:flex;flex-direction:column}.review-card__name{font-weight:600;color:var(--color-neutral-dark);font-size:.9rem}.review-card__date{font-size:.75rem;color:var(--color-neutral-light)}.review-card__stars{display:flex;gap:2px;margin-bottom:var(--spacing-sm)}.review-card__star{color:var(--color-neutral-light)}.review-card__star--filled{color:#f5a623}.review-card__text{color:var(--color-neutral);font-size:.9rem;line-height:1.7;margin-bottom:var(--spacing-sm);font-style:italic}.review-card__product{font-size:.8rem;color:var(--color-neutral-light);padding-top:var(--spacing-sm);border-top:1px solid rgba(168,50,92,.06)}.review-card__product-label{font-weight:600;color:var(--color-primary)}.reviews-link{text-align:center;margin-top:var(--spacing-md)}.reviews-link a{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:600;color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.reviews-link a:hover{color:var(--color-primary-dark)}.closing__text{position:relative}.closing__text p{color:var(--color-neutral)}.closing__signature{font-family:var(--font-script);font-size:1.4rem;font-style:italic;color:var(--color-primary);margin-top:var(--spacing-md);display:inline-block}.closing__signature .icon{color:var(--color-primary-light);animation:heartbeat 2s ease-in-out infinite;vertical-align:-.08em}.etsy-cta{text-align:center;margin-top:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-lg);background:linear-gradient(135deg,var(--color-accent-alt),var(--color-accent));border-radius:var(--radius-xl);border:1px solid rgba(168,50,92,.04)}.etsy-cta p{color:var(--color-neutral);margin-bottom:var(--spacing-md);font-size:1.02rem}.review-card.sewed-glass{background:#fffbfc8c;backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);border:1px solid rgba(255,255,255,.6)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.review-card.sewed-glass{background:var(--color-white)}}.termine{background:var(--color-white)}.termine-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:var(--spacing-md);max-width:900px;margin:0 auto}.termin-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md)}.termin-card__datum{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:76px;padding:10px 8px;border:2px dashed var(--color-primary-lighter);border-radius:var(--radius-md);color:var(--color-primary);background:var(--color-white);flex-shrink:0;text-align:center}.termin-card__tag{font-family:var(--font-script);font-size:1.6rem;font-weight:700;line-height:1.1}.termin-card__monat{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.termin-card__status{display:inline-block;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary);background:var(--color-accent);border-radius:var(--radius-full);padding:2px 10px;margin-bottom:4px}.termin-card__info h3{font-size:1.05rem;margin-bottom:2px}.termin-card__zeile{font-size:.85rem;color:var(--color-neutral)}.termin-card__info a{font-size:.85rem;font-weight:600;color:var(--color-primary)}.termin-card--vorbei{opacity:.55}.termin-card--vorbei .termin-card__status{color:var(--color-neutral);background:#5a5a5a14}.termin-card--vorbei .termin-card__datum{border-color:var(--color-neutral-light);color:var(--color-neutral)}.termine-empty{text-align:center;color:var(--color-neutral)}.lightbox{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;border:none;padding:0;background:transparent;overflow:visible}.lightbox::backdrop{background:#3c283273;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}.lightbox__panel{margin:0;padding:14px;width:min(92vw,960px);height:min(84vh,720px);display:flex;align-items:center;justify-content:center}.lightbox__panel img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:calc(var(--radius-xl) - 8px)}.lightbox__close,.lightbox__nav{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fffbfcd9;color:var(--color-primary);font-size:1.5rem;line-height:1;box-shadow:var(--shadow-medium);transition:transform var(--transition-fast),background var(--transition-fast);z-index:2}.lightbox__close:hover,.lightbox__nav:hover{background:var(--color-white);transform:scale(1.08)}.lightbox__close{top:-14px;right:-14px}.lightbox__nav--prev{left:-14px;top:50%;transform:translateY(-50%)}.lightbox__nav--next{right:-14px;top:50%;transform:translateY(-50%)}.lightbox__nav--prev:hover,.lightbox__nav--next:hover{transform:translateY(-50%) scale(1.08)}.gallery-card{cursor:pointer}
