/* Simulador de Parcelas PRO — Frontend  VV*/
:root{
  --spp-accent: #24783a;
  --spp-pix: #15803d;
  --spp-ink: #0f172a;
  --spp-muted: #64748b;
  --spp-border: #e2e8f0;
  --spp-bg: #ffffff;
  --spp-soft: #f8fafc;
  --spp-shadow: 0 20px 60px -20px rgba(15,23,42,.25);
}

.spp-wrap{display:flex;flex-direction:column;gap:0px;font-family:inherit;color:var(--spp-ink);line-height:1.4;}
.spp-wrap .spp-price{margin:0;font-weight:700;color:var(--spp-ink);font-size:1.4em;}
.spp-wrap--loop{gap:2px;}

.spp-installments-line{font-size:.92em;color:var(--spp-ink);}
.spp-installments-line strong{font-weight:700;color:var(--spp-ink);}

.spp-pix-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.spp-pix-line__price{font-size:1.7em;font-weight:800;color:var(--spp-pix);}
.spp-pix-line__label{font-size:.95em;color:var(--spp-ink);font-weight:600;}
.spp-or-line{font-size:.95em;color:var(--spp-ink);}
.spp-or-line strong{font-weight:700;}
.spp-price--product{font-size:1.7em;}

.spp-modal-trigger{
  align-self:flex-start;margin-top:6px;
  background:none;border:0;padding:0;
  font:inherit;font-size:.92em;font-weight:700;
  color: black !important;cursor:pointer;
  text-transform:uppercase;letter-spacing:.04em;
  transition:opacity .15s;
}
.spp-modal-trigger:hover{opacity:.75;text-decoration:underline;}

/* MODAL */
.spp-modal[hidden]{display:none!important;}
.spp-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;}
.spp-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(4px);animation:spp-fade .2s ease;}
.spp-modal__panel{position:relative;background:var(--spp-bg);border-radius:18px;width:100%;max-width:520px;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--spp-shadow);animation:spp-pop .25s cubic-bezier(.16,1,.3,1);}
@keyframes spp-fade{from{opacity:0}to{opacity:1}}
@keyframes spp-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.spp-modal__header{display:flex;justify-content:space-between;gap:12px;padding:22px 24px 14px;}
.spp-modal__eyebrow{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--spp-accent);font-weight:700;}
.spp-modal__title{margin:2px 0 4px;font-size:1.35rem;font-weight:700;color:var(--spp-ink);}
.spp-modal__product{margin:0;color:var(--spp-muted);font-size:.85rem;}
.spp-modal__close{background:var(--spp-soft);border:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--spp-ink);transition:background .15s;flex-shrink:0;}
.spp-modal__close:hover{background:#eef2f7;}

.spp-modal__tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--spp-border);}
.spp-tab {background-color: white !important; border:0;padding:10px 14px;font:inherit;font-size:.9rem;font-weight:600; color: black !important;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;
  transition:color .15s; border-radius: 0px !important;}
.spp-tab.is-active{color:var(--spp-accent);border-color:var(--spp-accent);}
.spp-tab[hidden]{display:none;}

