/* ==========================================================================
   PANETTA - Lavora con noi (elenco posizioni) e Posizione aperta (dettaglio)
   Caricato solo sulle pagine con i modelli "Lavora con noi" e "Posizione aperta".
   Stesso linguaggio visivo del modello Servizi (assets/servizi.css).
   ========================================================================== */

.pcg-lav {
  --pcg-accent: #fda600;
  --pcg-dark: #3d3d3d;
  --pcg-ink: #1f1f1f;
  --pcg-text: #3d3d3d;
  --pcg-muted: #5a5a5a;
  --pcg-soft: #f5f5f3;
  --pcg-line: #e3e3e3;
  --pcg-on-dark: #ffffff;
  --pcg-on-dark-muted: #d6d6d6;
  --pcg-radius: 6px;
  --pcg-wrap: 1240px;
  font-family: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
  color: var(--pcg-ink);
  background: #ffffff;
  font-size: 17px;
  line-height: 1.6;
}

/* Reset a specificita' zero sugli elementi usati */
.pcg-lav :where(h1, h2, h3, p, ul, ol, li, dl, dt, dd, nav, aside, section, a, span, small) {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  letter-spacing: normal;
  text-transform: none;
  box-shadow: none;
}
.pcg-lav :where(ul, ol) { list-style: none; }
.pcg-lav :where(a) { text-decoration: none; }
.pcg-lav *, .pcg-lav *::before, .pcg-lav *::after { box-sizing: border-box; }

.pcg-lav__wrap {
  max-width: var(--pcg-wrap);
  margin: 0 auto;
  padding-left: 32px;
  padding-right: 32px;
}

.pcg-lav__eyebrow {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pcg-muted);
  line-height: 1.3;
}
.pcg-lav__rule { display: block; width: 48px; height: 4px; background: var(--pcg-accent); }
.pcg-lav .pcg-lav__h2 { font-size: 36px; line-height: 1.15; font-weight: 600; color: var(--pcg-ink); }

/* ---------- Apertura ---------- */
.pcg-lav__hero { background: var(--pcg-dark); color: var(--pcg-on-dark); }
.pcg-lav__hero .pcg-lav__wrap {
  padding-top: 56px;
  padding-bottom: 72px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
body.header-transparent .pcg-lav__hero .pcg-lav__wrap { padding-top: 186px; }
.pcg-lav__crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: var(--pcg-on-dark-muted); }
.pcg-lav__crumbs a { color: var(--pcg-on-dark-muted); }
.pcg-lav__crumbs a:hover { color: var(--pcg-on-dark); }
.pcg-lav__crumbs [aria-current] { color: var(--pcg-on-dark); }
.pcg-lav__badge {
  align-self: flex-start;
  background: var(--pcg-accent);
  color: var(--pcg-ink);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 7px 14px;
  border-radius: 999px;
  line-height: 1.2;
}
.pcg-lav .pcg-lav__title {
  font-size: clamp(42px, 5.6vw, 76px);
  line-height: 1.03;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--pcg-on-dark);
  max-width: 980px;
  overflow-wrap: anywhere;
  hyphens: auto;
}
.pcg-lav .pcg-lav__title--job { font-size: clamp(38px, 4.8vw, 64px); }
.pcg-lav__intro p { font-size: 20px; line-height: 1.6; font-weight: 300; color: var(--pcg-on-dark-muted); max-width: 720px; }
.pcg-lav__intro p + p { margin-top: 14px; }
.pcg-lav .pcg-lav__level { font-size: 26px; line-height: 1.3; font-weight: 300; color: var(--pcg-accent); margin-top: -8px; }
.pcg-lav__hero-facts { display: flex; flex-wrap: wrap; gap: 10px; }
.pcg-lav__hero-facts li {
  font-size: 15px;
  line-height: 1.2;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: var(--pcg-on-dark);
}

/* ---------- Elenco posizioni ---------- */
.pcg-lav__list .pcg-lav__wrap { padding-top: 80px; padding-bottom: 96px; display: flex; flex-direction: column; gap: 36px; }
.pcg-lav__list-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px 20px; }
.pcg-lav__list-head .pcg-lav__rule { flex-basis: 100%; }
.pcg-lav__count { font-size: 15px; font-weight: 500; color: var(--pcg-muted); }

