/* ==========================================================================
   cognitis.cloud on Hello Elementor: the C2 Theme's look.
   Loaded on every front-end page by the c2-site.php mu-plugin (wp-content/uploads/c2-site/c2-site.css).
   Sources: the C2 Theme's assets/css/c2-components.css, the <style> blocks that sat inside each page's custom
   HTML sections, and the theme's Additional CSS, rewritten for Elementor's markup (widgets wrap their content:
   .CLASS .elementor-heading-title, .CLASS p, .CLASS .elementor-button).
   Container boxes (padding, gaps, columns, backgrounds) are Elementor settings; this file holds what Elementor has
   no control for. Edit Web/site-build/c2-site.css and re-run push.sh, not the copy on the server.
   ========================================================================== */

:root {
	--c2-indigo:#1b1147; --c2-mid:#141038; --c2-navy-deep:#0a0629;
	--c2-pink:#c2156e; --c2-pink-hover:#a5115d; --c2-accent:#ff4d94; --c2-blue:#3e64de;
	--c2-ink:#f4f6fb; --c2-muted:#aab4c8; --c2-faint:#8791a6; --c2-eyebrow:#f0b6d6;
	--c2-meta:#6b7280; --c2-line:rgba(255,255,255,.12);
	--c2-radius:12px; --c2-radius-pill:999px;
	--c2-font-heading:'Sora',sans-serif; --c2-font-body:'Inter',system-ui,sans-serif;
	--c2-hero-pad-top:8%;
}

/* --- Headings: the C2 Theme's type scale, as plain element rules so section styles can override them --- */
h1, h2, h3, h4, h5, h6 { font-family:'Sora',sans-serif; margin:0; }
h1 { font-size:68px; line-height:2em; font-weight:800; margin:.67em 0; }
h2 { font-size:48px; line-height:2em; font-weight:800; }
h3 { font-size:36px; line-height:1.8em; font-weight:700; }
h4 { font-size:26px; line-height:1.7em; font-weight:700; }
h5 { font-size:20px; line-height:1.6em; font-weight:700; }
h6 { font-size:18px; line-height:1.5em; font-weight:700; }
@media (max-width:976px) {
	h1 { font-size:48px; line-height:2.5em; } h2 { font-size:32px; line-height:1em; } h3 { font-size:28px; }
	h4 { font-size:24px; } h5 { font-size:18px; } h6 { font-size:17px; }
}
@media (max-width:767px) { h2 { font-size:28px; } }
/* Elementor's heading widget sets line-height:1 on its title; the theme's heights apply instead */
h1.elementor-heading-title { line-height:2em; } h2.elementor-heading-title { line-height:2em; } h3.elementor-heading-title { line-height:1.8em; }
h4.elementor-heading-title { line-height:1.7em; } h5.elementor-heading-title { line-height:1.6em; } h6.elementor-heading-title { line-height:1.5em; }
h1.elementor-heading-title { margin:0; }
@media (max-width:976px) { h1.elementor-heading-title { line-height:2.5em; } h2.elementor-heading-title { line-height:1em; } }

