/* ==========================================================
   個人情報取り扱い同意機能 共通CSS
   対象：dashboard_agreement.blade.php / course_entry.blade.php / agreement.blade.php
   ========================================================== */

/* ---------- 同意ダイアログ本体（<dialog>要素） ---------- */
.privacy-dialog {
    border: none;
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
    padding: 24px;
    max-width: 500px;
    width: 90%;
}
.privacy-dialog::backdrop {
    background: rgba(0, 0, 0, 0.6);
}
.privacy-dialog h2 {
    margin-top: 0;
    font-size: 20px;
    border-bottom: 2px solid #eee;
    padding-bottom: 10px;
}

/* ---------- 見出しと導入文の間隔（PC・タブレット幅のみ） ---------- */
@media screen and (min-width: 581px) {
    .w80Start.contentsNaka .schoolH2 {
        margin-bottom: 30px;
    }
}

/* ---------- 規約本文スクロールエリア ---------- */
.privacy-agreement-body {
    height: 250px;
    overflow-y: scroll;
    background: #f9f9f9;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 15px;
}
.privacy-scroll-notice {
    font-size: 13px;
    color: #e63946;
    font-weight: bold;
    margin-bottom: 15px;
    text-align: center;
}

/* ---------- 同意チェックボックス ---------- */
.privacy-checkbox-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
    font-size: 15px;
}
.privacy-checkbox-container input:disabled + label {
    color: #aaa;
    cursor: not-allowed;
}

/* ---------- ボタン ---------- */
.privacy-dialog-actions {
    display: flex;
    gap: 10px;
}
.privacy-dialog-btn {
    flex: 1;
    padding: 12px;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.privacy-btn-cancel {
    text-align:center;
    background-color: #e0e0e0;
    color: #333;
}
.privacy-btn-cancel:hover:not(:disabled) {
    background-color: #cfcfcf;
}
/* 無効時：薄く沈ませて「押せない」ことを明示 */
.privacy-btn-cancel:disabled {
    background-color: #f2f2f2;
    color: #bbb;
    opacity: 0.5;
    cursor: not-allowed;
}
.privacy-btn-confirm {
    background-color: #f26464;
    color: #fff;
}
/* 有効時：影で浮き上がらせ、有効になった瞬間に軽く拡大して目立たせる */
.privacy-btn-confirm:not(:disabled) {
    box-shadow: 0 3px 10px rgba(242, 100, 100, 0.6);
    animation: privacyBtnActivate 0.45s ease;
}
.privacy-btn-confirm:hover:not(:disabled) {
    background-color: #e04b4b;
}
/* 無効時：赤みを消したグレーで「まだ押せない」ことを明示 */
.privacy-btn-confirm:disabled {
    background-color: #d9d9d9;
    color: #9a9a9a;
    cursor: not-allowed;
}
@keyframes privacyBtnActivate {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.06); }
    100% { transform: scale(1); }
}

.privacy-agreement-body .privacy-lead {
  margin: 0 0 20px;
}

.privacy-agreement-body .privacy-section {
  margin: 0 0 20px;
}

.privacy-agreement-body .privacy-heading {
  font-size: 15px;
  font-weight: bold;
  margin: 0 0 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid #999;
}

.privacy-agreement-body .privacy-text {
  margin: 0;
}

.privacy-agreement-body .privacy-list {
  margin: 0;
  padding-left: 1.4em;
}

.privacy-agreement-body .privacy-list li {
  margin-bottom: 6px;
}

.privacy-agreement-body .privacy-list li:last-child {
  margin-bottom: 0;
}

.privacy-agreement-body .privacy-contact {
  margin: 0;
  padding: 12px 16px;
  border: 1px solid #ccc;
}