/* Scoped reset + platform chrome. No design decisions here — those belong to
   the child theme (TEMPLATE-STANDARD.md §1). Tailwind preflight is forbidden;
   this is its replacement. */

*, *::before, *::after { box-sizing: border-box; }

img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }

/* Visible focus on everything interactive. Never outline:none (§9). */
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* --- contact form ------------------------------------------------------- */
.drovi-contact-form p { margin-block: 0 1rem; }
.drovi-contact-form label { display: block; margin-block-end: 0.25rem; }
.drovi-contact-form input,
.drovi-contact-form textarea { width: 100%; padding: 0.6rem 0.75rem; border: 1px solid currentColor; }
.drovi-contact-form__errors { border-inline-start: 3px solid #b3261e; padding: 0.5rem 0 0.5rem 0.75rem; }
.drovi-contact-form__errors ul { margin: 0; padding-inline-start: 1rem; }
.drovi-contact-form__ok { border-inline-start: 3px solid #1e8e3e; padding: 0.5rem 0 0.5rem 0.75rem; }

/* --- cookie notice ------------------------------------------------------ */
.drovi-consent {
  position: fixed; inset-block-end: 0; inset-inline: 0; z-index: 9999;
  display: flex; flex-wrap: wrap; gap: 1rem; align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background: #1a1a1a; color: #fff;
  font-size: 0.875rem; line-height: 1.5;
}
.drovi-consent p { margin: 0; max-width: 60ch; }
.drovi-consent a { color: inherit; }
.drovi-consent__ok { padding: 0.5rem 1rem; background: #fff; color: #1a1a1a; border: 0; cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
