/* =====================================================================
   IGET Elementor Widgets — Track Order + Sales Alerts
   ===================================================================== */

/* ---------------------------------------------------------------- track order */
.igto{
  --igto-ink:#111;
  --igto-muted:#6D6D6D;
  --igto-line:#E9E9E9;
  --igto-brand:#AF1C1F;
  width:100%;
  margin:0 auto;
  padding:44px 24px 60px;
  font-family:Montserrat,Arial,sans-serif;
  color:#3a3a3a;
  box-sizing:border-box;
}
.igto *,.igto *::before,.igto *::after{box-sizing:border-box}

.igto-head{margin:0 0 30px}
.igto-eyebrow{
  display:block;
  font:700 10.5px/1 Montserrat,Arial,sans-serif;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--igto-brand);
  margin-bottom:12px;
}
.igto-title{
  margin:0 0 10px;
  font:800 clamp(26px,3.4vw,38px)/1.15 Montserrat,Arial,sans-serif;
  letter-spacing:-.02em;
  color:var(--igto-ink);
}
.igto-lede{
  margin:0;
  max-width:56ch;
  font:500 15px/1.65 Montserrat,Arial,sans-serif;
  color:var(--igto-muted);
}

.igto-card{
  border:1px solid var(--igto-line);
  border-radius:16px;
  background:#fff;
  padding:26px 28px 24px;
  box-shadow:0 1px 2px rgba(17,17,17,.04), 0 16px 40px rgba(17,17,17,.05);
  margin:0 0 34px;
}
.igto-form{display:block;margin:0}

.igto-label{
  display:block;
  margin:0 0 8px;
  font:700 10.5px/1 Montserrat,Arial,sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--igto-ink);
}

.igto-input{
  display:block;
  width:100%;
  height:54px;
  padding:0 16px;
  border:1px solid #E2E2E2;
  border-radius:10px;
  background:#fff;
  color:var(--igto-ink);
  font:500 16px/1 Montserrat,Arial,sans-serif;
  box-shadow:none;
  transition:border-color .16s ease, box-shadow .16s ease;
  -webkit-appearance:none;
  appearance:none;
}
.igto-input::placeholder{color:#A9A9A9;font-weight:400}
.igto-input:focus{
  outline:0;
  border-color:var(--igto-ink);
  box-shadow:0 0 0 3px rgba(17,17,17,.07);
}
.igto-input.is-invalid{
  border-color:var(--igto-brand);
  box-shadow:0 0 0 3px rgba(175,28,31,.09);
}

.igto-error{
  margin:9px 0 0;
  font:600 12.5px/1.4 Montserrat,Arial,sans-serif;
  color:var(--igto-brand);
}
.igto-error[hidden]{display:none}

.igto-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:16px;
  height:48px;
  padding:0 34px;
  border:0;
  border-radius:10px;
  background:var(--igto-ink);
  color:#fff;
  font:700 11.5px/1 Montserrat,Arial,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background-color .18s ease, transform .12s ease;
}
.igto-btn:hover{background:var(--igto-brand)}
.igto-btn:active{transform:translateY(1px)}
.igto-btn:focus-visible{outline:2px solid var(--igto-ink); outline-offset:3px}

.igto-hint{
  margin:18px 0 0;
  padding-top:18px;
  border-top:1px solid #F0F0F0;
  font:500 13px/1.6 Montserrat,Arial,sans-serif;
  color:var(--igto-muted);
}

.igto-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 30px;
}
.igto-step{
  border:1px solid var(--igto-line);
  border-radius:14px;
  background:#FAFAFA;
  padding:20px 20px 22px;
}
.igto-step-num{
  display:flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  margin-bottom:12px;
  border-radius:50%;
  background:#FBF2F2;
  border:1px solid #F0DCDC;
  color:var(--igto-brand);
  font:800 11.5px/1 Montserrat,Arial,sans-serif;
}
.igto-step strong{
  display:block;
  margin-bottom:6px;
  font:800 13.5px/1.35 Montserrat,Arial,sans-serif;
  color:var(--igto-ink);
}
.igto-step p{
  margin:0;
  font:500 12.5px/1.6 Montserrat,Arial,sans-serif;
  color:var(--igto-muted);
}

