:root{
  --tei-msl-blue:#2844f5;
  --tei-msl-blue-2:#5d7cff;
  --tei-msl-navy:#0d1c4a;
  --tei-msl-text:#17213c;
  --tei-msl-muted:#667085;
  --tei-msl-line:#e5e9f2;
  --tei-msl-bg:#f7f9ff;
  --tei-msl-ok:#0e9f6e;
}

body.tei-msl-lock{overflow:hidden}
.tei-msl-open{min-height:48px!important;padding:0 22px!important;border-radius:12px!important;font-weight:800!important}

.tei-msl-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}
.tei-msl-modal.is-open{display:flex}
.tei-msl-modal__overlay{position:absolute;inset:0;background:rgba(8,17,45,.72);backdrop-filter:blur(8px)}
.tei-msl-modal__dialog{position:relative;width:min(1180px,100%);max-height:min(92vh,980px);overflow:auto;background:#fff;border-radius:26px;box-shadow:0 30px 100px rgba(11,24,69,.35)}
.tei-msl-modal__close{position:sticky;float:right;top:14px;right:14px;z-index:5;width:42px;height:42px;border:0;border-radius:50%;background:#f0f3fb;color:var(--tei-msl-navy);font-size:28px;line-height:1;cursor:pointer}

.tei-msl-modal__header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:36px 38px 24px;border-bottom:1px solid var(--tei-msl-line)}
.tei-msl-modal__header h2{margin:4px 0 6px;font-size:34px;line-height:1.08;color:var(--tei-msl-navy)}
.tei-msl-modal__header p{margin:0;color:var(--tei-msl-muted)}
.tei-msl-eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:#edf1ff;color:var(--tei-msl-blue);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.tei-msl-base-price{text-align:right;min-width:160px}
.tei-msl-base-price small{display:block;color:var(--tei-msl-muted);margin-bottom:4px}
.tei-msl-base-price strong{font-size:28px;color:var(--tei-msl-navy)}

.tei-msl-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:18px 38px;background:var(--tei-msl-bg);border-bottom:1px solid var(--tei-msl-line)}
.tei-msl-progress button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:#8791a7;font-weight:700;cursor:pointer;padding:9px 8px;border-radius:10px}
.tei-msl-progress button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e6eaf5;color:#69738a;font-size:13px}
.tei-msl-progress button.is-active{background:#fff;color:var(--tei-msl-blue);box-shadow:0 5px 18px rgba(38,64,189,.08)}
.tei-msl-progress button.is-active span{background:var(--tei-msl-blue);color:#fff}

.tei-msl-form{padding:0}
.tei-msl-step{display:none;padding:34px 38px 24px}
.tei-msl-step.is-active{display:block}
.tei-msl-step__intro{max-width:780px;margin-bottom:26px}
.tei-msl-step__intro>span{font-size:12px;color:var(--tei-msl-blue);font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.tei-msl-step__intro h3{margin:7px 0 8px;font-size:27px;line-height:1.15;color:var(--tei-msl-navy)}
.tei-msl-step__intro p{margin:0;color:var(--tei-msl-muted);line-height:1.6}

.tei-msl-options{display:grid;gap:14px}
.tei-msl-options--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tei-msl-options--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tei-msl-options--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tei-msl-option{position:relative;display:block;cursor:pointer}
.tei-msl-option input{position:absolute;opacity:0;pointer-events:none}
.tei-msl-option__body{display:flex;flex-direction:column;min-height:148px;padding:20px;border:1px solid var(--tei-msl-line);border-radius:18px;background:#fff;transition:.18s ease;box-shadow:0 8px 28px rgba(22,37,78,.04)}
.tei-msl-option:hover .tei-msl-option__body{transform:translateY(-2px);border-color:#cbd5ff}
.tei-msl-option input:checked + .tei-msl-option__body{border:2px solid var(--tei-msl-blue);background:linear-gradient(180deg,#fbfcff 0%,#f2f5ff 100%);box-shadow:0 12px 30px rgba(40,68,245,.10)}
.tei-msl-option__title{font-weight:800;color:var(--tei-msl-navy);font-size:17px;margin-bottom:6px}
.tei-msl-option__desc{color:var(--tei-msl-muted);font-size:14px;line-height:1.45;flex:1}
.tei-msl-option__price{margin-top:16px;font-weight:800;color:var(--tei-msl-blue);font-size:14px}
.tei-msl-block{margin-top:26px;padding-top:24px;border-top:1px solid var(--tei-msl-line)}
.tei-msl-block h4{font-size:18px;color:var(--tei-msl-navy);margin:0 0 14px}
.tei-msl-block[hidden]{display:none!important}

.tei-msl-summary{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}
.tei-msl-summary__items{display:grid;gap:10px;align-content:start}
.tei-msl-summary-row{display:flex;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid var(--tei-msl-line);border-radius:13px;background:#fff}
.tei-msl-summary-row span{color:var(--tei-msl-muted)}
.tei-msl-summary-row strong{color:var(--tei-msl-navy);text-align:right}
.tei-msl-summary__totals{position:sticky;top:10px;align-self:start;padding:22px;border-radius:18px;background:var(--tei-msl-navy);color:#fff}
.tei-msl-summary__totals>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.tei-msl-summary__totals span{color:#dbe3ff}
.tei-msl-summary__totals strong{color:#fff}
.tei-msl-summary__monthly strong{color:#9bb0ff}
.tei-msl-summary__today{margin-top:4px;padding-top:18px!important}
.tei-msl-summary__today span{font-weight:800;color:#fff}
.tei-msl-summary__today strong{font-size:23px}
.tei-msl-summary__totals p{font-size:12px;line-height:1.5;color:#b8c4e5;margin:14px 0}
.tei-msl-submit{width:100%;min-height:50px!important;border-radius:12px!important;background:var(--tei-msl-blue)!important;font-weight:800!important}
.tei-msl-feedback{min-height:20px;margin-top:10px;font-size:13px;color:#fff}
.tei-msl-feedback.is-error{color:#ffd1d1}

.tei-msl-modal__footer{position:sticky;bottom:0;z-index:4;display:flex;justify-content:space-between;gap:12px;padding:18px 38px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-top:1px solid var(--tei-msl-line)}
.tei-msl-nav{min-width:120px;height:46px;padding:0 18px;border-radius:11px;border:1px solid var(--tei-msl-line);background:#fff;color:var(--tei-msl-navy);font-weight:800;cursor:pointer}
.tei-msl-next{margin-left:auto;background:var(--tei-msl-blue);border-color:var(--tei-msl-blue);color:#fff}
.tei-msl-nav:disabled{opacity:.45;cursor:not-allowed}

@media (max-width: 900px){
  .tei-msl-modal{padding:0}
  .tei-msl-modal__dialog{width:100%;height:100vh;max-height:100vh;border-radius:0}
  .tei-msl-modal__header{padding:28px 22px 20px;align-items:flex-start}
  .tei-msl-modal__header h2{font-size:27px}
  .tei-msl-base-price{min-width:auto}
  .tei-msl-base-price strong{font-size:22px}
  .tei-msl-progress{padding:12px 14px;overflow:auto;grid-template-columns:repeat(5,minmax(110px,1fr))}
  .tei-msl-step{padding:26px 20px 20px}
  .tei-msl-options--4,.tei-msl-options--3,.tei-msl-options--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tei-msl-summary{grid-template-columns:1fr}
  .tei-msl-summary__totals{position:static}
  .tei-msl-modal__footer{padding:14px 20px}
}

@media (max-width: 560px){
  .tei-msl-modal__header{display:block;padding-right:66px}
  .tei-msl-base-price{text-align:left;margin-top:14px}
  .tei-msl-options--4,.tei-msl-options--3,.tei-msl-options--2{grid-template-columns:1fr}
  .tei-msl-option__body{min-height:0}
  .tei-msl-progress button{font-size:0}
  .tei-msl-progress button span{font-size:13px}
  .tei-msl-progress{grid-template-columns:repeat(5,52px);justify-content:center}
  .tei-msl-summary-row{display:block}
  .tei-msl-summary-row strong{display:block;margin-top:4px;text-align:left}
}

/* Elementor + Woodmart compatibility */
body.tei-msl-product form.cart .single_add_to_cart_button,
body.tei-msl-product form.cart .wd-buy-now-btn,
body.tei-msl-product form.cart button[name="add-to-cart"],
body.tei-msl-product form.cart button[name="wd-add-to-cart"],
body.tei-msl-product form.cart input[name="add-to-cart"]{
  display:none!important;
}
body.tei-msl-product .tei-msl-single-fallback{
  width:100%;
  margin-top:12px;
}
body.tei-msl-product .tei-msl-single-fallback .tei-msl-open,
body.tei-msl-product form.cart .tei-msl-open--injected{
  width:100%;
  display:flex!important;
  align-items:center;
  justify-content:center;
}

/* v1.3.0 - identidade visual, ícones e resumo editável */
.tei-msl-open,
body.tei-msl-product .tei-msl-single-fallback .tei-msl-open,
body.tei-msl-product form.cart .tei-msl-open--injected{
  background:var(--tei-msl-blue)!important;
  border-color:var(--tei-msl-blue)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(40,68,245,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.tei-msl-open:hover,
body.tei-msl-product .tei-msl-single-fallback .tei-msl-open:hover,
body.tei-msl-product form.cart .tei-msl-open--injected:hover{
  background:#1f39dc!important;
  border-color:#1f39dc!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(40,68,245,.24)!important;
}

.tei-msl-option__body{
  position:relative;
  padding-top:18px;
}
.tei-msl-option__icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:14px;
  border-radius:13px;
  background:#edf1ff;
  border:1px solid #dfe5ff;
  font-size:22px;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.tei-msl-option input:checked + .tei-msl-option__body .tei-msl-option__icon{
  background:var(--tei-msl-blue);
  border-color:var(--tei-msl-blue);
  box-shadow:0 8px 18px rgba(40,68,245,.18);
}

.tei-msl-summary__items{
  gap:16px;
}
.tei-msl-summary-group{
  border:1px solid var(--tei-msl-line);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 8px 26px rgba(22,37,78,.04);
}
.tei-msl-summary-group__head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  background:var(--tei-msl-bg);
  border-bottom:1px solid var(--tei-msl-line);
  color:var(--tei-msl-navy);
}
.tei-msl-summary-group__head span{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:9px;
  background:var(--tei-msl-blue);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.tei-msl-summary-group__head strong{
  font-size:15px;
}
.tei-msl-summary-edit{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border-bottom:1px solid var(--tei-msl-line);
}
.tei-msl-summary-edit:last-child{
  border-bottom:0;
}
.tei-msl-summary-edit--toggle{
  grid-template-columns:46px minmax(0,1fr) auto;
}
.tei-msl-summary-edit.is-active{
  background:#fbfcff;
}
.tei-msl-summary-edit__icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#edf1ff;
  color:var(--tei-msl-blue);
  font-size:20px;
}
.tei-msl-summary-edit.is-active .tei-msl-summary-edit__icon{
  background:var(--tei-msl-blue);
  color:#fff;
}
.tei-msl-summary-edit__content{
  min-width:0;
}
.tei-msl-summary-edit__label{
  display:block;
  margin-bottom:5px;
  color:var(--tei-msl-navy);
  font-size:13px;
  font-weight:800;
}
.tei-msl-summary-edit__price{
  display:block;
  color:var(--tei-msl-muted);
  font-size:13px;
}
.tei-msl-summary-select{
  width:100%;
  min-height:42px;
  padding:0 36px 0 12px;
  border:1px solid #d9dfec;
  border-radius:10px;
  background:#fff;
  color:var(--tei-msl-text);
  font-weight:700;
  outline:none;
}
.tei-msl-summary-select:focus{
  border-color:var(--tei-msl-blue);
  box-shadow:0 0 0 3px rgba(40,68,245,.10);
}
.tei-msl-summary-toggle{
  min-width:88px;
  height:38px;
  padding:0 12px;
  border:1px solid #cbd4ea;
  border-radius:10px;
  background:#fff;
  color:var(--tei-msl-blue);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.tei-msl-summary-toggle.is-on{
  border-color:#ffd8d8;
  background:#fff7f7;
  color:#b42318;
}
.tei-msl-summary-toggle:hover{
  border-color:var(--tei-msl-blue);
}

.tei-msl-submit,
.tei-msl-submit.button,
.tei-msl-submit.button.alt{
  background:var(--tei-msl-blue)!important;
  border-color:var(--tei-msl-blue)!important;
  color:#fff!important;
  text-shadow:none!important;
}
.tei-msl-submit:hover,
.tei-msl-submit.button:hover,
.tei-msl-submit.button.alt:hover{
  background:#1f39dc!important;
  border-color:#1f39dc!important;
  color:#fff!important;
}

.tei-msl-nav{
  border:2px solid var(--tei-msl-blue);
  background:#fff;
  color:var(--tei-msl-blue);
  box-shadow:0 7px 18px rgba(40,68,245,.08);
}
.tei-msl-nav:hover:not(:disabled){
  background:#edf1ff;
  border-color:var(--tei-msl-blue);
  color:var(--tei-msl-blue);
}
.tei-msl-next{
  background:var(--tei-msl-blue)!important;
  border-color:var(--tei-msl-blue)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(40,68,245,.18);
}
.tei-msl-next:hover:not(:disabled){
  background:#1f39dc!important;
  border-color:#1f39dc!important;
  color:#fff!important;
}
.tei-msl-nav:disabled{
  border-color:#d9deea;
  background:#f5f7fb;
  color:#a1a9ba;
  box-shadow:none;
}

@media (max-width:560px){
  .tei-msl-summary-edit,
  .tei-msl-summary-edit--toggle{
    grid-template-columns:40px minmax(0,1fr);
  }
  .tei-msl-summary-edit--toggle .tei-msl-summary-toggle{
    grid-column:2;
    width:100%;
    margin-top:4px;
  }
  .tei-msl-summary-edit__icon{
    width:38px;
    height:38px;
  }
}

/* v1.3.1 - detalhamento do pacote de páginas */
.tei-msl-option--pages .tei-msl-option__body{
  min-height:0;
}
.tei-msl-pages-included{
  display:block;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--tei-msl-line);
}
.tei-msl-pages-included>strong{
  display:block;
  margin-bottom:9px;
  color:var(--tei-msl-navy);
  font-size:13px;
}
.tei-msl-pages-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 14px;
}
.tei-msl-pages-grid__item{
  color:var(--tei-msl-muted);
  font-size:13px;
  line-height:1.35;
}
.tei-msl-summary-pages{
  margin-top:8px;
  width:100%;
}
.tei-msl-summary-pages summary{
  cursor:pointer;
  color:var(--tei-msl-blue);
  font-size:12px;
  font-weight:700;
}
.tei-msl-summary-pages ul{
  margin:8px 0 0 18px;
  padding:0;
  color:var(--tei-msl-muted);
  font-size:12px;
  line-height:1.45;
}
.tei-msl-summary-pages li{margin:3px 0;}
@media (max-width:767px){
  .tei-msl-pages-grid{grid-template-columns:1fr;}
}
