/*
Theme Name: News Magazine
Description: Colorful & vibrant magazine-style news theme
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Playfair+Display:wght@700;900&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Nunito',sans-serif;font-size:16px;color:#2d2d2d;background:#f7f3ef;line-height:1.65}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* TOP BAR */
.top-bar{background:linear-gradient(90deg,#ff6b35,#f7c59f);padding:7px 0;font-size:0.78rem;color:#fff;font-weight:600}
.top-bar .container{display:flex;justify-content:space-between}

/* HEADER */
#site-header{background:#fff;box-shadow:0 3px 20px rgba(0,0,0,0.08);position:sticky;top:0;z-index:1000}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:68px;max-width:1200px;margin:0 auto}
.site-title{font-family:'Playfair Display',serif;font-size:1.85rem;font-weight:900;color:#1a1a1a}
.site-title span{color:#ff6b35}
#primary-navigation ul{display:flex;gap:0}
#primary-navigation ul li a{color:#444;padding:8px 15px;font-size:0.88rem;font-weight:700;border-radius:30px;transition:background 0.2s,color 0.2s;display:block}
#primary-navigation ul li a:hover,#primary-navigation ul li.current-menu-item>a{background:#ff6b35;color:#fff}
.menu-toggle{display:none;background:#ff6b35;border:none;color:#fff;padding:7px 14px;border-radius:6px;cursor:pointer;font-size:1.1rem}

/* HERO */
.hero-section{padding:32px 0 16px}
.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.hero-main .post-card{border-radius:16px;overflow:hidden;position:relative;box-shadow:0 8px 30px rgba(0,0,0,0.12)}
.hero-main .post-card img{width:100%;height:440px;object-fit:cover}
.hero-main .card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.88));padding:30px 24px 22px;color:#fff}
.hero-main .cat-badge{background:#ff6b35;color:#fff;font-size:0.72rem;font-weight:800;padding:4px 12px;border-radius:20px;display:inline-block;margin-bottom:10px;text-transform:uppercase;letter-spacing:0.5px}
.hero-main h2{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:900;line-height:1.25;margin-bottom:10px;color:#fff}
.hero-main .card-overlay h2 a{color:#fff !important}
.hero-main .card-overlay h2 a:hover{color:#fff !important;text-decoration:underline}
.hero-main .card-meta{font-size:0.8rem;opacity:0.85}
.hero-main .card-meta span{margin-right:14px}
.hero-main p.excerpt{font-size:0.9rem;margin-top:8px;opacity:0.9}
.hero-side{display:flex;flex-direction:column;gap:16px}
.hero-side .side-post{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.07);display:flex;flex-direction:column}
.hero-side img{width:100%;height:140px;object-fit:cover}
.hero-side .card-body{padding:14px 16px}
.hero-side .cat-badge{background:#ff6b35;color:#fff;font-size:0.68rem;font-weight:800;padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:7px}
.hero-side h3{font-size:0.95rem;font-weight:800;line-height:1.35;margin-bottom:5px}
.hero-side h3 a:hover{color:#ff6b35}
.hero-side .card-meta{font-size:0.75rem;color:#aaa}
.hero-side .excerpt{font-size:0.82rem;color:#666;margin-top:5px}

/* SECTION TITLE */
.section-title{font-size:1.1rem;font-weight:900;color:#1a1a1a;position:relative;padding-left:18px;margin-bottom:20px}
.section-title::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:26px;background:#ff6b35;border-radius:4px}

/* CATEGORY SECTIONS */
.category-section{padding:28px 0}
.category-section+.category-section{border-top:1px solid #e5e0da}
.cat-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post-card-std{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,0.07);transition:transform 0.25s,box-shadow 0.25s}
.post-card-std:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,0.12)}
.post-card-std .card-thumb img{width:100%;height:195px;object-fit:cover;transition:transform 0.3s}
.post-card-std:hover .card-thumb img{transform:scale(1.05)}
.post-card-std .card-body{padding:16px 18px 18px}
.post-card-std .cat-badge{background:#ff6b35;color:#fff;font-size:0.68rem;font-weight:800;padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:9px}
.post-card-std h3{font-size:1rem;font-weight:800;line-height:1.4;margin-bottom:8px}
.post-card-std h3 a:hover{color:#ff6b35}
.post-card-std .card-meta{font-size:0.77rem;color:#aaa;margin-bottom:8px}
.post-card-std .excerpt{font-size:0.87rem;color:#666;line-height:1.6}

/* SINGLE */
.single-wrapper{display:grid;grid-template-columns:1fr 300px;gap:32px;padding:28px 0 48px}
.breadcrumb{font-size:0.8rem;color:#aaa;margin-bottom:18px}
.breadcrumb a{color:#ff6b35}
.breadcrumb span{margin:0 6px}
.post-header .post-category a{background:#ff6b35;color:#fff;font-size:0.72rem;font-weight:800;padding:4px 12px;border-radius:20px;display:inline-block;margin-bottom:14px}
.post-header h1{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:900;line-height:1.25;color:#1a1a1a;margin-bottom:16px}
.post-meta-bar{display:flex;flex-wrap:wrap;gap:16px;font-size:0.8rem;color:#aaa;padding:12px 0;border-top:1px solid #eee;border-bottom:1px solid #eee;margin-bottom:22px}
.meta-item{display:flex;align-items:center;gap:5px;font-size:0.8rem;color:#aaa}
.meta-item svg{width:14px !important;height:14px !important;min-width:14px;flex-shrink:0}
.post-featured-img{border-radius:16px;overflow:hidden;margin-bottom:26px;box-shadow:0 6px 24px rgba(0,0,0,0.1)}
.post-featured-img img{width:100%;max-height:480px;object-fit:cover}
.post-content{font-size:1.02rem;line-height:1.82;color:#333}
.post-content h2{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:900;margin:30px 0 12px;color:#1a1a1a}
.post-content h3{font-size:1.15rem;font-weight:800;margin:22px 0 10px}
.post-content p{margin-bottom:16px}
.post-content blockquote{border-left:5px solid #ff6b35;background:#fff8f5;padding:18px 22px;margin:22px 0;border-radius:0 12px 12px 0;font-style:italic;color:#555;font-size:1.05rem}

/* AUTHOR BOX */
.author-box{display:flex;gap:20px;background:#fff;border-radius:16px;padding:24px;margin:32px 0;box-shadow:0 4px 16px rgba(0,0,0,0.07)}
.author-avatar img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:4px solid #ff6b35;flex-shrink:0}
.author-info h4{font-size:1.05rem;font-weight:900;margin-bottom:3px}
.author-info .author-title{font-size:0.75rem;color:#ff6b35;font-weight:700;margin-bottom:8px;text-transform:uppercase;letter-spacing:0.5px}
.author-info .author-bio{font-size:0.87rem;color:#666;line-height:1.65;margin-bottom:10px}
.author-social{display:flex;gap:8px}
.author-social a{width:32px;height:32px;border-radius:50%;background:#ff6b35;color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:800;transition:background 0.2s,transform 0.2s}
.author-social a:hover{background:#e55520;transform:scale(1.1)}

/* RELATED */
.related-posts{margin:28px 0}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.related-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 12px rgba(0,0,0,0.07)}
.related-card img{width:100%;height:125px;object-fit:cover}
.related-card .rc-body{padding:12px 14px}
.related-card h4{font-size:0.87rem;font-weight:800;line-height:1.4}
.related-card h4 a:hover{color:#ff6b35}
.related-card .rc-meta{font-size:0.73rem;color:#aaa;margin-top:4px}

/* COMMENTS */
.comments-section{margin-top:30px;background:#fff;padding:26px;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,0.06)}
.comment-list .comment{display:flex;gap:14px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #f5f0eb}
.comment-avatar img{width:46px;height:46px;border-radius:50%}
.comment-body .comment-author-name{font-weight:800;font-size:0.9rem;margin-bottom:2px}
.comment-body .comment-date{font-size:0.75rem;color:#aaa;margin-bottom:6px}
.comment-body p{font-size:0.88rem;color:#555}
.comment-form-wrap{margin-top:22px}
.comment-form-wrap h3{font-size:1rem;font-weight:900;margin-bottom:14px}
.comment-form-wrap input,.comment-form-wrap textarea{width:100%;padding:11px 14px;border:2px solid #e5e0da;border-radius:10px;font-size:0.9rem;font-family:'Nunito',sans-serif;margin-bottom:12px;transition:border 0.2s;outline:none}
.comment-form-wrap input:focus,.comment-form-wrap textarea:focus{border-color:#ff6b35}
.comment-form-wrap textarea{height:115px;resize:vertical}
.btn-submit{background:#ff6b35;color:#fff;border:none;padding:12px 28px;border-radius:30px;font-size:0.9rem;font-weight:800;font-family:'Nunito',sans-serif;cursor:pointer;transition:background 0.2s,transform 0.2s}
.btn-submit:hover{background:#e55520;transform:translateY(-2px)}

/* SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:22px}
.sidebar-widget{background:#fff;border-radius:14px;padding:20px;box-shadow:0 4px 14px rgba(0,0,0,0.07)}
.widget-title{font-size:0.85rem;font-weight:900;color:#1a1a1a;padding-left:14px;border-left:4px solid #ff6b35;margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px}
.sidebar-cat-list li{padding:8px 0;border-bottom:1px solid #f5f0eb;display:flex;justify-content:space-between;align-items:center}
.sidebar-cat-list li:last-child{border:none}
.sidebar-cat-list a{font-size:0.88rem;font-weight:700;transition:color 0.2s}
.sidebar-cat-list a:hover{color:#ff6b35}
.sidebar-cat-list .count{background:#f7f3ef;color:#aaa;font-size:0.73rem;padding:2px 9px;border-radius:12px}
.sidebar-post-list li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid #f5f0eb}
.sidebar-post-list li:last-child{border:none}
.sidebar-post-list img{width:68px;height:54px;object-fit:cover;border-radius:8px;flex-shrink:0}
.sp-info h4{font-size:0.82rem;font-weight:800;line-height:1.35;margin-bottom:3px}
.sp-info h4 a:hover{color:#ff6b35}
.sp-date{font-size:0.72rem;color:#aaa}

/* FOOTER */
#site-footer{background:#1a1a1a;color:#bbb;padding:50px 0 0;margin-top:40px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid #2d2d2d}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:900;color:#fff;margin-bottom:10px}
.footer-logo span{color:#ff6b35}
.footer-brand p{font-size:0.85rem;color:#777;line-height:1.65}
.footer-widget h4{color:#fff;font-size:0.85rem;font-weight:800;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #ff6b35;display:inline-block}
.footer-nav-list li{margin-bottom:9px}
.footer-nav-list a{font-size:0.85rem;color:#888;transition:color 0.2s}
.footer-nav-list a:hover{color:#ff6b35}
.footer-latest-post{display:flex;gap:10px;margin-bottom:14px}
.footer-latest-post img{width:60px;height:48px;object-fit:cover;border-radius:8px;flex-shrink:0}
.flp-info h5{font-size:0.8rem;color:#ccc;font-weight:700;line-height:1.35}
.flp-info h5 a:hover{color:#ff6b35}
.flp-date{font-size:0.72rem;color:#666;margin-top:3px}
.footer-bottom{text-align:center;padding:16px;font-size:0.8rem;color:#555}
.footer-bottom span{color:#ff6b35}

@media(max-width:992px){.hero-grid,.single-wrapper{grid-template-columns:1fr}.cat-posts-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.menu-toggle{display:block}#primary-navigation{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:12px 0;z-index:999;box-shadow:0 8px 24px rgba(0,0,0,0.1)}#primary-navigation.open{display:block}#primary-navigation ul{flex-direction:column}#primary-navigation ul li a{border-radius:0;padding:12px 20px;border-bottom:1px solid #f5f0eb}.cat-posts-grid,.footer-grid,.related-grid{grid-template-columns:1fr}.author-box{flex-direction:column}.post-header h1{font-size:1.7rem}}
