/* SolaceAir Canada — styles.css */
:root{
  --red:#C8102E;
  --purple:#4B2E83;
  --purple-dark:#382163;
  --ink:#262229;
  --ink-soft:#5b5560;
  --bg:#ffffff;
  --bg-soft:#F6F3FA;
  --bg-tint:#FBF8FF;
  --line:#E3DCEF;
  --gold:#E0A500;
  --white:#fff;
  --radius:10px;
  --maxw:1180px;
  --shadow:0 6px 24px rgba(75,46,131,0.10);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.65;
  font-size:17px;
}
h1,h2,h3,h4{
  font-family:'Poppins',Inter,sans-serif;
  color:var(--purple-dark);
  line-height:1.25;
  margin:0 0 .5em;
}
h1{font-size:clamp(1.9rem,4vw,2.7rem); font-weight:700;}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem); font-weight:600;}
h3{font-size:1.2rem; font-weight:600; color:var(--purple);}
p{margin:0 0 1em;}
a{color:var(--purple); text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%; display:block;}
ul{padding-left:1.3em;}
li{margin-bottom:.4em;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.visually-hidden{position:absolute; left:-9999px;}

/* Skip link */
.skip-link{position:absolute; left:-9999px; top:0; background:var(--purple); color:#fff; padding:8px 14px; z-index:200;}
.skip-link:focus{left:8px; top:8px;}

/* ---------- Top utility bar: red line + purple Canada strip ---------- */
.topbar-red{height:6px; background:var(--red); width:100%;}
.topbar-ca{
  background:var(--purple);
  color:#fff;
}
.topbar-ca .container{
  display:flex; align-items:center; justify-content:center;
  gap:10px; padding:8px 24px; flex-wrap:wrap; font-size:.92rem;
}
.topbar-ca .flag{font-size:1.05rem; line-height:1;}
.topbar-ca .ca-text{font-weight:600; letter-spacing:.2px;}
.topbar-ca .ca-learn{
  color:#fff; text-decoration:underline; font-weight:500; margin-left:4px;
}
.topbar-ca .ca-learn:hover{color:var(--gold);}

/* ---------- Header / nav ---------- */
header.site-header{
  border-bottom:1px solid var(--line);
  position:sticky; top:0; background:#fff; z-index:100;
}
.header-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px; max-width:var(--maxw); margin:0 auto; gap:24px;
}
.logo img{height:42px;}
.logo{display:flex; align-items:center; gap:8px;}
nav.main-nav{display:flex; align-items:center; gap:6px;}
nav.main-nav ul{display:flex; list-style:none; margin:0; padding:0; gap:4px;}
nav.main-nav>ul>li{position:relative;}
nav.main-nav>ul>li>a{
  display:block; padding:10px 14px; font-weight:600; color:var(--ink);
  border-radius:8px; font-size:.97rem;
}
nav.main-nav>ul>li>a:hover, nav.main-nav>ul>li.active>a{
  background:var(--bg-soft); color:var(--purple); text-decoration:none;
}
.dropdown{
  position:absolute; left:0; top:100%; min-width:240px;
  background:#fff; border:1px solid var(--line); border-radius:10px;
  box-shadow:var(--shadow); padding:8px; list-style:none; margin:6px 0 0;
}
nav.main-nav ul.dropdown{display:none;}
nav.main-nav>ul>li:hover ul.dropdown,
nav.main-nav>ul>li:focus-within ul.dropdown{display:block;}
.dropdown li a{display:block; padding:9px 12px; border-radius:6px; color:var(--ink); font-weight:500; font-size:.93rem;}
.dropdown li a:hover{background:var(--bg-soft); text-decoration:none; color:var(--purple);}
.btn-dealer{
  background:var(--red); color:#fff; padding:10px 18px; border-radius:8px;
  font-weight:700; font-size:.92rem; white-space:nowrap; border:none; cursor:pointer;
}
.btn-dealer:hover{background:#a50d24; text-decoration:none; color:#fff;}
.nav-toggle{display:none; background:none; border:none; font-size:1.6rem; color:var(--purple);}

@media (max-width: 880px){
  nav.main-nav{display:none; width:100%; order:3;}
  nav.main-nav.open{display:block;}
  nav.main-nav ul{flex-direction:column; width:100%;}
  .dropdown{position:static; box-shadow:none; border:none; padding-left:14px;}
  nav.main-nav ul.dropdown{display:none; list-style:disc; padding-left:20px;}
  nav.main-nav ul.dropdown li{list-style:disc;}
  nav.main-nav>ul>li.open ul.dropdown{display:block;}
  .header-row{flex-wrap:wrap;}
  .nav-toggle{display:block;}
  .btn-dealer{order:2;}
}

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(135deg,var(--bg-tint) 0%, var(--bg-soft) 60%, #fff 100%);
  padding:56px 0 48px;
}
.hero .container{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;}
.hero h1{margin-bottom:.6em;}
.hero p.lede{font-size:1.1rem; color:var(--ink-soft); max-width:560px;}
.hero img{border-radius:var(--radius); box-shadow:var(--shadow);}
@media (max-width:800px){ .hero .container{grid-template-columns:1fr;} }

.eyebrow{
  display:inline-block; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  font-size:.78rem; color:var(--red); margin-bottom:.6em;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block; padding:12px 22px; border-radius:8px; font-weight:700;
  font-size:.96rem; border:2px solid transparent; cursor:pointer;
}
.btn-primary{background:var(--purple); color:#fff;}
.btn-primary:hover{background:var(--purple-dark); text-decoration:none; color:#fff;}
.btn-outline{background:transparent; border-color:var(--purple); color:var(--purple);}
.btn-outline:hover{background:var(--bg-soft); text-decoration:none;}
.btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:1.3em;}

/* ---------- Sections / cards ---------- */
section{padding:52px 0;}
section.tint{background:var(--bg-tint);}
section.soft{background:var(--bg-soft);}
.section-head{max-width:720px; margin:0 0 32px;}
.section-head.center{margin:0 auto 36px; text-align:center;}

.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
@media (max-width:980px){ .grid-4{grid-template-columns:repeat(2,1fr);} .grid-3{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .grid-4,.grid-3,.grid-2{grid-template-columns:1fr;} }

.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:24px; box-shadow:0 2px 10px rgba(75,46,131,0.05);
}
.card img.icon{height:48px; width:auto; margin-bottom:14px;}
.card h3{margin-bottom:.4em;}
.card a.card-link{font-weight:700; display:inline-block; margin-top:10px;}

.feature-list{list-style:none; padding:0; margin:0;}
.feature-list li{
  padding:14px 0; border-bottom:1px solid var(--line);
}
.feature-list li:last-child{border-bottom:none;}
.feature-list strong{color:var(--purple-dark);}

.two-col{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
@media (max-width:800px){.two-col{grid-template-columns:1fr;}}

.callout{
  background:var(--purple); color:#fff; border-radius:var(--radius);
  padding:36px; text-align:center;
}
.callout h2{color:#fff;}
.callout p{color:#e8e0f5;}
.callout .btn-primary{background:#fff; color:var(--purple);}
.callout .btn-primary:hover{background:var(--gold); color:#fff;}

.spec-link{
  display:inline-flex; align-items:center; gap:10px; padding:12px 18px;
  border:1px solid var(--line); border-radius:8px; font-weight:700; margin-top:8px;
}
.spec-link:hover{background:var(--bg-soft); text-decoration:none;}

table.compare{width:100%; border-collapse:collapse; margin:1em 0;}
table.compare th, table.compare td{border:1px solid var(--line); padding:10px 12px; text-align:left; font-size:.95rem;}
table.compare th{background:var(--bg-soft); color:var(--purple-dark);}

.faq details{border-bottom:1px solid var(--line); padding:14px 0;}
.faq summary{font-weight:700; cursor:pointer; color:var(--purple-dark); font-size:1.02rem;}
.faq p{margin-top:10px;}

.breadcrumb{font-size:.85rem; color:var(--ink-soft); margin-bottom:18px;}
.breadcrumb a{color:var(--ink-soft);}
.breadcrumb a:hover{color:var(--purple);}

.caption{font-size:.85rem; color:var(--ink-soft); text-align:center; margin-top:6px;}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--ink); color:#cfc7da; padding:48px 0 24px; margin-top:40px;}
footer.site-footer .container{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:30px;}
footer.site-footer h4{color:#fff; font-size:1rem; margin-bottom:14px;}
footer.site-footer a{color:#cfc7da;}
footer.site-footer a:hover{color:#fff;}
footer.site-footer ul{list-style:none; padding:0; margin:0;}
footer.site-footer li{margin-bottom:8px;}
.footer-bottom{
  max-width:var(--maxw); margin:30px auto 0; padding:18px 24px 0; border-top:1px solid #3a3540;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.85rem;
}
@media (max-width:800px){ footer.site-footer .container{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ footer.site-footer .container{grid-template-columns:1fr;} }

.disclaimer{font-size:.78rem; color:var(--ink-soft); background:var(--bg-soft); padding:14px 18px; border-radius:8px; margin-top:30px;}

/* ---------- Association memberships ---------- */
.assoc-intro{max-width:720px; margin:0 auto 32px; text-align:center; font-size:1.05rem; color:var(--ink-soft);}
.assoc-grid{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:22px;
}
.assoc-item{
  display:flex; align-items:center; justify-content:center;
  width:160px; height:100px; padding:14px;
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  box-shadow:0 2px 10px rgba(75,46,131,0.05);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.assoc-item:hover{
  text-decoration:none; border-color:var(--purple); transform:translateY(-3px);
  box-shadow:var(--shadow);
}
.assoc-item img{
  max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;
}

/* ---------- Form toggle ---------- */
.form-toggle-btns{display:flex; gap:12px; flex-wrap:wrap; margin-top:1.2em;}
.form-toggle-btn{min-width:160px;}
.form-toggle-btn.active{background:var(--purple); color:#fff; border-color:var(--purple);}

/* ---------- Glossary page (iaq-glossary.php) ---------- */
.glossary-toc{
background:#fff; border:1px solid var(--line); border-radius:var(--radius);
padding:20px 24px; margin-top:1.2em;
}
.toc-links{display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0;}
.toc-links a{
display:inline-block; padding:8px 16px; background:var(--bg-soft);
border:1px solid var(--line); border-radius:20px; font-weight:600; font-size:.92rem;
}
.toc-links a:hover{background:var(--purple); color:#fff; text-decoration:none; border-color:var(--purple);}

.glossary-list{list-style:disc; padding-left:1.3em; margin:0;}
.glossary-list li{margin-bottom:16px; line-height:1.65; font-size:.98rem; padding-left:.3em;}
.glossary-list li::marker{color:var(--purple);}
.glossary-list li strong{color:var(--purple-dark);}
