/* Shared public controls. Keep admin/editor controls and content geometry untouched. */
:root{--arc-control-radius:6px;--arc-control-height:48px;--arc-control-compact:44px;--arc-control-border:var(--line);--arc-search-height:66px}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.button,.chip,.show-watch-button,.pair-watch-button),body .site-header>.pill{
 border-radius:var(--arc-control-radius);min-height:var(--arc-control-height);font:600 13px/1.4 Arial,sans-serif;letter-spacing:.3px;
 align-items:center;justify-content:center;gap:8px;padding:12px 20px;max-width:100%;white-space:normal;
}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.button:not(.secondary),.show-watch-button,.pair-watch-button),body .site-header>.pill{background:var(--coral);color:var(--ink);border:1px solid transparent}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.button.secondary,.chip){background:var(--paper);color:var(--ink);border:1px solid var(--arc-control-border)}
body main:not(:has(#admin-content,.admin,.admin-studio)) .chip{min-height:var(--arc-control-compact);font-size:12px;padding:10px 16px;letter-spacing:0}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.chip.active,.chip[aria-selected=true],.chip[aria-pressed=true]){background:var(--ink);border-color:var(--ink);color:var(--paper)}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.button,.chip,.show-watch-button,.pair-watch-button):not(:disabled):hover,body .site-header>.pill:hover{background:var(--coral-hover);border-color:var(--coral-hover);color:var(--ink)}
/* Secondary retailers remain equally direct, with a restrained outlined treatment. */
body main:not(:has(#admin-content,.admin,.admin-studio)) #buy.book-buy .book-retailer:not(:first-child) .show-watch-button{background:var(--paper);border:1px solid var(--line);color:var(--ink)}
body main:not(:has(#admin-content,.admin,.admin-studio)) #buy.book-buy .book-retailer:not(:first-child) .show-watch-button:is(:hover,:focus-visible){background:var(--coral);border-color:var(--coral);color:var(--ink)}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.show-watch-button,.pair-watch-button){justify-content:space-between;width:100%;text-align:left}
body main:not(:has(#admin-content,.admin,.admin-studio)) .profile-trailer-action{border-radius:var(--arc-control-radius)!important;min-height:var(--arc-control-height)}
/* Identical search framing within each existing page column. */
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search,.people-directory-search,.ships-directory-search){
 display:flex;align-items:center;flex-wrap:nowrap;gap:8px;width:100%;min-width:0;min-height:var(--arc-search-height);
 padding:8px;background:#fff;border:1px solid var(--arc-control-border);border-radius:var(--arc-control-radius);
 box-shadow:0 4px 18px #18203007;
}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search,.people-directory-search,.ships-directory-search) input{
 flex:1 1 0;width:0;min-width:0;min-height:48px;margin:0;padding:10px 12px;border:0;background:transparent;
 border-radius:var(--arc-control-radius);font:16px/1.4 Arial,sans-serif;color:var(--ink);
}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.cast-search-icon,.book-search>svg){display:none}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search,.people-directory-search,.ships-directory-search) button:not([type=button]),
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.people-directory-search,.ships-directory-search) .button{
 display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:auto;min-height:48px;
 padding:12px 18px;border:1px solid var(--ink);border-radius:var(--arc-control-radius);background:var(--ink);
 color:var(--paper);font:600 14px/1.4 Arial,sans-serif;letter-spacing:0;gap:8px;
}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search) button:not([type=button]):hover{background:#28354a;border-color:#28354a;color:var(--paper)}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.book-clear,[data-cast-clear],[data-ship-clear]){
 flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;
 border-radius:var(--arc-control-radius);background:transparent;color:var(--ink);font:24px/1 Arial,sans-serif;
}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search,.people-directory-search,.ships-directory-search):focus-within{outline:none!important;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search,.people-directory-search,.ships-directory-search) input:focus-visible{outline:none}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.button,.chip,.show-watch-button,.pair-watch-button,button):focus-visible,body .site-header>.pill:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
/* Same selected-state language for calendar and book filter options. */
body main:not(:has(#admin-content,.admin,.admin-studio)) .calendar-page :is(.filters,.week-tabs) button{border-radius:var(--arc-control-radius);min-height:44px;font:600 12px/1.4 Arial,sans-serif;letter-spacing:0;padding:10px 16px}
body main:not(:has(#admin-content,.admin,.admin-studio)) .calendar-page :is(.filters button[aria-pressed=true],.week-tabs button[aria-selected=true]){background:var(--ink);border-color:var(--ink);color:var(--paper)}
body main:not(:has(#admin-content,.admin,.admin-studio)) .book-option span{min-height:44px;border-radius:var(--arc-control-radius);font:600 12px/1.4 Arial,sans-serif;padding:12px 14px}
body main:not(:has(#admin-content,.admin,.admin-studio)) .book-option input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
body main:not(:has(#admin-content,.admin,.admin-studio)) .book-active .chip{background:var(--ink);border-color:var(--ink);color:var(--paper)}
/* Repeated carousel arrows share one 44px control, retaining circular shape. */
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.hero-guide-controls,.article-slider-controls,.pair-arrows,.week-controls,.shelf-controls,.tv-controls,.book-controls) button{
 width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;padding:0;border-radius:50%;
 border:1px solid var(--line);background:var(--paper);color:var(--ink);font:20px/1 Arial,sans-serif;
}
body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.hero-guide-controls,.article-slider-controls,.pair-arrows,.week-controls,.shelf-controls,.tv-controls,.book-controls) button:disabled{opacity:.35;cursor:default}
@media(max-width:700px){
 body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search,.people-directory-search,.ships-directory-search){min-height:64px;padding:7px;gap:4px}
 body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search,.people-directory-search,.ships-directory-search) input{padding:10px 6px}
 body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.search,.book-search,.people-directory-search,.ships-directory-search) button:not([type=button]),
 body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.people-directory-search,.ships-directory-search) .button{width:auto;min-width:88px;padding:12px 10px;font-size:13px}
 body main:not(:has(#admin-content,.admin,.admin-studio)) .calendar-page .filters button{padding:10px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){body main:not(:has(#admin-content,.admin,.admin-studio)) :is(.button,.chip,.show-watch-button,.pair-watch-button){transition:none;transform:none}}

/* Filter-drawer launchers use the same compact secondary treatment. */
body main:not(:has(#admin-content,.admin,.admin-studio)) .mobile-filter-trigger{min-height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:600 12px/1.4 Arial,sans-serif;padding:10px 16px;letter-spacing:0}
