/* Overview page styles – minimal, leveraging base.css */
:root {
  --ov-bg: #0d1411;
  --ov-bg-alt: #101814;
  --ov-surface: #131a17;
  --ov-border: rgba(120, 168, 144, 0.25);
  --ov-accent: #8bd3b2;
  --ov-text-dim: rgba(255, 255, 255, 0.8);
}

.ov-hero {
  position: relative;
  background: linear-gradient(180deg, rgba(9, 14, 12, 0.9), rgba(9, 14, 12, 0.6));
  color: #fff;
}
.ov-hero__media {
  position: relative;
  max-height: 52vh;
  overflow: hidden;
}
.ov-hero__media img {
  width: 100%;
  height: 52vh;
  object-fit: cover;
  filter: saturate(0.8) contrast(1.05) brightness(0.9);
}
.ov-hero__content {
  position: relative;
  margin-top: -4rem;
  padding: 1rem 1.25rem 2rem;
  background: linear-gradient(180deg, rgba(13, 20, 17, 0.9), rgba(13, 20, 17, 0.95));
  border: 1px solid var(--ov-border);
  border-radius: 12px;
  backdrop-filter: blur(4px);
}
.ov-hero__lead { color: var(--ov-text-dim); }
.ov-hero__cta { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }

.ov-section { padding: 3rem 1.25rem; color: #e9f1ed; }
.ov-section + .ov-section { border-top: 1px solid var(--ov-border); }
.ov-section__header { margin-bottom: 1.25rem; }
.ov-section__header p { color: var(--ov-text-dim); }
.ov-section__note { margin-top: .75rem; color: var(--ov-text-dim); }

.ov-columns { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 880px) { .ov-columns { grid-template-columns: 1fr 1fr; } }

/* Gallery */
.ov-gallery { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .ov-gallery { grid-template-columns: repeat(3, 1fr); } }
.ov-gallery__item { background: var(--ov-surface); border: 1px solid var(--ov-border); border-radius: 10px; overflow: hidden; }
.ov-gallery__item img { width: 100%; height: 220px; object-fit: cover; display: block; }
.ov-gallery__item figcaption { padding: .75rem; color: var(--ov-text-dim); font-size: .95rem; }

/* Cards */
.ov-cards { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 880px) { .ov-cards { grid-template-columns: repeat(3, 1fr); } }
.ov-card { background: var(--ov-surface); border: 1px solid var(--ov-border); border-radius: 12px; padding: 1rem; }

/* Testimonials */
.ov-testimonials { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 880px) { .ov-testimonials { grid-template-columns: repeat(3, 1fr); } }
.ov-testimonial { background: var(--ov-surface); border: 1px solid var(--ov-border); border-radius: 12px; padding: 1rem; }
.ov-testimonial blockquote { margin: 0; }
.ov-testimonial footer { color: var(--ov-text-dim); margin-top: .5rem; font-size: .9rem; }

/* Accordion (FAQ) */
.ov-accordion__item { border: 1px solid var(--ov-border); border-radius: 10px; background: var(--ov-bg-alt); margin-bottom: .75rem; overflow: hidden; }
.ov-accordion__trigger { width: 100%; text-align: left; background: transparent; color: #fff; padding: 1rem; font: inherit; border: 0; display: flex; justify-content: space-between; align-items: center; }
.ov-accordion__trigger[aria-expanded="true"] { background: rgba(139, 211, 178, 0.08); }
.ov-accordion__panel { padding: 0 1rem 1rem; color: var(--ov-text-dim); }

/* Form */
.ov-form { background: var(--ov-surface); border: 1px solid var(--ov-border); border-radius: 12px; padding: 1rem; }
.ov-form__row { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 720px) { .ov-form__row { grid-template-columns: 1fr 1fr; } }
.ov-form__field { display: grid; gap: .35rem; }
.ov-form input[type="text"], .ov-form input[type="email"], .ov-form textarea {
  background: #0f1713; border: 1px solid var(--ov-border); color: #e9f1ed; border-radius: 8px; padding: .75rem; width: 100%;
}
.ov-form__consent { display: flex; gap: .5rem; align-items: start; margin-top: .5rem; color: var(--ov-text-dim); }
.ov-form__actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1rem; }

/* Updates and community */
.ov-community { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.ov-updates { display: grid; gap: 1rem; }
.ov-update { background: var(--ov-surface); border: 1px solid var(--ov-border); border-radius: 12px; padding: 1rem; }

/* Footer nav CTA */
.ov-next { display: flex; gap: .75rem; justify-content: center; padding: 2rem 1rem 3rem; }

/* Buttons (use existing .btn styles if present in base.css; provide minimal fallback) */
.btn { cursor: pointer; border-radius: 10px; padding: .7rem 1rem; border: 1px solid transparent; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.btn-primary { background: var(--ov-accent); color: #0c1512; }
.btn-secondary { background: transparent; color: #e9f1ed; border-color: var(--ov-border); }
.btn-ghost { background: transparent; color: #e9f1ed; border: 1px dashed var(--ov-border); }

/* Containers (graceful if base.css already defines .container) */
.container { max-width: 1120px; margin: 0 auto; }
