@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Lora:ital,wght@0,400;0,600;1,400&display=swap');

.ltp-wrap * { box-sizing:border-box; }
.ltp-wrap { font-family:'Plus Jakarta Sans', sans-serif; color:#1e293b; max-width:1100px; margin:0 auto; }
.ltp-empty { color:#94a3b8; font-style:italic; padding:24px 0; }

/* ── Header ── */
.ltp-header { background:linear-gradient(135deg,#0f172a 0%,#1e3a5f 100%); border-radius:16px; padding:36px 40px; margin-bottom:28px; }
.ltp-header-inner { max-width:600px; }
.ltp-logo-pill { display:inline-block; background:rgba(255,255,255,.1); color:#93c5fd; font-size:13px; font-weight:700; padding:4px 14px; border-radius:20px; border:1px solid rgba(255,255,255,.15); margin-bottom:14px; letter-spacing:.05em; }
.ltp-main-title { font-family:'Lora',serif; font-size:32px; font-weight:600; color:#fff; margin:0 0 10px; }
.ltp-main-sub { font-size:14px; color:#94a3b8; line-height:1.65; margin:0; }
.ltp-ack-required-badge { display:inline-block; background:#fef3c7; color:#92400e; font-size:10px; font-weight:700; padding:2px 8px; border-radius:12px; letter-spacing:.04em; text-transform:uppercase; }

/* ── Body Layout ── */
.ltp-body { display:flex; gap:24px; align-items:flex-start; }

/* ── Sidebar ── */
.ltp-sidebar { width:240px; flex-shrink:0; background:#fff; border:1.5px solid #e2e8f0; border-radius:14px; padding:16px 0; position:sticky; top:24px; }
.ltp-sidebar-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#94a3b8; padding:0 18px; margin:0 0 8px; }
.ltp-nav-list { list-style:none; margin:0; padding:0; }
.ltp-nav-item { display:flex; align-items:center; gap:10px; padding:10px 18px; cursor:pointer; font-size:13px; font-weight:500; color:#475569; transition:all .15s; position:relative; border-left:3px solid transparent; }
.ltp-nav-item:hover { background:#f8fafc; color:#1e293b; }
.ltp-nav-item.active { background:#eff6ff; color:#1d4ed8; border-left-color:#3b82f6; font-weight:700; }
.ltp-nav-icon { font-size:16px; flex-shrink:0; }
.ltp-nav-text { flex:1; }
.ltp-nav-check { color:#22c55e; font-size:13px; font-weight:700; }
.ltp-nav-dot { width:8px; height:8px; border-radius:50%; background:#f59e0b; flex-shrink:0; }

/* ── Content Area ── */
.ltp-content-area { flex:1; min-width:0; }
.ltp-panel { display:none; background:#fff; border:1.5px solid #e2e8f0; border-radius:14px; overflow:hidden; animation:ltpSlide .2s ease; }
.ltp-panel.active { display:block; }
@keyframes ltpSlide { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }

.ltp-panel-header { display:flex; align-items:flex-start; justify-content:space-between; padding:28px 32px; border-bottom:1px solid #f1f5f9; }
.ltp-panel-cat { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#94a3b8; display:block; margin-bottom:6px; }
.ltp-panel-title { font-family:'Lora',serif; font-size:22px; font-weight:600; margin:0 0 8px; color:#0f172a; }
.ltp-panel-meta { font-size:12px; color:#94a3b8; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.ltp-print-btn { background:transparent; border:1px solid #e2e8f0; border-radius:8px; padding:8px 10px; cursor:pointer; font-size:16px; transition:background .15s; flex-shrink:0; }
.ltp-print-btn:hover { background:#f1f5f9; }

/* ── Summary box ── */
.ltp-summary-box { background:#eff6ff; border-left:4px solid #3b82f6; margin:0; padding:14px 24px; font-size:13px; color:#1d4ed8; line-height:1.65; }

/* ── Policy Content ── */
.ltp-policy-content { padding:28px 32px; font-size:14.5px; line-height:1.8; color:#374151; }
.ltp-policy-content h2 { font-family:'Lora',serif; font-size:22px; color:#0f172a; margin:0 0 16px; }
.ltp-policy-content h3 { font-size:16px; font-weight:700; color:#0f172a; margin:28px 0 10px; padding-bottom:6px; border-bottom:1px solid #f1f5f9; }
.ltp-policy-content p  { margin:0 0 14px; }
.ltp-policy-content ul,
.ltp-policy-content ol { margin:0 0 14px; padding-left:24px; }
.ltp-policy-content li { margin-bottom:6px; }
.ltp-policy-content a  { color:#2563eb; }
.ltp-policy-content strong { color:#1e293b; }

/* ── Acknowledgement ── */
.ltp-ack-box { margin:0; padding:24px 32px; border-top:1.5px solid #f1f5f9; background:#fafafa; }
.ltp-ack-box.ltp-acked { background:#f0fdf4; border-top-color:#bbf7d0; }
.ltp-ack-done { display:flex; align-items:center; gap:16px; }
.ltp-ack-check { width:44px; height:44px; background:#22c55e; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; flex-shrink:0; }
.ltp-ack-done strong { font-size:15px; color:#15803d; }
.ltp-ack-done p { margin:4px 0 0; font-size:13px; color:#64748b; }
.ltp-ack-prompt p { font-size:13px; color:#475569; margin:0 0 14px; }
.ltp-ack-guest-fields { display:flex; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.ltp-ack-guest-fields input { flex:1; min-width:180px; padding:10px 14px; border:1.5px solid #e2e8f0; border-radius:8px; font-size:13px; font-family:inherit; outline:none; }
.ltp-ack-guest-fields input:focus { border-color:#0f172a; }
.ltp-ack-label { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:#475569; margin-bottom:16px; cursor:pointer; line-height:1.5; }
.ltp-ack-label input[type="checkbox"] { margin-top:2px; width:16px; height:16px; flex-shrink:0; cursor:pointer; }
.ltp-ack-btn { background:#0f172a; color:#fff; border:none; border-radius:10px; padding:12px 28px; font-size:14px; font-weight:700; font-family:inherit; cursor:pointer; transition:background .15s; }
.ltp-ack-btn:hover { background:#1e293b; }
.ltp-ack-btn:disabled { opacity:.6; cursor:not-allowed; }
.ltp-ack-msg { font-size:13px; padding:10px 14px; border-radius:8px; margin-top:10px; }
.ltp-ack-msg.success { background:#f0fdf4; color:#15803d; border:1px solid #bbf7d0; }
.ltp-ack-msg.error   { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

/* ── Nav widget (sidebar shortcode) ── */
.ltp-nav-widget { background:#fff; border:1.5px solid #e2e8f0; border-radius:12px; padding:16px 20px; }
.ltp-nav-widget-title { font-size:13px; font-weight:700; color:#0f172a; margin:0 0 10px; }
.ltp-nav-widget ul { list-style:none; margin:0; padding:0; }
.ltp-nav-widget li { margin-bottom:6px; }
.ltp-nav-widget a { font-size:13px; color:#2563eb; text-decoration:none; }
.ltp-nav-widget a:hover { text-decoration:underline; }

/* ── Single layout ── */
.ltp-single .ltp-body { display:block; }

/* ── Responsive ── */
@media(max-width:680px){
    .ltp-body { flex-direction:column; }
    .ltp-sidebar { width:100%; position:static; }
    .ltp-nav-list { display:flex; flex-wrap:wrap; gap:6px; padding:0 12px 12px; }
    .ltp-nav-item { border-radius:20px; border-left:none; padding:8px 14px; background:#f1f5f9; }
    .ltp-nav-item.active { background:#dbeafe; border-left:none; }
    .ltp-header { padding:24px 20px; }
    .ltp-main-title { font-size:24px; }
    .ltp-panel-header, .ltp-policy-content, .ltp-ack-box { padding:20px; }
}

@media print {
    .ltp-sidebar, .ltp-ack-box, .ltp-print-btn, .ltp-header { display:none !important; }
    .ltp-body { display:block; }
    .ltp-panel { border:none; }
}
