/* Popup container */
 .awsPopup {
  text-decoration: underline;
    position: relative;
    display: inline-block;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
/* The actual popup */
.awsPopup .awsPopuptext {
    visibility: hidden;
    width: 205px;
    background-color: #001531;
    color: #fff;
    text-align: center;
    padding: 12px;
    position: absolute;
    z-index: 1;
    bottom: -740%;
    left: 135%;
    margin-left: -80px;
  }
.awsPopuptext p {
    margin-bottom:1px !important;
color: #fff !important;
  }
/* Toggle this class - hide and show the popup */
.awsPopup .awsShow {
    visibility: visible;
    -webkit-animation: fadeIn 1s;
    animation: fadeIn 1s;
  }
  
  /* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
    from {opacity: 0;} 
    to {opacity: 1;}
  }
  
@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity:1 ;}
  }

/* for condensed calculator on PPC page  */
/* ===== Mini Calculator (Upgraded UI) ===== */

.os-mini-calc{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:18px 20px;
  margin:0 !important;

  font-family: Montserrat, sans-serif;

  background:#0d0d10;
  border:1px solid #fff;
  position:relative;
	
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}

.os-mini-calc *{ box-sizing:border-box; }

/* subtle brand glow sheen */
.os-mini-calc::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(90deg, rgba(168,85,247,0.16), transparent 55%);
}

/* keep the sheen overlay behind the form controls - allow users to type into fields */
.os-mini-calc::before{ z-index:0; }          /* push overlay behind */
.os-mini-calc > *{ position:relative; z-index:1; } /* pull inputs/labels above */

/* labels */
.os-mini-label{
  font-size:12px;
  font-weight:700;
  color:#f2f3f5;
  margin-right:0;
  letter-spacing:.3px;
}
#termlbl {
	white-space:nowrap;
}

/* inputs */
.os-mini-select,
.os-mini-input{
  height:42px !important;
  border:1px solid #3a3a45 !important;
  padding:0 12px !important;
  font-size:16px !important;
  font-weight:700 !important;

  background:#111118 !important;
  color:#ffffff !important;

  border-radius:0 !important;
  margin-bottom:0 !important;
  outline:none !important;

  transition:border-color .2s ease, box-shadow .2s ease;
}

.os-mini-select{ width:68px !important; }
#tbInput{ width:5.5ch !important; text-align:center; }

/* focus state */
.os-mini-select:focus,
.os-mini-input:focus{
  border-color:#a855f7 !important;
  box-shadow:0 0 0 2px rgba(168,85,247,.25) !important;
}

.os-mini-meta-wrap{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}

.os-mini-meta{
  font-size:12px;
  color:#b8b8c4;
  opacity:1;
}

/* error */
.os-mini-error{
  font-size:12px;
  color:#ff5a6b;
  text-align:left;
}

.os-mini-equals{
  font-size:22px !important;
  font-weight:800 !important;
  color:#d6d6de !important;
  padding:0 2px !important;
  line-height:1;
}

/* total price pill */
.os-mini-total{
  border-radius:0 !important;
  padding:12px 18px;

  display:inline-flex;
  align-items:center;

  gap:0;

  color:#fff;
  line-height:1;

  width:auto;
  max-width:100%;
  flex:0 0 auto;

  background: linear-gradient(90deg, #7b3ff2, #a855f7);
  box-shadow: 0 0 0 1px rgba(255,255,255,.08) inset;
}

/* price typography */
.os-mini-dollar{
  font-size:20px;
  font-weight:900;
  margin-right:2px;
}

#miniMonthlyTotal{
  font-size:clamp(26px, 3vw, 34px);
  font-weight:900;
  letter-spacing:.3px;
}

.os-mini-suffix{
  font-size:13px;
  font-weight:800;
  opacity:.9;
  margin-left:6px;
  position:relative;
  top:-2px; /* lift /mo slightly */
}

/* keep it mostly one-line until tablet */
/* Tablet + small laptop: wrap + tighten */
@media (min-width: 769px) and (max-width: 1200px){
  .os-mini-calc{
    flex-wrap:wrap;
    gap:12px;
  }
  .os-mini-meta-wrap{
    flex-basis:100%;    /* meta + error drops to its own line */
  }
}
@media (min-width: 1201px){
  .os-mini-calc{
    flex-wrap:nowrap;
  }
  .os-mini-meta-wrap{
    flex-basis:auto; /* meta can sit inline again on wide screens */
  }
}

/* Big desktop: keep it on one line */
@media (min-width: 1201px){
  .os-mini-calc{ flex-wrap:nowrap; }
}
@media (max-width: 768px) {
   .awsPopup .awsPopuptext {
    
    bottom: -480% !important;
    left: 36% !important;
    
  }
	.awsPopup-a .awsPopuptext-a {
    left: 55%;
	}
	.step-indicator {
    white-space: nowrap;
	}
}

/* tighten for small screens */
@media (max-width: 480px){
  .os-mini-calc{ gap:12px; padding:14px 14px; }
  #miniMonthlyTotal{ font-size:30px; }
}