/* ==========================================================================
   ASSICOMUNALE — Chi Siamo (page ID 19)
   Storytelling-driven design. Viola-pink. Enqueued after design-system + reskin.
   ========================================================================== */

/* ---------- Global SVG icon sizing guard (prevents 0x0 collapse from auto width) ---------- */
body.ac-page-chi-siamo .ac-services-grid svg,
body.ac-page-contatti .ac-services-grid svg,
body.ac-page-chi-siamo .ac-about__pillar-card svg,
body.ac-page-contatti .ac-about__pillar-card svg,
body.ac-page-chi-siamo .ac-about__value-card svg,
body.ac-page-contatti .ac-about__value-card svg {
  width: 48px;
  height: 48px;
  max-width: 48px;
  max-height: 48px;
}
body.ac-page-chi-siamo .ac-services-grid img,
body.ac-page-contatti .ac-services-grid img {
  max-width: 64px;
  max-height: 64px;
  width: auto;
  height: auto;
}
body.ac-page-chi-siamo .ac-services-grid__list,
body.ac-page-contatti .ac-services-grid__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(20px, 3vw, 32px);
}

/* ---------- Link color override (GP ships teal #00aeef contrast) ---------- */
body.ac-page-chi-siamo .ac-services-grid a.ac-service-card,
body.ac-page-chi-siamo .ac-services-grid a.ac-service-card:link,
body.ac-page-chi-siamo .ac-services-grid a.ac-service-card:visited,
body.ac-page-contatti .ac-services-grid a.ac-service-card {
  color: var(--ac-text);
  text-decoration: none;
}
body.ac-page-chi-siamo .ac-services-grid a.ac-service-card h3,
body.ac-page-contatti .ac-services-grid a.ac-service-card h3 {
  color: var(--ac-primary-500);
}
body.ac-page-chi-siamo .ac-services-grid a.ac-service-card p,
body.ac-page-contatti .ac-services-grid a.ac-service-card p {
  color: color-mix(in oklch, var(--ac-text) 85%, transparent);
}
body.ac-page-chi-siamo .ac-services-grid a.ac-service-card .ac-service-card__icon,
body.ac-page-contatti .ac-services-grid a.ac-service-card .ac-service-card__icon {
  color: var(--ac-accent);
}
body.ac-page-chi-siamo .ac-services-grid a.ac-service-card:hover,
body.ac-page-contatti .ac-services-grid a.ac-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(107,33,168,0.15);
}
body.ac-page-chi-siamo .ac-services-grid a.ac-service-card:hover h3,
body.ac-page-contatti .ac-services-grid a.ac-service-card:hover h3 {
  color: var(--ac-accent);
}

/* ---------- Scoped tokens + GP overrides ---------- */
body.ac-page-chi-siamo,
body.ac-page-contatti {
  --ac-text-inverse: #ffffff;
  --ac-text: #1a1a2e;
  --ac-surface: #ffffff;
  --ac-primary-50: oklch(97% 0.015 300);
  --ac-primary-200: oklch(87% 0.08 300);
  --ac-primary-500: #6B21A8;
  --ac-primary-700: #4C1D95;
  --ac-primary-900: #3B0764;
  --ac-accent: #EC4899;
  --ac-accent-300: #F9A8D4;
}
body.ac-page-chi-siamo .featured-image {
  display: none;
}
/* Force white heading color in dark hero/mission (GP theme ships teal h1) */
body.ac-page-chi-siamo .ac-about__hero h1,
body.ac-page-chi-siamo .ac-about__title,
body.ac-page-chi-siamo .ac-about__mission h2,
body.ac-page-chi-siamo .ac-fullscreen-cta h2 {
  color: var(--ac-text-inverse);
}
body.ac-page-chi-siamo .ac-about__hero p,
body.ac-page-chi-siamo .ac-about__hero .ac-about__lead,
body.ac-page-chi-siamo .ac-about__mission p,
body.ac-page-chi-siamo .ac-fullscreen-cta p {
  color: rgba(255,255,255,0.88);
}

/* ---------- HERO (S0) ---------- */
.ac-about__hero{
  position:relative;
  min-height:clamp(640px, 85vh, 820px);
  padding-block:clamp(96px, 12vw, 160px);
  background:
    linear-gradient(135deg, var(--ac-primary-900) 0%, var(--ac-primary-700) 55%, var(--c-bg-dark, #1E1B4B) 100%),
    var(--ac-primary-900);
  color:var(--ac-text-inverse);
  overflow:hidden;
  isolation:isolate;
}
.ac-about__hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.7 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.35'/></svg>");
  opacity:.04; pointer-events:none; z-index:0;
}
.ac-about__hero > *{ position:relative; z-index:1; }
.ac-about__hero-inner{
  max-width:var(--ac-container, 1200px);
  margin-inline:auto;
  padding-inline:clamp(20px, 5vw, 48px);
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(40px, 6vw, 72px);
  align-items:center;
}
@media (min-width:1024px){
  .ac-about__hero-inner{ grid-template-columns:minmax(0, 1.2fr) minmax(0, 1fr); }
}
.ac-about__hero-copy > * + *{ margin-top:clamp(14px, 1.6vw, 22px); }
.ac-about__eyebrow{
  display:inline-block;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ac-accent);
  padding:.4rem .9rem;
  border:1px solid color-mix(in oklch, var(--ac-accent) 45%, transparent);
  border-radius:999px;
  background:color-mix(in oklch, var(--ac-accent) 8%, transparent);
}
.ac-about__title{
  font-size:clamp(2.25rem, 5.5vw, 4rem);
  line-height:1.04;
  font-weight:800;
  letter-spacing:-.035em;
  color:var(--ac-text-inverse);
  max-width:22ch;
}
.ac-about__title br{ display:block; }
.ac-about__lead{
  font-size:clamp(1.05rem, 1.6vw, 1.25rem);
  line-height:1.6;
  color:color-mix(in oklch, var(--ac-text-inverse) 90%, transparent);
  max-width:56ch;
}
.ac-about__trust-inline{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:clamp(10px, 1.6vw, 18px);
  margin-top:clamp(18px, 2vw, 28px);
  font-size:.95rem;
  color:color-mix(in oklch, var(--ac-text-inverse) 85%, transparent);
}
.ac-about__trust-inline strong{
  color:var(--ac-text-inverse);
  font-weight:700;
}
.ac-about__trust-inline .sep{
  color:var(--ac-accent);
  font-weight:700;
  padding-inline:.2em;
}
.ac-about__hero-ctas{
  display:flex; flex-wrap:wrap; gap:14px;
  margin-top:clamp(20px, 2.4vw, 32px);
}
.ac-about__hero-media{
  position:relative;
  aspect-ratio:17/11;
  border-radius:var(--radius-md, 16px);
  overflow:hidden;
  box-shadow:28px 28px 0 0 var(--ac-accent), 0 40px 80px rgba(0,0,0,.35);
  clip-path:polygon(15% 0, 100% 0, 100% 100%, 0 100%);
  transform:translateZ(0);
}
.ac-about__hero-media img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}
@media (max-width:1023px){
  .ac-about__hero-media{
    clip-path:none;
    box-shadow:16px 16px 0 0 var(--ac-accent), 0 24px 48px rgba(0,0,0,.3);
  }
}

