/* ── ilPolistirolo — Form Richiesta Preventivo ────────────── */
/* File: /wp-content/plugins/ilp-commesse/richiesta-form.css  */

*{box-sizing:border-box}

.ilp-rq-wrap {
  max-width: 680px;
  margin: 0 auto;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #414240;
}

/* ── Hero header ─────────────────────────────────────────── */
.ilp-rq-header {
  background: #607D8B;
  border-radius: 12px 12px 0 0;
  padding: 32px 32px 28px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.ilp-rq-header::before {
  content: '';
  position: absolute;
  right: -40px; top: -40px;
  width: 200px; height: 200px;
  background: rgba(140,198,63,0.18);
  border-radius: 50%;
}
.ilp-rq-header::after {
  content: '';
  position: absolute;
  right: 30px; bottom: -50px;
  width: 120px; height: 120px;
  background: rgba(255,255,255,0.06);
  border-radius: 50%;
}
.ilp-rq-header-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(140,198,63,0.25);
  border: 1px solid rgba(140,198,63,0.5);
  color: #d4f07a;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  margin-bottom: 14px;
}
.ilp-rq-header-title {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.2;
  position: relative;
}
.ilp-rq-header-sub {
  font-size: 14px;
  opacity: 0.85;
  line-height: 1.6;
  max-width: 480px;
  position: relative;
}
.ilp-rq-trust {
  display: flex;
  gap: 20px;
  margin-top: 20px;
  flex-wrap: wrap;
  position: relative;
}
.ilp-rq-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  opacity: 0.85;
}
.ilp-rq-trust-item svg {
  width: 14px;
  height: 14px;
  opacity: 0.9;
}

/* ── Body form ───────────────────────────────────────────── */
#ilp-rq-form {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 12px 12px;
  padding: 28px 32px 32px;
}

/* Step numerati */
.ilp-rq-step {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.ilp-rq-step-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #8CC63F;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.ilp-rq-step-label {
  font-size: 11px;
  font-weight: 700;
  color: #607D8B;
  text-transform: uppercase;
  letter-spacing: 0.09em;
}

.ilp-rq-divider {
  height: 1px;
  background: #f0f0f0;
  margin: 22px 0;
}

/* Griglia 2 colonne */
.ilp-rq-grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

/* Form rows */
.ilp-rq-form-row { margin-bottom: 14px; }
.ilp-rq-form-row:last-child { margin-bottom: 0; }
.ilp-rq-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #555;
  margin-bottom: 5px;
}
.ilp-rq-label-hint {
  font-weight: 400;
  color: #999;
  font-size: 11px;
}

/* Input / Textarea */
.ilp-rq-input,
.ilp-rq-textarea {
  width: 100%;
  padding: 10px 13px;
  border: 1.5px solid #d0d0d0;
  border-radius: 8px;
  font-size: 15px;
  color: #414240;
  background: #fff;
  box-sizing: border-box;
  font-family: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
  -webkit-appearance: none;
}
.ilp-rq-input:focus,
.ilp-rq-textarea:focus {
  border-color: #8CC63F;
  outline: none;
  box-shadow: 0 0 0 3px rgba(140,198,63,0.15);
}
.ilp-rq-textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.6;
}

/* Upload */
.ilp-rq-upload-area {
  border: 2px dashed #c8d8e8;
  border-radius: 8px;
  padding: 22px 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.15s;
  background: #f8fbff;
}
.ilp-rq-upload-area:hover,
.ilp-rq-upload-drag {
  border-color: #8CC63F;
  background: rgba(140,198,63,0.05);
}
.ilp-rq-upload-ico {
  font-size: 32px;
  color: #8CC63F;
  margin-bottom: 8px;
  line-height: 1;
}
.ilp-rq-upload-txt {
  font-size: 14px;
  font-weight: 600;
  color: #607D8B;
  margin-bottom: 4px;
}
.ilp-rq-upload-hint {
  font-size: 11px;
  color: #aaa;
  letter-spacing: 0.03em;
}
.ilp-rq-file-nome {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f0f9e8;
  border: 1px solid #c0e080;
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px;
  color: #3a6000;
  margin-top: 8px;
}

