/* Iscrizione annuale: stessa palette delle pagine pubbliche C'entro. */
.oc-registration .oc-site{width:min(1040px,calc(100% - 28px))}
.oc-registration .oc-topbar{margin-bottom:22px}
.oc-registration .registration-main{max-width:860px;margin:0 auto 64px}
.oc-registration .registration-heading{padding:28px 32px;margin-bottom:20px;border-radius:30px;background:linear-gradient(130deg,#fff8e8,#ffe89a);border:1px solid var(--oc-line);box-shadow:var(--oc-shadow-soft)}
.oc-registration .registration-heading h1{margin:0 0 10px;font-size:clamp(2rem,5vw,3.5rem);line-height:1;color:var(--oc-red);letter-spacing:-.045em;text-transform:uppercase}
.oc-registration .registration-heading p{margin:0;max-width:650px;color:#34405a;line-height:1.5;font-weight:600}
.oc-registration .registration-card{margin:18px 0;padding:26px 30px 30px;border:1px solid var(--oc-line);border-radius:26px;background:var(--oc-white);box-shadow:var(--oc-shadow-soft)}
.oc-registration .ifMinorenne{display:none}
.oc-registration .registration-card-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:23px}
.oc-registration .registration-step{flex:0 0 37px;display:grid;place-items:center;height:37px;border-radius:12px;background:var(--oc-blue);color:#fff;font-weight:900}
.oc-registration .registration-card h2{margin:0;color:var(--oc-blue);font-size:1.35rem;line-height:1.2;letter-spacing:-.02em}
.oc-registration .registration-card-heading p{margin:4px 0 0;color:var(--oc-muted);font-size:.92rem}
.oc-registration .registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.oc-registration .registration-field{min-width:0}
.oc-registration .registration-wide{grid-column:1/-1}
.oc-registration .registration-field label{display:block;margin:0 0 7px;color:#273655;font-weight:800;font-size:.93rem}
.oc-registration .registration-field small{display:block;margin:7px 0 0;color:var(--oc-muted);font-size:.85rem;line-height:1.4}
.oc-registration .registration-field .required{color:var(--oc-red)}
.oc-registration .registration-field input,
.oc-registration .registration-field select{display:block;box-sizing:border-box;width:100%;min-width:0;height:50px;margin:0;padding:10px 14px;border:1px solid #cfdaea;border-radius:12px;background:#fff;color:var(--oc-ink);font:inherit;font-size:1rem;text-align:left;box-shadow:none}
.oc-registration .registration-field select{padding-right:32px;background:#fff;appearance:auto}
.oc-registration .registration-field input::placeholder{color:#788394;font-style:normal;opacity:1}
.oc-registration .registration-field input:focus,
.oc-registration .registration-field select:focus{outline:3px solid rgba(31,63,143,.16);border-color:var(--oc-blue)}
.oc-registration .registration-uppercase{text-transform:uppercase}
.oc-registration .registration-inline{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0}
.oc-registration .registration-phone{display:grid;grid-template-columns:minmax(125px,1fr) minmax(0,2fr);gap:14px;min-width:0}
.oc-registration .registration-field .select2-container{width:100%!important;max-width:100%}
.oc-registration .registration-field .select2-container--bootstrap4 .select2-selection{box-sizing:border-box;height:50px!important;min-height:50px;padding:6px 10px!important;border:1px solid #cfdaea;border-radius:12px;background:#fff}
.oc-registration .registration-field .select2-container--bootstrap4 .select2-selection__rendered,
.oc-registration .registration-field .select2-container--bootstrap4 .select2-selection__placeholder{background:transparent!important;color:var(--oc-ink)!important;font-style:normal;line-height:36px!important;margin:0;padding:0}
.oc-registration .registration-field .select2-container--bootstrap4 .select2-selection__placeholder{color:#788394!important}
.oc-registration .registration-field .select2-container--bootstrap4.select2-container--focus .select2-selection{border-color:var(--oc-blue);box-shadow:0 0 0 3px rgba(31,63,143,.16)}
.oc-registration .buttonBar{display:flex;gap:12px;justify-content:flex-start;flex-wrap:wrap;margin:26px 0 0}
.oc-registration .buttonBar button{min-height:48px;padding:11px 22px;border-radius:999px;font:inherit;font-weight:850;cursor:pointer}
.oc-registration .buttonBar .btnSave{background:var(--oc-red);color:#fff;box-shadow:0 12px 24px rgba(217,39,29,.18)}
.oc-registration .buttonBar .btnSave:hover{background:#b91d16}
.oc-registration .buttonBar .btnCancel{background:#fff;color:var(--oc-blue);border:1px solid rgba(31,63,143,.3)}
.oc-registration .buttonBar .btnCancel:hover{background:#eef2fc}
.oc-registration .error-message,.oc-registration .warning-message,.oc-registration .success-message{position:fixed;left:50%;top:auto;bottom:18px;transform:translateX(-50%);z-index:1000;width:min(560px,calc(100% - 28px));min-width:0;padding:12px 20px;border-radius:14px;text-align:center;font-weight:750;box-shadow:0 12px 32px rgba(22,30,48,.24);line-height:1.4}
.oc-registration .warning-message{display:none;background:#fff0b3;color:#593d00;border:1px solid #d6a737}
@media(max-width:650px){
  .oc-registration .oc-site{padding-top:12px}
  .oc-registration .oc-topbar{gap:8px}
  .oc-registration .oc-topbar .oc-btn{padding:10px 12px;font-size:.85rem}
  .oc-registration .registration-heading{padding:24px 20px}
  .oc-registration .registration-card{padding:23px 18px}
  .oc-registration .registration-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .oc-registration .registration-wide{grid-column:auto}
  .oc-registration .buttonBar{flex-direction:column}
  .oc-registration .buttonBar button{width:100%}
}
@media(max-width:420px){.oc-registration .oc-topbar .oc-btn span{display:none}}
