/* ===========================
   Legal Modal Popup Styles
   Version: 1.0
   =========================== */

.cp-legal-modal{
  position:fixed;
  top:0;right:0;bottom:0;left:0;
  background:rgba(0,0,0,.45);
  z-index:999999;
  display:none;
}
.cp-legal-modal.open{display:block;}

.cp-legal-dialog{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:min(980px, 94%);
  height:85%;
  max-height:calc(100vh - 40px);
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.25);
}

.cp-legal-header{
  height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 12px;
  background:#f4f4f4;
  border-bottom:1px solid rgba(0,0,0,.08);
}

/* Mobile optimization per legal modal */
@media all and (max-width: 768px) {
  .cp-legal-dialog{
    width:96%;
    height:90%;
    max-height:calc(100vh - 20px);
    border-radius:8px;
  }
  .cp-legal-header{
    height:40px;
    padding:0 10px;
  }
  .cp-legal-title{
    font-size:12px;
  }
  .cp-legal-close{
    width:32px;
    height:32px;
  }
}

@media all and (max-width: 480px) {
  .cp-legal-dialog{
    width:100%;
    height:100%;
    max-height:100vh;
    border-radius:0;
    top:0;
    left:0;
    transform:none;
  }
  .cp-legal-header{
    height:48px;
  }
}

.cp-legal-title{
  font-size:13px;
  font-weight:600;
  color:#333;
}

.cp-legal-close{
  all:unset;
  cursor:pointer;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
}
.cp-legal-close:hover{background:rgba(0,0,0,.06);}
.cp-legal-close:before,
.cp-legal-close:after{
  content:'';
  position:absolute;
  width:2px;
  height:16px;
  background:#333;
  transform:rotate(45deg);
}
.cp-legal-close:after{transform:rotate(-45deg);}

.cp-legal-body{
  height:calc(100% - 44px);
}
.cp-legal-body iframe{
  width:100%;
  height:100%;
  border:0;
}
