
/* Pearl Fitness CMS - admin and small public CMS additions */
.pf-admin-shell{min-height:100vh;background:#f7f3ec;color:#1a1a18;font-family:Poppins,system-ui,sans-serif}
.pf-admin-wrap{max-width:1180px;margin:0 auto;padding:40px 24px 70px}
.pf-admin-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.pf-admin-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#1a1a18}
.pf-admin-brand img{width:42px;height:42px}
.pf-admin-brand strong{font-family:"Playfair Display",serif;font-size:1.35rem}
.pf-admin-actions{display:flex;gap:10px;flex-wrap:wrap}
.pf-panel{background:#fff;border:1px solid #d8cbb6;border-radius:18px;box-shadow:0 12px 35px rgba(26,26,24,.06);padding:28px}
.pf-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}
.pf-field{margin-bottom:20px}.pf-field label{display:block;font-weight:600;margin-bottom:8px;font-size:.9rem}
.pf-field input,.pf-field textarea,.pf-field select{width:100%;box-sizing:border-box;border:1px solid #d8cbb6;border-radius:12px;padding:12px 14px;font:inherit;background:#fff;color:#1a1a18}
.pf-field textarea{min-height:110px;resize:vertical}.pf-field input:focus,.pf-field textarea:focus,.pf-field select:focus{outline:2px solid rgba(163,40,64,.16);border-color:#a32840}
.pf-editor{border:1px solid #d8cbb6;border-radius:12px;overflow:hidden;background:#fff}
.pf-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:9px;border-bottom:1px solid #d8cbb6;background:#faf8f3}
.pf-toolbar button{border:1px solid #d8cbb6;background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer;font:600 .82rem Poppins}
.pf-editor-area{min-height:460px;padding:18px;outline:none;line-height:1.8}
.pf-editor-area:focus{box-shadow:inset 0 0 0 2px rgba(163,40,64,.12)}
.pf-editor-area h2,.pf-editor-area h3{font-family:"Playfair Display",serif}
.pf-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.pf-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 18px;border:1px solid #d8cbb6;background:#fff;color:#1a1a18;text-decoration:none;font:600 .88rem Poppins;cursor:pointer}
.pf-btn-primary{background:#a32840;color:#fff;border-color:#a32840}.pf-btn-gold{background:#cda064;color:#1a1a18;border-color:#cda064}.pf-btn-danger{background:#fff0f2;color:#8d2138;border-color:#efb7c3}
.pf-note{font-size:.8rem;color:#6f655e;line-height:1.6}
.pf-alert{padding:13px 15px;border-radius:12px;margin-bottom:18px}.pf-alert-success{background:#edf7ef;color:#245f30}.pf-alert-error{background:#fff0f2;color:#8d2138}
.pf-table{width:100%;border-collapse:collapse}.pf-table th,.pf-table td{text-align:left;padding:14px 10px;border-bottom:1px solid #eee6da;vertical-align:top}.pf-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#7a6f67}.pf-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:capitalize;background:#eee8df}.pf-status.published{background:#e7f4ea;color:#28633a}.pf-status.draft{background:#f0edf8;color:#5b4a7b}.pf-status.unpublished{background:#f7e7e7;color:#8a3a3a}
.pf-login{max-width:460px;margin:8vh auto}.pf-login .pf-admin-brand{justify-content:center;margin-bottom:24px}
.pf-check{display:flex;gap:9px;align-items:flex-start;font-size:.85rem}.pf-check input{margin-top:4px}
.pf-image-preview{max-width:100%;max-height:220px;border-radius:12px;border:1px solid #d8cbb6;object-fit:cover;margin-top:10px}
.pf-sidebar-card{padding:18px;border:1px solid #e5dccf;border-radius:14px;background:#faf8f3;margin-bottom:16px}.pf-sidebar-card h3{font:700 1rem "Playfair Display",serif;margin-bottom:8px}
.pf-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.pf-kpi{background:#fff;border:1px solid #d8cbb6;border-radius:16px;padding:18px}.pf-kpi strong{display:block;font:700 1.7rem "Playfair Display",serif}.pf-kpi span{font-size:.78rem;color:#7a6f67}
.pf-preview-banner{position:sticky;top:0;z-index:20;background:#1a1a18;color:#f7f3ec;text-align:center;padding:9px;font:700 .78rem Poppins;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:900px){.pf-grid{grid-template-columns:1fr}.pf-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.pf-admin-wrap{padding:24px 16px 50px}.pf-admin-top{align-items:flex-start;flex-direction:column}.pf-kpis{grid-template-columns:1fr}.pf-panel{padding:20px}}
/* New uploaded images in public blog pages */
.post-body img{display:block;max-width:100%;height:auto;border-radius:14px;margin:28px 0}
.blog-thumb.has-image{background-position:center;background-size:cover}