/* --- Base: the C2 Theme had no paragraph margins (pages space text with gaps and empty paragraphs) --- */
.elementor-widget-text-editor p, .elementor-widget-text-editor ul, .elementor-widget-text-editor ol { margin-top:0; margin-bottom:0; }
.elementor-widget-text-editor ul, .elementor-widget-text-editor ol { padding-left:40px; }
.elementor-widget-text-editor h1, .elementor-widget-text-editor h2, .elementor-widget-text-editor h3,
.elementor-widget-text-editor h4, .elementor-widget-text-editor h5, .elementor-widget-text-editor h6 { margin:0; }
.has-text-align-center { text-align:center; } .has-text-align-right { text-align:right; } .has-text-align-left { text-align:left; }
.has-deep-navyblue-color { color:#0A083B; } .has-off-white-color { color:#F7F9FA; } .has-medium-blue-color { color:#175CFF; }
.has-bluish-dark-grey-color { color:#57586E; } .has-light-grey-color { color:#EAF1F8; } .has-white-color { color:#fff; }
.has-link-color a { color:inherit; }
/* Legal pages: their blocks sat in a flex column with a 20px gap; merged into one Text Editor, the gap becomes a margin */
.c2-prose :is(p,h1,h2,h3,h4,h5,h6,ul,ol,hr,table,blockquote,figure) + :is(p,h1,h2,h3,h4,h5,h6,ul,ol,hr,table,blockquote,figure) { margin-top:20px; }
.c2-prose ul, .c2-prose ol { padding-left:32px; }
.c2-prose hr, hr.wp-block-separator { border:0; border-bottom:2px solid #808080; height:0; margin:15px 0; width:100%; opacity:1; }
.c2-prose :is(p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,figure) + hr { margin-top:35px; }
.c2-prose hr + :is(p,h1,h2,h3,h4,h5,h6,ul,ol,table,blockquote,figure) { margin-top:35px; }
.wp-block-heading a { text-decoration:none !important; color:inherit !important; }

/* Converted Spectra column containers: their blocks are full width, as under Spectra */
.e-con.c2-spx-col > .elementor-widget, .e-con.c2-spx-col > .e-con-inner > .elementor-widget { width:100%; }
@media (max-width:767px) { .e-con.c2-spx-col-m > .elementor-widget, .e-con.c2-spx-col-m > .e-con-inner > .elementor-widget { width:100%; } }

/* Hello Elementor's reset styles tables (zebra rows, 1.5 line height, smaller text); the C2 Theme did not */
table { font-size:inherit; }
table td, table th { line-height:inherit; }
table tbody > tr:nth-child(odd) > td, table tbody > tr:nth-child(odd) > th, table tbody tr:hover > td, table tbody tr:hover > th { background-color:transparent; }

/* Hello Elementor's reset.css is switched off (c2-site.php): it restyled buttons, links, headings, tables and form fields
   that the C2 Theme left to the browser and the plugins. These are the parts of it worth keeping. */
* { margin:0; padding:0; box-sizing:border-box; }  /* the C2 Theme's (tutorstarter's) universal reset */
::after, ::before { box-sizing:border-box; }
body { margin:0; overflow-x:clip; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
img { border-style:none; height:auto; max-width:100%; }
a { color:#3e64de; }  /* the C2 Theme's link colour, as a plain rule so sections can override it */
[hidden], template { display:none; }

/* --- Buttons --------------------------------------------------------------- */
/* (the primary c2ctl button inherits the body line height, the c2-btn ones use 1.2) */
.elementor-widget-button.c2-btn .elementor-button,
.elementor-widget-button.c2-btn-w .elementor-button,
.elementor-widget-button.c2ctl-btn.is-primary .elementor-button {
	background-color:var(--c2-pink); color:#fff; font-family:inherit; font-weight:700; font-size:1rem; line-height:1.2;
	padding:14px 30px; border:none; border-radius:var(--c2-radius-pill); box-shadow:none; transition:background-color .15s ease;
}
.elementor-widget-button.c2-btn .elementor-button:hover, .elementor-widget-button.c2-btn .elementor-button:focus,
.elementor-widget-button.c2-btn-w .elementor-button:hover, .elementor-widget-button.c2ctl-btn.is-primary .elementor-button:hover {
	background-color:var(--c2-pink-hover); color:#fff;
}
.elementor-widget-button.c2ctl-btn .elementor-button, .elementor-widget-button.c2ctl-btn.is-primary .elementor-button { font-size:1rem; font-weight:700; line-height:inherit; padding:13px 28px; border-radius:999px; }
.elementor-widget-button.c2ctl-btn.is-ghost .elementor-button { background:transparent; border:1px solid #0e1b2c; color:#0e1b2c; }
.elementor-widget-button.c2-btn-cta .elementor-button { background:#32373c; color:#fff; border:0; border-radius:9999px; padding:calc(.667em + 2px) calc(1.333em + 2px); font-weight:400; font-size:inherit; line-height:inherit; }
.elementor-button:focus-visible, .elementor-nav-menu a:focus-visible { outline:2px solid var(--c2-eyebrow); outline-offset:3px; }

/* --- Hero (every page) -------------------------------------------------------- */
.e-con.c2-hero {
	position:relative; overflow:hidden; width:100%; text-align:center; font-family:var(--c2-font-body); color:var(--c2-ink);
	background:
		radial-gradient(55% 70% at 50% 4%, rgba(214,60,140,.20), transparent 60%),
		linear-gradient(120deg, transparent 42%, rgba(0,0,0,.42) 100%),
		linear-gradient(180deg, var(--c2-indigo) 0%, var(--c2-mid) 52%, var(--c2-navy-deep) 100%);
	padding: var(--c2-hero-pad-top) clamp(18px,5vw,64px) clamp(56px,7vw,100px) !important; gap:0 !important;
}
.c2-hero * { box-sizing:border-box; }
.e-con.c2-hero__inner { max-width:820px; margin:0 auto; position:relative; z-index:2; gap:0 !important; padding:0 !important; }
.c2-hero__eyebrow .elementor-heading-title, span.c2-hero__eyebrow {
	display:inline-flex; align-items:center; gap:8px; font-family:var(--c2-font-body); font-size:12.5px; font-weight:400; line-height:inherit;
	letter-spacing:.14em; text-transform:uppercase; color:var(--c2-eyebrow); background:rgba(255,255,255,.06);
	border:1px solid var(--c2-line); padding:7px 14px; border-radius:100px; margin-bottom:22px;
}
.c2-hero__eyebrow .elementor-heading-title a, span.c2-hero__eyebrow a { color:inherit; text-decoration:none; }
.c2-hero__dot { width:6px; height:6px; border-radius:50%; background:var(--c2-accent); }
.c2-hero__title .elementor-heading-title {
	font-family:var(--c2-font-heading); font-weight:700; font-size:clamp(30px,4.6vw,54px); line-height:1.05;
	letter-spacing:-.025em; margin:0 auto 18px; max-width:900px; color:var(--c2-ink); text-transform:none;
}
.c2-hero__grad { background:linear-gradient(90deg,#fff 0%,#f6c3dd 55%,#c9b6ff 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.c2-hero__sub p, p.c2-hero__sub { font-size:clamp(15px,1.35vw,18px); line-height:1.6; color:var(--c2-muted); max-width:620px; margin:0 auto; }
.e-con.c2-hero__cta { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px !important; margin-top:30px; padding:0 !important; }
.c2-hero__micro p { font-size:13.5px; color:var(--c2-faint); margin:14px 0 0; }
.c2-hero__micro b { color:#c3cdde; font-weight:600; }
.elementor-widget-html.c2-hero__raw { width:100%; }

.c2-hero__trust {
	position:relative; z-index:2; display:inline-flex; flex-wrap:wrap; align-items:center; justify-content:center;
	gap:12px 20px; margin-top:36px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.1);
	border-radius:14px; padding:14px 22px; -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
}
.c2-hero__visual + .c2-hero__trust, .c2-hero__raw + .c2-hero__raw .c2-hero__trust { margin-top:clamp(40px,5vw,56px); }
.c2-hero__ti { display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600; color:#e7ecf5; }
.c2-hero__stars { display:inline-flex; gap:2px; color:var(--c2-pink); }
.c2-hero__stars svg { width:14px; height:14px; display:block; }
.c2-hero__ti svg { width:17px; height:17px; color:var(--c2-pink); }
.c2-hero__sep { width:1px; height:18px; background:rgba(255,255,255,.16); }
.c2-hero__lead { color:#c9d3df; }
.c2-hero__visual { position:relative; max-width:1000px; margin:clamp(40px,6vw,64px) auto 0; z-index:2; }
.c2-hero__browser { border-radius:16px; overflow:hidden; border:1px solid rgba(255,255,255,.09); box-shadow:0 44px 90px -24px rgba(0,0,0,.7); background:#0e1530; }
.c2-hero__tabs { display:flex; align-items:center; gap:8px; padding:9px 14px 0; background:#0a0f26; }
.c2-hero__tabs i { width:11px; height:11px; border-radius:50%; display:block; }
.c2-hero__tab { display:inline-flex; align-items:center; gap:7px; background:#0e1530; color:#c9d0e6; font-size:11.5px; padding:7px 13px; border-radius:8px 8px 0 0; white-space:nowrap; margin-left:6px; }
.c2-hero__fav { width:15px; height:15px; border-radius:4px; object-fit:cover; flex:0 0 auto; display:block; }
.c2-hero__app { background:#f4f6fb; color:#1c2333; text-align:left; }
.c2-hero__apptop { display:flex; align-items:center; justify-content:space-between; padding:12px 18px; background:#fff; border-bottom:1px solid #e9ecf3; }
.c2-hero__appname { font-family:var(--c2-font-heading); font-weight:600; font-size:13.5px; color:#20264a; }
.c2-hero__appuser { display:flex; align-items:center; gap:9px; font-size:12.5px; color:#5c6580; }
.c2-hero__avatar { width:26px; height:26px; border-radius:50%; background:var(--c2-blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:10.5px; font-weight:600; }
.c2-hero__appbody { display:grid; grid-template-columns:52px 1fr; min-height:300px; }
.c2-hero__rail { background:#101636; display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px 0; }
.c2-hero__ri { width:30px; height:30px; border-radius:8px; background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center; color:#aeb6d8; }
.c2-hero__ri.is-on { background:var(--c2-blue); color:#fff; }
.c2-hero__ri svg { width:16px; height:16px; }
.c2-hero__panels { display:grid; grid-template-columns:1fr 1.15fr; gap:14px; padding:16px; }
.c2-hero__panel { background:#fff; border:1px solid #e9ecf3; border-radius:11px; padding:14px; }
.c2-hero__ptitle { font-family:var(--c2-font-heading); font-weight:600; font-size:13.5px; color:#20264a; margin-bottom:2px; }
.c2-hero__pcap { font-size:10.5px; color:#565e6b; margin-bottom:10px; }
.c2-hero__legend { display:flex; align-items:center; gap:6px; font-size:10.5px; color:#5c6580; margin-bottom:8px; }
.c2-hero__sw { width:9px; height:9px; border-radius:3px; background:var(--c2-blue); }
.c2-hero__chart { display:flex; align-items:flex-end; gap:9px; height:104px; padding:8px 4px 0; border-left:1px solid #eceef5; border-bottom:1px solid #eceef5; }
.c2-hero__bar { flex:1; border-radius:4px 4px 0 0; background:var(--c2-blue); }
.c2-hero__stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.c2-hero__stat { background:#f7f8fc; border:1px solid #eef0f6; border-radius:9px; padding:10px 12px; }
.c2-hero__statn { font-family:var(--c2-font-heading); font-weight:700; font-size:20px; color:#20264a; line-height:1; }
.c2-hero__statl { font-size:10px; color:#565e6b; margin-top:5px; }
.c2-hero__psub { font-family:var(--c2-font-heading); font-weight:600; font-size:12px; color:#3a4160; margin:2px 0 8px; }
.c2-hero__tbl { border:1px solid #eef0f6; border-radius:9px; overflow:hidden; }
.c2-hero__tr { display:grid; grid-template-columns:1.8fr .9fr .7fr .7fr; padding:9px 12px; font-size:11px; border-bottom:1px solid #f2f3f8; align-items:center; }
.c2-hero__tr.is-head { background:#fafbfe; color:#565e6b; font-weight:600; text-transform:uppercase; letter-spacing:.03em; font-size:9.5px; }
.c2-hero__role { color:#4a3ec8; font-weight:600; }
.c2-hero__promo { position:absolute; bottom:20px; right:-18px; width:238px; background:#0d1226; border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:22px 20px; text-align:center; box-shadow:0 34px 66px -20px rgba(0,0,0,.65); z-index:5; }
.c2-hero__promo-title { font-family:var(--c2-font-heading); font-weight:700; font-size:42px; letter-spacing:-.02em; line-height:1; color:#fff; margin:0 0 14px; }
.c2-hero__promo p { font-size:14px; line-height:1.45; color:#aeb8cc; margin:0 0 22px; }
.c2-hero__promo a { display:inline-flex; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.28); color:#fff; font-weight:600; font-size:13.5px; padding:11px 18px; border-radius:10px; text-decoration:none; }
.c2-hero__promo a:hover { background:rgba(255,255,255,.08); }
@media (max-width:720px) {
	.e-con.c2-hero { --c2-hero-pad-top:88px; }
	.c2-hero__panels { grid-template-columns:1fr; }
	.c2-hero__promo { position:static; width:auto; right:auto; bottom:auto; margin:16px auto 0; max-width:320px; }
}
@media (max-width:420px) { .e-con.c2-hero { --c2-hero-pad-top:80px; } }

/* Small centred CTA snippets (homepage FAQ and pricing bands) */
.c2-cta-snippet { text-align:center; max-width:820px; margin:0 auto; width:100%; }
.c2-cta-snippet.is-light, .c2-cta-snippet.is-light .elementor-heading-title { color:#fff; }

/* --- "Your HR data, under your control" (homepage, pricing) ------------------- */
.c2ctl { color:#12233b; }
.c2ctl-head { text-align:center; max-width:740px; margin:0 auto 36px; }
.c2ctl-eyebrow .elementor-heading-title { display:inline-block; font-family:var(--c2-font-body); font-size:.75rem; font-weight:700; line-height:inherit; letter-spacing:.07em; text-transform:uppercase; color:#e51c73; margin:0 0 10px; }
.c2ctl-head h2.elementor-heading-title { font-size:2rem; line-height:1.2; color:#0e1b2c; margin:0 0 12px; font-weight:800; }
.c2ctl-head p { font-size:1.06rem; line-height:1.6; color:#5f6b7a; margin:0; }
.e-con.c2ctl-card { background:#fff; border:1px solid #e6e8ec; border-radius:16px; transition:box-shadow .2s ease,transform .2s ease; }
.e-con.c2ctl-card:hover { box-shadow:0 12px 28px rgba(14,27,44,.10); transform:translateY(-2px); }
.e-con.c2ctl-card.is-key { border:2px solid #e51c73; }
.c2ctl-ic { width:44px; height:44px; border-radius:12px; background:#fdeaf2; color:#e51c73; display:flex; align-items:center; justify-content:center; margin:0 0 14px; }
.c2ctl-ic svg { width:22px; height:22px; display:block; }
.c2ctl-card h3.elementor-heading-title { font-size:1.08rem; color:#0e1b2c; margin:0 0 8px; font-weight:700; }
.c2ctl-card > .elementor-widget.c2ctl-desc { flex:1 1 auto !important; }
.c2ctl-card .c2ctl-desc p { font-size:.93rem; line-height:1.55; color:#5f6b7a; margin:0 0 14px; }
.c2ctl-pill { align-self:flex-start; }
.c2ctl-pill .elementor-heading-title { display:inline-block; font-family:var(--c2-font-body); font-size:.74rem; font-weight:700; line-height:inherit; padding:4px 10px; border-radius:999px; background:#e1f5ee; color:#0f6e56; }
.c2ctl-pill.is-req .elementor-heading-title { background:#eef2f8; color:#2b4a74; }
/* under the C2 Theme ".c2ctl-card p" outranked ".c2ctl-note", so the note looks like the card text */
.c2ctl-card > .elementor-widget.c2ctl-note { flex:1 1 auto !important; }
.c2ctl-note p { font-size:.93rem; line-height:1.55; color:#5f6b7a; margin:0 0 14px; }
p.c2ctl-foot { max-width:760px; margin:30px auto 0; text-align:center; font-size:.92rem; line-height:1.6; color:#5f6b7a; }
.c2ctl-foot a { color:#e51c73; font-weight:600; }
.e-con.c2ctl-cta { margin-top:22px; }
@media (max-width:767px) { .c2ctl-head h2.elementor-heading-title { font-size:1.6rem; } }

/* --- "Everything you need, in one platform" (homepage, dark) ----------------- */
.c2fg { color:#fff; }
.elementor-widget.c2fg-lead { text-align:center; max-width:720px !important; margin:0 auto; }
.c2fg-lead p { font-size:1.06rem; line-height:1.6; color:#dbe2ea; margin:0; }
.e-con.c2fg-card { background:rgba(12,22,38,.55); border:1px solid rgba(255,255,255,.14); border-radius:16px; -webkit-backdrop-filter:blur(7px); backdrop-filter:blur(7px);
	transition:background .2s ease,box-shadow .2s ease,transform .2s ease,border-color .2s ease; }
.e-con.c2fg-card:hover { background:rgba(12,22,38,.70); border-color:rgba(255,255,255,.30); box-shadow:0 14px 30px rgba(0,0,0,.28); transform:translateY(-3px); }
.c2fg-ic { width:46px; height:46px; border-radius:12px; background:rgba(229,28,115,.20); color:#ff6fae; display:flex; align-items:center; justify-content:center; margin:0 0 15px; }
.c2fg-ic svg { width:23px; height:23px; display:block; }
.c2fg-card h3.elementor-heading-title { font-size:1.06rem; color:#fff; margin:0 0 7px; font-weight:700; }
.c2fg-card p { font-size:.92rem; line-height:1.5; color:rgba(255,255,255,.82); margin:0; }

/* --- "Why European SMEs choose C2" (homepage) ---------------------------------- */
.e-con.c2ba { max-width:1080px; margin:0 auto; color:#12233b; width:100%; }
.elementor-widget.c2ba-lead { text-align:center; max-width:680px !important; margin:0 auto 32px !important; }
.c2ba-lead p { font-size:1.08rem; line-height:1.6; color:#5f6b7a; margin:0; }
.e-con.c2ba-col { border-radius:18px; }
.e-con.c2ba-before { background:#f6f7f9; border:1px solid #e6e8ec; }
.e-con.c2ba-after { background:#0e1b2c; color:#fff; box-shadow:0 16px 40px rgba(14,27,44,.18); position:relative; }
.c2ba-tag { align-self:flex-start; }
.c2ba-tag .elementor-heading-title { display:inline-block; font-family:var(--c2-font-body); font-size:.72rem; font-weight:700; line-height:inherit; letter-spacing:.06em; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin:0 0 16px; }
.c2ba-before .c2ba-tag .elementor-heading-title { background:#e9ecf1; color:#565e6b; }
.c2ba-after .c2ba-tag .elementor-heading-title { background:var(--c2-pink); color:#fff; }
.c2ba-col h3.elementor-heading-title { font-size:1.25rem; margin:0 0 18px; font-weight:800; }
.c2ba-before h3.elementor-heading-title { color:#0e1b2c; }
.c2ba-after h3.elementor-heading-title { color:#fff; }
ul.c2ba-list { list-style:none; margin:0; padding:0 !important; }
.c2ba-list li { position:relative; padding:0 0 15px 38px; font-size:.98rem; line-height:1.5; }
.c2ba-list li:last-child { padding-bottom:0; }
.c2ba-list li b { font-weight:700; }
.c2ba-before li { color:#54606e; }
.c2ba-after li { color:#dce3ec; }
.c2ba-after li b { color:#fff; }
.c2ba-list li::before { position:absolute; left:0; top:1px; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.82rem; font-weight:800; }
.c2ba-before li::before { content:"\2715"; background:#fbe3e3; color:#c0392b; }
.c2ba-after li::before { content:"\2713"; background:rgba(127,227,196,.16); color:#7fe3c4; }
.e-con.c2ba-cta { margin-top:28px; }

/* --- Results strip (homepage) -------------------------------------------------- */
.e-con.c2proof { background:linear-gradient(135deg,#1b1147 0%,#141038 58%,#0a0629 100%); color:#fff; }
.e-con.c2proof-stat { text-align:center; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.04); }
.c2proof-n .elementor-heading-title { font-family:var(--c2-font-body); font-size:2.3rem; font-weight:800; line-height:1.1; color:#fff; }
.c2proof-n .elementor-heading-title span { color:#7fe3c4; }
.c2proof-l p { font-size:.95rem; color:rgba(255,255,255,.78); margin:0; line-height:1.45; }
.e-con.c2proof-quote { max-width:760px; margin:0 auto; text-align:center; }
.c2proof-bq blockquote { font-size:1.18rem; line-height:1.6; color:#fff; margin:0; font-style:normal; font-weight:600; border:0; padding:0; }
.c2proof-cite cite { font-style:normal; font-size:.9rem; color:rgba(255,255,255,.65); }
@media (max-width:767px) { .c2proof-n .elementor-heading-title { font-size:2rem; } .c2proof-bq blockquote { font-size:1.05rem; } }

/* --- Pricing FAQ (grid, every answer open) -------------------------------------- */
.e-con.c2-faq-item { border:1px solid #D2D2D2; border-radius:2px; }
.e-con.c2-faq-item > .elementor-widget { padding:10px; }
.c2-faq-q .elementor-heading-title { font-family:var(--c2-font-body); font-size:inherit; font-weight:400; line-height:inherit; }

/* --- Book a demo --------------------------------------------------------------- */
.e-con.c2bd-hero { position:relative; overflow:hidden; text-align:center; color:#fff; background:#0e1b2c; }
.c2bd-lead p { font-size:1.1rem; line-height:1.6; margin:0 auto; max-width:640px; color:#dbe2ea; }
.c2bd-chip .elementor-heading-title { display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.18); color:#fff; font-family:var(--c2-font-body); font-size:.85rem; font-weight:600; line-height:inherit; padding:8px 14px; border-radius:999px; }
.c2bd-chip .elementor-heading-title b { color:#7fe3c4; font-weight:800; }
.c2bd-value { color:#12233b; }
.c2bd-value h2.elementor-heading-title, .c2bd-booking-head h2.elementor-heading-title { font-size:1.5rem; color:#0e1b2c; margin:0 0 18px; font-weight:800; }
ul.c2bd-list { list-style:none; margin:0 0 28px; padding:0 !important; }
.c2bd-list li { position:relative; padding:0 0 16px 34px; font-size:1rem; line-height:1.5; }
.c2bd-list li:last-child { padding-bottom:0; }
.c2bd-list li::before { content:"\2713"; position:absolute; left:0; top:0; width:24px; height:24px; border-radius:50%; background:#e1f5ee; color:#0f6e56; font-weight:800; font-size:.8rem; display:flex; align-items:center; justify-content:center; }
.c2bd-list li b { color:#0e1b2c; }
.e-con.c2bd-trust { font-size:.9rem; color:#5f6b7a; border-top:1px solid #e6e8ec; border-bottom:1px solid #e6e8ec; margin:0 0 24px; }
.e-con.c2bd-trust .elementor-widget-heading .elementor-heading-title { font-family:var(--c2-font-body); font-size:.9rem; font-weight:400; line-height:27.2px; color:#5f6b7a; }
@media (max-width:976px) { .e-con.c2bd-trust .elementor-widget-heading .elementor-heading-title { line-height:19.5px; } }
.e-con.c2bd-quote { background:#f7f9fb; border-radius:14px; }
.c2bd-quote p { font-size:1rem; line-height:1.55; color:#12233b; margin:0; font-style:italic; font-weight:600; }
.c2bd-quote cite { line-height:21.6px; }
.c2bd-quote cite { font-style:normal; font-weight:700; color:#0e1b2c; font-size:.9rem; }
.c2bd-booking-head { margin:0 0 14px; }
.c2bd-booking-head p { font-size:.95rem; color:#5f6b7a; margin:0; }
.c2bd-faq { color:#12233b; margin-top:8px; }
.c2bd-band p { background:#0e1b2c; color:#fff; border-radius:14px; padding:16px 22px; text-align:center; font-size:.95rem; margin:0 0 28px; }
.c2bd-band b { color:#7fe3c4; }
.c2bd-faq > .elementor-widget-heading h2.elementor-heading-title { font-size:1.4rem; color:#0e1b2c; text-align:center; margin:0 0 20px; font-weight:800; }
.e-con.c2bd-faq-item { border:1px solid #e6e8ec; border-radius:12px; }
.c2bd-faq-item h3.elementor-heading-title { font-size:1rem; color:#0e1b2c; margin:0; font-weight:700; }
.c2bd-faq-item p { font-size:.92rem; color:#5f6b7a; line-height:1.5; margin:0; }

/* --- Blog: HR Insights hub, category archives, single posts ------------------------ */
.c2-breadcrumbs { font-size:.9rem; margin:24px 0 8px; color:#666; }
nav.c2-breadcrumbs a { color:#666; text-decoration:none; }
.c2-breadcrumbs a:hover { text-decoration:underline; }
.c2-breadcrumbs .sep { margin:0 8px; color:#bbb; }
.c2-breadcrumbs .current { color:#222; font-weight:600; }
.c2-archive-intro { margin:0 auto; padding:20px 0; max-width:760px; color:#555; font-size:1.05rem; line-height:1.6; text-align:center; }
.c2-cat-filter { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 36px; }
a.c2-cat-pill { display:inline-block; padding:8px 18px; border-radius:var(--c2-radius-pill); border:1px solid #e2e2e2; background:#fff; color:#333; font-size:.9rem; font-weight:600; text-decoration:none; transition:border-color .15s ease,color .15s ease,background .15s ease; }
a.c2-cat-pill:hover { border-color:var(--c2-pink); color:var(--c2-pink); }
a.c2-cat-pill.is-active { background:var(--c2-pink); border-color:var(--c2-pink); color:#fff; }
/* blog card (loop item "c2-card"): badge top right over the image, centred text */
.e-con.c2-card { position:relative; border:1px solid #ececec; border-radius:var(--c2-radius); overflow:hidden; background:#fff; transition:box-shadow .2s ease,transform .2s ease; height:100%; }
.e-con.c2-card:hover { box-shadow:0 6px 20px rgba(0,0,0,.08); transform:translateY(-2px); }
.c2-card-thumb img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; background:#f5f5f5; }
/* a post without a featured image keeps the grey 16:9 box the theme drew */
/* (Elementor draws a container's background overlay with an absolutely positioned ::before; here it becomes the box) */
.e-con.c2-card:not(:has(.c2-card-thumb img))::before { content:"" !important; display:block !important; position:static !important; inset:auto !important;
	width:100% !important; height:auto !important; aspect-ratio:16/9; background:#f5f5f5 !important; opacity:1 !important; flex:0 0 auto; }
.c2-card-badge { position:absolute; top:10px; right:10px; z-index:2; }
.c2-card-badge .elementor-post-info__terms-list-item, .c2-card-badge a { display:inline-block; background:rgba(14,27,44,.9); color:#fff !important; font-size:.68rem; font-weight:600; letter-spacing:.03em; text-transform:uppercase; padding:4px 10px; border-radius:var(--c2-radius-pill); text-decoration:none; line-height:1.7; }
.c2-card-body { text-align:center; }
.c2-card-title .elementor-heading-title { font-size:1.05rem; line-height:1.35; margin:0 0 8px; }
.c2-card-title .elementor-heading-title a { color:inherit; text-decoration:none; }
.c2-card-title .elementor-heading-title a::after { content:""; position:absolute; inset:0; z-index:3; }
.c2-card-date .elementor-post-info, .c2-card-date .elementor-icon-list-text { font-size:.8rem; color:var(--c2-meta); }
.c2-card-date .elementor-icon-list-item { margin:0 !important; }
.elementor-widget.c2-card-excerpt { font-size:.9rem; color:#555; line-height:1.5; margin-top:8px; }
.c2-card-excerpt p { margin:0; }
/* homepage "Latest insights" card (loop item "c2-insight"): the Spectra post grid's look */
.e-con.c2-insight { background:#f6f6f6; text-align:center; height:100%; }
.c2-insight-thumb img { width:100%; height:auto; display:block; }
.c2-insight-tax .elementor-post-info__terms-list-item, .c2-insight-tax a { display:inline-block; color:#F7F9FA !important; background:var(--c2-pink); font-size:14px; font-weight:500; line-height:14px; padding:6px 8px; margin:0 5px 0 0; text-decoration:none; }
.c2-insight > .elementor-widget.c2-insight-tax { margin-bottom:20px !important; }
.c2-insight > .elementor-widget.c2-insight-thumb { width:calc(100% + 20px) !important; max-width:none !important; }
.c2-insight-title .elementor-heading-title a { color:inherit; text-decoration:none; }
.c2-insight-date .elementor-icon-list-text, .c2-insight-date .elementor-post-info { font-size:14px; line-height:23px; color:inherit; }
.c2-insight-excerpt p, .c2-insight-excerpt { font-size:16px; line-height:1.7; margin:0; }
/* pagination */
.c2-pagination .elementor-pagination, .c2-pagination .e-load-more-anchor + nav { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:40px 0 8px; }
.c2-pagination .page-numbers { display:inline-block; min-width:40px; padding:8px 12px; text-align:center; border:1px solid #e2e2e2; border-radius:8px; text-decoration:none; color:#333; font-weight:700; }
.c2-pagination .page-numbers.current { background:var(--c2-pink); color:#fff; border-color:var(--c2-pink); }
.c2-pagination .page-numbers:hover:not(.current) { background:#f5f7fa; }
/* tags (single) */
.c2-post-tags { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:40px 0 0; padding:0; }
.c2-post-tags a, .c2-post-tags .elementor-post-info__terms-list-item { display:inline-block; padding:5px 16px; background:#1e3a8a; color:#fff !important; border-radius:40px; font-size:.8125em; font-weight:500; text-decoration:none; white-space:nowrap; transition:background .15s ease,opacity .15s ease; }
.c2-post-tags a:hover { background:#0f766e; }
.c2-post-tags .elementor-post-info__terms-list { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.c2-post-featured img { width:100%; height:auto; border-radius:14px; display:block; }
.c2-single-content { text-align:left; margin-top:32px; padding:30px 0; }
/* the C2 Theme's article styles (tutorstarter .entry-content, .single-post .entry-content) */
.c2-single-content p { margin:0; padding:10px 0; word-wrap:break-word; line-height:1.8; }
.c2-single-content p::after { content:""; clear:both; display:table; }
.c2-single-content h2, .c2-single-content h4, .c2-single-content h5 { font-family:var(--c2-font-body); line-height:1.6; font-weight:500; margin-bottom:20px; letter-spacing:-.562px; }
.c2-single-content table td, .c2-single-content table th { border:1px solid #eee; }
.c2-single-content iframe { display:block; max-width:100%; margin:0 auto; }
.c2-single-content .has-large-font-size { font-size:1.6875em; }
.c2-single-content .has-background { padding:20px 30px; }
.c2-single-content .wp-block-pullquote p { font-size:1.3em; font-style:italic; line-height:1.3; margin-bottom:.5em; margin-top:.5em; }
.c2-related h2.elementor-heading-title { font-size:1.6rem; margin:56px 0 24px; }
/* bottom CTA (hub, archives, single posts) */
.e-con.c2-post-cta { margin:48px 0 8px; padding:36px 28px !important; border-radius:16px; background:#0e1b2c; color:#fff; text-align:center; }
.c2-post-cta h2.elementor-heading-title { color:#fff; font-size:1.5rem; margin:0 0 8px; }
.c2-post-cta p { color:#d7dde5; margin:0 0 20px; }
.elementor-widget-button.c2-cta-btn .elementor-button { line-height:inherit; padding:14px 28px; border-radius:var(--c2-radius-pill); background:#fff; color:#0e1b2c; font-weight:700; font-size:16px; }
.elementor-widget-button.c2-cta-btn .elementor-button:hover { opacity:.9; }

/* --- Header (Theme Builder "c2-header"): transparent over the hero ---------------------- */
.c2-header { position:absolute !important; top:0; left:0; right:0; z-index:999; background:transparent; }
body.admin-bar .c2-header { top:32px; }
@media (max-width:782px) { body.admin-bar .c2-header { top:46px; } }
body.c2-solid-header .c2-header { position:relative !important; top:0; background:#fff; }
.c2-header .c2-logo--dark, body.c2-solid-header .c2-header .c2-logo--light { display:none; }
body.c2-solid-header .c2-header .c2-logo--dark { display:block; }
body.c2-solid-header .c2-header .elementor-nav-menu--main .elementor-item { color:#3e64de; }
body.c2-solid-header .c2-header .elementor-nav-menu--main .elementor-item:hover,
body.c2-solid-header .c2-header .elementor-nav-menu--main .current-menu-item > .elementor-item { color:#395bca; }
body.c2-solid-header .c2-header .elementor-menu-toggle { color:#0a083b; }
body.c2-solid-header .c2-header .elementor-menu-toggle svg { fill:#0a083b; }
.c2-header .elementor-nav-menu--main .elementor-item { position:relative; }
.c2-header .elementor-nav-menu--main .elementor-nav-menu > li > .elementor-item:after { content:""; position:absolute; bottom:-2px; left:5px; width:0; height:2px; background:#395bca; opacity:0; transition:.3s linear; }
.c2-header .elementor-nav-menu--main .elementor-nav-menu > li:hover > .elementor-item:after,
.c2-header .elementor-nav-menu--main .elementor-nav-menu > li.current-menu-item > .elementor-item:after { width:51.6%; opacity:1; }
.c2-header .elementor-nav-menu--main .sub-menu { padding:24px; border-radius:10px; box-shadow:0 4px 10px rgba(39,57,101,.1); background:#fff; min-width:204px !important; }
/* dropdown as in the C2 Theme: item text lined up under the menu item, 48px per item, darker blue with a thin underline on hover */
.c2-header .elementor-nav-menu--main .sub-menu { margin-left:-19px !important; }
.c2-header .elementor-nav-menu--main .sub-menu li { margin:8px 0; }
.c2-header .elementor-nav-menu--main .sub-menu li:first-child { margin-top:0; }
.c2-header .elementor-nav-menu--main .sub-menu li:last-child { margin-bottom:0; }
.c2-header .elementor-nav-menu--main .sub-menu a.elementor-sub-item { position:relative; padding:5px !important; border:0; line-height:1.2em; transition:color .15s ease; }
.c2-header .elementor-nav-menu--main .sub-menu a.elementor-sub-item::after { content:""; position:absolute; left:5px; bottom:-3px; width:62%; height:1px;
	background:#1950d1; opacity:0; transition:opacity .3s; }
.c2-header .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover,
.c2-header .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus { color:#1950d1 !important; background:transparent !important; }
.c2-header .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover::after,
.c2-header .elementor-nav-menu--main .sub-menu a.elementor-sub-item:focus::after { opacity:1; }
@media (min-width:977px) { .c2-header .elementor-nav-menu--main .trp-language-switcher-container .sub-menu { min-width:150px !important; width:150px; } }
.c2-header .trp-flag-image { margin-right:6px; vertical-align:-1px; }
/* mobile: logo hidden, hamburger left, the menu slides in from the left on white */
@media (max-width:976px) {
	.c2-header .c2-logo { display:none; }
	.c2-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { position:fixed; top:0; left:0; width:300px !important; height:100vh;
		overflow-y:auto; background:#fff; padding:0 20px; margin:0 !important; z-index:99999; box-shadow:0 0 30px rgba(0,0,0,.25); }
	/* closed: Elementor hides the dropdown with max-height:0 and scaleY(0); keep that, and slide in only when the toggle is active */
	.c2-header .elementor-menu-toggle:not(.elementor-active) + .elementor-nav-menu__container { box-shadow:none; padding:0; }
	.c2-header .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container { max-height:100vh !important; transform:none !important; }
	.c2-header .elementor-menu-toggle { position:relative; z-index:100000; }
	/* open: the toggle becomes the round close button at the panel's top right, and the page behind is dimmed */
	.c2-header .elementor-menu-toggle.elementor-active { position:fixed; top:14px; left:252px; width:32px; height:32px; padding:0; border:1px solid #0a083b;
		border-radius:50%; color:#0a083b !important; background:#fff !important; display:flex; align-items:center; justify-content:center; }
	.c2-header .elementor-menu-toggle.elementor-active svg { fill:#0a083b; width:14px; height:14px; }
	.c2-header .elementor-menu-toggle.elementor-active i, .c2-header .elementor-menu-toggle.elementor-active .e-font-icon-svg { color:#0a083b !important; fill:#0a083b !important; font-size:14px; }
	.c2-header:has(.elementor-menu-toggle.elementor-active)::after { content:""; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:99998; }
	.c2-header .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container { padding-top:50px; }
	.c2-header .elementor-nav-menu--dropdown .elementor-nav-menu > li { border-bottom:1px solid #eef0f5; }
	.c2-header .elementor-nav-menu--dropdown .elementor-nav-menu > li > a { margin:0; padding:14px 0 !important; justify-content:space-between; }
	.c2-header .elementor-nav-menu--dropdown .current-menu-item > a { color:#395bca !important; }
	.c2-header .elementor-nav-menu--dropdown a { color:#0a083b !important; background:transparent !important; font-size:13px !important; font-weight:600; text-transform:uppercase;
		line-height:1.2em; margin:10px 0; padding:5px !important; border:0 !important; }
	.c2-header .elementor-nav-menu--dropdown a:hover { color:#1950d1 !important; }
}

/* --- Footer (Theme Builder "c2-footer") ------------------------------------------------- */
.c2-footer { color:#fff; }
.c2-footer .elementor-nav-menu a { padding:0 !important; }
.c2-footer .elementor-nav-menu--layout-vertical .elementor-nav-menu > li > a { line-height:1.78; }
.c2-footer .c2-social a { display:inline-flex; color:#F7F9FA; }
.c2-footer .c2-social svg { width:24px; height:24px; fill:currentColor; }
.c2-footer .c2-copyright p { text-align:center; padding-right:10px; }

/* --- Gravity Forms, plugins (the C2 Theme's Additional CSS) -------------------------------- */
#cmplz-document { max-width:1140px; padding:10px; }
.plyr__control--overlaid { background:#3e64de !important; }
.plyr--full-ui input[type=range] { color:#3e64de !important; }
.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] { background:#3e64de !important; }
.uagb-toc__list-wrap ol li a { text-decoration:none !important; }
.mwai-icon-container { width:48px; height:48px; background:radial-gradient(circle, #3e64de); border-radius:50%; display:flex; justify-content:center; align-items:center; }
.mwai-icon-container .mwai-icon { width:32px; }
.tp-widget-wrapper { text-align:left !important; }
.ginput_container_email input, .ginput_container_email input.input-width-strech, .ginput_container input.input-width-strech { width:100% !important; max-width:480px; box-sizing:border-box; }
.fcal_loading, .fluent-booking-loading { visibility:hidden; position:relative; }
.fcal_loading::after { visibility:visible; content:"Fetching available times…"; }
.gform-button, .gform-button:visited, .gform_wrapper .gform-button, #gform_submit_button_1 {
	display:inline-block; background-color:var(--c2-pink) !important; color:#fff !important; border-color:var(--c2-pink) !important;
	font-family:inherit; font-weight:700 !important; font-size:1rem !important; line-height:1.2 !important; padding:14px 30px !important;
	border:none !important; border-radius:var(--c2-radius-pill) !important; text-decoration:none !important; text-align:center; cursor:pointer;
	box-shadow:none !important; transition:background-color .15s ease;
}
.gform-button:hover, .gform-button:focus { background-color:var(--c2-pink-hover) !important; }
.c2-gform, .c2-booking { width:100%; }
.c2-gform label a { color:inherit; text-decoration:none; }
.c2ba-btn, .c2badge, .uagb-post__taxonomy.highlighted, .uagb-post__taxonomy.highlighted a { background-color:var(--c2-pink) !important; color:#fff !important; border-color:var(--c2-pink) !important; }
.gutensuite-reviewkit-reviews__item-author, .gutensuite-reviewkit-reviews__item-time, .c2tg-y, .c2ba-before .c2ba-tag { color:#565e6b !important; }
/* AI Engine chat: the consent and send buttons keep white text */
.mwai-chatbot-container .mwai-gdpr-buttons button, .mwai-chatbot-container .mwai-gdpr-buttons button:hover { color:#fff; }

/* --- Cookie Policy (EU): cookie table and the button that reopens the Cookiez preferences --------------------- */
.c2-prose .c2-cookie-table { width:100%; border-collapse:collapse; margin:0; font-size:15px; }
.c2-prose .c2-cookie-table th { background:var(--c2-indigo); color:#fff; font-weight:600; text-align:left; padding:12px 14px; }
.c2-prose .c2-cookie-table td { padding:12px 14px; border-top:1px solid #dfe3ee; vertical-align:top; background:#fff; }
.c2-prose .c2-cookie-table td:first-child { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; white-space:nowrap; }
@media (max-width:767px) { .c2-prose .c2-cookie-table { display:block; overflow-x:auto; } }
.c2-prose a.c2-cookie-settings { display:inline-block; background:var(--c2-pink); color:#fff; font-weight:700; padding:12px 26px; border-radius:var(--c2-radius-pill); text-decoration:none; }
.c2-prose a.c2-cookie-settings:hover { background:var(--c2-pink-hover); color:#fff; }