.pcg-lav__jobs { display: flex; flex-direction: column; gap: 16px; }
.pcg-lav__job {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: end;
  padding: 32px 36px;
  border-radius: var(--pcg-radius);
  border: 1px solid var(--pcg-line);
  color: var(--pcg-ink);
  transition: border-color .15s ease, background-color .15s ease;
}
.pcg-lav a.pcg-lav__job:hover { color: var(--pcg-ink); border-color: var(--pcg-dark); background: var(--pcg-soft); }
.pcg-lav__job-main { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pcg-lav__job-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pcg-lav__chip {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--pcg-accent);
  color: var(--pcg-ink);
}
.pcg-lav__chip--draft { background: var(--pcg-ink); color: #ffffff; }
.pcg-lav__job-title { font-size: 28px; line-height: 1.2; font-weight: 600; }
.pcg-lav__job-team { font-size: 15px; font-weight: 500; color: var(--pcg-muted); }
.pcg-lav__job-text { font-size: 16px; line-height: 1.6; color: var(--pcg-text); max-width: 720px; }
.pcg-lav__job-side { display: flex; flex-direction: column; align-items: flex-end; gap: 18px; text-align: right; }
.pcg-lav__facts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 14px; font-size: 15px; color: var(--pcg-text); }
.pcg-lav__facts span + span::before { content: "·"; margin-right: 14px; color: var(--pcg-muted); }
.pcg-lav__more { font-size: 15px; font-weight: 600; white-space: nowrap; }
.pcg-lav__more span { display: inline-block; transition: transform .15s ease; }
.pcg-lav a.pcg-lav__job:hover .pcg-lav__more span { transform: translateX(4px); }
.pcg-lav__empty { font-size: 18px; color: var(--pcg-text); padding: 32px 36px; background: var(--pcg-soft); border-radius: var(--pcg-radius); }

/* ---------- Dettaglio ---------- */
.pcg-lav__body .pcg-lav__wrap {
  padding-top: 80px;
  padding-bottom: 96px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 72px;
  align-items: start;
}
.pcg-lav__main { display: flex; flex-direction: column; gap: 64px; min-width: 0; }
.pcg-lav__section { display: flex; flex-direction: column; gap: 20px; }
.pcg-lav__section .pcg-lav__h2 { margin-bottom: 4px; }
.pcg-lav__lede { font-size: 26px; line-height: 1.45; color: var(--pcg-ink); }
.pcg-lav__section > p { font-size: 17px; line-height: 1.7; color: var(--pcg-text); }

.pcg-lav__checks { display: flex; flex-direction: column; }
.pcg-lav__checks li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--pcg-line);
  font-size: 17px;
  line-height: 1.6;
  color: var(--pcg-text);
}
.pcg-lav__checks li:first-child { border-top: 1px solid var(--pcg-line); }
.pcg-lav__checks svg { margin-top: 4px; color: var(--pcg-accent); }

.pcg-lav__tasks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pcg-lav__tasks li {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 24px;
  border-radius: var(--pcg-radius);
  background: var(--pcg-soft);
  font-size: 16px;
  line-height: 1.6;
  color: var(--pcg-text);
}
.pcg-lav__num { font-size: 15px; font-weight: 600; line-height: 1; color: var(--pcg-muted); }

