/*
  Preventivatore guidato PicoPortal
  Bootstrap 3 + jQuery Validate
*/

:root
{
  --pp-orange:#dd5f20;
  --pp-dark:#333333;
  --pp-purple:#b14788;
  --pp-green:#546d29;
  --pp-blue:#32b5dc;
  --pp-border:#e5dfd8;
  --pp-soft:#f7f5f2;
  --pp-radius:24px;
  --pp-shadow:0 22px 70px rgba(39,31,26,.12);
}

html,
body
{
  min-height:100%;
}

body
{
  font-family:'Comfortaa',Arial,sans-serif;
  color:#333;
  background:#f7f5f2;
  font-size:15px;
  line-height:1.6;
}

a,
a:hover,
a:focus
{
  text-decoration:none;
}

.pp-wizard-header
{
  position:relative;
  overflow:hidden;
  padding:28px 0 84px;
  background:
    radial-gradient(circle at 12% 18%,rgba(177,71,136,.23),transparent 26%),
    radial-gradient(circle at 86% 36%,rgba(50,181,220,.22),transparent 30%),
    linear-gradient(135deg,#262626 0%,#111 100%);
  color:#fff;
}

.pp-wizard-header:after
{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:48px;
  background:#f7f5f2;
  clip-path:polygon(0 35%,100% 0,100% 100%,0 100%);
}

.pp-topbar
{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:58px;
}

.pp-logo
{
  display:block;
  background:#fff;
  border-radius:18px;
  padding:10px 14px;
  box-shadow:0 14px 35px rgba(0,0,0,.14);
}

.pp-logo img
{
  height:54px;
  display:block;
}

.pp-topbar-note
{
  color:rgba(255,255,255,.72);
  font-weight:700;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.12em;
}

.pp-kicker,
.pp-section-label
{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-transform:uppercase;
  color:var(--pp-orange);
  letter-spacing:.12em;
  font-size:12px;
  font-weight:700;
  margin-bottom:17px;
}

.pp-kicker span,
.pp-section-label:before
{
  content:"";
  display:inline-block;
  width:12px;
  height:12px;
  background:var(--pp-orange);
  border-radius:50%;
  box-shadow:0 0 0 6px rgba(221,95,32,.15);
}

.pp-wizard-header h1
{
  font-size:54px;
  line-height:1.08;
  font-weight:700;
  color:#fff;
  margin:0 0 20px;
  letter-spacing:-.04em;
}

.pp-wizard-header p
{
  color:rgba(255,255,255,.76);
  font-size:18px;
  max-width:820px;
}

.pp-hero-card
{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  padding:32px;
  box-shadow:0 24px 70px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
}

.pp-hero-card h2
{
  color:#fff;
  margin:0 0 18px;
  font-size:26px;
}

.pp-hero-card ul
{
  list-style:none;
  padding:0;
  margin:0;
}

.pp-hero-card li
{
  color:rgba(255,255,255,.78);
  margin-bottom:12px;
  font-weight:700;
}

.pp-hero-card i
{
  color:#8cc63f;
  margin-right:8px;
}

.pp-wizard-main
{
  margin-top:-42px;
  position:relative;
  z-index:3;
  padding-bottom:70px;
}

.pp-wizard-shell
{
  display:grid;
  grid-template-columns:250px 1fr;
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--pp-shadow);
}

.pp-wizard-steps
{
  background:#242424;
  padding:28px 18px;
}

.pp-step-indicator
{
  display:flex;
  align-items:center;
  gap:14px;
  padding:15px 13px;
  border-radius:18px;
  color:rgba(255,255,255,.60);
  margin-bottom:10px;
  cursor:pointer;
  transition:all .22s ease;
}

.pp-step-indicator strong
{
  width:36px;
  height:36px;
  line-height:36px;
  text-align:center;
  border-radius:50%;
  background:rgba(255,255,255,.10);
  color:#fff;
  flex:0 0 auto;
}

.pp-step-indicator span
{
  font-weight:700;
}

.pp-step-indicator.active,
.pp-step-indicator.done
{
  background:rgba(221,95,32,.18);
  color:#fff;
}

.pp-step-indicator.active strong,
.pp-step-indicator.done strong
{
  background:var(--pp-orange);
  box-shadow:0 12px 25px rgba(221,95,32,.28);
}

.pp-wizard-content
{
  padding:42px;
  min-height:720px;
}

.pp-step-panel
{
  display:none;
}

.pp-step-panel.active
{
  display:block;
}

.pp-step-head
{
  max-width:920px;
  margin-bottom:34px;
}

.pp-step-head h2
{
  margin:0 0 12px;
  font-size:36px;
  line-height:1.18;
  font-weight:700;
  letter-spacing:-.04em;
  color:#242424;
}

.pp-step-head p
{
  font-size:17px;
  color:#6a625d;
}

.pp-subtitle-row
{
  margin:18px 0 20px;
}

.pp-subtitle-row h3
{
  font-size:24px;
  font-weight:700;
  margin:0 0 6px;
}

.pp-subtitle-row p
{
  color:#746c66;
  margin:0;
}

.pp-mt
{
  margin-top:44px;
}

.pp-card-grid,
.pp-installation-grid,
.pp-quantity-grid,
.pp-extension-grid,
.pp-supplier-grid,
.pp-contact-grid
{
  display:flex;
  flex-wrap:wrap;
}

.pp-card-grid>[class*='col-'],
.pp-installation-grid>[class*='col-'],
.pp-quantity-grid>[class*='col-'],
.pp-extension-grid>[class*='col-'],
.pp-supplier-grid>[class*='col-'],
.pp-contact-grid>[class*='col-']
{
  display:flex;
  float:none;
  margin-bottom:24px;
}

.pp-choice-card,
.pp-installation-card,
.pp-extension-card,
.pp-quantity-card,
.pp-supplier-item
{
  width:100%;
  background:#fff;
  border:1px solid var(--pp-border);
  border-radius:22px;
  padding:26px;
  cursor:pointer;
  position:relative;
  transition:all .22s ease;
  box-shadow:0 14px 38px rgba(39,31,26,.055);
}

.pp-choice-card:hover,
.pp-installation-card:hover,
.pp-extension-card:hover,
.pp-supplier-item:hover
{
  transform:translateY(-4px);
  box-shadow:0 22px 55px rgba(39,31,26,.10);
}

.pp-choice-card.active,
.pp-installation-card.active,
.pp-extension-card.active,
.pp-supplier-item.active
{
  border-color:var(--pp-orange);
  box-shadow:0 22px 60px rgba(221,95,32,.16);
}

.pp-choice-card.active:after,
.pp-installation-card.active:after,
.pp-extension-card.active:after,
.pp-supplier-item.active:after
{
  content:"\f00c";
  font-family:FontAwesome;
  position:absolute;
  right:18px;
  top:18px;
  width:28px;
  height:28px;
  line-height:28px;
  border-radius:50%;
  background:var(--pp-orange);
  color:#fff;
  text-align:center;
  font-size:13px;
}

