/*
Theme Name: Logopadin Theme
Theme URI: https://logopaedie-pasing.de
Author: WebWizr.eu
Description: Custom theme for Logopädie & Atemtherapie Inez von Weizsäcker
Version: 1.0.0
License: Proprietary
Text Domain: logopadin
*/

/* hero-gradient utility */
.hero-gradient { background: linear-gradient(135deg, #134e4a 0%, #0f2027 100%); }

/* phone wave animation */
@keyframes phone-wave {
  0% { transform: scale(1); opacity: 0.5; }
  50% { opacity: 0.3; }
  100% { transform: scale(1.4); opacity: 0; }
}
.phone-ringing .phone-waves { animation: phone-wave 1s cubic-bezier(0.4, 0, 0.2, 1) infinite; }

/* Text shadow */
.text-shadow { text-shadow: 0 2px 4px rgba(0,0,0,0.1); }

/* Selection */
::selection { background-color: #0d9488; color: white; }

body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Cookie Banner */
#cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; background: #1e293b; color: #fff; padding: 1rem 1.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; transform: translateY(100%); transition: transform 0.3s ease; }
#cookie-banner.visible { transform: translateY(0); }
#cookie-banner button { padding: 0.5rem 1.25rem; border-radius: 0.375rem; font-size: 0.875rem; cursor: pointer; border: none; }
#cookie-accept { background: #0d9488; color: white; }
#cookie-decline { background: transparent; color: #94a3b8; border: 1px solid #475569 !important; }

/* Mobile drawer overlay */
#mobile-menu { position: fixed; inset: 0; z-index: 9998; background: rgba(0,0,0,0.5); display: none; }
#mobile-menu.open { display: flex; }
#mobile-drawer { background: white; width: 85%; max-width: 360px; height: 100%; overflow-y: auto; display: flex; flex-direction: column; }

/* Fixed phone button */
#fixed-phone { position: fixed; bottom: 1.5rem; left: 1.5rem; z-index: 9997; }

/* Accordion / FAQ */
.faq-answer { display: none; }
.faq-answer.open { display: block; }

/* Sticky sidebar */
@media (min-width: 1024px) {
  .sticky-sidebar { position: sticky; top: 6rem; }
}
