/**
 * Seadream Applications — applicant form.
 *
 * CURSOR SDA-003 - Mobile-first: one screen, big tap targets, generous spacing, no color-only
 * signals. Palette roles come from the site theme where present, with plain fallbacks.
 *
 * @package Seadream_Applications
 * @since 1.0.0
 */
/* Doubled class: the theme sizes every child of a content block at the same specificity and loads later. */
.sdapps-form.sdapps-form{max-width:36rem;margin:0 auto;padding:1rem;font-size:1.05rem;line-height:1.5;}
.sdapps-form[data-loading]{min-height:12rem;}
/* CURSOR SDA-033 - The old plugin's four pictures, as links. */
.sdapps-images{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1rem 0;}
.sdapps-images .sdapps-image{flex:1 1 12rem;max-width:18rem;display:block;border-radius:.6rem;overflow:hidden;line-height:0;}
.sdapps-images .sdapps-image img{width:100%;height:auto;display:block;transition:transform .2s;}
.sdapps-images .sdapps-image:hover img,.sdapps-images .sdapps-image:focus-visible img{transform:scale(1.03);}
.sdapps-images .sdapps-image:focus-visible{outline:3px solid var(--acc-accent,#0b5ed7);outline-offset:2px;}
.sdapps-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;padding:.75rem 0 1rem;background:var(--acc-surface,#fff);}
.sdapps-bar .sdapps-btn{flex:0 0 auto;padding:.7rem 1.1rem;min-height:44px;}
.sdapps-ghost{visibility:hidden;}
.sdapps-progress{flex:1 1 auto;height:.5rem;background:var(--acc-surface-2,#e5e7eb);border-radius:.25rem;overflow:hidden;}
.sdapps-progress-bar{height:100%;background:var(--acc-accent,#0b5ed7);transition:width .3s;}
/* CURSOR SDA-029 - The progress bar is a button that opens the section menu; the bar's own look is kept by resetting the button. */
.sdapps-form.sdapps-form .sdapps-jumpbar{flex:1 1 auto;display:flex;align-items:center;min-height:44px;padding:0;margin:0;border:0;background:transparent;box-shadow:none;cursor:pointer;border-radius:.25rem;}
.sdapps-form.sdapps-form .sdapps-jumpbar .sdapps-progress{width:100%;}
.sdapps-form.sdapps-form .sdapps-jumpbar:focus-visible{outline:3px solid var(--acc-accent,#0b5ed7);outline-offset:2px;}
.sdapps-bar{position:relative;flex-wrap:wrap;}
.sdapps-menu{position:absolute;left:0;right:0;top:100%;z-index:21;display:flex;flex-direction:column;background:var(--acc-surface,#fff);border:1px solid var(--acc-border,#c9ccd1);border-radius:.6rem;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:.4rem;max-height:60vh;overflow:auto;}
.sdapps-menu[hidden]{display:none;}
.sdapps-form.sdapps-form .sdapps-menu-item{font:inherit;text-align:left;padding:.75rem 1rem;min-height:44px;border:0;border-radius:.4rem;background:transparent;color:#1d2327;cursor:pointer;box-shadow:none;}
.sdapps-form.sdapps-form .sdapps-menu-item:hover{background:#f3f4f6;}
.sdapps-form.sdapps-form .sdapps-menu-item.current{background:var(--acc-accent,#0b5ed7);color:#fff;}
.sdapps-title{font-size:1.5rem;margin:0 0 1rem;}
.sdapps-fields{display:flex;flex-direction:column;gap:1.1rem;}
.sdapps-field{display:flex;flex-direction:column;gap:.35rem;}
.sdapps-label{font-weight:600;}
.sdapps-help{font-size:.9rem;opacity:.75;}
.sdapps-issue{font-size:.95rem;color:var(--acc-danger,#b42318);min-height:1.2em;}
.sdapps-input{font:inherit;padding:.8rem .9rem;border:1px solid var(--acc-border,#c9ccd1);border-radius:.5rem;width:100%;box-sizing:border-box;background:#fff;color:inherit;}
.sdapps-input:focus{outline:3px solid var(--acc-accent,#0b5ed7);outline-offset:1px;}
.sdapps-date{display:flex;gap:.5rem;}
.sdapps-date .sdapps-input{width:auto;flex:1;}
/* CURSOR SDA-027 - Choices are a segmented control of radios under labels: joined bar, chosen segment filled and ticked. No button element, so no theme button rule applies. */
.sdapps-seg{display:inline-flex;flex-wrap:wrap;border:2px solid var(--acc-border,#c9ccd1);border-radius:.6rem;overflow:hidden;background:#fff;max-width:100%;}
.sdapps-seg-item{position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;flex:1 1 auto;min-height:44px;padding:.65rem 1rem;margin:0;cursor:pointer;color:#1d2327;font-weight:500;border-right:2px solid var(--acc-border,#c9ccd1);user-select:none;white-space:nowrap;}
.sdapps-seg-item:last-child{border-right:0;}
.sdapps-seg-item:hover{background:#f3f4f6;}
.sdapps-seg-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none;}
.sdapps-seg-text::before{content:"";display:inline-block;width:.9em;height:.9em;margin-right:.45em;border:2px solid var(--acc-border,#c9ccd1);border-radius:50%;vertical-align:-.1em;box-sizing:border-box;}
.sdapps-seg-input:checked + .sdapps-seg-text{color:#fff;}
.sdapps-seg-item:has(.sdapps-seg-input:checked){background:var(--acc-accent,#0b5ed7);color:#fff;border-color:var(--acc-accent,#0b5ed7);}
.sdapps-seg-input:checked + .sdapps-seg-text::before{border-color:#fff;background:#fff;box-shadow:inset 0 0 0 3px var(--acc-accent,#0b5ed7);}
.sdapps-seg-input:focus-visible + .sdapps-seg-text{outline:3px solid var(--acc-accent,#0b5ed7);outline-offset:3px;border-radius:.3rem;}
.sdapps-jump{font:inherit;padding:.6rem 1rem;border:2px solid var(--acc-warning,#b45309);border-radius:.6rem;background:#fff;color:#1d2327;cursor:pointer;min-height:44px;}
.sdapps-btn{font:inherit;font-weight:600;padding:.9rem 1.4rem;border-radius:.6rem;border:0;cursor:pointer;min-height:48px;}
.sdapps-next{background:var(--acc-accent,#0b5ed7);color:#fff;}
.sdapps-back{background:var(--acc-surface-2,#e5e7eb);color:inherit;}
.sdapps-status{margin-top:.6rem;font-size:.9rem;opacity:.75;min-height:1.2em;}
.sdapps-status.bad{opacity:1;color:var(--acc-danger,#b42318);}
.sdapps-review{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem;}
.sdapps-review-group{border:1px solid var(--acc-border,#c9ccd1);border-radius:.6rem;padding:.8rem 1rem;}
.sdapps-review-title{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:.4rem;}
.sdapps-review-line{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;font-size:.95rem;}
.sdapps-review-k{opacity:.7;}
.sdapps-link{font:inherit;background:none;border:0;color:var(--acc-accent,#0b5ed7);cursor:pointer;text-decoration:underline;padding:0;}
.sdapps-done{font-size:1.25rem;font-weight:600;padding:1.5rem;border-radius:.6rem;background:var(--acc-surface-2,#eef6ff);}
@media (min-width:40rem){.sdapps-form{padding:1.5rem 0;}}
/* CURSOR SDA-007 - The Next button says it is working: a slow save looked like a dead button. */
.sdapps-btn.working{position:relative;color:transparent;pointer-events:none;}
.sdapps-btn.working::after{content:"";position:absolute;top:50%;left:50%;width:1.1rem;height:1.1rem;margin:-.55rem 0 0 -.55rem;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:sdapps-spin .7s linear infinite;}
@keyframes sdapps-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.sdapps-btn.working::after{animation-duration:2s;}}
/* CURSOR SDA-015 - Attention on return: the bar tracks what is left to do, in words as well as colour. */
.sdapps-progress.attention{background:var(--acc-warning-soft,#fdecc8);position:relative;overflow:visible;}
.sdapps-progress.attention .sdapps-progress-bar{background:var(--acc-warning,#b45309);}
.sdapps-progress-text{position:absolute;left:0;right:0;top:.8rem;font-size:.8rem;text-align:center;color:var(--acc-warning,#b45309);white-space:nowrap;}
.sdapps-bar:has(.attention){padding-bottom:1.6rem;}
.sdapps-attn{font-size:.9rem;color:var(--acc-warning,#b45309);font-weight:600;}
.sdapps-wanted .sdapps-input,.sdapps-wanted .sdapps-seg{border-color:var(--acc-warning,#b45309);}
.sdapps-attention-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;}
.sdapps-ask{font-size:1.05rem;opacity:1;padding:.75rem 1rem;border-left:4px solid var(--acc-warning,#b45309);margin:.75rem 0;}
.sdapps-nav{display:flex;justify-content:flex-end;margin-top:1rem;}

/* CURSOR SDA-051 - Google address search above the street field. */
.sdapps-places{display:block;width:100%;margin:0 0 .5rem;color-scheme:light;}
.sdapps-places-note{margin:0 0 .5rem;font-size:.85em;color:var(--acc-warning,#b45309);}
