/*!
Theme Name: Outer Rim News Child
Theme URI: https://outerrimnews.com
Author:
Author URI: https://outerrimnews.com
Description: Child theme for Outer Rim News — Bootstrap 5 single post layout.
Template: outer-rim-news
Version: 1.1.6
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Text Domain: outer-rim-news-child
*/

/* ==========================================================================
   OUTER RIM NEWS — BOOTSTRAP 5 CHILD THEME
   Only overrides that Bootstrap 5 utilities can't handle alone.
   ========================================================================== */

/* --- Brand tokens -------------------------------------------------------- */
:root {
    --orn-red: #c0392b;
    --orn-red-dark: #a93226;
    --orn-black: #111111;
    --orn-muted: #999999;
    --orn-border: #dee2e6;
    --orn-dark: #222222;
    --orn-light: #f8f9fa;
    --bs-link-color: var(--orn-red);
    --bs-link-hover-color: var(--orn-red-dark);
}

.bg-orn-red {
    background-color: var(--orn-red) !important;
}

.text-orn-red {
    color: var(--orn-red) !important;
}

.btn-orn-red {
    background-color: var(--orn-red);
    border-color: var(--orn-red);
    color: #fff;
}

.btn-orn-red:hover {
    background-color: var(--orn-red-dark);
    border-color: var(--orn-red-dark);
    color: #fff;
}

.hover-opacity-100 {
    transition: opacity 0.2s ease;
}

.hover-opacity-100:hover {
    opacity: 1 !important;
}

.letter-spacing-1 {
    letter-spacing: 0.1em;
}

/* --- Header & Top Bar ─────────────────────────────────────────────────── */
.orn-top-bar {
    font-size: 0.9rem;
    min-height: 38px;
    display: flex;
    align-items: center;
}

.orn-top-bar a {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.orn-search-form .form-control {
    font-size: 0.85rem;
}

.orn-search-form .btn-orn-red {
    padding: 0.25rem 0.75rem;
}

body {
    font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: var(--orn-dark);
    line-height: 1.6;
}

.aligncenter {
   text-align: center;
   clear: both;
   display: block;
   margin: 6px auto;
}

/* --- Typography ───────────────────────────────────────────────────────── */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: var(--orn-black);
}

.single .entry-title,
.single .post-title,
.single h1 {
    font-family: "Roboto", sans-serif;
    font-weight: 800;
    font-size: 2.8rem;
    line-height: 1.1;
    margin-bottom: 25px;
}

.single .entry-content h2 {
    font-size: 1.6rem;
    margin: 2.5rem 0 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--orn-black);
}

.single .entry-content h3 {
    font-size: 1.3rem;
    margin: 2rem 0 1rem;
}

/* --- Article Content ──────────────────────────────────────────────────── */
.entry-content {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1.25rem;
    line-height: 1.7;
    color: #222;
}

.entry-content p {
    margin-bottom: 1.75rem;
}

.entry-content a {
    color: var(--orn-red);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
}

.entry-content a:hover {
    color: var(--orn-red-dark);
}

.orn-source-display a {
    transition: opacity 0.2s ease;
}

.orn-source-display a:hover {
    opacity: 0.8;
}

/* --- Layout Contraints ────────────────────────────────────────────────── */
.single #main-content {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Meta/Categories ──────────────────────────────────────────────────── */
.cat-links a,
.entry-categories a {
    display: inline-block;
    color: var(--orn-red);
    font-family: "Roboto", sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.entry-meta {
    font-family: "Roboto", sans-serif;
    font-size: 0.85rem;
    color: var(--orn-muted);
    border-bottom: 1px solid var(--orn-border);
    margin-bottom: 25px;
}

.entry-meta a {
    color: var(--orn-dark);
    font-weight: 600;
    text-decoration: none;
}

/* --- Featured Image ───────────────────────────────────────────────────── */
.post-thumbnail img {
    border-radius: 4px;
    margin-bottom: 1rem;
}

figcaption,
.wp-caption-text {
    font-family: "Roboto", sans-serif;
    font-size: 0.8rem;
    font-style: italic;
    color: var(--orn-muted);
    text-align: center;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--orn-border);
    margin-bottom: 2rem;
}

/* --- Navigation ───────────────────────────────────────────────────────── */
.post-navigation {
    border-top: 1px solid var(--orn-border);
    padding-top: 2rem;
}

/* --- Sidebar ──────────────────────────────────────────────────────────── */
.orn-widget-title {
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-bottom: 2px solid var(--orn-black);
    padding-bottom: 0.5rem;
    margin-bottom: 1.25rem;
}

.orn-widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.orn-widget ul li {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--orn-border);
}

.orn-widget ul li:last-child {
    border-bottom: none;
}

.orn-widget ul li a {
    text-decoration: none;
    color: var(--orn-dark);
    font-weight: 500;
    transition: color 0.2s ease;
}

