/* ===== quick price on the application page =====
   The application page asks only what it needs to price the cover, then shows
   the best quote first and the rest of the comparison on demand. */
.apply-quote-engine-section{
  width:100%;
  max-width:1120px;
  margin:0 auto 1.6rem;
}

.apply-quote-engine-head{
  max-width:720px;
  margin:0 auto .9rem;
  text-align:center;
}

.apply-quote-engine-head h2{
  margin:.2rem 0 .3rem;
  color:#013947;
  font-size:clamp(1.35rem,3vw,2rem);
  line-height:1.15;
}

.apply-quote-engine-head p{
  margin:0;
  color:#5b6f70;
  font-size:.92rem;
}

.apply-quick-quote{
  width:100%;
  max-width:920px;
  margin:0 auto;
  padding:1rem;
  border:1px solid rgba(1,122,120,.2);
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(1,57,71,.08);
}

.aqq-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.7rem;
}

.aqq-field{
  display:flex;
  flex-direction:column;
  gap:.32rem;
  min-width:0;
  color:#5b6f70;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.aqq-field[hidden]{display:none!important;}

.aqq-field small{
  color:#8a9a9a;
  font-size:.66rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}

.aqq-field select{
  width:100%;
  padding:.62rem .68rem;
  border:1px solid #d7e2e0;
  border-radius:9px;
  background:#fbfdfc;
  color:#013947;
  font:inherit;
  font-size:.9rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:none;
  cursor:pointer;
}

.aqq-field select:focus{
  outline:2px solid rgba(1,122,120,.35);
  outline-offset:1px;
  border-color:#017a78;
}

.aqq-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.6rem;
  margin-top:.9rem;
}

