.iw-tp-widget,
.iw-tp-modal {
  --iw-tp-primary: #003d01;
  --iw-tp-accent: #9ce76a;
  --iw-tp-surface: #f3fce9;
  --iw-tp-radius: 20px;
  box-sizing: border-box;
  font-family: inherit;
}
.iw-tp-widget *, .iw-tp-modal * { box-sizing: border-box; }
.iw-tp-widget {
  display: block;
  position: relative;
  inset: auto;
  float: none;
  clear: both;
  flex: 0 0 100%;
  grid-column: 1 / -1;
  min-width: 0;
  max-width: 100%;
  isolation: isolate;
  width: 100%;
  margin: 18px 0;
  padding: 20px;
  overflow: clip;
  color: #111827;
  text-align: start;
  background: var(--iw-tp-surface);
  border: 1px solid color-mix(in srgb, var(--iw-tp-primary) 18%, #fff);
  border-radius: var(--iw-tp-radius);
  box-shadow: 0 14px 38px rgba(24, 50, 112, .10);
}
.iw-tp-widget__glow {
  position: absolute;
  z-index: -1;
  inset: -80px auto auto -65px;
  width: 190px;
  height: 190px;
  pointer-events: none;
  background: radial-gradient(circle, color-mix(in srgb, var(--iw-tp-accent) 24%, transparent), transparent 68%);
}
.iw-tp-widget__head, .iw-tp-widget__body, .iw-tp-widget__footer {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.iw-tp-logo { display: inline-flex; align-items: center; gap: 7px; color: var(--iw-tp-primary); direction: ltr; }
.iw-tp-logo svg { width: 29px; height: 29px; fill: currentColor; flex: 0 0 auto; }
.iw-tp-logo__word { font: 800 25px/1 Arial, sans-serif; letter-spacing: -1.5px; }
.iw-tp-widget__badge {
  padding: 7px 11px;
  color: var(--iw-tp-primary);
  font-size: 12px;
  font-weight: 700;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--iw-tp-primary) 16%, #fff);
  border-radius: 999px;
}
.iw-tp-widget__body { margin-top: 18px; }
.iw-tp-widget__copy { display: grid; gap: 7px; min-width: 0; }
.iw-tp-widget__title { font-size: 18px; line-height: 1.5; }
.iw-tp-widget__description { color: #596273; font-size: 13px; line-height: 1.8; }
.iw-tp-widget__estimate {
  display: grid;
  flex: 0 0 auto;
  min-width: 142px;
  padding: 11px 14px;
  text-align: center;
  background: #fff;
  border-radius: calc(var(--iw-tp-radius) * .65);
  box-shadow: 0 5px 18px rgba(31, 50, 105, .07);
}
.iw-tp-widget__estimate span, .iw-tp-widget__estimate small { color: #6b7280; font-size: 10px; }
.iw-tp-widget__estimate strong { margin: 3px 0; color: var(--iw-tp-primary); font-size: 15px; }
.iw-tp-widget__benefits { display: grid; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.iw-tp-widget__benefits li { display: flex; align-items: center; gap: 8px; color: #3f4755; font-size: 12px; }
.iw-tp-check {
  display: inline-grid;
  width: 20px;
  height: 20px;
  place-items: center;
  color: #fff;
  font-size: 11px;
  background: linear-gradient(135deg, var(--iw-tp-primary), color-mix(in srgb, var(--iw-tp-primary) 85%, var(--iw-tp-accent)));
  border-radius: 50%;
}
.iw-tp-widget__footer { align-items: center; margin-top: 18px; }
.iw-tp-widget__button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 11px 22px;
  color: #fff !important;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
  cursor: pointer;
  background: linear-gradient(115deg, var(--iw-tp-primary), color-mix(in srgb, var(--iw-tp-primary) 85%, var(--iw-tp-accent)));
  border: 0;
  border-radius: calc(var(--iw-tp-radius) * .65);
  box-shadow: 0 9px 22px color-mix(in srgb, var(--iw-tp-primary) 28%, transparent);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.iw-tp-widget__button:hover { color: #fff; filter: brightness(1.06); transform: translateY(-2px); box-shadow: 0 12px 28px color-mix(in srgb, var(--iw-tp-primary) 34%, transparent); }
.iw-tp-widget__button:focus-visible, .iw-tp-modal__close:focus-visible { outline: 3px solid color-mix(in srgb, var(--iw-tp-primary) 36%, transparent); outline-offset: 3px; }
.iw-tp-widget__legal { max-width: 58%; color: #727b89; font-size: 10px; line-height: 1.7; }

.iw-tp-widget--compact { padding: 14px 16px; }
.iw-tp-widget--compact .iw-tp-widget__glow, .iw-tp-widget--compact .iw-tp-widget__benefits { display: none; }
.iw-tp-widget--compact .iw-tp-widget__head { justify-content: flex-start; }
.iw-tp-widget--compact .iw-tp-widget__body { margin-top: 10px; }
.iw-tp-widget--compact .iw-tp-widget__description, .iw-tp-widget--compact .iw-tp-widget__legal { display: none; }
.iw-tp-widget--compact .iw-tp-widget__footer { margin-top: 12px; }
.iw-tp-widget--compact .iw-tp-widget__button { width: 100%; }

.iw-tp-widget--outline { background: #fff; border: 2px solid var(--iw-tp-primary); box-shadow: none; }
.iw-tp-widget--outline .iw-tp-widget__button { color: var(--iw-tp-primary) !important; background: transparent; border: 2px solid var(--iw-tp-primary); box-shadow: none; }
.iw-tp-widget--outline .iw-tp-widget__button:hover { color: #fff !important; background: var(--iw-tp-primary); }

.iw-tp-widget--minimal { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 12px 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.iw-tp-widget--minimal .iw-tp-widget__glow, .iw-tp-widget--minimal .iw-tp-widget__badge,
.iw-tp-widget--minimal .iw-tp-widget__description, .iw-tp-widget--minimal .iw-tp-widget__benefits,
.iw-tp-widget--minimal .iw-tp-widget__legal { display: none; }
.iw-tp-widget--minimal .iw-tp-widget__head, .iw-tp-widget--minimal .iw-tp-widget__body,
.iw-tp-widget--minimal .iw-tp-widget__footer { margin: 0; }
.iw-tp-widget--minimal .iw-tp-widget__body { flex: 1; }
.iw-tp-widget--minimal .iw-tp-widget__title { font-size: 14px; }
.iw-tp-widget--minimal .iw-tp-widget__estimate { padding: 6px 10px; box-shadow: none; border: 1px solid #e5e7eb; }
.iw-tp-widget--minimal .iw-tp-widget__button { min-height: 40px; padding: 8px 16px; }

.iw-tp-modal {
  position: fixed !important;
  inset: 0 !important;
  margin: auto !important;
  height: fit-content;
  max-height: calc(100dvh - 32px);
  width: min(440px, calc(100vw - 28px));
  max-width: 440px;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  color: #172033;
  background: transparent;
  border: 0;
}
.iw-tp-modal::backdrop { background: rgba(9, 18, 41, .58); backdrop-filter: blur(4px); }
.iw-tp-modal[open] { animation: iw-tp-pop .22s ease-out; }
.iw-tp-modal__panel { position: relative; padding: 30px; text-align: center; background: #fff; border-radius: var(--iw-tp-radius); box-shadow: 0 30px 90px rgba(7, 20, 60, .28); }
.iw-tp-modal__close { position: absolute; inset: 12px 12px auto auto; width: 34px; height: 34px; color: #5f6878; font: 26px/1 Arial; cursor: pointer; background: #f3f5f9; border: 0; border-radius: 50%; }
.iw-tp-logo--modal { justify-content: center; }
.iw-tp-modal h2 { margin: 20px 0 8px; font-size: 21px; }
.iw-tp-modal p { margin: 0 0 18px; color: #606a7a; font-size: 13px; line-height: 1.9; }
.iw-tp-modal__estimate { display: grid; gap: 4px; margin: 16px 0; padding: 15px; background: var(--iw-tp-surface); border-radius: calc(var(--iw-tp-radius) * .65); }
.iw-tp-modal__estimate strong { color: var(--iw-tp-primary); font-size: 20px; }
.iw-tp-modal__estimate span, .iw-tp-modal__estimate small { color: #6f7887; font-size: 11px; }
.iw-tp-modal .iw-tp-modal__notice { font-size: 10px; }
.iw-tp-modal .iw-tp-widget__button { width: 100%; }
.iw-tp-native-pulse { animation: iw-tp-pulse .9s ease 2; }
@keyframes iw-tp-pop { from { opacity: 0; transform: translateY(15px) scale(.97); } }
@keyframes iw-tp-pulse { 50% { box-shadow: 0 0 0 7px color-mix(in srgb, var(--iw-tp-primary, #003d01) 25%, transparent); } }
@media (max-width: 560px) {
  .iw-tp-widget { padding: 16px; }
  .iw-tp-widget__head, .iw-tp-widget__body, .iw-tp-widget__footer { align-items: stretch; flex-direction: column; }
  .iw-tp-widget__head { gap: 10px; }
  .iw-tp-widget__badge { align-self: flex-start; }
  .iw-tp-widget__estimate { width: 100%; }
  .iw-tp-widget__button { width: 100%; }
  .iw-tp-widget__legal { max-width: none; text-align: center; }
  .iw-tp-widget--minimal { align-items: stretch; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .iw-tp-widget__button, .iw-tp-modal[open], .iw-tp-native-pulse { animation: none; transition: none; }
}

.iw-tp-widget[hidden]{display:none!important}.iw-tp-logo__word{font-family:inherit!important;letter-spacing:0!important}.iw-tp-widget__estimate small{line-height:1.8}

.iw-tp-logo img { display:block; flex:0 0 auto; object-fit:contain; }
.iw-tp-widget__status { margin:12px 0 0; font-size:13px; color:var(--iw-tp-primary); }
.iw-tp-widget[aria-busy="true"] [data-iw-tp-main-action] { opacity:.65; pointer-events:none; }

/* Venture places every overview button in one non-wrapping flex row. Reserve
   a whole row for this widget without changing other products or theme files. */
.overview-buttons:has(> .iw-tp-widget) {
  flex-wrap: wrap !important;
  min-width: 0;
}
.overview-buttons:has(> .iw-tp-widget) > .add-to-cart {
  flex: 1 1 280px;
  width: auto;
  min-width: 0;
}
.overview-buttons > .iw-tp-widget {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 18px 0 !important;
  align-self: stretch;
}
.iw-tp-widget__button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.iw-tp-widget__estimate { min-width: min(142px, 100%); max-width: 100%; }
