/*
Theme Name: Faro21 Child
Theme URI: https://faro21.com/
Description: Tema child Faro21
Author: Faro21
Author URI: https://faro21.com/
Template: hello-elementor
Version: 1.0.1
*/

/* Evitato @import: i CSS del parent sono enqueuati da functions.php */

/* Nascondere Titoli delle Pagine e Header del Sito */
h1.entry-title { display: none !important; }
.site-header   { display: none !important; }








/* ========== CAVA FORM — Light, aligned, orange accent ========== */
:root{
  --cava-bg: #f7f7fb;          /* sfondo pagina */
  --cava-card: #ffffff;        /* card/form */
  --cava-ink: #0f172a;         /* testo primario */
  --cava-ink-dim: #475569;     /* testo secondario */
  --cava-accent: #f97316;      /* arancione (tailwind orange-500) */
  --cava-accent-2: #fb923c;    /* arancione chiaro */
  --cava-border: #e2e8f0;      /* grigio bordi */
  --cava-ring: rgba(249,115,22,.2); /* focus ring */
}

/* sfondo pagina chiaro */
body{ background: var(--cava-bg); }

/* wrapper e card */
.elementor-widget-form.form-cava-light{
  max-width: 980px;
  margin-inline: auto;
}
.form-cava-light .elementor-form{
  color: var(--cava-ink);
  background: var(--cava-card);
  border: 1px solid var(--cava-border);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 10px 25px rgba(2,6,23,.06);
}

