.elementor-3 .elementor-element.elementor-element-6453a3c5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-20d1322f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-6e520285 .elementor-heading-title{font-family:"Manrope", Inter;}.elementor-3 .elementor-element.elementor-element-4004dd1{font-family:"Source Sans 3", Inter;}.elementor-3 .elementor-element.elementor-element-32e59ae3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-3d7d71c3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-61fefb96{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3 .elementor-element.elementor-element-3157feea{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS *//* ════════════════════════════════════════════════════════════════
   Agilys NXT — Privacy Policy page · companion CSS
   Pairs with: agilys-privacy-elementor-template.json
   Place in: Page → Edit with Elementor → Page Settings → Advanced → Custom CSS
   (REPLACE any existing page CSS). Header/footer are styled separately.
   Fonts: Manrope + Source Sans 3 load through the widgets' own typography
   settings — no @import (Elementor ignores an @import in Custom CSS).
   ════════════════════════════════════════════════════════════════ */

/* ── 1. Tokens ─────────────────────────────────────────────────── */
:root {
  --agx-pp-navy-950: #071523; --agx-pp-navy-900: #0b1f33; --agx-pp-navy-800: #12304b;
  --agx-pp-ink: #132331; --agx-pp-slate: #526574; --agx-pp-mist: #eef3f5; --agx-pp-paper: #f8fafb;
  --agx-pp-white: #ffffff; --agx-pp-rule: #d7e0e5; --agx-pp-accent: #ff6a13;
  --agx-pp-dt-strong: #d9e2e8; --agx-pp-dt-body: #c5d1da; --agx-pp-dt-muted: #9fb2bf; --agx-pp-dt-quiet: #8195a4;
  --agx-pp-display: "Manrope", Arial, sans-serif;
  --agx-pp-body: "Source Sans 3", Arial, sans-serif;
  --agx-pp-max: 1180px;
  --agx-pp-gutter: 24px;
  --agx-pp-hero-top: 80px; --agx-pp-hero-bottom: 72px;
  --agx-pp-body-top: 72px; --agx-pp-body-bottom: 96px;
  --agx-pp-sticky-top: 104px;  /* site header height + breathing room; lower to 24px if the header does not stick */
}

/* ── 2. Normalisation ─────────────────────────────────────────────
   a) Neutralise Elementor's spacing VARIABLES (not the properties). */
.e-con:is(.agx-pp-hero, .agx-pp-body),
:is(.agx-pp-hero, .agx-pp-body) .e-con {
  --gap: 0px !important; --row-gap: 0px !important; --column-gap: 0px !important;
  --widgets-spacing: 0px !important; --widgets-spacing-row: 0px !important; --widgets-spacing-column: 0px !important;
  --padding-top: 0px !important; --padding-right: 0px !important; --padding-bottom: 0px !important; --padding-left: 0px !important;
  --padding-block-start: 0px !important; --padding-block-end: 0px !important;
  --padding-inline-start: 0px !important; --padding-inline-end: 0px !important;
}
:where(.agx-pp-hero, .agx-pp-body) .e-con { gap: 0; }

/* b) Widget reset at (0,4,0); spacing is re-added per widget below */
.elementor .e-con > .elementor-widget:is([class*="agx-pp-"]) { margin: 0; max-width: none; }

/* c) Paragraph + list resets inside our widgets */
.elementor .e-con:is(.agx-pp-hero, .agx-pp-body) .elementor-widget-text-editor p { margin: 0; }
/*    HTML widgets: every p/h2/h3/ul/ol margin is set explicitly in section 7 (a blanket reset here would outrank those). */

/* d) Base text + typography lock */
.elementor .e-con:is(.agx-pp-hero, .agx-pp-body) {
  font-family: var(--agx-pp-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--agx-pp-ink);
  -webkit-font-smoothing: antialiased;
}
.elementor .e-con:is(.agx-pp-hero, .agx-pp-body) .elementor-widget-text-editor p {
  font-family: var(--agx-pp-body) !important; font-weight: 400 !important;
}
.elementor .e-con:is(.agx-pp-hero, .agx-pp-body) .elementor-heading-title { margin: 0; text-transform: none; }

/* ── 3. Sections: backgrounds + padding (CSS owns padding) ────────── */
.e-con.agx-pp-hero { position: relative; overflow: clip; background: var(--agx-pp-navy-950); padding: var(--agx-pp-hero-top) 0 var(--agx-pp-hero-bottom) !important; }
.e-con.agx-pp-body { background: var(--agx-pp-paper); padding: var(--agx-pp-body-top) 0 var(--agx-pp-body-bottom) !important; }

.e-con.agx-pp-hero::after {
  content: ""; position: absolute; inset: 0; width: auto; height: auto; pointer-events: none; z-index: 0; opacity: .14;
  background-image: linear-gradient(rgba(255,255,255,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.14) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 90%); mask-image: linear-gradient(to bottom, #000, transparent 90%);
}

/* ── 4. Inner wrappers + grid ──────────────────────────────────── */
.e-con:is(.agx-pp-hero-inner, .agx-pp-body-inner) {
  width: min(var(--agx-pp-max), calc(100% - 2 * var(--agx-pp-gutter))); max-width: var(--agx-pp-max); margin-inline: auto;
  position: relative; z-index: 1; text-align: left;
}
.e-con.agx-pp-body-inner { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 72px; align-items: start; }
.e-con.agx-pp-body-inner > .e-con { width: auto; min-width: 0; }
.e-con.agx-pp-toc-col {
  position: sticky; top: var(--agx-pp-sticky-top); align-self: start;
  max-height: calc(100vh - var(--agx-pp-sticky-top) - 24px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
  padding-right: 8px !important;
}
.e-con.agx-pp-article { max-width: 760px; }

/* ── 5. Widget spacing — (0,4,0) beats Elementor's (0,2,0) margin rule ── */
.elementor .e-con > .elementor-widget.agx-pp-crumb-widget { margin-bottom: 24px; }
.elementor .e-con > .elementor-widget.agx-pp-h1           { margin-bottom: 20px; }
.elementor .e-con > .elementor-widget.agx-pp-hero-lede    { max-width: 680px; }
.elementor .e-con > .elementor-widget.agx-pp-meta-widget  { margin-top: 28px; }
.elementor .e-con > .elementor-widget.agx-pp-short-widget { margin-bottom: 56px; }
.elementor .e-con > .elementor-widget.agx-pp-sec-widget   { width: 100%; }

/* ── 6. Hero typography ────────────────────────────────────────── */
.elementor .e-con .agx-pp-h1 .elementor-heading-title {
  font: 700 clamp(2.8rem, 5.2vw, 4.6rem)/1 var(--agx-pp-display) !important; letter-spacing: -.06em; color: #fff !important;
}
.elementor .e-con .agx-pp-hero-lede p { font-size: 19px !important; line-height: 1.6 !important; color: var(--agx-pp-dt-body) !important; }

/* ── 7. Components ─────────────────────────────────────────────── */

/* 7.1 Breadcrumb */
.agx-pp-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font: 600 14px/1.3 var(--agx-pp-display); color: var(--agx-pp-dt-quiet); }
.elementor .e-con .agx-pp-crumb a {
  display: inline-flex; align-items: center; min-height: 44px; text-decoration: none !important;
  font: 600 14px/1.3 var(--agx-pp-display) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--agx-pp-dt-strong) !important;
}
.elementor .e-con .agx-pp-crumb a:hover { color: #fff !important; }
.agx-pp-crumb i { width: 5px; height: 5px; border-radius: 50%; background: var(--agx-pp-accent); }
.agx-pp-crumb b { padding: 7px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-weight: 650; color: rgba(255,255,255,.85); }

/* 7.2 Meta pills */
.agx-pp-meta { display: flex; flex-wrap: wrap; gap: 10px; }
.agx-pp-meta span { padding: 9px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font: 600 13px/1.2 var(--agx-pp-display); color: var(--agx-pp-dt-strong); }
.agx-pp-meta span b { color: #fff; font-weight: 700; }

/* 7.3 Table of contents */
.elementor .e-con .agx-pp-toc h2 {
  display: flex; align-items: center; gap: 10px; margin: 0 0 14px;
  font: 700 12px/1.2 var(--agx-pp-display) !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--agx-pp-slate) !important;
}
.agx-pp-toc h2::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--agx-pp-accent); }
.elementor .e-con .agx-pp-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--agx-pp-rule); counter-reset: agxtoc; }
.agx-pp-toc li { counter-increment: agxtoc; margin: 0; }
.elementor .e-con .agx-pp-toc a {
  display: grid; grid-template-columns: 28px 1fr; align-items: baseline; min-height: 44px;
  padding: 11px 0 11px 16px; margin-left: -1px; border-left: 2px solid transparent; text-decoration: none !important;
  font: 600 14px/1.35 var(--agx-pp-display) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--agx-pp-slate) !important;
}
.agx-pp-toc a::before { content: counter(agxtoc, decimal-leading-zero); font-size: 12px; color: #8a9aa6; }
.elementor .e-con .agx-pp-toc a:hover { color: var(--agx-pp-navy-900) !important; border-left-color: var(--agx-pp-accent); }
/* Active item — set by the scroll script in the contents widget */
.elementor .e-con .agx-pp-toc a.is-active { color: var(--agx-pp-navy-900) !important; border-left-color: var(--agx-pp-accent); font-weight: 700 !important; }
.elementor .e-con .agx-pp-toc a.is-active::before { color: var(--agx-pp-accent); }
/* Mouse/trackpad desktops: tighter rows so the whole list fits a laptop screen */
@media (min-width: 981px) and (pointer: fine) {
  .elementor .e-con .agx-pp-toc a { min-height: 34px; padding-top: 6px; padding-bottom: 6px; }
}

/* 7.4 The short version */
.agx-pp-short { padding: 28px 30px; border-radius: 14px; background: var(--agx-pp-navy-900); color: #fff; box-shadow: inset 4px 0 0 var(--agx-pp-accent); }
.elementor .e-con .agx-pp-short h2 { margin: 0 0 16px; font: 700 22px/1.2 var(--agx-pp-display) !important; letter-spacing: -.025em; text-transform: none; color: #fff !important; }
.elementor .e-con .agx-pp-short ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.elementor .e-con .agx-pp-short li { position: relative; margin: 0; padding-left: 22px; font: 400 16px/1.55 var(--agx-pp-body) !important; color: var(--agx-pp-dt-strong) !important; }
.agx-pp-short li::before { content: ""; position: absolute; left: 0; top: .6em; width: 8px; height: 8px; border-radius: 50%; background: var(--agx-pp-accent); }
.elementor .e-con .agx-pp-short strong { color: #fff !important; font-weight: 600; }

/* 7.5 Policy sections */
.agx-pp-sec { padding: 40px 0; border-top: 1px solid var(--agx-pp-rule); scroll-margin-top: calc(var(--agx-pp-sticky-top) + 8px); }
.elementor .e-con .agx-pp-short-widget + .agx-pp-sec-widget .agx-pp-sec { border-top: 0; padding-top: 0; }
.elementor .e-con .agx-pp-sec h2 {
  display: flex; align-items: baseline; gap: 14px; margin: 0 0 18px;
  font: 700 clamp(1.5rem, 2.4vw, 1.9rem)/1.2 var(--agx-pp-display) !important; letter-spacing: -.035em; text-transform: none !important; color: var(--agx-pp-navy-900) !important;
}
.elementor .e-con .agx-pp-sec h2 span { flex: 0 0 auto; font: 700 14px/1 var(--agx-pp-display) !important; letter-spacing: 0; color: var(--agx-pp-accent) !important; }
.elementor .e-con .agx-pp-sec h3 {
  margin: 26px 0 10px; font: 700 17px/1.3 var(--agx-pp-display) !important; letter-spacing: -.015em; text-transform: none !important; color: var(--agx-pp-navy-900) !important;
}
.elementor .e-con .agx-pp-sec p { margin: 0; font: 400 17px/1.65 var(--agx-pp-body) !important; color: var(--agx-pp-slate) !important; }
.elementor .e-con .agx-pp-sec :is(p + p, p + ul, ul + p, .agx-pp-table + p, .agx-pp-gap) { margin-top: 14px; }
.elementor .e-con .agx-pp-sec p.agx-pp-gap { margin-top: 18px; }
.elementor .e-con .agx-pp-sec ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.elementor .e-con .agx-pp-sec ul li { position: relative; margin: 0; padding-left: 20px; font: 400 17px/1.65 var(--agx-pp-body) !important; color: var(--agx-pp-slate) !important; }
.agx-pp-sec ul li::before { content: ""; position: absolute; left: 0; top: .68em; width: 7px; height: 7px; border-radius: 50%; background: var(--agx-pp-rule); }
.elementor .e-con .agx-pp-sec strong { color: var(--agx-pp-ink) !important; font-weight: 600 !important; }
.elementor .e-con .agx-pp-sec a {
  font: inherit; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important;
  color: var(--agx-pp-navy-800) !important; text-decoration: underline !important; text-decoration-color: rgba(255,106,19,.6) !important; text-underline-offset: 4px;
}
.elementor .e-con .agx-pp-sec a:hover { color: var(--agx-pp-navy-950) !important; text-decoration-color: var(--agx-pp-accent) !important; }

/* 7.6 Purpose table */
.agx-pp-table { margin-top: 18px; border: 1px solid var(--agx-pp-rule); border-radius: 12px; overflow: hidden; background: #fff; }
.agx-pp-row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); border-top: 1px solid var(--agx-pp-rule); }
.agx-pp-row:first-child { border-top: 0; }
.elementor .e-con .agx-pp-row > div { padding: 14px 18px; font: 400 15px/1.5 var(--agx-pp-body) !important; color: var(--agx-pp-slate) !important; }
.agx-pp-row > div + div { border-left: 1px solid var(--agx-pp-rule); }
.elementor .e-con .agx-pp-row.is-head > div {
  background: var(--agx-pp-mist); font: 700 12px/1.3 var(--agx-pp-display) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--agx-pp-navy-800) !important;
}
.elementor .e-con .agx-pp-row b { display: block; margin-bottom: 2px; font: 700 15px/1.35 var(--agx-pp-display) !important; color: var(--agx-pp-navy-900) !important; }

/* 7.7 Rights cards */
.agx-pp-rights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.agx-pp-right { padding: 18px 20px; border: 1px solid var(--agx-pp-rule); border-radius: 12px; background: #fff; }
.elementor .e-con .agx-pp-right b { display: block; margin-bottom: 4px; font: 700 16px/1.3 var(--agx-pp-display) !important; color: var(--agx-pp-navy-900) !important; }
.elementor .e-con .agx-pp-right span { font: 400 15px/1.5 var(--agx-pp-body) !important; color: var(--agx-pp-slate) !important; }

/* 7.8 Note + contact card */
.elementor .e-con .agx-pp-sec p.agx-pp-note {
  margin-top: 18px; padding: 18px 22px; border-radius: 12px; background: var(--agx-pp-mist);
  font: 600 15px/1.5 var(--agx-pp-display) !important; color: var(--agx-pp-navy-900) !important;
}
.elementor .e-con .agx-pp-note span { font: 400 15px/1.5 var(--agx-pp-body) !important; color: var(--agx-pp-slate) !important; }
.agx-pp-contact { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 18px; border: 1px solid var(--agx-pp-rule); border-radius: 14px; overflow: hidden; background: var(--agx-pp-rule); }
.agx-pp-contact > div { padding: 20px 22px; background: #fff; }
.elementor .e-con .agx-pp-contact b { display: block; margin-bottom: 6px; font: 700 12px/1.2 var(--agx-pp-display) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--agx-pp-slate) !important; }
.elementor .e-con .agx-pp-sec .agx-pp-contact a { display: inline-flex; align-items: center; min-height: 44px; margin-block: -10px; }
.elementor .e-con .agx-pp-sec .agx-pp-contact p { margin: 0; font: 400 16px/1.5 var(--agx-pp-body) !important; color: var(--agx-pp-ink) !important; }

/* 7.9 Cookie preferences button (Complianz reopens its banner via .cmplz-show-banner) */
.elementor .e-con .agx-pp-sec button.agx-pp-cookie-btn {
  display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; padding: 0 20px;
  border: 1px solid var(--agx-pp-navy-900) !important; border-radius: 999px !important; background: transparent !important; box-shadow: none !important;
  font: 700 14px/1 var(--agx-pp-display) !important; text-transform: none !important; letter-spacing: 0 !important;
  color: var(--agx-pp-navy-900) !important; cursor: pointer; transition: background .25s ease, color .25s ease;
}
.elementor .e-con .agx-pp-sec button.agx-pp-cookie-btn:is(:hover, :focus, :active) { background: var(--agx-pp-navy-900) !important; color: #fff !important; }

/* ── 8. Responsive ─────────────────────────────────────────────── */
@media (max-width: 980px) {
  :root { --agx-pp-gutter: 18px; --agx-pp-max: 720px; }
  .e-con.agx-pp-body-inner { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .e-con.agx-pp-toc-col { position: static; max-height: none; overflow: visible; padding: 22px 24px !important; border: 1px solid var(--agx-pp-rule); border-radius: 14px; background: #fff; }
  .elementor .e-con .agx-pp-toc ol { columns: 2; column-gap: 24px; border-left: 0; }
  .elementor .e-con .agx-pp-toc a { padding-left: 0; border-left: 0; break-inside: avoid; }
  .e-con.agx-pp-article { max-width: none; }
}
@media (max-width: 640px) {
  :root { --agx-pp-gutter: 16px; --agx-pp-hero-top: 56px; --agx-pp-hero-bottom: 52px; --agx-pp-body-top: 48px; --agx-pp-body-bottom: 72px; }
  .elementor .e-con .agx-pp-hero-lede p { font-size: 17px !important; }
  .elementor .e-con .agx-pp-toc ol { columns: 1; }
  .agx-pp-short { padding: 22px 20px; }
  .elementor .e-con :is(.agx-pp-sec p, .agx-pp-sec ul li) { font-size: 16px !important; }
  .agx-pp-row { grid-template-columns: minmax(0, 1fr); }
  .elementor .e-con .agx-pp-row > div + div { border-left: 0; padding-top: 0; }
  .agx-pp-row.is-head { display: none; }
  .agx-pp-row.is-head + .agx-pp-row { border-top: 0; }
  .agx-pp-rights, .agx-pp-contact { grid-template-columns: minmax(0, 1fr); }
}

/* ── 9. Accessibility ──────────────────────────────────────────── */
.elementor .e-con:is(.agx-pp-hero, .agx-pp-body) :is(a, button):focus-visible { outline: 3px solid var(--agx-pp-accent); outline-offset: 3px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
  .elementor .e-con:is(.agx-pp-hero, .agx-pp-body) * { transition-duration: .01ms !important; animation: none !important; }
}/* End custom CSS */