.pcg-lav__aside { display: flex; flex-direction: column; gap: 32px; position: sticky; top: 140px; min-width: 0; }
.pcg-lav__card {
  background: var(--pcg-dark);
  color: var(--pcg-on-dark);
  border-radius: var(--pcg-radius);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.pcg-lav__card .pcg-lav__eyebrow { color: var(--pcg-on-dark-muted); }
.pcg-lav__dl { display: flex; flex-direction: column; }
.pcg-lav__dl div { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
.pcg-lav__dl div:first-child { padding-top: 0; }
.pcg-lav__dl dt { font-size: 13px; color: var(--pcg-on-dark-muted); }
.pcg-lav__dl dd { font-size: 16px; line-height: 1.45; font-weight: 500; color: var(--pcg-on-dark); }
.pcg-lav__card-note { font-size: 14px; line-height: 1.5; color: var(--pcg-on-dark-muted); }
.pcg-lav__card-note a { color: var(--pcg-on-dark); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.pcg-lav .pcg-lav__card-note a:hover { color: var(--pcg-accent); }

.pcg-lav__others { display: flex; flex-direction: column; gap: 4px; }
.pcg-lav__others .pcg-lav__eyebrow { margin-bottom: 10px; }
.pcg-lav__others a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border-radius: 4px;
  border-bottom: 1px solid #ececec;
  font-size: 15px;
  line-height: 1.35;
  color: var(--pcg-text);
}
.pcg-lav__others a:hover { background: var(--pcg-soft); color: var(--pcg-ink); }
.pcg-lav__others small { display: block; margin-top: 3px; font-size: 13px; color: var(--pcg-muted); }
.pcg-lav .pcg-lav__back { border-bottom: 0; justify-content: flex-start; font-weight: 600; color: var(--pcg-ink); }

.pcg-lav__btn {
  align-self: flex-start;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--pcg-accent);
  color: var(--pcg-ink);
  font-weight: 600;
  font-size: 16px;
  line-height: 1.2;
  transition: filter .15s ease;
}
.pcg-lav .pcg-lav__btn:hover { color: var(--pcg-ink); filter: brightness(0.94); }
.pcg-lav__btn--dark { background: var(--pcg-ink); color: #ffffff; min-height: 52px; padding: 0 28px; }
.pcg-lav .pcg-lav__btn--dark:hover { color: #ffffff; filter: none; background: #000000; }

/* ---------- Fascia candidatura ---------- */
.pcg-lav__cta { background: var(--pcg-accent); color: var(--pcg-ink); }
.pcg-lav__cta .pcg-lav__wrap {
  padding-top: 56px;
  padding-bottom: 56px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.pcg-lav__cta-text { display: flex; flex-direction: column; gap: 8px; flex: 1 1 520px; }
.pcg-lav__cta-text p { font-size: 18px; line-height: 1.5; color: var(--pcg-ink); max-width: 720px; }

.pcg-lav a:focus-visible { outline: 3px solid var(--pcg-accent); outline-offset: 3px; }
.pcg-lav__cta a:focus-visible { outline-color: var(--pcg-ink); }

/* ---------- Tablet ---------- */
@media (max-width: 1023px) {
  .pcg-lav__body .pcg-lav__wrap { grid-template-columns: minmax(0, 1fr); gap: 56px; }
  .pcg-lav__aside { position: static; }
  .pcg-lav__job { grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
  .pcg-lav__job-side { align-items: flex-start; text-align: left; }
  .pcg-lav__facts { justify-content: flex-start; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  .pcg-lav__wrap { padding-left: 20px; padding-right: 20px; }
  .pcg-lav__hero .pcg-lav__wrap { padding-top: 28px; padding-bottom: 44px; gap: 20px; }
  body.header-transparent .pcg-lav__hero .pcg-lav__wrap { padding-top: 28px; }
  .pcg-lav__badge { font-size: 11px; padding: 6px 12px; }
  .pcg-lav__intro p { font-size: 17px; }
  .pcg-lav .pcg-lav__level { font-size: 20px; margin-top: -4px; }
  .pcg-lav__hero-facts li { font-size: 14px; padding: 8px 14px; }
  .pcg-lav .pcg-lav__h2 { font-size: 28px; }
  .pcg-lav__list .pcg-lav__wrap { padding-top: 44px; padding-bottom: 56px; gap: 24px; }
  .pcg-lav__job { padding: 24px 22px; }
  .pcg-lav__job-title { font-size: 22px; }
  .pcg-lav__body .pcg-lav__wrap { padding-top: 40px; padding-bottom: 56px; gap: 44px; }
  .pcg-lav__main { gap: 44px; }
  .pcg-lav__lede { font-size: 20px; }
  .pcg-lav__checks li { font-size: 16px; gap: 12px; }
  .pcg-lav__tasks { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .pcg-lav__tasks li { padding: 20px; font-size: 15px; }
  .pcg-lav__card { padding: 24px; }
  .pcg-lav__cta .pcg-lav__wrap { padding-top: 36px; padding-bottom: 36px; }
  .pcg-lav__cta-text { flex-basis: 100%; }
  .pcg-lav__cta-text p { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .pcg-lav * { transition: none !important; }
}

/* ---------- Etichetta "Nuova" con pallino lampeggiante ---------- */
.pcg-lav__new {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 12px 6px 10px;
  border-radius: 999px;
  background: #fff4dc;
  color: var(--pcg-ink);
}
.pcg-lav__pulse {
  position: relative;
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--pcg-accent);
  flex: none;
  animation: pcg-lav-blink 1.4s ease-in-out infinite;
}
.pcg-lav__pulse::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--pcg-accent);
  animation: pcg-lav-ping 1.4s ease-out infinite;
}
@keyframes pcg-lav-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
@keyframes pcg-lav-ping { 0% { transform: scale(1); opacity: 0.7; } 100% { transform: scale(2.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .pcg-lav__pulse, .pcg-lav__pulse::after { animation: none; }
}

/* Il titolo standard di Betheme sotto il menu non serve su queste pagine (gia' nascosto dalle opzioni pagina) */
body.pcg-lavora-page #Subheader, body.pcg-posizione-page #Subheader { display: none; }