/**
 * Atlas notify forms (DS-A6): the messaging plugin's [hvm_notify] markup in the night
 * band (.atlas-night) and the strip (.haven-events-strip), --atlas-* tokens only. Every
 * rule sits under one of the two, and outweighs hvm-forms.css, events.css and
 * events-strip.css without !important. The honeypot (.hvm-form__trap) is never selected.
 */

/* Night band: the hub's region groups, side by side from 700px */
.atlas-band.atlas-night .atlas-notify-list { display: grid; gap: 20px; }
.atlas-band.atlas-night .atlas-notify { display: grid; align-content: start; gap: 12px; min-width: 0; }
.atlas-band.atlas-night .atlas-notify .atlas-notify__title { margin: 0; color: var(--atlas-accent-night); font: 500 12px/1.3 var(--atlas-mono); letter-spacing: .14em; text-transform: uppercase; }
@media (min-width: 700px) {
	.atlas-band.atlas-night .atlas-notify-list { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); align-items: start; }
}

/* Night band: the form panel, labels above fields; transparent over the image-led band (owner 2026-11-11) */
.atlas-band.atlas-night .hvm-form.hvm-form { position: relative; box-sizing: border-box; display: grid; gap: 16px; max-width: 38rem; margin: 0; padding: clamp(20px, 2.6vw, 32px); border: 1px solid var(--atlas-accent-night); background: transparent; color: var(--atlas-on-night); font: 400 16px/1.5 var(--atlas-sans); }
.atlas-band.atlas-night .atlas-notify .hvm-form.hvm-form { max-width: none; padding: 20px; }
.atlas-band.atlas-night .hvm-form .hvm-form__field { display: grid; gap: 8px; margin: 0; }
.atlas-band.atlas-night .hvm-form .hvm-form__field > label { display: block; color: var(--atlas-on-night-2); font: 500 12px/1.3 var(--atlas-mono); letter-spacing: .12em; text-transform: uppercase; }
.atlas-band.atlas-night .hvm-form .hvm-form__field > input { box-sizing: border-box; width: 100%; min-height: 48px; margin: 0; padding: 8px 0; border: 0; border-bottom: 1px solid var(--atlas-on-night-2); border-radius: 0; background: transparent; color: var(--atlas-on-night); font: 400 19px/1.3 var(--atlas-serif); }
.atlas-band.atlas-night .hvm-form .hvm-form__field > input:focus-visible { border-bottom-color: var(--atlas-accent-night); }

/* Night band: the consent row, its label part of the 44px target */
.atlas-band.atlas-night .hvm-form .hvm-form__check { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 12px; margin: 0; }
.atlas-band.atlas-night .hvm-form .hvm-form__check > input { width: 24px; min-width: 0; height: 24px; min-height: 0; margin: 10px 0 0; accent-color: var(--atlas-accent-night); }
.atlas-band.atlas-night .hvm-form .hvm-form__check > label { display: block; min-height: 44px; margin: 0; padding: 10px 0; color: var(--atlas-on-night-2); font: 400 14px/1.5 var(--atlas-sans); cursor: pointer; }
.atlas-band.atlas-night .hvm-form > p:not(.hvm-form__message) { margin: 0; color: var(--atlas-on-night-2); font: 400 14px/1.5 var(--atlas-sans); }
.atlas-band.atlas-night .hvm-form > p > a { color: var(--atlas-on-night); text-decoration: underline; text-underline-offset: 3px; }

