.elementor-1236 .elementor-element.elementor-element-1fb4ddd4{--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-1236 .elementor-element.elementor-element-3c52ab2d{--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-1236 .elementor-element.elementor-element-2f7d0264 .elementor-heading-title{font-family:"Manrope", Inter;}.elementor-1236 .elementor-element.elementor-element-20b9695f{font-family:"Source Sans 3", Inter;}.elementor-1236 .elementor-element.elementor-element-3f094e0c{--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-1236 .elementor-element.elementor-element-58f30d0e{--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-1236 .elementor-element.elementor-element-150c207e{--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-1236 .elementor-element.elementor-element-773cc3d1{--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 — Cookie Policy page · companion CSS
   Pairs with: agilys-cookie-policy-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-ck-navy-950: #071523; --agx-ck-navy-900: #0b1f33; --agx-ck-navy-800: #12304b;
  --agx-ck-ink: #132331; --agx-ck-slate: #526574; --agx-ck-mist: #eef3f5; --agx-ck-paper: #f8fafb;
  --agx-ck-white: #ffffff; --agx-ck-rule: #d7e0e5; --agx-ck-accent: #ff6a13;
  --agx-ck-dt-strong: #d9e2e8; --agx-ck-dt-body: #c5d1da; --agx-ck-dt-muted: #9fb2bf; --agx-ck-dt-quiet: #8195a4;
  --agx-ck-display: "Manrope", Arial, sans-serif;
  --agx-ck-body: "Source Sans 3", Arial, sans-serif;
  --agx-ck-max: 1180px;
  --agx-ck-gutter: 24px;
  --agx-ck-hero-top: 80px; --agx-ck-hero-bottom: 72px;
  --agx-ck-body-top: 72px; --agx-ck-body-bottom: 96px;
  --agx-ck-sticky-top: calc(var(--wp-admin--admin-bar--height, 0px) + 104px);  /* header (82px) + gap; adds WordPress's admin bar automatically when you're logged in */
}

/* ── 2. Normalisation ─────────────────────────────────────────────
   a) Neutralise Elementor's spacing VARIABLES (not the properties). */
.e-con:is(.agx-ck-hero, .agx-ck-body),
:is(.agx-ck-hero, .agx-ck-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-ck-hero, .agx-ck-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-ck-"]) { margin: 0; max-width: none; }

/* c) Paragraph + list resets inside our widgets */
.elementor .e-con:is(.agx-ck-hero, .agx-ck-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-ck-hero, .agx-ck-body) {
  font-family: var(--agx-ck-body); font-weight: 400; font-size: 17px; line-height: 1.65; color: var(--agx-ck-ink);
  -webkit-font-smoothing: antialiased;
}
.elementor .e-con:is(.agx-ck-hero, .agx-ck-body) .elementor-widget-text-editor p {
  font-family: var(--agx-ck-body) !important; font-weight: 400 !important;
}
.elementor .e-con:is(.agx-ck-hero, .agx-ck-body) .elementor-heading-title { margin: 0; text-transform: none; }

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

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

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

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

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

/* 7.1 Breadcrumb */
.agx-ck-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font: 600 14px/1.3 var(--agx-ck-display); color: var(--agx-ck-dt-quiet); }
.elementor .e-con .agx-ck-crumb a {
  display: inline-flex; align-items: center; min-height: 44px; text-decoration: none !important;
  font: 600 14px/1.3 var(--agx-ck-display) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--agx-ck-dt-strong) !important;
}
.elementor .e-con .agx-ck-crumb a:hover { color: #fff !important; }
.agx-ck-crumb i { width: 5px; height: 5px; border-radius: 50%; background: var(--agx-ck-accent); }
.agx-ck-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-ck-meta { display: flex; flex-wrap: wrap; gap: 10px; }
.agx-ck-meta span { padding: 9px 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; font: 600 13px/1.2 var(--agx-ck-display); color: var(--agx-ck-dt-strong); }
.agx-ck-meta span b { color: #fff; font-weight: 700; }

/* 7.3 Table of contents */
.elementor .e-con .agx-ck-toc h2 {
  display: flex; align-items: center; gap: 10px; margin: 0 0 14px;
  font: 700 12px/1.2 var(--agx-ck-display) !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--agx-ck-slate) !important;
}
.agx-ck-toc h2::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--agx-ck-accent); }
.elementor .e-con .agx-ck-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--agx-ck-rule); counter-reset: agxtoc; }
.agx-ck-toc li { counter-increment: agxtoc; margin: 0; }
.elementor .e-con .agx-ck-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-ck-display) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--agx-ck-slate) !important;
}
.agx-ck-toc a::before { content: counter(agxtoc, decimal-leading-zero); font-size: 12px; color: #8a9aa6; }
.elementor .e-con .agx-ck-toc a:hover { color: var(--agx-ck-navy-900) !important; border-left-color: var(--agx-ck-accent); }
/* Active item — set by the scroll script in the contents widget */
.elementor .e-con .agx-ck-toc a.is-active { color: var(--agx-ck-navy-900) !important; border-left-color: var(--agx-ck-accent); font-weight: 700 !important; }
.elementor .e-con .agx-ck-toc a.is-active::before { color: var(--agx-ck-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-ck-toc a { min-height: 34px; padding-top: 6px; padding-bottom: 6px; }
}

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

.elementor .e-con .agx-ck-short p {
  margin: 18px 0 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.12);
  font: 400 14px/1.5 var(--agx-ck-body) !important; color: var(--agx-ck-dt-muted) !important;
}
.elementor .e-con .agx-ck-short a { color: #fff !important; font: inherit; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: underline !important; text-decoration-color: var(--agx-ck-accent) !important; text-underline-offset: 3px; }

/* 7.5 Manage cookie preferences button (Complianz reopens its banner via .cmplz-show-banner) */
.elementor .e-con .agx-ck-toc-widget button.agx-ck-prefs-btn {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 24px; padding: 0 18px;
  border: 1px solid var(--agx-ck-navy-900) !important; border-radius: 999px !important; background: transparent !important; box-shadow: none !important;
  font: 700 14px/1 var(--agx-ck-display) !important; text-transform: none !important; letter-spacing: 0 !important;
  color: var(--agx-ck-navy-900) !important; cursor: pointer; transition: background .25s ease, color .25s ease;
}
.elementor .e-con .agx-ck-toc-widget button.agx-ck-prefs-btn::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--agx-ck-accent); }
.elementor .e-con .agx-ck-toc-widget button.agx-ck-prefs-btn:is(:hover, :focus, :active) { background: var(--agx-ck-navy-900) !important; color: #fff !important; }

/* ── 8. Complianz cookie policy, restyled ─────────────────────────
   The document comes from Complianz's shortcode and is rewritten after each scan,
   so these rules target Complianz's own markup (#cmplz-document …). */
.agx-ck-doc-widget #cmplz-document { font: 400 17px/1.65 var(--agx-ck-body); color: var(--agx-ck-slate); }
.agx-ck-doc-widget #cmplz-document :is(p, li, div, span) { font-family: var(--agx-ck-body) !important; text-transform: none !important; letter-spacing: normal !important; }
.agx-ck-doc-widget #cmplz-document > p { margin: 0; font-size: 17px !important; line-height: 1.65 !important; font-weight: 400 !important; color: var(--agx-ck-slate) !important; }
.agx-ck-doc-widget #cmplz-document > p + p { margin-top: 14px; }
/* "Last updated" line as a pill */
.agx-ck-doc-widget #cmplz-document > p:first-child {
  display: inline-flex; margin: 0 0 8px; padding: 8px 14px; border-radius: 999px; background: var(--agx-ck-mist);
  font: 600 13px/1.4 var(--agx-ck-display) !important; color: var(--agx-ck-navy-800) !important;
}
.agx-ck-doc-widget #cmplz-document > p:first-child i { font-style: normal; font-family: inherit !important; }
.agx-ck-doc-widget #cmplz-document > p:first-child br { display: none; }
/* Section headings, numbered by the contents script */
.agx-ck-doc-widget #cmplz-document > h2 {
  display: flex; align-items: baseline; gap: 14px; margin: 40px 0 18px; padding-top: 40px; border-top: 1px solid var(--agx-ck-rule);
  font: 700 clamp(1.5rem, 2.4vw, 1.9rem)/1.2 var(--agx-ck-display) !important; letter-spacing: -.035em !important; text-transform: none !important;
  color: var(--agx-ck-navy-900) !important; scroll-margin-top: calc(var(--agx-ck-sticky-top) + 8px);
}
.agx-ck-doc-widget #cmplz-document > h2 .agx-ck-num { flex: 0 0 auto; font: 700 14px/1 var(--agx-ck-display) !important; letter-spacing: 0; color: var(--agx-ck-accent) !important; }
.agx-ck-doc-widget #cmplz-document > h3 {
  margin: 26px 0 10px; font: 700 17px/1.3 var(--agx-ck-display) !important; letter-spacing: -.015em !important; text-transform: none !important; color: var(--agx-ck-navy-900) !important;
}
.agx-ck-doc-widget #cmplz-document a {
  font: inherit; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important;
  color: var(--agx-ck-navy-800) !important; text-decoration: underline !important; text-decoration-color: rgba(255,106,19,.6) !important; text-underline-offset: 4px;
}
.agx-ck-doc-widget #cmplz-document a:hover { color: var(--agx-ck-navy-950) !important; text-decoration-color: var(--agx-ck-accent) !important; }
.agx-ck-doc-widget #cmplz-document > ul { list-style: none; margin: 14px 0; padding: 0; display: grid; gap: 8px; }
.agx-ck-doc-widget #cmplz-document > ul li { position: relative; margin: 0; padding-left: 20px; font-size: 17px !important; line-height: 1.65 !important; color: var(--agx-ck-slate) !important; }
.agx-ck-doc-widget #cmplz-document > ul li::before { content: ""; position: absolute; left: 0; top: .68em; width: 7px; height: 7px; border-radius: 50%; background: var(--agx-ck-rule); }
.agx-ck-doc-widget #cmplz-document .cmplz-contact-organisation { font-weight: 600 !important; color: var(--agx-ck-ink) !important; }
.agx-ck-doc-widget #cmplz-document > p:last-child { margin-top: 28px; font-size: 14px !important; color: #6b7c88 !important; }

