/*
 * Hand-written CSS, served verbatim by Propshaft. (This replaced the Rails
 * generator boilerplate, which still calls this a "manifest file" — a
 * Sprockets concept Propshaft doesn't have. See rails/rails#53021: the body
 * was rewritten for Propshaft, the opening line wasn't.)
 *
 * WHERE A RULE GOES. One test: does it need the Tailwind compiler (@theme,
 * @apply, @layer, theme(), @utility)? If yes, app/assets/tailwind/
 * application.css. If it's plain CSS, it goes here. Split this file only if it
 * gets unwieldy.
 *
 * PRECEDENCE. Tailwind v4 emits its output inside real cascade layers
 * (@layer theme/base/components/utilities). Layer membership is resolved
 * BEFORE specificity, and unlayered styles outrank every layer — so every rule
 * in this file beats every Tailwind utility, whatever the specificity. That
 * cuts both ways; see docs/gotchas.md.
 *
 * DON'T DEPEND ON FILE ORDER. Both layouts use `stylesheet_link_tag :app`,
 * which is Propshaft's helper (not Rails'), so it's absent from the Rails
 * guides. It emits one <link> per file in app/assets/**\/*.css, sorted
 * alphabetically — actiontext.css, application.css, tailwind.css. That sort is
 * an undocumented implementation detail (a trailing .sort in Propshaft's
 * load_path.rb), not a promise. Express precedence through layers or
 * specificity, never through which file happens to load last.
 *
 * actiontext.css is byte-identical to the actiontext gem's install template
 * and should stay that way, so `diff` against it stays a one-command drift
 * check. Trix overrides live here instead — see the bottom of this file.
 */

.dropzone-active {
  border-color: rgb(16 185 129); /* emerald-500 */
  background-color: rgb(236 253 245); /* emerald-50 */
}

.dropzone-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.dropzone-zone {
  cursor: pointer;
  transition: border-color 150ms, background-color 150ms;
}

/* MailerLite embed (footer Bloop sign-up). The widget's 20px body padding is
 * deliberate — it's set in the MailerLite editor and wanted for other
 * placements of this form. We zero it only for THIS placement, where the
 * footer embed has to align to our text column's left edge. Their selectors
 * carry a per-instance id (#mlb2-…), so !important is the only way to win. */
.ml-form-embedBody,
.ml-form-successBody {
  padding-left: 0 !important;
}

.ml-form-successBody p {
  text-align: left !important;
}

/* Restore text-decoration for links and list-style for list items created in
 * the Trix editor, both stripped by Tailwind's reset. Deliberately here and
 * not appended to actiontext.css — that file is untouched gem boilerplate and
 * stays that way (see the header). Safe despite actiontext.css loading first:
 * Tailwind's reset is inside @layer base, and these unlayered rules outrank
 * every layer regardless of source order. */
.trix-content a {
  text-decoration: underline;
}

.trix-content ul li {
  list-style: disc;
}

.trix-content ol li {
  list-style: decimal;
}