.spp-modal__body{padding:18px 24px;overflow-y:auto;flex:1;}
.spp-pane{display:none;}
.spp-pane.is-active{display:block;animation:spp-fade .2s ease;}
.spp-pane__head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.spp-pane__head h3{margin:0;font-size:1rem;font-weight:700;color:var(--spp-ink);}
.spp-pane__head p{margin:2px 0 0;color:var(--spp-muted);font-size:.85rem;}
.spp-pane__icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#fff;}
.spp-pane__icon--card{background:var(--spp-accent);}
.spp-pane__icon--pix{background:var(--spp-pix);}
.spp-pane__icon--boleto{background:#0f172a;}

.spp-installments-list{list-style:none;margin:0;padding:0;border:1px solid var(--spp-border);border-radius:12px;overflow:hidden;}
.spp-installments-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:.92rem;border-top:1px solid var(--spp-border);}
.spp-installments-list li:first-child{border-top:0;}
.spp-inst__left{display:flex;flex-direction:column;}
.spp-inst__n{font-weight:700;color:var(--spp-ink);}
.spp-inst__total{font-size:.75rem;color:var(--spp-muted);margin-top:2px;}
.spp-inst__right{font-weight:700;color:var(--spp-ink);text-align:right;}
.spp-inst__tag{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:999px;margin-left:6px;background:#dcfce7;color:#15803d;}

.spp-highlight{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px;border-radius:14px;background:var(--spp-soft);border:1px solid var(--spp-border);}
.spp-highlight__label{display:block;font-size:.75rem;color:var(--spp-muted);text-transform:uppercase;letter-spacing:.08em;}
.spp-highlight__price{display:block;font-size:1.6rem;font-weight:700;color:var(--spp-ink);margin-top:4px;}
.spp-badge{background:#dcfce7;color:#15803d;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:700;}
.spp-badge[hidden]{display:none;}

.spp-perks{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:6px;}
.spp-perks li{position:relative;padding-left:22px;font-size:.85rem;color:var(--spp-ink);}
.spp-perks li:before{content:"";position:absolute;left:0;top:6px;width:14px;height:14px;border-radius:50%;background:var(--spp-accent);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/12px no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/12px no-repeat;}

.spp-modal__footer{padding:14px 24px;border-top:1px solid var(--spp-border);color:var(--spp-muted);font-size:.75rem;background:var(--spp-soft);}

@media (max-width:480px){
  .spp-modal{padding:0;align-items:flex-end;}
  .spp-modal__panel{max-width:100%;max-height:90vh;border-radius:18px 18px 0 0;}
}

body.spp-modal-open{overflow:hidden;}

/* ===== Theme overrides (v1.1.2) ===== */
/* Theme often turns .price into flex-column with huge font and per-word wrapping. Reset it for our wrap. */
.price .spp-wrap,
.woocommerce ul.products li.product .price .spp-wrap,
.woocommerce-page ul.products li.product .price .spp-wrap{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  text-align:left !important;
  font-size:14px !important;
  font-weight:400 !important;
  line-height:1.4 !important;
  color:var(--spp-ink) !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.spp-wrap, .spp-wrap *{
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
/* Force inline so words don't break into columns */
.spp-wrap .spp-installments-line,
.spp-wrap .spp-or-line,
.spp-wrap .spp-pix-line{
  display:block !important;
  text-align:left !important;
}
.spp-wrap .spp-pix-line{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:baseline !important;}
/* Neutralize theme styles on price amounts inside our wrap */
.spp-wrap .woocommerce-Price-amount,
.spp-wrap .price,
.spp-wrap .price .woocommerce-Price-amount,
.spp-wrap bdi{
  font-size:inherit !important;
  font-weight:inherit !important;
  color:inherit !important;
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  line-height:inherit !important;
}
/* Loop: tight, single-line where possible */
.spp-wrap--loop{font-size:13px !important;gap:2px !important;}
.spp-wrap--loop .spp-price .woocommerce-Price-amount{
  font-size: 1rem !important;
  font-weight:700 !important;
  color:var(--spp-ink) !important;
}
.spp-wrap--loop .spp-installments-line{font-size:.92em !important;color:var(--spp-muted) !important;}
.spp-wrap--loop .spp-installments-line strong{color:var(--spp-ink) !important;font-weight:700 !important;}

/* Product page bold values */
.spp-wrap--product .spp-pix-line__price{
  font-size:1.7em !important;
  font-weight:800 !important;
  color:var(--spp-pix) !important;
}
.spp-wrap--product .spp-pix-line__price .woocommerce-Price-amount{
  color:var(--spp-pix) !important;
  font-weight:800 !important;
}
.spp-wrap--product .spp-or-line strong .woocommerce-Price-amount{
  font-weight:700 !important;
  color:var(--spp-ink) !important;
}
.spp-wrap--product .spp-installments-line strong .woocommerce-Price-amount{
  font-weight:700 !important;
  color:var(--spp-ink) !important;
}

button:focus,
button:active {
  background: transparent !important;
}