/* 8.1 Placed cookies: one card per service */
.agx-ck-doc-widget #cmplz-cookies-overview { display: grid; gap: 12px; }
.agx-ck-doc-widget #cmplz-document details.cmplz-dropdown { margin: 0 !important; border: 1px solid var(--agx-ck-rule) !important; border-radius: 12px !important; background: #fff !important; overflow: hidden; }
.agx-ck-doc-widget #cmplz-document details.cmplz-dropdown[open] { border-color: #b9c7cf !important; }
.agx-ck-doc-widget #cmplz-document summary.cmplz-service-header {
  list-style: none; display: flex !important; align-items: center; gap: 16px; min-height: 64px; padding: 14px 20px !important; margin: 0 !important;
  background: transparent !important; cursor: pointer;
}
.agx-ck-doc-widget #cmplz-document summary.cmplz-service-header::-webkit-details-marker { display: none; }
.agx-ck-doc-widget #cmplz-document summary.cmplz-service-header::marker { content: ""; }
.agx-ck-doc-widget #cmplz-document summary.cmplz-service-header > div { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 14px; flex: 1 1 auto; min-width: 0; }
.agx-ck-doc-widget #cmplz-document summary.cmplz-service-header::after {
  content: ""; flex: 0 0 10px; width: 10px; height: 10px; border-right: 2px solid var(--agx-ck-slate); border-bottom: 2px solid var(--agx-ck-slate);
  transform: rotate(45deg) translateY(-3px); transition: transform .25s ease; background: none !important;
}
.agx-ck-doc-widget #cmplz-document details[open] > summary.cmplz-service-header::after { transform: rotate(-135deg) translateY(-3px); }
/* Complianz draws its own arrow on the summary's inner block: hide it, ours is on the summary */
.agx-ck-doc-widget #cmplz-document summary.cmplz-service-header > div::after,
.agx-ck-doc-widget #cmplz-document summary.cmplz-service-header > div::before { content: none !important; display: none !important; }
/* Stack "Usage" and "Sharing data" full width (Complianz sets them side by side) */
.agx-ck-doc-widget #cmplz-document details.cmplz-dropdown > div { display: block; float: none !important; width: auto !important; max-width: none !important; }
.agx-ck-doc-widget #cmplz-document details.cmplz-dropdown > div.cookies-per-purpose { display: grid !important; }
.agx-ck-doc-widget #cmplz-document summary h3 { margin: 0 !important; font: 700 17px/1.3 var(--agx-ck-display) !important; letter-spacing: -.015em !important; text-transform: none !important; color: var(--agx-ck-navy-900) !important; }
.agx-ck-doc-widget #cmplz-document summary p {
  margin: 0 !important; padding: 5px 10px; border-radius: 999px; background: var(--agx-ck-mist);
  font: 700 11px/1.2 var(--agx-ck-display) !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--agx-ck-navy-800) !important;
}
.agx-ck-doc-widget #cmplz-document summary :is(label.cmplz_consent_per_service_label, input.cmplz-hidden) { display: none !important; }
.agx-ck-doc-widget #cmplz-document :is(.cmplz-service-description, .cmplz-sharing-data, .cookies-per-purpose) { margin: 0 !important; padding: 0 20px 16px !important; }
.agx-ck-doc-widget #cmplz-document .cmplz-service-description { padding-top: 4px !important; border-top: 1px solid var(--agx-ck-rule); }
.agx-ck-doc-widget #cmplz-document details h4 {
  margin: 14px 0 4px !important; padding: 0 !important; font: 700 12px/1.3 var(--agx-ck-display) !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--agx-ck-slate) !important;
}
.agx-ck-doc-widget #cmplz-document details p { margin: 0; font-size: 15px !important; line-height: 1.55 !important; color: var(--agx-ck-slate) !important; }
.agx-ck-doc-widget #cmplz-document .cookies-per-purpose {
  display: grid !important; grid-template-columns: 110px minmax(0, 1fr) !important; column-gap: 16px;
  background: var(--agx-ck-paper) !important; border: 0 !important; border-top: 1px solid var(--agx-ck-rule) !important; border-radius: 0 !important; padding-top: 4px !important;
}
/* Complianz lays these out as a 3-column table with named grid areas; clear them for label / value pairs */
.agx-ck-doc-widget #cmplz-document .cookies-per-purpose { grid-template-areas: none !important; grid-template-rows: none !important; }
.agx-ck-doc-widget #cmplz-document .cookies-per-purpose > * { width: auto !important; margin: 0 !important; grid-area: auto !important; background: transparent !important; padding: 8px 0 !important; }
.agx-ck-doc-widget #cmplz-document .cookies-per-purpose > .purpose { grid-column: 1 / -1 !important; }
.agx-ck-doc-widget #cmplz-document .cookies-per-purpose :is(.name-header, .name-header + .name) { border-top: 1px solid var(--agx-ck-rule); margin-top: 10px !important; }
.agx-ck-doc-widget #cmplz-document .cookies-per-purpose h5 { margin: 0 !important; padding: 0 !important; font: 600 13px/1.4 var(--agx-ck-display) !important; text-transform: none !important; color: var(--agx-ck-slate) !important; }
.agx-ck-doc-widget #cmplz-document .cookies-per-purpose :is(.name, .retention, .function) { padding: 8px 0; font-size: 15px !important; line-height: 1.45 !important; color: var(--agx-ck-ink) !important; overflow-wrap: anywhere; }
.agx-ck-doc-widget #cmplz-document .cookies-per-purpose .name { font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important; font-size: 13.5px !important; color: var(--agx-ck-navy-800) !important; }

