/* 画面全体の半透明オーバーレイ */
.wpcf7.is-sending::before {
    content: "";
    position: fixed; inset: 0;
    background: rgba(0,0,0,.35);
    z-index: 9998;
  }
  
  /* 中央スピナー */
  .wpcf7.is-sending::after {
    content: "";
    position: fixed; inset: 50%;
    width: 48px; height: 48px; margin: -24px 0 0 -24px;
    border: 4px solid #fff; border-top-color: transparent;
    border-radius: 50%;
    animation: cf7spin .8s linear infinite;
    z-index: 9999;
  }
  
  @keyframes cf7spin { to { transform: rotate(360deg); } }
  
  /* 二重送信防止：送信中はボタン無効化 */
  .wpcf7.is-sending input[type="submit"],
  .wpcf7.is-sending button[type="submit"] {
    opacity: .6;
    pointer-events: none;
  }
  
  /* 送信中メッセージ */
  .cf7-sending-message {
    display: block;
    margin-top: 10px;
    padding: 10px;
    border-radius: 4px;
    font-size: 14px;
    text-align: center;
  }