.pf-conversational-app{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(18px,3vw,34px);
  background:
    radial-gradient(circle at top, rgba(17,24,39,.035), transparent 35%),
    linear-gradient(180deg, #fbfbfc 0%, #f5f6f8 100%);
}
.pf-flow-shell{width:min(860px,100%);margin:0 auto}
.pf-flow-top{margin-bottom:28px}
.pf-flow-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b7280;margin-bottom:16px}
.pf-flow-progress{height:6px;background:rgba(17,24,39,.1);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(17,24,39,.06)}
.pf-flow-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#111827 0%,#374151 100%);transition:width .3s ease}
.pf-flow-stage{background:#fff;border:1px solid rgba(17,24,39,.06);border-radius:28px;box-shadow:0 18px 50px rgba(17,24,39,.06);padding:clamp(24px,4vw,44px)}
.pf-flow-stage.is-success{text-align:center}
.pf-flow-step-label{font-size:13px;font-weight:700;color:#6b7280;letter-spacing:.02em;margin-bottom:12px}
.pf-flow-title{font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.03em;margin:0 0 12px;color:#0f172a;max-width:14ch}
.pf-flow-title.is-compact{max-width:18ch}
.pf-flow-shell.is-intro-step .pf-flow-title{max-width:12ch}
.pf-flow-shell.is-short-step .pf-flow-title{max-width:10ch}
.pf-flow-shell.is-privacy-step .pf-flow-title{font-size:clamp(32px,4.2vw,50px);max-width:10ch}
.pf-flow-helper{font-size:18px;line-height:1.6;color:#4b5563;min-height:34px;max-width:60ch;margin-bottom:24px}
.pf-flow-stage.is-success .pf-flow-title,.pf-flow-stage.is-success .pf-flow-helper{max-width:none;margin-left:auto;margin-right:auto}
.pf-flow-helper.is-empty{display:none}
.pf-flow-form-wrap{min-height:180px;position:relative}
.pf-flow-shell.is-short-step .pf-flow-form-wrap{min-height:88px}
.pf-flow-shell.is-short-step .pf-flow-stage{padding-bottom:28px}
.pf-flow-shell.is-short-step .pf-flow-nav{margin-top:14px}
.pf-flow-shell.is-privacy-step .pf-flow-stage{padding-bottom:26px}
.pf-flow-shell.is-privacy-step .pf-flow-form-wrap{min-height:96px}
.pf-flow-form-wrap #form-app{display:block}
.pf-flow-form-wrap .pf-flow-hidden{display:none!important}
.pf-flow-form-wrap .pf-flow-submit-block{display:none!important}
.pf-flow-form-wrap .pf-flow-hidden-ux{display:none!important}
.pf-flow-form-wrap .form-group{margin-bottom:0}
.pf-flow-form-wrap .form-label{display:block;font-size:15px;font-weight:700;color:#111827;margin-bottom:10px}
.pf-flow-form-wrap .form-control,.pf-flow-form-wrap .form-select,.pf-flow-form-wrap textarea{min-height:64px;width:100%;font-size:20px;line-height:1.35;border-radius:18px;border:1px solid rgba(17,24,39,.12);background:#fff;box-shadow:none;transition:border-color .18s ease, box-shadow .18s ease, transform .12s ease}
.pf-flow-form-wrap textarea{min-height:170px;padding-top:18px}
.pf-flow-form-wrap .form-control::placeholder,.pf-flow-form-wrap textarea::placeholder{color:#94a3b8}
.pf-flow-form-wrap .form-control:focus,.pf-flow-form-wrap .form-select:focus,.pf-flow-form-wrap textarea:focus{border-color:#111827;box-shadow:0 0 0 4px rgba(17,24,39,.08);transform:translateY(-1px);outline:0}
.pf-flow-form-wrap .col-6,.pf-flow-form-wrap .col-4,.pf-flow-form-wrap .col-3,.pf-flow-form-wrap .col-8,.pf-flow-form-wrap .col-9,.pf-flow-form-wrap .col-12{width:100%;max-width:100%;flex:0 0 100%}
.pf-flow-form-wrap h1,.pf-flow-form-wrap h2,.pf-flow-form-wrap h3,.pf-flow-form-wrap h4,.pf-flow-form-wrap h5,.pf-flow-form-wrap h6{font-size:28px;line-height:1.12;letter-spacing:-.02em;margin:0 0 14px}
.pf-flow-form-wrap p,.pf-flow-form-wrap .form-text{font-size:17px;line-height:1.65;color:#4b5563;margin:0 0 20px}
.pf-flow-form-wrap .legend{display:block}
.pf-flow-form-wrap .custom-control,.pf-flow-form-wrap .form-check{padding:14px 16px;border:1px solid rgba(17,24,39,.09);border-radius:16px;margin:10px 0;background:#fff;transition:border-color .18s ease, background-color .18s ease, transform .12s ease}
.pf-flow-form-wrap .custom-control:hover,.pf-flow-form-wrap .form-check:hover{border-color:rgba(17,24,39,.22);background:#fafafa;transform:translateY(-1px)}
.pf-flow-shell.is-privacy-step .pf-flow-form-wrap .custom-control,.pf-flow-shell.is-privacy-step .pf-flow-form-wrap .form-check{padding:18px 18px;border-radius:18px;background:#fbfbfc;border:1px solid rgba(17,24,39,.08)}
.pf-flow-shell.is-privacy-step .pf-flow-privacy-card{border:1px solid rgba(17,24,39,.08);background:linear-gradient(180deg,#ffffff 0%, #fafafa 100%);border-radius:22px;padding:22px 20px}
.pf-flow-shell.is-privacy-step .pf-flow-privacy-card .form-label{margin-bottom:12px}
.pf-flow-shell.is-privacy-step .pf-flow-privacy-card .custom-control,.pf-flow-shell.is-privacy-step .pf-flow-privacy-card .form-check{margin-top:14px;margin-bottom:0}
.pf-flow-form-wrap input[type="radio"],.pf-flow-form-wrap input[type="checkbox"]{transform:scale(1.15);margin-right:10px}
.pf-flow-nav{display:flex;gap:14px;justify-content:space-between;align-items:center;margin-top:22px}
.pf-flow-btn{appearance:none;border:0;border-radius:999px;padding:16px 26px;font-weight:800;font-size:16px;cursor:pointer;transition:transform .12s ease, opacity .18s ease, box-shadow .18s ease, background-color .18s ease}
.pf-flow-btn:hover:not(:disabled){transform:translateY(-1px)}
.pf-flow-btn:disabled{opacity:.58;cursor:not-allowed;transform:none}
.pf-flow-btn-primary{background:#111827;color:#fff;box-shadow:0 10px 28px rgba(17,24,39,.18)}
.pf-flow-btn-secondary{background:rgba(17,24,39,.06);color:#111827}
.pf-flow-hidden{display:none!important}
.pf-flow-messages .alert{margin-bottom:18px;border-radius:16px}
.pf-flow-messages .alert-success{display:none!important}
.pf-flow-messages .pf-flow-success-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px 20px 6px}
.pf-flow-success-icon{width:74px;height:74px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#16a34a 0%, #22c55e 100%);color:#fff;font-size:34px;box-shadow:0 16px 32px rgba(34,197,94,.22)}
.pf-flow-success-title{font-size:clamp(30px,4vw,44px);line-height:1.05;font-weight:800;letter-spacing:-.03em;color:#0f172a}
.pf-flow-success-copy{font-size:18px;line-height:1.65;color:#4b5563;max-width:56ch}
.pf-flow-enter{animation:pfFlowFadeIn .22s ease}
@keyframes pfFlowFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:768px){
  .pf-conversational-app{padding:16px}
  .pf-flow-stage{border-radius:22px;padding:22px 18px 94px}
  .pf-flow-title{font-size:clamp(30px,9vw,42px);max-width:100%}
  .pf-flow-helper{font-size:16px}
  .pf-flow-form-wrap .form-control,.pf-flow-form-wrap .form-select,.pf-flow-form-wrap textarea{min-height:58px;font-size:18px;border-radius:16px}
  .pf-flow-nav{position:sticky;bottom:12px;padding-top:12px;backdrop-filter:blur(8px);background:linear-gradient(180deg, rgba(245,246,248,0) 0%, rgba(245,246,248,.95) 20%, rgba(245,246,248,.98) 100%);flex-direction:column-reverse;align-items:stretch}
  .pf-flow-btn{width:100%}
}
/* v2.6.1 legacy progress cleanup */
.pf-flow-form-wrap .progress,
.pf-flow-form-wrap .progress-bar,
.pf-flow-form-wrap .progress .title,
.pf-flow-form-wrap .progress-bar .title,
.pf-flow-form-wrap .page-break{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    line-height:0 !important;
    font-size:0 !important;
}


/* AI_FORMS_V294107_WIDGET_EMBED_AUTORESIZE_GUARD_CSS
   In iframe auto-resize, 100vh uses the current iframe height and can create a
   parent/child resize feedback loop. Keep conversational embeds content-driven. */
html, body{
  min-height:0 !important;
  height:auto !important;
  overflow-x:hidden;
}
.pf-conversational-app{
  min-height:0 !important;
  align-items:flex-start !important;
}

/* AI_FORMS_V294108_CONVERSATIONAL_EMBED_CLEAN_DEFAULT_START */
/*
 * Conversational Embed Clean Default
 * Obiettivo prodotto: i form embedded devono integrarsi nel sito ospitante,
 * non sembrare una mini-landing dentro un iframe.
 */
html,
body {
  background: transparent !important;
}

.pf-conversational-app.pf-conversational-embed-clean {
  min-height: auto !important;
  background: transparent !important;
  background-image: none !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: clamp(10px, 2vw, 28px) 0 !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-shell {
  width: min(1040px, 100%) !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-top {
  margin-bottom: 24px !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-stage {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: clamp(18px, 3vw, 38px) clamp(16px, 3.2vw, 48px) !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-title {
  max-width: 21ch !important;
  font-size: clamp(38px, 4.4vw, 62px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-title.is-compact,
.pf-conversational-app.pf-conversational-embed-clean .pf-flow-shell.is-intro-step .pf-flow-title,
.pf-conversational-app.pf-conversational-embed-clean .pf-flow-shell.is-short-step .pf-flow-title,
.pf-conversational-app.pf-conversational-embed-clean .pf-flow-shell.is-privacy-step .pf-flow-title {
  max-width: 21ch !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-helper {
  max-width: 74ch !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-form-wrap,
.pf-conversational-app.pf-conversational-embed-clean .pf-flow-shell.is-short-step .pf-flow-form-wrap,
.pf-conversational-app.pf-conversational-embed-clean .pf-flow-shell.is-privacy-step .pf-flow-form-wrap {
  min-height: 0 !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-nav {
  padding: 0 clamp(16px, 3.2vw, 48px) !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-progress {
  background: rgba(17, 24, 39, .10) !important;
  box-shadow: none !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-progress-bar {
  background: linear-gradient(90deg, #111827 0%, #374151 100%) !important;
}

.pf-conversational-app.pf-conversational-embed-clean .pf-flow-form-wrap .form-control,
.pf-conversational-app.pf-conversational-embed-clean .pf-flow-form-wrap .form-select,
.pf-conversational-app.pf-conversational-embed-clean .pf-flow-form-wrap textarea {
  border-radius: 14px !important;
}

@media (max-width: 768px) {
  .pf-conversational-app.pf-conversational-embed-clean {
    padding: 8px 0 !important;
  }

  .pf-conversational-app.pf-conversational-embed-clean .pf-flow-stage {
    padding: 14px 0 86px !important;
  }

  .pf-conversational-app.pf-conversational-embed-clean .pf-flow-title {
    font-size: clamp(30px, 9vw, 42px) !important;
    max-width: 100% !important;
  }

  .pf-conversational-app.pf-conversational-embed-clean .pf-flow-nav {
    padding: 0 !important;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.96) 28%, rgba(255,255,255,.98) 100%) !important;
  }
}
/* AI_FORMS_V294108_CONVERSATIONAL_EMBED_CLEAN_DEFAULT_END */

/* AI_FORMS_V2954_CONVERSATIONAL_RADIO_CHOICE_CARDS
   Conversational UX: radio/checkbox button groups as stacked choice cards.
   Improves spacing, wrapping and selected state for survey/quiz answers. */
.pf-flow-form-wrap .form-group-btn {
  width: 100%;
  max-width: min(760px, 100%);
}

.pf-flow-form-wrap .form-group-btn > .form-label {
  display: block;
  margin-bottom: 16px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  color: #0f172a;
}

.pf-flow-form-wrap .form-group-btn .radio-inline,
.pf-flow-form-wrap .form-group-btn .checkbox-inline,
.pf-flow-form-wrap .form-group-btn .form-check-inline,
.pf-flow-form-wrap .form-group-btn .form-check-btn {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

.pf-flow-form-wrap .form-group-btn .btn-check,
.pf-flow-form-wrap .form-group-btn input[type="radio"].btn-check,
.pf-flow-form-wrap .form-group-btn input[type="checkbox"].btn-check {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.pf-flow-form-wrap .form-group-btn .form-check-label.btn,
.pf-flow-form-wrap .form-group-btn label.btn,
.pf-flow-form-wrap .form-group-btn .btn.btn-default {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  width: 100% !important;
  min-height: 58px;
  margin: 0 !important;
  padding: 15px 18px 15px 20px;
  border: 1px solid rgba(15, 23, 42, .12) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .02);
  text-align: left !important;
  white-space: normal !important;
  line-height: 1.42 !important;
  cursor: pointer;
  transform: none;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .12s ease;
}

.pf-flow-form-wrap .form-group-btn .form-check-label.btn:hover,
.pf-flow-form-wrap .form-group-btn label.btn:hover,
.pf-flow-form-wrap .form-group-btn .btn.btn-default:hover {
  border-color: rgba(15, 23, 42, .28) !important;
  background: #f8fafc !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .055);
  transform: translateY(-1px);
}

.pf-flow-form-wrap .form-group-btn .btn-check:focus + .form-check-label,
.pf-flow-form-wrap .form-group-btn input[type="radio"]:focus + .form-check-label,
.pf-flow-form-wrap .form-group-btn input[type="checkbox"]:focus + .form-check-label {
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(15, 23, 42, .08) !important;
}

.pf-flow-form-wrap .form-group-btn .btn-check:checked + .form-check-label,
.pf-flow-form-wrap .form-group-btn input[type="radio"]:checked + .form-check-label,
.pf-flow-form-wrap .form-group-btn input[type="checkbox"]:checked + .form-check-label {
  border-color: #0f172a !important;
  background: #eef4ff !important;
  color: #0f172a !important;
  box-shadow: 0 0 0 2px rgba(15, 23, 42, .08), 0 12px 28px rgba(15, 23, 42, .06) !important;
}

.pf-flow-form-wrap .form-group-btn .btn-check:checked + .form-check-label::before,
.pf-flow-form-wrap .form-group-btn input[type="radio"]:checked + .form-check-label::before,
.pf-flow-form-wrap .form-group-btn input[type="checkbox"]:checked + .form-check-label::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 12px;
  bottom: 12px;
  width: 4px;
  border-radius: 999px;
  background: #0f172a;
}

.pf-flow-form-wrap .form-group-btn .form-check-text {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.42;
}

.pf-flow-form-wrap .form-group-btn .radio-inline:last-of-type,
.pf-flow-form-wrap .form-group-btn .checkbox-inline:last-of-type,
.pf-flow-form-wrap .form-group-btn .form-check-inline:last-of-type,
.pf-flow-form-wrap .form-group-btn .form-check-btn:last-of-type {
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  .pf-flow-form-wrap .form-group-btn > .form-label {
    margin-bottom: 14px;
    font-size: 16px;
  }
  .pf-flow-form-wrap .form-group-btn .form-check-label.btn,
  .pf-flow-form-wrap .form-group-btn label.btn,
  .pf-flow-form-wrap .form-group-btn .btn.btn-default {
    min-height: 54px;
    padding: 14px 16px 14px 18px;
    border-radius: 13px !important;
  }
  .pf-flow-form-wrap .form-group-btn .form-check-text {
    font-size: 15px;
  }
}
/* /AI_FORMS_V2954_CONVERSATIONAL_RADIO_CHOICE_CARDS */
