/* Meridian PIA — Website Shared Styles */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#f8f9fb;--surface:#ffffff;--text:#1a2333;--dim:#54637a;--faint:#8494a8;
  --gold:#9c7d3e;--gold-soft:#9c7d3e15;--teal:#2f8b80;--pos:#2f9e6b;--neg:#c8563f;
  --line:#d3dae6;--radius:14px;--navy:#192438;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);background:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}

/* Navigation */
.site-nav{position:sticky;top:0;z-index:50;background:rgba(248,249,251,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:60px}
.site-nav .logo{height:64px}
.site-nav .logo-text{font-family:'Fraunces',serif;font-size:18px;font-weight:600;color:var(--text);text-decoration:none}
.nav-links{display:flex;gap:20px;align-items:center}
.nav-links a{color:var(--dim);text-decoration:none;font-size:13px;font-weight:500;transition:.15s}
.nav-links a:hover{color:var(--gold)}
.nav-links a.active{color:var(--gold);font-weight:600}
.btn-cta{background:var(--gold);color:#fff;padding:12px 20px;border-radius:8px;font-weight:600;font-size:14px;text-decoration:none;transition:.2s;border:none;cursor:pointer;display:inline-block;letter-spacing:0.3px}
.btn-cta:hover{background:#8a6d35;transform:translateY(-1px)}
.btn-outline{background:var(--surface);color:var(--text);padding:8px 20px;border-radius:8px;font-weight:600;font-size:13px;text-decoration:none;border:1px solid var(--line);transition:.2s;display:inline-block}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}

/* Layout */
.container{max-width:800px;margin:0 auto;padding:60px 24px}
.container-wide{max-width:1100px;margin:0 auto;padding:60px 24px}
.page-header{margin-bottom:40px}
.page-header h1{font-family:'Fraunces',serif;font-size:clamp(28px,4vw,42px);font-weight:700;margin-bottom:8px;letter-spacing:-.02em}
.page-header p{font-size:16px;color:var(--dim);max-width:560px;line-height:1.7}

/* Cards */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:.2s}
.card:hover{border-color:#c8a86b55}
.card h3{font-size:16px;font-weight:600;margin-bottom:6px}
.card p{font-size:14px;color:var(--dim);line-height:1.6}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line);padding:20px 0}
.faq-q{font-weight:600;font-size:15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}
.faq-q::after{content:'+';font-size:20px;color:var(--faint);transition:.2s}
.faq-item.open .faq-q::after{content:'−'}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s;font-size:14px;color:var(--dim);line-height:1.7}
.faq-item.open .faq-a{max-height:500px;padding-top:12px}

/* Steps */
.step{display:flex;gap:20px;margin-bottom:32px;align-items:flex-start}
.step-num{width:40px;height:40px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}
.step h3{font-size:16px;font-weight:600;margin-bottom:4px}
.step p{font-size:14px;color:var(--dim)}

/* Pricing */
.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.price-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px 24px;text-align:center;display:flex;flex-direction:column}
.price-card.featured{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.price-card .price{font-family:'Fraunces',serif;font-size:40px;font-weight:700;margin:12px 0 4px}
.price-card .price span{font-size:16px;font-weight:400}
.price-card ul{list-style:none;text-align:left;margin:16px 0 24px;flex:1}
.price-card li{font-size:13px;padding:6px 0;border-bottom:1px solid #f0f0f0;color:var(--dim)}
.price-card li::before{content:'✓ ';color:var(--pos);font-weight:600}

/* Admin */
.admin-stat{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;text-align:center}
.admin-stat .value{font-family:'Fraunces',serif;font-size:28px;font-weight:700}
.admin-stat .label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--faint);margin-top:4px}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th{text-align:left;padding:10px 12px;background:#ffffff;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--faint)}
.admin-table td{padding:10px 12px;border-bottom:1px solid var(--line)}
.admin-table tr:hover{background:#ffffff}
.badge{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}
.badge-active{background:#2f9e6b18;color:var(--pos)}
.badge-trial{background:#9c7d3e18;color:var(--gold)}
.badge-cancelled{background:#c8563f18;color:var(--neg)}
.admin-input{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:13px;font-family:inherit;width:100%;max-width:300px}
.admin-input:focus{outline:none;border-color:var(--gold)}

/* Footer */
.site-footer{text-align:center;padding:40px 24px;border-top:1px solid var(--line);font-size:12px;color:var(--faint)}
.site-footer a{color:var(--gold);text-decoration:none}

@media(max-width:640px){
  .site-nav{padding:0 16px}
  .nav-links a:not(.btn-cta){display:none}
  .container,.container-wide{padding:40px 16px}
  .step{flex-direction:column;gap:12px}
}

/* ============================================
   GLOBAL FIXES - ALL SITE PAGES
   ============================================ */

/* 1. White background everywhere */
:root { --bg: #ffffff; --surface: #ffffff; }
body { background: #ffffff !important; }

/* 2. Logo size */
.site-nav .logo { height: 64px; }

/* 3. Font ligature fix (Fraunces "fi" "fl" bug) */
h1, h2, h3, .price, .hero h1 {
  font-variant-ligatures: no-common-ligatures !important;
  font-feature-settings: "liga" 0, "clig" 0 !important;
  -webkit-font-feature-settings: "liga" 0, "clig" 0 !important;
}

/* 4. Dark section text - FULL WHITE */
.security, .dark-section, [style*="background:#0f1923"], [style*="background:var(--text)"] {
  color: #ffffff !important;
}
.security *, .dark-section * {
  color: #e8edf4 !important;
}
.security h1, .security h2, .security h3, .security strong,
.dark-section h1, .dark-section h2, .dark-section h3, .dark-section strong {
  color: #ffffff !important;
}

/* 5. Button text visibility */
.btn-cta, a.btn-cta, button.btn-cta {
  background: #9c7d3e !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 12px 24px !important;
  border: none !important;
}
.btn-cta:hover { background: #8a6d35 !important; }

.btn-secondary, a.btn-secondary {
  color: #1a2333 !important;
  font-weight: 500 !important;
  border: 1px solid #d3dae6 !important;
}

.btn-primary, a.btn-primary {
  background: #9c7d3e !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* 6. Price card alignment */
.price-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
  align-items: stretch !important;
}
.price-card {
  display: flex !important;
  flex-direction: column !important;
}
.price-card ul {
  flex: 1 !important;
}
.price-card .btn-cta,
.price-card a.btn-cta,
.price-card button.btn-cta {
  margin-top: auto !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  box-sizing: border-box !important;
}

/* 7. Consistent input/button sizing */
input, select, textarea, .admin-input {
  font-size: 14px !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
}

/* 8. Nav links readable */
.site-nav a { color: #1a2333; font-weight: 500; }
.site-nav a:hover { color: #9c7d3e; }
.site-nav .btn-cta { color: #ffffff !important; }

@media (max-width: 768px) {
  .price-grid { grid-template-columns: 1fr !important; }
  .site-nav .logo { height: 48px; }
}