/* --- Archive Redesign ──────────────────────────────────────────────────── */
.archive-header {
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--orn-border);
    margin-bottom: 3rem !important;
}

.archive-header h1.orn-section-title {
    font-size: 2.8rem;
    margin-bottom: 1rem;
    padding-bottom: 0;
}

.archive-description {
    font-size: 1.1rem;
    line-height: 1.8;
    color: var(--orn-muted);
}

.orn-archive-list article {
    border-color: var(--orn-border) !important;
}

.orn-archive-list article:last-child {
    border-bottom: none !important;
}

.orn-archive-list .card-title {
    font-family: "Big Shoulders Display", sans-serif;
    font-size: 1.85rem;
    line-height: 1.2;
}

.orn-post-cat-label {
    font-family: 'Roboto', sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--orn-red);
    text-decoration: none;
    letter-spacing: 1px;
}

.orn-post-cat-label:hover {
    color: var(--orn-dark);
}

.btn-outline-orn-red {
    color: var(--orn-red);
    border-color: var(--orn-red);
    border-width: 2px;
    font-size: 0.8rem;
    padding: 0.6rem 1.5rem;
    transition: all 0.2s ease;
}

.btn-outline-orn-red:hover {
    background-color: var(--orn-red);
    color: #fff;
}

.orn-pagination .page-numbers {
    display: inline-block;
    padding: 0.5rem 1.1rem;
    margin: 0 0.2rem;
    border: 1px solid var(--orn-border);
    border-radius: 4px;
    text-decoration: none;
    color: var(--orn-dark);
    font-weight: 600;
    transition: all 0.2s ease;
}

.orn-pagination .page-numbers.current,
.orn-pagination .page-numbers:hover {
    background-color: var(--orn-red);
    color: #fff;
    border-color: var(--orn-red);
}

.orn-ad-placeholder {
    transition: background-color 0.2s ease;
    border-radius: 4px;
}


/* --- Footer ───────────────────────────────────────────────────────────── */
.site-footer {
    font-family: "Roboto", sans-serif;
}

.site-footer h5 {
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 2rem;
    color: #fff;
}

.orn-footer-logo img {
    max-width: 280px;
    height: auto;
}

/* --- Footer ───────────────────────────────────────────────────────────── */
.orn-footer-logo-img img {
    max-height: 80px;
    width: auto;
}

.orn-footer-tagline {
    font-size: 0.85rem;
    line-height: 1.6;
}

.social-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 2px;
    color: #fff !important;
    text-decoration: none;
    font-size: 0.9rem;
    transition: background 0.2s ease;
}

.social-box:hover {
    background: var(--orn-red);
}

.orn-footer-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.orn-footer-bar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.orn-footer-bar ul li a {
    color: #fff;
    text-decoration: none;
    font-size: 0.75rem;
    transition: opacity 0.2s ease;
}

.orn-footer-bar ul li a:hover {
    opacity: 0.8;
}

.smaller-font {
    font-size: 0.7rem !important;
}

/* --- Homepage Specifics ───────────────────────────────────────────────── */
.orn-section-title {
    font-family: "Big Shoulders Display", sans-serif;
    font-weight: 800;
    font-size: 2.2rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding-bottom: 0.75rem;
    margin-bottom: 2rem;
    color: var(--orn-dark);
}

.orn-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.orn-card .card-title {
    font-family: "Big Shoulders Display", sans-serif;
    line-height: 1.3;
    transition: color 0.15s ease;
}

.orn-card:hover .card-title a {
    color: var(--orn-red) !important;
}

.orn-img-wrap {
    overflow: hidden;
    border-radius: 4px;
}

.orn-img-wrap img {
    transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.orn-card:hover .orn-img-wrap img {
    transform: scale(1.05);
}

.shadow-sm-text {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* --- Author Bio ───────────────────────────────────────────────────────── */
.author-bio-section {
    border-left: 5px solid var(--orn-red);
}

/* --- Responsive Adjustments ───────────────────────────────────────────── */
@media (max-width: 767.98px) {

    .single .entry-title,
    .single h1 {
        font-size: 1.8rem;
    }
}

/* --- Block Patterns ───────────────────────────────────────────────────── */
.orn-hero-block {
    background-size: cover;
    background-position: center;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.orn-hero-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(30deg, rgba(0, 19, 38, 0.8), rgba(30, 115, 190, 0.7));
    z-index: 1;
}

.orn-hero-block>* {
    position: relative;
    z-index: 2;
}

.wp-block-columns.row {
    display: flex;
    flex-wrap: wrap;
}

.wp-block-column.col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
}

@media (max-width: 768px) {
    .wp-block-column.col-md-4 {
        width: 100%;
    }
}
.font-heading {
    font-family: 'Roboto', sans-serif;
}