.aqq-get{
  flex:1 1 220px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.78rem 1rem;
  border:0;
  border-radius:10px;
  background:#017a78;
  color:#fff;
  font:inherit;
  font-size:.92rem;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(1,122,120,.22);
  transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.aqq-get:hover{background:#016966;transform:translateY(-1px);}
.aqq-get:active{transform:none;}
.aqq-get:disabled{opacity:.62;cursor:progress;transform:none;box-shadow:none;}

.aqq-reset{
  padding:.72rem 1rem;
  border:1px solid rgba(1,57,71,.18);
  border-radius:10px;
  background:#f6f9f8;
  color:#35575b;
  font:inherit;
  font-size:.82rem;
  font-weight:800;
  cursor:pointer;
}

.aqq-reset:hover{background:#edf4f2;color:#013947;}

.aqq-status{
  margin:.7rem 0 0;
  color:#5b6f70;
  font-size:.82rem;
  font-weight:600;
}

.aqq-status[hidden]{display:none!important;}
.aqq-status.is-error{color:#b3261e;}

.aqq-result{margin-top:.9rem;}
.aqq-result[hidden]{display:none!important;}

.aqq-pick-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
  margin:0 0 .55rem;
}

.aqq-pick-kicker{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:#017a78;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.aqq-pick-count{color:#7c8f91;font-size:.76rem;font-weight:600;}

.aqq-best{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.35rem .75rem;
  padding:1rem;
  border:1px solid rgba(1,122,120,.25);
  border-top:4px solid #017a78;
  border-radius:14px;
  background:linear-gradient(180deg,rgba(1,122,120,.06),#ffffff 55%);
}

.aqq-best-id{display:flex;flex-direction:column;min-width:0;}
.aqq-best-id strong{color:#013947;font-size:1.02rem;line-height:1.2;}
.aqq-best-id span{color:#5b6f70;font-size:.82rem;line-height:1.3;}

.aqq-best-price{text-align:right;}
.aqq-best-price strong{display:block;color:#013947;font-size:1.22rem;line-height:1.15;}
.aqq-best-price small{color:#7c8f91;font-size:.7rem;font-weight:600;}

.aqq-best-limits{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:.3rem;
}

.aqq-tag{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding:.2rem .45rem;
  border-radius:999px;
  background:#eef5f3;
  color:#35575b;
  font-size:.68rem;
  font-weight:600;
  white-space:nowrap;
}

.aqq-tag b{color:#017a78;font-weight:800;}

.aqq-use{
  grid-column:1 / -1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  margin-top:.25rem;
  padding:.72rem 1rem;
  border:0;
  border-radius:10px;
  background:#013947;
  color:#fff;
  font:inherit;
  font-size:.86rem;
  font-weight:800;
  cursor:pointer;
  transition:background-color .16s ease;
}

.aqq-use:hover{background:#01545f;}

.aqq-all{margin-top:.65rem;}
.aqq-all summary{
  cursor:pointer;
  color:#017a78;
  font-size:.8rem;
  font-weight:800;
  padding:.35rem 0;
}

.aqq-list{
  list-style:none;
  margin:.4rem 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.4rem;
}

.aqq-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:.55rem;
  padding:.55rem .6rem;
  border:1px solid #e6eeec;
  border-radius:10px;
  background:#fbfdfc;
}

.aqq-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#017a78;
  color:#fff;
  font-size:.72rem;
  font-weight:800;
}

.aqq-row-id{display:flex;flex-direction:column;min-width:0;}
.aqq-row-id strong{color:#013947;font-size:.82rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.aqq-row-id small{color:#7c8f91;font-size:.68rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.aqq-row-price{color:#013947;font-size:.82rem;font-weight:800;white-space:nowrap;}

.aqq-select{
  padding:.35rem .7rem;
  border:1px solid #017a78;
  border-radius:999px;
  background:#fff;
  color:#017a78;
  font:inherit;
  font-size:.72rem;
  font-weight:800;
  cursor:pointer;
}

.aqq-select:hover{background:#017a78;color:#fff;}

.apply-quote-engine-frame{
  display:none!important;
  width:0;
  height:0;
  border:0;
}

@media (max-width:1024px){
  .aqq-actions{padding-right:3.9rem;}
}

@media (max-width:640px){
  .apply-quick-quote{padding:.8rem;border-radius:14px;}
  .aqq-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;}
  .aqq-field:first-child{grid-column:1 / -1;}
  .aqq-field:last-child{grid-column:1 / -1;}
  .aqq-get{flex:1 1 100%;}
  .aqq-reset{flex:0 0 auto;}
  .aqq-best{grid-template-columns:minmax(0,1fr);}
  .aqq-best-price{text-align:left;}
  .aqq-row{grid-template-columns:auto minmax(0,1fr) auto;}
  .aqq-row-price{grid-column:2;grid-row:2;}
  .aqq-select{grid-column:3;grid-row:1 / span 2;}
}
/* ===== the two actions are one pill, split into two segments ===== */
.aqq-actions{
  display:flex;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:0;
  margin-top:.9rem;
  border-radius:999px;
  overflow:hidden;
  box-shadow:0 8px 18px rgba(1,122,120,.22);
}

.aqq-get{
  flex:1 1 auto;
  padding:.8rem 1rem;
  border-radius:0;
  box-shadow:none;
}

.aqq-get:hover{transform:none;}

.aqq-reset{
  flex:0 0 auto;
  padding:.8rem 1.1rem;
  border:0;
  border-left:1px solid rgba(255,255,255,.28);
  border-radius:0;
  background:#013947;
  color:#fff;
}

.aqq-reset:hover{background:#01545f;color:#fff;}

/* ===== number fields and the children the cover carries ===== */
.aqq-field input[type="number"]{
  width:100%;
  padding:.62rem .68rem;
  border:1px solid #d7e2e0;
  border-radius:9px;
  background:#fbfdfc;
  color:#013947;
  font:inherit;
  font-size:.9rem;
  font-weight:700;
}

.aqq-field input[type="number"]:focus{
  outline:2px solid rgba(1,122,120,.35);
  outline-offset:1px;
  border-color:#017a78;
}

.aqq-children-wrap{grid-column:1 / -1;margin-top:0;}
.aqq-children-wrap[hidden]{display:none!important;}

.aqq-children{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:.55rem;
}

.aqq-add-child{
  margin-top:.55rem;
  padding:.46rem .85rem;
  border:1px dashed rgba(1,122,120,.5);
  border-radius:999px;
  background:#f4fbf9;
  color:#017a78;
  font:inherit;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
}

.aqq-add-child:hover{background:#e8f6f2;border-style:solid;}
.aqq-add-child[hidden]{display:none!important;}

@media (max-width:1024px){
  .aqq-actions{padding-right:0;margin-right:3.9rem;}
}

@media (max-width:640px){
  .aqq-actions{padding-right:0;margin-right:3.9rem;}
  .aqq-get{flex:1 1 auto;padding:.75rem .7rem;font-size:.82rem;}
  .aqq-reset{padding:.75rem .8rem;font-size:.78rem;}
  .aqq-children{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* ===== dental and optical stay on one row ===== */
.aqq-pair{
  grid-column:span 2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  min-width:0;
}

@media (max-width:640px){
  .aqq-pair{grid-column:1 / -1;gap:.55rem;}
  .aqq-pair .aqq-field:first-child,
  .aqq-pair .aqq-field:last-child{grid-column:auto;}
  .aqq-children .aqq-field:first-child,
  .aqq-children .aqq-field:last-child{grid-column:auto;}
}

/* ===== group families: M + 0 through M + 7 ===== */
.aqq-group-families{grid-column:1 / -1;min-width:0;}
.aqq-group-families[hidden]{display:none!important;}

.aqq-group-families-title{
  display:block;
  margin-bottom:.4rem;
  color:#5b6f70;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.aqq-group-families-title small{
  color:#8a9a9a;
  font-size:.66rem;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}

.aqq-group-family-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:.55rem;
}

@media (max-width:640px){
  .aqq-group-family-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .aqq-group-family-grid .aqq-field:first-child,
  .aqq-group-family-grid .aqq-field:last-child{grid-column:auto;}
}