.pp-choice-card i,
.pp-installation-card .pp-install-icon,
.pp-extension-card i,
.pp-quantity-card i
{
  width:54px;
  height:54px;
  line-height:54px;
  border-radius:18px;
  text-align:center;
  background:#fff1e9;
  color:var(--pp-orange);
  font-size:23px;
  margin-bottom:18px;
}

.pp-choice-card h4,
.pp-installation-card h4,
.pp-extension-card h4,
.pp-quantity-card h4
{
  color:#242424;
  font-weight:700;
  font-size:20px;
  margin:0 0 10px;
  line-height:1.25;
}

.pp-choice-card p,
.pp-installation-card p,
.pp-extension-card p,
.pp-quantity-card p,
.pp-supplier-item p
{
  color:#6a625d;
  margin:0;
  font-size:14px;
}

.pp-installation-card
{
  min-height:350px;
  display:flex;
  flex-direction:column;
}

.pp-installation-card .pp-rank
{
  display:inline-block;
  width:38px;
  height:38px;
  line-height:38px;
  text-align:center;
  border-radius:50%;
  background:#fff1e9;
  color:var(--pp-orange);
  font-weight:700;
  margin-bottom:18px;
}

.pp-installation-card .pp-sub
{
  display:block;
  color:var(--pp-orange);
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:12px;
}

.pp-installation-card .pp-best
{
  margin-top:auto;
  padding-top:20px;
  color:#4d4946;
  font-weight:700;
}

.pp-extension-group
{
  margin-bottom:36px;
}

.pp-extension-group-head
{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-bottom:18px;
}

.pp-extension-group-head h3
{
  font-size:26px;
  margin:0 0 5px;
  font-weight:700;
}

.pp-extension-group-head p
{
  color:#746c66;
  margin:0;
}

.pp-extension-card
{
  min-height:245px;
}

.pp-extension-card small
{
  display:inline-block;
  background:#f3eee9;
  color:#6a625d;
  border-radius:999px;
  padding:6px 9px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
  margin-bottom:14px;
}

.pp-supplier-counter
{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:30px;
}

.pp-supplier-counter>div
{
  background:#fff8f2;
  border:1px solid #f2dfd1;
  border-radius:20px;
  padding:20px;
}

.pp-supplier-counter strong
{
  display:block;
  font-size:34px;
  line-height:1;
  color:var(--pp-orange);
  margin-bottom:6px;
}

