/*
 * Area riservata off-market: form di registrazione e scheda dell'immobile riservato.
 * Il form usa già le classi del sito (form_wrap, form_row, form_input, checkbox_label…):
 * qui solo quello che manca. Fonte per `npm run embed`.
 */
/* Versione dello stile: calea-access.js scarica il foglio aggiornato se il blocco incollato ne ha
   uno più vecchio (va aumentata insieme a ACCESS_CSS_VERSION nello script). */
[data-calea-register], [data-calea-offmarket-detail] {
  --calea-access-css: 4;
  /* Token di movimento del sito: hover in 300 ms, uscita in 600 ms, Out Quart. */
  --om-ease: var(--motion-ease, cubic-bezier(.165, .84, .44, 1));
  --om-fast: var(--motion-fast, 300ms);
  --om-base: var(--motion-base, 600ms);
}

/* Form di registrazione: titolo e testo a sinistra, form in un riquadro a destra (in colonna sotto
   i 992px). Tutte le proprietà del vecchio stile incollato in Webflow sono riscritte qui. */
.offmarket_register {
  --om-ink: var(--_color---neutral--inchiostro, #050419);
  --om-muted: var(--_color---neutral--grafite, #3c4347);
  --om-line: var(--_color---neutral--nebbia, #c9cbcc);
  --om-primary: var(--_color---blue--abisso, #005974);
  --om-surface: var(--_color---neutral--latte, #fcfcfc);
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  grid-template-rows: auto 1fr;
  column-gap: clamp(40px, 7vw, 120px);
  row-gap: 20px;
  align-items: start;
  max-width: none;
  margin: 0;
  padding-block: clamp(16px, 3vw, 48px);
  color: var(--om-ink);
}
.offmarket_register .offmarket_register_title {
  grid-column: 1; margin: 0;
  font-family: var(--_typography---fonts--primary-font, Asterone, Arial, sans-serif);
  font-size: clamp(30px, 3.2vw, 48px); line-height: 1.05; font-weight: 400;
  text-transform: uppercase; color: var(--om-ink);
}
.offmarket_register .offmarket_register_intro {
  grid-column: 1; margin: 0; max-width: 40ch;
  font-family: var(--_typography---fonts--tertiary-font-300, "Be Vietnam Pro", Arial, sans-serif);
  font-size: 18px; line-height: 1.5; font-weight: 300; color: var(--om-muted);
}
.offmarket_register .form_wrap {
  grid-column: 2; grid-row: 1 / span 2;
  display: grid; gap: 0; margin: 0;
  padding: clamp(24px, 3vw, 48px);
  background: var(--om-surface);
  border: 1px solid var(--_color---neutral--perla, #e4e6e7);
}
.offmarket_register .form_row {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 20px; margin: 0;
}
.offmarket_register .form_col { display: grid; gap: 8px; margin: 0; min-width: 0; }
.offmarket_register .form_eyebrow {
  margin: 0; color: var(--om-muted);
  font-family: var(--_typography---fonts--tertiary-font-800, "Be Vietnam Pro", Arial, sans-serif);
  font-size: 12px; line-height: 1; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
}
/* Gli input del sito (form_input) sono pensati per il form contatti su fondo scuro: grigi, con il
   testo che qui risultava scuro su scuro. Qui campo bianco con bordo. */
.offmarket_register .form_input {
  width: 100%; height: 48px; min-height: 48px; margin: 0; padding: 12px 14px;
  background: #fff; color: var(--om-ink);
  border: 1px solid var(--om-line);
  border-radius: var(--_components---input--border-radius, 2px);
  font-family: var(--_typography---fonts--tertiary-font-400, "Be Vietnam Pro", Arial, sans-serif);
  font-size: 16px; line-height: 22px;
  box-shadow: none;
  transition: border-color var(--om-base) var(--om-ease), box-shadow var(--om-base) var(--om-ease);
}
.offmarket_register .form_input:hover { transition-duration: var(--om-fast); border-color: var(--_color---neutral--ardesia, #82878b); }
.offmarket_register .form_input:focus {
  transition-duration: var(--om-fast); outline: none; border-color: var(--om-primary); box-shadow: 0 0 0 1px var(--om-primary);
}
.offmarket_register .form_input[aria-invalid] { border-color: #c41400; box-shadow: 0 0 0 1px #c41400; }
.offmarket_register .offmarket_register_consent {
  display: flex; align-items: flex-start; gap: 12px; margin: 0; cursor: pointer;
  font-family: var(--_typography---fonts--tertiary-font-300, "Be Vietnam Pro", Arial, sans-serif);
  font-size: 14px; line-height: 1.5; font-weight: 300; color: var(--om-muted);
}
.offmarket_register .offmarket_register_consent .checkbox_label { margin: 0; font: inherit; color: inherit; }
.offmarket_register .offmarket_register_consent .checkbox {
  appearance: none; -webkit-appearance: none; flex: none;
  width: 18px; height: 18px; margin: 2px 0 0; padding: 0;
  border: 1px solid var(--_color---neutral--ardesia, #82878b); border-radius: 2px;
  background: #fff center / 12px no-repeat; cursor: pointer;
}
.offmarket_register .offmarket_register_consent .checkbox:checked {
  border-color: var(--om-primary);
  background-color: var(--om-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2 4.8 9 10 3' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E");
}
.offmarket_register .offmarket_register_consent .checkbox:focus-visible { outline: 2px solid var(--om-primary); outline-offset: 2px; }
.offmarket_register .offmarket_register_consent a { color: var(--om-ink); text-decoration: underline; text-underline-offset: 3px; }
.offmarket_register_trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.offmarket_register .offmarket_register_message {
  margin: 0; padding: 12px 16px;
  border: 0; border-left: 2px solid #c41400; background: rgba(196, 20, 0, .06);
  color: var(--om-ink); font-size: 14px; line-height: 1.5;
}
.offmarket_register .offmarket_register_message[hidden] { display: none; }
.offmarket_register .offmarket_register_message.is-success { border-left-color: var(--om-primary); background: rgba(0, 89, 116, .08); }
.offmarket_register .offmarket_register_submit {
  justify-self: stretch; width: 100%; min-height: 52px; margin: 0; padding: 14px 24px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--om-primary); color: var(--om-surface);
  border: 0; border-radius: 2px; cursor: pointer;
  font-family: var(--_components---button--font, var(--_typography---fonts--tertiary-font-400, "Be Vietnam Pro", Arial, sans-serif));
  font-size: 14px; line-height: 20px; letter-spacing: 1px; text-transform: uppercase;
  transition: background-color var(--om-base) var(--om-ease);
}
.offmarket_register .offmarket_register_submit:hover { transition-duration: var(--om-fast); background: var(--om-ink); }
.offmarket_register .offmarket_register_submit:focus-visible { outline: 2px solid var(--om-primary); outline-offset: 3px; }
.offmarket_register .offmarket_register_submit:disabled { opacity: .6; cursor: progress; }
/* Schede "Registrati" / "Accedi": testo maiuscolo, filetto sotto, la scheda attiva sottolineata. */
.offmarket_register .offmarket_register_tabs { display: flex; gap: 32px; margin: 0 0 28px; border-bottom: 1px solid var(--_color---neutral--perla, #e4e6e7); }
.offmarket_register .offmarket_register_tab {
  margin: 0 0 -1px; padding: 0 0 12px; background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0;
  color: var(--om-muted); cursor: pointer;
  font-family: var(--_typography---fonts--tertiary-font-800, "Be Vietnam Pro", Arial, sans-serif);
  font-size: 14px; line-height: 14px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase;
  transition: color var(--om-base) var(--om-ease), border-color var(--om-base) var(--om-ease);
}
.offmarket_register .offmarket_register_tab:hover { transition-duration: var(--om-fast); color: var(--om-ink); }
.offmarket_register .offmarket_register_tab[aria-selected="true"] { color: var(--om-ink); border-bottom-color: var(--om-primary); }
.offmarket_register .offmarket_register_tab:focus-visible { outline: 2px solid var(--om-primary); outline-offset: 4px; }
.offmarket_register .offmarket_register_form { display: grid; gap: 24px; margin: 0; }
.offmarket_register .offmarket_register_form[hidden] { display: none; }
.offmarket_register .offmarket_login_row { grid-template-columns: minmax(0, 1fr); }
.offmarket_register .offmarket_login_intro { margin: 0; font-size: 16px; line-height: 1.5; color: var(--om-muted); }
/* Campi obbligatori: asterisco e legenda. */
.offmarket_register .offmarket_register_req { margin-left: 3px; color: var(--om-primary); }
.offmarket_register .offmarket_register_legend {
  margin: -8px 0 0; color: var(--om-muted);
  font-family: var(--_typography---fonts--tertiary-font-300, "Be Vietnam Pro", Arial, sans-serif); font-size: 13px; line-height: 18px;
}
/* Già registrato: benvenuto e "Esci" al posto del form (sulla pagina Off market, sopra la lista). */
.offmarket_register_active { margin: 0 0 16px; padding-top: clamp(16px, 3vw, 48px); }
[data-calea-register].is-active { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px 32px; padding-block: clamp(16px, 3vw, 40px) 0; }
[data-calea-register].is-active .offmarket_register_list_title {
  flex: 1 1 auto; margin: 0;
  font-family: var(--_typography---fonts--primary-font, Asterone, Arial, sans-serif);
  font-size: clamp(30px, 3.2vw, 48px); line-height: 1.05; font-weight: 400; text-transform: uppercase;
}
[data-calea-register].is-active .offmarket_register_active { margin: 0; padding: 0; font-size: 16px; }
.offmarket_register_logout {
  display: inline-block; padding: 0; background: none; border: 0; border-radius: 0; color: inherit; cursor: pointer;
  font-family: var(--_components---button--font, var(--_typography---fonts--tertiary-font-400, "Be Vietnam Pro", Arial, sans-serif));
  font-size: var(--_components---button--font-size, 13.6px); line-height: 1.5; text-transform: uppercase;
}
.offmarket_register_logout .button_tertiary_text { display: block; margin-bottom: .1em; }
.offmarket_register_logout .button_text_line { display: block; width: 100%; height: 1.1px; margin: 0 auto; background-color: currentColor; transition: width var(--om-base) var(--om-ease); }
.offmarket_register_logout:hover .button_text_line { width: 0; transition-duration: var(--om-fast); }
@media screen and (max-width: 991px) {
  .offmarket_register { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .offmarket_register .form_wrap { grid-column: 1; grid-row: auto; max-width: 640px; margin-top: 12px; }
}
@media screen and (max-width: 767px) {
  .offmarket_register .form_row { grid-template-columns: minmax(0, 1fr); }
  .offmarket_register .form_wrap { padding: 20px; }
  .offmarket_register .offmarket_register_form { gap: 20px; }
  .offmarket_register .offmarket_register_intro { font-size: 16px; }
}

.offmarket_detail { display: grid; gap: var(--_layout---gaps--gap-md, 32px); }
.offmarket_detail_header { display: grid; gap: 8px; }
.offmarket_detail_badges { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 8px; padding: 0; list-style: none; }
.offmarket_detail_badges .listing_card_badge { margin: 0; border: 1px solid currentColor; padding: 3px 8px; }
.offmarket_detail_location, .offmarket_detail_title, .offmarket_detail_price { margin: 0; }
.offmarket_detail_gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.offmarket_detail_img { display: block; width: 100%; aspect-ratio: 800 / 554; object-fit: cover; }
.offmarket_detail_gallery .offmarket_detail_img:first-child { grid-column: 1 / -1; }
.offmarket_detail_facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--_layout---gaps--gap-sm, 16px); margin: 0; }
.offmarket_detail_fact dt, .offmarket_detail_fact dd { margin: 0; }
.offmarket_detail_text { white-space: pre-line; max-width: 72ch; }
.offmarket_detail_cta { justify-self: start; }
[data-calea-offmarket-detail] + .location_section { margin-top: var(--_layout---gaps--gap-xl, 56px); }
