.tp-policy-form { padding: 18px; }
.tp-policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.tp-policy-field { border: 1px solid #dbe5f0; border-radius: 16px; padding: 14px; background: #fff; }
.tp-policy-field label { display:block; font-weight:900; color:#0f172a; margin-bottom:4px; }
.tp-policy-field p { margin:0 0 10px; color:#64748b; font-size:13px; }
.tp-policy-field textarea { width:100%; min-height:128px; border:1px solid #cbd5e1; border-radius:12px; padding:12px; font:inherit; color:#0f172a; resize:vertical; }
.tp-policy-actions { display:flex; gap:10px; align-items:center; margin-top:18px; flex-wrap:wrap; }
.tp-alert-success { padding:12px 14px; border:1px solid #86efac; background:#dcfce7; color:#166534; border-radius:14px; font-weight:800; margin-bottom:16px; }
.tp-flex-between { display:flex; justify-content:space-between; align-items:center; }
.tp-gap { gap:14px; }
.tp-wrap { flex-wrap:wrap; }
.tp-confirm-wide { max-width: 980px !important; }
.tp-confirm-intro { max-width: 740px; margin-left:auto; margin-right:auto; }
.tp-policy-message { margin: 22px auto 10px; padding: 16px 18px; border: 1px solid #bfdbfe; background: #eff6ff; border-radius: 16px; color: #0f172a; line-height: 1.6; font-weight: 700; }
.tp-policy-sections { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; text-align:left; }
.tp-policy-sections article, .tp-cancellation-policy, .tp-policy-contact { border:1px solid #dbe5f0; border-radius:16px; background:#f8fafc; padding:16px; text-align:left; }
.tp-policy-sections h2, .tp-cancellation-policy h2 { margin:0 0 8px; font-size:17px; color:#0f172a; font-weight:900; }
.tp-policy-sections p, .tp-cancellation-policy p { margin:0; color:#334155; line-height:1.6; }
.tp-cancellation-policy { margin-top: 14px; border-color:#fed7aa; background:#fff7ed; }
.tp-policy-contact { margin-top:14px; color:#0f172a; font-weight:800; line-height:1.6; }
.tp-confirm-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
.tp-public-btn.secondary { background:#ffffff !important; color:#0758b8 !important; border:1px solid #bfdbfe !important; }
@media (max-width: 900px) { .tp-policy-grid, .tp-policy-sections { grid-template-columns:1fr; } }