.pp-supplier-counter span
{
  color:#5f5650;
  font-weight:700;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.pp-supplier-group
{
  margin-bottom:34px;
}

.pp-supplier-group h3
{
  margin:0 0 16px;
  font-size:24px;
  font-weight:700;
}

.pp-supplier-item
{
  padding:15px 18px;
  min-height:74px;
  display:flex;
  align-items:center;
}

.pp-supplier-item strong
{
  display:block;
  color:#242424;
  font-size:14px;
}

.pp-supplier-item span
{
  color:#7b736d;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:700;
}

.pp-supplier-dedicated-note
{
  background:#eef7fb;
  border-left:5px solid #32b5dc;
  border-radius:18px;
  padding:18px 20px;
  color:#3d6575;
  font-weight:700;
  margin:0 0 22px;
}

.pp-quantity-card
{
  cursor:default;
}

.pp-qty-control
{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
}

.pp-qty-control button
{
  width:38px;
  height:38px;
  border:none;
  border-radius:12px;
  background:#242424;
  color:#fff;
  font-size:18px;
  font-weight:700;
}

.pp-qty-control input
{
  width:82px;
  text-align:center;
  height:38px;
  border:1px solid var(--pp-border);
  border-radius:12px;
  font-weight:700;
}

.pp-extra-note
{
  margin-top:22px;
}

.pp-extra-note label,
.pp-contact-grid label
{
  font-weight:700;
  color:#3b3632;
}

.form-control
{
  height:48px;
  border-radius:14px;
  border:1px solid var(--pp-border);
  box-shadow:none;
  font-size:14px;
}

textarea.form-control
{
  height:auto;
}

.form-control:focus
{
  border-color:var(--pp-orange);
  box-shadow:0 0 0 3px rgba(221,95,32,.10);
}

.pp-summary-box
{
  background:#fff8f2;
  border:1px solid #f2dfd1;
  border-radius:24px;
  padding:26px;
  margin-bottom:32px;
}

.pp-summary-box h3
{
  font-size:24px;
  margin:0 0 18px;
  font-weight:700;
}

.pp-summary-list
{
  display:grid;
  grid-template-columns:240px 1fr;
  border-top:1px solid #ead5c5;
}

.pp-summary-list strong,
.pp-summary-list span
{
  padding:13px 0;
  border-bottom:1px solid #ead5c5;
}

.pp-summary-list strong
{
  color:var(--pp-orange);
}

.pp-summary-list span
{
  color:#534c47;
  font-weight:700;
}

.pp-wizard-actions
{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid var(--pp-border);
  padding-top:28px;
  margin-top:34px;
}

.pp-btn
{
  border-radius:999px;
  padding:14px 25px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  border:none;
}

.pp-btn-primary
{
  background:var(--pp-orange);
  color:#fff!important;
  box-shadow:0 14px 32px rgba(221,95,32,.22);
}

.pp-btn-primary:hover,
.pp-btn-primary:focus
{
  background:#c94f16;
  color:#fff!important;
}

.pp-btn-ghost
{
  background:#fff;
  color:#333!important;
  border:1px solid var(--pp-border);
}

.pp-btn[disabled]
{
  opacity:.45;
  cursor:not-allowed;
}

.pp-field-error-holder label.error,
label.error
{
  display:block;
  margin:8px 0 0;
  color:#d93025;
  font-size:12px;
  font-weight:700;
}

.form-control.error,
input.error,
textarea.error
{
  border-color:#d93025!important;
  background:#fff7f6;
  box-shadow:0 0 0 3px rgba(217,48,37,.10)!important;
}

.pp-form-result
{
  display:none;
  border-radius:16px;
  padding:15px 18px;
  margin-bottom:24px;
  font-weight:700;
}

.pp-form-result.pp-success
{
  display:block;
  background:#e8f5df;
  border:1px solid #cde9bf;
  color:#3f7626;
}

.pp-form-result.pp-error
{
  display:block;
  background:#fff0ef;
  border:1px solid #f0c7c3;
  color:#b3261e;
}

.pp-privacy label
{
  font-weight:700;
}

.pp-wizard-footer
{
  padding:24px 0;
  text-align:center;
  color:#777;
  font-size:13px;
}

@media (max-width:991px)
{
  .pp-wizard-shell
  {
    grid-template-columns:1fr;
  }

  .pp-wizard-steps
  {
    display:flex;
    overflow-x:auto;
    gap:10px;
  }

  .pp-step-indicator
  {
    min-width:155px;
    margin-bottom:0;
  }

  .pp-wizard-header h1
  {
    font-size:40px;
  }

  .pp-hero-card
  {
    margin-top:26px;
  }

  .pp-supplier-counter
  {
    grid-template-columns:1fr;
  }
}

@media (max-width:767px)
{
  .pp-wizard-header
  {
    padding-bottom:64px;
  }

  .pp-topbar
  {
    display:block;
    margin-bottom:36px;
  }

  .pp-logo
  {
    display:inline-block;
  }

  .pp-logo img
  {
    height:44px;
  }

  .pp-topbar-note
  {
    margin-top:14px;
  }

  .pp-wizard-header h1
  {
    font-size:32px;
  }

  .pp-wizard-content
  {
    padding:26px 20px;
  }

  .pp-step-head h2
  {
    font-size:28px;
  }

  .pp-card-grid,
  .pp-installation-grid,
  .pp-quantity-grid,
  .pp-extension-grid,
  .pp-supplier-grid,
  .pp-contact-grid
  {
    display:block;
  }

  .pp-card-grid>[class*='col-'],
  .pp-installation-grid>[class*='col-'],
  .pp-quantity-grid>[class*='col-'],
  .pp-extension-grid>[class*='col-'],
  .pp-supplier-grid>[class*='col-'],
  .pp-contact-grid>[class*='col-']
  {
    display:block;
  }

  .pp-summary-list
  {
    grid-template-columns:1fr;
  }

  .pp-summary-list strong
  {
    border-bottom:none;
    padding-bottom:0;
  }

  .pp-summary-list span
  {
    padding-top:4px;
  }

  .pp-wizard-actions
  {
    display:block;
  }

  .pp-wizard-actions .btn
  {
    display:block;
    width:100%;
    margin-bottom:10px;
  }
}


/* ==========================================================================
   Bozza 02 - errori più visibili e scelta installazione più marcata
   ========================================================================== */

.pp-step-alert
{
  display:none;
  border-radius:22px;
  padding:20px 22px;
  margin:0 0 28px;
  font-weight:700;
  box-shadow:0 16px 40px rgba(217,48,37,.12);
}

.pp-step-alert-error
{
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:#fff0ef;
  border:2px solid #d93025;
  color:#9f211a;
}

.pp-step-alert i
{
  width:42px;
  height:42px;
  line-height:42px;
  border-radius:50%;
  background:#d93025;
  color:#fff;
  text-align:center;
  font-size:18px;
  flex:0 0 auto;
}

.pp-step-alert strong
{
  display:block;
  font-size:18px;
  margin-bottom:3px;
}

.pp-step-alert span
{
  display:block;
  color:#7f1d17;
}

.pp-validation-highlight
{
  position:relative;
  border:2px dashed #d93025;
  border-radius:24px;
  padding:18px 6px 0;
  background:#fff7f6;
  animation:pp_error_pulse 1.1s ease-in-out 2;
}

@keyframes pp_error_pulse
{
  0%{box-shadow:0 0 0 0 rgba(217,48,37,.20);}
  50%{box-shadow:0 0 0 9px rgba(217,48,37,.08);}
  100%{box-shadow:0 0 0 0 rgba(217,48,37,0);}
}

.pp-field-error-holder label.error,
label.error
{
  display:block;
  background:#fff0ef;
  border-left:5px solid #d93025;
  border-radius:12px;
  padding:10px 13px;
  margin:10px 0 0;
  color:#9f211a;
  font-size:13px;
  font-weight:700;
}

/* Scelta installazione: card più importanti e visibili */
.pp-installation-grid
{
  margin-top:10px;
}

.pp-installation-card
{
  min-height:430px;
  border:2px solid #e4d8cf;
  padding:30px;
  background:
    radial-gradient(circle at 100% 0,rgba(221,95,32,.10),transparent 30%),
    #fff;
  overflow:hidden;
}

.pp-installation-card:before
{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:7px;
  background:linear-gradient(180deg,var(--pp-orange),var(--pp-purple));
  opacity:.55;
}

.pp-installation-card:hover
{
  border-color:#d8b9a5;
  transform:translateY(-6px);
  box-shadow:0 28px 75px rgba(39,31,26,.13);
}

.pp-installation-card.active
{
  border-color:var(--pp-orange);
  background:
    radial-gradient(circle at 100% 0,rgba(221,95,32,.18),transparent 30%),
    linear-gradient(180deg,#fff,#fff9f4);
  box-shadow:0 30px 80px rgba(221,95,32,.22);
  transform:translateY(-4px);
}

.pp-installation-card.active:before
{
  opacity:1;
  width:9px;
}

.pp-installation-top
{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:20px;
}

.pp-installation-card .pp-rank
{
  margin-bottom:0;
  width:46px;
  height:46px;
  line-height:46px;
  font-size:18px;
  box-shadow:0 10px 26px rgba(221,95,32,.14);
}

.pp-installation-level
{
  background:#f3eee9;
  color:#6a625d;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
}

.pp-installation-card.active .pp-installation-level
{
  background:var(--pp-orange);
  color:#fff;
}

.pp-installation-card .pp-install-icon
{
  width:70px;
  height:70px;
  line-height:70px;
  border-radius:24px;
  font-size:30px;
  margin-bottom:22px;
  background:#fff1e9;
}

.pp-installation-card h4
{
  font-size:24px;
  line-height:1.16;
}

.pp-installation-card p
{
  font-size:15px;
  line-height:1.55;
}

.pp-installation-badges
{
  list-style:none;
  padding:0;
  margin:20px 0 0;
}

.pp-installation-badges li
{
  color:#5b534d;
  font-weight:700;
  margin-bottom:9px;
  font-size:13px;
}

.pp-installation-badges i
{
  color:#50ad43;
  margin-right:7px;
}

.pp-installation-cta
{
  margin-top:18px;
  padding:12px 14px;
  border-radius:999px;
  background:#242424;
  color:#fff;
  text-align:center;
  font-weight:700;
  font-size:13px;
}

.pp-installation-card.active .pp-installation-cta
{
  background:var(--pp-orange);
  box-shadow:0 12px 26px rgba(221,95,32,.24);
}

.pp-installation-card.active:after
{
  width:34px;
  height:34px;
  line-height:34px;
  right:20px;
  top:72px;
  font-size:15px;
}

@media (max-width:767px)
{
  .pp-installation-card
  {
    min-height:auto;
  }

  .pp-step-alert-error
  {
    display:block;
  }

  .pp-step-alert i
  {
    margin-bottom:10px;
  }
}


/* ==========================================================================
   Bozza 03 - ritocchi card, extra e form finale
   ========================================================================== */

/* Card estensioni/opzioni: icona a sinistra, tipologia a destra */
.pp-card-topline
{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:22px;
}

.pp-extension-card .pp-card-icon,
.pp-extra-card .pp-card-icon
{
  width:58px;
  height:58px;
  line-height:58px;
  border-radius:20px;
  background:#fff1e9;
  color:var(--pp-orange);
  text-align:center;
  font-size:23px;
  flex:0 0 auto;
  margin:0;
}

.pp-extension-card .pp-extension-tag,
.pp-extra-card .pp-extension-tag
{
  margin:0;
  flex:0 0 auto;
  text-align:right;
}

.pp-extra-tag
{
  background:#f3eee9;
  color:#6a625d;
}

/* Evita vecchi posizionamenti accanto all'icona */
.pp-extension-card>i,
.pp-extra-card>i
{
  display:none;
}

/* Card tipo installazione: icona centrata, più grande, pronta per futura foto */
.pp-installation-card .pp-installation-visual
{
  width:96px;
  height:96px;
  line-height:96px;
  border-radius:30px;
  background:#fff1e9;
  color:var(--pp-orange);
  text-align:center;
  font-size:42px;
  margin:22px auto 28px;
  box-shadow:0 18px 38px rgba(221,95,32,.12);
  overflow:hidden;
}

.pp-installation-card .pp-installation-visual img
{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.pp-installation-card.active .pp-installation-visual
{
  background:var(--pp-orange);
  color:#fff;
  box-shadow:0 20px 44px rgba(221,95,32,.26);
}

/* Nascondo eventuali regole precedenti su pp-install-icon */
.pp-installation-card .pp-install-icon
{
  display:none;
}

/* Form finale: input full-width e campi nuovi */
.pp-contact-form .form-control,
#pp-preventivatore-form .form-control
{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}

.pp-contact-form input.form-control,
.pp-contact-form select.form-control,
.pp-contact-form textarea.form-control,
#pp-preventivatore-form input.form-control,
#pp-preventivatore-form select.form-control,
#pp-preventivatore-form textarea.form-control
{
  width:100%;
}

.pp-optional-label
{
  color:#8f8580;
  font-size:12px;
  font-weight:400;
  text-transform:none;
  letter-spacing:0;
}

#messaggio
{
  min-height:118px;
  resize:vertical;
}

/* Migliore respiro per le card extra quantitative */
.pp-extra-card
{
  min-height:300px;
}

.pp-extra-card .pp-qty-control
{
  margin-top:26px;
}

@media (max-width:767px)
{
  .pp-installation-card .pp-installation-visual
  {
    width:82px;
    height:82px;
    line-height:82px;
    font-size:35px;
    margin:18px auto 24px;
  }

  .pp-card-topline
  {
    margin-bottom:18px;
  }
}


/* ==========================================================================
   Bozza 06 - fix UI step, badge e form full-width
   ========================================================================== */

/* Form finale: input realmente full-width nella propria colonna */
#pp-preventivatore-form .row
{
  width:100%;
  margin-left:-15px;
  margin-right:-15px;
}

#pp-preventivatore-form .form-group
{
  width:100%;
}

#pp-preventivatore-form .form-control,
#pp-preventivatore-form input.form-control,
#pp-preventivatore-form select.form-control,
#pp-preventivatore-form textarea.form-control
{
  display:block;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box;
}

#pp-preventivatore-form textarea.form-control
{
  min-height:125px;
}

/* Badge tipologia: ripristino pill arrotondata e coerente */
.pp-extension-tag,
.pp-extension-card .pp-extension-tag,
.pp-extra-card .pp-extension-tag,
.pp-extra-tag
{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border-radius:999px!important;
  background:#f3eee9!important;
  color:#6a625d!important;
  padding:8px 12px!important;
  line-height:1!important;
  font-size:11px!important;
  text-transform:uppercase!important;
  letter-spacing:.075em!important;
  font-weight:700!important;
  border:1px solid rgba(106,98,93,.08)!important;
  margin:0!important;
  white-space:nowrap;
}

/* Badge colorati per categorie, anche se il markup non porta la classe categoria */
.pp-extension-category:nth-of-type(1) .pp-extension-tag
{
  background:#fff1e9!important;
  color:#dd5f20!important;
}

.pp-extension-category:nth-of-type(2) .pp-extension-tag
{
  background:#eef7fb!important;
  color:#1f6f8f!important;
}

.pp-extension-category:nth-of-type(3) .pp-extension-tag
{
  background:#f7e8f1!important;
  color:#b14788!important;
}

.pp-extension-category:nth-of-type(4) .pp-extension-tag
{
  background:#edf6e4!important;
  color:#546d29!important;
}

.pp-extra-card .pp-extension-tag,
.pp-extra-tag
{
  background:#f3eee9!important;
  color:#6a625d!important;
}

/* Riga superiore card estensioni/extra */
.pp-card-topline
{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px;
  margin-bottom:22px!important;
}

.pp-extension-card .pp-card-icon,
.pp-extra-card .pp-card-icon,
.pp-choice-card .pp-card-icon
{
  width:58px!important;
  height:58px!important;
  line-height:58px!important;
  border-radius:20px!important;
  background:#fff1e9!important;
  color:#dd5f20!important;
  text-align:center!important;
  font-size:23px!important;
  flex:0 0 auto!important;
  margin:0!important;
}

/* Step 1: icona e titolo cliente sulla stessa riga */
.pp-choice-card.pp-customer-card
{
  padding:30px!important;
}

.pp-choice-mainline
{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:18px;
}

.pp-choice-mainline h4
{
  margin:0!important;
  font-size:24px;
  line-height:1.12;
}

/* Stati di selezione più evidenti */
.pp-choice-card,
.pp-extension-card,
.pp-installation-card,
.pp-supplier-item
{
  position:relative;
}

.pp-choice-card.active,
.pp-extension-card.active,
.pp-installation-card.active,
.pp-supplier-item.active
{
  background:
    radial-gradient(circle at 0 0,rgba(221,95,32,.20),transparent 34%),
    linear-gradient(180deg,#fff,#fff7f1)!important;
  border-color:#dd5f20!important;
  box-shadow:0 24px 62px rgba(221,95,32,.22)!important;
}

/* Spunta grande che copre parzialmente l'angolo alto sinistro */
.pp-choice-card.active:after,
.pp-extension-card.active:after,
.pp-installation-card.active:after,
.pp-supplier-item.active:after
{
  content:"\f00c"!important;
  font-family:FontAwesome!important;
  position:absolute!important;
  left:-16px!important;
  top:-16px!important;
  right:auto!important;
  width:56px!important;
  height:56px!important;
  line-height:56px!important;
  border-radius:50%!important;
  background:#dd5f20!important;
  color:#fff!important;
  text-align:center!important;
  font-size:22px!important;
  font-weight:400!important;
  box-shadow:0 18px 38px rgba(221,95,32,.32)!important;
  z-index:12!important;
}

/* Evita la vecchia spunta piccola in alto a destra */
.pp-installation-card.active:after
{
  left:-16px!important;
  top:-16px!important;
  right:auto!important;
}

/* Selezione moduli step 2 ancora più visibile */
.pp-extension-card.active .pp-card-icon,
.pp-choice-card.active .pp-card-icon,
.pp-installation-card.active .pp-installation-visual
{
  background:#dd5f20!important;
  color:#fff!important;
}

.pp-extension-card.active h4,
.pp-choice-card.active h4,
.pp-installation-card.active h4
{
  color:#1f1f1f!important;
}

.pp-extension-card.active .pp-extension-tag
{
  border-color:rgba(221,95,32,.18)!important;
}

/* Card installazione: conserviamo icona centrata e lasciamo la spunta nuova a sinistra */
.pp-installation-card .pp-installation-visual
{
  width:96px!important;
  height:96px!important;
  line-height:96px!important;
  border-radius:30px!important;
  background:#fff1e9!important;
  color:#dd5f20!important;
  text-align:center!important;
  font-size:42px!important;
  margin:22px auto 28px!important;
  box-shadow:0 18px 38px rgba(221,95,32,.12)!important;
}

/* Allineamento quantità extra */
.pp-extra-card .pp-qty-control
{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:26px;
}

.pp-extra-card .pp-qty-input
{
  width:88px!important;
  height:42px;
  text-align:center;
}

/* Mobile */
@media (max-width:767px)
{
  .pp-choice-mainline
  {
    gap:14px;
  }

  .pp-choice-mainline h4
  {
    font-size:21px;
  }

  .pp-choice-card.active:after,
  .pp-extension-card.active:after,
  .pp-installation-card.active:after,
  .pp-supplier-item.active:after
  {
    width:46px!important;
    height:46px!important;
    line-height:46px!important;
    font-size:18px!important;
    left:-10px!important;
    top:-10px!important;
  }
}


/* ==========================================================================
   Bozza 07 - selezioni pulite, loghi fornitori e nota finale
   ========================================================================== */

.pp-choice-card.active,
.pp-extension-card.active,
.pp-installation-card.active,
.pp-supplier-item.active
{
  background:linear-gradient(180deg,#fffaf6,#fff4ed)!important;
  border-color:#dd5f20!important;
  box-shadow:0 14px 34px rgba(221,95,32,.11)!important;
}

/* Spunte più piccole e meno invasive */
.pp-choice-card.active:after,
.pp-extension-card.active:after,
.pp-installation-card.active:after,
.pp-supplier-item.active:after
{
  width:38px!important;
  height:38px!important;
  line-height:38px!important;
  left:-8px!important;
  top:-8px!important;
  font-size:15px!important;
  box-shadow:0 10px 22px rgba(221,95,32,.24)!important;
  z-index:20!important;
}

/* Fornitori: ancora più piccola */
.pp-supplier-item.active:after
{
  width:30px!important;
  height:30px!important;
  line-height:30px!important;
  left:-6px!important;
  top:-6px!important;
  font-size:12px!important;
}

/* Niente tagli sulle spunte */
#customer-type-cards,
#installation-cards,
#extension-groups,
#supplier-groups,
.pp-extension-grid,
.pp-supplier-grid,
.pp-installation-card,
.pp-choice-card,
.pp-extension-card
{
  overflow:visible!important;
}

#customer-type-cards>[class*='col-'],
#installation-cards>[class*='col-'],
.pp-extension-grid>[class*='col-'],
.pp-supplier-grid>[class*='col-']
{
  overflow:visible!important;
}

/* Step 1: icona cliente più piccola per evitare sbordi */
.pp-choice-card.pp-customer-card
{
  padding:25px!important;
}

.pp-choice-mainline
{
  gap:13px!important;
  align-items:center!important;
  margin-bottom:17px!important;
}

.pp-choice-card.pp-customer-card .pp-card-icon
{
  width:46px!important;
  height:46px!important;
  line-height:46px!important;
  border-radius:16px!important;
  font-size:18px!important;
}

.pp-choice-mainline h4
{
  font-size:21px!important;
  line-height:1.08!important;
  margin:0!important;
}

/* Step 2: spunta non enorme */
.pp-extension-card.active:after
{
  width:36px!important;
  height:36px!important;
  line-height:36px!important;
  font-size:14px!important;
  left:-7px!important;
  top:-7px!important;
}

/* Stato selezionato senza alone sfocato */
.pp-extension-card.active .pp-card-icon,
.pp-choice-card.active .pp-card-icon,
.pp-installation-card.active .pp-installation-visual
{
  background:#dd5f20!important;
  color:#fff!important;
}

/* Fornitori con logo */
.pp-supplier-item
{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px 16px!important;
}

.pp-supplier-logo
{
  width:100%;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.pp-supplier-logo img
{
  max-width:130px;
  max-height:48px;
  object-fit:contain;
  display:block;
}

/* Nota finale prima dei tasti */
.pp-final-help
{
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:#fff7f1;
  border:1px solid #f0d7c7;
  border-left:5px solid #dd5f20;
  border-radius:20px;
  padding:20px 22px;
  margin:28px 0 24px;
}

.pp-final-help i
{
  width:42px;
  height:42px;
  line-height:42px;
  border-radius:50%;
  background:#dd5f20;
  color:#fff;
  text-align:center;
  flex:0 0 auto;
}

.pp-final-help strong
{
  display:block;
  font-size:17px;
  color:#242424;
  margin-bottom:4px;
}

.pp-final-help span
{
  display:block;
  color:#6b625d;
  line-height:1.55;
}

.pp-btn i
{
  margin-right:7px;
}

/* Mobile */
@media (max-width:767px)
{
  .pp-choice-card.active:after,
  .pp-extension-card.active:after,
  .pp-installation-card.active:after
  {
    width:34px!important;
    height:34px!important;
    line-height:34px!important;
    font-size:13px!important;
    left:-6px!important;
    top:-6px!important;
  }

  .pp-choice-mainline h4
  {
    font-size:20px!important;
  }

  .pp-final-help
  {
    display:block;
  }

  .pp-final-help i
  {
    margin-bottom:10px;
  }
}


/* ==========================================================================
   Bozza 08 - final CTA solo ultimo step, grazie e refinements step 1
   ========================================================================== */

/* Step 1: bordo icona completo e cambio colore più evidente */
.pp-choice-card.pp-customer-card .pp-card-icon
{
  border:2px solid transparent!important;
  box-sizing:border-box;
}

.pp-choice-card.pp-customer-card.active .pp-card-icon
{
  border-color:#dd5f20!important;
  background:#dd5f20!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(221,95,32,.18);
}

/* Barra laterale sinistra arrotondata e coerente col riquadro */
.pp-choice-card:before,
.pp-installation-card:before
{
  border-radius:24px 0 0 24px!important;
  top:0!important;
  bottom:0!important;
  left:0!important;
}

.pp-choice-card.pp-customer-card:before
{
  width:6px!important;
  border-radius:24px 0 0 24px!important;
}

.pp-choice-card.pp-customer-card.active:before
{
  opacity:1!important;
  background:linear-gradient(180deg,#dd5f20,#b14788)!important;
}

/* Evita taglio delle spunte su card e colonne */
.pp-wizard-panel,
.pp-wizard-body,
.pp-step,
.pp-choice-grid,
.pp-installation-grid,
#customer-type-cards,
#installation-cards
{
  overflow:visible!important;
}

/* Spunta step 1 leggermente più elegante */
.pp-choice-card.pp-customer-card.active:after
{
  width:34px!important;
  height:34px!important;
  line-height:34px!important;
  font-size:13px!important;
  left:-7px!important;
  top:-7px!important;
}

/* Bottone submit: icona visibile anche se dentro bottone uppercase */
button[type="submit"].pp-btn i,
.pp-btn-primary i
{
  display:inline-block!important;
  margin-right:8px!important;
}

/* Nota finale: solo se presente nello step finale */
.pp-final-help
{
  display:flex;
  gap:16px;
  align-items:flex-start;
  background:#fff7f1;
  border:1px solid #f0d7c7;
  border-left:5px solid #dd5f20;
  border-radius:20px;
  padding:20px 22px;
  margin:28px 0 24px;
}

.pp-final-help i
{
  width:42px;
  height:42px;
  line-height:42px;
  border-radius:50%;
  background:#dd5f20;
  color:#fff;
  text-align:center;
  flex:0 0 auto;
}

.pp-final-help strong
{
  display:block;
  font-size:17px;
  color:#242424;
  margin-bottom:4px;
}

.pp-final-help span
{
  display:block;
  color:#6b625d;
  line-height:1.55;
}

/* Pagina grazie */
.pp-thanks-page
{
  min-height:100vh;
  padding:70px 0;
  background:
    radial-gradient(circle at 12% 8%,rgba(221,95,32,.12),transparent 30%),
    radial-gradient(circle at 88% 88%,rgba(177,71,136,.10),transparent 32%),
    #f7f4ef;
}

.pp-thanks-card
{
  max-width:1080px;
  margin:0 auto;
  background:#fff;
  border:1px solid #e6ded8;
  border-radius:32px;
  padding:55px;
  box-shadow:0 34px 90px rgba(39,31,26,.12);
  position:relative;
  overflow:hidden;
}

.pp-thanks-card:before
{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:8px;
  background:linear-gradient(180deg,#dd5f20,#b14788);
  border-radius:32px 0 0 32px;
}

.pp-thanks-icon
{
  width:76px;
  height:76px;
  line-height:76px;
  border-radius:26px;
  background:#dd5f20;
  color:#fff;
  text-align:center;
  font-size:32px;
  box-shadow:0 20px 42px rgba(221,95,32,.25);
  margin-bottom:26px;
}

.pp-thanks-logo
{
  max-width:255px;
  height:auto;
  margin-bottom:28px;
}

.pp-thanks-card h1
{
  font-size:44px;
  line-height:1.12;
  margin:12px 0 20px;
}

.pp-thanks-lead
{
  font-size:20px;
  line-height:1.6;
  color:#6b625d;
  max-width:820px;
}

.pp-thanks-points
{
  margin-top:34px;
}

.pp-thanks-point
{
  border:1px solid #eee2da;
  border-radius:22px;
  padding:26px;
  min-height:230px;
  background:#fffaf6;
}

.pp-thanks-point i
{
  width:52px;
  height:52px;
  line-height:52px;
  border-radius:18px;
  background:#fff1e9;
  color:#dd5f20;
  text-align:center;
  font-size:22px;
  margin-bottom:16px;
}

.pp-thanks-point h3
{
  font-size:21px;
  margin:0 0 10px;
}

.pp-thanks-point p
{
  color:#6b625d;
  line-height:1.55;
  margin:0;
}

.pp-thanks-message
{
  margin-top:32px;
  padding:22px 24px;
  border-radius:20px;
  border-left:5px solid #dd5f20;
  background:#fff7f1;
}

.pp-thanks-message strong,
.pp-thanks-message span
{
  display:block;
}

.pp-thanks-message strong
{
  font-size:18px;
  margin-bottom:5px;
}

.pp-thanks-message span
{
  color:#6b625d;
  line-height:1.55;
}

.pp-thanks-actions
{
  margin-top:34px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.pp-thanks-actions .btn i
{
  margin-right:8px;
}

@media (max-width:767px)
{
  .pp-thanks-page
  {
    padding:30px 0;
  }

  .pp-thanks-card
  {
    padding:32px 24px;
    border-radius:24px;
  }

  .pp-thanks-card h1
  {
    font-size:31px;
  }

  .pp-thanks-lead
  {
    font-size:17px;
  }

  .pp-thanks-point
  {
    min-height:auto;
    margin-bottom:18px;
  }

  .pp-final-help
  {
    display:block;
  }

  .pp-final-help i
  {
    margin-bottom:10px;
  }
}


/* ==========================================================================
   Bozza 09 - fix final step, thank you redirect e selezioni step 1
   ========================================================================== */

/* Il riquadro finale è globale ma deve comparire solo nello step 5 via JS */
#pp-final-help
{
  display:none;
}

/* Step 1: icona cliente invertita quando selezionata, senza bordo */
#customer-type-cards .pp-choice-card.pp-customer-card .pp-card-icon
{
  border:none!important;
  background:#fff1e9!important;
  color:#dd5f20!important;
  box-shadow:none!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card.active .pp-card-icon
{
  border:none!important;
  background:#dd5f20!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(221,95,32,.18)!important;
}

/* Barra laterale tipo cliente/installazione: solida, senza sfumatura e con raggi coerenti */
.pp-choice-card:before,
.pp-installation-card:before
{
  background:#dd5f20!important;
  background-image:none!important;
  width:7px!important;
  left:-1px!important;
  top:-1px!important;
  bottom:-1px!important;
  height:auto!important;
  border-radius:24px 0 0 24px!important;
  opacity:.32!important;
}

.pp-choice-card.active:before,
.pp-installation-card.active:before
{
  opacity:1!important;
}

/* Se alcune card hanno raggio diverso, la barra segue il contenitore */
.pp-installation-card
{
  overflow:visible!important;
}

.pp-installation-card:before
{
  border-radius:24px 0 0 24px!important;
}

/* Spunta non tagliata e meno invadente */
.pp-choice-card.active:after,
.pp-extension-card.active:after,
.pp-installation-card.active:after
{
  width:34px!important;
  height:34px!important;
  line-height:34px!important;
  left:-7px!important;
  top:-7px!important;
  font-size:13px!important;
}

/* Bottone submit: icona visibile */
#btn-submit i,
button[type="submit"].pp-btn i
{
  display:inline-block!important;
  margin-right:8px!important;
}

/* Pagina grazie già definita in bozza 08: rinforzi responsive */
.pp-thanks-card
{
  overflow:hidden;
}

.pp-thanks-card:before
{
  background:#dd5f20!important;
  background-image:none!important;
}



/* ==========================================================================
   Bozza 11 - fix ringraziamento, icone step 1 e barra installazioni
   ========================================================================== */

/* STEP 1 - icona cliente: non selezionato rosa/arancio, selezionato arancio/bianco */
#customer-type-cards .pp-choice-card.pp-customer-card .pp-card-icon,
#customer-type-cards .pp-choice-card.pp-customer-card:not(.active) .pp-card-icon,
#customer-type-cards .pp-choice-card.pp-customer-card:not(.active) .pp-choice-mainline .pp-card-icon
{
  background:#fff1e9!important;
  color:#dd5f20!important;
  border:0!important;
  box-shadow:none!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card .pp-card-icon i,
#customer-type-cards .pp-choice-card.pp-customer-card:not(.active) .pp-card-icon i
{
  color:#dd5f20!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card.active .pp-card-icon,
#customer-type-cards .pp-choice-card.pp-customer-card.active .pp-choice-mainline .pp-card-icon
{
  background:#dd5f20!important;
  color:#ffffff!important;
  border:0!important;
  box-shadow:none!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card.active .pp-card-icon i,
#customer-type-cards .pp-choice-card.pp-customer-card.active .pp-choice-mainline .pp-card-icon i
{
  color:#ffffff!important;
}

/* STEP 1 - barre laterali: disattiva pseudo barra vecchia sulle installazioni e usa box-shadow inset pulito */
#installation-cards .pp-installation-card:before,
.pp-installation-card:before
{
  display:none!important;
  content:none!important;
}

#installation-cards .pp-installation-card
{
  border-left:0!important;
  box-shadow:
    inset 7px 0 0 #f1c6b7,
    0 20px 54px rgba(39,31,26,.06)!important;
  border-radius:24px!important;
  overflow:hidden!important;
}

#installation-cards .pp-installation-card.active
{
  box-shadow:
    inset 7px 0 0 #dd5f20,
    0 20px 54px rgba(221,95,32,.13)!important;
  border-color:#dd5f20!important;
}

/* Per le card cliente la barra segue il bordo arrotondato */
#customer-type-cards .pp-choice-card.pp-customer-card:before
{
  display:none!important;
  content:none!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card
{
  box-shadow:
    inset 0 0 0 0 transparent,
    0 20px 54px rgba(39,31,26,.05)!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card.active
{
  box-shadow:
    inset 6px 0 0 #dd5f20,
    0 20px 54px rgba(221,95,32,.11)!important;
}

/* RINGRAZIAMENTO - layout richiesto */
.pp-thanks-page
{
  min-height:100vh!important;
  padding:70px 0 44px!important;
}

.pp-thanks-card-v11
{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:62px 64px!important;
  position:relative!important;
  overflow:hidden!important;
}

.pp-thanks-card-v11:before
{
  background:#dd5f20!important;
  background-image:none!important;
  width:8px!important;
  border-radius:32px 0 0 32px!important;
}

.pp-thanks-head
{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
}

.pp-thanks-brand
{
  flex:1 1 auto;
  min-width:0;
}

.pp-thanks-card-v11 .pp-thanks-logo
{
  max-width:360px!important;
  width:100%;
  height:auto;
  margin:0 0 18px!important;
  display:block;
}

.pp-thanks-kicker
{
  margin:0!important;
}

.pp-thanks-card-v11 .pp-thanks-icon
{
  position:static!important;
  flex:0 0 auto;
  width:112px!important;
  height:112px!important;
  line-height:112px!important;
  border-radius:34px!important;
  background:#dd5f20!important;
  color:#fff!important;
  text-align:center!important;
  font-size:46px!important;
  margin:0!important;
  box-shadow:0 22px 48px rgba(221,95,32,.28)!important;
}

.pp-thanks-card-v11 h1
{
  max-width:830px;
  margin-top:0!important;
}

.pp-thanks-card-v11 .pp-thanks-actions
{
  margin-top:32px!important;
}

/* Footer pagina grazie allineato e separato dal box */
.pp-thanks-footer,
.pp-thanks-page .pp-preventivatore-footer
{
  position:static!important;
  max-width:1120px!important;
  margin:22px auto 0!important;
  padding:0!important;
  text-align:center!important;
  color:#8b827d!important;
  font-size:13px!important;
  line-height:1.4!important;
  clear:both!important;
}

/* Mobile pagina grazie */
@media (max-width:767px)
{
  .pp-thanks-page
  {
    padding:28px 0 28px!important;
  }

  .pp-thanks-card-v11
  {
    padding:34px 24px!important;
    border-radius:24px!important;
  }

  .pp-thanks-head
  {
    display:block;
  }

  .pp-thanks-card-v11 .pp-thanks-logo
  {
    max-width:260px!important;
    margin-bottom:14px!important;
  }

  .pp-thanks-card-v11 .pp-thanks-icon
  {
    width:74px!important;
    height:74px!important;
    line-height:74px!important;
    border-radius:24px!important;
    font-size:30px!important;
    margin:22px 0 0!important;
  }

  .pp-thanks-footer,
  .pp-thanks-page .pp-preventivatore-footer
  {
    padding:0 18px!important;
  }
}


/* ==========================================================================
   Bozza 12 - refinements finali: success page, cuore, step 1, installazioni
   ========================================================================== */

/* Riquadro finale: icona cuore allineata al titolo */
#pp-final-help.pp-final-help
{
  align-items:flex-start!important;
}

#pp-final-help.pp-final-help i
{
  margin-top:0!important;
  flex:0 0 42px!important;
}

#pp-final-help.pp-final-help strong
{
  display:block!important;
  line-height:42px!important;
  margin:0 0 4px!important;
}

#pp-final-help.pp-final-help span
{
  display:block!important;
  line-height:1.55!important;
}

/* Step 1: icona cliente selezionata realmente invertita, senza bordo */
#customer-type-cards .pp-choice-card.pp-customer-card .pp-choice-mainline > .pp-card-icon,
#customer-type-cards .pp-choice-card.pp-customer-card:not(.active) .pp-choice-mainline > .pp-card-icon
{
  background:#fff1e9!important;
  color:#dd5f20!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card .pp-choice-mainline > .pp-card-icon i,
#customer-type-cards .pp-choice-card.pp-customer-card:not(.active) .pp-choice-mainline > .pp-card-icon i
{
  color:#dd5f20!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card.active .pp-choice-mainline > .pp-card-icon
{
  background:#dd5f20!important;
  color:#ffffff!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

#customer-type-cards .pp-choice-card.pp-customer-card.active .pp-choice-mainline > .pp-card-icon i
{
  color:#ffffff!important;
  background: #dd5f20;
}

/* Togli ogni accenno di bordo sull'icona cliente */
#customer-type-cards .pp-choice-card.pp-customer-card .pp-card-icon:before,
#customer-type-cards .pp-choice-card.pp-customer-card .pp-card-icon:after
{
  display:none!important;
  content:none!important;
}

/* Barra cliente più discreta, senza confondere l'icona */
#customer-type-cards .pp-choice-card.pp-customer-card.active
{
  box-shadow:
    inset 5px 0 0 #dd5f20,
    0 16px 38px rgba(221,95,32,.10)!important;
}

/* Tipo installazione: elimino pseudo/sfumature e uso border-left vero, arrotondato col riquadro */
#installation-cards .pp-installation-card,
#installation-cards .pp-installation-card:not(.active)
{
  border-left:7px solid #f1c6b7!important;
  border-top-left-radius:24px!important;
  border-bottom-left-radius:24px!important;
  box-shadow:0 18px 46px rgba(39,31,26,.06)!important;
  overflow:visible!important;
}

#installation-cards .pp-installation-card:before,
#installation-cards .pp-installation-card:after
{
  /* la spunta viene ridefinita più sotto; il before resta spento */
}

#installation-cards .pp-installation-card:before
{
  display:none!important;
  content:none!important;
}

#installation-cards .pp-installation-card.active
{
  border-left-color:#dd5f20!important;
  border-color:#dd5f20!important;
  border-left-width:7px!important;
  background:linear-gradient(180deg,#fffaf6,#fff4ed)!important;
  box-shadow:0 18px 46px rgba(221,95,32,.12)!important;
}

/* Tipo installazione: spunta non tagliata, messa dentro la card */
#installation-cards .pp-installation-card.active:after
{
  display:block!important;
  content:"\f00c"!important;
  font-family:FontAwesome!important;
  position:absolute!important;
  left:-12px!important;
  /*top:12px!important;*/
  right:auto!important;
  width:32px!important;
  height:32px!important;
  line-height:32px!important;
  border-radius:50%!important;
  background:#dd5f20!important;
  color:#fff!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:400!important;
  box-shadow:0 8px 18px rgba(221,95,32,.24)!important;
  z-index:30!important;
}

/* Tipo installazione: evidenzia anche il numero della soluzione selezionata */
#installation-cards .pp-installation-card.active .pp-rank
{
  background:#dd5f20!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(221,95,32,.20)!important;
}

#installation-cards .pp-installation-card.active .pp-installation-level
{
  background:#dd5f20!important;
  color:#fff!important;
}

/* Pagina ringraziamento: palette verde success più rassicurante */
.pp-thanks-page
{
  background:
    radial-gradient(circle at 14% 8%,rgba(47,158,68,.12),transparent 30%),
    radial-gradient(circle at 88% 88%,rgba(84,109,41,.10),transparent 32%),
    #f4f8f1!important;
}

.pp-thanks-card-v11:before,
.pp-thanks-card:before
{
  background:#2f9e44!important;
  background-image:none!important;
}

.pp-thanks-card-v11 .pp-thanks-icon,
.pp-thanks-card .pp-thanks-icon
{
  background:#2f9e44!important;
  color:#fff!important;
  box-shadow:0 22px 48px rgba(47,158,68,.24)!important;
}

.pp-thanks-kicker span,
.pp-kicker span
{
  background:#2f9e44!important;
}

.pp-thanks-kicker,
.pp-thanks-page .pp-kicker
{
  color:#2f9e44!important;
}

.pp-thanks-point
{
  background:#f7fcf5!important;
  border-color:#dcefd7!important;
}

.pp-thanks-point i
{
  background:#e8f7e4!important;
  color:#2f9e44!important;
}

.pp-thanks-message
{
  background:#f0faed!important;
  border-left-color:#2f9e44!important;
}

.pp-thanks-actions .pp-btn-primary
{
  background:#2f9e44!important;
  border-color:#2f9e44!important;
  box-shadow:0 18px 38px rgba(47,158,68,.22)!important;
}

.pp-thanks-actions .pp-btn-primary:hover,
.pp-thanks-actions .pp-btn-primary:focus
{
  background:#27883a!important;
  border-color:#27883a!important;
}

/* Footer ringraziamento più stabile */
.pp-thanks-footer,
.pp-thanks-page .pp-preventivatore-footer
{
  max-width:1120px!important;
  margin:22px auto 0!important;
  text-align:center!important;
  display:block!important;
  position:static!important;
}

/* Mobile */
@media (max-width:767px)
{
  #pp-final-help.pp-final-help strong
  {
    line-height:1.35!important;
  }

  #installation-cards .pp-installation-card.active:after
  {
    left:9px!important;
    top:9px!important;
    width:30px!important;
    height:30px!important;
    line-height:30px!important;
  }
}


/* ==========================================================================
   P12 fix - testi da JSON e fornitori mobile 2 per riga
   ========================================================================== */

/* Su smartphone la regola precedente lasciava float:none sui col-xs-6.
   Qui ripristiniamo un layout realmente a due colonne per i fornitori. */
@media (max-width:767px)
{
  .pp-supplier-grid
  {
    display:flex!important;
    flex-wrap:wrap!important;
    margin-left:-8px!important;
    margin-right:-8px!important;
  }

  .pp-supplier-grid>.pp-supplier-col,
  .pp-supplier-grid>[class*='col-xs-6']
  {
    float:none!important;
    display:flex!important;
    width:50%!important;
    max-width:50%!important;
    flex:0 0 50%!important;
    padding-left:8px!important;
    padding-right:8px!important;
    margin-bottom:16px!important;
    clear:none!important;
  }

  .pp-supplier-grid>.pp-supplier-col:nth-child(2n+1),
  .pp-supplier-grid>[class*='col-xs-6']:nth-child(2n+1)
  {
    clear:left!important;
  }

  .pp-supplier-item
  {
    width:100%!important;
    min-height:86px!important;
    padding:12px 10px!important;
  }

  .pp-supplier-logo
  {
    height:52px!important;
  }

  .pp-supplier-logo img
  {
    max-width:118px!important;
    max-height:45px!important;
  }
}

@media (max-width:380px)
{
  .pp-supplier-logo img
  {
    max-width:102px!important;
  }
}


/* ==========================================================================
   P12 final fix - opzioni quantità e validazioni contatto
   ========================================================================== */

.pp-qty-control button:disabled,
.pp-qty-control button[disabled]
{
  opacity:.35!important;
  cursor:not-allowed!important;
}

.pp-qty-control input[readonly]
{
  font-weight:700;
  color:#242424;
}


/* Realize 1.5 - link Iubenda footer preventivatore */
.pp-wizard-footer a,
.pp-preventivatore-footer a
{
  color:inherit;
  text-decoration:underline;
}

.pp-wizard-footer [data-pp-iubenda-preferences],
.pp-preventivatore-footer [data-pp-iubenda-preferences]
{
  display:none;
}

.pp-iubenda-ready .pp-wizard-footer [data-pp-iubenda-preferences],
.pp-iubenda-ready .pp-preventivatore-footer [data-pp-iubenda-preferences]
{
  display:inline;
}
