@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css');

:root {
  /* Фіолетова/Бузкова палітра */
  --primary-color: #8E44AD;
  --secondary-color: #2C3E50;
  --accent-color: #DDA0DD;
  --light-color: #F5EEF8;
  --dark-color: #4A235A;
  --gradient-primary: linear-gradient(to right, #8E44AD, #9B59B6);
  --hover-color: #7D3C98;
  --background-color: #FBFCFC;
  --text-color: #515A5A;
  --border-color: rgba(142, 68, 173, 0.2);
  --divider-color: rgba(142, 68, 173, 0.1);
  --shadow-color: rgba(142, 68, 173, 0.1);
  --highlight-color: #2ECC71; /* Зелений як акцент */
  --main-font: 'Playfair Display', serif;
  --alt-font: 'Lato', sans-serif;
}

/* Base Styles */
html { scroll-behavior: smooth; }
body {
    font-family: var(--alt-font);
    background-color: var(--background-color);
    color: var(--text-color);
    line-height: 1.7;
}
h1, h2, h3, h4 { font-family: var(--main-font); }

/* Custom Utilities */
.soft-shadow {
    box-shadow: 10px 10px 20px #d1d9e6, -10px -10px 20px #ffffff;
    border-radius: 20px;
    background: var(--background-color);
}
.btn-primary {
    background: var(--gradient-primary);
    color: white;
    box-shadow: 0 4px 15px rgba(142, 68, 173, 0.3);
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(142, 68, 173, 0.4);
}

/* Menu Toggle */
#menu-toggle { display: none; }
#menu-toggle:checked ~ .menu-items {
    max-height: 400px; opacity: 1;
}

/* Logo */
footer img[alt="logo"], header img[alt="logo"] {
    filter: brightness(0) invert(1);
    height: 45px;
}