:root{--color-primary:#69bd45;--color-secondary:#007ab8;--color-tertiary:#1ea4a9;--color-state:#4b7e2b;--color-state-hover:#3c6721;--color-state-focus:#3c6721;--color-state-active:#30541a;--color-state-highlight:#f6f9d7;--color-state-highlight-neutral:var(--color-neutral-3);--color-state-disabled:var(--color-neutral-5);--color-neutral-1:#fff;--color-neutral-2:#fafafa;--color-neutral-3:#f7f7f7;--color-neutral-4:#e6e4e4;--color-neutral-5:#c7c7c7;--color-neutral-6:#767676;--color-neutral-7:#262626;--color-background:var(--color-neutral-1);--color-border:var(--color-neutral-5);--color-text:var(--color-neutral-7);--color-text-disabled:var(--color-neutral-5);--color-text-hint:var(--color-neutral-6);--link-color:var(--color-state);--link-color-hover:var(--color-state-hover);--nav-bg-color:#fff;--nav-text-color:var(--color-text);--footer-bg-color:#fff;--footer-text-color:var(--color-text);--footer-text-color-hover:var(--footer-text-color);--btn-accent-color:var(--color-state);--btn-accent-color-active:var(--color-state-active);--btn-accent-color-focus:var(--color-state-focus);--btn-accent-color-disabled:var(--color-state-disabled);--btn-prim-accent-color:var(--color-state);--btn-prim-accent-color-active:var(--color-state-active);--btn-prim-accent-color-focus:var(--color-state-focus);--btn-prim-accent-color-disabled:var(--color-state-disabled)}html{font-size:10px}.tui-sr-only{position:absolute !important;width:1px !important;height:1px !important;margin:-1px !important;padding:0 !important;overflow:hidden !important;white-space:nowrap !important;border:0 !important;clip:rect(0, 0, 0, 0) !important;}.tui-rendered{color:var(--color-text);font-weight:normal;font-size:var(--font-body-size);line-height:var(--font-body-line-height);word-break:break-word}.tui-rendered h2{font-weight:bold;font-size:var(--font-heading-large-size);line-height:var(--font-heading-large-line-height)}.tui-rendered h3{font-weight:500;font-size:var(--font-heading-size);line-height:var(--font-heading-line-height)}.tui-rendered h4{font-weight:bold;font-size:var(--font-heading-small-size);line-height:var(--font-heading-small-line-height)}.tui-rendered h5{font-weight:bold;font-size:var(--font-heading-x-small-size);line-height:var(--font-heading-x-small-line-height)}.tui-rendered__block{margin-bottom:var(--paragraph-gap)}.tui-rendered__embedContainer{max-width:var(--embedded-media-max-width)}.tui-icon--disabled{color:var(--color-neutral-2)}.tui-icon--action{color:var(--color-state)}.tui-icon--info{color:var(--color-prompt-info)}.tui-icon--alert{color:var(--color-prompt-alert)}.tui-icon--warning{color:var(--color-prompt-warning)}.tui-icon--success{color:var(--color-prompt-success)}.tui-icon--dimmed{color:var(--color-neutral-6)}.continuum{}.continuum__customTab{}.continuum__customTab__text{}.continuum__customTab__text--rendered{color:var(--continuum-color);}.continuum__customTab__text--rendered{color:var(--continuum-color)}:root{--nav-bg-color: #002765;--nav-text-color: #ffffff;--color-primary: #e92938;--btn-prim-accent-color: #002765;--btn-accent-color: #1166ee;--link-color: #002765;--color-state: #002765;--color-text: #262626;--footer-bg-color: #ffffff;--footer-text-color: #262626;--btn-prim-accent-color-focus: #001d5b;--btn-prim-accent-color-active: #000c4a;--btn-accent-color-focus: #075ce4;--btn-accent-color-active: #004bd3;--link-color-hover: #001d5b;--color-state-hover: #001d5b;--color-state-focus: #001d5b;--color-state-active: #000c4a;--footer-text-color-hover: #1c1c1c;}
#page-login-signup.path-login #page {
  background-color: rgba(255,255,255,1);
  margin-left: 0px;
}

/* Mobile */
@media (min-width: 1024px) {
  body#page-login-signup.path-login #page {
    width: 50% !important;
  }
}

#fitem_id_city,
#fitem_id_country{
    display: none;
}

.tui-core_auth-loginNav__image
 {
    height: 3rem !important;
}




/* login custom */
.tui-core_auth-loginLayout {
  background: rgba(255, 255, 255, 0) !important;
}

/* =======================
   DESKTOP (centrato al pixel)
   ======================= */
@media (min-width: 641px) {
  .tui-core_auth-loginLayout__panel-interface {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: min(520px, 90vw) !important; /* larghezza max del box */
    z-index: 2 !important;
  }

  /* lo sfondo resta sotto */
  .tui-core_auth-loginLayout__panel-graphic {
    position: fixed !important;
    width: 100%;
    z-index: 1 !important;
  }
}

/* =======================
   MOBILE (layout fluido e centrato)
   ======================= */
