/*
Theme Name: Peoitaly Recruit
Template: hello-elementor
Version: 0.2.0
Description: Tema figlio di Hello Elementor: font locali, colori e classi condivise del design. Nessun contenuto editoriale: testi e sezioni si gestiscono in Elementor.
*/

@font-face { font-family: "Poppins"; font-weight: 400; font-style: normal; font-display: swap; src: url("assets/fonts/poppins-400.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 500; font-style: normal; font-display: swap; src: url("assets/fonts/poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-weight: 600; font-style: normal; font-display: swap; src: url("assets/fonts/poppins-600.woff2") format("woff2"); }

:root {
	--pr-black: #0a0a0a;
	--pr-blue: #1565b5;
	--pr-blue-hover: #0f4f8f;
	--pr-sky: #b5e1ff;
	--pr-grey: #f3f5f8;
	--pr-blue-light: #eef4fb;
	--pr-card-dark: #141414;
	--pr-border: #e3e6ea;
	--pr-t2: #525252;
	--pr-t3: #404040;
	--pr-d2: #bdbdbd;
	--pr-d3: #a3a3a3;
	--pr-error: #b3261e;
	--pr-gutter: clamp(16px, 4vw, 48px);
	--pr-v: clamp(56px, 7vw, 96px);
	--pr-topbar: 38px;
}

/* ===== Base ===== */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--pr-black); color: var(--pr-black); font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
main { display: block; background: #fff; }
a { color: inherit; text-underline-offset: 3px; }
p { text-wrap: pretty; }
h1, h2, h3, .elementor-heading-title { text-wrap: balance; font-family: inherit; }
:focus-visible { outline: 3px solid var(--pr-blue); outline-offset: 3px; border-radius: 6px; }
.pr-dk :focus-visible, .pr-topbar :focus-visible, .pr-head :focus-visible { outline-color: var(--pr-sky); }
.pr-skip { position: absolute; left: 16px; top: -80px; z-index: 100; background: #fff; color: var(--pr-black); padding: 12px 16px; border-radius: 8px; font-weight: 600; text-decoration: none; }
.pr-skip:focus { top: 12px; }
.pr-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ===== Elementor: azzera gli spazi predefiniti, il layout è dato dalle classi ===== */
.e-con.pr-s, .e-con.pr-w, .e-con.pr-c, .e-con.pr-g, .e-con.pr-r { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; --margin-top: 0; --margin-bottom: 0; --gap: 0; --row-gap: 0; --column-gap: 0; --container-max-width: none; --width: 100%; }
.e-con.pr-s > .elementor-element, .e-con.pr-w > .elementor-element, .e-con.pr-c > .elementor-element, .e-con.pr-g > .elementor-element, .e-con.pr-r > .elementor-element { --width: auto; }
.pr-s .elementor-widget, .pr-w .elementor-widget, .pr-c .elementor-widget { margin: 0; width: 100%; }
.pr-s .elementor-widget:not(:last-child) { margin-block-end: 0; }
.pr-s .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.pr-s .elementor-widget-text-editor p { margin-top: 0; }

/* ===== Sezioni ===== */
.e-con.pr-s { padding: var(--pr-v) var(--pr-gutter); display: block; position: relative; overflow: clip; }
.pr-s--dark { background: var(--pr-black); color: #fff; }
.pr-s--white { background: #fff; color: var(--pr-black); }
.pr-s--grey { background: var(--pr-grey); color: var(--pr-black); }
.pr-s--tint { background: var(--pr-blue-light); color: var(--pr-black); }
.pr-s--blue { background: var(--pr-blue); color: #fff; }
.e-con.pr-s--round { border-radius: clamp(24px, 3vw, 36px) clamp(24px, 3vw, 36px) 0 0; }
.e-con.pr-s--tight { padding-block: clamp(28px, 4vw, 48px) clamp(56px, 7vw, 96px); }
.e-con.pr-w { max-width: 1240px; margin-inline: auto; display: flex; flex-direction: column; gap: clamp(32px, 4vw, 48px); position: relative; }
.e-con.pr-c { display: flex; flex-direction: column; gap: 14px; }
.e-con.pr-c--20 { gap: 20px; }
.e-con.pr-c--28 { gap: 28px; }
.e-con.pr-r { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; align-items: center; }
.e-con.pr-g { display: grid; gap: 16px; width: 100%; }
.pr-g--2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); }
.e-con.pr-g--2 { gap: 20px clamp(32px, 5vw, 80px); }
.e-con.pr-g--2.pr-g--end { align-items: end; }
.pr-g--cards2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); }
.pr-g--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.pr-g--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.e-con.pr-g--4w { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: clamp(24px, 3vw, 40px); }
/* Tablet: griglie regolari, senza card isolata su una riga */
@media (min-width: 768px) and (max-width: 1100px) {
	.e-con.pr-g--4, .e-con.pr-g--4w { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) and (max-width: 1100px) {
	.e-con.pr-g--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) and (max-width: 899px) {
	.e-con.pr-g--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.e-con.pr-g--3 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ===== Tipografia ===== */
.pr-eyebrow, .pr-eyebrow p { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; color: var(--pr-blue); margin: 0; }
.pr-dk .pr-eyebrow, .pr-dk .pr-eyebrow p { color: var(--pr-sky); font-weight: 400; }
.pr-s--blue .pr-eyebrow, .pr-s--blue .pr-eyebrow p, .pr-card--blue .pr-eyebrow p { color: #dcefff; }
.pr-h1 .elementor-heading-title { margin: 0; font-weight: 600; font-size: clamp(38px, 5.4vw, 72px); line-height: 1.04; letter-spacing: -.035em; color: inherit; }
.pr-h1--s .elementor-heading-title { font-size: clamp(36px, 5vw, 66px); line-height: 1.05; }
.pr-h1--m .elementor-heading-title { font-size: clamp(34px, 4.4vw, 56px); line-height: 1.06; }
.pr-h2 .elementor-heading-title { margin: 0; font-weight: 600; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.1; letter-spacing: -.03em; color: inherit; }
.pr-h2--s .elementor-heading-title { font-size: clamp(28px, 3.2vw, 44px); line-height: 1.12; }
.pr-h3 .elementor-heading-title { margin: 0; font-weight: 600; font-size: 22px; letter-spacing: -.02em; line-height: 1.2; color: inherit; }
.pr-h3--l .elementor-heading-title { font-size: clamp(24px, 2.2vw, 30px); }
.pr-h3--xs .elementor-heading-title { font-size: 18px; letter-spacing: 0; }
.pr-h3--s .elementor-heading-title { font-size: 20px; letter-spacing: -.01em; }
.pr-lead { font-size: clamp(17px, 1.45vw, 20px); line-height: 1.6; color: #d4d4d4; max-width: 50ch; }
.pr-txt { font-size: 17px; line-height: 1.65; color: #333; max-width: 60ch; }
.pr-dk .pr-txt { color: var(--pr-d2); }
.pr-s--blue .pr-txt { color: #eef6ff; }
.pr-small { font-size: 15px; line-height: 1.6; color: var(--pr-t3); }
.pr-dk .pr-small { color: var(--pr-d2); }
.pr-small b, .pr-small strong { font-weight: 600; color: var(--pr-black); }
.pr-big-num { font-weight: 600; font-size: 40px; line-height: 1; letter-spacing: -.04em; color: var(--pr-blue); }
.pr-big-num p { margin: 0; }
.pr-dk .pr-big-num { color: var(--pr-sky); font-size: 44px; }
.pr-num { font-size: 13px; font-weight: 600; color: var(--pr-blue); }
.pr-num p { margin: 0; }

/* ===== Link e pulsanti ===== */
.pr-link a { font-weight: 600; color: var(--pr-blue); text-decoration: none; }
.pr-link a:hover { text-decoration: underline; }
.pr-dk .pr-link a { color: var(--pr-sky); }
.pr-txt a, .pr-small a { color: var(--pr-blue); font-weight: 500; text-decoration: none; }
.pr-txt a:hover, .pr-small a:hover { text-decoration: underline; }
.pr-dk .pr-small a { color: var(--pr-sky); }
.pr-s--blue .pr-link a, .pr-s--blue .pr-small a { color: #fff; font-weight: 500; }

.pr-b { width: auto !important; }
.pr-b .elementor-button { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; padding: 0 22px; border-radius: 10px; font: 600 16px "Poppins", system-ui, sans-serif; text-decoration: none; background: transparent; color: inherit; transition: background .2s, box-shadow .2s; }
.pr-b .elementor-button .elementor-button-text::after { content: " →"; }
.pr-b--p .elementor-button { background: var(--pr-blue); color: #fff; }
.pr-b--p .elementor-button:hover, .pr-b--p .elementor-button:focus { background: var(--pr-blue-hover); color: #fff; }
.pr-b--k .elementor-button { background: var(--pr-black); color: #fff; }
.pr-b--k .elementor-button:hover, .pr-b--k .elementor-button:focus { background: #000; color: #fff; }
.pr-b--w .elementor-button { background: #fff; color: var(--pr-black); }
.pr-b--w .elementor-button:hover, .pr-b--w .elementor-button:focus { background: var(--pr-blue-light); color: var(--pr-black); }
.pr-b--o .elementor-button { box-shadow: inset 0 0 0 1px var(--pr-black); color: var(--pr-black); }
.pr-b--o .elementor-button:hover, .pr-b--o .elementor-button:focus { box-shadow: inset 0 0 0 1.5px var(--pr-black); color: var(--pr-black); }
.pr-b--ow .elementor-button { box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); color: #fff; }
.pr-b--ow .elementor-button:hover, .pr-b--ow .elementor-button:focus { box-shadow: inset 0 0 0 1.5px #fff; color: #fff; }
.pr-b.pr-b--o .elementor-button .elementor-button-text::after, .pr-b.pr-b--ow .elementor-button .elementor-button-text::after { content: ""; }

/* ===== Card ===== */
.e-con.pr-card { display: flex; flex-direction: column; gap: 14px; border-radius: 20px; padding: clamp(24px, 2.6vw, 36px); }
.pr-card--line { border: 1px solid var(--pr-border); transition: border-color .2s; }
.pr-card--line:hover { border-color: var(--pr-blue); }
.pr-card--dark { background: var(--pr-card-dark); border: 1px solid rgba(255,255,255,.1); }
.pr-card--white { background: #fff; }
.pr-card--blue { background: var(--pr-blue); color: #fff; }
.pr-card--grey { background: var(--pr-grey); }
.pr-top-line.e-con { border-top: 2px solid var(--pr-black); padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.pr-top-blue.e-con { border-top: 2px solid var(--pr-blue); padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.pr-push { margin-top: auto !important; }
.pr-card .pr-small { flex: 0 0 auto; }

/* Liste */
.pr-list ul { list-style: none; margin: 8px 0 0; padding: 0; font-size: 15px; }
.pr-list li { padding: 11px 0; border-top: 1px solid rgba(255,255,255,.12); }
.pr-numlist ul, .pr-numlist ol { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--pr-black); counter-reset: n; }
.pr-numlist li { counter-increment: n; display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12px; padding: 20px 0; border-bottom: 1px solid var(--pr-border); font-size: 17px; line-height: 1.55; }
.pr-numlist li::before { content: counter(n, decimal-leading-zero); font-size: 13px; font-weight: 600; color: var(--pr-blue); padding-top: 3px; }
.pr-checks ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; font-size: 16px; line-height: 1.55; color: #262626; }
.pr-checks li { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 8px; }
.pr-checks li::before { content: "✓"; color: var(--pr-blue); font-weight: 600; }
.pr-ricevi { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--pr-border); font-size: 14px; color: var(--pr-t2); }
.pr-ricevi p { margin: 0; }
.pr-ricevi b { font-weight: 600; color: var(--pr-black); }

/* In breve */
.e-con.pr-breve { background: var(--pr-card-dark); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; padding: clamp(22px, 2.6vw, 32px); }
.pr-breve dl { margin: 0; }
.pr-breve dl > div { display: grid; grid-template-columns: minmax(84px, 28%) minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.pr-breve dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.pr-breve dt { color: var(--pr-d3); font-size: 14px; font-weight: 400; }
.pr-breve dd { margin: 0; font-size: 15px; line-height: 1.55; color: #fff; }
.pr-breve a { color: var(--pr-sky); text-decoration: none; }
.pr-breve a:hover { text-decoration: underline; }

/* Tabella confronto */
.pr-table { overflow-x: auto; border-radius: 16px; border: 1px solid var(--pr-border); }
.pr-table table { width: 100%; min-width: 640px; border-collapse: collapse; margin: 0; }
.pr-table th, .pr-table td { padding: 16px 18px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--pr-border); font-size: 15px; line-height: 1.55; background: transparent !important; }
.pr-table thead th { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--pr-t2); font-weight: 500; border-bottom: 2px solid var(--pr-black); }
.pr-table tbody th { font-weight: 600; width: 28%; }
.pr-table tbody tr:last-child > * { border-bottom: 0; }

/* FAQ: widget Accordion di Elementor */
.pr-faq .elementor-accordion { border-top: 2px solid var(--pr-black); }
.pr-faq .elementor-accordion-item { border: 0 !important; border-bottom: 1px solid var(--pr-border) !important; }
.pr-s--grey .pr-faq .elementor-accordion-item { border-bottom-color: #d9dee5 !important; }
.pr-faq .elementor-tab-title { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0 !important; border: 0 !important; cursor: pointer; }
.pr-faq .elementor-accordion-title { font: 600 clamp(17px, 1.4vw, 19px)/1.4 "Poppins", system-ui, sans-serif; color: var(--pr-black) !important; }
.pr-faq .elementor-accordion-icon { flex: none; width: 32px; height: 32px; border-radius: 8px; background: var(--pr-grey); display: grid !important; place-items: center; color: var(--pr-blue) !important; font-size: 16px; float: none !important; }
.pr-s--grey .pr-faq .elementor-accordion-icon { background: #fff; }
.pr-faq .elementor-accordion-icon svg { fill: currentColor; width: 14px; height: 14px; }
.pr-faq .elementor-tab-content { padding: 0 48px 22px 0 !important; border: 0 !important; font-size: 16px; line-height: 1.7; color: var(--pr-t3); }
.pr-faq .elementor-tab-content p { margin: 0; }
.pr-faq .elementor-tab-content a { color: var(--pr-blue); font-weight: 500; }

/* Etichetta testi non validati */
.pr-tbv p, .pr-tbv { margin: 0; }
.pr-tbv { font-size: 12px; color: var(--pr-t2); }
.pr-tbv span, .pr-badge { display: inline-block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; background: var(--pr-black); color: #fff; padding: 3px 8px; border-radius: 5px; }
.pr-note.e-con, .pr-note { border: 1.5px dashed #b9c2cf; border-radius: 14px; padding: 16px 18px; font-size: 14px; line-height: 1.6; color: var(--pr-t3); display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.pr-note p { margin: 0; }
.pr-dk .pr-tbv { color: var(--pr-d2); }
.pr-dk .pr-tbv span { background: #fff; color: var(--pr-black); }

/* ===== Hero e globo ===== */
.pr-hero.e-con { padding: 0; }
.pr-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 60% at 78% 45%, rgba(21,101,181,.30), rgba(10,10,10,0) 70%); pointer-events: none; }
.pr-hero--svc::before { background: radial-gradient(45% 70% at 90% 0%, rgba(21,101,181,.32), rgba(10,10,10,0) 70%); }
.e-con.pr-hero-in { padding: clamp(40px, 5vw, 72px) var(--pr-gutter) clamp(44px, 5vw, 72px); max-width: 1336px; margin-inline: auto; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); align-items: center; position: relative; }
.e-con.pr-hero-in--svc { padding: clamp(28px, 4vw, 48px) var(--pr-gutter) clamp(56px, 7vw, 96px); display: flex; flex-direction: column; align-items: stretch; }
.e-con.pr-hero-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: clamp(28px, 5vw, 72px); align-items: end; }
.pr-globe, .pr-globe .elementor-widget-container { width: 100%; }
.pr-globe-slot { width: 100%; max-width: 440px; margin-inline: auto; aspect-ratio: 1 / 1; }
.pr-globe-slot canvas { width: 100%; height: 100%; display: block; }
@media (max-width: 1100px) { .pr-globe-slot { max-width: 240px; } .e-con.pr-hero-in:not(.pr-hero-in--svc) { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) { .pr-globe { display: none !important; } }

/* ===== Barra marchio, header, menu ===== */
.elementor-location-header { position: sticky; top: calc(var(--pr-topbar) * -1); z-index: 40; }
.e-con.pr-topbar { background: #060606; border-bottom: 1px solid rgba(255,255,255,.08); color: var(--pr-d2); font-size: 13px; padding: 0 var(--pr-gutter); min-height: var(--pr-topbar); justify-content: center; }
.pr-topbar p { margin: 0; }
.pr-topbar a { color: var(--pr-sky); text-decoration: none; }
.pr-topbar a:hover { text-decoration: underline; }
.e-con.pr-topbar-in { max-width: 1240px; margin-inline: auto; display: flex; flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; width: 100%; }
.pr-topbar .elementor-widget { width: auto; }
.pr-lang { display: flex; gap: 4px; align-items: center; }
.pr-lang a, .pr-lang span { padding: 4px 8px; color: var(--pr-d2); }
.pr-lang [aria-current] { color: #fff; font-weight: 600; }
.pr-head { background: rgba(10,10,10,.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,.08); color: #fff; }
.pr-head__in { max-width: 1240px; margin: 0 auto; padding: 14px var(--pr-gutter); display: flex; align-items: center; gap: 20px; }
.pr-head__logo { display: flex; align-items: center; flex: none; }
.pr-head__logo img { height: 25px; width: auto; display: block; }
.pr-nav { margin-left: auto; display: flex; align-items: center; gap: 2px; font-size: 15px; list-style: none; padding: 0; margin-block: 0; }
.pr-nav a { display: block; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: #fff; transition: background .2s; white-space: nowrap; }
.pr-nav a:hover { background: rgba(255,255,255,.08); }
.pr-nav .current-menu-item > a, .pr-nav .current-menu-ancestor > a, .pr-nav .current-page-ancestor > a { color: var(--pr-sky); background: rgba(255,255,255,.08); }
.pr-nav .pr-sep { margin-left: 17px; position: relative; }
.pr-nav .pr-sep::before { content: ""; position: absolute; left: -9px; top: 9px; bottom: 9px; width: 1px; background: rgba(255,255,255,.18); }
.pr-nav .pr-cta > a, .pr-nav .pr-cta.current-menu-item > a { margin-left: 8px; padding: 11px 18px; border-radius: 10px; background: var(--pr-blue); color: #fff; font-weight: 600; }
.pr-nav .pr-cta > a:hover { background: var(--pr-blue-hover); }
.pr-nav .pr-mobile-only { display: none; }
.pr-burger { display: none; margin-left: auto; min-height: 44px; padding: 0 16px; border-radius: 10px; border: 1px solid rgba(255,255,255,.22); background: transparent; color: #fff; font: 500 15px "Poppins", system-ui, sans-serif; align-items: center; gap: 10px; cursor: pointer; }
.pr-burger:hover, .pr-burger:focus { background: rgba(255,255,255,.08); color: #fff; }
.pr-burger i { display: block; width: 16px; height: 1.5px; background: #fff; margin: 3px 0; }
.pr-mnav { border-top: 1px solid rgba(255,255,255,.1); background: var(--pr-black); padding: 8px var(--pr-gutter) 24px; max-height: calc(100dvh - 72px); overflow: auto; }
.pr-mnav[hidden] { display: none; }
.pr-mnav ul { list-style: none; margin: 0; padding: 0; }
.pr-mnav__g { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--pr-d3); padding: 16px 0 4px; }
.pr-mnav li:not(.pr-cta):not(.pr-outline) > a { display: flex; justify-content: space-between; align-items: center; min-height: 52px; font-size: 20px; font-weight: 500; border-bottom: 1px solid rgba(255,255,255,.1); text-decoration: none; color: #fff; }
.pr-mnav li:not(.pr-cta):not(.pr-outline) > a::after { content: "→"; color: var(--pr-d3); }
.pr-mnav__act { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.pr-mnav__act a { display: flex; justify-content: center; align-items: center; min-height: 52px; border-radius: 10px; font-weight: 600; text-decoration: none; color: #fff; }
.pr-mnav__act .pr-cta a { background: var(--pr-blue); }
.pr-mnav__act .pr-outline a { box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); }
@media (max-width: 1100px) { .pr-nav { display: none; } .pr-burger { display: flex; } }

/* Breadcrumb */
.pr-bc { font-size: 14px; color: var(--pr-t2); }
.pr-dk .pr-bc { color: var(--pr-d2); }
.pr-bc ol { list-style: none; margin: 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.pr-bc a { text-decoration: none; color: inherit; }
.pr-bc a:hover { text-decoration: underline; }
.pr-bc [aria-current] { color: var(--pr-black); }
.pr-dk .pr-bc [aria-current] { color: #fff; }

/* ===== Footer ===== */
.e-con.pr-foot { background: var(--pr-black); color: #fff; padding: clamp(56px, 7vw, 88px) var(--pr-gutter) 28px; overflow: hidden; }
.e-con.pr-foot .pr-w { gap: 40px; }
.pr-foot .e-con.pr-g--foot { grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 32px; }
@media (min-width: 768px) and (max-width: 899px) { .pr-foot .e-con.pr-g--foot { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pr-foot-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; font-size: 15px; }
.pr-foot-col a { display: inline-block; padding: 5px 0; text-decoration: none; color: #fff; }
.pr-foot-col a:hover { text-decoration: underline; }
.pr-foot-title .elementor-heading-title { font-size: 12px; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; color: var(--pr-sky); margin: 0 0 4px; }
.pr-foot-logo img { height: 28px; width: auto; display: block; }
.pr-foot-claim { color: var(--pr-d2); font-size: 15px; line-height: 1.6; max-width: 32ch; }
.pr-foot-auth { border: 1px solid rgba(255,255,255,.14); border-radius: 16px; padding: 20px 22px; font-size: 14px; line-height: 1.55; color: var(--pr-d2); }
.pr-foot-auth .pr-auth-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px 32px; }
.pr-foot-auth p { margin: 0; }
.pr-foot-auth .pr-auth-lead { color: #e5e5e5; grid-column: 1 / -1; }
.pr-foot-auth b { color: #fff; font-weight: 600; }
.pr-foot-auth a { color: var(--pr-sky); text-decoration: none; }
.pr-foot-auth a:hover { text-decoration: underline; }
.pr-foot-word { font-weight: 600; font-size: clamp(64px, 15vw, 220px); line-height: .8; letter-spacing: -.06em; color: #151515; white-space: nowrap; user-select: none; }
.pr-foot-word p { margin: 0; }
.pr-foot-legal { font-size: 13px; line-height: 1.7; color: var(--pr-d3); }
.pr-foot-legal .pr-legal-row { display: flex; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; }
.pr-foot-legal p { margin: 0; max-width: 80ch; }
.pr-foot-legal ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px; flex-wrap: wrap; }
.pr-foot-legal a { color: inherit; text-decoration: none; display: inline-block; padding: 4px 0; }
.pr-foot-legal a:hover { text-decoration: underline; }

/* ===== Modulo aziende ===== */
.pr-form-page.e-con { align-items: flex-start; }
.e-con.pr-form-g { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; align-items: start; }
.e-con.pr-form-head, .e-con.pr-form-after { gap: 24px; min-width: 0; width: auto; }
.e-con.pr-form-main { min-width: 0; width: auto; }
/* Da computer: testo a sinistra, modulo a destra. Su mobile e tablet: titolo, modulo, poi gli approfondimenti. */
@media (min-width: 1000px) {
	.e-con.pr-form-g { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); grid-template-rows: auto 1fr; gap: 32px clamp(32px, 5vw, 72px); }
	.e-con.pr-form-head { grid-column: 1; grid-row: 1; }
	.e-con.pr-form-main { grid-column: 2; grid-row: 1 / span 2; }
	.e-con.pr-form-after { grid-column: 1; grid-row: 2; }
}
.pr-steps-box { border-top: 2px solid var(--pr-black); }
.pr-steps-box h2 { margin: 18px 0 6px; font-size: 17px; font-weight: 600; }
.pr-steps-box ol { margin: 0; padding: 0; list-style: none; counter-reset: n; }
.pr-steps-box li { counter-increment: n; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; padding: 14px 0; border-bottom: 1px solid #d9dee5; font-size: 15px; line-height: 1.55; }
.pr-steps-box li::before { content: counter(n, decimal-leading-zero); font-weight: 600; color: var(--pr-blue); }
.e-con.pr-aside-box { background: #fff; border: 1px solid #d9dee5; border-radius: 16px; padding: 18px 20px; gap: 8px; }
.pr-form-card { background: #fff; border-radius: 24px; padding: clamp(20px, 3vw, 40px); display: flex; flex-direction: column; gap: 24px; box-shadow: 0 30px 60px -40px rgba(10,10,10,.35); color: var(--pr-black); }
.pr-form-card h2 { margin: 0; font-weight: 600; font-size: 24px; letter-spacing: -.02em; }
.pr-form-card .pr-form-sub { margin: 6px 0 0; font-size: 14px; color: var(--pr-t2); }
.pr-demo { border: 1.5px dashed var(--pr-blue); background: var(--pr-blue-light); border-radius: 14px; padding: 12px 16px; font-size: 14px; line-height: 1.55; color: #123; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.pr-demo p { margin: 0; }
.pr-fld { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.pr-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; }
.pr-lbl { font-size: 15px; font-weight: 500; color: var(--pr-black); }
.pr-hint { margin: 0; font-size: 14px; color: var(--pr-t2); }
.pr-input { font: 16px "Poppins", system-ui, sans-serif; color: var(--pr-black); background: #fff; border: 1.5px solid #858b94; border-radius: 10px; padding: 12px 14px; min-height: 50px; width: 100%; box-sizing: border-box; }
textarea.pr-input { resize: vertical; line-height: 1.5; }
.pr-input:focus { border-color: var(--pr-blue); outline: 3px solid rgba(21,101,181,.25); outline-offset: 0; }
.pr-input[aria-invalid="true"] { border-color: var(--pr-error); }
.pr-input[aria-invalid="true"]:focus { outline-color: rgba(179,38,30,.25); }
.pr-err { margin: 0; font-size: 14px; color: var(--pr-error); font-weight: 500; }
.pr-err[hidden] { display: none; }
.pr-sum { border: 2px solid var(--pr-error); background: #fdf3f2; border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.pr-sum[hidden] { display: none; }
.pr-sum h3 { margin: 0; font-size: 16px; font-weight: 600; color: #8c1d18; }
.pr-sum ul { margin: 0; padding-left: 20px; font-size: 15px; display: flex; flex-direction: column; gap: 4px; }
.pr-sum a { color: #8c1d18; font-weight: 500; }
.pr-more { border: 1.5px solid #d4d8de; border-radius: 14px; }
.pr-more summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 52px; padding: 10px 16px; font-weight: 500; font-size: 15px; }
.pr-more summary::-webkit-details-marker { display: none; }
.pr-more summary small { display: block; font-weight: 400; font-size: 13px; color: var(--pr-t2); }
.pr-more summary::after { content: "+"; flex: none; width: 30px; height: 30px; border-radius: 8px; background: var(--pr-grey); display: grid; place-items: center; color: var(--pr-blue); font-size: 20px; transition: transform .2s; }
.pr-more[open] summary::after { transform: rotate(45deg); }
.pr-more__in { padding: 6px 16px 18px; display: flex; flex-direction: column; gap: 18px; }
.pr-fs { border: 0; margin: 0; padding: 0; min-width: 0; }
.pr-fs legend { padding: 0; margin-bottom: 10px; font-size: 15px; font-weight: 500; }
.pr-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.pr-opt { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border: 1.5px solid #d4d8de; border-radius: 10px; cursor: pointer; font-size: 15px; }
.pr-opt:has(input:checked) { border-color: var(--pr-blue); background: var(--pr-blue-light); }
.pr-opt input { width: 18px; height: 18px; margin: 0; accent-color: var(--pr-blue); }
.pr-chk { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 10px; align-items: start; min-height: 24px; font-size: 15px; line-height: 1.5; cursor: pointer; }
.pr-chk input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--pr-blue); }
.pr-chk a { color: var(--pr-blue); font-weight: 500; }
.pr-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pr-send { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.pr-send button { display: inline-flex; align-items: center; gap: 14px; min-height: 52px; background: var(--pr-blue); color: #fff; border: 0; border-radius: 10px; padding: 0 22px; font: 600 16px "Poppins", system-ui, sans-serif; cursor: pointer; transition: background .2s; }
.pr-send button:hover, .pr-send button:focus { background: var(--pr-blue-hover); color: #fff; }
.pr-send button[disabled] { opacity: .7; cursor: progress; }
.pr-status { font-size: 14px; color: var(--pr-t2); }
.pr-senderr { border: 2px solid var(--pr-error); background: #fdf3f2; border-radius: 14px; padding: 16px 18px; font-size: 15px; line-height: 1.6; color: #5c1410; }
.pr-senderr[hidden] { display: none; }
.pr-senderr a { font-weight: 600; color: inherit; }
.pr-ok[hidden] { display: none; }
.pr-ok h2:focus { outline: none; }
.pr-ok p { margin: 0; font-size: 17px; line-height: 1.65; color: #333; }
.pr-ok__mark { width: 52px; height: 52px; border-radius: 14px; background: var(--pr-blue); color: #fff; display: grid; place-items: center; font-size: 26px; font-weight: 600; }
.pr-ok__act { display: flex; gap: 12px; flex-wrap: wrap; }
.pr-ok__act a, .pr-ok__act button { display: inline-flex; align-items: center; min-height: 48px; border-radius: 10px; padding: 0 20px; font: 600 15px "Poppins", system-ui, sans-serif; text-decoration: none; cursor: pointer; }
.pr-ok__act a { background: var(--pr-black); color: #fff; }
.pr-ok__act button { background: transparent; border: 0; box-shadow: inset 0 0 0 1px var(--pr-black); color: var(--pr-black); }
.pr-ok__act button:hover, .pr-ok__act button:focus { background: var(--pr-grey); color: var(--pr-black); }

/* ===== Offerte ===== */
.pr-jobs-filter { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 16px; margin: 0 0 16px; }
.pr-jobs-filter label { display: flex; flex-direction: column; gap: 6px; font-weight: 500; font-size: 15px; }
.pr-jobs-filter .pr-input { min-height: 48px; }
.pr-jobs-count, .pr-jobs-stale { color: var(--pr-t2); font-size: 14px; margin: 0 0 12px; }
.pr-jobs { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--pr-black); }
.pr-job { border-bottom: 1px solid var(--pr-border); }
.pr-job[hidden] { display: none; }
.pr-job a { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 4px 24px; padding: 18px 8px; color: inherit; text-decoration: none; transition: background .2s; }
.pr-job a:hover { background: var(--pr-blue-light); }
.pr-job strong { font-weight: 600; font-size: 17px; }
.pr-job span { color: var(--pr-t2); font-size: 14px; }
.pr-jobs--mini { border-top: 2px solid var(--pr-black); }
.pr-jobs--mini .pr-job a { flex-direction: column; align-items: flex-start; padding: 14px 0; }
.pr-jobs-note { background: var(--pr-grey); border-radius: 16px; padding: 24px; }
.pr-jobs-note h3 { margin: 0 0 8px; font-size: 18px; font-weight: 600; }
.pr-jobs-note p { margin: 0; line-height: 1.6; }
.pr-jobs-note a { color: var(--pr-blue); font-weight: 500; }
.pr-jobs-none { color: var(--pr-t2); }
.pr-job-page { background: #fff; }
.pr-job-hero { background: var(--pr-black); color: #fff; padding: clamp(28px, 4vw, 48px) var(--pr-gutter) clamp(40px, 5vw, 64px); position: relative; overflow: hidden; }
.pr-job-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(45% 70% at 90% 0%, rgba(21,101,181,.32), rgba(10,10,10,0) 70%); pointer-events: none; }
.pr-job-hero__in { max-width: 1240px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; position: relative; }
.pr-job-hero h1 { margin: 0; font-weight: 600; font-size: clamp(32px, 4.2vw, 56px); line-height: 1.08; letter-spacing: -.03em; color: #fff; max-width: 22ch; }
.pr-job-meta { margin: 0; color: var(--pr-d2); font-size: 16px; }
.pr-job-apply { display: inline-flex; align-items: center; gap: 12px; align-self: flex-start; min-height: 52px; padding: 0 22px; border-radius: 10px; background: var(--pr-blue); color: #fff; font-weight: 600; text-decoration: none; transition: background .2s; }
.pr-job-apply:hover, .pr-job-apply:focus { background: var(--pr-blue-hover); color: #fff; }
.pr-job-note { font-size: 13px; color: var(--pr-t2); margin: 0; }
.pr-job-hero .pr-job-note { color: var(--pr-d2); }
.pr-job-main { max-width: 820px; margin: 0 auto; padding: clamp(40px, 5vw, 64px) var(--pr-gutter); display: flex; flex-direction: column; gap: 24px; }
.pr-job-body { font-size: 17px; line-height: 1.7; color: #262626; overflow-wrap: anywhere; }
.pr-job-body p { margin: 0 0 14px; }
.pr-job-body ul { padding-left: 22px; }
.pr-job-body span { font-family: inherit !important; font-size: inherit !important; }
.pr-job-state { max-width: 820px; margin: 0 auto; padding: clamp(56px, 7vw, 96px) var(--pr-gutter); display: flex; flex-direction: column; gap: 16px; }
.pr-job-state h1 { margin: 0; font-weight: 600; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.1; letter-spacing: -.03em; }
.pr-job-state p { margin: 0; font-size: 17px; line-height: 1.65; color: #333; }
.pr-job-state a { color: var(--pr-blue); font-weight: 500; }

/* Rifiniture */
.pr-head__in { max-width: calc(1240px + 2 * var(--pr-gutter)); }
.pr-head__in > nav { margin-left: auto; }
.pr-nav { margin-left: 0; }
.e-con.pr-g--faq { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 24px clamp(32px, 5vw, 80px); align-items: start; }
@media (min-width: 900px) { .e-con.pr-g--faq { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); } }
.e-con.pr-r--links { gap: 12px 28px; }
.pr-r .elementor-widget { width: auto; }
.pr-eb-h .elementor-heading-title { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--pr-sky); font-weight: 500; margin: 0 0 6px; }
.pr-small p, .pr-txt p, .pr-lead p { margin: 0; }
.pr-small p + p { margin-top: 10px; }
.pr-s--dark .elementor-heading-title, .pr-card--dark .elementor-heading-title, .pr-card--blue .elementor-heading-title, .pr-s--blue .elementor-heading-title { color: #fff; }
.pr-card--dark .pr-small { color: var(--pr-d2); }
.pr-card--blue .pr-txt { color: #eef6ff; }
.pr-card--blue .pr-link a { color: #fff; font-weight: 500; }
.pr-foot .elementor-widget { width: 100%; }

.pr-jobs-filter .pr-input { height: 50px; min-height: 50px; }
.pr-job-body h2 { font-size: clamp(24px, 2.4vw, 30px); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; margin: 28px 0 12px; }
.pr-job-body h3 { font-size: 20px; font-weight: 600; margin: 24px 0 10px; }

/* Link dentro il testo riconoscibili anche senza colore */
.pr-small p a, .pr-txt p a, .pr-breve dd a, .pr-topbar p a, .pr-demo a, .pr-aside-box a { text-decoration: underline; }
/* Scritta decorativa del footer: non è testo da leggere */
.pr-foot-word p::before { content: attr(data-word); }

/* Movimento ridotto */
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* ===== Blog ===== */
.pr-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 20px; }
.pr-post-card { display: flex; flex-direction: column; gap: 12px; border: 1px solid var(--pr-border); border-radius: 20px; padding: clamp(24px, 2.6vw, 32px); transition: border-color .2s; background: #fff; }
.pr-post-card:hover { border-color: var(--pr-blue); }
.pr-post-card h2 { margin: 0; font-size: clamp(20px, 1.9vw, 24px); font-weight: 600; line-height: 1.25; letter-spacing: -.015em; }
.pr-post-card h2 a { color: var(--pr-black); text-decoration: none; }
.pr-post-card h2 a:hover { color: var(--pr-blue); }
.pr-post-card__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--pr-t2); }
.pr-post-card__more { margin: auto 0 0; padding-top: 8px; font-size: 15px; font-weight: 500; }
.pr-post-card__more a { color: var(--pr-blue); text-decoration: underline; }
.pr-post-meta { margin: 0; font-size: 14px; color: var(--pr-t2); }
.pr-dk .pr-post-meta { color: var(--pr-d2); }
.pr-post-pages { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.pr-post-pages .page-numbers { display: inline-flex; min-width: 40px; min-height: 40px; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--pr-border); border-radius: 10px; }
.pr-post-pages .current { background: var(--pr-black); color: #fff; }
.pr-post-page { background: #fff; }
.pr-job-hero h1.pr-post-title { max-width: 26ch; font-size: clamp(30px, 3.8vw, 50px); }
.pr-post-lead { max-width: 62ch; margin: 0; }
.pr-post-body { max-width: 736px; margin: 0 auto; padding: clamp(40px, 5vw, 72px) var(--pr-gutter); box-sizing: content-box; font-size: 17px; line-height: 1.75; color: #262626; overflow-wrap: break-word; }
.pr-post-body > :first-child { margin-top: 0; }
.pr-post-body p { margin: 0 0 18px; }
.pr-post-body h2 { margin: 40px 0 14px; color: var(--pr-black); font-size: clamp(24px, 2.4vw, 30px); font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.pr-post-body h3 { margin: 28px 0 10px; color: var(--pr-black); font-size: 20px; font-weight: 600; line-height: 1.3; }
.pr-post-body ul, .pr-post-body ol { margin: 0 0 18px; padding-left: 24px; }
.pr-post-body li { margin-bottom: 8px; }
.pr-post-body a { color: var(--pr-blue); text-decoration: underline; }
.pr-post-body blockquote { margin: 24px 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--pr-blue); }
.pr-post-body img { max-width: 100%; height: auto; border-radius: 12px; }
.pr-post-rel { background: var(--pr-grey); padding: clamp(40px, 5vw, 64px) var(--pr-gutter); }
.pr-post-rel__in { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px clamp(32px, 5vw, 72px); }
.pr-post-rel__main { display: flex; flex-direction: column; gap: 10px; }
.pr-post-rel h2 { margin: 0; font-size: clamp(22px, 2.2vw, 28px); font-weight: 600; line-height: 1.2; letter-spacing: -.02em; }
.pr-post-rel h2 a { color: var(--pr-black); text-decoration: none; }
.pr-post-rel h2 a:hover { color: var(--pr-blue); text-decoration: underline; }
.pr-post-rel p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--pr-t2); }
.pr-post-rel .pr-post-rel__h { font-weight: 600; color: var(--pr-black); margin-bottom: 10px; }
.pr-post-rel ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pr-post-rel li a { color: var(--pr-blue); text-decoration: underline; font-weight: 500; }
.pr-post-cta { background: var(--pr-blue); color: #fff; padding: clamp(48px, 6vw, 80px) var(--pr-gutter); }
.pr-post-cta__in { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 20px clamp(32px, 5vw, 80px); align-items: end; }
.pr-post-cta h2 { margin: 0; color: #fff; font-size: clamp(30px, 3.4vw, 44px); font-weight: 600; line-height: 1.1; letter-spacing: -.025em; }
.pr-post-cta p { margin: 0; color: #eef6ff; line-height: 1.6; }
.pr-post-cta__act { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 18px !important; }
.pr-post-cta__act a { color: #fff; text-decoration: underline; }
.pr-post-cta .pr-post-cta__btn { display: inline-flex; gap: 8px; min-height: 48px; align-items: center; padding: 0 22px; border-radius: 10px; background: var(--pr-black); font-weight: 600; text-decoration: none; }
.pr-post-cta .pr-post-cta__btn:hover { background: #262626; }

/* ===== Pagine legali ===== */
.pr-legal { max-width: 820px; font-size: 16px; line-height: 1.7; color: #262626; }
.pr-legal h2 { margin: 32px 0 10px; color: var(--pr-black); font-size: 22px; font-weight: 600; line-height: 1.25; }
.pr-legal p, .pr-legal ul, .pr-legal table { margin: 0 0 14px; }
.pr-legal ul { padding-left: 22px; }
.pr-legal a { color: var(--pr-blue); text-decoration: underline; }
.pr-legal table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pr-legal th, .pr-legal td { padding: 10px 12px; border: 1px solid var(--pr-border); text-align: left; vertical-align: top; background: transparent !important; }