/* Night band: the accent button and the message line */
.atlas-band.atlas-night .hvm-form > button { justify-self: start; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 48px; margin: 0; padding: 12px 20px; border: 1px solid var(--atlas-accent-night); border-radius: 2px; background: var(--atlas-accent-night); color: var(--atlas-night); font: 600 15px/1.2 var(--atlas-sans); cursor: pointer; }
.atlas-band.atlas-night .hvm-form > button:hover { border-color: var(--atlas-on-night); background: var(--atlas-on-night); }
.atlas-band.atlas-night .hvm-form > button:disabled { opacity: .7; cursor: wait; }
.atlas-band.atlas-night .hvm-form .hvm-form__message { margin: 0; color: var(--atlas-accent-night); font: 400 14px/1.5 var(--atlas-sans); }
.atlas-band.atlas-night .hvm-form .hvm-form__message[data-hvm-message] { min-height: 1.5em; }
.atlas-band.atlas-night .hvm-form .hvm-form__message--error,
.atlas-band.atlas-night .hvm-form .hvm-form__message[data-hvm-error] { color: var(--atlas-on-night); font-weight: 600; }
.atlas-band.atlas-night .hvm-form .hvm-form__message--error:empty { position: absolute; min-height: 0; margin: 0; }

/* Night band: a visible focus ring on the dark band */
.atlas-band.atlas-night .hvm-form .hvm-form__field > input:focus-visible,
.atlas-band.atlas-night .hvm-form .hvm-form__check > input:focus-visible,
.atlas-band.atlas-night .hvm-form.hvm-form > button:focus-visible,
.atlas-band.atlas-night .hvm-form.hvm-form > p > a:focus-visible { outline: 2px solid var(--atlas-accent-night); outline-offset: 3px; }

/* Strip: the small inline form, stacked; email and button on one line from 480px of its item or strip */
.haven-events-strip .haven-events-strip__inner, .haven-events-strip .haven-events-strip__items > li { container-type: inline-size; }
.haven-events-strip form.hvm-form.hvm-form { position: relative; box-sizing: border-box; display: grid; gap: 10px; max-width: 34rem; margin: 16px 0 0; color: var(--atlas-ink-2); font: 400 15px/1.5 var(--atlas-sans); }
.haven-events-strip form.hvm-form .hvm-form__field { display: grid; gap: 6px; margin: 0; }
.haven-events-strip form.hvm-form .hvm-form__field > label { display: block; color: var(--atlas-ink-3); font: 500 11.5px/1.3 var(--atlas-mono); letter-spacing: .1em; text-transform: uppercase; }
.haven-events-strip form.hvm-form .hvm-form__field > input { box-sizing: border-box; width: 100%; min-height: 46px; margin: 0; padding: 10px 12px; border: 1px solid var(--atlas-rule-strong); border-radius: 0; background: var(--atlas-paper); color: var(--atlas-ink); font: 400 16px/1.2 var(--atlas-sans); }
.haven-events-strip form.hvm-form .hvm-form__check { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 10px; margin: 0; }
.haven-events-strip form.hvm-form .hvm-form__check > input { width: 22px; min-width: 0; height: 22px; min-height: 0; margin: 11px 0 0; accent-color: var(--atlas-ink); }
.haven-events-strip form.hvm-form .hvm-form__check > label { display: block; min-height: 44px; margin: 0; padding: 10px 0; color: var(--atlas-ink-2); font: 400 14px/1.5 var(--atlas-sans); cursor: pointer; }
.haven-events-strip form.hvm-form > p:not(.hvm-form__message) { margin: 0; color: var(--atlas-ink-3); font: 400 14px/1.5 var(--atlas-sans); }
.haven-events-strip form.hvm-form > p > a { color: var(--atlas-ink); text-decoration: underline; text-underline-offset: 3px; }
.haven-events-strip form.hvm-form > button { box-sizing: border-box; width: auto; min-width: 44px; min-height: 46px; margin: 0; padding: 10px 16px; border: 1px solid var(--atlas-ink); border-radius: 0; background: var(--atlas-ink); color: var(--atlas-paper); font: 600 14px/1.2 var(--atlas-sans); white-space: normal; cursor: pointer; }
.haven-events-strip form.hvm-form > button:hover { border-color: var(--atlas-ink-2); background: var(--atlas-ink-2); }
.haven-events-strip form.hvm-form > button:disabled { opacity: .7; cursor: wait; }
.haven-events-strip form.hvm-form .hvm-form__message { margin: 0; color: var(--atlas-ink-3); font: 400 14px/1.5 var(--atlas-sans); }
.haven-events-strip form.hvm-form .hvm-form__message[data-hvm-message] { min-height: 1.5em; }
.haven-events-strip form.hvm-form .hvm-form__message--error,
.haven-events-strip form.hvm-form .hvm-form__message[data-hvm-error] { color: var(--atlas-ink); font-weight: 600; }
.haven-events-strip form.hvm-form .hvm-form__message--error:empty { position: absolute; min-height: 0; margin: 0; }
.haven-events-strip form.hvm-form .hvm-form__field > input:focus-visible,
.haven-events-strip form.hvm-form .hvm-form__check > input:focus-visible,
.haven-events-strip form.hvm-form.hvm-form > button:focus-visible,
.haven-events-strip form.hvm-form.hvm-form > p > a:focus-visible { outline: 2px solid var(--atlas-accent-ink); outline-offset: 3px; }
@container (min-width: 480px) {
	/* First name, then email and button on one line; the rest below in source order. */
	.haven-events-strip form.hvm-form.hvm-form { grid-template-columns: minmax(0, 1fr) auto; column-gap: 0; }
	.haven-events-strip form.hvm-form .hvm-form__field,
	.haven-events-strip form.hvm-form .hvm-form__check,
	.haven-events-strip form.hvm-form > p { grid-column: 1 / -1; }
	.haven-events-strip form.hvm-form .hvm-form__field:first-child { grid-row: 1; }
	.haven-events-strip form.hvm-form .hvm-form__field + .hvm-form__field { grid-column: 1; grid-row: 2; }
	.haven-events-strip form.hvm-form.hvm-form > button { grid-column: 2; grid-row: 2; align-self: end; }
	.haven-events-strip form.hvm-form .hvm-form__field + .hvm-form__field > input { border-right: 0; }
}