@media (max-width: 640px) {
  .tui-core_auth-loginLayout {
    min-height: 100svh;               /* altezza reale viewport mobile */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;                    /* respiro ai lati */
  }

  .tui-core_auth-loginLayout__panel-interface {
    position: static !important;      /* NO fixed su mobile */
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    width: 100% !important;           /* riempi la larghezza disponibile */
    max-width: 520px;                 /* ma non esagerare */
    z-index: 2 !important;
  }

  .tui-core_auth-loginLayout__panel-graphic {
    position: static !important;      /* evita sovrapposizioni/scroll janky */
    width: 100%;
    z-index: 1 !important;
  }

  body.path-login {
    background-attachment: scroll;    /* più stabile su iOS/Android */
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .tui-core_auth-loginLayout__contentWrap {
    padding: 16px !important;
    border-radius: 12px;
  }
}

/* tuoi stili esistenti (rimangono invariati) */
.tui-core_auth-loginLayout__panel-interface { margin: 0 auto !important; }
.tui-core_auth-loginLayout__contentWrap { background: rgba(255, 255, 255, 1) !important; padding: 15px; }
.tui-core_auth-loginLayout--hasBackground .tui-core_auth-loginLayout__panel-interface { width: 50%; z-index: 1; position: relative; }
.tui-core_auth-footer { display: none !important; }
.tui-core_auth-login__separator { display: none !important; }
.tui-core_auth-loginLayout__panel-interface { height: auto; min-height: auto; }
.tui-core_auth-loginLayout__contentWrap { justify-content: start; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; }
.tui-core_auth-loginNav { border-top-left-radius: 10px; border-top-right-radius: 10px; }
body.path-login { background-size: cover; background-attachment: fixed; }






/* ============================
   Fieldset collapsible - Desktop base
   ============================ */
fieldset.collapsible {
  background-color: #fff;
  border: 1px solid #dbe2ec;
  border-radius: 10px;
  margin-bottom: 1rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
}

fieldset.collapsible legend.ftoggler a.fheader {
  display: block;
  padding: 0.6rem 1rem;
  font-weight: 600;
  color: #003366;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

fieldset.collapsible legend.ftoggler a.fheader:hover {
  background-color: #f3f6fa;
}

fieldset.collapsible .fcontainer {
  padding: 0.5rem 1rem 1rem;
}

fieldset.collapsible .fcontainer ol,
fieldset.collapsible .fcontainer ul {
  margin-bottom: 0.5rem;
}

fieldset.collapsible .fcontainer p {
  margin-top: 0.3rem;
}

/* ============================
   Mobile optimization (≤ 640px)
   ============================ */
@media (max-width: 640px) {
  fieldset.collapsible {
    border-radius: 8px;
    margin-bottom: 0.8rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
  }

  fieldset.collapsible legend.ftoggler a.fheader {
    padding: 0.8rem 1rem;
    font-size: 16px; /* più leggibile su smartphone */
    line-height: 1.3;
    color: #002b55;
  }

  fieldset.collapsible .fcontainer {
    padding: 0.75rem 1rem 1rem;
  }

  fieldset.collapsible .fcontainer ol,
  fieldset.collapsible .fcontainer ul {
    padding-left: 1rem;
  }

  fieldset.collapsible .fcontainer li {
    line-height: 1.4;
    font-size: 15px;
  }

  fieldset.collapsible .fcontainer p {
    font-size: 15px;
    line-height: 1.5;
    margin-top: 0.4rem;
  }
}

/* ============================
   Fix per campi First name / Surname su mobile
   ============================ */
@media (max-width: 640px) {

  /* Spaziatura uniforme tra i campi */
  .form-group,
  .form-item,
  .fitem {
    margin-bottom: 18px !important;
  }

  /* Aggiunge respiro ai lati dei campi dentro i fieldset */
  fieldset.collapsible .fcontainer input[type="text"],
  fieldset.collapsible .fcontainer input[type="email"],
  fieldset.collapsible .fcontainer select {
    width: 100% !important;
    box-sizing: border-box;
    padding: 10px 14px !important;
    font-size: 16px !important;  /* evita zoom forzato su iPhone */
    border-radius: 8px;
  }

  /* Migliora leggibilità delle label */
  fieldset.collapsible label {
    display: block;
    font-size: 15px;
    margin-bottom: 6px;
    color: #1e293b;
  }

  /* Margine interno ai bordi del fieldset */
  fieldset.collapsible .fcontainer {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}











@media (min-width: 992px) {
#page-enrol-index  #block-region-side-post.col-lg-3 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

}
#page-auth-approved-confirm .box.loginbox.onecolumn{
  background-color: #fff;
padding:20px;
}


#page-login-signup.jsenabled .mform .collapsed .fcontainer{
display:block !important;
}
#page-login-signup.jsenabled  .collapsible-actions{
display:none !important;
}
#page-login-signup.jsenabled .signup-help.card{
border: 0px solid #e5e7eb !important;
  max-width: 100% !important;
padding:0 15px !important;
}
#page-auth-approved-confirm{
background-size:cover !important;
}
#page-login-signup.jsenabled .ftoggler{
display:none !important;
}
#page-login-signup.jsenabled fieldset.collapsible .fcontainer{
padding:25px 10px !important;
}




.tw-catalogResultsShare{
    display: none;
}

#page-admin-tool-sitepolicy-userpolicy #page{
background-color:#FFF !important;
}