/* 8.2 Consent switches inside the policy (Complianz's own toggles, recoloured) */
.agx-ck-doc-widget #cmplz-manage-consent-container { margin-top: 14px; padding: 4px 20px; border: 1px solid var(--agx-ck-rule); border-radius: 12px; background: #fff; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-category { margin: 0 !important; background: transparent !important; border-radius: 0 !important; border-bottom: 1px solid var(--agx-ck-rule); }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-category:last-child { border-bottom: 0; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-category-header { min-height: 56px; padding: 0 !important; background: transparent !important; align-items: center; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-category-title { font: 700 15px/1.3 var(--agx-ck-display) !important; color: var(--agx-ck-navy-900) !important; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-always-active { font: 700 11px/1 var(--agx-ck-display) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: #6b7c88 !important; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-category-toggle { background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--agx-ck-slate) !important; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-description,
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-description span { padding: 0 0 14px !important; font-size: 14px !important; line-height: 1.5 !important; color: var(--agx-ck-slate) !important; background: transparent !important; }
.agx-ck-doc-widget #cmplz-manage-consent-container {
  --cmplz_slider_active_color: #ff6a13; --cmplz_slider_inactive_color: #c9d4da; --cmplz_slider_bullet_color: #ffffff;
  --cmplz_category_header_always_active_color: #6b7c88;
}
/* Complianz renders plain checkboxes in the policy: draw them as on/off switches (no pseudo-elements, works in every browser) */
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-category-header { display: grid !important; grid-template-columns: minmax(0, 1fr) auto 36px !important; column-gap: 12px; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-always-active .cmplz-banner-checkbox { display: none !important; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-banner-checkbox { display: inline-flex !important; align-items: center; width: auto !important; height: auto !important; }
.agx-ck-doc-widget #cmplz-manage-consent-container input.cmplz-consent-checkbox {
  -webkit-appearance: none !important; appearance: none !important; display: block !important; position: static !important; opacity: 1 !important;
  width: 44px !important; height: 26px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 999px !important;
  background: #c9d4da radial-gradient(circle, #ffffff 0 9px, transparent 9.5px) no-repeat left center / 26px 26px !important;
  cursor: pointer; transition: background-color .2s ease, background-position .2s ease;
}
.agx-ck-doc-widget #cmplz-manage-consent-container input.cmplz-consent-checkbox:checked { background-color: var(--agx-ck-accent) !important; background-position: right center !important; }
.agx-ck-doc-widget #cmplz-manage-consent-container input.cmplz-consent-checkbox:focus-visible { outline: 3px solid var(--agx-ck-accent); outline-offset: 3px; }
.agx-ck-doc-widget #cmplz-manage-consent-container .cmplz-category-toggle { justify-self: end; width: 36px; min-height: 36px; display: grid !important; place-items: center; padding: 0 !important; }
.agx-ck-doc-widget #cmplz-manage-consent-container-nojavascript { font-size: 15px !important; color: var(--agx-ck-slate) !important; }

/* ── 9. Responsive ─────────────────────────────────────────────── */
@media (max-width: 980px) {
  :root { --agx-ck-gutter: 18px; --agx-ck-max: 720px; }
  .e-con.agx-ck-body-inner { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .e-con.agx-ck-toc-col { position: static; max-height: none; overflow: visible; padding: 22px 24px !important; border: 1px solid var(--agx-ck-rule); border-radius: 14px; background: #fff; }
  .elementor .e-con .agx-ck-toc ol { columns: 2; column-gap: 24px; border-left: 0; }
  .elementor .e-con .agx-ck-toc a { padding-left: 0; border-left: 0; break-inside: avoid; }
  .e-con.agx-ck-article { max-width: none; }
}
@media (max-width: 640px) {
  :root { --agx-ck-gutter: 16px; --agx-ck-hero-top: 56px; --agx-ck-hero-bottom: 52px; --agx-ck-body-top: 48px; --agx-ck-body-bottom: 72px; }
  .elementor .e-con .agx-ck-hero-lede p { font-size: 17px !important; }
  .elementor .e-con .agx-ck-toc ol { columns: 1; }
  .agx-ck-short { padding: 22px 20px; }
  .agx-ck-doc-widget #cmplz-document > p, .agx-ck-doc-widget #cmplz-document > ul li { font-size: 16px !important; }
  .agx-ck-doc-widget #cmplz-document summary.cmplz-service-header { padding: 14px 16px !important; }
  .agx-ck-doc-widget #cmplz-document :is(.cmplz-service-description, .cmplz-sharing-data) { padding-left: 16px !important; padding-right: 16px !important; }
  .agx-ck-doc-widget #cmplz-document .cookies-per-purpose { grid-template-columns: minmax(0, 1fr) !important; padding: 4px 16px 14px !important; }
  .agx-ck-doc-widget #cmplz-document .cookies-per-purpose .name-header, .agx-ck-doc-widget #cmplz-document .cookies-per-purpose .retention-header, .agx-ck-doc-widget #cmplz-document .cookies-per-purpose .function-header { padding-bottom: 0 !important; }
  .agx-ck-doc-widget #cmplz-document .cookies-per-purpose .name-header + .name { border-top: 0; margin-top: 0 !important; }
}

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