/* Shared project roles. WordPress controls, site navigation and clouds keep their own styles. */
.appride-ui-link,.appride-ui-link:visited,
:is(.appride-index-detail,.appride-archive-list,.appride-archive-search,.appride-single-article .appride-article-section) a {color:#647C74;text-decoration:underline;text-underline-offset:.22em}
.appride-ui-link:hover,.appride-ui-link:focus,
:is(.appride-index-detail,.appride-archive-list,.appride-archive-search,.appride-single-article .appride-article-section) a:is(:hover,:focus) {color:#713A3E}
.appride-ui-link:focus-visible,.appride-ui-disclosure>summary:focus-visible,
:is(.appride-index-detail,.appride-archive-list,.appride-archive-search,.appride-single-article .appride-article-section) a:focus-visible {outline:2px solid #713A3E;outline-offset:3px}
.appride-ui-disclosure {margin-block:12px}
.appride-ui-disclosure>summary,:is(.appride-ui,.appride-archive-search) .appride-ui-disclosure>summary {padding:12px 16px;background:#f5f1ea;border:1px solid #dcdcde;border-radius:4px;color:#647C74;cursor:pointer;line-height:1.6}
.appride-ui-disclosure>summary:is(:hover,:focus) {color:#713A3E}
.appride-ui-disclosure>summary .appride-open-label,.appride-ui-disclosure>summary .appride-close-label {float:right;margin-inline-start:1em;font-size:14px}
.appride-ui-disclosure>summary .appride-close-label,.appride-ui-disclosure[open]>summary .appride-open-label {display:none}
.appride-ui-disclosure[open]>summary .appride-close-label {display:inline}
.appride-ui-heading {color:#713A3E}
.appride-ui-help {color:#50575e;line-height:1.7}
.appride-ui-status {white-space:pre-wrap;line-height:1.7;margin-block:12px}
.appride-ui-status:empty {display:none}
.appride-ui-form p {margin-block:12px;line-height:1.7}
.appride-ui-input {box-sizing:border-box;width:100%;max-width:32em;margin-top:6px}
textarea.appride-ui-input {min-height:72px;resize:vertical}
.appride-ui-label:has(>.appride-ui-input) {display:block}
.appride-ui-form .button {margin-block:4px}
/* Public forms share spacing, while existing filter rows and mobile layout remain intact. */
.appride-archive-search :is(input[type=search],input[type=text],select) {box-sizing:border-box;max-width:100%}
.appride-archive-search label {line-height:1.7}
.appride-single-article .appride-article-section :is(h2,h3,h4) {color:#713A3E;font-weight:700;text-decoration:none}
/* Heading links identify article titles and retain the approved heading colour. */
:is(.appride-index-detail,.appride-archive-list,.appride-archive-search) .appride-role-heading a {color:#713A3E}
@media(max-width:600px) {.appride-ui-input {max-width:100%}.appride-ui-disclosure>summary,:is(.appride-ui,.appride-archive-search) .appride-ui-disclosure>summary {padding:10px 12px}}

/* Picker removal controls are created after rendering by the existing script. */
.appride-editor-picker button.button-link {color:#647C74;text-decoration:underline;text-underline-offset:.22em}
.appride-editor-picker button.button-link:is(:hover,:focus) {color:#713A3E}
.appride-editor-picker button.button-link:focus-visible {outline:2px solid #713A3E;outline-offset:3px}

.appride-flow-panel {background:#fff;padding:16px;margin:12px 0;border:1px solid #ccd0d4;border-radius:4px}
.appride-canonical {font-weight:700}
.appride-alias {border-left:3px solid #647C74;padding-left:12px}
.appride-archive-search .appride-ui-link,.appride-archive-search .appride-ui-link:visited {color:#647C74;text-decoration:underline}
.appride-archive-search .appride-ui-link:is(:hover,:focus) {color:#713A3E}
.appride-archive-search .appride-ui-disclosure>summary:focus-visible,.appride-archive-search .appride-ui-link:focus-visible {outline:2px solid #713A3E;outline-offset:3px}
/* Material links share text-link roles; only condition selection has a boxed state. */
.appride-library-types a {display:inline-block;min-height:42px;box-sizing:border-box;padding:7px 11px;border:1px solid #dcdcde;background:#f5f1ea}
.appride-library-types a[aria-current] {border-color:#713A3E;color:#713A3E;font-weight:700}
.appride-material-results {min-width:0}
.appride-material-card {padding:18px;margin-block:16px;border:1px solid #e2e2e2;overflow-wrap:anywhere}
.appride-material-card dl {display:grid;grid-template-columns:minmax(0,10em) minmax(0,1fr);gap:6px 12px}
.appride-material-card dd {margin:0}
.appride-material-results nav {display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:600px){.appride-material-card dl {grid-template-columns:1fr}.appride-material-card dt {font-weight:600}}
/* Tabs and both panels share the approved index container edges.
 * Panels are content containers, not controls: focus remains visible on their controls. */
.appride-library {--appride-library-container-gutter:20px}
.appride-library .appride-library-tabs,
.appride-library .appride-library-panel {margin-inline:var(--appride-library-container-gutter);box-sizing:border-box;min-width:0}
.appride-library .appride-library-panel {padding-inline:0;border:0;outline:none;box-shadow:none}
.appride-library .appride-library-panel:is(:focus,:focus-visible) {outline:none;box-shadow:none}
@media(width > 480px){.appride-library {--appride-library-container-gutter:0px}}
.appride-material-card {margin-block:32px}
.appride-material-empty {display:flex;align-items:center;justify-content:center;min-height:260px;padding:32px 20px;box-sizing:border-box;text-align:center;font-size:20px;line-height:1.8}
.appride-ui-pagination {display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:32px;padding-block:8px;text-align:center}
.appride-ui-pagination p {margin:0}
.appride-ui-pagination>div {display:flex;justify-content:center;flex-wrap:nowrap;gap:12px;width:100%;white-space:nowrap}
.appride-ui-pagination :is(a,span) {flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box;padding:8px 12px}
nav.appride-ui-pagination a,nav.appride-ui-pagination a:visited {color:#647C74;text-decoration:none}
nav.appride-ui-pagination a:is(:hover,:focus) {color:#647C74;font-weight:700;text-decoration:none}
.appride-ui-pagination a:focus-visible {outline:2px solid #713A3E;outline-offset:3px}
nav.appride-ui-pagination span[aria-current] {color:#713A3E;font-weight:700;border:1px solid #713A3E;background:#f5f1ea;border-radius:4px}
.appride-article-return {margin-block:16px;line-height:1.8}
@media(max-width:600px){.appride-material-empty {min-height:220px;padding:28px 20px}.appride-ui-pagination>div {gap:8px}}

/* Public filled buttons share interaction colors; existing text-link dimensions stay intact. */
.appride-site :is(a,button).appride-ui-button {background:#713A3E;color:#fff;border:1px solid #713A3E;text-decoration:none;cursor:pointer}
.appride-site a.appride-ui-button:visited {color:#fff;text-decoration:none}
.appride-site :is(a,button).appride-ui-button:is(:hover,:focus-visible) {background:#647C74;color:#fff;text-decoration:none}
.appride-site .appride-ui-button * {color:inherit;text-decoration:none}
.appride-site .appride-ui-button:focus-visible {outline:2px solid #713A3E;outline-offset:3px}
.appride-site .appride-ui-button:not(.text-link) {display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:46px;padding:10px 16px;font-size:14px;line-height:1.6;white-space:nowrap}
.appride-ui-actions {display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin-block:16px}
.appride-ui-actions > .appride-ui-label {min-width:0;flex:0 1 14em}
.appride-ui-actions .appride-ui-input {min-height:46px;padding:10px 12px;font-size:14px;line-height:1.6;border:1px solid #dcdcde;background:#fff}
.appride-ui-actions .appride-ui-button {margin:0}
.appride-ui-actions .appride-ui-input:focus-visible {outline:2px solid #713A3E;outline-offset:3px}
nav.appride-ui-pagination .appride-pagination-mobile-current {display:none}
@media(width < 768px){nav.appride-ui-pagination>div {gap:8px}nav.appride-ui-pagination .appride-pagination-neighbor {display:none}}
@media(max-width:480px){
 nav.appride-ui-pagination>p,nav.appride-ui-pagination .appride-pagination-number,nav.appride-ui-pagination .appride-pagination-gap {display:none}
 nav.appride-ui-pagination .appride-pagination-mobile-current {display:inline-flex}
}

/* Shared auxiliary return actions: links and form buttons keep their own semantics. */
.appride-site :is(a,button).appride-ui-return,
.appride-site a.appride-ui-return:visited {display:inline-flex;align-items:center;box-sizing:border-box;max-width:100%;min-height:44px;padding:10px 16px;margin:4px 8px 4px 0;border:1px solid #647C74;border-radius:4px;background:#f5f1ea;color:#647C74;text-decoration:none;font:inherit;line-height:1.6;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.appride-site :is(a,button).appride-ui-return:is(:hover,:focus) {color:#713A3E;border-color:#713A3E;text-decoration:none}
.appride-site :is(a,button).appride-ui-return:focus-visible {outline:2px solid #713A3E;outline-offset:3px}
.appride-site .appride-ui-return[hidden] {display:none}

/* Focus after keyboard pagination; the announcement never occupies layout space. */
.appride-pagination-heading:focus-visible, .appride-ui-pagination:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.appride-pagination-announcement { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
