/* RightSize branding and WordPress compatibility over locally bundled Bootstrap. */
.rsfpm-ui { --bs-border-color:#dcdcde; --bs-body-color:#1d2327; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:15px; line-height:1.6; color:#1d2327; text-align:left; }
.rsfpm-ui *, .rsfpm-ui *::before, .rsfpm-ui *::after { box-sizing:border-box; }
.rsfpm-ui :is(h1,h2,h3) { font-family:inherit; color:inherit; font-weight:600; line-height:1.3; }
.rsfpm-ui h2 { font-size:26px; margin:0 0 16px; }
.rsfpm-ui h3, .rsfpm-admin .rsfpm-panel h2 { font-size:20px; margin:0 0 20px; }
.rsfpm-ui p { margin:0 0 16px; }
.rsfpm-ui p:last-child { margin-bottom:0; }
.rsfpm-ui .card { max-width:none; margin-top:0; --bs-card-border-color:#dcdcde; }
.rsfpm-ui .rsfpm-panel, .rsfpm-ui .rsfpm-brand { padding:24px; }
.rsfpm-manager { width:100%; max-width:1180px; margin:24px auto; padding:24px; background:#f6f7f7; border:1px solid #dcdcde; border-radius:6px; container:rsfpm / inline-size; }
.rsfpm-toolbar h2 { margin:0; }
.rsfpm-eyebrow { font-size:11px; font-weight:600; letter-spacing:.1em; color:#646970; margin-bottom:6px!important; }
.rsfpm-ui .rsfpm-tabs .nav-link { display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.rsfpm-tabs .badge { background:#e7f1ff; color:#084298; }
.rsfpm-tabs .active .badge { background:#fff; color:#084298; }
.rsfpm-ui .form-label { display:block; font-weight:600; margin-top:16px; }
.rsfpm-filters .form-label { margin-top:0; }
.rsfpm-ui .form-control, .rsfpm-ui .form-select { min-width:0; max-width:100%; font-family:inherit; font-size:15px; }
.rsfpm-ui .rsfpm-check { display:flex; align-items:flex-start; gap:10px; margin:10px 0; padding-left:0; font-size:14px; }
.rsfpm-ui .rsfpm-check .form-check-input { float:none; flex:0 0 1em; margin:.3em 0 0; }
.rsfpm-ui fieldset { border:0; padding:0; margin:22px 0; min-width:0; }
.rsfpm-ui legend { float:none; font-size:15px; font-weight:600; margin:0 0 10px; width:auto; }
.rsfpm-category-list { max-height:230px; overflow-y:auto; padding:8px 14px; }
.rsfpm-category-dropdown { border:1px solid #dcdcde; border-radius:6px; background:#fff; }
.rsfpm-category-dropdown summary { border:0!important; cursor:pointer; list-style:none; }
.rsfpm-category-dropdown summary::-webkit-details-marker { display:none; }
.rsfpm-category-dropdown[open] summary { border-bottom:1px solid #dcdcde!important; }
.rsfpm-ui .rsfpm-muted { color:#646970; font-size:13px; margin-top:8px; }
.rsfpm-ui .rsfpm-table { width:100%; margin:0; font-size:14px; --bs-table-bg:#fff; --bs-table-hover-bg:#f0f6fc; }
.rsfpm-table th { background:#f0f0f1; white-space:nowrap; font-weight:600; }
.rsfpm-table th, .rsfpm-table td { padding:16px 12px; }
.rsfpm-post-title { display:flex; align-items:center; gap:12px; min-width:140px; overflow-wrap:anywhere; }
.rsfpm-post-title img { width:52px; height:52px; object-fit:cover; border-radius:4px; flex-shrink:0; }
.rsfpm-badge { white-space:normal; text-align:left; line-height:1.4; }
.rsfpm-row-actions { display:flex; flex-wrap:wrap; gap:8px 12px; min-width:105px; }
.rsfpm-row-actions form { margin:0; }
.rsfpm-pagination { margin-top:24px; }
.rsfpm-pagination .pagination { flex-wrap:wrap; gap:4px; margin:0; padding:0; list-style:none; }
.rsfpm-ui .rsfpm-pagination .page-link { text-decoration:none; border-radius:4px; }
.rsfpm-empty { padding:40px 24px!important; }
.rsfpm-edit-grid > * { min-width:0; }
.rsfpm-ui .rsfpm-edit-grid .card { margin-bottom:0; }
.rsfpm-ui .rsfpm-default { padding:16px; font-size:13px; flex:0 0 auto; }
.rsfpm-ui .rsfpm-default img { display:block; width:90px; max-width:100%; height:auto; margin:12px 0; }
.rsfpm-ui [data-image-preview] img { display:block; max-width:100%; max-height:220px; width:auto; height:auto; margin-bottom:12px; object-fit:contain; }
.rsfpm-ui [aria-busy=true] .rsfpm-savebar { opacity:.65; }
.rsfpm-ui :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #2271b1; outline-offset:3px; }
.rsfpm-admin { max-width:1100px; }
.rsfpm-admin h1 { font-size:27px; margin:24px 0 12px; }
.rsfpm-admin .rsfpm-panel { margin-bottom:24px; }
.rsfpm-brand { margin:12px 0 24px; }
.rsfpm-brand img { display:block; width:220px; max-width:100%; height:auto; margin-bottom:18px; }
.rsfpm-brand p { font-size:14px; line-height:1.7; margin:0; }
.rsfpm-admin .form-select, .rsfpm-admin input[type=number] { max-width:480px; }
.rsfpm-admin #rsfpm-default-preview img { display:block; max-width:100%; max-height:200px; width:auto; height:auto; margin:0 0 20px; }
.rsfpm-admin .rsfpm-actions { margin-bottom:16px; }
.rsfpm-admin p.submit { margin:0; padding:0; }
.rsfpm-guide .accordion-item { margin:12px 0; border:1px solid var(--bs-accordion-border-color); border-radius:6px; overflow:hidden; }
.rsfpm-guide .accordion-button { font-family:inherit; font-size:16px; font-weight:600; list-style:none; cursor:pointer; gap:12px; }
.rsfpm-guide summary::-webkit-details-marker { display:none; }
.rsfpm-guide details[open] > summary { color:var(--bs-accordion-active-color); background-color:var(--bs-accordion-active-bg); box-shadow:inset 0 -1px 0 var(--bs-accordion-border-color); }
.rsfpm-guide details[open] > summary::after { transform:var(--bs-accordion-btn-icon-transform); }
.rsfpm-guide .accordion-body p { margin:0; }
.rsfpm-ui .screen-reader-text { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.rsfpm-order-controls { display:flex; flex-wrap:wrap; gap:4px; margin-top:10px; }
.rsfpm-order-controls button { font-size:12px!important; padding:3px 7px!important; }
.rsfpm-order-controls [draggable] { cursor:grab; }
.rsfpm-order-controls button:disabled { opacity:.4; cursor:default; }
.rsfpm-order-dragging { opacity:.45; }
.rsfpm-table .rsfpm-order-target { outline:2px dashed #0d6efd; outline-offset:-2px; }
.rsfpm-order-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
.rsfpm-ui [hidden] { display:none!important; }

/* Restore Bootstrap tokens where WordPress or theme selectors are more specific. */
#rsfpm-manager .btn, #rsfpm-admin .btn { display:inline-block; width:auto; min-height:0; height:auto; margin:0; padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x); border:var(--bs-btn-border-width) solid var(--bs-btn-border-color); border-radius:var(--bs-btn-border-radius); background:var(--bs-btn-bg); color:var(--bs-btn-color); font-family:inherit; font-size:var(--bs-btn-font-size); font-weight:500; line-height:var(--bs-btn-line-height); text-decoration:none; box-shadow:none; }
#rsfpm-manager .btn:hover, #rsfpm-admin .btn:hover { background:var(--bs-btn-hover-bg); border-color:var(--bs-btn-hover-border-color); color:var(--bs-btn-hover-color); }
#rsfpm-manager .form-control, #rsfpm-admin .form-control, #rsfpm-manager .form-select, #rsfpm-admin .form-select { border:1px solid var(--bs-border-color); border-radius:var(--bs-border-radius); background-color:#fff; color:#1d2327; line-height:1.5; box-shadow:none; padding:.5rem .75rem; }
#rsfpm-manager .form-select, #rsfpm-admin .form-select { padding-right:2.25rem; }
#rsfpm-manager .form-check-input, #rsfpm-admin .form-check-input { appearance:none; width:1em; height:1em; min-width:1em; border-radius:.25em; box-shadow:none; background-image:var(--bs-form-check-bg-image); background-repeat:no-repeat; background-position:center; background-size:contain; }
#rsfpm-manager .form-check-input::before, #rsfpm-admin .form-check-input::before { content:none; }
#rsfpm-manager .rsfpm-link { border:0; background:transparent; color:#0a58ca; padding:0; font:inherit; text-decoration:underline; cursor:pointer; }
#rsfpm-manager .rsfpm-tabs .nav-link.active { background:var(--bs-nav-pills-link-active-bg); color:var(--bs-nav-pills-link-active-color); }
#rsfpm-manager .wp-editor-wrap { margin-bottom:16px; }
#rsfpm-manager .mce-toolbar .mce-btn button { background:transparent; color:#3c434a; border:0; padding:4px; }
#rsfpm-manager .mce-toolbar .mce-ico { color:#3c434a; }
#rsfpm-manager .wp-editor-tabs button { background:#f0f0f1; color:#2c3338; border:1px solid #c3c4c7; padding:3px 9px; font-size:13px; }
#rsfpm-manager .quicktags-toolbar input { width:auto; font-size:12px; padding:2px 5px; }
#rsfpm-manager .wp-editor-area { font-size:14px; border-radius:0; }
/* Some classic themes inject inline image dimensions; keep the fallback preview proportional. */
#rsfpm-manager .rsfpm-default img { width:90px!important; max-width:100%!important; height:auto!important; object-fit:contain; }
@container rsfpm (max-width:740px) {
 .rsfpm-edit-grid > .col-lg-8, .rsfpm-edit-grid > .col-lg-4, .rsfpm-filters > [class*=col-] { width:100%; }
 .rsfpm-table, .rsfpm-table tbody, .rsfpm-table tr, .rsfpm-table td { display:block; width:100%; }
 .rsfpm-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
 .rsfpm-table tr { background:#fff; border:1px solid #dcdcde; border-radius:6px; margin-bottom:16px; padding:12px; }
 .rsfpm-table td { padding:6px; border:0; box-shadow:none; }
 .rsfpm-row-actions { margin-top:8px; }
}
@media(max-width:760px) { .rsfpm-manager { padding:16px; } .rsfpm-ui .rsfpm-panel, .rsfpm-ui .rsfpm-brand { padding:18px; } .rsfpm-toolbar h2 { font-size:24px; } .rsfpm-guide .accordion-button, .rsfpm-guide .accordion-body { padding:16px; } }

/* Shared RightSize front-end identity. */
#rsfpm-manager { background:#f4f7fb; border-color:#d9e2ee; border-radius:12px; box-shadow:0 6px 24px rgba(20,40,70,.06); }
#rsfpm-manager .rsfpm-front-brand { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding-bottom:20px; margin-bottom:24px; border-bottom:1px solid #d9e2ee; }
#rsfpm-manager .rsfpm-front-brand img { width:180px!important; height:auto!important; max-width:100%!important; }
#rsfpm-manager .rsfpm-front-brand span { color:#526478; font-size:13px; }
#rsfpm-manager .rsfpm-table thead th { background:#e8eff8; color:#223d5d; }
#rsfpm-manager .rsfpm-row-actions > a { color:#0a58ca; font-weight:600; }
.rsfpm-review-content { white-space:pre-wrap; overflow-wrap:anywhere; max-height:360px; overflow:auto; padding:16px; background:#f6f7f7; }
#rsfpm-manager .rsfpm-post-title img { width:52px!important; height:52px!important; max-width:52px!important; min-width:52px; object-fit:cover; flex:0 0 52px; }
/* DataTables layout stays inside the RightSize dashboard. */
#rsfpm-data { min-width:0; }
#rsfpm-manager .rsfpm-datatable { width:100%!important; table-layout:fixed; font-size:14px; }
#rsfpm-manager .rsfpm-datatable th, #rsfpm-manager .rsfpm-datatable td { padding:12px 8px; overflow-wrap:anywhere; vertical-align:middle; }
#rsfpm-manager .rsfpm-datatable th:first-child { width:30%; }
#rsfpm-manager .rsfpm-datatable th:last-child { width:17%; }
#rsfpm-manager .rsfpm-datatable .rsfpm-post-title { min-width:0; }
#rsfpm-manager .rsfpm-datatable .rsfpm-row-actions { min-width:0; }
#rsfpm-manager .rsfpm-datatable thead { background:#e8eff8; }
#rsfpm-manager .rsfpm-dt-movers { display:flex; flex-wrap:wrap; gap:4px; margin-top:10px; }
#rsfpm-manager .rsfpm-dt-movers .btn { padding:3px 6px; font-size:12px; }
#rsfpm-manager .rsfpm-dt-details { display:none; margin-top:12px; }
#rsfpm-manager .rsfpm-dt-details summary { cursor:pointer; color:#0a58ca; }
#rsfpm-manager .rsfpm-dt-details p { margin:8px 0; }
#rsfpm-manager .dt-container .form-control, #rsfpm-manager .dt-container .form-select { width:auto; display:inline-block; }
#rsfpm-manager .dt-container .dt-search input { max-width:210px; }
#rsfpm-manager .dt-container .pagination { display:flex; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
#rsfpm-manager .dt-container .page-link { padding:6px 10px; background:#fff; color:#0a58ca; border:1px solid #d9e2ee; font-size:14px; }
#rsfpm-manager .dt-container .active .page-link { background:#0d6efd; color:#fff; }
#rsfpm-manager .dt-container .disabled .page-link { color:#687480; cursor:default; }
#rsfpm-manager .rsfpm-arranging .dt-column-order { display:none; }
#rsfpm-manager .rsfpm-arranging thead th { cursor:default; }
@container rsfpm (max-width:850px) {
 #rsfpm-manager .rsfpm-datatable, #rsfpm-manager .rsfpm-datatable tbody, #rsfpm-manager .rsfpm-datatable tr { display:block; width:100%; }
 #rsfpm-manager .rsfpm-datatable thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
 #rsfpm-manager .rsfpm-datatable td { display:block; width:100%; border:0; box-shadow:none; }
 #rsfpm-manager .rsfpm-datatable tbody tr { border:1px solid #d9e2ee; border-radius:6px; padding:8px; margin-bottom:12px; background:#fff; }
 #rsfpm-manager .rsfpm-datatable td:nth-child(3), #rsfpm-manager .rsfpm-datatable td:nth-child(4), #rsfpm-manager .rsfpm-datatable td:nth-child(5) { display:none; }
 #rsfpm-manager .rsfpm-dt-details { display:block; }
 #rsfpm-manager .rsfpm-data-filters > div { width:100%; }
 #rsfpm-manager .dt-container .dt-layout-row { display:block; }
 #rsfpm-manager .dt-container .dt-layout-cell { width:100%; text-align:left!important; margin:10px 0; }
}
#rsfpm-manager #rsfpm-dt-sort { max-width:320px; }
#rsfpm-media-dialog { border:1px solid #d9e2ee; border-radius:10px; padding:0; width:min(560px,calc(100vw - 32px)); max-height:90vh; overflow:auto; color:#1d2327; background:#fff; }
#rsfpm-media-dialog::backdrop { background:rgba(0,0,0,.55); }
#rsfpm-media-dialog .rsfpm-media-dialog-body { padding:24px; }
#rsfpm-media-dialog h3 { margin:0 0 16px; }
#rsfpm-media-dialog input, #rsfpm-media-dialog select { max-width:100%; }
#rsfpm-media-message { margin:16px 0; overflow-wrap:anywhere; }
.rsfpm-media-frame .attachment-details .edit-attachment, .rsfpm-media-frame .attachment-details .delete-attachment, .rsfpm-media-frame .attachment-details .edit-image { display:none; }

/* Shared appearance with RightSize Simple Image Gallery. Keep vendor styles local. */
.rsfpm-ui {
 --bs-primary:#185e75; --bs-primary-rgb:24,94,117; --bs-link-color:#185e75; --bs-link-color-rgb:24,94,117;
 --bs-link-hover-color:#103e50; --bs-border-color:#d5dfe5; --bs-body-color:#233441;
 font-size:16px; color:#233441;
}
.rsfpm-ui :is(h1,h2,h3) { color:#172e3a; line-height:1.25; }
.rsfpm-ui h2 { font-size:1.4rem; }
.rsfpm-ui h3, .rsfpm-admin .rsfpm-panel h2 { font-size:1.1rem; }
.rsfpm-ui a { color:#185e75; }
.rsfpm-ui :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #176f96; outline-offset:3px; }
.rsfpm-ui .btn-primary { --bs-btn-bg:#185e75; --bs-btn-border-color:#185e75; --bs-btn-hover-bg:#103e50; --bs-btn-hover-border-color:#103e50; --bs-btn-active-bg:#103e50; --bs-btn-active-border-color:#103e50; --bs-btn-disabled-bg:#185e75; --bs-btn-disabled-border-color:#185e75; }
.rsfpm-ui :is(.btn-outline-primary,.btn-outline-secondary) { --bs-btn-color:#185e75; --bs-btn-bg:#fff; --bs-btn-border-color:#8095a3; --bs-btn-hover-bg:#eef5f8; --bs-btn-hover-color:#103e50; --bs-btn-hover-border-color:#185e75; --bs-btn-active-bg:#185e75; --bs-btn-active-color:#fff; }
#rsfpm-manager .btn, #rsfpm-admin .btn { min-height:44px; padding:10px 18px; border-radius:6px; font-size:16px; }
#rsfpm-manager .rsfpm-dt-movers .btn, #rsfpm-manager .rsfpm-order-controls .btn { min-height:36px; padding:6px 9px; font-size:13px; }
#rsfpm-manager { background:#f5f8fa; border-color:#d5dfe5; border-radius:10px; box-shadow:0 2px 8px #19384408; }
.rsfpm-ui .card { --bs-card-border-color:#d5dfe5; border-radius:10px; box-shadow:0 2px 8px #19384408; }
.rsfpm-admin { max-width:1400px; }
.rsfpm-ui .rsfpm-brand { display:flex; flex-direction:row; align-items:center; gap:28px; margin-bottom:28px; }
.rsfpm-brand img { flex:0 0 220px; margin:0; object-fit:contain; }
.rsfpm-brand p { font-size:16px; line-height:1.6; }
#rsfpm-manager .rsfpm-front-brand { border-color:#d5dfe5; }
#rsfpm-manager .rsfpm-front-brand span, .rsfpm-ui .rsfpm-muted, .rsfpm-eyebrow { color:#50616b; }
.rsfpm-ui .rsfpm-tabs { --bs-nav-link-color:#185e75; --bs-nav-link-hover-color:#103e50; --bs-nav-pills-link-active-bg:#185e75; gap:8px; }
.rsfpm-ui .rsfpm-tabs .nav-link { min-height:44px; border-radius:6px; }
.rsfpm-tabs .badge { background:#eef7fa; color:#185e75; }
.rsfpm-tabs .active .badge { color:#185e75; }
.rsfpm-filters { padding:18px; background:#f2f6f8; border-radius:8px; }
#rsfpm-manager .form-control, #rsfpm-admin .form-control, #rsfpm-manager .form-select, #rsfpm-admin .form-select { min-height:44px; padding:9px 12px; border-color:#8095a3; border-radius:6px; color:#233441; font-size:16px; }
#rsfpm-manager .form-select, #rsfpm-admin .form-select { padding-right:2.25rem; }
#rsfpm-manager .form-check-input:checked, #rsfpm-admin .form-check-input:checked { background-color:#185e75; border-color:#185e75; }
.rsfpm-category-dropdown { border-color:#8095a3; }
.rsfpm-ui .rsfpm-table { --bs-table-hover-bg:#eef7fa; --bs-table-color:#233441; --bs-table-border-color:#d5dfe5; }
#rsfpm-manager .rsfpm-table thead th, #rsfpm-manager .rsfpm-datatable thead { background:#f2f6f8; color:#172e3a; }
#rsfpm-manager .rsfpm-row-actions > a, #rsfpm-manager .rsfpm-link, #rsfpm-manager .rsfpm-dt-details summary { color:#185e75; }
#rsfpm-manager .dt-container .page-link { min-height:44px; padding:10px 14px; color:#185e75; border-color:#d5dfe5; }
#rsfpm-manager .dt-container .active .page-link { background:#185e75; color:#fff; border-color:#185e75; }
#rsfpm-manager .dt-container .disabled .page-link { color:#50616b; }
.rsfpm-ui .pagination { --bs-pagination-active-bg:#185e75; --bs-pagination-active-border-color:#185e75; --bs-pagination-color:#185e75; }
.rsfpm-table .rsfpm-order-target { outline-color:#185e75; }
.rsfpm-ui .alert-info, .rsfpm-ui .alert-primary { color:#233441; background:#eef7fa; border-color:#d5dfe5; border-left:4px solid #185e75; }
.rsfpm-guide .accordion-item { margin:16px 0; border-color:#d5dfe5; border-radius:8px; }
.rsfpm-guide .accordion-button { padding:20px; font-size:1.1rem; }
.rsfpm-guide details[open] > summary { background:#eef7fa; color:#172e3a; }
.rsfpm-review-content { background:#f2f6f8; }
#rsfpm-media-dialog { border-color:#d5dfe5; color:#233441; box-shadow:0 8px 32px #19384426; }
#rsfpm-media-dialog::backdrop { background:#10263199; }
@media(max-width:900px) {
 .rsfpm-ui .rsfpm-brand { flex-direction:column; align-items:flex-start; }
 .rsfpm-brand img { flex:auto; width:180px; }
}
@media(max-width:600px) {
 .rsfpm-filters { padding:12px; }
 #rsfpm-media-dialog .rsfpm-media-dialog-body { padding:18px; }
}
@media(prefers-reduced-motion:reduce) {
 .rsfpm-ui *, .rsfpm-ui *::before, .rsfpm-ui *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}
