/* Pagina richiesta gruppi — integrazione con il design system del portale */
.group-request-hero{
  background:var(--ink);
  color:#fff;
  padding-block:clamp(3.75rem,7vw,6.75rem);
}
.group-request-hero .breadcrumbs{color:rgba(255,255,255,.72)}
.group-request-hero .eyebrow{color:var(--orange-brand)}
.group-request-hero h1{color:#fff;max-width:10ch}
.group-request-hero .lead{color:rgba(255,255,255,.82)}
.group-request-steps{
  display:grid;
  gap:.7rem;
  margin-top:1.8rem;
  padding-top:1.4rem;
  border-top:1px solid rgba(255,255,255,.22);
}
.group-request-steps p{
  display:grid;
  grid-template-columns:2rem 1fr;
  align-items:start;
  gap:.25rem;
  margin:0;
  color:rgba(255,255,255,.88);
}
.group-request-steps strong{color:var(--orange-brand);font-size:1.1rem}

.group-request-page{background:var(--cream);padding-top:clamp(3.8rem,7vw,6rem)}
.group-request-contacts{margin-bottom:clamp(3rem,6vw,5rem)}
.group-request-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(18rem,.65fr);
  gap:2rem;
  align-items:end;
  margin-bottom:1.6rem;
}
.group-request-section-head h2{font-size:clamp(2rem,4vw,3.15rem);margin:.45rem 0 0}
.group-request-section-head>p{color:var(--muted);font-size:1.03rem;line-height:1.7;margin:0}
.group-request-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.group-request-contact-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:1.45rem 1.5rem;
  box-shadow:none;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:1rem;
  align-items:start;
}
.group-request-contact-card h3{grid-column:1/-1;font-size:1.3rem;margin:0 0 .25rem}
.group-request-contact-card p{margin:.2rem 0;color:var(--muted)}
.group-request-contact-card p:nth-of-type(1){grid-column:1/-1}
.group-request-contact-card p:nth-of-type(2){grid-column:1/-1}
.group-request-contact-card p:nth-of-type(3){grid-column:1/-1;margin-top:.55rem}
.group-request-contact-card a{color:var(--orange-action);font-weight:750;text-decoration-thickness:.08em;text-underline-offset:.18em}

.group-request-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);
  gap:clamp(1.5rem,4vw,2.7rem);
  align-items:start;
}
.group-request-form-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:clamp(1.5rem,4vw,3rem);
  box-shadow:0 16px 45px rgba(36,38,93,.08);
}
.group-request-form-card>h2{font-size:clamp(2rem,4vw,3rem);margin:.4rem 0 .65rem}
.group-request-form-card .section-intro{color:var(--muted);max-width:46rem;margin:0 0 2.2rem}
.group-request-form-section{padding:0 0 2.1rem;margin:0 0 2.1rem;border-bottom:1px solid var(--line)}
.group-request-form-section:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
.group-request-form-section h3{font-size:1.38rem;line-height:1.25;margin:0 0 1.15rem}
.group-request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.15rem}
.group-request-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.group-request-grid--spaced{margin-top:1.15rem}
.group-request-field{display:flex;flex-direction:column;gap:.42rem}
.group-request-field--full{grid-column:1/-1}
.group-request-field label,.group-request-form-card legend{font-size:.94rem;font-weight:800;color:var(--ink)}
.group-request-required{color:#9F1C17}
.group-request-form-card input,.group-request-form-card select,.group-request-form-card textarea{
  width:100%;min-height:3.1rem;
  padding:.78rem .9rem;
  border:1px solid #8b8778;
  border-radius:.7rem;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.group-request-form-card textarea{min-height:8.5rem;resize:vertical;line-height:1.55}
.group-request-form-card input:focus,.group-request-form-card select:focus,.group-request-form-card textarea:focus{outline:3px solid var(--focus);outline-offset:2px;border-color:transparent}
.group-request-form-card fieldset{border:0;padding:0;margin:0}
.group-request-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.group-request-choice{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.7rem;
  align-items:start;
  padding:.9rem 1rem;
  border:1px solid var(--line);
  border-radius:.85rem;
  background:#fff;
}
.group-request-choice input,.group-request-check-row input{width:1.15rem;height:1.15rem;min-height:0;margin:.18rem 0 0}
.group-request-choice label{font-weight:650;line-height:1.35}
.group-request-check-row{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;margin:1rem 0}
.group-request-check-row label{font-weight:500;line-height:1.55}
.group-request-help{font-size:.9rem;color:var(--muted);margin-top:.2rem}
.group-request-alert{border-radius:1rem;padding:1rem 1.15rem;margin:0 0 1.25rem}
.group-request-alert--error{background:#fff1f2;border:1px solid #e3a0a7;color:#7e171d}
.group-request-alert--success{background:#eef8ef;border:1px solid #9fc8a3;color:#245e2a}
.group-request-alert ul{margin:.55rem 0 0;padding-left:1.2rem}
.group-request-form-card .button-primary{margin-top:.4rem;min-height:3.2rem;padding-inline:1.4rem}
.group-request-form-card .button-primary:disabled{opacity:.55;cursor:not-allowed}
.group-request-sidebar{position:sticky;top:calc(var(--header-h) + 1rem);display:grid;gap:1rem}
.group-request-sidebar-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.25rem 1.3rem}
.group-request-sidebar-card:first-child{border-top:4px solid var(--orange-brand)}
.group-request-sidebar-card h3{font-size:1.12rem;margin:0 0 .55rem}
.group-request-sidebar-card p,.group-request-sidebar-card li{font-size:.93rem;line-height:1.55;color:var(--muted)}
.group-request-sidebar-card ul{padding-left:1.1rem;margin:.6rem 0 0}
.group-request-hp{position:absolute!important;left:-9999px!important}

@media(max-width:62rem){
  .group-request-section-head,.group-request-layout{grid-template-columns:1fr}
  .group-request-sidebar{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:43rem){
  .group-request-contact-grid,.group-request-grid,.group-request-grid-3,.group-request-choice-grid,.group-request-sidebar{grid-template-columns:1fr}
  .group-request-field--full{grid-column:auto}
  .group-request-form-card{border-radius:1.2rem;padding:1.3rem}
  .group-request-contact-card{grid-template-columns:1fr}
  .group-request-hero h1{max-width:none}
}

/* Bandierine per esigenze alimentari e accessibilità: sostituiscono
   due campi di testo libero che raccoglievano dati sulla salute. */
.group-request-flag{display:flex;gap:.6rem;align-items:flex-start;font-weight:600;line-height:1.45}
.group-request-flag input{margin-top:.25rem;flex:0 0 auto}
.group-request-hint{margin:.5rem 0 0;font-size:.88rem;line-height:1.55;color:var(--muted)}
.group-request-proto{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;white-space:nowrap}
