:root{--cm-red:#e1251b;--cm-red-dark:#bd1913;--cm-text:#15191f}
html.cm-budget-lock,html.cm-budget-lock body{overflow:hidden!important}
.cm-budget-launcher,.cm-budget-overlay,.cm-budget-overlay *,.cm-budget-launcher *{box-sizing:border-box}
.cm-budget-launcher,.cm-budget-overlay{font-family:Poppins,Inter,Arial,sans-serif}

/* Barra lateral: único disparador del popup */
.cm-budget-launcher{position:fixed;left:0;top:50%;z-index:2147482000;transform:translate(-115%,-50%);transition:transform .22s ease;filter:drop-shadow(6px 8px 18px rgba(0,0,0,.16))}
.cm-budget-launcher.is-visible{transform:translate(0,-50%)}
.cm-budget-launcher-open{width:54px;min-height:246px;padding:14px 0;border:0;border-radius:0 11px 11px 0;background:var(--cm-red);color:#fff;cursor:pointer}
.cm-budget-launcher-open span{display:block;writing-mode:vertical-rl;transform:rotate(180deg);margin:auto;font-size:12px;line-height:1.18;font-weight:800;letter-spacing:.1px}
.cm-budget-launcher-hide{position:absolute;top:-11px;right:-10px;z-index:2;width:24px;height:24px;padding:0;border:2px solid #fff;border-radius:50%;background:#15171b;color:#fff;font:400 17px/1 Arial,sans-serif;cursor:pointer;display:grid;place-items:center}

/* Popup centrado */
.cm-budget-overlay{position:fixed;inset:0;z-index:2147482100;display:flex;align-items:center;justify-content:center;padding:10px;background:rgba(16,20,28,.56);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.cm-budget-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}
.cm-budget-modal{position:relative;width:min(780px,calc(100vw - 24px));height:min(520px,calc(100dvh - 24px));display:grid;grid-template-columns:38% 62%;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(0,0,0,.28);border:1px solid rgba(0,0,0,.06);transform:translateY(8px) scale(.985);transition:transform .2s ease}
.cm-budget-overlay.is-open .cm-budget-modal{transform:translateY(0) scale(1)}
.cm-budget-modal-close{position:absolute;right:12px;top:10px;z-index:5;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:#111;font:300 30px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.06)}

.cm-budget-media{min-width:0;height:100%;background:#eceff2;overflow:hidden}
.cm-budget-media-device{width:100%;height:100%}
.cm-budget-media-mobile{display:none}
.cm-budget-video,.cm-budget-image{display:block;width:100%;height:100%;object-fit:cover;background:#eceff2}
.cm-budget-content{min-width:0;height:100%;padding:35px 38px 24px;overflow:hidden;background:#fff;display:flex;flex-direction:column;justify-content:center;color:var(--cm-text)}
.cm-budget-content h2{margin:8px 0 0;color:#15191f;font-size:clamp(28px,3vw,40px);line-height:1.02;letter-spacing:-1.5px;font-weight:800;max-width:510px}
.cm-budget-content h2 span{color:var(--cm-red)}
.cm-budget-subtitle{margin:8px 0 18px;color:#707781;font-size:13px;line-height:1.4}
.cm-budget-section h3{margin:0 0 9px;color:#15191f;font-size:16px;line-height:1.2;font-weight:800}
.cm-budget-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.cm-budget-amount{min-height:42px;padding:6px 4px;border:1px solid #dfe3e7;border-radius:8px;background:#fff;color:#14181d;font:700 12px/1 Poppins,Inter,Arial,sans-serif;cursor:pointer;transition:.16s ease}
.cm-budget-amount:hover{border-color:#c3c9d0;background:#fafafa}
.cm-budget-amount.is-selected{background:var(--cm-red);border-color:var(--cm-red);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.cm-budget-phone-section{margin-top:17px}
.cm-budget-phone-section h3{margin-bottom:2px}
.cm-budget-gift-title{display:flex;align-items:center;gap:8px;line-height:1.2}.cm-budget-gift-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--cm-red);flex:0 0 auto}
.cm-budget-phone-section>p{margin:0 0 8px;color:#727985;font-size:12px}
.cm-budget-phone-wrap{min-height:45px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid #d9dee4;border-radius:8px;background:#fff;color:#23272d}
.cm-budget-phone-wrap:focus-within{border-color:var(--cm-red);box-shadow:0 0 0 3px rgba(225,37,27,.09)}
.cm-budget-phone-wrap input{flex:1;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#171a1f;font:500 14px/1.2 Poppins,Inter,Arial,sans-serif}
.cm-budget-phone-wrap input::placeholder{color:#a3a9b2;opacity:1}
.cm-budget-error{min-height:14px;margin-top:4px;color:#b81712;font-size:10px}
.cm-budget-submit{width:100%;min-height:48px;margin-top:4px;border:0;border-radius:8px;background:var(--cm-red);color:#fff;font:800 14px/1 Poppins,Inter,Arial,sans-serif;cursor:pointer;transition:.15s ease}
.cm-budget-submit:hover:not(:disabled){background:var(--cm-red-dark);transform:translateY(-1px)}
.cm-budget-submit:disabled{opacity:.46;cursor:not-allowed}
.cm-budget-submit span{margin-left:8px;font-size:20px;vertical-align:-1px}
.cm-budget-dismiss{display:block;margin:8px auto 0;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:#666d77;font:500 10px/1.3 Poppins,Inter,Arial,sans-serif;cursor:pointer}
.cm-budget-privacy{margin:6px 0 0;text-align:center;color:#969ca5;font-size:8px;line-height:1.25}
.cm-budget-privacy a{color:inherit;text-decoration:underline}

@media (max-width:760px){
  .cm-budget-launcher-open{width:48px;min-height:214px}.cm-budget-launcher-open span{font-size:11px}
  .cm-budget-overlay{padding:8px}
  .cm-budget-modal{width:min(430px,calc(100vw - 16px));height:min(610px,calc(100dvh - 16px));grid-template-columns:1fr;grid-template-rows:112px 1fr;border-radius:15px}
  .cm-budget-media-desktop{display:none}.cm-budget-media-mobile{display:block}
  .cm-budget-content{padding:18px 18px 14px;justify-content:flex-start}
  .cm-budget-content h2{margin-top:6px;font-size:27px;line-height:1.02;letter-spacing:-1px;padding-right:24px}
  .cm-budget-subtitle{margin:5px 0 11px;font-size:11px}
  .cm-budget-section h3{font-size:14px;margin-bottom:6px}
  .cm-budget-amounts{gap:5px}
  .cm-budget-amount{min-height:35px;font-size:10.5px;padding:4px 2px}
  .cm-budget-phone-section{margin-top:10px}.cm-budget-phone-section>p{font-size:10px;margin-bottom:5px}
  .cm-budget-phone-wrap{min-height:38px;padding:0 10px}.cm-budget-phone-wrap input{font-size:12px}
  .cm-budget-error{min-height:11px;margin-top:2px;font-size:8.5px}
  .cm-budget-submit{min-height:40px;margin-top:2px;font-size:12px}.cm-budget-submit span{font-size:17px}
  .cm-budget-dismiss{margin-top:6px;font-size:9px}.cm-budget-privacy{margin-top:4px;font-size:7.5px}
  .cm-budget-modal-close{right:8px;top:6px;width:30px;height:30px;font-size:25px}
}

@media (max-height:620px) and (max-width:760px){
  .cm-budget-modal{height:calc(100dvh - 10px);grid-template-rows:66px 1fr}
  .cm-budget-content{padding:10px 14px 8px}
  .cm-budget-content h2{margin-top:4px;font-size:22px}.cm-budget-subtitle{font-size:9px;margin:3px 0 7px}
  .cm-budget-section h3{font-size:12px;margin-bottom:4px}.cm-budget-amount{min-height:30px;font-size:9.5px}
  .cm-budget-phone-section{margin-top:7px}.cm-budget-phone-wrap{min-height:34px}.cm-budget-submit{min-height:35px;font-size:11px}
  .cm-budget-dismiss{font-size:8px}.cm-budget-privacy{font-size:6.5px}
}