.igto-help{
  margin:0;
  font:500 13.5px/1.7 Montserrat,Arial,sans-serif;
  color:var(--igto-muted);
}
.igto-help a{
  color:var(--igto-ink);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.igto-help a:hover{color:var(--igto-brand)}

/* ---------------------------------------------------------------- sales alerts */
.isb-alerts{
  --isb-accent:#AF1C1F;
  position:fixed;
  left:22px;
  bottom:22px;
  z-index:9990;
  width:352px;
  max-width:calc(100vw - 44px);
  font-family:Montserrat,Arial,sans-serif;
  pointer-events:none;
  -webkit-font-smoothing:antialiased;
}
.isb-alerts[hidden]{display:none}
.isb-alerts__stack{position:relative}

.isb-alert{
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  box-sizing:border-box;
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:13px 30px 13px 13px;
  background:#fff;
  border:1px solid #E9E9E9;
  border-left:3px solid var(--isb-accent);
  border-radius:12px;
  box-shadow:0 14px 34px rgba(17,17,17,.16), 0 2px 6px rgba(17,17,17,.06);
  opacity:0;
  visibility:hidden;
  transform:translateX(-18px);
  pointer-events:none;
  transition:opacity .42s ease, transform .42s cubic-bezier(.2,.8,.2,1), visibility 0s linear .42s;
  will-change:opacity, transform;
}
.isb-alert.is-on{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
  pointer-events:auto;
  transition-delay:0s;
}

.isb-alert__avatar{
  flex:0 0 auto;
  width:34px; height:34px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#FBF2F2;
  border:1px solid #F0DCDC;
  color:var(--isb-accent);
  font:800 11.5px/1 Montserrat,Arial,sans-serif;
  letter-spacing:.03em;
}
.isb-alert__body{min-width:0; flex:1 1 auto}

.isb-alert__who{
  margin:0 0 3px;
  font:600 12.5px/1.45 Montserrat,Arial,sans-serif;
  color:#6D6D6D;
  overflow:hidden; text-overflow:ellipsis;
}
.isb-alert__who strong{color:#111; font-weight:800}
.isb-alert__sep{opacity:.75; padding:0 1px}

.isb-alert__what{
  margin:0 0 5px;
  font:500 12.5px/1.45 Montserrat,Arial,sans-serif;
  color:#6D6D6D;
}
.isb-alert__what strong{color:#111; font-weight:700}

.isb-alert__spent{
  margin:0;
  font:600 10px/1 Montserrat,Arial,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#9A9A9A;
}
.isb-alert__spent strong{
  display:inline-block;
  margin-left:5px;
  font:800 12px/1 Montserrat,Arial,sans-serif;
  letter-spacing:0;
  text-transform:none;
  color:var(--isb-accent);
}

.isb-alert__close{
  position:absolute;
  top:7px; right:7px;
  width:20px; height:20px;
  display:flex; align-items:center; justify-content:center;
  padding:0;
  border:0; border-radius:50%;
  background:transparent;
  color:#B4B4B4;
  font-size:15px; line-height:1;
  cursor:pointer;
  opacity:.7;
  transition:opacity .15s ease, background-color .15s ease, color .15s ease;
}
.isb-alert__close:hover{opacity:1; background:#F3F3F3; color:#111}
.isb-alert__close:focus-visible{outline:2px solid #111; outline-offset:1px; opacity:1}

/* inside the Elementor editor the ticker is fixed, so keep it visible */
.elementor-editor-active .isb-alerts{position:fixed}

/* ---------------------------------------------------------------- responsive */
@media (max-width:820px){
  .igto{padding:34px 20px 48px}
  .igto-steps{grid-template-columns:1fr}
  .igto-card{padding:22px 20px 20px}
}
@media (max-width:600px){
  .igto{padding:28px 16px 44px}
  .igto-btn{width:100%}
  .isb-alerts{
    left:12px; right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom, 0px));
    width:auto; max-width:none;
  }
  .isb-alert{padding:12px 28px 12px 12px; gap:10px}
  .isb-alert__avatar{width:30px; height:30px; font-size:10.5px}
  .isb-alert__who,.isb-alert__what{font-size:12px}
}

@media (prefers-reduced-motion: reduce){
  .isb-alert{transform:none; transition:opacity .2s ease, visibility 0s linear .2s}
  .isb-alert.is-on{transform:none}
  .igto-input,.igto-btn{transition:none}
}

/* Editor canvas only: show the alerts widget in the page flow so it can be
   seen and clicked. The public site keeps the fixed bottom-left ticker. */
.isb-alerts.isb-alerts--editor {
	position: static !important;
	inset: auto !important;
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
	max-width: 420px;
	margin: 24px 0;
}
.isb-alerts.isb-alerts--editor .isb-alerts__stack {
	position: static !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.isb-alerts.isb-alerts--editor .isb-alert {
	position: static !important;
	display: flex !important;
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
	margin: 0;
}
.isb-alerts.isb-alerts--editor .isb-alert:nth-child(n+2) { display: none !important; }
