/* ラビサル: EM7の予約フォームを旧デザイン(EM5時代)に寄せる互換CSS */

/* セクションの枠・背景・余白をリセット */
body .em form.em-booking-form .em-booking-section, body form.em-booking-form .em-booking-section{background:none!important;border:none!important;padding:0!important;box-shadow:none!important;border-radius:0!important}
body .em form.em-booking-form section, body form.em-booking-form section{margin:0!important}

/* チケット表: グレー見出し帯+シンプル罫線 */
body .em form.em-booking-form table.em-tickets, body form.em-booking-form table.em-tickets{width:100%!important;border-collapse:collapse!important;margin:0 0 20px!important;background:#fff!important}
body .em form.em-booking-form table.em-tickets thead th, body form.em-booking-form table.em-tickets thead th{background:#f2f2f2!important;padding:14px 8px!important;font-weight:700!important;text-align:center!important;border:none!important;font-size:15px!important;color:#333!important}
body .em form.em-booking-form table.em-tickets tbody td, body form.em-booking-form table.em-tickets tbody td{padding:14px 10px!important;border-bottom:1px solid #e5e5e5!important;font-size:16px!important;vertical-align:middle!important}
body .em form.em-booking-form table.em-tickets td.em-bookings-ticket-table-price, body form.em-booking-form table.em-tickets td.em-bookings-ticket-table-price{text-align:center!important}
body .em form.em-booking-form table.em-tickets td.em-bookings-ticket-table-spaces, body form.em-booking-form table.em-tickets td.em-bookings-ticket-table-spaces{text-align:center!important}
body .em form.em-booking-form .em-ticket-select, body form.em-booking-form .em-ticket-select{padding:2px 8px!important;border:1px solid #999!important;border-radius:3px!important;background:#fff!important}

/* コメント行: ラベル左・入力右の旧レイアウト */
body .em form.em-booking-form .em-booking-form-details > p, body form.em-booking-form .em-booking-form-details > p{display:flex!important;align-items:flex-start!important;gap:14px!important;justify-content:center!important;margin:24px 0!important}
body .em form.em-booking-form .em-booking-form-details > p > label, body form.em-booking-form .em-booking-form-details > p > label{min-width:5em!important;text-align:right!important;padding-top:8px!important;font-size:15px!important}
body .em form.em-booking-form .em-booking-form-details textarea, body form.em-booking-form .em-booking-form-details textarea{width:62%!important;min-height:96px!important;border:1px solid #8d8d8d!important;border-radius:2px!important;padding:8px!important;background:#fff!important}

/* エントリーボタン: オレンジ・中央配置 */
body .em form.em-booking-form .em-booking-buttons, body form.em-booking-form .em-booking-buttons{text-align:center!important;background:none!important;border:none!important;padding:0!important}
body .em form.em-booking-form .em-booking-form-buttons, body form.em-booking-form .em-booking-form-buttons{text-align:center!important;background:none!important;border:none!important;padding:0!important}
body .em form.em-booking-form button.em-booking-submit, body form.em-booking-form input.em-booking-submit, body form.em-booking-form button.em-booking-submit, body form.em-booking-form input.em-booking-submit{display:inline-block!important;background:#f5a623!important;background:linear-gradient(#f9b13c,#f09819)!important;border:1px solid #d98200!important;color:#fff!important;border-radius:6px!important;padding:14px 46px!important;font-size:16px!important;font-weight:700!important;line-height:1.2!important;cursor:pointer!important;box-shadow:0 2px 0 rgba(0,0,0,.08)!important;width:auto!important;letter-spacing:.1em!important}
body .em form.em-booking-form button.em-booking-submit:hover, body form.em-booking-form button.em-booking-submit:hover, body .em form.em-booking-form input.em-booking-submit:hover, body form.em-booking-form input.em-booking-submit:hover{filter:brightness(1.06)!important}

/* 代理エントリー欄: コンパクトな1〜2行レイアウト */
body .em .rabisal-proxy-fields, body .rabisal-proxy-fields{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 14px!important;border:2px dashed #d98200!important;background:#fdf3e0!important;border-radius:6px!important;padding:10px 12px!important;margin:0 0 16px!important;font-size:14px!important}
body .em .rabisal-proxy-fields .rpf-title, body .rabisal-proxy-fields .rpf-title{font-weight:700!important;white-space:nowrap!important}
body .em .rabisal-proxy-fields .rpf-badge, body .rabisal-proxy-fields .rpf-badge{font-size:11px!important;background:#f5a623!important;color:#fff!important;border-radius:8px!important;padding:1px 8px!important;margin-left:6px!important;vertical-align:middle!important;font-weight:400!important}
body .em .rabisal-proxy-fields input[name=rabisal_proxy_nickname], body .rabisal-proxy-fields input[name=rabisal_proxy_nickname]{width:180px!important;padding:6px 8px!important;border:1px solid #8d8d8d!important;border-radius:3px!important;background:#fff!important}
body .em .rabisal-proxy-fields .rpf-group, body .rabisal-proxy-fields .rpf-group{white-space:nowrap!important;display:inline-flex!important;align-items:center!important;gap:4px!important}
body .em .rabisal-proxy-fields .rpf-group b, body .rabisal-proxy-fields .rpf-group b{font-weight:400!important;color:#8a6100!important;margin-right:2px!important}
body .em .rabisal-proxy-fields label, body .rabisal-proxy-fields label{white-space:nowrap!important;cursor:pointer!important}
@media screen and (max-width:600px){
body .em .rabisal-proxy-fields input[name=rabisal_proxy_nickname], body .rabisal-proxy-fields input[name=rabisal_proxy_nickname]{width:100%!important}
body .em form.em-booking-form .em-booking-form-details textarea, body form.em-booking-form .em-booking-form-details textarea{width:100%!important}
body .em form.em-booking-form .em-booking-form-details > p, body form.em-booking-form .em-booking-form-details > p{flex-direction:column!important;gap:6px!important}
body .em form.em-booking-form .em-booking-form-details > p > label, body form.em-booking-form .em-booking-form-details > p > label{text-align:left!important;padding-top:0!important}
}

/* 文字色が他の!importantに負けるため最高詳細度で上書き */
html body .em form.em-booking-form input.em-booking-submit, html body form.em-booking-form input.em-booking-submit, html body .em form.em-booking-form button.em-booking-submit, html body form.em-booking-form button.em-booking-submit{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* 旧EM CSSのlabel float/width指定が代理欄に波及するのを打ち消す */
body .em .rabisal-proxy-fields label, body .rabisal-proxy-fields label{float:none!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;display:inline-flex!important;align-items:center!important;gap:3px!important;text-align:left!important;line-height:1.4!important}
body .em .rabisal-proxy-fields input[type=radio], body .rabisal-proxy-fields input[type=radio]{float:none!important;position:static!important;margin:0 3px 0 0!important;width:auto!important;height:auto!important}

/* マイページの問い合わせフォーム(CF7 6.x)を旧レイアウトに戻す */
body table.inquiry th, body table.inquiry td{vertical-align:middle!important}
body table.inquiry th p, body table.inquiry td p{margin:0!important;padding:0!important;line-height:1.5!important}
body table.inquiry td br{display:none!important}
body table.inquiry td .wpcf7-form-control-wrap{display:block!important;margin:0!important}
body table.inquiry td input[type=text], body table.inquiry td input[type=email]{width:100%!important;box-sizing:border-box!important;margin:0!important}
body table.inquiry td textarea{width:100%!important;box-sizing:border-box!important;margin:0!important;vertical-align:top!important}

/* th列の幅を確保（width:100%入力欄による列圧縮を防ぐ） */
body table.inquiry{table-layout:fixed!important;width:100%!important}
body table.inquiry th{width:34%!important;white-space:nowrap!important}

/* 代理エントリー欄: 2段構成（1段目=タイトル+名前入力、2段目=性別+コース横並び） */
body .em .rabisal-proxy-fields, body .rabisal-proxy-fields{display:block!important}
body .rabisal-proxy-fields .rpf-row{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 18px!important}
body .rabisal-proxy-fields .rpf-row + .rpf-row{margin-top:10px!important}

/* 性別・コースのラベルをバッジ化(黒背景・白抜き)し、グループ間の余白を拡大 */
body .rabisal-proxy-fields .rpf-row{gap:8px 40px!important}
body .em .rabisal-proxy-fields .rpf-group b, body .rabisal-proxy-fields .rpf-group b{background:#000!important;color:#fff!important;border-radius:8px!important;padding:1px 10px!important;font-size:11px!important;font-weight:400!important;margin-right:6px!important;line-height:1.8!important}

/* 人数変更UI（マイページ） */
body .rabisal-spaces-form{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important}
body .rabisal-spaces-form select{padding:2px 6px!important;border:1px solid #999!important;border-radius:3px!important;background:#fff!important;width:auto!important}
body .rabisal-spaces-btn{background:#0F6E56!important;color:#fff!important;border:none!important;border-radius:4px!important;padding:4px 12px!important;font-size:12px!important;cursor:pointer!important;line-height:1.6!important}
body .rabisal-spaces-btn:hover{filter:brightness(1.1)!important}
body .rabisal-change-notice{padding:10px 14px!important;border-radius:6px!important;margin:0 0 14px!important;font-size:14px!important}
body .rabisal-change-notice.ok{background:#E1F5EE!important;color:#085041!important;border:1px solid #5DCAA5!important}
body .rabisal-change-notice.ng{background:#FCEBEB!important;color:#791F1F!important;border:1px solid #F09595!important}

/* EM7のイベント一覧ラッパー(em-view-container等)の余白を除去(旧レイアウト維持) */
body div.em-view-container, body div.em-events-list, body .em.em-list{margin:0!important;padding:0!important;background:none!important;border:none!important}

/* EM7がフォーマット内の改行から生成する空段落を除去（一覧・詳細共通） */
body .em-view-container p:empty, body .em-events-list p:empty, body .em p:empty{display:none!important;margin:0!important;padding:0!important}

/* 運営（管理者・編集者）向け: 参加者名の下に表示するエントリー時の備考（v1.6.0） */
.attendee-box-list .rabisal-booking-note{display:block;width:fit-content;max-width:100%;font-size:12px;line-height:1.45;color:#6b6355;margin:2px 0 6px;padding:2px 8px;background:#fdf6dc;border-radius:4px;font-weight:400}

/* =========================================================
 * 未ログイン時のログインフォームを旧デザインに合わせる（v1.7.1）
 * 旧EM5.9.2: チケット表 → div.em-booking-login(枠) の順。
 * EM7は .em-login(素のフォーム) → チケット表 の順のため、順序と装飾を復元する。
 * ========================================================= */
/* 表示順の入れ替え（チケット表を先に） */
.em-event-booking-form{display:flex;flex-direction:column}
.em-event-booking-form > .em-login{order:2}
/* 英語の案内行「Do you already have an account with us? Sign In」を非表示 */
.em-login .em-login-trigger{display:none!important}
/* 旧 div.em-booking-login の枠デザイン（太いグレー枠・中央寄せ） */
.em-login .em-login-content{display:block!important;margin:3%;border:13px solid #f5f5f5;padding:30px 0;text-align:center}
@media (max-width:767px){.em-login .em-login-content{margin:0!important}}
.em-login .em-login-content p{margin:10px 0!important;padding:0!important}
.em-login .em-login-form label{display:inline-block;width:40%;margin-left:-10px}
.em-login .em-login-form .input{width:35%;margin:0}
/* ログインボタン（旧 #em_wp-submit のオレンジボタン） */
.em-login .em-login-submit{display:block;width:130px;height:40px;line-height:40px;padding:0;color:#fff;text-align:center;background:#f39800;border:none;border-radius:5px;-webkit-transition:all .5s;transition:all .5s;margin:25px auto 10px;cursor:pointer}
.em-login .em-login-submit:hover{background:#f9c500}
/* 旧デザインに無いキャンセルボタンは非表示 */
.em-login .em-login-cancel{display:none!important}
.em-login .em-login-meta{text-align:center}
.em-login .em-login-links{margin-top:6px}

/* 「既にエントリー済み」ボックス: 旧カスタムCSSのmargin-top:-20pxが
   EM7構造では見出し「■エントリーする：」に被るため、EM7ラッパー内のみ無効化 */
.em-event-booking-form .entried{margin:0 0 10px!important}

/* 見出し「■エントリーする：」の旧カスタムCSS(margin-bottom:-30px)がEM7構造では
   直下の要素(エントリー済みボックス等)に食い込むため、EM7ページのみ無効化 */
.em-view-container .event-ttl-entry{margin-bottom:0!important}

/* マイページ「エントリー状況」の見出し行をチケット表と同じ薄グレーに */
#dbem-bookings-table thead th{background:#f2f2f2!important;padding:10px 8px!important;font-weight:700!important;color:#333!important}

/* ログインボックス内の会員登録への動線
   （em-login-content p{margin:10px 0;padding:0}!importantに勝つよう詳細度を上げ、
     破線と枠下端の間で上下センターに見えるよう余白を配分。文字サイズは上の案内文と同じ） */
.em-login .em-login-content p.rabisal-signup-guide{margin:24px 8% 0!important;padding:40px 0 0!important;border-top:1px dashed #ccc;font-size:inherit}

/* コメント欄直下の案内文（テキストエリアと同じ幅で左揃え・詳細度でflex行ルールを回避） */
body .em form.em-booking-form .em-booking-form-details > p.rabisal-comment-note, body form.em-booking-form .em-booking-form-details > p.rabisal-comment-note{display:block!important;width:62%;margin:-34px auto 24px!important;font-size:12px;line-height:1.8;color:#555;text-align:left;justify-content:flex-start!important;padding:0!important}
@media screen and (max-width:600px){
body .em form.em-booking-form .em-booking-form-details > p.rabisal-comment-note, body form.em-booking-form .em-booking-form-details > p.rabisal-comment-note{width:100%}
}

/* パスワード再設定ページ: グレー枠と中身の余白を確保 */
.rabisal-pwdreset #wpmem_login form{padding:28px 32px!important;box-sizing:border-box}
.rabisal-pwdreset #wpmem_login legend{margin-bottom:14px}
.rabisal-pwdreset #wpmem_login .div_text input{box-sizing:border-box;padding:10px;border-radius:5px;width:100%}
.rabisal-pwdreset #wpmem_login .button_div{margin-top:18px;text-align:center}
@media screen and (max-width:600px){
.rabisal-pwdreset #wpmem_login form{padding:20px 16px!important}
}