/* Flag cards (urgente + scadenza) */
.ilp-rq-flags {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.ilp-rq-flag {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  border: 1.5px solid #e8e8e8;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s;
}
.ilp-rq-flag:hover { border-color: #607D8B; }
.ilp-rq-flag-urgente { border-color: #f0d080; background: #fffbf0; }
.ilp-rq-flag-urgente:hover { border-color: #f0a500; }
.ilp-rq-flag-ico { font-size: 24px; flex-shrink: 0; line-height: 1; margin-top: 2px; }
.ilp-rq-flag-title { font-size: 13px; font-weight: 600; color: #414240; margin-bottom: 3px; }
.ilp-rq-flag-desc { font-size: 11px; color: #888; line-height: 1.4; }
.ilp-rq-flag input[type="checkbox"] {
  display: none;
}
.ilp-rq-flag.selected { border-color: #f0a500; background: #fffbf0; }
.ilp-rq-flag-scadenza { border-color: #d0e4f0; background: #f8fbff; }
.ilp-rq-flag-scadenza:hover { border-color: #607D8B; background: #f0f6fc; }
.ilp-rq-flag-scadenza .ilp-rq-input {
  padding: 6px 10px;
  font-size: 13px;
  margin-top: 6px;
  border-color: #c0d4e8;
}

/* Accordion dati fiscali */
.ilp-rq-accordion {
  border: 1.5px solid #e8e8e8;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 22px;
}
.ilp-rq-acc-head {
  padding: 13px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #607D8B;
  background: #f8f8f8;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
  list-style: none;
  transition: background 0.15s;
}
.ilp-rq-accordion details[open] .ilp-rq-acc-head,
.ilp-rq-acc-head:hover { background: #f0f4f8; }
.ilp-rq-acc-body {
  padding: 16px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  border-top: 1px solid #e8e8e8;
}
.ilp-rq-acc-body .ilp-rq-full { grid-column: 1 / -1; }

/* Submit button */
.ilp-rq-btn-submit {
  width: 100%;
  padding: 15px;
  background: #8CC63F;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: background 0.15s, transform 0.1s;
  letter-spacing: 0.2px;
}
.ilp-rq-btn-submit:hover { background: #7ab52e; transform: translateY(-1px); }
.ilp-rq-btn-submit:disabled { background: #aaa; cursor: not-allowed; transform: none; }

/* Privacy */
.ilp-rq-privacy {
  text-align: center;
  font-size: 11px;
  color: #bbb;
  margin-top: 10px;
  line-height: 1.5;
}
.ilp-rq-privacy a { color: #999; text-decoration: underline; }

/* Canali alternativi */
.ilp-rq-channels {
  display: flex;
  gap: 10px;
  margin-top: 20px;
}
.ilp-rq-ch {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 8px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  font-size: 13px;
  color: #607D8B;
  text-decoration: none;
  transition: all 0.15s;
  font-weight: 500;
}
.ilp-rq-ch:hover { border-color: #607D8B; background: #f4f8fb; color: #455A64; }
.ilp-rq-ch-wa { border-color: #c0ecd0; color: #1a8a40; }
.ilp-rq-ch-wa:hover { background: #f0fdf4; border-color: #25D366; color: #1a8a40; }

/* Errore */
.ilp-rq-errore {
  background: #fceef0;
  border-left: 3px solid #d63638;
  color: #8a1a1c;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 13px;
  margin-bottom: 16px;
}

/* Pagina grazie */
.ilp-rq-grazie-wrap {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 12px 12px;
  padding: 52px 32px;
  text-align: center;
}
.ilp-rq-grazie-ico { font-size: 60px; margin-bottom: 18px; }
.ilp-rq-grazie-title { font-size: 26px; font-weight: 700; margin-bottom: 10px; }
.ilp-rq-grazie-sub { font-size: 15px; color: #666; max-width: 420px; margin: 0 auto 28px; line-height: 1.7; }
.ilp-rq-grazie-box { background: #f8f8f8; border-radius: 10px; padding: 22px; max-width: 380px; margin: 0 auto; }
.ilp-rq-grazie-box-title { font-size: 14px; font-weight: 600; margin-bottom: 12px; }
.ilp-rq-btn-wa-big {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 20px;
  background: #25D366;
  color: #fff;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  margin-bottom: 10px;
  transition: background 0.15s;
}
.ilp-rq-btn-wa-big:hover { background: #1ebe5a; }
.ilp-rq-btn-tel-big {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 20px;
  background: #607D8B;
  color: #fff;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.15s;
}
.ilp-rq-btn-tel-big:hover { background: #455A64; }

/* ── Mobile ─────────────────────────────────────────────── */
@media (max-width: 600px) {
  .ilp-rq-header { padding: 22px 18px; border-radius: 8px 8px 0 0; }
  .ilp-rq-header-title { font-size: 21px; }
  .ilp-rq-trust { gap: 12px; }
  #ilp-rq-form { padding: 18px 16px 24px; border-radius: 0 0 8px 8px; }
  .ilp-rq-grid2 { grid-template-columns: 1fr; }
  .ilp-rq-flags { grid-template-columns: 1fr; }
  .ilp-rq-acc-body { grid-template-columns: 1fr; }
  .ilp-rq-channels { flex-direction: column; }
  .ilp-rq-btn-submit { font-size: 15px; padding: 13px; }
  .ilp-rq-input, .ilp-rq-textarea { font-size: 16px; }
}
