/* Easier dates (library/js/sneaky-dates.js), 15 Oct 2026. Scoped to the controls the script adds. */

/* The original date-of-birth field stays in the form (it is what the form sends) but is no longer shown. */
.sh-dob-native { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }

.sh-dob { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin: 4px 0 0; }
.sh-dob .sh-dob-part { display: flex; flex-direction: column; gap: 4px; min-width: 0; margin: 0; }
.sh-dob .sh-dob-part label { margin: 0; color: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; }
.sh-dob .sh-dob-part input,
.sh-dob .sh-dob-part select { box-sizing: border-box; min-height: 44px; margin: 0; padding: 8px 10px; border: 1.5px solid #c7ddeb; border-radius: 10px; background: #fff; color: #122c3a; font: inherit; font-size: 16px; line-height: 1.2; }
.sh-dob .sh-dob-part input { width: 3.4em !important; max-width: 3.4em; min-width: 0; }
.sh-dob .sh-dob-part--year input { width: 4.4em !important; max-width: 4.4em; }
.sh-dob .sh-dob-part--month select { width: auto !important; min-width: 0; max-width: 100%; padding-left: 6px; padding-right: 6px; }
.sh-dob [aria-invalid="true"] { border-color: #b3261e; }
.sh-dob input:focus-visible,
.sh-dob select:focus-visible,
.sh-dq .sh-dq-btn:focus-visible { outline: 3px solid #1f6f62; outline-offset: 2px; }
.sh-dob-msg,
.sh-dq-echo { margin: 6px 0 0; color: #375568; font-size: 14px; line-height: 1.4; }
.sh-dob-msg:empty,
.sh-dq-echo:empty { display: none; }
.sh-dob-msg.is-error { color: #b3261e; font-weight: 700; }

.sh-dq { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
.sh-dq .sh-dq-btn { min-height: 36px; margin: 0; padding: 6px 12px; border: 1.5px solid #c7ddeb; border-radius: 999px; background: #fff; color: #122c3a; font: inherit; font-size: 14px; font-weight: 700; line-height: 1.2; cursor: pointer; }
.sh-dq .sh-dq-btn:hover { border-color: #1f6f62; color: #1f6f62; }

/* "Add your details from before you signed in?" (library/js/sneaky-person.js): a quiet card, never a blocking modal. */
.sh-person-offer { position: fixed; right: 16px; bottom: 16px; z-index: 9990; box-sizing: border-box; width: min(380px, calc(100vw - 32px)); padding: 16px 18px; border: 1.5px solid #c7ddeb; border-radius: 16px; background: #fff; color: #122c3a; box-shadow: 0 12px 32px rgba(18, 44, 58, .18); font-size: 15px; line-height: 1.45; }
.sh-person-offer h2 { margin: 0 0 6px; color: #122c3a; font-size: 17px; line-height: 1.3; }
.sh-person-offer p { margin: 0 0 8px; color: #375568; }
.sh-person-offer .sh-person-offer-values { color: #122c3a; font-weight: 700; }
.sh-person-offer-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.sh-person-offer-actions button { min-height: 44px; padding: 8px 16px; border: 1.5px solid #1f6f62; border-radius: 999px; background: #fff; color: #1f6f62; font: inherit; font-weight: 700; cursor: pointer; }
.sh-person-offer-actions .sh-person-offer-yes { background: #1f6f62; color: #fff; }
.sh-person-offer-actions button:focus-visible { outline: 3px solid #122c3a; outline-offset: 2px; }