/* ---------- S1 STORY (asymmetric 40/60) ---------- */
.ac-about__story{
  background:var(--ac-surface, #fff);
  padding-block:clamp(80px, 10vw, 140px);
}
.ac-about__story-inner{
  max-width:var(--ac-container, 1200px);
  margin-inline:auto;
  padding-inline:clamp(20px, 5vw, 48px);
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(40px, 5vw, 72px);
  align-items:start;
}
@media (min-width:1024px){
  .ac-about__story-inner{ grid-template-columns:minmax(0, 4fr) minmax(0, 6fr); }
}
.ac-about__year-col{
  position:sticky;
  top:96px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:24px;
}
.ac-about__year{
  font-size:clamp(6rem, 18vw, 12rem);
  line-height:.85;
  font-weight:900;
  letter-spacing:-.05em;
  -webkit-text-stroke:2px var(--ac-primary-500);
  color:transparent;
  /* fallback */
  background:linear-gradient(180deg, var(--ac-primary-200) 0%, transparent 60%);
  -webkit-background-clip:text;
  background-clip:text;
}
@supports not (-webkit-text-stroke: 2px black){
  .ac-about__year{ color:var(--ac-primary-200); }
}
.ac-about__year-divider{
  width:4px;
  height:120px;
  background:var(--ac-accent);
  border-radius:4px;
}
.ac-about__story-prose{
  max-width:62ch;
}
.ac-about__story-prose h2{
  font-size:clamp(1.75rem, 3.5vw, 2.5rem);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--ac-primary-900);
  margin:0 0 1.2em;
}
.ac-about__story-prose p{
  font-size:1.05rem;
  line-height:1.75;
  color:var(--ac-text, #1E1B4B);
  margin:0 0 1.1em;
}

/* ---------- S2 PILLARS (3-col) ---------- */
.ac-about__pillars{
  padding-block:clamp(72px, 9vw, 120px);
}
.ac-about__pillars-inner{
  max-width:var(--ac-container, 1200px);
  margin-inline:auto;
  padding-inline:clamp(20px, 5vw, 48px);
}
.ac-about__section-title{
  font-size:clamp(1.75rem, 3.5vw, 2.5rem);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--ac-primary-900);
  max-width:22ch;
  margin:0 0 clamp(32px, 4vw, 56px);
}
.ac-about__pillars-grid{
  display:grid;
  gap:clamp(20px, 2.4vw, 28px);
  grid-template-columns:1fr;
}
@media (min-width:768px){ .ac-about__pillars-grid{ grid-template-columns:repeat(3, 1fr); } }
.ac-about__pillar-card{
  background:var(--ac-surface, #fff);
  border-radius:var(--radius-md, 16px);
  padding:clamp(24px, 3vw, 36px);
  box-shadow:var(--shadow-sm, 0 4px 12px rgba(107,33,168,.08));
  border-top:4px solid transparent;
  transition:transform .3s cubic-bezier(.25,1,.5,1), box-shadow .3s, border-color .3s;
  display:flex; flex-direction:column; gap:16px;
}
.ac-about__pillar-card:hover,
.ac-about__pillar-card:focus-within{
  transform:translateY(-6px);
  box-shadow:0 20px 50px color-mix(in oklch, var(--ac-accent) 25%, transparent);
  border-top-color:var(--ac-accent);
}
.ac-about__pillar-icon{
  width:72px; height:72px;
  display:grid; place-items:center;
  background:color-mix(in oklch, var(--ac-primary-500) 10%, var(--ac-surface));
  color:var(--ac-primary-500);
  border-radius:14px;
}
.ac-about__pillar-icon svg{ width:36px; height:36px; }
.ac-about__pillar-card h3{
  font-size:1.25rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--ac-primary-900);
  margin:0;
}
.ac-about__pillar-card p{
  font-size:1rem;
  line-height:1.65;
  color:var(--ac-text, #1E1B4B);
  margin:0;
}

/* ---------- S3 AWARD (focal point, rotated frame) ---------- */
.ac-about__award{
  background:var(--ac-primary-50, #F5F0FF);
  padding-block:clamp(96px, 12vw, 160px);
  overflow:hidden;
}
.ac-about__award-inner{
  max-width:var(--ac-container, 1200px);
  margin-inline:auto;
  padding-inline:clamp(20px, 5vw, 48px);
  display:grid; gap:clamp(48px, 6vw, 80px);
  grid-template-columns:1fr;
  align-items:center;
}
@media (min-width:1024px){
  .ac-about__award-inner{ grid-template-columns:minmax(0, 45fr) minmax(0, 55fr); }
}
.ac-about__award-frame{
  position:relative;
  max-width:440px;
  margin-inline:auto;
  border:8px solid var(--ac-primary-500);
  box-shadow:24px 24px 0 0 var(--ac-accent);
  transform:rotate(-2deg);
  transition:transform .4s cubic-bezier(.25,1,.5,1);
  background:var(--ac-surface, #fff);
}
.ac-about__award-frame:hover{ transform:rotate(0deg); }
.ac-about__award-frame img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}
.ac-about__award-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:.5rem 1.1rem;
  background:var(--ac-accent);
  color:var(--ac-text-inverse, #fff);
  border-radius:999px;
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ac-about__award-copy > * + *{ margin-top:1rem; }
.ac-about__award-copy h2{
  font-size:clamp(1.75rem, 3.8vw, 2.75rem);
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--ac-primary-900);
  margin:0;
}
.ac-about__award-copy p{
  font-size:1.05rem;
  line-height:1.7;
  color:var(--ac-text, #1E1B4B);
  margin:0;
  max-width:58ch;
}
.ac-about__award-quote{
  border-left:4px solid var(--ac-accent);
  padding:6px 0 6px 20px;
  font-style:italic;
  font-size:1.15rem;
  line-height:1.5;
  color:var(--ac-primary-700);
  margin-top:1.5rem;
}

/* ---------- S5 MISSION (inverted viola full-bleed) ---------- */
.ac-about__mission{
  position:relative;
  padding-block:clamp(96px, 12vw, 160px);
  background:var(--ac-primary-500);
  color:var(--ac-text-inverse, #fff);
  overflow:hidden;
  isolation:isolate;
}
.ac-about__mission::before{
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><path d='M40 12 L52 22 L52 42 Q52 58 40 66 Q28 58 28 42 L28 22 Z' fill='none' stroke='%23fff' stroke-width='1.5' opacity='0.5'/></svg>");
  background-repeat:space;
  opacity:.05;
  z-index:0;
  pointer-events:none;
}
.ac-about__mission > *{ position:relative; z-index:1; }
.ac-about__mission-inner{
  max-width:var(--ac-container, 1200px);
  margin-inline:auto;
  padding-inline:clamp(20px, 5vw, 48px);
  text-align:center;
}
.ac-about__mission h2{
  font-size:clamp(1.75rem, 4vw, 3rem);
  line-height:1.12;
  font-weight:800;
  letter-spacing:-.025em;
  color:var(--ac-text-inverse, #fff);
  max-width:22ch;
  margin:0 auto 1.4em;
}
.ac-about__mission-prose{
  max-width:62ch;
  margin:0 auto;
}
.ac-about__mission-prose p{
  font-size:1.1rem;
  line-height:1.75;
  color:oklch(95% .015 300);
  margin:0 0 1.2em;
}
.ac-about__mission-quote{
  margin-top:clamp(36px, 4vw, 56px);
  font-family:Georgia, 'Times New Roman', serif;
  font-style:italic;
  font-size:clamp(1.5rem, 3vw, 2.25rem);
  line-height:1.3;
  color:var(--ac-accent);
  max-width:28ch;
  margin-inline:auto;
  letter-spacing:-.01em;
}

/* ---------- S6 LOCATION (NAP + map) ---------- */
.ac-about__location{
  background:var(--ac-surface, #fff);
  padding-block:clamp(72px, 9vw, 120px);
}
.ac-about__location-inner{
  max-width:var(--ac-container, 1200px);
  margin-inline:auto;
  padding-inline:clamp(20px, 5vw, 48px);
}
.ac-about__location-intro{
  max-width:62ch;
  margin:0 0 clamp(32px, 4vw, 48px);
}
.ac-about__location-intro h2{
  font-size:clamp(1.75rem, 3.5vw, 2.5rem);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--ac-primary-900);
  margin:0 0 .6em;
}
.ac-about__location-intro p{
  font-size:1.05rem;
  line-height:1.7;
  color:var(--ac-text, #1E1B4B);
  margin:0;
}
.ac-about__contact-grid{
  display:grid;
  gap:clamp(14px, 1.6vw, 20px);
  grid-template-columns:1fr;
  margin-bottom:clamp(28px, 3vw, 40px);
}
@media (min-width:640px){ .ac-about__contact-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (min-width:1024px){ .ac-about__contact-grid{ grid-template-columns:repeat(4, 1fr); } }
.ac-about__contact-card{
  background:var(--ac-primary-50, #F5F0FF);
  border-radius:var(--radius-md, 16px);
  padding:20px;
  display:flex; flex-direction:column; gap:6px;
  text-decoration:none;
  color:inherit;
  border:1px solid transparent;
  transition:border-color .2s, transform .2s, box-shadow .2s;
  min-height:120px;
}
.ac-about__contact-card:hover,
.ac-about__contact-card:focus-visible{
  border-color:var(--ac-accent);
  transform:translateY(-2px);
  box-shadow:0 8px 24px color-mix(in oklch, var(--ac-primary-500) 15%, transparent);
}
.ac-about__contact-card .label{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--ac-accent);
}
.ac-about__contact-card .value{
  font-size:1.05rem;
  font-weight:600;
  color:var(--ac-primary-900);
  line-height:1.35;
}
.ac-about__map{
  border-radius:var(--radius-md, 16px);
  overflow:hidden;
  box-shadow:var(--shadow-md, 0 12px 40px rgba(107,33,168,.12));
  aspect-ratio:16/9;
}
.ac-about__map iframe{
  width:100%; height:100%; border:0; display:block;
}

/* ---------- S7-S9 VALUES (mixed sizing grid) ---------- */
.ac-about__values{
  padding-block:clamp(72px, 9vw, 120px);
}
.ac-about__values-inner{
  max-width:var(--ac-container, 1200px);
  margin-inline:auto;
  padding-inline:clamp(20px, 5vw, 48px);
}
.ac-about__values-grid{
  display:grid;
  gap:clamp(20px, 2.4vw, 28px);
  grid-template-columns:1fr;
}
@media (min-width:1024px){
  .ac-about__values-grid{ grid-template-columns:repeat(3, 1fr); }
  .ac-about__value-card--wide{ grid-column:span 2; }
}
.ac-about__value-card{
  background:var(--ac-surface, #fff);
  border-radius:var(--radius-md, 16px);
  padding:clamp(24px, 3vw, 40px);
  box-shadow:var(--shadow-sm, 0 4px 12px rgba(107,33,168,.08));
  display:flex; flex-direction:column; gap:18px;
  transition:transform .3s cubic-bezier(.25,1,.5,1), box-shadow .3s;
}
.ac-about__value-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-md, 0 12px 40px rgba(107,33,168,.12));
}
.ac-about__value-card--featured{
  border-top:4px solid var(--ac-accent);
}
.ac-about__value-icon{
  width:56px; height:56px;
  display:grid; place-items:center;
  background:color-mix(in oklch, var(--ac-accent) 12%, var(--ac-surface));
  color:var(--ac-accent);
  border-radius:12px;
}
.ac-about__value-icon svg{ width:28px; height:28px; }
.ac-about__value-card h3{
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--ac-primary-900);
  margin:0;
}
.ac-about__value-card p{
  font-size:1rem;
  line-height:1.7;
  color:var(--ac-text, #1E1B4B);
  margin:0;
}
.ac-about__value-stats{
  display:flex; flex-wrap:wrap; gap:10px;
  margin-top:4px;
}
.ac-about__value-stats .stat{
  display:inline-flex; align-items:center;
  padding:.3rem .8rem;
  background:var(--ac-primary-50, #F5F0FF);
  color:var(--ac-primary-700);
  border-radius:999px;
  font-size:.85rem;
  font-weight:700;
}

/* ---------- Shared utilities (hero CTAs + ghost variant + outline-white) ---------- */
.ac-btn--ghost{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:56px;
  padding:.9rem 1.6rem;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
  border-radius:999px;
  text-decoration:none;
  color:var(--ac-text-inverse, #fff);
  background:transparent;
  border:2px solid color-mix(in oklch, var(--ac-text-inverse) 45%, transparent);
  transition:background .2s, border-color .2s, transform .15s;
  cursor:pointer;
}
.ac-btn--ghost:hover,
.ac-btn--ghost:focus-visible{
  background:color-mix(in oklch, var(--ac-text-inverse) 12%, transparent);
  border-color:var(--ac-text-inverse, #fff);
  transform:translateY(-1px);
}
.ac-btn--outline-white{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:56px;
  padding:.9rem 1.6rem;
  font-size:1rem;
  font-weight:700;
  border-radius:999px;
  text-decoration:none;
  color:var(--ac-text-inverse, #fff);
  background:transparent;
  border:2px solid var(--ac-text-inverse, #fff);
  transition:background .2s, color .2s, transform .15s;
}
.ac-btn--outline-white:hover,
.ac-btn--outline-white:focus-visible{
  background:var(--ac-text-inverse, #fff);
  color:var(--ac-primary-700);
  transform:translateY(-1px);
}

/* ---------- a11y focus ring ---------- */
.ac-about__hero-ctas a:focus-visible,
.ac-about__contact-card:focus-visible,
.ac-about__pillar-card a:focus-visible{
  outline:2px solid var(--ac-accent);
  outline-offset:3px;
}

/* ---------- Entrance reveal (opt-in via [data-reveal]) ---------- */
[data-reveal]{
  opacity:1;
  transform:none;
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
[data-reveal="entering"]{ opacity:0; transform:translateY(24px); }
[data-reveal="visible"]{ opacity:1; transform:translateY(0); }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  .ac-about__hero-media,
  .ac-about__award-frame,
  .ac-about__pillar-card,
  .ac-about__value-card,
  .ac-about__contact-card,
  [data-reveal]{
    transition:none !important;
    animation:none !important;
    transform:none !important;
  }
  .ac-about__award-frame{ transform:rotate(-2deg) !important; }
}


/* ============================================================
   PATCH v11.0.15 — OFFICES SECTION (Prima Partner rebranding)
   ============================================================ */
.ac-about__offices {
  background: linear-gradient(180deg, var(--ac-surface) 0%, color-mix(in oklch, var(--ac-primary-500) 4%, var(--ac-surface)) 100%);
  padding-block: clamp(80px, 10vw, 140px);
  position: relative;
  overflow: hidden;
}
.ac-about__offices::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 400px; height: 400px;
  background: radial-gradient(circle, color-mix(in oklch, var(--ac-accent) 10%, transparent) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.ac-about__offices-inner {
  position: relative;
  z-index: 1;
}
.ac-about__offices-header {
  text-align: center;
  max-width: 760px;
  margin: 0 auto clamp(48px, 6vw, 80px);
}
.ac-about__offices-header .ac-about__eyebrow {
  margin-bottom: 1rem;
}
.ac-about__offices-header h2 {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--ac-primary-500);
  line-height: 1.1;
  margin-bottom: 1rem;
}
.ac-about__offices-lead {
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.7;
  color: color-mix(in oklch, var(--ac-text) 85%, transparent);
}

/* Inauguration hero (product-card-like ltr) */
.ac-about__offices-inauguration {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
  margin-bottom: clamp(64px, 8vw, 96px);
}
@media (min-width: 900px) {
  .ac-about__offices-inauguration {
    grid-template-columns: 1.1fr 1fr;
  }
}
.ac-about__offices-inauguration-media {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 3/2;
  box-shadow: 0 30px 60px -20px color-mix(in oklch, var(--ac-primary-900) 50%, transparent);
}
.ac-about__offices-inauguration-media::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 3px solid var(--ac-accent);
  border-radius: inherit;
  transform: translate(14px, 14px);
  z-index: -1;
}
.ac-about__offices-inauguration-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ac-about__offices-inauguration-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ac-about__offices-badge {
  display: inline-block;
  align-self: flex-start;
  background: var(--ac-accent);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.5rem 1rem;
  border-radius: 999px;
}
.ac-about__offices-inauguration-content h3 {
  font-size: clamp(1.5rem, 2.8vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -.025em;
  color: var(--ac-primary-500);
  line-height: 1.15;
}
.ac-about__offices-inauguration-content p {
  font-size: clamp(0.98rem, 1.2vw, 1.05rem);
  line-height: 1.75;
  color: color-mix(in oklch, var(--ac-text) 85%, transparent);
  max-width: 56ch;
}
.ac-about__offices-inauguration-content p strong {
  color: var(--ac-primary-500);
  font-weight: 700;
}

/* Offices grid 2-col */
.ac-about__offices-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 3vw, 32px);
  margin-bottom: clamp(48px, 6vw, 72px);
}
@media (min-width: 768px) {
  .ac-about__offices-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.ac-about__offices-figure {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  aspect-ratio: 3/2;
  box-shadow: 0 20px 40px -15px color-mix(in oklch, var(--ac-primary-900) 30%, transparent);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.ac-about__offices-figure:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 60px -15px color-mix(in oklch, var(--ac-primary-900) 45%, transparent);
}
.ac-about__offices-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ac-about__offices-figure figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: clamp(16px, 2vw, 24px);
  background: linear-gradient(180deg, transparent 0%, color-mix(in oklch, var(--ac-primary-900) 80%, transparent) 100%);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Agenda accent row + quote */
.ac-about__offices-agenda {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(24px, 3vw, 40px);
  align-items: center;
  padding: clamp(32px, 4vw, 48px);
  background: var(--ac-primary-500);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .ac-about__offices-agenda {
    grid-template-columns: 0.45fr 1fr;
  }
}
.ac-about__offices-agenda-media {
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 3/2;
}
.ac-about__offices-agenda-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ac-about__offices-quote {
  margin: 0;
  padding: 0;
  border-left: 4px solid var(--ac-accent);
  padding-left: clamp(16px, 2vw, 24px);
  font-family: Georgia, "Times New Roman", serif;
}
.ac-about__offices-quote p {
  font-size: clamp(1.1rem, 1.8vw, 1.4rem);
  line-height: 1.5;
  font-style: italic;
  color: #fff;
  margin-bottom: 0.75rem;
}
.ac-about__offices-quote cite {
  font-style: normal;
  font-family: system-ui, -apple-system, sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--ac-accent-300);
}

@media (prefers-reduced-motion: reduce) {
  .ac-about__offices-figure { transition: none; }
  .ac-about__offices-figure:hover { transform: none; }
}

/* End PATCH v11.0.15 */


/* ============================================================
   PATCH v11.0.16 — FULL-BLEED SECTIONS + FORM GRADIENT + FOOTER COLOR
   Fix: GP .inside-article limits content to 1200px, so sections with
   colored bg don't reach viewport edges. Breakout CSS + duplicate
   form gradient rules from homepage.css (not loaded on page 19/23).
   ============================================================ */

/* Full-bleed breakout for sections with colored/image bg */
body.ac-page-chi-siamo .ac-about__hero,
body.ac-page-chi-siamo .ac-about__mission,
body.ac-page-chi-siamo .ac-about__offices,
body.ac-page-chi-siamo .ac-form-section,
body.ac-page-chi-siamo .ac-fullscreen-cta,
body.ac-page-chi-siamo .ac-about__pillars,
body.ac-page-chi-siamo .ac-about__values,
body.ac-page-chi-siamo .ac-services-grid,
body.ac-page-contatti .ac-contact__hero,
body.ac-page-contatti .ac-contact__why,
body.ac-page-contatti .ac-contact__pillars,
body.ac-page-contatti .ac-form-section,
body.ac-page-contatti .ac-fullscreen-cta {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
}

/* Form section pink-viola gradient (duplicated from homepage.css) */
body.ac-page-chi-siamo .ac-form-section,
body.ac-page-contatti .ac-form-section {
  background: var(--ac-gradient, linear-gradient(135deg, #DF1654 0%, #8334C2 100%));
  padding-block: clamp(64px, 8vw, 100px);
  text-align: center;
  overflow: hidden;
}
body.ac-page-chi-siamo .ac-form-section::before,
body.ac-page-contatti .ac-form-section::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.08) 0%, transparent 60%);
  pointer-events: none;
}
body.ac-page-chi-siamo .ac-form-section h2,
body.ac-page-contatti .ac-form-section h2 {
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
  margin-bottom: 0.75rem;
  position: relative;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 800;
}
body.ac-page-chi-siamo .ac-form-section p,
body.ac-page-contatti .ac-form-section p {
  color: rgba(255,255,255,0.95);
  margin-bottom: 1rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
body.ac-page-chi-siamo .ac-preventivo-form,
body.ac-page-contatti .ac-preventivo-form {
  max-width: 700px;
  margin: 0 auto;
  text-align: left;
  position: relative;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(12px);
  border-radius: 16px;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid rgba(255,255,255,0.15);
}
body.ac-page-chi-siamo .ac-preventivo-form .ac-input,
body.ac-page-contatti .ac-preventivo-form .ac-input {
  background: rgba(255,255,255,0.95);
  border: 2px solid rgba(255,255,255,0.4);
  color: #1a1a2e;
  padding: 0.85rem 1rem;
  border-radius: 8px;
  width: 100%;
  font-size: 1rem;
}
body.ac-page-chi-siamo .ac-preventivo-form .ac-grid,
body.ac-page-contatti .ac-preventivo-form .ac-grid {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
body.ac-page-chi-siamo .ac-preventivo-form .ac-grid--2,
body.ac-page-contatti .ac-preventivo-form .ac-grid--2 {
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 640px) {
  body.ac-page-chi-siamo .ac-preventivo-form .ac-grid--2,
  body.ac-page-contatti .ac-preventivo-form .ac-grid--2 {
    grid-template-columns: 1fr;
  }
}
body.ac-page-chi-siamo .ac-preventivo-form .ac-checkbox,
body.ac-page-contatti .ac-preventivo-form .ac-checkbox {
  color: rgba(255,255,255,0.9);
  font-size: 0.85rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
body.ac-page-chi-siamo .ac-preventivo-form .ac-btn--white,
body.ac-page-contatti .ac-preventivo-form .ac-btn--white {
  background: #fff;
  color: var(--ac-primary-500);
  padding: 1rem 2.5rem;
  font-weight: 700;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}
body.ac-page-chi-siamo .ac-preventivo-form .ac-btn--white:hover,
body.ac-page-contatti .ac-preventivo-form .ac-btn--white:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
body.ac-page-chi-siamo .ac-form-section .ac-container,
body.ac-page-contatti .ac-form-section .ac-container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: clamp(20px, 4vw, 40px);
}

/* Re-constrain inner containers inside full-bleed sections */
body.ac-page-chi-siamo .ac-about__hero .ac-about__hero-inner,
body.ac-page-chi-siamo .ac-about__mission .ac-about__mission-inner,
body.ac-page-chi-siamo .ac-about__offices .ac-about__offices-inner,
body.ac-page-chi-siamo .ac-fullscreen-cta .ac-container,
body.ac-page-chi-siamo .ac-services-grid .ac-container,
body.ac-page-contatti .ac-contact__hero .ac-contact__hero-inner,
body.ac-page-contatti .ac-contact__why .ac-container,
body.ac-page-contatti .ac-contact__pillars .ac-container,
body.ac-page-contatti .ac-fullscreen-cta .ac-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Footer color override inside chi-siamo / contatti pages */
/* REMOVED v11.0.21: site-footer overrides rompono logo Comunale e card Partner
   che funzionano correttamente come nelle altre pagine (Tutela Legale etc.) */

/* Offices quote enforce white + AA contrast */
body.ac-page-chi-siamo .ac-about__offices-quote p {
  color: #ffffff;
  opacity: 1;
}
body.ac-page-chi-siamo .ac-about__offices-quote cite {
  color: #F9A8D4;
}

/* End PATCH v11.0.16 */


/* ============================================================
   PATCH v11.0.17 — Center fixes + location breakout + footer
   Cliente feedback 2026-04-21: services-grid + dove trovarci
   appaiono allineati a sinistra, footer logo Comunale invisibile
   su bg dark (PNG con colori bluette non risalta).
   ============================================================ */

/* Add .ac-about__location to full-bleed list (missing from v11.0.16) */
body.ac-page-chi-siamo .ac-about__location {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
}
body.ac-page-chi-siamo .ac-about__location-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: clamp(20px, 4vw, 40px);
}

/* Services-grid: force center list + card max-width, responsive 2/4-col */
body.ac-page-chi-siamo .ac-services-grid .ac-container,
body.ac-page-contatti .ac-services-grid .ac-container {
  text-align: center;
}
body.ac-page-chi-siamo .ac-services-grid__list,
body.ac-page-contatti .ac-services-grid__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  max-width: 1120px;
  margin-inline: auto;
  text-align: left;
  justify-content: center;
}
/* Hide wpautop-generated empty <p> between <a> grid items */
body.ac-page-chi-siamo .ac-services-grid__list > p,
body.ac-page-contatti .ac-services-grid__list > p {
  display: none;
}
@media (min-width: 1024px) {
  body.ac-page-chi-siamo .ac-services-grid__list,
  body.ac-page-contatti .ac-services-grid__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 640px) and (max-width: 1023px) {
  body.ac-page-chi-siamo .ac-services-grid__list,
  body.ac-page-contatti .ac-services-grid__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
body.ac-page-chi-siamo .ac-services-grid .ac-service-card,
body.ac-page-contatti .ac-services-grid .ac-service-card {
  background: #fff;
  padding: clamp(24px, 3vw, 40px);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(107,33,168,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  min-height: 220px;
}
body.ac-page-chi-siamo .ac-services-grid .ac-service-card:hover,
body.ac-page-contatti .ac-services-grid .ac-service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(107,33,168,0.18);
}

/* Dove Trovarci: center contact grid with 2-col desktop, 1-col mobile */
body.ac-page-chi-siamo .ac-about__location-inner h2 {
  text-align: center;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--ac-primary-500);
  letter-spacing: -.03em;
  margin-bottom: 1rem;
}
body.ac-page-chi-siamo .ac-about__location-intro {
  text-align: center;
  max-width: 680px;
  margin-inline: auto;
  margin-bottom: clamp(32px, 4vw, 56px);
}
body.ac-page-chi-siamo .ac-about__location-intro p {
  font-size: clamp(1rem, 1.3vw, 1.1rem);
  line-height: 1.7;
  color: color-mix(in oklch, var(--ac-text) 80%, transparent);
}
body.ac-page-chi-siamo .ac-about__contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(16px, 2vw, 24px);
  max-width: 1100px;
  margin-inline: auto;
  margin-bottom: clamp(32px, 4vw, 48px);
  justify-content: center;
}
body.ac-page-chi-siamo .ac-about__contact-card {
  background: color-mix(in oklch, var(--ac-primary-50) 100%, transparent);
  padding: clamp(24px, 3vw, 40px);
  border-radius: 16px;
  text-align: left;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.ac-page-chi-siamo .ac-about__contact-label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ac-accent);
}
body.ac-page-chi-siamo .ac-about__contact-value {
  font-size: clamp(1rem, 1.3vw, 1.15rem);
  font-weight: 600;
  color: var(--ac-primary-900);
  line-height: 1.5;
}

/* REMOVED v11.0.21: footer regole rompevano logo che funziona già nelle altre pagine */

/* End PATCH v11.0.17 */


/* ============================================================
   PATCH v11.0.19 — 4 client fixes (screen 2026-04-21 evening)
   F1: blockquote bg override (design-system default lavender
       rende white text illeggibile on viola agenda parent)
   F2: services-grid 2x2 layout (cliente preferiva 2 sopra 2 sotto,
       4-col in riga era over-width)
   F3: remove empty wpautop <p> trailing tra form-section e pre-footer
   F4: reduce header→hero gap (inside-article padding-top 40→0)
   ============================================================ */

/* F1: Offices quote bg transparent to let parent viola show through */
body.ac-page-chi-siamo .ac-about__offices-quote,
body.ac-page-chi-siamo blockquote.ac-about__offices-quote {
  background: transparent;
  color: #ffffff;
}
body.ac-page-chi-siamo .ac-about__offices-quote p,
body.ac-page-chi-siamo .ac-about__offices-quote cite {
  background: transparent;
}

/* F2: Services-grid REVERT to 2x2 layout (cliente preferred) */
@media (min-width: 1024px) {
  body.ac-page-chi-siamo .ac-services-grid__list,
  body.ac-page-contatti .ac-services-grid__list {
    grid-template-columns: repeat(2, 1fr);
    max-width: 900px;
  }
}
@media (min-width: 640px) and (max-width: 1023px) {
  body.ac-page-chi-siamo .ac-services-grid__list,
  body.ac-page-contatti .ac-services-grid__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* F3: Hide empty wpautop <p> trailing after last section */
body.ac-page-chi-siamo .entry-content > p:empty,
body.ac-page-contatti .entry-content > p:empty,
body.ac-page-chi-siamo .ac-form-section + p:empty,
body.ac-page-contatti .ac-form-section + p:empty {
  display: none;
  margin: 0;
  padding: 0;
  height: 0;
}
body.ac-page-chi-siamo .ac-form-section,
body.ac-page-contatti .ac-form-section {
  margin-bottom: 0;
}
body.ac-page-chi-siamo .entry-content,
body.ac-page-contatti .entry-content {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* F4: Reduce header→hero gap (GP inside-article default padding 40px) */
body.ac-page-chi-siamo .inside-article,
body.ac-page-contatti .inside-article {
  padding-top: 0;
  padding-bottom: 0;
}
body.ac-page-chi-siamo .ac-about__hero {
  padding-block: clamp(64px, 7vw, 110px);
}
body.ac-page-contatti .ac-contact__hero {
  padding-block: clamp(48px, 6vw, 80px);
}

/* End PATCH v11.0.19 */


/* ============================================================
   PATCH v11.0.20 — 4 regression fixes
   F1: Dove trovarci 4 card incasinate — wpautop <br> tra <a>
       rompe grid auto-fit; force 2x2 + hide br
   F2: Header gap ulteriore riduzione
   F3: Form→footer whitespace (hide any trailing gap)
   F4: Footer logo width=0 collapse (stesso bug svg)
   ============================================================ */

/* F1: Hide br inside contact-grid + force 2x2 layout */
body.ac-page-chi-siamo .ac-about__contact-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  max-width: 900px !important;
  margin-inline: auto !important;
}
body.ac-page-chi-siamo .ac-about__contact-grid > br,
body.ac-page-chi-siamo .ac-about__contact-grid > p:empty,
body.ac-page-chi-siamo .ac-services-grid__list > br,
body.ac-page-contatti .ac-services-grid__list > br,
body.ac-page-chi-siamo .ac-about__offices-grid > br,
body.ac-page-chi-siamo .ac-about__pillars-grid > br,
body.ac-page-contatti .ac-contact__pillars-grid > br,
body.ac-page-chi-siamo .ac-about__values-grid > br {
  display: none !important;
}

/* F2: Header further reduction — site-wide tighter top content padding */
body.ac-page-chi-siamo .ac-about__hero {
  padding-block: clamp(40px, 5vw, 72px) !important;
}
body.ac-page-contatti .ac-contact__hero {
  padding-block: clamp(32px, 4vw, 56px) !important;
}

/* F3: Aggressive whitespace purge between form and site-footer */
body.ac-page-chi-siamo .entry-content > p,
body.ac-page-contatti .entry-content > p,
body.ac-page-chi-siamo .entry-content > br,
body.ac-page-contatti .entry-content > br {
  display: none !important;
}
body.ac-page-chi-siamo .ac-form-section:last-child,
body.ac-page-contatti .ac-form-section:last-child {
  margin-bottom: 0 !important;
  padding-bottom: clamp(56px, 7vw, 96px) !important;
}
body.ac-page-chi-siamo article.page,
body.ac-page-contatti article.page,
body.ac-page-chi-siamo .inside-article,
body.ac-page-contatti .inside-article,
body.ac-page-chi-siamo .entry-content,
body.ac-page-contatti .entry-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* REMOVED v11.0.21: footer regole erano regression (logo OK senza override) */

/* End PATCH v11.0.20 */


/* ============================================================
   PATCH v11.0.21 — Final cleanup
   - Fix main.site-main margin-bottom 20px = fascia bianca residua tra form e footer
   - Zero footer override (footer standard come Tutela Legale funziona gia')
   ============================================================ */
body.ac-page-chi-siamo main.site-main,
body.ac-page-contatti main.site-main {
  margin-bottom: 0 !important;
}

/* v11.0.22: mirror service.css footer overrides (Chi Siamo/Contatti/Lavora con Noi mancavano ac-service-page class) */
body.ac-page-chi-siamo .ac-footer__brand img,
body.ac-page-contatti .ac-footer__brand img,
body.ac-page-lavora-con-noi .ac-footer__brand img {
  filter: none !important;
}
body.ac-page-chi-siamo .ac-partner-badge,
body.ac-page-contatti .ac-partner-badge,
body.ac-page-lavora-con-noi .ac-partner-badge {
  background: rgba(107, 33, 168, 0.2) !important;
}
body.ac-page-lavora-con-noi .ac-partner-badge__text {
  color: #fff !important;
}
body.ac-page-lavora-con-noi .ac-partner-badge__icon {
  background: rgba(255,255,255,0.2) !important;
  color: #fff !important;
}

/* v11.0.23: RankMath breadcrumb styling */
body.ac-page-chi-siamo .ac-breadcrumb,
body.ac-page-contatti .ac-breadcrumb {
  padding: clamp(16px, 2vw, 24px) clamp(20px, 4vw, 48px);
  font-size: 0.88rem;
  color: color-mix(in oklch, var(--ac-text) 70%, transparent);
  max-width: 1200px;
  margin-inline: auto;
}
body.ac-page-chi-siamo .ac-breadcrumb a,
body.ac-page-contatti .ac-breadcrumb a {
  color: var(--ac-primary-500);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}
body.ac-page-chi-siamo .ac-breadcrumb a:hover,
body.ac-page-contatti .ac-breadcrumb a:hover {
  color: var(--ac-accent);
  text-decoration: underline;
}
body.ac-page-chi-siamo .ac-breadcrumb .separator,
body.ac-page-contatti .ac-breadcrumb .separator {
  margin: 0 0.4rem;
  color: var(--ac-accent);
  opacity: 0.6;
}
body.ac-page-chi-siamo .ac-breadcrumb .last,
body.ac-page-contatti .ac-breadcrumb .last {
  color: var(--ac-primary-900);
  font-weight: 600;
}

/* End PATCH v11.0.21 */


/* ============================================================
   PATCH v11.0.22 — Extend page 21 Lavora con Noi pattern
   Apply SAME full-bleed breakout + form gradient + entry-content reset
   + breadcrumb styling used on Chi Siamo 19 + Contatti 23 to Lavora 21.
   Root cause fix: lavora-page.css missed these cross-page regressions.
   ============================================================ */

/* Full-bleed breakout — hero, turn, why, values, profile, benefits, apply, company, form, fullscreen */
body.ac-page-lavora-con-noi .ac-careers__hero,
body.ac-page-lavora-con-noi .ac-careers__turn,
body.ac-page-lavora-con-noi .ac-careers__why,
body.ac-page-lavora-con-noi .ac-careers__values,
body.ac-page-lavora-con-noi .ac-careers__profile,
body.ac-page-lavora-con-noi .ac-careers__benefits,
body.ac-page-lavora-con-noi .ac-careers__apply,
body.ac-page-lavora-con-noi .ac-careers__company,
body.ac-page-lavora-con-noi .ac-careers__chi-siamo,
body.ac-page-lavora-con-noi .ac-careers__faq,
body.ac-page-lavora-con-noi .ac-form-section,
body.ac-page-lavora-con-noi .ac-fullscreen-cta {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-width: none;
}

/* Re-constrain inner containers inside full-bleed sections */
body.ac-page-lavora-con-noi .ac-careers__hero .ac-careers__hero-inner,
body.ac-page-lavora-con-noi .ac-careers__turn .ac-careers__turn-inner,
body.ac-page-lavora-con-noi .ac-careers__why .ac-careers__why-inner,
body.ac-page-lavora-con-noi .ac-careers__values .ac-careers__values-inner,
body.ac-page-lavora-con-noi .ac-careers__profile .ac-careers__profile-inner,
body.ac-page-lavora-con-noi .ac-careers__benefits .ac-careers__benefits-inner,
body.ac-page-lavora-con-noi .ac-careers__apply .ac-careers__apply-inner,
body.ac-page-lavora-con-noi .ac-careers__company .ac-careers__company-inner,
body.ac-page-lavora-con-noi .ac-careers__chi-siamo .ac-careers__chi-siamo-inner,
body.ac-page-lavora-con-noi .ac-careers__faq .ac-careers__faq-inner,
body.ac-page-lavora-con-noi .ac-form-section .ac-container,
body.ac-page-lavora-con-noi .ac-fullscreen-cta .ac-container {
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: clamp(20px, 4vw, 48px);
}

/* Form gradient pink-viola inherited (duplicate from chi-siamo/contatti rules) */
body.ac-page-lavora-con-noi .ac-form-section {
  background: var(--ac-gradient, linear-gradient(135deg, #DF1654 0%, #8334C2 100%));
  padding-block: clamp(64px, 8vw, 100px);
  text-align: center;
  overflow: hidden;
}
body.ac-page-lavora-con-noi .ac-form-section::before {
  content: '';
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.08) 0%, transparent 60%);
  pointer-events: none;
}
body.ac-page-lavora-con-noi .ac-form-section h2 {
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
  margin-bottom: 0.75rem;
  position: relative;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  font-weight: 800;
}
body.ac-page-lavora-con-noi .ac-form-section p {
  color: rgba(255,255,255,0.95);
  margin-bottom: 1rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
body.ac-page-lavora-con-noi .ac-preventivo-form {
  max-width: 700px;
  margin: 0 auto;
  text-align: left;
  position: relative;
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(12px);
  border-radius: 16px;
  padding: clamp(24px, 3vw, 40px);
  border: 1px solid rgba(255,255,255,0.15);
}

/* Entry content + inside-article reset (remove GP padding + narrow container) */
body.ac-page-lavora-con-noi .inside-article,
body.ac-page-lavora-con-noi .entry-content,
body.ac-page-lavora-con-noi article.page {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide wpautop-generated empty <p> / <br> */
body.ac-page-lavora-con-noi .entry-content > p:empty,
body.ac-page-lavora-con-noi .entry-content > p,
body.ac-page-lavora-con-noi .entry-content > br {
  display: none !important;
}

/* Hide br inside grid containers (wpautop artifact) */
body.ac-page-lavora-con-noi .ac-careers__why-grid > br,
body.ac-page-lavora-con-noi .ac-careers__values-grid > br,
body.ac-page-lavora-con-noi .ac-careers__profile-list > br,
body.ac-page-lavora-con-noi .ac-careers__apply-nap > br,
body.ac-page-lavora-con-noi .ac-careers__benefits-stats > br,
body.ac-page-lavora-con-noi .ac-careers__faq-list > br,
body.ac-page-lavora-con-noi .ac-careers__why-grid > p:empty,
body.ac-page-lavora-con-noi .ac-careers__values-grid > p:empty,
body.ac-page-lavora-con-noi .ac-careers__profile-list > p:empty,
body.ac-page-lavora-con-noi .ac-careers__apply-nap > p:empty,
body.ac-page-lavora-con-noi .ac-careers__benefits-stats > p:empty,
body.ac-page-lavora-con-noi .ac-careers__faq-list > p:empty {
  display: none !important;
}

/* Form section last padding cleanup */
body.ac-page-lavora-con-noi .ac-form-section:last-child {
  margin-bottom: 0 !important;
  padding-bottom: clamp(56px, 7vw, 96px) !important;
}

/* Breadcrumb colors consistent with Chi Siamo/Contatti */
body.ac-page-lavora-con-noi .ac-breadcrumb,
body.ac-page-lavora-con-noi .ac-breadcrumb a,
body.ac-page-lavora-con-noi .ac-breadcrumb .separator {
  color: var(--ac-primary-700);
}
body.ac-page-lavora-con-noi .ac-breadcrumb .separator {
  color: var(--ac-accent);
  opacity: 0.6;
}
body.ac-page-lavora-con-noi .ac-breadcrumb .last {
  color: var(--ac-primary-900);
  font-weight: 600;
}

/* End PATCH v11.0.22 */

