/*
Theme Name: Ratchanddebspizza News
Theme URI: https://ratchanddebspizza.com
Author: Ratchanddebspizza
Author URI: https://ratchanddebspizza.com
Description: Lightweight news/magazine base theme built to work with News Kit Elementor Addons (NewsKit). Provides standard WordPress theme supports, a minimal unstyled shell, and full integration with NewsKit's Header/Footer/Single/Archive/404/Popup Theme Builder templates — with graceful fallback to native templates when no NewsKit template is assigned.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: ratchanddebspizza-news
Tags: blog, news, one-column, two-columns, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   Reset / Normalize
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.6; color: #1f2328; background: #ffffff; }
img { max-width: 100%; height: auto; }
a { color: #e02424; text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
ul, ol { margin: 0 0 1.5em; padding-left: 1.5em; }

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0,0,0,.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 14px; font-weight: 700; height: auto; left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000; }
.skip-link { left: -9999em; top: 0; }

/* ==========================================================================
   Theme container
   ========================================================================== */
.theme-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
@media (max-width: 768px) { .theme-container { padding: 0 16px; } }

/* ==========================================================================
   Fallback header
   ========================================================================== */
.site-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 0; border-bottom: 1px solid #e5e7eb; }
.site-branding .site-title { margin: 0; font-size: 22px; font-weight: 800; }
.site-branding .site-title a { color: #16181d; }
.site-branding .site-description { margin: 2px 0 0; font-size: 13px; color: #6b7280; }
.main-navigation ul { display: flex; flex-wrap: wrap; gap: 24px; margin: 0; padding: 0; list-style: none; }
.main-navigation a { color: #16181d; font-weight: 600; font-size: 14px; }
.main-navigation .menu-toggle { display: none; background: none; border: 1px solid #d1d5db; border-radius: 4px; padding: 8px 14px; font-weight: 700; cursor: pointer; }
@media (max-width: 768px) { .main-navigation .menu-toggle { display: inline-block; } .main-navigation ul { display: none; flex-direction: column; gap: 12px; width: 100%; padding-top: 12px; } .main-navigation.toggled ul { display: flex; } }

/* ==========================================================================
   Fallback footer
   ========================================================================== */
.site-footer { padding: 24px 0; border-top: 1px solid #e5e7eb; margin-top: 40px; }
.site-footer .site-info { font-size: 13px; color: #6b7280; }
.site-footer .sep { margin: 0 6px; }

/* ==========================================================================
   Fallback content
   ========================================================================== */
.site-main { padding: 32px 0 48px; }
article.post, article.page { margin-bottom: 32px; }
.entry-title { font-size: 30px; line-height: 1.3; margin: 0 0 12px; }
.entry-meta { display: flex; gap: 14px; font-size: 13px; color: #6b7280; margin-bottom: 18px; }
.entry-content { font-size: 16px; line-height: 1.75; }
.entry-content p { margin: 0 0 1.4em; }
.post-thumbnail { margin: 0 0 24px; border-radius: 6px; overflow: hidden; }
.page-header .page-title { font-size: 26px; margin: 0 0 8px; }
.archive-description { color: #6b7280; margin: 0 0 24px; }
.post-navigation { display: flex; justify-content: space-between; gap: 20px; margin: 32px 0; padding-top: 24px; border-top: 1px solid #e5e7eb; }
.post-navigation .nav-subtitle { display: block; font-size: 12px; text-transform: uppercase; color: #9ca3af; margin-bottom: 4px; }
.nekit-news-list-wrap .row { display: flex; gap: 32px; align-items: flex-start; }
.nekit-news-list-wrap .primary-content { flex: 1 1 auto; min-width: 0; }
.nekit-news-list-wrap .secondary-sidebar { flex: 0 0 300px; }
@media (max-width: 900px) { .nekit-news-list-wrap .row { flex-direction: column; } .nekit-news-list-wrap .secondary-sidebar { flex: 1 1 auto; width: 100%; } }
.error-404 .page-title { font-size: 40px; }
.comments-area { margin-top: 40px; }
.comment-list { list-style: none; padding: 0; }
.comment-list .comment { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #eee; }
