/* ── OTO Modal ─────────────────────────────────────────── */
#oto-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;transition:opacity .35s ease}
#oto-modal.oto-visible{opacity:1}
.oto-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}
.oto-box{position:relative;background:#fff;border-radius:14px;width:100%;max-width:780px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 25px 80px rgba(0,0,0,.3);transform:translateY(20px);transition:transform .35s ease;animation:otoSlide .35s ease forwards}
#oto-modal.oto-visible .oto-box{transform:translateY(0)}
@keyframes otoSlide{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.oto-body::-webkit-scrollbar{width:4px}.oto-body::-webkit-scrollbar-thumb{background:#f0d0d0}

.oto-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:2px solid #ddd;background:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#999;cursor:pointer;z-index:10;transition:border-color .2s,color .2s;line-height:1}
.oto-close:hover{border-color:#c4859a;color:#c4859a}

.oto-title{font-size:1.35rem;font-weight:800;line-height:1.3;padding:1.75rem 2.5rem .35rem;text-align:left;font-family:'Barlow',sans-serif}
.oto-subtitle{font-size:.88rem;color:#777;text-align:center;padding:.2rem 2rem .5rem;font-style:italic}

.oto-timer-bar{background:#fce8e8;padding:.7rem 2rem;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;font-weight:600;color:#555}
.oto-timer-val{color:#c4859a;font-weight:800;font-size:1.05rem;min-width:50px}

.oto-body{display:grid;grid-template-columns:1fr 1.1fr;gap:1.5rem;padding:1.5rem 2rem 1rem;align-items:start;overflow-y:auto;flex:1}
.oto-img-col{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.oto-stars{color:#e8a838;font-size:1rem;letter-spacing:2px}
.oto-img-col img{width:100%;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.1)}

.oto-info-col{display:flex;flex-direction:column;gap:.6rem}
.oto-prod-name{font-size:1.1rem;font-weight:800}
.oto-prod-desc{font-size:.85rem;color:#444;line-height:1.6}
.oto-features{list-style:none;padding:0;display:flex;flex-direction:column;gap:.35rem}
.oto-features li{font-size:.85rem;color:#444;line-height:1.5}

.oto-footer{background:#fff;padding:1rem 2rem;border-top:1px solid #f0d0d0;border-radius:0 0 14px 14px;flex-shrink:0;box-shadow:0 -4px 15px rgba(0,0,0,.03)}
.oto-pricing-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
.oto-pricing{display:flex;align-items:baseline;gap:.5rem}
.oto-orig{font-size:.9rem;text-decoration:line-through;color:#bbb}
.oto-sale{font-size:1.4rem;font-weight:800;color:#1c1c1c}
.oto-savings{font-size:.8rem;color:#c4859a;font-weight:700;background:#fce8e8;padding:.2rem .5rem;border-radius:4px}

.oto-btn-accept{display:block;width:100%;margin:0 0 .5rem;padding:1.05rem;background:#c4859a;color:#fff;font-size:.95rem;font-weight:700;letter-spacing:.05em;border:none;border-radius:6px;cursor:pointer;transition:background .2s;font-family:'Barlow',sans-serif}
.oto-btn-accept:hover{background:#b0728a}
.oto-btn-decline{display:block;width:100%;margin:0;padding:.85rem;background:#fff;color:#888;font-size:.875rem;font-weight:500;border:1px solid #ddd;border-radius:6px;cursor:pointer;transition:all .2s;font-family:'Barlow',sans-serif}
.oto-btn-decline:hover{border-color:#c4859a;color:#c4859a}

@media(max-width:600px){
  #oto-modal{align-items:flex-end;padding:0}
  .oto-box{border-radius:16px 16px 0 0;max-height:88vh;animation:none;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1)}
  #oto-modal.oto-visible .oto-box{transform:translateY(0)}
  .oto-body{grid-template-columns:1fr;padding:1.25rem 1rem .75rem}
  .oto-title{font-size:1.15rem;padding:1.5rem 1rem .3rem}
  .oto-subtitle,.oto-timer-bar{padding-left:1rem;padding-right:1rem}
  .oto-footer{padding:1rem 1rem 1.5rem;border-radius:0}
}
