
:root {
  --primary: 210 12% 16%;
  --primary-foreground: 0 0% 98%;
  --primary-hover: 210 12% 24%;
  --accent-gold: 210 6% 45%;
  --accent-gold-hover: 210 6% 55%;
  --heading: 210 14% 12%;
  --foreground: 210 6% 35%;
  --background: 0 0% 100%;
  --background-alt: 210 20% 97%;
  --accent: 210 14% 94%;
  --accent-foreground: 210 12% 12%;
  --card: 0 0% 100%;
  --card-foreground: 210 6% 35%;
  --popover: 0 0% 100%;
  --popover-foreground: 210 6% 35%;
  --secondary: 210 10% 94%;
  --secondary-foreground: 210 12% 12%;
  --muted: 210 10% 95%;
  --muted-foreground: 210 4% 52%;
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;
  --border: 210 14% 91%;
  --input: 210 14% 91%;
  --ring: 210 12% 16%;
  --radius: .375rem;
}
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, sans-serif; background: hsl(var(--background)); color: hsl(var(--foreground)); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1,h2,h3,h4,h5,h6 { color: hsl(var(--heading)); }
section[id] { scroll-margin-top: 7rem; }
.font-display { font-family: "Montserrat", sans-serif; }
.font-heading { font-family: Inter, sans-serif; }
.vilmed-site button { -webkit-tap-highlight-color: transparent; }
.animate-marquee { animation: vilmed-marquee 35s linear infinite; }
@keyframes vilmed-marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
[data-mobile-toggle][aria-expanded="true"] svg { transform: rotate(90deg); transition: transform .2s ease; }
[data-faq-toggle][aria-expanded="true"] svg { transform: rotate(180deg); }
[data-faq-content] { animation: vilmed-faq-down .22s ease; }
@keyframes vilmed-faq-down { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
[data-vilmed-carousel] [data-carousel-track] { will-change: transform; }
[data-vilmed-carousel] button:disabled { opacity: .35; cursor: not-allowed; }
.vilmed-lightbox { position: fixed; inset: 0; z-index: 9999; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(0,0,0,.86); }
.vilmed-lightbox.is-open { display: flex; }
.vilmed-lightbox img { max-width: min(1200px, 96vw); max-height: 86vh; width: auto; height: auto; object-fit: contain; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.vilmed-lightbox__close, .vilmed-lightbox__prev, .vilmed-lightbox__next { position: absolute; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.vilmed-lightbox__close:hover, .vilmed-lightbox__prev:hover, .vilmed-lightbox__next:hover { background: rgba(255,255,255,.18); }
.vilmed-lightbox__close { top: 18px; right: 18px; width: 44px; height: 44px; border-radius: 999px; font-size: 28px; line-height: 1; }
.vilmed-lightbox__prev, .vilmed-lightbox__next { top: 50%; width: 48px; height: 48px; border-radius: 999px; transform: translateY(-50%); font-size: 30px; }
.vilmed-lightbox__prev { left: 18px; }
.vilmed-lightbox__next { right: 18px; }
@media (max-width: 640px) { .vilmed-lightbox__prev { left: 8px; } .vilmed-lightbox__next { right: 8px; } .vilmed-lightbox { padding: 10px; } }
