/* Neutralize Elementor chrome so section layouts match nano_web */

.elementor-section-wrap,
.elementor,
.elementor-element.e-con,
.elementor-element.e-con-full,
.e-con > .e-con-inner {
  --padding-top: 0px !important;
  --padding-right: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --gap: 0px !important;
  /* Elementor default widget gap (often 20px) — kills flush section stacking vs source */
  --widgets-spacing: 0px !important;
  --widgets-spacing-row: 0px !important;
  --widgets-spacing-column: 0px !important;
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
  max-width: none !important;
}

.elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}

.elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor .elementor-element.e-con.e-parent {
  --container-widget-width: 100%;
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
}

body.nano-vpn .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: none;
}

/* Theme shell should not fight source layout */
body.nano-vpn {
  margin: 0;
  background: #fff;
  color: #171717;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
}

body.nano-vpn .nano-site,
body.nano-vpn .nano-main {
  width: 100%;
}

/* Lucide-like SVG defaults when using plugin icons */
.nano-lucide,
svg.lucide {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

/*
 * Elementor forces `.elementor img { height: auto }` which beats Tailwind size
 * utilities (e.g. logo `.h-8`). Restore utility-driven sizing.
 * Also avoid a higher-specificity `max-width: 100%` that beats `.max-w-*`.
 */
body.nano-vpn .elementor img {
  height: unset;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

body.nano-vpn .elementor img:not([class*="max-w-"]) {
  max-width: 100%;
}

body.nano-vpn .elementor img.max-w-xs { max-width: 20rem !important; }
body.nano-vpn .elementor img.max-w-sm { max-width: 24rem !important; }
body.nano-vpn .elementor img.max-w-md { max-width: 28rem !important; }
body.nano-vpn .elementor img.max-w-lg { max-width: 32rem !important; }
body.nano-vpn .elementor img.max-w-xl { max-width: 36rem !important; }
body.nano-vpn .elementor img.max-w-2xl { max-width: 42rem !important; }
body.nano-vpn .elementor img.max-w-3xl { max-width: 48rem !important; }
body.nano-vpn .elementor img.max-w-4xl { max-width: 56rem !important; }
body.nano-vpn .elementor img.max-w-5xl { max-width: 64rem !important; }
body.nano-vpn .elementor img.max-w-6xl { max-width: 72rem !important; }
body.nano-vpn .elementor img.max-w-7xl { max-width: 80rem !important; }
body.nano-vpn .elementor img.max-w-full { max-width: 100% !important; }
body.nano-vpn .elementor img.max-w-none { max-width: none !important; }

body.nano-vpn .elementor img.h-8,
body.nano-vpn header img.h-8,
body.nano-vpn footer img.h-8 {
  height: 2rem !important;
  width: auto !important;
  max-height: 2rem;
}

body.nano-vpn .elementor img.h-4 {
  height: 1rem !important;
  width: auto !important;
}

body.nano-vpn .elementor img.h-5 {
  height: 1.25rem !important;
  width: auto !important;
}

body.nano-vpn .elementor img.h-6 {
  height: 1.5rem !important;
  width: auto !important;
}

body.nano-vpn .elementor img.h-auto {
  height: auto !important;
}

/* Solid purple CTAs only — do NOT use [class*="bg-[#6D22FF]"] (matches hover:bg too). */
body.nano-vpn a.bg-\[\#6D22FF\] {
  color: #fff !important;
}

body.nano-vpn a.bg-white.text-\[\#6D22FF\] {
  color: #6d22ff !important;
}

/* Outline purple CTAs — default purple text, white on hover fill */
body.nano-vpn a.border-\[\#6D22FF\].text-\[\#6D22FF\] {
  color: #6d22ff !important;
}

body.nano-vpn a.border-\[\#6D22FF\].text-\[\#6D22FF\]:hover {
  color: #fff !important;
}

/* Blog single article body — match BlogSingle.tsx even if utility variants are purged */
body.nano-vpn .nano-blog-prose > p.text-xl,
body.nano-vpn .nano-blog-prose > p.nano-lead {
  font-size: 1.25rem;
  line-height: 1.75rem;
  color: #374151;
  margin-bottom: 2rem;
}

body.nano-vpn .nano-blog-prose > h2 {
  font-size: 36px;
  font-weight: 700;
  margin-top: 3rem;
  margin-bottom: 1rem;
  color: #171717;
  scroll-margin-top: 7rem;
}

body.nano-vpn .nano-blog-prose > h3 {
  font-size: 22px;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  color: #171717;
}

body.nano-vpn .nano-blog-prose > p {
  color: #374151;
  margin-bottom: 1.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

body.nano-vpn .nano-blog-prose > p.text-xl {
  font-size: 1.25rem;
}

body.nano-vpn .nano-blog-prose > ul {
  list-style: disc;
  padding-left: 1.5rem;
  color: #374151;
  margin-bottom: 1.5rem;
}

body.nano-vpn .nano-blog-prose > ul > li {
  margin-bottom: 0.5rem;
}

