/* ============================================================
   通用 AJAX 弹窗组件样式 (PbootCMS 御度园林)
   类名前缀: pb-modal-   (避免与站点样式冲突)
   ============================================================ */
.pb-modal-mask{
  display:none; position:fixed; top:0; left:0; right:0; bottom:0;
  z-index:9999; background:rgba(0,0,0,.55);
  -webkit-animation:pb-fadeIn .25s ease; animation:pb-fadeIn .25s ease;
}
.pb-modal{
  display:none; position:fixed; top:50%; left:50%; z-index:10000;
  width:680px; max-width:94%; max-height:86%;
  -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%);
  background:#fff; border-radius:8px; overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,.35);
  -webkit-animation:pb-popIn .25s ease; animation:pb-popIn .25s ease;
}
.pb-modal-hd{
  display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center;
  -webkit-justify-content:space-between; justify-content:space-between;
  padding:0 20px; height:52px; background:#118c3c; color:#fff;
}
.pb-modal-title{ margin:0; font-size:18px; font-weight:normal; color:#fff; line-height:52px; }
.pb-modal-close{
  display:block; width:30px; height:30px; line-height:28px; text-align:center;
  border:1px solid rgba(255,255,255,.6); border-radius:50%; color:#fff; font-size:18px; cursor:pointer;
  text-decoration:none; background:transparent; -webkit-transition:all .2s; transition:all .2s;
}
.pb-modal-close:hover{ background:rgba(255,255,255,.2); color:#fff; text-decoration:none; }
.pb-modal-bd{
  padding:22px 24px; overflow:auto; max-height:calc(86vh - 52px);
  color:#333; line-height:1.8; font-size:14px;
}
.pb-modal-bd img{ max-width:100%; height:auto; }
.pb-modal-bd p{ margin:0 0 10px; }
.pb-loading{ text-align:center; color:#999; padding:40px 0; }
.pb-loading::before{
  content:""; display:inline-block; width:26px; height:26px; margin-right:8px; vertical-align:-6px;
  border:3px solid #cde6d5; border-top-color:#118c3c; border-radius:50%;
  -webkit-animation:pb-spin .8s linear infinite; animation:pb-spin .8s linear infinite;
}

/* 弹窗内留言表单样式 */
.pb-modal-bd .pb-msgform{ width:100%; }
.pb-modal-bd .pb-msgform .pb-field{ margin-bottom:14px; }
.pb-modal-bd .pb-msgform label{ display:block; margin-bottom:4px; color:#333; font-size:14px; }
.pb-modal-bd .pb-msgform label i{ color:#e00; font-style:normal; }
.pb-modal-bd .pb-msgform input[type=text],
.pb-modal-bd .pb-msgform textarea{
  width:100%; -webkit-box-sizing:border-box; box-sizing:border-box;
  border:1px solid #d8d8d8; border-radius:4px; padding:9px 12px; font-size:14px; color:#333;
  outline:none; background:#fff;
}
.pb-modal-bd .pb-msgform input[type=text]:focus,
.pb-modal-bd .pb-msgform textarea:focus{ border-color:#118c3c; }
.pb-modal-bd .pb-msgform textarea{ height:90px; resize:vertical; }
.pb-modal-bd .pb-msgform .pb-captcha{ display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center; gap:10px; }
.pb-modal-bd .pb-msgform .pb-captcha input{ -webkit-flex:1; flex:1; }
.pb-modal-bd .pb-msgform .pb-captcha img{ height:38px; cursor:pointer; border:1px solid #eee; }
.pb-modal-bd .pb-msgform .pb-submit{
  display:inline-block; width:100%; border:0; border-radius:4px;
  background:#118c3c; color:#fff; font-size:16px; padding:11px 0; cursor:pointer;
  -webkit-transition:background .2s; transition:background .2s;
}
.pb-modal-bd .pb-msgform .pb-submit:hover{ background:#0e7432; }

/* 动画 */
@-webkit-keyframes pb-fadeIn{ from{opacity:0} to{opacity:1} }
@keyframes pb-fadeIn{ from{opacity:0} to{opacity:1} }
@-webkit-keyframes pb-popIn{ from{opacity:0; -webkit-transform:translate(-50%,-50%) scale(.9)} to{opacity:1;-webkit-transform:translate(-50%,-50%) scale(1)} }
@keyframes pb-popIn{ from{opacity:0; transform:translate(-50%,-50%) scale(.9)} to{opacity:1;transform:translate(-50%,-50%) scale(1)} }
@-webkit-keyframes pb-spin{ to{-webkit-transform:rotate(360deg)} }
@keyframes pb-spin{ to{transform:rotate(360deg)} }

/* 移动端适配 */
@media (max-width: 768px){
  .pb-modal{ width:94%; border-radius:6px; }
  .pb-modal-hd{ height:46px; padding:0 14px; }
  .pb-modal-title{ font-size:16px; line-height:46px; }
  .pb-modal-bd{ padding:16px; max-height:calc(86vh - 46px); }
}
