/*
Theme Name:        Premier Network Solutions
Theme URI:         https://premiernetworksolutions.com
Description:       Standalone WordPress theme for Premier Network Solutions. Self-contained React-driven front end — renders the full marketing site and service pages with no parent theme required. Preserves all existing animations, layouts, and design tokens.

Author:            Premier Network Solutions
Author URI:        https://premiernetworksolutions.com
Version:           5.0.0
License:           GPL-2.0-or-later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       pns-theme
Tags:              custom-logo, custom-menu, featured-images, full-site-editing
*/

/* ── CSS Design Tokens (mirror pns-1.jsx PNST object) ─────────────── */
:root {
  --pns-n950: #07090f;
  --pns-n900: #0c1220;
  --pns-n800: #0d1829;
  --pns-n700: #152040;
  --pns-n600: #1e2d52;
  --pns-n500: #253368;
  --pns-n400: #2e3d7a;
  --pns-coral:      #e8714a;
  --pns-coral-l:    #f0896b;
  --pns-coral-pale: rgba(232,113,74,0.12);
  --pns-teal:       #2bb5a0;
  --pns-teal-l:     #35c9b3;
  --pns-teal-pale:  rgba(43,181,160,0.12);
  --pns-blue:       #3b82f6;
  --pns-white:      #ffffff;
  --pns-g50:  #f7f9fc;
  --pns-g100: #edf0f7;
  --pns-g200: #d8dce8;
  --pns-g400: #8b96aa;
  --pns-g500: #6b7689;
  --pns-g700: #3a4455;
  --pns-g900: #0f1624;
  --pns-font-heading: 'Sora', sans-serif;
  --pns-font-body:    'DM Sans', sans-serif;
}

/* ── Base Reset ────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; font-size: 16px; }
body  { background: var(--pns-n900); color: var(--pns-g900); -webkit-font-smoothing: antialiased; }
img   { display: block; max-width: 100%; }
button, a { font-family: inherit; }

/* ── WordPress Admin Bar Offset for Fixed Nav ──────────────────────── */
body.admin-bar .pns-nav-fixed { top: 32px !important; }
@media screen and (max-width: 782px) { body.admin-bar .pns-nav-fixed { top: 46px !important; } }
@media screen and (max-width: 600px) { body.admin-bar .pns-nav-fixed { top: 0  !important; } }

/* ── Scrollbar ─────────────────────────────────────────────────────── */
::-webkit-scrollbar       { width: 6px; }
::-webkit-scrollbar-track { background: var(--pns-n900); }
::-webkit-scrollbar-thumb { background: #2d3561; border-radius: 3px; }
::selection               { background: rgba(232,113,74,0.3); color: #fff; }

/* ── Hello Elementor Overrides ─────────────────────────────────────── */
.site-header,
.site-footer,
.elementor-section-wrap > header,
.elementor-section-wrap > footer { display: none; }
#primary { padding: 0; }
.site-main { padding: 0; }


/* ══ pns-responsive.css ══ */
/* pns-responsive.css — mobile & tablet refinements (additive only) */

/* ── Tablet: 641–1080px ─────────────────────────────────────────── */
@media (max-width: 1080px) {
  .pns-page-hero { padding-top: 128px !important; padding-bottom: 68px !important; }
}
@media (max-width: 900px) {
  section { padding-top: 76px !important; padding-bottom: 76px !important; }
  .pns-page-hero { padding-top: 120px !important; }
  footer { padding-top: 60px !important; }
}

/* ── Touch targets ──────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .pns-tap {
    min-width: 44px; min-height: 44px;
    align-items: center; justify-content: center;
  }
  .pns-ham-btn.pns-tap { flex-direction: column; }
  .pns-dot { position: relative; }
  .pns-dot::after {
    content: ''; position: absolute; left: 50%; top: 50%;
    width: 44px; height: 44px; transform: translate(-50%, -50%);
  }
}

/* ── Phone: ≤640px ──────────────────────────────────────────────── */
@media (max-width: 640px) {
  section { padding-top: 64px !important; padding-bottom: 64px !important; }
  .pns-page-hero { padding-top: 108px !important; padding-bottom: 56px !important; }
  .pns-stats-3col { gap: 16px !important; }
  .pns-feature-2col { gap: 14px !important; }
  .pns-split { gap: 34px !important; }
  /* keep horizontal carousels swipeable and edge-aware */
  .pns-hscroll { scroll-padding-left: 20px; -webkit-overflow-scrolling: touch; }
}

/* ── Very small phones: ≤380px ─────────────────────────────────── */
@media (max-width: 380px) {
  section, footer { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ── FAQ accordion ──────────────────────────────────────────────── */
@keyframes pnsFaqIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
.pns-faq-answer { animation: pnsFaqIn 0.26s ease both; }
@media (prefers-reduced-motion: reduce) { .pns-faq-answer { animation: none; } }
@media (max-width: 640px) {
  #faq button { padding: 18px 14px !important; gap: 11px !important; }
  .pns-faq-answer { padding: 0 14px 20px 48px !important; }
}
@media (max-width: 380px) {
  .pns-faq-answer { padding: 0 12px 18px 12px !important; }
}

/* ── Prevent iOS input zoom on the contact form ─────────────────── */
@media (max-width: 640px) {
  #contact input, #contact select, #contact textarea { font-size: 16px !important; }
}
