/* =========================
   BASE RESET & GLOBALS
========================= */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
  background: #ffffff;
}

body {
  padding-top: 60px; /* adjust if your nav height is different */
}

a {
  color: #0b63ce;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

ul, ol {
  margin-left: 20px;
}

p {
  margin: 10px 0;
}

/* =========================
   LAYOUT HELPERS
========================= */

header,
main,
footer {
  width: 100%;
}

main {
  max-width: 1100px;
  margin: 0 auto;
  padding: 30px 20px;
}

section {
  margin-bottom: 40px;
}

/* =========================
   HEADERS (ALL PAGES)
========================= */

.homepage-header,
.service-header,
.trust-header,
.pricing-header,
.faq-header,
.contact-header,
.legal-header {
  background: #111;
  color: #fff;
  text-align: center;
  padding: 50px 20px;
}

header h1 {
  font-size: 32px;
  margin-bottom: 10px;
}

header p {
  font-size: 18px;
  color: #ddd;
}

/* =========================
   CTA BUTTONS
========================= */

.cta {
  margin-top: 25px;
}

.btn {
  display: inline-block;
  padding: 12px 20px;
  margin: 5px;
  border-radius: 4px;
  font-weight: bold;
  cursor: pointer;
}

.btn.primary {
  background: #0b63ce;
  color: #fff;
}

.btn.secondary {
  background: #e6e6e6;
  color: #222;
}

.btn.whatsapp {
  background: #197239;
  color: #fff;
}

.btn:hover {
  opacity: 0.9;
}

/* =========================
   SERVICE LIST (HOMEPAGE)
========================= */

.service-list {
  list-style: none;
  margin-top: 20px;
}

.service-list li {
  padding: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin-bottom: 15px;
}

.service-list h3 {
  margin-bottom: 5px;
  font-size: 20px;
}

/* =========================
   FOOTER
========================= */

footer.site-footer,
footer {
  width: 100%;
  background: #111;
  color: #ccc;
  text-align: center;
  padding: 25px 15px;
}

footer nav {
  max-width: 1100px;
  margin: 0 auto 10px auto;
  text-align: center;
}

footer nav a {
  display: inline-block;
  margin: 0 10px;
  color: #ccc;
}

footer p {
  margin: 0;
  text-align: center;
}

/* ==========================================================
   SMOOTH SCROLL
   ========================================================== */

html{
    scroll-behavior:smooth;
}

/* =========================
   TOP NAVIGATION
========================= */

/*
.top-nav {
  width: 100%;
  background: #ffffff;
  border-bottom: 1px solid #e0e0e0;
  position: sticky;
  top: 0;
  z-index: 2000;
}
*/

.top-nav {
  position: fixed;     /* changed from sticky */
  top: 0;
  left: 0;
  width: 100%;
  background: #ffffff;
  border-bottom: 1px solid #e0e0e0;
  z-index: 9999;
}

.nav-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  font-weight: bold;
  font-size: 18px;
  color: #111;
  text-decoration: none;
}

/* Links */
.nav-links {
  display: flex;
  align-items: center;
}

.nav-links a,
.dropdown-toggle {
  margin-left: 18px;
  color: #333;
  font-weight: 500;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 15px;
}

.nav-links a:hover,
.dropdown-toggle:hover {
  color: #0b63ce;
  text-decoration: none;
}

/* Hamburger */
.nav-toggle {
  display: none;
  font-size: 22px;
  background: none;
  border: none;
  cursor: pointer;
}

/* =========================
   DROPDOWN
========================= */

.nav-dropdown {
  position: relative;
}

.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  border: 1px solid #ddd;
  min-width: 240px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  z-index: 1000;
}

.dropdown-menu a {
  display: block;
  padding: 10px 14px;
  color: #222;
  white-space: nowrap;
}

.dropdown-menu a:hover {
  background: #f5f7fa;
}

