/*
Theme Name: SuaraPress Universal
Theme URI: https://example.com/suarapress-universal
Author: SuaraPress
Description: Tema portal berita WordPress independen, responsif, multi-domain, dengan struktur menu, banner, widget, headline, newsfeed, rekomendasi, dan halaman artikel yang terinspirasi pola portal berita modern Indonesia.
Version: 1.1.3
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: suarapress
*/
:root{--sp-blue:#1b5daf;--sp-blue-dark:#164a8c;--sp-red:#f51700;--sp-yellow:#fbde08;--sp-text:#222;--sp-muted:#777;--sp-border:#e4e4e4;--sp-bg:#fff;--sp-soft:#f7f7f7;--sp-width:1100px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sp-bg);color:var(--sp-text);font-family:Arial,sans-serif;font-size:13px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}ul{margin:0;padding:0;list-style:none}.sp-container{width:min(var(--sp-width),calc(100% - 24px));margin:0 auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.clr{clear:both}
/* ticker */
.sp-breaking{background:#fff;border-bottom:1px solid #eee;font-family:Montserrat,Arial,sans-serif}.sp-breaking-inner{display:flex;align-items:center;gap:12px;height:34px;overflow:hidden}.sp-breaking-label{flex:0 0 auto;background:var(--sp-red);color:#fff;font-weight:700;font-size:11px;padding:5px 10px;text-transform:uppercase}.sp-breaking-track{display:flex;gap:28px;white-space:nowrap;min-width:max-content;animation:spTicker 45s linear infinite}.sp-breaking:hover .sp-breaking-track{animation-play-state:paused}.sp-breaking-track a{font-size:12px;font-weight:600}.sp-breaking-track a:before{content:'•';color:var(--sp-red);margin-right:8px}@keyframes spTicker{from{transform:translateX(0)}to{transform:translateX(-45%)}}
/* header */
.sp-mobile-parallax{display:none}.sp-site-header{position:sticky;top:0;z-index:999;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.08)}.sp-brand-row{min-height:90px;display:flex;align-items:center;gap:20px}.sp-brand{flex:1;min-width:0}.sp-brand .custom-logo{display:block;max-width:400px;max-height:77px;width:auto}.sp-text-logo{font-family:Montserrat,Arial,sans-serif;font-size:34px;font-weight:800;color:var(--sp-blue)}.sp-header-tools{display:flex;align-items:center;gap:12px}.sp-social{display:flex;gap:6px}.sp-social a{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef3fb;color:var(--sp-blue);font-weight:800;font-size:12px}.sp-search{display:flex}.sp-search input{width:200px;height:42px;border:1px solid var(--sp-blue);padding:0 12px;outline:0}.sp-search button{width:58px;height:42px;border:0;background:var(--sp-blue);color:#fff;font-weight:700;cursor:pointer}.sp-nav-wrap{background:var(--sp-blue)}.sp-nav{position:relative}.sp-menu{display:flex;align-items:stretch;overflow-x:auto;white-space:nowrap}.sp-menu::-webkit-scrollbar{height:0}.sp-menu>li{position:relative;flex:0 0 auto}.sp-menu>li>a{display:block;color:#fff;font:700 12px/1 Montserrat,Arial,sans-serif;text-transform:uppercase;padding:16px 8px 13px;border-bottom:4px solid transparent}.sp-menu>li:hover>a,.sp-menu>.current-menu-item>a,.sp-menu>.current-menu-ancestor>a{background:#2d54a7;border-bottom-color:var(--sp-red)}.sp-menu .sub-menu{display:none;position:absolute;top:100%;left:0;background:var(--sp-blue-dark);border-top:3px solid var(--sp-red);min-width:180px;z-index:1000}.sp-menu .sub-menu a{display:block;color:#fff;font:700 12px Montserrat,Arial,sans-serif;text-transform:uppercase;padding:11px 16px}.sp-menu li:hover>.sub-menu{display:block}.sp-menu-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}.sp-menu-toggle span{display:block;width:26px;height:3px;margin:5px 0;background:var(--sp-red)}
/* banners */
.sp-banner{margin:14px auto;text-align:center;overflow:hidden}.sp-banner img,.sp-banner iframe{max-width:100%}.sp-rail{position:fixed;top:180px;width:160px;z-index:50}.sp-rail-left{left:max(4px,calc((100vw - var(--sp-width))/2 - 175px))}.sp-rail-right{right:max(4px,calc((100vw - var(--sp-width))/2 - 175px))}
/* main layout */
.sp-main{padding:10px 0 40px}.sp-layout{display:grid;grid-template-columns:minmax(0,790px) 300px;gap:10px}.sp-content{min-width:0}.sp-sidebar{min-width:0;padding-left:10px}.widget{margin-bottom:18px}.widget-title,.sp-widget-title{font:800 18px Montserrat,Arial,sans-serif;text-transform:none;margin:0 0 10px}.widget-title:after,.sp-widget-title:after{content:'';display:block;width:72px;height:3px;background:var(--sp-red);margin-top:5px}.sp-widget-box{border:1px solid #eee;background:#fff;padding:14px}.sp-placeholder{min-height:120px;background:#f7f7f7;border:1px dashed #bbb;display:grid;place-items:center;color:#888;text-align:center;padding:14px}
/* headline */
.sp-headline{margin-top:5px}.sp-headline-stage{position:relative;overflow:hidden;background:#111}.sp-headline-slide{display:none;position:relative}.sp-headline-slide.active{display:block}.sp-headline-slide img{display:block;width:100%;height:430px;object-fit:cover}.sp-headline-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 30%,rgba(0,0,0,.86) 100%)}.sp-headline-label{position:absolute;left:0;top:20px;background:var(--sp-red);color:#fff;padding:8px 10px;font:700 12px Montserrat,Arial,sans-serif}.sp-headline-copy{position:absolute;left:0;right:0;bottom:0;padding:70px 20px 28px;color:#fff}.sp-headline-cat{font:700 12px Montserrat,Arial,sans-serif;text-transform:uppercase;margin-bottom:9px}.sp-headline-title{font:800 30px/1.18 Montserrat,Arial,sans-serif;margin:0}.sp-headline-title a{color:#fff}.sp-headline-nav{position:absolute;inset:0;pointer-events:none}.sp-headline-nav button{pointer-events:auto;position:absolute;top:45%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:24px;cursor:pointer}.sp-headline-prev{left:10px}.sp-headline-next{right:10px}.sp-headline-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:3px}.sp-headline-thumb{cursor:pointer;background:#000;color:#fff}.sp-headline-thumb img{width:100%;height:94px;object-fit:cover;display:block}.sp-headline-thumb span{display:block;min-height:58px;padding:6px;font:600 11px/1.25 Montserrat,Arial,sans-serif;text-align:center}.sp-headline-thumb.active{outline:3px solid var(--sp-red);outline-offset:-3px}
/* feed & cards */
.sp-section-title{font:800 18px Montserrat,Arial,sans-serif;margin:18px 0 8px;padding:10px}.sp-section-title:after{content:'';display:block;width:75px;height:3px;background:var(--sp-red);margin-top:5px}.sp-feed-item{display:grid;grid-template-columns:270px 1fr;gap:20px;padding:12px 3px}.sp-feed-thumb{overflow:hidden;border-radius:10px}.sp-feed-thumb img{display:block;width:100%;height:150px;object-fit:cover;transition:.5s}.sp-feed-item:hover .sp-feed-thumb img{transform:scale(1.06)}.sp-cat{display:inline-block;color:var(--sp-red);font:700 11px Montserrat,Arial,sans-serif;text-transform:uppercase;margin:8px 0}.sp-feed-title{font:800 20px/1.28 Montserrat,Arial,sans-serif;margin:0 0 7px}.sp-feed-title a:hover{text-decoration:underline}.sp-meta{color:#999;font-size:11px}.sp-excerpt{color:#555;margin:8px 0 0}.sp-rekom-wrap{margin:22px 0}.sp-rekom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.sp-rekom-card{position:relative;height:310px;overflow:hidden;background:#111}.sp-rekom-card img{width:100%;height:100%;object-fit:cover}.sp-rekom-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.94))}.sp-rekom-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;color:#fff;padding:16px}.sp-rekom-copy .sp-cat{color:#fff;background:var(--sp-red);padding:4px 6px;border-radius:3px;margin:0 0 8px}.sp-rekom-title{font:700 15px/1.3 Montserrat,Arial,sans-serif;margin:0}.sp-rekom-title a{color:#fff}.sp-category-block{margin:20px 0}.sp-category-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.sp-category-lead img{width:100%;height:260px;object-fit:cover}.sp-category-lead h3{font:800 21px/1.25 Montserrat,Arial,sans-serif;margin:8px 0}.sp-mini-list{display:grid;gap:10px}.sp-mini{display:grid;grid-template-columns:120px 1fr;gap:10px}.sp-mini img{width:120px;height:80px;object-fit:cover;border-radius:6px}.sp-mini h3{font:700 14px/1.3 Montserrat,Arial,sans-serif;margin:2px 0}
/* widget styles */
.sp-trending ol{padding-left:22px;margin:0}.sp-trending li{padding:8px 0;border-bottom:1px solid #eee;font-weight:700}.sp-topics{display:flex;flex-wrap:wrap;gap:6px}.sp-topics a{background:#f2f4f8;border-radius:20px;padding:6px 9px;font-weight:700;font-size:11px}.sp-prayer-head{font:800 14px Montserrat,Arial,sans-serif;margin-bottom:8px}.sp-prayer-date{color:#777;margin-bottom:8px}.sp-prayer-grid{display:grid;grid-template-columns:1fr auto;gap:6px;padding:8px 0;border-top:1px solid #eee}.sp-data-grid{display:grid;gap:7px}.sp-data-row{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #eee}.sp-product{display:grid;grid-template-columns:90px 1fr;gap:10px}.sp-product img{width:90px;height:90px;object-fit:cover}.sp-product-price{color:var(--sp-red);font-weight:800}.sp-button{display:inline-block;background:var(--sp-blue);color:#fff;padding:8px 12px;border-radius:4px;font-weight:700;border:0;cursor:pointer}
/* archive */
.sp-page-title{font:800 25px Montserrat,Arial,sans-serif;margin:12px 0 18px}.sp-archive-item{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #eee}.sp-archive-item img{width:200px;height:135px;object-fit:cover;border-radius:8px}.sp-archive-title{font:800 20px/1.3 Montserrat,Arial,sans-serif;margin:2px 0 6px}.sp-pagination{padding:22px 0}.sp-pagination .page-numbers{display:inline-grid;place-items:center;min-width:38px;height:38px;margin:2px;padding:0 8px;background:#f1f1f1}.sp-pagination .current{background:var(--sp-blue);color:#fff}
/* single */
.sp-breadcrumb{font-size:12px;color:#777;margin:5px 0 14px}.sp-breadcrumb a{color:var(--sp-blue)}.sp-entry-title{font:800 34px/1.16 Montserrat,Arial,sans-serif;margin:0 0 10px}.sp-entry-subtitle{font:700 19px/1.4 Montserrat,Arial,sans-serif;color:#444;margin:0 0 16px}.sp-author-line{display:flex;align-items:center;gap:10px;margin:10px 0 12px}.sp-avatar img{border-radius:50%}.sp-author-name{font-weight:800}.sp-share{display:flex;gap:7px;align-items:center;margin:12px 0}.sp-share a,.sp-share button{width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center;background:#f2f2f2;font-weight:800;cursor:pointer}.sp-featured{margin:14px 0 4px}.sp-featured img{width:100%;height:auto;display:block}.sp-caption{font-size:11px;color:#777;font-style:italic;margin:4px 0 8px}.sp-font-tools{display:flex;justify-content:flex-end;gap:4px;margin:8px 0}.sp-font-tools button{border:1px solid #ddd;background:#fff;padding:6px 10px;cursor:pointer;font-weight:700}.sp-entry-content{font-size:17px;line-height:1.75}.sp-entry-content p{margin:0 0 1.05em}.sp-entry-content img{max-width:100%}.sp-entry-content blockquote{border-left:4px solid #ccc;padding-left:18px;margin-left:0;font-style:italic}.sp-related{margin-top:24px}.sp-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.sp-related-item{display:grid;grid-template-columns:182px minmax(0,1fr);gap:11px;padding:10px 0;border-bottom:1px solid #eee;align-items:start}.sp-related-thumb{display:block;overflow:hidden;border-radius:7px;background:#f3f3f3}.sp-related-thumb img{display:block;width:182px;height:100px;object-fit:cover;transition:transform .3s ease}.sp-related-item:hover .sp-related-thumb img{transform:scale(1.04)}.sp-related-copy{min-width:0}.sp-related-cat{display:inline-block;color:var(--sp-red);font:700 10px/1.2 Montserrat,Arial,sans-serif;text-transform:uppercase;margin:1px 0 6px}.sp-related-title{font:800 14px/1.35 Montserrat,Arial,sans-serif;margin:0}.sp-related-title a:hover{text-decoration:underline}.sp-related-thumb .sp-placeholder{width:182px;height:100px;min-height:100px;font-size:11px}.sp-tags{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.sp-tags a{padding:5px 8px;background:#f3f3f3;border-radius:4px;color:var(--sp-blue);font-weight:700}
/* footer */
.sp-footer{background:#07192d;color:#fff;margin-top:35px}.sp-footer-top{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;padding:35px 0}.sp-footer-logo .custom-logo{max-width:260px;max-height:70px;width:auto}.sp-footer-title{font:800 17px Montserrat,Arial,sans-serif;margin:0 0 12px}.sp-footer-menu{display:flex;flex-wrap:wrap;gap:12px}.sp-footer-menu a{color:#fff}.sp-footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:15px 0;color:#cbd5e1}.sp-network{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}
/* modal mobile menu */
.sp-mobile-menu-panel{display:none;position:fixed;inset:0;background:#fff;z-index:2000;overflow:auto}.sp-mobile-menu-panel.open{display:block}.sp-mobile-menu-close{float:right;border:0;background:none;font-size:28px;padding:16px}.sp-mobile-menu-panel .sp-menu{display:block;padding-top:60px;white-space:normal}.sp-mobile-menu-panel .sp-menu>li>a,.sp-mobile-menu-panel .sp-menu .sub-menu a{color:#222;border-bottom:1px solid #eee;background:#fff;padding:18px 20px}.sp-mobile-menu-panel .sp-menu .sub-menu{display:block;position:static;border:0;background:#fff;padding-left:25px}
@media(max-width:1250px){.sp-rail{display:none}}
@media(max-width:900px){.sp-layout{grid-template-columns:1fr}.sp-sidebar{padding-left:0}.sp-header-tools .sp-social{display:none}.sp-search input{width:150px}.sp-rekom-grid{grid-template-columns:repeat(2,1fr)}.sp-category-grid{grid-template-columns:1fr}.sp-footer-top{grid-template-columns:1fr}}
@media(max-width:640px){body{font-size:13px}.sp-container{width:calc(100% - 16px)}.sp-breaking-inner{height:32px}.sp-mobile-parallax{display:block;height:480px;background:#222;position:relative}.sp-mobile-parallax .widget{height:100%;margin:0}.sp-mobile-parallax img{width:100%;height:100%;object-fit:cover}.sp-brand-row{min-height:58px}.sp-brand .custom-logo{max-height:44px;max-width:220px}.sp-text-logo{font-size:25px}.sp-header-tools{display:none}.sp-menu-toggle{display:block;margin-left:auto}.sp-nav-wrap{display:none}.sp-headline-slide img{height:250px}.sp-headline-label{top:12px}.sp-headline-copy{padding:70px 15px 34px;text-align:center}.sp-headline-title{font-size:20px}.sp-headline-thumbs{display:none}.sp-headline-nav button{top:50%}.sp-feed-item{grid-template-columns:129px 1fr;gap:10px;padding:9px 3px}.sp-feed-thumb img{height:85px}.sp-feed-title{font-size:15px}.sp-feed-item .sp-excerpt{display:none}.sp-feed-item .sp-cat{margin:0 0 5px}.sp-rekom-grid{grid-template-columns:1fr 1fr}.sp-rekom-card{height:260px}.sp-category-lead img{height:210px}.sp-mini{grid-template-columns:100px 1fr}.sp-mini img{width:100px;height:72px}.sp-archive-item{grid-template-columns:129px 1fr;gap:10px}.sp-archive-item img{width:129px;height:85px}.sp-archive-title{font-size:15px}.sp-archive-item .sp-excerpt{display:none}.sp-entry-title{font-size:27px}.sp-entry-subtitle{font-size:17px}.sp-entry-content{font-size:16px}.sp-footer-top{padding:25px 0}.sp-section-title{padding-left:0}.sp-mobile-parallax:empty{display:none;height:0}}

/* ===== SuaraPress V1.1 compatibility & isolation fix ===== */
/* Native/block widgets stay tidy even when users add WordPress core widgets manually. */
.sp-sidebar .widget,.sp-banner .widget,.sp-mobile-parallax .widget{position:relative;float:none!important;clear:both;width:100%;max-width:100%;overflow:hidden}
.sp-sidebar .widget h1,.sp-sidebar .widget h2,.sp-sidebar .widget h3,.sp-sidebar .wp-block-heading{font:800 18px/1.3 Montserrat,Arial,sans-serif;margin:0 0 10px;text-align:left}
.sp-sidebar .widget ul,.sp-sidebar .widget ol{margin:0;padding:0;list-style:none}
.sp-sidebar .widget li{display:block;position:static;float:none;width:auto;margin:0;padding:7px 0;border-bottom:1px solid #eee;line-height:1.45}
.sp-sidebar .widget a{overflow-wrap:anywhere}
.sp-banner .widget h1,.sp-banner .widget h2,.sp-banner .widget h3{margin:0 0 8px;font-size:16px}
.sp-banner .widget ul,.sp-banner .widget ol{margin:0;padding:0;list-style:none}
.sp-mobile-parallax .widget:empty{display:none!important}
@media(max-width:640px){
  .sp-mobile-parallax{height:auto;min-height:0;background:transparent}
  .sp-mobile-parallax .widget{height:auto;min-height:0}
  .sp-mobile-parallax .widget img,.sp-mobile-parallax .widget iframe{display:block;width:100%;height:auto;max-height:480px;object-fit:cover}
  .sp-breaking-label{position:relative;z-index:2}
  .sp-breaking-track{gap:22px}
  .sp-sidebar{width:100%;overflow:hidden}
  .sp-sidebar .widget{margin:0 0 18px}
}
/* ===== End V1.1 fix ===== */

/* ===== SuaraPress 1.1.1: mobile anti-horizontal-jitter ===== */
html,body{max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
.sp-breaking,.sp-site-header,.sp-main,.sp-footer,.sp-container,.sp-layout,.sp-content,.sp-sidebar{max-width:100%}
.sp-content,.sp-sidebar,.sp-entry-content,.sp-entry-content>*{min-width:0}
.sp-entry-content img,.sp-entry-content video,.sp-entry-content iframe,.sp-entry-content embed,.sp-entry-content object,.sp-entry-content figure,.sp-entry-content .wp-caption{max-width:100%!important;height:auto}
.sp-entry-content pre{max-width:100%;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.sp-entry-content table{max-width:100%}
.sp-entry-content td,.sp-entry-content th,.sp-entry-content a{overflow-wrap:anywhere;word-break:break-word}
.sp-breaking-inner,.sp-headline-stage,.sp-rekom-card{contain:paint}
@media(max-width:640px){
  .sp-container{max-width:calc(100% - 16px)}
  .sp-layout,.sp-content,.sp-sidebar,.sp-entry,.sp-entry-content{width:100%;max-width:100%;min-width:0}
  .sp-entry-content figure,.sp-entry-content .wp-caption{width:auto!important;margin-left:0!important;margin-right:0!important}
  .sp-entry-content iframe,.sp-entry-content video{width:100%!important}
  .sp-breaking-track{will-change:transform}
}
/* ===== end 1.1.1 ===== */


/* ===== SuaraPress 1.1.2: mobile article safe-area fix ===== */
@media(max-width:640px){
  /* Keep the article readable inside the phone safe area without reintroducing horizontal jitter. */
  .single .sp-breadcrumb,
  .single .sp-entry-title,
  .single .sp-entry-subtitle,
  .single .sp-author-line,
  .single .sp-share,
  .single .sp-font-tools,
  .single .sp-entry-content,
  .single .sp-tags,
  .single .sp-related,
  .single .comments-area{
    box-sizing:border-box;
    padding-left:10px;
    padding-right:10px;
    max-width:100%;
  }
  .single .sp-entry-content{
    overflow:visible;
    word-break:normal;
    overflow-wrap:break-word;
  }
  .single .sp-entry-content p,
  .single .sp-entry-content li,
  .single .sp-entry-content h1,
  .single .sp-entry-content h2,
  .single .sp-entry-content h3,
  .single .sp-entry-content h4,
  .single .sp-entry-content h5,
  .single .sp-entry-content h6,
  .single .sp-entry-content blockquote{
    max-width:100%;
    box-sizing:border-box;
    overflow-wrap:break-word;
  }
  /* Featured image may stay visually wide; only text gets the extra breathing room. */
  .single .sp-featured{max-width:100%;overflow:hidden}
  .single .sp-featured img{display:block;width:100%;max-width:100%;height:auto}
  .single .sp-font-tools{justify-content:flex-end}
}
/* ===== end 1.1.2 ===== */

@media(max-width:760px){.sp-related-grid{grid-template-columns:1fr}.sp-related-item{grid-template-columns:120px minmax(0,1fr);gap:10px}.sp-related-thumb img,.sp-related-thumb .sp-placeholder{width:120px;height:78px;min-height:78px}.sp-related-title{font-size:13px}.sp-related-cat{font-size:9px;margin-bottom:4px}}