/* header del form */
.form-cava-light .cava-head{
  display:flex; align-items:center; gap:14px; margin-bottom:18px;
}
.form-cava-light .cava-badge{
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background: linear-gradient(135deg, var(--cava-accent), var(--cava-accent-2));
  color:#fff; font-weight:900; letter-spacing:.3px;
  box-shadow: 0 8px 18px rgba(249,115,22,.25);
}
.form-cava-light .cava-title{
  font: 800 20px/1.2 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  letter-spacing:.2px;
}
.form-cava-light .cava-sub{
  margin-left:auto; text-align:right; color: var(--cava-ink-dim);
  font: 600 12px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* titoli sezione */
.form-cava-light .section-title{
  margin: 24px 0 10px;
  display:flex; align-items:center; gap:10px;
  font: 700 13px/1 ui-sans-serif; letter-spacing:.5px; text-transform:uppercase; color:#334155;
}
.form-cava-light .section-title::before{
  content:""; width:8px; height:8px; border-radius:2px;
  background: var(--cava-accent);
  box-shadow: 0 0 0 6px rgba(249,115,22,.15);
}

/* griglie allineate (usa queste classi sulle inner section) */
.form-cava-light .grid-3{ display:grid; gap:14px; }
@media (min-width: 880px){
  .form-cava-light .grid-3{ grid-template-columns: 1.6fr 0.8fr 0.8fr; }
}
.form-cava-light .grid-2{ display:grid; gap:14px; }
@media (min-width: 880px){
  .form-cava-light .grid-2{ grid-template-columns: 1fr 1fr; }
}

/* spaziatura campi */
.form-cava-light .elementor-field-group{ margin-bottom: 14px; }
.form-cava-light .elementor-field-label{
  color:#334155; font:600 12px/1 ui-sans-serif; letter-spacing:.2px; margin-bottom:6px;
}

/* input/textarea/select */
.form-cava-light .elementor-field,
.form-cava-light .elementor-select-wrapper select,
.form-cava-light .elementor-field-textual,
.form-cava-light textarea,
.form-cava-light input[type="text"],
.form-cava-light input[type="tel"],
.form-cava-light input[type="email"],
.form-cava-light input[type="number"]{
  background: #fff;
  border: 1px solid var(--cava-border);
  color: var(--cava-ink);
  border-radius: 12px;
  padding: 12px 14px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
  min-height: 44px;
}
.form-cava-light .elementor-field:focus,
.form-cava-light .elementor-select-wrapper select:focus,
.form-cava-light .choices__inner:focus-within{
  border-color: var(--cava-accent);
  box-shadow: 0 0 0 4px var(--cava-ring);
}

/* select multiple (Choices.js) */
.form-cava-light .choices__inner{
  background:#fff !important;
  border:1px solid var(--cava-border) !important;
  border-radius:12px !important;
  color:var(--cava-ink) !important;
  min-height: 44px;
}
.form-cava-light .choices__list--multiple .choices__item{
  background: linear-gradient(135deg, rgba(249,115,22,.12), rgba(251,146,60,.12)) !important;
  border:1px solid rgba(249,115,22,.35) !important;
  color:#7c2d12 !important;
}

/* radio & checkbox */
.form-cava-light .elementor-field-option input[type="radio"],
.form-cava-light .elementor-field-option input[type="checkbox"]{
  width:18px; height:18px; border-radius:6px; appearance:none; cursor:pointer;
  background:#fff; border:1px solid var(--cava-border); vertical-align:middle; margin-right:8px;
  display:inline-grid; place-items:center; transition:all .15s ease;
}
.form-cava-light .elementor-field-option input[type="radio"]:checked,
.form-cava-light .elementor-field-option input[type="checkbox"]:checked{
  border-color:var(--cava-accent); background:var(--cava-accent);
  box-shadow: 0 0 0 4px var(--cava-ring);
}
.form-cava-light .elementor-field-option input[type="radio"]::after{
  content:""; width:8px; height:8px; border-radius:2px; background:#fff; transform:scale(0);
  transition: transform .12s ease;
}
.form-cava-light .elementor-field-option input[type="radio"]:checked::after{ transform:scale(1); }

/* bottoni */
.form-cava-light .elementor-button{
  border-radius: 12px;
  padding: 12px 16px;
  font-weight: 800; text-transform: uppercase; letter-spacing:.35px;
  background: linear-gradient(135deg, var(--cava-accent), var(--cava-accent-2));
  color:#fff; border: none;
  box-shadow: 0 12px 24px rgba(249,115,22,.25);
  transition: transform .06s ease, box-shadow .2s ease, filter .2s ease;
}
.form-cava-light .elementor-button:hover{ transform: translateY(-1px); filter: brightness(1.03); }
.form-cava-light .elementor-button:active{ transform: translateY(0); }

/* messaggi */
.form-cava-light .elementor-message{
  border-radius: 12px; border:1px solid var(--cava-border);
}
.form-cava-light .elementor-message-success{ background: #ecfdf5; color:#065f46; }
.form-cava-light .elementor-message-danger{ background: #fff1f2; color:#9f1239; }

/* help text */
.form-cava-light .hint{ color: var(--cava-ink-dim); font-size: 11px; margin-top: 4px; }

/* stampa (A4) */
@media print{
  header, footer, .site-header, .site-footer, .elementor-location-header, .elementor-location-footer { display:none !important; }
  .elementor-widget-form.form-cava-light{ max-width:100%; }
  .form-cava-light .elementor-form{ box-shadow:none; border-color:#cbd5e1; }
  .elementor-button, .e-form__buttons{ display:none !important; }
  @page { size: A4; margin: 14mm; }
}














/* ===== Repeater Fornitura: input & select dentro .forn-row (skin chiara) ===== */
.form-cava-light .forn-row select,
.form-cava-light .forn-row input {
  background: #fff !important;
  color: var(--cava-ink) !important;

  border: 1px solid var(--cava-border) !important;
  border-radius: 12px !important;

  padding: 12px 14px !important;
  min-height: 44px !important;
  width: 100% !important;

  line-height: 1.2 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}

/* Select nativi: caret arancione e reset appearance */
.form-cava-light .forn-row select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;

  padding-right: 42px !important; /* spazio per la freccia */
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\
<path d='M6 9l6 6 6-6' stroke='%23f97316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px 18px !important;
}

/* Hover & Focus coerenti con gli altri campi */
.form-cava-light .forn-row select:hover,
.form-cava-light .forn-row input:hover {
  border-color: #d7dde7 !important;
}
.form-cava-light .forn-row select:focus,
.form-cava-light .forn-row input:focus {
  border-color: var(--cava-accent) !important;
  box-shadow: 0 0 0 4px var(--cava-ring) !important;
}

/* Stati */
.form-cava-light .forn-row select:disabled,
.form-cava-light .forn-row input:disabled {
  background: #f8fafc !important;
  color: #94a3b8 !important;
  cursor: not-allowed !important;
}
.form-cava-light .forn-row select:invalid,
.form-cava-light .forn-row input:invalid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 4px rgba(239,68,68,.17) !important;
}

/* Colonna azioni (bottone rimuovi) allineata */
.form-cava-light .forn-row .forn-remove-btn {
  height: 44px;
  border-radius: 12px;
}














/* ================== CARDS ENFATIZZATE PER "servizio_scelto" ================== */
/* Titolo campo */
.form-cava-light .elementor-field-label[for="form-field-servizio_scelto"]{
  font: 800 18px/1.2 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial !important;
  letter-spacing:.2px !important;
  color:#0f172a !important;
  margin-bottom: 12px !important;
}

/* Contenitore delle opzioni → trasformalo in griglia */
.form-cava-light .elementor-field-group-servizio_scelto .elementor-field-subgroup.elementor-subgroup-inline{
  display: grid !important;
  gap: 14px !important;
}
@media (min-width: 880px){
  .form-cava-light .elementor-field-group-servizio_scelto .elementor-field-subgroup.elementor-subgroup-inline{
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Ogni opzione occupa la sua cella */
.form-cava-light .elementor-field-group-servizio_scelto .elementor-field-option{
  display: block !important;
}

/* Nascondi i radio ma mantieni accessibilità */
.form-cava-light .elementor-field-group-servizio_scelto input[type="radio"][name="form_fields[servizio_scelto]"]{
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
}

/* La label diventa una card cliccabile */
.form-cava-light .elementor-field-group-servizio_scelto .elementor-field-option > label{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 78px !important;
  padding: 16px !important;
  border: 2px solid var(--cava-border) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #0f172a !important;
  font: 800 15px/1.2 ui-sans-serif, system-ui !important;
  letter-spacing: .2px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(2,6,23,.06) !important;
  transition: border-color .15s ease, box-shadow .2s ease, transform .06s ease, background-color .2s ease !important;
  position: relative !important;
}

/* Iconcina a sinistra (check arancione) */
.form-cava-light .elementor-field-group-servizio_scelto .elementor-field-option > label::before{
  content:"";
  flex: 0 0 28px; width: 28px; height: 28px; border-radius: 8px;
  background:
    url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none'>\
<circle cx='12' cy='12' r='10' fill='%23fff7ed' stroke='%23f97316' stroke-width='1.5'/>\
<path d='M7.5 12.5l2.8 2.6 5.4-6.2' stroke='%23f97316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>") no-repeat center / 28px 28px;
}

/* Hover */
.form-cava-light .elementor-field-group-servizio_scelto .elementor-field-option > label:hover{
  border-color: var(--cava-accent) !important;
  box-shadow: 0 0 0 4px var(--cava-ring), 0 10px 24px rgba(2,6,23,.08) !important;
  transform: translateY(-1px) !important;
}

/* Focus tastiera (sul radio) → evidenzia la card */
.form-cava-light .elementor-field-group-servizio_scelto input[type="radio"][name="form_fields[servizio_scelto]"]:focus-visible
+ label{
  border-color: var(--cava-accent) !important;
  box-shadow: 0 0 0 4px var(--cava-ring) !important;
}

/* Selezionato */
.form-cava-light .elementor-field-group-servizio_scelto input[type="radio"][name="form_fields[servizio_scelto]"]:checked
+ label{
  background: linear-gradient(135deg, #fff7ed, #fff) !important;
  border-color: var(--cava-accent) !important;
  box-shadow: 0 0 0 4px var(--cava-ring), 0 10px 24px rgba(249,115,22,.12) !important;
}

/* Badge "Selezionato" */
.form-cava-light .elementor-field-group-servizio_scelto input[type="radio"][name="form_fields[servizio_scelto]"]:checked
+ label::after{
  content: "Selezionato";
  position: absolute; right: 12px; top: 12px;
  padding: 4px 8px; border-radius: 999px;
  background: #fff7ed; color: #9a3412;
  font: 700 10px/1 ui-sans-serif; letter-spacing: .3px;
  border: 1px solid rgba(249,115,22,.35);
}

















/* ===== Repeater Fornitura: bottoni + allineamento ===== */

/* contenitore repeater (coerente con la card) */
.form-cava-light .forn-repeater{
  border:1px solid var(--cava-border);
  border-radius:12px;
  padding:14px;
  background:#fff;
}

/* riga: Tipologia / Quantità / UM / azioni */
.form-cava-light .forn-row{
  display:grid; gap:14px; align-items:end; margin-top:12px;
}
@media (min-width: 880px){
  .form-cava-light .forn-row{ grid-template-columns: 1.6fr 0.8fr 0.8fr 56px; }
}

/* === Bottoni coerenti === */
.form-cava-light .forn-add-btn,
.form-cava-light .forn-remove-btn{
  -webkit-appearance:none; appearance:none;
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  height:44px; min-width:44px;
  padding:0 14px;
  border-radius:12px;
  font-weight:800; text-transform:uppercase; letter-spacing:.3px;
  border:1px solid var(--cava-border);
  transition: transform .06s ease, box-shadow .2s ease, filter .2s ease, background-color .2s ease, border-color .2s ease;
  cursor:pointer;
}

/* + Aggiungi (accento arancione pieno) */
.form-cava-light .forn-add-btn{
  background: linear-gradient(135deg, var(--cava-accent), var(--cava-accent-2));
  color:#fff; border-color: transparent;
  box-shadow: 0 10px 22px rgba(249,115,22,.25);
}
.form-cava-light .forn-add-btn:hover{ transform: translateY(-1px); filter: brightness(1.03); }
.form-cava-light .forn-add-btn:active{ transform: translateY(0); }

/* — Rimuovi (outline pulito, icona meno “aggressiva”) */
.form-cava-light .forn-remove-btn{
  background:#fff;
  color:#9a3412; /* arancio scuro testo */
  border-color: var(--cava-border);
}
.form-cava-light .forn-remove-btn:hover{
  border-color: var(--cava-accent);
  box-shadow: 0 0 0 4px var(--cava-ring);
}

/* versione “solo icona” nella colonna azioni: dimensione quadrata */
.form-cava-light .forn-row .forn-remove-btn{
  padding:0; width:44px; height:44px;
}

/* Stati disabilitati (se mai usati) */
.form-cava-light .forn-add-btn[disabled],
.form-cava-light .forn-remove-btn[disabled]{
  opacity:.55; cursor:not-allowed; box-shadow:none; transform:none;
}







/* icona + per Aggiungi */
.form-cava-light .forn-add-btn::before{
  content:"+"; font-size:20px; line-height:1; font-weight:900;
}

/* icona – per Rimuovi */
/*.form-cava-light .forn-remove-btn::before{
  content:"–"; font-size:22px; line-height:1; font-weight:900;
}*/




































/* Conferimenti: riuso stile della fornitura */
.form-cava-light .conf-repeater{
  border:1px solid var(--cava-border);
  border-radius:12px;
  padding:14px;
  background:#fff;
}

.form-cava-light .conf-row{
  display:grid; gap:14px; align-items:end; margin-top:12px;
}
@media (min-width: 880px){
  .form-cava-light .conf-row{ grid-template-columns: 1.6fr 0.8fr 0.8fr 56px; }
}

/* Input/select coerenti (stesso blocco della fornitura) */
.form-cava-light .conf-row select,
.form-cava-light .conf-row input {
  background: #fff !important;
  color: var(--cava-ink) !important;
  border: 1px solid var(--cava-border) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  min-height: 44px !important;
  width: 100% !important;
  line-height: 1.2 !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}
.form-cava-light .conf-row select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding-right: 42px !important;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\
<path d='M6 9l6 6 6-6' stroke='%23f97316' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 18px 18px !important;
}
.form-cava-light .conf-row select:hover,
.form-cava-light .conf-row input:hover { border-color: #d7dde7 !important; }
.form-cava-light .conf-row select:focus,
.form-cava-light .conf-row input:focus {
  border-color: var(--cava-accent) !important;
  box-shadow: 0 0 0 4px var(--cava-ring) !important;
}

/* Bottoni coerenti */
.form-cava-light .conf-add-btn,
.form-cava-light .conf-remove-btn{
  -webkit-appearance:none; appearance:none;
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px; height:44px; min-width:44px; padding:0 14px;
  border-radius:12px; font-weight:800; text-transform:uppercase; letter-spacing:.3px;
  border:1px solid var(--cava-border); cursor:pointer;
  transition: transform .06s ease, box-shadow .2s ease, filter .2s ease, background-color .2s ease, border-color .2s ease;
}
.form-cava-light .conf-add-btn{
  background: linear-gradient(135deg, var(--cava-accent), var(--cava-accent-2));
  color:#fff; border-color: transparent;
  box-shadow: 0 10px 22px rgba(249,115,22,.25);
}
.form-cava-light .conf-add-btn:hover{ transform: translateY(-1px); filter: brightness(1.03); }
.form-cava-light .conf-row .conf-remove-btn{ padding:0; width:44px; height:44px; background:#fff; color:#9a3412; }
.form-cava-light .conf-row .conf-remove-btn:hover{ border-color: var(--cava-accent); box-shadow: 0 0 0 4px var(--cava-ring); }

/* Messaggio errore */
.form-cava-light .conf-error{
  display:none; margin-top:10px; color:#9f1239; background:#fff1f2;
  border:1px solid #fecdd3; border-radius:10px; padding:8px 10px; font-weight:600;
}







.my-breadcrumbs { font-size: 18px; }
.my-breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.my-breadcrumbs .current { font-weight: 600; }
.my-breadcrumbs .sep-li { list-style: none; }

