body.product-open { overflow:hidden; }
.simulate-card-button { width:100%; margin-top:12px; padding:14px 10px; border:1px solid #b9d2f3; border-radius:30px; background:#edf4fc; color:#245b91; font-family:inherit; font-size:.9rem; font-weight:600; cursor:pointer; display:flex; justify-content:center; align-items:center; gap:8px; }
.simulate-card-button:hover { background:#d6e4fa; }
.sim-back { display:block; border:0; background:none; color:#52728f; padding:0 0 20px; font-size:.85rem; cursor:pointer; }
.is-simulating .product-summary { display:grid; grid-template-columns:76px 1fr; column-gap:16px; text-align:left; align-items:center; padding:6px 0 22px; border-bottom:1px solid #e9edf2; }
.is-simulating .product-summary .product-photo { grid-row:1 / 3; width:76px; height:84px; margin:0; padding:8px; border-radius:14px; }
.is-simulating .product-summary .product-photo img { width:100%; height:100%; object-fit:contain; }
.is-simulating .product-summary h2 { font-size:1.1rem; line-height:1.35; margin:0 0 6px; padding-right:4px; }
.is-simulating .product-summary .price-large { margin:0; font-size:1.2rem; }
.is-simulating .product-actions, .is-simulating #simulateCardButton { display:none; }
.card-simulation { text-align:left; padding-top:22px; }
.card-simulation h3 { margin:0 0 4px; font-size:1.2rem; }
.sim-intro { color:#737b85; font-size:.88rem; margin:0 0 22px; }
.sim-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sim-fields label { display:flex; flex-direction:column; gap:8px; font-size:.8rem; font-weight:600; }
.sim-fields label > span { color:#78818b; font-weight:400; }
.sim-money-input { display:flex; align-items:center; gap:8px; border:1px solid #d6dfe9; border-radius:12px; padding:0 12px; background:#fafbfd; }
.sim-money-input span { font-size:.9rem; color:#78818b; }
.sim-money-input input { min-width:0; width:100%; padding:14px 0; background:none; border:0; font:inherit; font-size:1rem; outline:0; }
.sim-money-input:focus-within { outline:2px solid #8ab9e8; }
.sim-fields select { width:100%; min-width:0; border:1px solid #d6dfe9; border-radius:12px; padding:14px 8px; background:#fafbfd; color:#1d1d1f; font-size:1rem; }
.sim-result { margin-top:22px; padding:20px; border:1px solid #d6e4fa; border-radius:18px; background:linear-gradient(135deg,#f1f7ff,#fafcfe); }
.sim-result-label { display:block; font-size:.78rem; color:#60788e; margin-bottom:6px; }
.sim-result > strong { display:block; font-size:clamp(1.25rem,5vw,1.8rem); color:#1469b8; line-height:1.3; }
.sim-result dl { margin:18px 0 0; }
.sim-result dl > div { display:flex; justify-content:space-between; gap:12px; margin-top:9px; font-size:.82rem; }
.sim-result dt { color:#627080; }
.sim-result dd { margin:0; font-weight:600; text-align:right; }
.sim-error { color:#bd2336; font-size:.82rem; margin:12px 0 0; }
.sim-footnote { color:#7b838d; font-size:.73rem; line-height:1.5; margin:14px 0 20px; }
.sim-whatsapp { display:flex; justify-content:center; align-items:center; gap:8px; padding:14px 12px; border-radius:30px; background:#20c763; color:white; text-decoration:none; font-size:.88rem; font-weight:600; }
.card-rate-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0; }
.card-rate-grid label { display:flex; flex-direction:column; gap:5px; font-size:.8rem; }
.card-rate-grid input { width:100%; min-width:0; padding:10px; border:1px solid #d6dfe9; border-radius:8px; }
#cardRateMode { display:block; width:100%; padding:12px; border:1px solid #d6dfe9; border-radius:8px; margin-top:8px; }
@media(max-width:520px) { .modal-content-product { width:96%; padding:28px 18px 20px; border-radius:22px; } .card-rate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:350px) { .sim-fields { grid-template-columns:1fr; } }
