/* Unlayered theme rules override these defaults, regardless of enqueue order. */
@layer urla1003-defaults {
  .urla1003:not(.urla1003--theme) {
    --urla1003-primary: var(--wp--preset--color--primary, #1a56db);
    --urla1003-dark: #001f4d;
    --urla1003-border: #e2e8f0;
    --urla1003-cream: #faf8f5;
    font: inherit;
    line-height: 1.6;
    color: inherit;
  }
  .urla1003:not(.urla1003--theme) :where(input, select, textarea, button) {
    font: inherit;
    color: inherit;
  }
  .urla1003:not(.urla1003--theme) :where(input:not([type=radio]):not([type=checkbox]):not([type=hidden]), select, textarea) {
    background: #fff;
    color: #172b45;
    border: 1px solid var(--urla1003-border);
    border-radius: .45rem;
    padding: .7rem .85rem;
    box-shadow: 0 1px 2px rgb(0 31 77 / 3%);
  }
  .urla1003:not(.urla1003--theme) button {
    background: #fff;
    border: 1px solid var(--urla1003-border);
    color: var(--urla1003-dark);
    border-radius: .45rem;
    padding: .7rem 1.15rem;
    font-weight: 600;
    cursor: pointer;
  }
  .urla1003:not(.urla1003--theme) button:hover { border-color: var(--urla1003-primary); }
  .urla1003:not(.urla1003--theme) .urla1003-primary {
    background: var(--urla1003-primary);
    border-color: var(--urla1003-primary);
    color: #fff;
  }
  .urla1003:not(.urla1003--theme) .urla1003-primary:hover { background: #003d99; }
  .urla1003:not(.urla1003--theme) :where(h2, h3, h4) { color: inherit; font-family: inherit; line-height: 1.25; }
  .urla1003:not(.urla1003--theme) h2 { font-size: clamp(1.8rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -.025em; }
  .urla1003:not(.urla1003--theme) h3 { font-size: 1.5rem; font-weight: 650; }
  .urla1003:not(.urla1003--theme) h4 { font-size: 1.1rem; font-weight: 650; }
  .urla1003:not(.urla1003--theme) :where(label, legend) { font-weight: 600; }
  .urla1003:not(.urla1003--theme) .urla1003-choice { font-weight: 400; }
  .urla1003:not(.urla1003--theme) .urla1003-eyebrow { color: #934100; font-size: .75rem; font-weight: 750; letter-spacing: .12em; }
  .urla1003:not(.urla1003--theme) .urla1003-help { font-size: .9em; }
  .urla1003:not(.urla1003--theme) .urla1003-error { color: #a31919; }
  .urla1003:not(.urla1003--theme) [aria-invalid=true] { border-color: #a31919; }
  .urla1003:not(.urla1003--theme) .urla1003-error-summary { border: 1px solid #a31919; background: #fff8f8; color: #7e1515; border-radius: .5rem; }
  .urla1003:not(.urla1003--theme) .urla1003-save { background: var(--urla1003-cream); border-radius: .6rem; }
  .urla1003:not(.urla1003--theme) .urla1003-success { background: #edf7f0; color: #174627; border: 1px solid #93b79d; border-radius: .6rem; padding: 1.2rem; }
  .urla1003:not(.urla1003--theme) .urla1003-row { border: 1px solid var(--urla1003-border); border-radius: .6rem; }
  .urla1003:not(.urla1003--theme) progress { accent-color: var(--urla1003-primary); }
  .urla1003:not(.urla1003--theme) :where(input[type=radio], input[type=checkbox]) { accent-color: var(--urla1003-primary); }
  .urla1003:not(.urla1003--theme) .urla1003-step-menu button { background: transparent; border: 0; text-align: start; padding: .4rem .6rem; font-weight: 400; }
  .urla1003:not(.urla1003--theme) .urla1003-step-menu [aria-current=step] { color: var(--urla1003-primary); font-weight: 700; text-decoration: underline; }
}

/* Structure is always local to the shortcode; no document/theme resets. */
.urla1003 { max-width: 58rem; margin-inline: auto; padding: clamp(1rem, 3vw, 2rem); overflow-wrap: anywhere; }
.urla1003, .urla1003 * { box-sizing: border-box; }
.urla1003 [hidden] { display: none !important; }
.urla1003 :where(h2, h3, h4, p) { margin-block: 0 1rem; }
.urla1003-header { margin-block-end: 2rem; max-width: 48rem; }
.urla1003-header .urla1003-eyebrow { margin-block-end: .6rem; }
.urla1003-progress { margin-block-end: 2rem; }
.urla1003-progress p { margin-block-end: .5rem; }
.urla1003-progress progress { display: block; width: 100%; height: .55rem; margin-block-end: .8rem; }
.urla1003-step-menu summary { cursor: pointer; width: fit-content; padding-block: .4rem; }
.urla1003-step-menu ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2rem 1rem; margin: .7rem 0; padding-inline-start: 1.5rem; }
.urla1003-step-menu button { width: 100%; }
.urla1003-step { margin-block: 0 2rem; }
.urla1003-step-heading { margin-block-end: 1.8rem; }
.urla1003-group { padding-block: 0 1.6rem; margin-block-end: 1.6rem; border-bottom: 1px solid var(--urla1003-border, currentColor); }
.urla1003-group:last-child { border-bottom: 0; padding-bottom: 0; }
.urla1003-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 1.5rem; align-items: start; }
.urla1003-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.urla1003-field--wide { grid-column: 1 / -1; }
.urla1003-field > :where(label, legend) { display: block; margin-block-end: .5rem; padding: 0; max-width: 100%; }
.urla1003 :where(input:not([type=radio]):not([type=checkbox]):not([type=hidden]), select, textarea) { width: 100%; min-width: 0; min-height: 2.75rem; }
.urla1003 textarea { resize: vertical; }
.urla1003-choices { display: flex; flex-wrap: wrap; gap: .35rem 1.4rem; }
.urla1003-choice { display: flex; align-items: baseline; gap: .6rem; padding-block: .35rem; min-height: 2.75rem; cursor: pointer; max-width: 100%; }
.urla1003-choice input { flex: 0 0 auto; margin: 0; width: 1.1rem; height: 1.1rem; align-self: flex-start; margin-top: .25rem; }
.urla1003-choice span { min-width: 0; }
.urla1003 .urla1003-help { margin-block: .3rem .65rem; }
.urla1003 .urla1003-error { margin-block: .45rem 0; }
.urla1003-note { white-space: pre-line; line-height: 1.7; }
.urla1003-row { min-width: 0; margin: 0 0 1rem; padding: 1.25rem; }
.urla1003-row > legend { padding-inline: .4rem; }
.urla1003-remove { margin-block-start: 1rem; }
.urla1003-nav { display: flex; gap: 1rem; justify-content: flex-end; flex-wrap: wrap; margin-block: 2rem; }
.urla1003-nav [data-back] { margin-inline-end: auto; }
.urla1003 button { min-height: 2.75rem; max-width: 100%; white-space: normal; }
.urla1003 button:disabled { opacity: .6; cursor: wait; }
.urla1003 :where(input, select, textarea, button, summary, [tabindex]):focus-visible { outline: 3px solid var(--urla1003-primary, #1a56db); outline-offset: 3px; }
.urla1003-save { padding: 1.25rem; margin-block-start: 2rem; }
.urla1003-save [data-save-state] { margin-block-start: .6rem; }
.urla1003-copy { display: flex; gap: .65rem; margin-block: .5rem; }
.urla1003-copy input { flex: 1 1 auto; }
.urla1003-copy button { flex: 0 0 auto; }
.urla1003-status:not(:empty) { margin-block: 1rem; }
.urla1003-error-summary { padding: 1rem 1.25rem; margin-block: 1rem; }
.urla1003-error-summary p { margin-block-end: .5rem; }
.urla1003-error-summary ul { margin: 0; padding-inline-start: 1.3rem; }
.urla1003-error-summary button { border: 0; background: transparent; color: inherit; padding: .35rem 0; text-decoration: underline; text-align: start; }
.urla1003 [data-review] { margin-block-end: 2rem; }
.urla1003 [data-review] details { border-block-end: 1px solid var(--urla1003-border, currentColor); padding-block: .75rem; }
.urla1003 [data-review] summary { cursor: pointer; padding-block: .3rem; }
.urla1003 [data-review] dl { margin-block: 1rem; }
.urla1003 [data-review] dt { font-weight: 600; margin-block-start: .8rem; }
.urla1003 [data-review] dd { margin-inline-start: 0; white-space: pre-line; }
.urla1003 .urla1003-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* Explicit AZWM mode is a predictable opt-in over host control paint. */
.urla1003--azwm { --urla1003-primary: #1a56db; --urla1003-dark: #001f4d; --urla1003-border: #e2e8f0; --urla1003-cream: #faf8f5; color: #172b45; font-family: inherit; }
.urla1003--azwm :where(input:not([type=radio]):not([type=checkbox]):not([type=hidden]), select, textarea) { color: #172b45; background: #fff; border: 1px solid #e2e8f0; border-radius: .45rem; padding: .7rem .85rem; }
.urla1003--azwm button { color: #001f4d; background: #fff; border: 1px solid #e2e8f0; border-radius: .45rem; padding: .7rem 1.15rem; }
.urla1003--azwm .urla1003-primary { color: #fff; background: #1a56db; border-color: #1a56db; }
.urla1003--azwm .urla1003-primary:hover { background: #003d99; }

@media (max-width: 600px) {
  .urla1003 { padding-inline: .75rem; }
  .urla1003-grid, .urla1003-step-menu ol { grid-template-columns: minmax(0, 1fr); }
  .urla1003-choices { flex-direction: column; gap: .2rem; }
  .urla1003-row { padding: .8rem; }
  .urla1003-nav { gap: .65rem; }
  .urla1003-nav .urla1003-primary { flex: 1; }
  .urla1003-copy { flex-wrap: wrap; }
  .urla1003-copy button { width: 100%; }
  .urla1003 :where(input, select, textarea) { font-size: max(1rem, 1em); }
}
@media (prefers-reduced-motion: reduce) {
  .urla1003 *, .urla1003 *::before, .urla1003 *::after { scroll-behavior: auto; animation-duration: 0.01ms; transition-duration: 0.01ms; }
}