/* Body forms that stay in prose (a token for another interest): the same 44px label target as the strip forms. */
body.haven-events .atlas-feature__body form.hvm-form .hvm-form__check,
body.haven-events .atlas-guide .haven-events-guide-section form.hvm-form .hvm-form__check { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 10px; margin: 0; }
body.haven-events .atlas-feature__body form.hvm-form .hvm-form__check > input,
body.haven-events .atlas-guide .haven-events-guide-section form.hvm-form .hvm-form__check > input { width: 22px; min-width: 0; height: 22px; min-height: 0; margin: 11px 0 0; accent-color: var(--atlas-ink); }
body.haven-events .atlas-feature__body form.hvm-form .hvm-form__check > label,
body.haven-events .atlas-guide .haven-events-guide-section form.hvm-form .hvm-form__check > label { display: block; min-height: 44px; margin: 0; padding: 10px 0; cursor: pointer; }

/* THEME SUBMIT-BUTTON OVERRIDE. haven-custom.css paints every submit button gold with !important on any page whose body
   carries a class containing "streamline-" (white text on gold, 2.7:1). The Atlas buttons restate their three colours
   with !important, and nothing else here uses it. */
.atlas-band.atlas-night .hvm-form > button { background-color: var(--atlas-accent-night) !important; border-color: var(--atlas-accent-night) !important; color: var(--atlas-night) !important; }
.atlas-band.atlas-night .hvm-form > button:hover { background-color: var(--atlas-on-night) !important; border-color: var(--atlas-on-night) !important; color: var(--atlas-night) !important; }
.haven-events-strip form.hvm-form > button,
body.haven-events .atlas-feature__body form.hvm-form > button,
body.haven-events .atlas-guide .haven-events-guide-section form.hvm-form > button { background-color: var(--atlas-ink) !important; border-color: var(--atlas-ink) !important; color: var(--atlas-paper) !important; }
.haven-events-strip form.hvm-form > button:hover,
body.haven-events .atlas-feature__body form.hvm-form > button:hover,
body.haven-events .atlas-guide .haven-events-guide-section form.hvm-form > button:hover { background-color: var(--atlas-ink-2) !important; border-color: var(--atlas-ink-2) !important; color: var(--atlas-paper) !important; }
