/* ==========================================================================
   Politikal Single Post V2 — matches reference design
   ========================================================================== */

/* Page shell */
.pn-single-page { padding: 20px 0 64px; background: #fff; font-family: 'Manrope','Inter',-apple-system,sans-serif; color: #0f172a; }
.pn-single-shell { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }
/* Reading progress bar */
.pn-reading-progress { position:fixed; top:0; left:0; height:3px; background:#D3101C; z-index:99999; width:0; transition:width .1s linear; pointer-events:none; }

/* Breadcrumb */
.pn-breadcrumb { display:flex; align-items:center; gap:6px; font-size:12px; color:#64748b; margin-bottom:16px; flex-wrap:wrap; }
.pn-breadcrumb a { color:#64748b; text-decoration:none; transition:color .15s; }
.pn-breadcrumb a:hover { color:#D3101C; }
.pn-breadcrumb i { font-size:14px; color:#94a3b8; }
.pn-bc-sep { color:#94a3b8; }
.pn-bc-current { color:#D3101C; font-weight:600; }

/* 2-col grid */
.pn-single-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:32px; align-items:start; margin-bottom:48px; }
.pn-article { min-width:0; }
/* SIDEBAR sticky — aligned to grid top, not breadcrumb */
.pn-single-aside { min-width:0; align-self:start; position:sticky; top:80px; max-height:calc(100vh - 100px); overflow-y:auto; scrollbar-width:none; }
.pn-single-aside::-webkit-scrollbar { display:none; }

/* Category badge */
.pn-article-category { display:inline-flex; align-items:center; padding:4px 12px; background:#D3101C; color:#fff!important; font-size:11px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; border-radius:3px; text-decoration:none; margin-bottom:10px; transition:background .15s; }
.pn-article-category:hover { background:#B80D17; color:#fff!important; }

/* Title */
.pn-article-title { font-size:clamp(26px,3.5vw,42px); font-weight:900; line-height:1.12; letter-spacing:-.5px; color:#0f172a; margin:0 0 10px; }

/* Lead */
.pn-article-lead { font-size:16px; line-height:1.55; color:#475569; margin:0 0 14px; }

/* Author meta row */
.pn-article-meta { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; margin-bottom:18px; flex-wrap:wrap; }
.pn-author { display:flex; align-items:center; gap:10px; min-width:0; }
.pn-author-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid #e2e8f0; }
.pn-author div { display:flex; flex-direction:column; gap:2px; }
.pn-author strong { font-size:13px; font-weight:700; color:#0f172a; line-height:1.2; }
.pn-author span { font-size:11.5px; color:#64748b; display:flex; align-items:center; gap:5px; flex-wrap:wrap; line-height:1.3; }
.pn-author span i { font-size:13px; }
.pn-meta-dot { color:#cbd5e1; }

/* View count badge */
.pn-meta-views { display:inline-flex; align-items:center; gap:4px; background:#F8FAFC; border:1px solid #E2E8F0; color:#475569; padding:2px 8px; border-radius:999px; font-size:11px; font-weight:600; line-height:1.2; }
.pn-meta-views i { color:#D3101C; font-size:13px; }

/* Action buttons */
.pn-head-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.pn-save-btn { display:inline-flex; align-items:center; gap:6px; padding:7px 16px; background:#FFFFFF; border:1px solid #CBD5E1; border-radius:999px; font-size:12px; font-weight:700; color:#1E293B; cursor:pointer; transition:all .2s cubic-bezier(0.4, 0, 0.2, 1); white-space:nowrap; box-shadow:0 1px 3px rgba(0,0,0,0.04); }
.pn-save-btn:hover { border-color:#D3101C; color:#D3101C; background:#FFF1F2; transform:translateY(-1px); box-shadow:0 3px 10px rgba(211,16,28,0.15); }
.pn-save-btn.is-bookmarked { border-color:#D3101C; background:#D3101C; color:#FFFFFF; box-shadow:0 3px 10px rgba(211,16,28,0.25); }
.pn-save-btn.is-bookmarked i { color:#FFFFFF; }
.pn-save-btn i { font-size:15px; color:#D3101C; }

/* Share group container */
.pn-share-group { display:flex; align-items:center; gap:6px; background:#F8FAFC; border:1px solid #E2E8F0; padding:3px 6px; border-radius:999px; box-shadow:0 1px 2px rgba(0,0,0,0.03); }
.pn-share-label { font-size:11px; font-weight:800; color:#64748B; white-space:nowrap; padding:0 4px 0 6px; display:inline-flex; align-items:center; gap:4px; text-transform:uppercase; letter-spacing:.3px; }
.pn-share-circle { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; font-size:14px; text-decoration:none; cursor:pointer; border:none; transition:transform .2s,box-shadow .2s,opacity .15s; flex-shrink:0; }
.pn-share-circle:hover { transform:translateY(-2px) scale(1.1); box-shadow:0 4px 10px rgba(0,0,0,.15); opacity:.95; }
.pn-share-circle.is-whatsapp { background:#25d366; color:#fff; }
.pn-share-circle.is-whatsapp:hover { box-shadow:0 4px 12px rgba(37,211,102,.4); }
.pn-share-circle.is-x { background:#0f0f0f; color:#fff; }
.pn-share-circle.is-x:hover { box-shadow:0 4px 12px rgba(15,15,15,.4); }
.pn-share-circle.is-facebook { background:#1877f2; color:#fff; }
.pn-share-circle.is-facebook:hover { box-shadow:0 4px 12px rgba(24,119,242,.4); }
.pn-share-circle.is-copy { background:#FFFFFF; color:#334155; border:1px solid #CBD5E1; }
.pn-share-circle.is-copy:hover { background:#0F172A; color:#FFFFFF; border-color:#0F172A; }

.pn-btn-share.is-whatsapp { background:#25D366; color:#FFFFFF; border-color:#25D366; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.pn-btn-share.is-whatsapp:hover { background:#1EBE5D; color:#FFFFFF; }

/* Featured image */
.pn-article-figure { margin:0 0 22px; }
.pn-article-img-wrap { width:100%; border-radius:8px; overflow:hidden; background:#e2e8f0; }
.pn-article-image { width:100%; height:auto; max-height:500px; object-fit:cover; display:block; }
.pn-article-caption { font-size:11px; color:#94a3b8; line-height:1.4; margin-top:6px; font-style:italic; }

/* Article body typography & spacing (Enterprise Editorial Standard) */
.pn-article-body,
.politikal-article-body,
.pn-article-body.entry-content {
    font-size: 16.5px !important;
    line-height: 1.85 !important;
    color: #1e293b !important;
    word-break: break-word;
}

/* Ensure ALL paragraphs (direct child or nested in Gutenberg blocks/wrappers) have clear, comfortable spacing */
.pn-article-body p,
.pn-article-body .entry-content p,
.politikal-article-body p,
.diksi-article-content p,
.pn-article-body > p {
    margin: 0 0 20px 0 !important;
    line-height: 1.85 !important;
    display: block !important;
    font-size: 16.5px !important;
}

/* Handle raw break tags between sentences */
.pn-article-body br + br {
    display: block !important;
    content: "" !important;
    margin-top: 14px !important;
}

.pn-article-body > p:first-child::first-letter { font-size:3.2em; font-weight:900; float:left; line-height:.85; margin:4px 8px 0 0; color:#D3101C; font-family:Georgia,serif; }

/* Clean vertical hierarchy for headings inside article */
.pn-article-body h2,
.politikal-article-body h2,
.diksi-article-content h2 {
    font-size: 23px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 34px 0 14px 0 !important;
    line-height: 1.35 !important;
}

.pn-article-body h3,
.politikal-article-body h3,
.diksi-article-content h3 {
    font-size: 19px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 28px 0 12px 0 !important;
    line-height: 1.35 !important;
}

.pn-article-body h4,
.politikal-article-body h4 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 22px 0 10px 0 !important;
    line-height: 1.35 !important;
}

.pn-article-body a { color:#D3101C; font-weight:600; }

.pn-article-body ul,
.politikal-article-body ul {
    padding-left: 26px !important;
    margin: 0 0 20px 0 !important;
    list-style: disc !important;
}

.pn-article-body ol,
.politikal-article-body ol {
    padding-left: 26px !important;
    margin: 0 0 20px 0 !important;
    list-style: decimal !important;
}

.pn-article-body li,
.politikal-article-body li {
    margin-bottom: 8px !important;
    line-height: 1.75 !important;
}

.pn-article-body img,
.pn-article-body figure {
    border-radius: 8px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 22px 0 !important;
    display: block !important;
}

.pn-article-body blockquote,
.politikal-article-body blockquote {
    position: relative !important;
    margin: 24px 0 !important;
    padding: 16px 20px 16px 56px !important;
    background: #fff7f7 !important;
    border-left: 4px solid #D3101C !important;
    border-radius: 0 6px 6px 0 !important;
    font-style: italic !important;
    color: #334155 !important;
    font-size: 15.5px !important;
    line-height: 1.75 !important;
}
.pn-article-body blockquote::before { content:'"'; position:absolute; left:12px; top:0; font-size:52px; line-height:1; color:#D3101C; font-family:Georgia,serif; font-style:normal; }

/* POIN UTAMA */
.pn-poin-utama { background:#fff7f7; border:1px solid #fee2e2; border-radius:10px; padding:18px 22px; margin:28px 0; }
.pn-poin-utama__header { display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.pn-poin-utama__icon { width:28px; height:28px; background:#D3101C; color:#fff; border-radius:6px; display:grid; place-items:center; font-size:15px; flex-shrink:0; }
.pn-poin-utama__title { font-size:12px; font-weight:900; letter-spacing:.8px; text-transform:uppercase; color:#D3101C; margin:0; }
.pn-poin-utama__list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.pn-poin-utama__item { display:flex; align-items:flex-start; gap:12px; font-size:13.5px; color:#1e293b; line-height:1.5; }
.pn-poin-utama__num { font-size:22px; font-weight:900; color:#D3101C; line-height:1; flex-shrink:0; min-width:28px; font-family:Georgia,serif; }

/* Tags */
.pn-article-tags { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:16px 0; border-top:1px solid #e2e8f0; margin-top:8px; }
.pn-tags-label { font-size:12px; font-weight:800; color:#0f172a; text-transform:uppercase; letter-spacing:.5px; margin-right:4px; }
.pn-tags-list { display:flex; flex-wrap:wrap; gap:6px; }
.pn-tag-pill { display:inline-block; padding:4px 12px; background:#f1f5f9; border-radius:999px; font-size:12px; font-weight:600; color:#334155; text-decoration:none; transition:all .15s; border:1px solid transparent; }
.pn-tag-pill:hover { background:#D3101C; color:#fff; border-color:#D3101C; }

/* Author bio */
.pn-author-bio { display:flex; align-items:flex-start; gap:16px; padding:20px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; margin:24px 0; }
.pn-author-bio__avatar { width:64px; height:64px; border-radius:50%; object-fit:cover; flex-shrink:0; border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.pn-author-bio__info { flex:1; min-width:0; }
.pn-author-bio__label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:#94a3b8; margin-bottom:2px; }
.pn-author-bio__name { font-size:15px; font-weight:800; color:#0f172a; margin:0 0 6px; }
.pn-author-bio__desc { font-size:12.5px; line-height:1.5; color:#475569; margin:0 0 10px; }
.pn-author-bio__link { font-size:12px; font-weight:700; color:#D3101C; text-decoration:none; }
.pn-author-bio__link:hover { text-decoration:underline; }

/* Reaction row */
.pn-reaction-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:14px 0; border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; margin-bottom:12px; }
.pn-reaction-left { display:flex; align-items:center; gap:8px; }
.pn-btn-save { display:inline-flex; align-items:center; gap:6px; padding:8px 18px; background:#fff; border:1px solid #cbd5e1; border-radius:999px; font-size:13px; font-weight:700; color:#334155; cursor:pointer; transition:all .15s; }
.pn-btn-save:hover { border-color:#D3101C; color:#D3101C; background:#fff7f7; }
.pn-btn-share { display:inline-flex; align-items:center; gap:6px; padding:8px 18px; background:#fff; border:1px solid #cbd5e1; border-radius:999px; font-size:13px; font-weight:700; color:#334155; cursor:pointer; transition:all .15s; }
.pn-btn-share:hover { border-color:#334155; color:#334155; }
.pn-reaction-votes { display:flex; align-items:center; gap:16px; }
.pn-vote-btn { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#64748b; background:none; border:none; cursor:pointer; font-weight:600; transition:color .15s; }
.pn-vote-btn:hover { color:#D3101C; }

/* SIDEBAR */
.pn-single-sidebar { display:flex; flex-direction:column; gap:24px; }

/* Widget */
.pn-widget {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px 22px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    box-sizing: border-box;
    width: 100%;
}
.pn-widget-header { display:flex; align-items:center; gap:8px; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid #f1f5f9; }
.pn-widget-bar { width:3px; height:16px; background:#D3101C; border-radius:2px; flex-shrink:0; }
.pn-widget-title { font-size:13px; font-weight:900; color:#0f172a; letter-spacing:.4px; text-transform:uppercase; margin:0; flex:1; display:flex; align-items:center; gap:5px; }
.pn-widget-more { font-size:11px; font-weight:700; color:#D3101C; text-decoration:none; white-space:nowrap; }
.pn-widget-more:hover { text-decoration:underline; }

/* Sentimen donut */
.pn-sentimen-body { padding:4px 0 0; }
.pn-sentimen-donut-wrap { display:flex; align-items:center; gap:16px; }
.pn-sentimen-donut { flex-shrink:0; width:110px; height:110px; }
.pn-donut-svg { width:100%; height:100%; transform:rotate(-90deg); }
.pn-donut-total-num { transform:rotate(90deg); transform-origin:center; font-size:9px; font-weight:900; fill:#0f172a; }
.pn-donut-total-label { transform:rotate(90deg); transform-origin:center; font-size:6px; fill:#64748b; }
.pn-sentimen-legend { flex:1; display:flex; flex-direction:column; gap:8px; }
.pn-sentimen-leg-item { display:flex; align-items:center; gap:6px; font-size:11px; }
.pn-leg-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.pn-leg-label { color:#475569; flex:1; font-size:11px; }
.pn-leg-pct { font-weight:800; color:#0f172a; font-size:12px; }
.pn-leg-num { font-size:10px; color:#94a3b8; }

/* Related sidebar */
.pn-rel-list { display:flex; flex-direction:column; }
.pn-rel-item { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #f1f5f9; }
.pn-rel-item:last-child { border-bottom:none; padding-bottom:0; }
.pn-rel-body { flex:1; min-width:0; }
.pn-rel-cat { display:block; font-size:9.5px; font-weight:800; color:#D3101C; letter-spacing:.5px; margin-bottom:3px; }
.pn-rel-title { margin:0 0 4px; font-size:13px; font-weight:700; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pn-rel-title a { color:#0f172a; text-decoration:none; }
.pn-rel-title a:hover { color:#D3101C; }
.pn-rel-time { font-size:10.5px; color:#94a3b8; display:flex; align-items:center; gap:3px; }
.pn-rel-thumb { width:76px; height:56px; border-radius:6px; overflow:hidden; flex-shrink:0; display:block; background:#e2e8f0; }
.pn-rel-thumb img { width:100%; height:100%; object-fit:cover; display:block; }

/* Tabs */
.pn-tab-header { display:flex; align-items:center; margin-bottom:14px; border-bottom:2px solid #e2e8f0; }
.pn-tab-btn { background:none; border:none; font-size:13px; font-weight:700; color:#94a3b8; cursor:pointer; padding:8px 14px 10px; transition:color .15s; border-bottom:2px solid transparent; margin-bottom:-2px; }
.pn-tab-btn.is-active { color:#D3101C; border-bottom-color:#D3101C; }
.pn-ranked-item { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid #f1f5f9; }
.pn-ranked-item:last-child { border-bottom:none; }
.pn-ranked-num { font-size:22px; font-weight:800; color:#cbd5e1; line-height:1; min-width:28px; flex-shrink:0; font-family:'Playfair Display', Georgia, serif; text-align:left; }
.pn-ranked-item:first-child .pn-ranked-num { color:#D3101C; }
.pn-ranked-thumb { width:60px; height:60px; border-radius:6px; overflow:hidden; flex-shrink:0; display:block; background:#e2e8f0; }
.pn-ranked-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.pn-ranked-info { flex:1; min-width:0; }
.pn-ranked-info h4 { margin:0 0 3px; font-size:12.5px; font-weight:700; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pn-ranked-info h4 a { color:#0f172a; text-decoration:none; }
.pn-ranked-info h4 a:hover { color:#D3101C; }
.pn-ranked-info span { font-size:10px; color:#94a3b8; display:flex; align-items:center; gap:3px; }

/* Newsletter CTA widget */
.pn-widget--newsletter-cta {
    background: linear-gradient(135deg, #BE1B2E 0%, #9C0D15 100%);
    border-color: transparent;
    color: #fff;
    text-align: center;
    padding: 24px 22px;
    border-radius: 12px;
}
.pn-nl-icon-wrap { width:44px; height:44px; background:rgba(255,255,255,.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:22px; color:#fff; margin:0 auto 12px; }
.pn-nl-cta-title { font-size:15px; font-weight:900; color:#fff; margin:0 0 8px; line-height:1.3; }
.pn-nl-cta-desc { font-size:11.5px; color:rgba(255,255,255,.85); line-height:1.5; margin:0 0 14px; }
.pn-nl-form { display:flex; flex-direction:column; gap:8px; }
.pn-nl-form input { width:100%; height:40px; padding:0 14px; border:none; border-radius:6px; font-size:12px; font-family:inherit; outline:none; box-sizing:border-box; }
.pn-nl-form button { width:100%; height:40px; background:#0f172a; color:#fff; border:none; border-radius:6px; font-size:12px; font-weight:800; cursor:pointer; font-family:inherit; letter-spacing:.5px; transition:background .15s; }
.pn-nl-form button:hover { background:#1e293b; }

/* Bottom section */
.pn-bottom-section { margin-bottom:40px; }
.pn-bottom-grid { display:grid; grid-template-columns:1fr 260px; gap:32px; align-items:start; }
.pn-sec-header { display:flex; align-items:center; gap:8px; margin-bottom:18px; padding-bottom:10px; border-bottom:2px solid #0f172a; }
.pn-sec-bar { width:4px; height:20px; background:#D3101C; border-radius:2px; flex-shrink:0; }
.pn-sec-title { font-size:15px; font-weight:900; color:#0f172a; letter-spacing:.4px; text-transform:uppercase; margin:0; flex:1; }
.pn-sec-more { font-size:11px; font-weight:700; color:#D3101C; text-decoration:none; }
.pn-sec-more:hover { text-decoration:underline; }

.pn-bottom-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.pn-btm-card { display:flex; flex-direction:column; min-width:0; }
.pn-btm-card__img-wrap { position:relative; display:block; width:100%; height:130px; border-radius:7px; overflow:hidden; background:#e2e8f0; margin-bottom:8px; text-decoration:none; }
.pn-btm-card__img-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.pn-btm-card:hover .pn-btm-card__img-wrap img { transform:scale(1.05); }
.pn-btm-card__badge { position:absolute; bottom:8px; left:8px; background:#D3101C; color:#fff; font-size:9px; font-weight:800; letter-spacing:.5px; padding:3px 7px; border-radius:3px; }
.pn-btm-card__body { flex:1; }
.pn-btm-card__title { margin:0 0 5px; font-size:13px; font-weight:700; line-height:1.35; }
.pn-btm-card__title a { color:#0f172a; text-decoration:none; }
.pn-btm-card__title a:hover { color:#D3101C; }
.pn-btm-card__date { font-size:11px; color:#94a3b8; display:flex; align-items:center; gap:3px; }

/* Opini col */
.pn-opini-list { display:flex; flex-direction:column; gap:14px; }
.pn-opini-item { display:flex; gap:10px; align-items:flex-start; padding-bottom:14px; border-bottom:1px solid #f1f5f9; }
.pn-opini-item:last-child { border-bottom:none; padding-bottom:0; }
.pn-opini-thumb { width:64px; height:64px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid #e2e8f0; }
.pn-opini-body { flex:1; min-width:0; }
.pn-opini-title { font-size:12.5px; font-weight:700; line-height:1.35; margin:0 0 4px; }
.pn-opini-title a { color:#0f172a; text-decoration:none; }
.pn-opini-title a:hover { color:#D3101C; }
.pn-opini-author { font-size:11px; font-weight:700; color:#D3101C; margin-bottom:2px; }
.pn-opini-date { font-size:10.5px; color:#94a3b8; display:flex; align-items:center; gap:3px; }

/* Newsletter strip */
.pn-newsletter-strip { background:linear-gradient(100deg,#D3101C 0%,#b80d17 100%); border-radius:12px; padding:28px 36px; margin-bottom:8px; }
.pn-newsletter-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.pn-newsletter-copy { display:flex; align-items:center; gap:16px; flex:1; min-width:0; }
.pn-newsletter-icon { width:48px; height:48px; background:rgba(255,255,255,.2); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:24px; color:#fff; flex-shrink:0; }
.pn-newsletter-heading { font-size:16px; font-weight:900; color:#fff; margin:0 0 4px; }
.pn-newsletter-strip p { font-size:12.5px; color:rgba(255,255,255,.85); margin:0; line-height:1.4; }
.pn-newsletter-form { display:flex; align-items:stretch; gap:0; border-radius:6px; overflow:hidden; flex-shrink:0; }
.pn-newsletter-form input { width:240px; height:44px; padding:0 16px; border:none; outline:none; font-size:13px; font-family:inherit; background:#fff; }
.pn-newsletter-form button { height:44px; padding:0 22px; background:#0f172a; color:#fff; border:none; font-size:12px; font-weight:800; cursor:pointer; font-family:inherit; white-space:nowrap; transition:background .15s; }
.pn-newsletter-form button:hover { background:#1e293b; }

/* Mobile action bar */
.pn-mobile-action-bar { display:none; }

/* Responsive */
@media (max-width:1100px) {
    .pn-single-grid { grid-template-columns:minmax(0,1fr) 290px; gap:24px; }
    .pn-bottom-grid { grid-template-columns:1fr 220px; gap:24px; }
    .pn-bottom-cards { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:900px) {
    .pn-single-shell { width:calc(100% - 32px); }
    .pn-single-grid { grid-template-columns:1fr; }
    .pn-single-aside { display:block; margin-top:32px; }
    .pn-bottom-grid { grid-template-columns:1fr; gap:28px; }
    .pn-bottom-cards { grid-template-columns:repeat(2,1fr); }
    .pn-newsletter-form input { width:180px; }
}
@media (max-width:680px) {
    .pn-single-shell { width:calc(100% - 24px); }
    .pn-single-page { padding:14px 0 80px; }
    .pn-article-title { font-size:24px; line-height:1.3; }
    .pn-article-meta { flex-direction:column; align-items:flex-start; gap:10px; margin-bottom:18px; }
    .pn-head-actions { width:100%; display:flex; align-items:center; justify-content:space-between; padding-top:8px; border-top:1px dashed #E2E8F0; }
    .pn-share-label { display:none; }
    .pn-bottom-cards { grid-template-columns:1fr 1fr; gap:12px; }
    .pn-newsletter-strip { padding:20px 18px; border-radius:8px; }
    .pn-newsletter-inner { flex-direction:column; align-items:flex-start; }
    .pn-newsletter-form { width:100%; }
    .pn-newsletter-form input { flex:1; width:auto; }
    .pn-opini-thumb { width:52px; height:52px; }
}
@media (max-width:420px) {
    .pn-bottom-cards { grid-template-columns:1fr; }
    .pn-article-title { font-size:22px; }
}
@media (max-width:768px) {
    .pn-mobile-action-bar {
        display:flex; align-items:center; justify-content:space-around;
        position:fixed; bottom:0; left:0; right:0; height:62px;
        background:#fff; border-top:1px solid #e2e8f0; z-index:9990;
        box-shadow:0 -4px 16px rgba(0,0,0,.08); padding:0 4px;
    }
    .pn-mob-action {
        display:flex; flex-direction:column; align-items:center; justify-content:center;
        flex:1; height:100%; gap:3px; font-size:9px; font-weight:600; color:#64748b;
        background:transparent; border:none; cursor:pointer; text-decoration:none;
        transition:color .15s; padding:8px 4px 6px;
    }
    .pn-mob-action i { font-size:20px; }
    .pn-mob-action:hover { color:#D3101C; }
    .pn-font-icon { font-size:16px; font-weight:900; line-height:1.3; }
}
