/* Independent, fully responsive repeaters. No internal horizontal scroll. */
.atsp-editor,.atsp-person-row,.atsp-person-list{min-width:0;width:100%;box-sizing:border-box}
.atsp-editor{margin:22px 0;padding:clamp(12px,2vw,22px);border:1px solid #d8e5e6;background:#f6faf9;border-radius:14px}
.atsp-editor h3{font-size:clamp(1.15rem,2vw,1.4rem);margin:0 0 8px}
.atsp-person-list{display:grid;gap:14px;margin:15px 0}
.atsp-person-row{border:1px solid #ccdee0;border-radius:12px;background:#fff;margin:0;padding:clamp(12px,2vw,18px)}
.atsp-person-row legend{padding:0 8px;font-weight:700;color:#244b52}
.atsp-person-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.atsp-person-fields label{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere;font-weight:600}
.atsp-person-fields input,.atsp-person-fields textarea{display:block;min-width:0;width:100%;max-width:100%;font:inherit;border:1px solid #c4d5d8;border-radius:8px;padding:9px 11px}
.atsp-person-fields input[type=file]{font-size:.9rem;white-space:normal}
.atsp-person-fields .atsp-wide{grid-column:1/-1}
.atsp-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}
.atsp-actions button,.atsp-add{min-height:42px;max-width:100%;padding:9px 14px;border-radius:8px;border:1px solid #b8d4d8;background:#e7f2f2;color:#16565d;font:inherit;font-weight:650;cursor:pointer}
.atsp-add{color:#fff;background:var(--at-accent,#176b75);border-color:transparent}
.atsp-removed{opacity:.65;border-style:dashed}.atsp-removed .atsp-person-fields{display:none}
.atsp-existing-photo img{display:block;width:92px;height:92px;object-fit:cover;border-radius:10px;margin-top:14px}
.atsp-note{margin-top:12px;font-size:.9rem;color:#526770}
.atsp-people-public,.atsp-legacy-policies{margin:28px 0}
.atsp-people-grid,.atsp-policy-legacy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.atsp-person-card,.atsp-policy-legacy-card{min-width:0;overflow-wrap:anywhere;background:#fff;border:1px solid #dce6e7;border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #00000008}
.atsp-person-photo{aspect-ratio:4/3;background:#eaf2f2;display:flex;align-items:center;justify-content:center;font-size:3rem}
.atsp-person-photo img{width:100%;height:100%;display:block;object-fit:cover}
.atsp-person-body,.atsp-policy-legacy-card{padding:17px}
.atsp-person-body h3,.atsp-policy-legacy-card h3{font-size:1.18rem;line-height:1.5;margin:0 0 8px}
.atsp-person-body p{margin:5px 0;line-height:1.7;color:#596c74}
.atsp-person-body .atsp-person-role{font-weight:700;color:var(--at-accent,#176b75)}
.atsp-policy-legacy-card{padding:16px}
.atsp-editor .atdocs-editor{margin-top:16px}
@media(max-width:960px){.atsp-people-grid,.atsp-policy-legacy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.atsp-people-grid,.atsp-policy-legacy-grid,.atsp-person-fields{grid-template-columns:minmax(0,1fr)}.atsp-actions button{flex:1 1 45%}}
@media(max-width:340px){.atsp-actions button{flex:1 1 100%}}

/* Documents picker in the WP native editor and dashboard */
.atsp-policy-file-chooser{min-width:0;max-width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbdcdd;border-radius:12px;background:#fff;display:flex;flex-direction:column;gap:10px}
.atsp-policy-file-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;min-width:0}
.atsp-policy-media-button,.atsp-policy-file-device{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:9px 13px;box-sizing:border-box;border:1px solid #9fbbbc;border-radius:8px;background:#e8f2f2;color:#1b555b;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.atsp-policy-file-device{overflow:hidden}
.atsp-policy-file-device input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.atsp-policy-file-device:focus-within,.atsp-policy-media-button:focus-visible{outline:3px solid #e6aa3c;outline-offset:2px}
.atsp-policy-picked{margin:0;overflow-wrap:anywhere}
.atsp-policy-clear{align-self:flex-start;background:none;border:0;text-decoration:underline;cursor:pointer;color:#923c30}
@media(max-width:560px){.atsp-policy-file-actions{flex-direction:column;align-items:stretch}.atsp-policy-file-separator{text-align:center}}
