.elementor-86 .elementor-element.elementor-element-1e01193{--display:flex;--min-height:10vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:flex-start;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-86 .elementor-element.elementor-element-1e01193:not(.elementor-motion-effects-element-type-background), .elementor-86 .elementor-element.elementor-element-1e01193 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-cbf8253 );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-86 .elementor-element.elementor-element-4d80362{text-align:left;}.elementor-86 .elementor-element.elementor-element-4d80362 .elementor-heading-title{font-family:"Behind The Nineties", Sans-serif;font-size:4rem;font-weight:500;text-transform:none;color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-86 .elementor-element.elementor-element-8319284{width:var( --container-widget-width, 40% );max-width:40%;--container-widget-width:40%;--container-widget-flex-grow:0;}.elementor-86 .elementor-element.elementor-element-1cacf6b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:90px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-86 .elementor-element.elementor-element-1e01193{--content-width:95%;}.elementor-86 .elementor-element.elementor-element-1cacf6b{--content-width:90%;}}@media(max-width:1024px) and (min-width:768px){.elementor-86 .elementor-element.elementor-element-1cacf6b{--content-width:95%;}}@media(max-width:1024px){.elementor-86 .elementor-element.elementor-element-1e01193{--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-86 .elementor-element.elementor-element-1cacf6b{--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-86 .elementor-element.elementor-element-1e01193{--content-width:90%;--min-height:10vh;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-86 .elementor-element.elementor-element-4d80362{text-align:center;}.elementor-86 .elementor-element.elementor-element-4d80362 .elementor-heading-title{font-size:3rem;}.elementor-86 .elementor-element.elementor-element-8319284{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-86 .elementor-element.elementor-element-1cacf6b{--content-width:90%;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-c2de5d6 */:root{
  --oro-brown: #4E3C2F;   /* brand button/background */
  --oro-sand:  #EBE2D4;   /* subtle accents if needed */
  --oro-ivory: #FAF8F5;   /* page bg (optional) */
  --txt-main:  #272727;
  --txt-muted: #6F6A64;
  --line:      #CFC9C1;   /* input bottom border */
  --line-focus:#4E3C2F;
  --error:     #C0362C;
}

/* Scope to Elementor Shortcode wrapper to avoid bleed */
.elementor-shortcode .cr.cr-form{
  --field-gap: 22px;
  --col-gap: 48px;
  --row-gap: 32px;
  --label-size: 14px;
  --input-size: 16px;

  max-width: 1100px;
  margin: 0 auto;
  color: var(--txt-main);
  font-size: var(--input-size);
}

/* GRID: 2 colonne su desktop, 1 su tablet/mobile */
.elementor-shortcode .cr-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  column-gap: var(--col-gap);
  row-gap: var(--row-gap);
}

/* I campi marcati wide occupano 2 colonne */
.elementor-shortcode .cr-form__group--wide{
  grid-column: 1 / -1;
}

/* GRUPPO CAMPO */
.elementor-shortcode .cr-form__group{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* LABEL sopra, piccola e muta */
.elementor-shortcode .cr-label{
  font-size: var(--label-size);
  line-height: 1.2;
  color: var(--txt-muted);
  letter-spacing: .2px;
}

/* Asterisco automatico sui campi required (browser moderni) */
.elementor-shortcode .cr-form__group:has(input[required]) .cr-label::after{
  content: " *";
  color: var(--error);
  font-weight: 600;
}

/* INPUT stile “underline” */
.elementor-shortcode .cr-input,
.elementor-shortcode .cr-form textarea.cr-input{
  -webkit-appearance: none;
  appearance: none;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  padding: 14px 0 13px;
  font-size: var(--input-size);
  line-height: 1.4;
  color: var(--txt-main);
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
  width: 100%;
}

/* Textarea: altezza comoda, ridimensionabile solo verticalmente */
.elementor-shortcode .cr-form textarea.cr-input{
  min-height: 160px;
  resize: vertical;
}

/* Focus state: linea più scura, nessun bagliore */
.elementor-shortcode .cr-input:focus,
.elementor-shortcode .cr-form textarea.cr-input:focus{
  outline: none;
  border-bottom-color: var(--line-focus);
  box-shadow: 0 1px 0 0 var(--line-focus);
}

/* Stato disabilitato */
.elementor-shortcode .cr-input:disabled{
  opacity: .65;
  cursor: not-allowed;
}

/* Placeholder discreti (se presenti) */
.elementor-shortcode .cr-input::placeholder{
  color: #A7A19A;
  opacity: 1;
}

/* WebKit autofill (chromium/safari) – elimina giallo */
.elementor-shortcode .cr-input:-webkit-autofill{
  -webkit-box-shadow: 0 0 0 30px transparent inset !important;
  -webkit-text-fill-color: var(--txt-main) !important;
}

/* Date input: uniforma caret/icone */
.elementor-shortcode .cr-input[type="date"]{
  letter-spacing: .2px;
}
.elementor-shortcode .cr-input[type="date"]::-webkit-calendar-picker-indicator{
  opacity: .6;
  cursor: pointer;
}

/* AZIONI: bottone barra a tutta larghezza */
.elementor-shortcode .cr-actions{
  margin-top: 36px;
}

.elementor-shortcode .cr-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 56px;
  padding: 0 20px;
  border: 0;
  border-radius: 0;               /* barra piatta come nello screenshot */
  background: var(--oro-brown);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .2px;
  line-height: 1;
  cursor: pointer;
  transition: transform .06s ease, opacity .2s ease, filter .2s ease;
}

.elementor-shortcode .cr-btn:hover{
  filter: brightness(0.95);
}

.elementor-shortcode .cr-btn:active{
  transform: translateY(1px);
}

.elementor-shortcode .cr-btn:disabled{
  opacity: .6;
  cursor: not-allowed;
}

/* Checkbox + nota privacy (se presenti in altri form) */
.elementor-shortcode .cr-privacy{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 8px 0 24px;
  color: var(--txt-muted);
  font-size: 13px;
  line-height: 1.4;
}
.elementor-shortcode .cr-privacy input[type="checkbox"]{
  margin-top: 2px;
  transform: translateY(1px);
}

/* ERRORI – compatibile con validator standard (classe .is-invalid opzionale) */
.elementor-shortcode .cr-input.is-invalid,
.elementor-shortcode .cr-input:invalid:focus{
  border-bottom-color: var(--error);
  box-shadow: 0 1px 0 0 var(--error);
}

/* Gutter e layout responsive */
@media (max-width: 1024px){
  .elementor-shortcode .cr.cr-form{
    --col-gap: 32px;
    --row-gap: 26px;
  }
}

@media (max-width: 880px){
  .elementor-shortcode .cr-grid{
    grid-template-columns: 1fr;
  }
  .elementor-shortcode .cr-actions{
    margin-top: 28px;
  }
}

@media (max-width: 480px){
  .elementor-shortcode .cr.cr-form{
    --label-size: 13px;
    --input-size: 15px;
    --row-gap: 22px;
  }
  .elementor-shortcode .cr-btn{
    height: 52px;
    font-size: 15px;
  }
}

/* Optional: imposta bg pagina se vuoi un tono più soft come nel brand */
body.fidelity-bg,
.elementor-shortcode .cr.cr-form.fidelity-bg{
  background-color: var(--oro-ivory);
}

/* Accessibilità focus visibile anche via tastiera */
.elementor-shortcode .cr-btn:focus-visible{
  outline: 2px solid #fff;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px rgba(78,60,47,.4);
}

/* Piccola animazione al caricamento (opzionale) */
@media (prefers-reduced-motion: no-preference){
  .elementor-shortcode .cr-form__group{
    animation: fadeUp .24s ease both;
  }
  @keyframes fadeUp{
    from{ opacity: 0; transform: translateY(4px); }
    to{   opacity: 1; transform: translateY(0);   }
  }
}/* End custom CSS */