/*
Theme Name: Connect CRM Theme
Theme URI: https://projectonemarketing.co.uk/
Author: Jamie Gillespie – Project One Marketing
Author URI: https://projectonemarketing.co.uk/
Description: A clean, lightweight application shell designed for Connect CRM. CRM functionality remains inside the Connect CRM plugin.
Version: 0.4.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: connect-crm-theme
Tags: custom-logo, custom-menu, one-column, full-width-template, accessibility-ready
*/

:root {
    --connect-theme-accent: #0071e3;
    --connect-theme-bg: #f5f5f7;
    --connect-theme-surface: #ffffff;
    --connect-theme-text: #151518;
    --connect-theme-muted: #68686f;
    --connect-theme-border: rgba(20, 20, 25, .10);
    --connect-theme-radius: 18px;
    --connect-theme-content: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
    min-height: 100vh;
    margin: 0;
    background: var(--connect-theme-bg);
    color: var(--connect-theme-text);
    font-family: var(--connect-theme-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
    -webkit-font-smoothing: antialiased;
}
a { color: var(--connect-theme-accent); }
button, input, select, textarea { font-family: inherit; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 8px; left: 8px; width: auto; height: auto; padding: 10px 14px; clip: auto; background: #fff; color: #111; }

.connect-theme-site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    border-bottom: 1px solid var(--connect-theme-border);
    background: rgba(245, 245, 247, .90);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    backdrop-filter: blur(18px) saturate(140%);
}
.admin-bar .connect-theme-site-header { top: 32px; }
.connect-theme-header-inner, .connect-theme-footer-inner, .connect-theme-content {
    width: min(var(--connect-theme-content), calc(100% - 40px));
    margin-inline: auto;
}
.connect-theme-header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.connect-theme-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--connect-theme-text); font-size: 17px; font-weight: 750; text-decoration: none; }
.connect-theme-brand img { display: block; width: auto; max-height: 42px; }
.connect-theme-nav ul { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.connect-theme-nav a { color: var(--connect-theme-muted); font-size: 13px; font-weight: 650; text-decoration: none; }
.connect-theme-nav a:hover, .connect-theme-nav .current-menu-item > a { color: var(--connect-theme-accent); }
.connect-theme-content { padding-block: clamp(42px, 7vw, 90px); }
.connect-theme-article { padding: clamp(24px, 4vw, 52px); border: 1px solid var(--connect-theme-border); border-radius: 26px; background: var(--connect-theme-surface); box-shadow: 0 18px 55px rgba(0,0,0,.055); }
.connect-theme-article h1 { margin: 0 0 24px; font-size: clamp(34px, 6vw, 64px); line-height: 1.02; letter-spacing: -.045em; }
.connect-theme-entry { font-size: 16px; line-height: 1.75; }
.connect-theme-entry > :first-child { margin-top: 0; }
.connect-theme-entry > :last-child { margin-bottom: 0; }
.connect-theme-site-footer { padding: 28px 0; border-top: 1px solid var(--connect-theme-border); color: var(--connect-theme-muted); font-size: 12px; }
.connect-theme-footer-inner { display: flex; justify-content: space-between; gap: 20px; }

body.connect-crm-frontend-page { background: #fff; }
body.connect-crm-frontend-page .connect-theme-app-main { width: 100%; min-height: 100vh; margin: 0; padding: 0; }
body.connect-crm-frontend-page .connect-theme-app-main > article { margin: 0; padding: 0; }
body.connect-crm-frontend-page .connect-theme-app-main .entry-content { margin: 0; }

@media (max-width: 782px) {
    .admin-bar .connect-theme-site-header { top: 46px; }
    .connect-theme-header-inner { min-height: 62px; }
    .connect-theme-nav { display: none; }
    .connect-theme-footer-inner { flex-direction: column; }
}
