/* Pali PDPA Consent — Pali Online white / purple theme */
:root {
  --pali-pdpa-purple:#9575cd;
  --pali-pdpa-purple-dark:#5e35b1;
  --pali-pdpa-purple-deep:#4527a0;
  --pali-pdpa-purple-pale:#f7f2ff;
  --pali-pdpa-purple-soft:#e8def8;
  --pali-pdpa-white:#ffffff;
  --pali-pdpa-text:#2f2540;
}

/* WordPress admin */
.pali-pdpa-admin { font-family:"Kanit","Prompt",sans-serif; color:var(--pali-pdpa-text); }
.pali-pdpa-admin .pali-pdpa-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin:20px 0; }
.pali-pdpa-admin .pali-pdpa-card { background:var(--pali-pdpa-white); color:var(--pali-pdpa-text); border:2px solid var(--pali-pdpa-purple); border-radius:14px; padding:22px; box-shadow:0 8px 22px rgba(94,53,177,.14); }
.pali-pdpa-admin .pali-pdpa-card strong { display:block; font-size:34px; color:var(--pali-pdpa-purple-dark); line-height:1; }
.pali-pdpa-admin .pali-pdpa-card span { display:block; margin-top:10px; }
.pali-pdpa-admin .pali-pdpa-panel,.pali-pdpa-admin .pali-pdpa-filter { background:var(--pali-pdpa-white); border:1px solid var(--pali-pdpa-purple-soft); border-radius:12px; padding:20px; margin:18px 0; box-shadow:0 4px 14px rgba(94,53,177,.09); }
.pali-pdpa-admin .pali-pdpa-filter { padding:15px; display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.pali-pdpa-grid { display:grid; grid-template-columns:minmax(280px,420px) 1fr; gap:20px; }
.pali-pdpa-panel label { display:block; font-weight:600; margin:8px 0 5px; color:var(--pali-pdpa-purple-deep); }
.pali-pdpa-panel input[type=text],.pali-pdpa-panel input[type=email],.pali-pdpa-panel input[type=number],.pali-pdpa-panel input[type=date],.pali-pdpa-panel select,.pali-pdpa-panel textarea,.pali-pdpa-settings-form textarea { width:100%; max-width:100%; border-color:var(--pali-pdpa-purple-soft); }
.pali-pdpa-panel input:focus,.pali-pdpa-panel select:focus,.pali-pdpa-panel textarea:focus { border-color:var(--pali-pdpa-purple)!important; box-shadow:0 0 0 1px var(--pali-pdpa-purple)!important; outline:none; }
.pali-pdpa-filter input,.pali-pdpa-filter select { min-height:36px; }
.pali-pdpa-admin .button-primary { background:var(--pali-pdpa-purple-dark)!important; border-color:var(--pali-pdpa-purple-dark)!important; color:var(--pali-pdpa-white)!important; box-shadow:none!important; }
.pali-pdpa-admin .button-primary:hover,.pali-pdpa-admin .button-primary:focus { background:var(--pali-pdpa-purple-deep)!important; border-color:var(--pali-pdpa-purple-deep)!important; }
.pali-pdpa-table td,.pali-pdpa-table th { vertical-align:top; }
.pali-pdpa-table thead th { color:var(--pali-pdpa-purple-deep); }
.pali-status { display:inline-block; border-radius:999px; padding:3px 10px; font-weight:700; font-size:12px; }
.pali-status-accepted { background:var(--pali-pdpa-purple-soft); color:var(--pali-pdpa-purple-deep); }
.pali-status-withdrawn,.pali-status-rejected { background:#f1eafa; color:#68449c; }
.pali-inline-form { margin-top:10px; display:flex; flex-direction:column; gap:8px; min-width:240px; }

/* Front-end cookie banner */
.pali-pdpa-cookie-banner { position:fixed; left:20px; right:20px; bottom:20px; z-index:99999; background:var(--pali-pdpa-white); color:var(--pali-pdpa-text); border:2px solid var(--pali-pdpa-purple); border-radius:16px; padding:16px 18px; box-shadow:0 15px 40px rgba(69,39,160,.22); display:flex; gap:16px; align-items:center; justify-content:space-between; font-family:"Kanit","Prompt",sans-serif; }
.pali-pdpa-cookie-banner a { color:var(--pali-pdpa-purple-dark)!important; text-decoration:underline; }

/* Front-end buttons */
.pali-pdpa-button { display:inline-block; background:var(--pali-pdpa-purple-dark)!important; color:var(--pali-pdpa-white)!important; border:2px solid var(--pali-pdpa-purple-dark)!important; border-radius:999px; padding:11px 20px; font-family:"Kanit","Prompt",sans-serif; font-weight:700; text-decoration:none!important; cursor:pointer; line-height:1.2; box-shadow:none; }
.pali-pdpa-button:hover,.pali-pdpa-button:focus { background:var(--pali-pdpa-purple-deep)!important; border-color:var(--pali-pdpa-purple-deep)!important; color:var(--pali-pdpa-white)!important; transform:translateY(-1px); }
.pali-pdpa-secondary { background:var(--pali-pdpa-white)!important; color:var(--pali-pdpa-purple-dark)!important; border:2px solid var(--pali-pdpa-purple)!important; }
.pali-pdpa-secondary:hover,.pali-pdpa-secondary:focus { background:var(--pali-pdpa-purple-pale)!important; color:var(--pali-pdpa-purple-deep)!important; }

/* Front-end consent, request and history */
.pali-pdpa-consent-box,.pali-pdpa-data-request,.pali-pdpa-consent-center { box-sizing:border-box; background:var(--pali-pdpa-white); color:var(--pali-pdpa-text); border:2px solid var(--pali-pdpa-purple); outline:1px solid var(--pali-pdpa-purple-soft); outline-offset:-8px; border-radius:16px; padding:28px; margin:18px 0; box-shadow:0 12px 28px rgba(94,53,177,.14); font-family:"Kanit","Prompt",sans-serif; }
.pali-pdpa-consent-box *, .pali-pdpa-data-request *, .pali-pdpa-consent-center * { box-sizing:border-box; }
.pali-pdpa-consent-box h1,.pali-pdpa-consent-box h2,.pali-pdpa-consent-box h3,.pali-pdpa-data-request h1,.pali-pdpa-data-request h2,.pali-pdpa-data-request h3,.pali-pdpa-consent-center h1,.pali-pdpa-consent-center h2,.pali-pdpa-consent-center h3 { color:var(--pali-pdpa-purple-deep)!important; }
.pali-pdpa-consent-box p,.pali-pdpa-data-request p,.pali-pdpa-consent-center p,.pali-pdpa-consent-center li { color:var(--pali-pdpa-text); }
.pali-pdpa-consent-box a,.pali-pdpa-data-request a,.pali-pdpa-consent-center a:not(.pali-pdpa-button) { color:var(--pali-pdpa-purple-dark)!important; }
.pali-pdpa-form label { display:block; color:var(--pali-pdpa-purple-deep); font-weight:600; }
.pali-pdpa-form input[type=text],.pali-pdpa-form input[type=email],.pali-pdpa-form select,.pali-pdpa-form textarea { width:100%; border:1px solid var(--pali-pdpa-purple-soft); border-radius:10px; background:var(--pali-pdpa-white); color:var(--pali-pdpa-text); padding:11px 12px; margin-top:6px; font-family:inherit; }
.pali-pdpa-form input::placeholder,.pali-pdpa-form textarea::placeholder { color:#8a8099; }
.pali-pdpa-form input:focus,.pali-pdpa-form select:focus,.pali-pdpa-form textarea:focus { outline:none; border-color:var(--pali-pdpa-purple); box-shadow:0 0 0 3px rgba(149,117,205,.20); }
.pali-pdpa-form select option { background:var(--pali-pdpa-white); color:var(--pali-pdpa-text); }
.pali-pdpa-consent-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; margin:18px 0; }
.pali-pdpa-consent-item { border:1px solid var(--pali-pdpa-purple-soft); border-radius:14px; padding:16px; background:var(--pali-pdpa-purple-pale); }
.pali-pdpa-consent-item h3 { margin-top:0; }
.pali-ok,.pali-warn { color:var(--pali-pdpa-purple-dark)!important; }
.pali-pdpa-front-table { width:100%; border-collapse:collapse; margin-top:10px; color:var(--pali-pdpa-text); }
.pali-pdpa-front-table th,.pali-pdpa-front-table td { border:1px solid var(--pali-pdpa-purple-soft); padding:9px; text-align:left; }
.pali-pdpa-front-table th { background:var(--pali-pdpa-purple-pale); color:var(--pali-pdpa-purple-deep); }
.pali-pdpa-notice { background:var(--pali-pdpa-purple-pale); border:1px solid var(--pali-pdpa-purple-soft); color:var(--pali-pdpa-purple-deep); border-radius:10px; padding:12px; margin:12px 0; }
.pali-pdpa-register-consent { margin:12px 0; padding:14px; background:var(--pali-pdpa-white); color:var(--pali-pdpa-text); border:2px solid var(--pali-pdpa-purple); border-radius:10px; font-family:"Kanit","Prompt",sans-serif; }
.pali-pdpa-register-consent a { color:var(--pali-pdpa-purple-dark)!important; }
.pali-pdpa-register-consent input[type=checkbox] { accent-color:var(--pali-pdpa-purple-dark); }

@media(max-width:782px) { .pali-pdpa-grid { grid-template-columns:1fr; }.pali-pdpa-cookie-banner { left:10px; right:10px; bottom:10px; display:block; }.pali-pdpa-cookie-banner button { margin-top:12px; }.pali-pdpa-filter { display:block; }.pali-pdpa-filter>* { width:100%; margin:6px 0; }.pali-pdpa-front-table { display:block; overflow-x:auto; }.pali-pdpa-consent-box,.pali-pdpa-data-request,.pali-pdpa-consent-center { padding:24px 18px; } }
