/*
Theme Name: Signal Tech
Theme URI: https://voipphonesystems.org
Author: Telecom Marketing Group
Description: A modern, technical WordPress theme built for telecom and technology companies. Minimal, Elementor-compatible shell with a signal-inspired navy and amber design system.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: signal-tech
*/

:root{
  --ink:#16233A;
  --paper:#F1F2ED;
  --card:#FFFFFF;
  --signal:#1B4B91;
  --signal-dark:#0F3266;
  --dial:#D98E2B;
  --slate:#55606E;
  --line:#DCE1E3;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter', sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  margin:0;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  letter-spacing:-0.01em;
  color:var(--ink);
  line-height:1.15;
}

a{color:var(--signal); text-decoration:none;}
a:hover{color:var(--signal-dark);}

.mono{font-family:'IBM Plex Mono', monospace;}

.site-wrap{max-width:1120px; margin:0 auto; padding:0 32px;}

/* ===== HEADER ===== */
.site-header{
  border-bottom:1px solid var(--line);
  background:var(--paper);
  position:sticky;
  top:0;
  z-index:20;
}
.site-header .inner{
  display:flex; align-items:center; gap:28px;
  height:76px;
}
.site-logo{margin-right:auto;}
.site-logo{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  font-size:19px;
  color:var(--ink);
}
.site-logo span{color:var(--dial);}
.site-logo img{max-height:40px; width:auto;}

.primary-nav ul{
  list-style:none; display:flex; gap:30px; margin:0; padding:0;
}
.primary-nav a{
  font-size:14px; font-weight:500; color:var(--slate);
}
.primary-nav a:hover{color:var(--ink);}
.primary-nav ul ul{
  display:none; position:absolute; background:var(--card);
  border:1px solid var(--line); border-radius:6px; padding:8px 0;
  margin-top:12px; min-width:180px;
}
.primary-nav li{position:relative;}
.primary-nav li:hover > ul{display:block;}
.primary-nav ul ul li{padding:0 16px;}
.primary-nav ul ul a{display:block; padding:8px 0;}

.menu-toggle{
  display:none; background:none; border:1px solid var(--line);
  border-radius:4px; padding:8px 12px; cursor:pointer; font-size:14px;
}

.header-actions{display:flex; align-items:center; gap:18px;}
.header-phone{font-size:14px; color:var(--ink); font-weight:500;}
.header-phone:hover{color:var(--signal);}
.header-cta{padding:10px 18px; font-size:13.5px;}

.footer-social{display:flex; gap:16px;}
.footer-social a{color:var(--slate); font-weight:500;}
.footer-social a:hover{color:var(--ink);}

/* ===== BUTTONS ===== */
.btn{
  display:inline-block; padding:12px 22px; border-radius:4px;
  font-weight:600; font-size:14px; cursor:pointer; border:1px solid var(--signal);
  background:var(--signal); color:#fff;
}
.btn:hover{background:var(--signal-dark); color:#fff;}
.btn-ghost{background:transparent; border:1px solid var(--ink); color:var(--ink);}
.btn-ghost:hover{background:var(--ink); color:#fff;}

/* ===== CONTENT / SINGLE / PAGE ===== */
.content-wrap{
  max-width:760px; margin:0 auto; padding:64px 32px 96px;
}
.content-wrap h1.entry-title{font-size:38px; margin-bottom:20px;}
.content-wrap .entry-meta{
  font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--slate);
  text-transform:uppercase; letter-spacing:0.06em; margin-bottom:28px;
}
.content-wrap p{font-size:16.5px; margin-bottom:22px; color:#2A3547;}
.content-wrap h2{font-size:26px; margin:40px 0 16px;}
.content-wrap h3{font-size:20px; margin:32px 0 12px;}
.content-wrap img{max-width:100%; height:auto; border-radius:8px;}
.content-wrap blockquote{
  border-left:2px solid var(--dial); padding-left:20px; margin:28px 0;
  font-style:normal; color:var(--slate); font-size:17px;
}
.content-wrap a{text-decoration:underline; text-decoration-color:var(--line);}

/* Elementor pages: let Elementor own full width, don't constrain */
.elementor-page .content-wrap{max-width:none; padding:0;}

/* ===== ARCHIVE / BLOG LOOP ===== */
.post-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
  gap:28px; max-width:1120px; margin:0 auto; padding:64px 32px 96px;
}
.post-card{
  background:var(--card); border:1px solid var(--line); border-radius:10px;
  padding:26px; display:flex; flex-direction:column;
}
.post-card .cat{
  font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--signal);
  text-transform:uppercase; letter-spacing:0.06em; margin-bottom:12px;
}
.post-card h2{font-size:19px; margin-bottom:10px;}
.post-card h2 a{color:var(--ink);}
.post-card p{font-size:14.5px; color:var(--slate); flex-grow:1;}
.post-card .read-more{font-size:13.5px; font-weight:600; margin-top:14px;}

/* ===== 404 ===== */
.error-404{
  text-align:center; padding:120px 32px; max-width:600px; margin:0 auto;
}
.error-404 .code{
  font-family:'IBM Plex Mono', monospace; font-size:14px; color:var(--dial);
  margin-bottom:16px;
}
.error-404 h1{font-size:32px; margin-bottom:14px;}
.error-404 p{color:var(--slate); margin-bottom:28px;}

/* ===== FOOTER ===== */
.site-footer{
  border-top:1px solid var(--line); padding:48px 0 36px;
  font-size:13px; color:var(--slate);
}
.site-footer .footer-grid{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px;
  margin-bottom:28px;
}
.site-footer .footer-widgets{
  display:flex; gap:60px; flex-wrap:wrap;
}
.site-footer .footer-widgets h4{
  font-size:13px; color:var(--ink); margin-bottom:12px;
  font-family:'IBM Plex Mono', monospace; text-transform:uppercase; letter-spacing:0.05em;
}
.site-footer .footer-bottom{
  border-top:1px solid var(--line); padding-top:20px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
}

/* ===== RESPONSIVE ===== */
@media(max-width:860px){
  .primary-nav{display:none;}
  .menu-toggle{display:inline-block;}
  .content-wrap h1.entry-title{font-size:28px;}
  .post-grid{padding:48px 20px 64px;}
}
