body{margin:0}
.iqfp3-wrap{max-width:1180px;margin:0 auto;padding:40px 24px 80px;font-family:Arial,sans-serif;color:#111827;background:radial-gradient(circle at 90% 20%,rgba(232,196,255,.35),transparent 34%),#fff}
.iqfp3-screen{display:none}
.iqfp3-screen.active{display:block;animation:iqfp3fade .18s ease}
@keyframes iqfp3fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.iqfp3-home-hero{text-align:center;min-height:650px}
.iqfp3-home-hero h1{font-size:54px;line-height:1.05;margin:30px 0 25px;font-weight:800;color:#1f2937}
.iqfp3-home-hero p,.iqfp3-zip-hero p{font-size:22px;color:#4b5563;margin:0}

.iqfp3-service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:1150px;margin:120px auto 0}
.iqfp3-service-cards button{height:370px;border:1px solid #e8ecf2;background:#fff;border-radius:22px;cursor:pointer;transition:.22s ease;color:#000}
.iqfp3-service-cards button:hover{transform:scale(1.025);border:1px solid #5146e8;box-shadow:0 18px 40px rgba(0,0,0,.05)}
.iqfp3-service-cards strong{display:block;font-size:29px;margin-bottom:70px;color:#000}
.iqfp3-service-cards img{width:170px;height:170px;object-fit:contain}

.iqfp3-zip-hero{text-align:center;min-height:520px;padding-top:20px}
.iqfp3-zip-hero h1{font-size:58px;line-height:1.05;margin:15px 0 35px;font-weight:800;color:#1f2937}
.iqfp3-zip-row{display:flex;justify-content:center;gap:30px;margin-top:50px;align-items:flex-start}
.iqfp3-zip-row input{width:420px;height:68px;border:2px solid #5146e8;border-radius:7px;padding:0 18px;font-size:27px;color:#111827;box-sizing:border-box}
.iqfp3-zip-row small{display:block;text-align:left;margin:10px 0 0 8px;color:#4b5563;font-size:18px}
.iqfp3-zip-row button,.iqfp3-next,#iqfp3_submit{height:74px;background:#5146e8;color:#fff;border:0;border-radius:7px;padding:0 34px;font-size:24px;font-weight:800;cursor:pointer}

.iqfp3-progress{max-width:1000px;margin:0 auto 34px}
.iqfp3-progressbar{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}
.iqfp3-progressbar span{display:block;width:20%;height:100%;background:#5146e8;border-radius:999px;transition:.25s ease}
.iqfp3-progress p{text-align:center;color:#392fff;font-size:18px;margin:22px 0 0}
.iqfp3-back{background:transparent;border:0;color:#4b5563;font-size:18px;margin:0 0 28px 10px;cursor:pointer}
.iqfp3-back span{font-size:28px;color:#9ca3af;margin-right:22px;vertical-align:middle}

.iqfp3-question-screen,.iqfp3-about-screen,.iqfp3-input-screen,.iqfp3-final-screen{max-width:1000px;margin:0 auto}
.iqfp3-question-title,.iqfp3-question-screen h2,.iqfp3-about-screen h2,.iqfp3-input-screen h2,.iqfp3-final-screen h2{font-size:33px;line-height:1.25;margin:0 0 30px;font-weight:800;color:#111827}
.iqfp3-question-sub{display:none}
.iqfp3-options{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.iqfp3-options button{min-height:80px;background:#f3f4f6;border:1px solid transparent;border-radius:7px;color:#000;font-size:20px;font-weight:800;cursor:pointer;transition:.18s ease}
.iqfp3-options button:hover{transform:scale(1.035);border:1px solid #5146e8;background:#f3f4f6;color:#000}
.iqfp3-two{grid-template-columns:repeat(2,220px)}

.iqfp3-about-screen{max-width:650px}
.iqfp3-choice-group{margin-bottom:18px}
.iqfp3-choice-group h3,.iqfp3-question-screen h3,.iqfp3-input-screen h3,.iqfp3-final-screen h3{font-size:18px;margin:0 0 10px;color:#000;font-weight:800}
.iqfp3-choice-group button{width:292px;height:64px;background:#fff;border:1px solid #d1d5db;border-radius:8px;margin:0 12px 10px 0;text-align:left;padding:0 20px;font-size:17px;cursor:pointer;color:#000;transition:.18s ease}
.iqfp3-choice-group button:hover{transform:scale(1.02);border:1px solid #5146e8}
.iqfp3-choice-group button span{display:none;float:right;background:#5146e8;color:#fff;border-radius:999px;width:20px;height:20px;text-align:center;line-height:20px}
.iqfp3-choice-group button.selected{border:3px solid #5146e8}
.iqfp3-choice-group button.selected span{display:inline-block}
.iqfp3-next{width:235px;margin-top:20px;font-size:16px}

.iqfp3-input-screen input,.iqfp3-final-screen input{height:54px;border:2px solid #d1d5db;border-radius:7px;padding:0 14px;font-size:18px;box-sizing:border-box;margin-bottom:34px}
.iqfp3-input-screen input:focus,.iqfp3-final-screen input:focus,.iqfp3-zip-row input:focus{outline:none;border-color:#5146e8}
.iqfp3-name-row{display:flex;gap:38px;margin-top:35px}
.iqfp3-name-row input{width:230px}

.iqfp3-final-screen{max-width:700px}
.iqfp3-final-screen input{display:block;width:470px;margin-bottom:32px}
.iqfp3-final-screen #iqfp3_submit{height:54px;font-size:16px;margin-top:18px}
.iqfp3-consent{font-size:14px;line-height:1.65;color:#475569;margin-top:28px;max-width:620px}
.iqfp3-message{font-size:18px;font-weight:800;color:#16a34a;margin-top:16px}

.iqfp3-quotes-screen{max-width:1120px;margin:0 auto}
.iqfp3-quotes-screen h1{font-size:36px;line-height:1.2;margin:0 0 30px;color:#111827}
.iqfp3-quotes-screen>p{font-size:20px;color:#4b5563}
.iqfp3-quote-card{position:relative;display:grid;grid-template-columns:260px 1fr 150px;align-items:center;gap:30px;min-height:140px;background:#fff;border:1px solid #cbd5e1;margin:24px 0;padding:20px 22px;box-shadow:0 18px 38px rgba(0,0,0,.08)}
.iqfp3-rank{position:absolute;top:0;left:0;background:#000;color:#fff;width:32px;height:25px;text-align:center;line-height:25px;font-weight:800}
.iqfp3-badge{position:absolute;top:0;left:32px;background:#5146e8;color:#fff;padding:6px 14px;font-weight:800;font-size:14px}
.iqfp3-quote-card h3{font-size:17px;margin:0 0 12px;border-bottom:1px solid #dbeafe;padding-bottom:8px}
.iqfp3-quote-card ul{list-style:none;padding:0;margin:0}
.iqfp3-quote-card li{font-size:15px;margin:8px 0}
.iqfp3-quote-card button{background:#34249b;color:#fff;border:0;padding:14px 20px;font-weight:800;cursor:pointer}

@media(max-width:850px){
  .iqfp3-home-hero h1,.iqfp3-zip-hero h1{font-size:34px}
  .iqfp3-service-cards,.iqfp3-options,.iqfp3-two{grid-template-columns:1fr}
  .iqfp3-service-cards{margin-top:50px}
  .iqfp3-zip-row,.iqfp3-name-row{flex-direction:column}
  .iqfp3-zip-row input,.iqfp3-name-row input,.iqfp3-final-screen input{width:100%}
  .iqfp3-choice-group button{width:100%}
  .iqfp3-quote-card{grid-template-columns:1fr}
}


/* v3.1 fixes: remove theme pink hover/click colors completely */
.iqfp3-wrap button,
.iqfp3-wrap button:hover,
.iqfp3-wrap button:focus,
.iqfp3-wrap button:active,
.iqfp3-wrap button:visited {
  color: #000 !important;
  outline: none !important;
  box-shadow: none;
}

.iqfp3-service-cards button,
.iqfp3-service-cards button:hover,
.iqfp3-service-cards button:focus,
.iqfp3-service-cards button:active {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #5146e8 !important;
}

.iqfp3-service-cards button:not(:hover) {
  border-color: #e8ecf2 !important;
}

.iqfp3-options button,
.iqfp3-options button:hover,
.iqfp3-options button:focus,
.iqfp3-options button:active {
  background: #f3f4f6 !important;
  color: #000 !important;
}

.iqfp3-options button:hover,
.iqfp3-options button:focus,
.iqfp3-options button:active {
  border: 1px solid #5146e8 !important;
  transform: scale(1.035);
}

.iqfp3-choice-group button,
.iqfp3-choice-group button:hover,
.iqfp3-choice-group button:focus,
.iqfp3-choice-group button:active {
  background: #fff !important;
  color: #000 !important;
}

.iqfp3-zip-row button,
.iqfp3-next,
#iqfp3_submit,
.iqfp3-zip-row button:hover,
.iqfp3-next:hover,
#iqfp3_submit:hover,
.iqfp3-zip-row button:focus,
.iqfp3-next:focus,
#iqfp3_submit:focus,
.iqfp3-zip-row button:active,
.iqfp3-next:active,
#iqfp3_submit:active {
  background: #5146e8 !important;
  color: #fff !important;
  border: 0 !important;
}

.iqfp3-quote-card button,
.iqfp3-quote-card button:hover,
.iqfp3-quote-card button:focus,
.iqfp3-quote-card button:active {
  background: #34249b !important;
  color: #fff !important;
  border: 0 !important;
}

.iqfp3-back,
.iqfp3-back:hover,
.iqfp3-back:focus,
.iqfp3-back:active {
  background: transparent !important;
  color: #4b5563 !important;
}

/* Never show previous button on first and last screens */
.iqfp3-screen[data-screen="home"].active ~ .iqfp3-back,
.iqfp3-screen[data-screen="quotes"].active ~ .iqfp3-back {
  display: none !important;
}


/* v3.3 final fixes */

/* hide previous button where it should not appear */
.iqfp3-back[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* remove pink hover/click from theme */
.iqfp3-wrap[data-iqfp3-form="true"] button,
.iqfp3-wrap[data-iqfp3-form="true"] button:hover,
.iqfp3-wrap[data-iqfp3-form="true"] button:focus,
.iqfp3-wrap[data-iqfp3-form="true"] button:active {
  box-shadow: none !important;
  text-decoration: none !important;
  outline: none !important;
}

/* homepage cards: no pink */
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-service-cards button {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #e8ecf2 !important;
}
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-service-cards button:hover,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-service-cards button:focus,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-service-cards button:active {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #5146e8 !important;
  transform: scale(1.025) !important;
}

/* option cards: no pink */
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-options button {
  background: #f3f4f6 !important;
  color: #000 !important;
  border: 1px solid transparent !important;
}
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-options button:hover,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-options button:focus,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-options button:active {
  background: #f3f4f6 !important;
  color: #000 !important;
  border: 1px solid #5146e8 !important;
  transform: scale(1.035) !important;
}

/* quote cards fixed layout */
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quotes-screen {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 0 70px !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quotes-screen h1 {
  font-size: 36px !important;
  line-height: 1.2 !important;
  margin: 0 0 28px !important;
  color: #111827 !important;
  font-weight: 800 !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quotes-screen > p {
  font-size: 20px !important;
  color: #4b5563 !important;
  margin: 0 0 26px !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 280px 1fr 150px !important;
  align-items: center !important;
  gap: 26px !important;
  width: 100% !important;
  min-height: 145px !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 0 !important;
  margin: 0 0 38px !important;
  padding: 22px 20px !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.08) !important;
  color: #000 !important;
  overflow: visible !important;
}

/* create blank left space, same as reference */
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card::before {
  content: "" !important;
  display: block !important;
  grid-column: 1 / 2 !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card > div:not(.iqfp3-rank):not(.iqfp3-badge) {
  grid-column: 2 / 3 !important;
  width: 100% !important;
  max-width: 620px !important;
  min-width: 0 !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card h3 {
  font-size: 16px !important;
  line-height: 1.25 !important;
  margin: 0 0 10px !important;
  color: #111827 !important;
  font-weight: 800 !important;
  border-bottom: 1px solid #dbeafe !important;
  padding: 0 0 8px !important;
  max-width: 620px !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: 620px !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card li {
  font-size: 14px !important;
  line-height: 1.25 !important;
  margin: 8px 0 !important;
  color: #000 !important;
  padding: 0 !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card button {
  grid-column: 3 / 4 !important;
  justify-self: center !important;
  align-self: center !important;
  width: 142px !important;
  min-width: 142px !important;
  max-width: 142px !important;
  height: 41px !important;
  min-height: 41px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #34249b !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-align: center !important;
  white-space: nowrap !important;
  transform: none !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card button:hover,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card button:focus,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card button:active {
  background: #34249b !important;
  color: #fff !important;
  border: 0 !important;
  transform: none !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-rank {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 32px !important;
  height: 25px !important;
  line-height: 25px !important;
  background: #000 !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  z-index: 3 !important;
}

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-badge {
  position: absolute !important;
  top: 0 !important;
  left: 32px !important;
  height: 25px !important;
  line-height: 25px !important;
  padding: 0 14px !important;
  background: #5146e8 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  z-index: 3 !important;
}

@media(max-width:850px){
  .iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card {
    display: block !important;
    padding: 40px 18px 22px !important;
  }
  .iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card button {
    margin-top: 18px !important;
  }
}

/* v3.6 production polish: global postal lookup, better mobile, white action text */
.iqfp3-country-wrap { margin-bottom: 10px; }
.iqfp3-country-wrap select {
  width: 420px;
  height: 48px;
  border: 1px solid #d1d5db;
  border-radius: 7px;
  padding: 0 14px;
  font-size: 16px;
  color: #111827;
  background: #fff;
}
.iqfp3-country-wrap select:focus { outline: none; border-color: #5146e8; }

.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-zip-row button,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-next,
.iqfp3-wrap[data-iqfp3-form="true"] #iqfp3_submit,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card button {
  color: #fff !important;
}
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-zip-row button:hover,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-next:hover,
.iqfp3-wrap[data-iqfp3-form="true"] #iqfp3_submit:hover,
.iqfp3-wrap[data-iqfp3-form="true"] .iqfp3-quote-card button:hover {
  color: #fff !important;
}

/* refined desktop sizes */
.iqfp3-home-hero h1 { font-size: clamp(36px, 4vw, 54px) !important; }
.iqfp3-zip-hero h1 { font-size: clamp(36px, 4.2vw, 58px) !important; }
.iqfp3-service-cards { max-width: 1060px !important; }
.iqfp3-service-cards button { height: 330px !important; }
.iqfp3-service-cards img { width: 145px !important; height: 145px !important; }
.iqfp3-options button { min-height: 72px !important; font-size: 18px !important; }

/* cleaner mobile responsiveness */
@media (max-width: 768px) {
  .iqfp3-wrap { padding: 28px 16px 60px !important; }
  .iqfp3-home-hero { min-height: auto !important; }
  .iqfp3-home-hero h1,
  .iqfp3-zip-hero h1 { font-size: 30px !important; line-height: 1.12 !important; }
  .iqfp3-home-hero p,
  .iqfp3-zip-hero p { font-size: 16px !important; }
  .iqfp3-service-cards { margin-top: 42px !important; gap: 18px !important; }
  .iqfp3-service-cards button { height: 230px !important; padding: 24px 18px !important; }
  .iqfp3-service-cards strong { font-size: 22px !important; margin-bottom: 32px !important; }
  .iqfp3-service-cards img { width: 110px !important; height: 110px !important; }
  .iqfp3-zip-row { gap: 14px !important; margin-top: 34px !important; }
  .iqfp3-country-wrap select,
  .iqfp3-zip-row input,
  .iqfp3-zip-row button { width: 100% !important; }
  .iqfp3-zip-row input { height: 58px !important; font-size: 20px !important; }
  .iqfp3-zip-row button { height: 60px !important; font-size: 19px !important; }
  .iqfp3-question-title,
  .iqfp3-question-screen h2,
  .iqfp3-about-screen h2,
  .iqfp3-input-screen h2,
  .iqfp3-final-screen h2 { font-size: 25px !important; }
  .iqfp3-options { gap: 12px !important; }
  .iqfp3-options button { min-height: 58px !important; font-size: 16px !important; }
  .iqfp3-choice-group button { width: 100% !important; height: 56px !important; }
  .iqfp3-final-screen input { width: 100% !important; }
  .iqfp3-progress { margin-bottom: 24px !important; }
}


/* v3.6: no country dropdown; postal code only */
.iqfp3-country-wrap { display: none !important; }
#iqfp3_zip_location {
  color: #111827 !important;
  font-weight: 800 !important;
  background: #eef2ff !important;
  border-left: 4px solid #5146e8 !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  width: fit-content !important;
  max-width: 100% !important;
}
#iqfp3_zip_location:empty {
  display: none !important;
}