/* Desktop hover */
@media (min-width: 769px) {
  .nav-dropdown:hover .dropdown-menu {
    display: block;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

  .nav-toggle {
    display: block;
  }

  .nav-links {
    display: none;
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    background: #ffffff;
    flex-direction: column;
    border-bottom: 1px solid #ddd;
  }

  .nav-links.active {
    display: flex;
  }

  .nav-links a,
  .dropdown-toggle {
    margin: 0;
    padding: 12px 20px;
    width: 100%;
    text-align: left;
  }

  .dropdown-menu {
    position: static;
    border: none;
    box-shadow: none;
  }

  .dropdown-menu.active {
    display: block;
  }
}

/* =========================
   HEADER OFFSET
========================= */

.homepage-header,
.service-header,
.trust-header,
.pricing-header,
.faq-header,
.contact-header,
.legal-header {
  margin-top: 30px;
}

/* =========================
   CONTACT / UPLOAD FORM
========================= */

.upload-form {
  max-width: 720px;
  margin-top: 25px;
}

.upload-form label {
  display: block;
  margin-top: 18px;
  margin-bottom: 6px;
  font-weight: 600;
}

.upload-form input[type="text"],
.upload-form input[type="email"],
.upload-form input[type="file"],
.upload-form textarea {
  display: block;
  width: 100%;
  padding: 10px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.upload-form textarea {
  resize: vertical;
}

.upload-form button {
  margin-top: 25px;
  padding: 12px 22px;
  font-size: 16px;
}

/* =========================
  ERROR MESSAGE TEXT COLOR
========================= */

.error {
  color: #d93025;      /* strong red, not ugly */
  font-weight: bold;
  display: block;
  margin-top: 4px;
  font-size: 0.9rem;
}

input:invalid {
  border-color: #d93025;
}

/* =========================
   PRICING PREVIEW (HOMEPAGE)
========================= */

.pricing-preview {
  border-top: 2px solid #e9e9e9;
}

.pricing-preview {
  background: #f9f9f9;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  padding: 40px 20px;
}

.pricing-preview h2 {
  margin-bottom: 10px;
}

.pricing-intro {
  max-width: 720px;
  margin: 0 0 20px 0;
  font-size: 17px;
  color: #333;
}

.pricing-box {
  max-width: 720px;
  margin: 0 0 25px 0;
  padding: 22px;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 6px;
}


.pricing-box ul {
  list-style: none;
  padding: 0;
  margin: 0 0 15px 0;
}

.pricing-box li {
  padding: 10px 0;
  font-size: 16px;
  border-bottom: 1px solid #eee;
}

.pricing-box li:last-child {
  border-bottom: none;
}

.pricing-example {
  margin-top: 15px;
  font-size: 15px;
  color: #222;
  background: #f5f7fa;
  padding: 12px;
  border-radius: 4px;
}

.pricing-note {
  margin-top: 12px;
  font-size: 14px;
  color: #555;
}

.pricing-cta {
  margin-top: 20px;
}

.pricing-link {
  margin-top: 15px;
  font-size: 14px;
}

/* =========================
  CLIENT TRUST (HOMEPAGE)
========================= */

.client-trust {
  max-width: 1100px;
  margin: 60px auto;
  padding: 0 20px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Arial, sans-serif;
}

.client-trust h2 {
  font-size: 1.6rem;
  margin-bottom: 24px;
  color: #111;
  text-align: center;
}

.client-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.client-block h3 {
  font-size: 1.1rem;
  margin-bottom: 10px;
  color: #222;
}

.client-block ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.client-block li {
  padding: 10px 0;
  border-bottom: 1px solid #eaeaea;
}

.client-block li strong {
  display: block;
  font-size: 0.95rem;
  color: #111;
}

.client-block li span {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #666;
}

/* Flag styling */
.flag {
  font-size: 0.9rem;      /* subtle, not loud */
  line-height: 1;
  opacity: 0.85;          /* reduces visual dominance */
}

/* Note */
.client-note {
  margin-top: 24px;
  font-size: 0.75rem;
  color: #666;
  line-height: 1.5;
  text-align: center;
}

/* Desktop layout */
@media (min-width: 768px) {
  .client-columns {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .client-trust h2 {
    font-size: 1.8rem;
  }

  .client-block h3 {
    font-size: 1.15rem;
  }
}

.meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #666;
}

/* Base flag */
.flag {
  width: 16px;
  height: 12px;
  display: inline-block;
  background-size: cover;
  background-position: center;
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.08);
}

/* USA */
.flag-us {
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 480'>\
<path fill='%23b22234' d='M0 0h640v480H0z'/>\
<path fill='%23fff' d='M0 55h640v37H0zm0 74h640v37H0zm0 74h640v37H0zm0 74h640v37H0zm0 74h640v37H0zm0 74h640v37H0'/>\
<path fill='%23003f87' d='M0 0h280v222H0z'/>\
</svg>");
}

/* Australia */
.flag-au {
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 480'>\
<rect width='640' height='480' fill='%23002B7F'/>\
<!-- Union Jack -->\
<rect width='320' height='240' fill='%23012169'/>\
<path d='M0 0 L320 240 M320 0 L0 240' stroke='%23fff' stroke-width='40'/>\
<path d='M0 0 L320 240 M320 0 L0 240' stroke='%23C8102E' stroke-width='20'/>\
<rect x='140' width='40' height='240' fill='%23fff'/>\
<rect y='100' width='320' height='40' fill='%23fff'/>\
<rect x='150' width='20' height='240' fill='%23C8102E'/>\
<rect y='110' width='320' height='20' fill='%23C8102E'/>\
<!-- Commonwealth Star -->\
<circle cx='480' cy='300' r='28' fill='%23fff'/>\
</svg>");
}


/* Canada */
.flag-ca {
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 480'>\
<path fill='%23fff' d='M0 0h640v480H0z'/>\
<path fill='%23d52b1e' d='M0 0h160v480H0zm480 0h160v480H480z'/>\
</svg>");
}

/* =========================
  WORLD WIDE SERVICE (HOMEPAGE)
========================= */

.service-scope {
  text-align: center;
  font-size: 0.9rem;
  color: #444;
  margin: 32px 0 12px;
  letter-spacing: 0.2px;
}

.service-scope strong {
  color: #111;
  font-weight: 600;
}

/* Slightly tighter on mobile */
@media (max-width: 480px) {
  .service-scope {
    font-size: 0.85rem;
    margin: 24px 0 10px;
  }
}

/* =========================
  SOFT CTA (HOMEPAGE)
========================= */
.pricing-soft-cta {
  margin-top: 20px;
  font-size: 0.95rem;
  color: #444;
  text-align: center;
}

.pricing-soft-cta a {
  font-weight: 600;
  text-decoration: underline;
}

.pricing-links {
  margin-top: 14px;
  font-size: 0.95rem;
  color: #444;
}

.pricing-links a {
  font-weight: 600;
  text-decoration: underline;
}



@media (max-width: 768px) {
  .nav-links.active {
    display: flex !important;
  }
}

.nav-toggle {
  position: relative;
  z-index: 3000;
  pointer-events: auto;
  touch-action: manipulation;
}

/* === FIX: Samsung Chrome header stealing nav taps === */

/* 
.top-nav {
  position: relative;
  z-index: 9999;
}
*/
.service-header {
  position: relative;
  z-index: 1;
}

/* Critical: prevent header overlay from blocking taps */
.service-header::before,
.service-header::after {
  pointer-events: none;
}

/* 
.top-nav {
  isolation: isolate;
}
*/
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px}
.testimonial-card{border:1px solid #ddd;padding:18px;border-radius:6px;background:#fff}
.testimonial-card .stars{color:#f5a623;font-size:18px}
.testimonial-form{max-width:600px;margin-top:50px}
.testimonial-form label{display:block;margin-top:15px;font-weight:600}
.testimonial-form input,.testimonial-form textarea,.testimonial-form select{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px}

/* =========================
   BLOG LAYOUT
========================= */

.blog-header {
  background: #111;
  color: #fff;
  text-align: center;
  padding: 50px 20px;
  margin-top: 30px;
}

.blog-container {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  max-width: 1100px;
  margin: 40px auto;
  padding: 0 20px;
}

.blog-content article {
  margin-bottom: 40px;
  padding-bottom: 25px;
  border-bottom: 1px solid #e5e5e5;
}

.blog-content h2 {
  margin-bottom: 8px;
  font-size: 22px;
}

.blog-meta {
  font-size: 14px;
  color: #777;
  margin-bottom: 12px;
}

.blog-sidebar {
  border-left: 1px solid #e5e5e5;
  padding-left: 25px;
}

.blog-sidebar h3 {
  margin-bottom: 12px;
  font-size: 18px;
}

.blog-sidebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.blog-sidebar li {
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .blog-container {
    grid-template-columns: 1fr;
  }

  .blog-sidebar {
    border-left: none;
    padding-left: 0;
    margin-top: 30px;
  }
}

/* ==========================================================
   DTS CORNERSTONE ARTICLE ENHANCEMENTS v1.0
   Add below the existing stylesheet
   ========================================================== */

/* ---------- Breadcrumb ---------- */

.breadcrumb{
    max-width:1100px;
    margin:25px auto 10px;
    padding:0 20px;
    font-size:14px;
    color:#666;
}

.breadcrumb a{
    color:#0b63ce;
    text-decoration:none;
}

.breadcrumb span{
    margin:0 6px;
}

/* ---------- Article Meta ---------- */

.article-meta{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin:20px 0 30px;
    font-size:14px;
    color:#666;
}

.article-meta div{
    display:flex;
    align-items:center;
    gap:6px;
}

/* ---------- Hero Image ---------- */

.hero-image{
    margin:30px 0 40px;
}

.hero-image img{
    width:100%;
    height:auto;
    border-radius:8px;
    display:block;
}

.hero-image figcaption{
    text-align:center;
    font-size:14px;
    color:#666;
    margin-top:10px;
}

/* ---------- Table of Contents ---------- */

.toc-box{
    background:#f7f9fc;
    border:1px solid #dbe5f1;
    border-radius:8px;
    padding:22px;
    margin:40px 0;
}

.toc-box h2{
    margin:0 0 15px;
    font-size:22px;
}

.toc-box ul{
    list-style:none;
    margin:0;
    padding:0;
}

.toc-box li{
    margin:10px 0;
}

.toc-box a{
    text-decoration:none;
}

.toc-box a:hover{
    text-decoration:underline;
}

/* ---------- Callout ---------- */

.callout{
    background:#eef6ff;
    border-left:5px solid #0b63ce;
    padding:18px 20px;
    margin:30px 0;
    border-radius:6px;
}

.callout h3{
    margin-top:0;
    margin-bottom:10px;
}

/* ---------- Summary Box ---------- */

.summary-box{
    background:#fafafa;
    border:1px solid #ddd;
    border-radius:6px;
    padding:20px;
    margin:35px 0;
}

.summary-box h3{
    margin-top:0;
}

/* ---------- Comparison Table ---------- */

.comparison-table{
    width:100%;
    border-collapse:collapse;
    margin:30px 0;
}

.comparison-table th{
    background:#111;
    color:#fff;
    padding:12px;
    text-align:left;
}

.comparison-table td{
    border:1px solid #ddd;
    padding:12px;
    vertical-align:top;
}

.comparison-table tr:nth-child(even){
    background:#fafafa;
}

/* ---------- Images ---------- */

.article-image{
    margin:40px 0;
}

.article-image img{
    width:100%;
    height:auto;
    display:block;
    border-radius:8px;
}

.article-image figcaption{
    text-align:center;
    font-size:14px;
    color:#666;
    margin-top:8px;
}

/* ---------- Quick Facts ---------- */

.quick-facts{
    background:#f7f7f7;
    border:1px solid #ddd;
    border-radius:8px;
    padding:22px;
    margin:35px 0;
}

.quick-facts ul{
    margin-top:12px;
}

/* ---------- FAQ ---------- */

.faq-item{
    border-bottom:1px solid #e5e5e5;
    padding:20px 0;
}

.faq-item:last-child{
    border-bottom:none;
}

.faq-item h3{
    margin-bottom:10px;
}

/* ---------- CTA ---------- */

.cta-panel{
    background:#111;
    color:#fff;
    padding:35px;
    margin:50px 0;
    border-radius:8px;
    text-align:center;
}

.cta-panel h2{
    color:#fff;
    margin-bottom:15px;
}

.cta-panel p{
    color:#ddd;
}

.cta-panel .btn{
    margin-top:20px;
}

/* ---------- Related Reading ---------- */

.related-reading{
    background:#fafafa;
    border:1px solid #ddd;
    border-radius:6px;
    padding:20px;
    margin:35px 0;
}

.related-reading h3{
    margin-top:0;
}

.related-reading ul{
    margin-top:12px;
}

/* ---------- Article Navigation ---------- */

.article-navigation{
    display:flex;
    justify-content:space-between;
    gap:20px;
    margin:60px 0;
}

.article-navigation a{
    flex:1;
    border:1px solid #ddd;
    padding:18px;
    border-radius:6px;
    text-decoration:none;
}

.article-navigation a:hover{
    background:#f5f7fa;
}

/* ---------- Responsive ---------- */

@media (max-width:768px){

.article-meta{
    display:block;
}

.article-meta div{
    margin-bottom:8px;
}

.article-navigation{
    display:block;
}

.article-navigation a{
    display:block;
    margin-bottom:15px;
}

.toc-box{
    padding:18px;
}

.callout,
.summary-box,
.quick-facts,
.related-reading,
.cta-panel{
    padding:18px;
}

}